<?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>95207</bug_id>
          
          <creation_ts>2012-08-28 08:39:44 -0700</creation_ts>
          <short_desc>CSS Parser should directly parse 8 bit source strings</short_desc>
          <delta_ts>2013-03-15 05:39:17 -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>CSS</component>
          <version>528+ (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>
          
          <blocked>112436</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>peter+ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>706384</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-08-28 08:39:44 -0700</bug_when>
    <thetext>The CSS parser currently uses the characters() method to access source string data.  It should be modified to use characters8() for 8 bit strings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706627</commentid>
    <comment_count>1</comment_count>
      <attachid>161035</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-08-28 12:37:47 -0700</bug_when>
    <thetext>Created attachment 161035
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706636</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-28 12:41:07 -0700</bug_when>
    <thetext>Attachment 161035 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Source/WebCore/css/CSSParser.cpp:8884:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 1 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706639</commentid>
    <comment_count>3</comment_count>
      <attachid>161038</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-08-28 12:41:29 -0700</bug_when>
    <thetext>Created attachment 161038
Performance results of patch

Improves performance of css-parser-yui as expected.  Most other tests are neutral.  Have looked into regressions in simple-url, tiny-innerHTML, url-parser and xml-parser, but don&apos;t have any leads yet.  Will continue investigating why this patch made a change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706643</commentid>
    <comment_count>4</comment_count>
      <attachid>161039</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-08-28 12:44:01 -0700</bug_when>
    <thetext>Created attachment 161039
Patch with style nit fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706734</commentid>
    <comment_count>5</comment_count>
      <attachid>161039</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-28 14:29:43 -0700</bug_when>
    <thetext>Comment on attachment 161039
Patch with style nit fixed

Attachment 161039 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13657467

New failing tests:
animations/suspend-resume-animation-events.html
fast/css/unicode-escape-in-8bit-string.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706735</commentid>
    <comment_count>6</comment_count>
      <attachid>161061</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-28 14:29:46 -0700</bug_when>
    <thetext>Created attachment 161061
Archive of layout-test-results from gce-cr-linux-01

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-01  Port: &lt;class &apos;webkitpy.common.config.ports.ChromiumXVFBPort&apos;&gt;  Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706803</commentid>
    <comment_count>7</comment_count>
      <attachid>161039</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-28 15:47:38 -0700</bug_when>
    <thetext>Comment on attachment 161039
Patch with style nit fixed

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

I had a first look, I have early comments about some details.
Can you please measure how much does the code grow with the patch?

&gt; Source/WebCore/css/CSSParser.cpp:168
&gt; +template &lt;typename CharacterType&gt;
&gt; +ALWAYS_INLINE static bool equal(const CharacterType* a, const char* b, int length)
&gt;  {
&gt; -    for (int i = 0; i &lt; a.length; ++i) {
&gt; +    for (int i = 0; i &lt; length; ++i) {
&gt;          if (!b[i])
&gt;              return false;
&gt; -        if (a.characters[i] != b[i])
&gt; +        if (a[i] != b[i])
&gt;              return false;
&gt;      }
&gt; -    return !b[a.length];
&gt; +    return !b[length];
&gt;  }

We have optimized versions of this in StringImpl.h, you should call them directly.

&gt; Source/WebCore/css/CSSParser.cpp:186
&gt; +template &lt;typename CharacterType&gt;
&gt; +ALWAYS_INLINE static bool equalIgnoringCase(const CharacterType* a, const char* b, int length)
&gt;  {
&gt; -    for (int i = 0; i &lt; a.length; ++i) {
&gt; +    for (int i = 0; i &lt; length; ++i) {
&gt;          if (!b[i])
&gt;              return false;
&gt;          ASSERT(!isASCIIUpper(b[i]));
&gt; -        if (toASCIILower(a.characters[i]) != b[i])
&gt; +        if (toASCIILower(a[i]) != b[i])
&gt;              return false;
&gt;      }
&gt; -    return !b[a.length];
&gt; +    return !b[length];
&gt; +}

We have optimized versions of this in StringImpl.h, you should call them directly.

&gt; Source/WebCore/css/CSSParser.cpp:335
&gt; +    int stringLength = string.length();
&gt; +    int length = stringLength + m_parsedTextPrefixLength + strlen(suffix) + 1;

String length are typically unsigned.

&gt; Source/WebCore/css/CSSParser.cpp:340
&gt; +        for (unsigned i = 0; i &lt; m_parsedTextPrefixLength; i++)
&gt; +            m_dataStart8[i] = prefix[i];

memcpy?

&gt; Source/WebCore/css/CSSParser.cpp:348
&gt; +        for (unsigned i = start; i &lt; end; i++)
&gt; +            m_dataStart8[i] = suffix[i - start];

memcpy?
Or just a while loop incrementing the pointers. I think the &quot;i - start&quot; is a little less readable.

&gt; Source/WebCore/css/CSSParser.cpp:350
&gt; +        m_dataStart8[length - 1] = 0;

If you do:
unsigned length = stringLength + m_parsedTextPrefixLength + strlen(suffix) + 1;
...
m_dataStart8 = adoptArrayPtr(new LChar[length + 1]);
...
This becomes:
m_dataStart8[length] = 0;

I personally prefer this way of handling zero termination, but that is up to you.

&gt; Source/WebCore/css/CSSParser.cpp:3122
&gt; -    AtomicString variableName = String(name.characters + 12, name.length - 12);
&gt; +    AtomicString variableName = name.is8Bit() ? String(name.characters8() + 12, name.length() - 12) : String(name.characters16() + 12, name.length() - 12);

Creating an AtomicString from a String can be inefficient. You should use the AtomicString constructor here instead.

&gt; Source/WebCore/css/CSSParser.cpp:8871
&gt; +                UnicodeToChars(result, unicode);            }

Lost bracket :)

&gt; Source/WebCore/css/CSSParser.h:489
&gt; +    LChar* m_currentCharacter8;
&gt; +    UChar* m_currentCharacter16;

Should this be an union? Are they mutually exclusive?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706986</commentid>
    <comment_count>8</comment_count>
      <attachid>161115</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-08-28 18:54:55 -0700</bug_when>
    <thetext>Created attachment 161115
Patch with suggested changes and speculative cr-linux test fix

(In reply to comment #7)
&gt; (From update of attachment 161039 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=161039&amp;action=review
&gt; 
&gt; I had a first look, I have early comments about some details.
&gt; Can you please measure how much does the code grow with the patch?

Comparing the size output from before and after X86-64 release builds of Mac WebCore.framework:
          __TEXT    __DATA    __OBJC    others       dec       hex
before- 17391616   1871872         0  18460672  37724160   23fa000
 after- 17408000   1871872         0  18399232  37679104   23ef000
 delta-    16384         0         0
This growth is less than I would have thought!

&gt; &gt; Source/WebCore/css/CSSParser.cpp:168
&gt; &gt; +template &lt;typename CharacterType&gt;
&gt; &gt; +ALWAYS_INLINE static bool equal(const CharacterType* a, const char* b, int length)
&gt; &gt;  {
&gt; &gt; -    for (int i = 0; i &lt; a.length; ++i) {
&gt; &gt; +    for (int i = 0; i &lt; length; ++i) {
&gt; &gt;          if (!b[i])
&gt; &gt;              return false;
&gt; &gt; -        if (a.characters[i] != b[i])
&gt; &gt; +        if (a[i] != b[i])
&gt; &gt;              return false;
&gt; &gt;      }
&gt; &gt; -    return !b[a.length];
&gt; &gt; +    return !b[length];
&gt; &gt;  }
&gt; 
&gt; We have optimized versions of this in StringImpl.h, you should call them directly.

Done.

&gt; &gt; Source/WebCore/css/CSSParser.cpp:186
&gt; &gt; +template &lt;typename CharacterType&gt;
&gt; &gt; +ALWAYS_INLINE static bool equalIgnoringCase(const CharacterType* a, const char* b, int length)
&gt; &gt;  {
&gt; &gt; -    for (int i = 0; i &lt; a.length; ++i) {
&gt; &gt; +    for (int i = 0; i &lt; length; ++i) {
&gt; &gt;          if (!b[i])
&gt; &gt;              return false;
&gt; &gt;          ASSERT(!isASCIIUpper(b[i]));
&gt; &gt; -        if (toASCIILower(a.characters[i]) != b[i])
&gt; &gt; +        if (toASCIILower(a[i]) != b[i])
&gt; &gt;              return false;
&gt; &gt;      }
&gt; &gt; -    return !b[a.length];
&gt; &gt; +    return !b[length];
&gt; &gt; +}
&gt; 
&gt; We have optimized versions of this in StringImpl.h, you should call them directly.

Done.

&gt; &gt; Source/WebCore/css/CSSParser.cpp:335
&gt; &gt; +    int stringLength = string.length();
&gt; &gt; +    int length = stringLength + m_parsedTextPrefixLength + strlen(suffix) + 1;
&gt; 
&gt; String length are typically unsigned.

Fixed this.

&gt; &gt; Source/WebCore/css/CSSParser.cpp:340
&gt; &gt; +        for (unsigned i = 0; i &lt; m_parsedTextPrefixLength; i++)
&gt; &gt; +            m_dataStart8[i] = prefix[i];
&gt; 
&gt; memcpy?

The prefixes and suffices are so small, 0 to a 33 bytes with most of them 0 that I think the call overhead would outweigh the benefit. 

&gt; &gt; Source/WebCore/css/CSSParser.cpp:348
&gt; &gt; +        for (unsigned i = start; i &lt; end; i++)
&gt; &gt; +            m_dataStart8[i] = suffix[i - start];
&gt; 
&gt; memcpy?
&gt; Or just a while loop incrementing the pointers. I think the &quot;i - start&quot; is a little less readable.

Clang on X86 makes slightly better code using scaled index instructions instead of needing to increment a pointer (an ALU operation).  I assume that the same is true for gcc.  I can clean up the suffix index calculation, but it will probably look best with another local.
 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:350
&gt; &gt; +        m_dataStart8[length - 1] = 0;
&gt; 
&gt; If you do:
&gt; unsigned length = stringLength + m_parsedTextPrefixLength + strlen(suffix) + 1;
&gt; ...
&gt; m_dataStart8 = adoptArrayPtr(new LChar[length + 1]);
&gt; ...
&gt; This becomes:
&gt; m_dataStart8[length] = 0;
&gt; 
&gt; I personally prefer this way of handling zero termination, but that is up to you.

I want m_length to be the buffer length.  It is used to allocate a 16 bit buffer when there is 8 bit source with a 16 bit escape.
 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:3122
&gt; &gt; -    AtomicString variableName = String(name.characters + 12, name.length - 12);
&gt; &gt; +    AtomicString variableName = name.is8Bit() ? String(name.characters8() + 12, name.length() - 12) : String(name.characters16() + 12, name.length() - 12);
&gt; 
&gt; Creating an AtomicString from a String can be inefficient. You should use the AtomicString constructor here instead.

Done.

&gt; &gt; Source/WebCore/css/CSSParser.cpp:8871
&gt; &gt; +                UnicodeToChars(result, unicode);            }
&gt; 
&gt; Lost bracket :)

Saw and fixed after original post.

&gt; &gt; Source/WebCore/css/CSSParser.h:489
&gt; &gt; +    LChar* m_currentCharacter8;
&gt; &gt; +    UChar* m_currentCharacter16;
&gt; 
&gt; Should this be an union? Are they mutually exclusive?

These are both needed.  For the case that we have an 8 bit source and a Unicode escape that resolves to 16 bit, we use the 16 bit data buffer and m_currentCharacter16 to track where in that buffer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706993</commentid>
    <comment_count>9</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-28 19:10:46 -0700</bug_when>
    <thetext>&gt; Comparing the size output from before and after X86-64 release builds of Mac WebCore.framework:
&gt;           __TEXT    __DATA    __OBJC    others       dec       hex
&gt; before- 17391616   1871872         0  18460672  37724160   23fa000
&gt;  after- 17408000   1871872         0  18399232  37679104   23ef000
&gt;  delta-    16384         0         0
&gt; This growth is less than I would have thought!

I work my tail off to remove instructions in the order of 4kb :(

But not 16kb is not too bad. :)

&gt; &gt; &gt; Source/WebCore/css/CSSParser.cpp:348
&gt; &gt; &gt; +        for (unsigned i = start; i &lt; end; i++)
&gt; &gt; &gt; +            m_dataStart8[i] = suffix[i - start];
&gt; &gt; 
&gt; &gt; memcpy?
&gt; &gt; Or just a while loop incrementing the pointers. I think the &quot;i - start&quot; is a little less readable.
&gt; 
&gt; Clang on X86 makes slightly better code using scaled index instructions instead of needing to increment a pointer (an ALU operation).  I assume that the same is true for gcc.  I can clean up the suffix index calculation, but it will probably look best with another local.

Out of curiosity, does the compiler actually generate the &quot;- start&quot; in the loop? Or is it smart enough to just do (suffix + start) before the loop?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707048</commentid>
    <comment_count>10</comment_count>
      <attachid>161115</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-28 20:50:25 -0700</bug_when>
    <thetext>Comment on attachment 161115
Patch with suggested changes and speculative cr-linux test fix

Attachment 161115 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13690034</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707062</commentid>
    <comment_count>11</comment_count>
      <attachid>161115</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-08-28 21:02:15 -0700</bug_when>
    <thetext>Comment on attachment 161115
Patch with suggested changes and speculative cr-linux test fix

Attachment 161115 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/13689025</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707075</commentid>
    <comment_count>12</comment_count>
      <attachid>161115</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-28 21:42:36 -0700</bug_when>
    <thetext>Comment on attachment 161115
Patch with suggested changes and speculative cr-linux test fix

Attachment 161115 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13686050</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708166</commentid>
    <comment_count>13</comment_count>
      <attachid>161383</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-08-29 18:30:21 -0700</bug_when>
    <thetext>Created attachment 161383
Patch with unsigned length compare fix plus other updates

Made some other template changes in isCSSTokenizer*, color parsing and double parsing code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708169</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-29 18:32:25 -0700</bug_when>
    <thetext>Attachment 161383 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Source/WebCore/platform/graphics/Color.h:160:  The parameter name &quot;rgb&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 17 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>708192</commentid>
    <comment_count>15</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-08-29 18:55:24 -0700</bug_when>
    <thetext>&gt; Out of curiosity, does the compiler actually generate the &quot;- start&quot; in the loop? Or is it smart enough to just do (suffix + start) before the loop?

It appears that it does.  For this code,
        unsigned start = m_parsedTextPrefixLength + stringLength;
        unsigned end = start + strlen(suffix);
        for (unsigned i = start; i &lt; end; i++)
            m_dataStart8[i] = suffix[i - start];

        m_dataStart8[length - 1] = 0;

clang (release build) generated:
I believe on entry start is in ebx.  end gets put into ecx at +240.  During the loop, it looks like i ends up in rcx and r15 contains suffix. The compiler does some math to end up with a count down loop with strlen(suffix) in eax.  Don&apos;t know why it didn&apos;t hoist up the loading of m_dataStart8 into rdx.
0x0102f892d9 &lt;CSSParser::setUpParser+233&gt;:	callq  0x103b45590 &lt;dyld_stub_strlen&gt;
0x0102f892de &lt;CSSParser::setUpParser+238&gt;:	mov    %eax,%ecx
0x0102f892e0 &lt;CSSParser::setUpParser+240&gt;:	add    %ebx,%ecx
0x0102f892e2 &lt;CSSParser::setUpParser+242&gt;:	cmp    %ecx,%ebx
0x0102f892e4 &lt;CSSParser::setUpParser+244&gt;:	jae    0x102f89317 &lt;OwnArrayPtr&gt;
0x0102f892e6 &lt;CSSParser::setUpParser+246&gt;:	lea    0x1(%r12,%r13,1),%ecx
0x0102f892eb &lt;CSSParser::setUpParser+251&gt;:	add    %r13d,%r12d
0x0102f892ee &lt;CSSParser::setUpParser+254&gt;:	lea    0x1(%rax,%r12,1),%eax
0x0102f892f3 &lt;CSSParser::setUpParser+259&gt;:	sub    %ecx,%eax
0x0102f892f5 &lt;CSSParser::setUpParser+261&gt;:	mov    %ebx,%ecx
0x0102f892f7 &lt;CSSParser::setUpParser+263&gt;:	nopw   0x0(%rax,%rax,1)
0x0102f89300 &lt;CSSParser::setUpParser+272&gt;:	mov    0xd0(%r14),%rdx
0x0102f89307 &lt;CSSParser::setUpParser+279&gt;:	mov    (%r15),%bl
0x0102f8930a &lt;CSSParser::setUpParser+282&gt;:	mov    %bl,(%rdx,%rcx,1)
0x0102f8930d &lt;CSSParser::setUpParser+285&gt;:	inc    %r15
0x0102f89310 &lt;CSSParser::setUpParser+288&gt;:	inc    %rcx
0x0102f89313 &lt;CSSParser::setUpParser+291&gt;:	dec    %eax
0x0102f89315 &lt;CSSParser::setUpParser+293&gt;:	jne    0x102f89300 &lt;CSSParser::setUpParser+272&gt;
0x0102f89317 &lt;_ZNK3WTF11OwnArrayPtrIhEixEl+0&gt;:	mov    0xd0(%r14),%rax
0x0102f8931e &lt;_ZNK3WTF11OwnArrayPtrIhEixEl+7&gt;:	mov    -0x48(%rbp),%rdx
0x0102f89322 &lt;CSSParser::setUpParser+306&gt;:	lea    -0x1(%rdx),%ecx
0x0102f89325 &lt;CSSParser::setUpParser+309&gt;:	movb   $0x0,(%rax,%rcx,1)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708203</commentid>
    <comment_count>16</comment_count>
      <attachid>161387</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-08-29 18:59:31 -0700</bug_when>
    <thetext>Created attachment 161387
Prior patch with style nit fixed

Cleaned up other existing flavors of parseHexColor() at the same time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708221</commentid>
    <comment_count>17</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-29 19:22:50 -0700</bug_when>
    <thetext>&gt; clang (release build) generated:
&gt; I believe on entry start is in ebx.  end gets put into ecx at +240.  During the loop, it looks like i ends up in rcx and r15 contains suffix. The compiler does some math to end up with a count down loop with strlen(suffix) in eax.  Don&apos;t know why it didn&apos;t hoist up the loading of m_dataStart8 into rdx.
&gt; [...]

That&apos;s pretty cool!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708453</commentid>
    <comment_count>18</comment_count>
      <attachid>161387</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-30 02:44:05 -0700</bug_when>
    <thetext>Comment on attachment 161387
Prior patch with style nit fixed

Attachment 161387 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13690622

New failing tests:
fast/css/unicode-escape-in-8bit-string.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708471</commentid>
    <comment_count>19</comment_count>
      <attachid>161387</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-30 03:38:10 -0700</bug_when>
    <thetext>Comment on attachment 161387
Prior patch with style nit fixed

Attachment 161387 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13689640

New failing tests:
fast/css/unicode-escape-in-8bit-string.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708754</commentid>
    <comment_count>20</comment_count>
      <attachid>161502</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-08-30 10:00:23 -0700</bug_when>
    <thetext>Created attachment 161502
Performance numbers of last patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709020</commentid>
    <comment_count>21</comment_count>
      <attachid>161552</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-08-30 14:11:04 -0700</bug_when>
    <thetext>Created attachment 161552
Patch with test changed to a reference test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709228</commentid>
    <comment_count>22</comment_count>
      <attachid>161552</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-08-30 18:43:31 -0700</bug_when>
    <thetext>Comment on attachment 161552
Patch with test changed to a reference test

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

r=me

&gt; Source/WebCore/css/CSSParser.cpp:8603
&gt; +UChar*&amp;
&gt; +CSSParser::currentCharacter16()

Should be on the same line.

&gt; Source/WebCore/css/CSSParser.cpp:8891
&gt; +inline void CSSParser::parseURI(CSSParserString&amp; string)

This could be a function template, since the logic in the 8 vs 16 bit cases is equal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709760</commentid>
    <comment_count>23</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-08-31 10:26:07 -0700</bug_when>
    <thetext>Committed r127277: &lt;http://trac.webkit.org/changeset/127277&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161035</attachid>
            <date>2012-08-28 12:37:47 -0700</date>
            <delta_ts>2012-08-28 12:44:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>95207.patch</filename>
            <type>text/plain</type>
            <size>92578</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMjY5MDApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA4LTI4ICBNaWNoYWVsIFNhYm9mZiAgPG1z
YWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIENTUyBQYXJzZXIgc2hvdWxkIGRpcmVjdGx5IHBh
cnNlIDggYml0IHNvdXJjZSBzdHJpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NTIwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5oOgorICAgICAgICAoV1RGOjpl
cXVhbElnbm9yaW5nQ2FzZSk6IEFkZGVkIChjb25zdCBjaGFyKiwgY29uc3QgTENoYXIqLCB1bnNp
Z25lZCkgZmxhdm9yIHRvIHN1cHBvcnQKKyAgICAgICAgOCBiaXQgQ1NTIHBhcnNlciB3b3JrLgor
CiAyMDEyLTA4LTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI2ODM2LgpJbmRleDogU291cmNl
L1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYv
dGV4dC9TdHJpbmdJbXBsLmgJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9XVEYvd3RmL3Rl
eHQvU3RyaW5nSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NDYsNiArODQ2LDcgQEAgV1RGX0VY
UE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1YWxJZ25vcmluZwogaW5saW5lIGJvb2wgZXF1YWxJZ25v
cmluZ0Nhc2UoY29uc3QgVUNoYXIqIGEsIGNvbnN0IGNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkg
eyByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2UoYSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hh
cio+KGIpLCBsZW5ndGgpOyB9CiBpbmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBM
Q2hhciogYSwgY29uc3QgVUNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1cm4gZXF1YWxJ
Z25vcmluZ0Nhc2UoYiwgYSwgbGVuZ3RoKTsgfQogaW5saW5lIGJvb2wgZXF1YWxJZ25vcmluZ0Nh
c2UoY29uc3QgY2hhciogYSwgY29uc3QgVUNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1
cm4gZXF1YWxJZ25vcmluZ0Nhc2UoYiwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KGEp
LCBsZW5ndGgpOyB9CitpbmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBjaGFyKiBh
LCBjb25zdCBMQ2hhciogYiwgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBlcXVhbElnbm9yaW5n
Q2FzZShiLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oYSksIGxlbmd0aCk7IH0KIAog
V1RGX0VYUE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1YWxJZ25vcmluZ051bGxpdHkoU3RyaW5nSW1w
bCosIFN0cmluZ0ltcGwqKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI2OTAwKQorKysg
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTM4IEBA
CisyMDEyLTA4LTI4ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENTUyBQYXJzZXIgc2hvdWxkIGRpcmVjdGx5IHBhcnNlIDggYml0IHNvdXJjZSBzdHJpbmdz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTIwNwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZWQg
Q1NTUGFyc2VyIHRvIGhhbmRsZSA4IGJpdCBzdHJpbmdzIGRpcmVjdGx5LiBUZW1wbGF0aXplZCBt
b3N0IHByaXZhdGUgcGFyc2luZyBtZXRob2RzCisgICAgICAgIGFuZCBoZWxwZXIgbWV0aG9kcyBi
eSBjaGFyYWN0ZXIgdHlwZS4gSW50cm9kdWNlZCBzZXZlcmFsIHRlbXBsYXRpemVkIGhlbHBlciBt
ZXRob2RzIGZvcgorICAgICAgICBwYXJzaW5nIG1ldGhvZHMuIFNvbWUgb2YgdGhlc2UgaGVscGVy
IG1ldGhvZHMgaGF2ZSBpbmRlcGVuZGVudCBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHRlbXBsYXRl
CisgICAgICAgIHR5cGVzIHRvIGhhbmRsZSB0aGF0IGFuIDggYml0IHNvdXJjZSBzdHJpbmcgd2hl
biBwYXJzZWQgcHJvZHVjZXMgYSAxNiBiaXQgcmVzdWx0LiBUaGlzIGlzIGR1ZQorICAgICAgICB0
byB1bmljb2RlIGVzY2FwZXMuIFJlbmFtZWQgdGhlIGxleCBtZXRob2QgInJlYWxMZXgiIGFuZCBt
YWRlIGl0IGEgdGVtcGxhdGVkIG1ldGhvZC4gVGhlIGxleAorICAgICAgICBtZXRob2QgdGhhdCBp
cyBjYWxsZWQgYnkgY3NzeXlsZXgoKSwgd2hpY2ggaXMgbm93IGlubGluZWQsIGludm9rZXMgdGhl
IGNvcnJlY3QgaW5zdGFuY2Ugb2YgcmVhbExleAorICAgICAgICB2aWEgYSBtZW1iZXIgZnVuY3Rp
b24gcG9pbnRlci4KKworICAgICAgICBTcGxpdCBvdXQgdGhlIGVuY29kaW5nIHBhcnQgb2YgcGFy
c2VFc2NhcGUoKSBpbnRvIGEgbmV3IHRlbXBsYXRlZCBVbmljb2RlVG9DaGFycygpIG1ldGhvZC4K
KworICAgICAgICBBZGRlZCA4LzE2IGJpdCBzd2l0Y2hpbmcgdG8gQ1NTUGFyc2VyU3RyaW5nIGFz
IHdlbGwgYXMgYWRkZWQgaW5pdGlhbGl6YXRpb24sIHNldHRlcnMgYW5kIGdldHRlcnMuCisgICAg
ICAgIE5vdGUgdGhhdCBDU1NQYXJzZXJTdHJpbmcgbXVzdCBoYXZlIGEgZGVmYXVsdCBjb25zdHJ1
Y3RvciBhcyBpdCBpcyBwYXJ0IG9mIHRoZSBZWUxWQUwgdW5pb24uCisgICAgICAgIFRoZXJlZm9y
ZSBjcmVhdGVkIGluaXQoKSBtZXRob2RzIGluc3RlYWQgb2YgY29uc3RydWN0b3JzLiBNYW55IG9m
IHRoZSBwYXJzZXIgZnVuY3Rpb24gbm93IGRpcmVjdGx5CisgICAgICAgIG1vZGlmeSB0aGUgaW5z
dGFuY2UgaW4geXlsdmFsLiBNYWRlIHN1cHBvcnRpbmcgY2hhbmdlcyBpbiBvdGhlciB3ZWJjb3Jl
IGNsYXNzZXMgdGhhdCBhcmUgdXNlZAorICAgICAgICBkaXJlY3RseSBieSBDU1NQYXJzZXIuCisK
KyAgICAgICAgVGVzdDogZmFzdC9jc3MvdW5pY29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmcuaHRt
bAorCisgICAgICAgICogY3NzL0NTU0dyYW1tYXIueTogUmVtb3ZlZCBjc3N5eWxleCgpIGFuZCBj
aGFuZ2VkIG1hbmlwdWxhdGlvbiBvZiBDU1NQYXJzZXJTdHJpbmcgb2JqZWN0cyB0bworICAgICAg
ICB1c2UgbmV3bHkgd3JpdHRlbiBtZXRob2RzIGluc3RlYWQgb2YgZGlyZWN0IG1hbmlwdWxhdGlv
biBvZiBhdHRyaWJ1dGVzLgorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAg
IFRlbXBsYXRpemVkIG5ldyBvciBleGlzdGluZyBoZWxwZXIgbWV0aG9kcworICAgICAgICAoV2Vi
Q29yZTo6ZXF1YWwpOgorICAgICAgICAoV2ViQ29yZTo6ZXF1YWxJZ25vcmluZ0Nhc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6bWFrZUxvd2VyKToKKyAgICAgICAgKFdlYkNvcmU6OmlzQ1NTTGV0dGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OmlzQ1NTRXNjYXBlKToKKyAgICAgICAgKFdlYkNvcmU6Omlz
VVJJTGV0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OmlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNo
KToKKyAgICAgICAgKFdlYkNvcmU6OmlzRXF1YWxUb0NTU0lkZW50aWZpZXIpOgorICAgICAgICAo
V2ViQ29yZTo6Y2hlY2tBbmRTa2lwRXNjYXBlKToKKyAgICAgICAgKFdlYkNvcmU6OnNraXBXaGl0
ZVNwYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y3VycmVudENoYXJhY3RlcjE2
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6aXNJZGVudGlmaWVyU3RhcnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpjaGVja0FuZFNraXBTdHJpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVVuaWNvZGVSYW5nZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQYXJzZXI6OnBhcnNlTnRoQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
OjpwYXJzZU50aENoaWxkRXh0cmEpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpkZXRl
Y3RGdW5jdGlvblR5cGVUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVj
dE1lZGlhUXVlcnlUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdE51
bWJlclRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6ZGV0ZWN0RGFzaFRva2Vu
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6ZGV0ZWN0QXRUb2tlbik6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnNldFJ1bGVIZWFkZXJFbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6Y3NzUHJvcGVydHlJRCk6CisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Q1NTUGFy
c2VyKTogVXBkYXRlZCBjb25zdHJ1Y3RvciBmb3IgaW5pdGlhbGl6aW5nIG5ldyBhdHRyaWJ1dGVz
LgorCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6Omxvd2VyKTogQ2FsbHMgbmV3
IG1ha2VMb3dlcigpIHRlbXBsYXRlIGhlbHBlci4KKworICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyOjpzZXR1cFBhcnNlcik6IEFkZGVkIDggYml0IHBhdGggYW5kIHNldCB1cCBwYXJzZXIgYXBw
cm9wcmlhdGUgdG8KKyAgICAgICAgc3RyaW5nIHR5cGUuCisKKyAgICAgICAgKFdlYkNvcmU6OnBh
cnNlQ29sb3JWYWx1ZSk6IFVwZGF0ZWQgdG8gdXNlIG5ldyBDU1NQYXJzZXJTdHJpbmc6OmluaXQo
KQorICAgICAgICAoV2ViQ29yZTo6cGFyc2VTaW1wbGVMZW5ndGgpOgorICAgICAgICAoV2ViQ29y
ZTo6cGFyc2VLZXl3b3JkVmFsdWUpOiBVcGRhdGVkIHRvIHVzZSBuZXcgQ1NTUGFyc2VyU3RyaW5n
Ojppbml0KCkKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlVHJhbnNmb3JtQXJndW1lbnRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcik6IFVwZGF0ZWQgdG8g
dXNlIG5ldyBDU1NQYXJzZXJTdHJpbmc6OmluaXQoKQorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyOjpzdG9yZVZhcmlhYmxlRGVjbGFyYXRpb24pOiBDcmVhdGUgcmlnaHQgY2hhcmFjdGVyIHNp
emVkIEF0b21pY1N0cmluZy4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRGYW1pbHlWYWx1ZUJ1aWxk
ZXI6OmFkZCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb25JbmZvOjpUcmFu
c2Zvcm1PcGVyYXRpb25JbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VG
b250RmVhdHVyZVRhZyk6CisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VFc2Nh
cGUpOiBOb3cgb25seSBwYXJzZXMgYW4gZXNjYXBlIGFuZCByZXR1cm5zIHRoZSByZXN1bHRpbmcK
KyAgICAgICAgVW5pY29kZSB2YWx1ZSBhcyBhbiB1bnNpZ25lZC4KKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6VW5pY29kZVRvQ2hhcnMpOiBOZXcgbWV0aG9kIHRvIHdyaXRlIG91dCB1bmlj
b2RlIGNoYXJhY3RlcihzKQorICAgICAgICBiYXNlZCBvbiBjaGFyYWN0ZXIgdHlwZS4KKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VJZGVudGlmaWVySW50ZXJuYWwpOiBUZW1wbGF0
ZWQgaGVscGVyLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUlkZW50aWZpZXIp
OiBQYXJzZXMgaWRlbnRpZmllcnMsIHBvc3NpYmx5IHVwY29udmVydGluZworICAgICAgICB0aGUg
cmVzdWx0IHdoZW4gYSB1bmljb2RlIGVzY2FwZSBpcyBmb3VuZCBpbiBhbiA4IGJpdCBzb3VyY2Uu
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU3RyaW5nSW50ZXJuYWwpOiBUZW1w
bGF0ZWQgaGVscGVyLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVN0cmluZyk6
IFBhcnNlcyBzdHJpbmdzLCBwb3NzaWJseSB1cGNvbnZlcnRpbmcKKyAgICAgICAgdGhlIHJlc3Vs
dCB3aGVuIGEgdW5pY29kZSBlc2NhcGUgaXMgZm91bmQgaW4gYW4gOCBiaXQgc291cmNlLgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVVSSUludGVybmFsKTogVGVtcGxhdGVkIGhl
bHBlci4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VVUkkpOiBSZXBhcnNlcyBh
IHBhcnNlZCBpZGVudGlmaWVyIHRvIHNlZSBpZiBpdCBpcyBhIFVSSS4KKyAgICAgICAgVGhpcyBt
ZXRob2QgZG9lc24ndCBuZWVkIHRvIHVwIGNvbnZlcnQgZnJvbSA4IHRvIDE2IGJpdHMgc2luY2Ug
dGhhdCB3b3VsZCBoYXZlIGJlZW4KKyAgICAgICAgZG9uZSBpbiBwYXJzZUlkZW50ZmllcigpLgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpyZWFsTGV4KTogTG90IG9mIHRlbXBsYXRlIHJl
bGF0ZWQgY2hhbmdlcy4gIFJlbW92ZWQgeXlsdmFsLT5zdHJpbmcKKyAgICAgICAgQVNTRVJUIGNo
ZWNrcyBhdCB0aGUgZW5kLCBzaW5jZSB0aGV5IGFyZSB0b28gbmFpdmUgdG8gaGFuZGxlIHVwY29u
dmVydGVkIGlkZW50aWZpZXIsCisgICAgICAgIHN0cmluZyBhbmQgVVJJcy4gIFRoZXkgY29tcGFy
ZWQgc291cmNlIHBvaW50ZXJzIChtX3Rva2VuU3RhcnQpIHdpdGggcmVzdWx0aW5nIHN0cmluZ3Mu
CisgICAgICAgIChXZWJDb3JlOjpmaXhVbnBhcnNlZFByb3BlcnRpZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpmaXhVbnBhcnNlZFByb3BlcnR5UmFuZ2VzKTogQWRkZWQgbmV3IHRl
bXBsYXRlIGhlbHBlciB3aXRoIHNhbWUgbmFtZS4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6bWFya1J1bGVIZWFkZXJTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1h
cmtSdWxlSGVhZGVyRW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFya1J1bGVC
b2R5U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrUnVsZUJvZHlFbmQp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrUHJvcGVydHlTdGFydCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtQcm9wZXJ0eUVuZCk6CisgICAgICAgIChXZWJD
b3JlOjpjc3NWYWx1ZUtleXdvcmRJRCk6CisKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6Cisg
ICAgICAgIChDU1NQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpsZXgpOiBN
YWRlIHRoaXMgaW5saW5lIGhlbHBlciB0aGF0IGNhbGxzIGNvcnJlY3QgcmVhbExleCgpLgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjppczhCaXRTb3VyY2UpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VyOjp0b2tlblN0YXJ0T2Zmc2V0KTogVGVtcGxhdGVkIG1ldGhvZCByZXR1cm5p
bmcgb2Zmc2V0IGluIHNvdXJjZQorICAgICAgICBvZiB0aGUgY3VycmVudCB0b2tlbiBzdGFydC4K
KyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6dG9rZW5TdGFydENoYXIpOiBUZW1wbGF0ZWQg
YWNjZXNzIHRvIG1fdG9rZW5TdGFydC4KKyAgICAgICAgKFdlYkNvcmU6OmNzc3l5bGV4KTogTWFk
ZSB0aGlzIGlubGluZSB0byBhdm9pZCBjYWxsLgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJWYWx1
ZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmluZzo6aW5pdCk6IEFkZGVkIHRo
cmVlIG5ldyBpbml0aWFsaXphdGlvbiBtZXRob2RzLgorCisgICAgICAgIE5ldyBzZXR0ZXJzLCBn
ZXR0ZXJzIGFuZCBoZWxwZXIgbWV0aG9kcy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0
cmluZzo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjppczhCaXQp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjpjaGFyYWN0ZXJzOCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6OmNoYXJhY3RlcnMxNik6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YXJzZXJTdHJpbmc6OnNldExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJp
bmc6Om9wZXJhdG9yW10pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjplcXVh
bElnbm9yaW5nQ2FzZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6Om9wZXJh
dG9yIFN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6Om9wZXJhdG9y
IEF0b21pY1N0cmluZyk6CisKKyAgICAgICAgT3RoZXIgbWV0aG9kcyB0ZW1wbGF0aXplZCB0byBz
dXBwb3J0IGNoYW5nZXMgaW4gQ1NTUGFyc2VyLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4
dEVuY29kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFbmNvZGluZzo6VGV4dEVuY29k
aW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUpOgorICAg
ICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuaDoKKyAgICAgICAgKiBz
dmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdlbmVyaWNQYXJz
ZU51bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZVNWR051bWJlcik6CisgICAgICAgICog
c3ZnL1NWR1BhcnNlclV0aWxpdGllcy5oOgorICAgICAgICAoV2ViQ29yZTo6aXNTVkdTcGFjZSk6
CisgICAgICAgIChXZWJDb3JlOjpza2lwT3B0aW9uYWxTVkdTcGFjZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6c2tpcE9wdGlvbmFsU1ZHU3BhY2VzT3JEZWxpbWl0ZXIpOgorCiAyMDEyLTA4LTI4ICBE
YXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBbTmV3IE11bHRpY29sdW1u
XSBSZW5hbWUgc29tZSBmbG93IHRocmVhZCBtZXRob2RzIGFuZCByZWdpb24gbWV0aG9kcy9tZW1i
ZXJzIHRvIG1ha2UgdGhlbQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CShyZXZpc2lvbiAx
MjY4MzcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CSh3b3JraW5nIGNvcHkp
CkBAIC05MywxMSArOTMsNiBAQCBzdGF0aWMgaW5saW5lIGludCBjc3N5eWVycm9yKHZvaWQqLCBj
b25zCiAgICAgcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyBpbnQgY3NzeXlsZXgoWVlTVFlQRSogeXls
dmFsLCBDU1NQYXJzZXIqIHBhcnNlcikKLXsKLSAgICByZXR1cm4gcGFyc2VyLT5sZXgoeXlsdmFs
KTsKLX0KLQogJX0KIAogJWV4cGVjdCA2MgpAQCAtNTA5LDcgKzUwNCw3IEBAIE5BTUVTUEFDRV9T
WU0gbWF5YmVfc3BhY2UgbWF5YmVfbnNfcHJlZmkKIDsKIAogbWF5YmVfbnNfcHJlZml4OgotLyog
ZW1wdHkgKi8geyAkJC5jaGFyYWN0ZXJzID0gMDsgfQorLyogZW1wdHkgKi8geyAkJC5jbGVhcigp
OyB9CiB8IElERU5UIG1heWJlX3NwYWNlIHsgJCQgPSAkMTsgfQogOwogCkBAIC02OTQsOSArNjg5
LDkgQEAga2V5OgogICAgIHwgSURFTlQgewogICAgICAgICAkJC5pZCA9IDA7ICQkLmlzSW50ID0g
ZmFsc2U7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUjsKICAgICAgICAg
Q1NTUGFyc2VyU3RyaW5nJiBzdHIgPSAkMTsKLSAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KCJmcm9tIiwgc3RyLmNoYXJhY3RlcnMsIHN0ci5sZW5ndGgpKQorICAgICAgICBpZiAoc3RyLmVx
dWFsSWdub3JpbmdDYXNlKCJmcm9tIikpCiAgICAgICAgICAgICAkJC5mVmFsdWUgPSAwOwotICAg
ICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSgidG8iLCBzdHIuY2hhcmFjdGVycywgc3Ry
Lmxlbmd0aCkpCisgICAgICAgIGVsc2UgaWYgKHN0ci5lcXVhbElnbm9yaW5nQ2FzZSgidG8iKSkK
ICAgICAgICAgICAgICQkLmZWYWx1ZSA9IDEwMDsKICAgICAgICAgZWxzZQogICAgICAgICAgICAg
WVlFUlJPUjsKQEAgLTk3Niw4ICs5NzEsOCBAQCBzZWxlY3RvcjoKICAgICA7CiAKIG5hbWVzcGFj
ZV9zZWxlY3RvcjoKLSAgICAvKiBlbXB0eSAqLyAnfCcgeyAkJC5jaGFyYWN0ZXJzID0gMDsgJCQu
bGVuZ3RoID0gMDsgfQotICAgIHwgJyonICd8JyB7IHN0YXRpYyBVQ2hhciBzdGFyID0gJyonOyAk
JC5jaGFyYWN0ZXJzID0gJnN0YXI7ICQkLmxlbmd0aCA9IDE7IH0KKyAgICAvKiBlbXB0eSAqLyAn
fCcgeyAkJC5jbGVhcigpOyB9CisgICAgfCAnKicgJ3wnIHsgc3RhdGljIExDaGFyIHN0YXIgPSAn
Kic7ICQkLmluaXQoJnN0YXIsIDEpOyB9CiAgICAgfCBJREVOVCAnfCcgeyAkJCA9ICQxOyB9CiA7
CiAgICAgCkBAIC0xMDQwLDkgKzEwMzUsOCBAQCBlbGVtZW50X25hbWU6CiAgICAgICAgICQkID0g
c3RyOwogICAgIH0KICAgICB8ICcqJyB7Ci0gICAgICAgIHN0YXRpYyBVQ2hhciBzdGFyID0gJyon
OwotICAgICAgICAkJC5jaGFyYWN0ZXJzID0gJnN0YXI7Ci0gICAgICAgICQkLmxlbmd0aCA9IDE7
CisgICAgICAgIHN0YXRpYyBMQ2hhciBzdGFyID0gJyonOworICAgICAgICAkJC5pbml0KCZzdGFy
LCAxKTsKICAgICB9CiAgIDsKIApAQCAtMTA3MCw3ICsxMDY0LDcgQEAgc3BlY2lmaWVyOgogICAg
ICAgICAkJC0+c2V0VmFsdWUoJDEpOwogICAgIH0KICAgfCBIRVggewotICAgICAgICBpZiAoJDEu
Y2hhcmFjdGVyc1swXSA+PSAnMCcgJiYgJDEuY2hhcmFjdGVyc1swXSA8PSAnOScpIHsKKyAgICAg
ICAgaWYgKCQxWzBdID49ICcwJyAmJiAkMVswXSA8PSAnOScpIHsKICAgICAgICAgICAgICQkID0g
MDsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVGbG9h
dGluZ1NlbGVjdG9yKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkocmV2aXNpb24g
MTI2ODM3KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE1NSwyNyArMTU1LDM5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBJTlZBTElEX05VTV9QQVJTRURfUFJPUEVSVElFUyA9IFVJTlRfTUFYOwogc3Rh
dGljIGNvbnN0IGRvdWJsZSBNQVhfU0NBTEUgPSAxMDAwMDAwOwogCi1zdGF0aWMgYm9vbCBlcXVh
bChjb25zdCBDU1NQYXJzZXJTdHJpbmcmIGEsIGNvbnN0IGNoYXIqIGIpCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK0FMV0FZU19JTkxJTkUgc3RhdGljIGJvb2wgZXF1YWwoY29u
c3QgQ2hhcmFjdGVyVHlwZSogYSwgY29uc3QgY2hhciogYiwgaW50IGxlbmd0aCkKIHsKLSAgICBm
b3IgKGludCBpID0gMDsgaSA8IGEubGVuZ3RoOyArK2kpIHsKKyAgICBmb3IgKGludCBpID0gMDsg
aSA8IGxlbmd0aDsgKytpKSB7CiAgICAgICAgIGlmICghYltpXSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgaWYgKGEuY2hhcmFjdGVyc1tpXSAhPSBiW2ldKQorICAgICAgICBp
ZiAoYVtpXSAhPSBiW2ldKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLSAgICBy
ZXR1cm4gIWJbYS5sZW5ndGhdOworICAgIHJldHVybiAhYltsZW5ndGhdOwogfQogCi1zdGF0aWMg
Ym9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBDU1NQYXJzZXJTdHJpbmcmIGEsIGNvbnN0IGNo
YXIqIGIpCitzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBDU1NQYXJzZXJTdHJpbmcmIGEsIGNvbnN0
IGNoYXIqIGIpCit7CisgICAgcmV0dXJuIGEuaXM4Qml0KCkgPyBlcXVhbChhLmNoYXJhY3RlcnM4
KCksIGIsIGEubGVuZ3RoKCkpIDogZXF1YWwoYS5jaGFyYWN0ZXJzMTYoKSwgYiwgYS5sZW5ndGgo
KSk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorQUxXQVlTX0lOTElO
RSBzdGF0aWMgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBDaGFyYWN0ZXJUeXBlKiBhLCBj
b25zdCBjaGFyKiBiLCBpbnQgbGVuZ3RoKQogewotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYS5s
ZW5ndGg7ICsraSkgeworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAg
ICAgICAgaWYgKCFiW2ldKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBBU1NF
UlQoIWlzQVNDSUlVcHBlcihiW2ldKSk7Ci0gICAgICAgIGlmICh0b0FTQ0lJTG93ZXIoYS5jaGFy
YWN0ZXJzW2ldKSAhPSBiW2ldKQorICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGFbaV0pICE9IGJb
aV0pCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQotICAgIHJldHVybiAhYlthLmxl
bmd0aF07CisgICAgcmV0dXJuICFiW2xlbmd0aF07Cit9CisKK3N0YXRpYyBib29sIGVxdWFsSWdu
b3JpbmdDYXNlKGNvbnN0IENTU1BhcnNlclN0cmluZyYgYSwgY29uc3QgY2hhciogYikKK3sKKyAg
ICByZXR1cm4gYS5pczhCaXQoKSA/IGVxdWFsSWdub3JpbmdDYXNlKGEuY2hhcmFjdGVyczgoKSwg
YiwgYS5sZW5ndGgoKSkgOiBlcXVhbElnbm9yaW5nQ2FzZShhLmNoYXJhY3RlcnMxNigpLCBiLCBh
Lmxlbmd0aCgpKTsKIH0KIAogc3RhdGljIGJvb2wgaGFzUHJlZml4KGNvbnN0IGNoYXIqIHN0cmlu
ZywgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBjaGFyKiBwcmVmaXgpCkBAIC0yNjAsOCArMjcyLDEw
IEBAIENTU1BhcnNlcjo6Q1NTUGFyc2VyKGNvbnN0IENTU1BhcnNlckNvbnQKICAgICAsIG1fcHJv
cGVydHlSYW5nZShVSU5UX01BWCwgVUlOVF9NQVgpCiAgICAgLCBtX3J1bGVTb3VyY2VEYXRhUmVz
dWx0KDApCiAgICAgLCBtX3BhcnNpbmdNb2RlKE5vcm1hbE1vZGUpCi0gICAgLCBtX2N1cnJlbnRD
aGFyYWN0ZXIoMCkKLSAgICAsIG1fdG9rZW5TdGFydCgwKQorICAgICwgbV9pczhCaXRTb3VyY2Uo
ZmFsc2UpCisgICAgLCBtX2N1cnJlbnRDaGFyYWN0ZXI4KDApCisgICAgLCBtX2N1cnJlbnRDaGFy
YWN0ZXIxNigwKQorICAgICwgbV9sZW5ndGgoMCkKICAgICAsIG1fdG9rZW4oMCkKICAgICAsIG1f
bGluZU51bWJlcigwKQogICAgICwgbV9sYXN0U2VsZWN0b3JMaW5lTnVtYmVyKDApCkBAIC0yNzIs
NiArMjg2LDcgQEAgQ1NTUGFyc2VyOjpDU1NQYXJzZXIoY29uc3QgQ1NTUGFyc2VyQ29udAogI2lm
IFlZREVCVUcgPiAwCiAgICAgY3NzeXlkZWJ1ZyA9IDE7CiAjZW5kaWYKKyAgICBtX3Rva2VuU3Rh
cnQucHRyOCA9IDA7CiAgICAgQ1NTUHJvcGVydHlTb3VyY2VEYXRhOjppbml0KCk7CiB9CiAKQEAg
LTI4NSw3ICszMDAsOCBAQCBDU1NQYXJzZXI6On5DU1NQYXJzZXIoKQogICAgIGRlbGV0ZUFsbFZh
bHVlcyhtX2Zsb2F0aW5nRnVuY3Rpb25zKTsKIH0KIAotdm9pZCBDU1NQYXJzZXJTdHJpbmc6Omxv
d2VyKCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorQUxXQVlTX0lOTElORSBz
dGF0aWMgdm9pZCBtYWtlTG93ZXIoQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgaW50IGxlbmd0
aCkKIHsKICAgICAvLyBGSVhNRTogSWYgd2UgbmVlZCBVbmljb2RlIGxvd2VyY2FzaW5nIGhlcmUs
IHRoZW4gd2UgcHJvYmFibHkgd2FudCB0aGUgcmVhbCBraW5kCiAgICAgLy8gdGhhdCBjYW4gcG90
ZW50aWFsbHkgY2hhbmdlIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyByYXRoZXIgdGhhbiB0aGUg
Y2hhcmFjdGVyCkBAIC0zMDIsMjUgKzMxOCw2NSBAQCB2b2lkIENTU1BhcnNlclN0cmluZzo6bG93
ZXIoKQogICAgIH0KIH0KIAordm9pZCBDU1NQYXJzZXJTdHJpbmc6Omxvd2VyKCkKK3sKKyAgICBp
ZiAoaXM4Qml0KCkpIHsKKyAgICAgICAgbWFrZUxvd2VyKGNoYXJhY3RlcnM4KCksIGxlbmd0aCgp
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1ha2VMb3dlcihjaGFyYWN0ZXJzMTYo
KSwgbGVuZ3RoKCkpOworfQorCiB2b2lkIENTU1BhcnNlcjo6c2V0dXBQYXJzZXIoY29uc3QgY2hh
ciogcHJlZml4LCBjb25zdCBTdHJpbmcmIHN0cmluZywgY29uc3QgY2hhciogc3VmZml4KQogewog
ICAgIG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCA9IHN0cmxlbihwcmVmaXgpOwotICAgIGludCBs
ZW5ndGggPSBzdHJpbmcubGVuZ3RoKCkgKyBtX3BhcnNlZFRleHRQcmVmaXhMZW5ndGggKyBzdHJs
ZW4oc3VmZml4KSArIDE7CisgICAgaW50IHN0cmluZ0xlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsK
KyAgICBpbnQgbGVuZ3RoID0gc3RyaW5nTGVuZ3RoICsgbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3Ro
ICsgc3RybGVuKHN1ZmZpeCkgKyAxOworCisgICAgaWYgKCFzdHJpbmdMZW5ndGggfHwgc3RyaW5n
LmlzOEJpdCgpKSB7CisgICAgICAgIG1fZGF0YVN0YXJ0OCA9IGFkb3B0QXJyYXlQdHIobmV3IExD
aGFyW2xlbmd0aF0pOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9wYXJzZWRU
ZXh0UHJlZml4TGVuZ3RoOyBpKyspCisgICAgICAgICAgICBtX2RhdGFTdGFydDhbaV0gPSBwcmVm
aXhbaV07CisKKyAgICAgICAgaWYgKHN0cmluZ0xlbmd0aCkKKyAgICAgICAgICAgIG1lbWNweSht
X2RhdGFTdGFydDguZ2V0KCkgKyBtX3BhcnNlZFRleHRQcmVmaXhMZW5ndGgsIHN0cmluZy5jaGFy
YWN0ZXJzOCgpLCBzdHJpbmdMZW5ndGggKiBzaXplb2YoTENoYXIpKTsKKworICAgICAgICB1bnNp
Z25lZCBzdGFydCA9IG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCArIHN0cmluZ0xlbmd0aDsKKyAg
ICAgICAgdW5zaWduZWQgZW5kID0gc3RhcnQgKyBzdHJsZW4oc3VmZml4KTsKKyAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkrKykKKyAgICAgICAgICAgIG1fZGF0YVN0
YXJ0OFtpXSA9IHN1ZmZpeFtpIC0gc3RhcnRdOworCisgICAgICAgIG1fZGF0YVN0YXJ0OFtsZW5n
dGggLSAxXSA9IDA7CiAKLSAgICBtX2RhdGFTdGFydCA9IGFkb3B0QXJyYXlQdHIobmV3IFVDaGFy
W2xlbmd0aF0pOworICAgICAgICBtX2lzOEJpdFNvdXJjZSA9IHRydWU7CisgICAgICAgIG1fY3Vy
cmVudENoYXJhY3RlcjggPSBtX2RhdGFTdGFydDguZ2V0KCk7CisgICAgICAgIG1fY3VycmVudENo
YXJhY3RlcjE2ID0gMDsKKyAgICAgICAgc2V0VG9rZW5TdGFydDxMQ2hhcj4obV9jdXJyZW50Q2hh
cmFjdGVyOCk7CisgICAgICAgIG1fbGVuZ3RoID0gbGVuZ3RoOworICAgICAgICBtX2xleEZ1bmMg
PSAmQ1NTUGFyc2VyOjpyZWFsTGV4PExDaGFyPjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIG1fZGF0YVN0YXJ0MTYgPSBhZG9wdEFycmF5UHRyKG5ldyBVQ2hhcltsZW5ndGhdKTsKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3RoOyBpKysp
Ci0gICAgICAgIG1fZGF0YVN0YXJ0W2ldID0gcHJlZml4W2ldOworICAgICAgICBtX2RhdGFTdGFy
dDE2W2ldID0gcHJlZml4W2ldOwogCi0gICAgbWVtY3B5KG1fZGF0YVN0YXJ0LmdldCgpICsgbV9w
YXJzZWRUZXh0UHJlZml4TGVuZ3RoLCBzdHJpbmcuY2hhcmFjdGVycygpLCBzdHJpbmcubGVuZ3Ro
KCkgKiBzaXplb2YoVUNoYXIpKTsKKyAgICBtZW1jcHkobV9kYXRhU3RhcnQxNi5nZXQoKSArIG1f
cGFyc2VkVGV4dFByZWZpeExlbmd0aCwgc3RyaW5nLmNoYXJhY3RlcnMoKSwgc3RyaW5nTGVuZ3Ro
ICogc2l6ZW9mKFVDaGFyKSk7CiAKLSAgICB1bnNpZ25lZCBzdGFydCA9IG1fcGFyc2VkVGV4dFBy
ZWZpeExlbmd0aCArIHN0cmluZy5sZW5ndGgoKTsKKyAgICB1bnNpZ25lZCBzdGFydCA9IG1fcGFy
c2VkVGV4dFByZWZpeExlbmd0aCArIHN0cmluZ0xlbmd0aDsKICAgICB1bnNpZ25lZCBlbmQgPSBz
dGFydCArIHN0cmxlbihzdWZmaXgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IHN0YXJ0OyBpIDwg
ZW5kOyBpKyspCi0gICAgICAgIG1fZGF0YVN0YXJ0W2ldID0gc3VmZml4W2kgLSBzdGFydF07Cisg
ICAgICAgIG1fZGF0YVN0YXJ0MTZbaV0gPSBzdWZmaXhbaSAtIHN0YXJ0XTsKIAotICAgIG1fZGF0
YVN0YXJ0W2xlbmd0aCAtIDFdID0gMDsKKyAgICBtX2RhdGFTdGFydDE2W2xlbmd0aCAtIDFdID0g
MDsKIAotICAgIG1fY3VycmVudENoYXJhY3RlciA9IG1fdG9rZW5TdGFydCA9IG1fZGF0YVN0YXJ0
LmdldCgpOworICAgIG1faXM4Qml0U291cmNlID0gZmFsc2U7CisgICAgbV9jdXJyZW50Q2hhcmFj
dGVyOCA9IDA7CisgICAgbV9jdXJyZW50Q2hhcmFjdGVyMTYgPSBtX2RhdGFTdGFydDE2LmdldCgp
OworICAgIHNldFRva2VuU3RhcnQ8VUNoYXI+KG1fY3VycmVudENoYXJhY3RlcjE2KTsKKyAgICBt
X2xlbmd0aCA9IGxlbmd0aDsKKyAgICBtX2xleEZ1bmMgPSAmQ1NTUGFyc2VyOjpyZWFsTGV4PFVD
aGFyPjsKIH0KIAogdm9pZCBDU1NQYXJzZXI6OnBhcnNlU2hlZXQoU3R5bGVTaGVldENvbnRlbnRz
KiBzaGVldCwgY29uc3QgU3RyaW5nJiBzdHJpbmcsIGludCBzdGFydExpbmVOdW1iZXIsIFJ1bGVT
b3VyY2VEYXRhTGlzdCogcnVsZVNvdXJjZURhdGFSZXN1bHQpCkBAIC0zOTAsOCArNDQ2LDcgQEAg
c3RhdGljIGJvb2wgcGFyc2VDb2xvclZhbHVlKFN0eWxlUHJvcGVydAogICAgIGlmICghaXNDb2xv
clByb3BlcnR5SUQocHJvcGVydHlJZCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBDU1NQ
YXJzZXJTdHJpbmcgY3NzU3RyaW5nOwotICAgIGNzc1N0cmluZy5jaGFyYWN0ZXJzID0gY29uc3Rf
Y2FzdDxVQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpOwotICAgIGNzc1N0cmluZy5sZW5ndGgg
PSBzdHJpbmcubGVuZ3RoKCk7CisgICAgY3NzU3RyaW5nLmluaXQoc3RyaW5nKTsKICAgICBpbnQg
dmFsdWVJRCA9IGNzc1ZhbHVlS2V5d29yZElEKGNzc1N0cmluZyk7CiAgICAgYm9vbCB2YWxpZFBy
aW1pdGl2ZSA9IGZhbHNlOwogICAgIGlmICh2YWx1ZUlEID09IENTU1ZhbHVlV2Via2l0VGV4dCkK
QEAgLTQ2NCw4ICs1MTksOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTaW1wbGVMZW5ndGhQcm9w
ZXJ0CiAgICAgfQogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhclR5cGU+Ci1zdGF0aWMgaW5s
aW5lIGJvb2wgcGFyc2VTaW1wbGVMZW5ndGgoY29uc3QgQ2hhclR5cGUqIGNoYXJhY3RlcnMsIHVu
c2lnbmVkJiBsZW5ndGgsIENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMmIHVuaXQsIGRvdWJs
ZSYgbnVtYmVyKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5s
aW5lIGJvb2wgcGFyc2VTaW1wbGVMZW5ndGgoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVy
cywgdW5zaWduZWQmIGxlbmd0aCwgQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyYgdW5pdCwg
ZG91YmxlJiBudW1iZXIpCiB7CiAgICAgaWYgKGxlbmd0aCA+IDIgJiYgKGNoYXJhY3RlcnNbbGVu
Z3RoIC0gMl0gfCAweDIwKSA9PSAncCcgJiYgKGNoYXJhY3RlcnNbbGVuZ3RoIC0gMV0gfCAweDIw
KSA9PSAneCcpIHsKICAgICAgICAgbGVuZ3RoIC09IDI7CkBAIC0xMDE3LDggKzEwNzIsNyBAQCBz
dGF0aWMgYm9vbCBwYXJzZUtleXdvcmRWYWx1ZShTdHlsZVByb3BlCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIENTU1BhcnNlclN0cmluZyBjc3NTdHJpbmc7Ci0gICAgY3NzU3RyaW5nLmNo
YXJhY3RlcnMgPSBjb25zdF9jYXN0PFVDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSk7Ci0gICAg
Y3NzU3RyaW5nLmxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAgICBjc3NTdHJpbmcuaW5pdChz
dHJpbmcpOwogICAgIGludCB2YWx1ZUlEID0gY3NzVmFsdWVLZXl3b3JkSUQoY3NzU3RyaW5nKTsK
IAogICAgIGlmICghdmFsdWVJRCkKQEAgLTEwMzgsOCArMTA5Miw4IEBAIHN0YXRpYyBib29sIHBh
cnNlS2V5d29yZFZhbHVlKFN0eWxlUHJvcGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdGVtcGxh
dGUgPHR5cGVuYW1lIENoYXJUeXBlPgotc3RhdGljIGJvb2wgcGFyc2VUcmFuc2Zvcm1Bcmd1bWVu
dHMoV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUqIHRyYW5zZm9ybVZhbHVlLCBDaGFyVHlwZSogY2hh
cmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZXhwZWN0
ZWRDb3VudCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGJvb2wg
cGFyc2VUcmFuc2Zvcm1Bcmd1bWVudHMoV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUqIHRyYW5zZm9y
bVZhbHVlLCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2ln
bmVkIHN0YXJ0LCB1bnNpZ25lZCBleHBlY3RlZENvdW50KQogewogICAgIHdoaWxlIChleHBlY3Rl
ZENvdW50KSB7CiAgICAgICAgIHNpemVfdCBlbmQgPSBXVEY6OmZpbmQoY2hhcmFjdGVycywgbGVu
Z3RoLCBleHBlY3RlZENvdW50ID09IDEgPyAnKScgOiAnLCcsIHN0YXJ0KTsKQEAgLTEyMjIsOCAr
MTI3Niw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVN5c3RlbUNvbG9yKFJHQkEzMiYKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgQ1NTUGFyc2VyU3RyaW5nIGNzc0NvbG9yOwotICAgIGNz
c0NvbG9yLmNoYXJhY3RlcnMgPSBjb25zdF9jYXN0PFVDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMo
KSk7Ci0gICAgY3NzQ29sb3IubGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOworICAgIGNzc0NvbG9y
LmluaXQoc3RyaW5nKTsKICAgICBpbnQgaWQgPSBjc3NWYWx1ZUtleXdvcmRJRChjc3NDb2xvcik7
CiAgICAgaWYgKGlkIDw9IDApCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTMwNjYsNyArMzEx
OSw3IEBAIHZvaWQgQ1NTUGFyc2VyOjpzdG9yZVZhcmlhYmxlRGVjbGFyYXRpb24KICAgICAgICAg
cmV0dXJuOwogICAgIAogICAgIEFTU0VSVChuYW1lLmxlbmd0aCA+IDEyKTsKLSAgICBBdG9taWNT
dHJpbmcgdmFyaWFibGVOYW1lID0gU3RyaW5nKG5hbWUuY2hhcmFjdGVycyArIDEyLCBuYW1lLmxl
bmd0aCAtIDEyKTsKKyAgICBBdG9taWNTdHJpbmcgdmFyaWFibGVOYW1lID0gbmFtZS5pczhCaXQo
KSA/IFN0cmluZyhuYW1lLmNoYXJhY3RlcnM4KCkgKyAxMiwgbmFtZS5sZW5ndGgoKSAtIDEyKSA6
IFN0cmluZyhuYW1lLmNoYXJhY3RlcnMxNigpICsgMTIsIG5hbWUubGVuZ3RoKCkgLSAxMik7CiAK
ICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgc2l6
ZSA9IHZhbHVlLT5zaXplKCk7IGkgPCBzaXplOyBpKyspIHsKQEAgLTQ4NDMsNyArNDg5NiwxMyBA
QCBwdWJsaWM6CiAgICAgewogICAgICAgICBpZiAoIW1fYnVpbGRlci5pc0VtcHR5KCkpCiAgICAg
ICAgICAgICBtX2J1aWxkZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAgIG1fYnVpbGRlci5hcHBlbmQo
c3RyaW5nLmNoYXJhY3RlcnMsIHN0cmluZy5sZW5ndGgpOworCisgICAgICAgIGlmIChzdHJpbmcu
aXM4Qml0KCkpIHsKKyAgICAgICAgICAgIG1fYnVpbGRlci5hcHBlbmQoc3RyaW5nLmNoYXJhY3Rl
cnM4KCksIHN0cmluZy5sZW5ndGgoKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KworICAgICAgICBtX2J1aWxkZXIuYXBwZW5kKHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgc3RyaW5n
Lmxlbmd0aCgpKTsKICAgICB9CiAKICAgICB2b2lkIGNvbW1pdCgpCkBAIC03MjA3LDEwICs3MjY2
LDEwIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VJbWEKIGNsYXNzIFRy
YW5zZm9ybU9wZXJhdGlvbkluZm8gewogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbklu
Zm8oY29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBuYW1lKQotICAgIDogbV90eXBlKFdlYktpdENTU1Ry
YW5zZm9ybVZhbHVlOjpVbmtub3duVHJhbnNmb3JtT3BlcmF0aW9uKQotICAgICwgbV9hcmdDb3Vu
dCgxKQotICAgICwgbV9hbGxvd1NpbmdsZUFyZ3VtZW50KGZhbHNlKQotICAgICwgbV91bml0KENT
U1BhcnNlcjo6RlVua25vd24pCisgICAgICAgIDogbV90eXBlKFdlYktpdENTU1RyYW5zZm9ybVZh
bHVlOjpVbmtub3duVHJhbnNmb3JtT3BlcmF0aW9uKQorICAgICAgICAsIG1fYXJnQ291bnQoMSkK
KyAgICAgICAgLCBtX2FsbG93U2luZ2xlQXJndW1lbnQoZmFsc2UpCisgICAgICAgICwgbV91bml0
KENTU1BhcnNlcjo6RlVua25vd24pCiAgICAgewogICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nh
c2UobmFtZSwgInNjYWxlKCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJzY2FsZXgoIikg
fHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInNjYWxleSgiKSB8fCBlcXVhbElnbm9yaW5nQ2Fz
ZShuYW1lLCAic2NhbGV6KCIpKSB7CiAgICAgICAgICAgICBtX3VuaXQgPSBDU1NQYXJzZXI6OkZO
dW1iZXI7CkBAIC04MTUyLDExICs4MjExLDExIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZvbnRG
ZWF0dXJlVGFnKENTU1YKICAgICAvLyBGZWF0dXJlIHRhZyBuYW1lIGNvbWVzIGZpcnN0CiAgICAg
aWYgKHZhbHVlLT51bml0ICE9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfU1RSSU5HKQogICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKHZhbHVlLT5zdHJpbmcubGVuZ3RoICE9IHRhZ05hbWVM
ZW5ndGgpCisgICAgaWYgKHZhbHVlLT5zdHJpbmcubGVuZ3RoKCkgIT0gdGFnTmFtZUxlbmd0aCkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgdGFnTmFtZUxl
bmd0aDsgKytpKSB7CiAgICAgICAgIC8vIExpbWl0cyB0aGUgcmFuZ2Ugb2YgY2hhcmFjdGVycyB0
byAweDIwLTB4N0UsIGZvbGxvd2luZyB0aGUgdGFnIG5hbWUgcnVsZXMgZGVmaWVuZCBpbiB0aGUg
T3BlblR5cGUgc3BlY2lmaWNhdGlvbi4KLSAgICAgICAgVUNoYXIgY2hhcmFjdGVyID0gdmFsdWUt
PnN0cmluZy5jaGFyYWN0ZXJzW2ldOworICAgICAgICBVQ2hhciBjaGFyYWN0ZXIgPSB2YWx1ZS0+
c3RyaW5nW2ldOwogICAgICAgICBpZiAoY2hhcmFjdGVyIDwgMHgyMCB8fCBjaGFyYWN0ZXIgPiAw
eDdFKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KQEAgLTg0MzcsMzAgKzg0OTYs
MzUgQEAgc3RhdGljIGNvbnN0IENoYXJhY3RlclR5cGUgdHlwZXNPZkFTQ0lJQwogCiAvLyBVdGls
aXR5IGZ1bmN0aW9ucyBmb3IgdGhlIENTUyB0b2tlbml6ZXIuCiAKLXN0YXRpYyBpbmxpbmUgYm9v
bCBpc0NTU0xldHRlcihVQ2hhciBjaGFyYWN0ZXIpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFj
dGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgYm9vbCBpc0NTU0xldHRlcihDaGFyYWN0ZXJUeXBlIGNo
YXJhY3RlcikKIHsKICAgICByZXR1cm4gY2hhcmFjdGVyID49IDEyOCB8fCB0eXBlc09mQVNDSUlD
aGFyYWN0ZXJzW2NoYXJhY3Rlcl0gPD0gQ2hhcmFjdGVyRGFzaDsKIH0KIAotc3RhdGljIGlubGlu
ZSBib29sIGlzQ1NTRXNjYXBlKFVDaGFyIGNoYXJhY3RlcikKK3RlbXBsYXRlIDx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGlzQ1NTRXNjYXBlKENoYXJhY3RlclR5
cGUgY2hhcmFjdGVyKQogewogICAgIHJldHVybiBjaGFyYWN0ZXIgPj0gJyAnICYmIGNoYXJhY3Rl
ciAhPSAxMjc7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1VSSUxldHRlcihVQ2hhciBjaGFy
YWN0ZXIpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUg
Ym9vbCBpc1VSSUxldHRlcihDaGFyYWN0ZXJUeXBlIGNoYXJhY3RlcikKIHsKICAgICByZXR1cm4g
KGNoYXJhY3RlciA+PSAnKicgJiYgY2hhcmFjdGVyICE9IDEyNykgfHwgKGNoYXJhY3RlciA+PSAn
IycgJiYgY2hhcmFjdGVyIDw9ICcmJykgfHwgY2hhcmFjdGVyID09ICchJzsKIH0KIAotc3RhdGlj
IGlubGluZSBib29sIGlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNoKFVDaGFyKiBjdXJyZW50Q2hh
cmFjdGVyKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5l
IGJvb2wgaXNJZGVudGlmaWVyU3RhcnRBZnRlckRhc2goQ2hhcmFjdGVyVHlwZSogY3VycmVudENo
YXJhY3RlcikKIHsKICAgICByZXR1cm4gaXNBU0NJSUFscGhhKGN1cnJlbnRDaGFyYWN0ZXJbMF0p
IHx8IGN1cnJlbnRDaGFyYWN0ZXJbMF0gPT0gJ18nIHx8IGN1cnJlbnRDaGFyYWN0ZXJbMF0gPj0g
MTI4CiAgICAgICAgIHx8IChjdXJyZW50Q2hhcmFjdGVyWzBdID09ICdcXCcgJiYgaXNDU1NFc2Nh
cGUoY3VycmVudENoYXJhY3RlclsxXSkpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNFcXVh
bFRvQ1NTSWRlbnRpZmllcihVQ2hhciogY3NzU3RyaW5nLCBjb25zdCBjaGFyKiBjb25zdGFudFN0
cmluZykKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBi
b29sIGlzRXF1YWxUb0NTU0lkZW50aWZpZXIoQ2hhcmFjdGVyVHlwZSogY3NzU3RyaW5nLCBjb25z
dCBjaGFyKiBjb25zdGFudFN0cmluZykKIHsKLSAgICAvLyBDb21wYXJlIGFuIFVDaGFyIG1lbW9y
eSBkYXRhIHdpdGggYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nLgorICAgIC8vIENvbXBhcmUgYW4g
Y2hhcmFjdGVyIG1lbW9yeSBkYXRhIHdpdGggYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nLgogICAg
IGRvIHsKICAgICAgICAgLy8gVGhlIGlucHV0IG11c3QgYmUgcGFydCBvZiBhbiBpZGVudGlmaWVy
IGlmIGNvbnN0YW50Q2hhciBvciBjb25zdFN0cmluZwogICAgICAgICAvLyBjb250YWlucyAnLScu
IE90aGVyd2lzZSB0b0FTQ0lJTG93ZXJVbmNoZWNrZWQoJ1xyJykgd291bGQgYmUgZXF1YWwgdG8g
Jy0nLgpAQCAtODQ3Miw3ICs4NTM2LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzRXF1YWxUb0NT
U0lkZW50aWZpZQogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgVUNoYXIqIGNoZWNrQW5k
U2tpcEVzY2FwZShVQ2hhciogY3VycmVudENoYXJhY3RlcikKK3RlbXBsYXRlIDx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPgorc3RhdGljIENoYXJhY3RlclR5cGUqIGNoZWNrQW5kU2tpcEVzY2FwZShD
aGFyYWN0ZXJUeXBlKiBjdXJyZW50Q2hhcmFjdGVyKQogewogICAgIC8vIFJldHVybnMgd2l0aCAw
LCBpZiBlc2NhcGUgY2hlY2sgaXMgZmFpbGVkLiBPdGhlcndpc2UKICAgICAvLyBpdCByZXR1cm5z
IHdpdGggdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXIuCkBAIC04NDk3LDcgKzg1NjIsOCBAQCBzdGF0
aWMgVUNoYXIqIGNoZWNrQW5kU2tpcEVzY2FwZShVQ2hhciogCiAgICAgcmV0dXJuIGN1cnJlbnRD
aGFyYWN0ZXIgKyAxOwogfQogCi1zdGF0aWMgaW5saW5lIFVDaGFyKiBza2lwV2hpdGVTcGFjZShV
Q2hhciogY3VycmVudENoYXJhY3RlcikKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBl
Pgorc3RhdGljIGlubGluZSBDaGFyYWN0ZXJUeXBlKiBza2lwV2hpdGVTcGFjZShDaGFyYWN0ZXJU
eXBlKiBjdXJyZW50Q2hhcmFjdGVyKQogewogICAgIHdoaWxlIChpc0hUTUxTcGFjZSgqY3VycmVu
dENoYXJhY3RlcikpCiAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjsKQEAgLTg1MDYsMTMgKzg1
NzIsNTYgQEAgc3RhdGljIGlubGluZSBVQ2hhciogc2tpcFdoaXRlU3BhY2UoVUNoYQogCiAvLyBN
YWluIENTUyB0b2tlbml6ZXIgZnVuY3Rpb25zLgogCit0ZW1wbGF0ZSA8PgorTENoYXIqIENTU1Bh
cnNlclN0cmluZzo6Y2hhcmFjdGVyczxMQ2hhcj4oKSBjb25zdCB7IHJldHVybiBjaGFyYWN0ZXJz
OCgpOyB9CisKK3RlbXBsYXRlIDw+CitVQ2hhciogQ1NTUGFyc2VyU3RyaW5nOjpjaGFyYWN0ZXJz
PFVDaGFyPigpIGNvbnN0IHsgcmV0dXJuIGNoYXJhY3RlcnMxNigpOyB9CisKK3RlbXBsYXRlIDw+
CitpbmxpbmUgTENoYXIqJiBDU1NQYXJzZXI6OmN1cnJlbnRDaGFyYWN0ZXI8TENoYXI+KCkKK3sK
KyAgICByZXR1cm4gbV9jdXJyZW50Q2hhcmFjdGVyODsKK30KKwordGVtcGxhdGUgPD4KK2lubGlu
ZSBVQ2hhciomIENTU1BhcnNlcjo6Y3VycmVudENoYXJhY3RlcjxVQ2hhcj4oKQoreworICAgIHJl
dHVybiBtX2N1cnJlbnRDaGFyYWN0ZXIxNjsKK30KKworVUNoYXIqJgorQ1NTUGFyc2VyOjpjdXJy
ZW50Q2hhcmFjdGVyMTYoKQoreworICAgIGlmICghbV9jdXJyZW50Q2hhcmFjdGVyMTYpIHsKKyAg
ICAgICAgbV9kYXRhU3RhcnQxNiA9IGFkb3B0QXJyYXlQdHIobmV3IFVDaGFyW21fbGVuZ3RoXSk7
CisgICAgICAgIG1fY3VycmVudENoYXJhY3RlcjE2ID0gbV9kYXRhU3RhcnQxNi5nZXQoKTsKKyAg
ICB9CisKKyAgICByZXR1cm4gbV9jdXJyZW50Q2hhcmFjdGVyMTY7Cit9CisKK3RlbXBsYXRlIDw+
CitpbmxpbmUgTENoYXIqIENTU1BhcnNlcjo6dG9rZW5TdGFydDxMQ2hhcj4oKQoreworICAgIHJl
dHVybiBtX3Rva2VuU3RhcnQucHRyODsKK30KKwordGVtcGxhdGUgPD4KK2lubGluZSBVQ2hhciog
Q1NTUGFyc2VyOjp0b2tlblN0YXJ0PFVDaGFyPigpCit7CisgICAgcmV0dXJuIG1fdG9rZW5TdGFy
dC5wdHIxNjsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiBpbmxpbmUg
Ym9vbCBDU1NQYXJzZXI6OmlzSWRlbnRpZmllclN0YXJ0KCkKIHsKICAgICAvLyBDaGVjayB3aGV0
aGVyIGFuIGlkZW50aWZpZXIgaXMgc3RhcnRlZC4KLSAgICByZXR1cm4gaXNJZGVudGlmaWVyU3Rh
cnRBZnRlckRhc2goKCptX2N1cnJlbnRDaGFyYWN0ZXIgIT0gJy0nKSA/IG1fY3VycmVudENoYXJh
Y3RlciA6IG1fY3VycmVudENoYXJhY3RlciArIDEpOworICAgIHJldHVybiBpc0lkZW50aWZpZXJT
dGFydEFmdGVyRGFzaCgoKmN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSAhPSAnLScp
ID8gY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpIDogY3VycmVudENoYXJhY3RlcjxD
aGFyYWN0ZXJUeXBlPigpICsgMSk7CiB9CiAKLWlubGluZSBVQ2hhciogQ1NTUGFyc2VyOjpjaGVj
a0FuZFNraXBTdHJpbmcoVUNoYXIqIGN1cnJlbnRDaGFyYWN0ZXIsIFVDaGFyIHF1b3RlKQordGVt
cGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitpbmxpbmUgQ2hhcmFjdGVyVHlwZSogQ1NT
UGFyc2VyOjpjaGVja0FuZFNraXBTdHJpbmcoQ2hhcmFjdGVyVHlwZSogY3VycmVudENoYXJhY3Rl
ciwgaW50IHF1b3RlKQogewogICAgIC8vIFJldHVybnMgd2l0aCAwLCBpZiBzdHJpbmcgY2hlY2sg
aXMgZmFpbGVkLiBPdGhlcndpc2UKICAgICAvLyBpdCByZXR1cm5zIHdpdGggdGhlIGZvbGxvd2lu
ZyBjaGFyYWN0ZXIuIFRoaXMgaXMgbmVjZXNzYXJ5CkBAIC04NTQ2LDEwMSArODY1NSwxOTQgQEAg
aW5saW5lIFVDaGFyKiBDU1NQYXJzZXI6OmNoZWNrQW5kU2tpcFN0cgogICAgIH0KIH0KIAotdm9p
ZCBDU1NQYXJzZXI6OnBhcnNlRXNjYXBlKFVDaGFyKiYgcmVzdWx0KQordGVtcGxhdGUgPHR5cGVu
YW1lIENoYXJhY3RlclR5cGU+Cit1bnNpZ25lZCBDU1NQYXJzZXI6OnBhcnNlRXNjYXBlKENoYXJh
Y3RlclR5cGUqJiBzcmMpCiB7Ci0gICAgQVNTRVJUKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJ1xc
JyAmJiBpc0NTU0VzY2FwZShtX2N1cnJlbnRDaGFyYWN0ZXJbMV0pKTsKKyAgICBBU1NFUlQoKnNy
YyA9PSAnXFwnICYmIGlzQ1NTRXNjYXBlKHNyY1sxXSkpOworCisgICAgdW5zaWduZWQgdW5pY29k
ZSA9IDA7CisKKyAgICArK3NyYzsKKyAgICBpZiAoaXNBU0NJSUhleERpZ2l0KCpzcmMpKSB7CiAK
LSAgICArK21fY3VycmVudENoYXJhY3RlcjsKLSAgICBpZiAoaXNBU0NJSUhleERpZ2l0KCptX2N1
cnJlbnRDaGFyYWN0ZXIpKSB7Ci0gICAgICAgIHVuc2lnbmVkIHVuaWNvZGUgPSAwOwogICAgICAg
ICBpbnQgbGVuZ3RoID0gNjsKIAogICAgICAgICBkbyB7Ci0gICAgICAgICAgICB1bmljb2RlID0g
KHVuaWNvZGUgPDwgNCkgKyB0b0FTQ0lJSGV4VmFsdWUoKm1fY3VycmVudENoYXJhY3RlcisrKTsK
LSAgICAgICAgfSB3aGlsZSAoLS1sZW5ndGggJiYgaXNBU0NJSUhleERpZ2l0KCptX2N1cnJlbnRD
aGFyYWN0ZXIpKTsKKyAgICAgICAgICAgIHVuaWNvZGUgPSAodW5pY29kZSA8PCA0KSArIHRvQVND
SUlIZXhWYWx1ZSgqc3JjKyspOworICAgICAgICB9IHdoaWxlICgtLWxlbmd0aCAmJiBpc0FTQ0lJ
SGV4RGlnaXQoKnNyYykpOwogCiAgICAgICAgIC8vIENoYXJhY3RlcnMgYWJvdmUgMHgxMGZmZmYg
YXJlIG5vdCBoYW5kbGVkLgogICAgICAgICBpZiAodW5pY29kZSA+IDB4MTBmZmZmKQogICAgICAg
ICAgICAgdW5pY29kZSA9IDB4ZmZmZDsKIAogICAgICAgICAvLyBPcHRpb25hbCBzcGFjZSBhZnRl
ciB0aGUgZXNjYXBlIHNlcXVlbmNlLgotICAgICAgICBpZiAoaXNIVE1MU3BhY2UoKm1fY3VycmVu
dENoYXJhY3RlcikpCi0gICAgICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAg
aWYgKGlzSFRNTFNwYWNlKCpzcmMpKQorICAgICAgICAgICAgKytzcmM7CiAKLSAgICAgICAgLy8g
UmVwbGFjZSB1bmljb2RlIHdpdGggYSBzdXJyb2dhdGUgcGFpcnMgd2hlbiBpdCBpcyBiaWdnZXIg
dGhhbiAweGZmZmYKLSAgICAgICAgaWYgKFUxNl9MRU5HVEgodW5pY29kZSkgPT0gMikgewotICAg
ICAgICAgICAgKnJlc3VsdCsrID0gVTE2X0xFQUQodW5pY29kZSk7Ci0gICAgICAgICAgICAqcmVz
dWx0ID0gVTE2X1RSQUlMKHVuaWNvZGUpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICpy
ZXN1bHQgPSB1bmljb2RlOworICAgICAgICByZXR1cm4gdW5pY29kZTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gKmN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSsrOworfQorCit0ZW1wbGF0
ZSA8PgoraW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpVbmljb2RlVG9DaGFyczxMQ2hhcj4oTENoYXIq
JiByZXN1bHQsIHVuc2lnbmVkIHVuaWNvZGUpCit7CisgICAgQVNTRVJUKHVuaWNvZGUgPD0gMHhm
Zik7CisgICAgKnJlc3VsdCA9IHVuaWNvZGU7CisKKyAgICArK3Jlc3VsdDsKK30KKwordGVtcGxh
dGUgPD4KK2lubGluZSB2b2lkIENTU1BhcnNlcjo6VW5pY29kZVRvQ2hhcnM8VUNoYXI+KFVDaGFy
KiYgcmVzdWx0LCB1bnNpZ25lZCB1bmljb2RlKQoreworICAgIC8vIFJlcGxhY2UgdW5pY29kZSB3
aXRoIGEgc3Vycm9nYXRlIHBhaXJzIHdoZW4gaXQgaXMgYmlnZ2VyIHRoYW4gMHhmZmZmCisgICAg
aWYgKFUxNl9MRU5HVEgodW5pY29kZSkgPT0gMikgeworICAgICAgICAqcmVzdWx0KysgPSBVMTZf
TEVBRCh1bmljb2RlKTsKKyAgICAgICAgKnJlc3VsdCA9IFUxNl9UUkFJTCh1bmljb2RlKTsKICAg
ICB9IGVsc2UKLSAgICAgICAgKnJlc3VsdCA9ICptX2N1cnJlbnRDaGFyYWN0ZXIrKzsKKyAgICAg
ICAgKnJlc3VsdCA9IHVuaWNvZGU7CisKICAgICArK3Jlc3VsdDsKIH0KIAotaW5saW5lIHZvaWQg
Q1NTUGFyc2VyOjpwYXJzZUlkZW50aWZpZXIoVUNoYXIqJiByZXN1bHQsIGJvb2wmIGhhc0VzY2Fw
ZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBTcmNDaGFyYWN0ZXJUeXBlLCB0eXBlbmFtZSBEZXN0Q2hh
cmFjdGVyVHlwZT4KK2lubGluZSBib29sIENTU1BhcnNlcjo6cGFyc2VJZGVudGlmaWVySW50ZXJu
YWwoU3JjQ2hhcmFjdGVyVHlwZSomIHNyYywgRGVzdENoYXJhY3RlclR5cGUqJiByZXN1bHQsIGJv
b2wmIGhhc0VzY2FwZSkKIHsKLSAgICAvLyBJZiBhIHZhbGlkIGlkZW50aWZpZXIgc3RhcnQgaXMg
Zm91bmQsIHdlIGNhbiBzYWZlbHkKLSAgICAvLyBwYXJzZSB0aGUgaWRlbnRpZmllciB1bnRpbCB0
aGUgbmV4dCBpbnZhbGlkIGNoYXJhY3Rlci4KLSAgICBBU1NFUlQoaXNJZGVudGlmaWVyU3RhcnQo
KSk7CiAgICAgaGFzRXNjYXBlID0gZmFsc2U7CiAgICAgZG8gewotICAgICAgICBpZiAoTElLRUxZ
KCptX2N1cnJlbnRDaGFyYWN0ZXIgIT0gJ1xcJykpCi0gICAgICAgICAgICAqcmVzdWx0KysgPSAq
bV9jdXJyZW50Q2hhcmFjdGVyKys7CisgICAgICAgIGlmIChMSUtFTFkoKnNyYyAhPSAnXFwnKSkK
KyAgICAgICAgICAgICpyZXN1bHQrKyA9ICpzcmMrKzsKICAgICAgICAgZWxzZSB7CiAgICAgICAg
ICAgICBoYXNFc2NhcGUgPSB0cnVlOwotICAgICAgICAgICAgcGFyc2VFc2NhcGUocmVzdWx0KTsK
KyAgICAgICAgICAgIFNyY0NoYXJhY3RlclR5cGUqIHNhdmVkRXNjYXBlU3RhcnQgPSBzcmM7Cisg
ICAgICAgICAgICB1bnNpZ25lZCB1bmljb2RlID0gcGFyc2VFc2NhcGU8U3JjQ2hhcmFjdGVyVHlw
ZT4oc3JjKTsKKyAgICAgICAgICAgIGlmICh1bmljb2RlID4gMHhmZiAmJiBzaXplb2YoRGVzdENo
YXJhY3RlclR5cGUpID09IDEpIHsKKyAgICAgICAgICAgICAgICBzcmMgPSBzYXZlZEVzY2FwZVN0
YXJ0OworICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIFVuaWNvZGVUb0NoYXJzKHJlc3VsdCwgdW5pY29kZSk7CiAgICAgICAgIH0KLSAgICB9
IHdoaWxlIChpc0NTU0xldHRlcihtX2N1cnJlbnRDaGFyYWN0ZXJbMF0pIHx8IChtX2N1cnJlbnRD
aGFyYWN0ZXJbMF0gPT0gJ1xcJyAmJiBpc0NTU0VzY2FwZShtX2N1cnJlbnRDaGFyYWN0ZXJbMV0p
KSk7CisgICAgfSB3aGlsZSAoaXNDU1NMZXR0ZXIoc3JjWzBdKSB8fCAoc3JjWzBdID09ICdcXCcg
JiYgaXNDU1NFc2NhcGUoc3JjWzFdKSkpOworCisgICAgcmV0dXJuIHRydWU7CiB9CiAKLWlubGlu
ZSB2b2lkIENTU1BhcnNlcjo6cGFyc2VTdHJpbmcoVUNoYXIqJiByZXN1bHQsIFVDaGFyIHF1b3Rl
KQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitpbmxpbmUgdm9pZCBDU1NQYXJz
ZXI6OnBhcnNlSWRlbnRpZmllcihDaGFyYWN0ZXJUeXBlKiYgcmVzdWx0LCBDU1NQYXJzZXJTdHJp
bmcmIHJlc3VsdFN0cmluZywgYm9vbCYgaGFzRXNjYXBlKQoreworICAgIC8vIElmIGEgdmFsaWQg
aWRlbnRpZmllciBzdGFydCBpcyBmb3VuZCwgd2UgY2FuIHNhZmVseQorICAgIC8vIHBhcnNlIHRo
ZSBpZGVudGlmaWVyIHVudGlsIHRoZSBuZXh0IGludmFsaWQgY2hhcmFjdGVyLgorICAgIEFTU0VS
VChpc0lkZW50aWZpZXJTdGFydDxDaGFyYWN0ZXJUeXBlPigpKTsKKworICAgIENoYXJhY3RlclR5
cGUqIHN0YXJ0ID0gY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpOworICAgIGlmIChV
TkxJS0VMWSghcGFyc2VJZGVudGlmaWVySW50ZXJuYWwoY3VycmVudENoYXJhY3RlcjxDaGFyYWN0
ZXJUeXBlPigpLCByZXN1bHQsIGhhc0VzY2FwZSkpKSB7CisgICAgICAgIC8vIEZvdW5kIGFuIGVz
Y2FwZSB3ZSBjb3VsZG4ndCBoYW5kbGUgd2l0aCA4IGJpdHMsIGNvcHkgd2hhdCBoYXMgYmVlbiBy
ZWNvZ25pemVkIGFuZCBjb250aW51ZQorICAgICAgICBBU1NFUlQoaXM4Qml0U291cmNlKCkpOwor
ICAgICAgICBVQ2hhciomIHJlc3VsdDE2ID0gY3VycmVudENoYXJhY3RlcjE2KCk7CisgICAgICAg
IFVDaGFyKiBzdGFydDE2ID0gcmVzdWx0MTY7CisgICAgICAgIGludCBpID0gMDsKKyAgICAgICAg
Zm9yICg7IGkgPCByZXN1bHQgLSBzdGFydDsgaSsrKQorICAgICAgICAgICAgcmVzdWx0MTZbaV0g
PSBzdGFydFtpXTsKKworICAgICAgICByZXN1bHQxNiArPSBpOworCisgICAgICAgIHBhcnNlSWRl
bnRpZmllckludGVybmFsKGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSwgcmVzdWx0
MTYsIGhhc0VzY2FwZSk7CisKKyAgICAgICAgcmVzdWx0U3RyaW5nLmluaXQoc3RhcnQxNiwgcmVz
dWx0MTYgLSBzdGFydDE2KTsKKworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgcmVzdWx0
U3RyaW5nLmluaXQoc3RhcnQsIHJlc3VsdCAtIHN0YXJ0KTsKK30KKwordGVtcGxhdGUgPHR5cGVu
YW1lIFNyY0NoYXJhY3RlclR5cGUsIHR5cGVuYW1lIERlc3RDaGFyYWN0ZXJUeXBlPgoraW5saW5l
IGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVN0cmluZ0ludGVybmFsKFNyY0NoYXJhY3RlclR5cGUqJiBz
cmMsIERlc3RDaGFyYWN0ZXJUeXBlKiYgcmVzdWx0LCBVQ2hhciBxdW90ZSkKIHsKICAgICB3aGls
ZSAodHJ1ZSkgewotICAgICAgICBpZiAoVU5MSUtFTFkoKm1fY3VycmVudENoYXJhY3RlciA9PSBx
dW90ZSkpIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKCpzcmMgPT0gcXVvdGUpKSB7CiAgICAgICAg
ICAgICAvLyBTdHJpbmcgcGFyc2luZyBpcyBkb25lLgotICAgICAgICAgICAgKyttX2N1cnJlbnRD
aGFyYWN0ZXI7Ci0gICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICArK3NyYzsKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9Ci0gICAgICAgIGlmIChVTkxJS0VMWSghKm1f
Y3VycmVudENoYXJhY3RlcikpIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKCEqc3JjKSkgewogICAg
ICAgICAgICAgLy8gU3RyaW5nIHBhcnNpbmcgaXMgZG9uZSwgYnV0IGRvbid0IGFkdmFuY2UgcG9p
bnRlciBpZiBhdCB0aGUgZW5kIG9mIGlucHV0LgotICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KLSAgICAgICAgQVNTRVJUKCptX2N1cnJlbnRD
aGFyYWN0ZXIgPiAnXHInIHx8ICgqbV9jdXJyZW50Q2hhcmFjdGVyIDwgJ1xuJyAmJiAqbV9jdXJy
ZW50Q2hhcmFjdGVyKSB8fCAqbV9jdXJyZW50Q2hhcmFjdGVyID09ICdcdicpOworICAgICAgICBB
U1NFUlQoKnNyYyA+ICdccicgfHwgKCpzcmMgPCAnXG4nICYmICpzcmMpIHx8ICpzcmMgPT0gJ1x2
Jyk7CiAKLSAgICAgICAgaWYgKExJS0VMWShtX2N1cnJlbnRDaGFyYWN0ZXJbMF0gIT0gJ1xcJykp
Ci0gICAgICAgICAgICAqcmVzdWx0KysgPSAqbV9jdXJyZW50Q2hhcmFjdGVyKys7Ci0gICAgICAg
IGVsc2UgaWYgKG1fY3VycmVudENoYXJhY3RlclsxXSA9PSAnXG4nIHx8IG1fY3VycmVudENoYXJh
Y3RlclsxXSA9PSAnXGYnKQotICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyICs9IDI7Ci0g
ICAgICAgIGVsc2UgaWYgKG1fY3VycmVudENoYXJhY3RlclsxXSA9PSAnXHInKQotICAgICAgICAg
ICAgbV9jdXJyZW50Q2hhcmFjdGVyICs9IG1fY3VycmVudENoYXJhY3RlclsyXSA9PSAnXG4nID8g
MyA6IDI7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHBhcnNlRXNjYXBlKHJlc3VsdCk7Cisg
ICAgICAgIGlmIChMSUtFTFkoc3JjWzBdICE9ICdcXCcpKQorICAgICAgICAgICAgKnJlc3VsdCsr
ID0gKnNyYysrOworICAgICAgICBlbHNlIGlmIChzcmNbMV0gPT0gJ1xuJyB8fCBzcmNbMV0gPT0g
J1xmJykKKyAgICAgICAgICAgIHNyYyArPSAyOworICAgICAgICBlbHNlIGlmIChzcmNbMV0gPT0g
J1xyJykKKyAgICAgICAgICAgIHNyYyArPSBzcmNbMl0gPT0gJ1xuJyA/IDMgOiAyOworICAgICAg
ICBlbHNlIHsKKyAgICAgICAgICAgIFNyY0NoYXJhY3RlclR5cGUqIHNhdmVkRXNjYXBlU3RhcnQg
PSBzcmM7CisgICAgICAgICAgICB1bnNpZ25lZCB1bmljb2RlID0gcGFyc2VFc2NhcGU8U3JjQ2hh
cmFjdGVyVHlwZT4oc3JjKTsKKyAgICAgICAgICAgIGlmICh1bmljb2RlID4gMHhmZiAmJiBzaXpl
b2YoRGVzdENoYXJhY3RlclR5cGUpID09IDEpIHsKKyAgICAgICAgICAgICAgICBzcmMgPSBzYXZl
ZEVzY2FwZVN0YXJ0OworICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIFVuaWNvZGVUb0NoYXJzKHJlc3VsdCwgdW5pY29kZSk7CisgICAgICAg
IH0KICAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAotaW5saW5lIHZvaWQgQ1NTUGFyc2Vy
OjpwYXJzZVVSSShVQ2hhciomIHN0YXJ0LCBVQ2hhciomIHJlc3VsdCkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpwYXJzZVN0cmluZyhD
aGFyYWN0ZXJUeXBlKiYgcmVzdWx0LCBDU1NQYXJzZXJTdHJpbmcmIHJlc3VsdFN0cmluZywgVUNo
YXIgcXVvdGUpCiB7Ci0gICAgVUNoYXIqIHVyaVN0YXJ0ID0gc2tpcFdoaXRlU3BhY2UobV9jdXJy
ZW50Q2hhcmFjdGVyKTsKKyAgICBDaGFyYWN0ZXJUeXBlKiBzdGFydCA9IGN1cnJlbnRDaGFyYWN0
ZXI8Q2hhcmFjdGVyVHlwZT4oKTsKKworICAgIGlmIChVTkxJS0VMWSghcGFyc2VTdHJpbmdJbnRl
cm5hbChjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCksIHJlc3VsdCwgcXVvdGUpKSkg
eworICAgICAgICAvLyBGb3VuZCBhbiBlc2NhcGUgd2UgY291bGRuJ3QgaGFuZGxlIHdpdGggOCBi
aXRzLCBjb3B5IHdoYXQgaGFzIGJlZW4gcmVjb2duaXplZCBhbmQgY29udGludWUKKyAgICAgICAg
QVNTRVJUKGlzOEJpdFNvdXJjZSgpKTsKKyAgICAgICAgVUNoYXIqJiByZXN1bHQxNiA9IGN1cnJl
bnRDaGFyYWN0ZXIxNigpOworICAgICAgICBVQ2hhciogc3RhcnQxNiA9IHJlc3VsdDE2OworICAg
ICAgICBpbnQgaSA9IDA7CisgICAgICAgIGZvciAoOyBpIDwgcmVzdWx0IC0gc3RhcnQ7IGkrKykK
KyAgICAgICAgICAgIHJlc3VsdDE2W2ldID0gc3RhcnRbaV07CisKKyAgICAgICAgcmVzdWx0MTYg
Kz0gaTsKKworICAgICAgICBwYXJzZVN0cmluZ0ludGVybmFsKGN1cnJlbnRDaGFyYWN0ZXI8Q2hh
cmFjdGVyVHlwZT4oKSwgcmVzdWx0MTYsIHF1b3RlKTsKKworICAgICAgICByZXN1bHRTdHJpbmcu
aW5pdChzdGFydDE2LCByZXN1bHQxNiAtIHN0YXJ0MTYpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgcmVzdWx0U3RyaW5nLmluaXQoc3RhcnQsIHJlc3VsdCAtIHN0YXJ0KTsKK30KKwor
dGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitpbmxpbmUgYm9vbCBDU1NQYXJzZXI6
OnBhcnNlVVJJSW50ZXJuYWwoQ2hhcmFjdGVyVHlwZSomIHN0YXJ0LCBDaGFyYWN0ZXJUeXBlKiYg
cmVzdWx0KQoreworICAgIENoYXJhY3RlclR5cGUqIHVyaVN0YXJ0ID0gc2tpcFdoaXRlU3BhY2Uo
Y3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpKTsKKyAgICBDaGFyYWN0ZXJUeXBlKiBz
YXZlZFJlc3VsdCA9IHJlc3VsdDsKIAogICAgIGlmICgqdXJpU3RhcnQgPT0gJyInIHx8ICp1cmlT
dGFydCA9PSAnXCcnKSB7Ci0gICAgICAgIFVDaGFyIHF1b3RlID0gKnVyaVN0YXJ0OworICAgICAg
ICBDaGFyYWN0ZXJUeXBlIHF1b3RlID0gKnVyaVN0YXJ0OwogICAgICAgICArK3VyaVN0YXJ0Owog
Ci0gICAgICAgIFVDaGFyKiBzdHJpbmdFbmQgPSBjaGVja0FuZFNraXBTdHJpbmcodXJpU3RhcnQs
IHF1b3RlKTsKKyAgICAgICAgQ2hhcmFjdGVyVHlwZSogc3RyaW5nRW5kID0gY2hlY2tBbmRTa2lw
U3RyaW5nKHVyaVN0YXJ0LCBxdW90ZSk7CiAgICAgICAgIGlmICghc3RyaW5nRW5kKQotICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIHN0cmluZ0Vu
ZCA9IHNraXBXaGl0ZVNwYWNlKHN0cmluZ0VuZCk7CiAgICAgICAgIGlmICgqc3RyaW5nRW5kICE9
ICcpJykKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogCi0g
ICAgICAgIHN0YXJ0ID0gcmVzdWx0ID0gbV9jdXJyZW50Q2hhcmFjdGVyID0gdXJpU3RhcnQ7Ci0g
ICAgICAgIHBhcnNlU3RyaW5nKHJlc3VsdCwgcXVvdGUpOworICAgICAgICBzdGFydCA9IHJlc3Vs
dCA9IGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSA9IHVyaVN0YXJ0OworICAgICAg
ICBpZiAoIXBhcnNlU3RyaW5nSW50ZXJuYWwoY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBl
PigpLCByZXN1bHQsIHF1b3RlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAg
ICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBzdHJpbmdFbmQgKyAxOworICAgICAgICBjdXJyZW50Q2hh
cmFjdGVyPENoYXJhY3RlclR5cGU+KCkgPSBzdHJpbmdFbmQgKyAxOwogICAgICAgICBtX3Rva2Vu
ID0gVVJJOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIFVDaGFyKiBzdHJpbmdFbmQgPSB1cmlTdGFy
dDsKKyAgICAgICAgQ2hhcmFjdGVyVHlwZSogc3RyaW5nRW5kID0gdXJpU3RhcnQ7CiAKICAgICAg
ICAgd2hpbGUgKGlzVVJJTGV0dGVyKCpzdHJpbmdFbmQpKSB7CiAgICAgICAgICAgICBpZiAoKnN0
cmluZ0VuZCAhPSAnXFwnKQpAQCAtODY0OCw5OSArODg1MCwxMzUgQEAgaW5saW5lIHZvaWQgQ1NT
UGFyc2VyOjpwYXJzZVVSSShVQ2hhciomIAogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAg
ICAgICAgc3RyaW5nRW5kID0gY2hlY2tBbmRTa2lwRXNjYXBlKHN0cmluZ0VuZCk7CiAgICAgICAg
ICAgICAgICAgaWYgKCFzdHJpbmdFbmQpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
IAogICAgICAgICBzdHJpbmdFbmQgPSBza2lwV2hpdGVTcGFjZShzdHJpbmdFbmQpOwogICAgICAg
ICBpZiAoKnN0cmluZ0VuZCAhPSAnKScpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKIAotICAgICAgICBzdGFydCA9IHJlc3VsdCA9IG1fY3VycmVudENoYXJh
Y3RlciA9IHVyaVN0YXJ0OwotICAgICAgICB3aGlsZSAoaXNVUklMZXR0ZXIoKm1fY3VycmVudENo
YXJhY3RlcikpIHsKLSAgICAgICAgICAgIGlmIChMSUtFTFkoKm1fY3VycmVudENoYXJhY3RlciAh
PSAnXFwnKSkKLSAgICAgICAgICAgICAgICAqcmVzdWx0KysgPSAqbV9jdXJyZW50Q2hhcmFjdGVy
Kys7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcGFyc2VFc2NhcGUocmVzdWx0
KTsKKyAgICAgICAgc3RhcnQgPSByZXN1bHQgPSBjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5
cGU+KCkgPSB1cmlTdGFydDsKKyAgICAgICAgd2hpbGUgKGlzVVJJTGV0dGVyKCpjdXJyZW50Q2hh
cmFjdGVyPENoYXJhY3RlclR5cGU+KCkpKSB7CisgICAgICAgICAgICBpZiAoTElLRUxZKCpjdXJy
ZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkgIT0gJ1xcJykpCisgICAgICAgICAgICAgICAg
KnJlc3VsdCsrID0gKmN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSsrOworICAgICAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgdW5pY29kZSA9IHBhcnNlRXNj
YXBlPENoYXJhY3RlclR5cGU+KGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSk7Cisg
ICAgICAgICAgICAgICAgaWYgKHVuaWNvZGUgPiAweGZmICYmIHNpemVvZihDaGFyYWN0ZXJUeXBl
KSA9PSAxKSB7CisgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHNhdmVkUmVzdWx0OworICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIFVuaWNvZGVUb0NoYXJzKHJlc3VsdCwgdW5pY29kZSk7ICAgICAgICAgICAgfQog
ICAgICAgICB9CiAKLSAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gc3RyaW5nRW5kICsgMTsK
KyAgICAgICAgY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gc3RyaW5nRW5kICsg
MTsKICAgICAgICAgbV90b2tlbiA9IFVSSTsKICAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKIH0K
IAoraW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpwYXJzZVVSSShDU1NQYXJzZXJTdHJpbmcmIHN0cmlu
ZykKK3sKKyAgICBpZiAoc3RyaW5nLmlzOEJpdCgpKQorICAgIHsKKyAgICAgICAgTENoYXIqIHVy
aVN0YXJ0ID0gc3RyaW5nLmNoYXJhY3RlcnM8TENoYXI+KCk7CisgICAgICAgIExDaGFyKiByZXN1
bHQgPSB1cmlTdGFydCArIHN0cmluZy5sZW5ndGgoKTsKKyAgICAgICAgYm9vbCBwYXJzZVJlc3Vs
dCA9IHBhcnNlVVJJSW50ZXJuYWwodXJpU3RhcnQsIHJlc3VsdCk7CisKKyAgICAgICAgLy8gcGFy
c2VJZGVudGlmaWVyKCkgcGFyc2VkIGFuZCBjcmVhdGVkIHRoZSBzdHJpbmcsIHRoZXJlZm9yZSB0
aGVyZSBzaG91bGRuJ3QgYmUgYW55IHVuaGFuZGxlZCBlc2NhcHNlcy4KKyAgICAgICAgQVNTRVJU
X1VOVVNFRChwYXJzZVJlc3VsdCwgcGFyc2VSZXN1bHQpOworCisgICAgICAgIHN0cmluZy5pbml0
KHVyaVN0YXJ0LCByZXN1bHQgLSB1cmlTdGFydCk7CisKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIFVDaGFyKiB1cmlTdGFydCA9IHN0cmluZy5jaGFyYWN0ZXJzPFVDaGFyPigpOworICAg
IFVDaGFyKiByZXN1bHQgPSB1cmlTdGFydCArIHN0cmluZy5sZW5ndGgoKTsKKyAgICBib29sIHBh
cnNlUmVzdWx0ID0gcGFyc2VVUklJbnRlcm5hbCh1cmlTdGFydCwgcmVzdWx0KTsKKworICAgIEFT
U0VSVF9VTlVTRUQocGFyc2VSZXN1bHQsIHBhcnNlUmVzdWx0KTsgLy8gRGl0dG8KKworICAgIHN0
cmluZy5pbml0KHVyaVN0YXJ0LCByZXN1bHQgLSB1cmlTdGFydCk7Cit9CisKK3RlbXBsYXRlIDx0
eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogaW5saW5lIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVVuaWNv
ZGVSYW5nZSgpCiB7Ci0gICAgVUNoYXIqIGN1cnJlbnRDaGFyYWN0ZXIgPSBtX2N1cnJlbnRDaGFy
YWN0ZXIgKyAxOworICAgIENoYXJhY3RlclR5cGUqIGNoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0
ZXI8Q2hhcmFjdGVyVHlwZT4oKSArIDE7CiAgICAgaW50IGxlbmd0aCA9IDY7Ci0gICAgQVNTRVJU
KCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJysnKTsKKyAgICBBU1NFUlQoKmN1cnJlbnRDaGFyYWN0
ZXI8Q2hhcmFjdGVyVHlwZT4oKSA9PSAnKycpOwogCi0gICAgd2hpbGUgKGlzQVNDSUlIZXhEaWdp
dCgqY3VycmVudENoYXJhY3RlcikgJiYgbGVuZ3RoKSB7Ci0gICAgICAgICsrY3VycmVudENoYXJh
Y3RlcjsKKyAgICB3aGlsZSAoaXNBU0NJSUhleERpZ2l0KCpjaGFyYWN0ZXIpICYmIGxlbmd0aCkg
eworICAgICAgICArK2NoYXJhY3RlcjsKICAgICAgICAgLS1sZW5ndGg7CiAgICAgfQogCi0gICAg
aWYgKGxlbmd0aCAmJiAqY3VycmVudENoYXJhY3RlciA9PSAnPycpIHsKKyAgICBpZiAobGVuZ3Ro
ICYmICpjaGFyYWN0ZXIgPT0gJz8nKSB7CiAgICAgICAgIC8vIEF0IG1vc3QgNSBoZXggZGlnaXQg
Zm9sbG93ZWQgYnkgYSBxdWVzdGlvbiBtYXJrLgogICAgICAgICBkbyB7Ci0gICAgICAgICAgICAr
K2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICArK2NoYXJhY3RlcjsKICAgICAgICAgICAg
IC0tbGVuZ3RoOwotICAgICAgICB9IHdoaWxlICgqY3VycmVudENoYXJhY3RlciA9PSAnPycgJiYg
bGVuZ3RoKTsKLSAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gY3VycmVudENoYXJhY3RlcjsK
KyAgICAgICAgfSB3aGlsZSAoKmNoYXJhY3RlciA9PSAnPycgJiYgbGVuZ3RoKTsKKyAgICAgICAg
Y3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gY2hhcmFjdGVyOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAKICAgICBpZiAobGVuZ3RoIDwgNikgewogICAgICAgICAvLyBB
dCBsZWFzdCBvbmUgaGV4IGRpZ2l0LgotICAgICAgICBpZiAoY3VycmVudENoYXJhY3RlclswXSA9
PSAnLScgJiYgaXNBU0NJSUhleERpZ2l0KGN1cnJlbnRDaGFyYWN0ZXJbMV0pKSB7CisgICAgICAg
IGlmIChjaGFyYWN0ZXJbMF0gPT0gJy0nICYmIGlzQVNDSUlIZXhEaWdpdChjaGFyYWN0ZXJbMV0p
KSB7CiAgICAgICAgICAgICAvLyBGb2xsb3dlZCBieSBhIGRhc2ggYW5kIGEgaGV4IGRpZ2l0Lgot
ICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgKytjaGFyYWN0ZXI7
CiAgICAgICAgICAgICBsZW5ndGggPSA2OwogICAgICAgICAgICAgZG8gewotICAgICAgICAgICAg
ICAgICsrY3VycmVudENoYXJhY3RlcjsKLSAgICAgICAgICAgIH0gd2hpbGUgKC0tbGVuZ3RoICYm
IGlzQVNDSUlIZXhEaWdpdCgqY3VycmVudENoYXJhY3RlcikpOworICAgICAgICAgICAgICAgICsr
Y2hhcmFjdGVyOworICAgICAgICAgICAgfSB3aGlsZSAoLS1sZW5ndGggJiYgaXNBU0NJSUhleERp
Z2l0KCpjaGFyYWN0ZXIpKTsKICAgICAgICAgfQotICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIg
PSBjdXJyZW50Q2hhcmFjdGVyOworICAgICAgICBjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5
cGU+KCkgPSBjaGFyYWN0ZXI7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogYm9vbCBD
U1NQYXJzZXI6OnBhcnNlTnRoQ2hpbGQoKQogewotICAgIFVDaGFyKiBjdXJyZW50Q2hhcmFjdGVy
ID0gbV9jdXJyZW50Q2hhcmFjdGVyOworICAgIENoYXJhY3RlclR5cGUqIGNoYXJhY3RlciA9IGN1
cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKTsKIAotICAgIHdoaWxlIChpc0FTQ0lJRGln
aXQoKmN1cnJlbnRDaGFyYWN0ZXIpKQotICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAg
aWYgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwoKmN1cnJlbnRDaGFyYWN0ZXIsICduJykpIHsK
LSAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gY3VycmVudENoYXJhY3RlciArIDE7CisgICAg
d2hpbGUgKGlzQVNDSUlEaWdpdCgqY2hhcmFjdGVyKSkKKyAgICAgICAgKytjaGFyYWN0ZXI7Cisg
ICAgaWYgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwoKmNoYXJhY3RlciwgJ24nKSkgeworICAg
ICAgICBjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkgPSBjaGFyYWN0ZXIgKyAxOwog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCit0ZW1w
bGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZU50aENo
aWxkRXh0cmEoKQogewotICAgIFVDaGFyKiBjdXJyZW50Q2hhcmFjdGVyID0gc2tpcFdoaXRlU3Bh
Y2UobV9jdXJyZW50Q2hhcmFjdGVyKTsKLSAgICBpZiAoKmN1cnJlbnRDaGFyYWN0ZXIgIT0gJysn
ICYmICpjdXJyZW50Q2hhcmFjdGVyICE9ICctJykKKyAgICBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0
ZXIgPSBza2lwV2hpdGVTcGFjZShjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkpOwor
ICAgIGlmICgqY2hhcmFjdGVyICE9ICcrJyAmJiAqY2hhcmFjdGVyICE9ICctJykKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgY3VycmVudENoYXJhY3RlciA9IHNraXBXaGl0ZVNwYWNlKGN1
cnJlbnRDaGFyYWN0ZXIgKyAxKTsKLSAgICBpZiAoIWlzQVNDSUlEaWdpdCgqY3VycmVudENoYXJh
Y3RlcikpCisgICAgY2hhcmFjdGVyID0gc2tpcFdoaXRlU3BhY2UoY2hhcmFjdGVyICsgMSk7Cisg
ICAgaWYgKCFpc0FTQ0lJRGlnaXQoKmNoYXJhY3RlcikpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAogICAgIGRvIHsKLSAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyOwotICAgIH0gd2hpbGUgKGlz
QVNDSUlEaWdpdCgqY3VycmVudENoYXJhY3RlcikpOworICAgICAgICArK2NoYXJhY3RlcjsKKyAg
ICB9IHdoaWxlIChpc0FTQ0lJRGlnaXQoKmNoYXJhY3RlcikpOwogCi0gICAgbV9jdXJyZW50Q2hh
cmFjdGVyID0gY3VycmVudENoYXJhY3RlcjsKKyAgICBjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3Rl
clR5cGU+KCkgPSBjaGFyYWN0ZXI7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3RlbXBsYXRlIDx0
eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRlY3RGdW5j
dGlvblR5cGVUb2tlbihpbnQgbGVuZ3RoKQogewogICAgIEFTU0VSVChsZW5ndGggPiAwKTsKLSAg
ICBVQ2hhciogbmFtZSA9IG1fdG9rZW5TdGFydDsKKyAgICBDaGFyYWN0ZXJUeXBlKiBuYW1lID0g
dG9rZW5TdGFydDxDaGFyYWN0ZXJUeXBlPigpOwogCiAgICAgc3dpdGNoIChsZW5ndGgpIHsKICAg
ICBjYXNlIDM6CkBAIC04NzcyLDEwICs5MDEwLDExIEBAIGlubGluZSB2b2lkIENTU1BhcnNlcjo6
ZGV0ZWN0RnVuY3Rpb25UeXAKICAgICB9CiB9CiAKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0
ZXJUeXBlPgogaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRlY3RNZWRpYVF1ZXJ5VG9rZW4oaW50
IGxlbmd0aCkKIHsKICAgICBBU1NFUlQobV9wYXJzaW5nTW9kZSA9PSBNZWRpYVF1ZXJ5TW9kZSk7
Ci0gICAgVUNoYXIqIG5hbWUgPSBtX3Rva2VuU3RhcnQ7CisgICAgQ2hhcmFjdGVyVHlwZSogbmFt
ZSA9IHRva2VuU3RhcnQ8Q2hhcmFjdGVyVHlwZT4oKTsKIAogICAgIGlmIChsZW5ndGggPT0gMykg
ewogICAgICAgICBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChuYW1lWzBdLCAnYScpICYm
IGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwobmFtZVsxXSwgJ24nKSAmJiBpc0FTQ0lJQWxwaGFD
YXNlbGVzc0VxdWFsKG5hbWVbMl0sICdkJykpCkBAIC04Nzg5LDcgKzkwMjgsOCBAQCBpbmxpbmUg
dm9pZCBDU1NQYXJzZXI6OmRldGVjdE1lZGlhUXVlcnlUCiAgICAgfQogfQogCi1pbmxpbmUgdm9p
ZCBDU1NQYXJzZXI6OmRldGVjdE51bWJlclRva2VuKFVDaGFyKiB0eXBlLCBpbnQgbGVuZ3RoKQor
dGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitpbmxpbmUgdm9pZCBDU1NQYXJzZXI6
OmRldGVjdE51bWJlclRva2VuKENoYXJhY3RlclR5cGUqIHR5cGUsIGludCBsZW5ndGgpCiB7CiAg
ICAgQVNTRVJUKGxlbmd0aCA+IDApOwogCkBAIC04OTA2LDkgKzkxNDYsMTAgQEAgaW5saW5lIHZv
aWQgQ1NTUGFyc2VyOjpkZXRlY3ROdW1iZXJUb2tlbgogICAgIH0KIH0KIAordGVtcGxhdGUgPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+CiBpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OmRldGVjdERhc2hU
b2tlbihpbnQgbGVuZ3RoKQogewotICAgIFVDaGFyKiBuYW1lID0gbV90b2tlblN0YXJ0OworICAg
IENoYXJhY3RlclR5cGUqIG5hbWUgPSB0b2tlblN0YXJ0PENoYXJhY3RlclR5cGU+KCk7CiAKICAg
ICBpZiAobGVuZ3RoID09IDExKSB7CiAgICAgICAgIGlmIChpc0FTQ0lJQWxwaGFDYXNlbGVzc0Vx
dWFsKG5hbWVbMTBdLCAneScpICYmIGlzRXF1YWxUb0NTU0lkZW50aWZpZXIobmFtZSArIDEsICJ3
ZWJraXQtYW4iKSkKQEAgLTg5MjUsOSArOTE2NiwxMCBAQCBpbmxpbmUgdm9pZCBDU1NQYXJzZXI6
OmRldGVjdERhc2hUb2tlbihpCiAgICAgICAgIG1fdG9rZW4gPSBDQUxDRlVOQ1RJT047CiB9CiAK
K3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogaW5saW5lIHZvaWQgQ1NTUGFyc2Vy
OjpkZXRlY3RBdFRva2VuKGludCBsZW5ndGgsIGJvb2wgaGFzRXNjYXBlKQogewotICAgIFVDaGFy
KiBuYW1lID0gbV90b2tlblN0YXJ0OworICAgIENoYXJhY3RlclR5cGUqIG5hbWUgPSB0b2tlblN0
YXJ0PENoYXJhY3RlclR5cGU+KCk7CiAgICAgQVNTRVJUKG5hbWVbMF0gPT0gJ0AnICYmIGxlbmd0
aCA+PSAyKTsKIAogICAgIC8vIGNoYXJzZXQsIGZvbnQtZmFjZSwgaW1wb3J0LCBtZWRpYSwgbmFt
ZXNwYWNlLCBwYWdlLApAQCAtOTExMyw4MSArOTM1NSw3NyBAQCBpbmxpbmUgdm9pZCBDU1NQYXJz
ZXI6OmRldGVjdEF0VG9rZW4oaW50CiAgICAgfQogfQogCi1pbnQgQ1NTUGFyc2VyOjpsZXgodm9p
ZCogeXlsdmFsV2l0aG91dFR5cGUpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgU3JjQ2hhcmFjdGVyVHlw
ZT4KK2ludCBDU1NQYXJzZXI6OnJlYWxMZXgodm9pZCogeXlsdmFsV2l0aG91dFR5cGUpCiB7CiAg
ICAgWVlTVFlQRSogeXlsdmFsID0gc3RhdGljX2Nhc3Q8WVlTVFlQRSo+KHl5bHZhbFdpdGhvdXRU
eXBlKTsKICAgICAvLyBXcml0ZSBwb2ludGVyIGZvciB0aGUgbmV4dCBjaGFyYWN0ZXIuCi0gICAg
VUNoYXIqIHJlc3VsdDsKKyAgICBTcmNDaGFyYWN0ZXJUeXBlKiByZXN1bHQ7CisgICAgQ1NTUGFy
c2VyU3RyaW5nIHJlc3VsdFN0cmluZzsKICAgICBib29sIGhhc0VzY2FwZTsKIAogICAgIC8vIFRo
ZSBpbnB1dCBidWZmZXIgaXMgdGVybWluYXRlZCBieSBhIFwwIGNoYXJhY3Rlciwgc28KICAgICAv
LyBpdCBpcyBzYWZlIHRvIHJlYWQgb25lIGNoYXJhY3RlciBhaGVhZCBvZiBhIGtub3duIG5vbi1u
dWxsLgotCiAjaWZuZGVmIE5ERUJVRwogICAgIC8vIEluIGRlYnVnIHdlIGNoZWNrIHdpdGggYW4g
QVNTRVJUIHRoYXQgdGhlIGxlbmd0aCBpcyA+IDAgZm9yIHN0cmluZyB0eXBlcy4KLSAgICB5eWx2
YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0gMDsKLSAgICB5eWx2YWwtPnN0cmluZy5sZW5ndGggPSAw
OworICAgIHl5bHZhbC0+c3RyaW5nLmNsZWFyKCk7CiAjZW5kaWYKIAogcmVzdGFydEFmdGVyQ29t
bWVudDoKLSAgICBtX3Rva2VuU3RhcnQgPSByZXN1bHQgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7Ci0g
ICAgbV90b2tlbiA9ICptX2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgKyttX2N1cnJlbnRDaGFyYWN0
ZXI7CisgICAgcmVzdWx0ID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwor
ICAgIHNldFRva2VuU3RhcnQocmVzdWx0KTsKKyAgICBtX3Rva2VuID0gKmN1cnJlbnRDaGFyYWN0
ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKKyAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFj
dGVyVHlwZT4oKTsKIAogICAgIHN3aXRjaCAoKG1fdG9rZW4gPD0gMTI3KSA/IHR5cGVzT2ZBU0NJ
SUNoYXJhY3RlcnNbbV90b2tlbl0gOiBDaGFyYWN0ZXJJZGVudGlmaWVyU3RhcnQpIHsKICAgICBj
YXNlIENoYXJhY3RlckNhc2VsZXNzVToKLSAgICAgICAgaWYgKFVOTElLRUxZKCptX2N1cnJlbnRD
aGFyYWN0ZXIgPT0gJysnKSkKLSAgICAgICAgICAgIGlmIChwYXJzZVVuaWNvZGVSYW5nZSgpKSB7
CisgICAgICAgIGlmIChVTkxJS0VMWSgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBl
PigpID09ICcrJykpCisgICAgICAgICAgICBpZiAocGFyc2VVbmljb2RlUmFuZ2U8U3JjQ2hhcmFj
dGVyVHlwZT4oKSkgewogICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBVTklDT0RFUkFOR0U7Ci0g
ICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9IG1fdG9rZW5TdGFydDsK
LSAgICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5sZW5ndGggPSBtX2N1cnJlbnRDaGFyYWN0
ZXIgLSBtX3Rva2VuU3RhcnQ7CisgICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuaW5pdCh0
b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCksIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFj
dGVyVHlwZT4oKSAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CiAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgIC8vIEZhbGwgdGhyb3VnaCB0byBD
aGFyYWN0ZXJJZGVudGlmaWVyU3RhcnQuCiAKICAgICBjYXNlIENoYXJhY3RlcklkZW50aWZpZXJT
dGFydDoKLSAgICAgICAgLS1tX2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgIHBhcnNlSWRlbnRp
ZmllcihyZXN1bHQsIGhhc0VzY2FwZSk7CisgICAgICAgIC0tY3VycmVudENoYXJhY3RlcjxTcmND
aGFyYWN0ZXJUeXBlPigpOworICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCB5eWx2YWwt
PnN0cmluZywgaGFzRXNjYXBlKTsKICAgICAgICAgbV90b2tlbiA9IElERU5UOwogCi0gICAgICAg
IHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAgIHl5bHZh
bC0+c3RyaW5nLmxlbmd0aCA9IHJlc3VsdCAtIG1fdG9rZW5TdGFydDsKLQotICAgICAgICBpZiAo
VU5MSUtFTFkoKm1fY3VycmVudENoYXJhY3RlciA9PSAnKCcpKSB7CisgICAgICAgIGlmIChVTkxJ
S0VMWSgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICcoJykpIHsKICAg
ICAgICAgICAgIG1fdG9rZW4gPSBGVU5DVElPTjsKICAgICAgICAgICAgIGlmICghaGFzRXNjYXBl
KQotICAgICAgICAgICAgICAgIGRldGVjdEZ1bmN0aW9uVHlwZVRva2VuKHJlc3VsdCAtIG1fdG9r
ZW5TdGFydCk7Ci0gICAgICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAg
ICAgICBkZXRlY3RGdW5jdGlvblR5cGVUb2tlbjxTcmNDaGFyYWN0ZXJUeXBlPihyZXN1bHQgLSB0
b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkpOworICAgICAgICAgICAgKytjdXJyZW50Q2hh
cmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAgICAgICAgICAgICArK3Jlc3VsdDsKLSAgICAg
ICAgICAgICsreXlsdmFsLT5zdHJpbmcubGVuZ3RoOworICAgICAgICAgICAgKyt5eWx2YWwtPnN0
cmluZy5tX2xlbmd0aDsKIAogICAgICAgICAgICAgaWYgKHRva2VuKCkgPT0gVVJJKSB7CiAgICAg
ICAgICAgICAgICAgbV90b2tlbiA9IEZVTkNUSU9OOwogICAgICAgICAgICAgICAgIC8vIENoZWNr
IHdoZXRoZXIgaXQgaXMgcmVhbGx5IGFuIFVSSS4KLSAgICAgICAgICAgICAgICBwYXJzZVVSSSh5
eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzLCByZXN1bHQpOwotICAgICAgICAgICAgICAgIHl5bHZh
bC0+c3RyaW5nLmxlbmd0aCA9IHJlc3VsdCAtIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnM7Cisg
ICAgICAgICAgICAgICAgcGFyc2VVUkkoeXlsdmFsLT5zdHJpbmcpOwogICAgICAgICAgICAgfQog
ICAgICAgICB9IGVsc2UgaWYgKFVOTElLRUxZKG1fcGFyc2luZ01vZGUgIT0gTm9ybWFsTW9kZSkg
JiYgIWhhc0VzY2FwZSkgewogICAgICAgICAgICAgaWYgKG1fcGFyc2luZ01vZGUgPT0gTWVkaWFR
dWVyeU1vZGUpCi0gICAgICAgICAgICAgICAgZGV0ZWN0TWVkaWFRdWVyeVRva2VuKHJlc3VsdCAt
IG1fdG9rZW5TdGFydCk7Ci0gICAgICAgICAgICBlbHNlIGlmIChtX3BhcnNpbmdNb2RlID09IE50
aENoaWxkTW9kZSAmJiBpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKG1fdG9rZW5TdGFydFswXSwg
J24nKSkgewotICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgLSBtX3Rva2VuU3RhcnQgPT0gMSkg
eworICAgICAgICAgICAgICAgIGRldGVjdE1lZGlhUXVlcnlUb2tlbjxTcmNDaGFyYWN0ZXJUeXBl
PihyZXN1bHQgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkpOworICAgICAgICAgICAg
ZWxzZSBpZiAobV9wYXJzaW5nTW9kZSA9PSBOdGhDaGlsZE1vZGUgJiYgaXNBU0NJSUFscGhhQ2Fz
ZWxlc3NFcXVhbCh0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KClbMF0sICduJykpIHsKKyAg
ICAgICAgICAgICAgICBpZiAocmVzdWx0IC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigp
ID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gU3RyaW5nICJuIiBpcyBJREVOVCBidXQg
Im4rMSIgaXMgTlRILgotICAgICAgICAgICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJh
KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnNlTnRoQ2hpbGRFeHRyYTxTcmNDaGFy
YWN0ZXJUeXBlPigpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3Rva2VuID0gTlRIOwot
ICAgICAgICAgICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gbV9jdXJyZW50
Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0OworICAgICAgICAgICAgICAgICAgICAgICAgeXlsdmFs
LT5zdHJpbmcubV9sZW5ndGggPSBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkg
LSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCk7CiAgICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdCAtIG1fdG9rZW5TdGFydCA+PSAyICYm
IG1fdG9rZW5TdGFydFsxXSA9PSAnLScpIHsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJl
c3VsdCAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSA+PSAyICYmIHRva2VuU3RhcnQ8
U3JjQ2hhcmFjdGVyVHlwZT4oKVsxXSA9PSAnLScpIHsKICAgICAgICAgICAgICAgICAgICAgLy8g
U3RyaW5nICJuLSIgaXMgSURFTlQgYnV0ICJuLTEiIGlzIE5USC4KLSAgICAgICAgICAgICAgICAg
ICAgLy8gU2V0IG1fY3VycmVudENoYXJhY3RlciB0byAnLScgdG8gY29udGludWUgcGFyc2luZy4K
LSAgICAgICAgICAgICAgICAgICAgVUNoYXIqIG5leHRDaGFyYWN0ZXIgPSByZXN1bHQ7Ci0gICAg
ICAgICAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciA9IG1fdG9rZW5TdGFydCArIDE7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0cmEoKSkgeworICAgICAgICAg
ICAgICAgICAgICAvLyBTZXQgY3VycmVudENoYXJhY3RlciB0byAnLScgdG8gY29udGludWUgcGFy
c2luZy4KKyAgICAgICAgICAgICAgICAgICAgU3JjQ2hhcmFjdGVyVHlwZSogbmV4dENoYXJhY3Rl
ciA9IHJlc3VsdDsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudENoYXJhY3RlcjxTcmNDaGFy
YWN0ZXJUeXBlPigpID0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpICsgMTsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHBhcnNlTnRoQ2hpbGRFeHRyYTxTcmNDaGFyYWN0ZXJUeXBlPigp
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3Rva2VuID0gTlRIOwotICAgICAgICAgICAg
ICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0g
bV90b2tlblN0YXJ0OworICAgICAgICAgICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuc2V0
TGVuZ3RoKGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtIHRva2VuU3RhcnQ8
U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAvLyBSZXZlcnQgdGhlIGNoYW5nZSB0byBtX2N1cnJlbnRDaGFy
YWN0ZXIgaWYgdW5zdWNjZXNzZnVsLgotICAgICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50
Q2hhcmFjdGVyID0gbmV4dENoYXJhY3RlcjsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJl
dmVydCB0aGUgY2hhbmdlIHRvIGN1cnJlbnRDaGFyYWN0ZXIgaWYgdW5zdWNjZXNzZnVsLgorICAg
ICAgICAgICAgICAgICAgICAgICAgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
ID0gbmV4dENoYXJhY3RlcjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0KQEAgLTkxOTUsNyArOTQzMyw3IEBAIHJlc3RhcnRBZnRlckNvbW1l
bnQ6CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJEb3Q6Ci0gICAgICAgIGlm
ICghaXNBU0NJSURpZ2l0KG1fY3VycmVudENoYXJhY3RlclswXSkpCisgICAgICAgIGlmICghaXNB
U0NJSURpZ2l0KGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKVswXSkpCiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgLy8gRmFsbCB0aHJvdWdoIHRvIENoYXJhY3Rlck51bWJl
ci4KIApAQCAtOTIwMywyMyArOTQ0MSwyMiBAQCByZXN0YXJ0QWZ0ZXJDb21tZW50OgogICAgICAg
ICBib29sIGRvdFNlZW4gPSAobV90b2tlbiA9PSAnLicpOwogCiAgICAgICAgIHdoaWxlICh0cnVl
KSB7Ci0gICAgICAgICAgICBpZiAoIWlzQVNDSUlEaWdpdChtX2N1cnJlbnRDaGFyYWN0ZXJbMF0p
KSB7CisgICAgICAgICAgICBpZiAoIWlzQVNDSUlEaWdpdChjdXJyZW50Q2hhcmFjdGVyPFNyY0No
YXJhY3RlclR5cGU+KClbMF0pKSB7CiAgICAgICAgICAgICAgICAgLy8gT25seSBvbmUgZG90IGlz
IGFsbG93ZWQgZm9yIGEgbnVtYmVyLAogICAgICAgICAgICAgICAgIC8vIGFuZCBpdCBtdXN0IGJl
IGZvbGxvd2VkIGJ5IGEgZGlnaXQuCi0gICAgICAgICAgICAgICAgaWYgKG1fY3VycmVudENoYXJh
Y3RlclswXSAhPSAnLicgfHwgZG90U2VlbiB8fCAhaXNBU0NJSURpZ2l0KG1fY3VycmVudENoYXJh
Y3RlclsxXSkpCisgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFj
dGVyVHlwZT4oKVswXSAhPSAnLicgfHwgZG90U2VlbiB8fCAhaXNBU0NJSURpZ2l0KGN1cnJlbnRD
aGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKVsxXSkpCiAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgICAgIGRvdFNlZW4gPSB0cnVlOwogICAgICAgICAgICAgfQotICAg
ICAgICAgICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFy
YWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChVTkxJ
S0VMWShtX3BhcnNpbmdNb2RlID09IE50aENoaWxkTW9kZSkgJiYgIWRvdFNlZW4gJiYgaXNBU0NJ
SUFscGhhQ2FzZWxlc3NFcXVhbCgqbV9jdXJyZW50Q2hhcmFjdGVyLCAnbicpKSB7CisgICAgICAg
IGlmIChVTkxJS0VMWShtX3BhcnNpbmdNb2RlID09IE50aENoaWxkTW9kZSkgJiYgIWRvdFNlZW4g
JiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbCgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpLCAnbicpKSB7CiAgICAgICAgICAgICAvLyAiWzAtOV0rbiIgaXMgYWx3YXlzIGFu
IE50aENoaWxkLgotICAgICAgICAgICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAg
ICBwYXJzZU50aENoaWxkRXh0cmEoKTsKKyAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxT
cmNDaGFyYWN0ZXJUeXBlPigpOworICAgICAgICAgICAgcGFyc2VOdGhDaGlsZEV4dHJhPFNyY0No
YXJhY3RlclR5cGU+KCk7CiAgICAgICAgICAgICBtX3Rva2VuID0gTlRIOwotICAgICAgICAgICAg
eXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9IG1fdG9rZW5TdGFydDsKLSAgICAgICAgICAgIHl5
bHZhbC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydDsK
KyAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmluaXQodG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJU
eXBlPigpLCBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgLSB0b2tlblN0YXJ0
PFNyY0NoYXJhY3RlclR5cGU+KCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApA
QCAtOTIyNyw1MiArOTQ2NCw1MSBAQCByZXN0YXJ0QWZ0ZXJDb21tZW50OgogICAgICAgICAvLyBV
c2UgU1ZHIHBhcnNlciBmb3IgbnVtYmVycyBvbiBTVkcgcHJlc2VudGF0aW9uIGF0dHJpYnV0ZXMu
CiAgICAgICAgIGlmIChtX2NvbnRleHQubW9kZSA9PSBTVkdBdHRyaWJ1dGVNb2RlKSB7CiAgICAg
ICAgICAgICAvLyBXZSBuZWVkIHRvIHRha2UgY2FyZSBvZiB1bml0cyBsaWtlICdlbScgb3IgJ2V4
Jy4KLSAgICAgICAgICAgIFVDaGFyKiBjdXJyZW50Q2hhcmFjdGVyID0gbV9jdXJyZW50Q2hhcmFj
dGVyOwotICAgICAgICAgICAgaWYgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwoKmN1cnJlbnRD
aGFyYWN0ZXIsICdlJykpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQoY3VycmVudENoYXJhY3Rl
ciAtIG1fdG9rZW5TdGFydCA+IDApOwotICAgICAgICAgICAgICAgICsrY3VycmVudENoYXJhY3Rl
cjsKLSAgICAgICAgICAgICAgICBpZiAoKmN1cnJlbnRDaGFyYWN0ZXIgPT0gJy0nIHx8ICpjdXJy
ZW50Q2hhcmFjdGVyID09ICcrJyB8fCBpc0FTQ0lJRGlnaXQoKmN1cnJlbnRDaGFyYWN0ZXIpKSB7
Ci0gICAgICAgICAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjsKLSAgICAgICAgICAgICAg
ICAgICAgd2hpbGUgKGlzQVNDSUlEaWdpdCgqY3VycmVudENoYXJhY3RlcikpCi0gICAgICAgICAg
ICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICBTcmNDaGFyYWN0
ZXJUeXBlKiBjaGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7
CisgICAgICAgICAgICBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbCgqY2hhcmFjdGVyLCAn
ZScpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKGNoYXJhY3RlciAtIHRva2VuU3RhcnQ8U3Jj
Q2hhcmFjdGVyVHlwZT4oKSA+IDApOworICAgICAgICAgICAgICAgICsrY2hhcmFjdGVyOworICAg
ICAgICAgICAgICAgIGlmICgqY2hhcmFjdGVyID09ICctJyB8fCAqY2hhcmFjdGVyID09ICcrJyB8
fCBpc0FTQ0lJRGlnaXQoKmNoYXJhY3RlcikpIHsKKyAgICAgICAgICAgICAgICAgICAgKytjaGFy
YWN0ZXI7CisgICAgICAgICAgICAgICAgICAgIHdoaWxlIChpc0FTQ0lJRGlnaXQoKmNoYXJhY3Rl
cikpCisgICAgICAgICAgICAgICAgICAgICAgICArK2NoYXJhY3RlcjsKICAgICAgICAgICAgICAg
ICAgICAgLy8gVXNlIEZMT0FUVE9LRU4gaWYgdGhlIHN0cmluZyBjb250YWlucyBleHBvbmVudHMu
CiAgICAgICAgICAgICAgICAgICAgIGRvdFNlZW4gPSB0cnVlOwotICAgICAgICAgICAgICAgICAg
ICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgICAg
ICAgICBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPSBjaGFyYWN0ZXI7CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCFwYXJzZVNW
R051bWJlcihtX3Rva2VuU3RhcnQsIGN1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQsIHl5
bHZhbC0+bnVtYmVyKSkKKyAgICAgICAgICAgIGlmICghcGFyc2VTVkdOdW1iZXIodG9rZW5TdGFy
dDxTcmNDaGFyYWN0ZXJUeXBlPigpLCBjaGFyYWN0ZXIgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3Rl
clR5cGU+KCksIHl5bHZhbC0+bnVtYmVyKSkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfSBlbHNlCiAjZW5kaWYKLSAgICAgICAgICAgIHl5bHZhbC0+bnVtYmVyID0gY2hhcmFjdGVy
c1RvRG91YmxlKG1fdG9rZW5TdGFydCwgbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0
KTsKKyAgICAgICAgICAgIHl5bHZhbC0+bnVtYmVyID0gY2hhcmFjdGVyc1RvRG91YmxlKHRva2Vu
U3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSwgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJU
eXBlPigpIC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKICAKICAgICAgICAgLy8g
VHlwZSBvZiB0aGUgZnVuY3Rpb24uCi0gICAgICAgIGlmIChpc0lkZW50aWZpZXJTdGFydCgpKSB7
Ci0gICAgICAgICAgICBVQ2hhciogdHlwZSA9IG1fY3VycmVudENoYXJhY3RlcjsKLSAgICAgICAg
ICAgIHJlc3VsdCA9IG1fY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgaWYgKGlzSWRlbnRpZmll
clN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkpIHsKKyAgICAgICAgICAgIFNyY0NoYXJhY3RlclR5
cGUqIHR5cGUgPSBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CisgICAgICAg
ICAgICByZXN1bHQgPSBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAKLSAg
ICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIGhhc0VzY2FwZSk7Ci0gICAgICAgICAg
ICBpZiAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnKycpIHsKKyAgICAgICAgICAgIHBhcnNlSWRl
bnRpZmllcihyZXN1bHQsIHJlc3VsdFN0cmluZywgaGFzRXNjYXBlKTsKKyAgICAgICAgICAgIGlm
ICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICcrJykgewogICAgICAg
ICAgICAgICAgIC8vIEFueSBpZGVudGlmaWVyIGZvbGxvd2VkIGJ5IGEgJysnIHNpZ24gaXMgYW4g
aW52YWxpZCBkaW1lbnNpb24uCi0gICAgICAgICAgICAgICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7
CisgICAgICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7
CiAgICAgICAgICAgICAgICAgbV90b2tlbiA9IElOVkFMSURESU1FTjsKICAgICAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAgICAgbV90b2tlbiA9IERJTUVOOwogICAgICAgICAgICAgICAg
IGlmICghaGFzRXNjYXBlKQotICAgICAgICAgICAgICAgICAgICBkZXRlY3ROdW1iZXJUb2tlbih0
eXBlLCBtX2N1cnJlbnRDaGFyYWN0ZXIgLSB0eXBlKTsKKyAgICAgICAgICAgICAgICAgICAgZGV0
ZWN0TnVtYmVyVG9rZW4odHlwZSwgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
IC0gdHlwZSk7CiAKICAgICAgICAgICAgICAgICBpZiAobV90b2tlbiA9PSBESU1FTikgewogICAg
ICAgICAgICAgICAgICAgICAvLyBUaGUgZGVjb2RlZCBudW1iZXIgaXMgb3ZlcndyaXR0ZW4sIGJ1
dCB0aGlzIGlzIGludGVudGlvbmFsLgotICAgICAgICAgICAgICAgICAgICB5eWx2YWwtPnN0cmlu
Zy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0OwotICAgICAgICAgICAgICAgICAgICB5eWx2YWwt
PnN0cmluZy5sZW5ndGggPSBtX2N1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQ7CisgICAg
ICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmluaXQodG9rZW5TdGFydDxTcmNDaGFyYWN0
ZXJUeXBlPigpLCBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgLSB0b2tlblN0
YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0KLSAgICAgICAgfSBlbHNlIGlmICgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICclJykgeworICAg
ICAgICB9IGVsc2UgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0g
JyUnKSB7CiAgICAgICAgICAgICAvLyBBbHRob3VnaCB0aGUgQ1NTIGdyYW1tYXIgc2F5cyB7bnVt
fSUgd2UgZm9sbG93CiAgICAgICAgICAgICAvLyB3ZWJraXQgYXQgdGhlIG1vbWVudCB3aGljaCB1
c2VzIHtudW19JSsuCiAgICAgICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgKyttX2N1cnJl
bnRDaGFyYWN0ZXI7Ci0gICAgICAgICAgICB9IHdoaWxlICgqbV9jdXJyZW50Q2hhcmFjdGVyID09
ICclJyk7CisgICAgICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5
cGU+KCk7CisgICAgICAgICAgICB9IHdoaWxlICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpID09ICclJyk7CiAgICAgICAgICAgICBtX3Rva2VuID0gUEVSQ0VOVEFHRTsKICAg
ICAgICAgfSBlbHNlCiAgICAgICAgICAgICBtX3Rva2VuID0gZG90U2VlbiA/IEZMT0FUVE9LRU4g
OiBJTlRFR0VSOwpAQCAtOTI4MCw1NSArOTUxNiw1NCBAQCByZXN0YXJ0QWZ0ZXJDb21tZW50Ogog
ICAgIH0KIAogICAgIGNhc2UgQ2hhcmFjdGVyRGFzaDoKLSAgICAgICAgaWYgKGlzSWRlbnRpZmll
clN0YXJ0QWZ0ZXJEYXNoKG1fY3VycmVudENoYXJhY3RlcikpIHsKLSAgICAgICAgICAgIC0tbV9j
dXJyZW50Q2hhcmFjdGVyOwotICAgICAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgaGFz
RXNjYXBlKTsKKyAgICAgICAgaWYgKGlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNoKGN1cnJlbnRD
aGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSkpIHsKKyAgICAgICAgICAgIC0tY3VycmVudENo
YXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAgICAgICAgICAgcGFyc2VJZGVudGlmaWVy
KHJlc3VsdCwgcmVzdWx0U3RyaW5nLCBoYXNFc2NhcGUpOwogICAgICAgICAgICAgbV90b2tlbiA9
IElERU5UOwogCiAjaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgICAgICBpZiAoY3Nz
VmFyaWFibGVzRW5hYmxlZCgpICYmIGlzRXF1YWxUb0NTU0lkZW50aWZpZXIobV90b2tlblN0YXJ0
ICsgMSwgIndlYmtpdC12YXIiKSAmJiBtX3Rva2VuU3RhcnRbMTFdID09ICctJyAmJiBpc0lkZW50
aWZpZXJTdGFydEFmdGVyRGFzaChtX3Rva2VuU3RhcnQgKyAxMikpCisgICAgICAgICAgICBpZiAo
Y3NzVmFyaWFibGVzRW5hYmxlZCgpICYmIGlzRXF1YWxUb0NTU0lkZW50aWZpZXIodG9rZW5TdGFy
dDxTcmNDaGFyYWN0ZXJUeXBlPigpICsgMSwgIndlYmtpdC12YXIiKSAmJiB0b2tlblN0YXJ0PFNy
Y0NoYXJhY3RlclR5cGU+KClbMTFdID09ICctJyAmJiBpc0lkZW50aWZpZXJTdGFydEFmdGVyRGFz
aCh0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkgKyAxMikpCiAgICAgICAgICAgICAgICAg
bV90b2tlbiA9IFZBUl9ERUZJTklUSU9OOwogICAgICAgICAgICAgZWxzZQogI2VuZGlmCi0gICAg
ICAgICAgICBpZiAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnKCcpIHsKKyAgICAgICAgICAgIGlm
ICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICcoJykgewogICAgICAg
ICAgICAgICAgIG1fdG9rZW4gPSBGVU5DVElPTjsKICAgICAgICAgICAgICAgICBpZiAoIWhhc0Vz
Y2FwZSkKLSAgICAgICAgICAgICAgICAgICAgZGV0ZWN0RGFzaFRva2VuKHJlc3VsdCAtIG1fdG9r
ZW5TdGFydCk7Ci0gICAgICAgICAgICAgICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAg
ICAgICAgICAgICAgIGRldGVjdERhc2hUb2tlbjxTcmNDaGFyYWN0ZXJUeXBlPihyZXN1bHQgLSB0
b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkpOworICAgICAgICAgICAgICAgICsrY3VycmVu
dENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICAgICAgICAgICsrcmVzdWx0
OwotICAgICAgICAgICAgfSBlbHNlIGlmIChVTkxJS0VMWShtX3BhcnNpbmdNb2RlID09IE50aENo
aWxkTW9kZSkgJiYgIWhhc0VzY2FwZSAmJiBpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKG1fdG9r
ZW5TdGFydFsxXSwgJ24nKSkgewotICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgLSBtX3Rva2Vu
U3RhcnQgPT0gMikgeworICAgICAgICAgICAgfSBlbHNlIGlmIChVTkxJS0VMWShtX3BhcnNpbmdN
b2RlID09IE50aENoaWxkTW9kZSkgJiYgIWhhc0VzY2FwZSAmJiBpc0FTQ0lJQWxwaGFDYXNlbGVz
c0VxdWFsKHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKVsxXSwgJ24nKSkgeworICAgICAg
ICAgICAgICAgIGlmIChyZXN1bHQgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkgPT0g
MikgewogICAgICAgICAgICAgICAgICAgICAvLyBTdHJpbmcgIi1uIiBpcyBJREVOVCBidXQgIi1u
KzEiIGlzIE5USC4KLSAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnNlTnRoQ2hpbGRFeHRyYSgp
KSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hhcmFj
dGVyVHlwZT4oKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IG1fY3VycmVudENoYXJhY3RlcjsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVy
VHlwZT4oKTsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0gZWxzZSBp
ZiAocmVzdWx0IC0gbV90b2tlblN0YXJ0ID49IDMgJiYgbV90b2tlblN0YXJ0WzJdID09ICctJykg
eworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0IC0gdG9rZW5TdGFydDxTcmNDaGFy
YWN0ZXJUeXBlPigpID49IDMgJiYgdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpWzJdID09
ICctJykgewogICAgICAgICAgICAgICAgICAgICAvLyBTdHJpbmcgIi1uLSIgaXMgSURFTlQgYnV0
ICItbi0xIiBpcyBOVEguCi0gICAgICAgICAgICAgICAgICAgIC8vIFNldCBtX2N1cnJlbnRDaGFy
YWN0ZXIgdG8gc2Vjb25kICctJyBvZiAnLW4tJyB0byBjb250aW51ZSBwYXJzaW5nLgotICAgICAg
ICAgICAgICAgICAgICBVQ2hhciogbmV4dENoYXJhY3RlciA9IHJlc3VsdDsKLSAgICAgICAgICAg
ICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gbV90b2tlblN0YXJ0ICsgMjsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKHBhcnNlTnRoQ2hpbGRFeHRyYSgpKSB7CisgICAgICAgICAgICAgICAg
ICAgIC8vIFNldCBjdXJyZW50Q2hhcmFjdGVyIHRvIHNlY29uZCAnLScgb2YgJy1uLScgdG8gY29u
dGludWUgcGFyc2luZy4KKyAgICAgICAgICAgICAgICAgICAgU3JjQ2hhcmFjdGVyVHlwZSogbmV4
dENoYXJhY3RlciA9IHJlc3VsdDsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudENoYXJhY3Rl
cjxTcmNDaGFyYWN0ZXJUeXBlPigpID0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpICsg
MjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnNlTnRoQ2hpbGRFeHRyYTxTcmNDaGFyYWN0
ZXJUeXBlPigpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3Rva2VuID0gTlRIOwotICAg
ICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJU
eXBlPigpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gUmV2ZXJ0IHRoZSBjaGFuZ2UgdG8gbV9jdXJyZW50Q2hhcmFjdGVyIGlmIHVuc3Vj
Y2Vzc2Z1bC4KLSAgICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciA9IG5l
eHRDaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXZlcnQgdGhlIGNoYW5n
ZSB0byBjdXJyZW50Q2hhcmFjdGVyIGlmIHVuc3VjY2Vzc2Z1bC4KKyAgICAgICAgICAgICAgICAg
ICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9IG5leHRDaGFyYWN0
ZXI7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0
OwotICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gcmVzdWx0IC0gbV90b2tlblN0
YXJ0OwotICAgICAgICB9IGVsc2UgaWYgKG1fY3VycmVudENoYXJhY3RlclswXSA9PSAnLScgJiYg
bV9jdXJyZW50Q2hhcmFjdGVyWzFdID09ICc+JykgewotICAgICAgICAgICAgbV9jdXJyZW50Q2hh
cmFjdGVyICs9IDI7CisgICAgICAgICAgICByZXN1bHRTdHJpbmcuc2V0TGVuZ3RoKHJlc3VsdCAt
IHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CisgICAgICAgICAgICB5eWx2YWwtPnN0
cmluZyA9IHJlc3VsdFN0cmluZzsKKyAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50Q2hhcmFjdGVy
PFNyY0NoYXJhY3RlclR5cGU+KClbMF0gPT0gJy0nICYmIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hh
cmFjdGVyVHlwZT4oKVsxXSA9PSAnPicpIHsKKyAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8
U3JjQ2hhcmFjdGVyVHlwZT4oKSArPSAyOwogICAgICAgICAgICAgbV90b2tlbiA9IFNHTUxfQ0Q7
CiAgICAgICAgIH0gZWxzZSBpZiAoVU5MSUtFTFkobV9wYXJzaW5nTW9kZSA9PSBOdGhDaGlsZE1v
ZGUpKSB7CiAgICAgICAgICAgICAvLyAiLVswLTldK24iIGlzIGFsd2F5cyBhbiBOdGhDaGlsZC4K
LSAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkKCkpIHsKLSAgICAgICAgICAgICAgICBwYXJz
ZU50aENoaWxkRXh0cmEoKTsKKyAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkPFNyY0NoYXJh
Y3RlclR5cGU+KCkpIHsKKyAgICAgICAgICAgICAgICBwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hh
cmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgICAgICBtX3Rva2VuID0gTlRIOwotICAgICAgICAg
ICAgICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAg
ICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90
b2tlblN0YXJ0OworICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmluaXQodG9rZW5TdGFy
dDxTcmNDaGFyYWN0ZXJUeXBlPigpLCBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+
KCkgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkpOwogICAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgICAgIGJyZWFrOwpAQCAtOTMzOSwxOCArOTU3NCwxOCBAQCByZXN0YXJ0QWZ0
ZXJDb21tZW50OgogCiAgICAgY2FzZSBDaGFyYWN0ZXJOdWxsOgogICAgICAgICAvLyBEbyBub3Qg
YWR2YW5jZSBwb2ludGVyIGF0IHRoZSBlbmQgb2YgaW5wdXQuCi0gICAgICAgIC0tbV9jdXJyZW50
Q2hhcmFjdGVyOworICAgICAgICAtLWN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4o
KTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlcldoaXRlU3BhY2U6CiAgICAg
ICAgIG1fdG9rZW4gPSBXSElURVNQQUNFOwogICAgICAgICAvLyBNaWdodCBzdGFydCB3aXRoIGEg
J1xuJy4KLSAgICAgICAgLS1tX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIC0tY3VycmVudENo
YXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICBkbyB7Ci0gICAgICAgICAgICBp
ZiAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnXG4nKQorICAgICAgICAgICAgaWYgKCpjdXJyZW50
Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJ1xuJykKICAgICAgICAgICAgICAgICAr
K21fbGluZU51bWJlcjsKLSAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgICAg
ICB9IHdoaWxlICgqbV9jdXJyZW50Q2hhcmFjdGVyIDw9ICcgJyAmJiAodHlwZXNPZkFTQ0lJQ2hh
cmFjdGVyc1sqbV9jdXJyZW50Q2hhcmFjdGVyXSA9PSBDaGFyYWN0ZXJXaGl0ZVNwYWNlKSk7Cisg
ICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKKyAgICAg
ICAgfSB3aGlsZSAoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA8PSAnICcg
JiYgKHR5cGVzT2ZBU0NJSUNoYXJhY3RlcnNbKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVy
VHlwZT4oKV0gPT0gQ2hhcmFjdGVyV2hpdGVTcGFjZSkpOwogICAgICAgICBicmVhazsKIAogICAg
IGNhc2UgQ2hhcmFjdGVyRW5kTWVkaWFRdWVyeToKQEAgLTkzNjQsNDIgKzk1OTksMzkgQEAgcmVz
dGFydEFmdGVyQ29tbWVudDoKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlclF1
b3RlOgotICAgICAgICBpZiAoY2hlY2tBbmRTa2lwU3RyaW5nKG1fY3VycmVudENoYXJhY3Rlciwg
bV90b2tlbikpIHsKKyAgICAgICAgaWYgKGNoZWNrQW5kU2tpcFN0cmluZyhjdXJyZW50Q2hhcmFj
dGVyPFNyY0NoYXJhY3RlclR5cGU+KCksIG1fdG9rZW4pKSB7CiAgICAgICAgICAgICArK3Jlc3Vs
dDsKLSAgICAgICAgICAgIHBhcnNlU3RyaW5nKHJlc3VsdCwgbV90b2tlbik7CisgICAgICAgICAg
ICBwYXJzZVN0cmluZzxTcmNDaGFyYWN0ZXJUeXBlPihyZXN1bHQsIHl5bHZhbC0+c3RyaW5nLCBt
X3Rva2VuKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBTVFJJTkc7Ci0gICAgICAgICAgICB5eWx2
YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0ICsgMTsKLSAgICAgICAgICAgIHl5
bHZhbC0+c3RyaW5nLmxlbmd0aCA9IHJlc3VsdCAtIChtX3Rva2VuU3RhcnQgKyAxKTsKICAgICAg
ICAgfQogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyRXhjbGFtYXRpb25NYXJr
OiB7Ci0gICAgICAgIFVDaGFyKiBzdGFydCA9IHNraXBXaGl0ZVNwYWNlKG1fY3VycmVudENoYXJh
Y3Rlcik7CisgICAgICAgIFNyY0NoYXJhY3RlclR5cGUqIHN0YXJ0ID0gc2tpcFdoaXRlU3BhY2Uo
Y3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKICAgICAgICAgaWYgKGlzRXF1
YWxUb0NTU0lkZW50aWZpZXIoc3RhcnQsICJpbXBvcnRhbnQiKSkgewogICAgICAgICAgICAgbV90
b2tlbiA9IElNUE9SVEFOVF9TWU07Ci0gICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBz
dGFydCArIDk7CisgICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+
KCkgPSBzdGFydCArIDk7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAg
Y2FzZSBDaGFyYWN0ZXJIYXNobWFyazogewotICAgICAgICBVQ2hhciogc3RhcnQgPSBtX2N1cnJl
bnRDaGFyYWN0ZXI7Ci0gICAgICAgIHJlc3VsdCA9IG1fY3VycmVudENoYXJhY3RlcjsKKyAgICAg
ICAgU3JjQ2hhcmFjdGVyVHlwZSogc3RhcnQgPSBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3Rl
clR5cGU+KCk7CisgICAgICAgIHJlc3VsdCA9IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVy
VHlwZT4oKTsKIAotICAgICAgICBpZiAoaXNBU0NJSURpZ2l0KCptX2N1cnJlbnRDaGFyYWN0ZXIp
KSB7CisgICAgICAgIGlmIChpc0FTQ0lJRGlnaXQoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFj
dGVyVHlwZT4oKSkpIHsKICAgICAgICAgICAgIC8vIFRoaXMgbXVzdCBiZSBhIHZhbGlkIGhleCBu
dW1iZXIgdG9rZW4uCiAgICAgICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgKyttX2N1cnJl
bnRDaGFyYWN0ZXI7Ci0gICAgICAgICAgICB9IHdoaWxlIChpc0FTQ0lJSGV4RGlnaXQoKm1fY3Vy
cmVudENoYXJhY3RlcikpOworICAgICAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxTcmND
aGFyYWN0ZXJUeXBlPigpOworICAgICAgICAgICAgfSB3aGlsZSAoaXNBU0NJSUhleERpZ2l0KCpj
dXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkpKTsKICAgICAgICAgICAgIG1fdG9r
ZW4gPSBIRVg7Ci0gICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0gc3RhcnQ7
Ci0gICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5sZW5ndGggPSBtX2N1cnJlbnRDaGFyYWN0ZXIg
LSBzdGFydDsKLSAgICAgICAgfSBlbHNlIGlmIChpc0lkZW50aWZpZXJTdGFydCgpKSB7CisgICAg
ICAgICAgICB5eWx2YWwtPnN0cmluZy5pbml0KHN0YXJ0LCBjdXJyZW50Q2hhcmFjdGVyPFNyY0No
YXJhY3RlclR5cGU+KCkgLSBzdGFydCk7CisgICAgICAgIH0gZWxzZSBpZiAoaXNJZGVudGlmaWVy
U3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSkgewogICAgICAgICAgICAgbV90b2tlbiA9IElEU0VM
OwotICAgICAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgaGFzRXNjYXBlKTsKKyAgICAg
ICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIHl5bHZhbC0+c3RyaW5nLCBoYXNFc2NhcGUp
OwogICAgICAgICAgICAgaWYgKCFoYXNFc2NhcGUpIHsKICAgICAgICAgICAgICAgICAvLyBDaGVj
ayB3aGV0aGVyIHRoZSBpZGVudGlmaWVyIGlzIGFsc28gYSB2YWxpZCBoZXggbnVtYmVyLgotICAg
ICAgICAgICAgICAgIFVDaGFyKiBjdXJyZW50ID0gc3RhcnQ7CisgICAgICAgICAgICAgICAgU3Jj
Q2hhcmFjdGVyVHlwZSogY3VycmVudCA9IHN0YXJ0OwogICAgICAgICAgICAgICAgIG1fdG9rZW4g
PSBIRVg7CiAgICAgICAgICAgICAgICAgZG8gewogICAgICAgICAgICAgICAgICAgICBpZiAoIWlz
QVNDSUlIZXhEaWdpdCgqY3VycmVudCkpIHsKQEAgLTk0MDksNDEgKzk2NDEsMzkgQEAgcmVzdGFy
dEFmdGVyQ29tbWVudDoKICAgICAgICAgICAgICAgICAgICAgKytjdXJyZW50OwogICAgICAgICAg
ICAgICAgIH0gd2hpbGUgKGN1cnJlbnQgPCByZXN1bHQpOwogICAgICAgICAgICAgfQotICAgICAg
ICAgICAgeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9IHN0YXJ0OwotICAgICAgICAgICAgeXls
dmFsLT5zdHJpbmcubGVuZ3RoID0gcmVzdWx0IC0gc3RhcnQ7CiAgICAgICAgIH0KICAgICAgICAg
YnJlYWs7CiAgICAgfQogCiAgICAgY2FzZSBDaGFyYWN0ZXJTbGFzaDoKICAgICAgICAgLy8gSWdu
b3JlIGNvbW1lbnRzLiBUaGV5IGFyZSBub3QgZXZlbiBjb25zaWRlcmVkIGFzIHdoaXRlIHNwYWNl
cy4KLSAgICAgICAgaWYgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJyonKSB7Ci0gICAgICAgICAg
ICArK21fY3VycmVudENoYXJhY3RlcjsKLSAgICAgICAgICAgIHdoaWxlIChtX2N1cnJlbnRDaGFy
YWN0ZXJbMF0gIT0gJyonIHx8IG1fY3VycmVudENoYXJhY3RlclsxXSAhPSAnLycpIHsKLSAgICAg
ICAgICAgICAgICBpZiAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnXG4nKQorICAgICAgICBpZiAo
KmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnKicpIHsKKyAgICAgICAg
ICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAgICAgICAgICAg
d2hpbGUgKGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKVswXSAhPSAnKicgfHwg
Y3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpWzFdICE9ICcvJykgeworICAgICAg
ICAgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICdc
bicpCiAgICAgICAgICAgICAgICAgICAgICsrbV9saW5lTnVtYmVyOwotICAgICAgICAgICAgICAg
IGlmICgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICdcMCcpIHsKKyAgICAgICAgICAgICAgICBpZiAo
KmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnXDAnKSB7CiAgICAgICAg
ICAgICAgICAgICAgIC8vIFVudGVybWluYXRlZCBjb21tZW50cyBhcmUgc2ltcGx5IGlnbm9yZWQu
Ci0gICAgICAgICAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciAtPSAyOworICAgICAgICAg
ICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgLT0gMjsKICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgICAgICsrY3VycmVudENoYXJh
Y3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbV9j
dXJyZW50Q2hhcmFjdGVyICs9IDI7CisgICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVyPFNyY0No
YXJhY3RlclR5cGU+KCkgKz0gMjsKICAgICAgICAgICAgIGdvdG8gcmVzdGFydEFmdGVyQ29tbWVu
dDsKICAgICAgICAgfQogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyRG9sbGFy
OgotICAgICAgICBpZiAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnPScpIHsKLSAgICAgICAgICAg
ICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICBpZiAoKmN1cnJlbnRDaGFyYWN0ZXI8U3Jj
Q2hhcmFjdGVyVHlwZT4oKSA9PSAnPScpIHsKKyAgICAgICAgICAgICsrY3VycmVudENoYXJhY3Rl
cjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICAgICAgbV90b2tlbiA9IEVORFNXSVRIOwog
ICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJBc3RlcmlzazoK
LSAgICAgICAgaWYgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJz0nKSB7Ci0gICAgICAgICAgICAr
K21fY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0No
YXJhY3RlclR5cGU+KCkgPT0gJz0nKSB7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8
U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBDT05UQUlOUzsKICAg
ICAgICAgfQogICAgICAgICBicmVhazsKQEAgLTk0NTEsNTggKzk2ODEsNTUgQEAgcmVzdGFydEFm
dGVyQ29tbWVudDoKICAgICBjYXNlIENoYXJhY3RlclBsdXM6CiAgICAgICAgIGlmIChVTkxJS0VM
WShtX3BhcnNpbmdNb2RlID09IE50aENoaWxkTW9kZSkpIHsKICAgICAgICAgICAgIC8vIFNpbXBs
ZXN0IGNhc2UuICIrWzAtOV0qbiIgaXMgYWx3YXlzIE50aENoaWxkLgotICAgICAgICAgICAgaWYg
KHBhcnNlTnRoQ2hpbGQoKSkgewotICAgICAgICAgICAgICAgIHBhcnNlTnRoQ2hpbGRFeHRyYSgp
OworICAgICAgICAgICAgaWYgKHBhcnNlTnRoQ2hpbGQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSkgewor
ICAgICAgICAgICAgICAgIHBhcnNlTnRoQ2hpbGRFeHRyYTxTcmNDaGFyYWN0ZXJUeXBlPigpOwog
ICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBOVEg7Ci0gICAgICAgICAgICAgICAgeXlsdmFsLT5z
dHJpbmcuY2hhcmFjdGVycyA9IG1fdG9rZW5TdGFydDsKLSAgICAgICAgICAgICAgICB5eWx2YWwt
PnN0cmluZy5sZW5ndGggPSBtX2N1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQ7CisgICAg
ICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuaW5pdCh0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5
cGU+KCksIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtIHRva2VuU3RhcnQ8
U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAg
YnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3Rlckxlc3M6Ci0gICAgICAgIGlmIChtX2N1cnJlbnRD
aGFyYWN0ZXJbMF0gPT0gJyEnICYmIG1fY3VycmVudENoYXJhY3RlclsxXSA9PSAnLScgJiYgbV9j
dXJyZW50Q2hhcmFjdGVyWzJdID09ICctJykgewotICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFj
dGVyICs9IDM7CisgICAgICAgIGlmIChjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+
KClbMF0gPT0gJyEnICYmIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKVsxXSA9
PSAnLScgJiYgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpWzJdID09ICctJykg
eworICAgICAgICAgICAgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpICs9IDM7
CiAgICAgICAgICAgICBtX3Rva2VuID0gU0dNTF9DRDsKICAgICAgICAgfQogICAgICAgICBicmVh
azsKIAogICAgIGNhc2UgQ2hhcmFjdGVyQXQ6Ci0gICAgICAgIGlmIChpc0lkZW50aWZpZXJTdGFy
dCgpKSB7CisgICAgICAgIGlmIChpc0lkZW50aWZpZXJTdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigp
KSB7CiAgICAgICAgICAgICBtX3Rva2VuID0gQVRLRVlXT1JEOwogICAgICAgICAgICAgKytyZXN1
bHQ7Ci0gICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCBoYXNFc2NhcGUpOwotICAg
ICAgICAgICAgZGV0ZWN0QXRUb2tlbihyZXN1bHQgLSBtX3Rva2VuU3RhcnQsIGhhc0VzY2FwZSk7
CisgICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCByZXN1bHRTdHJpbmcsIGhhc0Vz
Y2FwZSk7CisgICAgICAgICAgICBkZXRlY3RBdFRva2VuPFNyY0NoYXJhY3RlclR5cGU+KHJlc3Vs
dCAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSwgaGFzRXNjYXBlKTsKICAgICAgICAg
fQogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyQmFja1NsYXNoOgotICAgICAg
ICBpZiAoaXNDU1NFc2NhcGUoKm1fY3VycmVudENoYXJhY3RlcikpIHsKLSAgICAgICAgICAgIC0t
bV9jdXJyZW50Q2hhcmFjdGVyOwotICAgICAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwg
aGFzRXNjYXBlKTsKKyAgICAgICAgaWYgKGlzQ1NTRXNjYXBlKCpjdXJyZW50Q2hhcmFjdGVyPFNy
Y0NoYXJhY3RlclR5cGU+KCkpKSB7CisgICAgICAgICAgICAtLWN1cnJlbnRDaGFyYWN0ZXI8U3Jj
Q2hhcmFjdGVyVHlwZT4oKTsKKyAgICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIHl5
bHZhbC0+c3RyaW5nLCBoYXNFc2NhcGUpOwogICAgICAgICAgICAgbV90b2tlbiA9IElERU5UOwot
ICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9IG1fdG9rZW5TdGFydDsKLSAg
ICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IHJlc3VsdCAtIG1fdG9rZW5TdGFydDsK
ICAgICAgICAgfQogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyWG9yOgotICAg
ICAgICBpZiAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnPScpIHsKLSAgICAgICAgICAgICsrbV9j
dXJyZW50Q2hhcmFjdGVyOworICAgICAgICBpZiAoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFj
dGVyVHlwZT4oKSA9PSAnPScpIHsKKyAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxTcmND
aGFyYWN0ZXJUeXBlPigpOwogICAgICAgICAgICAgbV90b2tlbiA9IEJFR0lOU1dJVEg7CiAgICAg
ICAgIH0KICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlclZlcnRpY2FsQmFyOgot
ICAgICAgICBpZiAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnPScpIHsKLSAgICAgICAgICAgICsr
bV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICBpZiAoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hh
cmFjdGVyVHlwZT4oKSA9PSAnPScpIHsKKyAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxT
cmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICAgICAgbV90b2tlbiA9IERBU0hNQVRDSDsKICAg
ICAgICAgfQogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyVGlsZGU6Ci0gICAg
ICAgIGlmICgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICc9JykgewotICAgICAgICAgICAgKyttX2N1
cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpID09ICc9JykgeworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0No
YXJhY3RlclR5cGU+KCk7CiAgICAgICAgICAgICBtX3Rva2VuID0gSU5DTFVERVM7CiAgICAgICAg
IH0KICAgICAgICAgYnJlYWs7CkBAIC05NTEyLDM2ICs5NzM5LDYgQEAgcmVzdGFydEFmdGVyQ29t
bWVudDoKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0jaWZuZGVmIE5ERUJVRwotICAgIHN3aXRj
aCAodG9rZW4oKSkgewotICAgIGNhc2UgU1RSSU5HOgotICAgICAgICBBU1NFUlQoeXlsdmFsLT5z
dHJpbmcuY2hhcmFjdGVycyA9PSBtX3Rva2VuU3RhcnQgKyAxKTsKLSAgICAgICAgYnJlYWs7Ci0K
LSAgICBjYXNlIElERU5UOgotICAgIGNhc2UgTlRIOgotICAgIGNhc2UgRElNRU46Ci0gICAgY2Fz
ZSBVTklDT0RFUkFOR0U6Ci0gICAgY2FzZSBGVU5DVElPTjoKLSAgICBjYXNlIEFOWUZVTkNUSU9O
OgotICAgIGNhc2UgTk9URlVOQ1RJT046Ci0gICAgY2FzZSBDQUxDRlVOQ1RJT046Ci0gICAgY2Fz
ZSBNSU5GVU5DVElPTjoKLSAgICBjYXNlIE1BWEZVTkNUSU9OOgotICAgICAgICBBU1NFUlQoeXls
dmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9PSBtX3Rva2VuU3RhcnQgJiYgeXlsdmFsLT5zdHJpbmcu
bGVuZ3RoID4gMCk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBVUkk6Ci0gICAgICAgIEFT
U0VSVCh5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzICYmIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3Rl
cnMgIT0gbV90b2tlblN0YXJ0KTsKLSAgICAgICAgYnJlYWs7Ci0KLSAgICBjYXNlIEhFWDoKLSAg
ICBjYXNlIElEU0VMOgotICAgICAgICBBU1NFUlQoeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9
PSBtX3Rva2VuU3RhcnQgKyAxICYmIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA+IDApOwotICAgICAg
ICBicmVhazsKLSAgICB9Ci0jZW5kaWYKLQogICAgIHJldHVybiB0b2tlbigpOwogfQogCkBAIC05
OTg0LDE3ICsxMDE4MSwxNSBAQCB2b2lkIENTU1BhcnNlcjo6dXBkYXRlTGFzdE1lZGlhTGluZShN
ZWRpCiAgICAgbWVkaWEtPnNldExhc3RMaW5lKG1fbGluZU51bWJlcik7CiB9CiAKLXZvaWQgQ1NT
UGFyc2VyOjpmaXhVbnBhcnNlZFByb3BlcnR5UmFuZ2VzKENTU1J1bGVTb3VyY2VEYXRhKiBydWxl
RGF0YSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSB2
b2lkIGZpeFVucGFyc2VkUHJvcGVydGllcyhjb25zdCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJz
LCBDU1NSdWxlU291cmNlRGF0YSogcnVsZURhdGEpCiB7Ci0gICAgaWYgKCFydWxlRGF0YS0+c3R5
bGVTb3VyY2VEYXRhKQotICAgICAgICByZXR1cm47CiAgICAgVmVjdG9yPENTU1Byb3BlcnR5U291
cmNlRGF0YT4mIHByb3BlcnR5RGF0YSA9IHJ1bGVEYXRhLT5zdHlsZVNvdXJjZURhdGEtPnByb3Bl
cnR5RGF0YTsKICAgICB1bnNpZ25lZCBzaXplID0gcHJvcGVydHlEYXRhLnNpemUoKTsKICAgICBp
ZiAoIXNpemUpCiAgICAgICAgIHJldHVybjsKIAogICAgIHVuc2lnbmVkIHN0eWxlU3RhcnQgPSBy
dWxlRGF0YS0+cnVsZUJvZHlSYW5nZS5zdGFydDsKLSAgICBjb25zdCBVQ2hhciogY2hhcmFjdGVy
cyA9IG1fZGF0YVN0YXJ0LmdldCgpICsgbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3RoOwogICAgIENT
U1Byb3BlcnR5U291cmNlRGF0YSogbmV4dERhdGEgPSAmKHByb3BlcnR5RGF0YS5hdCgwKSk7CiAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7ICsraSkgewogICAgICAgICBDU1NQcm9w
ZXJ0eVNvdXJjZURhdGEqIGN1cnJlbnREYXRhID0gbmV4dERhdGE7CkBAIC0xMDAzMSwzNiArMTAy
MjYsNjAgQEAgdm9pZCBDU1NQYXJzZXI6OmZpeFVucGFyc2VkUHJvcGVydHlSYW5nZQogICAgIH0K
IH0KIAordm9pZCBDU1NQYXJzZXI6OmZpeFVucGFyc2VkUHJvcGVydHlSYW5nZXMoQ1NTUnVsZVNv
dXJjZURhdGEqIHJ1bGVEYXRhKQoreworICAgIGlmICghcnVsZURhdGEtPnN0eWxlU291cmNlRGF0
YSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGlzOEJpdFNvdXJjZSgpKSB7CisgICAgICAg
IGZpeFVucGFyc2VkUHJvcGVydGllczxMQ2hhcj4obV9kYXRhU3RhcnQ4LmdldCgpICsgbV9wYXJz
ZWRUZXh0UHJlZml4TGVuZ3RoLCBydWxlRGF0YSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBmaXhVbnBhcnNlZFByb3BlcnRpZXM8VUNoYXI+KG1fZGF0YVN0YXJ0MTYuZ2V0KCkgKyBt
X3BhcnNlZFRleHRQcmVmaXhMZW5ndGgsIHJ1bGVEYXRhKTsKK30KKwogdm9pZCBDU1NQYXJzZXI6
Om1hcmtSdWxlSGVhZGVyU3RhcnQoQ1NTUnVsZVNvdXJjZURhdGE6OlR5cGUgcnVsZVR5cGUpCiB7
CiAgICAgaWYgKCFpc0V4dHJhY3RpbmdTb3VyY2VEYXRhKCkpCiAgICAgICAgIHJldHVybjsKICAg
ICBSZWZQdHI8Q1NTUnVsZVNvdXJjZURhdGE+IGRhdGEgPSBDU1NSdWxlU291cmNlRGF0YTo6Y3Jl
YXRlKHJ1bGVUeXBlKTsKLSAgICBkYXRhLT5ydWxlSGVhZGVyUmFuZ2Uuc3RhcnQgPSBtX3Rva2Vu
U3RhcnQgLSBtX2RhdGFTdGFydC5nZXQoKTsKKyAgICBkYXRhLT5ydWxlSGVhZGVyUmFuZ2Uuc3Rh
cnQgPSB0b2tlblN0YXJ0T2Zmc2V0KCk7CiAgICAgbV9jdXJyZW50UnVsZURhdGFTdGFjay0+YXBw
ZW5kKGRhdGEucmVsZWFzZSgpKTsKIH0KIAotdm9pZCBDU1NQYXJzZXI6Om1hcmtSdWxlSGVhZGVy
RW5kKCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIHZvaWQgQ1NT
UGFyc2VyOjpzZXRSdWxlSGVhZGVyRW5kKGNvbnN0IENoYXJhY3RlclR5cGUqIGRhdGFTdGFydCkK
IHsKLSAgICBpZiAoIWlzRXh0cmFjdGluZ1NvdXJjZURhdGEoKSkKLSAgICAgICAgcmV0dXJuOwot
ICAgIEFTU0VSVCghbV9jdXJyZW50UnVsZURhdGFTdGFjay0+aXNFbXB0eSgpKTsKLSAgICBVQ2hh
ciogbGlzdEVuZCA9IG1fdG9rZW5TdGFydDsKLSAgICB3aGlsZSAobGlzdEVuZCA+IG1fZGF0YVN0
YXJ0LmdldCgpICsgMSkgeworICAgIENoYXJhY3RlclR5cGUqIGxpc3RFbmQgPSB0b2tlblN0YXJ0
PENoYXJhY3RlclR5cGU+KCk7CisgICAgd2hpbGUgKGxpc3RFbmQgPiBkYXRhU3RhcnQgKyAxKSB7
CiAgICAgICAgIGlmIChpc0hUTUxTcGFjZSgqKGxpc3RFbmQgLSAxKSkpCiAgICAgICAgICAgICAt
LWxpc3RFbmQ7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICBt
X2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5sYXN0KCktPnJ1bGVIZWFkZXJSYW5nZS5lbmQgPSBsaXN0
RW5kIC0gbV9kYXRhU3RhcnQuZ2V0KCk7CisKKyAgICBtX2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5s
YXN0KCktPnJ1bGVIZWFkZXJSYW5nZS5lbmQgPSBsaXN0RW5kIC0gZGF0YVN0YXJ0OworfQorCit2
b2lkIENTU1BhcnNlcjo6bWFya1J1bGVIZWFkZXJFbmQoKQoreworICAgIGlmICghaXNFeHRyYWN0
aW5nU291cmNlRGF0YSgpKQorICAgICAgICByZXR1cm47CisgICAgQVNTRVJUKCFtX2N1cnJlbnRS
dWxlRGF0YVN0YWNrLT5pc0VtcHR5KCkpOworCisgICAgaWYgKGlzOEJpdFNvdXJjZSgpKQorICAg
ICAgICBzZXRSdWxlSGVhZGVyRW5kPExDaGFyPihtX2RhdGFTdGFydDguZ2V0KCkpOworICAgIGVs
c2UKKyAgICAgICAgc2V0UnVsZUhlYWRlckVuZDxVQ2hhcj4obV9kYXRhU3RhcnQxNi5nZXQoKSk7
CiB9CiAKIHZvaWQgQ1NTUGFyc2VyOjptYXJrUnVsZUJvZHlTdGFydCgpCiB7CiAgICAgaWYgKCFp
c0V4dHJhY3RpbmdTb3VyY2VEYXRhKCkpCiAgICAgICAgIHJldHVybjsKLSAgICB1bnNpZ25lZCBv
ZmZzZXQgPSBtX3Rva2VuU3RhcnQgLSBtX2RhdGFTdGFydC5nZXQoKTsKLSAgICBpZiAoKm1fdG9r
ZW5TdGFydCA9PSAneycpCisgICAgdW5zaWduZWQgb2Zmc2V0ID0gdG9rZW5TdGFydE9mZnNldCgp
OworICAgIGlmICh0b2tlblN0YXJ0Q2hhcigpID09ICd7JykKICAgICAgICAgKytvZmZzZXQ7IC8v
IFNraXAgdGhlIHJ1bGUgYm9keSBvcGVuaW5nIGJyYWNlLgogICAgIEFTU0VSVCghbV9jdXJyZW50
UnVsZURhdGFTdGFjay0+aXNFbXB0eSgpKTsKICAgICBtX2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5s
YXN0KCktPnJ1bGVCb2R5UmFuZ2Uuc3RhcnQgPSBvZmZzZXQ7CkBAIC0xMDA2OSw3ICsxMDI4OCw3
IEBAIHZvaWQgQ1NTUGFyc2VyOjptYXJrUnVsZUJvZHlTdGFydCgpCiB2b2lkIENTU1BhcnNlcjo6
bWFya1J1bGVCb2R5RW5kKCkKIHsKICAgICAvLyBQcmVjb25kaXRpb246ICghaXNFeHRyYWN0aW5n
U291cmNlRGF0YSgpKQotICAgIHVuc2lnbmVkIG9mZnNldCA9IG1fdG9rZW5TdGFydCAtIG1fZGF0
YVN0YXJ0LmdldCgpOworICAgIHVuc2lnbmVkIG9mZnNldCA9IHRva2VuU3RhcnRPZmZzZXQoKTsK
ICAgICBBU1NFUlQoIW1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmlzRW1wdHkoKSk7CiAgICAgbV9j
dXJyZW50UnVsZURhdGFTdGFjay0+bGFzdCgpLT5ydWxlQm9keVJhbmdlLmVuZCA9IG9mZnNldDsK
IH0KQEAgLTEwMDgxLDcgKzEwMzAwLDcgQEAgdm9pZCBDU1NQYXJzZXI6Om1hcmtQcm9wZXJ0eVN0
YXJ0KCkKICAgICBpZiAobV9jdXJyZW50UnVsZURhdGFTdGFjay0+aXNFbXB0eSgpIHx8ICFtX2N1
cnJlbnRSdWxlRGF0YVN0YWNrLT5sYXN0KCktPnN0eWxlU291cmNlRGF0YSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV9wcm9wZXJ0eVJhbmdlLnN0YXJ0ID0gbV90b2tlblN0YXJ0IC0gbV9kYXRh
U3RhcnQuZ2V0KCk7CisgICAgbV9wcm9wZXJ0eVJhbmdlLnN0YXJ0ID0gdG9rZW5TdGFydE9mZnNl
dCgpOwogfQogCiB2b2lkIENTU1BhcnNlcjo6bWFya1Byb3BlcnR5RW5kKGJvb2wgaXNJbXBvcnRh
bnRGb3VuZCwgYm9vbCBpc1Byb3BlcnR5UGFyc2VkKQpAQCAtMTAwOTEsOCArMTAzMTAsOCBAQCB2
b2lkIENTU1BhcnNlcjo6bWFya1Byb3BlcnR5RW5kKGJvb2wgaXNJCiAgICAgaWYgKG1fY3VycmVu
dFJ1bGVEYXRhU3RhY2stPmlzRW1wdHkoKSB8fCAhbV9jdXJyZW50UnVsZURhdGFTdGFjay0+bGFz
dCgpLT5zdHlsZVNvdXJjZURhdGEpCiAgICAgICAgIHJldHVybjsKIAotICAgIHVuc2lnbmVkIG9m
ZnNldCA9IG1fdG9rZW5TdGFydCAtIG1fZGF0YVN0YXJ0LmdldCgpOwotICAgIGlmICgqbV90b2tl
blN0YXJ0ID09ICc7JykgLy8gSW5jbHVkZSBzZW1pY29sb24gaW50byB0aGUgcHJvcGVydHkgdGV4
dC4KKyAgICB1bnNpZ25lZCBvZmZzZXQgPSB0b2tlblN0YXJ0T2Zmc2V0KCk7CisgICAgaWYgKHRv
a2VuU3RhcnRDaGFyKCkgPT0gJzsnKSAvLyBJbmNsdWRlIHNlbWljb2xvbiBpbnRvIHRoZSBwcm9w
ZXJ0eSB0ZXh0LgogICAgICAgICArK29mZnNldDsKICAgICBtX3Byb3BlcnR5UmFuZ2UuZW5kID0g
b2Zmc2V0OwogICAgIGlmIChtX3Byb3BlcnR5UmFuZ2Uuc3RhcnQgIT0gVUlOVF9NQVggJiYgIW1f
Y3VycmVudFJ1bGVEYXRhU3RhY2stPmlzRW1wdHkoKSkgewpAQCAtMTAxMDAsNyArMTAzMTksMTEg
QEAgdm9pZCBDU1NQYXJzZXI6Om1hcmtQcm9wZXJ0eUVuZChib29sIGlzSQogICAgICAgICBjb25z
dCB1bnNpZ25lZCBzdGFydCA9IG1fcHJvcGVydHlSYW5nZS5zdGFydDsKICAgICAgICAgY29uc3Qg
dW5zaWduZWQgZW5kID0gbV9wcm9wZXJ0eVJhbmdlLmVuZDsKICAgICAgICAgQVNTRVJUKHN0YXJ0
IDwgZW5kKTsKLSAgICAgICAgU3RyaW5nIHByb3BlcnR5U3RyaW5nID0gU3RyaW5nKG1fZGF0YVN0
YXJ0LmdldCgpICsgc3RhcnQsIGVuZCAtIHN0YXJ0KS5zdHJpcFdoaXRlU3BhY2UoKTsKKyAgICAg
ICAgU3RyaW5nIHByb3BlcnR5U3RyaW5nOworICAgICAgICBpZiAoaXM4Qml0U291cmNlKCkpCisg
ICAgICAgICAgICBwcm9wZXJ0eVN0cmluZyA9IFN0cmluZyhtX2RhdGFTdGFydDguZ2V0KCkgKyBz
dGFydCwgZW5kIC0gc3RhcnQpLnN0cmlwV2hpdGVTcGFjZSgpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBwcm9wZXJ0eVN0cmluZyA9IFN0cmluZyhtX2RhdGFTdGFydDE2LmdldCgpICsgc3Rh
cnQsIGVuZCAtIHN0YXJ0KS5zdHJpcFdoaXRlU3BhY2UoKTsKICAgICAgICAgaWYgKHByb3BlcnR5
U3RyaW5nLmVuZHNXaXRoKCc7JykpCiAgICAgICAgICAgICBwcm9wZXJ0eVN0cmluZyA9IHByb3Bl
cnR5U3RyaW5nLmxlZnQocHJvcGVydHlTdHJpbmcubGVuZ3RoKCkgLSAxKTsKICAgICAgICAgc2l6
ZV90IGNvbG9uSW5kZXggPSBwcm9wZXJ0eVN0cmluZy5maW5kKCc6Jyk7CkBAIC0xMDExNiw3ICsx
MDMzOSw4IEBAIHZvaWQgQ1NTUGFyc2VyOjptYXJrUHJvcGVydHlFbmQoYm9vbCBpc0kKICAgICBy
ZXNldFByb3BlcnR5UmFuZ2UoKTsKIH0KIAotc3RhdGljIENTU1Byb3BlcnR5SUQgY3NzUHJvcGVy
dHlJRChjb25zdCBVQ2hhciogcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBsZW5ndGgpCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3Bl
cnR5SUQoY29uc3QgQ2hhcmFjdGVyVHlwZSogcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBsZW5ndGgp
CiB7CiAgICAgaWYgKCFsZW5ndGgpCiAgICAgICAgIHJldHVybiBDU1NQcm9wZXJ0eUludmFsaWQ7
CkBAIC0xMDEyNiw3ICsxMDM1MCw3IEBAIHN0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5
SUQoY29uc3QKICAgICBjaGFyIGJ1ZmZlclttYXhDU1NQcm9wZXJ0eU5hbWVMZW5ndGggKyAxICsg
MV07IC8vIDEgdG8gdHVybiAiYXBwbGUiLyJraHRtbCIgaW50byAid2Via2l0IiwgMSBmb3IgbnVs
bCBjaGFyYWN0ZXIKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgIT0gbGVuZ3RoOyArK2kp
IHsKLSAgICAgICAgVUNoYXIgYyA9IHByb3BlcnR5TmFtZVtpXTsKKyAgICAgICAgQ2hhcmFjdGVy
VHlwZSBjID0gcHJvcGVydHlOYW1lW2ldOwogICAgICAgICBpZiAoYyA9PSAwIHx8IGMgPj0gMHg3
RikKICAgICAgICAgICAgIHJldHVybiBDU1NQcm9wZXJ0eUludmFsaWQ7IC8vIGlsbGVnYWwgY2hh
cmFjdGVyCiAgICAgICAgIGJ1ZmZlcltpXSA9IHRvQVNDSUlMb3dlcihjKTsKQEAgLTEwMTY0LDEy
ICsxMDM4OCwxMiBAQCBzdGF0aWMgQ1NTUHJvcGVydHlJRCBjc3NQcm9wZXJ0eUlEKGNvbnN0CiAK
IENTU1Byb3BlcnR5SUQgY3NzUHJvcGVydHlJRChjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKLSAg
ICByZXR1cm4gY3NzUHJvcGVydHlJRChzdHJpbmcuY2hhcmFjdGVycygpLCBzdHJpbmcubGVuZ3Ro
KCkpOworICAgIHJldHVybiBzdHJpbmcuaXM4Qml0KCkgPyBjc3NQcm9wZXJ0eUlEKHN0cmluZy5j
aGFyYWN0ZXJzOCgpLCBzdHJpbmcubGVuZ3RoKCkpIDogY3NzUHJvcGVydHlJRChzdHJpbmcuY2hh
cmFjdGVycygpLCBzdHJpbmcubGVuZ3RoKCkpOwogfQogCiBDU1NQcm9wZXJ0eUlEIGNzc1Byb3Bl
cnR5SUQoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBzdHJpbmcpCiB7Ci0gICAgcmV0dXJuIGNzc1By
b3BlcnR5SUQoc3RyaW5nLmNoYXJhY3RlcnMsIHN0cmluZy5sZW5ndGgpOworICAgIHJldHVybiBz
dHJpbmcuaXM4Qml0KCkgPyBjc3NQcm9wZXJ0eUlEKHN0cmluZy5jaGFyYWN0ZXJzOCgpLCBzdHJp
bmcubGVuZ3RoKCkpIDogY3NzUHJvcGVydHlJRChzdHJpbmcuY2hhcmFjdGVyczE2KCksIHN0cmlu
Zy5sZW5ndGgoKSk7CiB9CiAKICNpZiBQTEFURk9STShJT1MpCkBAIC0xMDE4NCwxOCArMTA0MDgs
MTMgQEAgdm9pZCBjc3NQcm9wZXJ0eU5hbWVJT1NBbGlhc2luZyhjb25zdCBjaAogfQogI2VuZGlm
CiAKLWludCBjc3NWYWx1ZUtleXdvcmRJRChjb25zdCBDU1NQYXJzZXJTdHJpbmcmIHN0cmluZykK
K3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGludCBjc3NWYWx1ZUtl
eXdvcmRJRChjb25zdCBDaGFyYWN0ZXJUeXBlKiB2YWx1ZUtleXdvcmQsIHVuc2lnbmVkIGxlbmd0
aCkKIHsKLSAgICB1bnNpZ25lZCBsZW5ndGggPSBzdHJpbmcubGVuZ3RoOwotICAgIGlmICghbGVu
Z3RoKQotICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAobGVuZ3RoID4gbWF4Q1NTVmFsdWVLZXl3
b3JkTGVuZ3RoKQotICAgICAgICByZXR1cm4gMDsKLQogICAgIGNoYXIgYnVmZmVyW21heENTU1Zh
bHVlS2V5d29yZExlbmd0aCArIDEgKyAxXTsgLy8gMSB0byB0dXJuICJhcHBsZSIvImtodG1sIiBp
bnRvICJ3ZWJraXQiLCAxIGZvciBudWxsIGNoYXJhY3RlcgogCiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSAhPSBsZW5ndGg7ICsraSkgewotICAgICAgICBVQ2hhciBjID0gc3RyaW5nLmNoYXJh
Y3RlcnNbaV07CisgICAgICAgIENoYXJhY3RlclR5cGUgYyA9IHZhbHVlS2V5d29yZFtpXTsKICAg
ICAgICAgaWYgKGMgPT0gMCB8fCBjID49IDB4N0YpCiAgICAgICAgICAgICByZXR1cm4gMDsgLy8g
aWxsZWdhbCBjaGFyYWN0ZXIKICAgICAgICAgYnVmZmVyW2ldID0gV1RGOjp0b0FTQ0lJTG93ZXIo
Yyk7CkBAIC0xMDIxNiw2ICsxMDQzNSwxNyBAQCBpbnQgY3NzVmFsdWVLZXl3b3JkSUQoY29uc3Qg
Q1NTUGFyc2VyU3RyCiAgICAgcmV0dXJuIGhhc2hUYWJsZUVudHJ5ID8gaGFzaFRhYmxlRW50cnkt
PmlkIDogMDsKIH0KIAoraW50IGNzc1ZhbHVlS2V5d29yZElEKGNvbnN0IENTU1BhcnNlclN0cmlu
ZyYgc3RyaW5nKQoreworICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAg
ICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKGxlbmd0aCA+IG1heENT
U1ZhbHVlS2V5d29yZExlbmd0aCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gc3Ry
aW5nLmlzOEJpdCgpID8gY3NzVmFsdWVLZXl3b3JkSUQoc3RyaW5nLmNoYXJhY3RlcnM4KCksIGxl
bmd0aCkgOiBjc3NWYWx1ZUtleXdvcmRJRChzdHJpbmcuY2hhcmFjdGVyczE2KCksIGxlbmd0aCk7
Cit9CisKIC8vICJpZGVudCIgZnJvbSB0aGUgQ1NTIHRva2VuaXplciwgbWludXMgYmFja3NsYXNo
LWVzY2FwZSBzZXF1ZW5jZXMKIHN0YXRpYyBib29sIGlzQ1NTVG9rZW5pemVySWRlbnRpZmllcihj
b25zdCBTdHJpbmcmIHN0cmluZykKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgJKHJldmlz
aW9uIDEyNjgzNykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtNzAsNiArNzAsOCBAQCBjbGFzcyBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlOwog
I2VuZGlmCiAKIGNsYXNzIENTU1BhcnNlciB7CisgICAgZnJpZW5kIGlubGluZSBpbnQgY3NzeXls
ZXgodm9pZCosIENTU1BhcnNlciopOworCiBwdWJsaWM6CiAgICAgQ1NTUGFyc2VyKGNvbnN0IENT
U1BhcnNlckNvbnRleHQmKTsKIApAQCAtMzU0LDcgKzM1Niw5IEBAIHB1YmxpYzoKICAgICBQYXNz
UmVmUHRyPENTU1J1bGVTb3VyY2VEYXRhPiBwb3BSdWxlRGF0YSgpOwogICAgIHZvaWQgcmVzZXRQ
cm9wZXJ0eVJhbmdlKCkgeyBtX3Byb3BlcnR5UmFuZ2Uuc3RhcnQgPSBtX3Byb3BlcnR5UmFuZ2Uu
ZW5kID0gVUlOVF9NQVg7IH0KICAgICBib29sIGlzRXh0cmFjdGluZ1NvdXJjZURhdGEoKSBjb25z
dCB7IHJldHVybiAhIW1fY3VycmVudFJ1bGVEYXRhU3RhY2s7IH0KLSAgICBpbnQgbGV4KHZvaWQq
IHl5bHZhbCk7CisKKyAgICBpbmxpbmUgaW50IGxleCh2b2lkKiB5eWx2YWwpIHsgcmV0dXJuICh0
aGlzLT4qbV9sZXhGdW5jKSh5eWx2YWwpOyB9CisKICAgICBpbnQgdG9rZW4oKSB7IHJldHVybiBt
X3Rva2VuOyB9CiAKICAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmlt
aXRpdmVOdW1lcmljVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKQEAgLTM2MywyMyArMzY3LDcxIEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgS1VSTCBjb21wbGV0ZVVSTChjb25zdCBDU1NQYXJzZXJDb250
ZXh0JiwgY29uc3QgU3RyaW5nJiB1cmwpOwogCiBwcml2YXRlOgorICAgIGJvb2wgaXM4Qml0U291
cmNlKCkgeyByZXR1cm4gbV9pczhCaXRTb3VyY2U7IH0KKworICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBTb3VyY2VDaGFyYWN0ZXJUeXBlPgorICAgIGludCByZWFsTGV4KHZvaWQqIHl5bHZhbCk7CisK
KyAgICBVQ2hhciomIGN1cnJlbnRDaGFyYWN0ZXIxNigpOworCisgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIENoYXJhY3RlclR5cGU+CisgICAgaW5saW5lIENoYXJhY3RlclR5cGUqJiBjdXJyZW50Q2hh
cmFjdGVyKCk7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBp
bmxpbmUgQ2hhcmFjdGVyVHlwZSogdG9rZW5TdGFydCgpOworCisgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIENoYXJhY3RlclR5cGU+CisgICAgaW5saW5lIHZvaWQgc2V0VG9rZW5TdGFydChDaGFyYWN0
ZXJUeXBlKik7CisKKyAgICBpbmxpbmUgdW5zaWduZWQgdG9rZW5TdGFydE9mZnNldCgpOworICAg
IGlubGluZSBVQ2hhciB0b2tlblN0YXJ0Q2hhcigpOworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1l
IENoYXJhY3RlclR5cGU+CiAgICAgaW5saW5lIGJvb2wgaXNJZGVudGlmaWVyU3RhcnQoKTsKIAot
ICAgIHN0YXRpYyBpbmxpbmUgVUNoYXIqIGNoZWNrQW5kU2tpcFN0cmluZyhVQ2hhciosIFVDaGFy
KTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBzdGF0aWMgaW5s
aW5lIENoYXJhY3RlclR5cGUqIGNoZWNrQW5kU2tpcFN0cmluZyhDaGFyYWN0ZXJUeXBlKiwgaW50
KTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorICAgIHVuc2lnbmVk
IHBhcnNlRXNjYXBlKENoYXJhY3RlclR5cGUqJik7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIERl
c3RDaGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSB2b2lkIFVuaWNvZGVUb0NoYXJzKERlc3RDaGFy
YWN0ZXJUeXBlKiYsIHVuc2lnbmVkKTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3JjQ2hhcmFj
dGVyVHlwZSwgdHlwZW5hbWUgRGVzdENoYXJhY3RlclR5cGU+CisgICAgaW5saW5lIGJvb2wgcGFy
c2VJZGVudGlmaWVySW50ZXJuYWwoU3JjQ2hhcmFjdGVyVHlwZSomLCBEZXN0Q2hhcmFjdGVyVHlw
ZSomLCBib29sJik7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAg
ICBpbmxpbmUgdm9pZCBwYXJzZUlkZW50aWZpZXIoQ2hhcmFjdGVyVHlwZSomLCBDU1NQYXJzZXJT
dHJpbmcmLCBib29sJik7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3JjQ2hhcmFjdGVyVHlw
ZSwgdHlwZW5hbWUgRGVzdENoYXJhY3RlclR5cGU+CisgICAgaW5saW5lIGJvb2wgcGFyc2VTdHJp
bmdJbnRlcm5hbChTcmNDaGFyYWN0ZXJUeXBlKiYsIERlc3RDaGFyYWN0ZXJUeXBlKiYsIFVDaGFy
KTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSB2
b2lkIHBhcnNlU3RyaW5nKENoYXJhY3RlclR5cGUqJiwgQ1NTUGFyc2VyU3RyaW5nJiByZXN1bHRT
dHJpbmcsIFVDaGFyKTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgor
ICAgIGlubGluZSBib29sIHBhcnNlVVJJSW50ZXJuYWwoQ2hhcmFjdGVyVHlwZSomLCBDaGFyYWN0
ZXJUeXBlKiYpOwogCi0gICAgdm9pZCBwYXJzZUVzY2FwZShVQ2hhciomKTsKLSAgICBpbmxpbmUg
dm9pZCBwYXJzZUlkZW50aWZpZXIoVUNoYXIqJiwgYm9vbCYpOwotICAgIGlubGluZSB2b2lkIHBh
cnNlU3RyaW5nKFVDaGFyKiYsIFVDaGFyKTsKLSAgICBpbmxpbmUgdm9pZCBwYXJzZVVSSShVQ2hh
ciomLCBVQ2hhciomKTsKKyAgICBpbmxpbmUgdm9pZCBwYXJzZVVSSShDU1NQYXJzZXJTdHJpbmcm
KTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KICAgICBpbmxpbmUgYm9v
bCBwYXJzZVVuaWNvZGVSYW5nZSgpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJU
eXBlPgogICAgIGJvb2wgcGFyc2VOdGhDaGlsZCgpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPgogICAgIGJvb2wgcGFyc2VOdGhDaGlsZEV4dHJhKCk7CisgICAgdGVtcGxh
dGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiAgICAgaW5saW5lIHZvaWQgZGV0ZWN0RnVuY3Rp
b25UeXBlVG9rZW4oaW50KTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4K
ICAgICBpbmxpbmUgdm9pZCBkZXRlY3RNZWRpYVF1ZXJ5VG9rZW4oaW50KTsKLSAgICBpbmxpbmUg
dm9pZCBkZXRlY3ROdW1iZXJUb2tlbihVQ2hhciosIGludCk7CisgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIENoYXJhY3RlclR5cGU+CisgICAgaW5saW5lIHZvaWQgZGV0ZWN0TnVtYmVyVG9rZW4oQ2hh
cmFjdGVyVHlwZSosIGludCk7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+
CiAgICAgaW5saW5lIHZvaWQgZGV0ZWN0RGFzaFRva2VuKGludCk7CisgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+CiAgICAgaW5saW5lIHZvaWQgZGV0ZWN0QXRUb2tlbihpbnQs
IGJvb2wpOwogCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CisgICAgaW5s
aW5lIHZvaWQgc2V0UnVsZUhlYWRlckVuZChjb25zdCBDaGFyYWN0ZXJUeXBlKik7CisKICAgICB2
b2lkIHNldFN0eWxlU2hlZXQoU3R5bGVTaGVldENvbnRlbnRzKik7CiAKICAgICBpbmxpbmUgYm9v
bCBpblN0cmljdE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2NvbnRleHQubW9kZSA9PSBDU1NTdHJp
Y3RNb2RlIHx8IG1fY29udGV4dC5tb2RlID09IFNWR0F0dHJpYnV0ZU1vZGU7IH0KQEAgLTQzMCw5
ICs0ODIsMTYgQEAgcHJpdmF0ZToKICAgICB9OwogCiAgICAgUGFyc2luZ01vZGUgbV9wYXJzaW5n
TW9kZTsKLSAgICBPd25BcnJheVB0cjxVQ2hhcj4gbV9kYXRhU3RhcnQ7Ci0gICAgVUNoYXIqIG1f
Y3VycmVudENoYXJhY3RlcjsKLSAgICBVQ2hhciogbV90b2tlblN0YXJ0OworICAgIGJvb2wgbV9p
czhCaXRTb3VyY2U7CisgICAgT3duQXJyYXlQdHI8TENoYXI+IG1fZGF0YVN0YXJ0ODsKKyAgICBP
d25BcnJheVB0cjxVQ2hhcj4gbV9kYXRhU3RhcnQxNjsKKyAgICBMQ2hhciogbV9jdXJyZW50Q2hh
cmFjdGVyODsKKyAgICBVQ2hhciogbV9jdXJyZW50Q2hhcmFjdGVyMTY7CisgICAgdW5pb24gewor
ICAgICAgICBMQ2hhciogcHRyODsKKyAgICAgICAgVUNoYXIqIHB0cjE2OworICAgIH0gbV90b2tl
blN0YXJ0OworICAgIGludCBtX2xlbmd0aDsKICAgICBpbnQgbV90b2tlbjsKICAgICBpbnQgbV9s
aW5lTnVtYmVyOwogICAgIGludCBtX2xhc3RTZWxlY3RvckxpbmVOdW1iZXI7CkBAIC00NDAsNiAr
NDk5LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dJbXBvcnRSdWxlczsKICAgICBib29s
IG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlvbnM7CiAKKyAgICBpbnQgKENTU1BhcnNlcjo6Km1f
bGV4RnVuYykodm9pZCopOworCiAgICAgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiA+IG1f
cGFyc2VkUnVsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHlsZUtleWZyYW1lPiA+IG1fcGFyc2Vk
S2V5ZnJhbWVzOwogICAgIFZlY3RvcjxSZWZQdHI8TWVkaWFRdWVyeVNldD4gPiBtX3BhcnNlZE1l
ZGlhUXVlcnlTZXRzOwpAQCAtNTM1LDYgKzU5NiwzOCBAQCBTdHJpbmcgcXVvdGVDU1NTdHJpbmdJ
Zk5lZWRlZChjb25zdCBTdHJpCiBTdHJpbmcgcXVvdGVDU1NVUkxJZk5lZWRlZChjb25zdCBTdHJp
bmcmKTsKIAogYm9vbCBpc1ZhbGlkTnRoVG9rZW4oY29uc3QgQ1NTUGFyc2VyU3RyaW5nJik7CisK
K3RlbXBsYXRlIDw+CitpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OnNldFRva2VuU3RhcnQ8TENoYXI+
KExDaGFyKiB0b2tlblN0YXJ0KQoreworICAgIG1fdG9rZW5TdGFydC5wdHI4ID0gdG9rZW5TdGFy
dDsKK30KKwordGVtcGxhdGUgPD4KK2lubGluZSB2b2lkIENTU1BhcnNlcjo6c2V0VG9rZW5TdGFy
dDxVQ2hhcj4oVUNoYXIqIHRva2VuU3RhcnQpCit7CisgICAgbV90b2tlblN0YXJ0LnB0cjE2ID0g
dG9rZW5TdGFydDsKK30KKworaW5saW5lIHVuc2lnbmVkIENTU1BhcnNlcjo6dG9rZW5TdGFydE9m
ZnNldCgpCit7CisgICAgaWYgKGlzOEJpdFNvdXJjZSgpKQorICAgICAgICByZXR1cm4gbV90b2tl
blN0YXJ0LnB0cjggLSBtX2RhdGFTdGFydDguZ2V0KCk7CisgICAgcmV0dXJuIG1fdG9rZW5TdGFy
dC5wdHIxNiAtIG1fZGF0YVN0YXJ0MTYuZ2V0KCk7Cit9CisKK2lubGluZSBVQ2hhciBDU1NQYXJz
ZXI6OnRva2VuU3RhcnRDaGFyKCkKK3sKKyAgICBpZiAoaXM4Qml0U291cmNlKCkpCisgICAgICAg
IHJldHVybiAqbV90b2tlblN0YXJ0LnB0cjg7CisgICAgcmV0dXJuICptX3Rva2VuU3RhcnQucHRy
MTY7Cit9CisKK2lubGluZSBpbnQgY3NzeXlsZXgodm9pZCogeXlsdmFsLCBDU1NQYXJzZXIqIHBh
cnNlcikKK3sKKyAgICByZXR1cm4gcGFyc2VyLT5sZXgoeXlsdmFsKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gQ1NTUGFyc2VyX2gKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyVmFsdWVzLmgJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQAog
I2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCiAjaW5j
bHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzEsMTMgKzMyLDc0IEBAIGNsYXNz
IENTU1ZhbHVlOwogY2xhc3MgUXVhbGlmaWVkTmFtZTsKIAogc3RydWN0IENTU1BhcnNlclN0cmlu
ZyB7Ci0gICAgVUNoYXIqIGNoYXJhY3RlcnM7Ci0gICAgaW50IGxlbmd0aDsKKyAgICB2b2lkIGlu
aXQoTENoYXIqIGNoYXJhY3RlcnMsIGludCBsZW5ndGgpCisgICAgeworICAgICAgICBtX2RhdGEu
Y2hhcmFjdGVyczggPSBjaGFyYWN0ZXJzOworICAgICAgICBtX2xlbmd0aCA9IGxlbmd0aDsKKyAg
ICAgICAgbV9pczhCaXQgPSB0cnVlOworICAgIH0KKworICAgIHZvaWQgaW5pdChVQ2hhciogY2hh
cmFjdGVycywgaW50IGxlbmd0aCkKKyAgICB7CisgICAgICAgIG1fZGF0YS5jaGFyYWN0ZXJzMTYg
PSBjaGFyYWN0ZXJzOworICAgICAgICBtX2xlbmd0aCA9IGxlbmd0aDsKKyAgICAgICAgbV9pczhC
aXQgPSBmYWxzZTsKKyAgICB9CisKKyAgICB2b2lkIGluaXQoU3RyaW5nIHN0cmluZykKKyAgICB7
CisgICAgICAgIG1fbGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOworICAgICAgICBpZiAobV9sZW5n
dGggJiYgc3RyaW5nLmlzOEJpdCgpKSB7CisgICAgICAgICAgICBtX2RhdGEuY2hhcmFjdGVyczgg
PSBjb25zdF9jYXN0PExDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnM4KCkpOworICAgICAgICAgICAg
bV9pczhCaXQgPSB0cnVlOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbV9kYXRhLmNo
YXJhY3RlcnMxNiA9IGNvbnN0X2Nhc3Q8VUNoYXIqPihzdHJpbmcuY2hhcmFjdGVycygpKTsKKyAg
ICAgICAgICAgIG1faXM4Qml0ID0gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2b2lk
IGNsZWFyKCkKKyAgICB7CisgICAgICAgIG1fZGF0YS5jaGFyYWN0ZXJzOCA9IDA7CisgICAgICAg
IG1fbGVuZ3RoID0gMDsKKyAgICAgICAgbV9pczhCaXQgPSBmYWxzZTsKKyAgICB9CisKKyAgICBi
b29sIGlzOEJpdCgpIGNvbnN0IHsgcmV0dXJuIG1faXM4Qml0OyB9CisgICAgTENoYXIqIGNoYXJh
Y3RlcnM4KCkgY29uc3QgeyBBU1NFUlQoaXM4Qml0KCkpOyByZXR1cm4gbV9kYXRhLmNoYXJhY3Rl
cnM4OyB9CisgICAgVUNoYXIqIGNoYXJhY3RlcnMxNigpIGNvbnN0IHsgQVNTRVJUKCFpczhCaXQo
KSk7IHJldHVybiBtX2RhdGEuY2hhcmFjdGVyczE2OyB9CisgICAgdGVtcGxhdGUgPHR5cGVuYW1l
IENoYXJhY3RlclR5cGU+CisgICAgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycygpIGNvbnN0Owor
CisgICAgaW50IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CisgICAgdm9pZCBz
ZXRMZW5ndGgoaW50IGxlbmd0aCkgeyBtX2xlbmd0aCA9IGxlbmd0aDsgfQogCiAgICAgdm9pZCBs
b3dlcigpOwogCi0gICAgb3BlcmF0b3IgU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKGNo
YXJhY3RlcnMsIGxlbmd0aCk7IH0KLSAgICBvcGVyYXRvciBBdG9taWNTdHJpbmcoKSBjb25zdCB7
IHJldHVybiBBdG9taWNTdHJpbmcoY2hhcmFjdGVycywgbGVuZ3RoKTsgfQorICAgIFVDaGFyIG9w
ZXJhdG9yW10oaW50IGkpCisgICAgeworICAgICAgICBBU1NFUlQoaSA+PSAwICYmIGkgPCBtX2xl
bmd0aCk7CisgICAgICAgIGlmIChpczhCaXQoKSkKKyAgICAgICAgICAgIHJldHVybiBtX2RhdGEu
Y2hhcmFjdGVyczhbaV07CisgICAgICAgIHJldHVybiBtX2RhdGEuY2hhcmFjdGVyczE2W2ldOwor
ICAgIH0KKworICAgIGJvb2wgZXF1YWxJZ25vcmluZ0Nhc2UoY29uc3QgY2hhciogc3RyKQorICAg
IHsKKyAgICAgICAgaWYgKGlzOEJpdCgpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWxJ
Z25vcmluZ0Nhc2Uoc3RyLCBjaGFyYWN0ZXJzOCgpLCBsZW5ndGgoKSk7CisgICAgICAgIHJldHVy
biBXVEY6OmVxdWFsSWdub3JpbmdDYXNlKHN0ciwgY2hhcmFjdGVyczE2KCksIGxlbmd0aCgpKTsK
KyAgICB9CisKKyAgICBvcGVyYXRvciBTdHJpbmcoKSBjb25zdCB7IHJldHVybiBpczhCaXQoKSA/
IFN0cmluZyhtX2RhdGEuY2hhcmFjdGVyczgsIG1fbGVuZ3RoKSA6IFN0cmluZyhtX2RhdGEuY2hh
cmFjdGVyczE2LCBtX2xlbmd0aCk7IH0KKyAgICBvcGVyYXRvciBBdG9taWNTdHJpbmcoKSBjb25z
dCB7IHJldHVybiBpczhCaXQoKSA/IEF0b21pY1N0cmluZyhtX2RhdGEuY2hhcmFjdGVyczgsIG1f
bGVuZ3RoKSA6IEF0b21pY1N0cmluZyhtX2RhdGEuY2hhcmFjdGVyczE2LCBtX2xlbmd0aCk7IH0K
KworICAgIHVuaW9uIHsKKyAgICAgICAgTENoYXIqIGNoYXJhY3RlcnM4OworICAgICAgICBVQ2hh
ciogY2hhcmFjdGVyczE2OworICAgIH0gbV9kYXRhOworICAgIGludCBtX2xlbmd0aDsKKyAgICBi
b29sIG1faXM4Qml0OwogfTsKIAogc3RydWN0IENTU1BhcnNlckZ1bmN0aW9uOwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmcuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nLmNwcAkocmV2aXNpb24g
MTI2ODM3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmcuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1OCw3IEBAIFRleHRFbmNvZGluZzo6VGV4dEVuY29k
aW5nKGNvbnN0IGNoYXIqIG4KIH0KIAogVGV4dEVuY29kaW5nOjpUZXh0RW5jb2RpbmcoY29uc3Qg
U3RyaW5nJiBuYW1lKQotICAgIDogbV9uYW1lKGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05h
bWUobmFtZS5jaGFyYWN0ZXJzKCksIG5hbWUubGVuZ3RoKCkpKQorICAgIDogbV9uYW1lKGF0b21p
Y0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUobmFtZSkpCiAgICAgLCBtX2JhY2tzbGFzaEFzQ3Vy
cmVuY3lTeW1ib2woYmFja3NsYXNoQXNDdXJyZW5jeVN5bWJvbCgpKQogewogfQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3Ry
eS5jcHAJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
VGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDgsMTIgKzM0OCwx
MyBAQCBjb25zdCBjaGFyKiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOCiAgICAgcmV0dXJu
IHRleHRFbmNvZGluZ05hbWVNYXAtPmdldChuYW1lKTsKIH0KIAotY29uc3QgY2hhciogYXRvbWlj
Q2Fub25pY2FsVGV4dEVuY29kaW5nTmFtZShjb25zdCBVQ2hhciogY2hhcmFjdGVycywgc2l6ZV90
IGxlbmd0aCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorY29uc3QgY2hhciog
YXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTmFtZShjb25zdCBDaGFyYWN0ZXJUeXBlKiBjaGFy
YWN0ZXJzLCBzaXplX3QgbGVuZ3RoKQogewogICAgIGNoYXIgYnVmZmVyW21heEVuY29kaW5nTmFt
ZUxlbmd0aCArIDFdOwogICAgIHNpemVfdCBqID0gMDsKICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGxlbmd0aDsgKytpKSB7Ci0gICAgICAgIFVDaGFyIGMgPSBjaGFyYWN0ZXJzW2ldOworICAg
ICAgICBDaGFyYWN0ZXJUeXBlIGMgPSBjaGFyYWN0ZXJzW2ldOwogICAgICAgICBpZiAoaiA9PSBt
YXhFbmNvZGluZ05hbWVMZW5ndGgpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgYnVm
ZmVyW2orK10gPSBjOwpAQCAtMzYyLDYgKzM2MywxNyBAQCBjb25zdCBjaGFyKiBhdG9taWNDYW5v
bmljYWxUZXh0RW5jb2RpbmdOCiAgICAgcmV0dXJuIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGlu
Z05hbWUoYnVmZmVyKTsKIH0KIAorY29uc3QgY2hhciogYXRvbWljQ2Fub25pY2FsVGV4dEVuY29k
aW5nTmFtZShjb25zdCBTdHJpbmcmIGFsaWFzKQoreworICAgIGlmICghYWxpYXMubGVuZ3RoKCkp
CisgICAgICAgIHJldHVybiAwOworCisgICAgaWYgKGFsaWFzLmlzOEJpdCgpKQorICAgICAgICBy
ZXR1cm4gYXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTmFtZTxMQ2hhcj4oYWxpYXMuY2hhcmFj
dGVyczgoKSwgYWxpYXMubGVuZ3RoKCkpOworCisgICAgcmV0dXJuIGF0b21pY0Nhbm9uaWNhbFRl
eHRFbmNvZGluZ05hbWU8VUNoYXI+KGFsaWFzLmNoYXJhY3RlcnMoKSwgYWxpYXMubGVuZ3RoKCkp
OworfQorCiBib29sIG5vRXh0ZW5kZWRUZXh0RW5jb2RpbmdOYW1lVXNlZCgpCiB7CiAgICAgLy8g
SWYgdGhlIGNhbGxpbmcgdGhyZWFkIGRpZCBub3QgdXNlIGV4dGVuZGVkIGVuY29kaW5nIG5hbWVz
LCBpdCBpcyBmaW5lIGZvciBpdCB0byB1c2UgYSBzdGFsZSBmYWxzZSB2YWx1ZS4KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5
LmgJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dEVuY29kaW5nUmVnaXN0cnkuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAj
aW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIC8vIE9ubHkgVGV4dEVuY29kaW5nIHNob3VsZCB1c2UgdGhlIGZvbGxvd2luZyBm
dW5jdGlvbnMgZGlyZWN0bHkuCiAgICAgY29uc3QgY2hhciogYXRvbWljQ2Fub25pY2FsVGV4dEVu
Y29kaW5nTmFtZShjb25zdCBjaGFyKiBhbGlhcyk7Ci0gICAgY29uc3QgY2hhciogYXRvbWljQ2Fu
b25pY2FsVGV4dEVuY29kaW5nTmFtZShjb25zdCBVQ2hhciogYWxpYXNDaGFyYWN0ZXJzLCBzaXpl
X3QgYWxpYXNMZW5ndGgpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgor
ICAgIGNvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUoY29uc3QgQ2hh
cmFjdGVyVHlwZSosIHNpemVfdCk7CisgICAgY29uc3QgY2hhciogYXRvbWljQ2Fub25pY2FsVGV4
dEVuY29kaW5nTmFtZShjb25zdCBTdHJpbmcmKTsKICAgICBib29sIG5vRXh0ZW5kZWRUZXh0RW5j
b2RpbmdOYW1lVXNlZCgpOwogICAgIGJvb2wgaXNKYXBhbmVzZUVuY29kaW5nKGNvbnN0IGNoYXIq
IGNhbm9uaWNhbEVuY29kaW5nTmFtZSk7CiAgICAgYm9vbCBzaG91bGRTaG93QmFja3NsYXNoQXND
dXJyZW5jeVN5bWJvbEluKGNvbnN0IGNoYXIqIGNhbm9uaWNhbEVuY29kaW5nTmFtZSk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmNwcAkocmV2aXNpb24gMTI2
ODM3KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNlclV0aWxpdGllcy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQzLDExICs0MywxMSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgRmxvYXRUeXBl
PiBzdGF0aWMgaW5sCiAvLyBXZSB1c2UgdGhpcyBnZW5lcmljIHBhcnNlTnVtYmVyIGZ1bmN0aW9u
IHRvIGFsbG93IHRoZSBQYXRoIHBhcnNpbmcgY29kZSB0byB3b3JrIAogLy8gYXQgYSBoaWdoZXIg
cHJlY2lzaW9uIGludGVybmFsbHksIHdpdGhvdXQgYW55IHVubmVjZXNzYXJ5IHJ1bnRpbWUgY29z
dCBvciBjb2RlCiAvLyBjb21wbGV4aXR5LgotdGVtcGxhdGUgPHR5cGVuYW1lIEZsb2F0VHlwZT4g
c3RhdGljIGJvb2wgZ2VuZXJpY1BhcnNlTnVtYmVyKGNvbnN0IFVDaGFyKiYgcHRyLCBjb25zdCBV
Q2hhciogZW5kLCBGbG9hdFR5cGUmIG51bWJlciwgYm9vbCBza2lwKQordGVtcGxhdGUgPHR5cGVu
YW1lIENoYXJhY3RlclR5cGUsIHR5cGVuYW1lIEZsb2F0VHlwZT4gc3RhdGljIGJvb2wgZ2VuZXJp
Y1BhcnNlTnVtYmVyKGNvbnN0IENoYXJhY3RlclR5cGUqJiBwdHIsIGNvbnN0IENoYXJhY3RlclR5
cGUqIGVuZCwgRmxvYXRUeXBlJiBudW1iZXIsIGJvb2wgc2tpcCkKIHsKICAgICBGbG9hdFR5cGUg
aW50ZWdlciwgZGVjaW1hbCwgZnJhYywgZXhwb25lbnQ7CiAgICAgaW50IHNpZ24sIGV4cHNpZ247
Ci0gICAgY29uc3QgVUNoYXIqIHN0YXJ0ID0gcHRyOworICAgIGNvbnN0IENoYXJhY3RlclR5cGUq
IHN0YXJ0ID0gcHRyOwogCiAgICAgZXhwb25lbnQgPSAwOwogICAgIGludGVnZXIgPSAwOwpAQCAt
NjksMTIgKzY5LDEyIEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBGbG9hdFR5cGU+IHN0YXRpYyBib28K
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8gcmVhZCB0aGUgaW50ZWdlciBwYXJ0LCBi
dWlsZCByaWdodC10by1sZWZ0Ci0gICAgY29uc3QgVUNoYXIqIHB0clN0YXJ0SW50UGFydCA9IHB0
cjsKKyAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBwdHJTdGFydEludFBhcnQgPSBwdHI7CiAgICAg
d2hpbGUgKHB0ciA8IGVuZCAmJiAqcHRyID49ICcwJyAmJiAqcHRyIDw9ICc5JykKICAgICAgICAg
KytwdHI7IC8vIEFkdmFuY2UgdG8gZmlyc3Qgbm9uLWRpZ2l0LgogCiAgICAgaWYgKHB0ciAhPSBw
dHJTdGFydEludFBhcnQpIHsKLSAgICAgICAgY29uc3QgVUNoYXIqIHB0clNjYW5JbnRQYXJ0ID0g
cHRyIC0gMTsKKyAgICAgICAgY29uc3QgQ2hhcmFjdGVyVHlwZSogcHRyU2NhbkludFBhcnQgPSBw
dHIgLSAxOwogICAgICAgICBGbG9hdFR5cGUgbXVsdGlwbGllciA9IDE7CiAgICAgICAgIHdoaWxl
IChwdHJTY2FuSW50UGFydCA+PSBwdHJTdGFydEludFBhcnQpIHsKICAgICAgICAgICAgIGludGVn
ZXIgKz0gbXVsdGlwbGllciAqIHN0YXRpY19jYXN0PEZsb2F0VHlwZT4oKihwdHJTY2FuSW50UGFy
dC0tKSAtICcwJyk7CkBAIC0xNDIsMTMgKzE0MiwxOCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgRmxv
YXRUeXBlPiBzdGF0aWMgYm9vCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgcGFyc2VTVkdO
dW1iZXIoVUNoYXIqJiBiZWdpbiwgc2l6ZV90IGxlbmd0aCwgZG91YmxlJiBudW1iZXIpCit0ZW1w
bGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2Jvb2wgcGFyc2VTVkdOdW1iZXIoQ2hhcmFj
dGVyVHlwZSogYmVnaW4sIHNpemVfdCBsZW5ndGgsIGRvdWJsZSYgbnVtYmVyKQogewotICAgIGNv
bnN0IFVDaGFyKiBwdHIgPSBiZWdpbjsKLSAgICBjb25zdCBVQ2hhciogZW5kID0gcHRyICsgbGVu
Z3RoOworICAgIGNvbnN0IENoYXJhY3RlclR5cGUqIHB0ciA9IGJlZ2luOworICAgIGNvbnN0IENo
YXJhY3RlclR5cGUqIGVuZCA9IHB0ciArIGxlbmd0aDsKICAgICByZXR1cm4gZ2VuZXJpY1BhcnNl
TnVtYmVyKHB0ciwgZW5kLCBudW1iZXIsIGZhbHNlKTsKIH0KIAorLy8gRXhwbGljaXRseSBpbnN0
YW50aWF0ZSB0aGUgdHdvIGZsYXZvcnMgb2YgcGFyc2VTVkdOdW1iZXIoKSB0byBzYXRpc2Z5IGV4
dGVybmFsIGNhbGxlcnMKK3RlbXBsYXRlIGJvb2wgcGFyc2VTVkdOdW1iZXIoTENoYXIqIGJlZ2lu
LCBzaXplX3QgbGVuZ3RoLCBkb3VibGUmKTsKK3RlbXBsYXRlIGJvb2wgcGFyc2VTVkdOdW1iZXIo
VUNoYXIqIGJlZ2luLCBzaXplX3QgbGVuZ3RoLCBkb3VibGUmKTsKKwogYm9vbCBwYXJzZU51bWJl
cihjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIqIGVuZCwgZmxvYXQmIG51bWJlciwgYm9v
bCBza2lwKSAKIHsKICAgICByZXR1cm4gZ2VuZXJpY1BhcnNlTnVtYmVyKHB0ciwgZW5kLCBudW1i
ZXIsIHNraXApOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNlclV0aWxpdGllcy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaAko
cmV2aXNpb24gMTI2ODM3KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNlclV0aWxpdGll
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIFNWR1BvaW50TGlzdDsKIAotYm9vbCBwYXJzZVNWR051
bWJlcihVQ2hhciomIHB0ciwgc2l6ZV90IGxlbmd0aCwgZG91YmxlJiBudW1iZXIpOwordGVtcGxh
dGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Citib29sIHBhcnNlU1ZHTnVtYmVyKENoYXJhY3Rl
clR5cGUqIHB0ciwgc2l6ZV90IGxlbmd0aCwgZG91YmxlJiBudW1iZXIpOwogYm9vbCBwYXJzZU51
bWJlcihjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIqIGVuZCwgZmxvYXQmIG51bWJlciwg
Ym9vbCBza2lwID0gdHJ1ZSk7CiBib29sIHBhcnNlTnVtYmVyRnJvbVN0cmluZyhjb25zdCBTdHJp
bmcmLCBmbG9hdCYgbnVtYmVyLCBib29sIHNraXAgPSB0cnVlKTsKIGJvb2wgcGFyc2VOdW1iZXJP
cHRpb25hbE51bWJlcihjb25zdCBTdHJpbmcmIHMsIGZsb2F0JiBoLCBmbG9hdCYgdik7CkBAIC00
MiwxOSArNDMsMjIgQEAgYm9vbCBwYXJzZVJlY3QoY29uc3QgU3RyaW5nJiwgRmxvYXRSZWN0Jgog
CiAvLyBTVkcgYWxsb3dzIHNldmVyYWwgZGlmZmVyZW50IHdoaXRlc3BhY2UgY2hhcmFjdGVyczoK
IC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9wYXRocy5odG1sI1BhdGhEYXRhQk5GCi1pbmxp
bmUgYm9vbCBpc1NWR1NwYWNlKFVDaGFyIGMpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVy
VHlwZT4KK2lubGluZSBib29sIGlzU1ZHU3BhY2UoQ2hhcmFjdGVyVHlwZSBjKQogewogICAgIHJl
dHVybiBjID09ICcgJyB8fCBjID09ICdcdCcgfHwgYyA9PSAnXG4nIHx8IGMgPT0gJ1xyJzsKIH0K
IAotaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKGNvbnN0IFVDaGFyKiYgcHRyLCBj
b25zdCBVQ2hhciogZW5kKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Citpbmxp
bmUgYm9vbCBza2lwT3B0aW9uYWxTVkdTcGFjZXMoY29uc3QgQ2hhcmFjdGVyVHlwZSomIHB0ciwg
Y29uc3QgQ2hhcmFjdGVyVHlwZSogZW5kKQogewogICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgaXNT
VkdTcGFjZSgqcHRyKSkKICAgICAgICAgcHRyKys7CiAgICAgcmV0dXJuIHB0ciA8IGVuZDsKIH0K
IAotaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzT3JEZWxpbWl0ZXIoY29uc3QgVUNo
YXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQsIFVDaGFyIGRlbGltaXRlciA9ICcsJykKK3RlbXBs
YXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU1ZH
U3BhY2VzT3JEZWxpbWl0ZXIoY29uc3QgQ2hhcmFjdGVyVHlwZSomIHB0ciwgY29uc3QgQ2hhcmFj
dGVyVHlwZSogZW5kLCBjaGFyIGRlbGltaXRlciA9ICcsJykKIHsKICAgICBpZiAocHRyIDwgZW5k
ICYmICFpc1NWR1NwYWNlKCpwdHIpICYmICpwdHIgIT0gZGVsaW1pdGVyKQogICAgICAgICByZXR1
cm4gZmFsc2U7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjY5MDApCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wOC0yOCAgTWljaGFl
bCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KKworICAgICAgICBDU1MgUGFyc2VyIHNob3Vs
ZCBkaXJlY3RseSBwYXJzZSA4IGJpdCBzb3VyY2Ugc3RyaW5ncworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUyMDcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgdGVzdCB0aGF0IGNoZWNrcyB0aGUgY2Fz
ZSB0aGF0IGEgMTYgYml0IHVuaWNvZGUgZXNjYXBlIGluIGFuIDggYml0IENTUyAKKyAgICAgICAg
c291cmNlIGlzIHByb3Blcmx5IGhhbmRsZWQuCisKKyAgICAgICAgKiBmYXN0L2Nzcy91bmljb2Rl
LWVzY2FwZS1pbi04Yml0LXN0cmluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvY3NzL3VuaWNvZGUtZXNjYXBlLWluLThiaXQtc3RyaW5nLmh0bWw6IEFkZGVkLgorCiAyMDEy
LTA4LTI4ICBQaGlsaXAgUm9nZXJzICA8cGRyQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmViYXNl
bGluaW5nIGNocm9taXVtLW1hYyB0ZXN0IHJlc3VsdHMgd2l0aCBzY3JvbGxiYXJzLgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdW5pY29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmctZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3VuaWNvZGUtZXNjYXBl
LWluLThiaXQtc3RyaW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvY3NzL3VuaWNvZGUtZXNjYXBlLWluLThiaXQtc3RyaW5nLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg1MAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTAKKyAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4MTgKKyAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMCwwKSBzaXplIDc4NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAyNDB4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyNDA6ICJU
aGlzIGxpbmUgc2hvdWxkIGVuZCB3aXRoIGEgRXVybyBzaWduICIKKyAgICAgICAgUmVuZGVySW5s
aW5lIChnZW5lcmF0ZWQpIGF0ICgwLDApIHNpemUgMjF4MTgKKyAgICAgICAgICBSZW5kZXJUZXh0
IGF0ICgyNDAsMCkgc2l6ZSAyMXgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI0MCwwKSB3
aWR0aCAyMTogIi0gXHh7MjBBQ30iCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy91bmljb2Rl
LWVzY2FwZS1pbi04Yml0LXN0cmluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvY3NzL3VuaWNvZGUtZXNjYXBlLWluLThiaXQtc3RyaW5nLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy91bmljb2RlLWVzY2FwZS1pbi04Yml0LXN0cmluZy5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRt
bDsgY2hhcnNldD11dGYtOCI+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgIHA6YWZ0ZXIg
eworICAgIGNvbnRlbnQ6ICItIFwwMDIwQUMiOyAvKiBFc2NhcGUgdmFsdWUgZm9yIEV1cm8gc2ln
biAqLworICB9CisKKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHAgY2xhc3M9Im92ZXJm
bG93IiA+VGhpcyBsaW5lIHNob3VsZCBlbmQgd2l0aCBhIEV1cm8gc2lnbiA8L3A+Cis8L2JvZHk+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>161038</attachid>
            <date>2012-08-28 12:41:29 -0700</date>
            <delta_ts>2012-08-30 10:00:23 -0700</delta_ts>
            <desc>Performance results of patch</desc>
            <filename>95207 Perf.pdf</filename>
            <type>application/pdf</type>
            <size>22580</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">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
FnLr6JSiI1N5RmNVT/xYInMoZI6kmRw3UJHmVdA8vT5Z8R/pvzqZsrslneTIAawGcAdqr+GigepZ
BETBrOS/ZugFXYpuD+01MMF2HMHtqTaSw07doo8gOudU6FidhJK46EimiTfhlfYUSgZ+KLIiAxjr
gAbR/we7R6eJCmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKMTgwMDAKZW5kb2JqCgo3IDAgb2Jq
Cjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkFBQUFBK0FyaWFsTVQKL0ZsYWdzIDQK
L0ZvbnRCQm94Wy02NjQgLTMyNCAyMDAwIDEwMDZdL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA5MDUK
L0Rlc2NlbnQgLTIxMQovQ2FwSGVpZ2h0IDEwMDUKL1N0ZW1WIDgwCi9Gb250RmlsZTIgNSAwIFIK
Pj4KZW5kb2JqCgo4IDAgb2JqCjw8L0xlbmd0aCA0MTAvRmlsdGVyL0ZsYXRlRGVjb2RlPj4Kc3Ry
ZWFtCnicXZPLbsIwEEX3+Qov6QIltvMACUWiQCQWfai0HxCSgUZqnMiEBX9fz1zaSl2Ajscz9sG6
xJv9du+6KX71Q3OgSZ0613q6DFffkDrSuXORNqrtmum+ku+mr8coDrOH22Wifu9Ow2oVxW9h7zL5
m5qt2+FID1H84lvynTur2cfmENaH6zh+UU9uUklUlqqlUzjnqR6f655imZrv27DdTbd5GPlreL+N
pIysNVSaoaXLWDfka3emaJUkpVpVVRmRa//tpQYjx1PzWfvQqkNrkmRJGdgI5xmzFS4Mc4p6zpyB
K+YcvGUuwJp5Ad4xL8GWeS1s5K5HnC+8Qc+SeYu69O/AKXOFnkVgnQhb7tfwt+ys4W/ZWcPf8vka
/rZghn8qPXf/DTP8M+mBf8r3avhb9tF3f/5dGv5WfOBv+X00/C2/g4a/lXPgn/JbGfgbdjbwN1KH
fyF1+Oc8a+Cf8l0G/pnU4Z+yv4F/wfca+Bf8Pgb+hczCPy8kGPcEcEQ4wz/RU83V+xA7CbrkjZPW
Ofr9L4zDyFPy+QYTAM0+CmVuZHN0cmVhbQplbmRvYmoKCjkgMCBvYmoKPDwvVHlwZS9Gb250L1N1
YnR5cGUvVHJ1ZVR5cGUvQmFzZUZvbnQvQkFBQUFBK0FyaWFsTVQKL0ZpcnN0Q2hhciAwCi9MYXN0
Q2hhciA0MgovV2lkdGhzWzc1MCA2NjYgNTU2IDMzMyAyNzcgNTU2IDgzMyA1NTYgNTU2IDUwMCAy
NzcgNTU2IDIyMiA1MDAgMjc3IDU1Ngo1NTYgNTU2IDU1NiA1NTYgNTU2IDY2NiAyMjIgOTQzIDcy
MiA1NTYgMjc3IDU1NiA1NTYgNTU2IDU1NiA4MzMKODg5IDMzMyA1NTYgNTU2IDcyMiA2MTAgNTU2
IDU1NiA1MDAgNTAwIDU1NiBdCi9Gb250RGVzY3JpcHRvciA3IDAgUgovVG9Vbmljb2RlIDggMCBS
Cj4+CmVuZG9iagoKMTAgMCBvYmoKPDwvRjEgOSAwIFIKPj4KZW5kb2JqCgoxMSAwIG9iago8PC9G
b250IDEwIDAgUgovUHJvY1NldFsvUERGL1RleHRdCj4+CmVuZG9iagoKMSAwIG9iago8PC9UeXBl
L1BhZ2UvUGFyZW50IDQgMCBSL1Jlc291cmNlcyAxMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJd
L0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDIg
MCBSPj4KZW5kb2JqCgoxMiAwIG9iago8PC9Db3VudCAxL0ZpcnN0IDEzIDAgUi9MYXN0IDEzIDAg
Ugo+PgplbmRvYmoKCjEzIDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNTMwMDY4MDA2NTAw
NjUwMDc0MDAzMT4KL0Rlc3RbMSAwIFIvWFlaIDAgNzkyIDBdL1BhcmVudCAxMiAwIFI+PgplbmRv
YmoKCjQgMCBvYmoKPDwvVHlwZS9QYWdlcwovUmVzb3VyY2VzIDExIDAgUgovTWVkaWFCb3hbIDAg
MCA2MTIgNzkyIF0KL0tpZHNbIDEgMCBSIF0KL0NvdW50IDE+PgplbmRvYmoKCjE0IDAgb2JqCjw8
L1R5cGUvQ2F0YWxvZy9QYWdlcyA0IDAgUgovT3BlbkFjdGlvblsxIDAgUiAvWFlaIG51bGwgbnVs
bCAwXQovT3V0bGluZXMgMTIgMCBSCj4+CmVuZG9iagoKMTUgMCBvYmoKPDwvQXV0aG9yPEZFRkYw
MDREMDA2OTAwNjMwMDY4MDA2MTAwNjUwMDZDMDAyMDAwNTMwMDYxMDA2MjAwNkYwMDY2MDA2Nj4K
L0NyZWF0b3I8RkVGRjAwNDMwMDYxMDA2QzAwNjM+Ci9Qcm9kdWNlcjxGRUZGMDA0RjAwNzAwMDY1
MDA2RTAwNEYwMDY2MDA2NjAwNjkwMDYzMDA2NTAwMkUwMDZGMDA3MjAwNjcwMDIwMDAzMzAwMkUw
MDMzPgovQ3JlYXRpb25EYXRlKEQ6MjAxMjA4MjgxMTE1MTMtMDcnMDAnKT4+CmVuZG9iagoKeHJl
ZgowIDE2CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAyMTMwMyAwMDAwMCBuIAowMDAwMDAwMDE5
IDAwMDAwIG4gCjAwMDAwMDIxMDAgMDAwMDAgbiAKMDAwMDAyMTYwNyAwMDAwMCBuIAowMDAwMDAy
MTIxIDAwMDAwIG4gCjAwMDAwMjAyMDYgMDAwMDAgbiAKMDAwMDAyMDIyOCAwMDAwMCBuIAowMDAw
MDIwNDE3IDAwMDAwIG4gCjAwMDAwMjA4OTYgMDAwMDAgbiAKMDAwMDAyMTIxNiAwMDAwMCBuIAow
MDAwMDIxMjQ4IDAwMDAwIG4gCjAwMDAwMjE0NDYgMDAwMDAgbiAKMDAwMDAyMTUwMiAwMDAwMCBu
IAowMDAwMDIxNzA2IDAwMDAwIG4gCjAwMDAwMjE4MDcgMDAwMDAgbiAKdHJhaWxlcgo8PC9TaXpl
IDE2L1Jvb3QgMTQgMCBSCi9JbmZvIDE1IDAgUgovSUQgWyA8MEIxRDEyNDc3RDI3NzE5OTAyMDBE
Mjg1QzA3QUM5NDc+CjwwQjFEMTI0NzdEMjc3MTk5MDIwMEQyODVDMDdBQzk0Nz4gXQovRG9jQ2hl
Y2tzdW0gL0RDRjI0MjVDRUNGQUI0OUYyRTgwOTBFQkNDOTgyMDA2Cj4+CnN0YXJ0eHJlZgoyMjA1
NgolJUVPRgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161039</attachid>
            <date>2012-08-28 12:44:01 -0700</date>
            <delta_ts>2012-08-28 18:54:55 -0700</delta_ts>
            <desc>Patch with style nit fixed</desc>
            <filename>95207-1.patch</filename>
            <type>text/plain</type>
            <size>92573</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMjY5MDApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA4LTI4ICBNaWNoYWVsIFNhYm9mZiAgPG1z
YWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIENTUyBQYXJzZXIgc2hvdWxkIGRpcmVjdGx5IHBh
cnNlIDggYml0IHNvdXJjZSBzdHJpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NTIwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5oOgorICAgICAgICAoV1RGOjpl
cXVhbElnbm9yaW5nQ2FzZSk6IEFkZGVkIChjb25zdCBjaGFyKiwgY29uc3QgTENoYXIqLCB1bnNp
Z25lZCkgZmxhdm9yIHRvIHN1cHBvcnQKKyAgICAgICAgOCBiaXQgQ1NTIHBhcnNlciB3b3JrLgor
CiAyMDEyLTA4LTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI2ODM2LgpJbmRleDogU291cmNl
L1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYv
dGV4dC9TdHJpbmdJbXBsLmgJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9XVEYvd3RmL3Rl
eHQvU3RyaW5nSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NDYsNiArODQ2LDcgQEAgV1RGX0VY
UE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1YWxJZ25vcmluZwogaW5saW5lIGJvb2wgZXF1YWxJZ25v
cmluZ0Nhc2UoY29uc3QgVUNoYXIqIGEsIGNvbnN0IGNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkg
eyByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2UoYSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hh
cio+KGIpLCBsZW5ndGgpOyB9CiBpbmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBM
Q2hhciogYSwgY29uc3QgVUNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1cm4gZXF1YWxJ
Z25vcmluZ0Nhc2UoYiwgYSwgbGVuZ3RoKTsgfQogaW5saW5lIGJvb2wgZXF1YWxJZ25vcmluZ0Nh
c2UoY29uc3QgY2hhciogYSwgY29uc3QgVUNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1
cm4gZXF1YWxJZ25vcmluZ0Nhc2UoYiwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KGEp
LCBsZW5ndGgpOyB9CitpbmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBjaGFyKiBh
LCBjb25zdCBMQ2hhciogYiwgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBlcXVhbElnbm9yaW5n
Q2FzZShiLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oYSksIGxlbmd0aCk7IH0KIAog
V1RGX0VYUE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1YWxJZ25vcmluZ051bGxpdHkoU3RyaW5nSW1w
bCosIFN0cmluZ0ltcGwqKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI2OTAwKQorKysg
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTM4IEBA
CisyMDEyLTA4LTI4ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENTUyBQYXJzZXIgc2hvdWxkIGRpcmVjdGx5IHBhcnNlIDggYml0IHNvdXJjZSBzdHJpbmdz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTIwNwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZWQg
Q1NTUGFyc2VyIHRvIGhhbmRsZSA4IGJpdCBzdHJpbmdzIGRpcmVjdGx5LiBUZW1wbGF0aXplZCBt
b3N0IHByaXZhdGUgcGFyc2luZyBtZXRob2RzCisgICAgICAgIGFuZCBoZWxwZXIgbWV0aG9kcyBi
eSBjaGFyYWN0ZXIgdHlwZS4gSW50cm9kdWNlZCBzZXZlcmFsIHRlbXBsYXRpemVkIGhlbHBlciBt
ZXRob2RzIGZvcgorICAgICAgICBwYXJzaW5nIG1ldGhvZHMuIFNvbWUgb2YgdGhlc2UgaGVscGVy
IG1ldGhvZHMgaGF2ZSBpbmRlcGVuZGVudCBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHRlbXBsYXRl
CisgICAgICAgIHR5cGVzIHRvIGhhbmRsZSB0aGF0IGFuIDggYml0IHNvdXJjZSBzdHJpbmcgd2hl
biBwYXJzZWQgcHJvZHVjZXMgYSAxNiBiaXQgcmVzdWx0LiBUaGlzIGlzIGR1ZQorICAgICAgICB0
byB1bmljb2RlIGVzY2FwZXMuIFJlbmFtZWQgdGhlIGxleCBtZXRob2QgInJlYWxMZXgiIGFuZCBt
YWRlIGl0IGEgdGVtcGxhdGVkIG1ldGhvZC4gVGhlIGxleAorICAgICAgICBtZXRob2QgdGhhdCBp
cyBjYWxsZWQgYnkgY3NzeXlsZXgoKSwgd2hpY2ggaXMgbm93IGlubGluZWQsIGludm9rZXMgdGhl
IGNvcnJlY3QgaW5zdGFuY2Ugb2YgcmVhbExleAorICAgICAgICB2aWEgYSBtZW1iZXIgZnVuY3Rp
b24gcG9pbnRlci4KKworICAgICAgICBTcGxpdCBvdXQgdGhlIGVuY29kaW5nIHBhcnQgb2YgcGFy
c2VFc2NhcGUoKSBpbnRvIGEgbmV3IHRlbXBsYXRlZCBVbmljb2RlVG9DaGFycygpIG1ldGhvZC4K
KworICAgICAgICBBZGRlZCA4LzE2IGJpdCBzd2l0Y2hpbmcgdG8gQ1NTUGFyc2VyU3RyaW5nIGFz
IHdlbGwgYXMgYWRkZWQgaW5pdGlhbGl6YXRpb24sIHNldHRlcnMgYW5kIGdldHRlcnMuCisgICAg
ICAgIE5vdGUgdGhhdCBDU1NQYXJzZXJTdHJpbmcgbXVzdCBoYXZlIGEgZGVmYXVsdCBjb25zdHJ1
Y3RvciBhcyBpdCBpcyBwYXJ0IG9mIHRoZSBZWUxWQUwgdW5pb24uCisgICAgICAgIFRoZXJlZm9y
ZSBjcmVhdGVkIGluaXQoKSBtZXRob2RzIGluc3RlYWQgb2YgY29uc3RydWN0b3JzLiBNYW55IG9m
IHRoZSBwYXJzZXIgZnVuY3Rpb24gbm93IGRpcmVjdGx5CisgICAgICAgIG1vZGlmeSB0aGUgaW5z
dGFuY2UgaW4geXlsdmFsLiBNYWRlIHN1cHBvcnRpbmcgY2hhbmdlcyBpbiBvdGhlciB3ZWJjb3Jl
IGNsYXNzZXMgdGhhdCBhcmUgdXNlZAorICAgICAgICBkaXJlY3RseSBieSBDU1NQYXJzZXIuCisK
KyAgICAgICAgVGVzdDogZmFzdC9jc3MvdW5pY29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmcuaHRt
bAorCisgICAgICAgICogY3NzL0NTU0dyYW1tYXIueTogUmVtb3ZlZCBjc3N5eWxleCgpIGFuZCBj
aGFuZ2VkIG1hbmlwdWxhdGlvbiBvZiBDU1NQYXJzZXJTdHJpbmcgb2JqZWN0cyB0bworICAgICAg
ICB1c2UgbmV3bHkgd3JpdHRlbiBtZXRob2RzIGluc3RlYWQgb2YgZGlyZWN0IG1hbmlwdWxhdGlv
biBvZiBhdHRyaWJ1dGVzLgorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAg
IFRlbXBsYXRpemVkIG5ldyBvciBleGlzdGluZyBoZWxwZXIgbWV0aG9kcworICAgICAgICAoV2Vi
Q29yZTo6ZXF1YWwpOgorICAgICAgICAoV2ViQ29yZTo6ZXF1YWxJZ25vcmluZ0Nhc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6bWFrZUxvd2VyKToKKyAgICAgICAgKFdlYkNvcmU6OmlzQ1NTTGV0dGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OmlzQ1NTRXNjYXBlKToKKyAgICAgICAgKFdlYkNvcmU6Omlz
VVJJTGV0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OmlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNo
KToKKyAgICAgICAgKFdlYkNvcmU6OmlzRXF1YWxUb0NTU0lkZW50aWZpZXIpOgorICAgICAgICAo
V2ViQ29yZTo6Y2hlY2tBbmRTa2lwRXNjYXBlKToKKyAgICAgICAgKFdlYkNvcmU6OnNraXBXaGl0
ZVNwYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y3VycmVudENoYXJhY3RlcjE2
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6aXNJZGVudGlmaWVyU3RhcnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpjaGVja0FuZFNraXBTdHJpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVVuaWNvZGVSYW5nZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQYXJzZXI6OnBhcnNlTnRoQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
OjpwYXJzZU50aENoaWxkRXh0cmEpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpkZXRl
Y3RGdW5jdGlvblR5cGVUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVj
dE1lZGlhUXVlcnlUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdE51
bWJlclRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6ZGV0ZWN0RGFzaFRva2Vu
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6ZGV0ZWN0QXRUb2tlbik6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnNldFJ1bGVIZWFkZXJFbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6Y3NzUHJvcGVydHlJRCk6CisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Q1NTUGFy
c2VyKTogVXBkYXRlZCBjb25zdHJ1Y3RvciBmb3IgaW5pdGlhbGl6aW5nIG5ldyBhdHRyaWJ1dGVz
LgorCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6Omxvd2VyKTogQ2FsbHMgbmV3
IG1ha2VMb3dlcigpIHRlbXBsYXRlIGhlbHBlci4KKworICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyOjpzZXR1cFBhcnNlcik6IEFkZGVkIDggYml0IHBhdGggYW5kIHNldCB1cCBwYXJzZXIgYXBw
cm9wcmlhdGUgdG8KKyAgICAgICAgc3RyaW5nIHR5cGUuCisKKyAgICAgICAgKFdlYkNvcmU6OnBh
cnNlQ29sb3JWYWx1ZSk6IFVwZGF0ZWQgdG8gdXNlIG5ldyBDU1NQYXJzZXJTdHJpbmc6OmluaXQo
KQorICAgICAgICAoV2ViQ29yZTo6cGFyc2VTaW1wbGVMZW5ndGgpOgorICAgICAgICAoV2ViQ29y
ZTo6cGFyc2VLZXl3b3JkVmFsdWUpOiBVcGRhdGVkIHRvIHVzZSBuZXcgQ1NTUGFyc2VyU3RyaW5n
Ojppbml0KCkKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlVHJhbnNmb3JtQXJndW1lbnRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcik6IFVwZGF0ZWQgdG8g
dXNlIG5ldyBDU1NQYXJzZXJTdHJpbmc6OmluaXQoKQorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyOjpzdG9yZVZhcmlhYmxlRGVjbGFyYXRpb24pOiBDcmVhdGUgcmlnaHQgY2hhcmFjdGVyIHNp
emVkIEF0b21pY1N0cmluZy4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRGYW1pbHlWYWx1ZUJ1aWxk
ZXI6OmFkZCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb25JbmZvOjpUcmFu
c2Zvcm1PcGVyYXRpb25JbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VG
b250RmVhdHVyZVRhZyk6CisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VFc2Nh
cGUpOiBOb3cgb25seSBwYXJzZXMgYW4gZXNjYXBlIGFuZCByZXR1cm5zIHRoZSByZXN1bHRpbmcK
KyAgICAgICAgVW5pY29kZSB2YWx1ZSBhcyBhbiB1bnNpZ25lZC4KKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6VW5pY29kZVRvQ2hhcnMpOiBOZXcgbWV0aG9kIHRvIHdyaXRlIG91dCB1bmlj
b2RlIGNoYXJhY3RlcihzKQorICAgICAgICBiYXNlZCBvbiBjaGFyYWN0ZXIgdHlwZS4KKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VJZGVudGlmaWVySW50ZXJuYWwpOiBUZW1wbGF0
ZWQgaGVscGVyLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUlkZW50aWZpZXIp
OiBQYXJzZXMgaWRlbnRpZmllcnMsIHBvc3NpYmx5IHVwY29udmVydGluZworICAgICAgICB0aGUg
cmVzdWx0IHdoZW4gYSB1bmljb2RlIGVzY2FwZSBpcyBmb3VuZCBpbiBhbiA4IGJpdCBzb3VyY2Uu
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU3RyaW5nSW50ZXJuYWwpOiBUZW1w
bGF0ZWQgaGVscGVyLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVN0cmluZyk6
IFBhcnNlcyBzdHJpbmdzLCBwb3NzaWJseSB1cGNvbnZlcnRpbmcKKyAgICAgICAgdGhlIHJlc3Vs
dCB3aGVuIGEgdW5pY29kZSBlc2NhcGUgaXMgZm91bmQgaW4gYW4gOCBiaXQgc291cmNlLgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVVSSUludGVybmFsKTogVGVtcGxhdGVkIGhl
bHBlci4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VVUkkpOiBSZXBhcnNlcyBh
IHBhcnNlZCBpZGVudGlmaWVyIHRvIHNlZSBpZiBpdCBpcyBhIFVSSS4KKyAgICAgICAgVGhpcyBt
ZXRob2QgZG9lc24ndCBuZWVkIHRvIHVwIGNvbnZlcnQgZnJvbSA4IHRvIDE2IGJpdHMgc2luY2Ug
dGhhdCB3b3VsZCBoYXZlIGJlZW4KKyAgICAgICAgZG9uZSBpbiBwYXJzZUlkZW50ZmllcigpLgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpyZWFsTGV4KTogTG90IG9mIHRlbXBsYXRlIHJl
bGF0ZWQgY2hhbmdlcy4gIFJlbW92ZWQgeXlsdmFsLT5zdHJpbmcKKyAgICAgICAgQVNTRVJUIGNo
ZWNrcyBhdCB0aGUgZW5kLCBzaW5jZSB0aGV5IGFyZSB0b28gbmFpdmUgdG8gaGFuZGxlIHVwY29u
dmVydGVkIGlkZW50aWZpZXIsCisgICAgICAgIHN0cmluZyBhbmQgVVJJcy4gIFRoZXkgY29tcGFy
ZWQgc291cmNlIHBvaW50ZXJzIChtX3Rva2VuU3RhcnQpIHdpdGggcmVzdWx0aW5nIHN0cmluZ3Mu
CisgICAgICAgIChXZWJDb3JlOjpmaXhVbnBhcnNlZFByb3BlcnRpZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpmaXhVbnBhcnNlZFByb3BlcnR5UmFuZ2VzKTogQWRkZWQgbmV3IHRl
bXBsYXRlIGhlbHBlciB3aXRoIHNhbWUgbmFtZS4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6bWFya1J1bGVIZWFkZXJTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1h
cmtSdWxlSGVhZGVyRW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFya1J1bGVC
b2R5U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrUnVsZUJvZHlFbmQp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrUHJvcGVydHlTdGFydCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtQcm9wZXJ0eUVuZCk6CisgICAgICAgIChXZWJD
b3JlOjpjc3NWYWx1ZUtleXdvcmRJRCk6CisKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6Cisg
ICAgICAgIChDU1NQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpsZXgpOiBN
YWRlIHRoaXMgaW5saW5lIGhlbHBlciB0aGF0IGNhbGxzIGNvcnJlY3QgcmVhbExleCgpLgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjppczhCaXRTb3VyY2UpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VyOjp0b2tlblN0YXJ0T2Zmc2V0KTogVGVtcGxhdGVkIG1ldGhvZCByZXR1cm5p
bmcgb2Zmc2V0IGluIHNvdXJjZQorICAgICAgICBvZiB0aGUgY3VycmVudCB0b2tlbiBzdGFydC4K
KyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6dG9rZW5TdGFydENoYXIpOiBUZW1wbGF0ZWQg
YWNjZXNzIHRvIG1fdG9rZW5TdGFydC4KKyAgICAgICAgKFdlYkNvcmU6OmNzc3l5bGV4KTogTWFk
ZSB0aGlzIGlubGluZSB0byBhdm9pZCBjYWxsLgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJWYWx1
ZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmluZzo6aW5pdCk6IEFkZGVkIHRo
cmVlIG5ldyBpbml0aWFsaXphdGlvbiBtZXRob2RzLgorCisgICAgICAgIE5ldyBzZXR0ZXJzLCBn
ZXR0ZXJzIGFuZCBoZWxwZXIgbWV0aG9kcy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0
cmluZzo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjppczhCaXQp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjpjaGFyYWN0ZXJzOCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6OmNoYXJhY3RlcnMxNik6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YXJzZXJTdHJpbmc6OnNldExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJp
bmc6Om9wZXJhdG9yW10pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjplcXVh
bElnbm9yaW5nQ2FzZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6Om9wZXJh
dG9yIFN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6Om9wZXJhdG9y
IEF0b21pY1N0cmluZyk6CisKKyAgICAgICAgT3RoZXIgbWV0aG9kcyB0ZW1wbGF0aXplZCB0byBz
dXBwb3J0IGNoYW5nZXMgaW4gQ1NTUGFyc2VyLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4
dEVuY29kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFbmNvZGluZzo6VGV4dEVuY29k
aW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUpOgorICAg
ICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuaDoKKyAgICAgICAgKiBz
dmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdlbmVyaWNQYXJz
ZU51bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZVNWR051bWJlcik6CisgICAgICAgICog
c3ZnL1NWR1BhcnNlclV0aWxpdGllcy5oOgorICAgICAgICAoV2ViQ29yZTo6aXNTVkdTcGFjZSk6
CisgICAgICAgIChXZWJDb3JlOjpza2lwT3B0aW9uYWxTVkdTcGFjZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6c2tpcE9wdGlvbmFsU1ZHU3BhY2VzT3JEZWxpbWl0ZXIpOgorCiAyMDEyLTA4LTI4ICBE
YXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBbTmV3IE11bHRpY29sdW1u
XSBSZW5hbWUgc29tZSBmbG93IHRocmVhZCBtZXRob2RzIGFuZCByZWdpb24gbWV0aG9kcy9tZW1i
ZXJzIHRvIG1ha2UgdGhlbQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CShyZXZpc2lvbiAx
MjY4MzcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CSh3b3JraW5nIGNvcHkp
CkBAIC05MywxMSArOTMsNiBAQCBzdGF0aWMgaW5saW5lIGludCBjc3N5eWVycm9yKHZvaWQqLCBj
b25zCiAgICAgcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyBpbnQgY3NzeXlsZXgoWVlTVFlQRSogeXls
dmFsLCBDU1NQYXJzZXIqIHBhcnNlcikKLXsKLSAgICByZXR1cm4gcGFyc2VyLT5sZXgoeXlsdmFs
KTsKLX0KLQogJX0KIAogJWV4cGVjdCA2MgpAQCAtNTA5LDcgKzUwNCw3IEBAIE5BTUVTUEFDRV9T
WU0gbWF5YmVfc3BhY2UgbWF5YmVfbnNfcHJlZmkKIDsKIAogbWF5YmVfbnNfcHJlZml4OgotLyog
ZW1wdHkgKi8geyAkJC5jaGFyYWN0ZXJzID0gMDsgfQorLyogZW1wdHkgKi8geyAkJC5jbGVhcigp
OyB9CiB8IElERU5UIG1heWJlX3NwYWNlIHsgJCQgPSAkMTsgfQogOwogCkBAIC02OTQsOSArNjg5
LDkgQEAga2V5OgogICAgIHwgSURFTlQgewogICAgICAgICAkJC5pZCA9IDA7ICQkLmlzSW50ID0g
ZmFsc2U7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUjsKICAgICAgICAg
Q1NTUGFyc2VyU3RyaW5nJiBzdHIgPSAkMTsKLSAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KCJmcm9tIiwgc3RyLmNoYXJhY3RlcnMsIHN0ci5sZW5ndGgpKQorICAgICAgICBpZiAoc3RyLmVx
dWFsSWdub3JpbmdDYXNlKCJmcm9tIikpCiAgICAgICAgICAgICAkJC5mVmFsdWUgPSAwOwotICAg
ICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSgidG8iLCBzdHIuY2hhcmFjdGVycywgc3Ry
Lmxlbmd0aCkpCisgICAgICAgIGVsc2UgaWYgKHN0ci5lcXVhbElnbm9yaW5nQ2FzZSgidG8iKSkK
ICAgICAgICAgICAgICQkLmZWYWx1ZSA9IDEwMDsKICAgICAgICAgZWxzZQogICAgICAgICAgICAg
WVlFUlJPUjsKQEAgLTk3Niw4ICs5NzEsOCBAQCBzZWxlY3RvcjoKICAgICA7CiAKIG5hbWVzcGFj
ZV9zZWxlY3RvcjoKLSAgICAvKiBlbXB0eSAqLyAnfCcgeyAkJC5jaGFyYWN0ZXJzID0gMDsgJCQu
bGVuZ3RoID0gMDsgfQotICAgIHwgJyonICd8JyB7IHN0YXRpYyBVQ2hhciBzdGFyID0gJyonOyAk
JC5jaGFyYWN0ZXJzID0gJnN0YXI7ICQkLmxlbmd0aCA9IDE7IH0KKyAgICAvKiBlbXB0eSAqLyAn
fCcgeyAkJC5jbGVhcigpOyB9CisgICAgfCAnKicgJ3wnIHsgc3RhdGljIExDaGFyIHN0YXIgPSAn
Kic7ICQkLmluaXQoJnN0YXIsIDEpOyB9CiAgICAgfCBJREVOVCAnfCcgeyAkJCA9ICQxOyB9CiA7
CiAgICAgCkBAIC0xMDQwLDkgKzEwMzUsOCBAQCBlbGVtZW50X25hbWU6CiAgICAgICAgICQkID0g
c3RyOwogICAgIH0KICAgICB8ICcqJyB7Ci0gICAgICAgIHN0YXRpYyBVQ2hhciBzdGFyID0gJyon
OwotICAgICAgICAkJC5jaGFyYWN0ZXJzID0gJnN0YXI7Ci0gICAgICAgICQkLmxlbmd0aCA9IDE7
CisgICAgICAgIHN0YXRpYyBMQ2hhciBzdGFyID0gJyonOworICAgICAgICAkJC5pbml0KCZzdGFy
LCAxKTsKICAgICB9CiAgIDsKIApAQCAtMTA3MCw3ICsxMDY0LDcgQEAgc3BlY2lmaWVyOgogICAg
ICAgICAkJC0+c2V0VmFsdWUoJDEpOwogICAgIH0KICAgfCBIRVggewotICAgICAgICBpZiAoJDEu
Y2hhcmFjdGVyc1swXSA+PSAnMCcgJiYgJDEuY2hhcmFjdGVyc1swXSA8PSAnOScpIHsKKyAgICAg
ICAgaWYgKCQxWzBdID49ICcwJyAmJiAkMVswXSA8PSAnOScpIHsKICAgICAgICAgICAgICQkID0g
MDsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVGbG9h
dGluZ1NlbGVjdG9yKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkocmV2aXNpb24g
MTI2ODM3KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE1NSwyNyArMTU1LDM5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBJTlZBTElEX05VTV9QQVJTRURfUFJPUEVSVElFUyA9IFVJTlRfTUFYOwogc3Rh
dGljIGNvbnN0IGRvdWJsZSBNQVhfU0NBTEUgPSAxMDAwMDAwOwogCi1zdGF0aWMgYm9vbCBlcXVh
bChjb25zdCBDU1NQYXJzZXJTdHJpbmcmIGEsIGNvbnN0IGNoYXIqIGIpCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK0FMV0FZU19JTkxJTkUgc3RhdGljIGJvb2wgZXF1YWwoY29u
c3QgQ2hhcmFjdGVyVHlwZSogYSwgY29uc3QgY2hhciogYiwgaW50IGxlbmd0aCkKIHsKLSAgICBm
b3IgKGludCBpID0gMDsgaSA8IGEubGVuZ3RoOyArK2kpIHsKKyAgICBmb3IgKGludCBpID0gMDsg
aSA8IGxlbmd0aDsgKytpKSB7CiAgICAgICAgIGlmICghYltpXSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgaWYgKGEuY2hhcmFjdGVyc1tpXSAhPSBiW2ldKQorICAgICAgICBp
ZiAoYVtpXSAhPSBiW2ldKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLSAgICBy
ZXR1cm4gIWJbYS5sZW5ndGhdOworICAgIHJldHVybiAhYltsZW5ndGhdOwogfQogCi1zdGF0aWMg
Ym9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBDU1NQYXJzZXJTdHJpbmcmIGEsIGNvbnN0IGNo
YXIqIGIpCitzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBDU1NQYXJzZXJTdHJpbmcmIGEsIGNvbnN0
IGNoYXIqIGIpCit7CisgICAgcmV0dXJuIGEuaXM4Qml0KCkgPyBlcXVhbChhLmNoYXJhY3RlcnM4
KCksIGIsIGEubGVuZ3RoKCkpIDogZXF1YWwoYS5jaGFyYWN0ZXJzMTYoKSwgYiwgYS5sZW5ndGgo
KSk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorQUxXQVlTX0lOTElO
RSBzdGF0aWMgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBDaGFyYWN0ZXJUeXBlKiBhLCBj
b25zdCBjaGFyKiBiLCBpbnQgbGVuZ3RoKQogewotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYS5s
ZW5ndGg7ICsraSkgeworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAg
ICAgICAgaWYgKCFiW2ldKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBBU1NF
UlQoIWlzQVNDSUlVcHBlcihiW2ldKSk7Ci0gICAgICAgIGlmICh0b0FTQ0lJTG93ZXIoYS5jaGFy
YWN0ZXJzW2ldKSAhPSBiW2ldKQorICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGFbaV0pICE9IGJb
aV0pCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQotICAgIHJldHVybiAhYlthLmxl
bmd0aF07CisgICAgcmV0dXJuICFiW2xlbmd0aF07Cit9CisKK3N0YXRpYyBib29sIGVxdWFsSWdu
b3JpbmdDYXNlKGNvbnN0IENTU1BhcnNlclN0cmluZyYgYSwgY29uc3QgY2hhciogYikKK3sKKyAg
ICByZXR1cm4gYS5pczhCaXQoKSA/IGVxdWFsSWdub3JpbmdDYXNlKGEuY2hhcmFjdGVyczgoKSwg
YiwgYS5sZW5ndGgoKSkgOiBlcXVhbElnbm9yaW5nQ2FzZShhLmNoYXJhY3RlcnMxNigpLCBiLCBh
Lmxlbmd0aCgpKTsKIH0KIAogc3RhdGljIGJvb2wgaGFzUHJlZml4KGNvbnN0IGNoYXIqIHN0cmlu
ZywgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBjaGFyKiBwcmVmaXgpCkBAIC0yNjAsOCArMjcyLDEw
IEBAIENTU1BhcnNlcjo6Q1NTUGFyc2VyKGNvbnN0IENTU1BhcnNlckNvbnQKICAgICAsIG1fcHJv
cGVydHlSYW5nZShVSU5UX01BWCwgVUlOVF9NQVgpCiAgICAgLCBtX3J1bGVTb3VyY2VEYXRhUmVz
dWx0KDApCiAgICAgLCBtX3BhcnNpbmdNb2RlKE5vcm1hbE1vZGUpCi0gICAgLCBtX2N1cnJlbnRD
aGFyYWN0ZXIoMCkKLSAgICAsIG1fdG9rZW5TdGFydCgwKQorICAgICwgbV9pczhCaXRTb3VyY2Uo
ZmFsc2UpCisgICAgLCBtX2N1cnJlbnRDaGFyYWN0ZXI4KDApCisgICAgLCBtX2N1cnJlbnRDaGFy
YWN0ZXIxNigwKQorICAgICwgbV9sZW5ndGgoMCkKICAgICAsIG1fdG9rZW4oMCkKICAgICAsIG1f
bGluZU51bWJlcigwKQogICAgICwgbV9sYXN0U2VsZWN0b3JMaW5lTnVtYmVyKDApCkBAIC0yNzIs
NiArMjg2LDcgQEAgQ1NTUGFyc2VyOjpDU1NQYXJzZXIoY29uc3QgQ1NTUGFyc2VyQ29udAogI2lm
IFlZREVCVUcgPiAwCiAgICAgY3NzeXlkZWJ1ZyA9IDE7CiAjZW5kaWYKKyAgICBtX3Rva2VuU3Rh
cnQucHRyOCA9IDA7CiAgICAgQ1NTUHJvcGVydHlTb3VyY2VEYXRhOjppbml0KCk7CiB9CiAKQEAg
LTI4NSw3ICszMDAsOCBAQCBDU1NQYXJzZXI6On5DU1NQYXJzZXIoKQogICAgIGRlbGV0ZUFsbFZh
bHVlcyhtX2Zsb2F0aW5nRnVuY3Rpb25zKTsKIH0KIAotdm9pZCBDU1NQYXJzZXJTdHJpbmc6Omxv
d2VyKCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorQUxXQVlTX0lOTElORSBz
dGF0aWMgdm9pZCBtYWtlTG93ZXIoQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgaW50IGxlbmd0
aCkKIHsKICAgICAvLyBGSVhNRTogSWYgd2UgbmVlZCBVbmljb2RlIGxvd2VyY2FzaW5nIGhlcmUs
IHRoZW4gd2UgcHJvYmFibHkgd2FudCB0aGUgcmVhbCBraW5kCiAgICAgLy8gdGhhdCBjYW4gcG90
ZW50aWFsbHkgY2hhbmdlIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyByYXRoZXIgdGhhbiB0aGUg
Y2hhcmFjdGVyCkBAIC0zMDIsMjUgKzMxOCw2NSBAQCB2b2lkIENTU1BhcnNlclN0cmluZzo6bG93
ZXIoKQogICAgIH0KIH0KIAordm9pZCBDU1NQYXJzZXJTdHJpbmc6Omxvd2VyKCkKK3sKKyAgICBp
ZiAoaXM4Qml0KCkpIHsKKyAgICAgICAgbWFrZUxvd2VyKGNoYXJhY3RlcnM4KCksIGxlbmd0aCgp
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1ha2VMb3dlcihjaGFyYWN0ZXJzMTYo
KSwgbGVuZ3RoKCkpOworfQorCiB2b2lkIENTU1BhcnNlcjo6c2V0dXBQYXJzZXIoY29uc3QgY2hh
ciogcHJlZml4LCBjb25zdCBTdHJpbmcmIHN0cmluZywgY29uc3QgY2hhciogc3VmZml4KQogewog
ICAgIG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCA9IHN0cmxlbihwcmVmaXgpOwotICAgIGludCBs
ZW5ndGggPSBzdHJpbmcubGVuZ3RoKCkgKyBtX3BhcnNlZFRleHRQcmVmaXhMZW5ndGggKyBzdHJs
ZW4oc3VmZml4KSArIDE7CisgICAgaW50IHN0cmluZ0xlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsK
KyAgICBpbnQgbGVuZ3RoID0gc3RyaW5nTGVuZ3RoICsgbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3Ro
ICsgc3RybGVuKHN1ZmZpeCkgKyAxOworCisgICAgaWYgKCFzdHJpbmdMZW5ndGggfHwgc3RyaW5n
LmlzOEJpdCgpKSB7CisgICAgICAgIG1fZGF0YVN0YXJ0OCA9IGFkb3B0QXJyYXlQdHIobmV3IExD
aGFyW2xlbmd0aF0pOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9wYXJzZWRU
ZXh0UHJlZml4TGVuZ3RoOyBpKyspCisgICAgICAgICAgICBtX2RhdGFTdGFydDhbaV0gPSBwcmVm
aXhbaV07CisKKyAgICAgICAgaWYgKHN0cmluZ0xlbmd0aCkKKyAgICAgICAgICAgIG1lbWNweSht
X2RhdGFTdGFydDguZ2V0KCkgKyBtX3BhcnNlZFRleHRQcmVmaXhMZW5ndGgsIHN0cmluZy5jaGFy
YWN0ZXJzOCgpLCBzdHJpbmdMZW5ndGggKiBzaXplb2YoTENoYXIpKTsKKworICAgICAgICB1bnNp
Z25lZCBzdGFydCA9IG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCArIHN0cmluZ0xlbmd0aDsKKyAg
ICAgICAgdW5zaWduZWQgZW5kID0gc3RhcnQgKyBzdHJsZW4oc3VmZml4KTsKKyAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkrKykKKyAgICAgICAgICAgIG1fZGF0YVN0
YXJ0OFtpXSA9IHN1ZmZpeFtpIC0gc3RhcnRdOworCisgICAgICAgIG1fZGF0YVN0YXJ0OFtsZW5n
dGggLSAxXSA9IDA7CiAKLSAgICBtX2RhdGFTdGFydCA9IGFkb3B0QXJyYXlQdHIobmV3IFVDaGFy
W2xlbmd0aF0pOworICAgICAgICBtX2lzOEJpdFNvdXJjZSA9IHRydWU7CisgICAgICAgIG1fY3Vy
cmVudENoYXJhY3RlcjggPSBtX2RhdGFTdGFydDguZ2V0KCk7CisgICAgICAgIG1fY3VycmVudENo
YXJhY3RlcjE2ID0gMDsKKyAgICAgICAgc2V0VG9rZW5TdGFydDxMQ2hhcj4obV9jdXJyZW50Q2hh
cmFjdGVyOCk7CisgICAgICAgIG1fbGVuZ3RoID0gbGVuZ3RoOworICAgICAgICBtX2xleEZ1bmMg
PSAmQ1NTUGFyc2VyOjpyZWFsTGV4PExDaGFyPjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIG1fZGF0YVN0YXJ0MTYgPSBhZG9wdEFycmF5UHRyKG5ldyBVQ2hhcltsZW5ndGhdKTsKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3RoOyBpKysp
Ci0gICAgICAgIG1fZGF0YVN0YXJ0W2ldID0gcHJlZml4W2ldOworICAgICAgICBtX2RhdGFTdGFy
dDE2W2ldID0gcHJlZml4W2ldOwogCi0gICAgbWVtY3B5KG1fZGF0YVN0YXJ0LmdldCgpICsgbV9w
YXJzZWRUZXh0UHJlZml4TGVuZ3RoLCBzdHJpbmcuY2hhcmFjdGVycygpLCBzdHJpbmcubGVuZ3Ro
KCkgKiBzaXplb2YoVUNoYXIpKTsKKyAgICBtZW1jcHkobV9kYXRhU3RhcnQxNi5nZXQoKSArIG1f
cGFyc2VkVGV4dFByZWZpeExlbmd0aCwgc3RyaW5nLmNoYXJhY3RlcnMoKSwgc3RyaW5nTGVuZ3Ro
ICogc2l6ZW9mKFVDaGFyKSk7CiAKLSAgICB1bnNpZ25lZCBzdGFydCA9IG1fcGFyc2VkVGV4dFBy
ZWZpeExlbmd0aCArIHN0cmluZy5sZW5ndGgoKTsKKyAgICB1bnNpZ25lZCBzdGFydCA9IG1fcGFy
c2VkVGV4dFByZWZpeExlbmd0aCArIHN0cmluZ0xlbmd0aDsKICAgICB1bnNpZ25lZCBlbmQgPSBz
dGFydCArIHN0cmxlbihzdWZmaXgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IHN0YXJ0OyBpIDwg
ZW5kOyBpKyspCi0gICAgICAgIG1fZGF0YVN0YXJ0W2ldID0gc3VmZml4W2kgLSBzdGFydF07Cisg
ICAgICAgIG1fZGF0YVN0YXJ0MTZbaV0gPSBzdWZmaXhbaSAtIHN0YXJ0XTsKIAotICAgIG1fZGF0
YVN0YXJ0W2xlbmd0aCAtIDFdID0gMDsKKyAgICBtX2RhdGFTdGFydDE2W2xlbmd0aCAtIDFdID0g
MDsKIAotICAgIG1fY3VycmVudENoYXJhY3RlciA9IG1fdG9rZW5TdGFydCA9IG1fZGF0YVN0YXJ0
LmdldCgpOworICAgIG1faXM4Qml0U291cmNlID0gZmFsc2U7CisgICAgbV9jdXJyZW50Q2hhcmFj
dGVyOCA9IDA7CisgICAgbV9jdXJyZW50Q2hhcmFjdGVyMTYgPSBtX2RhdGFTdGFydDE2LmdldCgp
OworICAgIHNldFRva2VuU3RhcnQ8VUNoYXI+KG1fY3VycmVudENoYXJhY3RlcjE2KTsKKyAgICBt
X2xlbmd0aCA9IGxlbmd0aDsKKyAgICBtX2xleEZ1bmMgPSAmQ1NTUGFyc2VyOjpyZWFsTGV4PFVD
aGFyPjsKIH0KIAogdm9pZCBDU1NQYXJzZXI6OnBhcnNlU2hlZXQoU3R5bGVTaGVldENvbnRlbnRz
KiBzaGVldCwgY29uc3QgU3RyaW5nJiBzdHJpbmcsIGludCBzdGFydExpbmVOdW1iZXIsIFJ1bGVT
b3VyY2VEYXRhTGlzdCogcnVsZVNvdXJjZURhdGFSZXN1bHQpCkBAIC0zOTAsOCArNDQ2LDcgQEAg
c3RhdGljIGJvb2wgcGFyc2VDb2xvclZhbHVlKFN0eWxlUHJvcGVydAogICAgIGlmICghaXNDb2xv
clByb3BlcnR5SUQocHJvcGVydHlJZCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBDU1NQ
YXJzZXJTdHJpbmcgY3NzU3RyaW5nOwotICAgIGNzc1N0cmluZy5jaGFyYWN0ZXJzID0gY29uc3Rf
Y2FzdDxVQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpOwotICAgIGNzc1N0cmluZy5sZW5ndGgg
PSBzdHJpbmcubGVuZ3RoKCk7CisgICAgY3NzU3RyaW5nLmluaXQoc3RyaW5nKTsKICAgICBpbnQg
dmFsdWVJRCA9IGNzc1ZhbHVlS2V5d29yZElEKGNzc1N0cmluZyk7CiAgICAgYm9vbCB2YWxpZFBy
aW1pdGl2ZSA9IGZhbHNlOwogICAgIGlmICh2YWx1ZUlEID09IENTU1ZhbHVlV2Via2l0VGV4dCkK
QEAgLTQ2NCw4ICs1MTksOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTaW1wbGVMZW5ndGhQcm9w
ZXJ0CiAgICAgfQogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhclR5cGU+Ci1zdGF0aWMgaW5s
aW5lIGJvb2wgcGFyc2VTaW1wbGVMZW5ndGgoY29uc3QgQ2hhclR5cGUqIGNoYXJhY3RlcnMsIHVu
c2lnbmVkJiBsZW5ndGgsIENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMmIHVuaXQsIGRvdWJs
ZSYgbnVtYmVyKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5s
aW5lIGJvb2wgcGFyc2VTaW1wbGVMZW5ndGgoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVy
cywgdW5zaWduZWQmIGxlbmd0aCwgQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyYgdW5pdCwg
ZG91YmxlJiBudW1iZXIpCiB7CiAgICAgaWYgKGxlbmd0aCA+IDIgJiYgKGNoYXJhY3RlcnNbbGVu
Z3RoIC0gMl0gfCAweDIwKSA9PSAncCcgJiYgKGNoYXJhY3RlcnNbbGVuZ3RoIC0gMV0gfCAweDIw
KSA9PSAneCcpIHsKICAgICAgICAgbGVuZ3RoIC09IDI7CkBAIC0xMDE3LDggKzEwNzIsNyBAQCBz
dGF0aWMgYm9vbCBwYXJzZUtleXdvcmRWYWx1ZShTdHlsZVByb3BlCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIENTU1BhcnNlclN0cmluZyBjc3NTdHJpbmc7Ci0gICAgY3NzU3RyaW5nLmNo
YXJhY3RlcnMgPSBjb25zdF9jYXN0PFVDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSk7Ci0gICAg
Y3NzU3RyaW5nLmxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAgICBjc3NTdHJpbmcuaW5pdChz
dHJpbmcpOwogICAgIGludCB2YWx1ZUlEID0gY3NzVmFsdWVLZXl3b3JkSUQoY3NzU3RyaW5nKTsK
IAogICAgIGlmICghdmFsdWVJRCkKQEAgLTEwMzgsOCArMTA5Miw4IEBAIHN0YXRpYyBib29sIHBh
cnNlS2V5d29yZFZhbHVlKFN0eWxlUHJvcGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdGVtcGxh
dGUgPHR5cGVuYW1lIENoYXJUeXBlPgotc3RhdGljIGJvb2wgcGFyc2VUcmFuc2Zvcm1Bcmd1bWVu
dHMoV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUqIHRyYW5zZm9ybVZhbHVlLCBDaGFyVHlwZSogY2hh
cmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZXhwZWN0
ZWRDb3VudCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGJvb2wg
cGFyc2VUcmFuc2Zvcm1Bcmd1bWVudHMoV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUqIHRyYW5zZm9y
bVZhbHVlLCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2ln
bmVkIHN0YXJ0LCB1bnNpZ25lZCBleHBlY3RlZENvdW50KQogewogICAgIHdoaWxlIChleHBlY3Rl
ZENvdW50KSB7CiAgICAgICAgIHNpemVfdCBlbmQgPSBXVEY6OmZpbmQoY2hhcmFjdGVycywgbGVu
Z3RoLCBleHBlY3RlZENvdW50ID09IDEgPyAnKScgOiAnLCcsIHN0YXJ0KTsKQEAgLTEyMjIsOCAr
MTI3Niw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVN5c3RlbUNvbG9yKFJHQkEzMiYKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgQ1NTUGFyc2VyU3RyaW5nIGNzc0NvbG9yOwotICAgIGNz
c0NvbG9yLmNoYXJhY3RlcnMgPSBjb25zdF9jYXN0PFVDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMo
KSk7Ci0gICAgY3NzQ29sb3IubGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOworICAgIGNzc0NvbG9y
LmluaXQoc3RyaW5nKTsKICAgICBpbnQgaWQgPSBjc3NWYWx1ZUtleXdvcmRJRChjc3NDb2xvcik7
CiAgICAgaWYgKGlkIDw9IDApCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTMwNjYsNyArMzEx
OSw3IEBAIHZvaWQgQ1NTUGFyc2VyOjpzdG9yZVZhcmlhYmxlRGVjbGFyYXRpb24KICAgICAgICAg
cmV0dXJuOwogICAgIAogICAgIEFTU0VSVChuYW1lLmxlbmd0aCA+IDEyKTsKLSAgICBBdG9taWNT
dHJpbmcgdmFyaWFibGVOYW1lID0gU3RyaW5nKG5hbWUuY2hhcmFjdGVycyArIDEyLCBuYW1lLmxl
bmd0aCAtIDEyKTsKKyAgICBBdG9taWNTdHJpbmcgdmFyaWFibGVOYW1lID0gbmFtZS5pczhCaXQo
KSA/IFN0cmluZyhuYW1lLmNoYXJhY3RlcnM4KCkgKyAxMiwgbmFtZS5sZW5ndGgoKSAtIDEyKSA6
IFN0cmluZyhuYW1lLmNoYXJhY3RlcnMxNigpICsgMTIsIG5hbWUubGVuZ3RoKCkgLSAxMik7CiAK
ICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgc2l6
ZSA9IHZhbHVlLT5zaXplKCk7IGkgPCBzaXplOyBpKyspIHsKQEAgLTQ4NDMsNyArNDg5NiwxMyBA
QCBwdWJsaWM6CiAgICAgewogICAgICAgICBpZiAoIW1fYnVpbGRlci5pc0VtcHR5KCkpCiAgICAg
ICAgICAgICBtX2J1aWxkZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAgIG1fYnVpbGRlci5hcHBlbmQo
c3RyaW5nLmNoYXJhY3RlcnMsIHN0cmluZy5sZW5ndGgpOworCisgICAgICAgIGlmIChzdHJpbmcu
aXM4Qml0KCkpIHsKKyAgICAgICAgICAgIG1fYnVpbGRlci5hcHBlbmQoc3RyaW5nLmNoYXJhY3Rl
cnM4KCksIHN0cmluZy5sZW5ndGgoKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KworICAgICAgICBtX2J1aWxkZXIuYXBwZW5kKHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgc3RyaW5n
Lmxlbmd0aCgpKTsKICAgICB9CiAKICAgICB2b2lkIGNvbW1pdCgpCkBAIC03MjA3LDEwICs3MjY2
LDEwIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VJbWEKIGNsYXNzIFRy
YW5zZm9ybU9wZXJhdGlvbkluZm8gewogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbklu
Zm8oY29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBuYW1lKQotICAgIDogbV90eXBlKFdlYktpdENTU1Ry
YW5zZm9ybVZhbHVlOjpVbmtub3duVHJhbnNmb3JtT3BlcmF0aW9uKQotICAgICwgbV9hcmdDb3Vu
dCgxKQotICAgICwgbV9hbGxvd1NpbmdsZUFyZ3VtZW50KGZhbHNlKQotICAgICwgbV91bml0KENT
U1BhcnNlcjo6RlVua25vd24pCisgICAgICAgIDogbV90eXBlKFdlYktpdENTU1RyYW5zZm9ybVZh
bHVlOjpVbmtub3duVHJhbnNmb3JtT3BlcmF0aW9uKQorICAgICAgICAsIG1fYXJnQ291bnQoMSkK
KyAgICAgICAgLCBtX2FsbG93U2luZ2xlQXJndW1lbnQoZmFsc2UpCisgICAgICAgICwgbV91bml0
KENTU1BhcnNlcjo6RlVua25vd24pCiAgICAgewogICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nh
c2UobmFtZSwgInNjYWxlKCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJzY2FsZXgoIikg
fHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInNjYWxleSgiKSB8fCBlcXVhbElnbm9yaW5nQ2Fz
ZShuYW1lLCAic2NhbGV6KCIpKSB7CiAgICAgICAgICAgICBtX3VuaXQgPSBDU1NQYXJzZXI6OkZO
dW1iZXI7CkBAIC04MTUyLDExICs4MjExLDExIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZvbnRG
ZWF0dXJlVGFnKENTU1YKICAgICAvLyBGZWF0dXJlIHRhZyBuYW1lIGNvbWVzIGZpcnN0CiAgICAg
aWYgKHZhbHVlLT51bml0ICE9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfU1RSSU5HKQogICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKHZhbHVlLT5zdHJpbmcubGVuZ3RoICE9IHRhZ05hbWVM
ZW5ndGgpCisgICAgaWYgKHZhbHVlLT5zdHJpbmcubGVuZ3RoKCkgIT0gdGFnTmFtZUxlbmd0aCkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgdGFnTmFtZUxl
bmd0aDsgKytpKSB7CiAgICAgICAgIC8vIExpbWl0cyB0aGUgcmFuZ2Ugb2YgY2hhcmFjdGVycyB0
byAweDIwLTB4N0UsIGZvbGxvd2luZyB0aGUgdGFnIG5hbWUgcnVsZXMgZGVmaWVuZCBpbiB0aGUg
T3BlblR5cGUgc3BlY2lmaWNhdGlvbi4KLSAgICAgICAgVUNoYXIgY2hhcmFjdGVyID0gdmFsdWUt
PnN0cmluZy5jaGFyYWN0ZXJzW2ldOworICAgICAgICBVQ2hhciBjaGFyYWN0ZXIgPSB2YWx1ZS0+
c3RyaW5nW2ldOwogICAgICAgICBpZiAoY2hhcmFjdGVyIDwgMHgyMCB8fCBjaGFyYWN0ZXIgPiAw
eDdFKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KQEAgLTg0MzcsMzAgKzg0OTYs
MzUgQEAgc3RhdGljIGNvbnN0IENoYXJhY3RlclR5cGUgdHlwZXNPZkFTQ0lJQwogCiAvLyBVdGls
aXR5IGZ1bmN0aW9ucyBmb3IgdGhlIENTUyB0b2tlbml6ZXIuCiAKLXN0YXRpYyBpbmxpbmUgYm9v
bCBpc0NTU0xldHRlcihVQ2hhciBjaGFyYWN0ZXIpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFj
dGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgYm9vbCBpc0NTU0xldHRlcihDaGFyYWN0ZXJUeXBlIGNo
YXJhY3RlcikKIHsKICAgICByZXR1cm4gY2hhcmFjdGVyID49IDEyOCB8fCB0eXBlc09mQVNDSUlD
aGFyYWN0ZXJzW2NoYXJhY3Rlcl0gPD0gQ2hhcmFjdGVyRGFzaDsKIH0KIAotc3RhdGljIGlubGlu
ZSBib29sIGlzQ1NTRXNjYXBlKFVDaGFyIGNoYXJhY3RlcikKK3RlbXBsYXRlIDx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGlzQ1NTRXNjYXBlKENoYXJhY3RlclR5
cGUgY2hhcmFjdGVyKQogewogICAgIHJldHVybiBjaGFyYWN0ZXIgPj0gJyAnICYmIGNoYXJhY3Rl
ciAhPSAxMjc7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1VSSUxldHRlcihVQ2hhciBjaGFy
YWN0ZXIpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUg
Ym9vbCBpc1VSSUxldHRlcihDaGFyYWN0ZXJUeXBlIGNoYXJhY3RlcikKIHsKICAgICByZXR1cm4g
KGNoYXJhY3RlciA+PSAnKicgJiYgY2hhcmFjdGVyICE9IDEyNykgfHwgKGNoYXJhY3RlciA+PSAn
IycgJiYgY2hhcmFjdGVyIDw9ICcmJykgfHwgY2hhcmFjdGVyID09ICchJzsKIH0KIAotc3RhdGlj
IGlubGluZSBib29sIGlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNoKFVDaGFyKiBjdXJyZW50Q2hh
cmFjdGVyKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5l
IGJvb2wgaXNJZGVudGlmaWVyU3RhcnRBZnRlckRhc2goQ2hhcmFjdGVyVHlwZSogY3VycmVudENo
YXJhY3RlcikKIHsKICAgICByZXR1cm4gaXNBU0NJSUFscGhhKGN1cnJlbnRDaGFyYWN0ZXJbMF0p
IHx8IGN1cnJlbnRDaGFyYWN0ZXJbMF0gPT0gJ18nIHx8IGN1cnJlbnRDaGFyYWN0ZXJbMF0gPj0g
MTI4CiAgICAgICAgIHx8IChjdXJyZW50Q2hhcmFjdGVyWzBdID09ICdcXCcgJiYgaXNDU1NFc2Nh
cGUoY3VycmVudENoYXJhY3RlclsxXSkpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNFcXVh
bFRvQ1NTSWRlbnRpZmllcihVQ2hhciogY3NzU3RyaW5nLCBjb25zdCBjaGFyKiBjb25zdGFudFN0
cmluZykKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBi
b29sIGlzRXF1YWxUb0NTU0lkZW50aWZpZXIoQ2hhcmFjdGVyVHlwZSogY3NzU3RyaW5nLCBjb25z
dCBjaGFyKiBjb25zdGFudFN0cmluZykKIHsKLSAgICAvLyBDb21wYXJlIGFuIFVDaGFyIG1lbW9y
eSBkYXRhIHdpdGggYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nLgorICAgIC8vIENvbXBhcmUgYW4g
Y2hhcmFjdGVyIG1lbW9yeSBkYXRhIHdpdGggYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nLgogICAg
IGRvIHsKICAgICAgICAgLy8gVGhlIGlucHV0IG11c3QgYmUgcGFydCBvZiBhbiBpZGVudGlmaWVy
IGlmIGNvbnN0YW50Q2hhciBvciBjb25zdFN0cmluZwogICAgICAgICAvLyBjb250YWlucyAnLScu
IE90aGVyd2lzZSB0b0FTQ0lJTG93ZXJVbmNoZWNrZWQoJ1xyJykgd291bGQgYmUgZXF1YWwgdG8g
Jy0nLgpAQCAtODQ3Miw3ICs4NTM2LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzRXF1YWxUb0NT
U0lkZW50aWZpZQogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgVUNoYXIqIGNoZWNrQW5k
U2tpcEVzY2FwZShVQ2hhciogY3VycmVudENoYXJhY3RlcikKK3RlbXBsYXRlIDx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPgorc3RhdGljIENoYXJhY3RlclR5cGUqIGNoZWNrQW5kU2tpcEVzY2FwZShD
aGFyYWN0ZXJUeXBlKiBjdXJyZW50Q2hhcmFjdGVyKQogewogICAgIC8vIFJldHVybnMgd2l0aCAw
LCBpZiBlc2NhcGUgY2hlY2sgaXMgZmFpbGVkLiBPdGhlcndpc2UKICAgICAvLyBpdCByZXR1cm5z
IHdpdGggdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXIuCkBAIC04NDk3LDcgKzg1NjIsOCBAQCBzdGF0
aWMgVUNoYXIqIGNoZWNrQW5kU2tpcEVzY2FwZShVQ2hhciogCiAgICAgcmV0dXJuIGN1cnJlbnRD
aGFyYWN0ZXIgKyAxOwogfQogCi1zdGF0aWMgaW5saW5lIFVDaGFyKiBza2lwV2hpdGVTcGFjZShV
Q2hhciogY3VycmVudENoYXJhY3RlcikKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBl
Pgorc3RhdGljIGlubGluZSBDaGFyYWN0ZXJUeXBlKiBza2lwV2hpdGVTcGFjZShDaGFyYWN0ZXJU
eXBlKiBjdXJyZW50Q2hhcmFjdGVyKQogewogICAgIHdoaWxlIChpc0hUTUxTcGFjZSgqY3VycmVu
dENoYXJhY3RlcikpCiAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjsKQEAgLTg1MDYsMTMgKzg1
NzIsNTYgQEAgc3RhdGljIGlubGluZSBVQ2hhciogc2tpcFdoaXRlU3BhY2UoVUNoYQogCiAvLyBN
YWluIENTUyB0b2tlbml6ZXIgZnVuY3Rpb25zLgogCit0ZW1wbGF0ZSA8PgorTENoYXIqIENTU1Bh
cnNlclN0cmluZzo6Y2hhcmFjdGVyczxMQ2hhcj4oKSBjb25zdCB7IHJldHVybiBjaGFyYWN0ZXJz
OCgpOyB9CisKK3RlbXBsYXRlIDw+CitVQ2hhciogQ1NTUGFyc2VyU3RyaW5nOjpjaGFyYWN0ZXJz
PFVDaGFyPigpIGNvbnN0IHsgcmV0dXJuIGNoYXJhY3RlcnMxNigpOyB9CisKK3RlbXBsYXRlIDw+
CitpbmxpbmUgTENoYXIqJiBDU1NQYXJzZXI6OmN1cnJlbnRDaGFyYWN0ZXI8TENoYXI+KCkKK3sK
KyAgICByZXR1cm4gbV9jdXJyZW50Q2hhcmFjdGVyODsKK30KKwordGVtcGxhdGUgPD4KK2lubGlu
ZSBVQ2hhciomIENTU1BhcnNlcjo6Y3VycmVudENoYXJhY3RlcjxVQ2hhcj4oKQoreworICAgIHJl
dHVybiBtX2N1cnJlbnRDaGFyYWN0ZXIxNjsKK30KKworVUNoYXIqJgorQ1NTUGFyc2VyOjpjdXJy
ZW50Q2hhcmFjdGVyMTYoKQoreworICAgIGlmICghbV9jdXJyZW50Q2hhcmFjdGVyMTYpIHsKKyAg
ICAgICAgbV9kYXRhU3RhcnQxNiA9IGFkb3B0QXJyYXlQdHIobmV3IFVDaGFyW21fbGVuZ3RoXSk7
CisgICAgICAgIG1fY3VycmVudENoYXJhY3RlcjE2ID0gbV9kYXRhU3RhcnQxNi5nZXQoKTsKKyAg
ICB9CisKKyAgICByZXR1cm4gbV9jdXJyZW50Q2hhcmFjdGVyMTY7Cit9CisKK3RlbXBsYXRlIDw+
CitpbmxpbmUgTENoYXIqIENTU1BhcnNlcjo6dG9rZW5TdGFydDxMQ2hhcj4oKQoreworICAgIHJl
dHVybiBtX3Rva2VuU3RhcnQucHRyODsKK30KKwordGVtcGxhdGUgPD4KK2lubGluZSBVQ2hhciog
Q1NTUGFyc2VyOjp0b2tlblN0YXJ0PFVDaGFyPigpCit7CisgICAgcmV0dXJuIG1fdG9rZW5TdGFy
dC5wdHIxNjsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiBpbmxpbmUg
Ym9vbCBDU1NQYXJzZXI6OmlzSWRlbnRpZmllclN0YXJ0KCkKIHsKICAgICAvLyBDaGVjayB3aGV0
aGVyIGFuIGlkZW50aWZpZXIgaXMgc3RhcnRlZC4KLSAgICByZXR1cm4gaXNJZGVudGlmaWVyU3Rh
cnRBZnRlckRhc2goKCptX2N1cnJlbnRDaGFyYWN0ZXIgIT0gJy0nKSA/IG1fY3VycmVudENoYXJh
Y3RlciA6IG1fY3VycmVudENoYXJhY3RlciArIDEpOworICAgIHJldHVybiBpc0lkZW50aWZpZXJT
dGFydEFmdGVyRGFzaCgoKmN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSAhPSAnLScp
ID8gY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpIDogY3VycmVudENoYXJhY3RlcjxD
aGFyYWN0ZXJUeXBlPigpICsgMSk7CiB9CiAKLWlubGluZSBVQ2hhciogQ1NTUGFyc2VyOjpjaGVj
a0FuZFNraXBTdHJpbmcoVUNoYXIqIGN1cnJlbnRDaGFyYWN0ZXIsIFVDaGFyIHF1b3RlKQordGVt
cGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitpbmxpbmUgQ2hhcmFjdGVyVHlwZSogQ1NT
UGFyc2VyOjpjaGVja0FuZFNraXBTdHJpbmcoQ2hhcmFjdGVyVHlwZSogY3VycmVudENoYXJhY3Rl
ciwgaW50IHF1b3RlKQogewogICAgIC8vIFJldHVybnMgd2l0aCAwLCBpZiBzdHJpbmcgY2hlY2sg
aXMgZmFpbGVkLiBPdGhlcndpc2UKICAgICAvLyBpdCByZXR1cm5zIHdpdGggdGhlIGZvbGxvd2lu
ZyBjaGFyYWN0ZXIuIFRoaXMgaXMgbmVjZXNzYXJ5CkBAIC04NTQ2LDEwMSArODY1NSwxOTQgQEAg
aW5saW5lIFVDaGFyKiBDU1NQYXJzZXI6OmNoZWNrQW5kU2tpcFN0cgogICAgIH0KIH0KIAotdm9p
ZCBDU1NQYXJzZXI6OnBhcnNlRXNjYXBlKFVDaGFyKiYgcmVzdWx0KQordGVtcGxhdGUgPHR5cGVu
YW1lIENoYXJhY3RlclR5cGU+Cit1bnNpZ25lZCBDU1NQYXJzZXI6OnBhcnNlRXNjYXBlKENoYXJh
Y3RlclR5cGUqJiBzcmMpCiB7Ci0gICAgQVNTRVJUKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJ1xc
JyAmJiBpc0NTU0VzY2FwZShtX2N1cnJlbnRDaGFyYWN0ZXJbMV0pKTsKKyAgICBBU1NFUlQoKnNy
YyA9PSAnXFwnICYmIGlzQ1NTRXNjYXBlKHNyY1sxXSkpOworCisgICAgdW5zaWduZWQgdW5pY29k
ZSA9IDA7CisKKyAgICArK3NyYzsKKyAgICBpZiAoaXNBU0NJSUhleERpZ2l0KCpzcmMpKSB7CiAK
LSAgICArK21fY3VycmVudENoYXJhY3RlcjsKLSAgICBpZiAoaXNBU0NJSUhleERpZ2l0KCptX2N1
cnJlbnRDaGFyYWN0ZXIpKSB7Ci0gICAgICAgIHVuc2lnbmVkIHVuaWNvZGUgPSAwOwogICAgICAg
ICBpbnQgbGVuZ3RoID0gNjsKIAogICAgICAgICBkbyB7Ci0gICAgICAgICAgICB1bmljb2RlID0g
KHVuaWNvZGUgPDwgNCkgKyB0b0FTQ0lJSGV4VmFsdWUoKm1fY3VycmVudENoYXJhY3RlcisrKTsK
LSAgICAgICAgfSB3aGlsZSAoLS1sZW5ndGggJiYgaXNBU0NJSUhleERpZ2l0KCptX2N1cnJlbnRD
aGFyYWN0ZXIpKTsKKyAgICAgICAgICAgIHVuaWNvZGUgPSAodW5pY29kZSA8PCA0KSArIHRvQVND
SUlIZXhWYWx1ZSgqc3JjKyspOworICAgICAgICB9IHdoaWxlICgtLWxlbmd0aCAmJiBpc0FTQ0lJ
SGV4RGlnaXQoKnNyYykpOwogCiAgICAgICAgIC8vIENoYXJhY3RlcnMgYWJvdmUgMHgxMGZmZmYg
YXJlIG5vdCBoYW5kbGVkLgogICAgICAgICBpZiAodW5pY29kZSA+IDB4MTBmZmZmKQogICAgICAg
ICAgICAgdW5pY29kZSA9IDB4ZmZmZDsKIAogICAgICAgICAvLyBPcHRpb25hbCBzcGFjZSBhZnRl
ciB0aGUgZXNjYXBlIHNlcXVlbmNlLgotICAgICAgICBpZiAoaXNIVE1MU3BhY2UoKm1fY3VycmVu
dENoYXJhY3RlcikpCi0gICAgICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAg
aWYgKGlzSFRNTFNwYWNlKCpzcmMpKQorICAgICAgICAgICAgKytzcmM7CiAKLSAgICAgICAgLy8g
UmVwbGFjZSB1bmljb2RlIHdpdGggYSBzdXJyb2dhdGUgcGFpcnMgd2hlbiBpdCBpcyBiaWdnZXIg
dGhhbiAweGZmZmYKLSAgICAgICAgaWYgKFUxNl9MRU5HVEgodW5pY29kZSkgPT0gMikgewotICAg
ICAgICAgICAgKnJlc3VsdCsrID0gVTE2X0xFQUQodW5pY29kZSk7Ci0gICAgICAgICAgICAqcmVz
dWx0ID0gVTE2X1RSQUlMKHVuaWNvZGUpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICpy
ZXN1bHQgPSB1bmljb2RlOworICAgICAgICByZXR1cm4gdW5pY29kZTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gKmN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSsrOworfQorCit0ZW1wbGF0
ZSA8PgoraW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpVbmljb2RlVG9DaGFyczxMQ2hhcj4oTENoYXIq
JiByZXN1bHQsIHVuc2lnbmVkIHVuaWNvZGUpCit7CisgICAgQVNTRVJUKHVuaWNvZGUgPD0gMHhm
Zik7CisgICAgKnJlc3VsdCA9IHVuaWNvZGU7CisKKyAgICArK3Jlc3VsdDsKK30KKwordGVtcGxh
dGUgPD4KK2lubGluZSB2b2lkIENTU1BhcnNlcjo6VW5pY29kZVRvQ2hhcnM8VUNoYXI+KFVDaGFy
KiYgcmVzdWx0LCB1bnNpZ25lZCB1bmljb2RlKQoreworICAgIC8vIFJlcGxhY2UgdW5pY29kZSB3
aXRoIGEgc3Vycm9nYXRlIHBhaXJzIHdoZW4gaXQgaXMgYmlnZ2VyIHRoYW4gMHhmZmZmCisgICAg
aWYgKFUxNl9MRU5HVEgodW5pY29kZSkgPT0gMikgeworICAgICAgICAqcmVzdWx0KysgPSBVMTZf
TEVBRCh1bmljb2RlKTsKKyAgICAgICAgKnJlc3VsdCA9IFUxNl9UUkFJTCh1bmljb2RlKTsKICAg
ICB9IGVsc2UKLSAgICAgICAgKnJlc3VsdCA9ICptX2N1cnJlbnRDaGFyYWN0ZXIrKzsKKyAgICAg
ICAgKnJlc3VsdCA9IHVuaWNvZGU7CisKICAgICArK3Jlc3VsdDsKIH0KIAotaW5saW5lIHZvaWQg
Q1NTUGFyc2VyOjpwYXJzZUlkZW50aWZpZXIoVUNoYXIqJiByZXN1bHQsIGJvb2wmIGhhc0VzY2Fw
ZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBTcmNDaGFyYWN0ZXJUeXBlLCB0eXBlbmFtZSBEZXN0Q2hh
cmFjdGVyVHlwZT4KK2lubGluZSBib29sIENTU1BhcnNlcjo6cGFyc2VJZGVudGlmaWVySW50ZXJu
YWwoU3JjQ2hhcmFjdGVyVHlwZSomIHNyYywgRGVzdENoYXJhY3RlclR5cGUqJiByZXN1bHQsIGJv
b2wmIGhhc0VzY2FwZSkKIHsKLSAgICAvLyBJZiBhIHZhbGlkIGlkZW50aWZpZXIgc3RhcnQgaXMg
Zm91bmQsIHdlIGNhbiBzYWZlbHkKLSAgICAvLyBwYXJzZSB0aGUgaWRlbnRpZmllciB1bnRpbCB0
aGUgbmV4dCBpbnZhbGlkIGNoYXJhY3Rlci4KLSAgICBBU1NFUlQoaXNJZGVudGlmaWVyU3RhcnQo
KSk7CiAgICAgaGFzRXNjYXBlID0gZmFsc2U7CiAgICAgZG8gewotICAgICAgICBpZiAoTElLRUxZ
KCptX2N1cnJlbnRDaGFyYWN0ZXIgIT0gJ1xcJykpCi0gICAgICAgICAgICAqcmVzdWx0KysgPSAq
bV9jdXJyZW50Q2hhcmFjdGVyKys7CisgICAgICAgIGlmIChMSUtFTFkoKnNyYyAhPSAnXFwnKSkK
KyAgICAgICAgICAgICpyZXN1bHQrKyA9ICpzcmMrKzsKICAgICAgICAgZWxzZSB7CiAgICAgICAg
ICAgICBoYXNFc2NhcGUgPSB0cnVlOwotICAgICAgICAgICAgcGFyc2VFc2NhcGUocmVzdWx0KTsK
KyAgICAgICAgICAgIFNyY0NoYXJhY3RlclR5cGUqIHNhdmVkRXNjYXBlU3RhcnQgPSBzcmM7Cisg
ICAgICAgICAgICB1bnNpZ25lZCB1bmljb2RlID0gcGFyc2VFc2NhcGU8U3JjQ2hhcmFjdGVyVHlw
ZT4oc3JjKTsKKyAgICAgICAgICAgIGlmICh1bmljb2RlID4gMHhmZiAmJiBzaXplb2YoRGVzdENo
YXJhY3RlclR5cGUpID09IDEpIHsKKyAgICAgICAgICAgICAgICBzcmMgPSBzYXZlZEVzY2FwZVN0
YXJ0OworICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIFVuaWNvZGVUb0NoYXJzKHJlc3VsdCwgdW5pY29kZSk7CiAgICAgICAgIH0KLSAgICB9
IHdoaWxlIChpc0NTU0xldHRlcihtX2N1cnJlbnRDaGFyYWN0ZXJbMF0pIHx8IChtX2N1cnJlbnRD
aGFyYWN0ZXJbMF0gPT0gJ1xcJyAmJiBpc0NTU0VzY2FwZShtX2N1cnJlbnRDaGFyYWN0ZXJbMV0p
KSk7CisgICAgfSB3aGlsZSAoaXNDU1NMZXR0ZXIoc3JjWzBdKSB8fCAoc3JjWzBdID09ICdcXCcg
JiYgaXNDU1NFc2NhcGUoc3JjWzFdKSkpOworCisgICAgcmV0dXJuIHRydWU7CiB9CiAKLWlubGlu
ZSB2b2lkIENTU1BhcnNlcjo6cGFyc2VTdHJpbmcoVUNoYXIqJiByZXN1bHQsIFVDaGFyIHF1b3Rl
KQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitpbmxpbmUgdm9pZCBDU1NQYXJz
ZXI6OnBhcnNlSWRlbnRpZmllcihDaGFyYWN0ZXJUeXBlKiYgcmVzdWx0LCBDU1NQYXJzZXJTdHJp
bmcmIHJlc3VsdFN0cmluZywgYm9vbCYgaGFzRXNjYXBlKQoreworICAgIC8vIElmIGEgdmFsaWQg
aWRlbnRpZmllciBzdGFydCBpcyBmb3VuZCwgd2UgY2FuIHNhZmVseQorICAgIC8vIHBhcnNlIHRo
ZSBpZGVudGlmaWVyIHVudGlsIHRoZSBuZXh0IGludmFsaWQgY2hhcmFjdGVyLgorICAgIEFTU0VS
VChpc0lkZW50aWZpZXJTdGFydDxDaGFyYWN0ZXJUeXBlPigpKTsKKworICAgIENoYXJhY3RlclR5
cGUqIHN0YXJ0ID0gY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpOworICAgIGlmIChV
TkxJS0VMWSghcGFyc2VJZGVudGlmaWVySW50ZXJuYWwoY3VycmVudENoYXJhY3RlcjxDaGFyYWN0
ZXJUeXBlPigpLCByZXN1bHQsIGhhc0VzY2FwZSkpKSB7CisgICAgICAgIC8vIEZvdW5kIGFuIGVz
Y2FwZSB3ZSBjb3VsZG4ndCBoYW5kbGUgd2l0aCA4IGJpdHMsIGNvcHkgd2hhdCBoYXMgYmVlbiBy
ZWNvZ25pemVkIGFuZCBjb250aW51ZQorICAgICAgICBBU1NFUlQoaXM4Qml0U291cmNlKCkpOwor
ICAgICAgICBVQ2hhciomIHJlc3VsdDE2ID0gY3VycmVudENoYXJhY3RlcjE2KCk7CisgICAgICAg
IFVDaGFyKiBzdGFydDE2ID0gcmVzdWx0MTY7CisgICAgICAgIGludCBpID0gMDsKKyAgICAgICAg
Zm9yICg7IGkgPCByZXN1bHQgLSBzdGFydDsgaSsrKQorICAgICAgICAgICAgcmVzdWx0MTZbaV0g
PSBzdGFydFtpXTsKKworICAgICAgICByZXN1bHQxNiArPSBpOworCisgICAgICAgIHBhcnNlSWRl
bnRpZmllckludGVybmFsKGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSwgcmVzdWx0
MTYsIGhhc0VzY2FwZSk7CisKKyAgICAgICAgcmVzdWx0U3RyaW5nLmluaXQoc3RhcnQxNiwgcmVz
dWx0MTYgLSBzdGFydDE2KTsKKworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgcmVzdWx0
U3RyaW5nLmluaXQoc3RhcnQsIHJlc3VsdCAtIHN0YXJ0KTsKK30KKwordGVtcGxhdGUgPHR5cGVu
YW1lIFNyY0NoYXJhY3RlclR5cGUsIHR5cGVuYW1lIERlc3RDaGFyYWN0ZXJUeXBlPgoraW5saW5l
IGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVN0cmluZ0ludGVybmFsKFNyY0NoYXJhY3RlclR5cGUqJiBz
cmMsIERlc3RDaGFyYWN0ZXJUeXBlKiYgcmVzdWx0LCBVQ2hhciBxdW90ZSkKIHsKICAgICB3aGls
ZSAodHJ1ZSkgewotICAgICAgICBpZiAoVU5MSUtFTFkoKm1fY3VycmVudENoYXJhY3RlciA9PSBx
dW90ZSkpIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKCpzcmMgPT0gcXVvdGUpKSB7CiAgICAgICAg
ICAgICAvLyBTdHJpbmcgcGFyc2luZyBpcyBkb25lLgotICAgICAgICAgICAgKyttX2N1cnJlbnRD
aGFyYWN0ZXI7Ci0gICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICArK3NyYzsKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9Ci0gICAgICAgIGlmIChVTkxJS0VMWSghKm1f
Y3VycmVudENoYXJhY3RlcikpIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKCEqc3JjKSkgewogICAg
ICAgICAgICAgLy8gU3RyaW5nIHBhcnNpbmcgaXMgZG9uZSwgYnV0IGRvbid0IGFkdmFuY2UgcG9p
bnRlciBpZiBhdCB0aGUgZW5kIG9mIGlucHV0LgotICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KLSAgICAgICAgQVNTRVJUKCptX2N1cnJlbnRD
aGFyYWN0ZXIgPiAnXHInIHx8ICgqbV9jdXJyZW50Q2hhcmFjdGVyIDwgJ1xuJyAmJiAqbV9jdXJy
ZW50Q2hhcmFjdGVyKSB8fCAqbV9jdXJyZW50Q2hhcmFjdGVyID09ICdcdicpOworICAgICAgICBB
U1NFUlQoKnNyYyA+ICdccicgfHwgKCpzcmMgPCAnXG4nICYmICpzcmMpIHx8ICpzcmMgPT0gJ1x2
Jyk7CiAKLSAgICAgICAgaWYgKExJS0VMWShtX2N1cnJlbnRDaGFyYWN0ZXJbMF0gIT0gJ1xcJykp
Ci0gICAgICAgICAgICAqcmVzdWx0KysgPSAqbV9jdXJyZW50Q2hhcmFjdGVyKys7Ci0gICAgICAg
IGVsc2UgaWYgKG1fY3VycmVudENoYXJhY3RlclsxXSA9PSAnXG4nIHx8IG1fY3VycmVudENoYXJh
Y3RlclsxXSA9PSAnXGYnKQotICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyICs9IDI7Ci0g
ICAgICAgIGVsc2UgaWYgKG1fY3VycmVudENoYXJhY3RlclsxXSA9PSAnXHInKQotICAgICAgICAg
ICAgbV9jdXJyZW50Q2hhcmFjdGVyICs9IG1fY3VycmVudENoYXJhY3RlclsyXSA9PSAnXG4nID8g
MyA6IDI7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHBhcnNlRXNjYXBlKHJlc3VsdCk7Cisg
ICAgICAgIGlmIChMSUtFTFkoc3JjWzBdICE9ICdcXCcpKQorICAgICAgICAgICAgKnJlc3VsdCsr
ID0gKnNyYysrOworICAgICAgICBlbHNlIGlmIChzcmNbMV0gPT0gJ1xuJyB8fCBzcmNbMV0gPT0g
J1xmJykKKyAgICAgICAgICAgIHNyYyArPSAyOworICAgICAgICBlbHNlIGlmIChzcmNbMV0gPT0g
J1xyJykKKyAgICAgICAgICAgIHNyYyArPSBzcmNbMl0gPT0gJ1xuJyA/IDMgOiAyOworICAgICAg
ICBlbHNlIHsKKyAgICAgICAgICAgIFNyY0NoYXJhY3RlclR5cGUqIHNhdmVkRXNjYXBlU3RhcnQg
PSBzcmM7CisgICAgICAgICAgICB1bnNpZ25lZCB1bmljb2RlID0gcGFyc2VFc2NhcGU8U3JjQ2hh
cmFjdGVyVHlwZT4oc3JjKTsKKyAgICAgICAgICAgIGlmICh1bmljb2RlID4gMHhmZiAmJiBzaXpl
b2YoRGVzdENoYXJhY3RlclR5cGUpID09IDEpIHsKKyAgICAgICAgICAgICAgICBzcmMgPSBzYXZl
ZEVzY2FwZVN0YXJ0OworICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIFVuaWNvZGVUb0NoYXJzKHJlc3VsdCwgdW5pY29kZSk7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIENo
YXJhY3RlclR5cGU+CitpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OnBhcnNlU3RyaW5nKENoYXJhY3Rl
clR5cGUqJiByZXN1bHQsIENTU1BhcnNlclN0cmluZyYgcmVzdWx0U3RyaW5nLCBVQ2hhciBxdW90
ZSkKK3sKKyAgICBDaGFyYWN0ZXJUeXBlKiBzdGFydCA9IGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFj
dGVyVHlwZT4oKTsKKworICAgIGlmIChVTkxJS0VMWSghcGFyc2VTdHJpbmdJbnRlcm5hbChjdXJy
ZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCksIHJlc3VsdCwgcXVvdGUpKSkgeworICAgICAg
ICAvLyBGb3VuZCBhbiBlc2NhcGUgd2UgY291bGRuJ3QgaGFuZGxlIHdpdGggOCBiaXRzLCBjb3B5
IHdoYXQgaGFzIGJlZW4gcmVjb2duaXplZCBhbmQgY29udGludWUKKyAgICAgICAgQVNTRVJUKGlz
OEJpdFNvdXJjZSgpKTsKKyAgICAgICAgVUNoYXIqJiByZXN1bHQxNiA9IGN1cnJlbnRDaGFyYWN0
ZXIxNigpOworICAgICAgICBVQ2hhciogc3RhcnQxNiA9IHJlc3VsdDE2OworICAgICAgICBpbnQg
aSA9IDA7CisgICAgICAgIGZvciAoOyBpIDwgcmVzdWx0IC0gc3RhcnQ7IGkrKykKKyAgICAgICAg
ICAgIHJlc3VsdDE2W2ldID0gc3RhcnRbaV07CisKKyAgICAgICAgcmVzdWx0MTYgKz0gaTsKKwor
ICAgICAgICBwYXJzZVN0cmluZ0ludGVybmFsKGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlw
ZT4oKSwgcmVzdWx0MTYsIHF1b3RlKTsKKworICAgICAgICByZXN1bHRTdHJpbmcuaW5pdChzdGFy
dDE2LCByZXN1bHQxNiAtIHN0YXJ0MTYpOworICAgICAgICByZXR1cm47CiAgICAgfQorCisgICAg
cmVzdWx0U3RyaW5nLmluaXQoc3RhcnQsIHJlc3VsdCAtIHN0YXJ0KTsKIH0KIAotaW5saW5lIHZv
aWQgQ1NTUGFyc2VyOjpwYXJzZVVSSShVQ2hhciomIHN0YXJ0LCBVQ2hhciomIHJlc3VsdCkKK3Rl
bXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIGJvb2wgQ1NTUGFyc2VyOjpw
YXJzZVVSSUludGVybmFsKENoYXJhY3RlclR5cGUqJiBzdGFydCwgQ2hhcmFjdGVyVHlwZSomIHJl
c3VsdCkKIHsKLSAgICBVQ2hhciogdXJpU3RhcnQgPSBza2lwV2hpdGVTcGFjZShtX2N1cnJlbnRD
aGFyYWN0ZXIpOworICAgIENoYXJhY3RlclR5cGUqIHVyaVN0YXJ0ID0gc2tpcFdoaXRlU3BhY2Uo
Y3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpKTsKKyAgICBDaGFyYWN0ZXJUeXBlKiBz
YXZlZFJlc3VsdCA9IHJlc3VsdDsKIAogICAgIGlmICgqdXJpU3RhcnQgPT0gJyInIHx8ICp1cmlT
dGFydCA9PSAnXCcnKSB7Ci0gICAgICAgIFVDaGFyIHF1b3RlID0gKnVyaVN0YXJ0OworICAgICAg
ICBDaGFyYWN0ZXJUeXBlIHF1b3RlID0gKnVyaVN0YXJ0OwogICAgICAgICArK3VyaVN0YXJ0Owog
Ci0gICAgICAgIFVDaGFyKiBzdHJpbmdFbmQgPSBjaGVja0FuZFNraXBTdHJpbmcodXJpU3RhcnQs
IHF1b3RlKTsKKyAgICAgICAgQ2hhcmFjdGVyVHlwZSogc3RyaW5nRW5kID0gY2hlY2tBbmRTa2lw
U3RyaW5nKHVyaVN0YXJ0LCBxdW90ZSk7CiAgICAgICAgIGlmICghc3RyaW5nRW5kKQotICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIHN0cmluZ0Vu
ZCA9IHNraXBXaGl0ZVNwYWNlKHN0cmluZ0VuZCk7CiAgICAgICAgIGlmICgqc3RyaW5nRW5kICE9
ICcpJykKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogCi0g
ICAgICAgIHN0YXJ0ID0gcmVzdWx0ID0gbV9jdXJyZW50Q2hhcmFjdGVyID0gdXJpU3RhcnQ7Ci0g
ICAgICAgIHBhcnNlU3RyaW5nKHJlc3VsdCwgcXVvdGUpOworICAgICAgICBzdGFydCA9IHJlc3Vs
dCA9IGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSA9IHVyaVN0YXJ0OworICAgICAg
ICBpZiAoIXBhcnNlU3RyaW5nSW50ZXJuYWwoY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBl
PigpLCByZXN1bHQsIHF1b3RlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAg
ICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBzdHJpbmdFbmQgKyAxOworICAgICAgICBjdXJyZW50Q2hh
cmFjdGVyPENoYXJhY3RlclR5cGU+KCkgPSBzdHJpbmdFbmQgKyAxOwogICAgICAgICBtX3Rva2Vu
ID0gVVJJOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIFVDaGFyKiBzdHJpbmdFbmQgPSB1cmlTdGFy
dDsKKyAgICAgICAgQ2hhcmFjdGVyVHlwZSogc3RyaW5nRW5kID0gdXJpU3RhcnQ7CiAKICAgICAg
ICAgd2hpbGUgKGlzVVJJTGV0dGVyKCpzdHJpbmdFbmQpKSB7CiAgICAgICAgICAgICBpZiAoKnN0
cmluZ0VuZCAhPSAnXFwnKQpAQCAtODY0OCw5OSArODg1MCwxMzQgQEAgaW5saW5lIHZvaWQgQ1NT
UGFyc2VyOjpwYXJzZVVSSShVQ2hhciomIAogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAg
ICAgICAgc3RyaW5nRW5kID0gY2hlY2tBbmRTa2lwRXNjYXBlKHN0cmluZ0VuZCk7CiAgICAgICAg
ICAgICAgICAgaWYgKCFzdHJpbmdFbmQpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
IAogICAgICAgICBzdHJpbmdFbmQgPSBza2lwV2hpdGVTcGFjZShzdHJpbmdFbmQpOwogICAgICAg
ICBpZiAoKnN0cmluZ0VuZCAhPSAnKScpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKIAotICAgICAgICBzdGFydCA9IHJlc3VsdCA9IG1fY3VycmVudENoYXJh
Y3RlciA9IHVyaVN0YXJ0OwotICAgICAgICB3aGlsZSAoaXNVUklMZXR0ZXIoKm1fY3VycmVudENo
YXJhY3RlcikpIHsKLSAgICAgICAgICAgIGlmIChMSUtFTFkoKm1fY3VycmVudENoYXJhY3RlciAh
PSAnXFwnKSkKLSAgICAgICAgICAgICAgICAqcmVzdWx0KysgPSAqbV9jdXJyZW50Q2hhcmFjdGVy
Kys7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcGFyc2VFc2NhcGUocmVzdWx0
KTsKKyAgICAgICAgc3RhcnQgPSByZXN1bHQgPSBjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5
cGU+KCkgPSB1cmlTdGFydDsKKyAgICAgICAgd2hpbGUgKGlzVVJJTGV0dGVyKCpjdXJyZW50Q2hh
cmFjdGVyPENoYXJhY3RlclR5cGU+KCkpKSB7CisgICAgICAgICAgICBpZiAoTElLRUxZKCpjdXJy
ZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkgIT0gJ1xcJykpCisgICAgICAgICAgICAgICAg
KnJlc3VsdCsrID0gKmN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSsrOworICAgICAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgdW5pY29kZSA9IHBhcnNlRXNj
YXBlPENoYXJhY3RlclR5cGU+KGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSk7Cisg
ICAgICAgICAgICAgICAgaWYgKHVuaWNvZGUgPiAweGZmICYmIHNpemVvZihDaGFyYWN0ZXJUeXBl
KSA9PSAxKSB7CisgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHNhdmVkUmVzdWx0OworICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIFVuaWNvZGVUb0NoYXJzKHJlc3VsdCwgdW5pY29kZSk7ICAgICAgICAgICAgfQog
ICAgICAgICB9CiAKLSAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gc3RyaW5nRW5kICsgMTsK
KyAgICAgICAgY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gc3RyaW5nRW5kICsg
MTsKICAgICAgICAgbV90b2tlbiA9IFVSSTsKICAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKIH0K
IAoraW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpwYXJzZVVSSShDU1NQYXJzZXJTdHJpbmcmIHN0cmlu
ZykKK3sKKyAgICBpZiAoc3RyaW5nLmlzOEJpdCgpKSB7CisgICAgICAgIExDaGFyKiB1cmlTdGFy
dCA9IHN0cmluZy5jaGFyYWN0ZXJzPExDaGFyPigpOworICAgICAgICBMQ2hhciogcmVzdWx0ID0g
dXJpU3RhcnQgKyBzdHJpbmcubGVuZ3RoKCk7CisgICAgICAgIGJvb2wgcGFyc2VSZXN1bHQgPSBw
YXJzZVVSSUludGVybmFsKHVyaVN0YXJ0LCByZXN1bHQpOworCisgICAgICAgIC8vIHBhcnNlSWRl
bnRpZmllcigpIHBhcnNlZCBhbmQgY3JlYXRlZCB0aGUgc3RyaW5nLCB0aGVyZWZvcmUgdGhlcmUg
c2hvdWxkbid0IGJlIGFueSB1bmhhbmRsZWQgZXNjYXBzZXMuCisgICAgICAgIEFTU0VSVF9VTlVT
RUQocGFyc2VSZXN1bHQsIHBhcnNlUmVzdWx0KTsKKworICAgICAgICBzdHJpbmcuaW5pdCh1cmlT
dGFydCwgcmVzdWx0IC0gdXJpU3RhcnQpOworCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBVQ2hhciogdXJpU3RhcnQgPSBzdHJpbmcuY2hhcmFjdGVyczxVQ2hhcj4oKTsKKyAgICBVQ2hh
ciogcmVzdWx0ID0gdXJpU3RhcnQgKyBzdHJpbmcubGVuZ3RoKCk7CisgICAgYm9vbCBwYXJzZVJl
c3VsdCA9IHBhcnNlVVJJSW50ZXJuYWwodXJpU3RhcnQsIHJlc3VsdCk7CisKKyAgICBBU1NFUlRf
VU5VU0VEKHBhcnNlUmVzdWx0LCBwYXJzZVJlc3VsdCk7IC8vIERpdHRvCisKKyAgICBzdHJpbmcu
aW5pdCh1cmlTdGFydCwgcmVzdWx0IC0gdXJpU3RhcnQpOworfQorCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4KIGlubGluZSBib29sIENTU1BhcnNlcjo6cGFyc2VVbmljb2RlUmFu
Z2UoKQogewotICAgIFVDaGFyKiBjdXJyZW50Q2hhcmFjdGVyID0gbV9jdXJyZW50Q2hhcmFjdGVy
ICsgMTsKKyAgICBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVyPENo
YXJhY3RlclR5cGU+KCkgKyAxOwogICAgIGludCBsZW5ndGggPSA2OwotICAgIEFTU0VSVCgqbV9j
dXJyZW50Q2hhcmFjdGVyID09ICcrJyk7CisgICAgQVNTRVJUKCpjdXJyZW50Q2hhcmFjdGVyPENo
YXJhY3RlclR5cGU+KCkgPT0gJysnKTsKIAotICAgIHdoaWxlIChpc0FTQ0lJSGV4RGlnaXQoKmN1
cnJlbnRDaGFyYWN0ZXIpICYmIGxlbmd0aCkgewotICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7
CisgICAgd2hpbGUgKGlzQVNDSUlIZXhEaWdpdCgqY2hhcmFjdGVyKSAmJiBsZW5ndGgpIHsKKyAg
ICAgICAgKytjaGFyYWN0ZXI7CiAgICAgICAgIC0tbGVuZ3RoOwogICAgIH0KIAotICAgIGlmIChs
ZW5ndGggJiYgKmN1cnJlbnRDaGFyYWN0ZXIgPT0gJz8nKSB7CisgICAgaWYgKGxlbmd0aCAmJiAq
Y2hhcmFjdGVyID09ICc/JykgewogICAgICAgICAvLyBBdCBtb3N0IDUgaGV4IGRpZ2l0IGZvbGxv
d2VkIGJ5IGEgcXVlc3Rpb24gbWFyay4KICAgICAgICAgZG8gewotICAgICAgICAgICAgKytjdXJy
ZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgKytjaGFyYWN0ZXI7CiAgICAgICAgICAgICAtLWxl
bmd0aDsKLSAgICAgICAgfSB3aGlsZSAoKmN1cnJlbnRDaGFyYWN0ZXIgPT0gJz8nICYmIGxlbmd0
aCk7Ci0gICAgICAgIG1fY3VycmVudENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXI7CisgICAg
ICAgIH0gd2hpbGUgKCpjaGFyYWN0ZXIgPT0gJz8nICYmIGxlbmd0aCk7CisgICAgICAgIGN1cnJl
bnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSA9IGNoYXJhY3RlcjsKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogCiAgICAgaWYgKGxlbmd0aCA8IDYpIHsKICAgICAgICAgLy8gQXQgbGVh
c3Qgb25lIGhleCBkaWdpdC4KLSAgICAgICAgaWYgKGN1cnJlbnRDaGFyYWN0ZXJbMF0gPT0gJy0n
ICYmIGlzQVNDSUlIZXhEaWdpdChjdXJyZW50Q2hhcmFjdGVyWzFdKSkgeworICAgICAgICBpZiAo
Y2hhcmFjdGVyWzBdID09ICctJyAmJiBpc0FTQ0lJSGV4RGlnaXQoY2hhcmFjdGVyWzFdKSkgewog
ICAgICAgICAgICAgLy8gRm9sbG93ZWQgYnkgYSBkYXNoIGFuZCBhIGhleCBkaWdpdC4KLSAgICAg
ICAgICAgICsrY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgICsrY2hhcmFjdGVyOwogICAg
ICAgICAgICAgbGVuZ3RoID0gNjsKICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICAr
K2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAgICB9IHdoaWxlICgtLWxlbmd0aCAmJiBpc0FT
Q0lJSGV4RGlnaXQoKmN1cnJlbnRDaGFyYWN0ZXIpKTsKKyAgICAgICAgICAgICAgICArK2NoYXJh
Y3RlcjsKKyAgICAgICAgICAgIH0gd2hpbGUgKC0tbGVuZ3RoICYmIGlzQVNDSUlIZXhEaWdpdCgq
Y2hhcmFjdGVyKSk7CiAgICAgICAgIH0KLSAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gY3Vy
cmVudENoYXJhY3RlcjsKKyAgICAgICAgY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigp
ID0gY2hhcmFjdGVyOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIGJvb2wgQ1NTUGFy
c2VyOjpwYXJzZU50aENoaWxkKCkKIHsKLSAgICBVQ2hhciogY3VycmVudENoYXJhY3RlciA9IG1f
Y3VycmVudENoYXJhY3RlcjsKKyAgICBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXIgPSBjdXJyZW50
Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCk7CiAKLSAgICB3aGlsZSAoaXNBU0NJSURpZ2l0KCpj
dXJyZW50Q2hhcmFjdGVyKSkKLSAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyOwotICAgIGlmIChp
c0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKCpjdXJyZW50Q2hhcmFjdGVyLCAnbicpKSB7Ci0gICAg
ICAgIG1fY3VycmVudENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXIgKyAxOworICAgIHdoaWxl
IChpc0FTQ0lJRGlnaXQoKmNoYXJhY3RlcikpCisgICAgICAgICsrY2hhcmFjdGVyOworICAgIGlm
IChpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKCpjaGFyYWN0ZXIsICduJykpIHsKKyAgICAgICAg
Y3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gY2hhcmFjdGVyICsgMTsKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0KIAordGVtcGxhdGUg
PHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiBib29sIENTU1BhcnNlcjo6cGFyc2VOdGhDaGlsZEV4
dHJhKCkKIHsKLSAgICBVQ2hhciogY3VycmVudENoYXJhY3RlciA9IHNraXBXaGl0ZVNwYWNlKG1f
Y3VycmVudENoYXJhY3Rlcik7Ci0gICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyICE9ICcrJyAmJiAq
Y3VycmVudENoYXJhY3RlciAhPSAnLScpCisgICAgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVyID0g
c2tpcFdoaXRlU3BhY2UoY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpKTsKKyAgICBp
ZiAoKmNoYXJhY3RlciAhPSAnKycgJiYgKmNoYXJhY3RlciAhPSAnLScpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIGN1cnJlbnRDaGFyYWN0ZXIgPSBza2lwV2hpdGVTcGFjZShjdXJyZW50
Q2hhcmFjdGVyICsgMSk7Ci0gICAgaWYgKCFpc0FTQ0lJRGlnaXQoKmN1cnJlbnRDaGFyYWN0ZXIp
KQorICAgIGNoYXJhY3RlciA9IHNraXBXaGl0ZVNwYWNlKGNoYXJhY3RlciArIDEpOworICAgIGlm
ICghaXNBU0NJSURpZ2l0KCpjaGFyYWN0ZXIpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBkbyB7Ci0gICAgICAgICsrY3VycmVudENoYXJhY3RlcjsKLSAgICB9IHdoaWxlIChpc0FTQ0lJ
RGlnaXQoKmN1cnJlbnRDaGFyYWN0ZXIpKTsKKyAgICAgICAgKytjaGFyYWN0ZXI7CisgICAgfSB3
aGlsZSAoaXNBU0NJSURpZ2l0KCpjaGFyYWN0ZXIpKTsKIAotICAgIG1fY3VycmVudENoYXJhY3Rl
ciA9IGN1cnJlbnRDaGFyYWN0ZXI7CisgICAgY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBl
PigpID0gY2hhcmFjdGVyOwogICAgIHJldHVybiB0cnVlOwogfQogCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4KIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0RnVuY3Rpb25U
eXBlVG9rZW4oaW50IGxlbmd0aCkKIHsKICAgICBBU1NFUlQobGVuZ3RoID4gMCk7Ci0gICAgVUNo
YXIqIG5hbWUgPSBtX3Rva2VuU3RhcnQ7CisgICAgQ2hhcmFjdGVyVHlwZSogbmFtZSA9IHRva2Vu
U3RhcnQ8Q2hhcmFjdGVyVHlwZT4oKTsKIAogICAgIHN3aXRjaCAobGVuZ3RoKSB7CiAgICAgY2Fz
ZSAzOgpAQCAtODc3MiwxMCArOTAwOSwxMSBAQCBpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OmRldGVj
dEZ1bmN0aW9uVHlwCiAgICAgfQogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlw
ZT4KIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0TWVkaWFRdWVyeVRva2VuKGludCBsZW5n
dGgpCiB7CiAgICAgQVNTRVJUKG1fcGFyc2luZ01vZGUgPT0gTWVkaWFRdWVyeU1vZGUpOwotICAg
IFVDaGFyKiBuYW1lID0gbV90b2tlblN0YXJ0OworICAgIENoYXJhY3RlclR5cGUqIG5hbWUgPSB0
b2tlblN0YXJ0PENoYXJhY3RlclR5cGU+KCk7CiAKICAgICBpZiAobGVuZ3RoID09IDMpIHsKICAg
ICAgICAgaWYgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwobmFtZVswXSwgJ2EnKSAmJiBpc0FT
Q0lJQWxwaGFDYXNlbGVzc0VxdWFsKG5hbWVbMV0sICduJykgJiYgaXNBU0NJSUFscGhhQ2FzZWxl
c3NFcXVhbChuYW1lWzJdLCAnZCcpKQpAQCAtODc4OSw3ICs5MDI3LDggQEAgaW5saW5lIHZvaWQg
Q1NTUGFyc2VyOjpkZXRlY3RNZWRpYVF1ZXJ5VAogICAgIH0KIH0KIAotaW5saW5lIHZvaWQgQ1NT
UGFyc2VyOjpkZXRlY3ROdW1iZXJUb2tlbihVQ2hhciogdHlwZSwgaW50IGxlbmd0aCkKK3RlbXBs
YXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRl
Y3ROdW1iZXJUb2tlbihDaGFyYWN0ZXJUeXBlKiB0eXBlLCBpbnQgbGVuZ3RoKQogewogICAgIEFT
U0VSVChsZW5ndGggPiAwKTsKIApAQCAtODkwNiw5ICs5MTQ1LDEwIEBAIGlubGluZSB2b2lkIENT
U1BhcnNlcjo6ZGV0ZWN0TnVtYmVyVG9rZW4KICAgICB9CiB9CiAKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBDaGFyYWN0ZXJUeXBlPgogaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRlY3REYXNoVG9rZW4o
aW50IGxlbmd0aCkKIHsKLSAgICBVQ2hhciogbmFtZSA9IG1fdG9rZW5TdGFydDsKKyAgICBDaGFy
YWN0ZXJUeXBlKiBuYW1lID0gdG9rZW5TdGFydDxDaGFyYWN0ZXJUeXBlPigpOwogCiAgICAgaWYg
KGxlbmd0aCA9PSAxMSkgewogICAgICAgICBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChu
YW1lWzEwXSwgJ3knKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUgKyAxLCAid2Via2l0
LWFuIikpCkBAIC04OTI1LDkgKzkxNjUsMTAgQEAgaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRl
Y3REYXNoVG9rZW4oaQogICAgICAgICBtX3Rva2VuID0gQ0FMQ0ZVTkNUSU9OOwogfQogCit0ZW1w
bGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0
ZWN0QXRUb2tlbihpbnQgbGVuZ3RoLCBib29sIGhhc0VzY2FwZSkKIHsKLSAgICBVQ2hhciogbmFt
ZSA9IG1fdG9rZW5TdGFydDsKKyAgICBDaGFyYWN0ZXJUeXBlKiBuYW1lID0gdG9rZW5TdGFydDxD
aGFyYWN0ZXJUeXBlPigpOwogICAgIEFTU0VSVChuYW1lWzBdID09ICdAJyAmJiBsZW5ndGggPj0g
Mik7CiAKICAgICAvLyBjaGFyc2V0LCBmb250LWZhY2UsIGltcG9ydCwgbWVkaWEsIG5hbWVzcGFj
ZSwgcGFnZSwKQEAgLTkxMTMsODEgKzkzNTQsNzcgQEAgaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpk
ZXRlY3RBdFRva2VuKGludAogICAgIH0KIH0KIAotaW50IENTU1BhcnNlcjo6bGV4KHZvaWQqIHl5
bHZhbFdpdGhvdXRUeXBlKQordGVtcGxhdGUgPHR5cGVuYW1lIFNyY0NoYXJhY3RlclR5cGU+Citp
bnQgQ1NTUGFyc2VyOjpyZWFsTGV4KHZvaWQqIHl5bHZhbFdpdGhvdXRUeXBlKQogewogICAgIFlZ
U1RZUEUqIHl5bHZhbCA9IHN0YXRpY19jYXN0PFlZU1RZUEUqPih5eWx2YWxXaXRob3V0VHlwZSk7
CiAgICAgLy8gV3JpdGUgcG9pbnRlciBmb3IgdGhlIG5leHQgY2hhcmFjdGVyLgotICAgIFVDaGFy
KiByZXN1bHQ7CisgICAgU3JjQ2hhcmFjdGVyVHlwZSogcmVzdWx0OworICAgIENTU1BhcnNlclN0
cmluZyByZXN1bHRTdHJpbmc7CiAgICAgYm9vbCBoYXNFc2NhcGU7CiAKICAgICAvLyBUaGUgaW5w
dXQgYnVmZmVyIGlzIHRlcm1pbmF0ZWQgYnkgYSBcMCBjaGFyYWN0ZXIsIHNvCiAgICAgLy8gaXQg
aXMgc2FmZSB0byByZWFkIG9uZSBjaGFyYWN0ZXIgYWhlYWQgb2YgYSBrbm93biBub24tbnVsbC4K
LQogI2lmbmRlZiBOREVCVUcKICAgICAvLyBJbiBkZWJ1ZyB3ZSBjaGVjayB3aXRoIGFuIEFTU0VS
VCB0aGF0IHRoZSBsZW5ndGggaXMgPiAwIGZvciBzdHJpbmcgdHlwZXMuCi0gICAgeXlsdmFsLT5z
dHJpbmcuY2hhcmFjdGVycyA9IDA7Ci0gICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gMDsKKyAg
ICB5eWx2YWwtPnN0cmluZy5jbGVhcigpOwogI2VuZGlmCiAKIHJlc3RhcnRBZnRlckNvbW1lbnQ6
Ci0gICAgbV90b2tlblN0YXJ0ID0gcmVzdWx0ID0gbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgIG1f
dG9rZW4gPSAqbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOwor
ICAgIHJlc3VsdCA9IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKKyAgICBz
ZXRUb2tlblN0YXJ0KHJlc3VsdCk7CisgICAgbV90b2tlbiA9ICpjdXJyZW50Q2hhcmFjdGVyPFNy
Y0NoYXJhY3RlclR5cGU+KCk7CisgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5
cGU+KCk7CiAKICAgICBzd2l0Y2ggKChtX3Rva2VuIDw9IDEyNykgPyB0eXBlc09mQVNDSUlDaGFy
YWN0ZXJzW21fdG9rZW5dIDogQ2hhcmFjdGVySWRlbnRpZmllclN0YXJ0KSB7CiAgICAgY2FzZSBD
aGFyYWN0ZXJDYXNlbGVzc1U6Ci0gICAgICAgIGlmIChVTkxJS0VMWSgqbV9jdXJyZW50Q2hhcmFj
dGVyID09ICcrJykpCi0gICAgICAgICAgICBpZiAocGFyc2VVbmljb2RlUmFuZ2UoKSkgeworICAg
ICAgICBpZiAoVU5MSUtFTFkoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9
PSAnKycpKQorICAgICAgICAgICAgaWYgKHBhcnNlVW5pY29kZVJhbmdlPFNyY0NoYXJhY3RlclR5
cGU+KCkpIHsKICAgICAgICAgICAgICAgICBtX3Rva2VuID0gVU5JQ09ERVJBTkdFOwotICAgICAg
ICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAg
ICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0g
bV90b2tlblN0YXJ0OworICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmluaXQodG9rZW5T
dGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpLCBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5
cGU+KCkgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkpOwogICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAvLyBGYWxsIHRocm91Z2ggdG8gQ2hhcmFj
dGVySWRlbnRpZmllclN0YXJ0LgogCiAgICAgY2FzZSBDaGFyYWN0ZXJJZGVudGlmaWVyU3RhcnQ6
Ci0gICAgICAgIC0tbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgICAgICBwYXJzZUlkZW50aWZpZXIo
cmVzdWx0LCBoYXNFc2NhcGUpOworICAgICAgICAtLWN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFj
dGVyVHlwZT4oKTsKKyAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgeXlsdmFsLT5zdHJp
bmcsIGhhc0VzY2FwZSk7CiAgICAgICAgIG1fdG9rZW4gPSBJREVOVDsKIAotICAgICAgICB5eWx2
YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0OwotICAgICAgICB5eWx2YWwtPnN0
cmluZy5sZW5ndGggPSByZXN1bHQgLSBtX3Rva2VuU3RhcnQ7Ci0KLSAgICAgICAgaWYgKFVOTElL
RUxZKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJygnKSkgeworICAgICAgICBpZiAoVU5MSUtFTFko
KmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnKCcpKSB7CiAgICAgICAg
ICAgICBtX3Rva2VuID0gRlVOQ1RJT047CiAgICAgICAgICAgICBpZiAoIWhhc0VzY2FwZSkKLSAg
ICAgICAgICAgICAgICBkZXRlY3RGdW5jdGlvblR5cGVUb2tlbihyZXN1bHQgLSBtX3Rva2VuU3Rh
cnQpOwotICAgICAgICAgICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAg
ZGV0ZWN0RnVuY3Rpb25UeXBlVG9rZW48U3JjQ2hhcmFjdGVyVHlwZT4ocmVzdWx0IC0gdG9rZW5T
dGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKKyAgICAgICAgICAgICsrY3VycmVudENoYXJhY3Rl
cjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICAgICAgKytyZXN1bHQ7Ci0gICAgICAgICAg
ICArK3l5bHZhbC0+c3RyaW5nLmxlbmd0aDsKKyAgICAgICAgICAgICsreXlsdmFsLT5zdHJpbmcu
bV9sZW5ndGg7CiAKICAgICAgICAgICAgIGlmICh0b2tlbigpID09IFVSSSkgewogICAgICAgICAg
ICAgICAgIG1fdG9rZW4gPSBGVU5DVElPTjsKICAgICAgICAgICAgICAgICAvLyBDaGVjayB3aGV0
aGVyIGl0IGlzIHJlYWxseSBhbiBVUkkuCi0gICAgICAgICAgICAgICAgcGFyc2VVUkkoeXlsdmFs
LT5zdHJpbmcuY2hhcmFjdGVycywgcmVzdWx0KTsKLSAgICAgICAgICAgICAgICB5eWx2YWwtPnN0
cmluZy5sZW5ndGggPSByZXN1bHQgLSB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzOworICAgICAg
ICAgICAgICAgIHBhcnNlVVJJKHl5bHZhbC0+c3RyaW5nKTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfSBlbHNlIGlmIChVTkxJS0VMWShtX3BhcnNpbmdNb2RlICE9IE5vcm1hbE1vZGUpICYmICFo
YXNFc2NhcGUpIHsKICAgICAgICAgICAgIGlmIChtX3BhcnNpbmdNb2RlID09IE1lZGlhUXVlcnlN
b2RlKQotICAgICAgICAgICAgICAgIGRldGVjdE1lZGlhUXVlcnlUb2tlbihyZXN1bHQgLSBtX3Rv
a2VuU3RhcnQpOwotICAgICAgICAgICAgZWxzZSBpZiAobV9wYXJzaW5nTW9kZSA9PSBOdGhDaGls
ZE1vZGUgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChtX3Rva2VuU3RhcnRbMF0sICduJykp
IHsKLSAgICAgICAgICAgICAgICBpZiAocmVzdWx0IC0gbV90b2tlblN0YXJ0ID09IDEpIHsKKyAg
ICAgICAgICAgICAgICBkZXRlY3RNZWRpYVF1ZXJ5VG9rZW48U3JjQ2hhcmFjdGVyVHlwZT4ocmVz
dWx0IC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKKyAgICAgICAgICAgIGVsc2Ug
aWYgKG1fcGFyc2luZ01vZGUgPT0gTnRoQ2hpbGRNb2RlICYmIGlzQVNDSUlBbHBoYUNhc2VsZXNz
RXF1YWwodG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpWzBdLCAnbicpKSB7CisgICAgICAg
ICAgICAgICAgaWYgKHJlc3VsdCAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAx
KSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIFN0cmluZyAibiIgaXMgSURFTlQgYnV0ICJuKzEi
IGlzIE5USC4KLSAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnNlTnRoQ2hpbGRFeHRyYSgpKSB7
CisgICAgICAgICAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hhcmFjdGVy
VHlwZT4oKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJh
Y3RlciAtIG1fdG9rZW5TdGFydDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHl5bHZhbC0+c3Ry
aW5nLm1fbGVuZ3RoID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9r
ZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQgLSBtX3Rva2VuU3RhcnQgPj0gMiAmJiBtX3Rv
a2VuU3RhcnRbMV0gPT0gJy0nKSB7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQg
LSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkgPj0gMiAmJiB0b2tlblN0YXJ0PFNyY0No
YXJhY3RlclR5cGU+KClbMV0gPT0gJy0nKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIFN0cmlu
ZyAibi0iIGlzIElERU5UIGJ1dCAibi0xIiBpcyBOVEguCi0gICAgICAgICAgICAgICAgICAgIC8v
IFNldCBtX2N1cnJlbnRDaGFyYWN0ZXIgdG8gJy0nIHRvIGNvbnRpbnVlIHBhcnNpbmcuCi0gICAg
ICAgICAgICAgICAgICAgIFVDaGFyKiBuZXh0Q2hhcmFjdGVyID0gcmVzdWx0OwotICAgICAgICAg
ICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBtX3Rva2VuU3RhcnQgKyAxOwotICAgICAg
ICAgICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJhKCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgLy8gU2V0IGN1cnJlbnRDaGFyYWN0ZXIgdG8gJy0nIHRvIGNvbnRpbnVlIHBhcnNpbmcu
CisgICAgICAgICAgICAgICAgICAgIFNyY0NoYXJhY3RlclR5cGUqIG5leHRDaGFyYWN0ZXIgPSBy
ZXN1bHQ7CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVy
VHlwZT4oKSA9IHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSArIDE7CisgICAgICAgICAg
ICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hhcmFjdGVyVHlwZT4oKSkgewog
ICAgICAgICAgICAgICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJhY3RlciAtIG1fdG9r
ZW5TdGFydDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLnNldExlbmd0
aChjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgLSB0b2tlblN0YXJ0PFNyY0No
YXJhY3RlclR5cGU+KCkpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gUmV2ZXJ0IHRoZSBjaGFuZ2UgdG8gbV9jdXJyZW50Q2hhcmFjdGVy
IGlmIHVuc3VjY2Vzc2Z1bC4KLSAgICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudENoYXJh
Y3RlciA9IG5leHRDaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXZlcnQg
dGhlIGNoYW5nZSB0byBjdXJyZW50Q2hhcmFjdGVyIGlmIHVuc3VjY2Vzc2Z1bC4KKyAgICAgICAg
ICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9IG5l
eHRDaGFyYWN0ZXI7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9CkBAIC05MTk1LDcgKzk0MzIsNyBAQCByZXN0YXJ0QWZ0ZXJDb21tZW50Ogog
ICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyRG90OgotICAgICAgICBpZiAoIWlz
QVNDSUlEaWdpdChtX2N1cnJlbnRDaGFyYWN0ZXJbMF0pKQorICAgICAgICBpZiAoIWlzQVNDSUlE
aWdpdChjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMF0pKQogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIC8vIEZhbGwgdGhyb3VnaCB0byBDaGFyYWN0ZXJOdW1iZXIuCiAK
QEAgLTkyMDMsMjMgKzk0NDAsMjIgQEAgcmVzdGFydEFmdGVyQ29tbWVudDoKICAgICAgICAgYm9v
bCBkb3RTZWVuID0gKG1fdG9rZW4gPT0gJy4nKTsKIAogICAgICAgICB3aGlsZSAodHJ1ZSkgewot
ICAgICAgICAgICAgaWYgKCFpc0FTQ0lJRGlnaXQobV9jdXJyZW50Q2hhcmFjdGVyWzBdKSkgewor
ICAgICAgICAgICAgaWYgKCFpc0FTQ0lJRGlnaXQoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpWzBdKSkgewogICAgICAgICAgICAgICAgIC8vIE9ubHkgb25lIGRvdCBpcyBhbGxv
d2VkIGZvciBhIG51bWJlciwKICAgICAgICAgICAgICAgICAvLyBhbmQgaXQgbXVzdCBiZSBmb2xs
b3dlZCBieSBhIGRpZ2l0LgotICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJb
MF0gIT0gJy4nIHx8IGRvdFNlZW4gfHwgIWlzQVNDSUlEaWdpdChtX2N1cnJlbnRDaGFyYWN0ZXJb
MV0pKQorICAgICAgICAgICAgICAgIGlmIChjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5
cGU+KClbMF0gIT0gJy4nIHx8IGRvdFNlZW4gfHwgIWlzQVNDSUlEaWdpdChjdXJyZW50Q2hhcmFj
dGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMV0pKQogICAgICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgICAgICBkb3RTZWVuID0gdHJ1ZTsKICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVy
PFNyY0NoYXJhY3RlclR5cGU+KCk7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoVU5MSUtFTFko
bV9wYXJzaW5nTW9kZSA9PSBOdGhDaGlsZE1vZGUpICYmICFkb3RTZWVuICYmIGlzQVNDSUlBbHBo
YUNhc2VsZXNzRXF1YWwoKm1fY3VycmVudENoYXJhY3RlciwgJ24nKSkgeworICAgICAgICBpZiAo
VU5MSUtFTFkobV9wYXJzaW5nTW9kZSA9PSBOdGhDaGlsZE1vZGUpICYmICFkb3RTZWVuICYmIGlz
QVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlw
ZT4oKSwgJ24nKSkgewogICAgICAgICAgICAgLy8gIlswLTldK24iIGlzIGFsd2F5cyBhbiBOdGhD
aGlsZC4KLSAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgICAgICAgICAgcGFy
c2VOdGhDaGlsZEV4dHJhKCk7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hh
cmFjdGVyVHlwZT4oKTsKKyAgICAgICAgICAgIHBhcnNlTnRoQ2hpbGRFeHRyYTxTcmNDaGFyYWN0
ZXJUeXBlPigpOwogICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAgICAgIHl5bHZh
bC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAgICAgICB5eWx2YWwt
PnN0cmluZy5sZW5ndGggPSBtX2N1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQ7CisgICAg
ICAgICAgICB5eWx2YWwtPnN0cmluZy5pbml0KHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4o
KSwgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFydDxTcmND
aGFyYWN0ZXJUeXBlPigpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKQEAgLTky
MjcsNTIgKzk0NjMsNTEgQEAgcmVzdGFydEFmdGVyQ29tbWVudDoKICAgICAgICAgLy8gVXNlIFNW
RyBwYXJzZXIgZm9yIG51bWJlcnMgb24gU1ZHIHByZXNlbnRhdGlvbiBhdHRyaWJ1dGVzLgogICAg
ICAgICBpZiAobV9jb250ZXh0Lm1vZGUgPT0gU1ZHQXR0cmlidXRlTW9kZSkgewogICAgICAgICAg
ICAgLy8gV2UgbmVlZCB0byB0YWtlIGNhcmUgb2YgdW5pdHMgbGlrZSAnZW0nIG9yICdleCcuCi0g
ICAgICAgICAgICBVQ2hhciogY3VycmVudENoYXJhY3RlciA9IG1fY3VycmVudENoYXJhY3RlcjsK
LSAgICAgICAgICAgIGlmIChpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKCpjdXJyZW50Q2hhcmFj
dGVyLCAnZScpKSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGN1cnJlbnRDaGFyYWN0ZXIgLSBt
X3Rva2VuU3RhcnQgPiAwKTsKLSAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7Ci0g
ICAgICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyID09ICctJyB8fCAqY3VycmVudENo
YXJhY3RlciA9PSAnKycgfHwgaXNBU0NJSURpZ2l0KCpjdXJyZW50Q2hhcmFjdGVyKSkgewotICAg
ICAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAgICAgICAgICAg
IHdoaWxlIChpc0FTQ0lJRGlnaXQoKmN1cnJlbnRDaGFyYWN0ZXIpKQotICAgICAgICAgICAgICAg
ICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgU3JjQ2hhcmFjdGVyVHlw
ZSogY2hhcmFjdGVyID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAg
ICAgICAgICAgaWYgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwoKmNoYXJhY3RlciwgJ2UnKSkg
eworICAgICAgICAgICAgICAgIEFTU0VSVChjaGFyYWN0ZXIgLSB0b2tlblN0YXJ0PFNyY0NoYXJh
Y3RlclR5cGU+KCkgPiAwKTsKKyAgICAgICAgICAgICAgICArK2NoYXJhY3RlcjsKKyAgICAgICAg
ICAgICAgICBpZiAoKmNoYXJhY3RlciA9PSAnLScgfHwgKmNoYXJhY3RlciA9PSAnKycgfHwgaXNB
U0NJSURpZ2l0KCpjaGFyYWN0ZXIpKSB7CisgICAgICAgICAgICAgICAgICAgICsrY2hhcmFjdGVy
OworICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXNBU0NJSURpZ2l0KCpjaGFyYWN0ZXIpKQor
ICAgICAgICAgICAgICAgICAgICAgICAgKytjaGFyYWN0ZXI7CiAgICAgICAgICAgICAgICAgICAg
IC8vIFVzZSBGTE9BVFRPS0VOIGlmIHRoZSBzdHJpbmcgY29udGFpbnMgZXhwb25lbnRzLgogICAg
ICAgICAgICAgICAgICAgICBkb3RTZWVuID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgbV9j
dXJyZW50Q2hhcmFjdGVyID0gY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgICAgICAgICAg
Y3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID0gY2hhcmFjdGVyOwogICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICghcGFyc2VTVkdOdW1i
ZXIobV90b2tlblN0YXJ0LCBjdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0LCB5eWx2YWwt
Pm51bWJlcikpCisgICAgICAgICAgICBpZiAoIXBhcnNlU1ZHTnVtYmVyKHRva2VuU3RhcnQ8U3Jj
Q2hhcmFjdGVyVHlwZT4oKSwgY2hhcmFjdGVyIC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBl
PigpLCB5eWx2YWwtPm51bWJlcikpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0g
ZWxzZQogI2VuZGlmCi0gICAgICAgICAgICB5eWx2YWwtPm51bWJlciA9IGNoYXJhY3RlcnNUb0Rv
dWJsZShtX3Rva2VuU3RhcnQsIG1fY3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydCk7Cisg
ICAgICAgICAgICB5eWx2YWwtPm51bWJlciA9IGNoYXJhY3RlcnNUb0RvdWJsZSh0b2tlblN0YXJ0
PFNyY0NoYXJhY3RlclR5cGU+KCksIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4o
KSAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CiAgCiAgICAgICAgIC8vIFR5cGUg
b2YgdGhlIGZ1bmN0aW9uLgotICAgICAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnQoKSkgewotICAg
ICAgICAgICAgVUNoYXIqIHR5cGUgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAgICBy
ZXN1bHQgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIGlmIChpc0lkZW50aWZpZXJTdGFy
dDxTcmNDaGFyYWN0ZXJUeXBlPigpKSB7CisgICAgICAgICAgICBTcmNDaGFyYWN0ZXJUeXBlKiB0
eXBlID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAgICAgICAgICAg
cmVzdWx0ID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogCi0gICAgICAg
ICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCBoYXNFc2NhcGUpOwotICAgICAgICAgICAgaWYg
KCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJysnKSB7CisgICAgICAgICAgICBwYXJzZUlkZW50aWZp
ZXIocmVzdWx0LCByZXN1bHRTdHJpbmcsIGhhc0VzY2FwZSk7CisgICAgICAgICAgICBpZiAoKmN1
cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnKycpIHsKICAgICAgICAgICAg
ICAgICAvLyBBbnkgaWRlbnRpZmllciBmb2xsb3dlZCBieSBhICcrJyBzaWduIGlzIGFuIGludmFs
aWQgZGltZW5zaW9uLgotICAgICAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAg
ICAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogICAg
ICAgICAgICAgICAgIG1fdG9rZW4gPSBJTlZBTElERElNRU47CiAgICAgICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBESU1FTjsKICAgICAgICAgICAgICAgICBpZiAo
IWhhc0VzY2FwZSkKLSAgICAgICAgICAgICAgICAgICAgZGV0ZWN0TnVtYmVyVG9rZW4odHlwZSwg
bV9jdXJyZW50Q2hhcmFjdGVyIC0gdHlwZSk7CisgICAgICAgICAgICAgICAgICAgIGRldGVjdE51
bWJlclRva2VuKHR5cGUsIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtIHR5
cGUpOwogCiAgICAgICAgICAgICAgICAgaWYgKG1fdG9rZW4gPT0gRElNRU4pIHsKICAgICAgICAg
ICAgICAgICAgICAgLy8gVGhlIGRlY29kZWQgbnVtYmVyIGlzIG92ZXJ3cml0dGVuLCBidXQgdGhp
cyBpcyBpbnRlbnRpb25hbC4KLSAgICAgICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuY2hh
cmFjdGVycyA9IG1fdG9rZW5TdGFydDsKLSAgICAgICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJp
bmcubGVuZ3RoID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0OworICAgICAgICAg
ICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5pbml0KHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlw
ZT4oKSwgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFydDxT
cmNDaGFyYWN0ZXJUeXBlPigpKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0g
ICAgICAgIH0gZWxzZSBpZiAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnJScpIHsKKyAgICAgICAg
fSBlbHNlIGlmICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICclJykg
ewogICAgICAgICAgICAgLy8gQWx0aG91Z2ggdGhlIENTUyBncmFtbWFyIHNheXMge251bX0lIHdl
IGZvbGxvdwogICAgICAgICAgICAgLy8gd2Via2l0IGF0IHRoZSBtb21lbnQgd2hpY2ggdXNlcyB7
bnVtfSUrLgogICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgICsrbV9jdXJyZW50Q2hh
cmFjdGVyOwotICAgICAgICAgICAgfSB3aGlsZSAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnJScp
OworICAgICAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
OworICAgICAgICAgICAgfSB3aGlsZSAoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlw
ZT4oKSA9PSAnJScpOwogICAgICAgICAgICAgbV90b2tlbiA9IFBFUkNFTlRBR0U7CiAgICAgICAg
IH0gZWxzZQogICAgICAgICAgICAgbV90b2tlbiA9IGRvdFNlZW4gPyBGTE9BVFRPS0VOIDogSU5U
RUdFUjsKQEAgLTkyODAsNTUgKzk1MTUsNTQgQEAgcmVzdGFydEFmdGVyQ29tbWVudDoKICAgICB9
CiAKICAgICBjYXNlIENoYXJhY3RlckRhc2g6Ci0gICAgICAgIGlmIChpc0lkZW50aWZpZXJTdGFy
dEFmdGVyRGFzaChtX2N1cnJlbnRDaGFyYWN0ZXIpKSB7Ci0gICAgICAgICAgICAtLW1fY3VycmVu
dENoYXJhY3RlcjsKLSAgICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIGhhc0VzY2Fw
ZSk7CisgICAgICAgIGlmIChpc0lkZW50aWZpZXJTdGFydEFmdGVyRGFzaChjdXJyZW50Q2hhcmFj
dGVyPFNyY0NoYXJhY3RlclR5cGU+KCkpKSB7CisgICAgICAgICAgICAtLWN1cnJlbnRDaGFyYWN0
ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKKyAgICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1
bHQsIHJlc3VsdFN0cmluZywgaGFzRXNjYXBlKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBJREVO
VDsKIAogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICAgICAgaWYgKGNzc1Zhcmlh
Ymxlc0VuYWJsZWQoKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG1fdG9rZW5TdGFydCArIDEs
ICJ3ZWJraXQtdmFyIikgJiYgbV90b2tlblN0YXJ0WzExXSA9PSAnLScgJiYgaXNJZGVudGlmaWVy
U3RhcnRBZnRlckRhc2gobV90b2tlblN0YXJ0ICsgMTIpKQorICAgICAgICAgICAgaWYgKGNzc1Zh
cmlhYmxlc0VuYWJsZWQoKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKHRva2VuU3RhcnQ8U3Jj
Q2hhcmFjdGVyVHlwZT4oKSArIDEsICJ3ZWJraXQtdmFyIikgJiYgdG9rZW5TdGFydDxTcmNDaGFy
YWN0ZXJUeXBlPigpWzExXSA9PSAnLScgJiYgaXNJZGVudGlmaWVyU3RhcnRBZnRlckRhc2godG9r
ZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpICsgMTIpKQogICAgICAgICAgICAgICAgIG1fdG9r
ZW4gPSBWQVJfREVGSU5JVElPTjsKICAgICAgICAgICAgIGVsc2UKICNlbmRpZgotICAgICAgICAg
ICAgaWYgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJygnKSB7CisgICAgICAgICAgICBpZiAoKmN1
cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnKCcpIHsKICAgICAgICAgICAg
ICAgICBtX3Rva2VuID0gRlVOQ1RJT047CiAgICAgICAgICAgICAgICAgaWYgKCFoYXNFc2NhcGUp
Ci0gICAgICAgICAgICAgICAgICAgIGRldGVjdERhc2hUb2tlbihyZXN1bHQgLSBtX3Rva2VuU3Rh
cnQpOwotICAgICAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAg
ICAgICAgICBkZXRlY3REYXNoVG9rZW48U3JjQ2hhcmFjdGVyVHlwZT4ocmVzdWx0IC0gdG9rZW5T
dGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKKyAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFy
YWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgICAgICArK3Jlc3VsdDsKLSAg
ICAgICAgICAgIH0gZWxzZSBpZiAoVU5MSUtFTFkobV9wYXJzaW5nTW9kZSA9PSBOdGhDaGlsZE1v
ZGUpICYmICFoYXNFc2NhcGUgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChtX3Rva2VuU3Rh
cnRbMV0sICduJykpIHsKLSAgICAgICAgICAgICAgICBpZiAocmVzdWx0IC0gbV90b2tlblN0YXJ0
ID09IDIpIHsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoVU5MSUtFTFkobV9wYXJzaW5nTW9kZSA9
PSBOdGhDaGlsZE1vZGUpICYmICFoYXNFc2NhcGUgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVh
bCh0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KClbMV0sICduJykpIHsKKyAgICAgICAgICAg
ICAgICBpZiAocmVzdWx0IC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpID09IDIpIHsK
ICAgICAgICAgICAgICAgICAgICAgLy8gU3RyaW5nICItbiIgaXMgSURFTlQgYnV0ICItbisxIiBp
cyBOVEguCi0gICAgICAgICAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0cmEoKSkgewor
ICAgICAgICAgICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJhPFNyY0NoYXJhY3RlclR5
cGU+KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBOVEg7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICByZXN1bHQgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAg
ICAgICAgICAgICAgICByZXN1bHQgPSBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+
KCk7CiAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJl
c3VsdCAtIG1fdG9rZW5TdGFydCA+PSAzICYmIG1fdG9rZW5TdGFydFsyXSA9PSAnLScpIHsKKyAg
ICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdCAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVy
VHlwZT4oKSA+PSAzICYmIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKVsyXSA9PSAnLScp
IHsKICAgICAgICAgICAgICAgICAgICAgLy8gU3RyaW5nICItbi0iIGlzIElERU5UIGJ1dCAiLW4t
MSIgaXMgTlRILgotICAgICAgICAgICAgICAgICAgICAvLyBTZXQgbV9jdXJyZW50Q2hhcmFjdGVy
IHRvIHNlY29uZCAnLScgb2YgJy1uLScgdG8gY29udGludWUgcGFyc2luZy4KLSAgICAgICAgICAg
ICAgICAgICAgVUNoYXIqIG5leHRDaGFyYWN0ZXIgPSByZXN1bHQ7Ci0gICAgICAgICAgICAgICAg
ICAgIG1fY3VycmVudENoYXJhY3RlciA9IG1fdG9rZW5TdGFydCArIDI7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0cmEoKSkgeworICAgICAgICAgICAgICAgICAgICAv
LyBTZXQgY3VycmVudENoYXJhY3RlciB0byBzZWNvbmQgJy0nIG9mICctbi0nIHRvIGNvbnRpbnVl
IHBhcnNpbmcuCisgICAgICAgICAgICAgICAgICAgIFNyY0NoYXJhY3RlclR5cGUqIG5leHRDaGFy
YWN0ZXIgPSByZXN1bHQ7CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3Jj
Q2hhcmFjdGVyVHlwZT4oKSA9IHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSArIDI7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hhcmFjdGVyVHlw
ZT4oKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHJlc3VsdCA9IG1fY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHJlc3VsdCA9IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4o
KTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IC8vIFJldmVydCB0aGUgY2hhbmdlIHRvIG1fY3VycmVudENoYXJhY3RlciBpZiB1bnN1Y2Nlc3Nm
dWwuCi0gICAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBuZXh0Q2hh
cmFjdGVyOworICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV2ZXJ0IHRoZSBjaGFuZ2UgdG8g
Y3VycmVudENoYXJhY3RlciBpZiB1bnN1Y2Nlc3NmdWwuCisgICAgICAgICAgICAgICAgICAgICAg
ICBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPSBuZXh0Q2hhcmFjdGVyOwog
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9IG1fdG9rZW5TdGFydDsKLSAg
ICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IHJlc3VsdCAtIG1fdG9rZW5TdGFydDsK
LSAgICAgICAgfSBlbHNlIGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJbMF0gPT0gJy0nICYmIG1fY3Vy
cmVudENoYXJhY3RlclsxXSA9PSAnPicpIHsKLSAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3Rl
ciArPSAyOworICAgICAgICAgICAgcmVzdWx0U3RyaW5nLnNldExlbmd0aChyZXN1bHQgLSB0b2tl
blN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkpOworICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcg
PSByZXN1bHRTdHJpbmc7CisgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudENoYXJhY3RlcjxTcmND
aGFyYWN0ZXJUeXBlPigpWzBdID09ICctJyAmJiBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3Rl
clR5cGU+KClbMV0gPT0gJz4nKSB7CisgICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVyPFNyY0No
YXJhY3RlclR5cGU+KCkgKz0gMjsKICAgICAgICAgICAgIG1fdG9rZW4gPSBTR01MX0NEOwogICAg
ICAgICB9IGVsc2UgaWYgKFVOTElLRUxZKG1fcGFyc2luZ01vZGUgPT0gTnRoQ2hpbGRNb2RlKSkg
ewogICAgICAgICAgICAgLy8gIi1bMC05XStuIiBpcyBhbHdheXMgYW4gTnRoQ2hpbGQuCi0gICAg
ICAgICAgICBpZiAocGFyc2VOdGhDaGlsZCgpKSB7Ci0gICAgICAgICAgICAgICAgcGFyc2VOdGhD
aGlsZEV4dHJhKCk7CisgICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZDxTcmNDaGFyYWN0ZXJU
eXBlPigpKSB7CisgICAgICAgICAgICAgICAgcGFyc2VOdGhDaGlsZEV4dHJhPFNyY0NoYXJhY3Rl
clR5cGU+KCk7CiAgICAgICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAgICAgICAg
ICB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0OwotICAgICAgICAgICAg
ICAgIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5T
dGFydDsKKyAgICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5pbml0KHRva2VuU3RhcnQ8U3Jj
Q2hhcmFjdGVyVHlwZT4oKSwgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0g
dG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgICAgICBicmVhazsKQEAgLTkzMzksMTggKzk1NzMsMTggQEAgcmVzdGFydEFmdGVyQ29t
bWVudDoKIAogICAgIGNhc2UgQ2hhcmFjdGVyTnVsbDoKICAgICAgICAgLy8gRG8gbm90IGFkdmFu
Y2UgcG9pbnRlciBhdCB0aGUgZW5kIG9mIGlucHV0LgotICAgICAgICAtLW1fY3VycmVudENoYXJh
Y3RlcjsKKyAgICAgICAgLS1jdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAg
ICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJXaGl0ZVNwYWNlOgogICAgICAgICBt
X3Rva2VuID0gV0hJVEVTUEFDRTsKICAgICAgICAgLy8gTWlnaHQgc3RhcnQgd2l0aCBhICdcbicu
Ci0gICAgICAgIC0tbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAtLWN1cnJlbnRDaGFyYWN0
ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgZG8gewotICAgICAgICAgICAgaWYgKCpt
X2N1cnJlbnRDaGFyYWN0ZXIgPT0gJ1xuJykKKyAgICAgICAgICAgIGlmICgqY3VycmVudENoYXJh
Y3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICdcbicpCiAgICAgICAgICAgICAgICAgKyttX2xp
bmVOdW1iZXI7Ci0gICAgICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKLSAgICAgICAgfSB3
aGlsZSAoKm1fY3VycmVudENoYXJhY3RlciA8PSAnICcgJiYgKHR5cGVzT2ZBU0NJSUNoYXJhY3Rl
cnNbKm1fY3VycmVudENoYXJhY3Rlcl0gPT0gQ2hhcmFjdGVyV2hpdGVTcGFjZSkpOworICAgICAg
ICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CisgICAgICAgIH0g
d2hpbGUgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPD0gJyAnICYmICh0
eXBlc09mQVNDSUlDaGFyYWN0ZXJzWypjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+
KCldID09IENoYXJhY3RlcldoaXRlU3BhY2UpKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNl
IENoYXJhY3RlckVuZE1lZGlhUXVlcnk6CkBAIC05MzY0LDQyICs5NTk4LDM5IEBAIHJlc3RhcnRB
ZnRlckNvbW1lbnQ6CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJRdW90ZToK
LSAgICAgICAgaWYgKGNoZWNrQW5kU2tpcFN0cmluZyhtX2N1cnJlbnRDaGFyYWN0ZXIsIG1fdG9r
ZW4pKSB7CisgICAgICAgIGlmIChjaGVja0FuZFNraXBTdHJpbmcoY3VycmVudENoYXJhY3RlcjxT
cmNDaGFyYWN0ZXJUeXBlPigpLCBtX3Rva2VuKSkgewogICAgICAgICAgICAgKytyZXN1bHQ7Ci0g
ICAgICAgICAgICBwYXJzZVN0cmluZyhyZXN1bHQsIG1fdG9rZW4pOworICAgICAgICAgICAgcGFy
c2VTdHJpbmc8U3JjQ2hhcmFjdGVyVHlwZT4ocmVzdWx0LCB5eWx2YWwtPnN0cmluZywgbV90b2tl
bik7CiAgICAgICAgICAgICBtX3Rva2VuID0gU1RSSU5HOwotICAgICAgICAgICAgeXlsdmFsLT5z
dHJpbmcuY2hhcmFjdGVycyA9IG1fdG9rZW5TdGFydCArIDE7Ci0gICAgICAgICAgICB5eWx2YWwt
PnN0cmluZy5sZW5ndGggPSByZXN1bHQgLSAobV90b2tlblN0YXJ0ICsgMSk7CiAgICAgICAgIH0K
ICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlckV4Y2xhbWF0aW9uTWFyazogewot
ICAgICAgICBVQ2hhciogc3RhcnQgPSBza2lwV2hpdGVTcGFjZShtX2N1cnJlbnRDaGFyYWN0ZXIp
OworICAgICAgICBTcmNDaGFyYWN0ZXJUeXBlKiBzdGFydCA9IHNraXBXaGl0ZVNwYWNlKGN1cnJl
bnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CiAgICAgICAgIGlmIChpc0VxdWFsVG9D
U1NJZGVudGlmaWVyKHN0YXJ0LCAiaW1wb3J0YW50IikpIHsKICAgICAgICAgICAgIG1fdG9rZW4g
PSBJTVBPUlRBTlRfU1lNOwotICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gc3RhcnQg
KyA5OworICAgICAgICAgICAgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID0g
c3RhcnQgKyA5OwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIGNhc2Ug
Q2hhcmFjdGVySGFzaG1hcms6IHsKLSAgICAgICAgVUNoYXIqIHN0YXJ0ID0gbV9jdXJyZW50Q2hh
cmFjdGVyOwotICAgICAgICByZXN1bHQgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIFNy
Y0NoYXJhY3RlclR5cGUqIHN0YXJ0ID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBl
PigpOworICAgICAgICByZXN1bHQgPSBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+
KCk7CiAKLSAgICAgICAgaWYgKGlzQVNDSUlEaWdpdCgqbV9jdXJyZW50Q2hhcmFjdGVyKSkgewor
ICAgICAgICBpZiAoaXNBU0NJSURpZ2l0KCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5
cGU+KCkpKSB7CiAgICAgICAgICAgICAvLyBUaGlzIG11c3QgYmUgYSB2YWxpZCBoZXggbnVtYmVy
IHRva2VuLgogICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgICsrbV9jdXJyZW50Q2hh
cmFjdGVyOwotICAgICAgICAgICAgfSB3aGlsZSAoaXNBU0NJSUhleERpZ2l0KCptX2N1cnJlbnRD
aGFyYWN0ZXIpKTsKKyAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFj
dGVyVHlwZT4oKTsKKyAgICAgICAgICAgIH0gd2hpbGUgKGlzQVNDSUlIZXhEaWdpdCgqY3VycmVu
dENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpKSk7CiAgICAgICAgICAgICBtX3Rva2VuID0g
SEVYOwotICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9IHN0YXJ0OwotICAg
ICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0gc3Rh
cnQ7Ci0gICAgICAgIH0gZWxzZSBpZiAoaXNJZGVudGlmaWVyU3RhcnQoKSkgeworICAgICAgICAg
ICAgeXlsdmFsLT5zdHJpbmcuaW5pdChzdGFydCwgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpIC0gc3RhcnQpOworICAgICAgICB9IGVsc2UgaWYgKGlzSWRlbnRpZmllclN0YXJ0
PFNyY0NoYXJhY3RlclR5cGU+KCkpIHsKICAgICAgICAgICAgIG1fdG9rZW4gPSBJRFNFTDsKLSAg
ICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIGhhc0VzY2FwZSk7CisgICAgICAgICAg
ICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCB5eWx2YWwtPnN0cmluZywgaGFzRXNjYXBlKTsKICAg
ICAgICAgICAgIGlmICghaGFzRXNjYXBlKSB7CiAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgd2hl
dGhlciB0aGUgaWRlbnRpZmllciBpcyBhbHNvIGEgdmFsaWQgaGV4IG51bWJlci4KLSAgICAgICAg
ICAgICAgICBVQ2hhciogY3VycmVudCA9IHN0YXJ0OworICAgICAgICAgICAgICAgIFNyY0NoYXJh
Y3RlclR5cGUqIGN1cnJlbnQgPSBzdGFydDsKICAgICAgICAgICAgICAgICBtX3Rva2VuID0gSEVY
OwogICAgICAgICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc0FTQ0lJ
SGV4RGlnaXQoKmN1cnJlbnQpKSB7CkBAIC05NDA5LDQxICs5NjQwLDM5IEBAIHJlc3RhcnRBZnRl
ckNvbW1lbnQ6CiAgICAgICAgICAgICAgICAgICAgICsrY3VycmVudDsKICAgICAgICAgICAgICAg
ICB9IHdoaWxlIChjdXJyZW50IDwgcmVzdWx0KTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBzdGFydDsKLSAgICAgICAgICAgIHl5bHZhbC0+
c3RyaW5nLmxlbmd0aCA9IHJlc3VsdCAtIHN0YXJ0OwogICAgICAgICB9CiAgICAgICAgIGJyZWFr
OwogICAgIH0KIAogICAgIGNhc2UgQ2hhcmFjdGVyU2xhc2g6CiAgICAgICAgIC8vIElnbm9yZSBj
b21tZW50cy4gVGhleSBhcmUgbm90IGV2ZW4gY29uc2lkZXJlZCBhcyB3aGl0ZSBzcGFjZXMuCi0g
ICAgICAgIGlmICgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICcqJykgewotICAgICAgICAgICAgKytt
X2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAgICB3aGlsZSAobV9jdXJyZW50Q2hhcmFjdGVy
WzBdICE9ICcqJyB8fCBtX2N1cnJlbnRDaGFyYWN0ZXJbMV0gIT0gJy8nKSB7Ci0gICAgICAgICAg
ICAgICAgaWYgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJ1xuJykKKyAgICAgICAgaWYgKCpjdXJy
ZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJyonKSB7CisgICAgICAgICAgICAr
K2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKKyAgICAgICAgICAgIHdoaWxl
IChjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMF0gIT0gJyonIHx8IGN1cnJl
bnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKVsxXSAhPSAnLycpIHsKKyAgICAgICAgICAg
ICAgICBpZiAoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnXG4nKQog
ICAgICAgICAgICAgICAgICAgICArK21fbGluZU51bWJlcjsKLSAgICAgICAgICAgICAgICBpZiAo
Km1fY3VycmVudENoYXJhY3RlciA9PSAnXDAnKSB7CisgICAgICAgICAgICAgICAgaWYgKCpjdXJy
ZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJ1wwJykgewogICAgICAgICAgICAg
ICAgICAgICAvLyBVbnRlcm1pbmF0ZWQgY29tbWVudHMgYXJlIHNpbXBseSBpZ25vcmVkLgotICAg
ICAgICAgICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgLT0gMjsKKyAgICAgICAgICAgICAg
ICAgICAgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC09IDI7CiAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAr
K21fY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8
U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG1fY3VycmVu
dENoYXJhY3RlciArPSAyOworICAgICAgICAgICAgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpICs9IDI7CiAgICAgICAgICAgICBnb3RvIHJlc3RhcnRBZnRlckNvbW1lbnQ7CiAg
ICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlckRvbGxhcjoKLSAg
ICAgICAgaWYgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJz0nKSB7Ci0gICAgICAgICAgICArK21f
Y3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJh
Y3RlclR5cGU+KCkgPT0gJz0nKSB7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3Jj
Q2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBFTkRTV0lUSDsKICAgICAg
ICAgfQogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyQXN0ZXJpc2s6Ci0gICAg
ICAgIGlmICgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICc9JykgewotICAgICAgICAgICAgKyttX2N1
cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpID09ICc9JykgeworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0No
YXJhY3RlclR5cGU+KCk7CiAgICAgICAgICAgICBtX3Rva2VuID0gQ09OVEFJTlM7CiAgICAgICAg
IH0KICAgICAgICAgYnJlYWs7CkBAIC05NDUxLDU4ICs5NjgwLDU1IEBAIHJlc3RhcnRBZnRlckNv
bW1lbnQ6CiAgICAgY2FzZSBDaGFyYWN0ZXJQbHVzOgogICAgICAgICBpZiAoVU5MSUtFTFkobV9w
YXJzaW5nTW9kZSA9PSBOdGhDaGlsZE1vZGUpKSB7CiAgICAgICAgICAgICAvLyBTaW1wbGVzdCBj
YXNlLiAiK1swLTldKm4iIGlzIGFsd2F5cyBOdGhDaGlsZC4KLSAgICAgICAgICAgIGlmIChwYXJz
ZU50aENoaWxkKCkpIHsKLSAgICAgICAgICAgICAgICBwYXJzZU50aENoaWxkRXh0cmEoKTsKKyAg
ICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkPFNyY0NoYXJhY3RlclR5cGU+KCkpIHsKKyAgICAg
ICAgICAgICAgICBwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAgICAg
ICAgICAgICAgICBtX3Rva2VuID0gTlRIOwotICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5n
LmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJp
bmcubGVuZ3RoID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0OworICAgICAgICAg
ICAgICAgIHl5bHZhbC0+c3RyaW5nLmluaXQodG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigp
LCBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgLSB0b2tlblN0YXJ0PFNyY0No
YXJhY3RlclR5cGU+KCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGJyZWFr
OwogCiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgotICAgICAgICBpZiAobV9jdXJyZW50Q2hhcmFj
dGVyWzBdID09ICchJyAmJiBtX2N1cnJlbnRDaGFyYWN0ZXJbMV0gPT0gJy0nICYmIG1fY3VycmVu
dENoYXJhY3RlclsyXSA9PSAnLScpIHsKLSAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciAr
PSAzOworICAgICAgICBpZiAoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpWzBd
ID09ICchJyAmJiBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMV0gPT0gJy0n
ICYmIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKVsyXSA9PSAnLScpIHsKKyAg
ICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSArPSAzOwogICAg
ICAgICAgICAgbV90b2tlbiA9IFNHTUxfQ0Q7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAK
ICAgICBjYXNlIENoYXJhY3RlckF0OgotICAgICAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnQoKSkg
eworICAgICAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSkgewog
ICAgICAgICAgICAgbV90b2tlbiA9IEFUS0VZV09SRDsKICAgICAgICAgICAgICsrcmVzdWx0Owot
ICAgICAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgaGFzRXNjYXBlKTsKLSAgICAgICAg
ICAgIGRldGVjdEF0VG9rZW4ocmVzdWx0IC0gbV90b2tlblN0YXJ0LCBoYXNFc2NhcGUpOworICAg
ICAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgcmVzdWx0U3RyaW5nLCBoYXNFc2NhcGUp
OworICAgICAgICAgICAgZGV0ZWN0QXRUb2tlbjxTcmNDaGFyYWN0ZXJUeXBlPihyZXN1bHQgLSB0
b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCksIGhhc0VzY2FwZSk7CiAgICAgICAgIH0KICAg
ICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlckJhY2tTbGFzaDoKLSAgICAgICAgaWYg
KGlzQ1NTRXNjYXBlKCptX2N1cnJlbnRDaGFyYWN0ZXIpKSB7Ci0gICAgICAgICAgICAtLW1fY3Vy
cmVudENoYXJhY3RlcjsKLSAgICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIGhhc0Vz
Y2FwZSk7CisgICAgICAgIGlmIChpc0NTU0VzY2FwZSgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFy
YWN0ZXJUeXBlPigpKSkgeworICAgICAgICAgICAgLS1jdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJh
Y3RlclR5cGU+KCk7CisgICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCB5eWx2YWwt
PnN0cmluZywgaGFzRXNjYXBlKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBJREVOVDsKLSAgICAg
ICAgICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAg
ICAgICB5eWx2YWwtPnN0cmluZy5sZW5ndGggPSByZXN1bHQgLSBtX3Rva2VuU3RhcnQ7CiAgICAg
ICAgIH0KICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlclhvcjoKLSAgICAgICAg
aWYgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJz0nKSB7Ci0gICAgICAgICAgICArK21fY3VycmVu
dENoYXJhY3RlcjsKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5
cGU+KCkgPT0gJz0nKSB7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFj
dGVyVHlwZT4oKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBCRUdJTlNXSVRIOwogICAgICAgICB9
CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJWZXJ0aWNhbEJhcjoKLSAgICAg
ICAgaWYgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJz0nKSB7Ci0gICAgICAgICAgICArK21fY3Vy
cmVudENoYXJhY3RlcjsKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3Rl
clR5cGU+KCkgPT0gJz0nKSB7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hh
cmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBEQVNITUFUQ0g7CiAgICAgICAg
IH0KICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlclRpbGRlOgotICAgICAgICBp
ZiAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnPScpIHsKLSAgICAgICAgICAgICsrbV9jdXJyZW50
Q2hhcmFjdGVyOworICAgICAgICBpZiAoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlw
ZT4oKSA9PSAnPScpIHsKKyAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpOwogICAgICAgICAgICAgbV90b2tlbiA9IElOQ0xVREVTOwogICAgICAgICB9CiAg
ICAgICAgIGJyZWFrOwpAQCAtOTUxMiwzNiArOTczOCw2IEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6
CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotI2lmbmRlZiBOREVCVUcKLSAgICBzd2l0Y2ggKHRv
a2VuKCkpIHsKLSAgICBjYXNlIFNUUklORzoKLSAgICAgICAgQVNTRVJUKHl5bHZhbC0+c3RyaW5n
LmNoYXJhY3RlcnMgPT0gbV90b2tlblN0YXJ0ICsgMSk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAg
Y2FzZSBJREVOVDoKLSAgICBjYXNlIE5USDoKLSAgICBjYXNlIERJTUVOOgotICAgIGNhc2UgVU5J
Q09ERVJBTkdFOgotICAgIGNhc2UgRlVOQ1RJT046Ci0gICAgY2FzZSBBTllGVU5DVElPTjoKLSAg
ICBjYXNlIE5PVEZVTkNUSU9OOgotICAgIGNhc2UgQ0FMQ0ZVTkNUSU9OOgotICAgIGNhc2UgTUlO
RlVOQ1RJT046Ci0gICAgY2FzZSBNQVhGVU5DVElPTjoKLSAgICAgICAgQVNTRVJUKHl5bHZhbC0+
c3RyaW5nLmNoYXJhY3RlcnMgPT0gbV90b2tlblN0YXJ0ICYmIHl5bHZhbC0+c3RyaW5nLmxlbmd0
aCA+IDApOwotICAgICAgICBicmVhazsKLQotICAgIGNhc2UgVVJJOgotICAgICAgICBBU1NFUlQo
eXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyAmJiB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzICE9
IG1fdG9rZW5TdGFydCk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBIRVg6Ci0gICAgY2Fz
ZSBJRFNFTDoKLSAgICAgICAgQVNTRVJUKHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPT0gbV90
b2tlblN0YXJ0ICsgMSAmJiB5eWx2YWwtPnN0cmluZy5sZW5ndGggPiAwKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgfQotI2VuZGlmCi0KICAgICByZXR1cm4gdG9rZW4oKTsKIH0KIApAQCAtOTk4NCwx
NyArMTAxODAsMTUgQEAgdm9pZCBDU1NQYXJzZXI6OnVwZGF0ZUxhc3RNZWRpYUxpbmUoTWVkaQog
ICAgIG1lZGlhLT5zZXRMYXN0TGluZShtX2xpbmVOdW1iZXIpOwogfQogCi12b2lkIENTU1BhcnNl
cjo6Zml4VW5wYXJzZWRQcm9wZXJ0eVJhbmdlcyhDU1NSdWxlU291cmNlRGF0YSogcnVsZURhdGEp
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgdm9pZCBm
aXhVbnBhcnNlZFByb3BlcnRpZXMoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgQ1NT
UnVsZVNvdXJjZURhdGEqIHJ1bGVEYXRhKQogewotICAgIGlmICghcnVsZURhdGEtPnN0eWxlU291
cmNlRGF0YSkKLSAgICAgICAgcmV0dXJuOwogICAgIFZlY3RvcjxDU1NQcm9wZXJ0eVNvdXJjZURh
dGE+JiBwcm9wZXJ0eURhdGEgPSBydWxlRGF0YS0+c3R5bGVTb3VyY2VEYXRhLT5wcm9wZXJ0eURh
dGE7CiAgICAgdW5zaWduZWQgc2l6ZSA9IHByb3BlcnR5RGF0YS5zaXplKCk7CiAgICAgaWYgKCFz
aXplKQogICAgICAgICByZXR1cm47CiAKICAgICB1bnNpZ25lZCBzdHlsZVN0YXJ0ID0gcnVsZURh
dGEtPnJ1bGVCb2R5UmFuZ2Uuc3RhcnQ7Ci0gICAgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMgPSBt
X2RhdGFTdGFydC5nZXQoKSArIG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aDsKICAgICBDU1NQcm9w
ZXJ0eVNvdXJjZURhdGEqIG5leHREYXRhID0gJihwcm9wZXJ0eURhdGEuYXQoMCkpOwogICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKICAgICAgICAgQ1NTUHJvcGVydHlT
b3VyY2VEYXRhKiBjdXJyZW50RGF0YSA9IG5leHREYXRhOwpAQCAtMTAwMzEsMzYgKzEwMjI1LDYw
IEBAIHZvaWQgQ1NTUGFyc2VyOjpmaXhVbnBhcnNlZFByb3BlcnR5UmFuZ2UKICAgICB9CiB9CiAK
K3ZvaWQgQ1NTUGFyc2VyOjpmaXhVbnBhcnNlZFByb3BlcnR5UmFuZ2VzKENTU1J1bGVTb3VyY2VE
YXRhKiBydWxlRGF0YSkKK3sKKyAgICBpZiAoIXJ1bGVEYXRhLT5zdHlsZVNvdXJjZURhdGEpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmIChpczhCaXRTb3VyY2UoKSkgeworICAgICAgICBmaXhV
bnBhcnNlZFByb3BlcnRpZXM8TENoYXI+KG1fZGF0YVN0YXJ0OC5nZXQoKSArIG1fcGFyc2VkVGV4
dFByZWZpeExlbmd0aCwgcnVsZURhdGEpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
Zml4VW5wYXJzZWRQcm9wZXJ0aWVzPFVDaGFyPihtX2RhdGFTdGFydDE2LmdldCgpICsgbV9wYXJz
ZWRUZXh0UHJlZml4TGVuZ3RoLCBydWxlRGF0YSk7Cit9CisKIHZvaWQgQ1NTUGFyc2VyOjptYXJr
UnVsZUhlYWRlclN0YXJ0KENTU1J1bGVTb3VyY2VEYXRhOjpUeXBlIHJ1bGVUeXBlKQogewogICAg
IGlmICghaXNFeHRyYWN0aW5nU291cmNlRGF0YSgpKQogICAgICAgICByZXR1cm47CiAgICAgUmVm
UHRyPENTU1J1bGVTb3VyY2VEYXRhPiBkYXRhID0gQ1NTUnVsZVNvdXJjZURhdGE6OmNyZWF0ZShy
dWxlVHlwZSk7Ci0gICAgZGF0YS0+cnVsZUhlYWRlclJhbmdlLnN0YXJ0ID0gbV90b2tlblN0YXJ0
IC0gbV9kYXRhU3RhcnQuZ2V0KCk7CisgICAgZGF0YS0+cnVsZUhlYWRlclJhbmdlLnN0YXJ0ID0g
dG9rZW5TdGFydE9mZnNldCgpOwogICAgIG1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmFwcGVuZChk
YXRhLnJlbGVhc2UoKSk7CiB9CiAKLXZvaWQgQ1NTUGFyc2VyOjptYXJrUnVsZUhlYWRlckVuZCgp
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2lubGluZSB2b2lkIENTU1BhcnNl
cjo6c2V0UnVsZUhlYWRlckVuZChjb25zdCBDaGFyYWN0ZXJUeXBlKiBkYXRhU3RhcnQpCiB7Ci0g
ICAgaWYgKCFpc0V4dHJhY3RpbmdTb3VyY2VEYXRhKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBB
U1NFUlQoIW1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmlzRW1wdHkoKSk7Ci0gICAgVUNoYXIqIGxp
c3RFbmQgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgd2hpbGUgKGxpc3RFbmQgPiBtX2RhdGFTdGFydC5n
ZXQoKSArIDEpIHsKKyAgICBDaGFyYWN0ZXJUeXBlKiBsaXN0RW5kID0gdG9rZW5TdGFydDxDaGFy
YWN0ZXJUeXBlPigpOworICAgIHdoaWxlIChsaXN0RW5kID4gZGF0YVN0YXJ0ICsgMSkgewogICAg
ICAgICBpZiAoaXNIVE1MU3BhY2UoKihsaXN0RW5kIC0gMSkpKQogICAgICAgICAgICAgLS1saXN0
RW5kOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBicmVhazsKICAgICB9Ci0gICAgbV9jdXJy
ZW50UnVsZURhdGFTdGFjay0+bGFzdCgpLT5ydWxlSGVhZGVyUmFuZ2UuZW5kID0gbGlzdEVuZCAt
IG1fZGF0YVN0YXJ0LmdldCgpOworCisgICAgbV9jdXJyZW50UnVsZURhdGFTdGFjay0+bGFzdCgp
LT5ydWxlSGVhZGVyUmFuZ2UuZW5kID0gbGlzdEVuZCAtIGRhdGFTdGFydDsKK30KKwordm9pZCBD
U1NQYXJzZXI6Om1hcmtSdWxlSGVhZGVyRW5kKCkKK3sKKyAgICBpZiAoIWlzRXh0cmFjdGluZ1Nv
dXJjZURhdGEoKSkKKyAgICAgICAgcmV0dXJuOworICAgIEFTU0VSVCghbV9jdXJyZW50UnVsZURh
dGFTdGFjay0+aXNFbXB0eSgpKTsKKworICAgIGlmIChpczhCaXRTb3VyY2UoKSkKKyAgICAgICAg
c2V0UnVsZUhlYWRlckVuZDxMQ2hhcj4obV9kYXRhU3RhcnQ4LmdldCgpKTsKKyAgICBlbHNlCisg
ICAgICAgIHNldFJ1bGVIZWFkZXJFbmQ8VUNoYXI+KG1fZGF0YVN0YXJ0MTYuZ2V0KCkpOwogfQog
CiB2b2lkIENTU1BhcnNlcjo6bWFya1J1bGVCb2R5U3RhcnQoKQogewogICAgIGlmICghaXNFeHRy
YWN0aW5nU291cmNlRGF0YSgpKQogICAgICAgICByZXR1cm47Ci0gICAgdW5zaWduZWQgb2Zmc2V0
ID0gbV90b2tlblN0YXJ0IC0gbV9kYXRhU3RhcnQuZ2V0KCk7Ci0gICAgaWYgKCptX3Rva2VuU3Rh
cnQgPT0gJ3snKQorICAgIHVuc2lnbmVkIG9mZnNldCA9IHRva2VuU3RhcnRPZmZzZXQoKTsKKyAg
ICBpZiAodG9rZW5TdGFydENoYXIoKSA9PSAneycpCiAgICAgICAgICsrb2Zmc2V0OyAvLyBTa2lw
IHRoZSBydWxlIGJvZHkgb3BlbmluZyBicmFjZS4KICAgICBBU1NFUlQoIW1fY3VycmVudFJ1bGVE
YXRhU3RhY2stPmlzRW1wdHkoKSk7CiAgICAgbV9jdXJyZW50UnVsZURhdGFTdGFjay0+bGFzdCgp
LT5ydWxlQm9keVJhbmdlLnN0YXJ0ID0gb2Zmc2V0OwpAQCAtMTAwNjksNyArMTAyODcsNyBAQCB2
b2lkIENTU1BhcnNlcjo6bWFya1J1bGVCb2R5U3RhcnQoKQogdm9pZCBDU1NQYXJzZXI6Om1hcmtS
dWxlQm9keUVuZCgpCiB7CiAgICAgLy8gUHJlY29uZGl0aW9uOiAoIWlzRXh0cmFjdGluZ1NvdXJj
ZURhdGEoKSkKLSAgICB1bnNpZ25lZCBvZmZzZXQgPSBtX3Rva2VuU3RhcnQgLSBtX2RhdGFTdGFy
dC5nZXQoKTsKKyAgICB1bnNpZ25lZCBvZmZzZXQgPSB0b2tlblN0YXJ0T2Zmc2V0KCk7CiAgICAg
QVNTRVJUKCFtX2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5pc0VtcHR5KCkpOwogICAgIG1fY3VycmVu
dFJ1bGVEYXRhU3RhY2stPmxhc3QoKS0+cnVsZUJvZHlSYW5nZS5lbmQgPSBvZmZzZXQ7CiB9CkBA
IC0xMDA4MSw3ICsxMDI5OSw3IEBAIHZvaWQgQ1NTUGFyc2VyOjptYXJrUHJvcGVydHlTdGFydCgp
CiAgICAgaWYgKG1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmlzRW1wdHkoKSB8fCAhbV9jdXJyZW50
UnVsZURhdGFTdGFjay0+bGFzdCgpLT5zdHlsZVNvdXJjZURhdGEpCiAgICAgICAgIHJldHVybjsK
IAotICAgIG1fcHJvcGVydHlSYW5nZS5zdGFydCA9IG1fdG9rZW5TdGFydCAtIG1fZGF0YVN0YXJ0
LmdldCgpOworICAgIG1fcHJvcGVydHlSYW5nZS5zdGFydCA9IHRva2VuU3RhcnRPZmZzZXQoKTsK
IH0KIAogdm9pZCBDU1NQYXJzZXI6Om1hcmtQcm9wZXJ0eUVuZChib29sIGlzSW1wb3J0YW50Rm91
bmQsIGJvb2wgaXNQcm9wZXJ0eVBhcnNlZCkKQEAgLTEwMDkxLDggKzEwMzA5LDggQEAgdm9pZCBD
U1NQYXJzZXI6Om1hcmtQcm9wZXJ0eUVuZChib29sIGlzSQogICAgIGlmIChtX2N1cnJlbnRSdWxl
RGF0YVN0YWNrLT5pc0VtcHR5KCkgfHwgIW1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmxhc3QoKS0+
c3R5bGVTb3VyY2VEYXRhKQogICAgICAgICByZXR1cm47CiAKLSAgICB1bnNpZ25lZCBvZmZzZXQg
PSBtX3Rva2VuU3RhcnQgLSBtX2RhdGFTdGFydC5nZXQoKTsKLSAgICBpZiAoKm1fdG9rZW5TdGFy
dCA9PSAnOycpIC8vIEluY2x1ZGUgc2VtaWNvbG9uIGludG8gdGhlIHByb3BlcnR5IHRleHQuCisg
ICAgdW5zaWduZWQgb2Zmc2V0ID0gdG9rZW5TdGFydE9mZnNldCgpOworICAgIGlmICh0b2tlblN0
YXJ0Q2hhcigpID09ICc7JykgLy8gSW5jbHVkZSBzZW1pY29sb24gaW50byB0aGUgcHJvcGVydHkg
dGV4dC4KICAgICAgICAgKytvZmZzZXQ7CiAgICAgbV9wcm9wZXJ0eVJhbmdlLmVuZCA9IG9mZnNl
dDsKICAgICBpZiAobV9wcm9wZXJ0eVJhbmdlLnN0YXJ0ICE9IFVJTlRfTUFYICYmICFtX2N1cnJl
bnRSdWxlRGF0YVN0YWNrLT5pc0VtcHR5KCkpIHsKQEAgLTEwMTAwLDcgKzEwMzE4LDExIEBAIHZv
aWQgQ1NTUGFyc2VyOjptYXJrUHJvcGVydHlFbmQoYm9vbCBpc0kKICAgICAgICAgY29uc3QgdW5z
aWduZWQgc3RhcnQgPSBtX3Byb3BlcnR5UmFuZ2Uuc3RhcnQ7CiAgICAgICAgIGNvbnN0IHVuc2ln
bmVkIGVuZCA9IG1fcHJvcGVydHlSYW5nZS5lbmQ7CiAgICAgICAgIEFTU0VSVChzdGFydCA8IGVu
ZCk7Ci0gICAgICAgIFN0cmluZyBwcm9wZXJ0eVN0cmluZyA9IFN0cmluZyhtX2RhdGFTdGFydC5n
ZXQoKSArIHN0YXJ0LCBlbmQgLSBzdGFydCkuc3RyaXBXaGl0ZVNwYWNlKCk7CisgICAgICAgIFN0
cmluZyBwcm9wZXJ0eVN0cmluZzsKKyAgICAgICAgaWYgKGlzOEJpdFNvdXJjZSgpKQorICAgICAg
ICAgICAgcHJvcGVydHlTdHJpbmcgPSBTdHJpbmcobV9kYXRhU3RhcnQ4LmdldCgpICsgc3RhcnQs
IGVuZCAtIHN0YXJ0KS5zdHJpcFdoaXRlU3BhY2UoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgcHJvcGVydHlTdHJpbmcgPSBTdHJpbmcobV9kYXRhU3RhcnQxNi5nZXQoKSArIHN0YXJ0LCBl
bmQgLSBzdGFydCkuc3RyaXBXaGl0ZVNwYWNlKCk7CiAgICAgICAgIGlmIChwcm9wZXJ0eVN0cmlu
Zy5lbmRzV2l0aCgnOycpKQogICAgICAgICAgICAgcHJvcGVydHlTdHJpbmcgPSBwcm9wZXJ0eVN0
cmluZy5sZWZ0KHByb3BlcnR5U3RyaW5nLmxlbmd0aCgpIC0gMSk7CiAgICAgICAgIHNpemVfdCBj
b2xvbkluZGV4ID0gcHJvcGVydHlTdHJpbmcuZmluZCgnOicpOwpAQCAtMTAxMTYsNyArMTAzMzgs
OCBAQCB2b2lkIENTU1BhcnNlcjo6bWFya1Byb3BlcnR5RW5kKGJvb2wgaXNJCiAgICAgcmVzZXRQ
cm9wZXJ0eVJhbmdlKCk7CiB9CiAKLXN0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SUQo
Y29uc3QgVUNoYXIqIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgbGVuZ3RoKQordGVtcGxhdGUgPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgQ1NTUHJvcGVydHlJRCBjc3NQcm9wZXJ0eUlE
KGNvbnN0IENoYXJhY3RlclR5cGUqIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgbGVuZ3RoKQogewog
ICAgIGlmICghbGVuZ3RoKQogICAgICAgICByZXR1cm4gQ1NTUHJvcGVydHlJbnZhbGlkOwpAQCAt
MTAxMjYsNyArMTAzNDksNyBAQCBzdGF0aWMgQ1NTUHJvcGVydHlJRCBjc3NQcm9wZXJ0eUlEKGNv
bnN0CiAgICAgY2hhciBidWZmZXJbbWF4Q1NTUHJvcGVydHlOYW1lTGVuZ3RoICsgMSArIDFdOyAv
LyAxIHRvIHR1cm4gImFwcGxlIi8ia2h0bWwiIGludG8gIndlYmtpdCIsIDEgZm9yIG51bGwgY2hh
cmFjdGVyCiAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpICE9IGxlbmd0aDsgKytpKSB7Ci0g
ICAgICAgIFVDaGFyIGMgPSBwcm9wZXJ0eU5hbWVbaV07CisgICAgICAgIENoYXJhY3RlclR5cGUg
YyA9IHByb3BlcnR5TmFtZVtpXTsKICAgICAgICAgaWYgKGMgPT0gMCB8fCBjID49IDB4N0YpCiAg
ICAgICAgICAgICByZXR1cm4gQ1NTUHJvcGVydHlJbnZhbGlkOyAvLyBpbGxlZ2FsIGNoYXJhY3Rl
cgogICAgICAgICBidWZmZXJbaV0gPSB0b0FTQ0lJTG93ZXIoYyk7CkBAIC0xMDE2NCwxMiArMTAz
ODcsMTIgQEAgc3RhdGljIENTU1Byb3BlcnR5SUQgY3NzUHJvcGVydHlJRChjb25zdAogCiBDU1NQ
cm9wZXJ0eUlEIGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7Ci0gICAgcmV0
dXJuIGNzc1Byb3BlcnR5SUQoc3RyaW5nLmNoYXJhY3RlcnMoKSwgc3RyaW5nLmxlbmd0aCgpKTsK
KyAgICByZXR1cm4gc3RyaW5nLmlzOEJpdCgpID8gY3NzUHJvcGVydHlJRChzdHJpbmcuY2hhcmFj
dGVyczgoKSwgc3RyaW5nLmxlbmd0aCgpKSA6IGNzc1Byb3BlcnR5SUQoc3RyaW5nLmNoYXJhY3Rl
cnMoKSwgc3RyaW5nLmxlbmd0aCgpKTsKIH0KIAogQ1NTUHJvcGVydHlJRCBjc3NQcm9wZXJ0eUlE
KGNvbnN0IENTU1BhcnNlclN0cmluZyYgc3RyaW5nKQogewotICAgIHJldHVybiBjc3NQcm9wZXJ0
eUlEKHN0cmluZy5jaGFyYWN0ZXJzLCBzdHJpbmcubGVuZ3RoKTsKKyAgICByZXR1cm4gc3RyaW5n
LmlzOEJpdCgpID8gY3NzUHJvcGVydHlJRChzdHJpbmcuY2hhcmFjdGVyczgoKSwgc3RyaW5nLmxl
bmd0aCgpKSA6IGNzc1Byb3BlcnR5SUQoc3RyaW5nLmNoYXJhY3RlcnMxNigpLCBzdHJpbmcubGVu
Z3RoKCkpOwogfQogCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtMTAxODQsMTggKzEwNDA3LDEzIEBA
IHZvaWQgY3NzUHJvcGVydHlOYW1lSU9TQWxpYXNpbmcoY29uc3QgY2gKIH0KICNlbmRpZgogCi1p
bnQgY3NzVmFsdWVLZXl3b3JkSUQoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBzdHJpbmcpCit0ZW1w
bGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbnQgY3NzVmFsdWVLZXl3b3Jk
SUQoY29uc3QgQ2hhcmFjdGVyVHlwZSogdmFsdWVLZXl3b3JkLCB1bnNpZ25lZCBsZW5ndGgpCiB7
Ci0gICAgdW5zaWduZWQgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aDsKLSAgICBpZiAoIWxlbmd0aCkK
LSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKGxlbmd0aCA+IG1heENTU1ZhbHVlS2V5d29yZExl
bmd0aCkKLSAgICAgICAgcmV0dXJuIDA7Ci0KICAgICBjaGFyIGJ1ZmZlclttYXhDU1NWYWx1ZUtl
eXdvcmRMZW5ndGggKyAxICsgMV07IC8vIDEgdG8gdHVybiAiYXBwbGUiLyJraHRtbCIgaW50byAi
d2Via2l0IiwgMSBmb3IgbnVsbCBjaGFyYWN0ZXIKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgIT0gbGVuZ3RoOyArK2kpIHsKLSAgICAgICAgVUNoYXIgYyA9IHN0cmluZy5jaGFyYWN0ZXJz
W2ldOworICAgICAgICBDaGFyYWN0ZXJUeXBlIGMgPSB2YWx1ZUtleXdvcmRbaV07CiAgICAgICAg
IGlmIChjID09IDAgfHwgYyA+PSAweDdGKQogICAgICAgICAgICAgcmV0dXJuIDA7IC8vIGlsbGVn
YWwgY2hhcmFjdGVyCiAgICAgICAgIGJ1ZmZlcltpXSA9IFdURjo6dG9BU0NJSUxvd2VyKGMpOwpA
QCAtMTAyMTYsNiArMTA0MzQsMTcgQEAgaW50IGNzc1ZhbHVlS2V5d29yZElEKGNvbnN0IENTU1Bh
cnNlclN0cgogICAgIHJldHVybiBoYXNoVGFibGVFbnRyeSA/IGhhc2hUYWJsZUVudHJ5LT5pZCA6
IDA7CiB9CiAKK2ludCBjc3NWYWx1ZUtleXdvcmRJRChjb25zdCBDU1NQYXJzZXJTdHJpbmcmIHN0
cmluZykKK3sKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBzdHJpbmcubGVuZ3RoKCk7CisgICAgaWYg
KCFsZW5ndGgpCisgICAgICAgIHJldHVybiAwOworICAgIGlmIChsZW5ndGggPiBtYXhDU1NWYWx1
ZUtleXdvcmRMZW5ndGgpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHN0cmluZy5p
czhCaXQoKSA/IGNzc1ZhbHVlS2V5d29yZElEKHN0cmluZy5jaGFyYWN0ZXJzOCgpLCBsZW5ndGgp
IDogY3NzVmFsdWVLZXl3b3JkSUQoc3RyaW5nLmNoYXJhY3RlcnMxNigpLCBsZW5ndGgpOworfQor
CiAvLyAiaWRlbnQiIGZyb20gdGhlIENTUyB0b2tlbml6ZXIsIG1pbnVzIGJhY2tzbGFzaC1lc2Nh
cGUgc2VxdWVuY2VzCiBzdGF0aWMgYm9vbCBpc0NTU1Rva2VuaXplcklkZW50aWZpZXIoY29uc3Qg
U3RyaW5nJiBzdHJpbmcpCiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCShyZXZpc2lvbiAx
MjY4MzcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTcwLDYgKzcwLDggQEAgY2xhc3MgV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZTsKICNlbmRp
ZgogCiBjbGFzcyBDU1NQYXJzZXIgeworICAgIGZyaWVuZCBpbmxpbmUgaW50IGNzc3l5bGV4KHZv
aWQqLCBDU1NQYXJzZXIqKTsKKwogcHVibGljOgogICAgIENTU1BhcnNlcihjb25zdCBDU1NQYXJz
ZXJDb250ZXh0Jik7CiAKQEAgLTM1NCw3ICszNTYsOSBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0
cjxDU1NSdWxlU291cmNlRGF0YT4gcG9wUnVsZURhdGEoKTsKICAgICB2b2lkIHJlc2V0UHJvcGVy
dHlSYW5nZSgpIHsgbV9wcm9wZXJ0eVJhbmdlLnN0YXJ0ID0gbV9wcm9wZXJ0eVJhbmdlLmVuZCA9
IFVJTlRfTUFYOyB9CiAgICAgYm9vbCBpc0V4dHJhY3RpbmdTb3VyY2VEYXRhKCkgY29uc3QgeyBy
ZXR1cm4gISFtX2N1cnJlbnRSdWxlRGF0YVN0YWNrOyB9Ci0gICAgaW50IGxleCh2b2lkKiB5eWx2
YWwpOworCisgICAgaW5saW5lIGludCBsZXgodm9pZCogeXlsdmFsKSB7IHJldHVybiAodGhpcy0+
Km1fbGV4RnVuYykoeXlsdmFsKTsgfQorCiAgICAgaW50IHRva2VuKCkgeyByZXR1cm4gbV90b2tl
bjsgfQogCiAgICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZl
TnVtZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVlKik7CkBAIC0zNjMsMjMgKzM2Nyw3MSBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIEtVUkwgY29tcGxldGVVUkwoY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYs
IGNvbnN0IFN0cmluZyYgdXJsKTsKIAogcHJpdmF0ZToKKyAgICBib29sIGlzOEJpdFNvdXJjZSgp
IHsgcmV0dXJuIG1faXM4Qml0U291cmNlOyB9CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgU291
cmNlQ2hhcmFjdGVyVHlwZT4KKyAgICBpbnQgcmVhbExleCh2b2lkKiB5eWx2YWwpOworCisgICAg
VUNoYXIqJiBjdXJyZW50Q2hhcmFjdGVyMTYoKTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSBDaGFyYWN0ZXJUeXBlKiYgY3VycmVudENoYXJhY3Rl
cigpOworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CisgICAgaW5saW5l
IENoYXJhY3RlclR5cGUqIHRva2VuU3RhcnQoKTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSB2b2lkIHNldFRva2VuU3RhcnQoQ2hhcmFjdGVyVHlw
ZSopOworCisgICAgaW5saW5lIHVuc2lnbmVkIHRva2VuU3RhcnRPZmZzZXQoKTsKKyAgICBpbmxp
bmUgVUNoYXIgdG9rZW5TdGFydENoYXIoKTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFy
YWN0ZXJUeXBlPgogICAgIGlubGluZSBib29sIGlzSWRlbnRpZmllclN0YXJ0KCk7CiAKLSAgICBz
dGF0aWMgaW5saW5lIFVDaGFyKiBjaGVja0FuZFNraXBTdHJpbmcoVUNoYXIqLCBVQ2hhcik7Cisg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CisgICAgc3RhdGljIGlubGluZSBD
aGFyYWN0ZXJUeXBlKiBjaGVja0FuZFNraXBTdHJpbmcoQ2hhcmFjdGVyVHlwZSosIGludCk7CisK
KyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICB1bnNpZ25lZCBwYXJz
ZUVzY2FwZShDaGFyYWN0ZXJUeXBlKiYpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBEZXN0Q2hh
cmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgdm9pZCBVbmljb2RlVG9DaGFycyhEZXN0Q2hhcmFjdGVy
VHlwZSomLCB1bnNpZ25lZCk7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFNyY0NoYXJhY3RlclR5
cGUsIHR5cGVuYW1lIERlc3RDaGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSBib29sIHBhcnNlSWRl
bnRpZmllckludGVybmFsKFNyY0NoYXJhY3RlclR5cGUqJiwgRGVzdENoYXJhY3RlclR5cGUqJiwg
Ym9vbCYpOworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CisgICAgaW5s
aW5lIHZvaWQgcGFyc2VJZGVudGlmaWVyKENoYXJhY3RlclR5cGUqJiwgQ1NTUGFyc2VyU3RyaW5n
JiwgYm9vbCYpOworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFNyY0NoYXJhY3RlclR5cGUsIHR5
cGVuYW1lIERlc3RDaGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSBib29sIHBhcnNlU3RyaW5nSW50
ZXJuYWwoU3JjQ2hhcmFjdGVyVHlwZSomLCBEZXN0Q2hhcmFjdGVyVHlwZSomLCBVQ2hhcik7CisK
KyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgdm9pZCBw
YXJzZVN0cmluZyhDaGFyYWN0ZXJUeXBlKiYsIENTU1BhcnNlclN0cmluZyYgcmVzdWx0U3RyaW5n
LCBVQ2hhcik7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBp
bmxpbmUgYm9vbCBwYXJzZVVSSUludGVybmFsKENoYXJhY3RlclR5cGUqJiwgQ2hhcmFjdGVyVHlw
ZSomKTsKIAotICAgIHZvaWQgcGFyc2VFc2NhcGUoVUNoYXIqJik7Ci0gICAgaW5saW5lIHZvaWQg
cGFyc2VJZGVudGlmaWVyKFVDaGFyKiYsIGJvb2wmKTsKLSAgICBpbmxpbmUgdm9pZCBwYXJzZVN0
cmluZyhVQ2hhciomLCBVQ2hhcik7Ci0gICAgaW5saW5lIHZvaWQgcGFyc2VVUkkoVUNoYXIqJiwg
VUNoYXIqJik7CisgICAgaW5saW5lIHZvaWQgcGFyc2VVUkkoQ1NTUGFyc2VyU3RyaW5nJik7Cisg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiAgICAgaW5saW5lIGJvb2wgcGFy
c2VVbmljb2RlUmFuZ2UoKTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4K
ICAgICBib29sIHBhcnNlTnRoQ2hpbGQoKTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFj
dGVyVHlwZT4KICAgICBib29sIHBhcnNlTnRoQ2hpbGRFeHRyYSgpOworICAgIHRlbXBsYXRlIDx0
eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogICAgIGlubGluZSB2b2lkIGRldGVjdEZ1bmN0aW9uVHlw
ZVRva2VuKGludCk7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiAgICAg
aW5saW5lIHZvaWQgZGV0ZWN0TWVkaWFRdWVyeVRva2VuKGludCk7Ci0gICAgaW5saW5lIHZvaWQg
ZGV0ZWN0TnVtYmVyVG9rZW4oVUNoYXIqLCBpbnQpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSB2b2lkIGRldGVjdE51bWJlclRva2VuKENoYXJhY3Rl
clR5cGUqLCBpbnQpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogICAg
IGlubGluZSB2b2lkIGRldGVjdERhc2hUb2tlbihpbnQpOworICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBDaGFyYWN0ZXJUeXBlPgogICAgIGlubGluZSB2b2lkIGRldGVjdEF0VG9rZW4oaW50LCBib29s
KTsKIAorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSB2
b2lkIHNldFJ1bGVIZWFkZXJFbmQoY29uc3QgQ2hhcmFjdGVyVHlwZSopOworCiAgICAgdm9pZCBz
ZXRTdHlsZVNoZWV0KFN0eWxlU2hlZXRDb250ZW50cyopOwogCiAgICAgaW5saW5lIGJvb2wgaW5T
dHJpY3RNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0Lm1vZGUgPT0gQ1NTU3RyaWN0TW9k
ZSB8fCBtX2NvbnRleHQubW9kZSA9PSBTVkdBdHRyaWJ1dGVNb2RlOyB9CkBAIC00MzAsOSArNDgy
LDE2IEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIFBhcnNpbmdNb2RlIG1fcGFyc2luZ01vZGU7
Ci0gICAgT3duQXJyYXlQdHI8VUNoYXI+IG1fZGF0YVN0YXJ0OwotICAgIFVDaGFyKiBtX2N1cnJl
bnRDaGFyYWN0ZXI7Ci0gICAgVUNoYXIqIG1fdG9rZW5TdGFydDsKKyAgICBib29sIG1faXM4Qml0
U291cmNlOworICAgIE93bkFycmF5UHRyPExDaGFyPiBtX2RhdGFTdGFydDg7CisgICAgT3duQXJy
YXlQdHI8VUNoYXI+IG1fZGF0YVN0YXJ0MTY7CisgICAgTENoYXIqIG1fY3VycmVudENoYXJhY3Rl
cjg7CisgICAgVUNoYXIqIG1fY3VycmVudENoYXJhY3RlcjE2OworICAgIHVuaW9uIHsKKyAgICAg
ICAgTENoYXIqIHB0cjg7CisgICAgICAgIFVDaGFyKiBwdHIxNjsKKyAgICB9IG1fdG9rZW5TdGFy
dDsKKyAgICBpbnQgbV9sZW5ndGg7CiAgICAgaW50IG1fdG9rZW47CiAgICAgaW50IG1fbGluZU51
bWJlcjsKICAgICBpbnQgbV9sYXN0U2VsZWN0b3JMaW5lTnVtYmVyOwpAQCAtNDQwLDYgKzQ5OSw4
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2FsbG93SW1wb3J0UnVsZXM7CiAgICAgYm9vbCBtX2Fs
bG93TmFtZXNwYWNlRGVjbGFyYXRpb25zOwogCisgICAgaW50IChDU1NQYXJzZXI6OiptX2xleEZ1
bmMpKHZvaWQqKTsKKwogICAgIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiBtX3BhcnNl
ZFJ1bGVzOwogICAgIFZlY3RvcjxSZWZQdHI8U3R5bGVLZXlmcmFtZT4gPiBtX3BhcnNlZEtleWZy
YW1lczsKICAgICBWZWN0b3I8UmVmUHRyPE1lZGlhUXVlcnlTZXQ+ID4gbV9wYXJzZWRNZWRpYVF1
ZXJ5U2V0czsKQEAgLTUzNSw2ICs1OTYsMzggQEAgU3RyaW5nIHF1b3RlQ1NTU3RyaW5nSWZOZWVk
ZWQoY29uc3QgU3RyaQogU3RyaW5nIHF1b3RlQ1NTVVJMSWZOZWVkZWQoY29uc3QgU3RyaW5nJik7
CiAKIGJvb2wgaXNWYWxpZE50aFRva2VuKGNvbnN0IENTU1BhcnNlclN0cmluZyYpOworCit0ZW1w
bGF0ZSA8PgoraW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpzZXRUb2tlblN0YXJ0PExDaGFyPihMQ2hh
ciogdG9rZW5TdGFydCkKK3sKKyAgICBtX3Rva2VuU3RhcnQucHRyOCA9IHRva2VuU3RhcnQ7Cit9
CisKK3RlbXBsYXRlIDw+CitpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OnNldFRva2VuU3RhcnQ8VUNo
YXI+KFVDaGFyKiB0b2tlblN0YXJ0KQoreworICAgIG1fdG9rZW5TdGFydC5wdHIxNiA9IHRva2Vu
U3RhcnQ7Cit9CisKK2lubGluZSB1bnNpZ25lZCBDU1NQYXJzZXI6OnRva2VuU3RhcnRPZmZzZXQo
KQoreworICAgIGlmIChpczhCaXRTb3VyY2UoKSkKKyAgICAgICAgcmV0dXJuIG1fdG9rZW5TdGFy
dC5wdHI4IC0gbV9kYXRhU3RhcnQ4LmdldCgpOworICAgIHJldHVybiBtX3Rva2VuU3RhcnQucHRy
MTYgLSBtX2RhdGFTdGFydDE2LmdldCgpOworfQorCitpbmxpbmUgVUNoYXIgQ1NTUGFyc2VyOjp0
b2tlblN0YXJ0Q2hhcigpCit7CisgICAgaWYgKGlzOEJpdFNvdXJjZSgpKQorICAgICAgICByZXR1
cm4gKm1fdG9rZW5TdGFydC5wdHI4OworICAgIHJldHVybiAqbV90b2tlblN0YXJ0LnB0cjE2Owor
fQorCitpbmxpbmUgaW50IGNzc3l5bGV4KHZvaWQqIHl5bHZhbCwgQ1NTUGFyc2VyKiBwYXJzZXIp
Cit7CisgICAgcmV0dXJuIHBhcnNlci0+bGV4KHl5bHZhbCk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vIENTU1BhcnNlcl9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyVmFsdWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5oCShyZXZpc2lvbiAxMjY4MzcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyVmFsdWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNs
dWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMxLDEzICszMiw3NCBAQCBjbGFzcyBDU1NW
YWx1ZTsKIGNsYXNzIFF1YWxpZmllZE5hbWU7CiAKIHN0cnVjdCBDU1NQYXJzZXJTdHJpbmcgewot
ICAgIFVDaGFyKiBjaGFyYWN0ZXJzOwotICAgIGludCBsZW5ndGg7CisgICAgdm9pZCBpbml0KExD
aGFyKiBjaGFyYWN0ZXJzLCBpbnQgbGVuZ3RoKQorICAgIHsKKyAgICAgICAgbV9kYXRhLmNoYXJh
Y3RlcnM4ID0gY2hhcmFjdGVyczsKKyAgICAgICAgbV9sZW5ndGggPSBsZW5ndGg7CisgICAgICAg
IG1faXM4Qml0ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIGluaXQoVUNoYXIqIGNoYXJhY3Rl
cnMsIGludCBsZW5ndGgpCisgICAgeworICAgICAgICBtX2RhdGEuY2hhcmFjdGVyczE2ID0gY2hh
cmFjdGVyczsKKyAgICAgICAgbV9sZW5ndGggPSBsZW5ndGg7CisgICAgICAgIG1faXM4Qml0ID0g
ZmFsc2U7CisgICAgfQorCisgICAgdm9pZCBpbml0KFN0cmluZyBzdHJpbmcpCisgICAgeworICAg
ICAgICBtX2xlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAgICAgICAgaWYgKG1fbGVuZ3RoICYm
IHN0cmluZy5pczhCaXQoKSkgeworICAgICAgICAgICAgbV9kYXRhLmNoYXJhY3RlcnM4ID0gY29u
c3RfY2FzdDxMQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzOCgpKTsKKyAgICAgICAgICAgIG1faXM4
Qml0ID0gdHJ1ZTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG1fZGF0YS5jaGFyYWN0
ZXJzMTYgPSBjb25zdF9jYXN0PFVDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSk7CisgICAgICAg
ICAgICBtX2lzOEJpdCA9IGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCBjbGVh
cigpCisgICAgeworICAgICAgICBtX2RhdGEuY2hhcmFjdGVyczggPSAwOworICAgICAgICBtX2xl
bmd0aCA9IDA7CisgICAgICAgIG1faXM4Qml0ID0gZmFsc2U7CisgICAgfQorCisgICAgYm9vbCBp
czhCaXQoKSBjb25zdCB7IHJldHVybiBtX2lzOEJpdDsgfQorICAgIExDaGFyKiBjaGFyYWN0ZXJz
OCgpIGNvbnN0IHsgQVNTRVJUKGlzOEJpdCgpKTsgcmV0dXJuIG1fZGF0YS5jaGFyYWN0ZXJzODsg
fQorICAgIFVDaGFyKiBjaGFyYWN0ZXJzMTYoKSBjb25zdCB7IEFTU0VSVCghaXM4Qml0KCkpOyBy
ZXR1cm4gbV9kYXRhLmNoYXJhY3RlcnMxNjsgfQorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFy
YWN0ZXJUeXBlPgorICAgIENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMoKSBjb25zdDsKKworICAg
IGludCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQorICAgIHZvaWQgc2V0TGVu
Z3RoKGludCBsZW5ndGgpIHsgbV9sZW5ndGggPSBsZW5ndGg7IH0KIAogICAgIHZvaWQgbG93ZXIo
KTsKIAotICAgIG9wZXJhdG9yIFN0cmluZygpIGNvbnN0IHsgcmV0dXJuIFN0cmluZyhjaGFyYWN0
ZXJzLCBsZW5ndGgpOyB9Ci0gICAgb3BlcmF0b3IgQXRvbWljU3RyaW5nKCkgY29uc3QgeyByZXR1
cm4gQXRvbWljU3RyaW5nKGNoYXJhY3RlcnMsIGxlbmd0aCk7IH0KKyAgICBVQ2hhciBvcGVyYXRv
cltdKGludCBpKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGkgPj0gMCAmJiBpIDwgbV9sZW5ndGgp
OworICAgICAgICBpZiAoaXM4Qml0KCkpCisgICAgICAgICAgICByZXR1cm4gbV9kYXRhLmNoYXJh
Y3RlcnM4W2ldOworICAgICAgICByZXR1cm4gbV9kYXRhLmNoYXJhY3RlcnMxNltpXTsKKyAgICB9
CisKKyAgICBib29sIGVxdWFsSWdub3JpbmdDYXNlKGNvbnN0IGNoYXIqIHN0cikKKyAgICB7Cisg
ICAgICAgIGlmIChpczhCaXQoKSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6OmVxdWFsSWdub3Jp
bmdDYXNlKHN0ciwgY2hhcmFjdGVyczgoKSwgbGVuZ3RoKCkpOworICAgICAgICByZXR1cm4gV1RG
OjplcXVhbElnbm9yaW5nQ2FzZShzdHIsIGNoYXJhY3RlcnMxNigpLCBsZW5ndGgoKSk7CisgICAg
fQorCisgICAgb3BlcmF0b3IgU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gaXM4Qml0KCkgPyBTdHJp
bmcobV9kYXRhLmNoYXJhY3RlcnM4LCBtX2xlbmd0aCkgOiBTdHJpbmcobV9kYXRhLmNoYXJhY3Rl
cnMxNiwgbV9sZW5ndGgpOyB9CisgICAgb3BlcmF0b3IgQXRvbWljU3RyaW5nKCkgY29uc3QgeyBy
ZXR1cm4gaXM4Qml0KCkgPyBBdG9taWNTdHJpbmcobV9kYXRhLmNoYXJhY3RlcnM4LCBtX2xlbmd0
aCkgOiBBdG9taWNTdHJpbmcobV9kYXRhLmNoYXJhY3RlcnMxNiwgbV9sZW5ndGgpOyB9CisKKyAg
ICB1bmlvbiB7CisgICAgICAgIExDaGFyKiBjaGFyYWN0ZXJzODsKKyAgICAgICAgVUNoYXIqIGNo
YXJhY3RlcnMxNjsKKyAgICB9IG1fZGF0YTsKKyAgICBpbnQgbV9sZW5ndGg7CisgICAgYm9vbCBt
X2lzOEJpdDsKIH07CiAKIHN0cnVjdCBDU1NQYXJzZXJGdW5jdGlvbjsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZy5jcHAJKHJldmlzaW9uIDEyNjgz
NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTgsNyArNTgsNyBAQCBUZXh0RW5jb2Rpbmc6OlRleHRFbmNvZGluZyhj
b25zdCBjaGFyKiBuCiB9CiAKIFRleHRFbmNvZGluZzo6VGV4dEVuY29kaW5nKGNvbnN0IFN0cmlu
ZyYgbmFtZSkKLSAgICA6IG1fbmFtZShhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lKG5h
bWUuY2hhcmFjdGVycygpLCBuYW1lLmxlbmd0aCgpKSkKKyAgICA6IG1fbmFtZShhdG9taWNDYW5v
bmljYWxUZXh0RW5jb2RpbmdOYW1lKG5hbWUpKQogICAgICwgbV9iYWNrc2xhc2hBc0N1cnJlbmN5
U3ltYm9sKGJhY2tzbGFzaEFzQ3VycmVuY3lTeW1ib2woKSkKIHsKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3Bw
CShyZXZpc2lvbiAxMjY4MzcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRF
bmNvZGluZ1JlZ2lzdHJ5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQ4LDEyICszNDgsMTMgQEAg
Y29uc3QgY2hhciogYXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTgogICAgIHJldHVybiB0ZXh0
RW5jb2RpbmdOYW1lTWFwLT5nZXQobmFtZSk7CiB9CiAKLWNvbnN0IGNoYXIqIGF0b21pY0Nhbm9u
aWNhbFRleHRFbmNvZGluZ05hbWUoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5n
dGgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2NvbnN0IGNoYXIqIGF0b21p
Y0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVy
cywgc2l6ZV90IGxlbmd0aCkKIHsKICAgICBjaGFyIGJ1ZmZlclttYXhFbmNvZGluZ05hbWVMZW5n
dGggKyAxXTsKICAgICBzaXplX3QgaiA9IDA7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBs
ZW5ndGg7ICsraSkgewotICAgICAgICBVQ2hhciBjID0gY2hhcmFjdGVyc1tpXTsKKyAgICAgICAg
Q2hhcmFjdGVyVHlwZSBjID0gY2hhcmFjdGVyc1tpXTsKICAgICAgICAgaWYgKGogPT0gbWF4RW5j
b2RpbmdOYW1lTGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIGJ1ZmZlcltq
KytdID0gYzsKQEAgLTM2Miw2ICszNjMsMTcgQEAgY29uc3QgY2hhciogYXRvbWljQ2Fub25pY2Fs
VGV4dEVuY29kaW5nTgogICAgIHJldHVybiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1l
KGJ1ZmZlcik7CiB9CiAKK2NvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05h
bWUoY29uc3QgU3RyaW5nJiBhbGlhcykKK3sKKyAgICBpZiAoIWFsaWFzLmxlbmd0aCgpKQorICAg
ICAgICByZXR1cm4gMDsKKworICAgIGlmIChhbGlhcy5pczhCaXQoKSkKKyAgICAgICAgcmV0dXJu
IGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWU8TENoYXI+KGFsaWFzLmNoYXJhY3RlcnM4
KCksIGFsaWFzLmxlbmd0aCgpKTsKKworICAgIHJldHVybiBhdG9taWNDYW5vbmljYWxUZXh0RW5j
b2RpbmdOYW1lPFVDaGFyPihhbGlhcy5jaGFyYWN0ZXJzKCksIGFsaWFzLmxlbmd0aCgpKTsKK30K
KwogYm9vbCBub0V4dGVuZGVkVGV4dEVuY29kaW5nTmFtZVVzZWQoKQogewogICAgIC8vIElmIHRo
ZSBjYWxsaW5nIHRocmVhZCBkaWQgbm90IHVzZSBleHRlbmRlZCBlbmNvZGluZyBuYW1lcywgaXQg
aXMgZmluZSBmb3IgaXQgdG8gdXNlIGEgc3RhbGUgZmFsc2UgdmFsdWUuCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5oCShy
ZXZpc2lvbiAxMjY4MzcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNv
ZGluZ1JlZ2lzdHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1
ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAvLyBPbmx5IFRleHRFbmNvZGluZyBzaG91bGQgdXNlIHRoZSBmb2xsb3dpbmcgZnVuY3Rp
b25zIGRpcmVjdGx5LgogICAgIGNvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGlu
Z05hbWUoY29uc3QgY2hhciogYWxpYXMpOwotICAgIGNvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNh
bFRleHRFbmNvZGluZ05hbWUoY29uc3QgVUNoYXIqIGFsaWFzQ2hhcmFjdGVycywgc2l6ZV90IGFs
aWFzTGVuZ3RoKTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBj
b25zdCBjaGFyKiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lKGNvbnN0IENoYXJhY3Rl
clR5cGUqLCBzaXplX3QpOworICAgIGNvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNv
ZGluZ05hbWUoY29uc3QgU3RyaW5nJik7CiAgICAgYm9vbCBub0V4dGVuZGVkVGV4dEVuY29kaW5n
TmFtZVVzZWQoKTsKICAgICBib29sIGlzSmFwYW5lc2VFbmNvZGluZyhjb25zdCBjaGFyKiBjYW5v
bmljYWxFbmNvZGluZ05hbWUpOwogICAgIGJvb2wgc2hvdWxkU2hvd0JhY2tzbGFzaEFzQ3VycmVu
Y3lTeW1ib2xJbihjb25zdCBjaGFyKiBjYW5vbmljYWxFbmNvZGluZ05hbWUpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNlclV0aWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNlclV0aWxpdGllcy5jcHAJKHJldmlzaW9uIDEyNjgzNykK
KysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00MywxMSArNDMsMTEgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIEZsb2F0VHlwZT4gc3Rh
dGljIGlubAogLy8gV2UgdXNlIHRoaXMgZ2VuZXJpYyBwYXJzZU51bWJlciBmdW5jdGlvbiB0byBh
bGxvdyB0aGUgUGF0aCBwYXJzaW5nIGNvZGUgdG8gd29yayAKIC8vIGF0IGEgaGlnaGVyIHByZWNp
c2lvbiBpbnRlcm5hbGx5LCB3aXRob3V0IGFueSB1bm5lY2Vzc2FyeSBydW50aW1lIGNvc3Qgb3Ig
Y29kZQogLy8gY29tcGxleGl0eS4KLXRlbXBsYXRlIDx0eXBlbmFtZSBGbG9hdFR5cGU+IHN0YXRp
YyBib29sIGdlbmVyaWNQYXJzZU51bWJlcihjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIq
IGVuZCwgRmxvYXRUeXBlJiBudW1iZXIsIGJvb2wgc2tpcCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlLCB0eXBlbmFtZSBGbG9hdFR5cGU+IHN0YXRpYyBib29sIGdlbmVyaWNQYXJz
ZU51bWJlcihjb25zdCBDaGFyYWN0ZXJUeXBlKiYgcHRyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBl
bmQsIEZsb2F0VHlwZSYgbnVtYmVyLCBib29sIHNraXApCiB7CiAgICAgRmxvYXRUeXBlIGludGVn
ZXIsIGRlY2ltYWwsIGZyYWMsIGV4cG9uZW50OwogICAgIGludCBzaWduLCBleHBzaWduOwotICAg
IGNvbnN0IFVDaGFyKiBzdGFydCA9IHB0cjsKKyAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBzdGFy
dCA9IHB0cjsKIAogICAgIGV4cG9uZW50ID0gMDsKICAgICBpbnRlZ2VyID0gMDsKQEAgLTY5LDEy
ICs2OSwxMiBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgRmxvYXRUeXBlPiBzdGF0aWMgYm9vCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIHJlYWQgdGhlIGludGVnZXIgcGFydCwgYnVpbGQg
cmlnaHQtdG8tbGVmdAotICAgIGNvbnN0IFVDaGFyKiBwdHJTdGFydEludFBhcnQgPSBwdHI7Cisg
ICAgY29uc3QgQ2hhcmFjdGVyVHlwZSogcHRyU3RhcnRJbnRQYXJ0ID0gcHRyOwogICAgIHdoaWxl
IChwdHIgPCBlbmQgJiYgKnB0ciA+PSAnMCcgJiYgKnB0ciA8PSAnOScpCiAgICAgICAgICsrcHRy
OyAvLyBBZHZhbmNlIHRvIGZpcnN0IG5vbi1kaWdpdC4KIAogICAgIGlmIChwdHIgIT0gcHRyU3Rh
cnRJbnRQYXJ0KSB7Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBwdHJTY2FuSW50UGFydCA9IHB0ciAt
IDE7CisgICAgICAgIGNvbnN0IENoYXJhY3RlclR5cGUqIHB0clNjYW5JbnRQYXJ0ID0gcHRyIC0g
MTsKICAgICAgICAgRmxvYXRUeXBlIG11bHRpcGxpZXIgPSAxOwogICAgICAgICB3aGlsZSAocHRy
U2NhbkludFBhcnQgPj0gcHRyU3RhcnRJbnRQYXJ0KSB7CiAgICAgICAgICAgICBpbnRlZ2VyICs9
IG11bHRpcGxpZXIgKiBzdGF0aWNfY2FzdDxGbG9hdFR5cGU+KCoocHRyU2NhbkludFBhcnQtLSkg
LSAnMCcpOwpAQCAtMTQyLDEzICsxNDIsMTggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIEZsb2F0VHlw
ZT4gc3RhdGljIGJvbwogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIHBhcnNlU1ZHTnVtYmVy
KFVDaGFyKiYgYmVnaW4sIHNpemVfdCBsZW5ndGgsIGRvdWJsZSYgbnVtYmVyKQordGVtcGxhdGUg
PHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Citib29sIHBhcnNlU1ZHTnVtYmVyKENoYXJhY3RlclR5
cGUqIGJlZ2luLCBzaXplX3QgbGVuZ3RoLCBkb3VibGUmIG51bWJlcikKIHsKLSAgICBjb25zdCBV
Q2hhciogcHRyID0gYmVnaW47Ci0gICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIGxlbmd0aDsK
KyAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBwdHIgPSBiZWdpbjsKKyAgICBjb25zdCBDaGFyYWN0
ZXJUeXBlKiBlbmQgPSBwdHIgKyBsZW5ndGg7CiAgICAgcmV0dXJuIGdlbmVyaWNQYXJzZU51bWJl
cihwdHIsIGVuZCwgbnVtYmVyLCBmYWxzZSk7CiB9CiAKKy8vIEV4cGxpY2l0bHkgaW5zdGFudGlh
dGUgdGhlIHR3byBmbGF2b3JzIG9mIHBhcnNlU1ZHTnVtYmVyKCkgdG8gc2F0aXNmeSBleHRlcm5h
bCBjYWxsZXJzCit0ZW1wbGF0ZSBib29sIHBhcnNlU1ZHTnVtYmVyKExDaGFyKiBiZWdpbiwgc2l6
ZV90IGxlbmd0aCwgZG91YmxlJik7Cit0ZW1wbGF0ZSBib29sIHBhcnNlU1ZHTnVtYmVyKFVDaGFy
KiBiZWdpbiwgc2l6ZV90IGxlbmd0aCwgZG91YmxlJik7CisKIGJvb2wgcGFyc2VOdW1iZXIoY29u
c3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQsIGZsb2F0JiBudW1iZXIsIGJvb2wgc2tp
cCkgCiB7CiAgICAgcmV0dXJuIGdlbmVyaWNQYXJzZU51bWJlcihwdHIsIGVuZCwgbnVtYmVyLCBz
a2lwKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmgJKHJldmlz
aW9uIDEyNjgzNykKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBGbG9hdFJlY3Q7CiBjbGFzcyBTVkdQb2ludExpc3Q7CiAKLWJvb2wgcGFyc2VTVkdOdW1iZXIo
VUNoYXIqJiBwdHIsIHNpemVfdCBsZW5ndGgsIGRvdWJsZSYgbnVtYmVyKTsKK3RlbXBsYXRlIDx0
eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorYm9vbCBwYXJzZVNWR051bWJlcihDaGFyYWN0ZXJUeXBl
KiBwdHIsIHNpemVfdCBsZW5ndGgsIGRvdWJsZSYgbnVtYmVyKTsKIGJvb2wgcGFyc2VOdW1iZXIo
Y29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQsIGZsb2F0JiBudW1iZXIsIGJvb2wg
c2tpcCA9IHRydWUpOwogYm9vbCBwYXJzZU51bWJlckZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiwg
ZmxvYXQmIG51bWJlciwgYm9vbCBza2lwID0gdHJ1ZSk7CiBib29sIHBhcnNlTnVtYmVyT3B0aW9u
YWxOdW1iZXIoY29uc3QgU3RyaW5nJiBzLCBmbG9hdCYgaCwgZmxvYXQmIHYpOwpAQCAtNDIsMTkg
KzQzLDIyIEBAIGJvb2wgcGFyc2VSZWN0KGNvbnN0IFN0cmluZyYsIEZsb2F0UmVjdCYKIAogLy8g
U1ZHIGFsbG93cyBzZXZlcmFsIGRpZmZlcmVudCB3aGl0ZXNwYWNlIGNoYXJhY3RlcnM6CiAvLyBo
dHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvcGF0aHMuaHRtbCNQYXRoRGF0YUJORgotaW5saW5lIGJv
b2wgaXNTVkdTcGFjZShVQ2hhciBjKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+
CitpbmxpbmUgYm9vbCBpc1NWR1NwYWNlKENoYXJhY3RlclR5cGUgYykKIHsKICAgICByZXR1cm4g
YyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0gJ1xuJyB8fCBjID09ICdccic7CiB9CiAKLWlu
bGluZSBib29sIHNraXBPcHRpb25hbFNWR1NwYWNlcyhjb25zdCBVQ2hhciomIHB0ciwgY29uc3Qg
VUNoYXIqIGVuZCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIGJv
b2wgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKGNvbnN0IENoYXJhY3RlclR5cGUqJiBwdHIsIGNvbnN0
IENoYXJhY3RlclR5cGUqIGVuZCkKIHsKICAgICB3aGlsZSAocHRyIDwgZW5kICYmIGlzU1ZHU3Bh
Y2UoKnB0cikpCiAgICAgICAgIHB0cisrOwogICAgIHJldHVybiBwdHIgPCBlbmQ7CiB9CiAKLWlu
bGluZSBib29sIHNraXBPcHRpb25hbFNWR1NwYWNlc09yRGVsaW1pdGVyKGNvbnN0IFVDaGFyKiYg
cHRyLCBjb25zdCBVQ2hhciogZW5kLCBVQ2hhciBkZWxpbWl0ZXIgPSAnLCcpCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2lubGluZSBib29sIHNraXBPcHRpb25hbFNWR1NwYWNl
c09yRGVsaW1pdGVyKGNvbnN0IENoYXJhY3RlclR5cGUqJiBwdHIsIGNvbnN0IENoYXJhY3RlclR5
cGUqIGVuZCwgY2hhciBkZWxpbWl0ZXIgPSAnLCcpCiB7CiAgICAgaWYgKHB0ciA8IGVuZCAmJiAh
aXNTVkdTcGFjZSgqcHRyKSAmJiAqcHRyICE9IGRlbGltaXRlcikKICAgICAgICAgcmV0dXJuIGZh
bHNlOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTI2OTAwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDgtMjggIE1pY2hhZWwgU2Fi
b2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgQ1NTIFBhcnNlciBzaG91bGQgZGly
ZWN0bHkgcGFyc2UgOCBiaXQgc291cmNlIHN0cmluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1MjA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3IHRlc3QgdGhhdCBjaGVja3MgdGhlIGNhc2UgdGhh
dCBhIDE2IGJpdCB1bmljb2RlIGVzY2FwZSBpbiBhbiA4IGJpdCBDU1MgCisgICAgICAgIHNvdXJj
ZSBpcyBwcm9wZXJseSBoYW5kbGVkLgorCisgICAgICAgICogZmFzdC9jc3MvdW5pY29kZS1lc2Nh
cGUtaW4tOGJpdC1zdHJpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nz
cy91bmljb2RlLWVzY2FwZS1pbi04Yml0LXN0cmluZy5odG1sOiBBZGRlZC4KKwogMjAxMi0wOC0y
OCAgUGhpbGlwIFJvZ2VycyAgPHBkckBnb29nbGUuY29tPgogCiAgICAgICAgIFJlYmFzZWxpbmlu
ZyBjaHJvbWl1bS1tYWMgdGVzdCByZXN1bHRzIHdpdGggc2Nyb2xsYmFycy4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvY3NzL3VuaWNvZGUtZXNjYXBlLWluLThiaXQtc3RyaW5nLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy91bmljb2RlLWVzY2FwZS1pbi04
Yml0LXN0cmluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy91bmljb2RlLWVzY2FwZS1pbi04Yml0LXN0cmluZy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTAK
KyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDUwCisgICAgUmVuZGVyQm9k
eSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDE4CisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQg
KDAsMCkgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMjQweDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjQwOiAiVGhpcyBs
aW5lIHNob3VsZCBlbmQgd2l0aCBhIEV1cm8gc2lnbiAiCisgICAgICAgIFJlbmRlcklubGluZSAo
Z2VuZXJhdGVkKSBhdCAoMCwwKSBzaXplIDIxeDE4CisgICAgICAgICAgUmVuZGVyVGV4dCBhdCAo
MjQwLDApIHNpemUgMjF4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNDAsMCkgd2lkdGgg
MjE6ICItIFx4ezIwQUN9IgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdW5pY29kZS1lc2Nh
cGUtaW4tOGJpdC1zdHJpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy91bmljb2RlLWVzY2FwZS1pbi04Yml0LXN0cmluZy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9jc3MvdW5pY29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmcuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo
YXJzZXQ9dXRmLTgiPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICBwOmFmdGVyIHsKKyAg
ICBjb250ZW50OiAiLSBcMDAyMEFDIjsgLyogRXNjYXBlIHZhbHVlIGZvciBFdXJvIHNpZ24gKi8K
KyAgfQorCisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGNsYXNzPSJvdmVyZmxvdyIg
PlRoaXMgbGluZSBzaG91bGQgZW5kIHdpdGggYSBFdXJvIHNpZ24gPC9wPgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>
<flag name="commit-queue"
          id="171739"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>161061</attachid>
            <date>2012-08-28 14:29:46 -0700</date>
            <delta_ts>2012-08-28 14:29:46 -0700</delta_ts>
            <desc>Archive of layout-test-results from gce-cr-linux-01</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>577503</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">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
ZXN1bHRzL2NzczMvVVQJAANPLD1QcS49UHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAADUpBxBAAAA
AAAAAAAAAAAAJQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NzczMvZmlsdGVycy9VVAkAA08s
PVBxLj1QdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAANSkHEEAAAAAAAAAAAAAAAAsABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9VVAkAA08sPVBxLj1QdXgLAAEE
6AMAAAToAwAAUEsDBBQAAgAIANSkHEGoQyajigAAAJMAAABcABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVk
LXN0eWxlLXN0ZGVyci50eHRVVAkAA08sPVBPLD1QdXgLAAEE6AMAAAToAwAAJcdBC4IwGIDhe7/i
O9ZFnE5ru0lYdEhjBB0iZG6fOpgztnXo3yd0eXneJ2GMFPxfyljJDjTdk6KkvBaiFXy0GLJOzbrT
qBaNPlFqW5A8373gVotTK65Vc6zhUYnm0pw5VDF6038iQgomgDZB9hZ1Avdp3UkGCGZ0g1HSRXij
HxY/S6dwtZM2fjc/UEsDBBQAAgAIAOWlHEFZCpmoi8AAAI8xBQAmABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvdGVzdHNfcnVuMS50eHRVVAkAA00uPVD5Kz1QdXgLAAEE6AMAAAToAwAAvf3ZlqS4
si4K359X+QcVDnh7We2atU91JzNns/6bGDjgHlTg4IUgmnr6IzNJtGpMRM4z9l6zIl3fJ9TLZDKZ
JWmaM1aci7Jo3x+S8b+Cqs7y4Jbf6uY9uCVVcs1vedV+89Teyv8rcfGa/J40JHh9/jNP2yDL2yR9
yjMtIfszSXlmQVpXbVF1SVvUFQvSpGN5kDCWN/BDcEmKsmtybQ5V+lQ3QVlUz3kWJFVdvd/qjgXn
sk6fg7RJ2JOW1hRJwEuVPp/rN/GHoYQAzAqWnEsL4Ckv7+bEIsvyKujuWdLmLEjKMssZr3WWVC1z
sIzJZXLOS3sqL/CZ90IVFNW9a0nYl7xpigwK6fUN1ibvwWvRPhXmAt+bnPGexh5OyqCpy9yIbfIk
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
dWx0cy9mYXN0L2Nzcy9VVAkAA90sPVBxLj1QdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIACGlHEFL
r4wEVgEAAJAEAABJABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jc3MvdW5pY29kZS1l
c2NhcGUtaW4tOGJpdC1zdHJpbmctd2RpZmYuaHRtbFVUCQAD3Sw9UN0sPVB1eAsAAQToAwAABOgD
AACtlF9LwzAUxd/3KS7bSwdzTcOcddaCU0FBUaQIgi9xuVvLQjqSlnWWfXdTq/tT1g1xT4Ge3N85
pxfihci47+lkIdDvchSQwwcbTScqTiUfQGvM2AUsocs4r0psXEieXQ57domaKfQFW6ACloBFOqQN
OvpEcAnJ+oQ0AF5QclSvEc5rruwa9/SMSRgJpvWliekXd0+JMTef/S3VJC1V+qOuLIciHk0hvwse
H5ZHxa8MYr6AfPh081by3Y7TrzE4c3uZ49YZFColmwaVDs+HCvyd/+sQYJZA3krMcciE9sgeE0pp
5pxXTQAKMqhUruHziCfhLvpgD3ulNYMw0iAiiaDDOBUcTA/DNEgGt6mKTfiJhGal5738HrEmKFGx
BHn7UFtnT1nH3dl145caeJVomYrGro5pmZYb8tFCba/gf6FqVucM6jOtF3cC71lOydX1stnw7OLl
+AJQSwMEFAACAAgAIaUcQV8fRGXcAAAA8gEAAEkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9m
YXN0L2Nzcy91bmljb2RlLWVzY2FwZS1pbi04Yml0LXN0cmluZy1hY3R1YWwudHh0VVQJAAPdLD1Q
3Sw9UHV4CwABBOgDAAAE6AMAAHXOXUvDMBgF4Pv9ikO92WBCGvYRvXMqOHAoUgTBm2Je1mBIIU1Z
Ztl/N91HtwV6lYs857xH51uyyB2GbMxGqNQfQTDmZ4wNgA8ykuynok0P0T3xKe/SC13+/KJ5yVav
uz7Z2VJu0Szenr4OVIzT2dHOxcRztrdR83tce0VPOCPv0Ny48MSec+7Tu84DLYKtzdltlHRFC++R
ZIWqoJUhVEVZa4nQH0D4z/Fc2zKUrg2S6P7S7CPDNRmyuSM5ilak4nrExewWhtu9NFp8pIfNqQiT
b/HtG84eHnfJ4B9QSwMEFAACAAgAIaUcQewmKDCyCQAAFRQAAEkAHAB0bXAvbGF5b3V0LXRlc3Qt
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
VR91o2t0P12Y4W1oT4uevoHujV5t3k7nDJ/gnG+ygOfzz4/k+BLuyQtwj/z4rJg+1frRAay38VUu
Rh9/fPvLz5++CpjxQcBUcNT19fWv1//VaCZn/oWB83IyWis0/uQLwrk4EJxWfH5rB+efQfPyYGgs
Hn1DOZFDbUjnCs/Ikk3+WX9RdJMDotPvvVBRZhtUqqFqwZqhb/4omZi/XVGuDgJhYmUSIfAOLID5
GN2UBQOXLDMz94uAnx48tD/p93nfLgmYAe1Q9F0rwMoR57Xw+v9YqH3voLGucVlCbIb4WeD1D4q3
xe5tvJrqfYAt6R30v/XHc++Hq0/dxN5qIZpNAFwE9ncAZtJO7+wAzp7QJ+yRf7jrSifIj8+L7UFN
Hx1A+58HkvEhhF9B8b46losDqP4zgfLyIJKvwFiOyT9rf/rVoU3+nt7XMX15vT8o8unhxF6ilxr3
rCLb0wfsk/d6RJ87Qv8vCXoboRH0OsS/rOI7XgS0PtQrpsuB/t/Z/g9QSwMEFAACAAgAIaUcQdvL
Aw7XAAAA8gEAAEsAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Nzcy91bmljb2RlLWVz
Y2FwZS1pbi04Yml0LXN0cmluZy1leHBlY3RlZC50eHRVVAkAA90sPVDdLD1QdXgLAAEE6AMAAATo
AwAAdc7Ba8IwGAXwe/+KR3epUCEt6sJuugkKDmWUwWCXsnzYsJBCmmJd8X83dd3UQE855Pfe91R+
JIPcImIxG6GSPwTOWDNjLADeSAsy75IOA0QNxKfX9EKVX99oV9nr5jQk/20pjmgX25ePX8rjZNbb
Rz5pEn6xXvPOr72jfzijxqJ9sO7xfTphtx7oEEytr+4ghS06+IQwK2QFJTWhKspaCbh+B9x/jmVt
Sle61wi9+2t9iUR70mRyS2Lkr0juR9zM7qC7PUi9xT3tNydu8hifTZuy+fMpDM5QSwMEFAACAAgA
IaUcQeRMvGhlAQAAbQQAAEcAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Nzcy91bmlj
b2RlLWVzY2FwZS1pbi04Yml0LXN0cmluZy1kaWZmLnR4dFVUCQAD3Sw9UN0sPVB1eAsAAQToAwAA
BOgDAAClkUFLwzAYhu/9FR/zstHFJmHO6qlOBQVFkSEIXmL7uQVrOpqUdZb9d7N1cy5Q6fDSHvK8
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
p9VqRzNvVgiBgsepMHJ2kQVTYOEpRMOh6GXgwjjZkU9DSSOqphG9d6O4rnSZSDF1G74wsjzP/+El
FUdprk5lCbFdPyDfrh9RllleHd6bw77GW900z6/1DkZbwtMOH1bJ+DUw2nmi2nvnd6iktY4RiDF5
N5HnGavg1Qquh43GZGgHHbDwYZkuaQm6h8QfC3ptCEpaaKtM7Oh2SMwIPBvaIEMVvSfLZgbf7NQ1
+0Tw0WKUNnVKAmfxqW3nziGdEnEgnAmdwyIe5M+S0EerWCel0d+ESfLQuv2SeqTgold0d4/01qAT
TyrycmwXiOwXUEsDBBQAAgAIAEelHEEl4LZIPQEAAOgBAABDABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC9sb2FkZXIvbG9jYWwtQ1NTLWZyb20tbG9jYWwtd2RpZmYuaHRtbFVUCQADJi09
UCYtPVB1eAsAAQToAwAABOgDAABdkU9LAzEQxe/7KR54qF7as3UtSC0iVCvdFc/TZLYbmiZL/lgW
8bs7sVDEUxLem3m/mdQ9k17UMY2WF1PNFl/YkTrsg89Oz3HVEd3hG1PS+r9EXZHq2bm4np1bDUHu
cSAHZSnGeylcLDevzWa9wsuqaR6eVnNY4xi3c7w7RXnfJ7TjwKsQfJhjSc75hMgJQ/ADhzRiEoOa
wHdw2VpJlPaLqu1NROKYUE4vFQzTgWC9IovOWIYSDuOUzZovwrJp8Ms8RbXMIbBLdkS6dFNngB0j
ZIcjuUxWDN7hwzjtT1EkwY6ME0N7FHNPnyWgy04lI05rDoyBUt/6dQndcvQ5KL6+gc8pGsGRaR63
rTBUz52k85/lloFGttafiuB+1UJ9oigzkGY9raq2sL7JiuWF9WWywEefWHjPxqqelR/5AVBLAwQU
AAIACABHpRxB+9Ctc/wAAAB1AQAAQwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9h
ZGVyL2xvY2FsLUNTUy1mcm9tLWxvY2FsLWFjdHVhbC50eHRVVAkAAyYtPVAmLT1QdXgLAAEE6AMA
AAToAwAAPY/BasMwEETv/oq5pb3kXt+Ka0ohaUrs0rMir2MRZddIqxr/faUGfBJiHjtvmtNndzq0
OLZd9/re1vCOCS81vtmadJ0U/TpTG4KEGo1hFkUkxRxkpqArdjHYHWQEJ++rfnIRSlFRXskowY0w
8GKNx+g8wRqGY+vTQFvQdB2irp72qJoUArH6Fbpds4/mCyEkxt1wMj4DwvhxPMgSc5R9I2EhDIIC
T+a3FIyJrbpMencjzEanXg6l9ExRUrD09AxJGl3WyTPezn12qD7G3E64GHu7Bkk8lEEreS9LCfg/
LdaLiXmDGWjYV1VfXL9MjPmHw7Ys0F2Usu8DrP4AUEsDBBQAAgAIAEelHEG7vm0+xAAAACYBAABF
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9jYWwtQ1NTLWZyb20tbG9j
YWwtZXhwZWN0ZWQudHh0VVQJAAMmLT1QJi09UHV4CwABBOgDAAAE6AMAAD2PsW7DMAxEd33Fje2S
n0iXAhmKxEBnRqJqIQpZiFQN/32lFvBEEHfkvVvWYnA2x5wKY0bJIFSNVJFLZUQSFIm1Jz6E8+0G
873yCeHcW2PxusOPb+NG1HFntC54knSqw6CCzyJJNxtSpG6MjZEU07zSzwzIXaKX4azlwfgmXxe9
zNArm/YW+eUV2t3KwNGMt+syGMJ7HumMO8XHV9MuaRbauVbdpiB/6qTeyEYHSpxOISyT9YPMxobL
0azxU50H778x/AJQSwMECgAAAAAAZ6UcQQAAAAAAAAAAAAAAACEAHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9mYXN0L3hzbC9VVAkAA2EtPVBxLj1QdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAGel
HEGBSnetSwAAAKwAAABMABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC94c2wveHNsdC10
cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJyLnR4dFVUCQADYS09UGEtPVB1eAsAAQTo
AwAABOgDAAC1zLENgDAMRNE+U9wKtGzjwAVZcmxkLOZHomAD6q/3t5inmpSGg5mRK4YaAVMnFtA4
6YVbUqUbW3LnUNdXxMBh0cW+juJVbfvl+gBQSwMEFAACAAgAZqUcQVBdSDeMAAAA+AAAADgAHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC94c2x0LWRvYy1lbmMtc3RkZXJyLnR4dFVU
CQADYC09UGAtPVB1eAsAAQToAwAABOgDAACtjsENwzAMA/+dQgu4evSXGfrsAoqjNEJlK5BlpN2+
SbNCPwTJAwhmK6sohVgFdjcfYBblnwyIWGrgUwI3Hl8SKS9uRXpJvDW808d6PLhFw5la4LspOjfr
nrkdKdJIU5KymkfqLte9A5XKcANWLlwDTnrZyXBaGKBXGvcTYaBG0z/OVGs9L8cQBalevlBLAwQU
AAIACABmpRxBUF1IN4wAAAD4AAAAPwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNs
L3hzbHQtYmFkLWltcG9ydC11cmktc3RkZXJyLnR4dFVUCQADYC09UGAtPVB1eAsAAQToAwAABOgD
AACtjsENwzAMA/+dQgu4evSXGfrsAoqjNEJlK5BlpN2+SbNCPwTJAwhmK6sohVgFdjcfYBblnwyI
WGrgUwI3Hl8SKS9uRXpJvDW808d6PLhFw5la4LspOjfrnrkdKdJIU5KymkfqLte9A5XKcANWLlwD
TnrZyXBaGKBXGvcTYaBG0z/OVGs9L8cQBalevlBLAwQUAAIACABmpRxBbUfUXoUAAADxAAAAPQAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3RyYW5zZm9ybS14aHItZG9jLXN0ZGVy
ci50eHRVVAkAA2AtPVBgLT1QdXgLAAEE6AMAAAToAwAArY6xDcMwDAR7T8EFFBbpNEPKLCDLdExE
Eg2Sgp3t7cQrpHk8/ou7LHXlkpylAamKRpi50C8iItbm+GLHjcY3e8iLSuVeA22Gj/SR7k8yN5yT
Oe5WUMmkaybDfdEwSb6dKxRuBHegQpWaA9dV1IfziVeFCL2l8QS7QJE0/VEgXAiavibDAVBLAwQK
AAAAAAAPpRxBAAAAAAAAAAAAAAAAJAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2Fu
dmFzL1VUCQADvSw9UHEuPVB1eAsAAQToAwAABOgDAABQSwMECgAAAAAAE6UcQQAAAAAAAAAAAAAA
ACoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9VVAkAA8YsPVBx
Lj1QdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIABGlHEFdr6t/xgAAAOABAABKABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQt
ZGlmZi50eHRVVAkAA8EsPVDBLD1QdXgLAAEE6AMAAAToAwAArc+/asMwEMfxXU9xu3pRKS2dAg7B
nRpqsF/gIp8Tg/wH3al13r6hJvUS2gxZNH1/n0OICE670QU6DUlRWRQjSwoqriFR56n/JHFfvD8E
J0eqOeIY2bfSDj02Q+xIkaeRvXK90knBWGvvgZLXRGEmswzw5fHhGez5fYUsM1BsyhLmbXGZvv0s
V5H6A+/aHtbr68XTkrQCGhPf4NH0r3dObvF+v/oHuDQX0c5i8p5FmhTCqaAoXC8nja3ysoLtx654
z6vcWPMNUEsDBBQAAgAIABGlHEEfGWN5+wEAAA4MAABOABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQtZXhwZWN0ZWQudHh0
VVQJAAPBLD1QwSw9UHV4CwABBOgDAAAE6AMAAL2WUWviQBDH3/spBp+uUKQtReTAg3BGDSQqmtZ7
kzWOSe7WXdnd1Prtb5LW84TEy/YwLyGQmfn/9r+7M1ngauiDTtgaFewURqlOpYCNVFtmwKA27Zub
iQCdRRFqfQcHmcE+5Rw0IjB6qhQ1yA20ps583oItRbEYKXIjOZd7XMPqAK3QnYfwfRJMfTd0W1Qz
pNIaTEIqi5xhXiBMjwSDd4CIM62BiTXEaMpD9lL9onpFwfd6laEKTaYE1bskKVc/McpXna8HYt6u
KveFvr24s9D9sZyPnL47u8uj/cliOfAnTngLqdCGiQjJnAt6KbmgMvykXOD2veegScWRNxw1qZcb
6o2btbMxvcLMK6kNZs4wcMdhY6ezTPDa57NM87ontMrWBnfxuqe00tJP6NXpyiZRcp83eUClpKLp
YhKSeWU8XcOOKbZFg0rX7MhH0gL77MLdEoJAxQyNJHzbUZOnFxp+hepX8MYvju/1l+74OWj/DX5h
mcSY0fRjCmkQCp2uOB4xdVlCWzERY5AK+NaDh/NduZTA3monnGY4ZXTrS3wwPVlDPVlTPdzbYnUe
bbHqZZxjdWyxurZUXTuoXg+srbIx92MH7xug6lhTdf6DyuZn0CR0eanH0EsqYsBXVAeIGOc1bzIJ
l0Y8nkJslv6vchRi60tFvVPMH9t+A1BLAwQUAAIACAAQpRxBAV01jKsAAADfAgAAUQAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLXZlcnRleC1hdHRyaWItemVy
by1pc3N1ZXMtc3RkZXJyLnR4dFVUCQADvyw9UL8sPVB1eAsAAQToAwAABOgDAADNkrEOgjAYhHef
4h91IaUFpN2IQeMgmMbEgRhS2gJNoBhaB99eEld3WS73bV8uV4WU4oR9M6J0j2iC0zQmKcs5Lznr
Bu1wLUdVKy0npedAym0cErJ7wDXnx5JfsuKQwz3jxbk4Mci8n03z8hoQGAfKONEMWgVw6xfshQNn
OtsaKayHp57baR6FlXrpVgz+val+KBGEURStSykkyUKrUsJRjMN1KZHlSv9b6QNQSwMEFAACAAgA
EKUcQRgzxq/rAAAAUAEAAEUAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93
ZWJnbC9pbmRleC12YWxpZGF0aW9uLXN0ZGVyci50eHRVVAkAA8AsPVDALD1QdXgLAAEE6AMAAATo
AwAAjU89a8MwFNzzK97YLsYfSYy0mcQxBtcuIjRDKEaWnx2BLQXppR//vm5Ltw5ZjrvjDu7OEWPx
lv/imrE0ZOk6TpMw4rkQjeDjhD5u1dy3PSrbowuUethESfL4Cs+5ODTiKat3OZwyUZd1wSEjcrq7
EUII2kOvvewm7AM4XhZ5kR68Hs2glTQEV3SDdbM0Chdu5ESfq/P/k9iW3TEpOGFXVALNYmsz7qwh
/CAORQU/ZeBF1Zb1S1aV+7ZZDmTHsqmBwzjtnXzPJ5zRkOcgiXC+EpAFqRR6D/ZGYAdw0owIb+hI
LzZo8x39e7z6AlBLAwQUAAIACAARpRxBGUuLE7UHAADBGwAAUgAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LXByZXR0eS1k
aWZmLmh0bWxVVAkAA8EsPVDBLD1QdXgLAAEE6AMAAAToAwAA3Vlbb9s2FH7PrxASdAGGSrZjO4vt
xsOWC/awbgWS94KSKIsNJWok5djd9t93eJMlWbK9tcOArVhti7dz+c73HarvUpnR5dm7FKMYPoTc
Urw8m1OSv7z15msiiMSx9/uZB/9JvJF+jCPGkSQsn3s5y/FCD4WMx5j7IZOSZXNvVGy8GL7jeHH2
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
/nfS0/rQagoap//l7i9QSwMEFAACAAgAD6UcQflwvXrfAAAATgcAAE4AHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLXN0
ZGVyci50eHRVVAkAA70sPVC9LD1QdXgLAAEE6AMAAAToAwAA1dPLasMwEAXQfb9ils0m6GlH2pkm
GIOJiyjtIgSjyFNjSKQgK338fd122w+oNrO43IHDwByoUqzQv1MoVRIlKWeKMr0zpjN6POPMencZ
+gFdGDCunbtfKnx1hPULnurWoF/iyY8PwSf8SBrqFn6WQddt3+yfq7bZ9t3jzlRPTbcHDeN5G+17
FaP9nDXYlPByTZACWOdwniHcEoRXiNaPCG8Y07TEMPnvapxOt4RA7g5/0vlGkUzpQhKVKV3JMlO6
IFTRXOmFKPKkS1Eynildci5ypW9Epm8qCy7//9W/AFBLAwQUAAIACAAPpRxBiuwBqJ4AAAAxAQAA
RAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2Vycm9yLXJlcG9y
dGluZy1zdGRlcnIudHh0VVQJAAO+LD1Qviw9UHV4CwABBOgDAAAE6AMAAL2OvQrCMBRGd5/ijroU
+yvJVrSEQlAIVIciwaa3IdAmEKP08S26dnY5wwff4bQxIUlBf8wIOexJnif7NM5oJcRFUD3iM5Fq
6mWPyvXoI6W2eZymuztEN+wYF2iX2Vh9dDbgHCgwDt8zUMZlfb6WvD7JhU0FFPTIMJQqmDeWIXjT
UTCLYAb3CuAG8A+rcdOudsVFmvyhq7FmcH5aDfsAUEsDBBQAAgAIABGlHEE5aca6DAIAAD0MAABM
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXByZWNp
c2lvbi1mb3JtYXQtYWN0dWFsLnR4dFVUCQADwSw9UMEsPVB1eAsAAQToAwAABOgDAAC9llFr4kAQ
x9/9FINPVyjSliJy4EE4owYSFZPWe5M1jknu1o3sbmr99jeJFSskXraHeZGAM/P/7X93Z3aBq5EL
KmZrlLCTGCYqSQVsUrllGjQq3Wm1pgJUFoao1D0c0gz2CeegEIHRr0xQQbqB9szy/TZsKYpFSJGb
lPN0j2tYHaAd2H4AP6fezLUDu001AyqtQMekssgZ/AJhdiIYHgFCzpQCJtYQoS4P2afyD9UrCh7r
VYZK1JkUVO+aZLr6jWG+6nw9EPFOVblv9N+rPQ/sX0t/bA3s+X0e7U4Xy6E7tYI7SITSTIRI5lzR
S8gFmeEX5Tx74Lx4TSqOndG4Sb3cUGfSrJ2N6RVm3khtOLdGnj0JGjudZYK3Pp9lmrc9oVW2NriL
tz2llZZ+Qa9OV9axTPd5kweUMpU0XXRMMm+MJ2vYMcm2qFGqmh35RFpgX1y4O0IQKJmmkYTvO2ry
9EHDr1D9Ds7k1XKdwdKevHidz+BXlkmMGU0/JpEGoVDJiuMJU5UldCQTEXqJgB99eLzclWsJ7L12
wnmGU0avvsQH07Mx1LMx1eODKVb3yRSrXsYlVtcUq2dK1TOD6vfB2CoTcz928KEBqq4xVfc/qEwe
gzqmy0s9hj4SEQG+oTxAyDiveZNJuDTi6RxisvR/laMQU18q6p1jLgseX/qbjPPDjElFTfJs6+dX
fKv1F1BLAwQUAAIACAATpRxBJdMon4oAAACTAAAASgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy1zdGRlcnIudHh0VVQJAAPG
LD1Qxiw9UHV4CwABBOgDAAAE6AMAACXHQQuCMBiA4Xu/4jvWRZxTY7uJWHRIYwQdImRunzqYM7Z1
6N8ndHl53idhLCv5vzljR5LSPC3LgvBGiE7wyWLIerXoXqNaNfpEqX1BKD284NaIUyeuVVs38KhE
e2nPHKoYvRk+ESEFE0CbIAeLOoH7vO0sAwQzudEo6SK80Y+rX6RTuNlJG7+7H1BLAwQUAAIACAAP
pRxBTWFLchgBAABtCwAAUAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dl
YmdsL2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5kcy1zdGRlcnIudHh0VVQJAAO9LD1QvSw9UHV4
CwABBOgDAAAE6AMAANXVvWrDMBAA4L1PcWO7BFkn2ZK20JgQMEkxpR1CMf45G0MiFVlu+/hNG7pl
LvKi4ZDg4+50d0y05qm5nkLrjGnJecqTzORleSjNcKKJV+25qzpqXUd+1bb3MkF8eIPVKzXboiR7
CY92eHQ20FcwsC3g9zGYbVHt9i/rYrepDk95uX7eHfZgYDhtfP2Zn+hMNkwGfG0HAjcHcD00brbd
BL3z0Mx9T/7ueBOZoUijRyrGdPzITMnYkZgwoeJHShTxI7WOvicRpeLRIwXT0Y8glAz/tdx1CHR+
DxAc1G1L0/QHvuo/yIfxEobR/lz1YzMHAnYbL1JU0W8ikTHBF5vhTKa4WLxiarmZV1KJxeI1YhL7
x5QskTFtum9QSwMEFAACAAgAEqUcQUDNj2FEAQAAYQ0AAEkAHAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9mYXN0L2NhbnZhcy93ZWJnbC90eXBlLWNvbnZlcnNpb24tdGVzdC1zdGRlcnIudHh0VVQJ
AAPDLD1Qwyw9UHV4CwABBOgDAAAE6AMAAM3UTUvDMBgH8Luf4jnqZeRlzdutzFoGtZOi7jCkdG3W
BbpU2kzmt7e6q8I8KM8lJIGEH0/+TzZUaybMeZxrLSmhVNBpZpKiWBWm7ezIyvrQlI2t+8YOs7q+
jijnNy/wkBR3q+I+zhcJrOMiX+apgTiEwW2PwQIBN0Ljxmrb2WYGj/tpua9GGF3rd66ufIBXO+z6
4VD52k5zX3Xh/WrzPUkSfCQu0ZGEuIA0W9ttmhXWT9vOt4veB3sKBtIMvg6DSbNymT/H2fK2nMan
BAy0XWpDXAf3Zs96A2664AT9MUC/g6Hyrf3BxQiL/sH15N1noX4BUxHFFislpMJGkkSiI3GFMelK
40y6IowRXG+oCFcRNtI8QleliFJ0JM7RkQRB+B8oIrlG+R/oeYQtVlpQhY6kGDaSJAIdiTOMzaf1
RRn/y+b7AFBLAwQUAAIACAARpRxBZZOZH1sCAADdDAAATAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LXdkaWZmLmh0bWxV
VAkAA8EsPVDBLD1QdXgLAAEE6AMAAAToAwAAvVfva+JAEP3uXzF4cFyhxLYUkTYKckYrGBVN2/sm
azL5cV0T2d3USrn//SYJkvZOPZPDfAkhO/Pe27e7M1ndR+Z0dKm2HDuagxzeYcnsF09EcejcwReX
sXv4BRpznD+HmJsM6Y0sWW9kUGuBnWdcDkYgfeagAPpgBzKIQnAjsWIKFEql1WqTEGRs2yjlJWyj
GDYB5yARgdFTBCghcqE+7c7ndVhRFPOQIt2I82iDDiy3ULeMuQXfJ+Z0ZFhGnTAtgpagfGJJNcxT
CdOdgn4mwOZMSmChAx6q/SGbSLwQXgqY4R0MFahiERLeMcpo+RPtZNbJfMDj2iG4bzT2ZMws48di
/tDtGbPLJHo0eV70R5OudQFBKBULbSRzjvAF5IKIsSSdafSGj2aVjA/DwUOVfImhw3G1dlbGl5p5
Jrb+rDswjbFV2e7cR3ju/bmP87w79JCtFa7ieXfpQUtL8J1SlZUvok1S5AGFiAR1F+UTzSvjgQNr
JtgKFQp5YkXeKU1lfzpwFyQhRMEUtSR8W1ORpxdqfinrHQzHT93RsLcwxo+m9lH4kWmSxpi6HxNI
jTCUwZLjTqbcl6AJFnpoBiF89dR9G64/L8yxHPZWJCfv5FlS63SiXNxtGXW3ZeRdX5XQ17wpoe+0
pL/0NUvoa5WQ1yqmrt2GMs4VsTtf2atqtDXLaGv+h7Yif47Kp5NOBYlegtADfEWxBZtxfuKxJ+K9
ETd5SJHZ/wuOQor6cgAvj9kB6nJNJTv9QW/TlaOTEWTXBDfmfDtlQlKFzW3+eAWguwild2o1vZFc
Q34DUEsDBBQAAgAIABClHEFQE2UdvAAAAPQCAABUABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi1jb3BpZXMtaW5kaWNlcy1zdGRlcnIu
dHh0VVQJAAO/LD1Qvyw9UHV4CwABBOgDAAAE6AMAANXOzQqCQBQF4H1PcZe1EXVKndlFiQiiMUQt
IkTHmwg6E+Pt5/H72/YCbs7icA58J49zPxC/XHIeujz0g4gzX8RSFlK0PY5+qYambFCZBq2j1Hzl
MbY4g3PEOskk6nfd6XZjNOGTBCQZfM8gkqxM88M6S7dlsYvlep8WOQho+62tHnGPA2oaBVREOFwJ
yEClFI4jmBuBuYCtdItwR0vdu4ZOf6a2q2+E4M5Of/E88oKp4kOPRe508ZxNAf8CUEsDBBQAAgAI
ABClHEHQ65EfsQAAAHoBAABfABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMv
d2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi12ZXJpZmllcy10b28tbWFueS1pbmRpY2VzLXN0ZGVyci50
eHRVVAkAA8AsPVDALD1QdXgLAAEE6AMAAAToAwAA1Y7NCoJAFEb3PcVd1kbMMXVmFykiiMYQtYgQ
G28i6EyM1+rx+9v2Am2+xeE7cI5Lzr1AfNfnPHR5yFjoR5FIpCylaHscvUoNTdWgMg1aR6n5asnY
4gTOAc9pLlG/cKfbjdGEDxKQ5vCRQaR5lRX7dZ7FVblN5HqXlQUIaPvY1vekxwE1jQJqIhyuBGSg
VgrHEcxEYC5ga90i3NBS98LQ6ffVdueJENzZ8Wd8xAL/D+KfUEsDBBQAAgAIAA+lHEEvQbTOqQAA
AGICAABEABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFj
dGl2ZS10ZXN0LXN0ZGVyci50eHRVVAkAA74sPVC+LD1QdXgLAAEE6AMAAAToAwAAzc5BC4IwHAXw
e5/if6yL6GyO7SYlIoyCgXWIkJx/ZaAb2Ao/flLXLl2qyzs8eI/fKeKcJOKVa85ZyCkLWUSIyJTa
K9H1eCWVHpqqQe0aHAOtlzSK49UZgiPWuVRo59rYbuOsx8kLyCU8xyByWRW7QyqLbTVnmYGArs/R
p9qbO5bWtG4cBJj5YQJ38+BaGC+2w8XpPYzR5B9hEQmTb8BS70dTf+Ki4Y9dD1BLAwQUAAIACAAP
pRxBNjz7mpUAAAAmAQAAUQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dl
YmdsL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLXRlc3Qtc3RkZXJyLnR4dFVUCQADviw9UL4sPVB1
eAsAAQToAwAABOgDAADFjrEOgjAUAHe/4o26EKACthshaBwE05g4EENK+4AmUExbB/9eEld3l8vd
dk1EaZyyL/eUZiFNsoSkIWUl5zVnw4QubuWsWoVyUWgDKbdJRMjuAdeSH2t+yauihHvOq3N1YpB7
b3X38gghaAdKO9FNqAK4jWuOwoHTg+m1FMbDE22/2FkYiasbMfn3pvm5lKUH8relD1BLAwQUAAIA
CAAQpRxBU2ttC9wAAADAAQAASgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFz
L3dlYmdsL2ludmFsaWQtcGFzc2VkLXBhcmFtcy1zdGRlcnIudHh0VVQJAAPALD1QwCw9UHV4CwAB
BOgDAAAE6AMAAM2OMWvDMBSE9/yKNzaLcRy7RtrcxDUG1SmibYZQjCy92AJFKpJa2n9f0awdOvaG
4+7g4DttCClu6dVLQuqc1BUp86qgLecHTmeDoRjlRY0KpVPoMylvqs12u36Fx5bfH/hDM+xaODZ8
6IeOQhOj19N7RMhBB1A6iMmgyuBpSXURAYKe7VlLYSO8oT87fxFWYspWmPi1Ov2OVFbknyHVSX9A
yo44dYyjTbO2887ZiJ+RQsfg5wy0Y2M/vDSs34/Jn1ugMJs7bdUVnDkponaWQm8/hNEK5CK8kBH9
6htQSwMEFAACAAgAEKUcQSHkrqZxAAAAeQAAAEoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9m
YXN0L2NhbnZhcy93ZWJnbC9udWxsLW9iamVjdC1iZWhhdmlvdXItc3RkZXJyLnR4dFVUCQADwCw9
UMAsPVB1eAsAAQToAwAABOgDAACLNrS0NDKzgpAmlpbmBpbm5kYmRsaGVq5BQf5BVuk5qcVG8cm5
KfEpqcn5KalFesnJGqaGxsaasQp64alJ7j5BqXlA4cy8dOf8vJLUihIrBXcfBbBmBSt3n3hPvzBH
H0+XeP8A1yDHEE9/PwUrIOQCAFBLAwQKAAAAAAAqpRxBAAAAAAAAAAAAAAAAKAAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9VVAkAA/AsPVBxLj1QdXgLAAEE6AMAAATo
AwAAUEsDBBQAAgAIACqlHEGbK5WYZwAAAHEAAAA6ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZmFzdC9maWxlc3lzdGVtL29wLWNvcHktc3RkZXJyLnR4dFVUCQAD7yw9UO8sPVB1eAsAAQToAwAA
BOgDAACLNrS0NDKzgpAmlpbmhiamhoYmJibmVq5BQf5BVmmZOanxxZXFJam58SmZRanJJflFlfEp
iSWJSYnFqXrJyRoWpiaasQrOiXnqJQpFqbn5ZakKiQpwpQrlmSUZCskZmTkpRal5elwAUEsDBBQA
AgAIACqlHEFVYo0UZwAAAHEAAAA6ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxl
c3lzdGVtL29wLW1vdmUtc3RkZXJyLnR4dFVUCQAD8Cw9UPAsPVB1eAsAAQToAwAABOgDAACLNrS0
NDKzgpAmlpbmhiamxuYGxpbGVq5BQf5BVmmZOanxxZXFJam58SmZRanJJflFlfEpiSWJSYnFqXrJ
yRoWpiaasQrOiXnqJQpFqbn5ZakKiQpwpQrlmSUZCskZmTkpRal5elwAUEsDBBQAAgAIACqlHEG2
DReGZwAAAHEAAAA8ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVtL29w
LXJlbW92ZS1zdGRlcnIudHh0VVQJAAPwLD1Q8Cw9UHV4CwABBOgDAAAE6AMAAIs2tLQ0MrOCkCaW
luaGJqYmxqam5gZWrkFB/kFWaZk5qfHFlcUlqbnxKZlFqckl+UWV8SmJJYlJicWpesnJGhamJpqx
Cs6JeeolCkWpufllqQqJCnClCuWZJRkKyRmZOSlFqXl6XABQSwMECgAAAAAAaKUcQQAAAAAAAAAA
AAAAACMAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsc2NyZWVuL1VUCQADYy09UHEuPVB1
eAsAAQToAwAABOgDAABQSwMEFAACAAgAZ6UcQVRzjNz5AAAA2AwAAEgAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLXN0YWNraW5nLWNvbnRleHQtZGlmZi5w
bmdVVAkAA2ItPVBiLT1QdXgLAAEE6AMAAAToAwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GAD
iswqaypgYOCZ7+niGFIx5+1tQ75DDjwMjuwf8w+dfsgc06WgGzQj8+6O2Mh7aWnyDAwNB95e5wZq
++/cACQlGZkYGFJYOBgYJggCjXRwGxUcFRwVHBUcFRwVHBUcFRwVHBUcFaS14E553njj/ixBBoYH
UttmPs/atqehgx/I6Vk87YeEwiNmBoYfx1Zp/hl4N8/sZ9x01ua1K7Af8TrC9OgnJiUnINO4Lypp
9sy90axAd6bXOQBFehgYGRiMmFgYGE5wCDAwKHxmc9/Jv7F9eXkO0BAGT1c/l3VOCU0AUEsDBBQA
AgAIAGilHEFyP8FtMgYAAHQrAABCABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZnVsbHNjcmVl
bi9mdWxsLXNjcmVlbi16SW5kZXgtZXhwZWN0ZWQucG5nVVQJAANjLT1QYy09UHV4CwABBOgDAAAE
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
BZ2D/BN5btk+vJc7Iriqxov8HPAF0cikpg5zew1PDzpirt+S2InSp77Kxv+TdzQd/XFo24AG42l6
RGE7EmlCNhP5N1BLAwQUAAIACABnpRxBHS3DIo8AAAD5BQAASgAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4tc3RhY2tpbmctY29udGV4dC1hY3R1YWwucG5n
VVQJAANiLT1QYi09UHV4CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgAoqI
ioiqAynNEteIkuSM1OTs4tJcBjOjNEPjJEsLc3PLVFNzg5Q0c+O0VPNkC8u0JFMzEyODexofdRkY
WLs9XRxDKua8PcjICzTi0ILv/rl85gsYRsEoGAWjYBTQCzSEM/+ZzMDonabDB+J6uvq5rHNKaAIA
UEsDBBQAAgAIAGilHEECcVs8LgIAAJQFAABAABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZnVs
bHNjcmVlbi9mdWxsLXNjcmVlbi16SW5kZXgtZGlmZnMuaHRtbFVUCQADYy09UGMtPVB1eAsAAQTo
AwAABOgDAACdVE2P2jAQvedXuFwSBEnQHpcQacUiFYmqlcqlRyeeBEvGSZ0JH13x3ztOIIQFqag+
xFbmvTfPY3uiL+/f5+tfPxbs6/rbKnaiDW6VnYALmlCigjirlapSA6BDu/Tbtf9nqQUcAsuIwhbp
RBUeaQ4UT0B9ZIVGfw8y3+BrUihxisI27kThOUNSiGPsvMssAwM6BZYA7kmdyS3PoXplEWcbA9ls
cJ/aF0QLSp0PYruKQh5HiSFRIXcsVbyqZo3KGg4YRyH9vY/NySKXGgwTHLlfUip5eJRsEK8KLqTO
gyC4aBFAlhg7XlbrFGWhvSH7cBiNHTeMtBRRQCzbRLVGNmOTaQO4MC6oebEtFSB0CnaMRg80pl1Y
Zsx7lCRiL8MOZIcBrI2+ErHIcwUNo/KG1/8V4FIjmB1XXh8zZi+TyaTVPDkP/TdArzaq77+pMO1Z
w561gF6yJhhwIRY70LiSFQIdg+daNXf8uS53xMqkpEwJr4F2m218+tDs7cb7TqmUSNcksB97J8Ae
1oy5i0MJKYJo/bt9TlPJOw5z31KsuToTpjfw9HLbAgOl4inMN1IJjzeMhjDuYTJpKmwQvd2fGKgK
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
AizAAizAAizAAizAAv6nQFfQ3KzIoHe90wFYEeG7wpjbiIX/AFBLAwQUAAIACABnpRxBZqsmEmcB
AAAgDQAARQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4t
aWZyYW1lLXpJbmRleC1kaWZmLnBuZ1VUCQADYS09UGEtPVB1eAsAAQToAwAABOgDAADrDPBz5+WS
4mJgYOD19HAJYmBgVmBgYIrgYAOKzCprKmBg4Hnu6eIYUjHn7d3TXYcMGBwulsz4L/fn0zkvAVFJ
ieK3j+f0sir6xj7dpqn3WuI1UBdHTW0VEwPDgUoOAQYGBWUHBoaGHgZGBgYjJhYGhhPkCJ7ZwhB5
bIdOckxa7/83Nef7GBka3v6YZ/rB6tj5NRuBnNpbf8R0/I0ZGB5Y3JNSeN/X+rri+/zN575P35mT
KsPAcGOxrz3jzrzHm+ZyMzD0Jd6yVki2ufdWXKh/mqFenTgDw7mkrIY7emv6d3x98W3WO+VHV8sZ
GArC8nknhHO/VdY7dL5sLwPDh/jZdexP5rnaMjC8uZ34rwPothv7UmWT/35RATqw+MZVMR0GhoT7
LBwMDBMEgSHo4NYADApJRmBApIwKjgqOCo4KjgqOCo4KjgqOCo4KjgoONsE6xgO9qvuVeq3PA4UY
PF39XNY5JTQBAFBLAwQUAAIACABnpRxBHS3DIo8AAAD5BQAARwAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLXpJbmRleC1hY3R1YWwucG5nVVQJ
AANhLT1QYS09UHV4CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgAoqIioiq
AynNEteIkuSM1OTs4tJcBjOjNEPjJEsLc3PLVFNzg5Q0c+O0VPNkC8u0JFMzEyODexofdRkYWLs9
XRxDKua8PcjICzTi0ILv/rl85gsYRsEoGAWjYBTQCzSEM/+ZzMDonabDB+J6uvq5rHNKaAIAUEsD
BBQAAgAIAGilHEEdLcMijwAAAPkFAABAABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZnVsbHNj
cmVlbi9mdWxsLXNjcmVlbi16SW5kZXgtYWN0dWFsLnBuZ1VUCQADYy09UGMtPVB1eAsAAQToAwAA
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
gRNyoEuLEXRgRB0YYQdG3IEReGBEHhihB3rsIaQHH8KIESGiS4sefwjpAYiQHoEI6SGIkB6DCOlB
iJAehQjpYYiQHocIY0ZAjy4teigipMciQnowIqRHI0J6OCKkxyNCekAipEckQnpIIlwx4q90aRGi
Ej/lWZF+5mScTSn8H8nLY+HlsPDyV36q6iunJz06YqF5PVmx0GsWesNCb1noHQu956AJrslPdXJl
pF+N4BEPHvPgKx58zYNvePAtD76jwXkWY0Lh5/5/MbLweiyn3ZiB9cvzv7IkZfRYoPPyvJgg4hLE
XIIVl2DNJfBr8X+Jv9BZ9DPTHPzMtAc/Mw3Cz0yL8DPTJPzMtAk/M43Cz0yrMMbveXiCtR/jCfK9
JmeOOgzhEQ8e8+ArHnzNg2948C0PvuPB9yw4RQuGcJ5UCWGJn8vbnTGtjeDM1mMefMWDr3nwDQ++
5cF3PPieBafozBDOkypTZ0KeVEOeVEOeVEOeVEOeVEOeVEOeVCOeVCOeVAkhr5+bn8s0e2fYgjEB
+w1+zfnlZ3pveqy/I78kh4zhZ43gzNZjHtw/PH7JzlnJcLzH+IiJj5l4Qv/z8oXR+wE6YqFjFprX
7zULvWGhtyz0joX2W6RfkxtdOAOwXza/ZuWd0XTWJsvQEQsds9B+Lfm1YgzNATjigGMO2N/n335h
HV4YwSMe3N/z3w7/yY6c3ozwERPP7c+KiV8z8RsmfsvE75j4PQ9P8EzHeKZ8Q6Z8Q6Z8Q6Z8Q6Z8
Q6Z8Q6Z8Q6Z8Q6Z8CT7qb7f2H3V1Z8wiU4qIQpFzTlqO8dz2YyZ+xcSvmfgNE79l4ndM/J6Ib1gH
NOc00QKaeAHNagHNegHNZgGNX5a/J3VyrpPbhT48gOS6EB7x4DEP7hfF7zUj4Pn/v1ftUrj/Qz8f
6/zG8FzGeG77MRO/YuLXTPyGifdr8mcs68fg5wgfMfExE79i4tdM/IaJ5/Jzx8TveXiCJzjGM+Ub
MuUbMuUbMuUbMuUbMuUbMuUbMuUbMuVL8AQ/t4+CYW1H8IgH9wv3j+RQZN8nTMdRUmVF8QGSiE8S
80lWfJI1n2TDJ9nySXZ8kj2bhGCgZiR86Yd86Yd86Yd86Yd86Yd86Yd86Yd86Yd86Ud86Ud86Ud8
6Ud86Ud86Ud86Ud86Ud86Ud86Ud86cdU6Vdsw1+x7X7FNvsV2+pXbKNfsW1+xTb5FdviV2yDX7Ht
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
qwjqezlHYUgG4up4QuPewO2sbxYcztGf5q0MDnmCH9I50XYchg/QbInVl5Bi8bBjMU5Vq2vR5rAW
ksEtITYJkQpVVsFBePSWpzImckcH6WRYpg6m2vkQHj6MXQ9Xrodr18MrBKk6h9jo1QL8v4zOgCxQ
Mpiv3k2AP/C6PgcfhaG//VOYoZ/EOsDk70GF6BecFHrf1YaZ/i4vi1OlxCBue5DVssoKx4Qh9teT
6QlZugAyLcU0DsfTuELLEazOZ9rJiqSG67T0PDWZv+T+uXnukuQjvBGiFBF2FzK4mxxKibmAQp/T
7JQI2znbXhxggd1Zd4VnLoxBWjVGaG/ESth0fofTuGlmURj4z8+tvNTqn3nxSeUHzBrO28LGVW3l
BrPVfGSZUFOMlN0/s7efqnKmk28HPDAJxtXYDXh+my/z4Wd5eaLhyewnCAWgoZV8NvZS1ZUAv3z2
qJ9DSz1JgNsJJzfleJQX5l2TvHTQCvNuNZMDmGPR0KOMT4zfhd/dLQSMT5X2dfN/N7XK0rYkGoPZ
hpO++k/VVDDdRDNjR1PL7FO7uzUn9TrmTyPn09j5dOV8unY+3Tifbp1Pd86ne9fTUVro/KmTV6GT
V6GTV6GTV6GTV6GTV6GTV6GTV6GTV5GTV5GTV5GTV5GTV5GTV5GTV5GTV5GTV5GTV5GTV7GLV7AI
lYmLMvJfZuAQNC4KeXGMXAsp/8FQF25Ohki89mCWPWIBz9aljmlqQA2zkT1GPAGKD+62QCfnwE1w
2S+IpIPxJIFlMIPWcr/hbws4mKhkIEqLRH6Qgw63pMSs3c86wncRS5PG6gcOiMWqaRBzPiTNOLh6
r6Em9vEycpjgxzTTYXZYAMD1JqMkI4BcKvAYq7esxljhDc/GXbLrFJenZRKNTS3+fHtdTX4SU3ox
KhYBP0KWOVwOYfh58tOf92x0aQP81u0038v83fbsbeRJDB9Nfm6SU1LDbk2bTWNF+Nj0+U12lpce
43awvgXEApr+3CawK5IaKMTy41Xu0xkp1ePBr7A7favqLp0PYuVnvA1C3twkM/rPWZd1qY+5y2oF
YHKwNmVjalP/ZbQvPn8aOZ/Gzqcr59O18+nG+XTrfLpzPt27ufHsfuzmVuhmV+jmV+hmWOjmWOhm
WejmWehmWujmWuTmWuTRMTfXIjfXIjfXIjfXIjfXIjfXIjfXIjfXYjfXYjfXYs/QdHMtdnMtdnMt
dnMtdnMtdnMtdnNt5ebays21lZtrK49Fc3Nt5ebays21lZtrKzfXVm6urd1cW7u5tnZzbe3m2toz
Ebi5tnZzbe3m2trNtbWbaxs31zZurm3cXNu4ubZxc23jmT/dXNu4ubZxc23j5trWzbWtm2tbN9e2
bq5t3Vzburm29bgdbq5t3Vzburm2c3Nt5+bazs21nZtrOzfXdm6u7dxc23m8NY+75mbL3uOQPXv8
uWcfvceje/a4dM8en+7Z49Q9e7y6Z49b9+zx65497rDXH/bwz+cR+1xin0/sc4p9XrHPLfb5xR7H
OPR4xmHkW1B4+OdxjkOPdxx63OPQ4x+HHgc59LjAoccHDj1OcBj7Vlwe/nj8YFhwHx94O+UlK9JT
nWdlOtrstdJcq0Ne4AVqVzzVGS0hihcQUUh0PpJn9T9FRyx0zEKvWOg1C71hobcs9I6F3lPQuFt5
vUFpR1XPNa2OcPsfh9iQcualUUkXWHMsTRmUTuhbgtl3jUfZOlhEg8U02IoGW9NgQ016q6CiB9w6
WtXJOdOF+eD2GJlLAlfaCp5CUkrzKI8LSSWWTux5lUxUxRM/8h5tD/w9O8Iho+ZPvD6yYeO93VcU
SHA8Zjcobq6vfyV3E4so1febzGKexL6n4C5hS2Ob4JzUh0TeyzbfF7DSY85BcpRZznDjbn46ZXjE
WkrQyy16S9xGHPjqlpXdpwdYOBETxnQesqfPY3KpTkTdG5NigmrDo+nSuJa98u2Sj/kkkyvk5U9f
sSlHK4LdsqojnMGcCD6FPATIg2irc9ZenMMGxgvuTeC1sL6+Azp7h9ElcwNTPwlelZDcWzw4CVtF
LLgLOebZ8J+Td7xfi0vb3uoM82Xl1XpiKpTX4Y4fBiAdO+kEDAeIrvk1m0yqbiKdrpSY7vt1k56P
dGjWDtOV3GDAQd2Qm9CezHQkyk2uE71n9z66yfCKGDzHh8fJlVaRyctKUoK1bxoGWZm945XGmOJI
lxuOW5WaLEtSVXiDu3Z34EIMcmO1vOHjVU7ps9uIfMRSUv/z6y9SdJ0y6yegkMGf97x+ab52q5D/
ePxAX8tq1N6ihrTCCcgi+nfb1y1uTZ6e+EhLyNzkINzEhaR1nTwOd5jvlzWgct1RzVEpFerDrS1r
QMtnGTVM8AncV5GkkGonhluWj+vuMxtTKrdctB9n6eTElZsSX2coMuCmghQA4cmlgu95UjQ2KUIO
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
IgZ/IwZ/YwZ/YwZ/Y44hI/N3QzelWw40okNjOnRFh67pUPKg3NE5sKNzYEfnwI7OgR3d7O/oZn/H
MPt7Orf2dG7t6dza07m1p+vLnj5L7+mqtaeLa08X154nLoa8koAFjjjgmANeccBrDnjD4gaPdwx+
HDicPnA+8RDkvLbzIOLBYx58xYMzP3XDg2958B2TkcxvjZgfGzG/NuJ9LldxuJrDVR2u7nCVh6s9
XPXh6k/OmQOkvJ65BEwJs1WCoRMhY8cyJG9ZrukboeuA0Sp5I3RN3whd0zdC1/SN0DV9I3RN3whd
0zdC14yN0DVjI3TN2AhdMzZC14yN0DVjI3TN2Ahd0zc31/TNzTV9c3NN39xc0zc31/TNzTV9c3NN
39xc0zc314zNzTVjc3PN2NxcMzY314zNzTVjc3PN2NxcMzY314zNzTVjc3NN39xc0zc31/TNzTV9
c3NN39xc0zc31/TNzTV9c3NN39xcMzY314zNzTVjc3PN2NxcMzY314zNzTVjc3PN2NxcMzY314zN
zTVjc3PN2NxcMzY314zNzTVjc3PN2Nxc084f9ViG3CKG3CKy3FZ0k7eim7wV3eSt6CZvRTd5K7rJ
W9FN3opu8lYBRwTPDCxZXuuAAY3o0JgOXdGhazp0Q4du6dAdHbpniOCZgeWIliGwkCGxkCGykCGz
kCG0kCG1kCG2kCG3iCG3iDPOGHKLGHKLGHKLGHKLGPyNGPyNGfyNGfyNOYaMzN8N3ZRu6KZ0EzA6
sKJD13QoeVRu6RzY0jmwpXNgS+fAjt7XHb2vO3pfd5y+runQDR26pUN3dOieIYJnBpYhryRggSMO
OOaAVxzwmgPesLjB4x2DHwcOpxnbhRoe8eAxD77iwdc8+IYH3/LgOyYjmd8aMT82Yn5txPtcruJw
NYerOlzd4SoPV3u46sPVn5xj1lnbhT0BU8JslWDoxJ7eNjnzaEPfLNzQNws39OjMhh5y2dBDLht6
yGVDD7ls6CGXDT2IsaEHMTb0IMaGHsTY0IMYG3oQY0P3vDd0z3tD97w3dM8boIzPOnA+7MiYJzp8
xMSTWbKjd2VH78WO04EVHbqmQzd06JYO3TH4+szAMoQQMqRAjZdt6VZ/S7f6W7rV39Jj8lv6BLGl
TxBb+gSxpU8QW/oEsaXH5Lf0mPyWPu1s6dPOlj7tbOnTzpY+7Wzp086WPu1s6dPOlj7tbOnTzpae
0L+lz1Bbzgy1Zc5QW+YMtWXOUFv6DLWlz1Bb+gy1pc9QW/oMtaXPUFv6DLWlz1Bbxgy1ZcxQW8YM
tWXMUDv6DLWjz1A7+gy1o89QO/oMtaPPUDv6DLWjz1A7+gy1o89QO/q0s6NPOzv6tLOjTzs7+rSz
o087O/q0s6NPOzv6tLOjTzs7+rSz48wlO+ZcsmPOJTv63LCjzw07+tywo88NO/rcsKPPDTv63LCj
zw07+v7IjjGN7BjTyI4xjezpU8OePjXs6VPDnj417OlTw54+NezpU8OePjXs6VPDnj417OlTw54+
NezpU8OePjXs6VPDnj417OnZPHt6Ns+ebgz3dGO4pxvDPd0Y7unGcE83hnvOTh+AOXNTh494eMYL
9hxoRIfGdChNftEz2eJGz2SLK6AreqsrTqsxHbqiQ9d06IYO3dKhOyp0Tefrms7XNZ2vazpf13S+
rul83dA5sKFzYEPnwIbOgQ2dAxsOB7Z0KFmz9nS+7ul83dP5yrBZezpf93S+0k+uI5gx5/T4iIdn
vCB8ZmEjBjZmYIkyDOnzTkifd0L6vBPS552QPu+E9HknpM87IX3eCenzTkifd0L6vBPS552QPu+E
9HknpM87IX3eCcmePkLJfN3S+bql83VL5+uWztctna9bOl+3dL5uOXzdU6Hg3YcccMQBkwWxp3di
T+/CntOBFR26pkM3dOiBw4MjD0yfS0PmZN3hYyaezO+QMVmGjNmSPreHrLk9fKYrSPhM15DwmW4s
BJZoLSK6LxLRfZGI7otEdF8kovsiEd0Xiei+SET3RSK6LxLRfZGI7otEdF8kovsiEd0Xiei+SET3
RSK6LxLRfZGI7otEdF8kovsiEd0Xiei+SET3RSK6LxLRfZGI7otEHF8k4vgiEccXiegORkR3MCK6
gxHRHYyI7mBEHAcj4jgYEdPBiJgORsR0MCKmgxExHIyI4WBEDAcjYjgYEcPBiBgORsRwMCKqg0Gb
rdbfQA2ulIWNGNiYiKX3ljK1rulbDGv6FoOChvRWQ06rMR26okPXdOiGDt1SoSs6s1Z0Zq3ozFrR
mbWiM2tFZxbFweyZ9czAMjgbMlgbMngbMpgbMlgWcni2Z2gYg78RR3MZ/I0YPIsYAy1i8Cxi8Cxm
8CzmDGEGH2LGyIwZehYz+Bsz+Bsz+Lti8HfF0MkVQxYrjj1lyG3FkNuKIbcVQ24rhtxWDLmtGXJb
M+S2ZshtzZDbmjMRMuS2ZshtzZDbmiG3NUNuG4rc4H8R0dXT2IiMjRntxqx2YwZ2xcCuGdgNA7tl
YHdk7JbB3y2Dv1sGfylBpe03FE0AVERBfRPSWvsmJLVH8d33sColLbQ0MiIgxViNiY0qKLHVFb1V
Wl+Fw76hgLYk2SAwogJjKnBFBVJW4SFt2yKkbVmEtGujQ9qd0WKZE34TEvunoBEdGtOhjL6u6dAN
HbqlQ3d06J4KPYd0GZxDuhDOIV0K55AuhnPE6G/E6G/E6G/E6i9Zb84rxretGN+2YnzbivFta0Z/
14z+rhn93TD6sGH0YcPqw4qBXTOwGwaWZEmok8I31GnhG+rE8E1MfXVMfXVMf/WK+up1kJCqginw
gQ7ekMrAddCICj3QWz1wWo3p0BUNuqVzYMeDRnRoTIeu6NA1DRqG1K8KQ+pHhSH1m8KQ+klhyPii
DRm5JSN3ZOSezvlnOpQupZAuppAup5AuqJAmqS/CG2KYqw4e8eAxFR6TR7gCRxwwsRurgDogERrR
oboDZXPLjm1VP93q6pQXguB4uwf6H+oveXkO3vL2Ut3boKNgNmCFX7LkFjRlcmsuVRscq+stqfOm
KoO0ugbnurrfmuB4Scpzxm8ie78lZZOLv93qrMnq1ywN3i5ZGTRV3S7qlPj3W5AUxULKMntvl5GW
QVmlmfj1XrZf72uYhGWb5OVVKNbX42zfJJu1E1IWb8e0X5O5g5ZZlELd8zIRgOZrMXfQIpO3U0oG
ayekX4+zw4ZZhOes1fYoONZJcyHSFVWSZjURXGevWVII6zjs52uevRHpm/v1mtSPryV63VydgTZm
dcOkY+rLiIyhLEO6r6cpXauSKjjlWZE2C4kFQZuUx2whPY3Kirpm10o0Bp2o72BUkhZ045gcL4I3
+TU5Ozr2lh3ORT8VJ7dcTaSK5Ar/fRItHV++CK0VivKN+En9fL0Xbf7lVCfXrPlyEBpdP2xP88z2
5F6KHwcPb6K/X8CT+HJsmi9JmX75z4TciLA3gxywtSAfTomb/Horsi+3GeHwQU90K5L2VNVXwada
jOz7NRDezP39CWbRqslBxk+Co+1daKz+S9Amt//Kz5dC/L8VzlaO7Ag0iZCc8MiqohB/ORb57Zal
UiB/87tE64MH/3evLKvy//Stf+M7vnrTf1efv1571WtWnwph19P8dc5tVOD/q5d9TTZZ3vQ3vaBI
HrB4kuZXr9P+3rf8Te/4262J421/jyExvvDvaf5rtRoZrF9eltpb/XteIFTrb3hBJ2Hs/9+kVZa3
/X3NI6/+zz7mb5HM12vPZtSlxNU88pUFQnrnV+ab851//2ukzv3fsnP0zv8jdv6dr/m77IP5JX/j
l3ytVuWiKDgkxxeIxZbpV274CGvr4is3+paXqWCD5PPXbdvS2tNrXrf3pHhqL3WWpFk6avg1b/JD
XuTtY/hzIFa3Qf8oEK8sQSlOp6Ctzll7seoG+W2XPE2z0m3QyY0J71KMdfwBBFeVbVa2H2108P2D
Id7WSdlAg83f0v5XbBRjDAGypgnSR5lc8+Pf1PxXbLYffK9JE6XyBV+//dc8zaq/q3EZ3VreONKr
GFlv3oSWFNXHGyyrIClul+QrNFTe6gyDarciF0NDjL0y/XCzdXYqsiPEEr9CU7ck7w3B/ZyXzVNy
PGZNEyQncA8gohakwqbW1aMffArYtsnxEqT3GiyiAo0hatH8lqcQyQejeSzy48swlt9B4QE0dM2b
Bv6UD4JTLsy6aL3IzknviEsa9U7dhfJ2C8rsLagO/xEMwm3P4JQUBajI1Oi5GjBjdH8Ek8Xok62a
kXUmXlQ/zA/Ff7PkGrRv+XH6NdUR48RBdcvK8aPsehD6Ixhe5wfheDRBk7V9iHqMEn8TY1cxwQQQ
SnkCk6d+DYTyjMLRGg1KFbwmxX3Sz9O9KMT8LD6yayIVzBWfDdsuYyyIPbvexNC/18X8EW7sGJ/8
p9v7Nj9vk1r8Ib7GBxQ/Bu0lERSXTHSxqe71McMNok6phKYIFzjNGyHV6s3cBCqTWrzJdztwgz4p
sfcKbSBrIMJ/BskjdSn4i6qIqmbUSUEGLxPjt0jE1/x5z6bqJhFl1eanTr07BWuzpBZe1qQvI49D
dqV5Oxm7rTBqSBzOI8urILhag5+As6KfDzCI2RQkd2gCwbC8SMA5OWRC78QCuX0UWXPJsraRu3mp
UaM5DUwphWrnqTA3+mPlv7N3YSZwFw92tpqJORq38ZI9DpVgZZC9CrZOho+K6AF/sEeockXeiOZB
3qeT+Bg9CLGHs/HsevW1EmqjrKlWy8qLVG87FkIBwIhMJpIhgfwkMULfs1RMHnaI6clVrGdwTaPf
iIZz4MgqsJwbtSJNmiqT1/wMu7Eooz8eN2H3xAx6biczRymGGJg1+SapJdOmhBYck1s3lWmwGqQe
GjEK5aRoAajGrsktSJM2AUE09dENvtXCytfCLqrpNns/Zre5LKZkwu7rFVL+1yAaTUFPsJVd9SfI
m5pQ/9MEb3VyE/3uXQLtJ8gX3sv5FNCZM2GScDYJblVeDlbPEqbeoaaooXhm40JBq/IkDJoYoXe9
tTr3KmAqVX5H1XSrS/xm01gBla1h9sT97KtYyFWTr7klQlhpLkZvDZYUvgv2d6d2SX1AZ3HRBRFW
4E1YCzcSzcStxrElOAGTg2SDmwymsM/CvfyUicmgaXESMVIM5iaTUiuU8FthCDf3g2HYSv8mEW+9
31I5f6J/J33MajqOpenTrgII4zZ3NsYgoZxGDKyzAyEiYRPk5Ci8PeVQaZcMTQ2o3HCKYrSTVllT
gtl+rV56eyEfGpvRw2P8cGRZVGtjxIh3jUl5lbbO3UH5QExvzRf50xf0479A7uB07Nb3shXj/OlQ
i9lMjFTdIzHVt2JJZoMLd9mk1z0AnKe2szQwosQf4kt+V4aNRXdJGk0XKLYKx73JPtqI+AJeGyZB
eUga/zdrv1t1TgzRpMipcCsKjOlsSdQ/hxGZl1rSpxyCvbfsmCeFdOobF+FtwkjDMqAnGLxBqI0w
oaY5pAPLgaXU8XQvj40HmmanRDgKHtRJ+H/3OnOjbE+7v9kAatSgsejnvt65MRtKGr2NRgY1xJLv
ZrExPbQZiMyGaS+C5TM/Q07FYtY5vjwd7uf9c7wPpfvWQvbWwASNLNSQDP4TJAXEGh74S+dqz1Bi
/OBsJdYlKt/OghTM0Vjl3coZKVUspBASKAZ+LORYeRBi+Oev/UprCBv+w9KS+gf8XYVFZKtVKamE
g9KSyAa/yCls5IeLlR7GeXAtm8m5Voy2LHmZIvQiru5DQPqRmH9VvESt3oezcQe6CztV/3b63fCs
f6tyEJPXKk8doOItebgacZOrNZ8HZViHGlAqfuJp65rUuJKqiiK5NZkDWdU3ITfp+IjJXpg9L9YO
sDcgky/VolNvJ9mBwlTAKQP44ZLBJokdKlwz2WpzEU9f7EB0qwVvg7eqNjIEIkpJKxdJPmEMsKbH
9R2C4MIXb7uUVQNgusIdIv4pHOf6p6r+UZqL7x4/z/oMf1Erh6Hx65432T0VI6WANYFgEOoNND3B
aY8G7JD+UdjYdIpDT0L+ffokh6VyUmbCGnVudiAknExShnqC8iy+v8iFNK73Rlrcg2DITTge4BZU
QftWGYc1uLrt8QKrWEiCNquH0EOQtVnN/qqqq7A8em0in8odvUNSC8e5LZ5gM1VQt7nw2xUgO95r
2C9I7m0FEWv0tTBUAcGfMugDrh30gJazxQWP+JqqbieAY/24iQ8RixVYxUu/J2ghlEAATiAwyWJM
dNTBLiir0G1VC6Y+iVb0X/ET7E+xoffgJdP2zwEa9WsOU6u2vM2uVoz6MwDPCxdrqBogyTfxla1e
ahgolS8wiEJn77meswx4OS09HZImPwaHSjgHfl6NaATDeRQ+0DFpwCaUMH5e7U0KpRKLD/279PmR
tZ2qemiyEmwLrO7UL1wytKQy1oXzhlAOWhNCREJN9GZLk7U0Mh1pFJMaDtmGRqa28+4N+ROFcYH3
TJcJPrLZStik2GI5DPrMk9uEii45KyFHdpNG6NKbEJIEMaUhi2JCaBUGdj9L04McjQ34AS/d7rcN
ZXuKEYhkposDgPCIwAALVinDp1ZZAM08VEOo+JRB2MpG8htSfEaCEhxnPVjE2/+857X2AUn0GBPt
1osGknvdCM8+SWHjQ6zLvLhX2AXxoMClz8u7WFHnNRWKkeEuVuHFe2ByUHpAeQmix42S48OLhRFD
alaMQ+Ffd8fCrDiYCiEW2XhwEKMFryO9C5/qmHjfL9wjPF1E7QeEgGsxX/ml37zkN8WD1ANVQUcZ
h6cr8JDYAxpEiuYY9PyPVV3fBzEIM+wAc7XbQnQwdNFpKGG0UjxYViRnL4XkKYsELcNd/H4Srnfq
hVdpiiT2b8yUGyz6ngY93SAcZCWq+4WBDfMz/NsNWW73DPQ+u6e0eLwjZ4VpbmDOWXJ0qpQepdY2
ZSzlmNzFdBckB7GWCA6PcfDRQKTDaRDOUnEkIG28BFbEKYGjgI+ANoeO0T7U8XrzQSasxVCTZG3D
I7Whwb0RNtCpnNKs0zgwxLoxGKXwQNCIuTGdKsFn3JL24nmt+mD6uJFkuDk+SCSy4W7V7V4kLt2X
uHuZ/3l3cLxVbqDSfYxri3VSUgi7f66TNCuzLHV1um9AOq9Gt9JIcBhGjZ1IGYw5ZO0bpB8NA58E
MsgOKPXCnUPFZQAkFWHIwu2YDCh0NkrPNtjOAvcCg0qZzBYhNFRUYqYSciZJurrmbXBLIAzcZjWF
4JaVKmOALFz0YzDMjYplp5AcmMdBegyMojOkzyStfZACCE5wSycrSI511YxjPj4Sl5cDUGhLjOY6
eXhReXmCUeQCggWRrTU+lNvIaVSWnjMv6IQxvtnadA4UkqwhJH7UG0y5s3E0652FswUU5iS250Xy
1yOgGjpI5ztCtrhn5QhZWFLWXah1DhJjIumjz4bnmHYCK2jnnFFWwrodrF2pBt4RnWvKPUIqiEaK
JVOdDWKtTgLatDqnoCANsU4L0DUXj4BO7g6RMggw+MVKJJxuGf2wfxNueKL991g6iXR3EiAqB5Pg
qiIc84O9MhLIfnVrQ+n1C7z1FbLwPa1O8T5cN13K7Ums3ZS3dqpare2t8sEEZTBPYul7yt+D8Hn3
vA1taJzsIPn/ehWOh/WrYHu6KosHwYxpqP05bizbH8sUrC6G4pz3NFouHqBzydlp5ISL8N+K432S
lxPmXY4K7BclxS8eX2wIdboZMnvoXmOhjG6Pb46DQwrZ0O+BRC6raAbDx83WERAUOXOu30dw3LB2
xhRG8LJbrkqDRe2/26oOkd1mk8wub4Spg2Evcx7BuxnknixtiUfttiAjGtg4DTjiwoU4CUgdMkMi
GNyBa3SPwNXwnIcbi9L/J8RyvAu8VkzZdZ5Yxy5szY6tqpXVMpLnHeFq5xNmPqcnPLHlTplNsNn7
sbg3s321GV7CtdmTYzOtrqOI1uv5KSnzKwoVcsr/yosiUT9lv1Zy+DyC8BuBpKFx872tOCS5ZGre
Zh8ijOiEV/S44T+/yP2jkEsrj6Z8LyXCoBb9VLnPcARkQNgMD9jhKSFNKXyoV+EkNLMDxja66Q9B
m3fVOmw0DQQcFVoMiq6i1wzpaWbaU12ak04QcQliLsGKS7DmEmy4BDhLQP4PTqD9IQJmC5BH8l31
zqQlwVGHWETDA6N6bhIOZ53p/B4i8S2pMTom7HydvPlJZcpM+Px8c32mjECMOTL4baqGHvgIbB69
stmykid9Bsv9mbQlvfjY84jWgJFtCo7e5Bkn8a/Pwi3KfsJA8ShjiUFnJDh39Qa/RapPYOaC5n6D
ZKAJt3qaTqWHyU12FIrOALJZJxN0yG15eNuH8gy+OYX9cdeKC6f6JucOnf6Jr313ERSQl6iqGg7i
JQ7wsDrnHDdSQPBPBU/P9yKpp/lidEoSgQUkT5fZHuJs32ZnrKSSFFnq5HB3GsT83oOQ0cvTKS/E
+qN5OmV/CNvWzcSTh/jnp+yM+zJjzDVp4CA1/mlG4GmR5gmC2rDD8Et+Fet1I0Q4FeI95e/zMfat
k0C+l4Lp8xkH234Esg5zFHa4+qbM2qfDvW3FImD+QKxbDtVBTEDzR7hygpM0aNOETYds78ECZATu
chgNDXWpphBcND0vclD6+YM2OWCpbNOj7L01d1vm4PQPmuYpqWt9tK25JNOnM+dLPBh8YoMH8G/o
Q9qa6IpwqIfC40/6uipWFCboOtuRecO35NgHmzQUJ2hI81Vhfwz0yIP872NkAzPfe3DFgzkjc42P
VbqImmDw2PS4UzrpYv4IHGrR5bt4+Wc4VCwX7pP3n4vHTXxEnXeFXpHZGPKDU1ljtN7swHPTKrd4
+EoYulY5XJP32bylf5dORmR7EFseTH7Wx3IlU0Zn0zQGNUUbEIimwhkcQ2edGgUmmtII4pqHMMRX
VeRjzM7mmMsTSMdAHkpoxp1VeoaRGqVmw+bVY73SNjySOX2wtgqgt3c7qISKAjDTVqcTJPCNcC2c
uh4yY9xLVC49/85ZjnO5zofVGYZgsfpNDCMSjVo9SDgfwrJCDPsGxkQJXqPhtTB+B0KaSwcBigda
dQYCEmv7p8///Y9PQoYq1V7KU/QHahPUvXlTyM94dFJj9VnV5lEe8aNI8C4mATNGUnxSdR+aT3qL
5e0CpSf0sXtSkxDFFHyq73DmrzhxiUh4gcY0lMP9cCioPauz7D073jECRsFDIvtFLHlmYFBAjYVy
GFBOAZREaqY6V/XNVLIjMgktBPebW3IcKJwqsKSSyBog1EWX5DkOXTfKSfKteg8eyodvkCpBJpHx
EQaReN69CiKNLCr1Ni/d93l97FiI/Ty++/tooHosoaoXEamB9FOWYOE1BrlijvhEJmM04WMhYb2U
jvWtwp7+LjfOT8U9w2DVJW//EE7AyE47SPXrR8PiK7SHzFO//avMxQrbL/hJE1oEo1b8XJ208qGP
Qp9k+EmUoTIjenCJ1JdTlNZER9DZH+VUzDUDJrLHIjKWnpvol/W25veWYUIslI+llB9hkm5icbdr
Qrd/+vE7qDM35HBeRn4WG+kWkYGnySZUXwhd5X5iR7qUEjtMoP0e1h6/JsKxfuezyUIsk8kWk6uN
vWUNsBhnp8dP+FAL6itIbVxvwkku2z9wDslGRh3CEXl7T4kMdbSUvctnH24I86ch5fvDLckF5Yeb
aYrq9nH+tLA2+G+G7rnaenywQ0qJeul/RI9UY50CfIW2eh34Co0pNfgKLUlN+AoNDZXhazT3YHQL
4ogLpjoL7WLSl3A56fIOv8TLSVeLSSF9DsvyLWmAN83byT9CLYT1EeoP9VyI7CPUq49Qd4IjtVG+
VsVrNvc4DnlCtPm2FtL8NW+o+mNrBLLcf62oU72tFeqQt9G/ZHWZFfL3r9ESLKhV7s+HWlNnHz7S
RLevDsWwlzeldA+1ZrHeqUa04ny0nU53PtoQ1Q45mhhp0NdpbKBEH21Q6tFHWxmrEqG1H/LT6d5k
v8AmV16ex8YDH32vznhQFNPRGm38Oxoo1G9qK+9jjTX3+pQcZc7LB5rKy0tW5+20bxBOXM77r9pY
N57Hsvxwg7Tx6G5jJARSaw3uGUMbvya3Bc6os4UPNtDQdcnaxjvkkwq78hlTHKhabm3u8fWa43mT
vkY+3kbzQaXRQeYphz7c4mNZizAqcZiMoix/5dc7zUGxNSF68SqzJBY2opf8qisLv0a7A11vKO0I
yGfc7B7NSiTvz0L7WE5LtA9GWp32QJ64XK2ovIoPtNOmP2SvOV0rZq3oSeV9mRg1+eND5Hn5IfKR
TL5CQ1osH2pqKBlCQz8VVTXaDzjBD3Q9s9AzNGzUgvaGBr3gkCsmDL+By4NREwyJ/CO5N02elN8V
95o/6G3U3IFGaufYXTjPaoc1aH6G5D3jCnWQ+U34oFE70xXKoClCl37N6nP2T7GS5ItnRsrixa9Q
KVYo4/mx4M1GWk5Uz9yCzIxbRv/Bj18Q4LI2oj6DoNG/YSie7wYY6B7L6GgCH9Oxpkkz6WMxKU3A
v0OF65nTSOKtmfSxnPSvZaT0dBEH9eND1H9RqD8LewdHJJYHR1wtNOoZJ1pDae9Hxvass717zYm3
2Jr6WMDF1urXbU2VyMRGP2My7MKGWCPZ08hMP75ekz8yNnB9TQ60hNRaNTcjBZyxEU2LL82+xdrc
JH0ztITl/5tv2//5cAv/++EW/p/FLSwbydXCWcFI+VhM+dciSqVNc01YolPab+2U4Ss08r9fo5H/
5yONLBu81fKp10b8+AgxaeKFw338yXZIxTLEf9zrw72ATNvhS8v79bdjm7zSsnjMbTSZupp0GXWb
t8cLfNYHukDNIJpTKx4O+LCIl1p9M3Vv0+IGBtz4SDvEFBo8RDqKtKhjpRRZWIiJieVzcnmkbQkl
VFbGiv6L3y1Pxy0gfF9C9OAS6QBSJx3/4tRJ/z9c3Zg28L8faoB4asDYgtKSZcQTRVnWiNSVZbTv
C+keVLrf9Rd+Fu50mtTpt/1tHfxB5mutzpp78dVaYw1CX2PvX6uhx9doaJHyEhpUAvh6DbKUm9De
+1dsizIIqlqwuJQlxxdNLrYGWMc+rK1QVdxG//4B2sdCWq7uOtr4OBOZaupo4v1j5ARl/Mdi/fnH
R/g22yah6v7X2V+ZtfKxzhNHzIzufQHNg0nDHBlfbd/J1NByLvOGlIn0fRkZYQj9kpfLdWlK/E7I
0Z/RRHyax4L3PJjvWSJ1A/17yJOBJosWkT2Wve1BfFtS/0NVqRhyVleu+KM7c0xitLsx4kLT3hBV
Fy3U0UeoHx9692Pxu5U45wJZKN1Je8Q1nbMt6niwNxB9sIHHR3tAGS2/JlC+d3RkF3/5L6KnYKMn
Dgsb+b9pc/2cXJZdWkJZZ6f/WUj3v1w6fdh4yGqmqEZNEBXe0cK/aXO+sQXJc+IGhqOFP0ihSmMD
KLzFpP+7kLTJ2t9kzyv59d5gnLeZe1tRWmlelrj1UzqoLfa9rKFGHq/zFhaSvlGH+JjsnU/y4JEw
fXkD6YyvSxtZTv1GHc8zyvdFVAQPflp/huWxGirPcOmh/teSUWMgVfUneWPH3g7DIbU3srwXxJFo
oHxfRPVgUzGHpJnaJLSPNcXwW53tfKgvxJFuJn5fSkgZ71XxOFfl8iE/pl806kUTxUcCB9MGlnTi
k3DOk8K0gKLUdHJQPz5CffrQu08feveChbi/MaL9szdULyVmlKByN/D4YAOnj/bg9NEeLFjRk9oj
WkhnW4Rc8E8L94o+fWSL6NOynaFP/A2hT/x9oE/Lt38+fXDX59PizZ5Pi/Z4Pi3a2sECbQslP6Bd
wqA/PmUnfhHUP7J39kGFGc2DTyOrFH+b/ufetHxqHmOmxFULd/SyXwrljKklOGa09LltSrpAIEx5
MA5+mMgei8hGCrCkgcU6oOmlGix59UATFpHTp0MD9TIpEYT0r3H1TbAfhA0BA1XEpmLJ8l+z6pey
q5wPHBBGSwjtHX7Lj+lTDXNik/8FhzTOdZ4Oqp7jc/XoVCQvYjnRTMnhYoBg2EYybWCGOBgRUHYA
i3VPb3kIefBoAP+rqq5PN7wx6NBUBRSSh9tKUiHIo7zGHC6n1hdi9AXx/XROotF9N1Qi+Fvgu17M
A2+syGNV1WmDl1iBwgfPoRCDpRMnmTLSXVLhhsnMEhvonLXfqTskvi/AtQVfxSghhF/y9zwLrniL
0/Pz7pt3F0yW+weNgtqnhSBY2Vv23bIUWlnX32NxgwqIZZsML1iYgNXdG8M7qGp8z/MzvsFEQ7my
DO99mF1BtqAhH/Hk6h8zaHrPoRllu7DJgD4VVdLqW79uSYoXGrzb8e1FfN/5oi8jws8cDdUgsqsC
qYEF5LAD4mWxifJyPy99qbrwMFv24l6hPa8f2BAFwnqZ/U2MR2HYkhvc4vFFSrF5OtzPqzDaRPrC
FgbFikERRtvn1bOFoM6eDoXo+yGrzw6IbM0FeP8iJy875pjc8HJKByIrii9yDepCVcWX5paUbgSu
J5svoHP4Hx76p/ydTfC7vu2MSsMiOHF6dGL25kYEi3bpzNRgKi8H+N+Z/eHgT4zunHhdcbLxmtTn
3KX917w52p/KG+pCO6Aqsy+1vm3IBBAPPeMGf/syuGbaDvKOUgmTzDGi4F6Z5AbXy39fFZEH8ql6
a358F523cKBH/nGo0ocPKpyhrM2+F+am+ZQd7nlBw36+CI/lhQGNfNCqCP0QQiuxH/IPuH4uJOJ8
rwR5EDkHUBrjGKJDqLcDYrhldYvy8DU7g0YUKKcHCuttV0mgCalAQouUxkjtxATMioBZezCU8d4j
vWLAn36orkaAMMyveanuTvyCN5kTcEXyEB7R+EJDJ4G+AFMWUicQNDncuyjhAbhGbBrhrF/LQN47
uYiWSwV3Uy56nW3ispM44cI4fBFf4MW08F8/6lRVrR91yZLUhXL6rT0G+fclKfJz+QXWHhafwkwA
Adj89GBQFNmpZcDr/kZKD578qa+y5UPSZLAfz6Kp2tY9qqcU1zxNC9Y72upGgqOr8+V2bDlop6UZ
uGNqPUdHExqGlfGpEE7hRfAkEx+aMmja9IuKrX5Js+TY5q9Jm/npwQelqvaUwqepU7xXVRXBXTz6
krjN6xCKAmyo6LIq/XxpeExpOBxpWOxovhzOWInoS/LnPWHCv9TnA4PkUAizzsWz33HPmHDmG073
46XJEz4F8z3nOnkw4ew3ZFnJxTPfUeTXjAlnvkH8WlUlm4D5ljJ5fTDhzDdURf6acfHMd9zu9a3I
2ATMt9RZykMz22/y4pVkNccEzLe0WVIw4cw3vF3yNuPime94iHWE29c2ElDfgl7Kl2c6NKRDIzo0
JkBVOPpL50myaTyeoaYRDNQbNiy0z5ccUMAtzMT2i6RpCLg0OyX3gvL+nDK4wSsT/m5ZvdUJhWl4
wTQBJ9xQpufUURCdpw5P9Z8EgRg5vtVPD5aRVBqWzD+BFSyndwKXIxTohc3vC5PfFy6/Lxx+Xxj8
vnB4eCHzUC395M4iHe9e0WEIgiyaIfqSkLGE6MIQ7pX4AOuXtgzqkHrLiCiMCbzhhBHcH0sYwX3T
Rcrqd8rodMrocUrtLgTF6Bo3RPtkOMBSNG4A92rcAOvXOATTesuR3IjAL7whnCC/Idwnwgur3xdG
py+MHl/I3c0SxnQ/RPtkOMBSNG4A92rcAOvXOATTesuS3JCAILwBnCK/AdwnwpoXL6oZsaKaGSeq
6TGimhcfqlmxoZodF6rpMaGaFw+qGbGgmhkHqukxoJoX/6k5sZ+aG/ep6TGfmhfvqRmxnpoZ56k5
MZ6aG9+pybGdmhXXqTkxnZobz6npsZyaF8epGTGcmhm/qTmxm5obt6lZE0nNmEVqxhRSE+eP93nU
BrrxTiaA9iloGSahIOE8AAEmAxpOZFWMnRsiGLwFGlS7NjQ0ejY0qHRsfFhcSftAU22k4gmK0KOV
RhLRXp3RSYAYsCMi34nAOit8SEPCAIeCoD+mDAMGCUWT5jkGJAKKTpmzDFhEJO0y5RlwSAh6Ns00
YMB9iiSTarwIup4N4V4NGIL94pfo3te6Zgw4zIgEtMy3oALlNj8Z7Rn+EjvcOGChvarRU+iNAxaa
2r53Dh2mrLxWnplUgkmgQeaFH+yfmQepzMRPJxl5Q8yWDPcZbVPUlor3D9ZZ3NaPJigD4nzyRRBB
ZMY4MJ3Cb/BNkWAy3mfqp9taNKxXKVKORqRkdUjpupAyrHZKN9kpRb/6fTkPTO0QeVA+Te126zwo
vcfkgRF0PuUpfMrR9pSj6ilDz+WumRM032kgw71DwrDXQMX7B8Zst8GPJugx4nzahyCCzhh3L+gU
BM0x7F+Q8V79uTD04kJWigtHIy5kdbjQdeHCsJMXup28UPTrQrOTF5KdvHg19UKykxeanbxQdP7C
U/gLR9svHFW/MPScYCfn+2NkuH9IzHfIqHjCwJjukfnRFD0GnFf7AETRGdOeG52CojnzXTcy3qs/
NUMvarJS1ByNqMnqUNN1oWbYyZpuJ2uKftVe5aopmlXz1Krm6FTNUah6pk1Q2gjPrDVPg5IZg59V
rH6EGwKC5lLV7QVKcxzrpLkY8LKihbqOvX8yRx6T8pgVboh40zkLxGfc4V6vO5Y+cRIU+c0NwEuZ
Bx/UnxNxoW51dr0XbX4r8m5/zIWvVQUYA7SumiY4Jem8jo8BfD/kx+CQ/ZULluqjOvJiaSpYVvKi
optLknY7Un7065nZfldca06gElSDNr9i9aV7eTSLMM2KbpN88DPUfBKKAlWHZjWFysqpFNm7+JcT
cSqyd/c4OVXixafkmhcPiqKCYsuKJJMBVuRNO4frq8orMUvI2piNFWR6IOaI+n5rB8XNXJ3r8X9l
dQWfk3iAcJfsUYzmTCCzlNY40BTu8Y+FiJxsvybt8aLfiB+mFccEzsvgmryr0pSqNqa7+bzRb5BD
I8AJgIT0NAwFn+DCV8MzuPE9OQk2uZkjDdLIjmAhIPeLDVQ0AoIwNJTEAQ2Gen1zijlBmZ1lcSWL
AVAnt4eD6a/h4e8hVNcQGmAt85kw/CCO4RQ4SGUfAW8ZKv8px9E/4K/FYNdZm9TnrPWNGJtR7udi
Nek6+d2j3TDRJ6qdaNrs1vgNdnNvoJAHtVGo3ERUCcS6vgYbAiUoW2dDfdeqG5rgAAczBSjmFhdW
6kwqeJrccpvqzpFujDLIwbHIkhpLrw2+LrM7Z4M2AJW94v07wgjDjJLVbW6ybGai7p5PIgGU1kuE
M1xT8XXWH0D2gdOsaevqEeTDUjdUIllUj9yxQYKoD9qZuOeQTRGxKWI2xYpIIUsVEcFdjUIivslg
DJVUqTk8SCP+TYx+k/EcgC/CscIKm7S2NdwJEiMSx3pwu4hVoBMK3VX1S9Eh1EUoXTS9MfdbFK99
fs3F34QVEWvVF9tcNXIE4evMfuoYhp9TwjyMPyM/hGSWkOG0RCGs7m1whwr0Evz/AlBLAwQUAAIA
CADvpRxBguVDBMUbAAAC1AIAJQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Vycm9yX2xvZy50
eHRVVAkAA2IuPVD3Kz1QdXgLAAEE6AMAAAToAwAA7J15c9s4msb/30/BSm02SfVA1mVb9kx2yuM4
Hdcmdip2T89Up8sFkZCImATYAKijt/a7L0BSspTolkgJ9FspRzeI54frAYjjt/uYOBdx16m3nHr1
vHF6XqvpJ7X6785vfSzY7841o+rcuSNSUs6cS+z6xKHSYVw5Lmcd2o0F8ZzffMrM1+4+Zt9Mvvj7
f/y2IHwdBHXJ785FZL57VK/UK7Wm8/qXdsxU/MYJufcgZTB6/zYiTAd/VK2cVVqPzucPn4+OK41K
HdXi5AfNSu3U6VPlO3exzyVl6DNWrj8ZSYQcQWQcUtbV8RchDhweEYGVjq+cFdXGKKpECC70oxtQ
wpRTq59Wqvpf7XfnPQ2I43GSEiEDKjWGo5Cpoy5VR33SfqQKub7gIY1DRPry6CMe8ljdE6nkka9U
dKSSpziK3ISDjiKPhUv0W20u9I/Nu4gzj/dZwLGnY49CzGhH/ww1q83K6MUsBc39KjDBIh0sSoJF
Xwde9evgrKMfa18HrWr6uk2yx3r2ePzd5zh7rP5Fp1+HCCLOHXPd86OjsY7zVrVafYqCOxQ0CKiL
YkErvgqDA4Rz/+H67uH99cerh3e3V3cPN7f3D1f/ur67P+QEnRvnb3L1xJnIH+YXumgi0tMiJPJI
QBRBfV9LQAJTaTK7oiERqAbJWIZkrB9WMtqTeDtJslUSChIIEggSaMUE2iYttIV1bhIPfO44vzAd
MmXapVL9bHCufWuoCZqXu6r0O5gG2keiOPKwzlP1SuRHjvb0gb6sUzsDFaBiKxUraDgGDaChJBqe
os6I6nPxiCQN4wArLqZjf9xavXnp4CBoY/dxbrtyfEgdetAFuqD0gWpQDapBNagG1aAaVINqUA2q
QTWoBtWgGlSDalANqvc5CtrhgtAuQ+N4ju5Nfzc+msR/DdnfBwvyn0+eDzFlaBQy8rH05+o/sUf/
rOifljH5eKdjfoSwqwOeP43jFJIOor+TnLckrL9HWPlvZ9Xe0zkVdQQOCeRXiP7uo9+C6EP0Ifp7
seiZh2a6cpcR1o6ScZZcwkydH31vDXvDkjZjFCwK8JCIRXOHD09/mooAxCIgBz9nEDSAhl1pOAMN
oAE0HLKGHhFmLTrxxgump3TUW7no+HB///nh+v3Dp9t31++vr9493F3fXF7tUFbMkndw26wJy96d
EnaWq66b25urh08X95cf7NdUljwHOkAH6CiqTv5ek1TDgEifENWoNqfknCztkGX7VWDmkgB5sUh7
cz0cUC/ZmATJ2HUJ8Yg3r2dWL/L2oo5oD8ujyKcBjY5oiLtav+lAdgWPmVeJWHcFyZNhpOFK4mrt
aljxBO5fm2Ar6de2Ub04T+hY6iT0tx9wEsSjgrjTGbmxHIOU5g/RMOJCSTQKBrlDNyD56Xa5R3IS
XavlpfqkbKkdi8Dcy+mGWkV+qg8rrXeleXe1mZyUKQPeR6MtlpLq3AhGlKEkKivJ1WgekdHsUWnM
rId0VR4TZHamQj9eYBz4XBynO2n6Pl7c3T9c/fPq5v7h+t2mGSLd8iCBNUGNSER4ZyprNJeimgxq
4nkSkrUkdBHhjK1fNcyDMQ5v5AsY7tGu2S/AFQvmm9RbzxZUfkikwiqWaJv6dDaLiYDltBNeC8ck
3D9iszVcUi3qL6Cp8rWwrgFKQKlASjtrxmdH3oT8oEN+WG3t+2ICTPfE1qfQ3Lzj2sOCGgNx7vR1
v0hfdnsbZ5wH0r15pPNJEExnkOV7K2Z9vW9RV/u5LoqwUBQHiZ2xX379ecs/yUP+cZG7fFEmI20A
uJisDtMSGuKo8k1y9jArjid7ieNUbTLwl3ctnn6qnY7kE4PkaQU0d5jkEARKV9BIrbLN2qxUnCMY
0YUzIfekO6Qy2aJP9wDLL3YqkSdiWKTy0z3XMbrwok1WUfxYoE1IAe92F8zBeWZqW9uP+aXjVmTj
GxjZYM2MsTAUEuVzzwxgyjhYtyf7BIQMdPExd0TkaIbXeEg0PzBpR6FYKPVDh3J5e3NvRjvu//35
qlg0teqhs4GSBCUJSlLrvFrdlo1H2HBTJrN9kzZJCosu2bzkjNRH+hcB7foK8Sg5FAMwAAbAsCqG
eoHuXH9VcveRqOy1P2zT70Y8Z0XxeC8diBnTgMZ9R3Nfq6MvuWFsc52+tFDBsolMjeeh6AQUHbqi
Wn1bRX1M1fZyshp1ytLNmOm7QSWdzqLzngaPPH1pwYcGE+/p/xVHUn/fTCubU3tvD0mSXaT5ipCa
lkLq/kmjwiCdWArpm/RIgIeFcTq1lpPLmRl9LoxUy1JSrh+zR1Jc9XRmK6ckDoVhWmEO5WFyAkMA
hgAMARgCMARgCMAQgCGw2RAozlGbds2KDReLuQvtnrkjKJCSxZagQEp2e4JCQdltCgpEZbcrKBKU
1bagQFDgC8AXgC8AXwC+AHwB+ILS+IJG6X3BaPpXSmt8gWwjBxwSs5uFzA/QwVuCvQOif5LCAB1b
COjg7dK+AdnglPbPyAaTtG9KNvijvTOywBrtmxG4InBF4IrAFYErAlcErghcEbgiw0gNo+LatPo2
gNJKAQkSBdglYba7D/jF4snYYxSLJmOPASqajFXOp3g4VlmeovFY5XWKhiMw83hYnMmpWpVzbHKA
RcMB6wfWD6wfWD+wfmD9wPqB9QPrB9YPrB9YP7B+YP3A+oH1A+sH1g+sH1g/sH5g/cD6gfUD6wfW
D6wfWD+wfvuxfs2dHD18/f7h0+276/fXV+8e7q5vLq9ygZXk0dHhdLtyhNmx3+lcSRSSkIsh0DoM
WtZ0K6ax6PIm84NiTY+iSCjWdCYKhWLL0qIioVjTuSoSik39qmK52NSlKpKMTb2pIrkUaPBm9h1s
yT9g7cDagbUDawfWDqwdWDuwdmBZwLKAZQHLApYFLAtYFrAsYFlgNGplTsfPzNqZI9g1FPcRMZ7d
hEUBwY/5AbLM5hUPyDLLtwdAdtm/4gFZZgWLB2SfLdwHI/ssYvGU7LOLxTOyaUbo3vKRRRNDN2R0
8mysNe0IszNmwLGHdN5HurEhiuQHxhpLXTQYa6x04WBssdBFg7HGOhcNxibLXDwbm6xy0XRssshF
s7HJGheebyyyxEWzASsMVhisMFhhsMJghcEKgxUGKwxW2E4rfPp8HB+jimL9SX4s7DF5+bOwx77k
z8Iqx1IEDqtMSv5ArPIlBeCwqbnNHwe0sNDCQgsLLSy0sNDCQgsLLSy0sNDCQgsLLSy0sNDCQgsL
LSy0sNDCQgsLLSy0sNDCQgsLLSy0sNDCQgsLLSy0sNDCQgsLLSy0sNDCQgsLLWzuLWxrOY73NCCO
x4l0GFcOGVCpznesfQuJgvwR69D1Y49KytnoDLZtFJdkIaGkHmljgfrUU35+PKzxWAXxsMZnFcXD
ltWCBfGwxnsWxMMm/1kYEps8aEFQbPKhBSGxaQFgUbnEInu+GpKzZ2NYB75AWA6Zmx8La8xqASys
MapFsLDFpBbAwhqDWgALm8xpIThsMqYFALHJlBaAwyZDWkTusMiMLsVRrz4rI5ovCqt8aL4orLKh
OaOwyYXmi8IqE5ovCts8aN40bLOg+fKwzYHmS8M2A5pz3rDMfy6kscJ5fNIVNFLOq+3UjrQhJQiZ
o/lVMhmiw2PtXbhwYmZOy3MUd6TCag0Ks6+VvDKHhCw6eK9RLXDuhtmbjrLuBA0SRmpY+SaXih39
NBIk2eGOhl1kAp2rq7kHXYwzlASDmUK1tTXJgPdR9qbJHrNkHe9bVn1fspZU2cSjQpeGzSuqHzPn
KEwUEuVzTyL9URyoNXtFK4Tb4SKcm5G3P7ZPVyaxLBZL/fCxXN7e3F/d3D/c//vzVbFwVmjv904H
yhOUJyhPUJ6gPEF5gvJ0YOUpB4cvY9fv6GArrpRrSAx5j+gr0cDTvU3a7RIhUYSFJHMXCzS23pT9
w/3954cvV++vvlx92TTxJXFjQdVwIpWkz/tfUt3XIe5+dx9ohpJmbbmSXyQJiJROLInDOw52eljQ
pJevI97j1HOScciBcrDaSMhT/CMuVbLxe48I2hkif9gW1Ku4XZqV6uNKaUXUQQSIABEgAkSACBAB
IkAEiLBORANEgAgQASJABIgAESACRIAIELEPEU0QASJABIgAESACRIAIELGaiLPz6tZzezzONl7A
GFLpTkhI1rwRDwW8u+ayxSSgZCkzSheEoHS2izd7YovWffI8dddq2+ru4SDemXAmUWQkKtdPdvEU
PFhz5l8S4sxwykGg+ewJnORAoG5XKbBfQtN+CSclyEjPvig1nz0BqE6hOj3Y6rTIdcBpNtcB6XCS
YFYrGCRsE+9SYOnPmzavdZwUreMJfDfENEBYSiIU4ixZy4s6Aockie1qImcFMk9svchF6Vj3lYju
5baJ0t92H1daAZFI0v9JyrpIqmFAkE49ouYqqhedfMqnssLb34irKibQig60kgRa6dLOagLTnyNq
lkOgJOKoT5Wvk29h6j0nrY2drGb5/MuXz7d3VzuqKMeVZBSLiMvvttdYDccPYeQL4PLi8sPVg1ny
9uX245YYOpqEj3yiC7aQ06MftguoVXPMg18ufv50kV/UaxZHfbUyMyOMWZpb+2vJx89WFTReHGf2
8Bht6OFi5pIA1ebWCeVXeFa0wvZqemKW7NZk7gc8Dd9GBKv547fFa3FLpMUrkRZSIi2dEmnplkiL
XyIttERavpVIy2OJtAQl0hKWSAsrkRZeIi1RibT8USItokRaZIm0qBJpiUukpVciLf0SaRmUSMuf
JdJSK5GWeom0NEqkpVkiLccl0nJSIi2nJdLSKpGWsxJpqZZIC9wXg/ticF8M7ovBfTG4Lwb3xeC+
GNwXg/ticF8M7ovBfTG4L7aNlmFuWhrbH0+azjPedL7zjweTTJ9wkkucXe6RnCI8c2Z543R/c5Cf
TlPBCgfBujORBzJQqJ2ccRlxoVAsaGUwOyudbpssNOw2Np43HweKRlioibiP35tOoRVGm8eBUdbD
AfWylTieRojMyZMeDjibuwxlexIB51H+JBr5k2iVME9IxSPkmhWS+ck+wAywXPYqOwYZ2b9iwSjr
at0x0/F4fB2Zw1jVQL0510gcU185psIyxxCnVSwXG58Vz3CPdrGinE3vSEMUQVF2COwaGwhMBJeW
hPQAYIbiZGke8nWRCOavnG0WuXJ2Iq4RHawj7ekpGp8XJs3B27G2FovzQOkFtg7hyLCZuZpxlBDQ
CMxpcUQhnwSRzoxTh93bq0nikKC+viLvl0zZDDUzV1eWTc7Zs2owzK+Ry/kjnWuYykdETiNpNhs/
IhFcSsQF7VL2fMCskFWAy0wuSTuwGyzzK0qza6Xp5eyUQbKJZZe3sfuYqohF8F1HZIaY49r23Qk3
icpOxYyNkzZRiaI40sCIRL42dDr3IKpIuObuVFMXWiX4OelvAbJsdXd+0BZdALDtDFuzusGOk+l+
ufGYnsuZGU1RTlpLXiYmwUEOljIO9eevJt9/tSnc1HtMjmGm76BY0YCq4boHb0dBrOtgaba8EZ45
alkNM3+DsOuSSKGIB9QdPntuplQEvq78p7k9hbeMIKJPW1wByBxB1gHkbkAWectjfIC6CQzpwFC6
39ZKG8I9/Zgoc/vM086MeW0+INm+coluKecqLfJ24FP64DapRKw7I0L16oEeaj85RJBmnqlc2rRU
y+KdK0EEiFguYlwussr1+63yz0DMsxKT86yK5WN0uajKdd7FZppqdqXUj/YlF1FFJlRBkg6petha
TDr4uUMZLo7MQIhMt5lNDe9oW+uZ21A2VvfVZiQVKWGG8JIR7QUjt7vJvDrf6R9QHMh9EmoCISB0
sISa++ieP5GgjHFXXw/1qKtoOrD6DfdwOm31HAdEqNcv3l9cfzx3cBQR5l36NPBev3F+ctIjoLLX
L9781eNuHOqwKm3uDSs6ZCI+3H/6+PbF3yIn2Q397auOZoz6hHZ9dd7mgfdXlwdcnOtEfvXf7zEN
YkEcE1fKuosv97fVE2Sg0/bd1c311btsqARJ4SIcUCwPK1UM973LulCKhJFyFHckET3ydBNyM3Ub
CQqJ8rmXls5MXCS44nOFHVsijHGGpI893k8mh2tRkSJmZK98UgXpxgEWG2lsrXTiYTreSxk1zQP9
Uzca44NFpBKmCtE194bnHY4VJecmMnWXvf6cuMuJCpS4Ph9N8tcFsBIFo1G0yurYZl8kTTXaI2b0
NzlToloDZOsiq89FdgbIZiNrALJ1kTUB2brIjucha9QBmb5IFqqZBJF1VGjYTS4C3FbgZtwwm7ck
BmjNoDUeJgRiQCwnYpIEHdQOuPtIvAV2FsAtBjfX1DYaAG4RuAaAWwcc0FqZlsIiWyhg1q/Nn5AF
6FJ0ySVQQKVaYXgDoAE0gAbQANrzgAb+dqfQmgANoAG0/UJrADSABtAAWomgNQEaQANoAK1E0I4B
2i6hHQM0gAbQABpAA2gADaABNIBmF7QTgLZLaCcADaABNIAG0AAaQANoAA2g2QXtFKABNIAG0AAa
QANoO4N2CtAA2g6htQAaQNsvtCasWDEXqVVq2XJZxpmmlx1jm7wAdIAO0JUBXWsf+2ZSyQOsiPcr
F4F3hNnQnJ+3uvzpn5Oejq88LIFPG7L+8uXjxKuvg2rtPNucVflUOtLnceAl1/VxjzhtQphjNpAi
XuXF6kTmXU+/QmSgv5Wc15tkm4HKzmYZnTeGDDmPh0BwXYJmF4kuURdK1x7tWBGU1CdzOZ4Bx/kc
5QTHmztguDVD7kFO3AlFyI3rcKRQNe4cJJTrXDDOL9jH1X2AHISBeVuQP2L9wepAzLAGYURMHpdg
9tz/lSr/X58+ftC//pKGOVdvbR96Qzog3mXalZk87ToOw2FF9juzIrrdLoP/eXXzz/99kZxnc/vl
+ufrmxf/Z3p/Oq9oK0xYevzu68obc5R31iXctj+YHibxITmhYvI4ax24Gp3E7XZp2glsrdEHnAo4
fZEdhIE6XJjKd25qn+wld0t5EXtU8UkMtaXHay7+fdKb1iSJULir+9J/d30sdDl/+/M//ue//nj7
snFJw+7LelUX/7f6oab/OEtUv315eXr7w7kZ4wMxdH8IU/bmZePqsAF+HbiNrwPc3DXH79ldNl5e
NCfopbhe1k9Hn5wePqvqLiEhj3RwHChEmDnya5LZT2luq1f130/j7FavH71sVY9eNv4xJ6vV63MI
npaT4PNA9nVA6l8HLf2H3SLz3ytN7tUEytN5CE8Pnl/n66Bt/rxcc19ZgNVybgpMG/pquhm4S6xS
paOjfqnb30udH19XB8etv+j/Gsl/b94cfEEtgttT7jp5WW+cnaaPtWpr9KSWPak1R09O0ifNavZ4
lj3W5gA9OxigYx+/C7C8/Y24ozsmfxckwEOksNAuF1FPJo43uQ/wtk30c2J6ldr/LT/7aEG0f6Bb
O6/WC6Tb4XxLctltJtNaSNwhTfR07vwPBq9enw1LxyJph2fkNuCxCY9fqUcc003Brq4rTPcz6Qtu
3dFcyTIYq4BqJ20duO4fZ8Yh7XuenlTWOjVsdLEJqMmRJ1Ohz9miS5M62+dBu/2Ga74eEdFZduhu
fSmUycBwFAneI94Rwz3aTW+vKRrq1vHIgEgu/5C+8ZAc9CYeFp9IAaQ0qcGKqGpFDtvpr0pzRIHK
XvvDNj3yMfO0JXoIcVRRg+VjeDMDcQMuCdI8MjQEMdIf366dJ34HJ7emYycbZxUuHomYPMU6fSfr
oXhTmaW1HE0WXDKKmwRhPKY94ge+QPpVxJkkIH1d6YsyEUDQwY1HOh85bSGxIZPd1YY/RNkcnJoE
aDrP3+TKojOpo343SvvdaGQ98isGOn469v6mOWBJ69jYPNVpGHGh7hKfJTXKfPL/FiZhifRabe/a
883nSXiYqQNPYjsyOErkPedsni+BQ8kFmfJlnr4sSb5DuTuvzMzsDGSm4KL/b+9sf5vmgQD+r/gb
IOH0ZSndJkAaowIkHqjWIoHQNHmJ20Zz4yh2tPW/f85O0jYtLUvT9WXcl03LkrPvlzu/585Ipek5
DQrC0w58g947/ZXaM7yZ/gieXanyLheRimcsamaX/DHztIXH2C14a87JhyuxnEwHe30YtVfR9W/u
mxoQhcoMRDAcbTxkXdBp2dSpJ2NV0rsXQXkgUNnDOLEUFGbHUw9QlKlJ6D0dqcWyhZD32YmLHSJz
jx6ZB8WDlIAJtUNuraPnlh7G2SWzN8fEDBsytC60LrQutC4chOEgDAdh2JBhQ4ZeiV6JXoleiV6J
XoleiV6JXoleibaGtoa29vxsDbnhiAOXGdEpseP8F6ZO+z1zVgLF00HY7zm0g0CAdoB2gHaAdoB2
gHaAdoB2gHbwLO3gETmWuzEfM53EnPDQN+H60jACJJtILU2zbpkKbERROmCBoObjQhWMI8FN8LyK
Sq2WXUXBte9Yaab51meLC3pNV40ozOkD7tMHFQ+KHnFWEd2sCDuDtN+MqCQyHzNxH/EdCL48IGZO
EYq33ysSnwuu+aWUdwEnlDClkjH8/8X89Rebcvbs4/NtUnqFJjoQ5kveQsv099Byy/L0KIh9k9BF
T2gm20QGejDpXYJZbBdkiAyR4fNl+Aa7k8UiSvQmSG+v9DzBWbx1el4sQbMsKrTiOnOpijt8BamZ
kyotYzbkCAgBPRGg9hZCvl9+/9bvfOvf9H91O08W831B1zTEe5aqi+pJxGeB3ttOWXI2uiXNQ/3T
4erdurMjCZH/2KY/nZ6n+6wL/yqEvZ/RPStNtxg/X5mMEdklsyywfncUeW+b9zrcJ439RYsYSLlJ
tAjFQ9+E87NRI6rodTnNnwKUCAiPJxvVZTp7sOt5YSLEkdWqXX2NdTyGUqovs4Zcm1gnZsEwEQx6
suJMqHVaGoUZTVM20OAXufA0HhDCQBgIA2EgDISBMBAGwkAYCANhIAyEgTAQBsJAGAgDYfyDMNw9
bgqAtI6Nkm3qVlbT4p9QPPfu7K4IjeHHJAVhktu5dfcQlTcXu/nmbVXlYzEw2z8XQlxlobTT7NaH
qPhcvkAQDrKt6IoExoFS5ryTDcXOHzwerUv49Bj1x0yA9ZhzYOlWGzE5OrOz1g75wPLr796aQt6f
A6UsIftXHg71yGEqUBW1CuV0E1xYoVSG3VgOAeHKI+Tu6bY2VX/e9Du9/s3nzsXHzlVjV5ur8CRl
UaRq9bpLzR2zzVK39GbpvLBVwFonB37mPk8QUPXsfau1P6dfTt8x77GbEplLGVV0HNsMmGNoA5mE
/p/ygTTPG9NGILQd/TXxWGICRfS+fOp3rv57TdQo0dpYti/vwyUJ7fPm1NXuWRxeky/gTeekBy/J
OMclgz6JBClJeGmDYAgG5JPfoyA0t/W+ZnfaG6/Xys9reBGZe2tNp+k0XPLyx20S6uQVGUv/RimR
X/8e8RDE1+rOmXN6Z8YytZZz4jRpI7EPuE6jTUzGSdJLRhLeAu0y7Y3mK0kpvBKVmByCUP8YGkMi
Ix5bt1d/qOpJvRzM/wFQSwMECgAAAAAARaUcQQAAAAAAAAAAAAAAACEAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbGF0Zm9ybS9VVAkAAyItPVBxLj1QdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAA
AKSlHEEAAAAAAAAAAAAAAAAqABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hy
b21pdW0vVVQJAAPULT1QcS49UHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAACXpRxBAAAAAAAAAAAA
AAAANgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0
aW5nL1VUCQADvS09UHEuPVB1eAsAAQToAwAABOgDAABQSwMECgAAAAAAl6UcQQAAAAAAAAAAAAAA
AD4AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGlu
Zy9wbHVnaW5zL1VUCQADvi09UHEuPVB1eAsAAQToAwAABOgDAABQSwMEFAACAAgAl6UcQVhUriTk
AAAALgsAAF0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21w
b3NpdGluZy9wbHVnaW5zL3dlYnBsdWdpbi1uby1hbHBoYS1leHBlY3RlZC5wbmdVVAkAA70tPVC9
LT1QdXgLAAEE6AMAAAToAwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GACioiKiKoDKc0S14iS
5IzU5Ozi0lyGtMRE47QUgzRTw+Q0Q9PU1CQTI4O0JDMzE0uDZLMU05RSPocMBgauA54ujiEVc97e
2ch5wICHwdE65f/UqZyXbPladof1nnJv/XZGh4HB6vp1bgaGP70HmBg6OHUYGmZgMG78NbuRPf9O
8x0d+XMMD6T1IhgYDBtZGQSERxmjjMHG2Pg71yDb7x0jw4fRhDrKGGWMMkYZo4xRxlCsytkb9nKv
N777ThrYAGbwdPVzWeeU0AQAUEsDBBQAAgAIAJelHEE4PpeEQAIAAKYFAABYABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvcGx1Z2lucy93ZWJw
bHVnaW4tYWxwaGEtZGlmZnMuaHRtbFVUCQADvS09UL0tPVB1eAsAAQToAwAABOgDAACdVEuL2zAQ
vvtXqLnYIYkd9rhxDEs20IWUFprLHmVr7AgU2ZXGebDkv3dk5+E8oKE6WMIz3zefRjMTf3v/OVt+
/pqz78sfi8SLV7hWbgMuaEOJCpJKccxLs46ylSnXsqZDua5KK1HqIqpUXUhtoy2k7XHEVbXioWOK
o5bBiy3uaQ8VT0F95aXG0RZkscLXtFTiEEet3YujY+S0FPvEe5d5DgZ0BiwF3AJoJte8APvKYs5W
BvJp7ybuSBAmrHTRS9wpjngSp4YYhdywTHFrpw3FEnaYxBH9vbfNSB+XGgwTHPmoojhydxeplyxK
LigFYRieiGxmZIWJF+S1zlCWOuizL4/R2nDDiEgRBMRHG6XWyKZsPGkcToiT14xyrADhzODWYPCA
Y3I2y5wFj4LE7KV/dnLLANZGX4BYFoWCBmGD/uW/BfzQCGbDVdD1GbKX8Xjcch68h/obx6A2qqu/
SS/dWcOWtQ6dYI0x5ELMN6BxIS0CvUHgOzZ/eJuXO6A1GTFTwIuhvWZrnzwUe33xrlJKJVKNhO7j
CgLcY02ZP99VkCGIVr/fxTSZvMMw/y3DmqsjYHLlnp1KLTRAfZbBbCWVCHiDaADDjk8ujcXGo3P7
AwNl4QkZN8qfEgJHzJNSujl2Fe8UUGhRZvWaVIR/ajD736CIs6SXDc+t6B9ZHOgc5J/Ic6N24Z3c
EcFVNV7kF4BviEamNXWY32lzetAB80ctiZsjXeqrbPw/+YnmRH/ouzagIXicHnHUjj+ahs04/gtQ
SwMEFAACAAgAl6UcQXOrWDBDAgAArwUAAFsAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9wbHVnaW5zL3dlYnBsdWdpbi1uby1hbHBoYS1kaWZm
cy5odG1sVVQJAAO9LT1QvS09UHV4CwABBOgDAAAE6AMAAJ1UTW/iMBC951d4uSQISFCPJUSqKNJW
YrUrbS89OvEkWDJ21p4AVcV/33HCRyhIW60PsZWZ9+Z5PDPpt+efi9e3X0v2/fXHKgvSNW6U34AL
2lCigqxWHEtjN0mxtmYjGzqYTW2cRKmrpFZNJbVLdpB3x4k2E67qNY89WZp0JEHq8J32WPEc1Edp
NE52IKs1PuZGiUOadPYgTY7BcyPes+BZliVY0AWwHHAHoJnc8ArcI0s5W1so54Pb0BNBsLjW1SDz
pzThWZpbIhVyywrFnZu3LK+wxyxN6O+tbUESudRgmeDIJzWFkvt7wQbZynBBuYjj+MTlCitrzIKo
bHSB0uhoyD4CRmvLLSMuRRAQL12gRiObs+msdTghTl4LSrYChDODX6PRHY7Z2SxLFt0LkrKH4dnJ
LwvYWH0BoqkqBS3CRcPLfwf4ohHslquo7zNmD9PptOM8BHf1t45RY1Vff5thurOGHescesFaY8yF
WG5B40o6BHqGKPRs4fhzXm6AzhbETAEvhu6anX12V+z1xftKKZVIZRL7j68J8I81Z+FyX0OBIDr9
YR/TZvIGw8KnAhuujoDZlXtxqrbYAjVcAYu1VCLiLaIFjHs+pbQOW4/e7Q8MlIMvyPik/EtC4Ij5
opR+jn3FewUUWpii2ZCK+E8D9v03KOI09LLxuRvDI4sHnYP8E3nu1T68lzsiuKrGi/wK8AnRyryh
Dgt7nU4POmLhpCPxo6RPfZWN/yc/0ZzoD0PfBjQKj9MjTbohSDOxnct/AVBLAwQUAAIACACXpRxB
awxRM5AAAACkDAAAWQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVt
L2NvbXBvc2l0aW5nL3BsdWdpbnMvd2VicGx1Z2luLW5vLWFscGhhLWRpZmYucG5nVVQJAAO9LT1Q
vS09UHV4CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgA4rMKmsqYGDgyfZ0
cQypmPP2uiEjgwLPgQ2N9ecfLJJR4fpVNnemMVBZ418rIPmjnZGRgcGIjYWB4YSEAAODQrIDA0ND
z6jgqOCo4KjgqOCo4KjgqOCo4KjgqOCoIHbBmHxxtnWz9DNigR0KBk9XP5d1TglNAFBLAwQUAAIA
CACXpRxBHS3DIo8AAAD5BQAAWAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2No
cm9taXVtL2NvbXBvc2l0aW5nL3BsdWdpbnMvd2VicGx1Z2luLWFscGhhLWFjdHVhbC5wbmdVVAkA
A70tPVC9LT1QdXgLAAEE6AMAAAToAwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GACioiKiKoD
Kc0S14iS5IzU5Ozi0lwGM6M0Q+MkSwtzc8tUU3ODlDRz47RU82QLy7QkUzMTI4N7Gh91GRhYuz1d
HEMq5rw9yMgLNOLQgu/+uXzmCxhGwSgYBaNgFNALNIQz/5nMwOidpsMH4nq6+rmsc0poAgBQSwME
FAACAAgAl6UcQR0twyKPAAAA+QUAAFsAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9jb21wb3NpdGluZy9wbHVnaW5zL3dlYnBsdWdpbi1uby1hbHBoYS1hY3R1YWwu
cG5nVVQJAAO9LT1QvS09UHV4CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBg
AoqIioiqAynNEteIkuSM1OTs4tJcBjOjNEPjJEsLc3PLVFNzg5Q0c+O0VPNkC8u0JFMzEyODexof
dRkYWLs9XRxDKua8PcjICzTi0ILv/rl85gsYRsEoGAWjYBTQCzSEM/+ZzMDonabDB+J6uvq5rHNK
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
cE3nhNcK0QhJ34AZaXhiTNt3/J8Tw4UMehjd7wW96/ux9mSdlfaH5dOHJsPgWyux1PfVb2nFOhYI
1mPAP9BaG+PgjoE0MQ8BTsPW2hI1C0wuwAChE2gLM/xlHJA1JKCooRlXGOsgD0zImYNHTE2gUJuS
jwm369IwYfVtZvTOeEoTAU2q2+js8q4aqSfmydeR8BeMEc/PLd1ck3jlZ8+s0XToRlvrVfMtjOUi
T+xUwce6zrRaaWN/XoK2cjAzCjntelDBjJpClMjpb65gQsJia21E+lJMyFqCCXdpZrTtEA7yF1sB
SqjpcwfyrHkZJqgT8dfIAP4aicfZ+uVrZCP6UrKrTeBAee1r9bNfGz3ho71j98daswDSLxT9jxvb
G+ON8cZ4Y/wfjecRKz04l2fMDH4f/Z2E6MjFC4/Nlxf9HVBLAwQUAAIACACXpRxBHS3DIo8AAAD5
BQAAXQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0
aW5nL3BsdWdpbnMvd2VicGx1Z2luLXJlZmxlY3Rpb24tYWN0dWFsLnBuZ1VUCQADvi09UL4tPVB1
eAsAAQToAwAABOgDAADrDPBz5+WS4mJgYOD19HAJYmBgVmBgYIrgYAKKiIqIqgMpzRLXiJLkjNTk
7OLSXAYzozRD4yRLC3Nzy1RTc4OUNHPjtFTzZAvLtCRTMxMjg3saH3UZGFi7PV0cQyrmvD3IyAs0
4tCC7/65fOYLGEbBKBgFo2AU0As0hDP/mczA6J2mwwfierr6uaxzSmgCAFBLAwQUAAIACACXpRxB
awxRM5AAAACkDAAAWwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVt
L2NvbXBvc2l0aW5nL3BsdWdpbnMvd2VicGx1Z2luLXJlZmxlY3Rpb24tZGlmZi5wbmdVVAkAA74t
PVC+LT1QdXgLAAEE6AMAAAToAwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GADiswqaypgYODJ
9nRxDKmY8/a6ISODAs+BDY315x8sklHh+lU2d6YxUFnjXysg+aOdkZGBwYiNhYHhhIQAA4NCsgMD
Q0PPqOCo4KjgqOCo4KjgqOCo4KjgqOCo4KggdsGYfHG2dbP0M2KBHQoGT1c/l3VOCU0AUEsDBBQA
AgAIAJelHEG74kExQgIAALUFAABdABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
Y2hyb21pdW0vY29tcG9zaXRpbmcvcGx1Z2lucy93ZWJwbHVnaW4tcmVmbGVjdGlvbi1kaWZmcy5o
dG1sVVQJAAO+LT1Qvi09UHV4CwABBOgDAAAE6AMAAJ1UTY+bMBC98yvcXCBKAtEeNwRplY3UlVK1
UnPZo8EDseQYag/50Cr/vWPIB9kgdVUfsMXMe/M845n42+vPxfr915J9X/9YJV68wa1yG3BBG0pU
kFSKY16abZRtTLmVNR3KbVVaiVIXUaXqQmob7SFtjxMDuYIMZalDRxdHLY0XWzzSHiqegvrIS42T
Pchig89pqcQpjlq7F0fn8Gkpjon3KvMcDOgMWAq4B9BMbnkB9pnFnG0o2nzQF3wiCBhWuhgk7hRH
PIlTQ7RC7limuLXzhmcNB0ziiP4+2hYkkksNhgmOfFIRuzz0hxskq5ILykgYhhc2mxlZYeIFea0b
p2DIPjxGa8cNIzZFEBBvbahaI5uz6axxuCAuXgtKuQKEK4Nbo1EPx+xqljkL+oLE7Gl4dXLLANZG
34BYFoWCBmGD4e2/BXzTCGbHVdD1GbOn6XTacp68Xv2NY1Ab1dXf5JjurGHPWodOsMYYciGWO9C4
khaBChH4js0ff87LA9CajJgp4M3QXrO1z3rF3l+8q5RSifRQQvdxrwJcsebMXx4qqj+IVr/fxTSZ
fMAw/yXDmqszYHbnnl3eW2iA2i6DxUYqEfAG0QDGHZ9cGouNR+f2JwbKwhdkfFL+JSFwxnxRSjfH
7sU7BRRalFm9JRXhnxrM8Te4DiqpsuG1H/0ziwNdg/wTee3WLryTOyK4e403+QXgC6KRaU0d5nd6
nQo6Yv6kJXHDpEt9l43/J7/QXOhPQ9cGNA7P0yOO2kFIc7GZzn8BUEsDBBQAAgAIAJelHEFrDFEz
kAAAAKQMAABWABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29t
cG9zaXRpbmcvcGx1Z2lucy93ZWJwbHVnaW4tYWxwaGEtZGlmZi5wbmdVVAkAA70tPVC9LT1QdXgL
AAEE6AMAAAToAwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GADiswqaypgYODJ9nRxDKmY8/a6
ISODAs+BDY315x8sklHh+lU2d6YxUFnjXysg+aOdkZGBwYiNhYHhhIQAA4NCsgMDQ0PPqOCo4Kjg
qOCo4KjgqOCo4KjgqOCo4KggdsGYfHG2dbP0M2KBHQoGT1c/l3VOCU0AUEsDBBQAAgAIAJelHEEV
UpWcGQEAAD8LAABaABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0v
Y29tcG9zaXRpbmcvcGx1Z2lucy93ZWJwbHVnaW4tYWxwaGEtZXhwZWN0ZWQucG5nVVQJAAO9LT1Q
vS09UHV4CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgAoqIioiqAynNEteI
kuSM1OTs4tJcBjMj81TD1FQDU3NDA5MUY6NEU7NEU8PktFQL48TkNMs0922rnBgYuC56ujiGVMx5
e2Mj72EHHpaD0x9GhU6ZtVS7YNsF5ks+p54cYu2fGcnAUGK3m52Bwab3ABNDB6cOQ8MMDMaN7/cf
Rl2fa31i7us7towMcafYuRkU1DYwMCQxjTJGGYONUXbmzDteBob+R82sDALCEQwMho1Qxsb3+w9v
XWddPsH6+s5qJoY9U/jFGBx8EhgZjrCMMkYZg43xZsbMu9IMDHJHR8vbUcYoY5Qxwhn2D7MFV8qy
sTACW8QMnq5+LuucEpoAUEsDBAoAAAAAAJelHEEAAAAAAAAAAAAAAAA+ABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9VVAkAA70t
PVBxLj1QdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAJalHEH/m59QLjsAAExFAABqABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9i
YWNrZ3JvdW5kLWZpbHRlci1ibHVyLW9mZi1heGlzLWV4cGVjdGVkLnBuZ1VUCQADvC09ULwtPVB1
eAsAAQToAwAABOgDAADtvGdUU1HXLRxUBEFAQHpHihKkSZGuIh1UWmgGAgEBaSq9I4iINOlIVWkC
AUKX3qT33osUEQggvcPdx+f9vt93jPvn3jEefqDC2cnaa80511zn7Bj07IkiCRE9EQwGI1FWeqwJ
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
kuJiYGDg9fRwCWJgYFZgYGCK4GACioiKiKoDKc0S14iS5IzU5Ozi0lwGM6M0Q+MkSwtzc8tUU3OD
lDRz47RU82QLy7QkUzMTI4N7Gh91GRhYuz1dHEMq5rw9yMgLNOLQgu/+uXzmCxhGwSgYBaNgFNAL
NIQz/5nMwOidpsMH4nq6+rmsc0poAgBQSwMEFAACAAgAl6UcQR0twyKPAAAA+QUAAGcAHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maWx0ZXJz
L2JhY2tncm91bmQtZmlsdGVyLWJsdXItb3V0c2V0cy1hY3R1YWwucG5nVVQJAAO9LT1QvS09UHV4
CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgAoqIioiqAynNEteIkuSM1OTs
4tJcBjOjNEPjJEsLc3PLVFNzg5Q0c+O0VPNkC8u0JFMzEyODexofdRkYWLs9XRxDKua8PcjICzTi
0ILv/rl85gsYRsEoGAWjYBTQCzSEM/+ZzMDonabDB+J6uvq5rHNKaAIAUEsDBBQAAgAIAJelHEEE
q5huRgIAALsFAABfABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0v
Y29tcG9zaXRpbmcvZmlsdGVycy9iYWNrZ3JvdW5kLWZpbHRlci1ibHVyLWRpZmZzLmh0bWxVVAkA
A70tPVC9LT1QdXgLAAEE6AMAAAToAwAAnVTBbtswDL37K7Re7CCNHfTYOAaKtMAKdNiA9dKjbNGO
MEXyJDpJUeTfR9mx47QZVkwHyxD5Hh8pkemX+++r55cfD+zr87enLEjXuFF+Ay5oQ4kKslpxLI3d
JMXamo1s6MdsauMkSl0lpVQI1iU5L35V1jRazLqjWa4aG3vCNOmIgtThK+2x4jmot9JonO1AVmu8
zY0ShzTp7EGaHAXkRrxmwb0sS7CgC2A54A5AM7nhFbhblnK2tlAury6HnwmCxrWurjL/lyY8S3NL
xEJuWaG4c8uW6Rn2mKUJnX60rUgmlxosExz5rKZwcv+3gFfZk+GC6hLHcc/nCitrzIKobHSB0uho
wt4CRmvLLSM+RRAQj12wRiNbsvmidegRvdeKCq8AYWDwazq9wLEYzLJk0aUgKbuZDE5+WcDG6hMQ
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
XcfbIuKDHB9eXI8MHX4+Bml5qSI+3xVCwkQYloIjMKfLPNvlmMOhoJku4riWWsZNQxZV2sywJg3h
eDVXoDImY6rQcbxY3P2x9rwMCvbLPK1kt+pNNK0lfAOwIIDKFz8WfDg5jqDw3yqBwT2wKgbAAXAA
HAAHwHcMdo9yz79uPbZmSTTiEDFHry0NEyz/AVBLAwQUAAIACACXpRxBBznwCNcAAADNDAAAZQAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2Zp
bHRlcnMvYmFja2dyb3VuZC1maWx0ZXItYmx1ci1vdXRzZXRzLWRpZmYucG5nVVQJAAO9LT1QvS09
UHV4CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgA4rMKmsqYGDgmeLp4hhS
MeftrYO8TI48LI76u/YITtSX/LBYvDBU8Mxl3cq3M22BqhuPv2RkYDhQyyHAwKCg7MDA0NDDABQw
YmJhYDgxKohNsHiuXECU8frL0g+uv535/CUvw4H/u0IbzliseyA8kY+hZra4zmiojQqOCo4KIgle
f8m41fSz1V4g+13W25m1VUBFBfxxG0YDZ1RwVHBUcFRwVHDYC+YveMxr/FXn/hFgx4PB09XPZZ1T
QhMAUEsDBBQAAgAIAJelHEHqc3lsJgcAAPYQAABpABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
cGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9iYWNrZ3JvdW5kLWZpbHRlci1i
bHVyLW91dHNldHMtZXhwZWN0ZWQucG5nVVQJAAO9LT1QvS09UHV4CwABBOgDAAAE6AMAAO1Ve1ST
5x1+ARmI3DrrpVDB2U3lCEYBkTAuIlgmMGBYaUgKCWXZgBACSCbkBjhHqEw5PUVSC4jIQqpJSEQJ
E8jlSGsKUSgggRIBMaNBYkgEcuMjsE89/Xv9dxvv+c553/N9z+/y/d7zPM9nKUlxbi5eLgAAt9O/
i00FwGEvAPYoZ3v4zY53dxyAN7+SU6iS7Bx8NuEcmQiCkCFBx/GhgUFBx4/+6dix4MCskMAs/LHQ
4OPIo/hjQUHb2m48AsCz+nRs9EeljbqpjCve/deqhqu/S6xHLS25liJH7zZVisNroqzbz33+7tlU
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
Xy/s+/uPtzzIZjhXfgMuaEOJCvKF4lgZO0/LmTVz2dCPmS+Mkyh1nVZSIViXFrz8U1vTaBF3R3Gh
Ghubqor5WrrEM2dpxxhkDje0J4oXoD4rozFegaxn+FgYJbZZ2tmDLN0pKYzY5MGzrCqwoEtgBeAK
QDM55zW4R5ZxNrNQTe6u6IgFcSQLXd/l/i9LeZ4VliIIuWSl4s5NWsp3WGOepXR6bpuSXi41WCY4
8nhBceX6auS7/M1wQSVLkmRP7EorF5gHUdXoEqXR0YB9BozWkltGxIogIF67qI1GNmGjceuwR+y9
pnQnChAODH4Nhxc4xgezrFh0KUjGHgYHJ78sYGP1EYimrhW0CBcNjucO8FVT5kuuor7PPXsYjUYd
5za4qL91jBqr+vrbclPOGlasc+gFa40JF+JlCRrfpEOgO4lCzxbef63LGdDZkpgp4NHQpdnZxxfF
nibeV0qlRHozif/4BwL+siYsfFkvoEQQnf6wj2kreYZh4VOJDVc7wPjEvdw/vcQC9WUJ05lUIuIt
ogXc93wqaR22Hr3stwyUgxtkfFF+kxDYYW6U0q+xf/FeAYUWpmzmpCL524Dd/AZFnIZuNjm0Zrhj
8aBDkKvIQ+P24b3aEcHJazzKrwGfEK0sGuqwsNf2dKFDFsYdiZ8rfeqTavw/+Z5mT78d+DagIbmb
HlnajUealu34/gdQSwMEFAACAAgAlqUcQR0twyKPAAAA+QUAAGgAHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maWx0ZXJzL2JhY2tncm91bmQt
ZmlsdGVyLWJsdXItb2ZmLWF4aXMtYWN0dWFsLnBuZ1VUCQADvC09ULwtPVB1eAsAAQToAwAABOgD
AADrDPBz5+WS4mJgYOD19HAJYmBgVmBgYIrgYAKKiIqIqgMpzRLXiJLkjNTk7OLSXAYzozRD4yRL
C3Nzy1RTc4OUNHPjtFTzZAvLtCRTMxMjg3saH3UZGFi7PV0cQyrmvD3IyAs04tCC7/65fOYLGEbB
KBgFo2AU0As0hDP/mczA6J2mwwfierr6uaxzSmgCAFBLAwQUAAIACACXpRxBb8IzpEwCAADTBQAA
ZwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5n
L2ZpbHRlcnMvYmFja2dyb3VuZC1maWx0ZXItYmx1ci1vdXRzZXRzLWRpZmZzLmh0bWxVVAkAA70t
PVC9LT1QdXgLAAEE6AMAAAToAwAAnVRNb9swDL37V2i92EFiO+ixcQwUaYAV6LABy2VH2aIdYYqU
SXSaoMh/H2Xnw2mDNZgOliHyPT5SIrMvT99ni18/5uzr4ttLHmRLXCm/ARe0oUQF+VpxrIxdpeXS
mpVs6Mes1sZJlLpOK6kQrEsLXv6urWm0iLujuFCNjU2DDtAlnjhLO8Igc7ijPVG8APVWGY3xK8h6
iQ+FUWKfpZ09yNKDkMKIXR48yaoCC7oEVgC+AmgmV7wG98AyzpYWqundv2XEgiiSta7vcv+XpTzP
CksBhNywUnHnpi3jAraYZymdfrTNSC6XGiwTHHm8prBy+1ngu/zFcEH1SpLkyOtKK9eYB1HV6BKl
0dGAvQWM1oZbRryKICCeu6CNRjZl40nrcEQcvWZ0IQoQTgx+DYdXOCYns6xYdC1Ixu4HJye/LGBj
9RmIpq4VtAgXDc7nlOezpsQ3XEV9nxG7H4/HHec+uKq/dYwaq/r622pTzhpeWefQC9YaEy7EfAMa
X6RDoCuJQs8Wjt7X5QPQ2ZKYKeDZ0KXZ2SdXxV4m3ldKpUR6Mon/+PcB/rKmLJxv11AiiE5/2Me0
lfyAYeFjiQ1XB8Dkwr08vrzEAjVlCbOlVCLiLaIFjHo+lbQOW49e9nsGysENMt4pv0kIHDA3SunX
2L94r4BCC1M2K1KR/GnA7n6CIk5DN5ucOjM8sHjQKcinyFPf9uG92hHBxWs8y68BHxGtLBrqsLDX
9XShQxbGHYkfK33qi2r8P/mR5ki/H/g2oBF5mB5Z2g1HmpXt7P4LUEsDBBQAAgAIAJelHEGxx7tt
4QQAAMAOAABhABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29t
cG9zaXRpbmcvZmlsdGVycy9iYWNrZ3JvdW5kLWZpbHRlci1ibHVyLWV4cGVjdGVkLnBuZ1VUCQAD
vS09UL0tPVB1eAsAAQToAwAABOgDAADtl21M00ccx48qPvLg5pTCCNUsOk0cVEUrPkB0MKeZOMTI
HyLFwlpHq5QCpaUoBWOKzodmC1K1hRqXWZNi/U+t7SjQ4j/QxNoS6WiFrpVSCyLaFjootdDu76sl
e7l3y/rm7nN3yX0vl8vnl7v4bfb+6GUJywAA0Qe+zjwCwII1AGCgJRh0ZtUnqz5Hu41VWVBVyffk
Elol8zTYkkbagd9OoJSQKXhy2jbS1pLvtm5PpZCKScWUbWizeaRJAUDMkQOZe4+yRe+s3WWfmuPr
n8f/lGRqOtp9Lm7RVJA/kBW36MGS8wkPrlG/qWi/1XZnb47mqeSHzQY7+MPWE/mnXc26y8hvjgD1
hjfyOAA8P38EAbC5IRKsWPkfhV/1tJRhNcQjx3edvYWvC1xGZodoEcNaVnUD8/jVw/xnI/zag9IB
JYdDrM0Bc8OGDXAzKS1Zi0zCGa4xpCPD5dPOP9iEuZRRnNjLSCRI9RT5DZORIs+/b5IyyE2RGl2a
RFPQjEx6ytnKECdEDlaEpoOkEFyUurrPB+U5KKpBl+1t8p1LVqG1+sVVKSMxcjVIcR7HTKR2DeF8
viI3nds57wwKLAGLyl+W/qzRCaN5Y1gtY49MMl21rdD6tszmtsUicJJZqn3SD4GOC95lbX4894Z6
bsopUHPfB7QqvkJts3E7X+Jm+GabvVYke0Q3CdFIvUUoHhXzyC9kCst09cOhtkWS86CjqXJpGwlb
t6v7Pds3SVdwA35dnxiX3tc4uHFtX/lOnMhkdM5MIT2NJKzsjpRFfznPDJgdFWfeDUR4Ptsl0OzU
381mwa5RlaWIzg3OedF8cVK6PuCfvLJvNklCWCzRV3V2JjXbrRYWy2tF7Pby3dcvYjy3DetgHglq
1tIgL6kLva6a4Ny4WByc9MQ29Hh3R5rgKLNlInDfJ1Hk8nXP76UD4u/xkabymyVf6Eg1c7/w/Pi+
gJ8UWgOzebknohE8fTS3oIV4HRYAdunJlZDO6KtIIM+7Jvf/6Ga2I0Gc6rWCKY9yKRd49hnWw0Gh
MeuGZEwuQMR8/QKN1JPxJQDFmOVgzXo4DGEIw78GoZmoCW2JcRi9QzR7nzYYMSwXHTpx5fBLxw7U
edOWk1geGSJW1swtvYK4Cf07gusfZ8aBlNFTGBqWR2fKk8zCAUrBYSPn5nYjPkrr3ADPEiUadFCa
cvqYcFoZ5Pdi6gWMrxqYCcdb+qk+CiutkBhycrCNNRnLN7XaN8IyhVlgdLr0rqZ8SY6Jdj+mHjf4
20LT+O1nHLlNpsgzDqAujBXgeAxlnbI11vvB6m5mwoXsifGKWr99BEGXpeNUlU2WR4t7CNg5Yx9D
CF7Um6ciqIQKQkbhfGoUolK4XWqbOzZAXgGdUeRmnTaFbEcJdHo1vVqy9u9QR6mB03492VbUgeu1
U9vbhe5R5AwUo7stY181Xusq3VN4KA/d1afyxRl7HrUeczxduLxeUElsYN5ErQYXosJ1WpEgSf22
JXbqlCT3iV45WPYYPcil8ZHSc+tgwE5z+KMa/1mq9jN7cNMvIKl+fP6invqQeO9DqXlzGTPxSpko
biXPzjSMJajP1vl0VOCpMCSjKmZ39Cffe72b3Ny9CoQWj2HRksmlGg6GX3UYwhCGMPzfYSYlOj7Q
InolGka/pOBAVnambN+Jc38BUEsDBAoAAAAAAKSlHEEAAAAAAAAAAAAAAAAyABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9VVAkAA9QtPVBxLj1QdXgL
AAEE6AMAAAToAwAAUEsDBAoAAAAAAKSlHEEAAAAAAAAAAAAAAAA2ABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvVVQJAAPULT1QcS49UHV4CwAB
BOgDAAAE6AMAAFBLAwQKAAAAAACkpRxBAAAAAAAAAAAAAAAAOwAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvVVQJAAPULT1QcS49UHV4
CwABBOgDAAAE6AMAAFBLAwQKAAAAAACkpRxBAAAAAAAAAAAAAAAAQgAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL1VUCQAD
1C09UHEuPVB1eAsAAQToAwAABOgDAABQSwMECgAAAAAAp6UcQQAAAAAAAAAAAAAAAEgAHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2Nh
bnZhcy93ZWJnbC9VVAkAA9otPVBxLj1QdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAKalHEEtmmkr
2AAAABwCAABoABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmly
dHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQtZGlmZi50
eHRVVAkAA9gtPVDYLT1QdXgLAAEE6AMAAAToAwAAtY+xTsMwEIZ3P4V34x5CIKZKQShMVERKXuBw
LqklJ7F855K+PS1RyYKgC8tN3/f9OmutBhkiBDxOWawQi03EOQhDDCjdlAZw+zQNPg9w8EkyBuhj
hg5ZwOF4QIYPeu8D8B5bSjYmcp79NNqzjGJpjuSE2o3MopUx5v8n0Z2lZbAotH24vbnX5nQfdVEo
XT3VtV7c6qK+fJmbhGNPOz/q7fZn4m5FPGtJma7o4fxn74Rc0/t+9ZfgylyKZilm54i5yyEcK0xM
7TqpTFPWjX5+21WvZVMqoz4BUEsDBBQAAgAIAKelHEGcyo1sigAAAJMAAABwABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMv
d2ViZ2wvdW5pZm9ybS1hcnJheS1sZW5ndGgtb3ZlcmZsb3ctc3RkZXJyLnR4dFVUCQAD2i09UNot
PVB1eAsAAQToAwAABOgDAAAlx0ELgjAYgOF7v+I71kWmM8vdRCw6NGMEHSJkbp86mDO2dejfJ3R5
ed5nRsuCsn/zsjzQIyEkL1LKGiFawUaLIevUrDuNatHoE6W2+5TS3QtujTi14lrxuoFHJfiFnxlU
MXrTfyICARNAmyB7izqB+7TuJAMEM7rBKOkivNEPi5+lU7jaSRu/mx9QSwMEFAACAAgApqUcQR8Z
Y3n7AQAADgwAAGwAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92
aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC1leHBl
Y3RlZC50eHRVVAkAA9gtPVDYLT1QdXgLAAEE6AMAAAToAwAAvZZRa+JAEMff+ykGn65QpC1F5MCD
cEYNJCqa1nuTNY5J7tZd2d3U+u1vktbzhMTL9jAvIZCZ+f/2v7szWeBq6INO2BoV7BRGqU6lgI1U
W2bAoDbtm5uJAJ1FEWp9BweZwT7lHDQiMHqqFDXIDbSmznzegi1FsRgpciM5l3tcw+oArdCdh/B9
Ekx9N3RbVDOk0hpMQiqLnGFeIEyPBIN3gIgzrYGJNcRoykP2Uv2iekXB93qVoQpNpgTVuyQpVz8x
yledrwdi3q4q94W+vbiz0P2xnI+cvju7y6P9yWI58CdOeAup0IaJCMmcC3opuaAy/KRc4Pa956BJ
xZE3HDWplxvqjZu1szG9wswrqQ1mzjBwx2Fjp7NM8Nrns0zzuie0ytYGd/G6p7TS0k/o1enKJlFy
nzd5QKWkouliEpJ5ZTxdw44ptkWDStfsyEfSAvvswt0SgkDFDI0kfNtRk6cXGn6F6lfwxi+O7/WX
7vg5aP8NfmGZxJjR9GMKaRAKna44HjF1WUJbMRFjkAr41oOH8125lMDeaiecZjhldOtLfDA9WUM9
WVM93NtidR5tseplnGN1bLG6tlRdO6heD6ytsjH3YwfvG6DqWFN1/oPK5mfQJHR5qcfQSypiwFdU
B4gY5zVvMgmXRjyeQmyW/q9yFGLrS0W9U8wf234DUEsDBBQAAgAIAKWlHEFmgF6RqAAAAN8CAABv
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUv
ZmFzdC9jYW52YXMvd2ViZ2wvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1zdGRlcnIudHh0
VVQJAAPVLT1Q1S09UHV4CwABBOgDAAAE6AMAAM3Ouw6CMBQG4N2nOKMuBFqgtBsxaBwE05g4GENK
W6AJF9PWwbeXxNVdlv+yfXeEaYrZN2NKCSZxRtOUYFZwXnHWDdqhWo6qVlrOSttAym0SYbx7wKXg
h4qf83JfwC3n5ak8Msi9t6Z5eQ0hGAfKONEMWgVw7ZfbCwfOdFNrpJg8PLVtZzuKSeplT2Lw7839
B4lG4VLrIqGIopWRMI4Sui5SHBOU/Y30AVBLAwQUAAIACACmpRxBbhhxMd8AAADAAQAAXwAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3Qv
Y2FudmFzL3dlYmdsL3Byb2dyYW0tdGVzdC1zdGRlcnIudHh0VVQJAAPXLT1Q1y09UHV4CwABBOgD
AAAE6AMAAMWOQUvEMBSE7/6Kd9RL6TZrY3Oray2F2JXguodFSpq8bQPZRJIo+u8t7lXBm5dhZmCY
71CQqiTsrOuqooSWFV1RkrNGiK1gk8VYDOqkB43KawyZUpfXK0KuXiDb49hygW6pjZs23iX8SAxa
Dt9jYC0fuv655t3dsOiuAQaTvTVO1ykFM3KvZDLeMejcu7RGg5plkCphuDj8SFbclOs/kD024n4r
Hup+08C+Fn3XtwzOn28JIQcTQZsoR4s6g6d5ibOMEM3kjkZJl+AVw9GHk3QKF++kTZ+/IJGcFv+G
9AVQSwMEFAACAAgApaUcQa7uftzrAAAAUAEAAGMAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxp
ZGF0aW9uLXN0ZGVyci50eHRVVAkAA9YtPVDWLT1QdXgLAAEE6AMAAAToAwAAjU89a8MwFNzzK97Y
LsYfcYK1icQ1BscuIjRDKEaWnx2BLQXpJW3/fd2Wbh26HHfHHdyd4yTbJOwH11m2TbabMA6jKGW5
EI1g44Q+btXctz0q26MLlHpIoyR5fIXnXDw14sDrXQ4nLuqyLhhwIqe7GyGEoD302stuwj6A42WR
F+nB69EMWklDcEU3WDdLo3DhRk70sTr/PWmdZv+YFJywKyqBZrG1GXfWEL4Tg6KC7zKwomrL+oVX
5b5tlgP8WDY1MBinvZNv+YQzGvIMJBHOVwKyIJVC78HeCOwATpoR4Y6O9GKDNl/R38erT1BLAwQU
AAIACACmpRxBdTYwi80HAADfGwAAcAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24t
Zm9ybWF0LXByZXR0eS1kaWZmLmh0bWxVVAkAA9gtPVDYLT1QdXgLAAEE6AMAAAToAwAA3Vlbb+M2
Fn7PrxASzAYoRpId29nYnnjR5oJ96LQDJO8DSqIsTihRS1KOPd3973t4kyVZsr3bFgtsBx1L5CF5
Lt/5zqHmUyZzurr4lGGUwI+QO4pXFwtKireP3mJDBJE48X678OA/ibfST3DMOJKEFQuvYAVe6qmI
8QRzP2JSsnzhjcutl8AzTpYX/7ow29lNYkYZX3hXo8lczwXPhOJHkqZ2PkLx25qzqkh8J5reqT/N
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
FAACAAgApKUcQXrlH1fdAAAATgcAAGwAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9y
bS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQt
b2YtYm91bmRzLXN0ZGVyci50eHRVVAkAA9QtPVDULT1QdXgLAAEE6AMAAAToAwAA1dK9asMwEADg
vU9xY7sE68dypc0kwRhMHERphxCMIl+NIZGKrLTN21dt1z5AxR033A98wx0ok4Kp38qlrFiKUhDG
1FbrXqvpjAsd7GUcRrR+xLCy9r5M84cjrF7w1HQaXWrPblp7F/EzKmg6+DkG1XRDu3uuu3Yz9Put
rp/afgcKpvMmmI86BHNbFJgY8fIWIXow1uKygL9G8K8QjJsQ3jHEObVhdt+rYT5dI0Jxd/iTXhFO
cqVXIlO6KAh9zJUuaKa/LkghqzzpKWWZKZ1zSnKlSyozpZeciH9P/wJQSwMEFAACAAgApKUcQaEw
5z+eAAAAMQEAAGIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92
aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmctc3RkZXJyLnR4dFVU
CQAD1C09UNQtPVB1eAsAAQToAwAABOgDAAC9jkELgjAYhu/9iu9YF0m3tO0mJUMYBYPqICE5P2Wg
G6wV/vykrp67PIcX3oenSghLCf+RMpaRjMZJSreMF0qdFe8HfCa1Htu6Re1a9JHW611MyOYO0Q0b
IRXaeTa2PzgbcAochITvGbiQdXm65rI81jMvBXDoB4Eh18G8MQ/Bm4aDmQUTuFcA14F/2B5X1WJX
RtP9H7ou1nTOj4thH1BLAwQUAAIACACmpRxBOWnGugwCAAA9DAAAagAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmds
L3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LWFjdHVhbC50eHRVVAkAA9gtPVDYLT1QdXgLAAEE6AMA
AAToAwAAvZZRa+JAEMff/RSDT1co0pYicuBBOKMGEhWT1nuTNY5J7taN7G5q/fY3iRUrJF62h3mR
gDPz/+1/d2d2gauRCypma5SwkxgmKkkFbFK5ZRo0Kt1ptaYCVBaGqNQ9HNIM9gnnoBCB0a9MUEG6
gfbM8v02bCmKRUiRm5TzdI9rWB2gHdh+AD+n3sy1A7tNNQMqrUDHpLLIGfwCYXYiGB4BQs6UAibW
EKEuD9mn8g/VKwoe61WGStSZFFTvmmS6+o1hvup8PRDxTlW5b/Tfqz0P7F9Lf2wN7Pl9Hu1OF8uh
O7WCO0iE0kyESOZc0UvIBZnhF+U8e+C8eE0qjp3RuEm93FBn0qydjekVZt5IbTi3Rp49CRo7nWWC
tz6fZZq3PaFVtja4i7c9pZWWfkGvTlfWsUz3eZMHlDKVNF10TDJvjCdr2DHJtqhRqpod+URaYF9c
uDtCECiZppGE7ztq8vRBw69Q/Q7O5NVyncHSnrx4nc/gV5ZJjBlNPyaRBqFQyYrjCVOVJXQkExF6
iYAffXi83JVrCey9dsJ5hlNGr77EB9OzMdSzMdXjgylW98kUq17GJVbXFKtnStUzg+r3wdgqE3M/
dvChAaquMVX3P6hMHoM6pstLPYY+EhEBvqE8QMg4r3mTSbg04ukcYrL0f5WjEFNfKuqdYy4LHl/6
m4zzw4xJRU3ybOvnV3yr9RdQSwMEFAACAAgApKUcQZoky2wTAQAAbQsAAG4AHAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93
ZWJnbC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUCQAD1C09UNQtPVB1
eAsAAQToAwAABOgDAADV1U1rhDAQBuB7f8Uc28sSnfiR3JauiCBrkdIeliJ+jCJoUmJs+/Nru/S2
5xIvOQwZeHgZZi4+ihDl9eVCRBhh7MfMYzIpy6KUw0SLX7VzV3XU6o7MoW3vAw/x4Q0Or9SkeUlq
K49qeNTK0peVkObw2wwyzavs/HLMs1NVPCXl8TkrziBhmE6m/kwmmknZRYKp1UCgVwu6h0avqlug
1waate/J3F1uI4UnnEeKgDmfJDJE95E+Rtx9ZOx7ziM3pftJ8j0kGSAPnUeG+L8rqLaW5ncLVkPd
trQsf+Cr/oOMHbcyjOrnqxmb1RKw23geB+6PAd8OUbzbhEUsor3iA8Yj3C9eCL5bvBcx51df4HOB
DiG/AVBLAwQUAAIACACnpRxBtaXQ6lEBAABhDQAAZwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3R5cGUtY29u
dmVyc2lvbi10ZXN0LXN0ZGVyci50eHRVVAkAA9otPVDaLT1QdXgLAAEE6AMAAAToAwAAzdZPS8Mw
FADwu5/iHfUy8q9J01uZtQzqJsW5w5DStVkX6FJpM5nf3uiuCjvpu4QkkPAjeXkvW8a15MmlFVor
rrSSkjCdZGW5KpOuNxOrmmNbtaYZWjPOmuY2opzfvcJTVj6sysd0Oc9gk5bLxTJPIPV+tLuTN0DA
TtDaqd71pp3B8yEMD/UEk+3c3ja18/Bmxv0wHmvXmNB3de8/brY/k4QS2EiSUmwkxeUVpNnG7PKi
NC5MW9fNB+fN2SeQF/C9GJK8qBbLl7RY3FehXWeQQNfnxqeNt+/mok/Ahg3OMJw8DHsYa9eZX1yK
Uf0HrrWzXwd1PUwJTTmuO1QR1wwbKWIRNpKMOMJIVyF1coyRHmuukIVVHBKDwEbSMbJ8oIkQMTZS
pAk2kiIYK5+mRGDMBzEhkuGK9EDSGhuJUmTfzkBiyB5fIAmCsBgHl9T//e38BFBLAwQUAAIACACm
pRxBZZOZH1sCAADdDAAAagAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9t
aXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0
LXdkaWZmLmh0bWxVVAkAA9gtPVDYLT1QdXgLAAEE6AMAAAToAwAAvVfva+JAEP3uXzF4cFyhxLYU
kTYKckYrGBVN2/smazL5cV0T2d3USrn//SYJkvZOPZPDfAkhO/Pe27e7M1ndR+Z0dKm2HDuagxze
YcnsF09EcejcwReXsXv4BRpznD+HmJsM6Y0sWW9kUGuBnWdcDkYgfeagAPpgBzKIQnAjsWIKFEql
1WqTEGRs2yjlJWyjGDYB5yARgdFTBCghcqE+7c7ndVhRFPOQIt2I82iDDiy3ULeMuQXfJ+Z0ZFhG
nTAtgpagfGJJNcxTCdOdgn4mwOZMSmChAx6q/SGbSLwQXgqY4R0MFahiERLeMcpo+RPtZNbJfMDj
2iG4bzT2ZMws48di/tDtGbPLJHo0eV70R5OudQFBKBULbSRzjvAF5IKIsSSdafSGj2aVjA/DwUOV
fImhw3G1dlbGl5p5Jrb+rDswjbFV2e7cR3ju/bmP87w79JCtFa7ieXfpQUtL8J1SlZUvok1S5AGF
iAR1F+UTzSvjgQNrJtgKFQp5YkXeKU1lfzpwFyQhRMEUtSR8W1ORpxdqfinrHQzHT93RsLcwxo+m
9lH4kWmSxpi6HxNIjTCUwZLjTqbcl6AJFnpoBiF89dR9G64/L8yxHPZWJCfv5FlS63SiXNxtGXW3
ZeRdX5XQ17wpoe+0pL/0NUvoa5WQ1yqmrt2GMs4VsTtf2atqtDXLaGv+h7Yif47Kp5NOBYlegtAD
fEWxBZtxfuKxJ+K9ETd5SJHZ/wuOQor6cgAvj9kB6nJNJTv9QW/TlaOTEWTXBDfmfDtlQlKFzW3+
eAWguwild2o1vZFcQ34DUEsDBBQAAgAIAKWlHEHUk0mIuwAAAPQCAAByABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2Vi
Z2wvaW5kZXgtdmFsaWRhdGlvbi1jb3BpZXMtaW5kaWNlcy1zdGRlcnIudHh0VVQJAAPWLT1Q1i09
UHV4CwABBOgDAAAE6AMAANWOzQqCQBSF9z3FXdZGymmcnF2UiCAaQ9QiQnS8iaAzMd5+Hr+/bQ9Q
mwPn4xz4Dj4LAyY/OQ9DwQQXfhCIQEZK5Uo2HQ5+ofu6qFHbGp2n9ZjPGJscwdtjFacKzRO3pllZ
Q3gnCXEK7zPIOC2SbLdMk3WRbyK13CZ5BhKabu3KW9Rhj4YGCSUR9mcCslBqjcMA9kJgT+BK0yBc
0VH7xNCa19S11YUQpqPDV3nBuPhb+QUX/H/lX+335R9QSwMEFAACAAgApaUcQb29qNywAAAAegEA
AH0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dw
dS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXZlcmlmaWVzLXRvby1tYW55LWlu
ZGljZXMtc3RkZXJyLnR4dFVUCQAD1i09UNYtPVB1eAsAAQToAwAABOgDAADVjsEKgkAURfd9xVvW
JrRJzdlJigiSMUQtJAYbXyLoTIzP6vOz2vYDbc7icC+ccsVCn/Ev12EYsMALmb9xPJ4IUQjedDis
pOprWaMyNdqlUnPPZWxxhuUJL2kuUE+61c3WaMIncUhz+JyBp7nMdscoz2JZ7BMRHbJiBxyaLrbV
I+mwR00Dh4oI+xsBGaiUwmEAMxKYK9hKNwh3tNROGlr9ntr2MhKCMyt/xk90/yD+BVBLAwQUAAIA
CACkpRxBNNaFwKsAAABiAgAAYgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2No
cm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2dldC1hY3RpdmUtdGVzdC1zdGRl
cnIudHh0VVQJAAPULT1Q1C09UHV4CwABBOgDAAAE6AMAAM3OQQuCMBwF8Huf4n+si9Smm+4mJSJI
gWAdJEbOvzLQDWyFHz+pa5cu1eUdHrzHryI0YlS80o8iTrlPGGMhEUlRHArR9XglUg2NbFDZBkdP
qWWwoXR1Bu+EdZoXaOZam25rjcPJCUhzeI5BpLnM9sc4z3ZyzjIBAV2foouV03csjW7tOAjQ88ME
9ubAtjBeTIeL6i2MB9FfwjjhIf0CLHZu1PUHLhqs2W9dD1BLAwQUAAIACAClpRxBBsQ/Y5YAAAAm
AQAAbwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwv
Z3B1L2Zhc3QvY2FudmFzL3dlYmdsL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLXRlc3Qtc3RkZXJy
LnR4dFVUCQAD1S09UNUtPVB1eAsAAQToAwAABOgDAADFjrEOgjAUAHe/4o26EGhRSjdi0DgIpjFx
MIaU9gFNoJi2Dv69JK7uLpe77e6E5jvKv0zzPKNZShMWk4yXQtSC9yN60qhJNxrVrNFFSq23CaWb
B1xKcajFuaj2JdwKUZ2qI4ciBGfaV0CIwXjQxst2RB3BdVhykB686W1nlLQBnui62U3SKlzcyjG8
V/dfSyRhjP1t6QNQSwMEFAACAAgApaUcQfBmkRJxAAAAeQAAAGgAHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9u
dWxsLW9iamVjdC1iZWhhdmlvdXItc3RkZXJyLnR4dFVUCQAD1i09UNYtPVB1eAsAAQToAwAABOgD
AACLNjK2NDO2gpAmlpbmxuZmRiYmlkaWVq5BQf5BVuk5qcVG8cm5KfEpqcn5KalFesnJGqaGxsaa
sQp64alJ7j5BqXlA4cy8dOf8vJLUihIrBXcfBbBmBSt3n3hPvzBHH0+XeP8A1yDHEE9/PwUrIOQC
AFBLAwQKAAAAAABFpRxBAAAAAAAAAAAAAAAALwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Bs
YXRmb3JtL2Nocm9taXVtL2h0dHAvVVQJAAMiLT1QcS49UHV4CwABBOgDAAAE6AMAAFBLAwQKAAAA
AABFpRxBAAAAAAAAAAAAAAAANQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2No
cm9taXVtL2h0dHAvdGVzdHMvVVQJAAMiLT1QcS49UHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAABF
pRxBAAAAAAAAAAAAAAAAPgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9t
aXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvVVQJAAMiLT1QcS49UHV4CwABBOgDAAAE6AMAAFBLAwQK
AAAAAABFpRxBAAAAAAAAAAAAAAAASwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L1VUCQADIi09UHEuPVB1
eAsAAQToAwAABOgDAABQSwMEFAACAAgARaUcQaWjzwhuAAAAcgAAAHsAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29u
dGVudC9pbnNlY3VyZS1pZnJhbWUtaW4tbWFpbi1mcmFtZS1hbGxvd2VkLXN0ZGVyci50eHRVVAkA
AyItPVAiLT1QdXgLAAEE6AMAAAToAwAAizYyNLU0tTIyNDM0sjKxtDQ3tDS1MDS1MLewcg0K8g+y
Sk4tKokvSy3KTKuMLyjKT47PKy7WS07WMDcx04xVcHYNCokP8PaMCAOrcAYqVkjLL1IwNDLXMwBC
Q4W0xMyc1BSF1KIiW10LQwtDLgBQSwMECgAAAAAAtqUcQQAAAAAAAAAAAAAAABwAHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9zdmcvVVQJAAP3LT1QcS49UHV4CwABBOgDAAAE6AMAAFBLAwQKAAAA
AAC2pRxBAAAAAAAAAAAAAAAAIgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3N2Zy9iYXRpay9V
VAkAA/ctPVBxLj1QdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAALalHEEAAAAAAAAAAAAAAAAnABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvc3ZnL2JhdGlrL3RleHQvVVQJAAP4LT1QcS49UHV4CwAB
BOgDAAAE6AMAAFBLAwQUAAIACAC2pRxBo9Qdc4dYAAD9YwAAPQAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3N2Zy9iYXRpay90ZXh0L3RleHRMYXlvdXQyLWFjdHVhbC5wbmdVVAkAA/gtPVD4LT1Q
dXgLAAEE6AMAAAToAwAA7bx3VFRb2yd4EBFREREBAYFrIUhGiZJBiyBIpshJckZyDhcVChAQyTmn
IucMIpKT5AxKTkXOcXbd9/u6v9XTvbpXz/Ssnllz/qGoOmHvZz/PL5y9zwmQl5XAv0N+B4Ig/LeS
cEUIwv4Lgm6o3b4BviF+RPwc/GFwEFNzMDA1MrCwd7SCjPS5X/C+MNA3fmVoaMTxntOA+yW7sZGx
0SteDi5OI96X7A+uGiHoL+gtXFTZJWFzxlVL+fDqZPe4ORYLy5a0l4uj87I2UzwrK1Od1UGpfgnR
zTxVkOdlU+UgsqHSVM8SFWlkvYaAk23QfY2KXfymERFAkVX9FBmY+9eL76eXtjuczT0ddnpqOv24
oa4ey/ZC3ecJzX/QKwm86TkocioqVsjnW7FGQdJ9LJElhDS80nJiMEuGQk7iBoRoi2LRDKHk5zb9
9Zcc7o2Ub+wBHT5Y2D9+/BCgxIOUyd6/f49CufHdgSKjo7OxQbdzrCWLwZ974r44EKT34iEz+Odj
mB4WBD3+cvMuBH3Xe6YGvrpF0wxi9eIxHgkE+TT/v+sQBH6gBS2l+UytY2EWvX0M7TLd48ROQ/PZ
+tMhOeHE2Ni13PEvfK/iua3I2Q2RKn0dHTECrnYNbofrw7kctvM/v3y5V+C187sZ7MBuyAf5ZH8F
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
Ho87zaP30H8LDBqjXP9taWnPGnasAzjJ2mDIhVhsQeNS1ghU/8C3av7wc13uiLXJSJkSXgPdNrv4
9KHZ2427TqmU9rBDO9nLAPawZsxf7CvIEETn33c5bSXvOMx/zbDh6kSY3sCz8zULDVSKZzBfSyUC
3jJawtDB5NLU2CKc3R8ZqBqesPHJ+VNG4MR50opbY3vjrQNKLcqs2ZCL8E8D5vATFGmWdLLh5Rn6
JxVLuiT5J/PySF26UzsSuLmNV/sF4CuikWlDL8x3njgd6ID5o07E9hBX+qYa/y9+ljnLH/v2GVDz
O3WPOOraHnXBttX+BVBLAwQKAAAAAACTpRxBAAAAAAAAAAAAAAAAIgAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2luc3BlY3Rvci9VVAkAA7YtPVBxLj1QdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAA
AJOlHEEAAAAAAAAAAAAAAAArABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaW5zcGVjdG9yL3By
b2ZpbGVyL1VUCQADti09UHEuPVB1eAsAAQToAwAABOgDAABQSwMEFAACAAgAk6UcQcFHkpaXBAAA
qqIAAFAAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9pbnNwZWN0b3IvcHJvZmlsZXIvd2ViZ2wt
cHJvZmlsZXItYXBpLWNoYW5nZXMtc3RkZXJyLnR4dFVUCQADti09ULYtPVB1eAsAAQToAwAABOgD
AADNnU1rI0cQhu/7K+aYQGS6q6q7qnRbksUsOJtgspvDEowtTxyBpFlGSkj+fVq7OYVArs/FBtsS
j9+prq+ubn2smdK3X75apqupRe9q2zf39z/cb18O81kedsfnh+d5tzzP681u91Wrql//Mt38PD/d
3t3Pp/Hj/enl2+V0mf+8bKfbu+nzi6ft7d3D23cfXt+9/e7hzbv330/b6eVwO18+zOv4y9eXy7p/
+nHZj5etf2ynT6fH4zz96yWvPv43YVShE3alEyadMKXQCa3RCd3ZhF5KoxNqpRM2/FMOuLfxWpJO
aHQ7rA7PHFwKXUPRTifsQieMgBNqxRMafS1rp3tsTXpuY0Jfy2b03MbwOXbDR70m9KjXGl5Dp2vY
8XbY8XbYG54w6FHPK90OHV8FOL3D6R70/DDw2Vc0+lqOoK/lxHubxHubxPccMuH1chS6t4liQSd0
OmGl76dE1UIn7J1OmPS1LDXphKZ0Qq90wqSvFMVHPW10O1R6jh1G370No09VhTW8hkHXsFW6P2xG
94cNn321hO/4RBd6TOmNXgV0+szSdayKToiPet7puY3Tp1muJT2dsNGjXjg9+0p8ZykFryF9UjeS
XutlKU4npO+nZKHvp2QJ+lOu9KiXVfEa0jucKYW+UoQe9VLoUS8l6B5b8d5G6edTUunnU9JKoRMK
XsOGJwx6TGn0zlI2fG7TOt0OG31CMnttdEKje+zudG/Tk26H+HnsdHxF7/iKPirdYwf9xokMfEWf
+Bx7FMx0QqN77PEdTTissOAJ8RpW+F7AIFShE7agEwbdDqXQNRTFa9jxhEF/yvQu8SBUvIad7rE1
6FHPKl1DF7odRul0Qng1eh0ioPvDUTHDCVPoGiY+g034nRhZC/wEzSCEzxIPwu50wqTbYRX6U67w
m6AGodOfssB7sINQ8Boa3WOL0wm10L2NCl7DhtcQb4eGt0PD26HRq4Bq9D52pc99DUKjZw6t4zVM
uh3Szy8PQnz21R2vIb33VR1+H+wghJ9sHYRBz23onyc1CI2+lgMf9SLpdojvtNfEe5uE39CYUuAn
Cq9HHp1O2PAa0nsOUuk9B6mKJ+yFTkjfeRSB3489COGnPwZhx2uYdEL6Z3INQnoVMBYKXkN670tM
6CuFflPoIMRHvVbpmUMzvIaO15A+byNd8ISNnn31oBM6Psd2o1f03ulRz+kdTgml22HQpwgk6Psp
kvRTmZL0U5lCvyl0ENIrKS3wz6AZhNbphPQcWws96il+pl0rPcdW/BlwxZ8BV6FHPZWG15CefanC
70wbhPRaT5V+kkuVvp+iVukamuE17PS1bEnPsRu956CNXutpC7rH7vioR78pdBA6/iknfaU4fYZT
3eg5tjs9x8bfzaL4iXHFT4xr4DucSZ9Z0jT6Wk66HVqh35ZghT5FYIV+Xs+K4zWk13pW4Z/2Pgjx
dlj/75ZLq4Pwp2WZjo+nv65I87ou6/mb6bRcpnX+tKyXwTxdf3lc1nn6dVmny2/787T78m/cTL+f
52mzed6fH58O8+blsPn8DpvD/ri/TJdlOs/z9Hg4/PPGN6/+BlBLAwQUAAIACAAmpRxBlqeHnQgB
AACPAgAAQwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3B5d2Vic29ja2V0LndzLmxvZy0yOEF1
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
kh5fM6/sPlteb5pqRSfKxulZ3N0jWR54iurPtqJ2kNXZsTehTHvf3m59fhZQYw++1RFsV2Z+cION
ZERRA47W8yMmUvUOf3ej5ByjBms7Nt6YsF1ptX37tluNnW9OXuscYwvKPrquXPe813MERLEZ8szG
PUvkzt+jPW5LD3eOnvR67NXJ6d8O2d08SulM8VqQgp6K638qeGAN5eycdGE1hxjLwzD6DqiAW9JV
WlRJf4v+zjm/95thEM4y5iIMP/OXcXlEm9S2XHeA2s/JdfnQZ70eYMXRY0U+Pm5B1WyVg+DZq9Yh
x4tSLcpxUI6JLEXsjlvmTg/rUa7Onf8FUEsDBAoAAAAAAKalHEEAAAAAAAAAAAAAAAAgABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvcGx1Z2lucy9VVAkAA9gtPVBxLj1QdXgLAAEE6AMAAAToAwAA
UEsDBBQAAgAIAKalHEEoY26V7wAAAFkBAABEABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGx1
Z2lucy9udWxsLW5wcC1nZXR2YWx1ZS1wb2ludGVyLXN0ZGVyci50eHRVVAkAA9gtPVDYLT1QdXgL
AAEE6AMAAAToAwAAbVA9T8MwFNz7K7zRDsSNg5LaEmIoDCyAwsBQVVFiPyVP9ZeaFwXx63HabrC8
k07vTnd3yKUUpbreBymrotptZVHkQr3U9XutZuiinXr0jQELfUvQoIu26emUab3Ohdwc2VsgtrDg
wBMYdoZWDwnRsy4Ey5LJCUkpH9uISn1B93HxfL5ZviZtotGbMIPZJznB9WO9YfONZtccrJsocTSE
hN/gOjAZ+wRgA1FUnOtgIOtD6C1kOjgeuR7OweHkOI7jBCM3QC3aJzSPxU4IuTr8v0G5rf5ssJRc
aotyqb0PkzX+LnX3SNha/IFLyHv0q19QSwMEFAACAAgA9qUcQT2H7ZfAAgAAeQkAACkAHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsX3Jlc3VsdHMuanNvblVUCQADcC49UHEuPVB1eAsAAQTo
AwAABOgDAAC1ld1v0zAQwP8V5CeQakpLEag8TaxMlTZApJN4i9zkklh1bOOzu2zT/nfOdruBxEMZ
7VPir999352dn5ffF8X15ap4ec88oEc2v2dNUAorB6D3K56XXDZO9MDvlrqG4XXnexVvwGCh8lCz
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
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2FuaW1hdGlvbnMvc3VzcGVuZC1yZXN1bWUtYW5pbWF0
aW9uLWV2ZW50cy1kaWZmLnR4dFVUCQADYy49UGMuPVB1eAsAAQToAwAABOgDAACtjTsKwzAQRHud
Ynt5o8IhtQ6QSwh7CQL90I6Mc/uEGFy4TjnzmDfMTA65uRTedYAhCu6iI0FdKDEHxFrU6dAmZf2h
LHwSlk0KlGVvskDWG3aQsdb+xRoWjJAOp/fE8/QgO0938t7Qs74MGVKEDjqnlOsmhiOkH/lKvn/X
jswHUEsDBBQAAgAIAPClHEEAlEIPeQAAAM4AAABNABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
YW5pbWF0aW9ucy9zdXNwZW5kLXJlc3VtZS1hbmltYXRpb24tZXZlbnRzLWFjdHVhbC50eHRVVAkA
A2MuPVBjLj1QdXgLAAEE6AMAAAToAwAAXY5BCsMwDATveoVe0F/01mM/oKIlNsRSsZWU/r62Uwjt
SeywO+i6w6LxAkOVgLJUsOb2XOUNvfA9oYOWfFuVH2C3nkJqMMZy5hxjm92+TEwnR7+T/GnMY6jk
R3R+8EowjtQLlsvhzY0r2lb6R0Q3X4iO6dkovoPoA1BLAwQUAAIACADwpRxBorgZbnIHAADvGQAA
UwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2FuaW1hdGlvbnMvc3VzcGVuZC1yZXN1bWUtYW5p
bWF0aW9uLWV2ZW50cy1wcmV0dHktZGlmZi5odG1sVVQJAANjLj1QHSw9UHV4CwABBOgDAAAE6AMA
AMVZbW/bNhD+nl8hJOgCFJFs13Ya222GLS/Yh24YkH4PKJGy2FCiRlJJnG3/fcc3WZIl28MKbMVq
W3x77u65u4fqp0zl7PrkU0YQhg+pNoxcnywZLZ4uguUzlVQRHPx5EsB/iryqEJOEC6QoL5ZBwQuy
MkMxF5iIMOZK8XwZTMrXAMN3glcnf5/Y7dwmCWdcLIOz8XRhxqJ7ysgtTVM3HqPkaS14VeDQT02v
9J/mQfYEyRnFwRnG2I6lvFBhinLKNssg5wWXJUocwByJNQXIE5IHY/uo5GCcsUMQBhY9EwMom3SQ
TqfTnv0lKmQoiaBpY1DSN2LOaB4aMpKqZTCO5v45prJkCDZRKGYkTAhjduCFYpXBBuPxO4cRYUyL
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
c4w3hDACuHXMF3g9MQTnD8ig+8J189JOaLSEO6roSFweSU9XbYz926oBp1Nv9y82bb0XAIEN91wo
JVQHfkTzl9YH2q+C/qb90bdjea0915uBSsj99T4auQnoG2l4zfo9ZlxZ4Kigab/j8fvP39ZvTdG2
OzTcDf0r2vRft/euftzqpA2Qwx/FOa4g4TR0uU5XXtsgHfO+xtrMJmU48Jm+tQYKabwb7JrBX5Jw
f+B1k/fItwcnyzQdQIW5DXWmP5nBO37xIt57ncs7hVPI1SwHfID0EOs8WbdcI4UartlgJfrDAHUL
DYUJFBP3K7aWlTP0jzZ6DjmK4iTmN52sfb/PTNv28IuPyLhfD93+O2106qdmUDdOEWePy2U25qMe
tMZd4b1xr1sPfohOcQvmjgTwVevxh/D+mK90mr3247PQVcR5UO7xSYjjNbif0QzQZh6dq7+c54dC
ixab4BYvy7E+svHS/ErKMJiFJbk9Ixemltmp2+1V+xwiE+3Xqz/pFWX4ZqAG2+xt0QNuDms1KiKH
XOCOHbml9CuOBx98w/E3glYuHY8wCRMeN3ASVo8ZOJK3TwkmPtMiTdzc+CVvtWFVxO6bvCUAK+BS
BpLoK++dSndh55WmyqH1pA3ZClxIb2UpaknmYFVnsvvdA9JPPNAPN2RhZ3zvVjtn8qz7EwWOZXWT
Fza7qegr/dwB00XM31FX5C7l6zFeIctF1NbDw5zO8tn/XB7/+6fjq+ubD8fXP14c/d385/XlweFx
e+AlgAfPzcj8dPJLb/FWT4J5zi++kYU3XlLiH67OGmy+H3caJv4fUEsDBAoAAAAAAKqkHEEAAAAA
AAAAAAAAAAAdABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC9VVAkAA/8rPVBxLj1QdXgL
AAEE6AMAAAToAwAAUEsDBAoAAAAAACulHEEAAAAAAAAAAAAAAAAjABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvaHR0cC90ZXN0cy9VVAkAA/EsPVBxLj1QdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAA
AKqkHEEAAAAAAAAAAAAAAAApABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9j
YWNoZS9VVAkAAwAsPVBxLj1QdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAKqkHEGEmn2YlgEAAB0D
AABGABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9zdG9wcGVkLXJl
dmFsaWRhdGlvbi1kaWZmLnR4dFVUCQAD/ys9UP8rPVB1eAsAAQToAwAABOgDAAClkl1r2zAUhu/9
Kw7pRTf8JadNbApjWbbCNlYyltCxqyFLx7FW1TLWUeMs9L9PJku7FgKFXYlzeM6r93zEcQwp3bap
5lvjKCa0FHdonSab1kRtOmRsKrioMbVk2halB+64VpKTMk2MfYuCUCbUEwRhGP6vIBfkuN7LzWYQ
Z9EYwizKGMxmQfz13XIZxEHo9bEDTvCKRew1WPUboWCsnzIWhADfsJHYXSvcHGNeJDDXRtzA7uPq
6sv9cfaBNnILu/niw489XETFXzgvzvtJcb6HD/gKfYu7E/LPc/E8n/ZZ/sADDBB0rnnkNkpSPYAX
MPpEpxZaY60qNUJlfF9gnRBobeU0/DteIAOCO4uAd9iQHeJKdQh224i6M41xVm8T+O4ztXFaNqcE
ouO2BlWBaRBMBVSbR4FhiV6mxtFRu9lkcjB8NmXesDZcJrBEhOEm7EWalm5tkw2WN4oS061T//nm
p08mYq3eKvkmH+fTcQKjF4+Q9ewpe3lbopQoF+Uvf7CwW8w/X75f7cu8q2h8qDzzm80mLPgDUEsD
BBQAAgAIAKqkHEGNpXyKjwEAAOgCAABIABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90
ZXN0cy9jYWNoZS9zdG9wcGVkLXJldmFsaWRhdGlvbi13ZGlmZi5odG1sVVQJAAP/Kz1Q/ys9UHV4
CwABBOgDAAAE6AMAAI2SX0/bMBTF3/kUV+WBIVWJW2gTdaET3ZDYtKkTrUB7mhz7pjH17MjXockq
vvuclYJAqsST7Xt/5/j4T1Yil9OMfKtxGknUsIWci/XK2drICRwXnH+ER4i4lG9bvOhaWbwTZ/HO
qnJhThU3IDQnugie05+Xi0XgQvFVK3hONW/RAffwgfXZKZD6i5Ay1owZOwK4QSPR3SrcHEDeI59p
K9awvV7++P54EH2GrWxhO5t/+bVj0376xCbpeTNKz/+ze3qJjYftsQ/DW+skGTeDZI8DdAy42rxg
GyV92XET6H31JwSVJVK5RihsOBNQLQQSFbUGhw9cK8m9sga8BcFrQsAHNJ66daEcArVGlM4aW5Nu
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
wj6l6W6gJntO5MzH54Aa7aItoYXY6v/nXLL7lhG+N8wWUsRayDf002S8yTYHfAAfWP+uDnbu1/xo
9aH2UcLH39ZPTEy403zIBeO7Ug6xAftBr7oaokNoSXp3pIS6O44WRSDyUnXd2TfmGm7VTTxbq7Iv
28X6GSk8dWMl+xXfpyQtwJUtw+qWHLOxeQnAcwKNNgNmf4Ff34pxO/BwQa5fODf+L71ea6riIRvw
YtKS4iAEdZsUWpiam1swPtJ8Z4kHUAlYt+zzuOMm8o91vx5NrJgwO1Q/YxHZtW5rtHSxE03zIQ79
qQPZZ7PnQCZe17A0lTRKt73c5nuZZ5Zk2Ni15kIhclLeHWFjY6Oo9jxcAWBiRDNJu7tJH+o5ejTD
vw18Gbk3UWMi+adnAvWGbb5TiApObtSzFhkmtBvzQ0+GsHa+TUF10R9/I1vidwLbzvFbleIfzSWf
SVd5moZs7S6G6ww0LRE1V5FLmG8+Q1yTlMs+V0Kctv36n2O/f4b9M+yfYf8M+2fYP8P+7w+Tahal
9a45cPhVFAJeqKOOR0p+OX3lvwBQSwMECgACAAAAqqQcQZzpp3UGAAAABgAAAEoAHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3N0b3BwZWQtcmV2YWxpZGF0aW9uLWV4
cGVjdGVkLnR4dFVUCQAD/ys9UP8rPVB1eAsAAQToAwAABOgDAABQQVNTCgpQSwMEFAACAAgAqqQc
Qf7BpR1AAQAAWgIAAEwAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hl
L3N1YnJlc291cmNlLWV4cGlyYXRpb24tMS1hY3R1YWwudHh0VVQJAAP/Kz1Q/ys9UHV4CwABBOgD
AAAE6AMAAI3RXUvDMBQG4Pv9isO8mMLoso9+MBBhOlBRBjoUryRNTte4mIwkXVuH/93MWYfCYFch
h+c9OUkkrdEAdXBKuuQMrPhASAipIkJaAA+oOJongeUBIo+IT6RmS9hcz+/vPg/SX6x5DZvJ7Opl
Z5Nu8mPjZFSFyejbNnqOlYPNifPL/9ZxHFX9uOEAWwOmUHtWCu7yrRtD+8Z1LKy0tSKVCJn2dwJb
MIbWZoUEg2sqBadOaAVOA6OFRcA1Kme3+0wYBFsrlhutdGFlHcCzr+S6kFx1HDBDbQ4iA60QdAYu
1/sG1umVb5Nj+9C0/TBs5h1GxM8rNeUBPCJC7tzKjnu9tFjYoMR0KVygzaLnzy5ffTFgC3Eh+Hk8
iKNBAO1j349U5A+dvqfIOfJZ+obMh2aT2+nlfJfyM3UHTXDo/7QfktYXUEsDBBQAAgAIAKqkHEFQ
d6RBTwkAAEEoAABSABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9z
dWJyZXNvdXJjZS1leHBpcmF0aW9uLTEtcHJldHR5LWRpZmYuaHRtbFVUCQADACw9UAAsPVB1eAsA
AQToAwAABOgDAADVWmtv20YW/e5fMYiRuu2aFGlJth6xi8Z20F2kTbDO7mJRFMGQHIoTkxyVM7Sl
pP3vvfOiSIqUU6xdZWPEIud5z32eGflFIrL04uBFQnAEH1ysU3JxMEtpfnuMZneUU0Ei9OkAwT9B
VsKJSMgKLCjLZyhnOZmrroAVESmcgAnBshnylysUwTOJ5ge/H+jlzCIhS1kxQ4fecKr63Fc0JVc0
jk1/gMPbRcHKPHLs0Hgif+ob6R04S2mEDqMo0n0xy4UT44ym6xnKWM74EodGwAwXCwoi+yRDnm5a
MgCncBQkBUR3RAmU+C1Jh8Nhx/oc59zhpKBxrZPTj0TtUd/USUksZshzx7Y9onyZYlhE4CAlTkjS
VHfc00gksIDnPTcy4iii+aKareUz5pFPTQsZkWmegGCiGp6wO1K0UI3H43mfwgnRqnClXV7DXtxM
jlOGAUpBF4loWk+OugQVYJpXWzFQPxUA03sAtkHpqHUbmrpPAJ2j7Cjd7b7Ay41kNySU9ut1HDW5
6TZtlzF+a/UOTuUtV3qH69USTAzrAzRyjFz50UbYKx6nEQnW8jdSor5MWXj7FhfCBaizmBZcOGFC
06hXsXK7G5h/vGuxgmRg2uMH9jN7WPXTHNyHOIEc0nC7sfU68BZBQ5w6OKULiA/BOmAVRHr7DziP
UmLVYdaRKpTvCdEG3fhzWBZcmkaK3Y5CHIB1Smsx2LNyHB1ASrxdUjT8fNsdFgVZz1uO6Y4fspdW
MXIFe1DNblywrKVskyPlHlLrP5VZQArwJlL3Lt1qBd9OpcZrp9NGErTh0pUKbSSPRqNW7G1bv8ox
cqGxDgEdBlXSN35g3LPLRbS4DXcamoRVA64gdiYcXSh61bIrSUkJje5sIjEOYzE0wnRZEEcHquoC
VapXgFAQfOvIBr0uzfCCNIwyQyeVroMUSwXKgSFkBZABrGqeUBvyxiCT0bQ37cYk3sS+9ChYsaqO
tUDumBrFUXMq2Jn3D5+S6XxXSa9WMgmmLocJiP5qHUVbC6CIpP0zyPRBaQbfoptyuWSFgEJbGCcG
pWYZyQVH3w5gP1yKhGl962IsuQw4vAAXDa2l1AQ1pqf8V2OkMBhcQg22mezU+rTMNDhNL60EnaNP
dBnL8MppVPaubUDHO9esAriK3K0l2/NdtiS6Ojr3JLilwhGFjC6NWguJ3BM+r4k8MgAPucCi5C/L
AEp1VfZcGSmd4sCUgEVr1Wdoj81gI1tSDwVjaYCL5gJWtoCpaN20Z+yjbaxS1FCHtGFU8tFyBvnc
Tw778sdOUrfxkJiuTIayGFych+BthnlZqF4Tp4sVQdGBuF3i7ylki6LljGYrhD46NI/ICtLYDsSb
KlkToQuuSVeN2jcxeS6XYpqQ7qxbsB8Y4kFBTzeC+rrg2wql35Sw5rkqb+a1EriibY2taVzgTEvY
4shNjlGLrMueXLytmzUQUXZviABJgVWCWT+jap1OX228zrh7T6dSRLOv4pjRNnduMmezhlbftmv3
8oXIZmK9zfc2ldizkFfvfWeraOvQcnpmU962mDtip3Yc4hnWRL+elXNWQPO8JzcZ/JKf8a7NsYk6
He5e55AZjm10qbKcA5xn6Df0bH5QleNaEW/PTjFQdBY7Yr0knUs90/MSkqqMWJFMLElmTwE6zAjn
llX0qqhLozXHvlGZ+XPqHNQUYDt3lJX8smoBkvqR5Je1SthVxC2faNeUejWBwHTiVEa+rwxpEna9
zTiTyQNDe7b6LKmMdYHIECHdulEIDLfrYXb1AhuUEBh5PXXYIh7Ru1nMQqNLVgoZ8vUICtJS1QjT
Be4QgyxQmnwLpF4l1SpAVN4lRO80MCV2AfJLDIIhAX2BHm08iaM7imVaFT8a3wBhg4Ldg+GBAiQY
5hrmQ4UrmU6FYzQ2LL3iG+bdBrhkq/K/1yyP9tqmzeEzGsEpyliIkzJi7/Xx6j25A0nf15LwJus+
b1CR5826WT/SqfTl+L7J0tIDuD29d1QdYHOM4zswLqiYtGpPfd2tcuj47lATr83tiSUOHUY+vLq6
qqWEw8mrq1fjV505DChqd7hcX193ST0j2VKsm95lyFBrpAuPIKlJMWbR6cSbmNwWpgQX7xWFsAcK
2aLOXYkc8mJgru5e8LCgS3CaIjx/lgix5LPBAH/AK3fB2AImLSmXsaHaBikN+ODDryUp1gPfHbkn
5sXNaO5+4M8uYF213gVqrhyyiDjShuQexn0HriSNeT4a1qaAUOZaUVJD+ICAA7kx5+dH9jxxJO8e
/YuByJYD8ABQkyMIZF5wvDIVfCARDGQLH4Q4TMiAl3BO46wsQuLAaZHqo4LjO0BiSpy6AsoY7Os3
t6tdFx1t96hjfF+7PN4jfYxpDZEHHNS8FtqMg5yU24HqXmDDJ44ufNAR9F80RkF6qI/5Kg/4ct45
EEr10cVPDCmNIKljmSvg7PNaFq2MRTSmQGF0B/pa6/L8X7kaHyFQm+I4Vcs36O33NzdmK7AaYHws
pCePgPRampnwGfo5Z/d/8z3+y7wCddmCdPnUgIaPDchpAtqLlUZPZCVlDUdWuoKlUGBKFdl3UG8i
SHp7tOL4rwGcM0fZbs/mPf3L0HIBZ+I9oz17IrRvC7zI8Bdj1MkjwGzHJ145wEDPfW+PoTl9Olze
nk3me09oszn6OSJAoc59ODT/smeg/lM65/GXEoL+Y7CbtmTqo5+JwpHmYRpqBu0Ufodc7DPIqpId
3E3uJtDX3rH3DZJnJTTxvNWp5/05hT+qwCf9AiP0T5IDKf43nFu+OLmH/2+KHj2saOW46NMP7358
/fsXJ/94l/wVAvW1xss3V//VACbHEwPgbDJajSejPQI43Q3AQtB3u4eyo22Es7PTlX+2TwxnD2HQ
3wuiosw3sqsLJyn8DH31a8nE/O/iiMsLIk7l3Zr8jhAjXoYh4TwuU1QdOuSNk5An55ITpK61uHyP
ge0hvs7DpGA5K3m6dtF/oCVhZRrlRwKFBeYJojFioA0WI5GwzQLAepfyro5oWfaozMmfVqY/Hlt1
Dk89q86U4chFN4Qge4UUlAvu6otflxWLAajm/j00uuGCfkej87OTs9MTF+1dA9P/OSS81T5zUg9H
3AJwDcOjiERvgg/Ad9CnNy//cX35TmMBQx6fWDhDSLP+2HuQZtSuGCUpUd31sZsPdZv3YqD/cvAP
UEsDBBQAAgAIAKqkHEGdcvVNMAIAAGgGAABKABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0
cC90ZXN0cy9jYWNoZS9zdWJyZXNvdXJjZS1leHBpcmF0aW9uLTEtZGlmZi50eHRVVAkAA/8rPVAA
LD1QdXgLAAEE6AMAAAToAwAArZRhb9owEIa/8ytO7ENbBScOLQRRoTEYUjd1oxps01RVkxNfiNcQ
o9guYWj/fQ4UqqIhIcaXRLafe+/NxXeEEPD0dOalbCGNJhqVJjkqk2rlJVrPvHJHeRGLEvSUCe2Z
NHmEBIuZyJkWMiN+ucBII3d1oaHiOM4pRFmkDUvXkt0uEL/m18GxTwrdboV8lrASgAQZx1yBzOGW
2UxTyUUskD8fwPk6dedrtuI5bNxudy7g7t1oVCGDMj2qNtxncu74VD1cb6P7O7H9/ZHkdeRxeVf6
JJKZzmXahqlZ1fCJpYIzjUf5+rdyJsnKzYkNW1mlZf7fsnc5m0zZcTZ3a8gKwibY8emh5dsjQE9h
4hruOdoO6fhuQz2c4qtqRxWp4lgTtk2YhnNaoxegxG+EFqVFk9KKA/AFM9tG3wTO9zEHCfRSGT3C
8mb86fbPfnZLS76AZW/4/scabtVaz3DQuioaras1vMHHaKfE8o22r13xIGgWfrDlAUoIcpO9cHPB
dVKCbah+0GcKZlIpEaYIsR0qDJSJIlQqNilsW9DOKNDlCDIKAZ8w06pcx/YCg1pkUZLLTBqVLlz4
bncSaVKenWmIcqYSEDHIDEHGoBP5ImA7ZmZlEqzutes3GhvDl01qDaeScRdGaAehHa2q7XmhmSh3
juGj0K7MJ55NPv9pN91oIt4K3gnqQbPuQvXgEtKCvmYH0xA5Rz4Mf9lLBcth7+OgP16HWVe1+iby
0v5Zv0ErfwFQSwMECgAAAAAA86QcQQAAAAAAAAAAAAAAACgAHAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9odHRwL3Rlc3RzL21pc2MvVVQJAAOJLD1QcS49UHV4CwABBOgDAAAE6AMAAFBLAwQUAAIA
CADzpBxBFTU1knoAAAC8AAAAQgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
bWlzYy94c2x0LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUCQADiSw9UIksPVB1eAsAAQToAwAABOgD
AACNjkEOwyAMBO95hT9AIO2hFb8hxFUsGYyMkfr8EuUD1V5WO4fZLKURJyOpgKqiET7ECKdZi95v
j9caZrb4DiH4Qj17xS5DM3b/7WxuT4ej0kTNDaV1bsBUEZ6AjAWrwU2XSeJdIcKoaZ8aE2BJx3+6
Kn3k87qXLDEvP1BLAwQUAAIACADmpBxBjGiA5G0AAAByAAAARwAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy9kbnMtcHJlZmV0Y2gtY29udHJvbC1zdGRlcnIudHh0VVQJ
AANwLD1QcCw9UHV4CwABBOgDAAAE6AMAAIs2tLQ0MLACkkYGViaWluYGhuZGpoamZmZWrkFB/kFW
yalFJfFlqUWZaZXxBUX5yfF5xcV6ycka5iZmmrEKzq5BIfEB3p4RYWAVzkDFCmn5RQqGRuZ6BkBo
qJCWmJmTmqKQWlRkq2thaGHIBQBQSwMECgAAAAAAK6UcQQAAAAAAAAAAAAAAAC0AHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC9VVAkAA/EsPVBxLj1QdXgLAAEE
6AMAAAToAwAAUEsDBAoAAAAAACulHEEAAAAAAAAAAAAAAAAzABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvVVQJAAPxLD1QcS49UHV4CwABBOgDAAAE
6AMAAFBLAwQKAAAAAAArpRxBAAAAAAAAAAAAAAAAOAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvVVQJAAPxLD1QcS49UHV4CwABBOgDAAAE
6AMAAFBLAwQKAAAAAAArpRxBAAAAAAAAAAAAAAAAQAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9VVAkAA/EsPVBxLj1QdXgL
AAEE6AMAAAToAwAAUEsDBBQAAgAIACulHEHr1ow9KQAAAEgAAABYABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3dvcmtlci1y
ZWxvYWQtc3RkZXJyLnR4dFVUCQAD8Sw9UPEsPVB1eAsAAQToAwAABOgDAABzLSrKL1LIzCsuSczJ
ycxLV0itKEnNK87Mz1NQL7PQT09W1+NyJUINAFBLAwQKAAAAAAATpRxBAAAAAAAAAAAAAAAALAAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvVVQJAAPFLD1QcS49
UHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACAANpRxBVnBSaWIAAACOAAAAVQAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14bWwtZXh0ZXJuYWwt
ZW50aXR5LXN0ZGVyci50eHRVVAkAA7ksPVC5LD1QdXgLAAEE6AMAAAToAwAAjcwxCsMwDAXQ3af4
W5aC6Go69gbdC8L5DgHbMooC6e1Lb9ADvFf3xiwijCJXb1I0tNmW7xlT/aCD7ubIeFo5O0dgP8A+
45PSO9W/+SvUA6EbeE2W4HrD8lgwLFDtHOuv+wJQSwMEFAACAAgADaUcQWBLZhCRAAAA+wEAAF0A
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQt
eHNsLWRvY3VtZW50LXNlY3VyaXR5T3JpZ2luLXN0ZGVyci50eHRVVAkAA7ksPVC5LD1QdXgLAAEE
6AMAAAToAwAA7Y4xDoMwDEV3TuELhASWVplh6NKeAQVTIpkksp0Kbl869AYdq7++r/dC3kqkSWNO
gMyZPSyREFbV4q3t+kvrznX+6pyzgqFy1MPuImYY77dxMLuQmXOoGyY1X+DB8RlTu28EFBNCD0j4
IUD0IJQVUZvz6V/Icro95EQHdK2DBSetjAITI0gtJbPi3IR/6I9D31BLAwQKAAAAAAATpRxBAAAA
AAAAAAAAAAAAQgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L1VUCQADxSw9UHEuPVB1eAsAAQToAwAABOgDAABQSwMEFAAC
AAgAE6UcQWOqrGyCAAAAqAAAAGoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtdW5hZmZlY3RlZC1ieS1zdHlsZS1z
cmMtMi1zdGRlcnIudHh0VVQJAAPFLD1QxSw9UHV4CwABBOgDAAAE6AMAAC2NQQrDMAwE73mFXhA7
vaT4FYW+ILgbYlAsIyml/n1NKXtahtnNcrbCmxepBFXRRHth0OHeUgjLbZ3jyJLuMcZgyJcW7yFL
dVR//vtDuOQeFCaXZlgw74z5Y0xcKmglMM4h0A/YAfg0aHpDbVwnksqdljnSjs2vMUSbguxqTdTx
mr5QSwMEFAACAAgAE6UcQWOqrGyCAAAAqAAAAFgAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtYWxsb3dlZC1zdGRl
cnIudHh0VVQJAAPFLD1QxSw9UHV4CwABBOgDAAAE6AMAAC2NQQrDMAwE73mFXhA7vaT4FYW+ILgb
YlAsIyml/n1NKXtahtnNcrbCmxepBFXRRHth0OHeUgjLbZ3jyJLuMcZgyJcW7yFLdVR//vtDuOQe
FCaXZlgw74z5Y0xcKmglMM4h0A/YAfg0aHpDbVwnksqdljnSjs2vMUSbguxqTdTxmr5QSwMECgAA
AAAA76UcQQAAAAAAAAAAAAAAACAAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9yZXRyaWVzL1VU
CQADYS49UHEuPVB1eAsAAQToAwAABOgDAABQSwMEFAACAAgA9aUcQaYo9N09AQAAoQMAAC4AHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9yZXRyaWVzL3Rlc3RzX3J1bjAudHh0VVQJAANuLj1QYS49
UHV4CwABBOgDAAAE6AMAAK2TUU7DMAyG37mLF4krICEh8bYTuKnbRHOTEjul7PQ4LUITSBMMXho7
/mz/jtygOjslUXHrxMG8Qi/VfHemkoEpjRqgkMw5CR2CTnyHKU6o0S6cVJkp9Q2oE8FnBGihpLLz
A1o5j2lBca/UjewkYE8FrJeP0vAhF0u8wIeCE4ll+UA9bB74XJNSuaA4tzp2eGR4OB4NzBNs7neq
pmZsrWDOooBdrgodYzp90JVZfCFKrpmw2yCK/hTTaAKs/6pX4fNT6mm9isR9nEtyZtQmzPlgE8Rq
Rp5MZFTr64bINre4znSMxV7BptiuTHwtkIcBcI3y91L/IaaqkP5Iy8x1jGnbid0E5DngbamFBibf
du+2/JSvd19i0Yrsxrm6Xy60LKO9lsaTa9uzfZ7xzR7q/mChr2GZkPkxt7+nRd8BUEsBAh4DCgAA
AAAA9qUcQQAAAAAAAAAAAAAAABgAGAAAAAAAAAAQAO1BAAAAAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL1VUBQADcC49UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKCkHEEtmp5NETgAALqmAgA0
ABgAAAAAAAEAAACkgVIAAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy93ZWJraXRfdW5pdF90ZXN0
c19vdXRwdXQueG1sVVQFAAPsKz1QdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAA1KQcQQAAAAAA
AAAAAAAAAB0AGAAAAAAAAAAQAO1B0TgAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NzczMvVVQF
AANPLD1QdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAA1KQcQQAAAAAAAAAAAAAAACUAGAAAAAAA
AAAQAO1BKDkAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NzczMvZmlsdGVycy9VVAUAA08sPVB1
eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADUpBxBAAAAAAAAAAAAAAAALAAYAAAAAAAAABAA7UGH
OQAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9VVAUAA08sPVB1
eAsAAQToAwAABOgDAABQSwECHgMUAAIACADUpBxBqEMmo4oAAACTAAAAXAAYAAAAAAABAAAApIHt
OQAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmls
dGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLXN0ZGVyci50eHRVVAUAA08sPVB1eAsAAQToAwAA
BOgDAABQSwECHgMUAAIACADlpRxBWQqZqIvAAACPMQUAJgAYAAAAAAABAAAApIENOwAAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvdGVzdHNfcnVuMS50eHRVVAUAA00uPVB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACADkpRxBDs8toMB8AABDLAMAJgAYAAAAAAABAAAApIH4+wAAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvdGVzdHNfcnVuMi50eHRVVAUAA0suPVB1eAsAAQToAwAABOgDAABQSwECHgMK
AAAAAABmpRxBAAAAAAAAAAAAAAAAHQAYAAAAAAAAABAA7UEYeQEAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC9VVAUAA2AtPVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAhpRxBAAAAAAAA
AAAAAAAAIQAYAAAAAAAAABAA7UFveQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jc3Mv
VVQFAAPdLD1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAIaUcQUuvjARWAQAAkAQAAEkAGAAA
AAAAAQAAAKSBynkBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY3NzL3VuaWNvZGUtZXNj
YXBlLWluLThiaXQtc3RyaW5nLXdkaWZmLmh0bWxVVAUAA90sPVB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACAAhpRxBXx9EZdwAAADyAQAASQAYAAAAAAABAAAApIGjewEAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZmFzdC9jc3MvdW5pY29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmctYWN0dWFsLnR4
dFVUBQAD3Sw9UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIACGlHEHsJigwsgkAABUUAABJABgA
AAAAAAAAAACkgQJ9AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Nzcy91bmljb2RlLWVz
Y2FwZS1pbi04Yml0LXN0cmluZy1hY3R1YWwucG5nVVQFAAPdLD1QdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAIaUcQXs0cBq/CAAA1iYAAE8AGAAAAAAAAQAAAKSBN4cBAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2Zhc3QvY3NzL3VuaWNvZGUtZXNjYXBlLWluLThiaXQtc3RyaW5nLXByZXR0eS1k
aWZmLmh0bWxVVAUAA90sPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAhpRxB28sDDtcAAADy
AQAASwAYAAAAAAABAAAApIF/kAEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jc3MvdW5p
Y29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmctZXhwZWN0ZWQudHh0VVQFAAPdLD1QdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgAIaUcQeRMvGhlAQAAbQQAAEcAGAAAAAAAAQAAAKSB25EBAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY3NzL3VuaWNvZGUtZXNjYXBlLWluLThiaXQtc3RyaW5n
LWRpZmYudHh0VVQFAAPdLD1QdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAR6UcQQAAAAAAAAAA
AAAAACQAGAAAAAAAAAAQAO1BwZMBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVy
L1VUBQADJi09UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAEelHEHsoeNS+AcAACUZAABJABgA
AAAAAAEAAACkgR+UAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRlci9sb2NhbC1D
U1MtZnJvbS1sb2NhbC1wcmV0dHktZGlmZi5odG1sVVQFAAMmLT1QdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAR6UcQfS1gqoYAQAAwgEAAEEAGAAAAAAAAQAAAKSBmpwBAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvY2FsLUNTUy1mcm9tLWxvY2FsLWRpZmYudHh0VVQFAAMm
LT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAR6UcQSXgtkg9AQAA6AEAAEMAGAAAAAAAAQAA
AKSBLZ4BAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvY2FsLUNTUy1mcm9t
LWxvY2FsLXdkaWZmLmh0bWxVVAUAAyYtPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABHpRxB
+9Ctc/wAAAB1AQAAQwAYAAAAAAABAAAApIHnnwEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC9sb2FkZXIvbG9jYWwtQ1NTLWZyb20tbG9jYWwtYWN0dWFsLnR4dFVUBQADJi09UHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIAEelHEG7vm0+xAAAACYBAABFABgAAAAAAAEAAACkgWChAQB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRlci9sb2NhbC1DU1MtZnJvbS1sb2NhbC1leHBl
Y3RlZC50eHRVVAUAAyYtPVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAABnpRxBAAAAAAAAAAAA
AAAAIQAYAAAAAAAAABAA7UGjogEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC94c2wvVVQF
AANhLT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAZ6UcQYFKd61LAAAArAAAAEwAGAAAAAAA
AQAAAKSB/qIBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3hzbHQtdHJhbnNmb3Jt
LXRvLWZyYWdtZW50LWNyYXNoLXN0ZGVyci50eHRVVAUAA2EtPVB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACABmpRxBUF1IN4wAAAD4AAAAOAAYAAAAAAABAAAApIHPowEAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZmFzdC94c2wveHNsdC1kb2MtZW5jLXN0ZGVyci50eHRVVAUAA2AtPVB1eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACABmpRxBUF1IN4wAAAD4AAAAPwAYAAAAAAABAAAApIHNpAEAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC94c2wveHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIu
dHh0VVQFAANgLT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAZqUcQW1H1F6FAAAA8QAAAD0A
GAAAAAAAAQAAAKSB0qUBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3RyYW5zZm9y
bS14aHItZG9jLXN0ZGVyci50eHRVVAUAA2AtPVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAP
pRxBAAAAAAAAAAAAAAAAJAAYAAAAAAAAABAA7UHOpgEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZmFzdC9jYW52YXMvVVQFAAO9LD1QdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAE6UcQQAAAAAA
AAAAAAAAACoAGAAAAAAAAAAQAO1BLKcBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2Fu
dmFzL3dlYmdsL1VUBQADxiw9UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABGlHEFdr6t/xgAA
AOABAABKABgAAAAAAAEAAACkgZCnAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZh
cy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC1kaWZmLnR4dFVUBQADwSw9UHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIABGlHEEfGWN5+wEAAA4MAABOABgAAAAAAAEAAACkgdqoAQB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZv
cm1hdC1leHBlY3RlZC50eHRVVAUAA8EsPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAQpRxB
AV01jKsAAADfAgAAUQAYAAAAAAABAAAApIFdqwEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC9jYW52YXMvd2ViZ2wvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1zdGRlcnIudHh0VVQF
AAO/LD1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAEKUcQRgzxq/rAAAAUAEAAEUAGAAAAAAA
AQAAAKSBk6wBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4
LXZhbGlkYXRpb24tc3RkZXJyLnR4dFVUBQADwCw9UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
ABGlHEEZS4sTtQcAAMEbAABSABgAAAAAAAEAAACkgf2tAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC1wcmV0dHktZGlmZi5o
dG1sVVQFAAPBLD1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAD6UcQflwvXrfAAAATgcAAE4A
GAAAAAAAAQAAAKSBPrYBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmds
L2RyYXctYXJyYXlzLW91dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUBQADvSw9UHV4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIAA+lHEGK7AGongAAADEBAABEABgAAAAAAAEAAACkgaW3AQB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmctc3RkZXJy
LnR4dFVUBQADviw9UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABGlHEE5aca6DAIAAD0MAABM
ABgAAAAAAAEAAACkgcG4AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJn
bC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC1hY3R1YWwudHh0VVQFAAPBLD1QdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgAE6UcQSXTKJ+KAAAAkwAAAEoAGAAAAAAAAQAAAKSBU7sBAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy1z
dGRlcnIudHh0VVQFAAPGLD1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAD6UcQU1hS3IYAQAA
bQsAAFAAGAAAAAAAAQAAAKSBYbwBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFz
L3dlYmdsL2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5kcy1zdGRlcnIudHh0VVQFAAO9LD1QdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAEqUcQUDNj2FEAQAAYQ0AAEkAGAAAAAAAAQAAAKSBA74B
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL3R5cGUtY29udmVyc2lv
bi10ZXN0LXN0ZGVyci50eHRVVAUAA8MsPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAARpRxB
ZZOZH1sCAADdDAAATAAYAAAAAAABAAAApIHKvwEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC9jYW52YXMvd2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQtd2RpZmYuaHRtbFVUBQADwSw9
UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABClHEFQE2UdvAAAAPQCAABUABgAAAAAAAEAAACk
gavCAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxp
ZGF0aW9uLWNvcGllcy1pbmRpY2VzLXN0ZGVyci50eHRVVAUAA78sPVB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACAAQpRxB0OuRH7EAAAB6AQAAXwAYAAAAAAABAAAApIH1wwEAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi12ZXJpZmllcy10
b28tbWFueS1pbmRpY2VzLXN0ZGVyci50eHRVVAUAA8AsPVB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACAAPpRxBL0G0zqkAAABiAgAARAAYAAAAAAABAAAApIE/xQEAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0LXN0ZGVyci50eHRVVAUAA74s
PVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAPpRxBNjz7mpUAAAAmAQAAUQAYAAAAAAABAAAA
pIFmxgEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtYmluZC1h
dHRyaWItbG9jYXRpb24tdGVzdC1zdGRlcnIudHh0VVQFAAO+LD1QdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAEKUcQVNrbQvcAAAAwAEAAEoAGAAAAAAAAQAAAKSBhscBAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2ludmFsaWQtcGFzc2VkLXBhcmFtcy1zdGRlcnIu
dHh0VVQFAAPALD1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAEKUcQSHkrqZxAAAAeQAAAEoA
GAAAAAAAAQAAAKSB5sgBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmds
L251bGwtb2JqZWN0LWJlaGF2aW91ci1zdGRlcnIudHh0VVQFAAPALD1QdXgLAAEE6AMAAAToAwAA
UEsBAh4DCgAAAAAAKqUcQQAAAAAAAAAAAAAAACgAGAAAAAAAAAAQAO1B28kBAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9VVAUAA/AsPVB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACAAqpRxBmyuVmGcAAABxAAAAOgAYAAAAAAABAAAApIE9ygEAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVtL29wLWNvcHktc3RkZXJyLnR4dFVUBQAD7yw9UHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIACqlHEFVYo0UZwAAAHEAAAA6ABgAAAAAAAEAAACkgRjLAQB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtbW92ZS1zdGRlcnIudHh0
VVQFAAPwLD1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAKqUcQbYNF4ZnAAAAcQAAADwAGAAA
AAAAAQAAAKSB88sBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9vcC1y
ZW1vdmUtc3RkZXJyLnR4dFVUBQAD8Cw9UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAGilHEEA
AAAAAAAAAAAAAAAjABgAAAAAAAAAEADtQdDMAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxs
c2NyZWVuL1VUBQADYy09UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGelHEFUc4zc+QAAANgM
AABIABgAAAAAAAAAAACkgS3NAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsc2NyZWVuL2Z1
bGwtc2NyZWVuLXN0YWNraW5nLWNvbnRleHQtZGlmZi5wbmdVVAUAA2ItPVB1eAsAAQToAwAABOgD
AABQSwECHgMUAAIACABopRxBcj/BbTIGAAB0KwAAQgAYAAAAAAAAAAAApIGozgEAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi16SW5kZXgtZXhwZWN0ZWQucG5n
VVQFAANjLT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAaKUcQSXJw5vPAAAAvgwAAD4AGAAA
AAAAAAAAAKSBVtUBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Z1bGxzY3JlZW4vZnVsbC1zY3Jl
ZW4tekluZGV4LWRpZmYucG5nVVQFAANjLT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAZ6Uc
QXbz2QM0CAAAUg0AAEwAGAAAAAAAAAAAAKSBndYBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Z1
bGxzY3JlZW4vZnVsbC1zY3JlZW4tc3RhY2tpbmctY29udGV4dC1leHBlY3RlZC5wbmdVVAUAA2It
PVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABnpRxBt78L3jMCAACyBQAASgAYAAAAAAABAAAA
pIFX3wEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1zdGFj
a2luZy1jb250ZXh0LWRpZmZzLmh0bWxVVAUAA2ItPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CABnpRxB+bum9zQCAACpBQAARwAYAAAAAAABAAAApIEO4gEAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtekluZGV4LWRpZmZzLmh0bWxVVAUAA2Et
PVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABnpRxBHS3DIo8AAAD5BQAASgAYAAAAAAAAAAAA
pIHD5AEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1zdGFj
a2luZy1jb250ZXh0LWFjdHVhbC5wbmdVVAUAA2ItPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CABopRxBAnFbPC4CAACUBQAAQAAYAAAAAAABAAAApIHW5QEAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi16SW5kZXgtZGlmZnMuaHRtbFVUBQADYy09UHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAGelHEGSruJbVAYAAEwQAABJABgAAAAAAAAAAACkgX7oAQB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS16SW5k
ZXgtZXhwZWN0ZWQucG5nVVQFAANhLT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAZ6UcQWar
JhJnAQAAIA0AAEUAGAAAAAAAAAAAAKSBVe8BAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Z1bGxz
Y3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLXpJbmRleC1kaWZmLnBuZ1VUBQADYS09UHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIAGelHEEdLcMijwAAAPkFAABHABgAAAAAAAAAAACkgTvxAQB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS16SW5kZXgt
YWN0dWFsLnBuZ1VUBQADYS09UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGilHEEdLcMijwAA
APkFAABAABgAAAAAAAAAAACkgUvyAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsc2NyZWVu
L2Z1bGwtc2NyZWVuLXpJbmRleC1hY3R1YWwucG5nVVQFAANjLT1QdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgA76UcQdE2tgG1pwAAkvYHACYAGAAAAAAAAQAAAKSBVPMBAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2FjY2Vzc19sb2cudHh0VVQFAANhLj1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgA7aUcQW5/+HHysgAANkcFACYAGAAAAAAAAQAAAKSBaZsCAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3Rlc3RzX3J1bjMudHh0VVQFAANeLj1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA76Uc
QYLlQwTFGwAAAtQCACUAGAAAAAAAAQAAAKSBu04DAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Vy
cm9yX2xvZy50eHRVVAUAA2IuPVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAABFpRxBAAAAAAAA
AAAAAAAAIQAYAAAAAAAAABAA7UHfagMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
VVQFAAMiLT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAApKUcQQAAAAAAAAAAAAAAACoAGAAA
AAAAAAAQAO1BOmsDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL1VU
BQAD1C09UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAJelHEEAAAAAAAAAAAAAAAA2ABgAAAAA
AAAAEADtQZ5rAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21w
b3NpdGluZy9VVAUAA70tPVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAACXpRxBAAAAAAAAAAAA
AAAAPgAYAAAAAAAAABAA7UEObAMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hy
b21pdW0vY29tcG9zaXRpbmcvcGx1Z2lucy9VVAUAA74tPVB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACACXpRxBWFSuJOQAAAAuCwAAXQAYAAAAAAAAAAAApIGGbAMAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvcGx1Z2lucy93ZWJwbHVnaW4tbm8t
YWxwaGEtZXhwZWN0ZWQucG5nVVQFAAO9LT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAl6Uc
QTg+l4RAAgAApgUAAFgAGAAAAAAAAQAAAKSBAW4DAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Bs
YXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3BsdWdpbnMvd2VicGx1Z2luLWFscGhhLWRpZmZz
Lmh0bWxVVAUAA70tPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACXpRxBc6tYMEMCAACvBQAA
WwAYAAAAAAABAAAApIHTcAMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21p
dW0vY29tcG9zaXRpbmcvcGx1Z2lucy93ZWJwbHVnaW4tbm8tYWxwaGEtZGlmZnMuaHRtbFVUBQAD
vS09UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAJelHEFrDFEzkAAAAKQMAABZABgAAAAAAAAA
AACkgatzAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3Np
dGluZy9wbHVnaW5zL3dlYnBsdWdpbi1uby1hbHBoYS1kaWZmLnBuZ1VUBQADvS09UHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIAJelHEEdLcMijwAAAPkFAABYABgAAAAAAAAAAACkgc50AwB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9wbHVnaW5z
L3dlYnBsdWdpbi1hbHBoYS1hY3R1YWwucG5nVVQFAAO9LT1QdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAl6UcQR0twyKPAAAA+QUAAFsAGAAAAAAAAAAAAKSB73UDAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3BsdWdpbnMvd2VicGx1Z2luLW5v
LWFscGhhLWFjdHVhbC5wbmdVVAUAA70tPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACXpRxB
5PEYtMMHAADpDgAAXwAYAAAAAAAAAAAApIETdwMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxh
dGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvcGx1Z2lucy93ZWJwbHVnaW4tcmVmbGVjdGlvbi1l
eHBlY3RlZC5wbmdVVAUAA74tPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACXpRxBHS3DIo8A
AAD5BQAAXQAYAAAAAAAAAAAApIFvfwMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
Y2hyb21pdW0vY29tcG9zaXRpbmcvcGx1Z2lucy93ZWJwbHVnaW4tcmVmbGVjdGlvbi1hY3R1YWwu
cG5nVVQFAAO+LT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAl6UcQWsMUTOQAAAApAwAAFsA
GAAAAAAAAAAAAKSBlYADAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVt
L2NvbXBvc2l0aW5nL3BsdWdpbnMvd2VicGx1Z2luLXJlZmxlY3Rpb24tZGlmZi5wbmdVVAUAA74t
PVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACXpRxBu+JBMUICAAC1BQAAXQAYAAAAAAABAAAA
pIG6gQMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRp
bmcvcGx1Z2lucy93ZWJwbHVnaW4tcmVmbGVjdGlvbi1kaWZmcy5odG1sVVQFAAO+LT1QdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAl6UcQWsMUTOQAAAApAwAAFYAGAAAAAAAAAAAAKSBk4QDAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3BsdWdp
bnMvd2VicGx1Z2luLWFscGhhLWRpZmYucG5nVVQFAAO9LT1QdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAl6UcQRVSlZwZAQAAPwsAAFoAGAAAAAAAAAAAAKSBs4UDAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3BsdWdpbnMvd2VicGx1Z2luLWFs
cGhhLWV4cGVjdGVkLnBuZ1VUBQADvS09UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAJelHEEA
AAAAAAAAAAAAAAA+ABgAAAAAAAAAEADtQWCHAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maWx0ZXJzL1VUBQADvS09UHV4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAJalHEH/m59QLjsAAExFAABqABgAAAAAAAAAAACkgdiHAwB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maWx0ZXJzL2JhY2tn
cm91bmQtZmlsdGVyLWJsdXItb2ZmLWF4aXMtZXhwZWN0ZWQucG5nVVQFAAO8LT1QdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgAl6UcQWsMUTOQAAAApAwAAF0AGAAAAAAAAAAAAKSBqsMDAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpbHRlcnMv
YmFja2dyb3VuZC1maWx0ZXItYmx1ci1kaWZmLnBuZ1VUBQADvS09UHV4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAJelHEEdLcMijwAAAPkFAABfABgAAAAAAAAAAACkgdHEAwB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maWx0ZXJzL2JhY2tncm91
bmQtZmlsdGVyLWJsdXItYWN0dWFsLnBuZ1VUBQADvS09UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIAJelHEEdLcMijwAAAPkFAABnABgAAAAAAAAAAACkgfnFAwB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maWx0ZXJzL2JhY2tncm91bmQtZmls
dGVyLWJsdXItb3V0c2V0cy1hY3R1YWwucG5nVVQFAAO9LT1QdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAl6UcQQSrmG5GAgAAuwUAAF8AGAAAAAAAAQAAAKSBKccDAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpbHRlcnMvYmFja2dyb3VuZC1m
aWx0ZXItYmx1ci1kaWZmcy5odG1sVVQFAAO9LT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
lqUcQYcIUasGBgAAmw8AAGYAGAAAAAAAAAAAAKSBCMoDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpbHRlcnMvYmFja2dyb3VuZC1maWx0ZXIt
Ymx1ci1vZmYtYXhpcy1kaWZmLnBuZ1VUBQADvC09UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
AJelHEEHOfAI1wAAAM0MAABlABgAAAAAAAAAAACkga7QAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maWx0ZXJzL2JhY2tncm91bmQtZmlsdGVy
LWJsdXItb3V0c2V0cy1kaWZmLnBuZ1VUBQADvS09UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
AJelHEHqc3lsJgcAAPYQAABpABgAAAAAAAAAAACkgSTSAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maWx0ZXJzL2JhY2tncm91bmQtZmlsdGVy
LWJsdXItb3V0c2V0cy1leHBlY3RlZC5wbmdVVAUAA70tPVB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACACWpRxBvbLPgE0CAADWBQAAaAAYAAAAAAABAAAApIHt2QMAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9iYWNrZ3JvdW5kLWZp
bHRlci1ibHVyLW9mZi1heGlzLWRpZmZzLmh0bWxVVAUAA7wtPVB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACACWpRxBHS3DIo8AAAD5BQAAaAAYAAAAAAAAAAAApIHc3AMAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9iYWNrZ3JvdW5k
LWZpbHRlci1ibHVyLW9mZi1heGlzLWFjdHVhbC5wbmdVVAUAA7wtPVB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACACXpRxBb8IzpEwCAADTBQAAZwAYAAAAAAABAAAApIEN3gMAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9iYWNrZ3Jv
dW5kLWZpbHRlci1ibHVyLW91dHNldHMtZGlmZnMuaHRtbFVUBQADvS09UHV4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAJelHEGxx7tt4QQAAMAOAABhABgAAAAAAAAAAACkgfrgAwB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maWx0ZXJzL2JhY2tn
cm91bmQtZmlsdGVyLWJsdXItZXhwZWN0ZWQucG5nVVQFAAO9LT1QdXgLAAEE6AMAAAToAwAAUEsB
Ah4DCgAAAAAApKUcQQAAAAAAAAAAAAAAADIAGAAAAAAAAAAQAO1BduYDAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvVVQFAAPULT1QdXgLAAEE6AMAAATo
AwAAUEsBAh4DCgAAAAAApKUcQQAAAAAAAAAAAAAAADYAGAAAAAAAAAAQAO1B4uYDAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L1VUBQAD1C09UHV4
CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAKSlHEEAAAAAAAAAAAAAAAA7ABgAAAAAAAAAEADtQVLn
AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9m
YXN0L1VUBQAD1C09UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAKSlHEEAAAAAAAAAAAAAAABC
ABgAAAAAAAAAEADtQcfnAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1
bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy9VVAUAA9QtPVB1eAsAAQToAwAABOgDAABQSwECHgMK
AAAAAACnpRxBAAAAAAAAAAAAAAAASAAYAAAAAAAAABAA7UFD6AMAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvVVQF
AAPaLT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgApqUcQS2aaSvYAAAAHAIAAGgAGAAAAAAA
AQAAAKSBxegDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1
YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LWRpZmYudHh0
VVQFAAPYLT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAp6UcQZzKjWyKAAAAkwAAAHAAGAAA
AAAAAQAAAKSBP+oDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3Zp
cnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3VuaWZvcm0tYXJyYXktbGVuZ3RoLW92ZXJmbG93
LXN0ZGVyci50eHRVVAUAA9otPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACmpRxBHxljefsB
AAAODAAAbAAYAAAAAAABAAAApIFz6wMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1m
b3JtYXQtZXhwZWN0ZWQudHh0VVQFAAPYLT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgApaUc
QWaAXpGoAAAA3wIAAG8AGAAAAAAAAQAAAKSBFO4DAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Bs
YXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2dsLXZlcnRleC1h
dHRyaWItemVyby1pc3N1ZXMtc3RkZXJyLnR4dFVUBQAD1S09UHV4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIAKalHEFuGHEx3wAAAMABAABfABgAAAAAAAEAAACkgWXvAwB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9w
cm9ncmFtLXRlc3Qtc3RkZXJyLnR4dFVUBQAD1y09UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
AKWlHEGu7n7c6wAAAFABAABjABgAAAAAAAEAAACkgd3wAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12
YWxpZGF0aW9uLXN0ZGVyci50eHRVVAUAA9YtPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACm
pRxBdTYwi80HAADfGwAAcAAYAAAAAAABAAAApIFl8gMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
cGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXBy
ZWNpc2lvbi1mb3JtYXQtcHJldHR5LWRpZmYuaHRtbFVUBQAD2C09UHV4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAKSlHEF65R9X3QAAAE4HAABsABgAAAAAAAEAAACkgdz6AwB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJn
bC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRVVAUAA9QtPVB1eAsAAQToAwAA
BOgDAABQSwECHgMUAAIACACkpRxBoTDnP54AAAAxAQAAYgAYAAAAAAABAAAApIFf/AMAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52
YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLXN0ZGVyci50eHRVVAUAA9QtPVB1eAsAAQToAwAABOgD
AABQSwECHgMUAAIACACmpRxBOWnGugwCAAA9DAAAagAYAAAAAAABAAAApIGZ/QMAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMv
d2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQtYWN0dWFsLnR4dFVUBQAD2C09UHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIAKSlHEGaJMtsEwEAAG0LAABuABgAAAAAAAEAAACkgUkABAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2Nh
bnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUBQAD1C09
UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKelHEG1pdDqUQEAAGENAABnABgAAAAAAAEAAACk
gQQCBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dw
dS9mYXN0L2NhbnZhcy93ZWJnbC90eXBlLWNvbnZlcnNpb24tdGVzdC1zdGRlcnIudHh0VVQFAAPa
LT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgApqUcQWWTmR9bAgAA3QwAAGoAGAAAAAAAAQAA
AKSB9gMEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwv
Z3B1L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LXdkaWZmLmh0bWxV
VAUAA9gtPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAClpRxB1JNJiLsAAAD0AgAAcgAYAAAA
AAABAAAApIH1BgQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmly
dHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi1jb3BpZXMtaW5kaWNl
cy1zdGRlcnIudHh0VVQFAAPWLT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgApaUcQb29qNyw
AAAAegEAAH0AGAAAAAAAAQAAAKSBXAgEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24t
dmVyaWZpZXMtdG9vLW1hbnktaW5kaWNlcy1zdGRlcnIudHh0VVQFAAPWLT1QdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgApKUcQTTWhcCrAAAAYgIAAGIAGAAAAAAAAQAAAKSBwwkEAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFz
L3dlYmdsL2dldC1hY3RpdmUtdGVzdC1zdGRlcnIudHh0VVQFAAPULT1QdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgApaUcQQbEP2OWAAAAJgEAAG8AGAAAAAAAAQAAAKSBCgsEAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dl
YmdsL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLXRlc3Qtc3RkZXJyLnR4dFVUBQAD1S09UHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAKWlHEHwZpEScQAAAHkAAABoABgAAAAAAAEAAACkgUkMBAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0
L2NhbnZhcy93ZWJnbC9udWxsLW9iamVjdC1iZWhhdmlvdXItc3RkZXJyLnR4dFVUBQAD1i09UHV4
CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAEWlHEEAAAAAAAAAAAAAAAAvABgAAAAAAAAAEADtQVwN
BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL1VUBQADIi09
UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAEWlHEEAAAAAAAAAAAAAAAA1ABgAAAAAAAAAEADt
QcUNBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3Rz
L1VUBQADIi09UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAEWlHEEAAAAAAAAAAAAAAAA+ABgA
AAAAAAAAEADtQTQOBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9o
dHRwL3Rlc3RzL3NlY3VyaXR5L1VUBQADIi09UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAEWl
HEEAAAAAAAAAAAAAAABLABgAAAAAAAAAEADtQawOBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9VVAUAAyIt
PVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABFpRxBpaPPCG4AAAByAAAAewAYAAAAAAABAAAA
pIExDwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0
cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtaWZyYW1lLWluLW1haW4tZnJhbWUtYWxs
b3dlZC1zdGRlcnIudHh0VVQFAAMiLT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAtqUcQQAA
AAAAAAAAAAAAABwAGAAAAAAAAAAQAO1BVBAEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3N2Zy9V
VAUAA/ctPVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAC2pRxBAAAAAAAAAAAAAAAAIgAYAAAA
AAAAABAA7UGqEAQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvc3ZnL2JhdGlrL1VUBQAD9y09UHV4
CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAALalHEEAAAAAAAAAAAAAAAAnABgAAAAAAAAAEADtQQYR
BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9zdmcvYmF0aWsvdGV4dC9VVAUAA/gtPVB1eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACAC2pRxBo9Qdc4dYAAD9YwAAPQAYAAAAAAAAAAAApIFnEQQAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvc3ZnL2JhdGlrL3RleHQvdGV4dExheW91dDItYWN0dWFsLnBu
Z1VUBQAD+C09UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALalHEE/ikItLgIAAH8FAAA8ABgA
AAAAAAEAAACkgWVqBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9zdmcvYmF0aWsvdGV4dC9zbWFs
bEZvbnRzLWRpZmZzLmh0bWxVVAUAA/ctPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAC2pRxB
7z8L7dtXAABTYwAAPwAYAAAAAAAAAAAApIEJbQQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvc3Zn
L2JhdGlrL3RleHQvdGV4dExheW91dDItZXhwZWN0ZWQucG5nVVQFAAP4LT1QdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgAtqUcQWS5J+xfoAAANK0AAD4AGAAAAAAAAAAAAKSBXcUEAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3N2Zy9iYXRpay90ZXh0L3NtYWxsRm9udHMtZXhwZWN0ZWQucG5nVVQF
AAP3LT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAtqUcQfIGtwV9VwAAKWUAADsAGAAAAAAA
AAAAAKSBNGYFAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3N2Zy9iYXRpay90ZXh0L3RleHRMYXlv
dXQyLWRpZmYucG5nVVQFAAP4LT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAtqUcQWZGYAUr
oAAARK0AADwAGAAAAAAAAAAAAKSBJr4FAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3N2Zy9iYXRp
ay90ZXh0L3NtYWxsRm9udHMtYWN0dWFsLnBuZ1VUBQAD9y09UHV4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIALalHEHzsQg8Qq0AAOm/AAA6ABgAAAAAAAAAAACkgcdeBgB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9zdmcvYmF0aWsvdGV4dC9zbWFsbEZvbnRzLWRpZmYucG5nVVQFAAP3LT1QdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAtqUcQX43CGstAgAAggUAAD0AGAAAAAAAAQAAAKSBfQwHAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3N2Zy9iYXRpay90ZXh0L3RleHRMYXlvdXQyLWRpZmZzLmh0
bWxVVAUAA/gtPVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAACTpRxBAAAAAAAAAAAAAAAAIgAY
AAAAAAAAABAA7UEhDwcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaW5zcGVjdG9yL1VUBQADti09
UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAJOlHEEAAAAAAAAAAAAAAAArABgAAAAAAAAAEADt
QX0PBwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9pbnNwZWN0b3IvcHJvZmlsZXIvVVQFAAO2LT1Q
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAk6UcQcFHkpaXBAAAqqIAAFAAGAAAAAAAAQAAAKSB
4g8HAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2luc3BlY3Rvci9wcm9maWxlci93ZWJnbC1wcm9m
aWxlci1hcGktY2hhbmdlcy1zdGRlcnIudHh0VVQFAAO2LT1QdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAJqUcQZanh50IAQAAjwIAAEMAGAAAAAAAAQAAAKSBAxUHAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3B5d2Vic29ja2V0LndzLmxvZy0yOEF1ZzIwMTItMjAzNzEyLW91dC50eHRVVAUAA+gs
PVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACADjpRxB1N+J4haFAAA27wMAJgAYAAAAAAABAAAA
pIGIFgcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdHNfcnVuMC50eHRVVAUAA0kuPVB1eAsA
AQToAwAABOgDAABQSwECHgMUAAIACAD2pRxBt5qhm/AkAACDnQAAJAAYAAAAAAABAAAApIH+mwcA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcmVzdWx0cy5odG1sVVQFAANwLj1QdXgLAAEE6AMAAATo
AwAAUEsBAh4DCgAAAAAApqUcQQAAAAAAAAAAAAAAACAAGAAAAAAAAAAQAO1BTMEHAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsdWdpbnMvVVQFAAPYLT1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgApqUcQShjbpXvAAAAWQEAAEQAGAAAAAAAAQAAAKSBpsEHAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsdWdpbnMvbnVsbC1ucHAtZ2V0dmFsdWUtcG9pbnRlci1zdGRlcnIudHh0VVQFAAPYLT1Q
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA9qUcQT2H7ZfAAgAAeQkAACkAGAAAAAAAAQAAAKSB
E8MHAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Z1bGxfcmVzdWx0cy5qc29uVVQFAANwLj1QdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAKqUcQTwOKdDTAwAAXCYAAEMAGAAAAAAAAQAAAKSBNsYH
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3B5d2Vic29ja2V0LndzLmxvZy0yOEF1ZzIwMTItMjAz
NzEyLWVyci50eHRVVAUAA+8sPVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAC5pBxBAAAAAAAA
AAAAAAAAIwAYAAAAAAAAABAA7UGGygcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvYW5pbWF0aW9u
cy9VVAUAAx0sPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACADwpRxBIR/I1n8AAAAHAQAASwAY
AAAAAAABAAAApIHjygcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvYW5pbWF0aW9ucy9zdXNwZW5k
LXJlc3VtZS1hbmltYXRpb24tZXZlbnRzLWRpZmYudHh0VVQFAANjLj1QdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgA8KUcQQCUQg95AAAAzgAAAE0AGAAAAAAAAQAAAKSB58sHAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2FuaW1hdGlvbnMvc3VzcGVuZC1yZXN1bWUtYW5pbWF0aW9uLWV2ZW50cy1h
Y3R1YWwudHh0VVQFAANjLj1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA8KUcQaK4GW5yBwAA
7xkAAFMAGAAAAAAAAQAAAKSB58wHAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2FuaW1hdGlvbnMv
c3VzcGVuZC1yZXN1bWUtYW5pbWF0aW9uLWV2ZW50cy1wcmV0dHktZGlmZi5odG1sVVQFAANjLj1Q
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA8KUcQfXQFX2AAAAA+gAAAE8AGAAAAAAAAQAAAKSB
5tQHAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2FuaW1hdGlvbnMvc3VzcGVuZC1yZXN1bWUtYW5p
bWF0aW9uLWV2ZW50cy1leHBlY3RlZC50eHRVVAUAA2MuPVB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACADwpRxBMZWMc8UAAABtAQAATQAYAAAAAAABAAAApIHv1QcAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvYW5pbWF0aW9ucy9zdXNwZW5kLXJlc3VtZS1hbmltYXRpb24tZXZlbnRzLXdkaWZmLmh0
bWxVVAUAA2MuPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACADupRxBkexmgRokAABvYQAAIgAY
AAAAAAABAAAApIE71wcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cGQuY29uZlVUBQADXy49
UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAKqkHEEAAAAAAAAAAAAAAAAdABgAAAAAAAAAEADt
QbH7BwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL1VUBQAD/ys9UHV4CwABBOgDAAAE6AMA
AFBLAQIeAwoAAAAAACulHEEAAAAAAAAAAAAAAAAjABgAAAAAAAAAEADtQQj8BwB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL1VUBQAD8Sw9UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoA
AAAAAKqkHEEAAAAAAAAAAAAAAAApABgAAAAAAAAAEADtQWX8BwB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9odHRwL3Rlc3RzL2NhY2hlL1VUBQADACw9UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
AKqkHEGEmn2YlgEAAB0DAABGABgAAAAAAAEAAACkgcj8BwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9odHRwL3Rlc3RzL2NhY2hlL3N0b3BwZWQtcmV2YWxpZGF0aW9uLWRpZmYudHh0VVQFAAP/Kz1Q
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAqqQcQY2lfIqPAQAA6AIAAEgAGAAAAAAAAQAAAKSB
3v4HAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvc3RvcHBlZC1yZXZh
bGlkYXRpb24td2RpZmYuaHRtbFVUBQAD/ys9UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKqk
HEH+waUdQAEAAFoCAABIABgAAAAAAAEAAACkge8ACAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9o
dHRwL3Rlc3RzL2NhY2hlL3N0b3BwZWQtcmV2YWxpZGF0aW9uLWFjdHVhbC50eHRVVAUAA/8rPVB1
eAsAAQToAwAABOgDAABQSwECHgMUAAIACACqpBxBCaC5nL8AAAA+AwAATgAYAAAAAAABAAAApIGx
AggAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9zdWJyZXNvdXJjZS1l
eHBpcmF0aW9uLTEtZXhwZWN0ZWQudHh0VVQFAAP/Kz1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgAqqQcQbnHjybbHwAAqCsAAEgAGAAAAAAAAAAAAKSB+AMIAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2h0dHAvdGVzdHMvY2FjaGUvc3RvcHBlZC1yZXZhbGlkYXRpb24tYWN0dWFsLnBuZ1VUBQAD
/ys9UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKqkHEFQFbUFKwIAACAGAABMABgAAAAAAAEA
AACkgVUkCAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3N1YnJlc291
cmNlLWV4cGlyYXRpb24tMS13ZGlmZi5odG1sVVQFAAP/Kz1QdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAqqQcQUCgvKqECAAAEh8AAE4AGAAAAAAAAQAAAKSBBicIAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvc3RvcHBlZC1yZXZhbGlkYXRpb24tcHJldHR5LWRpZmYu
aHRtbFVUBQAD/ys9UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKqkHEG5x48m2x8AAKgrAABM
ABgAAAAAAAAAAACkgRIwCAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hl
L3N1YnJlc291cmNlLWV4cGlyYXRpb24tMS1hY3R1YWwucG5nVVQFAAMALD1QdXgLAAEE6AMAAATo
AwAAUEsBAh4DCgACAAAAqqQcQZzpp3UGAAAABgAAAEoAGAAAAAAAAQAAAKSBc1AIAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvc3RvcHBlZC1yZXZhbGlkYXRpb24tZXhw
ZWN0ZWQudHh0VVQFAAP/Kz1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAqqQcQf7BpR1AAQAA
WgIAAEwAGAAAAAAAAQAAAKSB/VAIAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
Y2FjaGUvc3VicmVzb3VyY2UtZXhwaXJhdGlvbi0xLWFjdHVhbC50eHRVVAUAA/8rPVB1eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACACqpBxBUHekQU8JAABBKAAAUgAYAAAAAAABAAAApIHDUggAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9zdWJyZXNvdXJjZS1leHBpcmF0
aW9uLTEtcHJldHR5LWRpZmYuaHRtbFVUBQADACw9UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
AKqkHEGdcvVNMAIAAGgGAABKABgAAAAAAAEAAACkgZ5cCAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9odHRwL3Rlc3RzL2NhY2hlL3N1YnJlc291cmNlLWV4cGlyYXRpb24tMS1kaWZmLnR4dFVUBQAD
/ys9UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAPOkHEEAAAAAAAAAAAAAAAAoABgAAAAAAAAA
EADtQVJfCAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL21pc2MvVVQFAAOJLD1Q
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA86QcQRU1NZJ6AAAAvAAAAEIAGAAAAAAAAQAAAKSB
tF8IAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy94c2x0LWJhZC1pbXBv
cnQtc3RkZXJyLnR4dFVUBQADiSw9UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAOakHEGMaIDk
bQAAAHIAAABHABgAAAAAAAEAAACkgapgCAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL21pc2MvZG5zLXByZWZldGNoLWNvbnRyb2wtc3RkZXJyLnR4dFVUBQADcCw9UHV4CwABBOgD
AAAE6AMAAFBLAQIeAwoAAAAAACulHEEAAAAAAAAAAAAAAAAtABgAAAAAAAAAEADtQZhhCAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC9VVAUAA/EsPVB1eAsAAQTo
AwAABOgDAABQSwECHgMKAAAAAAArpRxBAAAAAAAAAAAAAAAAMwAYAAAAAAAAABAA7UH/YQgAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvVVQFAAPxLD1Q
dXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAK6UcQQAAAAAAAAAAAAAAADgAGAAAAAAAAAAQAO1B
bGIIAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvVVQFAAPxLD1QdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAK6UcQQAAAAAAAAAAAAAAAEAA
GAAAAAAAAAAQAO1B3mIIAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9VVAUAA/EsPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CAArpRxB69aMPSkAAABIAAAAWAAYAAAAAAABAAAApIFYYwgAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3dvcmtlci1yZWxvYWQt
c3RkZXJyLnR4dFVUBQAD8Sw9UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAABOlHEEAAAAAAAAA
AAAAAAAsABgAAAAAAAAAEADtQRNkCAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L1VUBQADxSw9UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAA2lHEFWcFJpYgAA
AI4AAABVABgAAAAAAAEAAACkgXlkCAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3hzcy1ERU5JRUQteG1sLWV4dGVybmFsLWVudGl0eS1zdGRlcnIudHh0VVQFAAO5
LD1QdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgADaUcQWBLZhCRAAAA+wEAAF0AGAAAAAAAAQAA
AKSBamUIAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURF
TklFRC14c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUBQADuSw9UHV4CwAB
BOgDAAAE6AMAAFBLAQIeAwoAAAAAABOlHEEAAAAAAAAAAAAAAABCABgAAAAAAAAAEADtQZJmCAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9VVAUAA8UsPVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAATpRxBY6qsbIIAAACo
AAAAagAYAAAAAAABAAAApIEOZwgAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3Jj
LTItc3RkZXJyLnR4dFVUBQADxSw9UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABOlHEFjqqxs
ggAAAKgAAABYABgAAAAAAAEAAACkgTRoCAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtYWxsb3dlZC1zdGRlcnIudHh0
VVQFAAPFLD1QdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAA76UcQQAAAAAAAAAAAAAAACAAGAAA
AAAAAAAQAO1BSGkIAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3JldHJpZXMvVVQFAANhLj1QdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgA9aUcQaYo9N09AQAAoQMAAC4AGAAAAAAAAQAAAKSBomkI
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3JldHJpZXMvdGVzdHNfcnVuMC50eHRVVAUAA24uPVB1
eAsAAQToAwAABOgDAABQSwUGAAAAALcAtwCCZAAAR2sIAAAA
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161115</attachid>
            <date>2012-08-28 18:54:55 -0700</date>
            <delta_ts>2012-08-29 18:30:21 -0700</delta_ts>
            <desc>Patch with suggested changes and speculative cr-linux test fix</desc>
            <filename>95207-2.patch</filename>
            <type>text/plain</type>
            <size>92494</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMjY5MDApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA4LTI4ICBNaWNoYWVsIFNhYm9mZiAgPG1z
YWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIENTUyBQYXJzZXIgc2hvdWxkIGRpcmVjdGx5IHBh
cnNlIDggYml0IHNvdXJjZSBzdHJpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NTIwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5oOgorICAgICAgICAoV1RGOjpl
cXVhbElnbm9yaW5nQ2FzZSk6IEFkZGVkIChjb25zdCBjaGFyKiwgY29uc3QgTENoYXIqLCB1bnNp
Z25lZCkgZmxhdm9yIHRvIHN1cHBvcnQKKyAgICAgICAgOCBiaXQgQ1NTIHBhcnNlciB3b3JrLgor
CiAyMDEyLTA4LTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI2ODM2LgpJbmRleDogU291cmNl
L1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYv
dGV4dC9TdHJpbmdJbXBsLmgJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9XVEYvd3RmL3Rl
eHQvU3RyaW5nSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NDYsNiArODQ2LDcgQEAgV1RGX0VY
UE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1YWxJZ25vcmluZwogaW5saW5lIGJvb2wgZXF1YWxJZ25v
cmluZ0Nhc2UoY29uc3QgVUNoYXIqIGEsIGNvbnN0IGNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkg
eyByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2UoYSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hh
cio+KGIpLCBsZW5ndGgpOyB9CiBpbmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBM
Q2hhciogYSwgY29uc3QgVUNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1cm4gZXF1YWxJ
Z25vcmluZ0Nhc2UoYiwgYSwgbGVuZ3RoKTsgfQogaW5saW5lIGJvb2wgZXF1YWxJZ25vcmluZ0Nh
c2UoY29uc3QgY2hhciogYSwgY29uc3QgVUNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1
cm4gZXF1YWxJZ25vcmluZ0Nhc2UoYiwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KGEp
LCBsZW5ndGgpOyB9CitpbmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBjaGFyKiBh
LCBjb25zdCBMQ2hhciogYiwgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBlcXVhbElnbm9yaW5n
Q2FzZShiLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oYSksIGxlbmd0aCk7IH0KIAog
V1RGX0VYUE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1YWxJZ25vcmluZ051bGxpdHkoU3RyaW5nSW1w
bCosIFN0cmluZ0ltcGwqKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI2OTAwKQorKysg
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTM5IEBA
CisyMDEyLTA4LTI4ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENTUyBQYXJzZXIgc2hvdWxkIGRpcmVjdGx5IHBhcnNlIDggYml0IHNvdXJjZSBzdHJpbmdz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTIwNwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZWQg
Q1NTUGFyc2VyIHRvIGhhbmRsZSA4IGJpdCBzdHJpbmdzIGRpcmVjdGx5LiBUZW1wbGF0aXplZCBt
b3N0IHByaXZhdGUgcGFyc2luZyBtZXRob2RzCisgICAgICAgIGFuZCBoZWxwZXIgbWV0aG9kcyBi
eSBjaGFyYWN0ZXIgdHlwZS4gSW50cm9kdWNlZCBzZXZlcmFsIHRlbXBsYXRpemVkIGhlbHBlciBt
ZXRob2RzIGZvcgorICAgICAgICBwYXJzaW5nIG1ldGhvZHMuIFNvbWUgb2YgdGhlc2UgaGVscGVy
IG1ldGhvZHMgaGF2ZSBpbmRlcGVuZGVudCBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHRlbXBsYXRl
CisgICAgICAgIHR5cGVzIHRvIGhhbmRsZSB0aGF0IGFuIDggYml0IHNvdXJjZSBzdHJpbmcgd2hl
biBwYXJzZWQgcHJvZHVjZXMgYSAxNiBiaXQgcmVzdWx0LiBUaGlzIGlzIGR1ZQorICAgICAgICB0
byB1bmljb2RlIGVzY2FwZXMuIFJlbmFtZWQgdGhlIGxleCBtZXRob2QgInJlYWxMZXgiIGFuZCBt
YWRlIGl0IGEgdGVtcGxhdGVkIG1ldGhvZC4gVGhlIGxleAorICAgICAgICBtZXRob2QgdGhhdCBp
cyBjYWxsZWQgYnkgY3NzeXlsZXgoKSwgd2hpY2ggaXMgbm93IGlubGluZWQsIGludm9rZXMgdGhl
IGNvcnJlY3QgaW5zdGFuY2Ugb2YgcmVhbExleAorICAgICAgICB2aWEgYSBtZW1iZXIgZnVuY3Rp
b24gcG9pbnRlci4KKworICAgICAgICBTcGxpdCBvdXQgdGhlIGVuY29kaW5nIHBhcnQgb2YgcGFy
c2VFc2NhcGUoKSBpbnRvIGEgbmV3IHRlbXBsYXRlZCBVbmljb2RlVG9DaGFycygpIG1ldGhvZC4K
KworICAgICAgICBBZGRlZCA4LzE2IGJpdCBzd2l0Y2hpbmcgdG8gQ1NTUGFyc2VyU3RyaW5nIGFz
IHdlbGwgYXMgYWRkZWQgaW5pdGlhbGl6YXRpb24sIHNldHRlcnMgYW5kIGdldHRlcnMuCisgICAg
ICAgIE5vdGUgdGhhdCBDU1NQYXJzZXJTdHJpbmcgbXVzdCBoYXZlIGEgZGVmYXVsdCBjb25zdHJ1
Y3RvciBhcyBpdCBpcyBwYXJ0IG9mIHRoZSBZWUxWQUwgdW5pb24uCisgICAgICAgIFRoZXJlZm9y
ZSBjcmVhdGVkIGluaXQoKSBtZXRob2RzIGluc3RlYWQgb2YgY29uc3RydWN0b3JzLiBNYW55IG9m
IHRoZSBwYXJzZXIgZnVuY3Rpb24gbm93IGRpcmVjdGx5CisgICAgICAgIG1vZGlmeSB0aGUgaW5z
dGFuY2UgaW4geXlsdmFsLiBNYWRlIHN1cHBvcnRpbmcgY2hhbmdlcyBpbiBvdGhlciB3ZWJjb3Jl
IGNsYXNzZXMgdGhhdCBhcmUgdXNlZAorICAgICAgICBkaXJlY3RseSBieSBDU1NQYXJzZXIuCisK
KyAgICAgICAgVGVzdDogZmFzdC9jc3MvdW5pY29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmcuaHRt
bAorCisgICAgICAgICogY3NzL0NTU0dyYW1tYXIueTogUmVtb3ZlZCBjc3N5eWxleCgpIGFuZCBj
aGFuZ2VkIG1hbmlwdWxhdGlvbiBvZiBDU1NQYXJzZXJTdHJpbmcgb2JqZWN0cyB0bworICAgICAg
ICB1c2UgbmV3bHkgd3JpdHRlbiBtZXRob2RzIGluc3RlYWQgb2YgZGlyZWN0IG1hbmlwdWxhdGlv
biBvZiBhdHRyaWJ1dGVzLgorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAg
IFRlbXBsYXRpemVkIG5ldyBvciBleGlzdGluZyBoZWxwZXIgbWV0aG9kcworICAgICAgICAoV2Vi
Q29yZTo6bWFrZUxvd2VyKToKKyAgICAgICAgKFdlYkNvcmU6OmlzQ1NTTGV0dGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OmlzQ1NTRXNjYXBlKToKKyAgICAgICAgKFdlYkNvcmU6OmlzVVJJTGV0dGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNoKToKKyAgICAg
ICAgKFdlYkNvcmU6OmlzRXF1YWxUb0NTU0lkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
Y2hlY2tBbmRTa2lwRXNjYXBlKToKKyAgICAgICAgKFdlYkNvcmU6OnNraXBXaGl0ZVNwYWNlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y3VycmVudENoYXJhY3RlcjE2KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6aXNJZGVudGlmaWVyU3RhcnQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpjaGVja0FuZFNraXBTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjpwYXJzZVVuaWNvZGVSYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlTnRoQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZU50
aENoaWxkRXh0cmEpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpkZXRlY3RGdW5jdGlv
blR5cGVUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdE1lZGlhUXVl
cnlUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdE51bWJlclRva2Vu
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6ZGV0ZWN0RGFzaFRva2VuKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6ZGV0ZWN0QXRUb2tlbik6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQYXJzZXI6OnNldFJ1bGVIZWFkZXJFbmQpOgorICAgICAgICAoV2ViQ29yZTo6Y3NzUHJv
cGVydHlJRCk6CisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Q1NTUGFyc2VyKTogVXBk
YXRlZCBjb25zdHJ1Y3RvciBmb3IgaW5pdGlhbGl6aW5nIG5ldyBhdHRyaWJ1dGVzLgorCisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6Omxvd2VyKTogQ2FsbHMgbmV3IG1ha2VMb3dl
cigpIHRlbXBsYXRlIGhlbHBlci4KKworICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpzZXR1
cFBhcnNlcik6IEFkZGVkIDggYml0IHBhdGggYW5kIHNldCB1cCBwYXJzZXIgYXBwcm9wcmlhdGUg
dG8KKyAgICAgICAgc3RyaW5nIHR5cGUuCisKKyAgICAgICAgKFdlYkNvcmU6OmVxdWFsKTogVXBk
YXRlZCB0byB1c2UgQ1NTUGFyc2VyU3RyaW5nIGdldHRlcnMgYW5kIFN0cmluZ0ltcGw6OmVxdWFs
CisgICAgICAgIChXZWJDb3JlOjplcXVhbElnbm9yaW5nQ2FzZSk6IFVwZGF0ZWQgdG8gdXNlIENT
U1BhcnNlclN0cmluZyBnZXR0ZXJzIGFuZAorICAgICAgICBTdHJpbmdJbXBsOjplcXVhbElnbm9y
aW5nQ2FzZQorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDb2xvclZhbHVlKTogVXBkYXRlZCB0byB1
c2UgbmV3IENTU1BhcnNlclN0cmluZzo6aW5pdCgpCisgICAgICAgIChXZWJDb3JlOjpwYXJzZVNp
bXBsZUxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZUtleXdvcmRWYWx1ZSk6IFVwZGF0
ZWQgdG8gdXNlIG5ldyBDU1NQYXJzZXJTdHJpbmc6OmluaXQoKQorICAgICAgICAoV2ViQ29yZTo6
cGFyc2VUcmFuc2Zvcm1Bcmd1bWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpw
YXJzZVN5c3RlbUNvbG9yKTogVXBkYXRlZCB0byB1c2UgbmV3IENTU1BhcnNlclN0cmluZzo6aW5p
dCgpCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnN0b3JlVmFyaWFibGVEZWNsYXJhdGlv
bik6IENyZWF0ZSByaWdodCBjaGFyYWN0ZXIgc2l6ZWQgQXRvbWljU3RyaW5nLgorICAgICAgICAo
V2ViQ29yZTo6Rm9udEZhbWlseVZhbHVlQnVpbGRlcjo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6
OlRyYW5zZm9ybU9wZXJhdGlvbkluZm86OlRyYW5zZm9ybU9wZXJhdGlvbkluZm8pOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUZvbnRGZWF0dXJlVGFnKToKKworICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUVzY2FwZSk6IE5vdyBvbmx5IHBhcnNlcyBhbiBlc2Nh
cGUgYW5kIHJldHVybnMgdGhlIHJlc3VsdGluZworICAgICAgICBVbmljb2RlIHZhbHVlIGFzIGFu
IHVuc2lnbmVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpVbmljb2RlVG9DaGFycyk6
IE5ldyBtZXRob2QgdG8gd3JpdGUgb3V0IHVuaWNvZGUgY2hhcmFjdGVyKHMpCisgICAgICAgIGJh
c2VkIG9uIGNoYXJhY3RlciB0eXBlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJz
ZUlkZW50aWZpZXJJbnRlcm5hbCk6IFRlbXBsYXRlZCBoZWxwZXIuCisgICAgICAgIChXZWJDb3Jl
OjpDU1NQYXJzZXI6OnBhcnNlSWRlbnRpZmllcik6IFBhcnNlcyBpZGVudGlmaWVycywgcG9zc2li
bHkgdXBjb252ZXJ0aW5nCisgICAgICAgIHRoZSByZXN1bHQgd2hlbiBhIHVuaWNvZGUgZXNjYXBl
IGlzIGZvdW5kIGluIGFuIDggYml0IHNvdXJjZS4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6cGFyc2VTdHJpbmdJbnRlcm5hbCk6IFRlbXBsYXRlZCBoZWxwZXIuCisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnBhcnNlU3RyaW5nKTogUGFyc2VzIHN0cmluZ3MsIHBvc3NpYmx5IHVw
Y29udmVydGluZworICAgICAgICB0aGUgcmVzdWx0IHdoZW4gYSB1bmljb2RlIGVzY2FwZSBpcyBm
b3VuZCBpbiBhbiA4IGJpdCBzb3VyY2UuCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBh
cnNlVVJJSW50ZXJuYWwpOiBUZW1wbGF0ZWQgaGVscGVyLgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpwYXJzZVVSSSk6IFJlcGFyc2VzIGEgcGFyc2VkIGlkZW50aWZpZXIgdG8gc2VlIGlm
IGl0IGlzIGEgVVJJLgorICAgICAgICBUaGlzIG1ldGhvZCBkb2Vzbid0IG5lZWQgdG8gdXAgY29u
dmVydCBmcm9tIDggdG8gMTYgYml0cyBzaW5jZSB0aGF0IHdvdWxkIGhhdmUgYmVlbgorICAgICAg
ICBkb25lIGluIHBhcnNlSWRlbnRmaWVyKCkuCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6
OnJlYWxMZXgpOiBMb3Qgb2YgdGVtcGxhdGUgcmVsYXRlZCBjaGFuZ2VzLiAgUmVtb3ZlZCB5eWx2
YWwtPnN0cmluZworICAgICAgICBBU1NFUlQgY2hlY2tzIGF0IHRoZSBlbmQsIHNpbmNlIHRoZXkg
YXJlIHRvbyBuYWl2ZSB0byBoYW5kbGUgdXBjb252ZXJ0ZWQgaWRlbnRpZmllciwKKyAgICAgICAg
c3RyaW5nIGFuZCBVUklzLiAgVGhleSBjb21wYXJlZCBzb3VyY2UgcG9pbnRlcnMgKG1fdG9rZW5T
dGFydCkgd2l0aCByZXN1bHRpbmcgc3RyaW5ncy4KKyAgICAgICAgKFdlYkNvcmU6OmZpeFVucGFy
c2VkUHJvcGVydGllcyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmZpeFVucGFyc2Vk
UHJvcGVydHlSYW5nZXMpOiBBZGRlZCBuZXcgdGVtcGxhdGUgaGVscGVyIHdpdGggc2FtZSBuYW1l
LgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrUnVsZUhlYWRlclN0YXJ0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFya1J1bGVIZWFkZXJFbmQpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrUnVsZUJvZHlTdGFydCk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQYXJzZXI6Om1hcmtSdWxlQm9keUVuZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6Om1hcmtQcm9wZXJ0eVN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFy
a1Byb3BlcnR5RW5kKToKKyAgICAgICAgKFdlYkNvcmU6OmNzc1ZhbHVlS2V5d29yZElEKToKKwor
ICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAgICAgKENTU1BhcnNlcik6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OmxleCk6IE1hZGUgdGhpcyBpbmxpbmUgaGVscGVyIHRoYXQg
Y2FsbHMgY29ycmVjdCByZWFsTGV4KCkuCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Omlz
OEJpdFNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnRva2VuU3RhcnRPZmZz
ZXQpOiBUZW1wbGF0ZWQgbWV0aG9kIHJldHVybmluZyBvZmZzZXQgaW4gc291cmNlCisgICAgICAg
IG9mIHRoZSBjdXJyZW50IHRva2VuIHN0YXJ0LgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
Ojp0b2tlblN0YXJ0Q2hhcik6IFRlbXBsYXRlZCBhY2Nlc3MgdG8gbV90b2tlblN0YXJ0LgorICAg
ICAgICAoV2ViQ29yZTo6Y3NzeXlsZXgpOiBNYWRlIHRoaXMgaW5saW5lIHRvIGF2b2lkIGNhbGwu
CisgICAgICAgICogY3NzL0NTU1BhcnNlclZhbHVlcy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyU3RyaW5nOjppbml0KTogQWRkZWQgdGhyZWUgbmV3IGluaXRpYWxpemF0aW9uIG1ldGhv
ZHMuCisKKyAgICAgICAgTmV3IHNldHRlcnMsIGdldHRlcnMgYW5kIGhlbHBlciBtZXRob2RzLgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjpjbGVhcik6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXJTdHJpbmc6OmlzOEJpdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXJTdHJpbmc6OmNoYXJhY3RlcnM4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmlu
Zzo6Y2hhcmFjdGVyczE2KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmluZzo6bGVu
Z3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmluZzo6c2V0TGVuZ3RoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmluZzo6b3BlcmF0b3JbXSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6OmVxdWFsSWdub3JpbmdDYXNlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhcnNlclN0cmluZzo6b3BlcmF0b3IgU3RyaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlclN0cmluZzo6b3BlcmF0b3IgQXRvbWljU3RyaW5nKToKKworICAgICAgICBP
dGhlciBtZXRob2RzIHRlbXBsYXRpemVkIHRvIHN1cHBvcnQgY2hhbmdlcyBpbiBDU1NQYXJzZXIu
CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGV4dEVuY29kaW5nOjpUZXh0RW5jb2RpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL3Rl
eHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YXRvbWljQ2Fu
b25pY2FsVGV4dEVuY29kaW5nTmFtZSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0RW5j
b2RpbmdSZWdpc3RyeS5oOgorICAgICAgICAqIHN2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Z2VuZXJpY1BhcnNlTnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OnBhcnNlU1ZHTnVtYmVyKToKKyAgICAgICAgKiBzdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmg6Cisg
ICAgICAgIChXZWJDb3JlOjppc1NWR1NwYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OnNraXBPcHRp
b25hbFNWR1NwYWNlcyk6CisgICAgICAgIChXZWJDb3JlOjpza2lwT3B0aW9uYWxTVkdTcGFjZXNP
ckRlbGltaXRlcik6CisKIDIwMTItMDgtMjggIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgogCiAgICAgICAgIFtOZXcgTXVsdGljb2x1bW5dIFJlbmFtZSBzb21lIGZsb3cgdGhyZWFkIG1l
dGhvZHMgYW5kIHJlZ2lvbiBtZXRob2RzL21lbWJlcnMgdG8gbWFrZSB0aGVtCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NHcmFtbWFyLnkJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NHcmFtbWFyLnkJKHdvcmtpbmcgY29weSkKQEAgLTkzLDExICs5Myw2IEBAIHN0YXRpYyBp
bmxpbmUgaW50IGNzc3l5ZXJyb3Iodm9pZCosIGNvbnMKICAgICByZXR1cm4gMTsKIH0KIAotc3Rh
dGljIGludCBjc3N5eWxleChZWVNUWVBFKiB5eWx2YWwsIENTU1BhcnNlciogcGFyc2VyKQotewot
ICAgIHJldHVybiBwYXJzZXItPmxleCh5eWx2YWwpOwotfQotCiAlfQogCiAlZXhwZWN0IDYyCkBA
IC01MDksNyArNTA0LDcgQEAgTkFNRVNQQUNFX1NZTSBtYXliZV9zcGFjZSBtYXliZV9uc19wcmVm
aQogOwogCiBtYXliZV9uc19wcmVmaXg6Ci0vKiBlbXB0eSAqLyB7ICQkLmNoYXJhY3RlcnMgPSAw
OyB9CisvKiBlbXB0eSAqLyB7ICQkLmNsZWFyKCk7IH0KIHwgSURFTlQgbWF5YmVfc3BhY2UgeyAk
JCA9ICQxOyB9CiA7CiAKQEAgLTY5NCw5ICs2ODksOSBAQCBrZXk6CiAgICAgfCBJREVOVCB7CiAg
ICAgICAgICQkLmlkID0gMDsgJCQuaXNJbnQgPSBmYWxzZTsgJCQudW5pdCA9IENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NfTlVNQkVSOwogICAgICAgICBDU1NQYXJzZXJTdHJpbmcmIHN0ciA9ICQxOwot
ICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoImZyb20iLCBzdHIuY2hhcmFjdGVycywgc3Ry
Lmxlbmd0aCkpCisgICAgICAgIGlmIChzdHIuZXF1YWxJZ25vcmluZ0Nhc2UoImZyb20iKSkKICAg
ICAgICAgICAgICQkLmZWYWx1ZSA9IDA7Ci0gICAgICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKCJ0byIsIHN0ci5jaGFyYWN0ZXJzLCBzdHIubGVuZ3RoKSkKKyAgICAgICAgZWxzZSBpZiAo
c3RyLmVxdWFsSWdub3JpbmdDYXNlKCJ0byIpKQogICAgICAgICAgICAgJCQuZlZhbHVlID0gMTAw
OwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBZWUVSUk9SOwpAQCAtOTc2LDggKzk3MSw4IEBA
IHNlbGVjdG9yOgogICAgIDsKIAogbmFtZXNwYWNlX3NlbGVjdG9yOgotICAgIC8qIGVtcHR5ICov
ICd8JyB7ICQkLmNoYXJhY3RlcnMgPSAwOyAkJC5sZW5ndGggPSAwOyB9Ci0gICAgfCAnKicgJ3wn
IHsgc3RhdGljIFVDaGFyIHN0YXIgPSAnKic7ICQkLmNoYXJhY3RlcnMgPSAmc3RhcjsgJCQubGVu
Z3RoID0gMTsgfQorICAgIC8qIGVtcHR5ICovICd8JyB7ICQkLmNsZWFyKCk7IH0KKyAgICB8ICcq
JyAnfCcgeyBzdGF0aWMgTENoYXIgc3RhciA9ICcqJzsgJCQuaW5pdCgmc3RhciwgMSk7IH0KICAg
ICB8IElERU5UICd8JyB7ICQkID0gJDE7IH0KIDsKICAgICAKQEAgLTEwNDAsOSArMTAzNSw4IEBA
IGVsZW1lbnRfbmFtZToKICAgICAgICAgJCQgPSBzdHI7CiAgICAgfQogICAgIHwgJyonIHsKLSAg
ICAgICAgc3RhdGljIFVDaGFyIHN0YXIgPSAnKic7Ci0gICAgICAgICQkLmNoYXJhY3RlcnMgPSAm
c3RhcjsKLSAgICAgICAgJCQubGVuZ3RoID0gMTsKKyAgICAgICAgc3RhdGljIExDaGFyIHN0YXIg
PSAnKic7CisgICAgICAgICQkLmluaXQoJnN0YXIsIDEpOwogICAgIH0KICAgOwogCkBAIC0xMDcw
LDcgKzEwNjQsNyBAQCBzcGVjaWZpZXI6CiAgICAgICAgICQkLT5zZXRWYWx1ZSgkMSk7CiAgICAg
fQogICB8IEhFWCB7Ci0gICAgICAgIGlmICgkMS5jaGFyYWN0ZXJzWzBdID49ICcwJyAmJiAkMS5j
aGFyYWN0ZXJzWzBdIDw9ICc5JykgeworICAgICAgICBpZiAoJDFbMF0gPj0gJzAnICYmICQxWzBd
IDw9ICc5JykgewogICAgICAgICAgICAgJCQgPSAwOwogICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZUZsb2F0aW5nU2VsZWN0b3IoKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuY3BwCShyZXZpc2lvbiAxMjY4MzcpCisrKyBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTEsNiArOTEsNyBAQAogI2luY2x1
ZGUgPHd0Zi9kdG9hLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVmZmVyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0ltcGwuaD4KIAogI2lmIEVOQUJMRShDU1NfSU1BR0VfU0VUKQogI2luY2x1ZGUgIkNTU0ltYWdl
U2V0VmFsdWUuaCIKQEAgLTE1NywyNSArMTU4LDEyIEBAIHN0YXRpYyBjb25zdCBkb3VibGUgTUFY
X1NDQUxFID0gMTAwMDAwMDsKIAogc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgQ1NTUGFyc2VyU3Ry
aW5nJiBhLCBjb25zdCBjaGFyKiBiKQogewotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYS5sZW5n
dGg7ICsraSkgewotICAgICAgICBpZiAoIWJbaV0pCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgICAgIGlmIChhLmNoYXJhY3RlcnNbaV0gIT0gYltpXSkKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICB9Ci0gICAgcmV0dXJuICFiW2EubGVuZ3RoXTsKKyAgICByZXR1cm4gYS5p
czhCaXQoKSA/IFdURjo6ZXF1YWwoYS5jaGFyYWN0ZXJzOCgpLCByZWludGVycHJldF9jYXN0PGNv
bnN0IExDaGFyKj4oYiksIGEubGVuZ3RoKCkpIDogV1RGOjplcXVhbChhLmNoYXJhY3RlcnMxNigp
LCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oYiksIGEubGVuZ3RoKCkpOwogfQogCiBz
dGF0aWMgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBDU1NQYXJzZXJTdHJpbmcmIGEsIGNv
bnN0IGNoYXIqIGIpCiB7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgKytpKSB7
Ci0gICAgICAgIGlmICghYltpXSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
QVNTRVJUKCFpc0FTQ0lJVXBwZXIoYltpXSkpOwotICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGEu
Y2hhcmFjdGVyc1tpXSkgIT0gYltpXSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0gICAgcmV0dXJuICFiW2EubGVuZ3RoXTsKKyAgICByZXR1cm4gYS5pczhCaXQoKSA/IFdURjo6
ZXF1YWxJZ25vcmluZ0Nhc2UoYiwgYS5jaGFyYWN0ZXJzOCgpLCBhLmxlbmd0aCgpKSA6IFdURjo6
ZXF1YWxJZ25vcmluZ0Nhc2UoYiwgYS5jaGFyYWN0ZXJzMTYoKSwgYS5sZW5ndGgoKSk7CiB9CiAK
IHN0YXRpYyBib29sIGhhc1ByZWZpeChjb25zdCBjaGFyKiBzdHJpbmcsIHVuc2lnbmVkIGxlbmd0
aCwgY29uc3QgY2hhciogcHJlZml4KQpAQCAtMjYwLDggKzI0OCwxMCBAQCBDU1NQYXJzZXI6OkNT
U1BhcnNlcihjb25zdCBDU1NQYXJzZXJDb250CiAgICAgLCBtX3Byb3BlcnR5UmFuZ2UoVUlOVF9N
QVgsIFVJTlRfTUFYKQogICAgICwgbV9ydWxlU291cmNlRGF0YVJlc3VsdCgwKQogICAgICwgbV9w
YXJzaW5nTW9kZShOb3JtYWxNb2RlKQotICAgICwgbV9jdXJyZW50Q2hhcmFjdGVyKDApCi0gICAg
LCBtX3Rva2VuU3RhcnQoMCkKKyAgICAsIG1faXM4Qml0U291cmNlKGZhbHNlKQorICAgICwgbV9j
dXJyZW50Q2hhcmFjdGVyOCgwKQorICAgICwgbV9jdXJyZW50Q2hhcmFjdGVyMTYoMCkKKyAgICAs
IG1fbGVuZ3RoKDApCiAgICAgLCBtX3Rva2VuKDApCiAgICAgLCBtX2xpbmVOdW1iZXIoMCkKICAg
ICAsIG1fbGFzdFNlbGVjdG9yTGluZU51bWJlcigwKQpAQCAtMjcyLDYgKzI2Miw3IEBAIENTU1Bh
cnNlcjo6Q1NTUGFyc2VyKGNvbnN0IENTU1BhcnNlckNvbnQKICNpZiBZWURFQlVHID4gMAogICAg
IGNzc3l5ZGVidWcgPSAxOwogI2VuZGlmCisgICAgbV90b2tlblN0YXJ0LnB0cjggPSAwOwogICAg
IENTU1Byb3BlcnR5U291cmNlRGF0YTo6aW5pdCgpOwogfQogCkBAIC0yODUsNyArMjc2LDggQEAg
Q1NTUGFyc2VyOjp+Q1NTUGFyc2VyKCkKICAgICBkZWxldGVBbGxWYWx1ZXMobV9mbG9hdGluZ0Z1
bmN0aW9ucyk7CiB9CiAKLXZvaWQgQ1NTUGFyc2VyU3RyaW5nOjpsb3dlcigpCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK0FMV0FZU19JTkxJTkUgc3RhdGljIHZvaWQgbWFrZUxv
d2VyKENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIGludCBsZW5ndGgpCiB7CiAgICAgLy8gRklY
TUU6IElmIHdlIG5lZWQgVW5pY29kZSBsb3dlcmNhc2luZyBoZXJlLCB0aGVuIHdlIHByb2JhYmx5
IHdhbnQgdGhlIHJlYWwga2luZAogICAgIC8vIHRoYXQgY2FuIHBvdGVudGlhbGx5IGNoYW5nZSB0
aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgcmF0aGVyIHRoYW4gdGhlIGNoYXJhY3RlcgpAQCAtMzAy
LDI1ICsyOTQsNjUgQEAgdm9pZCBDU1NQYXJzZXJTdHJpbmc6Omxvd2VyKCkKICAgICB9CiB9CiAK
K3ZvaWQgQ1NTUGFyc2VyU3RyaW5nOjpsb3dlcigpCit7CisgICAgaWYgKGlzOEJpdCgpKSB7Cisg
ICAgICAgIG1ha2VMb3dlcihjaGFyYWN0ZXJzOCgpLCBsZW5ndGgoKSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBtYWtlTG93ZXIoY2hhcmFjdGVyczE2KCksIGxlbmd0aCgpKTsKK30K
Kwogdm9pZCBDU1NQYXJzZXI6OnNldHVwUGFyc2VyKGNvbnN0IGNoYXIqIHByZWZpeCwgY29uc3Qg
U3RyaW5nJiBzdHJpbmcsIGNvbnN0IGNoYXIqIHN1ZmZpeCkKIHsKICAgICBtX3BhcnNlZFRleHRQ
cmVmaXhMZW5ndGggPSBzdHJsZW4ocHJlZml4KTsKLSAgICBpbnQgbGVuZ3RoID0gc3RyaW5nLmxl
bmd0aCgpICsgbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3RoICsgc3RybGVuKHN1ZmZpeCkgKyAxOwor
ICAgIHVuc2lnbmVkIHN0cmluZ0xlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAgICB1bnNpZ25l
ZCBsZW5ndGggPSBzdHJpbmdMZW5ndGggKyBtX3BhcnNlZFRleHRQcmVmaXhMZW5ndGggKyBzdHJs
ZW4oc3VmZml4KSArIDE7CisKKyAgICBpZiAoIXN0cmluZ0xlbmd0aCB8fCBzdHJpbmcuaXM4Qml0
KCkpIHsKKyAgICAgICAgbV9kYXRhU3RhcnQ4ID0gYWRvcHRBcnJheVB0cihuZXcgTENoYXJbbGVu
Z3RoXSk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3BhcnNlZFRleHRQcmVm
aXhMZW5ndGg7IGkrKykKKyAgICAgICAgICAgIG1fZGF0YVN0YXJ0OFtpXSA9IHByZWZpeFtpXTsK
KworICAgICAgICBpZiAoc3RyaW5nTGVuZ3RoKQorICAgICAgICAgICAgbWVtY3B5KG1fZGF0YVN0
YXJ0OC5nZXQoKSArIG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCwgc3RyaW5nLmNoYXJhY3RlcnM4
KCksIHN0cmluZ0xlbmd0aCAqIHNpemVvZihMQ2hhcikpOworCisgICAgICAgIHVuc2lnbmVkIHN0
YXJ0ID0gbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3RoICsgc3RyaW5nTGVuZ3RoOworICAgICAgICB1
bnNpZ25lZCBlbmQgPSBzdGFydCArIHN0cmxlbihzdWZmaXgpOworICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSBzdGFydDsgaSA8IGVuZDsgaSsrKQorICAgICAgICAgICAgbV9kYXRhU3RhcnQ4W2ld
ID0gc3VmZml4W2kgLSBzdGFydF07CisKKyAgICAgICAgbV9kYXRhU3RhcnQ4W2xlbmd0aCAtIDFd
ID0gMDsKIAotICAgIG1fZGF0YVN0YXJ0ID0gYWRvcHRBcnJheVB0cihuZXcgVUNoYXJbbGVuZ3Ro
XSk7CisgICAgICAgIG1faXM4Qml0U291cmNlID0gdHJ1ZTsKKyAgICAgICAgbV9jdXJyZW50Q2hh
cmFjdGVyOCA9IG1fZGF0YVN0YXJ0OC5nZXQoKTsKKyAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVy
MTYgPSAwOworICAgICAgICBzZXRUb2tlblN0YXJ0PExDaGFyPihtX2N1cnJlbnRDaGFyYWN0ZXI4
KTsKKyAgICAgICAgbV9sZW5ndGggPSBsZW5ndGg7CisgICAgICAgIG1fbGV4RnVuYyA9ICZDU1NQ
YXJzZXI6OnJlYWxMZXg8TENoYXI+OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9k
YXRhU3RhcnQxNiA9IGFkb3B0QXJyYXlQdHIobmV3IFVDaGFyW2xlbmd0aF0pOwogICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBtX3BhcnNlZFRleHRQcmVmaXhMZW5ndGg7IGkrKykKLSAgICAg
ICAgbV9kYXRhU3RhcnRbaV0gPSBwcmVmaXhbaV07CisgICAgICAgIG1fZGF0YVN0YXJ0MTZbaV0g
PSBwcmVmaXhbaV07CiAKLSAgICBtZW1jcHkobV9kYXRhU3RhcnQuZ2V0KCkgKyBtX3BhcnNlZFRl
eHRQcmVmaXhMZW5ndGgsIHN0cmluZy5jaGFyYWN0ZXJzKCksIHN0cmluZy5sZW5ndGgoKSAqIHNp
emVvZihVQ2hhcikpOworICAgIG1lbWNweShtX2RhdGFTdGFydDE2LmdldCgpICsgbV9wYXJzZWRU
ZXh0UHJlZml4TGVuZ3RoLCBzdHJpbmcuY2hhcmFjdGVycygpLCBzdHJpbmdMZW5ndGggKiBzaXpl
b2YoVUNoYXIpKTsKIAotICAgIHVuc2lnbmVkIHN0YXJ0ID0gbV9wYXJzZWRUZXh0UHJlZml4TGVu
Z3RoICsgc3RyaW5nLmxlbmd0aCgpOworICAgIHVuc2lnbmVkIHN0YXJ0ID0gbV9wYXJzZWRUZXh0
UHJlZml4TGVuZ3RoICsgc3RyaW5nTGVuZ3RoOwogICAgIHVuc2lnbmVkIGVuZCA9IHN0YXJ0ICsg
c3RybGVuKHN1ZmZpeCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkr
KykKLSAgICAgICAgbV9kYXRhU3RhcnRbaV0gPSBzdWZmaXhbaSAtIHN0YXJ0XTsKKyAgICAgICAg
bV9kYXRhU3RhcnQxNltpXSA9IHN1ZmZpeFtpIC0gc3RhcnRdOwogCi0gICAgbV9kYXRhU3RhcnRb
bGVuZ3RoIC0gMV0gPSAwOworICAgIG1fZGF0YVN0YXJ0MTZbbGVuZ3RoIC0gMV0gPSAwOwogCi0g
ICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gbV90b2tlblN0YXJ0ID0gbV9kYXRhU3RhcnQuZ2V0KCk7
CisgICAgbV9pczhCaXRTb3VyY2UgPSBmYWxzZTsKKyAgICBtX2N1cnJlbnRDaGFyYWN0ZXI4ID0g
MDsKKyAgICBtX2N1cnJlbnRDaGFyYWN0ZXIxNiA9IG1fZGF0YVN0YXJ0MTYuZ2V0KCk7CisgICAg
c2V0VG9rZW5TdGFydDxVQ2hhcj4obV9jdXJyZW50Q2hhcmFjdGVyMTYpOworICAgIG1fbGVuZ3Ro
ID0gbGVuZ3RoOworICAgIG1fbGV4RnVuYyA9ICZDU1NQYXJzZXI6OnJlYWxMZXg8VUNoYXI+Owog
fQogCiB2b2lkIENTU1BhcnNlcjo6cGFyc2VTaGVldChTdHlsZVNoZWV0Q29udGVudHMqIHNoZWV0
LCBjb25zdCBTdHJpbmcmIHN0cmluZywgaW50IHN0YXJ0TGluZU51bWJlciwgUnVsZVNvdXJjZURh
dGFMaXN0KiBydWxlU291cmNlRGF0YVJlc3VsdCkKQEAgLTM5MCw4ICs0MjIsNyBAQCBzdGF0aWMg
Ym9vbCBwYXJzZUNvbG9yVmFsdWUoU3R5bGVQcm9wZXJ0CiAgICAgaWYgKCFpc0NvbG9yUHJvcGVy
dHlJRChwcm9wZXJ0eUlkKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIENTU1BhcnNlclN0
cmluZyBjc3NTdHJpbmc7Ci0gICAgY3NzU3RyaW5nLmNoYXJhY3RlcnMgPSBjb25zdF9jYXN0PFVD
aGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSk7Ci0gICAgY3NzU3RyaW5nLmxlbmd0aCA9IHN0cmlu
Zy5sZW5ndGgoKTsKKyAgICBjc3NTdHJpbmcuaW5pdChzdHJpbmcpOwogICAgIGludCB2YWx1ZUlE
ID0gY3NzVmFsdWVLZXl3b3JkSUQoY3NzU3RyaW5nKTsKICAgICBib29sIHZhbGlkUHJpbWl0aXZl
ID0gZmFsc2U7CiAgICAgaWYgKHZhbHVlSUQgPT0gQ1NTVmFsdWVXZWJraXRUZXh0KQpAQCAtNDY0
LDggKzQ5NSw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NpbXBsZUxlbmd0aFByb3BlcnQKICAg
ICB9CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyVHlwZT4KLXN0YXRpYyBpbmxpbmUgYm9v
bCBwYXJzZVNpbXBsZUxlbmd0aChjb25zdCBDaGFyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQm
IGxlbmd0aCwgQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyYgdW5pdCwgZG91YmxlJiBudW1i
ZXIpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgYm9v
bCBwYXJzZVNpbXBsZUxlbmd0aChjb25zdCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNp
Z25lZCYgbGVuZ3RoLCBDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzJiB1bml0LCBkb3VibGUm
IG51bWJlcikKIHsKICAgICBpZiAobGVuZ3RoID4gMiAmJiAoY2hhcmFjdGVyc1tsZW5ndGggLSAy
XSB8IDB4MjApID09ICdwJyAmJiAoY2hhcmFjdGVyc1tsZW5ndGggLSAxXSB8IDB4MjApID09ICd4
JykgewogICAgICAgICBsZW5ndGggLT0gMjsKQEAgLTEwMTcsOCArMTA0OCw3IEBAIHN0YXRpYyBi
b29sIHBhcnNlS2V5d29yZFZhbHVlKFN0eWxlUHJvcGUKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgQ1NTUGFyc2VyU3RyaW5nIGNzc1N0cmluZzsKLSAgICBjc3NTdHJpbmcuY2hhcmFjdGVy
cyA9IGNvbnN0X2Nhc3Q8VUNoYXIqPihzdHJpbmcuY2hhcmFjdGVycygpKTsKLSAgICBjc3NTdHJp
bmcubGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOworICAgIGNzc1N0cmluZy5pbml0KHN0cmluZyk7
CiAgICAgaW50IHZhbHVlSUQgPSBjc3NWYWx1ZUtleXdvcmRJRChjc3NTdHJpbmcpOwogCiAgICAg
aWYgKCF2YWx1ZUlEKQpAQCAtMTAzOCw4ICsxMDY4LDggQEAgc3RhdGljIGJvb2wgcGFyc2VLZXl3
b3JkVmFsdWUoU3R5bGVQcm9wZQogICAgIHJldHVybiB0cnVlOwogfQogCi10ZW1wbGF0ZSA8dHlw
ZW5hbWUgQ2hhclR5cGU+Ci1zdGF0aWMgYm9vbCBwYXJzZVRyYW5zZm9ybUFyZ3VtZW50cyhXZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZSogdHJhbnNmb3JtVmFsdWUsIENoYXJUeXBlKiBjaGFyYWN0ZXJz
LCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBleHBlY3RlZENvdW50
KQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgYm9vbCBwYXJzZVRy
YW5zZm9ybUFyZ3VtZW50cyhXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSogdHJhbnNmb3JtVmFsdWUs
IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgc3Rh
cnQsIHVuc2lnbmVkIGV4cGVjdGVkQ291bnQpCiB7CiAgICAgd2hpbGUgKGV4cGVjdGVkQ291bnQp
IHsKICAgICAgICAgc2l6ZV90IGVuZCA9IFdURjo6ZmluZChjaGFyYWN0ZXJzLCBsZW5ndGgsIGV4
cGVjdGVkQ291bnQgPT0gMSA/ICcpJyA6ICcsJywgc3RhcnQpOwpAQCAtMTIyMiw4ICsxMjUyLDcg
QEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlU3lzdGVtQ29sb3IoUkdCQTMyJgogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICBDU1NQYXJzZXJTdHJpbmcgY3NzQ29sb3I7Ci0gICAgY3NzQ29sb3Iu
Y2hhcmFjdGVycyA9IGNvbnN0X2Nhc3Q8VUNoYXIqPihzdHJpbmcuY2hhcmFjdGVycygpKTsKLSAg
ICBjc3NDb2xvci5sZW5ndGggPSBzdHJpbmcubGVuZ3RoKCk7CisgICAgY3NzQ29sb3IuaW5pdChz
dHJpbmcpOwogICAgIGludCBpZCA9IGNzc1ZhbHVlS2V5d29yZElEKGNzc0NvbG9yKTsKICAgICBp
ZiAoaWQgPD0gMCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzA2Niw3ICszMDk1LDcgQEAg
dm9pZCBDU1NQYXJzZXI6OnN0b3JlVmFyaWFibGVEZWNsYXJhdGlvbgogICAgICAgICByZXR1cm47
CiAgICAgCiAgICAgQVNTRVJUKG5hbWUubGVuZ3RoID4gMTIpOwotICAgIEF0b21pY1N0cmluZyB2
YXJpYWJsZU5hbWUgPSBTdHJpbmcobmFtZS5jaGFyYWN0ZXJzICsgMTIsIG5hbWUubGVuZ3RoIC0g
MTIpOworICAgIEF0b21pY1N0cmluZyB2YXJpYWJsZU5hbWUgPSBuYW1lLmlzOEJpdCgpID8gQXRv
bWljU3RyaW5nKG5hbWUuY2hhcmFjdGVyczgoKSArIDEyLCBuYW1lLmxlbmd0aCgpIC0gMTIpIDog
QXRvbWljU3RyaW5nKG5hbWUuY2hhcmFjdGVyczE2KCkgKyAxMiwgbmFtZS5sZW5ndGgoKSAtIDEy
KTsKIAogICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
LCBzaXplID0gdmFsdWUtPnNpemUoKTsgaSA8IHNpemU7IGkrKykgewpAQCAtNDg0Myw3ICs0ODcy
LDEzIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIGlmICghbV9idWlsZGVyLmlzRW1wdHkoKSkK
ICAgICAgICAgICAgIG1fYnVpbGRlci5hcHBlbmQoJyAnKTsKLSAgICAgICAgbV9idWlsZGVyLmFw
cGVuZChzdHJpbmcuY2hhcmFjdGVycywgc3RyaW5nLmxlbmd0aCk7CisKKyAgICAgICAgaWYgKHN0
cmluZy5pczhCaXQoKSkgeworICAgICAgICAgICAgbV9idWlsZGVyLmFwcGVuZChzdHJpbmcuY2hh
cmFjdGVyczgoKSwgc3RyaW5nLmxlbmd0aCgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorCisgICAgICAgIG1fYnVpbGRlci5hcHBlbmQoc3RyaW5nLmNoYXJhY3RlcnMxNigpLCBz
dHJpbmcubGVuZ3RoKCkpOwogICAgIH0KIAogICAgIHZvaWQgY29tbWl0KCkKQEAgLTcyMDcsMTAg
KzcyNDIsMTAgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUltYQogY2xh
c3MgVHJhbnNmb3JtT3BlcmF0aW9uSW5mbyB7CiBwdWJsaWM6CiAgICAgVHJhbnNmb3JtT3BlcmF0
aW9uSW5mbyhjb25zdCBDU1NQYXJzZXJTdHJpbmcmIG5hbWUpCi0gICAgOiBtX3R5cGUoV2ViS2l0
Q1NTVHJhbnNmb3JtVmFsdWU6OlVua25vd25UcmFuc2Zvcm1PcGVyYXRpb24pCi0gICAgLCBtX2Fy
Z0NvdW50KDEpCi0gICAgLCBtX2FsbG93U2luZ2xlQXJndW1lbnQoZmFsc2UpCi0gICAgLCBtX3Vu
aXQoQ1NTUGFyc2VyOjpGVW5rbm93bikKKyAgICAgICAgOiBtX3R5cGUoV2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWU6OlVua25vd25UcmFuc2Zvcm1PcGVyYXRpb24pCisgICAgICAgICwgbV9hcmdDb3Vu
dCgxKQorICAgICAgICAsIG1fYWxsb3dTaW5nbGVBcmd1bWVudChmYWxzZSkKKyAgICAgICAgLCBt
X3VuaXQoQ1NTUGFyc2VyOjpGVW5rbm93bikKICAgICB7CiAgICAgICAgIGlmIChlcXVhbElnbm9y
aW5nQ2FzZShuYW1lLCAic2NhbGUoIikgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInNjYWxl
eCgiKSB8fCBlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAic2NhbGV5KCIpIHx8IGVxdWFsSWdub3Jp
bmdDYXNlKG5hbWUsICJzY2FsZXooIikpIHsKICAgICAgICAgICAgIG1fdW5pdCA9IENTU1BhcnNl
cjo6Rk51bWJlcjsKQEAgLTgxNTIsMTEgKzgxODcsMTEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNl
Rm9udEZlYXR1cmVUYWcoQ1NTVgogICAgIC8vIEZlYXR1cmUgdGFnIG5hbWUgY29tZXMgZmlyc3QK
ICAgICBpZiAodmFsdWUtPnVuaXQgIT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJTkcpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAodmFsdWUtPnN0cmluZy5sZW5ndGggIT0gdGFn
TmFtZUxlbmd0aCkKKyAgICBpZiAodmFsdWUtPnN0cmluZy5sZW5ndGgoKSAhPSB0YWdOYW1lTGVu
Z3RoKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCB0YWdO
YW1lTGVuZ3RoOyArK2kpIHsKICAgICAgICAgLy8gTGltaXRzIHRoZSByYW5nZSBvZiBjaGFyYWN0
ZXJzIHRvIDB4MjAtMHg3RSwgZm9sbG93aW5nIHRoZSB0YWcgbmFtZSBydWxlcyBkZWZpZW5kIGlu
IHRoZSBPcGVuVHlwZSBzcGVjaWZpY2F0aW9uLgotICAgICAgICBVQ2hhciBjaGFyYWN0ZXIgPSB2
YWx1ZS0+c3RyaW5nLmNoYXJhY3RlcnNbaV07CisgICAgICAgIFVDaGFyIGNoYXJhY3RlciA9IHZh
bHVlLT5zdHJpbmdbaV07CiAgICAgICAgIGlmIChjaGFyYWN0ZXIgPCAweDIwIHx8IGNoYXJhY3Rl
ciA+IDB4N0UpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpAQCAtODQzNywzMCAr
ODQ3MiwzNSBAQCBzdGF0aWMgY29uc3QgQ2hhcmFjdGVyVHlwZSB0eXBlc09mQVNDSUlDCiAKIC8v
IFV0aWxpdHkgZnVuY3Rpb25zIGZvciB0aGUgQ1NTIHRva2VuaXplci4KIAotc3RhdGljIGlubGlu
ZSBib29sIGlzQ1NTTGV0dGVyKFVDaGFyIGNoYXJhY3RlcikKK3RlbXBsYXRlIDx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGlzQ1NTTGV0dGVyKENoYXJhY3RlclR5
cGUgY2hhcmFjdGVyKQogewogICAgIHJldHVybiBjaGFyYWN0ZXIgPj0gMTI4IHx8IHR5cGVzT2ZB
U0NJSUNoYXJhY3RlcnNbY2hhcmFjdGVyXSA8PSBDaGFyYWN0ZXJEYXNoOwogfQogCi1zdGF0aWMg
aW5saW5lIGJvb2wgaXNDU1NFc2NhcGUoVUNoYXIgY2hhcmFjdGVyKQordGVtcGxhdGUgPHR5cGVu
YW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5lIGJvb2wgaXNDU1NFc2NhcGUoQ2hhcmFj
dGVyVHlwZSBjaGFyYWN0ZXIpCiB7CiAgICAgcmV0dXJuIGNoYXJhY3RlciA+PSAnICcgJiYgY2hh
cmFjdGVyICE9IDEyNzsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGlzVVJJTGV0dGVyKFVDaGFy
IGNoYXJhY3RlcikKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlu
bGluZSBib29sIGlzVVJJTGV0dGVyKENoYXJhY3RlclR5cGUgY2hhcmFjdGVyKQogewogICAgIHJl
dHVybiAoY2hhcmFjdGVyID49ICcqJyAmJiBjaGFyYWN0ZXIgIT0gMTI3KSB8fCAoY2hhcmFjdGVy
ID49ICcjJyAmJiBjaGFyYWN0ZXIgPD0gJyYnKSB8fCBjaGFyYWN0ZXIgPT0gJyEnOwogfQogCi1z
dGF0aWMgaW5saW5lIGJvb2wgaXNJZGVudGlmaWVyU3RhcnRBZnRlckRhc2goVUNoYXIqIGN1cnJl
bnRDaGFyYWN0ZXIpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBp
bmxpbmUgYm9vbCBpc0lkZW50aWZpZXJTdGFydEFmdGVyRGFzaChDaGFyYWN0ZXJUeXBlKiBjdXJy
ZW50Q2hhcmFjdGVyKQogewogICAgIHJldHVybiBpc0FTQ0lJQWxwaGEoY3VycmVudENoYXJhY3Rl
clswXSkgfHwgY3VycmVudENoYXJhY3RlclswXSA9PSAnXycgfHwgY3VycmVudENoYXJhY3Rlclsw
XSA+PSAxMjgKICAgICAgICAgfHwgKGN1cnJlbnRDaGFyYWN0ZXJbMF0gPT0gJ1xcJyAmJiBpc0NT
U0VzY2FwZShjdXJyZW50Q2hhcmFjdGVyWzFdKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBp
c0VxdWFsVG9DU1NJZGVudGlmaWVyKFVDaGFyKiBjc3NTdHJpbmcsIGNvbnN0IGNoYXIqIGNvbnN0
YW50U3RyaW5nKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5s
aW5lIGJvb2wgaXNFcXVhbFRvQ1NTSWRlbnRpZmllcihDaGFyYWN0ZXJUeXBlKiBjc3NTdHJpbmcs
IGNvbnN0IGNoYXIqIGNvbnN0YW50U3RyaW5nKQogewotICAgIC8vIENvbXBhcmUgYW4gVUNoYXIg
bWVtb3J5IGRhdGEgd2l0aCBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcuCisgICAgLy8gQ29tcGFy
ZSBhbiBjaGFyYWN0ZXIgbWVtb3J5IGRhdGEgd2l0aCBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcu
CiAgICAgZG8gewogICAgICAgICAvLyBUaGUgaW5wdXQgbXVzdCBiZSBwYXJ0IG9mIGFuIGlkZW50
aWZpZXIgaWYgY29uc3RhbnRDaGFyIG9yIGNvbnN0U3RyaW5nCiAgICAgICAgIC8vIGNvbnRhaW5z
ICctJy4gT3RoZXJ3aXNlIHRvQVNDSUlMb3dlclVuY2hlY2tlZCgnXHInKSB3b3VsZCBiZSBlcXVh
bCB0byAnLScuCkBAIC04NDcyLDcgKzg1MTIsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNFcXVh
bFRvQ1NTSWRlbnRpZmllCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBVQ2hhciogY2hl
Y2tBbmRTa2lwRXNjYXBlKFVDaGFyKiBjdXJyZW50Q2hhcmFjdGVyKQordGVtcGxhdGUgPHR5cGVu
YW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgQ2hhcmFjdGVyVHlwZSogY2hlY2tBbmRTa2lwRXNj
YXBlKENoYXJhY3RlclR5cGUqIGN1cnJlbnRDaGFyYWN0ZXIpCiB7CiAgICAgLy8gUmV0dXJucyB3
aXRoIDAsIGlmIGVzY2FwZSBjaGVjayBpcyBmYWlsZWQuIE90aGVyd2lzZQogICAgIC8vIGl0IHJl
dHVybnMgd2l0aCB0aGUgZm9sbG93aW5nIGNoYXJhY3Rlci4KQEAgLTg0OTcsNyArODUzOCw4IEBA
IHN0YXRpYyBVQ2hhciogY2hlY2tBbmRTa2lwRXNjYXBlKFVDaGFyKiAKICAgICByZXR1cm4gY3Vy
cmVudENoYXJhY3RlciArIDE7CiB9CiAKLXN0YXRpYyBpbmxpbmUgVUNoYXIqIHNraXBXaGl0ZVNw
YWNlKFVDaGFyKiBjdXJyZW50Q2hhcmFjdGVyKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3Rl
clR5cGU+CitzdGF0aWMgaW5saW5lIENoYXJhY3RlclR5cGUqIHNraXBXaGl0ZVNwYWNlKENoYXJh
Y3RlclR5cGUqIGN1cnJlbnRDaGFyYWN0ZXIpCiB7CiAgICAgd2hpbGUgKGlzSFRNTFNwYWNlKCpj
dXJyZW50Q2hhcmFjdGVyKSkKICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyOwpAQCAtODUwNiwx
MyArODU0OCw1NiBAQCBzdGF0aWMgaW5saW5lIFVDaGFyKiBza2lwV2hpdGVTcGFjZShVQ2hhCiAK
IC8vIE1haW4gQ1NTIHRva2VuaXplciBmdW5jdGlvbnMuCiAKK3RlbXBsYXRlIDw+CitMQ2hhciog
Q1NTUGFyc2VyU3RyaW5nOjpjaGFyYWN0ZXJzPExDaGFyPigpIGNvbnN0IHsgcmV0dXJuIGNoYXJh
Y3RlcnM4KCk7IH0KKwordGVtcGxhdGUgPD4KK1VDaGFyKiBDU1NQYXJzZXJTdHJpbmc6OmNoYXJh
Y3RlcnM8VUNoYXI+KCkgY29uc3QgeyByZXR1cm4gY2hhcmFjdGVyczE2KCk7IH0KKwordGVtcGxh
dGUgPD4KK2lubGluZSBMQ2hhciomIENTU1BhcnNlcjo6Y3VycmVudENoYXJhY3RlcjxMQ2hhcj4o
KQoreworICAgIHJldHVybiBtX2N1cnJlbnRDaGFyYWN0ZXI4OworfQorCit0ZW1wbGF0ZSA8Pgor
aW5saW5lIFVDaGFyKiYgQ1NTUGFyc2VyOjpjdXJyZW50Q2hhcmFjdGVyPFVDaGFyPigpCit7Cisg
ICAgcmV0dXJuIG1fY3VycmVudENoYXJhY3RlcjE2OworfQorCitVQ2hhciomCitDU1NQYXJzZXI6
OmN1cnJlbnRDaGFyYWN0ZXIxNigpCit7CisgICAgaWYgKCFtX2N1cnJlbnRDaGFyYWN0ZXIxNikg
eworICAgICAgICBtX2RhdGFTdGFydDE2ID0gYWRvcHRBcnJheVB0cihuZXcgVUNoYXJbbV9sZW5n
dGhdKTsKKyAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyMTYgPSBtX2RhdGFTdGFydDE2LmdldCgp
OworICAgIH0KKworICAgIHJldHVybiBtX2N1cnJlbnRDaGFyYWN0ZXIxNjsKK30KKwordGVtcGxh
dGUgPD4KK2lubGluZSBMQ2hhciogQ1NTUGFyc2VyOjp0b2tlblN0YXJ0PExDaGFyPigpCit7Cisg
ICAgcmV0dXJuIG1fdG9rZW5TdGFydC5wdHI4OworfQorCit0ZW1wbGF0ZSA8PgoraW5saW5lIFVD
aGFyKiBDU1NQYXJzZXI6OnRva2VuU3RhcnQ8VUNoYXI+KCkKK3sKKyAgICByZXR1cm4gbV90b2tl
blN0YXJ0LnB0cjE2OworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIGlu
bGluZSBib29sIENTU1BhcnNlcjo6aXNJZGVudGlmaWVyU3RhcnQoKQogewogICAgIC8vIENoZWNr
IHdoZXRoZXIgYW4gaWRlbnRpZmllciBpcyBzdGFydGVkLgotICAgIHJldHVybiBpc0lkZW50aWZp
ZXJTdGFydEFmdGVyRGFzaCgoKm1fY3VycmVudENoYXJhY3RlciAhPSAnLScpID8gbV9jdXJyZW50
Q2hhcmFjdGVyIDogbV9jdXJyZW50Q2hhcmFjdGVyICsgMSk7CisgICAgcmV0dXJuIGlzSWRlbnRp
ZmllclN0YXJ0QWZ0ZXJEYXNoKCgqY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpICE9
ICctJykgPyBjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkgOiBjdXJyZW50Q2hhcmFj
dGVyPENoYXJhY3RlclR5cGU+KCkgKyAxKTsKIH0KIAotaW5saW5lIFVDaGFyKiBDU1NQYXJzZXI6
OmNoZWNrQW5kU2tpcFN0cmluZyhVQ2hhciogY3VycmVudENoYXJhY3RlciwgVUNoYXIgcXVvdGUp
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2lubGluZSBDaGFyYWN0ZXJUeXBl
KiBDU1NQYXJzZXI6OmNoZWNrQW5kU2tpcFN0cmluZyhDaGFyYWN0ZXJUeXBlKiBjdXJyZW50Q2hh
cmFjdGVyLCBpbnQgcXVvdGUpCiB7CiAgICAgLy8gUmV0dXJucyB3aXRoIDAsIGlmIHN0cmluZyBj
aGVjayBpcyBmYWlsZWQuIE90aGVyd2lzZQogICAgIC8vIGl0IHJldHVybnMgd2l0aCB0aGUgZm9s
bG93aW5nIGNoYXJhY3Rlci4gVGhpcyBpcyBuZWNlc3NhcnkKQEAgLTg1NDYsMTAxICs4NjMxLDE5
NCBAQCBpbmxpbmUgVUNoYXIqIENTU1BhcnNlcjo6Y2hlY2tBbmRTa2lwU3RyCiAgICAgfQogfQog
Ci12b2lkIENTU1BhcnNlcjo6cGFyc2VFc2NhcGUoVUNoYXIqJiByZXN1bHQpCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3Vuc2lnbmVkIENTU1BhcnNlcjo6cGFyc2VFc2NhcGUo
Q2hhcmFjdGVyVHlwZSomIHNyYykKIHsKLSAgICBBU1NFUlQoKm1fY3VycmVudENoYXJhY3RlciA9
PSAnXFwnICYmIGlzQ1NTRXNjYXBlKG1fY3VycmVudENoYXJhY3RlclsxXSkpOworICAgIEFTU0VS
VCgqc3JjID09ICdcXCcgJiYgaXNDU1NFc2NhcGUoc3JjWzFdKSk7CisKKyAgICB1bnNpZ25lZCB1
bmljb2RlID0gMDsKKworICAgICsrc3JjOworICAgIGlmIChpc0FTQ0lJSGV4RGlnaXQoKnNyYykp
IHsKIAotICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgIGlmIChpc0FTQ0lJSGV4RGlnaXQo
Km1fY3VycmVudENoYXJhY3RlcikpIHsKLSAgICAgICAgdW5zaWduZWQgdW5pY29kZSA9IDA7CiAg
ICAgICAgIGludCBsZW5ndGggPSA2OwogCiAgICAgICAgIGRvIHsKLSAgICAgICAgICAgIHVuaWNv
ZGUgPSAodW5pY29kZSA8PCA0KSArIHRvQVNDSUlIZXhWYWx1ZSgqbV9jdXJyZW50Q2hhcmFjdGVy
KyspOwotICAgICAgICB9IHdoaWxlICgtLWxlbmd0aCAmJiBpc0FTQ0lJSGV4RGlnaXQoKm1fY3Vy
cmVudENoYXJhY3RlcikpOworICAgICAgICAgICAgdW5pY29kZSA9ICh1bmljb2RlIDw8IDQpICsg
dG9BU0NJSUhleFZhbHVlKCpzcmMrKyk7CisgICAgICAgIH0gd2hpbGUgKC0tbGVuZ3RoICYmIGlz
QVNDSUlIZXhEaWdpdCgqc3JjKSk7CiAKICAgICAgICAgLy8gQ2hhcmFjdGVycyBhYm92ZSAweDEw
ZmZmZiBhcmUgbm90IGhhbmRsZWQuCiAgICAgICAgIGlmICh1bmljb2RlID4gMHgxMGZmZmYpCiAg
ICAgICAgICAgICB1bmljb2RlID0gMHhmZmZkOwogCiAgICAgICAgIC8vIE9wdGlvbmFsIHNwYWNl
IGFmdGVyIHRoZSBlc2NhcGUgc2VxdWVuY2UuCi0gICAgICAgIGlmIChpc0hUTUxTcGFjZSgqbV9j
dXJyZW50Q2hhcmFjdGVyKSkKLSAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAg
ICAgICBpZiAoaXNIVE1MU3BhY2UoKnNyYykpCisgICAgICAgICAgICArK3NyYzsKIAotICAgICAg
ICAvLyBSZXBsYWNlIHVuaWNvZGUgd2l0aCBhIHN1cnJvZ2F0ZSBwYWlycyB3aGVuIGl0IGlzIGJp
Z2dlciB0aGFuIDB4ZmZmZgotICAgICAgICBpZiAoVTE2X0xFTkdUSCh1bmljb2RlKSA9PSAyKSB7
Ci0gICAgICAgICAgICAqcmVzdWx0KysgPSBVMTZfTEVBRCh1bmljb2RlKTsKLSAgICAgICAgICAg
ICpyZXN1bHQgPSBVMTZfVFJBSUwodW5pY29kZSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAg
ICAgKnJlc3VsdCA9IHVuaWNvZGU7CisgICAgICAgIHJldHVybiB1bmljb2RlOworICAgIH0KKwor
ICAgIHJldHVybiAqY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpKys7Cit9CisKK3Rl
bXBsYXRlIDw+CitpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OlVuaWNvZGVUb0NoYXJzPExDaGFyPihM
Q2hhciomIHJlc3VsdCwgdW5zaWduZWQgdW5pY29kZSkKK3sKKyAgICBBU1NFUlQodW5pY29kZSA8
PSAweGZmKTsKKyAgICAqcmVzdWx0ID0gdW5pY29kZTsKKworICAgICsrcmVzdWx0OworfQorCit0
ZW1wbGF0ZSA8PgoraW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpVbmljb2RlVG9DaGFyczxVQ2hhcj4o
VUNoYXIqJiByZXN1bHQsIHVuc2lnbmVkIHVuaWNvZGUpCit7CisgICAgLy8gUmVwbGFjZSB1bmlj
b2RlIHdpdGggYSBzdXJyb2dhdGUgcGFpcnMgd2hlbiBpdCBpcyBiaWdnZXIgdGhhbiAweGZmZmYK
KyAgICBpZiAoVTE2X0xFTkdUSCh1bmljb2RlKSA9PSAyKSB7CisgICAgICAgICpyZXN1bHQrKyA9
IFUxNl9MRUFEKHVuaWNvZGUpOworICAgICAgICAqcmVzdWx0ID0gVTE2X1RSQUlMKHVuaWNvZGUp
OwogICAgIH0gZWxzZQotICAgICAgICAqcmVzdWx0ID0gKm1fY3VycmVudENoYXJhY3RlcisrOwor
ICAgICAgICAqcmVzdWx0ID0gdW5pY29kZTsKKwogICAgICsrcmVzdWx0OwogfQogCi1pbmxpbmUg
dm9pZCBDU1NQYXJzZXI6OnBhcnNlSWRlbnRpZmllcihVQ2hhciomIHJlc3VsdCwgYm9vbCYgaGFz
RXNjYXBlKQordGVtcGxhdGUgPHR5cGVuYW1lIFNyY0NoYXJhY3RlclR5cGUsIHR5cGVuYW1lIERl
c3RDaGFyYWN0ZXJUeXBlPgoraW5saW5lIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUlkZW50aWZpZXJJ
bnRlcm5hbChTcmNDaGFyYWN0ZXJUeXBlKiYgc3JjLCBEZXN0Q2hhcmFjdGVyVHlwZSomIHJlc3Vs
dCwgYm9vbCYgaGFzRXNjYXBlKQogewotICAgIC8vIElmIGEgdmFsaWQgaWRlbnRpZmllciBzdGFy
dCBpcyBmb3VuZCwgd2UgY2FuIHNhZmVseQotICAgIC8vIHBhcnNlIHRoZSBpZGVudGlmaWVyIHVu
dGlsIHRoZSBuZXh0IGludmFsaWQgY2hhcmFjdGVyLgotICAgIEFTU0VSVChpc0lkZW50aWZpZXJT
dGFydCgpKTsKICAgICBoYXNFc2NhcGUgPSBmYWxzZTsKICAgICBkbyB7Ci0gICAgICAgIGlmIChM
SUtFTFkoKm1fY3VycmVudENoYXJhY3RlciAhPSAnXFwnKSkKLSAgICAgICAgICAgICpyZXN1bHQr
KyA9ICptX2N1cnJlbnRDaGFyYWN0ZXIrKzsKKyAgICAgICAgaWYgKExJS0VMWSgqc3JjICE9ICdc
XCcpKQorICAgICAgICAgICAgKnJlc3VsdCsrID0gKnNyYysrOwogICAgICAgICBlbHNlIHsKICAg
ICAgICAgICAgIGhhc0VzY2FwZSA9IHRydWU7Ci0gICAgICAgICAgICBwYXJzZUVzY2FwZShyZXN1
bHQpOworICAgICAgICAgICAgU3JjQ2hhcmFjdGVyVHlwZSogc2F2ZWRFc2NhcGVTdGFydCA9IHNy
YzsKKyAgICAgICAgICAgIHVuc2lnbmVkIHVuaWNvZGUgPSBwYXJzZUVzY2FwZTxTcmNDaGFyYWN0
ZXJUeXBlPihzcmMpOworICAgICAgICAgICAgaWYgKHVuaWNvZGUgPiAweGZmICYmIHNpemVvZihE
ZXN0Q2hhcmFjdGVyVHlwZSkgPT0gMSkgeworICAgICAgICAgICAgICAgIHNyYyA9IHNhdmVkRXNj
YXBlU3RhcnQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgVW5pY29kZVRvQ2hhcnMocmVzdWx0LCB1bmljb2RlKTsKICAgICAgICAgfQot
ICAgIH0gd2hpbGUgKGlzQ1NTTGV0dGVyKG1fY3VycmVudENoYXJhY3RlclswXSkgfHwgKG1fY3Vy
cmVudENoYXJhY3RlclswXSA9PSAnXFwnICYmIGlzQ1NTRXNjYXBlKG1fY3VycmVudENoYXJhY3Rl
clsxXSkpKTsKKyAgICB9IHdoaWxlIChpc0NTU0xldHRlcihzcmNbMF0pIHx8IChzcmNbMF0gPT0g
J1xcJyAmJiBpc0NTU0VzY2FwZShzcmNbMV0pKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
aW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpwYXJzZVN0cmluZyhVQ2hhciomIHJlc3VsdCwgVUNoYXIg
cXVvdGUpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2lubGluZSB2b2lkIENT
U1BhcnNlcjo6cGFyc2VJZGVudGlmaWVyKENoYXJhY3RlclR5cGUqJiByZXN1bHQsIENTU1BhcnNl
clN0cmluZyYgcmVzdWx0U3RyaW5nLCBib29sJiBoYXNFc2NhcGUpCit7CisgICAgLy8gSWYgYSB2
YWxpZCBpZGVudGlmaWVyIHN0YXJ0IGlzIGZvdW5kLCB3ZSBjYW4gc2FmZWx5CisgICAgLy8gcGFy
c2UgdGhlIGlkZW50aWZpZXIgdW50aWwgdGhlIG5leHQgaW52YWxpZCBjaGFyYWN0ZXIuCisgICAg
QVNTRVJUKGlzSWRlbnRpZmllclN0YXJ0PENoYXJhY3RlclR5cGU+KCkpOworCisgICAgQ2hhcmFj
dGVyVHlwZSogc3RhcnQgPSBjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCk7CisgICAg
aWYgKFVOTElLRUxZKCFwYXJzZUlkZW50aWZpZXJJbnRlcm5hbChjdXJyZW50Q2hhcmFjdGVyPENo
YXJhY3RlclR5cGU+KCksIHJlc3VsdCwgaGFzRXNjYXBlKSkpIHsKKyAgICAgICAgLy8gRm91bmQg
YW4gZXNjYXBlIHdlIGNvdWxkbid0IGhhbmRsZSB3aXRoIDggYml0cywgY29weSB3aGF0IGhhcyBi
ZWVuIHJlY29nbml6ZWQgYW5kIGNvbnRpbnVlCisgICAgICAgIEFTU0VSVChpczhCaXRTb3VyY2Uo
KSk7CisgICAgICAgIFVDaGFyKiYgcmVzdWx0MTYgPSBjdXJyZW50Q2hhcmFjdGVyMTYoKTsKKyAg
ICAgICAgVUNoYXIqIHN0YXJ0MTYgPSByZXN1bHQxNjsKKyAgICAgICAgaW50IGkgPSAwOworICAg
ICAgICBmb3IgKDsgaSA8IHJlc3VsdCAtIHN0YXJ0OyBpKyspCisgICAgICAgICAgICByZXN1bHQx
NltpXSA9IHN0YXJ0W2ldOworCisgICAgICAgIHJlc3VsdDE2ICs9IGk7CisKKyAgICAgICAgcGFy
c2VJZGVudGlmaWVySW50ZXJuYWwoY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpLCBy
ZXN1bHQxNiwgaGFzRXNjYXBlKTsKKworICAgICAgICByZXN1bHRTdHJpbmcuaW5pdChzdGFydDE2
LCByZXN1bHQxNiAtIHN0YXJ0MTYpOworCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBy
ZXN1bHRTdHJpbmcuaW5pdChzdGFydCwgcmVzdWx0IC0gc3RhcnQpOworfQorCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgU3JjQ2hhcmFjdGVyVHlwZSwgdHlwZW5hbWUgRGVzdENoYXJhY3RlclR5cGU+Citp
bmxpbmUgYm9vbCBDU1NQYXJzZXI6OnBhcnNlU3RyaW5nSW50ZXJuYWwoU3JjQ2hhcmFjdGVyVHlw
ZSomIHNyYywgRGVzdENoYXJhY3RlclR5cGUqJiByZXN1bHQsIFVDaGFyIHF1b3RlKQogewogICAg
IHdoaWxlICh0cnVlKSB7Ci0gICAgICAgIGlmIChVTkxJS0VMWSgqbV9jdXJyZW50Q2hhcmFjdGVy
ID09IHF1b3RlKSkgeworICAgICAgICBpZiAoVU5MSUtFTFkoKnNyYyA9PSBxdW90ZSkpIHsKICAg
ICAgICAgICAgIC8vIFN0cmluZyBwYXJzaW5nIGlzIGRvbmUuCi0gICAgICAgICAgICArK21fY3Vy
cmVudENoYXJhY3RlcjsKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICsrc3JjOwor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKFVOTElLRUxZ
KCEqbV9jdXJyZW50Q2hhcmFjdGVyKSkgeworICAgICAgICBpZiAoVU5MSUtFTFkoISpzcmMpKSB7
CiAgICAgICAgICAgICAvLyBTdHJpbmcgcGFyc2luZyBpcyBkb25lLCBidXQgZG9uJ3QgYWR2YW5j
ZSBwb2ludGVyIGlmIGF0IHRoZSBlbmQgb2YgaW5wdXQuCi0gICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQotICAgICAgICBBU1NFUlQoKm1fY3Vy
cmVudENoYXJhY3RlciA+ICdccicgfHwgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPCAnXG4nICYmICpt
X2N1cnJlbnRDaGFyYWN0ZXIpIHx8ICptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJ1x2Jyk7CisgICAg
ICAgIEFTU0VSVCgqc3JjID4gJ1xyJyB8fCAoKnNyYyA8ICdcbicgJiYgKnNyYykgfHwgKnNyYyA9
PSAnXHYnKTsKIAotICAgICAgICBpZiAoTElLRUxZKG1fY3VycmVudENoYXJhY3RlclswXSAhPSAn
XFwnKSkKLSAgICAgICAgICAgICpyZXN1bHQrKyA9ICptX2N1cnJlbnRDaGFyYWN0ZXIrKzsKLSAg
ICAgICAgZWxzZSBpZiAobV9jdXJyZW50Q2hhcmFjdGVyWzFdID09ICdcbicgfHwgbV9jdXJyZW50
Q2hhcmFjdGVyWzFdID09ICdcZicpCi0gICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgKz0g
MjsKLSAgICAgICAgZWxzZSBpZiAobV9jdXJyZW50Q2hhcmFjdGVyWzFdID09ICdccicpCi0gICAg
ICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgKz0gbV9jdXJyZW50Q2hhcmFjdGVyWzJdID09ICdc
bicgPyAzIDogMjsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcGFyc2VFc2NhcGUocmVzdWx0
KTsKKyAgICAgICAgaWYgKExJS0VMWShzcmNbMF0gIT0gJ1xcJykpCisgICAgICAgICAgICAqcmVz
dWx0KysgPSAqc3JjKys7CisgICAgICAgIGVsc2UgaWYgKHNyY1sxXSA9PSAnXG4nIHx8IHNyY1sx
XSA9PSAnXGYnKQorICAgICAgICAgICAgc3JjICs9IDI7CisgICAgICAgIGVsc2UgaWYgKHNyY1sx
XSA9PSAnXHInKQorICAgICAgICAgICAgc3JjICs9IHNyY1syXSA9PSAnXG4nID8gMyA6IDI7Cisg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgU3JjQ2hhcmFjdGVyVHlwZSogc2F2ZWRFc2NhcGVT
dGFydCA9IHNyYzsKKyAgICAgICAgICAgIHVuc2lnbmVkIHVuaWNvZGUgPSBwYXJzZUVzY2FwZTxT
cmNDaGFyYWN0ZXJUeXBlPihzcmMpOworICAgICAgICAgICAgaWYgKHVuaWNvZGUgPiAweGZmICYm
IHNpemVvZihEZXN0Q2hhcmFjdGVyVHlwZSkgPT0gMSkgeworICAgICAgICAgICAgICAgIHNyYyA9
IHNhdmVkRXNjYXBlU3RhcnQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgVW5pY29kZVRvQ2hhcnMocmVzdWx0LCB1bmljb2RlKTsKKyAg
ICAgICAgfQogICAgIH0KKworICAgIHJldHVybiB0cnVlOwogfQogCi1pbmxpbmUgdm9pZCBDU1NQ
YXJzZXI6OnBhcnNlVVJJKFVDaGFyKiYgc3RhcnQsIFVDaGFyKiYgcmVzdWx0KQordGVtcGxhdGUg
PHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OnBhcnNlU3Ry
aW5nKENoYXJhY3RlclR5cGUqJiByZXN1bHQsIENTU1BhcnNlclN0cmluZyYgcmVzdWx0U3RyaW5n
LCBVQ2hhciBxdW90ZSkKIHsKLSAgICBVQ2hhciogdXJpU3RhcnQgPSBza2lwV2hpdGVTcGFjZSht
X2N1cnJlbnRDaGFyYWN0ZXIpOworICAgIENoYXJhY3RlclR5cGUqIHN0YXJ0ID0gY3VycmVudENo
YXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpOworCisgICAgaWYgKFVOTElLRUxZKCFwYXJzZVN0cmlu
Z0ludGVybmFsKGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSwgcmVzdWx0LCBxdW90
ZSkpKSB7CisgICAgICAgIC8vIEZvdW5kIGFuIGVzY2FwZSB3ZSBjb3VsZG4ndCBoYW5kbGUgd2l0
aCA4IGJpdHMsIGNvcHkgd2hhdCBoYXMgYmVlbiByZWNvZ25pemVkIGFuZCBjb250aW51ZQorICAg
ICAgICBBU1NFUlQoaXM4Qml0U291cmNlKCkpOworICAgICAgICBVQ2hhciomIHJlc3VsdDE2ID0g
Y3VycmVudENoYXJhY3RlcjE2KCk7CisgICAgICAgIFVDaGFyKiBzdGFydDE2ID0gcmVzdWx0MTY7
CisgICAgICAgIGludCBpID0gMDsKKyAgICAgICAgZm9yICg7IGkgPCByZXN1bHQgLSBzdGFydDsg
aSsrKQorICAgICAgICAgICAgcmVzdWx0MTZbaV0gPSBzdGFydFtpXTsKKworICAgICAgICByZXN1
bHQxNiArPSBpOworCisgICAgICAgIHBhcnNlU3RyaW5nSW50ZXJuYWwoY3VycmVudENoYXJhY3Rl
cjxDaGFyYWN0ZXJUeXBlPigpLCByZXN1bHQxNiwgcXVvdGUpOworCisgICAgICAgIHJlc3VsdFN0
cmluZy5pbml0KHN0YXJ0MTYsIHJlc3VsdDE2IC0gc3RhcnQxNik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICByZXN1bHRTdHJpbmcuaW5pdChzdGFydCwgcmVzdWx0IC0gc3RhcnQpOwor
fQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2lubGluZSBib29sIENTU1Bh
cnNlcjo6cGFyc2VVUklJbnRlcm5hbChDaGFyYWN0ZXJUeXBlKiYgc3RhcnQsIENoYXJhY3RlclR5
cGUqJiByZXN1bHQpCit7CisgICAgQ2hhcmFjdGVyVHlwZSogdXJpU3RhcnQgPSBza2lwV2hpdGVT
cGFjZShjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkpOworICAgIENoYXJhY3RlclR5
cGUqIHNhdmVkUmVzdWx0ID0gcmVzdWx0OwogCiAgICAgaWYgKCp1cmlTdGFydCA9PSAnIicgfHwg
KnVyaVN0YXJ0ID09ICdcJycpIHsKLSAgICAgICAgVUNoYXIgcXVvdGUgPSAqdXJpU3RhcnQ7Cisg
ICAgICAgIENoYXJhY3RlclR5cGUgcXVvdGUgPSAqdXJpU3RhcnQ7CiAgICAgICAgICsrdXJpU3Rh
cnQ7CiAKLSAgICAgICAgVUNoYXIqIHN0cmluZ0VuZCA9IGNoZWNrQW5kU2tpcFN0cmluZyh1cmlT
dGFydCwgcXVvdGUpOworICAgICAgICBDaGFyYWN0ZXJUeXBlKiBzdHJpbmdFbmQgPSBjaGVja0Fu
ZFNraXBTdHJpbmcodXJpU3RhcnQsIHF1b3RlKTsKICAgICAgICAgaWYgKCFzdHJpbmdFbmQpCi0g
ICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgc3Ry
aW5nRW5kID0gc2tpcFdoaXRlU3BhY2Uoc3RyaW5nRW5kKTsKICAgICAgICAgaWYgKCpzdHJpbmdF
bmQgIT0gJyknKQotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAKLSAgICAgICAgc3RhcnQgPSByZXN1bHQgPSBtX2N1cnJlbnRDaGFyYWN0ZXIgPSB1cmlTdGFy
dDsKLSAgICAgICAgcGFyc2VTdHJpbmcocmVzdWx0LCBxdW90ZSk7CisgICAgICAgIHN0YXJ0ID0g
cmVzdWx0ID0gY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gdXJpU3RhcnQ7Cisg
ICAgICAgIGlmICghcGFyc2VTdHJpbmdJbnRlcm5hbChjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3Rl
clR5cGU+KCksIHJlc3VsdCwgcXVvdGUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgICAgIG1fY3VycmVudENoYXJhY3RlciA9IHN0cmluZ0VuZCArIDE7CisgICAgICAgIGN1cnJl
bnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSA9IHN0cmluZ0VuZCArIDE7CiAgICAgICAgIG1f
dG9rZW4gPSBVUkk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgVUNoYXIqIHN0cmluZ0VuZCA9IHVy
aVN0YXJ0OworICAgICAgICBDaGFyYWN0ZXJUeXBlKiBzdHJpbmdFbmQgPSB1cmlTdGFydDsKIAog
ICAgICAgICB3aGlsZSAoaXNVUklMZXR0ZXIoKnN0cmluZ0VuZCkpIHsKICAgICAgICAgICAgIGlm
ICgqc3RyaW5nRW5kICE9ICdcXCcpCkBAIC04NjQ4LDk5ICs4ODI2LDEzNSBAQCBpbmxpbmUgdm9p
ZCBDU1NQYXJzZXI6OnBhcnNlVVJJKFVDaGFyKiYgCiAgICAgICAgICAgICBlbHNlIHsKICAgICAg
ICAgICAgICAgICBzdHJpbmdFbmQgPSBjaGVja0FuZFNraXBFc2NhcGUoc3RyaW5nRW5kKTsKICAg
ICAgICAgICAgICAgICBpZiAoIXN0cmluZ0VuZCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQogCiAgICAgICAgIHN0cmluZ0VuZCA9IHNraXBXaGl0ZVNwYWNlKHN0cmluZ0VuZCk7CiAg
ICAgICAgIGlmICgqc3RyaW5nRW5kICE9ICcpJykKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgICAgIHN0YXJ0ID0gcmVzdWx0ID0gbV9jdXJyZW50
Q2hhcmFjdGVyID0gdXJpU3RhcnQ7Ci0gICAgICAgIHdoaWxlIChpc1VSSUxldHRlcigqbV9jdXJy
ZW50Q2hhcmFjdGVyKSkgewotICAgICAgICAgICAgaWYgKExJS0VMWSgqbV9jdXJyZW50Q2hhcmFj
dGVyICE9ICdcXCcpKQotICAgICAgICAgICAgICAgICpyZXN1bHQrKyA9ICptX2N1cnJlbnRDaGFy
YWN0ZXIrKzsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBwYXJzZUVzY2FwZShy
ZXN1bHQpOworICAgICAgICBzdGFydCA9IHJlc3VsdCA9IGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFj
dGVyVHlwZT4oKSA9IHVyaVN0YXJ0OworICAgICAgICB3aGlsZSAoaXNVUklMZXR0ZXIoKmN1cnJl
bnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSkpIHsKKyAgICAgICAgICAgIGlmIChMSUtFTFko
KmN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSAhPSAnXFwnKSkKKyAgICAgICAgICAg
ICAgICAqcmVzdWx0KysgPSAqY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpKys7Cisg
ICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCB1bmljb2RlID0gcGFy
c2VFc2NhcGU8Q2hhcmFjdGVyVHlwZT4oY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigp
KTsKKyAgICAgICAgICAgICAgICBpZiAodW5pY29kZSA+IDB4ZmYgJiYgc2l6ZW9mKENoYXJhY3Rl
clR5cGUpID09IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gc2F2ZWRSZXN1bHQ7
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgVW5pY29kZVRvQ2hhcnMocmVzdWx0LCB1bmljb2RlKTsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIG1fY3VycmVudENoYXJhY3RlciA9IHN0cmluZ0Vu
ZCArIDE7CisgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSA9IHN0cmlu
Z0VuZCArIDE7CiAgICAgICAgIG1fdG9rZW4gPSBVUkk7CiAgICAgfQorCisgICAgcmV0dXJuIHRy
dWU7CiB9CiAKK2lubGluZSB2b2lkIENTU1BhcnNlcjo6cGFyc2VVUkkoQ1NTUGFyc2VyU3RyaW5n
JiBzdHJpbmcpCit7CisgICAgaWYgKHN0cmluZy5pczhCaXQoKSkgeworICAgICAgICBMQ2hhciog
dXJpU3RhcnQgPSBzdHJpbmcuY2hhcmFjdGVyczxMQ2hhcj4oKTsKKyAgICAgICAgTENoYXIqIHJl
c3VsdCA9IHVyaVN0YXJ0ICsgc3RyaW5nLmxlbmd0aCgpOworICAgICAgICBib29sIHBhcnNlUmVz
dWx0ID0gcGFyc2VVUklJbnRlcm5hbCh1cmlTdGFydCwgcmVzdWx0KTsKKworICAgICAgICAvLyBw
YXJzZUlkZW50aWZpZXIoKSBwYXJzZWQgYW5kIGNyZWF0ZWQgdGhlIHN0cmluZywgdGhlcmVmb3Jl
IHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgdW5oYW5kbGVkIGVzY2Fwc2VzLgorICAgICAgICBBU1NF
UlRfVU5VU0VEKHBhcnNlUmVzdWx0LCBwYXJzZVJlc3VsdCk7CisKKyAgICAgICAgc3RyaW5nLmlu
aXQodXJpU3RhcnQsIHJlc3VsdCAtIHVyaVN0YXJ0KTsKKworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgVUNoYXIqIHVyaVN0YXJ0ID0gc3RyaW5nLmNoYXJhY3RlcnM8VUNoYXI+KCk7Cisg
ICAgVUNoYXIqIHJlc3VsdCA9IHVyaVN0YXJ0ICsgc3RyaW5nLmxlbmd0aCgpOworICAgIGJvb2wg
cGFyc2VSZXN1bHQgPSBwYXJzZVVSSUludGVybmFsKHVyaVN0YXJ0LCByZXN1bHQpOworCisgICAg
QVNTRVJUX1VOVVNFRChwYXJzZVJlc3VsdCwgcGFyc2VSZXN1bHQpOyAvLyBEaXR0bworCisgICAg
c3RyaW5nLmluaXQodXJpU3RhcnQsIHJlc3VsdCAtIHVyaVN0YXJ0KTsKK30KKwordGVtcGxhdGUg
PHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiBpbmxpbmUgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVW5p
Y29kZVJhbmdlKCkKIHsKLSAgICBVQ2hhciogY3VycmVudENoYXJhY3RlciA9IG1fY3VycmVudENo
YXJhY3RlciArIDE7CisgICAgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVyID0gY3VycmVudENoYXJh
Y3RlcjxDaGFyYWN0ZXJUeXBlPigpICsgMTsKICAgICBpbnQgbGVuZ3RoID0gNjsKLSAgICBBU1NF
UlQoKm1fY3VycmVudENoYXJhY3RlciA9PSAnKycpOworICAgIEFTU0VSVCgqY3VycmVudENoYXJh
Y3RlcjxDaGFyYWN0ZXJUeXBlPigpID09ICcrJyk7CiAKLSAgICB3aGlsZSAoaXNBU0NJSUhleERp
Z2l0KCpjdXJyZW50Q2hhcmFjdGVyKSAmJiBsZW5ndGgpIHsKLSAgICAgICAgKytjdXJyZW50Q2hh
cmFjdGVyOworICAgIHdoaWxlIChpc0FTQ0lJSGV4RGlnaXQoKmNoYXJhY3RlcikgJiYgbGVuZ3Ro
KSB7CisgICAgICAgICsrY2hhcmFjdGVyOwogICAgICAgICAtLWxlbmd0aDsKICAgICB9CiAKLSAg
ICBpZiAobGVuZ3RoICYmICpjdXJyZW50Q2hhcmFjdGVyID09ICc/JykgeworICAgIGlmIChsZW5n
dGggJiYgKmNoYXJhY3RlciA9PSAnPycpIHsKICAgICAgICAgLy8gQXQgbW9zdCA1IGhleCBkaWdp
dCBmb2xsb3dlZCBieSBhIHF1ZXN0aW9uIG1hcmsuCiAgICAgICAgIGRvIHsKLSAgICAgICAgICAg
ICsrY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgICsrY2hhcmFjdGVyOwogICAgICAgICAg
ICAgLS1sZW5ndGg7Ci0gICAgICAgIH0gd2hpbGUgKCpjdXJyZW50Q2hhcmFjdGVyID09ICc/JyAm
JiBsZW5ndGgpOwotICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVy
OworICAgICAgICB9IHdoaWxlICgqY2hhcmFjdGVyID09ICc/JyAmJiBsZW5ndGgpOworICAgICAg
ICBjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkgPSBjaGFyYWN0ZXI7CiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KIAogICAgIGlmIChsZW5ndGggPCA2KSB7CiAgICAgICAgIC8v
IEF0IGxlYXN0IG9uZSBoZXggZGlnaXQuCi0gICAgICAgIGlmIChjdXJyZW50Q2hhcmFjdGVyWzBd
ID09ICctJyAmJiBpc0FTQ0lJSGV4RGlnaXQoY3VycmVudENoYXJhY3RlclsxXSkpIHsKKyAgICAg
ICAgaWYgKGNoYXJhY3RlclswXSA9PSAnLScgJiYgaXNBU0NJSUhleERpZ2l0KGNoYXJhY3Rlclsx
XSkpIHsKICAgICAgICAgICAgIC8vIEZvbGxvd2VkIGJ5IGEgZGFzaCBhbmQgYSBoZXggZGlnaXQu
Ci0gICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICArK2NoYXJhY3Rl
cjsKICAgICAgICAgICAgIGxlbmd0aCA9IDY7CiAgICAgICAgICAgICBkbyB7Ci0gICAgICAgICAg
ICAgICAgKytjdXJyZW50Q2hhcmFjdGVyOwotICAgICAgICAgICAgfSB3aGlsZSAoLS1sZW5ndGgg
JiYgaXNBU0NJSUhleERpZ2l0KCpjdXJyZW50Q2hhcmFjdGVyKSk7CisgICAgICAgICAgICAgICAg
KytjaGFyYWN0ZXI7CisgICAgICAgICAgICB9IHdoaWxlICgtLWxlbmd0aCAmJiBpc0FTQ0lJSGV4
RGlnaXQoKmNoYXJhY3RlcikpOwogICAgICAgICB9Ci0gICAgICAgIG1fY3VycmVudENoYXJhY3Rl
ciA9IGN1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVy
VHlwZT4oKSA9IGNoYXJhY3RlcjsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiBib29s
IENTU1BhcnNlcjo6cGFyc2VOdGhDaGlsZCgpCiB7Ci0gICAgVUNoYXIqIGN1cnJlbnRDaGFyYWN0
ZXIgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVyID0g
Y3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpOwogCi0gICAgd2hpbGUgKGlzQVNDSUlE
aWdpdCgqY3VycmVudENoYXJhY3RlcikpCi0gICAgICAgICsrY3VycmVudENoYXJhY3RlcjsKLSAg
ICBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbCgqY3VycmVudENoYXJhY3RlciwgJ24nKSkg
ewotICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVyICsgMTsKKyAg
ICB3aGlsZSAoaXNBU0NJSURpZ2l0KCpjaGFyYWN0ZXIpKQorICAgICAgICArK2NoYXJhY3RlcjsK
KyAgICBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbCgqY2hhcmFjdGVyLCAnbicpKSB7Cisg
ICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSA9IGNoYXJhY3RlciArIDE7
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK3Rl
bXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogYm9vbCBDU1NQYXJzZXI6OnBhcnNlTnRo
Q2hpbGRFeHRyYSgpCiB7Ci0gICAgVUNoYXIqIGN1cnJlbnRDaGFyYWN0ZXIgPSBza2lwV2hpdGVT
cGFjZShtX2N1cnJlbnRDaGFyYWN0ZXIpOwotICAgIGlmICgqY3VycmVudENoYXJhY3RlciAhPSAn
KycgJiYgKmN1cnJlbnRDaGFyYWN0ZXIgIT0gJy0nKQorICAgIENoYXJhY3RlclR5cGUqIGNoYXJh
Y3RlciA9IHNraXBXaGl0ZVNwYWNlKGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSk7
CisgICAgaWYgKCpjaGFyYWN0ZXIgIT0gJysnICYmICpjaGFyYWN0ZXIgIT0gJy0nKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICBjdXJyZW50Q2hhcmFjdGVyID0gc2tpcFdoaXRlU3BhY2Uo
Y3VycmVudENoYXJhY3RlciArIDEpOwotICAgIGlmICghaXNBU0NJSURpZ2l0KCpjdXJyZW50Q2hh
cmFjdGVyKSkKKyAgICBjaGFyYWN0ZXIgPSBza2lwV2hpdGVTcGFjZShjaGFyYWN0ZXIgKyAxKTsK
KyAgICBpZiAoIWlzQVNDSUlEaWdpdCgqY2hhcmFjdGVyKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgZG8gewotICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgfSB3aGlsZSAo
aXNBU0NJSURpZ2l0KCpjdXJyZW50Q2hhcmFjdGVyKSk7CisgICAgICAgICsrY2hhcmFjdGVyOwor
ICAgIH0gd2hpbGUgKGlzQVNDSUlEaWdpdCgqY2hhcmFjdGVyKSk7CiAKLSAgICBtX2N1cnJlbnRD
aGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVyOworICAgIGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFj
dGVyVHlwZT4oKSA9IGNoYXJhY3RlcjsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordGVtcGxhdGUg
PHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiBpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OmRldGVjdEZ1
bmN0aW9uVHlwZVRva2VuKGludCBsZW5ndGgpCiB7CiAgICAgQVNTRVJUKGxlbmd0aCA+IDApOwot
ICAgIFVDaGFyKiBuYW1lID0gbV90b2tlblN0YXJ0OworICAgIENoYXJhY3RlclR5cGUqIG5hbWUg
PSB0b2tlblN0YXJ0PENoYXJhY3RlclR5cGU+KCk7CiAKICAgICBzd2l0Y2ggKGxlbmd0aCkgewog
ICAgIGNhc2UgMzoKQEAgLTg3NzIsMTAgKzg5ODYsMTEgQEAgaW5saW5lIHZvaWQgQ1NTUGFyc2Vy
OjpkZXRlY3RGdW5jdGlvblR5cAogICAgIH0KIH0KIAordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJh
Y3RlclR5cGU+CiBpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OmRldGVjdE1lZGlhUXVlcnlUb2tlbihp
bnQgbGVuZ3RoKQogewogICAgIEFTU0VSVChtX3BhcnNpbmdNb2RlID09IE1lZGlhUXVlcnlNb2Rl
KTsKLSAgICBVQ2hhciogbmFtZSA9IG1fdG9rZW5TdGFydDsKKyAgICBDaGFyYWN0ZXJUeXBlKiBu
YW1lID0gdG9rZW5TdGFydDxDaGFyYWN0ZXJUeXBlPigpOwogCiAgICAgaWYgKGxlbmd0aCA9PSAz
KSB7CiAgICAgICAgIGlmIChpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKG5hbWVbMF0sICdhJykg
JiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChuYW1lWzFdLCAnbicpICYmIGlzQVNDSUlBbHBo
YUNhc2VsZXNzRXF1YWwobmFtZVsyXSwgJ2QnKSkKQEAgLTg3ODksNyArOTAwNCw4IEBAIGlubGlu
ZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0TWVkaWFRdWVyeVQKICAgICB9CiB9CiAKLWlubGluZSB2
b2lkIENTU1BhcnNlcjo6ZGV0ZWN0TnVtYmVyVG9rZW4oVUNoYXIqIHR5cGUsIGludCBsZW5ndGgp
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2lubGluZSB2b2lkIENTU1BhcnNl
cjo6ZGV0ZWN0TnVtYmVyVG9rZW4oQ2hhcmFjdGVyVHlwZSogdHlwZSwgaW50IGxlbmd0aCkKIHsK
ICAgICBBU1NFUlQobGVuZ3RoID4gMCk7CiAKQEAgLTg5MDYsOSArOTEyMiwxMCBAQCBpbmxpbmUg
dm9pZCBDU1NQYXJzZXI6OmRldGVjdE51bWJlclRva2VuCiAgICAgfQogfQogCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0RGFz
aFRva2VuKGludCBsZW5ndGgpCiB7Ci0gICAgVUNoYXIqIG5hbWUgPSBtX3Rva2VuU3RhcnQ7Cisg
ICAgQ2hhcmFjdGVyVHlwZSogbmFtZSA9IHRva2VuU3RhcnQ8Q2hhcmFjdGVyVHlwZT4oKTsKIAog
ICAgIGlmIChsZW5ndGggPT0gMTEpIHsKICAgICAgICAgaWYgKGlzQVNDSUlBbHBoYUNhc2VsZXNz
RXF1YWwobmFtZVsxMF0sICd5JykgJiYgaXNFcXVhbFRvQ1NTSWRlbnRpZmllcihuYW1lICsgMSwg
IndlYmtpdC1hbiIpKQpAQCAtODkyNSw5ICs5MTQyLDEwIEBAIGlubGluZSB2b2lkIENTU1BhcnNl
cjo6ZGV0ZWN0RGFzaFRva2VuKGkKICAgICAgICAgbV90b2tlbiA9IENBTENGVU5DVElPTjsKIH0K
IAordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiBpbmxpbmUgdm9pZCBDU1NQYXJz
ZXI6OmRldGVjdEF0VG9rZW4oaW50IGxlbmd0aCwgYm9vbCBoYXNFc2NhcGUpCiB7Ci0gICAgVUNo
YXIqIG5hbWUgPSBtX3Rva2VuU3RhcnQ7CisgICAgQ2hhcmFjdGVyVHlwZSogbmFtZSA9IHRva2Vu
U3RhcnQ8Q2hhcmFjdGVyVHlwZT4oKTsKICAgICBBU1NFUlQobmFtZVswXSA9PSAnQCcgJiYgbGVu
Z3RoID49IDIpOwogCiAgICAgLy8gY2hhcnNldCwgZm9udC1mYWNlLCBpbXBvcnQsIG1lZGlhLCBu
YW1lc3BhY2UsIHBhZ2UsCkBAIC05MTEzLDgxICs5MzMxLDc3IEBAIGlubGluZSB2b2lkIENTU1Bh
cnNlcjo6ZGV0ZWN0QXRUb2tlbihpbnQKICAgICB9CiB9CiAKLWludCBDU1NQYXJzZXI6OmxleCh2
b2lkKiB5eWx2YWxXaXRob3V0VHlwZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBTcmNDaGFyYWN0ZXJU
eXBlPgoraW50IENTU1BhcnNlcjo6cmVhbExleCh2b2lkKiB5eWx2YWxXaXRob3V0VHlwZSkKIHsK
ICAgICBZWVNUWVBFKiB5eWx2YWwgPSBzdGF0aWNfY2FzdDxZWVNUWVBFKj4oeXlsdmFsV2l0aG91
dFR5cGUpOwogICAgIC8vIFdyaXRlIHBvaW50ZXIgZm9yIHRoZSBuZXh0IGNoYXJhY3Rlci4KLSAg
ICBVQ2hhciogcmVzdWx0OworICAgIFNyY0NoYXJhY3RlclR5cGUqIHJlc3VsdDsKKyAgICBDU1NQ
YXJzZXJTdHJpbmcgcmVzdWx0U3RyaW5nOwogICAgIGJvb2wgaGFzRXNjYXBlOwogCiAgICAgLy8g
VGhlIGlucHV0IGJ1ZmZlciBpcyB0ZXJtaW5hdGVkIGJ5IGEgXDAgY2hhcmFjdGVyLCBzbwogICAg
IC8vIGl0IGlzIHNhZmUgdG8gcmVhZCBvbmUgY2hhcmFjdGVyIGFoZWFkIG9mIGEga25vd24gbm9u
LW51bGwuCi0KICNpZm5kZWYgTkRFQlVHCiAgICAgLy8gSW4gZGVidWcgd2UgY2hlY2sgd2l0aCBh
biBBU1NFUlQgdGhhdCB0aGUgbGVuZ3RoIGlzID4gMCBmb3Igc3RyaW5nIHR5cGVzLgotICAgIHl5
bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSAwOwotICAgIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9
IDA7CisgICAgeXlsdmFsLT5zdHJpbmcuY2xlYXIoKTsKICNlbmRpZgogCiByZXN0YXJ0QWZ0ZXJD
b21tZW50OgotICAgIG1fdG9rZW5TdGFydCA9IHJlc3VsdCA9IG1fY3VycmVudENoYXJhY3RlcjsK
LSAgICBtX3Rva2VuID0gKm1fY3VycmVudENoYXJhY3RlcjsKLSAgICArK21fY3VycmVudENoYXJh
Y3RlcjsKKyAgICByZXN1bHQgPSBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7
CisgICAgc2V0VG9rZW5TdGFydChyZXN1bHQpOworICAgIG1fdG9rZW4gPSAqY3VycmVudENoYXJh
Y3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFy
YWN0ZXJUeXBlPigpOwogCiAgICAgc3dpdGNoICgobV90b2tlbiA8PSAxMjcpID8gdHlwZXNPZkFT
Q0lJQ2hhcmFjdGVyc1ttX3Rva2VuXSA6IENoYXJhY3RlcklkZW50aWZpZXJTdGFydCkgewogICAg
IGNhc2UgQ2hhcmFjdGVyQ2FzZWxlc3NVOgotICAgICAgICBpZiAoVU5MSUtFTFkoKm1fY3VycmVu
dENoYXJhY3RlciA9PSAnKycpKQotICAgICAgICAgICAgaWYgKHBhcnNlVW5pY29kZVJhbmdlKCkp
IHsKKyAgICAgICAgaWYgKFVOTElLRUxZKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5
cGU+KCkgPT0gJysnKSkKKyAgICAgICAgICAgIGlmIChwYXJzZVVuaWNvZGVSYW5nZTxTcmNDaGFy
YWN0ZXJUeXBlPigpKSB7CiAgICAgICAgICAgICAgICAgbV90b2tlbiA9IFVOSUNPREVSQU5HRTsK
LSAgICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0
OwotICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJh
Y3RlciAtIG1fdG9rZW5TdGFydDsKKyAgICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5pbml0
KHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSwgY3VycmVudENoYXJhY3RlcjxTcmNDaGFy
YWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgLy8gRmFsbCB0aHJvdWdoIHRv
IENoYXJhY3RlcklkZW50aWZpZXJTdGFydC4KIAogICAgIGNhc2UgQ2hhcmFjdGVySWRlbnRpZmll
clN0YXJ0OgotICAgICAgICAtLW1fY3VycmVudENoYXJhY3RlcjsKLSAgICAgICAgcGFyc2VJZGVu
dGlmaWVyKHJlc3VsdCwgaGFzRXNjYXBlKTsKKyAgICAgICAgLS1jdXJyZW50Q2hhcmFjdGVyPFNy
Y0NoYXJhY3RlclR5cGU+KCk7CisgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIHl5bHZh
bC0+c3RyaW5nLCBoYXNFc2NhcGUpOwogICAgICAgICBtX3Rva2VuID0gSURFTlQ7CiAKLSAgICAg
ICAgeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9IG1fdG9rZW5TdGFydDsKLSAgICAgICAgeXls
dmFsLT5zdHJpbmcubGVuZ3RoID0gcmVzdWx0IC0gbV90b2tlblN0YXJ0OwotCi0gICAgICAgIGlm
IChVTkxJS0VMWSgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICcoJykpIHsKKyAgICAgICAgaWYgKFVO
TElLRUxZKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJygnKSkgewog
ICAgICAgICAgICAgbV90b2tlbiA9IEZVTkNUSU9OOwogICAgICAgICAgICAgaWYgKCFoYXNFc2Nh
cGUpCi0gICAgICAgICAgICAgICAgZGV0ZWN0RnVuY3Rpb25UeXBlVG9rZW4ocmVzdWx0IC0gbV90
b2tlblN0YXJ0KTsKLSAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAg
ICAgICAgIGRldGVjdEZ1bmN0aW9uVHlwZVRva2VuPFNyY0NoYXJhY3RlclR5cGU+KHJlc3VsdCAt
IHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CisgICAgICAgICAgICArK2N1cnJlbnRD
aGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgICsrcmVzdWx0OwotICAg
ICAgICAgICAgKyt5eWx2YWwtPnN0cmluZy5sZW5ndGg7CisgICAgICAgICAgICArK3l5bHZhbC0+
c3RyaW5nLm1fbGVuZ3RoOwogCiAgICAgICAgICAgICBpZiAodG9rZW4oKSA9PSBVUkkpIHsKICAg
ICAgICAgICAgICAgICBtX3Rva2VuID0gRlVOQ1RJT047CiAgICAgICAgICAgICAgICAgLy8gQ2hl
Y2sgd2hldGhlciBpdCBpcyByZWFsbHkgYW4gVVJJLgotICAgICAgICAgICAgICAgIHBhcnNlVVJJ
KHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMsIHJlc3VsdCk7Ci0gICAgICAgICAgICAgICAgeXls
dmFsLT5zdHJpbmcubGVuZ3RoID0gcmVzdWx0IC0geXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVyczsK
KyAgICAgICAgICAgICAgICBwYXJzZVVSSSh5eWx2YWwtPnN0cmluZyk7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0gZWxzZSBpZiAoVU5MSUtFTFkobV9wYXJzaW5nTW9kZSAhPSBOb3JtYWxNb2Rl
KSAmJiAhaGFzRXNjYXBlKSB7CiAgICAgICAgICAgICBpZiAobV9wYXJzaW5nTW9kZSA9PSBNZWRp
YVF1ZXJ5TW9kZSkKLSAgICAgICAgICAgICAgICBkZXRlY3RNZWRpYVF1ZXJ5VG9rZW4ocmVzdWx0
IC0gbV90b2tlblN0YXJ0KTsKLSAgICAgICAgICAgIGVsc2UgaWYgKG1fcGFyc2luZ01vZGUgPT0g
TnRoQ2hpbGRNb2RlICYmIGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwobV90b2tlblN0YXJ0WzBd
LCAnbicpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAtIG1fdG9rZW5TdGFydCA9PSAx
KSB7CisgICAgICAgICAgICAgICAgZGV0ZWN0TWVkaWFRdWVyeVRva2VuPFNyY0NoYXJhY3RlclR5
cGU+KHJlc3VsdCAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CisgICAgICAgICAg
ICBlbHNlIGlmIChtX3BhcnNpbmdNb2RlID09IE50aENoaWxkTW9kZSAmJiBpc0FTQ0lJQWxwaGFD
YXNlbGVzc0VxdWFsKHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKVswXSwgJ24nKSkgewor
ICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+
KCkgPT0gMSkgewogICAgICAgICAgICAgICAgICAgICAvLyBTdHJpbmcgIm4iIGlzIElERU5UIGJ1
dCAibisxIiBpcyBOVEguCi0gICAgICAgICAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0
cmEoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJhPFNyY0No
YXJhY3RlclR5cGU+KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBOVEg7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5sZW5ndGggPSBtX2N1cnJl
bnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQ7CisgICAgICAgICAgICAgICAgICAgICAgICB5eWx2
YWwtPnN0cmluZy5tX2xlbmd0aCA9IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4o
KSAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0IC0gbV90b2tlblN0YXJ0ID49IDIg
JiYgbV90b2tlblN0YXJ0WzFdID09ICctJykgeworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAo
cmVzdWx0IC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpID49IDIgJiYgdG9rZW5TdGFy
dDxTcmNDaGFyYWN0ZXJUeXBlPigpWzFdID09ICctJykgewogICAgICAgICAgICAgICAgICAgICAv
LyBTdHJpbmcgIm4tIiBpcyBJREVOVCBidXQgIm4tMSIgaXMgTlRILgotICAgICAgICAgICAgICAg
ICAgICAvLyBTZXQgbV9jdXJyZW50Q2hhcmFjdGVyIHRvICctJyB0byBjb250aW51ZSBwYXJzaW5n
LgotICAgICAgICAgICAgICAgICAgICBVQ2hhciogbmV4dENoYXJhY3RlciA9IHJlc3VsdDsKLSAg
ICAgICAgICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gbV90b2tlblN0YXJ0ICsgMTsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnNlTnRoQ2hpbGRFeHRyYSgpKSB7CisgICAgICAg
ICAgICAgICAgICAgIC8vIFNldCBjdXJyZW50Q2hhcmFjdGVyIHRvICctJyB0byBjb250aW51ZSBw
YXJzaW5nLgorICAgICAgICAgICAgICAgICAgICBTcmNDaGFyYWN0ZXJUeXBlKiBuZXh0Q2hhcmFj
dGVyID0gcmVzdWx0OworICAgICAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVyPFNyY0No
YXJhY3RlclR5cGU+KCkgPSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkgKyAxOworICAg
ICAgICAgICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJhPFNyY0NoYXJhY3RlclR5cGU+
KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBOVEg7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5sZW5ndGggPSBtX2N1cnJlbnRDaGFyYWN0ZXIg
LSBtX3Rva2VuU3RhcnQ7CisgICAgICAgICAgICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5z
ZXRMZW5ndGgoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFy
dDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIFJldmVydCB0aGUgY2hhbmdlIHRvIG1fY3VycmVudENo
YXJhY3RlciBpZiB1bnN1Y2Nlc3NmdWwuCi0gICAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJl
bnRDaGFyYWN0ZXIgPSBuZXh0Q2hhcmFjdGVyOworICAgICAgICAgICAgICAgICAgICAgICAgLy8g
UmV2ZXJ0IHRoZSBjaGFuZ2UgdG8gY3VycmVudENoYXJhY3RlciBpZiB1bnN1Y2Nlc3NmdWwuCisg
ICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+
KCkgPSBuZXh0Q2hhcmFjdGVyOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgfQpAQCAtOTE5NSw3ICs5NDA5LDcgQEAgcmVzdGFydEFmdGVyQ29t
bWVudDoKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlckRvdDoKLSAgICAgICAg
aWYgKCFpc0FTQ0lJRGlnaXQobV9jdXJyZW50Q2hhcmFjdGVyWzBdKSkKKyAgICAgICAgaWYgKCFp
c0FTQ0lJRGlnaXQoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpWzBdKSkKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAvLyBGYWxsIHRocm91Z2ggdG8gQ2hhcmFjdGVyTnVt
YmVyLgogCkBAIC05MjAzLDIzICs5NDE3LDIyIEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6CiAgICAg
ICAgIGJvb2wgZG90U2VlbiA9IChtX3Rva2VuID09ICcuJyk7CiAKICAgICAgICAgd2hpbGUgKHRy
dWUpIHsKLSAgICAgICAgICAgIGlmICghaXNBU0NJSURpZ2l0KG1fY3VycmVudENoYXJhY3Rlclsw
XSkpIHsKKyAgICAgICAgICAgIGlmICghaXNBU0NJSURpZ2l0KGN1cnJlbnRDaGFyYWN0ZXI8U3Jj
Q2hhcmFjdGVyVHlwZT4oKVswXSkpIHsKICAgICAgICAgICAgICAgICAvLyBPbmx5IG9uZSBkb3Qg
aXMgYWxsb3dlZCBmb3IgYSBudW1iZXIsCiAgICAgICAgICAgICAgICAgLy8gYW5kIGl0IG11c3Qg
YmUgZm9sbG93ZWQgYnkgYSBkaWdpdC4KLSAgICAgICAgICAgICAgICBpZiAobV9jdXJyZW50Q2hh
cmFjdGVyWzBdICE9ICcuJyB8fCBkb3RTZWVuIHx8ICFpc0FTQ0lJRGlnaXQobV9jdXJyZW50Q2hh
cmFjdGVyWzFdKSkKKyAgICAgICAgICAgICAgICBpZiAoY3VycmVudENoYXJhY3RlcjxTcmNDaGFy
YWN0ZXJUeXBlPigpWzBdICE9ICcuJyB8fCBkb3RTZWVuIHx8ICFpc0FTQ0lJRGlnaXQoY3VycmVu
dENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpWzFdKSkKICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICAgICAgZG90U2VlbiA9IHRydWU7CiAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgICsrY3VycmVudENo
YXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKFVO
TElLRUxZKG1fcGFyc2luZ01vZGUgPT0gTnRoQ2hpbGRNb2RlKSAmJiAhZG90U2VlbiAmJiBpc0FT
Q0lJQWxwaGFDYXNlbGVzc0VxdWFsKCptX2N1cnJlbnRDaGFyYWN0ZXIsICduJykpIHsKKyAgICAg
ICAgaWYgKFVOTElLRUxZKG1fcGFyc2luZ01vZGUgPT0gTnRoQ2hpbGRNb2RlKSAmJiAhZG90U2Vl
biAmJiBpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJh
Y3RlclR5cGU+KCksICduJykpIHsKICAgICAgICAgICAgIC8vICJbMC05XStuIiBpcyBhbHdheXMg
YW4gTnRoQ2hpbGQuCi0gICAgICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKLSAgICAgICAg
ICAgIHBhcnNlTnRoQ2hpbGRFeHRyYSgpOworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVy
PFNyY0NoYXJhY3RlclR5cGU+KCk7CisgICAgICAgICAgICBwYXJzZU50aENoaWxkRXh0cmE8U3Jj
Q2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBOVEg7Ci0gICAgICAgICAg
ICB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0OwotICAgICAgICAgICAg
eXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0
OworICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuaW5pdCh0b2tlblN0YXJ0PFNyY0NoYXJhY3Rl
clR5cGU+KCksIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtIHRva2VuU3Rh
cnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
CkBAIC05MjI3LDUyICs5NDQwLDUxIEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6CiAgICAgICAgIC8v
IFVzZSBTVkcgcGFyc2VyIGZvciBudW1iZXJzIG9uIFNWRyBwcmVzZW50YXRpb24gYXR0cmlidXRl
cy4KICAgICAgICAgaWYgKG1fY29udGV4dC5tb2RlID09IFNWR0F0dHJpYnV0ZU1vZGUpIHsKICAg
ICAgICAgICAgIC8vIFdlIG5lZWQgdG8gdGFrZSBjYXJlIG9mIHVuaXRzIGxpa2UgJ2VtJyBvciAn
ZXgnLgotICAgICAgICAgICAgVUNoYXIqIGN1cnJlbnRDaGFyYWN0ZXIgPSBtX2N1cnJlbnRDaGFy
YWN0ZXI7Ci0gICAgICAgICAgICBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbCgqY3VycmVu
dENoYXJhY3RlciwgJ2UnKSkgewotICAgICAgICAgICAgICAgIEFTU0VSVChjdXJyZW50Q2hhcmFj
dGVyIC0gbV90b2tlblN0YXJ0ID4gMCk7Ci0gICAgICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFj
dGVyOwotICAgICAgICAgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlciA9PSAnLScgfHwgKmN1
cnJlbnRDaGFyYWN0ZXIgPT0gJysnIHx8IGlzQVNDSUlEaWdpdCgqY3VycmVudENoYXJhY3Rlcikp
IHsKLSAgICAgICAgICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyOwotICAgICAgICAgICAg
ICAgICAgICB3aGlsZSAoaXNBU0NJSURpZ2l0KCpjdXJyZW50Q2hhcmFjdGVyKSkKLSAgICAgICAg
ICAgICAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgIFNyY0NoYXJh
Y3RlclR5cGUqIGNoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4o
KTsKKyAgICAgICAgICAgIGlmIChpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKCpjaGFyYWN0ZXIs
ICdlJykpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoY2hhcmFjdGVyIC0gdG9rZW5TdGFydDxT
cmNDaGFyYWN0ZXJUeXBlPigpID4gMCk7CisgICAgICAgICAgICAgICAgKytjaGFyYWN0ZXI7Cisg
ICAgICAgICAgICAgICAgaWYgKCpjaGFyYWN0ZXIgPT0gJy0nIHx8ICpjaGFyYWN0ZXIgPT0gJysn
IHx8IGlzQVNDSUlEaWdpdCgqY2hhcmFjdGVyKSkgeworICAgICAgICAgICAgICAgICAgICArK2No
YXJhY3RlcjsKKyAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGlzQVNDSUlEaWdpdCgqY2hhcmFj
dGVyKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICsrY2hhcmFjdGVyOwogICAgICAgICAgICAg
ICAgICAgICAvLyBVc2UgRkxPQVRUT0tFTiBpZiB0aGUgc3RyaW5nIGNvbnRhaW5zIGV4cG9uZW50
cy4KICAgICAgICAgICAgICAgICAgICAgZG90U2VlbiA9IHRydWU7Ci0gICAgICAgICAgICAgICAg
ICAgIG1fY3VycmVudENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICAg
ICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9IGNoYXJhY3RlcjsK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoIXBhcnNl
U1ZHTnVtYmVyKG1fdG9rZW5TdGFydCwgY3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydCwg
eXlsdmFsLT5udW1iZXIpKQorICAgICAgICAgICAgaWYgKCFwYXJzZVNWR051bWJlcih0b2tlblN0
YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCksIGNoYXJhY3RlciAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFj
dGVyVHlwZT4oKSwgeXlsdmFsLT5udW1iZXIpKQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9IGVsc2UKICNlbmRpZgotICAgICAgICAgICAgeXlsdmFsLT5udW1iZXIgPSBjaGFyYWN0
ZXJzVG9Eb3VibGUobV90b2tlblN0YXJ0LCBtX2N1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3Rh
cnQpOworICAgICAgICAgICAgeXlsdmFsLT5udW1iZXIgPSBjaGFyYWN0ZXJzVG9Eb3VibGUodG9r
ZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpLCBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3Rl
clR5cGU+KCkgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkpOwogIAogICAgICAgICAv
LyBUeXBlIG9mIHRoZSBmdW5jdGlvbi4KLSAgICAgICAgaWYgKGlzSWRlbnRpZmllclN0YXJ0KCkp
IHsKLSAgICAgICAgICAgIFVDaGFyKiB0eXBlID0gbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgICAg
ICAgICAgcmVzdWx0ID0gbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICBpZiAoaXNJZGVudGlm
aWVyU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSkgeworICAgICAgICAgICAgU3JjQ2hhcmFjdGVy
VHlwZSogdHlwZSA9IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKKyAgICAg
ICAgICAgIHJlc3VsdCA9IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKIAot
ICAgICAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgaGFzRXNjYXBlKTsKLSAgICAgICAg
ICAgIGlmICgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICcrJykgeworICAgICAgICAgICAgcGFyc2VJ
ZGVudGlmaWVyKHJlc3VsdCwgcmVzdWx0U3RyaW5nLCBoYXNFc2NhcGUpOworICAgICAgICAgICAg
aWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJysnKSB7CiAgICAg
ICAgICAgICAgICAgLy8gQW55IGlkZW50aWZpZXIgZm9sbG93ZWQgYnkgYSAnKycgc2lnbiBpcyBh
biBpbnZhbGlkIGRpbWVuc2lvbi4KLSAgICAgICAgICAgICAgICArK21fY3VycmVudENoYXJhY3Rl
cjsKKyAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4o
KTsKICAgICAgICAgICAgICAgICBtX3Rva2VuID0gSU5WQUxJRERJTUVOOwogICAgICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgICAgICBtX3Rva2VuID0gRElNRU47CiAgICAgICAgICAgICAg
ICAgaWYgKCFoYXNFc2NhcGUpCi0gICAgICAgICAgICAgICAgICAgIGRldGVjdE51bWJlclRva2Vu
KHR5cGUsIG1fY3VycmVudENoYXJhY3RlciAtIHR5cGUpOworICAgICAgICAgICAgICAgICAgICBk
ZXRlY3ROdW1iZXJUb2tlbih0eXBlLCBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+
KCkgLSB0eXBlKTsKIAogICAgICAgICAgICAgICAgIGlmIChtX3Rva2VuID09IERJTUVOKSB7CiAg
ICAgICAgICAgICAgICAgICAgIC8vIFRoZSBkZWNvZGVkIG51bWJlciBpcyBvdmVyd3JpdHRlbiwg
YnV0IHRoaXMgaXMgaW50ZW50aW9uYWwuCi0gICAgICAgICAgICAgICAgICAgIHl5bHZhbC0+c3Ry
aW5nLmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAgICAgICAgICAgICAgIHl5bHZh
bC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydDsKKyAg
ICAgICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuaW5pdCh0b2tlblN0YXJ0PFNyY0NoYXJh
Y3RlclR5cGU+KCksIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtIHRva2Vu
U3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQotICAgICAgICB9IGVsc2UgaWYgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJyUnKSB7Cisg
ICAgICAgIH0gZWxzZSBpZiAoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9
PSAnJScpIHsKICAgICAgICAgICAgIC8vIEFsdGhvdWdoIHRoZSBDU1MgZ3JhbW1hciBzYXlzIHtu
dW19JSB3ZSBmb2xsb3cKICAgICAgICAgICAgIC8vIHdlYmtpdCBhdCB0aGUgbW9tZW50IHdoaWNo
IHVzZXMge251bX0lKy4KICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICArK21fY3Vy
cmVudENoYXJhY3RlcjsKLSAgICAgICAgICAgIH0gd2hpbGUgKCptX2N1cnJlbnRDaGFyYWN0ZXIg
PT0gJyUnKTsKKyAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVy
VHlwZT4oKTsKKyAgICAgICAgICAgIH0gd2hpbGUgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJh
Y3RlclR5cGU+KCkgPT0gJyUnKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBQRVJDRU5UQUdFOwog
ICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIG1fdG9rZW4gPSBkb3RTZWVuID8gRkxPQVRUT0tF
TiA6IElOVEVHRVI7CkBAIC05MjgwLDU1ICs5NDkyLDU0IEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6
CiAgICAgfQogCiAgICAgY2FzZSBDaGFyYWN0ZXJEYXNoOgotICAgICAgICBpZiAoaXNJZGVudGlm
aWVyU3RhcnRBZnRlckRhc2gobV9jdXJyZW50Q2hhcmFjdGVyKSkgewotICAgICAgICAgICAgLS1t
X2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCBo
YXNFc2NhcGUpOworICAgICAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnRBZnRlckRhc2goY3VycmVu
dENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpKSkgeworICAgICAgICAgICAgLS1jdXJyZW50
Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CisgICAgICAgICAgICBwYXJzZUlkZW50aWZp
ZXIocmVzdWx0LCByZXN1bHRTdHJpbmcsIGhhc0VzY2FwZSk7CiAgICAgICAgICAgICBtX3Rva2Vu
ID0gSURFTlQ7CiAKICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAgICAgIGlmIChj
c3NWYXJpYWJsZXNFbmFibGVkKCkgJiYgaXNFcXVhbFRvQ1NTSWRlbnRpZmllcihtX3Rva2VuU3Rh
cnQgKyAxLCAid2Via2l0LXZhciIpICYmIG1fdG9rZW5TdGFydFsxMV0gPT0gJy0nICYmIGlzSWRl
bnRpZmllclN0YXJ0QWZ0ZXJEYXNoKG1fdG9rZW5TdGFydCArIDEyKSkKKyAgICAgICAgICAgIGlm
IChjc3NWYXJpYWJsZXNFbmFibGVkKCkgJiYgaXNFcXVhbFRvQ1NTSWRlbnRpZmllcih0b2tlblN0
YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkgKyAxLCAid2Via2l0LXZhciIpICYmIHRva2VuU3RhcnQ8
U3JjQ2hhcmFjdGVyVHlwZT4oKVsxMV0gPT0gJy0nICYmIGlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJE
YXNoKHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSArIDEyKSkKICAgICAgICAgICAgICAg
ICBtX3Rva2VuID0gVkFSX0RFRklOSVRJT047CiAgICAgICAgICAgICBlbHNlCiAjZW5kaWYKLSAg
ICAgICAgICAgIGlmICgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICcoJykgeworICAgICAgICAgICAg
aWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJygnKSB7CiAgICAg
ICAgICAgICAgICAgbV90b2tlbiA9IEZVTkNUSU9OOwogICAgICAgICAgICAgICAgIGlmICghaGFz
RXNjYXBlKQotICAgICAgICAgICAgICAgICAgICBkZXRlY3REYXNoVG9rZW4ocmVzdWx0IC0gbV90
b2tlblN0YXJ0KTsKLSAgICAgICAgICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKKyAgICAg
ICAgICAgICAgICAgICAgZGV0ZWN0RGFzaFRva2VuPFNyY0NoYXJhY3RlclR5cGU+KHJlc3VsdCAt
IHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CisgICAgICAgICAgICAgICAgKytjdXJy
ZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAgICAgICAgICAgICAgICAgKytyZXN1
bHQ7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKFVOTElLRUxZKG1fcGFyc2luZ01vZGUgPT0gTnRo
Q2hpbGRNb2RlKSAmJiAhaGFzRXNjYXBlICYmIGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwobV90
b2tlblN0YXJ0WzFdLCAnbicpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAtIG1fdG9r
ZW5TdGFydCA9PSAyKSB7CisgICAgICAgICAgICB9IGVsc2UgaWYgKFVOTElLRUxZKG1fcGFyc2lu
Z01vZGUgPT0gTnRoQ2hpbGRNb2RlKSAmJiAhaGFzRXNjYXBlICYmIGlzQVNDSUlBbHBoYUNhc2Vs
ZXNzRXF1YWwodG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpWzFdLCAnbicpKSB7CisgICAg
ICAgICAgICAgICAgaWYgKHJlc3VsdCAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9
PSAyKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIFN0cmluZyAiLW4iIGlzIElERU5UIGJ1dCAi
LW4rMSIgaXMgTlRILgotICAgICAgICAgICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJh
KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnNlTnRoQ2hpbGRFeHRyYTxTcmNDaGFy
YWN0ZXJUeXBlPigpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3Rva2VuID0gTlRIOwot
ICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gbV9jdXJyZW50Q2hhcmFjdGVyOworICAg
ICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSBlbHNl
IGlmIChyZXN1bHQgLSBtX3Rva2VuU3RhcnQgPj0gMyAmJiBtX3Rva2VuU3RhcnRbMl0gPT0gJy0n
KSB7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQgLSB0b2tlblN0YXJ0PFNyY0No
YXJhY3RlclR5cGU+KCkgPj0gMyAmJiB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KClbMl0g
PT0gJy0nKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIFN0cmluZyAiLW4tIiBpcyBJREVOVCBi
dXQgIi1uLTEiIGlzIE5USC4KLSAgICAgICAgICAgICAgICAgICAgLy8gU2V0IG1fY3VycmVudENo
YXJhY3RlciB0byBzZWNvbmQgJy0nIG9mICctbi0nIHRvIGNvbnRpbnVlIHBhcnNpbmcuCi0gICAg
ICAgICAgICAgICAgICAgIFVDaGFyKiBuZXh0Q2hhcmFjdGVyID0gcmVzdWx0OwotICAgICAgICAg
ICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBtX3Rva2VuU3RhcnQgKyAyOwotICAgICAg
ICAgICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJhKCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgLy8gU2V0IGN1cnJlbnRDaGFyYWN0ZXIgdG8gc2Vjb25kICctJyBvZiAnLW4tJyB0byBj
b250aW51ZSBwYXJzaW5nLgorICAgICAgICAgICAgICAgICAgICBTcmNDaGFyYWN0ZXJUeXBlKiBu
ZXh0Q2hhcmFjdGVyID0gcmVzdWx0OworICAgICAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcmFj
dGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkg
KyAyOworICAgICAgICAgICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJhPFNyY0NoYXJh
Y3RlclR5cGU+KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBOVEg7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAg
ICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3Rl
clR5cGU+KCk7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAvLyBSZXZlcnQgdGhlIGNoYW5nZSB0byBtX2N1cnJlbnRDaGFyYWN0ZXIgaWYgdW5z
dWNjZXNzZnVsLgotICAgICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0g
bmV4dENoYXJhY3RlcjsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJldmVydCB0aGUgY2hh
bmdlIHRvIGN1cnJlbnRDaGFyYWN0ZXIgaWYgdW5zdWNjZXNzZnVsLgorICAgICAgICAgICAgICAg
ICAgICAgICAgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID0gbmV4dENoYXJh
Y3RlcjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBtX3Rva2VuU3Rh
cnQ7Ci0gICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5sZW5ndGggPSByZXN1bHQgLSBtX3Rva2Vu
U3RhcnQ7Ci0gICAgICAgIH0gZWxzZSBpZiAobV9jdXJyZW50Q2hhcmFjdGVyWzBdID09ICctJyAm
JiBtX2N1cnJlbnRDaGFyYWN0ZXJbMV0gPT0gJz4nKSB7Ci0gICAgICAgICAgICBtX2N1cnJlbnRD
aGFyYWN0ZXIgKz0gMjsKKyAgICAgICAgICAgIHJlc3VsdFN0cmluZy5zZXRMZW5ndGgocmVzdWx0
IC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKKyAgICAgICAgICAgIHl5bHZhbC0+
c3RyaW5nID0gcmVzdWx0U3RyaW5nOworICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRDaGFyYWN0
ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKVswXSA9PSAnLScgJiYgY3VycmVudENoYXJhY3RlcjxTcmND
aGFyYWN0ZXJUeXBlPigpWzFdID09ICc+JykgeworICAgICAgICAgICAgY3VycmVudENoYXJhY3Rl
cjxTcmNDaGFyYWN0ZXJUeXBlPigpICs9IDI7CiAgICAgICAgICAgICBtX3Rva2VuID0gU0dNTF9D
RDsKICAgICAgICAgfSBlbHNlIGlmIChVTkxJS0VMWShtX3BhcnNpbmdNb2RlID09IE50aENoaWxk
TW9kZSkpIHsKICAgICAgICAgICAgIC8vICItWzAtOV0rbiIgaXMgYWx3YXlzIGFuIE50aENoaWxk
LgotICAgICAgICAgICAgaWYgKHBhcnNlTnRoQ2hpbGQoKSkgewotICAgICAgICAgICAgICAgIHBh
cnNlTnRoQ2hpbGRFeHRyYSgpOworICAgICAgICAgICAgaWYgKHBhcnNlTnRoQ2hpbGQ8U3JjQ2hh
cmFjdGVyVHlwZT4oKSkgeworICAgICAgICAgICAgICAgIHBhcnNlTnRoQ2hpbGRFeHRyYTxTcmND
aGFyYWN0ZXJUeXBlPigpOwogICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBOVEg7Ci0gICAgICAg
ICAgICAgICAgeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9IG1fdG9rZW5TdGFydDsKLSAgICAg
ICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5sZW5ndGggPSBtX2N1cnJlbnRDaGFyYWN0ZXIgLSBt
X3Rva2VuU3RhcnQ7CisgICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuaW5pdCh0b2tlblN0
YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCksIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlw
ZT4oKSAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICAgICAgYnJlYWs7CkBAIC05MzM5LDE4ICs5NTUwLDE4IEBAIHJlc3RhcnRB
ZnRlckNvbW1lbnQ6CiAKICAgICBjYXNlIENoYXJhY3Rlck51bGw6CiAgICAgICAgIC8vIERvIG5v
dCBhZHZhbmNlIHBvaW50ZXIgYXQgdGhlIGVuZCBvZiBpbnB1dC4KLSAgICAgICAgLS1tX2N1cnJl
bnRDaGFyYWN0ZXI7CisgICAgICAgIC0tY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBl
PigpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyV2hpdGVTcGFjZToKICAg
ICAgICAgbV90b2tlbiA9IFdISVRFU1BBQ0U7CiAgICAgICAgIC8vIE1pZ2h0IHN0YXJ0IHdpdGgg
YSAnXG4nLgotICAgICAgICAtLW1fY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgLS1jdXJyZW50
Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAgICAgICAgIGRvIHsKLSAgICAgICAgICAg
IGlmICgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICdcbicpCisgICAgICAgICAgICBpZiAoKmN1cnJl
bnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnXG4nKQogICAgICAgICAgICAgICAg
ICsrbV9saW5lTnVtYmVyOwotICAgICAgICAgICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAg
ICAgIH0gd2hpbGUgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPD0gJyAnICYmICh0eXBlc09mQVNDSUlD
aGFyYWN0ZXJzWyptX2N1cnJlbnRDaGFyYWN0ZXJdID09IENoYXJhY3RlcldoaXRlU3BhY2UpKTsK
KyAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAg
ICAgICB9IHdoaWxlICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIDw9ICcg
JyAmJiAodHlwZXNPZkFTQ0lJQ2hhcmFjdGVyc1sqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpXSA9PSBDaGFyYWN0ZXJXaGl0ZVNwYWNlKSk7CiAgICAgICAgIGJyZWFrOwogCiAg
ICAgY2FzZSBDaGFyYWN0ZXJFbmRNZWRpYVF1ZXJ5OgpAQCAtOTM2NCw0MiArOTU3NSwzOSBAQCBy
ZXN0YXJ0QWZ0ZXJDb21tZW50OgogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVy
UXVvdGU6Ci0gICAgICAgIGlmIChjaGVja0FuZFNraXBTdHJpbmcobV9jdXJyZW50Q2hhcmFjdGVy
LCBtX3Rva2VuKSkgeworICAgICAgICBpZiAoY2hlY2tBbmRTa2lwU3RyaW5nKGN1cnJlbnRDaGFy
YWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSwgbV90b2tlbikpIHsKICAgICAgICAgICAgICsrcmVz
dWx0OwotICAgICAgICAgICAgcGFyc2VTdHJpbmcocmVzdWx0LCBtX3Rva2VuKTsKKyAgICAgICAg
ICAgIHBhcnNlU3RyaW5nPFNyY0NoYXJhY3RlclR5cGU+KHJlc3VsdCwgeXlsdmFsLT5zdHJpbmcs
IG1fdG9rZW4pOwogICAgICAgICAgICAgbV90b2tlbiA9IFNUUklORzsKLSAgICAgICAgICAgIHl5
bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQgKyAxOwotICAgICAgICAgICAg
eXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gcmVzdWx0IC0gKG1fdG9rZW5TdGFydCArIDEpOwogICAg
ICAgICB9CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJFeGNsYW1hdGlvbk1h
cms6IHsKLSAgICAgICAgVUNoYXIqIHN0YXJ0ID0gc2tpcFdoaXRlU3BhY2UobV9jdXJyZW50Q2hh
cmFjdGVyKTsKKyAgICAgICAgU3JjQ2hhcmFjdGVyVHlwZSogc3RhcnQgPSBza2lwV2hpdGVTcGFj
ZShjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkpOwogICAgICAgICBpZiAoaXNF
cXVhbFRvQ1NTSWRlbnRpZmllcihzdGFydCwgImltcG9ydGFudCIpKSB7CiAgICAgICAgICAgICBt
X3Rva2VuID0gSU1QT1JUQU5UX1NZTTsKLSAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciA9
IHN0YXJ0ICsgOTsKKyAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlw
ZT4oKSA9IHN0YXJ0ICsgOTsKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CiAKICAg
ICBjYXNlIENoYXJhY3Rlckhhc2htYXJrOiB7Ci0gICAgICAgIFVDaGFyKiBzdGFydCA9IG1fY3Vy
cmVudENoYXJhY3RlcjsKLSAgICAgICAgcmVzdWx0ID0gbV9jdXJyZW50Q2hhcmFjdGVyOworICAg
ICAgICBTcmNDaGFyYWN0ZXJUeXBlKiBzdGFydCA9IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFj
dGVyVHlwZT4oKTsKKyAgICAgICAgcmVzdWx0ID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpOwogCi0gICAgICAgIGlmIChpc0FTQ0lJRGlnaXQoKm1fY3VycmVudENoYXJhY3Rl
cikpIHsKKyAgICAgICAgaWYgKGlzQVNDSUlEaWdpdCgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFy
YWN0ZXJUeXBlPigpKSkgewogICAgICAgICAgICAgLy8gVGhpcyBtdXN0IGJlIGEgdmFsaWQgaGV4
IG51bWJlciB0b2tlbi4KICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICArK21fY3Vy
cmVudENoYXJhY3RlcjsKLSAgICAgICAgICAgIH0gd2hpbGUgKGlzQVNDSUlIZXhEaWdpdCgqbV9j
dXJyZW50Q2hhcmFjdGVyKSk7CisgICAgICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNy
Y0NoYXJhY3RlclR5cGU+KCk7CisgICAgICAgICAgICB9IHdoaWxlIChpc0FTQ0lJSGV4RGlnaXQo
KmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSkpOwogICAgICAgICAgICAgbV90
b2tlbiA9IEhFWDsKLSAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBzdGFy
dDsKLSAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJhY3Rl
ciAtIHN0YXJ0OwotICAgICAgICB9IGVsc2UgaWYgKGlzSWRlbnRpZmllclN0YXJ0KCkpIHsKKyAg
ICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmluaXQoc3RhcnQsIGN1cnJlbnRDaGFyYWN0ZXI8U3Jj
Q2hhcmFjdGVyVHlwZT4oKSAtIHN0YXJ0KTsKKyAgICAgICAgfSBlbHNlIGlmIChpc0lkZW50aWZp
ZXJTdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpKSB7CiAgICAgICAgICAgICBtX3Rva2VuID0gSURT
RUw7Ci0gICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCBoYXNFc2NhcGUpOworICAg
ICAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgeXlsdmFsLT5zdHJpbmcsIGhhc0VzY2Fw
ZSk7CiAgICAgICAgICAgICBpZiAoIWhhc0VzY2FwZSkgewogICAgICAgICAgICAgICAgIC8vIENo
ZWNrIHdoZXRoZXIgdGhlIGlkZW50aWZpZXIgaXMgYWxzbyBhIHZhbGlkIGhleCBudW1iZXIuCi0g
ICAgICAgICAgICAgICAgVUNoYXIqIGN1cnJlbnQgPSBzdGFydDsKKyAgICAgICAgICAgICAgICBT
cmNDaGFyYWN0ZXJUeXBlKiBjdXJyZW50ID0gc3RhcnQ7CiAgICAgICAgICAgICAgICAgbV90b2tl
biA9IEhFWDsKICAgICAgICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgICAgICAgIGlmICgh
aXNBU0NJSUhleERpZ2l0KCpjdXJyZW50KSkgewpAQCAtOTQwOSw0MSArOTYxNywzOSBAQCByZXN0
YXJ0QWZ0ZXJDb21tZW50OgogICAgICAgICAgICAgICAgICAgICArK2N1cnJlbnQ7CiAgICAgICAg
ICAgICAgICAgfSB3aGlsZSAoY3VycmVudCA8IHJlc3VsdCk7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0gc3RhcnQ7Ci0gICAgICAgICAgICB5
eWx2YWwtPnN0cmluZy5sZW5ndGggPSByZXN1bHQgLSBzdGFydDsKICAgICAgICAgfQogICAgICAg
ICBicmVhazsKICAgICB9CiAKICAgICBjYXNlIENoYXJhY3RlclNsYXNoOgogICAgICAgICAvLyBJ
Z25vcmUgY29tbWVudHMuIFRoZXkgYXJlIG5vdCBldmVuIGNvbnNpZGVyZWQgYXMgd2hpdGUgc3Bh
Y2VzLgotICAgICAgICBpZiAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnKicpIHsKLSAgICAgICAg
ICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgICAgICAgICAgd2hpbGUgKG1fY3VycmVudENo
YXJhY3RlclswXSAhPSAnKicgfHwgbV9jdXJyZW50Q2hhcmFjdGVyWzFdICE9ICcvJykgewotICAg
ICAgICAgICAgICAgIGlmICgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICdcbicpCisgICAgICAgIGlm
ICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICcqJykgeworICAgICAg
ICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CisgICAgICAgICAg
ICB3aGlsZSAoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpWzBdICE9ICcqJyB8
fCBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMV0gIT0gJy8nKSB7CisgICAg
ICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0g
J1xuJykKICAgICAgICAgICAgICAgICAgICAgKyttX2xpbmVOdW1iZXI7Ci0gICAgICAgICAgICAg
ICAgaWYgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJ1wwJykgeworICAgICAgICAgICAgICAgIGlm
ICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICdcMCcpIHsKICAgICAg
ICAgICAgICAgICAgICAgLy8gVW50ZXJtaW5hdGVkIGNvbW1lbnRzIGFyZSBzaW1wbHkgaWdub3Jl
ZC4KLSAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyIC09IDI7CisgICAgICAg
ICAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtPSAyOwog
ICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgKytjdXJyZW50Q2hh
cmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBt
X2N1cnJlbnRDaGFyYWN0ZXIgKz0gMjsKKyAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3Jj
Q2hhcmFjdGVyVHlwZT4oKSArPSAyOwogICAgICAgICAgICAgZ290byByZXN0YXJ0QWZ0ZXJDb21t
ZW50OwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJEb2xs
YXI6Ci0gICAgICAgIGlmICgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICc9JykgewotICAgICAgICAg
ICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxT
cmNDaGFyYWN0ZXJUeXBlPigpID09ICc9JykgeworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFj
dGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAgICAgICAgICAgICBtX3Rva2VuID0gRU5EU1dJVEg7
CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlckFzdGVyaXNr
OgotICAgICAgICBpZiAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnPScpIHsKLSAgICAgICAgICAg
ICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICBpZiAoKmN1cnJlbnRDaGFyYWN0ZXI8U3Jj
Q2hhcmFjdGVyVHlwZT4oKSA9PSAnPScpIHsKKyAgICAgICAgICAgICsrY3VycmVudENoYXJhY3Rl
cjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICAgICAgbV90b2tlbiA9IENPTlRBSU5TOwog
ICAgICAgICB9CiAgICAgICAgIGJyZWFrOwpAQCAtOTQ1MSw1OCArOTY1Nyw1NSBAQCByZXN0YXJ0
QWZ0ZXJDb21tZW50OgogICAgIGNhc2UgQ2hhcmFjdGVyUGx1czoKICAgICAgICAgaWYgKFVOTElL
RUxZKG1fcGFyc2luZ01vZGUgPT0gTnRoQ2hpbGRNb2RlKSkgewogICAgICAgICAgICAgLy8gU2lt
cGxlc3QgY2FzZS4gIitbMC05XSpuIiBpcyBhbHdheXMgTnRoQ2hpbGQuCi0gICAgICAgICAgICBp
ZiAocGFyc2VOdGhDaGlsZCgpKSB7Ci0gICAgICAgICAgICAgICAgcGFyc2VOdGhDaGlsZEV4dHJh
KCk7CisgICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZDxTcmNDaGFyYWN0ZXJUeXBlPigpKSB7
CisgICAgICAgICAgICAgICAgcGFyc2VOdGhDaGlsZEV4dHJhPFNyY0NoYXJhY3RlclR5cGU+KCk7
CiAgICAgICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAgICAgICAgICB5eWx2YWwt
PnN0cmluZy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0OwotICAgICAgICAgICAgICAgIHl5bHZh
bC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydDsKKyAg
ICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5pbml0KHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVy
VHlwZT4oKSwgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFy
dDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAg
ICBicmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKLSAgICAgICAgaWYgKG1fY3VycmVu
dENoYXJhY3RlclswXSA9PSAnIScgJiYgbV9jdXJyZW50Q2hhcmFjdGVyWzFdID09ICctJyAmJiBt
X2N1cnJlbnRDaGFyYWN0ZXJbMl0gPT0gJy0nKSB7Ci0gICAgICAgICAgICBtX2N1cnJlbnRDaGFy
YWN0ZXIgKz0gMzsKKyAgICAgICAgaWYgKGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlw
ZT4oKVswXSA9PSAnIScgJiYgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpWzFd
ID09ICctJyAmJiBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMl0gPT0gJy0n
KSB7CisgICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgKz0g
MzsKICAgICAgICAgICAgIG1fdG9rZW4gPSBTR01MX0NEOwogICAgICAgICB9CiAgICAgICAgIGJy
ZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJBdDoKLSAgICAgICAgaWYgKGlzSWRlbnRpZmllclN0
YXJ0KCkpIHsKKyAgICAgICAgaWYgKGlzSWRlbnRpZmllclN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+
KCkpIHsKICAgICAgICAgICAgIG1fdG9rZW4gPSBBVEtFWVdPUkQ7CiAgICAgICAgICAgICArK3Jl
c3VsdDsKLSAgICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIGhhc0VzY2FwZSk7Ci0g
ICAgICAgICAgICBkZXRlY3RBdFRva2VuKHJlc3VsdCAtIG1fdG9rZW5TdGFydCwgaGFzRXNjYXBl
KTsKKyAgICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIHJlc3VsdFN0cmluZywgaGFz
RXNjYXBlKTsKKyAgICAgICAgICAgIGRldGVjdEF0VG9rZW48U3JjQ2hhcmFjdGVyVHlwZT4ocmVz
dWx0IC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpLCBoYXNFc2NhcGUpOwogICAgICAg
ICB9CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJCYWNrU2xhc2g6Ci0gICAg
ICAgIGlmIChpc0NTU0VzY2FwZSgqbV9jdXJyZW50Q2hhcmFjdGVyKSkgewotICAgICAgICAgICAg
LS1tX2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0
LCBoYXNFc2NhcGUpOworICAgICAgICBpZiAoaXNDU1NFc2NhcGUoKmN1cnJlbnRDaGFyYWN0ZXI8
U3JjQ2hhcmFjdGVyVHlwZT4oKSkpIHsKKyAgICAgICAgICAgIC0tY3VycmVudENoYXJhY3RlcjxT
cmNDaGFyYWN0ZXJUeXBlPigpOworICAgICAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwg
eXlsdmFsLT5zdHJpbmcsIGhhc0VzY2FwZSk7CiAgICAgICAgICAgICBtX3Rva2VuID0gSURFTlQ7
Ci0gICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0Owot
ICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gcmVzdWx0IC0gbV90b2tlblN0YXJ0
OwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJYb3I6Ci0g
ICAgICAgIGlmICgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICc9JykgewotICAgICAgICAgICAgKytt
X2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFy
YWN0ZXJUeXBlPigpID09ICc9JykgeworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNy
Y0NoYXJhY3RlclR5cGU+KCk7CiAgICAgICAgICAgICBtX3Rva2VuID0gQkVHSU5TV0lUSDsKICAg
ICAgICAgfQogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyVmVydGljYWxCYXI6
Ci0gICAgICAgIGlmICgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICc9JykgewotICAgICAgICAgICAg
KyttX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxTcmND
aGFyYWN0ZXJUeXBlPigpID09ICc9JykgeworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVy
PFNyY0NoYXJhY3RlclR5cGU+KCk7CiAgICAgICAgICAgICBtX3Rva2VuID0gREFTSE1BVENIOwog
ICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJUaWxkZToKLSAg
ICAgICAgaWYgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJz0nKSB7Ci0gICAgICAgICAgICArK21f
Y3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJh
Y3RlclR5cGU+KCkgPT0gJz0nKSB7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3Jj
Q2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBJTkNMVURFUzsKICAgICAg
ICAgfQogICAgICAgICBicmVhazsKQEAgLTk1MTIsMzYgKzk3MTUsNiBAQCByZXN0YXJ0QWZ0ZXJD
b21tZW50OgogICAgICAgICBicmVhazsKICAgICB9CiAKLSNpZm5kZWYgTkRFQlVHCi0gICAgc3dp
dGNoICh0b2tlbigpKSB7Ci0gICAgY2FzZSBTVFJJTkc6Ci0gICAgICAgIEFTU0VSVCh5eWx2YWwt
PnN0cmluZy5jaGFyYWN0ZXJzID09IG1fdG9rZW5TdGFydCArIDEpOwotICAgICAgICBicmVhazsK
LQotICAgIGNhc2UgSURFTlQ6Ci0gICAgY2FzZSBOVEg6Ci0gICAgY2FzZSBESU1FTjoKLSAgICBj
YXNlIFVOSUNPREVSQU5HRToKLSAgICBjYXNlIEZVTkNUSU9OOgotICAgIGNhc2UgQU5ZRlVOQ1RJ
T046Ci0gICAgY2FzZSBOT1RGVU5DVElPTjoKLSAgICBjYXNlIENBTENGVU5DVElPTjoKLSAgICBj
YXNlIE1JTkZVTkNUSU9OOgotICAgIGNhc2UgTUFYRlVOQ1RJT046Ci0gICAgICAgIEFTU0VSVCh5
eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzID09IG1fdG9rZW5TdGFydCAmJiB5eWx2YWwtPnN0cmlu
Zy5sZW5ndGggPiAwKTsKLSAgICAgICAgYnJlYWs7Ci0KLSAgICBjYXNlIFVSSToKLSAgICAgICAg
QVNTRVJUKHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgJiYgeXlsdmFsLT5zdHJpbmcuY2hhcmFj
dGVycyAhPSBtX3Rva2VuU3RhcnQpOwotICAgICAgICBicmVhazsKLQotICAgIGNhc2UgSEVYOgot
ICAgIGNhc2UgSURTRUw6Ci0gICAgICAgIEFTU0VSVCh5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJz
ID09IG1fdG9rZW5TdGFydCArIDEgJiYgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID4gMCk7Ci0gICAg
ICAgIGJyZWFrOwotICAgIH0KLSNlbmRpZgotCiAgICAgcmV0dXJuIHRva2VuKCk7CiB9CiAKQEAg
LTk5ODQsMTcgKzEwMTU3LDE1IEBAIHZvaWQgQ1NTUGFyc2VyOjp1cGRhdGVMYXN0TWVkaWFMaW5l
KE1lZGkKICAgICBtZWRpYS0+c2V0TGFzdExpbmUobV9saW5lTnVtYmVyKTsKIH0KIAotdm9pZCBD
U1NQYXJzZXI6OmZpeFVucGFyc2VkUHJvcGVydHlSYW5nZXMoQ1NTUnVsZVNvdXJjZURhdGEqIHJ1
bGVEYXRhKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5l
IHZvaWQgZml4VW5wYXJzZWRQcm9wZXJ0aWVzKGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3Rl
cnMsIENTU1J1bGVTb3VyY2VEYXRhKiBydWxlRGF0YSkKIHsKLSAgICBpZiAoIXJ1bGVEYXRhLT5z
dHlsZVNvdXJjZURhdGEpCi0gICAgICAgIHJldHVybjsKICAgICBWZWN0b3I8Q1NTUHJvcGVydHlT
b3VyY2VEYXRhPiYgcHJvcGVydHlEYXRhID0gcnVsZURhdGEtPnN0eWxlU291cmNlRGF0YS0+cHJv
cGVydHlEYXRhOwogICAgIHVuc2lnbmVkIHNpemUgPSBwcm9wZXJ0eURhdGEuc2l6ZSgpOwogICAg
IGlmICghc2l6ZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgdW5zaWduZWQgc3R5bGVTdGFydCA9
IHJ1bGVEYXRhLT5ydWxlQm9keVJhbmdlLnN0YXJ0OwotICAgIGNvbnN0IFVDaGFyKiBjaGFyYWN0
ZXJzID0gbV9kYXRhU3RhcnQuZ2V0KCkgKyBtX3BhcnNlZFRleHRQcmVmaXhMZW5ndGg7CiAgICAg
Q1NTUHJvcGVydHlTb3VyY2VEYXRhKiBuZXh0RGF0YSA9ICYocHJvcGVydHlEYXRhLmF0KDApKTsK
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CiAgICAgICAgIENTU1By
b3BlcnR5U291cmNlRGF0YSogY3VycmVudERhdGEgPSBuZXh0RGF0YTsKQEAgLTEwMDMxLDM2ICsx
MDIwMiw2MCBAQCB2b2lkIENTU1BhcnNlcjo6Zml4VW5wYXJzZWRQcm9wZXJ0eVJhbmdlCiAgICAg
fQogfQogCit2b2lkIENTU1BhcnNlcjo6Zml4VW5wYXJzZWRQcm9wZXJ0eVJhbmdlcyhDU1NSdWxl
U291cmNlRGF0YSogcnVsZURhdGEpCit7CisgICAgaWYgKCFydWxlRGF0YS0+c3R5bGVTb3VyY2VE
YXRhKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoaXM4Qml0U291cmNlKCkpIHsKKyAgICAg
ICAgZml4VW5wYXJzZWRQcm9wZXJ0aWVzPExDaGFyPihtX2RhdGFTdGFydDguZ2V0KCkgKyBtX3Bh
cnNlZFRleHRQcmVmaXhMZW5ndGgsIHJ1bGVEYXRhKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGZpeFVucGFyc2VkUHJvcGVydGllczxVQ2hhcj4obV9kYXRhU3RhcnQxNi5nZXQoKSAr
IG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCwgcnVsZURhdGEpOworfQorCiB2b2lkIENTU1BhcnNl
cjo6bWFya1J1bGVIZWFkZXJTdGFydChDU1NSdWxlU291cmNlRGF0YTo6VHlwZSBydWxlVHlwZSkK
IHsKICAgICBpZiAoIWlzRXh0cmFjdGluZ1NvdXJjZURhdGEoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIFJlZlB0cjxDU1NSdWxlU291cmNlRGF0YT4gZGF0YSA9IENTU1J1bGVTb3VyY2VEYXRhOjpj
cmVhdGUocnVsZVR5cGUpOwotICAgIGRhdGEtPnJ1bGVIZWFkZXJSYW5nZS5zdGFydCA9IG1fdG9r
ZW5TdGFydCAtIG1fZGF0YVN0YXJ0LmdldCgpOworICAgIGRhdGEtPnJ1bGVIZWFkZXJSYW5nZS5z
dGFydCA9IHRva2VuU3RhcnRPZmZzZXQoKTsKICAgICBtX2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5h
cHBlbmQoZGF0YS5yZWxlYXNlKCkpOwogfQogCi12b2lkIENTU1BhcnNlcjo6bWFya1J1bGVIZWFk
ZXJFbmQoKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitpbmxpbmUgdm9pZCBD
U1NQYXJzZXI6OnNldFJ1bGVIZWFkZXJFbmQoY29uc3QgQ2hhcmFjdGVyVHlwZSogZGF0YVN0YXJ0
KQogewotICAgIGlmICghaXNFeHRyYWN0aW5nU291cmNlRGF0YSgpKQotICAgICAgICByZXR1cm47
Ci0gICAgQVNTRVJUKCFtX2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5pc0VtcHR5KCkpOwotICAgIFVD
aGFyKiBsaXN0RW5kID0gbV90b2tlblN0YXJ0OwotICAgIHdoaWxlIChsaXN0RW5kID4gbV9kYXRh
U3RhcnQuZ2V0KCkgKyAxKSB7CisgICAgQ2hhcmFjdGVyVHlwZSogbGlzdEVuZCA9IHRva2VuU3Rh
cnQ8Q2hhcmFjdGVyVHlwZT4oKTsKKyAgICB3aGlsZSAobGlzdEVuZCA+IGRhdGFTdGFydCArIDEp
IHsKICAgICAgICAgaWYgKGlzSFRNTFNwYWNlKCoobGlzdEVuZCAtIDEpKSkKICAgICAgICAgICAg
IC0tbGlzdEVuZDsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQotICAg
IG1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmxhc3QoKS0+cnVsZUhlYWRlclJhbmdlLmVuZCA9IGxp
c3RFbmQgLSBtX2RhdGFTdGFydC5nZXQoKTsKKworICAgIG1fY3VycmVudFJ1bGVEYXRhU3RhY2st
Pmxhc3QoKS0+cnVsZUhlYWRlclJhbmdlLmVuZCA9IGxpc3RFbmQgLSBkYXRhU3RhcnQ7Cit9CisK
K3ZvaWQgQ1NTUGFyc2VyOjptYXJrUnVsZUhlYWRlckVuZCgpCit7CisgICAgaWYgKCFpc0V4dHJh
Y3RpbmdTb3VyY2VEYXRhKCkpCisgICAgICAgIHJldHVybjsKKyAgICBBU1NFUlQoIW1fY3VycmVu
dFJ1bGVEYXRhU3RhY2stPmlzRW1wdHkoKSk7CisKKyAgICBpZiAoaXM4Qml0U291cmNlKCkpCisg
ICAgICAgIHNldFJ1bGVIZWFkZXJFbmQ8TENoYXI+KG1fZGF0YVN0YXJ0OC5nZXQoKSk7CisgICAg
ZWxzZQorICAgICAgICBzZXRSdWxlSGVhZGVyRW5kPFVDaGFyPihtX2RhdGFTdGFydDE2LmdldCgp
KTsKIH0KIAogdm9pZCBDU1NQYXJzZXI6Om1hcmtSdWxlQm9keVN0YXJ0KCkKIHsKICAgICBpZiAo
IWlzRXh0cmFjdGluZ1NvdXJjZURhdGEoKSkKICAgICAgICAgcmV0dXJuOwotICAgIHVuc2lnbmVk
IG9mZnNldCA9IG1fdG9rZW5TdGFydCAtIG1fZGF0YVN0YXJ0LmdldCgpOwotICAgIGlmICgqbV90
b2tlblN0YXJ0ID09ICd7JykKKyAgICB1bnNpZ25lZCBvZmZzZXQgPSB0b2tlblN0YXJ0T2Zmc2V0
KCk7CisgICAgaWYgKHRva2VuU3RhcnRDaGFyKCkgPT0gJ3snKQogICAgICAgICArK29mZnNldDsg
Ly8gU2tpcCB0aGUgcnVsZSBib2R5IG9wZW5pbmcgYnJhY2UuCiAgICAgQVNTRVJUKCFtX2N1cnJl
bnRSdWxlRGF0YVN0YWNrLT5pc0VtcHR5KCkpOwogICAgIG1fY3VycmVudFJ1bGVEYXRhU3RhY2st
Pmxhc3QoKS0+cnVsZUJvZHlSYW5nZS5zdGFydCA9IG9mZnNldDsKQEAgLTEwMDY5LDcgKzEwMjY0
LDcgQEAgdm9pZCBDU1NQYXJzZXI6Om1hcmtSdWxlQm9keVN0YXJ0KCkKIHZvaWQgQ1NTUGFyc2Vy
OjptYXJrUnVsZUJvZHlFbmQoKQogewogICAgIC8vIFByZWNvbmRpdGlvbjogKCFpc0V4dHJhY3Rp
bmdTb3VyY2VEYXRhKCkpCi0gICAgdW5zaWduZWQgb2Zmc2V0ID0gbV90b2tlblN0YXJ0IC0gbV9k
YXRhU3RhcnQuZ2V0KCk7CisgICAgdW5zaWduZWQgb2Zmc2V0ID0gdG9rZW5TdGFydE9mZnNldCgp
OwogICAgIEFTU0VSVCghbV9jdXJyZW50UnVsZURhdGFTdGFjay0+aXNFbXB0eSgpKTsKICAgICBt
X2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5sYXN0KCktPnJ1bGVCb2R5UmFuZ2UuZW5kID0gb2Zmc2V0
OwogfQpAQCAtMTAwODEsNyArMTAyNzYsNyBAQCB2b2lkIENTU1BhcnNlcjo6bWFya1Byb3BlcnR5
U3RhcnQoKQogICAgIGlmIChtX2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5pc0VtcHR5KCkgfHwgIW1f
Y3VycmVudFJ1bGVEYXRhU3RhY2stPmxhc3QoKS0+c3R5bGVTb3VyY2VEYXRhKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBtX3Byb3BlcnR5UmFuZ2Uuc3RhcnQgPSBtX3Rva2VuU3RhcnQgLSBtX2Rh
dGFTdGFydC5nZXQoKTsKKyAgICBtX3Byb3BlcnR5UmFuZ2Uuc3RhcnQgPSB0b2tlblN0YXJ0T2Zm
c2V0KCk7CiB9CiAKIHZvaWQgQ1NTUGFyc2VyOjptYXJrUHJvcGVydHlFbmQoYm9vbCBpc0ltcG9y
dGFudEZvdW5kLCBib29sIGlzUHJvcGVydHlQYXJzZWQpCkBAIC0xMDA5MSw4ICsxMDI4Niw4IEBA
IHZvaWQgQ1NTUGFyc2VyOjptYXJrUHJvcGVydHlFbmQoYm9vbCBpc0kKICAgICBpZiAobV9jdXJy
ZW50UnVsZURhdGFTdGFjay0+aXNFbXB0eSgpIHx8ICFtX2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5s
YXN0KCktPnN0eWxlU291cmNlRGF0YSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdW5zaWduZWQg
b2Zmc2V0ID0gbV90b2tlblN0YXJ0IC0gbV9kYXRhU3RhcnQuZ2V0KCk7Ci0gICAgaWYgKCptX3Rv
a2VuU3RhcnQgPT0gJzsnKSAvLyBJbmNsdWRlIHNlbWljb2xvbiBpbnRvIHRoZSBwcm9wZXJ0eSB0
ZXh0LgorICAgIHVuc2lnbmVkIG9mZnNldCA9IHRva2VuU3RhcnRPZmZzZXQoKTsKKyAgICBpZiAo
dG9rZW5TdGFydENoYXIoKSA9PSAnOycpIC8vIEluY2x1ZGUgc2VtaWNvbG9uIGludG8gdGhlIHBy
b3BlcnR5IHRleHQuCiAgICAgICAgICsrb2Zmc2V0OwogICAgIG1fcHJvcGVydHlSYW5nZS5lbmQg
PSBvZmZzZXQ7CiAgICAgaWYgKG1fcHJvcGVydHlSYW5nZS5zdGFydCAhPSBVSU5UX01BWCAmJiAh
bV9jdXJyZW50UnVsZURhdGFTdGFjay0+aXNFbXB0eSgpKSB7CkBAIC0xMDEwMCw3ICsxMDI5NSwx
MSBAQCB2b2lkIENTU1BhcnNlcjo6bWFya1Byb3BlcnR5RW5kKGJvb2wgaXNJCiAgICAgICAgIGNv
bnN0IHVuc2lnbmVkIHN0YXJ0ID0gbV9wcm9wZXJ0eVJhbmdlLnN0YXJ0OwogICAgICAgICBjb25z
dCB1bnNpZ25lZCBlbmQgPSBtX3Byb3BlcnR5UmFuZ2UuZW5kOwogICAgICAgICBBU1NFUlQoc3Rh
cnQgPCBlbmQpOwotICAgICAgICBTdHJpbmcgcHJvcGVydHlTdHJpbmcgPSBTdHJpbmcobV9kYXRh
U3RhcnQuZ2V0KCkgKyBzdGFydCwgZW5kIC0gc3RhcnQpLnN0cmlwV2hpdGVTcGFjZSgpOworICAg
ICAgICBTdHJpbmcgcHJvcGVydHlTdHJpbmc7CisgICAgICAgIGlmIChpczhCaXRTb3VyY2UoKSkK
KyAgICAgICAgICAgIHByb3BlcnR5U3RyaW5nID0gU3RyaW5nKG1fZGF0YVN0YXJ0OC5nZXQoKSAr
IHN0YXJ0LCBlbmQgLSBzdGFydCkuc3RyaXBXaGl0ZVNwYWNlKCk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHByb3BlcnR5U3RyaW5nID0gU3RyaW5nKG1fZGF0YVN0YXJ0MTYuZ2V0KCkgKyBz
dGFydCwgZW5kIC0gc3RhcnQpLnN0cmlwV2hpdGVTcGFjZSgpOwogICAgICAgICBpZiAocHJvcGVy
dHlTdHJpbmcuZW5kc1dpdGgoJzsnKSkKICAgICAgICAgICAgIHByb3BlcnR5U3RyaW5nID0gcHJv
cGVydHlTdHJpbmcubGVmdChwcm9wZXJ0eVN0cmluZy5sZW5ndGgoKSAtIDEpOwogICAgICAgICBz
aXplX3QgY29sb25JbmRleCA9IHByb3BlcnR5U3RyaW5nLmZpbmQoJzonKTsKQEAgLTEwMTE2LDcg
KzEwMzE1LDggQEAgdm9pZCBDU1NQYXJzZXI6Om1hcmtQcm9wZXJ0eUVuZChib29sIGlzSQogICAg
IHJlc2V0UHJvcGVydHlSYW5nZSgpOwogfQogCi1zdGF0aWMgQ1NTUHJvcGVydHlJRCBjc3NQcm9w
ZXJ0eUlEKGNvbnN0IFVDaGFyKiBwcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGxlbmd0aCkKK3RlbXBs
YXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIENTU1Byb3BlcnR5SUQgY3NzUHJv
cGVydHlJRChjb25zdCBDaGFyYWN0ZXJUeXBlKiBwcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGxlbmd0
aCkKIHsKICAgICBpZiAoIWxlbmd0aCkKICAgICAgICAgcmV0dXJuIENTU1Byb3BlcnR5SW52YWxp
ZDsKQEAgLTEwMTI2LDcgKzEwMzI2LDcgQEAgc3RhdGljIENTU1Byb3BlcnR5SUQgY3NzUHJvcGVy
dHlJRChjb25zdAogICAgIGNoYXIgYnVmZmVyW21heENTU1Byb3BlcnR5TmFtZUxlbmd0aCArIDEg
KyAxXTsgLy8gMSB0byB0dXJuICJhcHBsZSIvImtodG1sIiBpbnRvICJ3ZWJraXQiLCAxIGZvciBu
dWxsIGNoYXJhY3RlcgogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSAhPSBsZW5ndGg7ICsr
aSkgewotICAgICAgICBVQ2hhciBjID0gcHJvcGVydHlOYW1lW2ldOworICAgICAgICBDaGFyYWN0
ZXJUeXBlIGMgPSBwcm9wZXJ0eU5hbWVbaV07CiAgICAgICAgIGlmIChjID09IDAgfHwgYyA+PSAw
eDdGKQogICAgICAgICAgICAgcmV0dXJuIENTU1Byb3BlcnR5SW52YWxpZDsgLy8gaWxsZWdhbCBj
aGFyYWN0ZXIKICAgICAgICAgYnVmZmVyW2ldID0gdG9BU0NJSUxvd2VyKGMpOwpAQCAtMTAxNjQs
MTIgKzEwMzY0LDEyIEBAIHN0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SUQoY29uc3QK
IAogQ1NTUHJvcGVydHlJRCBjc3NQcm9wZXJ0eUlEKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewot
ICAgIHJldHVybiBjc3NQcm9wZXJ0eUlEKHN0cmluZy5jaGFyYWN0ZXJzKCksIHN0cmluZy5sZW5n
dGgoKSk7CisgICAgcmV0dXJuIHN0cmluZy5pczhCaXQoKSA/IGNzc1Byb3BlcnR5SUQoc3RyaW5n
LmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgoKSkgOiBjc3NQcm9wZXJ0eUlEKHN0cmluZy5j
aGFyYWN0ZXJzKCksIHN0cmluZy5sZW5ndGgoKSk7CiB9CiAKIENTU1Byb3BlcnR5SUQgY3NzUHJv
cGVydHlJRChjb25zdCBDU1NQYXJzZXJTdHJpbmcmIHN0cmluZykKIHsKLSAgICByZXR1cm4gY3Nz
UHJvcGVydHlJRChzdHJpbmcuY2hhcmFjdGVycywgc3RyaW5nLmxlbmd0aCk7CisgICAgcmV0dXJu
IHN0cmluZy5pczhCaXQoKSA/IGNzc1Byb3BlcnR5SUQoc3RyaW5nLmNoYXJhY3RlcnM4KCksIHN0
cmluZy5sZW5ndGgoKSkgOiBjc3NQcm9wZXJ0eUlEKHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgc3Ry
aW5nLmxlbmd0aCgpKTsKIH0KIAogI2lmIFBMQVRGT1JNKElPUykKQEAgLTEwMTg0LDE4ICsxMDM4
NCwxMyBAQCB2b2lkIGNzc1Byb3BlcnR5TmFtZUlPU0FsaWFzaW5nKGNvbnN0IGNoCiB9CiAjZW5k
aWYKIAotaW50IGNzc1ZhbHVlS2V5d29yZElEKGNvbnN0IENTU1BhcnNlclN0cmluZyYgc3RyaW5n
KQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW50IGNzc1ZhbHVl
S2V5d29yZElEKGNvbnN0IENoYXJhY3RlclR5cGUqIHZhbHVlS2V5d29yZCwgdW5zaWduZWQgbGVu
Z3RoKQogewotICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0cmluZy5sZW5ndGg7Ci0gICAgaWYgKCFs
ZW5ndGgpCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmIChsZW5ndGggPiBtYXhDU1NWYWx1ZUtl
eXdvcmRMZW5ndGgpCi0gICAgICAgIHJldHVybiAwOwotCiAgICAgY2hhciBidWZmZXJbbWF4Q1NT
VmFsdWVLZXl3b3JkTGVuZ3RoICsgMSArIDFdOyAvLyAxIHRvIHR1cm4gImFwcGxlIi8ia2h0bWwi
IGludG8gIndlYmtpdCIsIDEgZm9yIG51bGwgY2hhcmFjdGVyCiAKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpICE9IGxlbmd0aDsgKytpKSB7Ci0gICAgICAgIFVDaGFyIGMgPSBzdHJpbmcuY2hh
cmFjdGVyc1tpXTsKKyAgICAgICAgQ2hhcmFjdGVyVHlwZSBjID0gdmFsdWVLZXl3b3JkW2ldOwog
ICAgICAgICBpZiAoYyA9PSAwIHx8IGMgPj0gMHg3RikKICAgICAgICAgICAgIHJldHVybiAwOyAv
LyBpbGxlZ2FsIGNoYXJhY3RlcgogICAgICAgICBidWZmZXJbaV0gPSBXVEY6OnRvQVNDSUlMb3dl
cihjKTsKQEAgLTEwMjE2LDYgKzEwNDExLDE3IEBAIGludCBjc3NWYWx1ZUtleXdvcmRJRChjb25z
dCBDU1NQYXJzZXJTdHIKICAgICByZXR1cm4gaGFzaFRhYmxlRW50cnkgPyBoYXNoVGFibGVFbnRy
eS0+aWQgOiAwOwogfQogCitpbnQgY3NzVmFsdWVLZXl3b3JkSUQoY29uc3QgQ1NTUGFyc2VyU3Ry
aW5nJiBzdHJpbmcpCit7CisgICAgdW5zaWduZWQgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOwor
ICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAobGVuZ3RoID4gbWF4
Q1NTVmFsdWVLZXl3b3JkTGVuZ3RoKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBz
dHJpbmcuaXM4Qml0KCkgPyBjc3NWYWx1ZUtleXdvcmRJRChzdHJpbmcuY2hhcmFjdGVyczgoKSwg
bGVuZ3RoKSA6IGNzc1ZhbHVlS2V5d29yZElEKHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgbGVuZ3Ro
KTsKK30KKwogLy8gImlkZW50IiBmcm9tIHRoZSBDU1MgdG9rZW5pemVyLCBtaW51cyBiYWNrc2xh
c2gtZXNjYXBlIHNlcXVlbmNlcwogc3RhdGljIGJvb2wgaXNDU1NUb2tlbml6ZXJJZGVudGlmaWVy
KGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAkocmV2
aXNpb24gMTI2ODM3KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC03MCw2ICs3MCw4IEBAIGNsYXNzIFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWU7
CiAjZW5kaWYKIAogY2xhc3MgQ1NTUGFyc2VyIHsKKyAgICBmcmllbmQgaW5saW5lIGludCBjc3N5
eWxleCh2b2lkKiwgQ1NTUGFyc2VyKik7CisKIHB1YmxpYzoKICAgICBDU1NQYXJzZXIoY29uc3Qg
Q1NTUGFyc2VyQ29udGV4dCYpOwogCkBAIC0zNTQsNyArMzU2LDkgQEAgcHVibGljOgogICAgIFBh
c3NSZWZQdHI8Q1NTUnVsZVNvdXJjZURhdGE+IHBvcFJ1bGVEYXRhKCk7CiAgICAgdm9pZCByZXNl
dFByb3BlcnR5UmFuZ2UoKSB7IG1fcHJvcGVydHlSYW5nZS5zdGFydCA9IG1fcHJvcGVydHlSYW5n
ZS5lbmQgPSBVSU5UX01BWDsgfQogICAgIGJvb2wgaXNFeHRyYWN0aW5nU291cmNlRGF0YSgpIGNv
bnN0IHsgcmV0dXJuICEhbV9jdXJyZW50UnVsZURhdGFTdGFjazsgfQotICAgIGludCBsZXgodm9p
ZCogeXlsdmFsKTsKKworICAgIGlubGluZSBpbnQgbGV4KHZvaWQqIHl5bHZhbCkgeyByZXR1cm4g
KHRoaXMtPiptX2xleEZ1bmMpKHl5bHZhbCk7IH0KKwogICAgIGludCB0b2tlbigpIHsgcmV0dXJu
IG1fdG9rZW47IH0KIAogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVBy
aW1pdGl2ZU51bWVyaWNWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwpAQCAtMzYzLDIzICszNjcsNzEg
QEAgcHVibGljOgogICAgIHN0YXRpYyBLVVJMIGNvbXBsZXRlVVJMKGNvbnN0IENTU1BhcnNlckNv
bnRleHQmLCBjb25zdCBTdHJpbmcmIHVybCk7CiAKIHByaXZhdGU6CisgICAgYm9vbCBpczhCaXRT
b3VyY2UoKSB7IHJldHVybiBtX2lzOEJpdFNvdXJjZTsgfQorCisgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFNvdXJjZUNoYXJhY3RlclR5cGU+CisgICAgaW50IHJlYWxMZXgodm9pZCogeXlsdmFsKTsK
KworICAgIFVDaGFyKiYgY3VycmVudENoYXJhY3RlcjE2KCk7CisKKyAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgQ2hhcmFjdGVyVHlwZSomIGN1cnJlbnRD
aGFyYWN0ZXIoKTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorICAg
IGlubGluZSBDaGFyYWN0ZXJUeXBlKiB0b2tlblN0YXJ0KCk7CisKKyAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgdm9pZCBzZXRUb2tlblN0YXJ0KENoYXJh
Y3RlclR5cGUqKTsKKworICAgIGlubGluZSB1bnNpZ25lZCB0b2tlblN0YXJ0T2Zmc2V0KCk7Cisg
ICAgaW5saW5lIFVDaGFyIHRva2VuU3RhcnRDaGFyKCk7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4KICAgICBpbmxpbmUgYm9vbCBpc0lkZW50aWZpZXJTdGFydCgpOwog
Ci0gICAgc3RhdGljIGlubGluZSBVQ2hhciogY2hlY2tBbmRTa2lwU3RyaW5nKFVDaGFyKiwgVUNo
YXIpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorICAgIHN0YXRpYyBp
bmxpbmUgQ2hhcmFjdGVyVHlwZSogY2hlY2tBbmRTa2lwU3RyaW5nKENoYXJhY3RlclR5cGUqLCBp
bnQpOworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CisgICAgdW5zaWdu
ZWQgcGFyc2VFc2NhcGUoQ2hhcmFjdGVyVHlwZSomKTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUg
RGVzdENoYXJhY3RlclR5cGU+CisgICAgaW5saW5lIHZvaWQgVW5pY29kZVRvQ2hhcnMoRGVzdENo
YXJhY3RlclR5cGUqJiwgdW5zaWduZWQpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBTcmNDaGFy
YWN0ZXJUeXBlLCB0eXBlbmFtZSBEZXN0Q2hhcmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgYm9vbCBw
YXJzZUlkZW50aWZpZXJJbnRlcm5hbChTcmNDaGFyYWN0ZXJUeXBlKiYsIERlc3RDaGFyYWN0ZXJU
eXBlKiYsIGJvb2wmKTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgor
ICAgIGlubGluZSB2b2lkIHBhcnNlSWRlbnRpZmllcihDaGFyYWN0ZXJUeXBlKiYsIENTU1BhcnNl
clN0cmluZyYsIGJvb2wmKTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBTcmNDaGFyYWN0ZXJU
eXBlLCB0eXBlbmFtZSBEZXN0Q2hhcmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgYm9vbCBwYXJzZVN0
cmluZ0ludGVybmFsKFNyY0NoYXJhY3RlclR5cGUqJiwgRGVzdENoYXJhY3RlclR5cGUqJiwgVUNo
YXIpOworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CisgICAgaW5saW5l
IHZvaWQgcGFyc2VTdHJpbmcoQ2hhcmFjdGVyVHlwZSomLCBDU1NQYXJzZXJTdHJpbmcmIHJlc3Vs
dFN0cmluZywgVUNoYXIpOworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+
CisgICAgaW5saW5lIGJvb2wgcGFyc2VVUklJbnRlcm5hbChDaGFyYWN0ZXJUeXBlKiYsIENoYXJh
Y3RlclR5cGUqJik7CiAKLSAgICB2b2lkIHBhcnNlRXNjYXBlKFVDaGFyKiYpOwotICAgIGlubGlu
ZSB2b2lkIHBhcnNlSWRlbnRpZmllcihVQ2hhciomLCBib29sJik7Ci0gICAgaW5saW5lIHZvaWQg
cGFyc2VTdHJpbmcoVUNoYXIqJiwgVUNoYXIpOwotICAgIGlubGluZSB2b2lkIHBhcnNlVVJJKFVD
aGFyKiYsIFVDaGFyKiYpOworICAgIGlubGluZSB2b2lkIHBhcnNlVVJJKENTU1BhcnNlclN0cmlu
ZyYpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogICAgIGlubGluZSBi
b29sIHBhcnNlVW5pY29kZVJhbmdlKCk7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3Rl
clR5cGU+CiAgICAgYm9vbCBwYXJzZU50aENoaWxkKCk7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1l
IENoYXJhY3RlclR5cGU+CiAgICAgYm9vbCBwYXJzZU50aENoaWxkRXh0cmEoKTsKKyAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KICAgICBpbmxpbmUgdm9pZCBkZXRlY3RGdW5j
dGlvblR5cGVUb2tlbihpbnQpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBl
PgogICAgIGlubGluZSB2b2lkIGRldGVjdE1lZGlhUXVlcnlUb2tlbihpbnQpOwotICAgIGlubGlu
ZSB2b2lkIGRldGVjdE51bWJlclRva2VuKFVDaGFyKiwgaW50KTsKKyAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgdm9pZCBkZXRlY3ROdW1iZXJUb2tlbihD
aGFyYWN0ZXJUeXBlKiwgaW50KTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlw
ZT4KICAgICBpbmxpbmUgdm9pZCBkZXRlY3REYXNoVG9rZW4oaW50KTsKKyAgICB0ZW1wbGF0ZSA8
dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KICAgICBpbmxpbmUgdm9pZCBkZXRlY3RBdFRva2VuKGlu
dCwgYm9vbCk7CiAKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBp
bmxpbmUgdm9pZCBzZXRSdWxlSGVhZGVyRW5kKGNvbnN0IENoYXJhY3RlclR5cGUqKTsKKwogICAg
IHZvaWQgc2V0U3R5bGVTaGVldChTdHlsZVNoZWV0Q29udGVudHMqKTsKIAogICAgIGlubGluZSBi
b29sIGluU3RyaWN0TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGV4dC5tb2RlID09IENTU1N0
cmljdE1vZGUgfHwgbV9jb250ZXh0Lm1vZGUgPT0gU1ZHQXR0cmlidXRlTW9kZTsgfQpAQCAtNDMw
LDkgKzQ4MiwxNiBAQCBwcml2YXRlOgogICAgIH07CiAKICAgICBQYXJzaW5nTW9kZSBtX3BhcnNp
bmdNb2RlOwotICAgIE93bkFycmF5UHRyPFVDaGFyPiBtX2RhdGFTdGFydDsKLSAgICBVQ2hhciog
bV9jdXJyZW50Q2hhcmFjdGVyOwotICAgIFVDaGFyKiBtX3Rva2VuU3RhcnQ7CisgICAgYm9vbCBt
X2lzOEJpdFNvdXJjZTsKKyAgICBPd25BcnJheVB0cjxMQ2hhcj4gbV9kYXRhU3RhcnQ4OworICAg
IE93bkFycmF5UHRyPFVDaGFyPiBtX2RhdGFTdGFydDE2OworICAgIExDaGFyKiBtX2N1cnJlbnRD
aGFyYWN0ZXI4OworICAgIFVDaGFyKiBtX2N1cnJlbnRDaGFyYWN0ZXIxNjsKKyAgICB1bmlvbiB7
CisgICAgICAgIExDaGFyKiBwdHI4OworICAgICAgICBVQ2hhciogcHRyMTY7CisgICAgfSBtX3Rv
a2VuU3RhcnQ7CisgICAgdW5zaWduZWQgbV9sZW5ndGg7CiAgICAgaW50IG1fdG9rZW47CiAgICAg
aW50IG1fbGluZU51bWJlcjsKICAgICBpbnQgbV9sYXN0U2VsZWN0b3JMaW5lTnVtYmVyOwpAQCAt
NDQwLDYgKzQ5OSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2FsbG93SW1wb3J0UnVsZXM7CiAg
ICAgYm9vbCBtX2FsbG93TmFtZXNwYWNlRGVjbGFyYXRpb25zOwogCisgICAgaW50IChDU1NQYXJz
ZXI6OiptX2xleEZ1bmMpKHZvaWQqKTsKKwogICAgIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFz
ZT4gPiBtX3BhcnNlZFJ1bGVzOwogICAgIFZlY3RvcjxSZWZQdHI8U3R5bGVLZXlmcmFtZT4gPiBt
X3BhcnNlZEtleWZyYW1lczsKICAgICBWZWN0b3I8UmVmUHRyPE1lZGlhUXVlcnlTZXQ+ID4gbV9w
YXJzZWRNZWRpYVF1ZXJ5U2V0czsKQEAgLTUzNSw2ICs1OTYsMzggQEAgU3RyaW5nIHF1b3RlQ1NT
U3RyaW5nSWZOZWVkZWQoY29uc3QgU3RyaQogU3RyaW5nIHF1b3RlQ1NTVVJMSWZOZWVkZWQoY29u
c3QgU3RyaW5nJik7CiAKIGJvb2wgaXNWYWxpZE50aFRva2VuKGNvbnN0IENTU1BhcnNlclN0cmlu
ZyYpOworCit0ZW1wbGF0ZSA8PgoraW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpzZXRUb2tlblN0YXJ0
PExDaGFyPihMQ2hhciogdG9rZW5TdGFydCkKK3sKKyAgICBtX3Rva2VuU3RhcnQucHRyOCA9IHRv
a2VuU3RhcnQ7Cit9CisKK3RlbXBsYXRlIDw+CitpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OnNldFRv
a2VuU3RhcnQ8VUNoYXI+KFVDaGFyKiB0b2tlblN0YXJ0KQoreworICAgIG1fdG9rZW5TdGFydC5w
dHIxNiA9IHRva2VuU3RhcnQ7Cit9CisKK2lubGluZSB1bnNpZ25lZCBDU1NQYXJzZXI6OnRva2Vu
U3RhcnRPZmZzZXQoKQoreworICAgIGlmIChpczhCaXRTb3VyY2UoKSkKKyAgICAgICAgcmV0dXJu
IG1fdG9rZW5TdGFydC5wdHI4IC0gbV9kYXRhU3RhcnQ4LmdldCgpOworICAgIHJldHVybiBtX3Rv
a2VuU3RhcnQucHRyMTYgLSBtX2RhdGFTdGFydDE2LmdldCgpOworfQorCitpbmxpbmUgVUNoYXIg
Q1NTUGFyc2VyOjp0b2tlblN0YXJ0Q2hhcigpCit7CisgICAgaWYgKGlzOEJpdFNvdXJjZSgpKQor
ICAgICAgICByZXR1cm4gKm1fdG9rZW5TdGFydC5wdHI4OworICAgIHJldHVybiAqbV90b2tlblN0
YXJ0LnB0cjE2OworfQorCitpbmxpbmUgaW50IGNzc3l5bGV4KHZvaWQqIHl5bHZhbCwgQ1NTUGFy
c2VyKiBwYXJzZXIpCit7CisgICAgcmV0dXJuIHBhcnNlci0+bGV4KHl5bHZhbCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIENTU1BhcnNlcl9oCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCShyZXZpc2lvbiAxMjY4MzcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0
LDcgQEAKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5o
IgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMxLDEzICszMiw3NCBA
QCBjbGFzcyBDU1NWYWx1ZTsKIGNsYXNzIFF1YWxpZmllZE5hbWU7CiAKIHN0cnVjdCBDU1NQYXJz
ZXJTdHJpbmcgewotICAgIFVDaGFyKiBjaGFyYWN0ZXJzOwotICAgIGludCBsZW5ndGg7CisgICAg
dm9pZCBpbml0KExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCisgICAgeworICAg
ICAgICBtX2RhdGEuY2hhcmFjdGVyczggPSBjaGFyYWN0ZXJzOworICAgICAgICBtX2xlbmd0aCA9
IGxlbmd0aDsKKyAgICAgICAgbV9pczhCaXQgPSB0cnVlOworICAgIH0KKworICAgIHZvaWQgaW5p
dChVQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQorICAgIHsKKyAgICAgICAgbV9k
YXRhLmNoYXJhY3RlcnMxNiA9IGNoYXJhY3RlcnM7CisgICAgICAgIG1fbGVuZ3RoID0gbGVuZ3Ro
OworICAgICAgICBtX2lzOEJpdCA9IGZhbHNlOworICAgIH0KKworICAgIHZvaWQgaW5pdChTdHJp
bmcgc3RyaW5nKQorICAgIHsKKyAgICAgICAgbV9sZW5ndGggPSBzdHJpbmcubGVuZ3RoKCk7Cisg
ICAgICAgIGlmIChtX2xlbmd0aCAmJiBzdHJpbmcuaXM4Qml0KCkpIHsKKyAgICAgICAgICAgIG1f
ZGF0YS5jaGFyYWN0ZXJzOCA9IGNvbnN0X2Nhc3Q8TENoYXIqPihzdHJpbmcuY2hhcmFjdGVyczgo
KSk7CisgICAgICAgICAgICBtX2lzOEJpdCA9IHRydWU7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICBtX2RhdGEuY2hhcmFjdGVyczE2ID0gY29uc3RfY2FzdDxVQ2hhcio+KHN0cmluZy5j
aGFyYWN0ZXJzKCkpOworICAgICAgICAgICAgbV9pczhCaXQgPSBmYWxzZTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIHZvaWQgY2xlYXIoKQorICAgIHsKKyAgICAgICAgbV9kYXRhLmNoYXJhY3Rl
cnM4ID0gMDsKKyAgICAgICAgbV9sZW5ndGggPSAwOworICAgICAgICBtX2lzOEJpdCA9IGZhbHNl
OworICAgIH0KKworICAgIGJvb2wgaXM4Qml0KCkgY29uc3QgeyByZXR1cm4gbV9pczhCaXQ7IH0K
KyAgICBMQ2hhciogY2hhcmFjdGVyczgoKSBjb25zdCB7IEFTU0VSVChpczhCaXQoKSk7IHJldHVy
biBtX2RhdGEuY2hhcmFjdGVyczg7IH0KKyAgICBVQ2hhciogY2hhcmFjdGVyczE2KCkgY29uc3Qg
eyBBU1NFUlQoIWlzOEJpdCgpKTsgcmV0dXJuIG1fZGF0YS5jaGFyYWN0ZXJzMTY7IH0KKyAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBDaGFyYWN0ZXJUeXBlKiBjaGFy
YWN0ZXJzKCkgY29uc3Q7CisKKyAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBt
X2xlbmd0aDsgfQorICAgIHZvaWQgc2V0TGVuZ3RoKHVuc2lnbmVkIGxlbmd0aCkgeyBtX2xlbmd0
aCA9IGxlbmd0aDsgfQogCiAgICAgdm9pZCBsb3dlcigpOwogCi0gICAgb3BlcmF0b3IgU3RyaW5n
KCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKGNoYXJhY3RlcnMsIGxlbmd0aCk7IH0KLSAgICBvcGVy
YXRvciBBdG9taWNTdHJpbmcoKSBjb25zdCB7IHJldHVybiBBdG9taWNTdHJpbmcoY2hhcmFjdGVy
cywgbGVuZ3RoKTsgfQorICAgIFVDaGFyIG9wZXJhdG9yW10odW5zaWduZWQgaSkKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChpIDwgbV9sZW5ndGgpOworICAgICAgICBpZiAoaXM4Qml0KCkpCisgICAg
ICAgICAgICByZXR1cm4gbV9kYXRhLmNoYXJhY3RlcnM4W2ldOworICAgICAgICByZXR1cm4gbV9k
YXRhLmNoYXJhY3RlcnMxNltpXTsKKyAgICB9CisKKyAgICBib29sIGVxdWFsSWdub3JpbmdDYXNl
KGNvbnN0IGNoYXIqIHN0cikKKyAgICB7CisgICAgICAgIGlmIChpczhCaXQoKSkKKyAgICAgICAg
ICAgIHJldHVybiBXVEY6OmVxdWFsSWdub3JpbmdDYXNlKHN0ciwgY2hhcmFjdGVyczgoKSwgbGVu
Z3RoKCkpOworICAgICAgICByZXR1cm4gV1RGOjplcXVhbElnbm9yaW5nQ2FzZShzdHIsIGNoYXJh
Y3RlcnMxNigpLCBsZW5ndGgoKSk7CisgICAgfQorCisgICAgb3BlcmF0b3IgU3RyaW5nKCkgY29u
c3QgeyByZXR1cm4gaXM4Qml0KCkgPyBTdHJpbmcobV9kYXRhLmNoYXJhY3RlcnM4LCBtX2xlbmd0
aCkgOiBTdHJpbmcobV9kYXRhLmNoYXJhY3RlcnMxNiwgbV9sZW5ndGgpOyB9CisgICAgb3BlcmF0
b3IgQXRvbWljU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gaXM4Qml0KCkgPyBBdG9taWNTdHJpbmco
bV9kYXRhLmNoYXJhY3RlcnM4LCBtX2xlbmd0aCkgOiBBdG9taWNTdHJpbmcobV9kYXRhLmNoYXJh
Y3RlcnMxNiwgbV9sZW5ndGgpOyB9CisKKyAgICB1bmlvbiB7CisgICAgICAgIExDaGFyKiBjaGFy
YWN0ZXJzODsKKyAgICAgICAgVUNoYXIqIGNoYXJhY3RlcnMxNjsKKyAgICB9IG1fZGF0YTsKKyAg
ICB1bnNpZ25lZCBtX2xlbmd0aDsKKyAgICBib29sIG1faXM4Qml0OwogfTsKIAogc3RydWN0IENT
U1BhcnNlckZ1bmN0aW9uOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
RW5jb2RpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
VGV4dEVuY29kaW5nLmNwcAkocmV2aXNpb24gMTI2ODM3KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9UZXh0RW5jb2RpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1OCw3
IEBAIFRleHRFbmNvZGluZzo6VGV4dEVuY29kaW5nKGNvbnN0IGNoYXIqIG4KIH0KIAogVGV4dEVu
Y29kaW5nOjpUZXh0RW5jb2RpbmcoY29uc3QgU3RyaW5nJiBuYW1lKQotICAgIDogbV9uYW1lKGF0
b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUobmFtZS5jaGFyYWN0ZXJzKCksIG5hbWUubGVu
Z3RoKCkpKQorICAgIDogbV9uYW1lKGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUobmFt
ZSkpCiAgICAgLCBtX2JhY2tzbGFzaEFzQ3VycmVuY3lTeW1ib2woYmFja3NsYXNoQXNDdXJyZW5j
eVN5bWJvbCgpKQogewogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
RW5jb2RpbmdSZWdpc3RyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5jcHAJKHJldmlzaW9uIDEyNjgzNykKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNDgsMTIgKzM0OCwxMyBAQCBjb25zdCBjaGFyKiBhdG9taWNDYW5vbmlj
YWxUZXh0RW5jb2RpbmdOCiAgICAgcmV0dXJuIHRleHRFbmNvZGluZ05hbWVNYXAtPmdldChuYW1l
KTsKIH0KIAotY29uc3QgY2hhciogYXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTmFtZShjb25z
dCBVQ2hhciogY2hhcmFjdGVycywgc2l6ZV90IGxlbmd0aCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPgorY29uc3QgY2hhciogYXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTmFt
ZShjb25zdCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCBzaXplX3QgbGVuZ3RoKQogewogICAg
IGNoYXIgYnVmZmVyW21heEVuY29kaW5nTmFtZUxlbmd0aCArIDFdOwogICAgIHNpemVfdCBqID0g
MDsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7Ci0gICAgICAgIFVD
aGFyIGMgPSBjaGFyYWN0ZXJzW2ldOworICAgICAgICBDaGFyYWN0ZXJUeXBlIGMgPSBjaGFyYWN0
ZXJzW2ldOwogICAgICAgICBpZiAoaiA9PSBtYXhFbmNvZGluZ05hbWVMZW5ndGgpCiAgICAgICAg
ICAgICByZXR1cm4gMDsKICAgICAgICAgYnVmZmVyW2orK10gPSBjOwpAQCAtMzYyLDYgKzM2Mywx
NyBAQCBjb25zdCBjaGFyKiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOCiAgICAgcmV0dXJu
IGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUoYnVmZmVyKTsKIH0KIAorY29uc3QgY2hh
ciogYXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTmFtZShjb25zdCBTdHJpbmcmIGFsaWFzKQor
eworICAgIGlmICghYWxpYXMubGVuZ3RoKCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgaWYg
KGFsaWFzLmlzOEJpdCgpKQorICAgICAgICByZXR1cm4gYXRvbWljQ2Fub25pY2FsVGV4dEVuY29k
aW5nTmFtZTxMQ2hhcj4oYWxpYXMuY2hhcmFjdGVyczgoKSwgYWxpYXMubGVuZ3RoKCkpOworCisg
ICAgcmV0dXJuIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWU8VUNoYXI+KGFsaWFzLmNo
YXJhY3RlcnMoKSwgYWxpYXMubGVuZ3RoKCkpOworfQorCiBib29sIG5vRXh0ZW5kZWRUZXh0RW5j
b2RpbmdOYW1lVXNlZCgpCiB7CiAgICAgLy8gSWYgdGhlIGNhbGxpbmcgdGhyZWFkIGRpZCBub3Qg
dXNlIGV4dGVuZGVkIGVuY29kaW5nIG5hbWVzLCBpdCBpcyBmaW5lIGZvciBpdCB0byB1c2UgYSBz
dGFsZSBmYWxzZSB2YWx1ZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dEVuY29kaW5nUmVnaXN0cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmgJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuaAkod29ya2luZyBj
b3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAjaW5jbHVk
ZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3
ICs0Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIE9ubHkgVGV4dEVuY29kaW5n
IHNob3VsZCB1c2UgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgZGlyZWN0bHkuCiAgICAgY29uc3Qg
Y2hhciogYXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTmFtZShjb25zdCBjaGFyKiBhbGlhcyk7
Ci0gICAgY29uc3QgY2hhciogYXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTmFtZShjb25zdCBV
Q2hhciogYWxpYXNDaGFyYWN0ZXJzLCBzaXplX3QgYWxpYXNMZW5ndGgpOworICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorICAgIGNvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNh
bFRleHRFbmNvZGluZ05hbWUoY29uc3QgQ2hhcmFjdGVyVHlwZSosIHNpemVfdCk7CisgICAgY29u
c3QgY2hhciogYXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTmFtZShjb25zdCBTdHJpbmcmKTsK
ICAgICBib29sIG5vRXh0ZW5kZWRUZXh0RW5jb2RpbmdOYW1lVXNlZCgpOwogICAgIGJvb2wgaXNK
YXBhbmVzZUVuY29kaW5nKGNvbnN0IGNoYXIqIGNhbm9uaWNhbEVuY29kaW5nTmFtZSk7CiAgICAg
Ym9vbCBzaG91bGRTaG93QmFja3NsYXNoQXNDdXJyZW5jeVN5bWJvbEluKGNvbnN0IGNoYXIqIGNh
bm9uaWNhbEVuY29kaW5nTmFtZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2Vy
VXRpbGl0aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2Vy
VXRpbGl0aWVzLmNwcAkocmV2aXNpb24gMTI2ODM3KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1BhcnNlclV0aWxpdGllcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDExICs0MywxMSBAQCB0
ZW1wbGF0ZSA8dHlwZW5hbWUgRmxvYXRUeXBlPiBzdGF0aWMgaW5sCiAvLyBXZSB1c2UgdGhpcyBn
ZW5lcmljIHBhcnNlTnVtYmVyIGZ1bmN0aW9uIHRvIGFsbG93IHRoZSBQYXRoIHBhcnNpbmcgY29k
ZSB0byB3b3JrIAogLy8gYXQgYSBoaWdoZXIgcHJlY2lzaW9uIGludGVybmFsbHksIHdpdGhvdXQg
YW55IHVubmVjZXNzYXJ5IHJ1bnRpbWUgY29zdCBvciBjb2RlCiAvLyBjb21wbGV4aXR5LgotdGVt
cGxhdGUgPHR5cGVuYW1lIEZsb2F0VHlwZT4gc3RhdGljIGJvb2wgZ2VuZXJpY1BhcnNlTnVtYmVy
KGNvbnN0IFVDaGFyKiYgcHRyLCBjb25zdCBVQ2hhciogZW5kLCBGbG9hdFR5cGUmIG51bWJlciwg
Ym9vbCBza2lwKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGUsIHR5cGVuYW1lIEZs
b2F0VHlwZT4gc3RhdGljIGJvb2wgZ2VuZXJpY1BhcnNlTnVtYmVyKGNvbnN0IENoYXJhY3RlclR5
cGUqJiBwdHIsIGNvbnN0IENoYXJhY3RlclR5cGUqIGVuZCwgRmxvYXRUeXBlJiBudW1iZXIsIGJv
b2wgc2tpcCkKIHsKICAgICBGbG9hdFR5cGUgaW50ZWdlciwgZGVjaW1hbCwgZnJhYywgZXhwb25l
bnQ7CiAgICAgaW50IHNpZ24sIGV4cHNpZ247Ci0gICAgY29uc3QgVUNoYXIqIHN0YXJ0ID0gcHRy
OworICAgIGNvbnN0IENoYXJhY3RlclR5cGUqIHN0YXJ0ID0gcHRyOwogCiAgICAgZXhwb25lbnQg
PSAwOwogICAgIGludGVnZXIgPSAwOwpAQCAtNjksMTIgKzY5LDEyIEBAIHRlbXBsYXRlIDx0eXBl
bmFtZSBGbG9hdFR5cGU+IHN0YXRpYyBib28KICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
Ly8gcmVhZCB0aGUgaW50ZWdlciBwYXJ0LCBidWlsZCByaWdodC10by1sZWZ0Ci0gICAgY29uc3Qg
VUNoYXIqIHB0clN0YXJ0SW50UGFydCA9IHB0cjsKKyAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBw
dHJTdGFydEludFBhcnQgPSBwdHI7CiAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiAqcHRyID49ICcw
JyAmJiAqcHRyIDw9ICc5JykKICAgICAgICAgKytwdHI7IC8vIEFkdmFuY2UgdG8gZmlyc3Qgbm9u
LWRpZ2l0LgogCiAgICAgaWYgKHB0ciAhPSBwdHJTdGFydEludFBhcnQpIHsKLSAgICAgICAgY29u
c3QgVUNoYXIqIHB0clNjYW5JbnRQYXJ0ID0gcHRyIC0gMTsKKyAgICAgICAgY29uc3QgQ2hhcmFj
dGVyVHlwZSogcHRyU2NhbkludFBhcnQgPSBwdHIgLSAxOwogICAgICAgICBGbG9hdFR5cGUgbXVs
dGlwbGllciA9IDE7CiAgICAgICAgIHdoaWxlIChwdHJTY2FuSW50UGFydCA+PSBwdHJTdGFydElu
dFBhcnQpIHsKICAgICAgICAgICAgIGludGVnZXIgKz0gbXVsdGlwbGllciAqIHN0YXRpY19jYXN0
PEZsb2F0VHlwZT4oKihwdHJTY2FuSW50UGFydC0tKSAtICcwJyk7CkBAIC0xNDIsMTMgKzE0Miwx
OCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgRmxvYXRUeXBlPiBzdGF0aWMgYm9vCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLWJvb2wgcGFyc2VTVkdOdW1iZXIoVUNoYXIqJiBiZWdpbiwgc2l6ZV90IGxl
bmd0aCwgZG91YmxlJiBudW1iZXIpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4K
K2Jvb2wgcGFyc2VTVkdOdW1iZXIoQ2hhcmFjdGVyVHlwZSogYmVnaW4sIHNpemVfdCBsZW5ndGgs
IGRvdWJsZSYgbnVtYmVyKQogewotICAgIGNvbnN0IFVDaGFyKiBwdHIgPSBiZWdpbjsKLSAgICBj
b25zdCBVQ2hhciogZW5kID0gcHRyICsgbGVuZ3RoOworICAgIGNvbnN0IENoYXJhY3RlclR5cGUq
IHB0ciA9IGJlZ2luOworICAgIGNvbnN0IENoYXJhY3RlclR5cGUqIGVuZCA9IHB0ciArIGxlbmd0
aDsKICAgICByZXR1cm4gZ2VuZXJpY1BhcnNlTnVtYmVyKHB0ciwgZW5kLCBudW1iZXIsIGZhbHNl
KTsKIH0KIAorLy8gRXhwbGljaXRseSBpbnN0YW50aWF0ZSB0aGUgdHdvIGZsYXZvcnMgb2YgcGFy
c2VTVkdOdW1iZXIoKSB0byBzYXRpc2Z5IGV4dGVybmFsIGNhbGxlcnMKK3RlbXBsYXRlIGJvb2wg
cGFyc2VTVkdOdW1iZXIoTENoYXIqIGJlZ2luLCBzaXplX3QgbGVuZ3RoLCBkb3VibGUmKTsKK3Rl
bXBsYXRlIGJvb2wgcGFyc2VTVkdOdW1iZXIoVUNoYXIqIGJlZ2luLCBzaXplX3QgbGVuZ3RoLCBk
b3VibGUmKTsKKwogYm9vbCBwYXJzZU51bWJlcihjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNo
YXIqIGVuZCwgZmxvYXQmIG51bWJlciwgYm9vbCBza2lwKSAKIHsKICAgICByZXR1cm4gZ2VuZXJp
Y1BhcnNlTnVtYmVyKHB0ciwgZW5kLCBudW1iZXIsIHNraXApOwpJbmRleDogU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhcnNlclV0aWxpdGllcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaAkocmV2aXNpb24gMTI2ODM3KQorKysgU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhcnNlclV0aWxpdGllcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICsz
Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIFNWR1Bv
aW50TGlzdDsKIAotYm9vbCBwYXJzZVNWR051bWJlcihVQ2hhciomIHB0ciwgc2l6ZV90IGxlbmd0
aCwgZG91YmxlJiBudW1iZXIpOwordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Citi
b29sIHBhcnNlU1ZHTnVtYmVyKENoYXJhY3RlclR5cGUqIHB0ciwgc2l6ZV90IGxlbmd0aCwgZG91
YmxlJiBudW1iZXIpOwogYm9vbCBwYXJzZU51bWJlcihjb25zdCBVQ2hhciomIHB0ciwgY29uc3Qg
VUNoYXIqIGVuZCwgZmxvYXQmIG51bWJlciwgYm9vbCBza2lwID0gdHJ1ZSk7CiBib29sIHBhcnNl
TnVtYmVyRnJvbVN0cmluZyhjb25zdCBTdHJpbmcmLCBmbG9hdCYgbnVtYmVyLCBib29sIHNraXAg
PSB0cnVlKTsKIGJvb2wgcGFyc2VOdW1iZXJPcHRpb25hbE51bWJlcihjb25zdCBTdHJpbmcmIHMs
IGZsb2F0JiBoLCBmbG9hdCYgdik7CkBAIC00MiwxOSArNDMsMjIgQEAgYm9vbCBwYXJzZVJlY3Qo
Y29uc3QgU3RyaW5nJiwgRmxvYXRSZWN0JgogCiAvLyBTVkcgYWxsb3dzIHNldmVyYWwgZGlmZmVy
ZW50IHdoaXRlc3BhY2UgY2hhcmFjdGVyczoKIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9w
YXRocy5odG1sI1BhdGhEYXRhQk5GCi1pbmxpbmUgYm9vbCBpc1NWR1NwYWNlKFVDaGFyIGMpCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2lubGluZSBib29sIGlzU1ZHU3BhY2Uo
Q2hhcmFjdGVyVHlwZSBjKQogewogICAgIHJldHVybiBjID09ICcgJyB8fCBjID09ICdcdCcgfHwg
YyA9PSAnXG4nIHx8IGMgPT0gJ1xyJzsKIH0KIAotaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU1ZH
U3BhY2VzKGNvbnN0IFVDaGFyKiYgcHRyLCBjb25zdCBVQ2hhciogZW5kKQordGVtcGxhdGUgPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+CitpbmxpbmUgYm9vbCBza2lwT3B0aW9uYWxTVkdTcGFjZXMo
Y29uc3QgQ2hhcmFjdGVyVHlwZSomIHB0ciwgY29uc3QgQ2hhcmFjdGVyVHlwZSogZW5kKQogewog
ICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgaXNTVkdTcGFjZSgqcHRyKSkKICAgICAgICAgcHRyKys7
CiAgICAgcmV0dXJuIHB0ciA8IGVuZDsKIH0KIAotaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU1ZH
U3BhY2VzT3JEZWxpbWl0ZXIoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQsIFVD
aGFyIGRlbGltaXRlciA9ICcsJykKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgor
aW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzT3JEZWxpbWl0ZXIoY29uc3QgQ2hhcmFj
dGVyVHlwZSomIHB0ciwgY29uc3QgQ2hhcmFjdGVyVHlwZSogZW5kLCBjaGFyIGRlbGltaXRlciA9
ICcsJykKIHsKICAgICBpZiAocHRyIDwgZW5kICYmICFpc1NWR1NwYWNlKCpwdHIpICYmICpwdHIg
IT0gZGVsaW1pdGVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAx
MjY5MDApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxNiBAQAorMjAxMi0wOC0yOCAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4K
KworICAgICAgICBDU1MgUGFyc2VyIHNob3VsZCBkaXJlY3RseSBwYXJzZSA4IGJpdCBzb3VyY2Ug
c3RyaW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTUyMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
ZXcgdGVzdCB0aGF0IGNoZWNrcyB0aGUgY2FzZSB0aGF0IGEgMTYgYml0IHVuaWNvZGUgZXNjYXBl
IGluIGFuIDggYml0IENTUyAKKyAgICAgICAgc291cmNlIGlzIHByb3Blcmx5IGhhbmRsZWQuCisK
KyAgICAgICAgKiBmYXN0L2Nzcy91bmljb2RlLWVzY2FwZS1pbi04Yml0LXN0cmluZy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3VuaWNvZGUtZXNjYXBlLWluLThiaXQt
c3RyaW5nLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA4LTI4ICBQaGlsaXAgUm9nZXJzICA8cGRyQGdv
b2dsZS5jb20+CiAKICAgICAgICAgUmViYXNlbGluaW5nIGNocm9taXVtLW1hYyB0ZXN0IHJlc3Vs
dHMgd2l0aCBzY3JvbGxiYXJzLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdW5pY29kZS1l
c2NhcGUtaW4tOGJpdC1zdHJpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvY3NzL3VuaWNvZGUtZXNjYXBlLWluLThiaXQtc3RyaW5nLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3VuaWNvZGUtZXNjYXBlLWluLThi
aXQtc3RyaW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMSBAQAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1MAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4NTAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3
ODR4MTgKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOAorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNDB4MTgKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAyNDA6ICJUaGlzIGxpbmUgc2hvdWxkIGVuZCB3aXRoIGEgRXVy
byBzaWduICIKKyAgICAgICAgUmVuZGVySW5saW5lIChnZW5lcmF0ZWQpIGF0ICgwLDApIHNpemUg
MjF4MTgKKyAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgyNDAsMCkgc2l6ZSAyMXgxOAorICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDI0MCwwKSB3aWR0aCAyMTogIi0gXHh7MjBBQ30iCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2Nzcy91bmljb2RlLWVzY2FwZS1pbi04Yml0LXN0cmluZy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3VuaWNvZGUtZXNjYXBlLWluLThiaXQt
c3RyaW5nLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy91bmljb2Rl
LWVzY2FwZS1pbi04Yml0LXN0cmluZy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250
ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CisgIDxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+CisgIHA6YWZ0ZXIgeworICAgIGNvbnRlbnQ6ICItIFwwMDIwQUMiOyAv
KiBFc2NhcGUgdmFsdWUgZm9yIEV1cm8gc2lnbiAqLworICB9CisKKyAgPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgY2xhc3M9Im92ZXJmbG93IiA+VGhpcyBsaW5lIHNob3VsZCBlbmQgd2l0
aCBhIEV1cm8gc2lnbiA8L3A+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1l
c0FzVGV4dCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="commit-queue"
          id="171828"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161383</attachid>
            <date>2012-08-29 18:30:21 -0700</date>
            <delta_ts>2012-08-29 18:59:31 -0700</delta_ts>
            <desc>Patch with unsigned length compare fix plus other updates</desc>
            <filename>95207-3.patch</filename>
            <type>text/plain</type>
            <size>105947</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMjY5MDApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA4LTI4ICBNaWNoYWVsIFNhYm9mZiAgPG1z
YWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIENTUyBQYXJzZXIgc2hvdWxkIGRpcmVjdGx5IHBh
cnNlIDggYml0IHNvdXJjZSBzdHJpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NTIwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5oOgorICAgICAgICAoV1RGOjpl
cXVhbElnbm9yaW5nQ2FzZSk6IEFkZGVkIChjb25zdCBjaGFyKiwgY29uc3QgTENoYXIqLCB1bnNp
Z25lZCkgZmxhdm9yIHRvIHN1cHBvcnQKKyAgICAgICAgOCBiaXQgQ1NTIHBhcnNlciB3b3JrLgor
CiAyMDEyLTA4LTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI2ODM2LgpJbmRleDogU291cmNl
L1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYv
dGV4dC9TdHJpbmdJbXBsLmgJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9XVEYvd3RmL3Rl
eHQvU3RyaW5nSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NDYsNiArODQ2LDcgQEAgV1RGX0VY
UE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1YWxJZ25vcmluZwogaW5saW5lIGJvb2wgZXF1YWxJZ25v
cmluZ0Nhc2UoY29uc3QgVUNoYXIqIGEsIGNvbnN0IGNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkg
eyByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2UoYSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hh
cio+KGIpLCBsZW5ndGgpOyB9CiBpbmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBM
Q2hhciogYSwgY29uc3QgVUNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1cm4gZXF1YWxJ
Z25vcmluZ0Nhc2UoYiwgYSwgbGVuZ3RoKTsgfQogaW5saW5lIGJvb2wgZXF1YWxJZ25vcmluZ0Nh
c2UoY29uc3QgY2hhciogYSwgY29uc3QgVUNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1
cm4gZXF1YWxJZ25vcmluZ0Nhc2UoYiwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KGEp
LCBsZW5ndGgpOyB9CitpbmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBjaGFyKiBh
LCBjb25zdCBMQ2hhciogYiwgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBlcXVhbElnbm9yaW5n
Q2FzZShiLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oYSksIGxlbmd0aCk7IH0KIAog
V1RGX0VYUE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1YWxJZ25vcmluZ051bGxpdHkoU3RyaW5nSW1w
bCosIFN0cmluZ0ltcGwqKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI3MDYwKQorKysg
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTU3IEBA
CisyMDEyLTA4LTI5ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENTUyBQYXJzZXIgc2hvdWxkIGRpcmVjdGx5IHBhcnNlIDggYml0IHNvdXJjZSBzdHJpbmdz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTIwNwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZWQg
Q1NTUGFyc2VyIHRvIGhhbmRsZSA4IGJpdCBzdHJpbmdzIGRpcmVjdGx5LiBUZW1wbGF0aXplZCBt
b3N0IHByaXZhdGUgcGFyc2luZyBtZXRob2RzCisgICAgICAgIGFuZCBoZWxwZXIgbWV0aG9kcyBi
eSBjaGFyYWN0ZXIgdHlwZS4gSW50cm9kdWNlZCBzZXZlcmFsIHRlbXBsYXRpemVkIGhlbHBlciBt
ZXRob2RzIGZvcgorICAgICAgICBwYXJzaW5nIG1ldGhvZHMuIFNvbWUgb2YgdGhlc2UgaGVscGVy
IG1ldGhvZHMgaGF2ZSBpbmRlcGVuZGVudCBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHRlbXBsYXRl
CisgICAgICAgIHR5cGVzIHRvIGhhbmRsZSB0aGF0IGFuIDggYml0IHNvdXJjZSBzdHJpbmcgd2hl
biBwYXJzZWQgcHJvZHVjZXMgYSAxNiBiaXQgcmVzdWx0LiBUaGlzIGlzIGR1ZQorICAgICAgICB0
byB1bmljb2RlIGVzY2FwZXMuIFJlbmFtZWQgdGhlIGxleCBtZXRob2QgInJlYWxMZXgiIGFuZCBt
YWRlIGl0IGEgdGVtcGxhdGVkIG1ldGhvZC4gVGhlIGxleAorICAgICAgICBtZXRob2QgdGhhdCBp
cyBjYWxsZWQgYnkgY3NzeXlsZXgoKSwgd2hpY2ggaXMgbm93IGlubGluZWQsIGludm9rZXMgdGhl
IGNvcnJlY3QgaW5zdGFuY2Ugb2YgcmVhbExleAorICAgICAgICB2aWEgYSBtZW1iZXIgZnVuY3Rp
b24gcG9pbnRlci4KKworICAgICAgICBTcGxpdCBvdXQgdGhlIGVuY29kaW5nIHBhcnQgb2YgcGFy
c2VFc2NhcGUoKSBpbnRvIGEgbmV3IHRlbXBsYXRlZCBVbmljb2RlVG9DaGFycygpIG1ldGhvZC4K
KworICAgICAgICBBZGRlZCA4LzE2IGJpdCBzd2l0Y2hpbmcgdG8gQ1NTUGFyc2VyU3RyaW5nIGFz
IHdlbGwgYXMgYWRkZWQgaW5pdGlhbGl6YXRpb24sIHNldHRlcnMgYW5kIGdldHRlcnMuCisgICAg
ICAgIE5vdGUgdGhhdCBDU1NQYXJzZXJTdHJpbmcgbXVzdCBoYXZlIGEgZGVmYXVsdCBjb25zdHJ1
Y3RvciBhcyBpdCBpcyBwYXJ0IG9mIHRoZSBZWUxWQUwgdW5pb24uCisgICAgICAgIFRoZXJlZm9y
ZSBjcmVhdGVkIGluaXQoKSBtZXRob2RzIGluc3RlYWQgb2YgY29uc3RydWN0b3JzLiBNYW55IG9m
IHRoZSBwYXJzZXIgZnVuY3Rpb24gbm93IGRpcmVjdGx5CisgICAgICAgIG1vZGlmeSB0aGUgaW5z
dGFuY2UgaW4geXlsdmFsLiBNYWRlIHN1cHBvcnRpbmcgY2hhbmdlcyBpbiBvdGhlciB3ZWJjb3Jl
IGNsYXNzZXMgdGhhdCBhcmUgdXNlZAorICAgICAgICBkaXJlY3RseSBieSBDU1NQYXJzZXIuCisK
KyAgICAgICAgVGVzdDogZmFzdC9jc3MvdW5pY29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmcuaHRt
bAorCisgICAgICAgICogY3NzL0NTU0dyYW1tYXIueTogUmVtb3ZlZCBjc3N5eWxleCgpIGFuZCBj
aGFuZ2VkIG1hbmlwdWxhdGlvbiBvZiBDU1NQYXJzZXJTdHJpbmcgb2JqZWN0cyB0bworICAgICAg
ICB1c2UgbmV3bHkgd3JpdHRlbiBtZXRob2RzIGluc3RlYWQgb2YgZGlyZWN0IG1hbmlwdWxhdGlv
biBvZiBhdHRyaWJ1dGVzLgorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAg
IFRlbXBsYXRpemVkIG5ldyBvciBleGlzdGluZyBoZWxwZXIgbWV0aG9kcworICAgICAgICAoV2Vi
Q29yZTo6bWFrZUxvd2VyKToKKyAgICAgICAgKFdlYkNvcmU6OmlzQ1NTTGV0dGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OmlzQ1NTRXNjYXBlKToKKyAgICAgICAgKFdlYkNvcmU6OmlzVVJJTGV0dGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNoKToKKyAgICAg
ICAgKFdlYkNvcmU6OmlzRXF1YWxUb0NTU0lkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
Y2hlY2tBbmRTa2lwRXNjYXBlKToKKyAgICAgICAgKFdlYkNvcmU6OmNoZWNrRm9yVmFsaWREb3Vi
bGUpOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VEb3VibGUpOgorICAgICAgICAoV2ViQ29yZTo6
cGFyc2VDb2xvckludE9yUGVyY2VudGFnZSk6CisgICAgICAgIChXZWJDb3JlOjppc1RlbnRoQWxw
aGEpOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VBbHBoYVZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6Om1pZ2h0QmVSR0JBKToKKyAgICAgICAgKFdlYkNvcmU6Om1pZ2h0QmVSR0IpOgorICAgICAg
ICAoV2ViQ29yZTo6ZmFzdFBhcnNlQ29sb3JJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OmZhc3RQYXJzZUNvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
cGFyc2VJbWFnZVNldCk6CisgICAgICAgIChXZWJDb3JlOjpza2lwV2hpdGVTcGFjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmN1cnJlbnRDaGFyYWN0ZXIxNik6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OmlzSWRlbnRpZmllclN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6Y2hlY2tBbmRTa2lwU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6cGFyc2VVbmljb2RlUmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpw
YXJzZU50aENoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VOdGhDaGls
ZEV4dHJhKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6ZGV0ZWN0RnVuY3Rpb25UeXBl
VG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpkZXRlY3RNZWRpYVF1ZXJ5VG9r
ZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpkZXRlY3ROdW1iZXJUb2tlbik6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdERhc2hUb2tlbik6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdEF0VG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpzZXRSdWxlSGVhZGVyRW5kKToKKyAgICAgICAgKFdlYkNvcmU6OmNzc1Byb3BlcnR5
SUQpOgorICAgICAgICAoV2ViQ29yZTo6aXNDU1NUb2tlbml6ZXJJZGVudGlmaWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OmlzQ1NTVG9rZW5pemVyVVJMKToKKworICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpDU1NQYXJzZXIpOiBVcGRhdGVkIGNvbnN0cnVjdG9yIGZvciBpbml0aWFsaXppbmcg
bmV3IGF0dHJpYnV0ZXMuCisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmluZzo6bG93
ZXIpOiBDYWxscyBuZXcgbWFrZUxvd2VyKCkgdGVtcGxhdGUgaGVscGVyLgorCisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnNldHVwUGFyc2VyKTogQWRkZWQgOCBiaXQgcGF0aCBhbmQgc2V0
IHVwIHBhcnNlciBhcHByb3ByaWF0ZSB0bworICAgICAgICBzdHJpbmcgdHlwZS4KKworICAgICAg
ICAoV2ViQ29yZTo6ZXF1YWwpOiBVcGRhdGVkIHRvIHVzZSBDU1NQYXJzZXJTdHJpbmcgZ2V0dGVy
cyBhbmQgU3RyaW5nSW1wbDo6ZXF1YWwKKyAgICAgICAgKFdlYkNvcmU6OmVxdWFsSWdub3JpbmdD
YXNlKTogVXBkYXRlZCB0byB1c2UgQ1NTUGFyc2VyU3RyaW5nIGdldHRlcnMgYW5kCisgICAgICAg
IFN0cmluZ0ltcGw6OmVxdWFsSWdub3JpbmdDYXNlCisgICAgICAgIChXZWJDb3JlOjpwYXJzZUNv
bG9yVmFsdWUpOiBVcGRhdGVkIHRvIHVzZSBuZXcgQ1NTUGFyc2VyU3RyaW5nOjppbml0KCkKKyAg
ICAgICAgKFdlYkNvcmU6OnBhcnNlU2ltcGxlTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OnBh
cnNlS2V5d29yZFZhbHVlKTogVXBkYXRlZCB0byB1c2UgbmV3IENTU1BhcnNlclN0cmluZzo6aW5p
dCgpCisgICAgICAgIChXZWJDb3JlOjpwYXJzZVRyYW5zZm9ybUFyZ3VtZW50cyk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU3lzdGVtQ29sb3IpOiBVcGRhdGVkIHRvIHVzZSBu
ZXcgQ1NTUGFyc2VyU3RyaW5nOjppbml0KCkKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
c3RvcmVWYXJpYWJsZURlY2xhcmF0aW9uKTogQ3JlYXRlIHJpZ2h0IGNoYXJhY3RlciBzaXplZCBB
dG9taWNTdHJpbmcuCisgICAgICAgIChXZWJDb3JlOjpGb250RmFtaWx5VmFsdWVCdWlsZGVyOjph
ZGQpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uSW5mbzo6VHJhbnNmb3Jt
T3BlcmF0aW9uSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlRm9udEZl
YXR1cmVUYWcpOgorCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlRXNjYXBlKTog
Tm93IG9ubHkgcGFyc2VzIGFuIGVzY2FwZSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0aW5nCisgICAg
ICAgIFVuaWNvZGUgdmFsdWUgYXMgYW4gdW5zaWduZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YXJzZXI6OlVuaWNvZGVUb0NoYXJzKTogTmV3IG1ldGhvZCB0byB3cml0ZSBvdXQgdW5pY29kZSBj
aGFyYWN0ZXIocykKKyAgICAgICAgYmFzZWQgb24gY2hhcmFjdGVyIHR5cGUuCisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlSWRlbnRpZmllckludGVybmFsKTogVGVtcGxhdGVkIGhl
bHBlci4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VJZGVudGlmaWVyKTogUGFy
c2VzIGlkZW50aWZpZXJzLCBwb3NzaWJseSB1cGNvbnZlcnRpbmcKKyAgICAgICAgdGhlIHJlc3Vs
dCB3aGVuIGEgdW5pY29kZSBlc2NhcGUgaXMgZm91bmQgaW4gYW4gOCBiaXQgc291cmNlLgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVN0cmluZ0ludGVybmFsKTogVGVtcGxhdGVk
IGhlbHBlci4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTdHJpbmcpOiBQYXJz
ZXMgc3RyaW5ncywgcG9zc2libHkgdXBjb252ZXJ0aW5nCisgICAgICAgIHRoZSByZXN1bHQgd2hl
biBhIHVuaWNvZGUgZXNjYXBlIGlzIGZvdW5kIGluIGFuIDggYml0IHNvdXJjZS4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VVUklJbnRlcm5hbCk6IFRlbXBsYXRlZCBoZWxwZXIu
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVVJJKTogUmVwYXJzZXMgYSBwYXJz
ZWQgaWRlbnRpZmllciB0byBzZWUgaWYgaXQgaXMgYSBVUkkuCisgICAgICAgIFRoaXMgbWV0aG9k
IGRvZXNuJ3QgbmVlZCB0byB1cCBjb252ZXJ0IGZyb20gOCB0byAxNiBiaXRzIHNpbmNlIHRoYXQg
d291bGQgaGF2ZSBiZWVuCisgICAgICAgIGRvbmUgaW4gcGFyc2VJZGVudGZpZXIoKS4KKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cmVhbExleCk6IExvdCBvZiB0ZW1wbGF0ZSByZWxhdGVk
IGNoYW5nZXMuICBSZW1vdmVkIHl5bHZhbC0+c3RyaW5nCisgICAgICAgIEFTU0VSVCBjaGVja3Mg
YXQgdGhlIGVuZCwgc2luY2UgdGhleSBhcmUgdG9vIG5haXZlIHRvIGhhbmRsZSB1cGNvbnZlcnRl
ZCBpZGVudGlmaWVyLAorICAgICAgICBzdHJpbmcgYW5kIFVSSXMuICBUaGV5IGNvbXBhcmVkIHNv
dXJjZSBwb2ludGVycyAobV90b2tlblN0YXJ0KSB3aXRoIHJlc3VsdGluZyBzdHJpbmdzLgorICAg
ICAgICAoV2ViQ29yZTo6Zml4VW5wYXJzZWRQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6Zml4VW5wYXJzZWRQcm9wZXJ0eVJhbmdlcyk6IEFkZGVkIG5ldyB0ZW1wbGF0
ZSBoZWxwZXIgd2l0aCBzYW1lIG5hbWUuCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1h
cmtSdWxlSGVhZGVyU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrUnVs
ZUhlYWRlckVuZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtSdWxlQm9keVN0
YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFya1J1bGVCb2R5RW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFya1Byb3BlcnR5U3RhcnQpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrUHJvcGVydHlFbmQpOgorICAgICAgICAoV2ViQ29yZTo6
Y3NzVmFsdWVLZXl3b3JkSUQpOgorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAg
ICAoQ1NTUGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bGV4KTogTWFkZSB0
aGlzIGlubGluZSBoZWxwZXIgdGhhdCBjYWxscyBjb3JyZWN0IHJlYWxMZXgoKS4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6aXM4Qml0U291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1BhcnNlcjo6dG9rZW5TdGFydE9mZnNldCk6IFRlbXBsYXRlZCBtZXRob2QgcmV0dXJuaW5nIG9m
ZnNldCBpbiBzb3VyY2UKKyAgICAgICAgb2YgdGhlIGN1cnJlbnQgdG9rZW4gc3RhcnQuCisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnRva2VuU3RhcnRDaGFyKTogVGVtcGxhdGVkIGFjY2Vz
cyB0byBtX3Rva2VuU3RhcnQuCisgICAgICAgIChXZWJDb3JlOjpjc3N5eWxleCk6IE1hZGUgdGhp
cyBpbmxpbmUgdG8gYXZvaWQgY2FsbC4KKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyVmFsdWVzLmg6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6OmluaXQpOiBBZGRlZCB0aHJlZSBu
ZXcgaW5pdGlhbGl6YXRpb24gbWV0aG9kcy4KKworICAgICAgICBOZXcgc2V0dGVycywgZ2V0dGVy
cyBhbmQgaGVscGVyIG1ldGhvZHMuCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6
OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmluZzo6aXM4Qml0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmluZzo6Y2hhcmFjdGVyczgpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjpjaGFyYWN0ZXJzMTYpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VyU3RyaW5nOjpsZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
U3RyaW5nOjpzZXRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjpv
cGVyYXRvcltdKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmluZzo6ZXF1YWxJZ25v
cmluZ0Nhc2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjpvcGVyYXRvciBT
dHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjpvcGVyYXRvciBBdG9t
aWNTdHJpbmcpOgorCisgICAgICAgIE90aGVyIG1ldGhvZHMgdGVtcGxhdGl6ZWQgdG8gc3VwcG9y
dCBjaGFuZ2VzIGluIENTU1BhcnNlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZUhleENvbG9ySW50ZXJuYWwpOgorICAgICAg
ICAoV2ViQ29yZTo6Q29sb3I6OnBhcnNlSGV4Q29sb3IpOiBOZXcgTENoYXIgZmxhdm9yCisgICAg
ICAgIChXZWJDb3JlOjpDb2xvcjo6Q29sb3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0NvbG9yLmg6CisgICAgICAgIChDb2xvcik6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0
RW5jb2RpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEVuY29kaW5nOjpUZXh0RW5jb2Rp
bmcpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6YXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTmFtZSk6CisgICAg
ICAgICogcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5oOgorICAgICAgICAqIHN2
Zy9TVkdQYXJzZXJVdGlsaXRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2VuZXJpY1BhcnNl
TnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlU1ZHTnVtYmVyKToKKyAgICAgICAgKiBz
dmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjppc1NWR1NwYWNlKToK
KyAgICAgICAgKFdlYkNvcmU6OnNraXBPcHRpb25hbFNWR1NwYWNlcyk6CisgICAgICAgIChXZWJD
b3JlOjpza2lwT3B0aW9uYWxTVkdTcGFjZXNPckRlbGltaXRlcik6CisKIDIwMTItMDgtMjkgIERh
dmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIFtOZXcgTXVsdGljb2x1bW5d
IFJlbmFtZSBtZXRob2RzIHRvIHByZXBhcmUgZm9yIHByb3BlciBwYWdpbmF0aW9uIG9mIGNvbHVt
bnMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQkocmV2aXNpb24gMTI2ODM3KQorKysgU291
cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQkod29ya2luZyBjb3B5KQpAQCAtOTMsMTEgKzkz
LDYgQEAgc3RhdGljIGlubGluZSBpbnQgY3NzeXllcnJvcih2b2lkKiwgY29ucwogICAgIHJldHVy
biAxOwogfQogCi1zdGF0aWMgaW50IGNzc3l5bGV4KFlZU1RZUEUqIHl5bHZhbCwgQ1NTUGFyc2Vy
KiBwYXJzZXIpCi17Ci0gICAgcmV0dXJuIHBhcnNlci0+bGV4KHl5bHZhbCk7Ci19Ci0KICV9CiAK
ICVleHBlY3QgNjIKQEAgLTUwOSw3ICs1MDQsNyBAQCBOQU1FU1BBQ0VfU1lNIG1heWJlX3NwYWNl
IG1heWJlX25zX3ByZWZpCiA7CiAKIG1heWJlX25zX3ByZWZpeDoKLS8qIGVtcHR5ICovIHsgJCQu
Y2hhcmFjdGVycyA9IDA7IH0KKy8qIGVtcHR5ICovIHsgJCQuY2xlYXIoKTsgfQogfCBJREVOVCBt
YXliZV9zcGFjZSB7ICQkID0gJDE7IH0KIDsKIApAQCAtNjk0LDkgKzY4OSw5IEBAIGtleToKICAg
ICB8IElERU5UIHsKICAgICAgICAgJCQuaWQgPSAwOyAkJC5pc0ludCA9IGZhbHNlOyAkJC51bml0
ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVI7CiAgICAgICAgIENTU1BhcnNlclN0cmlu
ZyYgc3RyID0gJDE7Ci0gICAgICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZSgiZnJvbSIsIHN0ci5j
aGFyYWN0ZXJzLCBzdHIubGVuZ3RoKSkKKyAgICAgICAgaWYgKHN0ci5lcXVhbElnbm9yaW5nQ2Fz
ZSgiZnJvbSIpKQogICAgICAgICAgICAgJCQuZlZhbHVlID0gMDsKLSAgICAgICAgZWxzZSBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UoInRvIiwgc3RyLmNoYXJhY3RlcnMsIHN0ci5sZW5ndGgpKQorICAg
ICAgICBlbHNlIGlmIChzdHIuZXF1YWxJZ25vcmluZ0Nhc2UoInRvIikpCiAgICAgICAgICAgICAk
JC5mVmFsdWUgPSAxMDA7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIFlZRVJST1I7CkBAIC05
NzYsOCArOTcxLDggQEAgc2VsZWN0b3I6CiAgICAgOwogCiBuYW1lc3BhY2Vfc2VsZWN0b3I6Ci0g
ICAgLyogZW1wdHkgKi8gJ3wnIHsgJCQuY2hhcmFjdGVycyA9IDA7ICQkLmxlbmd0aCA9IDA7IH0K
LSAgICB8ICcqJyAnfCcgeyBzdGF0aWMgVUNoYXIgc3RhciA9ICcqJzsgJCQuY2hhcmFjdGVycyA9
ICZzdGFyOyAkJC5sZW5ndGggPSAxOyB9CisgICAgLyogZW1wdHkgKi8gJ3wnIHsgJCQuY2xlYXIo
KTsgfQorICAgIHwgJyonICd8JyB7IHN0YXRpYyBMQ2hhciBzdGFyID0gJyonOyAkJC5pbml0KCZz
dGFyLCAxKTsgfQogICAgIHwgSURFTlQgJ3wnIHsgJCQgPSAkMTsgfQogOwogICAgIApAQCAtMTA0
MCw5ICsxMDM1LDggQEAgZWxlbWVudF9uYW1lOgogICAgICAgICAkJCA9IHN0cjsKICAgICB9CiAg
ICAgfCAnKicgewotICAgICAgICBzdGF0aWMgVUNoYXIgc3RhciA9ICcqJzsKLSAgICAgICAgJCQu
Y2hhcmFjdGVycyA9ICZzdGFyOwotICAgICAgICAkJC5sZW5ndGggPSAxOworICAgICAgICBzdGF0
aWMgTENoYXIgc3RhciA9ICcqJzsKKyAgICAgICAgJCQuaW5pdCgmc3RhciwgMSk7CiAgICAgfQog
ICA7CiAKQEAgLTEwNzAsNyArMTA2NCw3IEBAIHNwZWNpZmllcjoKICAgICAgICAgJCQtPnNldFZh
bHVlKCQxKTsKICAgICB9CiAgIHwgSEVYIHsKLSAgICAgICAgaWYgKCQxLmNoYXJhY3RlcnNbMF0g
Pj0gJzAnICYmICQxLmNoYXJhY3RlcnNbMF0gPD0gJzknKSB7CisgICAgICAgIGlmICgkMVswXSA+
PSAnMCcgJiYgJDFbMF0gPD0gJzknKSB7CiAgICAgICAgICAgICAkJCA9IDA7CiAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAkJCA9IHBhcnNlci0+Y3JlYXRlRmxvYXRpbmdTZWxlY3Rvcigp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDEyNjgzNykKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5
MSw3IEBACiAjaW5jbHVkZSA8d3RmL2R0b2EuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdC
dWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nSW1wbC5oPgogCiAjaWYgRU5BQkxFKENTU19JTUFHRV9TRVQpCiAjaW5j
bHVkZSAiQ1NTSW1hZ2VTZXRWYWx1ZS5oIgpAQCAtMTU3LDI1ICsxNTgsMTIgQEAgc3RhdGljIGNv
bnN0IGRvdWJsZSBNQVhfU0NBTEUgPSAxMDAwMDAwOwogCiBzdGF0aWMgYm9vbCBlcXVhbChjb25z
dCBDU1NQYXJzZXJTdHJpbmcmIGEsIGNvbnN0IGNoYXIqIGIpCiB7Ci0gICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBhLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIGlmICghYltpXSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYgKGEuY2hhcmFjdGVyc1tpXSAhPSBiW2ldKQotICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICByZXR1cm4gIWJbYS5sZW5ndGhdOwor
ICAgIHJldHVybiBhLmlzOEJpdCgpID8gV1RGOjplcXVhbChhLmNoYXJhY3RlcnM4KCksIHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihiKSwgYS5sZW5ndGgoKSkgOiBXVEY6OmVxdWFsKGEu
Y2hhcmFjdGVyczE2KCksIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihiKSwgYS5sZW5n
dGgoKSk7CiB9CiAKIHN0YXRpYyBib29sIGVxdWFsSWdub3JpbmdDYXNlKGNvbnN0IENTU1BhcnNl
clN0cmluZyYgYSwgY29uc3QgY2hhciogYikKIHsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGEu
bGVuZ3RoOyArK2kpIHsKLSAgICAgICAgaWYgKCFiW2ldKQotICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICBBU1NFUlQoIWlzQVNDSUlVcHBlcihiW2ldKSk7Ci0gICAgICAgIGlmICh0
b0FTQ0lJTG93ZXIoYS5jaGFyYWN0ZXJzW2ldKSAhPSBiW2ldKQotICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIH0KLSAgICByZXR1cm4gIWJbYS5sZW5ndGhdOworICAgIHJldHVybiBhLmlz
OEJpdCgpID8gV1RGOjplcXVhbElnbm9yaW5nQ2FzZShiLCBhLmNoYXJhY3RlcnM4KCksIGEubGVu
Z3RoKCkpIDogV1RGOjplcXVhbElnbm9yaW5nQ2FzZShiLCBhLmNoYXJhY3RlcnMxNigpLCBhLmxl
bmd0aCgpKTsKIH0KIAogc3RhdGljIGJvb2wgaGFzUHJlZml4KGNvbnN0IGNoYXIqIHN0cmluZywg
dW5zaWduZWQgbGVuZ3RoLCBjb25zdCBjaGFyKiBwcmVmaXgpCkBAIC0yNjAsOCArMjQ4LDEwIEBA
IENTU1BhcnNlcjo6Q1NTUGFyc2VyKGNvbnN0IENTU1BhcnNlckNvbnQKICAgICAsIG1fcHJvcGVy
dHlSYW5nZShVSU5UX01BWCwgVUlOVF9NQVgpCiAgICAgLCBtX3J1bGVTb3VyY2VEYXRhUmVzdWx0
KDApCiAgICAgLCBtX3BhcnNpbmdNb2RlKE5vcm1hbE1vZGUpCi0gICAgLCBtX2N1cnJlbnRDaGFy
YWN0ZXIoMCkKLSAgICAsIG1fdG9rZW5TdGFydCgwKQorICAgICwgbV9pczhCaXRTb3VyY2UoZmFs
c2UpCisgICAgLCBtX2N1cnJlbnRDaGFyYWN0ZXI4KDApCisgICAgLCBtX2N1cnJlbnRDaGFyYWN0
ZXIxNigwKQorICAgICwgbV9sZW5ndGgoMCkKICAgICAsIG1fdG9rZW4oMCkKICAgICAsIG1fbGlu
ZU51bWJlcigwKQogICAgICwgbV9sYXN0U2VsZWN0b3JMaW5lTnVtYmVyKDApCkBAIC0yNzIsNiAr
MjYyLDcgQEAgQ1NTUGFyc2VyOjpDU1NQYXJzZXIoY29uc3QgQ1NTUGFyc2VyQ29udAogI2lmIFlZ
REVCVUcgPiAwCiAgICAgY3NzeXlkZWJ1ZyA9IDE7CiAjZW5kaWYKKyAgICBtX3Rva2VuU3RhcnQu
cHRyOCA9IDA7CiAgICAgQ1NTUHJvcGVydHlTb3VyY2VEYXRhOjppbml0KCk7CiB9CiAKQEAgLTI4
NSw3ICsyNzYsOCBAQCBDU1NQYXJzZXI6On5DU1NQYXJzZXIoKQogICAgIGRlbGV0ZUFsbFZhbHVl
cyhtX2Zsb2F0aW5nRnVuY3Rpb25zKTsKIH0KIAotdm9pZCBDU1NQYXJzZXJTdHJpbmc6Omxvd2Vy
KCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorQUxXQVlTX0lOTElORSBzdGF0
aWMgdm9pZCBtYWtlTG93ZXIoQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQgbGVu
Z3RoKQogewogICAgIC8vIEZJWE1FOiBJZiB3ZSBuZWVkIFVuaWNvZGUgbG93ZXJjYXNpbmcgaGVy
ZSwgdGhlbiB3ZSBwcm9iYWJseSB3YW50IHRoZSByZWFsIGtpbmQKICAgICAvLyB0aGF0IGNhbiBw
b3RlbnRpYWxseSBjaGFuZ2UgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nIHJhdGhlciB0aGFuIHRo
ZSBjaGFyYWN0ZXIKQEAgLTI5NCwzMyArMjg2LDczIEBAIHZvaWQgQ1NTUGFyc2VyU3RyaW5nOjps
b3dlcigpCiAKICAgICBpZiAoY2hhcmFjdGVyc0FyZUFsbEFTQ0lJKGNoYXJhY3RlcnMsIGxlbmd0
aCkpIHsKICAgICAgICAgLy8gRmFzdCBjYXNlIGZvciBhbGwtQVNDSUkuCi0gICAgICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspCisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBsZW5ndGg7IGkrKykKICAgICAgICAgICAgIGNoYXJhY3RlcnNbaV0gPSB0b0FTQ0lJTG93
ZXIoY2hhcmFjdGVyc1tpXSk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBsZW5ndGg7IGkrKykKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0
aDsgaSsrKQogICAgICAgICAgICAgY2hhcmFjdGVyc1tpXSA9IFVuaWNvZGU6OnRvTG93ZXIoY2hh
cmFjdGVyc1tpXSk7CiAgICAgfQogfQogCit2b2lkIENTU1BhcnNlclN0cmluZzo6bG93ZXIoKQor
eworICAgIGlmIChpczhCaXQoKSkgeworICAgICAgICBtYWtlTG93ZXIoY2hhcmFjdGVyczgoKSwg
bGVuZ3RoKCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbWFrZUxvd2VyKGNoYXJh
Y3RlcnMxNigpLCBsZW5ndGgoKSk7Cit9CisKIHZvaWQgQ1NTUGFyc2VyOjpzZXR1cFBhcnNlcihj
b25zdCBjaGFyKiBwcmVmaXgsIGNvbnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBjaGFyKiBzdWZm
aXgpCiB7CiAgICAgbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3RoID0gc3RybGVuKHByZWZpeCk7Ci0g
ICAgaW50IGxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKSArIG1fcGFyc2VkVGV4dFByZWZpeExlbmd0
aCArIHN0cmxlbihzdWZmaXgpICsgMTsKKyAgICB1bnNpZ25lZCBzdHJpbmdMZW5ndGggPSBzdHJp
bmcubGVuZ3RoKCk7CisgICAgdW5zaWduZWQgbGVuZ3RoID0gc3RyaW5nTGVuZ3RoICsgbV9wYXJz
ZWRUZXh0UHJlZml4TGVuZ3RoICsgc3RybGVuKHN1ZmZpeCkgKyAxOworCisgICAgaWYgKCFzdHJp
bmdMZW5ndGggfHwgc3RyaW5nLmlzOEJpdCgpKSB7CisgICAgICAgIG1fZGF0YVN0YXJ0OCA9IGFk
b3B0QXJyYXlQdHIobmV3IExDaGFyW2xlbmd0aF0pOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3RoOyBpKyspCisgICAgICAgICAgICBtX2Rh
dGFTdGFydDhbaV0gPSBwcmVmaXhbaV07CisKKyAgICAgICAgaWYgKHN0cmluZ0xlbmd0aCkKKyAg
ICAgICAgICAgIG1lbWNweShtX2RhdGFTdGFydDguZ2V0KCkgKyBtX3BhcnNlZFRleHRQcmVmaXhM
ZW5ndGgsIHN0cmluZy5jaGFyYWN0ZXJzOCgpLCBzdHJpbmdMZW5ndGggKiBzaXplb2YoTENoYXIp
KTsKIAotICAgIG1fZGF0YVN0YXJ0ID0gYWRvcHRBcnJheVB0cihuZXcgVUNoYXJbbGVuZ3RoXSk7
CisgICAgICAgIHVuc2lnbmVkIHN0YXJ0ID0gbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3RoICsgc3Ry
aW5nTGVuZ3RoOworICAgICAgICB1bnNpZ25lZCBlbmQgPSBzdGFydCArIHN0cmxlbihzdWZmaXgp
OworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydDsgaSA8IGVuZDsgaSsrKQorICAgICAg
ICAgICAgbV9kYXRhU3RhcnQ4W2ldID0gc3VmZml4W2kgLSBzdGFydF07CisKKyAgICAgICAgbV9k
YXRhU3RhcnQ4W2xlbmd0aCAtIDFdID0gMDsKKworICAgICAgICBtX2lzOEJpdFNvdXJjZSA9IHRy
dWU7CisgICAgICAgIG1fY3VycmVudENoYXJhY3RlcjggPSBtX2RhdGFTdGFydDguZ2V0KCk7Cisg
ICAgICAgIG1fY3VycmVudENoYXJhY3RlcjE2ID0gMDsKKyAgICAgICAgc2V0VG9rZW5TdGFydDxM
Q2hhcj4obV9jdXJyZW50Q2hhcmFjdGVyOCk7CisgICAgICAgIG1fbGVuZ3RoID0gbGVuZ3RoOwor
ICAgICAgICBtX2xleEZ1bmMgPSAmQ1NTUGFyc2VyOjpyZWFsTGV4PExDaGFyPjsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIG1fZGF0YVN0YXJ0MTYgPSBhZG9wdEFycmF5UHRyKG5ldyBV
Q2hhcltsZW5ndGhdKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9wYXJzZWRUZXh0
UHJlZml4TGVuZ3RoOyBpKyspCi0gICAgICAgIG1fZGF0YVN0YXJ0W2ldID0gcHJlZml4W2ldOwor
ICAgICAgICBtX2RhdGFTdGFydDE2W2ldID0gcHJlZml4W2ldOwogCi0gICAgbWVtY3B5KG1fZGF0
YVN0YXJ0LmdldCgpICsgbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3RoLCBzdHJpbmcuY2hhcmFjdGVy
cygpLCBzdHJpbmcubGVuZ3RoKCkgKiBzaXplb2YoVUNoYXIpKTsKKyAgICBtZW1jcHkobV9kYXRh
U3RhcnQxNi5nZXQoKSArIG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCwgc3RyaW5nLmNoYXJhY3Rl
cnMoKSwgc3RyaW5nTGVuZ3RoICogc2l6ZW9mKFVDaGFyKSk7CiAKLSAgICB1bnNpZ25lZCBzdGFy
dCA9IG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCArIHN0cmluZy5sZW5ndGgoKTsKKyAgICB1bnNp
Z25lZCBzdGFydCA9IG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCArIHN0cmluZ0xlbmd0aDsKICAg
ICB1bnNpZ25lZCBlbmQgPSBzdGFydCArIHN0cmxlbihzdWZmaXgpOwogICAgIGZvciAodW5zaWdu
ZWQgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpKyspCi0gICAgICAgIG1fZGF0YVN0YXJ0W2ldID0gc3Vm
Zml4W2kgLSBzdGFydF07CisgICAgICAgIG1fZGF0YVN0YXJ0MTZbaV0gPSBzdWZmaXhbaSAtIHN0
YXJ0XTsKIAotICAgIG1fZGF0YVN0YXJ0W2xlbmd0aCAtIDFdID0gMDsKKyAgICBtX2RhdGFTdGFy
dDE2W2xlbmd0aCAtIDFdID0gMDsKIAotICAgIG1fY3VycmVudENoYXJhY3RlciA9IG1fdG9rZW5T
dGFydCA9IG1fZGF0YVN0YXJ0LmdldCgpOworICAgIG1faXM4Qml0U291cmNlID0gZmFsc2U7Cisg
ICAgbV9jdXJyZW50Q2hhcmFjdGVyOCA9IDA7CisgICAgbV9jdXJyZW50Q2hhcmFjdGVyMTYgPSBt
X2RhdGFTdGFydDE2LmdldCgpOworICAgIHNldFRva2VuU3RhcnQ8VUNoYXI+KG1fY3VycmVudENo
YXJhY3RlcjE2KTsKKyAgICBtX2xlbmd0aCA9IGxlbmd0aDsKKyAgICBtX2xleEZ1bmMgPSAmQ1NT
UGFyc2VyOjpyZWFsTGV4PFVDaGFyPjsKIH0KIAogdm9pZCBDU1NQYXJzZXI6OnBhcnNlU2hlZXQo
U3R5bGVTaGVldENvbnRlbnRzKiBzaGVldCwgY29uc3QgU3RyaW5nJiBzdHJpbmcsIGludCBzdGFy
dExpbmVOdW1iZXIsIFJ1bGVTb3VyY2VEYXRhTGlzdCogcnVsZVNvdXJjZURhdGFSZXN1bHQpCkBA
IC0zOTAsOCArNDIyLDcgQEAgc3RhdGljIGJvb2wgcGFyc2VDb2xvclZhbHVlKFN0eWxlUHJvcGVy
dAogICAgIGlmICghaXNDb2xvclByb3BlcnR5SUQocHJvcGVydHlJZCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICBDU1NQYXJzZXJTdHJpbmcgY3NzU3RyaW5nOwotICAgIGNzc1N0cmluZy5j
aGFyYWN0ZXJzID0gY29uc3RfY2FzdDxVQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpOwotICAg
IGNzc1N0cmluZy5sZW5ndGggPSBzdHJpbmcubGVuZ3RoKCk7CisgICAgY3NzU3RyaW5nLmluaXQo
c3RyaW5nKTsKICAgICBpbnQgdmFsdWVJRCA9IGNzc1ZhbHVlS2V5d29yZElEKGNzc1N0cmluZyk7
CiAgICAgYm9vbCB2YWxpZFByaW1pdGl2ZSA9IGZhbHNlOwogICAgIGlmICh2YWx1ZUlEID09IENT
U1ZhbHVlV2Via2l0VGV4dCkKQEAgLTQ2NCw4ICs0OTUsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
aXNTaW1wbGVMZW5ndGhQcm9wZXJ0CiAgICAgfQogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hh
clR5cGU+Ci1zdGF0aWMgaW5saW5lIGJvb2wgcGFyc2VTaW1wbGVMZW5ndGgoY29uc3QgQ2hhclR5
cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkJiBsZW5ndGgsIENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0
VHlwZXMmIHVuaXQsIGRvdWJsZSYgbnVtYmVyKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3Rl
clR5cGU+CitzdGF0aWMgaW5saW5lIGJvb2wgcGFyc2VTaW1wbGVMZW5ndGgoY29uc3QgQ2hhcmFj
dGVyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQmIGxlbmd0aCwgQ1NTUHJpbWl0aXZlVmFsdWU6
OlVuaXRUeXBlcyYgdW5pdCwgZG91YmxlJiBudW1iZXIpCiB7CiAgICAgaWYgKGxlbmd0aCA+IDIg
JiYgKGNoYXJhY3RlcnNbbGVuZ3RoIC0gMl0gfCAweDIwKSA9PSAncCcgJiYgKGNoYXJhY3RlcnNb
bGVuZ3RoIC0gMV0gfCAweDIwKSA9PSAneCcpIHsKICAgICAgICAgbGVuZ3RoIC09IDI7CkBAIC0x
MDE3LDggKzEwNDgsNyBAQCBzdGF0aWMgYm9vbCBwYXJzZUtleXdvcmRWYWx1ZShTdHlsZVByb3Bl
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIENTU1BhcnNlclN0cmluZyBjc3NTdHJpbmc7
Ci0gICAgY3NzU3RyaW5nLmNoYXJhY3RlcnMgPSBjb25zdF9jYXN0PFVDaGFyKj4oc3RyaW5nLmNo
YXJhY3RlcnMoKSk7Ci0gICAgY3NzU3RyaW5nLmxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAg
ICBjc3NTdHJpbmcuaW5pdChzdHJpbmcpOwogICAgIGludCB2YWx1ZUlEID0gY3NzVmFsdWVLZXl3
b3JkSUQoY3NzU3RyaW5nKTsKIAogICAgIGlmICghdmFsdWVJRCkKQEAgLTEwMzgsOCArMTA2OCw4
IEBAIHN0YXRpYyBib29sIHBhcnNlS2V5d29yZFZhbHVlKFN0eWxlUHJvcGUKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJUeXBlPgotc3RhdGljIGJvb2wgcGFy
c2VUcmFuc2Zvcm1Bcmd1bWVudHMoV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUqIHRyYW5zZm9ybVZh
bHVlLCBDaGFyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBzdGFy
dCwgdW5zaWduZWQgZXhwZWN0ZWRDb3VudCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJU
eXBlPgorc3RhdGljIGJvb2wgcGFyc2VUcmFuc2Zvcm1Bcmd1bWVudHMoV2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWUqIHRyYW5zZm9ybVZhbHVlLCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNp
Z25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBleHBlY3RlZENvdW50KQogewog
ICAgIHdoaWxlIChleHBlY3RlZENvdW50KSB7CiAgICAgICAgIHNpemVfdCBlbmQgPSBXVEY6OmZp
bmQoY2hhcmFjdGVycywgbGVuZ3RoLCBleHBlY3RlZENvdW50ID09IDEgPyAnKScgOiAnLCcsIHN0
YXJ0KTsKQEAgLTEyMjIsOCArMTI1Miw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVN5c3RlbUNv
bG9yKFJHQkEzMiYKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgQ1NTUGFyc2VyU3RyaW5n
IGNzc0NvbG9yOwotICAgIGNzc0NvbG9yLmNoYXJhY3RlcnMgPSBjb25zdF9jYXN0PFVDaGFyKj4o
c3RyaW5nLmNoYXJhY3RlcnMoKSk7Ci0gICAgY3NzQ29sb3IubGVuZ3RoID0gc3RyaW5nLmxlbmd0
aCgpOworICAgIGNzc0NvbG9yLmluaXQoc3RyaW5nKTsKICAgICBpbnQgaWQgPSBjc3NWYWx1ZUtl
eXdvcmRJRChjc3NDb2xvcik7CiAgICAgaWYgKGlkIDw9IDApCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKQEAgLTMwNjYsNyArMzA5NSw3IEBAIHZvaWQgQ1NTUGFyc2VyOjpzdG9yZVZhcmlhYmxlRGVj
bGFyYXRpb24KICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIEFTU0VSVChuYW1lLmxlbmd0aCA+
IDEyKTsKLSAgICBBdG9taWNTdHJpbmcgdmFyaWFibGVOYW1lID0gU3RyaW5nKG5hbWUuY2hhcmFj
dGVycyArIDEyLCBuYW1lLmxlbmd0aCAtIDEyKTsKKyAgICBBdG9taWNTdHJpbmcgdmFyaWFibGVO
YW1lID0gbmFtZS5pczhCaXQoKSA/IEF0b21pY1N0cmluZyhuYW1lLmNoYXJhY3RlcnM4KCkgKyAx
MiwgbmFtZS5sZW5ndGgoKSAtIDEyKSA6IEF0b21pY1N0cmluZyhuYW1lLmNoYXJhY3RlcnMxNigp
ICsgMTIsIG5hbWUubGVuZ3RoKCkgLSAxMik7CiAKICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7
CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgc2l6ZSA9IHZhbHVlLT5zaXplKCk7IGkgPCBzaXpl
OyBpKyspIHsKQEAgLTQ4NDMsNyArNDg3MiwxMyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBp
ZiAoIW1fYnVpbGRlci5pc0VtcHR5KCkpCiAgICAgICAgICAgICBtX2J1aWxkZXIuYXBwZW5kKCcg
Jyk7Ci0gICAgICAgIG1fYnVpbGRlci5hcHBlbmQoc3RyaW5nLmNoYXJhY3RlcnMsIHN0cmluZy5s
ZW5ndGgpOworCisgICAgICAgIGlmIChzdHJpbmcuaXM4Qml0KCkpIHsKKyAgICAgICAgICAgIG1f
YnVpbGRlci5hcHBlbmQoc3RyaW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgoKSk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBtX2J1aWxkZXIuYXBwZW5k
KHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgc3RyaW5nLmxlbmd0aCgpKTsKICAgICB9CiAKICAgICB2
b2lkIGNvbW1pdCgpCkBAIC01MTk2LDcgKzUyMzEsOCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VG
b250RmFjZVVuaWNvZGVSYW5nCiAKIC8vIFJldHVybnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJz
IHdoaWNoIGZvcm0gYSB2YWxpZCBkb3VibGUKIC8vIGFuZCBhcmUgdGVybWluYXRlZCBieSB0aGUg
Z2l2ZW4gdGVybWluYXRvciBjaGFyYWN0ZXIKLXN0YXRpYyBpbnQgY2hlY2tGb3JWYWxpZERvdWJs
ZShjb25zdCBVQ2hhciogc3RyaW5nLCBjb25zdCBVQ2hhciogZW5kLCBjb25zdCBjaGFyIHRlcm1p
bmF0b3IpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbnQgY2hl
Y2tGb3JWYWxpZERvdWJsZShjb25zdCBDaGFyYWN0ZXJUeXBlKiBzdHJpbmcsIGNvbnN0IENoYXJh
Y3RlclR5cGUqIGVuZCwgY29uc3QgY2hhciB0ZXJtaW5hdG9yKQogewogICAgIGludCBsZW5ndGgg
PSBlbmQgLSBzdHJpbmc7CiAgICAgaWYgKGxlbmd0aCA8IDEpCkBAIC01MjI2LDcgKzUyNjIsOCBA
QCBzdGF0aWMgaW50IGNoZWNrRm9yVmFsaWREb3VibGUoY29uc3QgVUNoCiAKIC8vIFJldHVybnMg
dGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGNvbnN1bWVkIGZvciBwYXJzaW5nIGEgdmFsaWQgZG91
YmxlCiAvLyB0ZXJtaW5hdGVkIGJ5IHRoZSBnaXZlbiB0ZXJtaW5hdG9yIGNoYXJhY3Rlcgotc3Rh
dGljIGludCBwYXJzZURvdWJsZShjb25zdCBVQ2hhciogc3RyaW5nLCBjb25zdCBVQ2hhciogZW5k
LCBjb25zdCBjaGFyIHRlcm1pbmF0b3IsIGRvdWJsZSYgdmFsdWUpCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbnQgcGFyc2VEb3VibGUoY29uc3QgQ2hhcmFjdGVy
VHlwZSogc3RyaW5nLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBlbmQsIGNvbnN0IGNoYXIgdGVybWlu
YXRvciwgZG91YmxlJiB2YWx1ZSkKIHsKICAgICBpbnQgbGVuZ3RoID0gY2hlY2tGb3JWYWxpZERv
dWJsZShzdHJpbmcsIGVuZCwgdGVybWluYXRvcik7CiAgICAgaWYgKCFsZW5ndGgpCkBAIC01MjYw
LDkgKzUyOTcsMTAgQEAgc3RhdGljIGludCBwYXJzZURvdWJsZShjb25zdCBVQ2hhciogc3RyaQog
ICAgIHJldHVybiBsZW5ndGg7CiB9CiAKLXN0YXRpYyBib29sIHBhcnNlQ29sb3JJbnRPclBlcmNl
bnRhZ2UoY29uc3QgVUNoYXIqJiBzdHJpbmcsIGNvbnN0IFVDaGFyKiBlbmQsIGNvbnN0IGNoYXIg
dGVybWluYXRvciwgQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyYgZXhwZWN0LCBpbnQmIHZh
bHVlKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgYm9vbCBwYXJz
ZUNvbG9ySW50T3JQZXJjZW50YWdlKGNvbnN0IENoYXJhY3RlclR5cGUqJiBzdHJpbmcsIGNvbnN0
IENoYXJhY3RlclR5cGUqIGVuZCwgY29uc3QgY2hhciB0ZXJtaW5hdG9yLCBDU1NQcmltaXRpdmVW
YWx1ZTo6VW5pdFR5cGVzJiBleHBlY3QsIGludCYgdmFsdWUpCiB7Ci0gICAgY29uc3QgVUNoYXIq
IGN1cnJlbnQgPSBzdHJpbmc7CisgICAgY29uc3QgQ2hhcmFjdGVyVHlwZSogY3VycmVudCA9IHN0
cmluZzsKICAgICBkb3VibGUgbG9jYWxWYWx1ZSA9IDA7CiAgICAgYm9vbCBuZWdhdGl2ZSA9IGZh
bHNlOwogICAgIHdoaWxlIChjdXJyZW50ICE9IGVuZCAmJiBpc0hUTUxTcGFjZSgqY3VycmVudCkp
CkBAIC01MzI3LDcgKzUzNjUsOCBAQCBzdGF0aWMgYm9vbCBwYXJzZUNvbG9ySW50T3JQZXJjZW50
YWdlKGNvCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1RlbnRo
QWxwaGEoY29uc3QgVUNoYXIqIHN0cmluZywgY29uc3QgaW50IGxlbmd0aCkKK3RlbXBsYXRlIDx0
eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGlzVGVudGhBbHBoYShj
b25zdCBDaGFyYWN0ZXJUeXBlKiBzdHJpbmcsIGNvbnN0IGludCBsZW5ndGgpCiB7CiAgICAgLy8g
IjAuWCIKICAgICBpZiAobGVuZ3RoID09IDMgJiYgc3RyaW5nWzBdID09ICcwJyAmJiBzdHJpbmdb
MV0gPT0gJy4nICYmIGlzQVNDSUlEaWdpdChzdHJpbmdbMl0pKQpAQCAtNTM0MCw3ICs1Mzc5LDgg
QEAgc3RhdGljIGlubGluZSBib29sIGlzVGVudGhBbHBoYShjb25zdCBVQwogICAgIHJldHVybiBm
YWxzZTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHBhcnNlQWxwaGFWYWx1ZShjb25zdCBVQ2hh
ciomIHN0cmluZywgY29uc3QgVUNoYXIqIGVuZCwgY29uc3QgY2hhciB0ZXJtaW5hdG9yLCBpbnQm
IHZhbHVlKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5l
IGJvb2wgcGFyc2VBbHBoYVZhbHVlKGNvbnN0IENoYXJhY3RlclR5cGUqJiBzdHJpbmcsIGNvbnN0
IENoYXJhY3RlclR5cGUqIGVuZCwgY29uc3QgY2hhciB0ZXJtaW5hdG9yLCBpbnQmIHZhbHVlKQog
ewogICAgIHdoaWxlIChzdHJpbmcgIT0gZW5kICYmIGlzSFRNTFNwYWNlKCpzdHJpbmcpKQogICAg
ICAgICBzdHJpbmcrKzsKQEAgLTUzOTEsNyArNTQzMSw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBw
YXJzZUFscGhhVmFsdWUoY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGljIGlubGlu
ZSBib29sIG1pZ2h0QmVSR0JBKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5n
dGgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgYm9v
bCBtaWdodEJlUkdCQShjb25zdCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBs
ZW5ndGgpCiB7CiAgICAgaWYgKGxlbmd0aCA8IDUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAg
LTU0MDIsNyArNTQ0Myw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBtaWdodEJlUkdCQShjb25zdCBV
Q2gKICAgICAgICAgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChjaGFyYWN0ZXJzWzNdLCAn
YScpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgbWlnaHRCZVJHQihjb25zdCBVQ2hhciogY2hh
cmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5
cGU+CitzdGF0aWMgaW5saW5lIGJvb2wgbWlnaHRCZVJHQihjb25zdCBDaGFyYWN0ZXJUeXBlKiBj
aGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgaWYgKGxlbmd0aCA8IDQpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKQEAgLTU0MTIsMTQgKzU0NTQsMTMgQEAgc3RhdGljIGlubGluZSBi
b29sIG1pZ2h0QmVSR0IoY29uc3QgVUNoYQogICAgICAgICAmJiBpc0FTQ0lJQWxwaGFDYXNlbGVz
c0VxdWFsKGNoYXJhY3RlcnNbMl0sICdiJyk7CiB9CiAKLWJvb2wgQ1NTUGFyc2VyOjpmYXN0UGFy
c2VDb2xvcihSR0JBMzImIHJnYiwgY29uc3QgU3RyaW5nJiBuYW1lLCBib29sIHN0cmljdCkKK3Rl
bXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGZhc3RQ
YXJzZUNvbG9ySW50ZXJuYWwoUkdCQTMyJiByZ2IsIGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJh
Y3RlcnMsIHVuc2lnbmVkIGxlbmd0aCAsIGJvb2wgc3RyaWN0KQogewotICAgIGNvbnN0IFVDaGFy
KiBjaGFyYWN0ZXJzID0gbmFtZS5jaGFyYWN0ZXJzKCk7Ci0gICAgdW5zaWduZWQgbGVuZ3RoID0g
bmFtZS5sZW5ndGgoKTsKICAgICBDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzIGV4cGVjdCA9
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVU5LTk9XTjsKLQorICAgIAogICAgIGlmICghc3RyaWN0
ICYmIGxlbmd0aCA+PSAzKSB7Ci0gICAgICAgIGlmIChuYW1lWzBdID09ICcjJykgeworICAgICAg
ICBpZiAoY2hhcmFjdGVyc1swXSA9PSAnIycpIHsKICAgICAgICAgICAgIGlmIChDb2xvcjo6cGFy
c2VIZXhDb2xvcihjaGFyYWN0ZXJzICsgMSwgbGVuZ3RoIC0gMSwgcmdiKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTU0MzAsMTMgKzU0NzEsMTMg
QEAgYm9vbCBDU1NQYXJzZXI6OmZhc3RQYXJzZUNvbG9yKFJHQkEzMiYgcgogCiAgICAgLy8gVHJ5
IHJnYmEoKSBzeW50YXguCiAgICAgaWYgKG1pZ2h0QmVSR0JBKGNoYXJhY3RlcnMsIGxlbmd0aCkp
IHsKLSAgICAgICAgY29uc3QgVUNoYXIqIGN1cnJlbnQgPSBjaGFyYWN0ZXJzICsgNTsKLSAgICAg
ICAgY29uc3QgVUNoYXIqIGVuZCA9IGNoYXJhY3RlcnMgKyBsZW5ndGg7CisgICAgICAgIGNvbnN0
IENoYXJhY3RlclR5cGUqIGN1cnJlbnQgPSBjaGFyYWN0ZXJzICsgNTsKKyAgICAgICAgY29uc3Qg
Q2hhcmFjdGVyVHlwZSogZW5kID0gY2hhcmFjdGVycyArIGxlbmd0aDsKICAgICAgICAgaW50IHJl
ZDsKICAgICAgICAgaW50IGdyZWVuOwogICAgICAgICBpbnQgYmx1ZTsKICAgICAgICAgaW50IGFs
cGhhOwotCisgICAgICAgIAogICAgICAgICBpZiAoIXBhcnNlQ29sb3JJbnRPclBlcmNlbnRhZ2Uo
Y3VycmVudCwgZW5kLCAnLCcsIGV4cGVjdCwgcmVkKSkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgaWYgKCFwYXJzZUNvbG9ySW50T3JQZXJjZW50YWdlKGN1cnJlbnQsIGVuZCwg
JywnLCBleHBlY3QsIGdyZWVuKSkKQEAgLTU0NTMsOCArNTQ5NCw4IEBAIGJvb2wgQ1NTUGFyc2Vy
OjpmYXN0UGFyc2VDb2xvcihSR0JBMzImIHIKIAogICAgIC8vIFRyeSByZ2IoKSBzeW50YXguCiAg
ICAgaWYgKG1pZ2h0QmVSR0IoY2hhcmFjdGVycywgbGVuZ3RoKSkgewotICAgICAgICBjb25zdCBV
Q2hhciogY3VycmVudCA9IGNoYXJhY3RlcnMgKyA0OwotICAgICAgICBjb25zdCBVQ2hhciogZW5k
ID0gY2hhcmFjdGVycyArIGxlbmd0aDsKKyAgICAgICAgY29uc3QgQ2hhcmFjdGVyVHlwZSogY3Vy
cmVudCA9IGNoYXJhY3RlcnMgKyA0OworICAgICAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBlbmQg
PSBjaGFyYWN0ZXJzICsgbGVuZ3RoOwogICAgICAgICBpbnQgcmVkOwogICAgICAgICBpbnQgZ3Jl
ZW47CiAgICAgICAgIGludCBibHVlOwpAQCAtNTQ3MCw2ICs1NTExLDI1IEBAIGJvb2wgQ1NTUGFy
c2VyOjpmYXN0UGFyc2VDb2xvcihSR0JBMzImIHIKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQogCisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIENTU1BhcnNlcjo6ZmFzdFBhcnNlQ29s
b3IoUkdCQTMyJiByZ2IsIGNvbnN0IFN0cmluZyYgbmFtZSwgYm9vbCBzdHJpY3QpCit7CisgICAg
dW5zaWduZWQgbGVuZ3RoID0gbmFtZS5sZW5ndGgoKTsKKyAgICBib29sIHBhcnNlUmVzdWx0Owor
CisgICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChuYW1l
LmlzOEJpdCgpKQorICAgICAgICBwYXJzZVJlc3VsdCA9IGZhc3RQYXJzZUNvbG9ySW50ZXJuYWwo
cmdiLCBuYW1lLmNoYXJhY3RlcnM4KCksIGxlbmd0aCwgc3RyaWN0KTsKKyAgICBlbHNlCisgICAg
ICAgIHBhcnNlUmVzdWx0ID0gZmFzdFBhcnNlQ29sb3JJbnRlcm5hbChyZ2IsIG5hbWUuY2hhcmFj
dGVycygpLCBsZW5ndGgsIHN0cmljdCk7CisKKyAgICBpZiAocGFyc2VSZXN1bHQpCisgICAgICAg
IHJldHVybiB0cnVlOworCiAgICAgLy8gVHJ5IG5hbWVkIGNvbG9ycy4KICAgICBDb2xvciB0YzsK
ICAgICB0Yy5zZXROYW1lZENvbG9yKG5hbWUpOwpAQCAtNTQ3OCw2ICs1NTM4LDcgQEAgYm9vbCBD
U1NQYXJzZXI6OmZhc3RQYXJzZUNvbG9yKFJHQkEzMiYgcgogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOworCiB9CiAgICAgCiBpbmxpbmUgZG91YmxlIENTU1Bh
cnNlcjo6cGFyc2VkRG91YmxlKENTU1BhcnNlclZhbHVlICp2LCBSZWxlYXNlUGFyc2VkQ2FsY1Zh
bHVlQ29uZGl0aW9uIHJlbGVhc2VDYWxjKQpAQCAtNzE4MCw5ICs3MjQxLDE2IEBAIFBhc3NSZWZQ
dHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VJbWEKIAogICAgICAgICBkb3VibGUgaW1hZ2VT
Y2FsZUZhY3RvciA9IDA7CiAgICAgICAgIGNvbnN0IFN0cmluZyYgc3RyaW5nID0gYXJnLT5zdHJp
bmc7Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBjdXJyZW50ID0gc3RyaW5nLmNoYXJhY3RlcnMoKTsK
LSAgICAgICAgY29uc3QgVUNoYXIqIGVuZCA9IGN1cnJlbnQgKyBzdHJpbmcubGVuZ3RoKCk7Ci0g
ICAgICAgIHBhcnNlRG91YmxlKGN1cnJlbnQsIGVuZCwgJ3gnLCBpbWFnZVNjYWxlRmFjdG9yKTsK
KyAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOworICAgICAgICBpZiAo
IWxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBpZiAoc3RyaW5nLmlzOEJp
dCgpKSB7CisgICAgICAgICAgICBjb25zdCBMQ2hhciogc3RhcnQgPSBzdHJpbmcuY2hhcmFjdGVy
czgoKTsKKyAgICAgICAgICAgIHBhcnNlRG91YmxlKHN0YXJ0LCBzdGFydCArIGxlbmd0aCwgJ3gn
LCBpbWFnZVNjYWxlRmFjdG9yKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGNvbnN0
IFVDaGFyKiBzdGFydCA9IHN0cmluZy5jaGFyYWN0ZXJzKCk7CisgICAgICAgICAgICBwYXJzZURv
dWJsZShzdGFydCwgc3RhcnQgKyBsZW5ndGgsICd4JywgaW1hZ2VTY2FsZUZhY3Rvcik7CisgICAg
ICAgIH0KICAgICAgICAgaWYgKGltYWdlU2NhbGVGYWN0b3IgPD0gMCkKICAgICAgICAgICAgIHJl
dHVybiAwOwogICAgICAgICBpbWFnZVNldC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZh
bHVlKGltYWdlU2NhbGVGYWN0b3IsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSk7CkBA
IC03MjA3LDEwICs3Mjc1LDEwIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFy
c2VJbWEKIGNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbkluZm8gewogcHVibGljOgogICAgIFRyYW5z
Zm9ybU9wZXJhdGlvbkluZm8oY29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBuYW1lKQotICAgIDogbV90
eXBlKFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpVbmtub3duVHJhbnNmb3JtT3BlcmF0aW9uKQot
ICAgICwgbV9hcmdDb3VudCgxKQotICAgICwgbV9hbGxvd1NpbmdsZUFyZ3VtZW50KGZhbHNlKQot
ICAgICwgbV91bml0KENTU1BhcnNlcjo6RlVua25vd24pCisgICAgICAgIDogbV90eXBlKFdlYktp
dENTU1RyYW5zZm9ybVZhbHVlOjpVbmtub3duVHJhbnNmb3JtT3BlcmF0aW9uKQorICAgICAgICAs
IG1fYXJnQ291bnQoMSkKKyAgICAgICAgLCBtX2FsbG93U2luZ2xlQXJndW1lbnQoZmFsc2UpCisg
ICAgICAgICwgbV91bml0KENTU1BhcnNlcjo6RlVua25vd24pCiAgICAgewogICAgICAgICBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInNjYWxlKCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5h
bWUsICJzY2FsZXgoIikgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInNjYWxleSgiKSB8fCBl
cXVhbElnbm9yaW5nQ2FzZShuYW1lLCAic2NhbGV6KCIpKSB7CiAgICAgICAgICAgICBtX3VuaXQg
PSBDU1NQYXJzZXI6OkZOdW1iZXI7CkBAIC04MTQ2LDE3ICs4MjE0LDE3IEBAIGJvb2wgQ1NTUGFy
c2VyOjpwYXJzZUxpbmVCb3hDb250YWluKGJvb2wKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZvbnRG
ZWF0dXJlVGFnKENTU1ZhbHVlTGlzdCogc2V0dGluZ3MpCiB7CiAgICAgLy8gRmVhdHVyZSB0YWcg
bmFtZSBjb25zaXN0cyBvZiA0LWxldHRlciBjaGFyYWN0ZXJzLgotICAgIHN0YXRpYyBjb25zdCBp
bnQgdGFnTmFtZUxlbmd0aCA9IDQ7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHRhZ05hbWVM
ZW5ndGggPSA0OwogCiAgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1
cnJlbnQoKTsKICAgICAvLyBGZWF0dXJlIHRhZyBuYW1lIGNvbWVzIGZpcnN0CiAgICAgaWYgKHZh
bHVlLT51bml0ICE9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfU1RSSU5HKQogICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgaWYgKHZhbHVlLT5zdHJpbmcubGVuZ3RoICE9IHRhZ05hbWVMZW5ndGgp
CisgICAgaWYgKHZhbHVlLT5zdHJpbmcubGVuZ3RoKCkgIT0gdGFnTmFtZUxlbmd0aCkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgdGFnTmFtZUxlbmd0aDsg
KytpKSB7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRhZ05hbWVMZW5ndGg7ICsraSkg
ewogICAgICAgICAvLyBMaW1pdHMgdGhlIHJhbmdlIG9mIGNoYXJhY3RlcnMgdG8gMHgyMC0weDdF
LCBmb2xsb3dpbmcgdGhlIHRhZyBuYW1lIHJ1bGVzIGRlZmllbmQgaW4gdGhlIE9wZW5UeXBlIHNw
ZWNpZmljYXRpb24uCi0gICAgICAgIFVDaGFyIGNoYXJhY3RlciA9IHZhbHVlLT5zdHJpbmcuY2hh
cmFjdGVyc1tpXTsKKyAgICAgICAgVUNoYXIgY2hhcmFjdGVyID0gdmFsdWUtPnN0cmluZ1tpXTsK
ICAgICAgICAgaWYgKGNoYXJhY3RlciA8IDB4MjAgfHwgY2hhcmFjdGVyID4gMHg3RSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC04NDM3LDMwICs4NTA1LDM1IEBAIHN0YXRp
YyBjb25zdCBDaGFyYWN0ZXJUeXBlIHR5cGVzT2ZBU0NJSUMKIAogLy8gVXRpbGl0eSBmdW5jdGlv
bnMgZm9yIHRoZSBDU1MgdG9rZW5pemVyLgogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNDU1NMZXR0
ZXIoVUNoYXIgY2hhcmFjdGVyKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Citz
dGF0aWMgaW5saW5lIGJvb2wgaXNDU1NMZXR0ZXIoQ2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIpCiB7
CiAgICAgcmV0dXJuIGNoYXJhY3RlciA+PSAxMjggfHwgdHlwZXNPZkFTQ0lJQ2hhcmFjdGVyc1tj
aGFyYWN0ZXJdIDw9IENoYXJhY3RlckRhc2g7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc0NT
U0VzY2FwZShVQ2hhciBjaGFyYWN0ZXIpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlw
ZT4KK3N0YXRpYyBpbmxpbmUgYm9vbCBpc0NTU0VzY2FwZShDaGFyYWN0ZXJUeXBlIGNoYXJhY3Rl
cikKIHsKICAgICByZXR1cm4gY2hhcmFjdGVyID49ICcgJyAmJiBjaGFyYWN0ZXIgIT0gMTI3Owog
fQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNVUklMZXR0ZXIoVUNoYXIgY2hhcmFjdGVyKQordGVt
cGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5lIGJvb2wgaXNVUklM
ZXR0ZXIoQ2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIpCiB7CiAgICAgcmV0dXJuIChjaGFyYWN0ZXIg
Pj0gJyonICYmIGNoYXJhY3RlciAhPSAxMjcpIHx8IChjaGFyYWN0ZXIgPj0gJyMnICYmIGNoYXJh
Y3RlciA8PSAnJicpIHx8IGNoYXJhY3RlciA9PSAnISc7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9v
bCBpc0lkZW50aWZpZXJTdGFydEFmdGVyRGFzaChVQ2hhciogY3VycmVudENoYXJhY3RlcikKK3Rl
bXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGlzSWRl
bnRpZmllclN0YXJ0QWZ0ZXJEYXNoKENoYXJhY3RlclR5cGUqIGN1cnJlbnRDaGFyYWN0ZXIpCiB7
CiAgICAgcmV0dXJuIGlzQVNDSUlBbHBoYShjdXJyZW50Q2hhcmFjdGVyWzBdKSB8fCBjdXJyZW50
Q2hhcmFjdGVyWzBdID09ICdfJyB8fCBjdXJyZW50Q2hhcmFjdGVyWzBdID49IDEyOAogICAgICAg
ICB8fCAoY3VycmVudENoYXJhY3RlclswXSA9PSAnXFwnICYmIGlzQ1NTRXNjYXBlKGN1cnJlbnRD
aGFyYWN0ZXJbMV0pKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGlzRXF1YWxUb0NTU0lkZW50
aWZpZXIoVUNoYXIqIGNzc1N0cmluZywgY29uc3QgY2hhciogY29uc3RhbnRTdHJpbmcpCit0ZW1w
bGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgYm9vbCBpc0VxdWFs
VG9DU1NJZGVudGlmaWVyKENoYXJhY3RlclR5cGUqIGNzc1N0cmluZywgY29uc3QgY2hhciogY29u
c3RhbnRTdHJpbmcpCiB7Ci0gICAgLy8gQ29tcGFyZSBhbiBVQ2hhciBtZW1vcnkgZGF0YSB3aXRo
IGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZy4KKyAgICAvLyBDb21wYXJlIGFuIGNoYXJhY3RlciBt
ZW1vcnkgZGF0YSB3aXRoIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZy4KICAgICBkbyB7CiAgICAg
ICAgIC8vIFRoZSBpbnB1dCBtdXN0IGJlIHBhcnQgb2YgYW4gaWRlbnRpZmllciBpZiBjb25zdGFu
dENoYXIgb3IgY29uc3RTdHJpbmcKICAgICAgICAgLy8gY29udGFpbnMgJy0nLiBPdGhlcndpc2Ug
dG9BU0NJSUxvd2VyVW5jaGVja2VkKCdccicpIHdvdWxkIGJlIGVxdWFsIHRvICctJy4KQEAgLTg0
NzIsNyArODU0NSw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc0VxdWFsVG9DU1NJZGVudGlmaWUK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGljIFVDaGFyKiBjaGVja0FuZFNraXBFc2NhcGUo
VUNoYXIqIGN1cnJlbnRDaGFyYWN0ZXIpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlw
ZT4KK3N0YXRpYyBDaGFyYWN0ZXJUeXBlKiBjaGVja0FuZFNraXBFc2NhcGUoQ2hhcmFjdGVyVHlw
ZSogY3VycmVudENoYXJhY3RlcikKIHsKICAgICAvLyBSZXR1cm5zIHdpdGggMCwgaWYgZXNjYXBl
IGNoZWNrIGlzIGZhaWxlZC4gT3RoZXJ3aXNlCiAgICAgLy8gaXQgcmV0dXJucyB3aXRoIHRoZSBm
b2xsb3dpbmcgY2hhcmFjdGVyLgpAQCAtODQ5Nyw3ICs4NTcxLDggQEAgc3RhdGljIFVDaGFyKiBj
aGVja0FuZFNraXBFc2NhcGUoVUNoYXIqIAogICAgIHJldHVybiBjdXJyZW50Q2hhcmFjdGVyICsg
MTsKIH0KIAotc3RhdGljIGlubGluZSBVQ2hhciogc2tpcFdoaXRlU3BhY2UoVUNoYXIqIGN1cnJl
bnRDaGFyYWN0ZXIpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBp
bmxpbmUgQ2hhcmFjdGVyVHlwZSogc2tpcFdoaXRlU3BhY2UoQ2hhcmFjdGVyVHlwZSogY3VycmVu
dENoYXJhY3RlcikKIHsKICAgICB3aGlsZSAoaXNIVE1MU3BhY2UoKmN1cnJlbnRDaGFyYWN0ZXIp
KQogICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7CkBAIC04NTA2LDEzICs4NTgxLDU2IEBAIHN0
YXRpYyBpbmxpbmUgVUNoYXIqIHNraXBXaGl0ZVNwYWNlKFVDaGEKIAogLy8gTWFpbiBDU1MgdG9r
ZW5pemVyIGZ1bmN0aW9ucy4KIAordGVtcGxhdGUgPD4KK0xDaGFyKiBDU1NQYXJzZXJTdHJpbmc6
OmNoYXJhY3RlcnM8TENoYXI+KCkgY29uc3QgeyByZXR1cm4gY2hhcmFjdGVyczgoKTsgfQorCit0
ZW1wbGF0ZSA8PgorVUNoYXIqIENTU1BhcnNlclN0cmluZzo6Y2hhcmFjdGVyczxVQ2hhcj4oKSBj
b25zdCB7IHJldHVybiBjaGFyYWN0ZXJzMTYoKTsgfQorCit0ZW1wbGF0ZSA8PgoraW5saW5lIExD
aGFyKiYgQ1NTUGFyc2VyOjpjdXJyZW50Q2hhcmFjdGVyPExDaGFyPigpCit7CisgICAgcmV0dXJu
IG1fY3VycmVudENoYXJhY3Rlcjg7Cit9CisKK3RlbXBsYXRlIDw+CitpbmxpbmUgVUNoYXIqJiBD
U1NQYXJzZXI6OmN1cnJlbnRDaGFyYWN0ZXI8VUNoYXI+KCkKK3sKKyAgICByZXR1cm4gbV9jdXJy
ZW50Q2hhcmFjdGVyMTY7Cit9CisKK1VDaGFyKiYKK0NTU1BhcnNlcjo6Y3VycmVudENoYXJhY3Rl
cjE2KCkKK3sKKyAgICBpZiAoIW1fY3VycmVudENoYXJhY3RlcjE2KSB7CisgICAgICAgIG1fZGF0
YVN0YXJ0MTYgPSBhZG9wdEFycmF5UHRyKG5ldyBVQ2hhclttX2xlbmd0aF0pOworICAgICAgICBt
X2N1cnJlbnRDaGFyYWN0ZXIxNiA9IG1fZGF0YVN0YXJ0MTYuZ2V0KCk7CisgICAgfQorCisgICAg
cmV0dXJuIG1fY3VycmVudENoYXJhY3RlcjE2OworfQorCit0ZW1wbGF0ZSA8PgoraW5saW5lIExD
aGFyKiBDU1NQYXJzZXI6OnRva2VuU3RhcnQ8TENoYXI+KCkKK3sKKyAgICByZXR1cm4gbV90b2tl
blN0YXJ0LnB0cjg7Cit9CisKK3RlbXBsYXRlIDw+CitpbmxpbmUgVUNoYXIqIENTU1BhcnNlcjo6
dG9rZW5TdGFydDxVQ2hhcj4oKQoreworICAgIHJldHVybiBtX3Rva2VuU3RhcnQucHRyMTY7Cit9
CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogaW5saW5lIGJvb2wgQ1NTUGFy
c2VyOjppc0lkZW50aWZpZXJTdGFydCgpCiB7CiAgICAgLy8gQ2hlY2sgd2hldGhlciBhbiBpZGVu
dGlmaWVyIGlzIHN0YXJ0ZWQuCi0gICAgcmV0dXJuIGlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNo
KCgqbV9jdXJyZW50Q2hhcmFjdGVyICE9ICctJykgPyBtX2N1cnJlbnRDaGFyYWN0ZXIgOiBtX2N1
cnJlbnRDaGFyYWN0ZXIgKyAxKTsKKyAgICByZXR1cm4gaXNJZGVudGlmaWVyU3RhcnRBZnRlckRh
c2goKCpjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkgIT0gJy0nKSA/IGN1cnJlbnRD
aGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSA6IGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlw
ZT4oKSArIDEpOwogfQogCi1pbmxpbmUgVUNoYXIqIENTU1BhcnNlcjo6Y2hlY2tBbmRTa2lwU3Ry
aW5nKFVDaGFyKiBjdXJyZW50Q2hhcmFjdGVyLCBVQ2hhciBxdW90ZSkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIENoYXJhY3RlclR5cGUqIENTU1BhcnNlcjo6Y2hl
Y2tBbmRTa2lwU3RyaW5nKENoYXJhY3RlclR5cGUqIGN1cnJlbnRDaGFyYWN0ZXIsIGludCBxdW90
ZSkKIHsKICAgICAvLyBSZXR1cm5zIHdpdGggMCwgaWYgc3RyaW5nIGNoZWNrIGlzIGZhaWxlZC4g
T3RoZXJ3aXNlCiAgICAgLy8gaXQgcmV0dXJucyB3aXRoIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVy
LiBUaGlzIGlzIG5lY2Vzc2FyeQpAQCAtODU0NiwxMDEgKzg2NjQsMTk0IEBAIGlubGluZSBVQ2hh
ciogQ1NTUGFyc2VyOjpjaGVja0FuZFNraXBTdHIKICAgICB9CiB9CiAKLXZvaWQgQ1NTUGFyc2Vy
OjpwYXJzZUVzY2FwZShVQ2hhciomIHJlc3VsdCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0
ZXJUeXBlPgordW5zaWduZWQgQ1NTUGFyc2VyOjpwYXJzZUVzY2FwZShDaGFyYWN0ZXJUeXBlKiYg
c3JjKQogewotICAgIEFTU0VSVCgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICdcXCcgJiYgaXNDU1NF
c2NhcGUobV9jdXJyZW50Q2hhcmFjdGVyWzFdKSk7CisgICAgQVNTRVJUKCpzcmMgPT0gJ1xcJyAm
JiBpc0NTU0VzY2FwZShzcmNbMV0pKTsKKworICAgIHVuc2lnbmVkIHVuaWNvZGUgPSAwOworCisg
ICAgKytzcmM7CisgICAgaWYgKGlzQVNDSUlIZXhEaWdpdCgqc3JjKSkgewogCi0gICAgKyttX2N1
cnJlbnRDaGFyYWN0ZXI7Ci0gICAgaWYgKGlzQVNDSUlIZXhEaWdpdCgqbV9jdXJyZW50Q2hhcmFj
dGVyKSkgewotICAgICAgICB1bnNpZ25lZCB1bmljb2RlID0gMDsKICAgICAgICAgaW50IGxlbmd0
aCA9IDY7CiAKICAgICAgICAgZG8gewotICAgICAgICAgICAgdW5pY29kZSA9ICh1bmljb2RlIDw8
IDQpICsgdG9BU0NJSUhleFZhbHVlKCptX2N1cnJlbnRDaGFyYWN0ZXIrKyk7Ci0gICAgICAgIH0g
d2hpbGUgKC0tbGVuZ3RoICYmIGlzQVNDSUlIZXhEaWdpdCgqbV9jdXJyZW50Q2hhcmFjdGVyKSk7
CisgICAgICAgICAgICB1bmljb2RlID0gKHVuaWNvZGUgPDwgNCkgKyB0b0FTQ0lJSGV4VmFsdWUo
KnNyYysrKTsKKyAgICAgICAgfSB3aGlsZSAoLS1sZW5ndGggJiYgaXNBU0NJSUhleERpZ2l0KCpz
cmMpKTsKIAogICAgICAgICAvLyBDaGFyYWN0ZXJzIGFib3ZlIDB4MTBmZmZmIGFyZSBub3QgaGFu
ZGxlZC4KICAgICAgICAgaWYgKHVuaWNvZGUgPiAweDEwZmZmZikKICAgICAgICAgICAgIHVuaWNv
ZGUgPSAweGZmZmQ7CiAKICAgICAgICAgLy8gT3B0aW9uYWwgc3BhY2UgYWZ0ZXIgdGhlIGVzY2Fw
ZSBzZXF1ZW5jZS4KLSAgICAgICAgaWYgKGlzSFRNTFNwYWNlKCptX2N1cnJlbnRDaGFyYWN0ZXIp
KQotICAgICAgICAgICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIGlmIChpc0hUTUxT
cGFjZSgqc3JjKSkKKyAgICAgICAgICAgICsrc3JjOwogCi0gICAgICAgIC8vIFJlcGxhY2UgdW5p
Y29kZSB3aXRoIGEgc3Vycm9nYXRlIHBhaXJzIHdoZW4gaXQgaXMgYmlnZ2VyIHRoYW4gMHhmZmZm
Ci0gICAgICAgIGlmIChVMTZfTEVOR1RIKHVuaWNvZGUpID09IDIpIHsKLSAgICAgICAgICAgICpy
ZXN1bHQrKyA9IFUxNl9MRUFEKHVuaWNvZGUpOwotICAgICAgICAgICAgKnJlc3VsdCA9IFUxNl9U
UkFJTCh1bmljb2RlKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAqcmVzdWx0ID0gdW5p
Y29kZTsKKyAgICAgICAgcmV0dXJuIHVuaWNvZGU7CisgICAgfQorCisgICAgcmV0dXJuICpjdXJy
ZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkrKzsKK30KKwordGVtcGxhdGUgPD4KK2lubGlu
ZSB2b2lkIENTU1BhcnNlcjo6VW5pY29kZVRvQ2hhcnM8TENoYXI+KExDaGFyKiYgcmVzdWx0LCB1
bnNpZ25lZCB1bmljb2RlKQoreworICAgIEFTU0VSVCh1bmljb2RlIDw9IDB4ZmYpOworICAgICpy
ZXN1bHQgPSB1bmljb2RlOworCisgICAgKytyZXN1bHQ7Cit9CisKK3RlbXBsYXRlIDw+Citpbmxp
bmUgdm9pZCBDU1NQYXJzZXI6OlVuaWNvZGVUb0NoYXJzPFVDaGFyPihVQ2hhciomIHJlc3VsdCwg
dW5zaWduZWQgdW5pY29kZSkKK3sKKyAgICAvLyBSZXBsYWNlIHVuaWNvZGUgd2l0aCBhIHN1cnJv
Z2F0ZSBwYWlycyB3aGVuIGl0IGlzIGJpZ2dlciB0aGFuIDB4ZmZmZgorICAgIGlmIChVMTZfTEVO
R1RIKHVuaWNvZGUpID09IDIpIHsKKyAgICAgICAgKnJlc3VsdCsrID0gVTE2X0xFQUQodW5pY29k
ZSk7CisgICAgICAgICpyZXN1bHQgPSBVMTZfVFJBSUwodW5pY29kZSk7CiAgICAgfSBlbHNlCi0g
ICAgICAgICpyZXN1bHQgPSAqbV9jdXJyZW50Q2hhcmFjdGVyKys7CisgICAgICAgICpyZXN1bHQg
PSB1bmljb2RlOworCiAgICAgKytyZXN1bHQ7CiB9CiAKLWlubGluZSB2b2lkIENTU1BhcnNlcjo6
cGFyc2VJZGVudGlmaWVyKFVDaGFyKiYgcmVzdWx0LCBib29sJiBoYXNFc2NhcGUpCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgU3JjQ2hhcmFjdGVyVHlwZSwgdHlwZW5hbWUgRGVzdENoYXJhY3RlclR5cGU+
CitpbmxpbmUgYm9vbCBDU1NQYXJzZXI6OnBhcnNlSWRlbnRpZmllckludGVybmFsKFNyY0NoYXJh
Y3RlclR5cGUqJiBzcmMsIERlc3RDaGFyYWN0ZXJUeXBlKiYgcmVzdWx0LCBib29sJiBoYXNFc2Nh
cGUpCiB7Ci0gICAgLy8gSWYgYSB2YWxpZCBpZGVudGlmaWVyIHN0YXJ0IGlzIGZvdW5kLCB3ZSBj
YW4gc2FmZWx5Ci0gICAgLy8gcGFyc2UgdGhlIGlkZW50aWZpZXIgdW50aWwgdGhlIG5leHQgaW52
YWxpZCBjaGFyYWN0ZXIuCi0gICAgQVNTRVJUKGlzSWRlbnRpZmllclN0YXJ0KCkpOwogICAgIGhh
c0VzY2FwZSA9IGZhbHNlOwogICAgIGRvIHsKLSAgICAgICAgaWYgKExJS0VMWSgqbV9jdXJyZW50
Q2hhcmFjdGVyICE9ICdcXCcpKQotICAgICAgICAgICAgKnJlc3VsdCsrID0gKm1fY3VycmVudENo
YXJhY3RlcisrOworICAgICAgICBpZiAoTElLRUxZKCpzcmMgIT0gJ1xcJykpCisgICAgICAgICAg
ICAqcmVzdWx0KysgPSAqc3JjKys7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgaGFzRXNj
YXBlID0gdHJ1ZTsKLSAgICAgICAgICAgIHBhcnNlRXNjYXBlKHJlc3VsdCk7CisgICAgICAgICAg
ICBTcmNDaGFyYWN0ZXJUeXBlKiBzYXZlZEVzY2FwZVN0YXJ0ID0gc3JjOworICAgICAgICAgICAg
dW5zaWduZWQgdW5pY29kZSA9IHBhcnNlRXNjYXBlPFNyY0NoYXJhY3RlclR5cGU+KHNyYyk7Cisg
ICAgICAgICAgICBpZiAodW5pY29kZSA+IDB4ZmYgJiYgc2l6ZW9mKERlc3RDaGFyYWN0ZXJUeXBl
KSA9PSAxKSB7CisgICAgICAgICAgICAgICAgc3JjID0gc2F2ZWRFc2NhcGVTdGFydDsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBVbmlj
b2RlVG9DaGFycyhyZXN1bHQsIHVuaWNvZGUpOwogICAgICAgICB9Ci0gICAgfSB3aGlsZSAoaXND
U1NMZXR0ZXIobV9jdXJyZW50Q2hhcmFjdGVyWzBdKSB8fCAobV9jdXJyZW50Q2hhcmFjdGVyWzBd
ID09ICdcXCcgJiYgaXNDU1NFc2NhcGUobV9jdXJyZW50Q2hhcmFjdGVyWzFdKSkpOworICAgIH0g
d2hpbGUgKGlzQ1NTTGV0dGVyKHNyY1swXSkgfHwgKHNyY1swXSA9PSAnXFwnICYmIGlzQ1NTRXNj
YXBlKHNyY1sxXSkpKTsKKworICAgIHJldHVybiB0cnVlOwogfQogCi1pbmxpbmUgdm9pZCBDU1NQ
YXJzZXI6OnBhcnNlU3RyaW5nKFVDaGFyKiYgcmVzdWx0LCBVQ2hhciBxdW90ZSkKK3RlbXBsYXRl
IDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpwYXJzZUlk
ZW50aWZpZXIoQ2hhcmFjdGVyVHlwZSomIHJlc3VsdCwgQ1NTUGFyc2VyU3RyaW5nJiByZXN1bHRT
dHJpbmcsIGJvb2wmIGhhc0VzY2FwZSkKK3sKKyAgICAvLyBJZiBhIHZhbGlkIGlkZW50aWZpZXIg
c3RhcnQgaXMgZm91bmQsIHdlIGNhbiBzYWZlbHkKKyAgICAvLyBwYXJzZSB0aGUgaWRlbnRpZmll
ciB1bnRpbCB0aGUgbmV4dCBpbnZhbGlkIGNoYXJhY3Rlci4KKyAgICBBU1NFUlQoaXNJZGVudGlm
aWVyU3RhcnQ8Q2hhcmFjdGVyVHlwZT4oKSk7CisKKyAgICBDaGFyYWN0ZXJUeXBlKiBzdGFydCA9
IGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKTsKKyAgICBpZiAoVU5MSUtFTFkoIXBh
cnNlSWRlbnRpZmllckludGVybmFsKGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSwg
cmVzdWx0LCBoYXNFc2NhcGUpKSkgeworICAgICAgICAvLyBGb3VuZCBhbiBlc2NhcGUgd2UgY291
bGRuJ3QgaGFuZGxlIHdpdGggOCBiaXRzLCBjb3B5IHdoYXQgaGFzIGJlZW4gcmVjb2duaXplZCBh
bmQgY29udGludWUKKyAgICAgICAgQVNTRVJUKGlzOEJpdFNvdXJjZSgpKTsKKyAgICAgICAgVUNo
YXIqJiByZXN1bHQxNiA9IGN1cnJlbnRDaGFyYWN0ZXIxNigpOworICAgICAgICBVQ2hhciogc3Rh
cnQxNiA9IHJlc3VsdDE2OworICAgICAgICBpbnQgaSA9IDA7CisgICAgICAgIGZvciAoOyBpIDwg
cmVzdWx0IC0gc3RhcnQ7IGkrKykKKyAgICAgICAgICAgIHJlc3VsdDE2W2ldID0gc3RhcnRbaV07
CisKKyAgICAgICAgcmVzdWx0MTYgKz0gaTsKKworICAgICAgICBwYXJzZUlkZW50aWZpZXJJbnRl
cm5hbChjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCksIHJlc3VsdDE2LCBoYXNFc2Nh
cGUpOworCisgICAgICAgIHJlc3VsdFN0cmluZy5pbml0KHN0YXJ0MTYsIHJlc3VsdDE2IC0gc3Rh
cnQxNik7CisKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHJlc3VsdFN0cmluZy5pbml0
KHN0YXJ0LCByZXN1bHQgLSBzdGFydCk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBTcmNDaGFy
YWN0ZXJUeXBlLCB0eXBlbmFtZSBEZXN0Q2hhcmFjdGVyVHlwZT4KK2lubGluZSBib29sIENTU1Bh
cnNlcjo6cGFyc2VTdHJpbmdJbnRlcm5hbChTcmNDaGFyYWN0ZXJUeXBlKiYgc3JjLCBEZXN0Q2hh
cmFjdGVyVHlwZSomIHJlc3VsdCwgVUNoYXIgcXVvdGUpCiB7CiAgICAgd2hpbGUgKHRydWUpIHsK
LSAgICAgICAgaWYgKFVOTElLRUxZKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gcXVvdGUpKSB7Cisg
ICAgICAgIGlmIChVTkxJS0VMWSgqc3JjID09IHF1b3RlKSkgewogICAgICAgICAgICAgLy8gU3Ry
aW5nIHBhcnNpbmcgaXMgZG9uZS4KLSAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOwot
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgKytzcmM7CisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgfQotICAgICAgICBpZiAoVU5MSUtFTFkoISptX2N1cnJlbnRDaGFy
YWN0ZXIpKSB7CisgICAgICAgIGlmIChVTkxJS0VMWSghKnNyYykpIHsKICAgICAgICAgICAgIC8v
IFN0cmluZyBwYXJzaW5nIGlzIGRvbmUsIGJ1dCBkb24ndCBhZHZhbmNlIHBvaW50ZXIgaWYgYXQg
dGhlIGVuZCBvZiBpbnB1dC4KLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgICAgICB9Ci0gICAgICAgIEFTU0VSVCgqbV9jdXJyZW50Q2hhcmFjdGVyID4g
J1xyJyB8fCAoKm1fY3VycmVudENoYXJhY3RlciA8ICdcbicgJiYgKm1fY3VycmVudENoYXJhY3Rl
cikgfHwgKm1fY3VycmVudENoYXJhY3RlciA9PSAnXHYnKTsKKyAgICAgICAgQVNTRVJUKCpzcmMg
PiAnXHInIHx8ICgqc3JjIDwgJ1xuJyAmJiAqc3JjKSB8fCAqc3JjID09ICdcdicpOwogCi0gICAg
ICAgIGlmIChMSUtFTFkobV9jdXJyZW50Q2hhcmFjdGVyWzBdICE9ICdcXCcpKQotICAgICAgICAg
ICAgKnJlc3VsdCsrID0gKm1fY3VycmVudENoYXJhY3RlcisrOwotICAgICAgICBlbHNlIGlmICht
X2N1cnJlbnRDaGFyYWN0ZXJbMV0gPT0gJ1xuJyB8fCBtX2N1cnJlbnRDaGFyYWN0ZXJbMV0gPT0g
J1xmJykKLSAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciArPSAyOwotICAgICAgICBlbHNl
IGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJbMV0gPT0gJ1xyJykKLSAgICAgICAgICAgIG1fY3VycmVu
dENoYXJhY3RlciArPSBtX2N1cnJlbnRDaGFyYWN0ZXJbMl0gPT0gJ1xuJyA/IDMgOiAyOwotICAg
ICAgICBlbHNlCi0gICAgICAgICAgICBwYXJzZUVzY2FwZShyZXN1bHQpOworICAgICAgICBpZiAo
TElLRUxZKHNyY1swXSAhPSAnXFwnKSkKKyAgICAgICAgICAgICpyZXN1bHQrKyA9ICpzcmMrKzsK
KyAgICAgICAgZWxzZSBpZiAoc3JjWzFdID09ICdcbicgfHwgc3JjWzFdID09ICdcZicpCisgICAg
ICAgICAgICBzcmMgKz0gMjsKKyAgICAgICAgZWxzZSBpZiAoc3JjWzFdID09ICdccicpCisgICAg
ICAgICAgICBzcmMgKz0gc3JjWzJdID09ICdcbicgPyAzIDogMjsKKyAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgICBTcmNDaGFyYWN0ZXJUeXBlKiBzYXZlZEVzY2FwZVN0YXJ0ID0gc3JjOworICAg
ICAgICAgICAgdW5zaWduZWQgdW5pY29kZSA9IHBhcnNlRXNjYXBlPFNyY0NoYXJhY3RlclR5cGU+
KHNyYyk7CisgICAgICAgICAgICBpZiAodW5pY29kZSA+IDB4ZmYgJiYgc2l6ZW9mKERlc3RDaGFy
YWN0ZXJUeXBlKSA9PSAxKSB7CisgICAgICAgICAgICAgICAgc3JjID0gc2F2ZWRFc2NhcGVTdGFy
dDsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBVbmljb2RlVG9DaGFycyhyZXN1bHQsIHVuaWNvZGUpOworICAgICAgICB9CiAgICAgfQor
CisgICAgcmV0dXJuIHRydWU7CiB9CiAKLWlubGluZSB2b2lkIENTU1BhcnNlcjo6cGFyc2VVUkko
VUNoYXIqJiBzdGFydCwgVUNoYXIqJiByZXN1bHQpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFj
dGVyVHlwZT4KK2lubGluZSB2b2lkIENTU1BhcnNlcjo6cGFyc2VTdHJpbmcoQ2hhcmFjdGVyVHlw
ZSomIHJlc3VsdCwgQ1NTUGFyc2VyU3RyaW5nJiByZXN1bHRTdHJpbmcsIFVDaGFyIHF1b3RlKQog
ewotICAgIFVDaGFyKiB1cmlTdGFydCA9IHNraXBXaGl0ZVNwYWNlKG1fY3VycmVudENoYXJhY3Rl
cik7CisgICAgQ2hhcmFjdGVyVHlwZSogc3RhcnQgPSBjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3Rl
clR5cGU+KCk7CisKKyAgICBpZiAoVU5MSUtFTFkoIXBhcnNlU3RyaW5nSW50ZXJuYWwoY3VycmVu
dENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpLCByZXN1bHQsIHF1b3RlKSkpIHsKKyAgICAgICAg
Ly8gRm91bmQgYW4gZXNjYXBlIHdlIGNvdWxkbid0IGhhbmRsZSB3aXRoIDggYml0cywgY29weSB3
aGF0IGhhcyBiZWVuIHJlY29nbml6ZWQgYW5kIGNvbnRpbnVlCisgICAgICAgIEFTU0VSVChpczhC
aXRTb3VyY2UoKSk7CisgICAgICAgIFVDaGFyKiYgcmVzdWx0MTYgPSBjdXJyZW50Q2hhcmFjdGVy
MTYoKTsKKyAgICAgICAgVUNoYXIqIHN0YXJ0MTYgPSByZXN1bHQxNjsKKyAgICAgICAgaW50IGkg
PSAwOworICAgICAgICBmb3IgKDsgaSA8IHJlc3VsdCAtIHN0YXJ0OyBpKyspCisgICAgICAgICAg
ICByZXN1bHQxNltpXSA9IHN0YXJ0W2ldOworCisgICAgICAgIHJlc3VsdDE2ICs9IGk7CisKKyAg
ICAgICAgcGFyc2VTdHJpbmdJbnRlcm5hbChjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+
KCksIHJlc3VsdDE2LCBxdW90ZSk7CisKKyAgICAgICAgcmVzdWx0U3RyaW5nLmluaXQoc3RhcnQx
NiwgcmVzdWx0MTYgLSBzdGFydDE2KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHJl
c3VsdFN0cmluZy5pbml0KHN0YXJ0LCByZXN1bHQgLSBzdGFydCk7Cit9CisKK3RlbXBsYXRlIDx0
eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVVSSUlu
dGVybmFsKENoYXJhY3RlclR5cGUqJiBzdGFydCwgQ2hhcmFjdGVyVHlwZSomIHJlc3VsdCkKK3sK
KyAgICBDaGFyYWN0ZXJUeXBlKiB1cmlTdGFydCA9IHNraXBXaGl0ZVNwYWNlKGN1cnJlbnRDaGFy
YWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSk7CisgICAgQ2hhcmFjdGVyVHlwZSogc2F2ZWRSZXN1bHQg
PSByZXN1bHQ7CiAKICAgICBpZiAoKnVyaVN0YXJ0ID09ICciJyB8fCAqdXJpU3RhcnQgPT0gJ1wn
JykgewotICAgICAgICBVQ2hhciBxdW90ZSA9ICp1cmlTdGFydDsKKyAgICAgICAgQ2hhcmFjdGVy
VHlwZSBxdW90ZSA9ICp1cmlTdGFydDsKICAgICAgICAgKyt1cmlTdGFydDsKIAotICAgICAgICBV
Q2hhciogc3RyaW5nRW5kID0gY2hlY2tBbmRTa2lwU3RyaW5nKHVyaVN0YXJ0LCBxdW90ZSk7Cisg
ICAgICAgIENoYXJhY3RlclR5cGUqIHN0cmluZ0VuZCA9IGNoZWNrQW5kU2tpcFN0cmluZyh1cmlT
dGFydCwgcXVvdGUpOwogICAgICAgICBpZiAoIXN0cmluZ0VuZCkKLSAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBzdHJpbmdFbmQgPSBza2lwV2hp
dGVTcGFjZShzdHJpbmdFbmQpOwogICAgICAgICBpZiAoKnN0cmluZ0VuZCAhPSAnKScpCi0gICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgICAgICBzdGFy
dCA9IHJlc3VsdCA9IG1fY3VycmVudENoYXJhY3RlciA9IHVyaVN0YXJ0OwotICAgICAgICBwYXJz
ZVN0cmluZyhyZXN1bHQsIHF1b3RlKTsKKyAgICAgICAgc3RhcnQgPSByZXN1bHQgPSBjdXJyZW50
Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkgPSB1cmlTdGFydDsKKyAgICAgICAgaWYgKCFwYXJz
ZVN0cmluZ0ludGVybmFsKGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSwgcmVzdWx0
LCBxdW90ZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgbV9jdXJyZW50
Q2hhcmFjdGVyID0gc3RyaW5nRW5kICsgMTsKKyAgICAgICAgY3VycmVudENoYXJhY3RlcjxDaGFy
YWN0ZXJUeXBlPigpID0gc3RyaW5nRW5kICsgMTsKICAgICAgICAgbV90b2tlbiA9IFVSSTsKICAg
ICB9IGVsc2UgewotICAgICAgICBVQ2hhciogc3RyaW5nRW5kID0gdXJpU3RhcnQ7CisgICAgICAg
IENoYXJhY3RlclR5cGUqIHN0cmluZ0VuZCA9IHVyaVN0YXJ0OwogCiAgICAgICAgIHdoaWxlIChp
c1VSSUxldHRlcigqc3RyaW5nRW5kKSkgewogICAgICAgICAgICAgaWYgKCpzdHJpbmdFbmQgIT0g
J1xcJykKQEAgLTg2NDgsOTkgKzg4NTksMTM1IEBAIGlubGluZSB2b2lkIENTU1BhcnNlcjo6cGFy
c2VVUkkoVUNoYXIqJiAKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIHN0cmlu
Z0VuZCA9IGNoZWNrQW5kU2tpcEVzY2FwZShzdHJpbmdFbmQpOwogICAgICAgICAgICAgICAgIGlm
ICghc3RyaW5nRW5kKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAg
c3RyaW5nRW5kID0gc2tpcFdoaXRlU3BhY2Uoc3RyaW5nRW5kKTsKICAgICAgICAgaWYgKCpzdHJp
bmdFbmQgIT0gJyknKQotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAKLSAgICAgICAgc3RhcnQgPSByZXN1bHQgPSBtX2N1cnJlbnRDaGFyYWN0ZXIgPSB1cmlT
dGFydDsKLSAgICAgICAgd2hpbGUgKGlzVVJJTGV0dGVyKCptX2N1cnJlbnRDaGFyYWN0ZXIpKSB7
Ci0gICAgICAgICAgICBpZiAoTElLRUxZKCptX2N1cnJlbnRDaGFyYWN0ZXIgIT0gJ1xcJykpCi0g
ICAgICAgICAgICAgICAgKnJlc3VsdCsrID0gKm1fY3VycmVudENoYXJhY3RlcisrOwotICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHBhcnNlRXNjYXBlKHJlc3VsdCk7CisgICAgICAg
IHN0YXJ0ID0gcmVzdWx0ID0gY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gdXJp
U3RhcnQ7CisgICAgICAgIHdoaWxlIChpc1VSSUxldHRlcigqY3VycmVudENoYXJhY3RlcjxDaGFy
YWN0ZXJUeXBlPigpKSkgeworICAgICAgICAgICAgaWYgKExJS0VMWSgqY3VycmVudENoYXJhY3Rl
cjxDaGFyYWN0ZXJUeXBlPigpICE9ICdcXCcpKQorICAgICAgICAgICAgICAgICpyZXN1bHQrKyA9
ICpjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkrKzsKKyAgICAgICAgICAgIGVsc2Ug
eworICAgICAgICAgICAgICAgIHVuc2lnbmVkIHVuaWNvZGUgPSBwYXJzZUVzY2FwZTxDaGFyYWN0
ZXJUeXBlPihjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkpOworICAgICAgICAgICAg
ICAgIGlmICh1bmljb2RlID4gMHhmZiAmJiBzaXplb2YoQ2hhcmFjdGVyVHlwZSkgPT0gMSkgewor
ICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBzYXZlZFJlc3VsdDsKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBV
bmljb2RlVG9DaGFycyhyZXN1bHQsIHVuaWNvZGUpOworICAgICAgICAgICAgfQogICAgICAgICB9
CiAKLSAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gc3RyaW5nRW5kICsgMTsKKyAgICAgICAg
Y3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gc3RyaW5nRW5kICsgMTsKICAgICAg
ICAgbV90b2tlbiA9IFVSSTsKICAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworaW5saW5l
IHZvaWQgQ1NTUGFyc2VyOjpwYXJzZVVSSShDU1NQYXJzZXJTdHJpbmcmIHN0cmluZykKK3sKKyAg
ICBpZiAoc3RyaW5nLmlzOEJpdCgpKSB7CisgICAgICAgIExDaGFyKiB1cmlTdGFydCA9IHN0cmlu
Zy5jaGFyYWN0ZXJzPExDaGFyPigpOworICAgICAgICBMQ2hhciogcmVzdWx0ID0gdXJpU3RhcnQg
KyBzdHJpbmcubGVuZ3RoKCk7CisgICAgICAgIGJvb2wgcGFyc2VSZXN1bHQgPSBwYXJzZVVSSUlu
dGVybmFsKHVyaVN0YXJ0LCByZXN1bHQpOworCisgICAgICAgIC8vIHBhcnNlSWRlbnRpZmllcigp
IHBhcnNlZCBhbmQgY3JlYXRlZCB0aGUgc3RyaW5nLCB0aGVyZWZvcmUgdGhlcmUgc2hvdWxkbid0
IGJlIGFueSB1bmhhbmRsZWQgZXNjYXBzZXMuCisgICAgICAgIEFTU0VSVF9VTlVTRUQocGFyc2VS
ZXN1bHQsIHBhcnNlUmVzdWx0KTsKKworICAgICAgICBzdHJpbmcuaW5pdCh1cmlTdGFydCwgcmVz
dWx0IC0gdXJpU3RhcnQpOworCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBVQ2hhciog
dXJpU3RhcnQgPSBzdHJpbmcuY2hhcmFjdGVyczxVQ2hhcj4oKTsKKyAgICBVQ2hhciogcmVzdWx0
ID0gdXJpU3RhcnQgKyBzdHJpbmcubGVuZ3RoKCk7CisgICAgYm9vbCBwYXJzZVJlc3VsdCA9IHBh
cnNlVVJJSW50ZXJuYWwodXJpU3RhcnQsIHJlc3VsdCk7CisKKyAgICBBU1NFUlRfVU5VU0VEKHBh
cnNlUmVzdWx0LCBwYXJzZVJlc3VsdCk7IC8vIERpdHRvCisKKyAgICBzdHJpbmcuaW5pdCh1cmlT
dGFydCwgcmVzdWx0IC0gdXJpU3RhcnQpOwogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFj
dGVyVHlwZT4KIGlubGluZSBib29sIENTU1BhcnNlcjo6cGFyc2VVbmljb2RlUmFuZ2UoKQogewot
ICAgIFVDaGFyKiBjdXJyZW50Q2hhcmFjdGVyID0gbV9jdXJyZW50Q2hhcmFjdGVyICsgMTsKKyAg
ICBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5
cGU+KCkgKyAxOwogICAgIGludCBsZW5ndGggPSA2OwotICAgIEFTU0VSVCgqbV9jdXJyZW50Q2hh
cmFjdGVyID09ICcrJyk7CisgICAgQVNTRVJUKCpjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5
cGU+KCkgPT0gJysnKTsKIAotICAgIHdoaWxlIChpc0FTQ0lJSGV4RGlnaXQoKmN1cnJlbnRDaGFy
YWN0ZXIpICYmIGxlbmd0aCkgewotICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgd2hp
bGUgKGlzQVNDSUlIZXhEaWdpdCgqY2hhcmFjdGVyKSAmJiBsZW5ndGgpIHsKKyAgICAgICAgKytj
aGFyYWN0ZXI7CiAgICAgICAgIC0tbGVuZ3RoOwogICAgIH0KIAotICAgIGlmIChsZW5ndGggJiYg
KmN1cnJlbnRDaGFyYWN0ZXIgPT0gJz8nKSB7CisgICAgaWYgKGxlbmd0aCAmJiAqY2hhcmFjdGVy
ID09ICc/JykgewogICAgICAgICAvLyBBdCBtb3N0IDUgaGV4IGRpZ2l0IGZvbGxvd2VkIGJ5IGEg
cXVlc3Rpb24gbWFyay4KICAgICAgICAgZG8gewotICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFj
dGVyOworICAgICAgICAgICAgKytjaGFyYWN0ZXI7CiAgICAgICAgICAgICAtLWxlbmd0aDsKLSAg
ICAgICAgfSB3aGlsZSAoKmN1cnJlbnRDaGFyYWN0ZXIgPT0gJz8nICYmIGxlbmd0aCk7Ci0gICAg
ICAgIG1fY3VycmVudENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIH0gd2hp
bGUgKCpjaGFyYWN0ZXIgPT0gJz8nICYmIGxlbmd0aCk7CisgICAgICAgIGN1cnJlbnRDaGFyYWN0
ZXI8Q2hhcmFjdGVyVHlwZT4oKSA9IGNoYXJhY3RlcjsKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQogCiAgICAgaWYgKGxlbmd0aCA8IDYpIHsKICAgICAgICAgLy8gQXQgbGVhc3Qgb25lIGhl
eCBkaWdpdC4KLSAgICAgICAgaWYgKGN1cnJlbnRDaGFyYWN0ZXJbMF0gPT0gJy0nICYmIGlzQVND
SUlIZXhEaWdpdChjdXJyZW50Q2hhcmFjdGVyWzFdKSkgeworICAgICAgICBpZiAoY2hhcmFjdGVy
WzBdID09ICctJyAmJiBpc0FTQ0lJSGV4RGlnaXQoY2hhcmFjdGVyWzFdKSkgewogICAgICAgICAg
ICAgLy8gRm9sbG93ZWQgYnkgYSBkYXNoIGFuZCBhIGhleCBkaWdpdC4KLSAgICAgICAgICAgICsr
Y3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgICsrY2hhcmFjdGVyOwogICAgICAgICAgICAg
bGVuZ3RoID0gNjsKICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICArK2N1cnJlbnRD
aGFyYWN0ZXI7Ci0gICAgICAgICAgICB9IHdoaWxlICgtLWxlbmd0aCAmJiBpc0FTQ0lJSGV4RGln
aXQoKmN1cnJlbnRDaGFyYWN0ZXIpKTsKKyAgICAgICAgICAgICAgICArK2NoYXJhY3RlcjsKKyAg
ICAgICAgICAgIH0gd2hpbGUgKC0tbGVuZ3RoICYmIGlzQVNDSUlIZXhEaWdpdCgqY2hhcmFjdGVy
KSk7CiAgICAgICAgIH0KLSAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gY3VycmVudENoYXJh
Y3RlcjsKKyAgICAgICAgY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gY2hhcmFj
dGVyOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIGJvb2wgQ1NTUGFyc2VyOjpwYXJz
ZU50aENoaWxkKCkKIHsKLSAgICBVQ2hhciogY3VycmVudENoYXJhY3RlciA9IG1fY3VycmVudENo
YXJhY3RlcjsKKyAgICBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVy
PENoYXJhY3RlclR5cGU+KCk7CiAKLSAgICB3aGlsZSAoaXNBU0NJSURpZ2l0KCpjdXJyZW50Q2hh
cmFjdGVyKSkKLSAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyOwotICAgIGlmIChpc0FTQ0lJQWxw
aGFDYXNlbGVzc0VxdWFsKCpjdXJyZW50Q2hhcmFjdGVyLCAnbicpKSB7Ci0gICAgICAgIG1fY3Vy
cmVudENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXIgKyAxOworICAgIHdoaWxlIChpc0FTQ0lJ
RGlnaXQoKmNoYXJhY3RlcikpCisgICAgICAgICsrY2hhcmFjdGVyOworICAgIGlmIChpc0FTQ0lJ
QWxwaGFDYXNlbGVzc0VxdWFsKCpjaGFyYWN0ZXIsICduJykpIHsKKyAgICAgICAgY3VycmVudENo
YXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gY2hhcmFjdGVyICsgMTsKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0KIAordGVtcGxhdGUgPHR5cGVuYW1l
IENoYXJhY3RlclR5cGU+CiBib29sIENTU1BhcnNlcjo6cGFyc2VOdGhDaGlsZEV4dHJhKCkKIHsK
LSAgICBVQ2hhciogY3VycmVudENoYXJhY3RlciA9IHNraXBXaGl0ZVNwYWNlKG1fY3VycmVudENo
YXJhY3Rlcik7Ci0gICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyICE9ICcrJyAmJiAqY3VycmVudENo
YXJhY3RlciAhPSAnLScpCisgICAgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVyID0gc2tpcFdoaXRl
U3BhY2UoY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpKTsKKyAgICBpZiAoKmNoYXJh
Y3RlciAhPSAnKycgJiYgKmNoYXJhY3RlciAhPSAnLScpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIGN1cnJlbnRDaGFyYWN0ZXIgPSBza2lwV2hpdGVTcGFjZShjdXJyZW50Q2hhcmFjdGVy
ICsgMSk7Ci0gICAgaWYgKCFpc0FTQ0lJRGlnaXQoKmN1cnJlbnRDaGFyYWN0ZXIpKQorICAgIGNo
YXJhY3RlciA9IHNraXBXaGl0ZVNwYWNlKGNoYXJhY3RlciArIDEpOworICAgIGlmICghaXNBU0NJ
SURpZ2l0KCpjaGFyYWN0ZXIpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBkbyB7Ci0g
ICAgICAgICsrY3VycmVudENoYXJhY3RlcjsKLSAgICB9IHdoaWxlIChpc0FTQ0lJRGlnaXQoKmN1
cnJlbnRDaGFyYWN0ZXIpKTsKKyAgICAgICAgKytjaGFyYWN0ZXI7CisgICAgfSB3aGlsZSAoaXNB
U0NJSURpZ2l0KCpjaGFyYWN0ZXIpKTsKIAotICAgIG1fY3VycmVudENoYXJhY3RlciA9IGN1cnJl
bnRDaGFyYWN0ZXI7CisgICAgY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gY2hh
cmFjdGVyOwogICAgIHJldHVybiB0cnVlOwogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFj
dGVyVHlwZT4KIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0RnVuY3Rpb25UeXBlVG9rZW4o
aW50IGxlbmd0aCkKIHsKICAgICBBU1NFUlQobGVuZ3RoID4gMCk7Ci0gICAgVUNoYXIqIG5hbWUg
PSBtX3Rva2VuU3RhcnQ7CisgICAgQ2hhcmFjdGVyVHlwZSogbmFtZSA9IHRva2VuU3RhcnQ8Q2hh
cmFjdGVyVHlwZT4oKTsKIAogICAgIHN3aXRjaCAobGVuZ3RoKSB7CiAgICAgY2FzZSAzOgpAQCAt
ODc3MiwxMCArOTAxOSwxMSBAQCBpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OmRldGVjdEZ1bmN0aW9u
VHlwCiAgICAgfQogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIGlubGlu
ZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0TWVkaWFRdWVyeVRva2VuKGludCBsZW5ndGgpCiB7CiAg
ICAgQVNTRVJUKG1fcGFyc2luZ01vZGUgPT0gTWVkaWFRdWVyeU1vZGUpOwotICAgIFVDaGFyKiBu
YW1lID0gbV90b2tlblN0YXJ0OworICAgIENoYXJhY3RlclR5cGUqIG5hbWUgPSB0b2tlblN0YXJ0
PENoYXJhY3RlclR5cGU+KCk7CiAKICAgICBpZiAobGVuZ3RoID09IDMpIHsKICAgICAgICAgaWYg
KGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwobmFtZVswXSwgJ2EnKSAmJiBpc0FTQ0lJQWxwaGFD
YXNlbGVzc0VxdWFsKG5hbWVbMV0sICduJykgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChu
YW1lWzJdLCAnZCcpKQpAQCAtODc4OSw3ICs5MDM3LDggQEAgaW5saW5lIHZvaWQgQ1NTUGFyc2Vy
OjpkZXRlY3RNZWRpYVF1ZXJ5VAogICAgIH0KIH0KIAotaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpk
ZXRlY3ROdW1iZXJUb2tlbihVQ2hhciogdHlwZSwgaW50IGxlbmd0aCkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRlY3ROdW1iZXJU
b2tlbihDaGFyYWN0ZXJUeXBlKiB0eXBlLCBpbnQgbGVuZ3RoKQogewogICAgIEFTU0VSVChsZW5n
dGggPiAwKTsKIApAQCAtODkwNiw5ICs5MTU1LDEwIEBAIGlubGluZSB2b2lkIENTU1BhcnNlcjo6
ZGV0ZWN0TnVtYmVyVG9rZW4KICAgICB9CiB9CiAKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0
ZXJUeXBlPgogaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRlY3REYXNoVG9rZW4oaW50IGxlbmd0
aCkKIHsKLSAgICBVQ2hhciogbmFtZSA9IG1fdG9rZW5TdGFydDsKKyAgICBDaGFyYWN0ZXJUeXBl
KiBuYW1lID0gdG9rZW5TdGFydDxDaGFyYWN0ZXJUeXBlPigpOwogCiAgICAgaWYgKGxlbmd0aCA9
PSAxMSkgewogICAgICAgICBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChuYW1lWzEwXSwg
J3knKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUgKyAxLCAid2Via2l0LWFuIikpCkBA
IC04OTI1LDkgKzkxNzUsMTAgQEAgaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRlY3REYXNoVG9r
ZW4oaQogICAgICAgICBtX3Rva2VuID0gQ0FMQ0ZVTkNUSU9OOwogfQogCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0QXRUb2tl
bihpbnQgbGVuZ3RoLCBib29sIGhhc0VzY2FwZSkKIHsKLSAgICBVQ2hhciogbmFtZSA9IG1fdG9r
ZW5TdGFydDsKKyAgICBDaGFyYWN0ZXJUeXBlKiBuYW1lID0gdG9rZW5TdGFydDxDaGFyYWN0ZXJU
eXBlPigpOwogICAgIEFTU0VSVChuYW1lWzBdID09ICdAJyAmJiBsZW5ndGggPj0gMik7CiAKICAg
ICAvLyBjaGFyc2V0LCBmb250LWZhY2UsIGltcG9ydCwgbWVkaWEsIG5hbWVzcGFjZSwgcGFnZSwK
QEAgLTkxMTMsODEgKzkzNjQsNzcgQEAgaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRlY3RBdFRv
a2VuKGludAogICAgIH0KIH0KIAotaW50IENTU1BhcnNlcjo6bGV4KHZvaWQqIHl5bHZhbFdpdGhv
dXRUeXBlKQordGVtcGxhdGUgPHR5cGVuYW1lIFNyY0NoYXJhY3RlclR5cGU+CitpbnQgQ1NTUGFy
c2VyOjpyZWFsTGV4KHZvaWQqIHl5bHZhbFdpdGhvdXRUeXBlKQogewogICAgIFlZU1RZUEUqIHl5
bHZhbCA9IHN0YXRpY19jYXN0PFlZU1RZUEUqPih5eWx2YWxXaXRob3V0VHlwZSk7CiAgICAgLy8g
V3JpdGUgcG9pbnRlciBmb3IgdGhlIG5leHQgY2hhcmFjdGVyLgotICAgIFVDaGFyKiByZXN1bHQ7
CisgICAgU3JjQ2hhcmFjdGVyVHlwZSogcmVzdWx0OworICAgIENTU1BhcnNlclN0cmluZyByZXN1
bHRTdHJpbmc7CiAgICAgYm9vbCBoYXNFc2NhcGU7CiAKICAgICAvLyBUaGUgaW5wdXQgYnVmZmVy
IGlzIHRlcm1pbmF0ZWQgYnkgYSBcMCBjaGFyYWN0ZXIsIHNvCiAgICAgLy8gaXQgaXMgc2FmZSB0
byByZWFkIG9uZSBjaGFyYWN0ZXIgYWhlYWQgb2YgYSBrbm93biBub24tbnVsbC4KLQogI2lmbmRl
ZiBOREVCVUcKICAgICAvLyBJbiBkZWJ1ZyB3ZSBjaGVjayB3aXRoIGFuIEFTU0VSVCB0aGF0IHRo
ZSBsZW5ndGggaXMgPiAwIGZvciBzdHJpbmcgdHlwZXMuCi0gICAgeXlsdmFsLT5zdHJpbmcuY2hh
cmFjdGVycyA9IDA7Ci0gICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gMDsKKyAgICB5eWx2YWwt
PnN0cmluZy5jbGVhcigpOwogI2VuZGlmCiAKIHJlc3RhcnRBZnRlckNvbW1lbnQ6Ci0gICAgbV90
b2tlblN0YXJ0ID0gcmVzdWx0ID0gbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgIG1fdG9rZW4gPSAq
bV9jdXJyZW50Q2hhcmFjdGVyOwotICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAgIHJlc3Vs
dCA9IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKKyAgICBzZXRUb2tlblN0
YXJ0KHJlc3VsdCk7CisgICAgbV90b2tlbiA9ICpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3Rl
clR5cGU+KCk7CisgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAK
ICAgICBzd2l0Y2ggKChtX3Rva2VuIDw9IDEyNykgPyB0eXBlc09mQVNDSUlDaGFyYWN0ZXJzW21f
dG9rZW5dIDogQ2hhcmFjdGVySWRlbnRpZmllclN0YXJ0KSB7CiAgICAgY2FzZSBDaGFyYWN0ZXJD
YXNlbGVzc1U6Ci0gICAgICAgIGlmIChVTkxJS0VMWSgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICcr
JykpCi0gICAgICAgICAgICBpZiAocGFyc2VVbmljb2RlUmFuZ2UoKSkgeworICAgICAgICBpZiAo
VU5MSUtFTFkoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnKycpKQor
ICAgICAgICAgICAgaWYgKHBhcnNlVW5pY29kZVJhbmdlPFNyY0NoYXJhY3RlclR5cGU+KCkpIHsK
ICAgICAgICAgICAgICAgICBtX3Rva2VuID0gVU5JQ09ERVJBTkdFOwotICAgICAgICAgICAgICAg
IHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAgICAgICAg
ICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0
YXJ0OworICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmluaXQodG9rZW5TdGFydDxTcmND
aGFyYWN0ZXJUeXBlPigpLCBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgLSB0
b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkpOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgfQogICAgICAgICAvLyBGYWxsIHRocm91Z2ggdG8gQ2hhcmFjdGVySWRlbnRp
ZmllclN0YXJ0LgogCiAgICAgY2FzZSBDaGFyYWN0ZXJJZGVudGlmaWVyU3RhcnQ6Ci0gICAgICAg
IC0tbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCBo
YXNFc2NhcGUpOworICAgICAgICAtLWN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4o
KTsKKyAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgeXlsdmFsLT5zdHJpbmcsIGhhc0Vz
Y2FwZSk7CiAgICAgICAgIG1fdG9rZW4gPSBJREVOVDsKIAotICAgICAgICB5eWx2YWwtPnN0cmlu
Zy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0OwotICAgICAgICB5eWx2YWwtPnN0cmluZy5sZW5n
dGggPSByZXN1bHQgLSBtX3Rva2VuU3RhcnQ7Ci0KLSAgICAgICAgaWYgKFVOTElLRUxZKCptX2N1
cnJlbnRDaGFyYWN0ZXIgPT0gJygnKSkgeworICAgICAgICBpZiAoVU5MSUtFTFkoKmN1cnJlbnRD
aGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnKCcpKSB7CiAgICAgICAgICAgICBtX3Rv
a2VuID0gRlVOQ1RJT047CiAgICAgICAgICAgICBpZiAoIWhhc0VzY2FwZSkKLSAgICAgICAgICAg
ICAgICBkZXRlY3RGdW5jdGlvblR5cGVUb2tlbihyZXN1bHQgLSBtX3Rva2VuU3RhcnQpOwotICAg
ICAgICAgICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgZGV0ZWN0RnVu
Y3Rpb25UeXBlVG9rZW48U3JjQ2hhcmFjdGVyVHlwZT4ocmVzdWx0IC0gdG9rZW5TdGFydDxTcmND
aGFyYWN0ZXJUeXBlPigpKTsKKyAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFy
YWN0ZXJUeXBlPigpOwogICAgICAgICAgICAgKytyZXN1bHQ7Ci0gICAgICAgICAgICArK3l5bHZh
bC0+c3RyaW5nLmxlbmd0aDsKKyAgICAgICAgICAgICsreXlsdmFsLT5zdHJpbmcubV9sZW5ndGg7
CiAKICAgICAgICAgICAgIGlmICh0b2tlbigpID09IFVSSSkgewogICAgICAgICAgICAgICAgIG1f
dG9rZW4gPSBGVU5DVElPTjsKICAgICAgICAgICAgICAgICAvLyBDaGVjayB3aGV0aGVyIGl0IGlz
IHJlYWxseSBhbiBVUkkuCi0gICAgICAgICAgICAgICAgcGFyc2VVUkkoeXlsdmFsLT5zdHJpbmcu
Y2hhcmFjdGVycywgcmVzdWx0KTsKLSAgICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5sZW5n
dGggPSByZXN1bHQgLSB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzOworICAgICAgICAgICAgICAg
IHBhcnNlVVJJKHl5bHZhbC0+c3RyaW5nKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNl
IGlmIChVTkxJS0VMWShtX3BhcnNpbmdNb2RlICE9IE5vcm1hbE1vZGUpICYmICFoYXNFc2NhcGUp
IHsKICAgICAgICAgICAgIGlmIChtX3BhcnNpbmdNb2RlID09IE1lZGlhUXVlcnlNb2RlKQotICAg
ICAgICAgICAgICAgIGRldGVjdE1lZGlhUXVlcnlUb2tlbihyZXN1bHQgLSBtX3Rva2VuU3RhcnQp
OwotICAgICAgICAgICAgZWxzZSBpZiAobV9wYXJzaW5nTW9kZSA9PSBOdGhDaGlsZE1vZGUgJiYg
aXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChtX3Rva2VuU3RhcnRbMF0sICduJykpIHsKLSAgICAg
ICAgICAgICAgICBpZiAocmVzdWx0IC0gbV90b2tlblN0YXJ0ID09IDEpIHsKKyAgICAgICAgICAg
ICAgICBkZXRlY3RNZWRpYVF1ZXJ5VG9rZW48U3JjQ2hhcmFjdGVyVHlwZT4ocmVzdWx0IC0gdG9r
ZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1fcGFy
c2luZ01vZGUgPT0gTnRoQ2hpbGRNb2RlICYmIGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwodG9r
ZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpWzBdLCAnbicpKSB7CisgICAgICAgICAgICAgICAg
aWYgKHJlc3VsdCAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAxKSB7CiAgICAg
ICAgICAgICAgICAgICAgIC8vIFN0cmluZyAibiIgaXMgSURFTlQgYnV0ICJuKzEiIGlzIE5USC4K
LSAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnNlTnRoQ2hpbGRFeHRyYSgpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hhcmFjdGVyVHlwZT4oKSkg
ewogICAgICAgICAgICAgICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJhY3RlciAtIG1f
dG9rZW5TdGFydDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLm1fbGVu
Z3RoID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFydDxT
cmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgfSBlbHNlIGlmIChyZXN1bHQgLSBtX3Rva2VuU3RhcnQgPj0gMiAmJiBtX3Rva2VuU3RhcnRb
MV0gPT0gJy0nKSB7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQgLSB0b2tlblN0
YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkgPj0gMiAmJiB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5
cGU+KClbMV0gPT0gJy0nKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIFN0cmluZyAibi0iIGlz
IElERU5UIGJ1dCAibi0xIiBpcyBOVEguCi0gICAgICAgICAgICAgICAgICAgIC8vIFNldCBtX2N1
cnJlbnRDaGFyYWN0ZXIgdG8gJy0nIHRvIGNvbnRpbnVlIHBhcnNpbmcuCi0gICAgICAgICAgICAg
ICAgICAgIFVDaGFyKiBuZXh0Q2hhcmFjdGVyID0gcmVzdWx0OwotICAgICAgICAgICAgICAgICAg
ICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBtX3Rva2VuU3RhcnQgKyAxOwotICAgICAgICAgICAgICAg
ICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJhKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8g
U2V0IGN1cnJlbnRDaGFyYWN0ZXIgdG8gJy0nIHRvIGNvbnRpbnVlIHBhcnNpbmcuCisgICAgICAg
ICAgICAgICAgICAgIFNyY0NoYXJhY3RlclR5cGUqIG5leHRDaGFyYWN0ZXIgPSByZXN1bHQ7Cisg
ICAgICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9
IHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSArIDE7CisgICAgICAgICAgICAgICAgICAg
IGlmIChwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hhcmFjdGVyVHlwZT4oKSkgewogICAgICAgICAg
ICAgICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAgICAgICAgICAgICAgICAgIHl5
bHZhbC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydDsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLnNldExlbmd0aChjdXJyZW50
Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5
cGU+KCkpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gUmV2ZXJ0IHRoZSBjaGFuZ2UgdG8gbV9jdXJyZW50Q2hhcmFjdGVyIGlmIHVuc3Vj
Y2Vzc2Z1bC4KLSAgICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciA9IG5l
eHRDaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXZlcnQgdGhlIGNoYW5n
ZSB0byBjdXJyZW50Q2hhcmFjdGVyIGlmIHVuc3VjY2Vzc2Z1bC4KKyAgICAgICAgICAgICAgICAg
ICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9IG5leHRDaGFyYWN0
ZXI7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICB9CkBAIC05MTk1LDcgKzk0NDIsNyBAQCByZXN0YXJ0QWZ0ZXJDb21tZW50OgogICAgICAgICBi
cmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyRG90OgotICAgICAgICBpZiAoIWlzQVNDSUlEaWdp
dChtX2N1cnJlbnRDaGFyYWN0ZXJbMF0pKQorICAgICAgICBpZiAoIWlzQVNDSUlEaWdpdChjdXJy
ZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMF0pKQogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIC8vIEZhbGwgdGhyb3VnaCB0byBDaGFyYWN0ZXJOdW1iZXIuCiAKQEAgLTkyMDMs
MjMgKzk0NTAsMjIgQEAgcmVzdGFydEFmdGVyQ29tbWVudDoKICAgICAgICAgYm9vbCBkb3RTZWVu
ID0gKG1fdG9rZW4gPT0gJy4nKTsKIAogICAgICAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICAg
ICAgaWYgKCFpc0FTQ0lJRGlnaXQobV9jdXJyZW50Q2hhcmFjdGVyWzBdKSkgeworICAgICAgICAg
ICAgaWYgKCFpc0FTQ0lJRGlnaXQoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
WzBdKSkgewogICAgICAgICAgICAgICAgIC8vIE9ubHkgb25lIGRvdCBpcyBhbGxvd2VkIGZvciBh
IG51bWJlciwKICAgICAgICAgICAgICAgICAvLyBhbmQgaXQgbXVzdCBiZSBmb2xsb3dlZCBieSBh
IGRpZ2l0LgotICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJbMF0gIT0gJy4n
IHx8IGRvdFNlZW4gfHwgIWlzQVNDSUlEaWdpdChtX2N1cnJlbnRDaGFyYWN0ZXJbMV0pKQorICAg
ICAgICAgICAgICAgIGlmIChjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMF0g
IT0gJy4nIHx8IGRvdFNlZW4gfHwgIWlzQVNDSUlEaWdpdChjdXJyZW50Q2hhcmFjdGVyPFNyY0No
YXJhY3RlclR5cGU+KClbMV0pKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgICAgICBkb3RTZWVuID0gdHJ1ZTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICsrbV9j
dXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJh
Y3RlclR5cGU+KCk7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoVU5MSUtFTFkobV9wYXJzaW5n
TW9kZSA9PSBOdGhDaGlsZE1vZGUpICYmICFkb3RTZWVuICYmIGlzQVNDSUlBbHBoYUNhc2VsZXNz
RXF1YWwoKm1fY3VycmVudENoYXJhY3RlciwgJ24nKSkgeworICAgICAgICBpZiAoVU5MSUtFTFko
bV9wYXJzaW5nTW9kZSA9PSBOdGhDaGlsZE1vZGUpICYmICFkb3RTZWVuICYmIGlzQVNDSUlBbHBo
YUNhc2VsZXNzRXF1YWwoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSwgJ24n
KSkgewogICAgICAgICAgICAgLy8gIlswLTldK24iIGlzIGFsd2F5cyBhbiBOdGhDaGlsZC4KLSAg
ICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgICAgICAgICAgcGFyc2VOdGhDaGls
ZEV4dHJhKCk7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlw
ZT4oKTsKKyAgICAgICAgICAgIHBhcnNlTnRoQ2hpbGRFeHRyYTxTcmNDaGFyYWN0ZXJUeXBlPigp
OwogICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5n
LmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5s
ZW5ndGggPSBtX2N1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQ7CisgICAgICAgICAgICB5
eWx2YWwtPnN0cmluZy5pbml0KHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSwgY3VycmVu
dENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJU
eXBlPigpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKQEAgLTkyMjcsNTIgKzk0
NzMsNTEgQEAgcmVzdGFydEFmdGVyQ29tbWVudDoKICAgICAgICAgLy8gVXNlIFNWRyBwYXJzZXIg
Zm9yIG51bWJlcnMgb24gU1ZHIHByZXNlbnRhdGlvbiBhdHRyaWJ1dGVzLgogICAgICAgICBpZiAo
bV9jb250ZXh0Lm1vZGUgPT0gU1ZHQXR0cmlidXRlTW9kZSkgewogICAgICAgICAgICAgLy8gV2Ug
bmVlZCB0byB0YWtlIGNhcmUgb2YgdW5pdHMgbGlrZSAnZW0nIG9yICdleCcuCi0gICAgICAgICAg
ICBVQ2hhciogY3VycmVudENoYXJhY3RlciA9IG1fY3VycmVudENoYXJhY3RlcjsKLSAgICAgICAg
ICAgIGlmIChpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKCpjdXJyZW50Q2hhcmFjdGVyLCAnZScp
KSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGN1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3Rh
cnQgPiAwKTsKLSAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAg
ICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyID09ICctJyB8fCAqY3VycmVudENoYXJhY3RlciA9
PSAnKycgfHwgaXNBU0NJSURpZ2l0KCpjdXJyZW50Q2hhcmFjdGVyKSkgewotICAgICAgICAgICAg
ICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAgICAgICAgICAgIHdoaWxlIChp
c0FTQ0lJRGlnaXQoKmN1cnJlbnRDaGFyYWN0ZXIpKQotICAgICAgICAgICAgICAgICAgICAgICAg
KytjdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgU3JjQ2hhcmFjdGVyVHlwZSogY2hhcmFj
dGVyID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAgICAgICAgICAg
aWYgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwoKmNoYXJhY3RlciwgJ2UnKSkgeworICAgICAg
ICAgICAgICAgIEFTU0VSVChjaGFyYWN0ZXIgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+
KCkgPiAwKTsKKyAgICAgICAgICAgICAgICArK2NoYXJhY3RlcjsKKyAgICAgICAgICAgICAgICBp
ZiAoKmNoYXJhY3RlciA9PSAnLScgfHwgKmNoYXJhY3RlciA9PSAnKycgfHwgaXNBU0NJSURpZ2l0
KCpjaGFyYWN0ZXIpKSB7CisgICAgICAgICAgICAgICAgICAgICsrY2hhcmFjdGVyOworICAgICAg
ICAgICAgICAgICAgICB3aGlsZSAoaXNBU0NJSURpZ2l0KCpjaGFyYWN0ZXIpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgKytjaGFyYWN0ZXI7CiAgICAgICAgICAgICAgICAgICAgIC8vIFVzZSBG
TE9BVFRPS0VOIGlmIHRoZSBzdHJpbmcgY29udGFpbnMgZXhwb25lbnRzLgogICAgICAgICAgICAg
ICAgICAgICBkb3RTZWVuID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50Q2hh
cmFjdGVyID0gY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudENo
YXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID0gY2hhcmFjdGVyOwogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICghcGFyc2VTVkdOdW1iZXIobV90b2tl
blN0YXJ0LCBjdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0LCB5eWx2YWwtPm51bWJlcikp
CisgICAgICAgICAgICBpZiAoIXBhcnNlU1ZHTnVtYmVyKHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVy
VHlwZT4oKSwgY2hhcmFjdGVyIC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpLCB5eWx2
YWwtPm51bWJlcikpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0gZWxzZQogI2Vu
ZGlmCi0gICAgICAgICAgICB5eWx2YWwtPm51bWJlciA9IGNoYXJhY3RlcnNUb0RvdWJsZShtX3Rv
a2VuU3RhcnQsIG1fY3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydCk7CisgICAgICAgICAg
ICB5eWx2YWwtPm51bWJlciA9IGNoYXJhY3RlcnNUb0RvdWJsZSh0b2tlblN0YXJ0PFNyY0NoYXJh
Y3RlclR5cGU+KCksIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtIHRva2Vu
U3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CiAgCiAgICAgICAgIC8vIFR5cGUgb2YgdGhlIGZ1
bmN0aW9uLgotICAgICAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnQoKSkgewotICAgICAgICAgICAg
VUNoYXIqIHR5cGUgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAgICByZXN1bHQgPSBt
X2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIGlmIChpc0lkZW50aWZpZXJTdGFydDxTcmNDaGFy
YWN0ZXJUeXBlPigpKSB7CisgICAgICAgICAgICBTcmNDaGFyYWN0ZXJUeXBlKiB0eXBlID0gY3Vy
cmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAgICAgICAgICAgcmVzdWx0ID0g
Y3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogCi0gICAgICAgICAgICBwYXJz
ZUlkZW50aWZpZXIocmVzdWx0LCBoYXNFc2NhcGUpOwotICAgICAgICAgICAgaWYgKCptX2N1cnJl
bnRDaGFyYWN0ZXIgPT0gJysnKSB7CisgICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0
LCByZXN1bHRTdHJpbmcsIGhhc0VzY2FwZSk7CisgICAgICAgICAgICBpZiAoKmN1cnJlbnRDaGFy
YWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnKycpIHsKICAgICAgICAgICAgICAgICAvLyBB
bnkgaWRlbnRpZmllciBmb2xsb3dlZCBieSBhICcrJyBzaWduIGlzIGFuIGludmFsaWQgZGltZW5z
aW9uLgotICAgICAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAg
ICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICAgICAg
ICAgIG1fdG9rZW4gPSBJTlZBTElERElNRU47CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgICAgIG1fdG9rZW4gPSBESU1FTjsKICAgICAgICAgICAgICAgICBpZiAoIWhhc0VzY2Fw
ZSkKLSAgICAgICAgICAgICAgICAgICAgZGV0ZWN0TnVtYmVyVG9rZW4odHlwZSwgbV9jdXJyZW50
Q2hhcmFjdGVyIC0gdHlwZSk7CisgICAgICAgICAgICAgICAgICAgIGRldGVjdE51bWJlclRva2Vu
KHR5cGUsIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtIHR5cGUpOwogCiAg
ICAgICAgICAgICAgICAgaWYgKG1fdG9rZW4gPT0gRElNRU4pIHsKICAgICAgICAgICAgICAgICAg
ICAgLy8gVGhlIGRlY29kZWQgbnVtYmVyIGlzIG92ZXJ3cml0dGVuLCBidXQgdGhpcyBpcyBpbnRl
bnRpb25hbC4KLSAgICAgICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9
IG1fdG9rZW5TdGFydDsKLSAgICAgICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3Ro
ID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0OworICAgICAgICAgICAgICAgICAg
ICB5eWx2YWwtPnN0cmluZy5pbml0KHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSwgY3Vy
cmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0
ZXJUeXBlPigpKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0g
ZWxzZSBpZiAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnJScpIHsKKyAgICAgICAgfSBlbHNlIGlm
ICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICclJykgewogICAgICAg
ICAgICAgLy8gQWx0aG91Z2ggdGhlIENTUyBncmFtbWFyIHNheXMge251bX0lIHdlIGZvbGxvdwog
ICAgICAgICAgICAgLy8gd2Via2l0IGF0IHRoZSBtb21lbnQgd2hpY2ggdXNlcyB7bnVtfSUrLgog
ICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOwot
ICAgICAgICAgICAgfSB3aGlsZSAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnJScpOworICAgICAg
ICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAgICAg
ICAgICAgfSB3aGlsZSAoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAn
JScpOwogICAgICAgICAgICAgbV90b2tlbiA9IFBFUkNFTlRBR0U7CiAgICAgICAgIH0gZWxzZQog
ICAgICAgICAgICAgbV90b2tlbiA9IGRvdFNlZW4gPyBGTE9BVFRPS0VOIDogSU5URUdFUjsKQEAg
LTkyODAsNTUgKzk1MjUsNTQgQEAgcmVzdGFydEFmdGVyQ29tbWVudDoKICAgICB9CiAKICAgICBj
YXNlIENoYXJhY3RlckRhc2g6Ci0gICAgICAgIGlmIChpc0lkZW50aWZpZXJTdGFydEFmdGVyRGFz
aChtX2N1cnJlbnRDaGFyYWN0ZXIpKSB7Ci0gICAgICAgICAgICAtLW1fY3VycmVudENoYXJhY3Rl
cjsKLSAgICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIGhhc0VzY2FwZSk7CisgICAg
ICAgIGlmIChpc0lkZW50aWZpZXJTdGFydEFmdGVyRGFzaChjdXJyZW50Q2hhcmFjdGVyPFNyY0No
YXJhY3RlclR5cGU+KCkpKSB7CisgICAgICAgICAgICAtLWN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hh
cmFjdGVyVHlwZT4oKTsKKyAgICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIHJlc3Vs
dFN0cmluZywgaGFzRXNjYXBlKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBJREVOVDsKIAogI2lm
IEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICAgICAgaWYgKGNzc1ZhcmlhYmxlc0VuYWJs
ZWQoKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG1fdG9rZW5TdGFydCArIDEsICJ3ZWJraXQt
dmFyIikgJiYgbV90b2tlblN0YXJ0WzExXSA9PSAnLScgJiYgaXNJZGVudGlmaWVyU3RhcnRBZnRl
ckRhc2gobV90b2tlblN0YXJ0ICsgMTIpKQorICAgICAgICAgICAgaWYgKGNzc1ZhcmlhYmxlc0Vu
YWJsZWQoKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVy
VHlwZT4oKSArIDEsICJ3ZWJraXQtdmFyIikgJiYgdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBl
PigpWzExXSA9PSAnLScgJiYgaXNJZGVudGlmaWVyU3RhcnRBZnRlckRhc2godG9rZW5TdGFydDxT
cmNDaGFyYWN0ZXJUeXBlPigpICsgMTIpKQogICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBWQVJf
REVGSU5JVElPTjsKICAgICAgICAgICAgIGVsc2UKICNlbmRpZgotICAgICAgICAgICAgaWYgKCpt
X2N1cnJlbnRDaGFyYWN0ZXIgPT0gJygnKSB7CisgICAgICAgICAgICBpZiAoKmN1cnJlbnRDaGFy
YWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnKCcpIHsKICAgICAgICAgICAgICAgICBtX3Rv
a2VuID0gRlVOQ1RJT047CiAgICAgICAgICAgICAgICAgaWYgKCFoYXNFc2NhcGUpCi0gICAgICAg
ICAgICAgICAgICAgIGRldGVjdERhc2hUb2tlbihyZXN1bHQgLSBtX3Rva2VuU3RhcnQpOwotICAg
ICAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgICAgICAgICBk
ZXRlY3REYXNoVG9rZW48U3JjQ2hhcmFjdGVyVHlwZT4ocmVzdWx0IC0gdG9rZW5TdGFydDxTcmND
aGFyYWN0ZXJUeXBlPigpKTsKKyAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3Jj
Q2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgICAgICArK3Jlc3VsdDsKLSAgICAgICAgICAg
IH0gZWxzZSBpZiAoVU5MSUtFTFkobV9wYXJzaW5nTW9kZSA9PSBOdGhDaGlsZE1vZGUpICYmICFo
YXNFc2NhcGUgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChtX3Rva2VuU3RhcnRbMV0sICdu
JykpIHsKLSAgICAgICAgICAgICAgICBpZiAocmVzdWx0IC0gbV90b2tlblN0YXJ0ID09IDIpIHsK
KyAgICAgICAgICAgIH0gZWxzZSBpZiAoVU5MSUtFTFkobV9wYXJzaW5nTW9kZSA9PSBOdGhDaGls
ZE1vZGUpICYmICFoYXNFc2NhcGUgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbCh0b2tlblN0
YXJ0PFNyY0NoYXJhY3RlclR5cGU+KClbMV0sICduJykpIHsKKyAgICAgICAgICAgICAgICBpZiAo
cmVzdWx0IC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpID09IDIpIHsKICAgICAgICAg
ICAgICAgICAgICAgLy8gU3RyaW5nICItbiIgaXMgSURFTlQgYnV0ICItbisxIiBpcyBOVEguCi0g
ICAgICAgICAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0cmEoKSkgeworICAgICAgICAg
ICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJhPFNyY0NoYXJhY3RlclR5cGU+KCkpIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBOVEg7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICByZXN1bHQgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgICAg
ICAgICByZXN1bHQgPSBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAgICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdCAtIG1f
dG9rZW5TdGFydCA+PSAzICYmIG1fdG9rZW5TdGFydFsyXSA9PSAnLScpIHsKKyAgICAgICAgICAg
ICAgICB9IGVsc2UgaWYgKHJlc3VsdCAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSA+
PSAzICYmIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKVsyXSA9PSAnLScpIHsKICAgICAg
ICAgICAgICAgICAgICAgLy8gU3RyaW5nICItbi0iIGlzIElERU5UIGJ1dCAiLW4tMSIgaXMgTlRI
LgotICAgICAgICAgICAgICAgICAgICAvLyBTZXQgbV9jdXJyZW50Q2hhcmFjdGVyIHRvIHNlY29u
ZCAnLScgb2YgJy1uLScgdG8gY29udGludWUgcGFyc2luZy4KLSAgICAgICAgICAgICAgICAgICAg
VUNoYXIqIG5leHRDaGFyYWN0ZXIgPSByZXN1bHQ7Ci0gICAgICAgICAgICAgICAgICAgIG1fY3Vy
cmVudENoYXJhY3RlciA9IG1fdG9rZW5TdGFydCArIDI7Ci0gICAgICAgICAgICAgICAgICAgIGlm
IChwYXJzZU50aENoaWxkRXh0cmEoKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBTZXQgY3Vy
cmVudENoYXJhY3RlciB0byBzZWNvbmQgJy0nIG9mICctbi0nIHRvIGNvbnRpbnVlIHBhcnNpbmcu
CisgICAgICAgICAgICAgICAgICAgIFNyY0NoYXJhY3RlclR5cGUqIG5leHRDaGFyYWN0ZXIgPSBy
ZXN1bHQ7CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVy
VHlwZT4oKSA9IHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSArIDI7CisgICAgICAgICAg
ICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hhcmFjdGVyVHlwZT4oKSkgewog
ICAgICAgICAgICAgICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHJlc3VsdCA9IG1fY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJlc3VsdCA9IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJldmVy
dCB0aGUgY2hhbmdlIHRvIG1fY3VycmVudENoYXJhY3RlciBpZiB1bnN1Y2Nlc3NmdWwuCi0gICAg
ICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBuZXh0Q2hhcmFjdGVyOwor
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV2ZXJ0IHRoZSBjaGFuZ2UgdG8gY3VycmVudENo
YXJhY3RlciBpZiB1bnN1Y2Nlc3NmdWwuCisgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50
Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPSBuZXh0Q2hhcmFjdGVyOwogICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9IG1fdG9rZW5TdGFydDsKLSAgICAgICAgICAg
IHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IHJlc3VsdCAtIG1fdG9rZW5TdGFydDsKLSAgICAgICAg
fSBlbHNlIGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJbMF0gPT0gJy0nICYmIG1fY3VycmVudENoYXJh
Y3RlclsxXSA9PSAnPicpIHsKLSAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciArPSAyOwor
ICAgICAgICAgICAgcmVzdWx0U3RyaW5nLnNldExlbmd0aChyZXN1bHQgLSB0b2tlblN0YXJ0PFNy
Y0NoYXJhY3RlclR5cGU+KCkpOworICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcgPSByZXN1bHRT
dHJpbmc7CisgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJU
eXBlPigpWzBdID09ICctJyAmJiBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClb
MV0gPT0gJz4nKSB7CisgICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5
cGU+KCkgKz0gMjsKICAgICAgICAgICAgIG1fdG9rZW4gPSBTR01MX0NEOwogICAgICAgICB9IGVs
c2UgaWYgKFVOTElLRUxZKG1fcGFyc2luZ01vZGUgPT0gTnRoQ2hpbGRNb2RlKSkgewogICAgICAg
ICAgICAgLy8gIi1bMC05XStuIiBpcyBhbHdheXMgYW4gTnRoQ2hpbGQuCi0gICAgICAgICAgICBp
ZiAocGFyc2VOdGhDaGlsZCgpKSB7Ci0gICAgICAgICAgICAgICAgcGFyc2VOdGhDaGlsZEV4dHJh
KCk7CisgICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZDxTcmNDaGFyYWN0ZXJUeXBlPigpKSB7
CisgICAgICAgICAgICAgICAgcGFyc2VOdGhDaGlsZEV4dHJhPFNyY0NoYXJhY3RlclR5cGU+KCk7
CiAgICAgICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAgICAgICAgICB5eWx2YWwt
PnN0cmluZy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0OwotICAgICAgICAgICAgICAgIHl5bHZh
bC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydDsKKyAg
ICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5pbml0KHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVy
VHlwZT4oKSwgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFy
dDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAg
ICBicmVhazsKQEAgLTkzMzksMTggKzk1ODMsMTggQEAgcmVzdGFydEFmdGVyQ29tbWVudDoKIAog
ICAgIGNhc2UgQ2hhcmFjdGVyTnVsbDoKICAgICAgICAgLy8gRG8gbm90IGFkdmFuY2UgcG9pbnRl
ciBhdCB0aGUgZW5kIG9mIGlucHV0LgotICAgICAgICAtLW1fY3VycmVudENoYXJhY3RlcjsKKyAg
ICAgICAgLS1jdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAgICAgICAgIGJy
ZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJXaGl0ZVNwYWNlOgogICAgICAgICBtX3Rva2VuID0g
V0hJVEVTUEFDRTsKICAgICAgICAgLy8gTWlnaHQgc3RhcnQgd2l0aCBhICdcbicuCi0gICAgICAg
IC0tbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAtLWN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hh
cmFjdGVyVHlwZT4oKTsKICAgICAgICAgZG8gewotICAgICAgICAgICAgaWYgKCptX2N1cnJlbnRD
aGFyYWN0ZXIgPT0gJ1xuJykKKyAgICAgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxTcmND
aGFyYWN0ZXJUeXBlPigpID09ICdcbicpCiAgICAgICAgICAgICAgICAgKyttX2xpbmVOdW1iZXI7
Ci0gICAgICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKLSAgICAgICAgfSB3aGlsZSAoKm1f
Y3VycmVudENoYXJhY3RlciA8PSAnICcgJiYgKHR5cGVzT2ZBU0NJSUNoYXJhY3RlcnNbKm1fY3Vy
cmVudENoYXJhY3Rlcl0gPT0gQ2hhcmFjdGVyV2hpdGVTcGFjZSkpOworICAgICAgICAgICAgKytj
dXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CisgICAgICAgIH0gd2hpbGUgKCpj
dXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPD0gJyAnICYmICh0eXBlc09mQVND
SUlDaGFyYWN0ZXJzWypjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCldID09IENo
YXJhY3RlcldoaXRlU3BhY2UpKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3Rl
ckVuZE1lZGlhUXVlcnk6CkBAIC05MzY0LDQyICs5NjA4LDM5IEBAIHJlc3RhcnRBZnRlckNvbW1l
bnQ6CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJRdW90ZToKLSAgICAgICAg
aWYgKGNoZWNrQW5kU2tpcFN0cmluZyhtX2N1cnJlbnRDaGFyYWN0ZXIsIG1fdG9rZW4pKSB7Cisg
ICAgICAgIGlmIChjaGVja0FuZFNraXBTdHJpbmcoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpLCBtX3Rva2VuKSkgewogICAgICAgICAgICAgKytyZXN1bHQ7Ci0gICAgICAgICAg
ICBwYXJzZVN0cmluZyhyZXN1bHQsIG1fdG9rZW4pOworICAgICAgICAgICAgcGFyc2VTdHJpbmc8
U3JjQ2hhcmFjdGVyVHlwZT4ocmVzdWx0LCB5eWx2YWwtPnN0cmluZywgbV90b2tlbik7CiAgICAg
ICAgICAgICBtX3Rva2VuID0gU1RSSU5HOwotICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuY2hh
cmFjdGVycyA9IG1fdG9rZW5TdGFydCArIDE7Ci0gICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5s
ZW5ndGggPSByZXN1bHQgLSAobV90b2tlblN0YXJ0ICsgMSk7CiAgICAgICAgIH0KICAgICAgICAg
YnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlckV4Y2xhbWF0aW9uTWFyazogewotICAgICAgICBV
Q2hhciogc3RhcnQgPSBza2lwV2hpdGVTcGFjZShtX2N1cnJlbnRDaGFyYWN0ZXIpOworICAgICAg
ICBTcmNDaGFyYWN0ZXJUeXBlKiBzdGFydCA9IHNraXBXaGl0ZVNwYWNlKGN1cnJlbnRDaGFyYWN0
ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CiAgICAgICAgIGlmIChpc0VxdWFsVG9DU1NJZGVudGlm
aWVyKHN0YXJ0LCAiaW1wb3J0YW50IikpIHsKICAgICAgICAgICAgIG1fdG9rZW4gPSBJTVBPUlRB
TlRfU1lNOwotICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gc3RhcnQgKyA5OworICAg
ICAgICAgICAgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID0gc3RhcnQgKyA5
OwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIGNhc2UgQ2hhcmFjdGVy
SGFzaG1hcms6IHsKLSAgICAgICAgVUNoYXIqIHN0YXJ0ID0gbV9jdXJyZW50Q2hhcmFjdGVyOwot
ICAgICAgICByZXN1bHQgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIFNyY0NoYXJhY3Rl
clR5cGUqIHN0YXJ0ID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAg
ICAgICByZXN1bHQgPSBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAKLSAg
ICAgICAgaWYgKGlzQVNDSUlEaWdpdCgqbV9jdXJyZW50Q2hhcmFjdGVyKSkgeworICAgICAgICBp
ZiAoaXNBU0NJSURpZ2l0KCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkpKSB7
CiAgICAgICAgICAgICAvLyBUaGlzIG11c3QgYmUgYSB2YWxpZCBoZXggbnVtYmVyIHRva2VuLgog
ICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOwot
ICAgICAgICAgICAgfSB3aGlsZSAoaXNBU0NJSUhleERpZ2l0KCptX2N1cnJlbnRDaGFyYWN0ZXIp
KTsKKyAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4o
KTsKKyAgICAgICAgICAgIH0gd2hpbGUgKGlzQVNDSUlIZXhEaWdpdCgqY3VycmVudENoYXJhY3Rl
cjxTcmNDaGFyYWN0ZXJUeXBlPigpKSk7CiAgICAgICAgICAgICBtX3Rva2VuID0gSEVYOwotICAg
ICAgICAgICAgeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9IHN0YXJ0OwotICAgICAgICAgICAg
eXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0gc3RhcnQ7Ci0gICAg
ICAgIH0gZWxzZSBpZiAoaXNJZGVudGlmaWVyU3RhcnQoKSkgeworICAgICAgICAgICAgeXlsdmFs
LT5zdHJpbmcuaW5pdChzdGFydCwgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
IC0gc3RhcnQpOworICAgICAgICB9IGVsc2UgaWYgKGlzSWRlbnRpZmllclN0YXJ0PFNyY0NoYXJh
Y3RlclR5cGU+KCkpIHsKICAgICAgICAgICAgIG1fdG9rZW4gPSBJRFNFTDsKLSAgICAgICAgICAg
IHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIGhhc0VzY2FwZSk7CisgICAgICAgICAgICBwYXJzZUlk
ZW50aWZpZXIocmVzdWx0LCB5eWx2YWwtPnN0cmluZywgaGFzRXNjYXBlKTsKICAgICAgICAgICAg
IGlmICghaGFzRXNjYXBlKSB7CiAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGUg
aWRlbnRpZmllciBpcyBhbHNvIGEgdmFsaWQgaGV4IG51bWJlci4KLSAgICAgICAgICAgICAgICBV
Q2hhciogY3VycmVudCA9IHN0YXJ0OworICAgICAgICAgICAgICAgIFNyY0NoYXJhY3RlclR5cGUq
IGN1cnJlbnQgPSBzdGFydDsKICAgICAgICAgICAgICAgICBtX3Rva2VuID0gSEVYOwogICAgICAg
ICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc0FTQ0lJSGV4RGlnaXQo
KmN1cnJlbnQpKSB7CkBAIC05NDA5LDQxICs5NjUwLDM5IEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6
CiAgICAgICAgICAgICAgICAgICAgICsrY3VycmVudDsKICAgICAgICAgICAgICAgICB9IHdoaWxl
IChjdXJyZW50IDwgcmVzdWx0KTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHl5bHZhbC0+
c3RyaW5nLmNoYXJhY3RlcnMgPSBzdGFydDsKLSAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmxl
bmd0aCA9IHJlc3VsdCAtIHN0YXJ0OwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0K
IAogICAgIGNhc2UgQ2hhcmFjdGVyU2xhc2g6CiAgICAgICAgIC8vIElnbm9yZSBjb21tZW50cy4g
VGhleSBhcmUgbm90IGV2ZW4gY29uc2lkZXJlZCBhcyB3aGl0ZSBzcGFjZXMuCi0gICAgICAgIGlm
ICgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICcqJykgewotICAgICAgICAgICAgKyttX2N1cnJlbnRD
aGFyYWN0ZXI7Ci0gICAgICAgICAgICB3aGlsZSAobV9jdXJyZW50Q2hhcmFjdGVyWzBdICE9ICcq
JyB8fCBtX2N1cnJlbnRDaGFyYWN0ZXJbMV0gIT0gJy8nKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJ1xuJykKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFj
dGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJyonKSB7CisgICAgICAgICAgICArK2N1cnJlbnRD
aGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKKyAgICAgICAgICAgIHdoaWxlIChjdXJyZW50
Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMF0gIT0gJyonIHx8IGN1cnJlbnRDaGFyYWN0
ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKVsxXSAhPSAnLycpIHsKKyAgICAgICAgICAgICAgICBpZiAo
KmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnXG4nKQogICAgICAgICAg
ICAgICAgICAgICArK21fbGluZU51bWJlcjsKLSAgICAgICAgICAgICAgICBpZiAoKm1fY3VycmVu
dENoYXJhY3RlciA9PSAnXDAnKSB7CisgICAgICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFj
dGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJ1wwJykgewogICAgICAgICAgICAgICAgICAgICAv
LyBVbnRlcm1pbmF0ZWQgY29tbWVudHMgYXJlIHNpbXBseSBpZ25vcmVkLgotICAgICAgICAgICAg
ICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgLT0gMjsKKyAgICAgICAgICAgICAgICAgICAgY3Vy
cmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC09IDI7CiAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICArK21fY3VycmVu
dENoYXJhY3RlcjsKKyAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFj
dGVyVHlwZT4oKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3Rl
ciArPSAyOworICAgICAgICAgICAgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
ICs9IDI7CiAgICAgICAgICAgICBnb3RvIHJlc3RhcnRBZnRlckNvbW1lbnQ7CiAgICAgICAgIH0K
ICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlckRvbGxhcjoKLSAgICAgICAgaWYg
KCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJz0nKSB7Ci0gICAgICAgICAgICArK21fY3VycmVudENo
YXJhY3RlcjsKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+
KCkgPT0gJz0nKSB7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVy
VHlwZT4oKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBFTkRTV0lUSDsKICAgICAgICAgfQogICAg
ICAgICBicmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyQXN0ZXJpc2s6Ci0gICAgICAgIGlmICgq
bV9jdXJyZW50Q2hhcmFjdGVyID09ICc9JykgewotICAgICAgICAgICAgKyttX2N1cnJlbnRDaGFy
YWN0ZXI7CisgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
ID09ICc9JykgeworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5
cGU+KCk7CiAgICAgICAgICAgICBtX3Rva2VuID0gQ09OVEFJTlM7CiAgICAgICAgIH0KICAgICAg
ICAgYnJlYWs7CkBAIC05NDUxLDU4ICs5NjkwLDU1IEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6CiAg
ICAgY2FzZSBDaGFyYWN0ZXJQbHVzOgogICAgICAgICBpZiAoVU5MSUtFTFkobV9wYXJzaW5nTW9k
ZSA9PSBOdGhDaGlsZE1vZGUpKSB7CiAgICAgICAgICAgICAvLyBTaW1wbGVzdCBjYXNlLiAiK1sw
LTldKm4iIGlzIGFsd2F5cyBOdGhDaGlsZC4KLSAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxk
KCkpIHsKLSAgICAgICAgICAgICAgICBwYXJzZU50aENoaWxkRXh0cmEoKTsKKyAgICAgICAgICAg
IGlmIChwYXJzZU50aENoaWxkPFNyY0NoYXJhY3RlclR5cGU+KCkpIHsKKyAgICAgICAgICAgICAg
ICBwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgICAg
ICBtX3Rva2VuID0gTlRIOwotICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3Rl
cnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3Ro
ID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0OworICAgICAgICAgICAgICAgIHl5
bHZhbC0+c3RyaW5nLmluaXQodG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpLCBjdXJyZW50
Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5
cGU+KCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogCiAgICAg
Y2FzZSBDaGFyYWN0ZXJMZXNzOgotICAgICAgICBpZiAobV9jdXJyZW50Q2hhcmFjdGVyWzBdID09
ICchJyAmJiBtX2N1cnJlbnRDaGFyYWN0ZXJbMV0gPT0gJy0nICYmIG1fY3VycmVudENoYXJhY3Rl
clsyXSA9PSAnLScpIHsKLSAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciArPSAzOworICAg
ICAgICBpZiAoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpWzBdID09ICchJyAm
JiBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMV0gPT0gJy0nICYmIGN1cnJl
bnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKVsyXSA9PSAnLScpIHsKKyAgICAgICAgICAg
IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSArPSAzOwogICAgICAgICAgICAg
bV90b2tlbiA9IFNHTUxfQ0Q7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNl
IENoYXJhY3RlckF0OgotICAgICAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnQoKSkgeworICAgICAg
ICBpZiAoaXNJZGVudGlmaWVyU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSkgewogICAgICAgICAg
ICAgbV90b2tlbiA9IEFUS0VZV09SRDsKICAgICAgICAgICAgICsrcmVzdWx0OwotICAgICAgICAg
ICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgaGFzRXNjYXBlKTsKLSAgICAgICAgICAgIGRldGVj
dEF0VG9rZW4ocmVzdWx0IC0gbV90b2tlblN0YXJ0LCBoYXNFc2NhcGUpOworICAgICAgICAgICAg
cGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgcmVzdWx0U3RyaW5nLCBoYXNFc2NhcGUpOworICAgICAg
ICAgICAgZGV0ZWN0QXRUb2tlbjxTcmNDaGFyYWN0ZXJUeXBlPihyZXN1bHQgLSB0b2tlblN0YXJ0
PFNyY0NoYXJhY3RlclR5cGU+KCksIGhhc0VzY2FwZSk7CiAgICAgICAgIH0KICAgICAgICAgYnJl
YWs7CiAKICAgICBjYXNlIENoYXJhY3RlckJhY2tTbGFzaDoKLSAgICAgICAgaWYgKGlzQ1NTRXNj
YXBlKCptX2N1cnJlbnRDaGFyYWN0ZXIpKSB7Ci0gICAgICAgICAgICAtLW1fY3VycmVudENoYXJh
Y3RlcjsKLSAgICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIGhhc0VzY2FwZSk7Cisg
ICAgICAgIGlmIChpc0NTU0VzY2FwZSgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBl
PigpKSkgeworICAgICAgICAgICAgLS1jdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+
KCk7CisgICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCB5eWx2YWwtPnN0cmluZywg
aGFzRXNjYXBlKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBJREVOVDsKLSAgICAgICAgICAgIHl5
bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAgICAgICB5eWx2
YWwtPnN0cmluZy5sZW5ndGggPSByZXN1bHQgLSBtX3Rva2VuU3RhcnQ7CiAgICAgICAgIH0KICAg
ICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlclhvcjoKLSAgICAgICAgaWYgKCptX2N1
cnJlbnRDaGFyYWN0ZXIgPT0gJz0nKSB7Ci0gICAgICAgICAgICArK21fY3VycmVudENoYXJhY3Rl
cjsKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0g
Jz0nKSB7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4o
KTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBCRUdJTlNXSVRIOwogICAgICAgICB9CiAgICAgICAg
IGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJWZXJ0aWNhbEJhcjoKLSAgICAgICAgaWYgKCpt
X2N1cnJlbnRDaGFyYWN0ZXIgPT0gJz0nKSB7Ci0gICAgICAgICAgICArK21fY3VycmVudENoYXJh
Y3RlcjsKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkg
PT0gJz0nKSB7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlw
ZT4oKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBEQVNITUFUQ0g7CiAgICAgICAgIH0KICAgICAg
ICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlclRpbGRlOgotICAgICAgICBpZiAoKm1fY3Vy
cmVudENoYXJhY3RlciA9PSAnPScpIHsKLSAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVy
OworICAgICAgICBpZiAoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAn
PScpIHsKKyAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
OwogICAgICAgICAgICAgbV90b2tlbiA9IElOQ0xVREVTOwogICAgICAgICB9CiAgICAgICAgIGJy
ZWFrOwpAQCAtOTUxMiwzNiArOTc0OCw2IEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6CiAgICAgICAg
IGJyZWFrOwogICAgIH0KIAotI2lmbmRlZiBOREVCVUcKLSAgICBzd2l0Y2ggKHRva2VuKCkpIHsK
LSAgICBjYXNlIFNUUklORzoKLSAgICAgICAgQVNTRVJUKHl5bHZhbC0+c3RyaW5nLmNoYXJhY3Rl
cnMgPT0gbV90b2tlblN0YXJ0ICsgMSk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBJREVO
VDoKLSAgICBjYXNlIE5USDoKLSAgICBjYXNlIERJTUVOOgotICAgIGNhc2UgVU5JQ09ERVJBTkdF
OgotICAgIGNhc2UgRlVOQ1RJT046Ci0gICAgY2FzZSBBTllGVU5DVElPTjoKLSAgICBjYXNlIE5P
VEZVTkNUSU9OOgotICAgIGNhc2UgQ0FMQ0ZVTkNUSU9OOgotICAgIGNhc2UgTUlORlVOQ1RJT046
Ci0gICAgY2FzZSBNQVhGVU5DVElPTjoKLSAgICAgICAgQVNTRVJUKHl5bHZhbC0+c3RyaW5nLmNo
YXJhY3RlcnMgPT0gbV90b2tlblN0YXJ0ICYmIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA+IDApOwot
ICAgICAgICBicmVhazsKLQotICAgIGNhc2UgVVJJOgotICAgICAgICBBU1NFUlQoeXlsdmFsLT5z
dHJpbmcuY2hhcmFjdGVycyAmJiB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzICE9IG1fdG9rZW5T
dGFydCk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBIRVg6Ci0gICAgY2FzZSBJRFNFTDoK
LSAgICAgICAgQVNTRVJUKHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPT0gbV90b2tlblN0YXJ0
ICsgMSAmJiB5eWx2YWwtPnN0cmluZy5sZW5ndGggPiAwKTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
fQotI2VuZGlmCi0KICAgICByZXR1cm4gdG9rZW4oKTsKIH0KIApAQCAtOTk4NCwxNyArMTAxOTAs
MTUgQEAgdm9pZCBDU1NQYXJzZXI6OnVwZGF0ZUxhc3RNZWRpYUxpbmUoTWVkaQogICAgIG1lZGlh
LT5zZXRMYXN0TGluZShtX2xpbmVOdW1iZXIpOwogfQogCi12b2lkIENTU1BhcnNlcjo6Zml4VW5w
YXJzZWRQcm9wZXJ0eVJhbmdlcyhDU1NSdWxlU291cmNlRGF0YSogcnVsZURhdGEpCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgdm9pZCBmaXhVbnBhcnNl
ZFByb3BlcnRpZXMoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgQ1NTUnVsZVNvdXJj
ZURhdGEqIHJ1bGVEYXRhKQogewotICAgIGlmICghcnVsZURhdGEtPnN0eWxlU291cmNlRGF0YSkK
LSAgICAgICAgcmV0dXJuOwogICAgIFZlY3RvcjxDU1NQcm9wZXJ0eVNvdXJjZURhdGE+JiBwcm9w
ZXJ0eURhdGEgPSBydWxlRGF0YS0+c3R5bGVTb3VyY2VEYXRhLT5wcm9wZXJ0eURhdGE7CiAgICAg
dW5zaWduZWQgc2l6ZSA9IHByb3BlcnR5RGF0YS5zaXplKCk7CiAgICAgaWYgKCFzaXplKQogICAg
ICAgICByZXR1cm47CiAKICAgICB1bnNpZ25lZCBzdHlsZVN0YXJ0ID0gcnVsZURhdGEtPnJ1bGVC
b2R5UmFuZ2Uuc3RhcnQ7Ci0gICAgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMgPSBtX2RhdGFTdGFy
dC5nZXQoKSArIG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aDsKICAgICBDU1NQcm9wZXJ0eVNvdXJj
ZURhdGEqIG5leHREYXRhID0gJihwcm9wZXJ0eURhdGEuYXQoMCkpOwogICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKICAgICAgICAgQ1NTUHJvcGVydHlTb3VyY2VEYXRh
KiBjdXJyZW50RGF0YSA9IG5leHREYXRhOwpAQCAtMTAwMzEsMzYgKzEwMjM1LDYwIEBAIHZvaWQg
Q1NTUGFyc2VyOjpmaXhVbnBhcnNlZFByb3BlcnR5UmFuZ2UKICAgICB9CiB9CiAKK3ZvaWQgQ1NT
UGFyc2VyOjpmaXhVbnBhcnNlZFByb3BlcnR5UmFuZ2VzKENTU1J1bGVTb3VyY2VEYXRhKiBydWxl
RGF0YSkKK3sKKyAgICBpZiAoIXJ1bGVEYXRhLT5zdHlsZVNvdXJjZURhdGEpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmIChpczhCaXRTb3VyY2UoKSkgeworICAgICAgICBmaXhVbnBhcnNlZFBy
b3BlcnRpZXM8TENoYXI+KG1fZGF0YVN0YXJ0OC5nZXQoKSArIG1fcGFyc2VkVGV4dFByZWZpeExl
bmd0aCwgcnVsZURhdGEpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZml4VW5wYXJz
ZWRQcm9wZXJ0aWVzPFVDaGFyPihtX2RhdGFTdGFydDE2LmdldCgpICsgbV9wYXJzZWRUZXh0UHJl
Zml4TGVuZ3RoLCBydWxlRGF0YSk7Cit9CisKIHZvaWQgQ1NTUGFyc2VyOjptYXJrUnVsZUhlYWRl
clN0YXJ0KENTU1J1bGVTb3VyY2VEYXRhOjpUeXBlIHJ1bGVUeXBlKQogewogICAgIGlmICghaXNF
eHRyYWN0aW5nU291cmNlRGF0YSgpKQogICAgICAgICByZXR1cm47CiAgICAgUmVmUHRyPENTU1J1
bGVTb3VyY2VEYXRhPiBkYXRhID0gQ1NTUnVsZVNvdXJjZURhdGE6OmNyZWF0ZShydWxlVHlwZSk7
Ci0gICAgZGF0YS0+cnVsZUhlYWRlclJhbmdlLnN0YXJ0ID0gbV90b2tlblN0YXJ0IC0gbV9kYXRh
U3RhcnQuZ2V0KCk7CisgICAgZGF0YS0+cnVsZUhlYWRlclJhbmdlLnN0YXJ0ID0gdG9rZW5TdGFy
dE9mZnNldCgpOwogICAgIG1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmFwcGVuZChkYXRhLnJlbGVh
c2UoKSk7CiB9CiAKLXZvaWQgQ1NTUGFyc2VyOjptYXJrUnVsZUhlYWRlckVuZCgpCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2lubGluZSB2b2lkIENTU1BhcnNlcjo6c2V0UnVs
ZUhlYWRlckVuZChjb25zdCBDaGFyYWN0ZXJUeXBlKiBkYXRhU3RhcnQpCiB7Ci0gICAgaWYgKCFp
c0V4dHJhY3RpbmdTb3VyY2VEYXRhKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBBU1NFUlQoIW1f
Y3VycmVudFJ1bGVEYXRhU3RhY2stPmlzRW1wdHkoKSk7Ci0gICAgVUNoYXIqIGxpc3RFbmQgPSBt
X3Rva2VuU3RhcnQ7Ci0gICAgd2hpbGUgKGxpc3RFbmQgPiBtX2RhdGFTdGFydC5nZXQoKSArIDEp
IHsKKyAgICBDaGFyYWN0ZXJUeXBlKiBsaXN0RW5kID0gdG9rZW5TdGFydDxDaGFyYWN0ZXJUeXBl
PigpOworICAgIHdoaWxlIChsaXN0RW5kID4gZGF0YVN0YXJ0ICsgMSkgewogICAgICAgICBpZiAo
aXNIVE1MU3BhY2UoKihsaXN0RW5kIC0gMSkpKQogICAgICAgICAgICAgLS1saXN0RW5kOwogICAg
ICAgICBlbHNlCiAgICAgICAgICAgICBicmVhazsKICAgICB9Ci0gICAgbV9jdXJyZW50UnVsZURh
dGFTdGFjay0+bGFzdCgpLT5ydWxlSGVhZGVyUmFuZ2UuZW5kID0gbGlzdEVuZCAtIG1fZGF0YVN0
YXJ0LmdldCgpOworCisgICAgbV9jdXJyZW50UnVsZURhdGFTdGFjay0+bGFzdCgpLT5ydWxlSGVh
ZGVyUmFuZ2UuZW5kID0gbGlzdEVuZCAtIGRhdGFTdGFydDsKK30KKwordm9pZCBDU1NQYXJzZXI6
Om1hcmtSdWxlSGVhZGVyRW5kKCkKK3sKKyAgICBpZiAoIWlzRXh0cmFjdGluZ1NvdXJjZURhdGEo
KSkKKyAgICAgICAgcmV0dXJuOworICAgIEFTU0VSVCghbV9jdXJyZW50UnVsZURhdGFTdGFjay0+
aXNFbXB0eSgpKTsKKworICAgIGlmIChpczhCaXRTb3VyY2UoKSkKKyAgICAgICAgc2V0UnVsZUhl
YWRlckVuZDxMQ2hhcj4obV9kYXRhU3RhcnQ4LmdldCgpKTsKKyAgICBlbHNlCisgICAgICAgIHNl
dFJ1bGVIZWFkZXJFbmQ8VUNoYXI+KG1fZGF0YVN0YXJ0MTYuZ2V0KCkpOwogfQogCiB2b2lkIENT
U1BhcnNlcjo6bWFya1J1bGVCb2R5U3RhcnQoKQogewogICAgIGlmICghaXNFeHRyYWN0aW5nU291
cmNlRGF0YSgpKQogICAgICAgICByZXR1cm47Ci0gICAgdW5zaWduZWQgb2Zmc2V0ID0gbV90b2tl
blN0YXJ0IC0gbV9kYXRhU3RhcnQuZ2V0KCk7Ci0gICAgaWYgKCptX3Rva2VuU3RhcnQgPT0gJ3sn
KQorICAgIHVuc2lnbmVkIG9mZnNldCA9IHRva2VuU3RhcnRPZmZzZXQoKTsKKyAgICBpZiAodG9r
ZW5TdGFydENoYXIoKSA9PSAneycpCiAgICAgICAgICsrb2Zmc2V0OyAvLyBTa2lwIHRoZSBydWxl
IGJvZHkgb3BlbmluZyBicmFjZS4KICAgICBBU1NFUlQoIW1fY3VycmVudFJ1bGVEYXRhU3RhY2st
PmlzRW1wdHkoKSk7CiAgICAgbV9jdXJyZW50UnVsZURhdGFTdGFjay0+bGFzdCgpLT5ydWxlQm9k
eVJhbmdlLnN0YXJ0ID0gb2Zmc2V0OwpAQCAtMTAwNjksNyArMTAyOTcsNyBAQCB2b2lkIENTU1Bh
cnNlcjo6bWFya1J1bGVCb2R5U3RhcnQoKQogdm9pZCBDU1NQYXJzZXI6Om1hcmtSdWxlQm9keUVu
ZCgpCiB7CiAgICAgLy8gUHJlY29uZGl0aW9uOiAoIWlzRXh0cmFjdGluZ1NvdXJjZURhdGEoKSkK
LSAgICB1bnNpZ25lZCBvZmZzZXQgPSBtX3Rva2VuU3RhcnQgLSBtX2RhdGFTdGFydC5nZXQoKTsK
KyAgICB1bnNpZ25lZCBvZmZzZXQgPSB0b2tlblN0YXJ0T2Zmc2V0KCk7CiAgICAgQVNTRVJUKCFt
X2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5pc0VtcHR5KCkpOwogICAgIG1fY3VycmVudFJ1bGVEYXRh
U3RhY2stPmxhc3QoKS0+cnVsZUJvZHlSYW5nZS5lbmQgPSBvZmZzZXQ7CiB9CkBAIC0xMDA4MSw3
ICsxMDMwOSw3IEBAIHZvaWQgQ1NTUGFyc2VyOjptYXJrUHJvcGVydHlTdGFydCgpCiAgICAgaWYg
KG1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmlzRW1wdHkoKSB8fCAhbV9jdXJyZW50UnVsZURhdGFT
dGFjay0+bGFzdCgpLT5zdHlsZVNvdXJjZURhdGEpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1f
cHJvcGVydHlSYW5nZS5zdGFydCA9IG1fdG9rZW5TdGFydCAtIG1fZGF0YVN0YXJ0LmdldCgpOwor
ICAgIG1fcHJvcGVydHlSYW5nZS5zdGFydCA9IHRva2VuU3RhcnRPZmZzZXQoKTsKIH0KIAogdm9p
ZCBDU1NQYXJzZXI6Om1hcmtQcm9wZXJ0eUVuZChib29sIGlzSW1wb3J0YW50Rm91bmQsIGJvb2wg
aXNQcm9wZXJ0eVBhcnNlZCkKQEAgLTEwMDkxLDggKzEwMzE5LDggQEAgdm9pZCBDU1NQYXJzZXI6
Om1hcmtQcm9wZXJ0eUVuZChib29sIGlzSQogICAgIGlmIChtX2N1cnJlbnRSdWxlRGF0YVN0YWNr
LT5pc0VtcHR5KCkgfHwgIW1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmxhc3QoKS0+c3R5bGVTb3Vy
Y2VEYXRhKQogICAgICAgICByZXR1cm47CiAKLSAgICB1bnNpZ25lZCBvZmZzZXQgPSBtX3Rva2Vu
U3RhcnQgLSBtX2RhdGFTdGFydC5nZXQoKTsKLSAgICBpZiAoKm1fdG9rZW5TdGFydCA9PSAnOycp
IC8vIEluY2x1ZGUgc2VtaWNvbG9uIGludG8gdGhlIHByb3BlcnR5IHRleHQuCisgICAgdW5zaWdu
ZWQgb2Zmc2V0ID0gdG9rZW5TdGFydE9mZnNldCgpOworICAgIGlmICh0b2tlblN0YXJ0Q2hhcigp
ID09ICc7JykgLy8gSW5jbHVkZSBzZW1pY29sb24gaW50byB0aGUgcHJvcGVydHkgdGV4dC4KICAg
ICAgICAgKytvZmZzZXQ7CiAgICAgbV9wcm9wZXJ0eVJhbmdlLmVuZCA9IG9mZnNldDsKICAgICBp
ZiAobV9wcm9wZXJ0eVJhbmdlLnN0YXJ0ICE9IFVJTlRfTUFYICYmICFtX2N1cnJlbnRSdWxlRGF0
YVN0YWNrLT5pc0VtcHR5KCkpIHsKQEAgLTEwMTAwLDcgKzEwMzI4LDExIEBAIHZvaWQgQ1NTUGFy
c2VyOjptYXJrUHJvcGVydHlFbmQoYm9vbCBpc0kKICAgICAgICAgY29uc3QgdW5zaWduZWQgc3Rh
cnQgPSBtX3Byb3BlcnR5UmFuZ2Uuc3RhcnQ7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGVuZCA9
IG1fcHJvcGVydHlSYW5nZS5lbmQ7CiAgICAgICAgIEFTU0VSVChzdGFydCA8IGVuZCk7Ci0gICAg
ICAgIFN0cmluZyBwcm9wZXJ0eVN0cmluZyA9IFN0cmluZyhtX2RhdGFTdGFydC5nZXQoKSArIHN0
YXJ0LCBlbmQgLSBzdGFydCkuc3RyaXBXaGl0ZVNwYWNlKCk7CisgICAgICAgIFN0cmluZyBwcm9w
ZXJ0eVN0cmluZzsKKyAgICAgICAgaWYgKGlzOEJpdFNvdXJjZSgpKQorICAgICAgICAgICAgcHJv
cGVydHlTdHJpbmcgPSBTdHJpbmcobV9kYXRhU3RhcnQ4LmdldCgpICsgc3RhcnQsIGVuZCAtIHN0
YXJ0KS5zdHJpcFdoaXRlU3BhY2UoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJvcGVy
dHlTdHJpbmcgPSBTdHJpbmcobV9kYXRhU3RhcnQxNi5nZXQoKSArIHN0YXJ0LCBlbmQgLSBzdGFy
dCkuc3RyaXBXaGl0ZVNwYWNlKCk7CiAgICAgICAgIGlmIChwcm9wZXJ0eVN0cmluZy5lbmRzV2l0
aCgnOycpKQogICAgICAgICAgICAgcHJvcGVydHlTdHJpbmcgPSBwcm9wZXJ0eVN0cmluZy5sZWZ0
KHByb3BlcnR5U3RyaW5nLmxlbmd0aCgpIC0gMSk7CiAgICAgICAgIHNpemVfdCBjb2xvbkluZGV4
ID0gcHJvcGVydHlTdHJpbmcuZmluZCgnOicpOwpAQCAtMTAxMTYsMTcgKzEwMzQ4LDEzIEBAIHZv
aWQgQ1NTUGFyc2VyOjptYXJrUHJvcGVydHlFbmQoYm9vbCBpc0kKICAgICByZXNldFByb3BlcnR5
UmFuZ2UoKTsKIH0KIAotc3RhdGljIENTU1Byb3BlcnR5SUQgY3NzUHJvcGVydHlJRChjb25zdCBV
Q2hhciogcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBsZW5ndGgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
Q2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SUQoY29uc3Qg
Q2hhcmFjdGVyVHlwZSogcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBsZW5ndGgpCiB7Ci0gICAgaWYg
KCFsZW5ndGgpCi0gICAgICAgIHJldHVybiBDU1NQcm9wZXJ0eUludmFsaWQ7Ci0gICAgaWYgKGxl
bmd0aCA+IG1heENTU1Byb3BlcnR5TmFtZUxlbmd0aCkKLSAgICAgICAgcmV0dXJuIENTU1Byb3Bl
cnR5SW52YWxpZDsKLQogICAgIGNoYXIgYnVmZmVyW21heENTU1Byb3BlcnR5TmFtZUxlbmd0aCAr
IDEgKyAxXTsgLy8gMSB0byB0dXJuICJhcHBsZSIvImtodG1sIiBpbnRvICJ3ZWJraXQiLCAxIGZv
ciBudWxsIGNoYXJhY3RlcgogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSAhPSBsZW5ndGg7
ICsraSkgewotICAgICAgICBVQ2hhciBjID0gcHJvcGVydHlOYW1lW2ldOworICAgICAgICBDaGFy
YWN0ZXJUeXBlIGMgPSBwcm9wZXJ0eU5hbWVbaV07CiAgICAgICAgIGlmIChjID09IDAgfHwgYyA+
PSAweDdGKQogICAgICAgICAgICAgcmV0dXJuIENTU1Byb3BlcnR5SW52YWxpZDsgLy8gaWxsZWdh
bCBjaGFyYWN0ZXIKICAgICAgICAgYnVmZmVyW2ldID0gdG9BU0NJSUxvd2VyKGMpOwpAQCAtMTAx
NjQsMTIgKzEwMzkyLDI2IEBAIHN0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SUQoY29u
c3QKIAogQ1NTUHJvcGVydHlJRCBjc3NQcm9wZXJ0eUlEKGNvbnN0IFN0cmluZyYgc3RyaW5nKQog
ewotICAgIHJldHVybiBjc3NQcm9wZXJ0eUlEKHN0cmluZy5jaGFyYWN0ZXJzKCksIHN0cmluZy5s
ZW5ndGgoKSk7CisgICAgdW5zaWduZWQgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOworCisgICAg
aWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybiBDU1NQcm9wZXJ0eUludmFsaWQ7CisgICAgaWYg
KGxlbmd0aCA+IG1heENTU1Byb3BlcnR5TmFtZUxlbmd0aCkKKyAgICAgICAgcmV0dXJuIENTU1By
b3BlcnR5SW52YWxpZDsKKyAgICAKKyAgICByZXR1cm4gc3RyaW5nLmlzOEJpdCgpID8gY3NzUHJv
cGVydHlJRChzdHJpbmcuY2hhcmFjdGVyczgoKSwgbGVuZ3RoKSA6IGNzc1Byb3BlcnR5SUQoc3Ry
aW5nLmNoYXJhY3RlcnMoKSwgbGVuZ3RoKTsKIH0KIAogQ1NTUHJvcGVydHlJRCBjc3NQcm9wZXJ0
eUlEKGNvbnN0IENTU1BhcnNlclN0cmluZyYgc3RyaW5nKQogewotICAgIHJldHVybiBjc3NQcm9w
ZXJ0eUlEKHN0cmluZy5jaGFyYWN0ZXJzLCBzdHJpbmcubGVuZ3RoKTsKKyAgICB1bnNpZ25lZCBs
ZW5ndGggPSBzdHJpbmcubGVuZ3RoKCk7CisKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0
dXJuIENTU1Byb3BlcnR5SW52YWxpZDsKKyAgICBpZiAobGVuZ3RoID4gbWF4Q1NTUHJvcGVydHlO
YW1lTGVuZ3RoKQorICAgICAgICByZXR1cm4gQ1NTUHJvcGVydHlJbnZhbGlkOworICAgIAorICAg
IHJldHVybiBzdHJpbmcuaXM4Qml0KCkgPyBjc3NQcm9wZXJ0eUlEKHN0cmluZy5jaGFyYWN0ZXJz
OCgpLCBsZW5ndGgpIDogY3NzUHJvcGVydHlJRChzdHJpbmcuY2hhcmFjdGVyczE2KCksIGxlbmd0
aCk7CiB9CiAKICNpZiBQTEFURk9STShJT1MpCkBAIC0xMDE4NCwxOCArMTA0MjYsMTMgQEAgdm9p
ZCBjc3NQcm9wZXJ0eU5hbWVJT1NBbGlhc2luZyhjb25zdCBjaAogfQogI2VuZGlmCiAKLWludCBj
c3NWYWx1ZUtleXdvcmRJRChjb25zdCBDU1NQYXJzZXJTdHJpbmcmIHN0cmluZykKK3RlbXBsYXRl
IDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGludCBjc3NWYWx1ZUtleXdvcmRJRChj
b25zdCBDaGFyYWN0ZXJUeXBlKiB2YWx1ZUtleXdvcmQsIHVuc2lnbmVkIGxlbmd0aCkKIHsKLSAg
ICB1bnNpZ25lZCBsZW5ndGggPSBzdHJpbmcubGVuZ3RoOwotICAgIGlmICghbGVuZ3RoKQotICAg
ICAgICByZXR1cm4gMDsKLSAgICBpZiAobGVuZ3RoID4gbWF4Q1NTVmFsdWVLZXl3b3JkTGVuZ3Ro
KQotICAgICAgICByZXR1cm4gMDsKLQogICAgIGNoYXIgYnVmZmVyW21heENTU1ZhbHVlS2V5d29y
ZExlbmd0aCArIDEgKyAxXTsgLy8gMSB0byB0dXJuICJhcHBsZSIvImtodG1sIiBpbnRvICJ3ZWJr
aXQiLCAxIGZvciBudWxsIGNoYXJhY3RlcgogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSAh
PSBsZW5ndGg7ICsraSkgewotICAgICAgICBVQ2hhciBjID0gc3RyaW5nLmNoYXJhY3RlcnNbaV07
CisgICAgICAgIENoYXJhY3RlclR5cGUgYyA9IHZhbHVlS2V5d29yZFtpXTsKICAgICAgICAgaWYg
KGMgPT0gMCB8fCBjID49IDB4N0YpCiAgICAgICAgICAgICByZXR1cm4gMDsgLy8gaWxsZWdhbCBj
aGFyYWN0ZXIKICAgICAgICAgYnVmZmVyW2ldID0gV1RGOjp0b0FTQ0lJTG93ZXIoYyk7CkBAIC0x
MDIxNiwzOCArMTA0NTMsNjAgQEAgaW50IGNzc1ZhbHVlS2V5d29yZElEKGNvbnN0IENTU1BhcnNl
clN0cgogICAgIHJldHVybiBoYXNoVGFibGVFbnRyeSA/IGhhc2hUYWJsZUVudHJ5LT5pZCA6IDA7
CiB9CiAKLS8vICJpZGVudCIgZnJvbSB0aGUgQ1NTIHRva2VuaXplciwgbWludXMgYmFja3NsYXNo
LWVzY2FwZSBzZXF1ZW5jZXMKLXN0YXRpYyBib29sIGlzQ1NTVG9rZW5pemVySWRlbnRpZmllcihj
b25zdCBTdHJpbmcmIHN0cmluZykKK2ludCBjc3NWYWx1ZUtleXdvcmRJRChjb25zdCBDU1NQYXJz
ZXJTdHJpbmcmIHN0cmluZykKIHsKLSAgICBjb25zdCBVQ2hhciogcCA9IHN0cmluZy5jaGFyYWN0
ZXJzKCk7Ci0gICAgY29uc3QgVUNoYXIqIGVuZCA9IHAgKyBzdHJpbmcubGVuZ3RoKCk7CisgICAg
dW5zaWduZWQgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOworICAgIGlmICghbGVuZ3RoKQorICAg
ICAgICByZXR1cm4gMDsKKyAgICBpZiAobGVuZ3RoID4gbWF4Q1NTVmFsdWVLZXl3b3JkTGVuZ3Ro
KQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBzdHJpbmcuaXM4Qml0KCkgPyBjc3NW
YWx1ZUtleXdvcmRJRChzdHJpbmcuY2hhcmFjdGVyczgoKSwgbGVuZ3RoKSA6IGNzc1ZhbHVlS2V5
d29yZElEKHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgbGVuZ3RoKTsKK30KKwordGVtcGxhdGUgPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5lIGJvb2wgaXNDU1NUb2tlbml6ZXJJ
ZGVudGlmaWVyKGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0
aCkKK3sKKyAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBlbmQgPSBjaGFyYWN0ZXJzICsgbGVuZ3Ro
OwogCiAgICAgLy8gLT8KLSAgICBpZiAocCAhPSBlbmQgJiYgcFswXSA9PSAnLScpCi0gICAgICAg
ICsrcDsKKyAgICBpZiAoY2hhcmFjdGVycyAhPSBlbmQgJiYgY2hhcmFjdGVyc1swXSA9PSAnLScp
CisgICAgICAgICsrY2hhcmFjdGVyczsKIAogICAgIC8vIHtubXN0YXJ0fQotICAgIGlmIChwID09
IGVuZCB8fCAhKHBbMF0gPT0gJ18nIHx8IHBbMF0gPj0gMTI4IHx8IGlzQVNDSUlBbHBoYShwWzBd
KSkpCisgICAgaWYgKGNoYXJhY3RlcnMgPT0gZW5kIHx8ICEoY2hhcmFjdGVyc1swXSA9PSAnXycg
fHwgY2hhcmFjdGVyc1swXSA+PSAxMjggfHwgaXNBU0NJSUFscGhhKGNoYXJhY3RlcnNbMF0pKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICsrcDsKKyAgICArK2NoYXJhY3RlcnM7CiAKICAg
ICAvLyB7bm1jaGFyfSoKLSAgICBmb3IgKDsgcCAhPSBlbmQ7ICsrcCkgewotICAgICAgICBpZiAo
IShwWzBdID09ICdfJyB8fCBwWzBdID09ICctJyB8fCBwWzBdID49IDEyOCB8fCBpc0FTQ0lJQWxw
aGFudW1lcmljKHBbMF0pKSkKKyAgICBmb3IgKDsgY2hhcmFjdGVycyAhPSBlbmQ7ICsrY2hhcmFj
dGVycykgeworICAgICAgICBpZiAoIShjaGFyYWN0ZXJzWzBdID09ICdfJyB8fCBjaGFyYWN0ZXJz
WzBdID09ICctJyB8fCBjaGFyYWN0ZXJzWzBdID49IDEyOCB8fCBpc0FTQ0lJQWxwaGFudW1lcmlj
KGNoYXJhY3RlcnNbMF0pKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotLy8gInVybCIgZnJvbSB0aGUgQ1NTIHRva2VuaXplciwgbWlu
dXMgYmFja3NsYXNoLWVzY2FwZSBzZXF1ZW5jZXMKLXN0YXRpYyBib29sIGlzQ1NTVG9rZW5pemVy
VVJMKGNvbnN0IFN0cmluZyYgc3RyaW5nKQorLy8gImlkZW50IiBmcm9tIHRoZSBDU1MgdG9rZW5p
emVyLCBtaW51cyBiYWNrc2xhc2gtZXNjYXBlIHNlcXVlbmNlcworc3RhdGljIGJvb2wgaXNDU1NU
b2tlbml6ZXJJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewotICAgIGNvbnN0IFVD
aGFyKiBwID0gc3RyaW5nLmNoYXJhY3RlcnMoKTsKLSAgICBjb25zdCBVQ2hhciogZW5kID0gcCAr
IHN0cmluZy5sZW5ndGgoKTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBzdHJpbmcubGVuZ3RoKCk7
CisKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKHN0
cmluZy5pczhCaXQoKSkKKyAgICAgICAgcmV0dXJuIGlzQ1NTVG9rZW5pemVySWRlbnRpZmllcihz
dHJpbmcuY2hhcmFjdGVyczgoKSwgbGVuZ3RoKTsKKyAgICByZXR1cm4gaXNDU1NUb2tlbml6ZXJJ
ZGVudGlmaWVyKHN0cmluZy5jaGFyYWN0ZXJzKCksIGxlbmd0aCk7Cit9CiAKLSAgICBmb3IgKDsg
cCAhPSBlbmQ7ICsrcCkgewotICAgICAgICBVQ2hhciBjID0gcFswXTsKK3RlbXBsYXRlIDx0eXBl
bmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGlzQ1NTVG9rZW5pemVyVVJM
KGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAg
ICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBlbmQgPSBjaGFyYWN0ZXJzICsgbGVuZ3RoOworICAgIAor
ICAgIGZvciAoOyBjaGFyYWN0ZXJzICE9IGVuZDsgKytjaGFyYWN0ZXJzKSB7CisgICAgICAgIENo
YXJhY3RlclR5cGUgYyA9IGNoYXJhY3RlcnNbMF07CiAgICAgICAgIHN3aXRjaCAoYykgewogICAg
ICAgICAgICAgY2FzZSAnISc6CiAgICAgICAgICAgICBjYXNlICcjJzoKQEAgLTEwMjY0LDEwICsx
MDUyMywyMyBAQCBzdGF0aWMgYm9vbCBpc0NTU1Rva2VuaXplclVSTChjb25zdCBTdHJpCiAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogICAgIH0KLQorICAgIAog
ICAgIHJldHVybiB0cnVlOwogfQogCisvLyAidXJsIiBmcm9tIHRoZSBDU1MgdG9rZW5pemVyLCBt
aW51cyBiYWNrc2xhc2gtZXNjYXBlIHNlcXVlbmNlcworc3RhdGljIGJvb2wgaXNDU1NUb2tlbml6
ZXJVUkwoY29uc3QgU3RyaW5nJiBzdHJpbmcpCit7CisgICAgdW5zaWduZWQgbGVuZ3RoID0gc3Ry
aW5nLmxlbmd0aCgpOworCisgICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybiB0cnVlOwor
CisgICAgaWYgKHN0cmluZy5pczhCaXQoKSkKKyAgICAgICAgcmV0dXJuIGlzQ1NTVG9rZW5pemVy
VVJMKHN0cmluZy5jaGFyYWN0ZXJzOCgpLCBsZW5ndGgpOworICAgIHJldHVybiBpc0NTU1Rva2Vu
aXplclVSTChzdHJpbmcuY2hhcmFjdGVycygpLCBsZW5ndGgpOworfQorCiAvLyBXZSB1c2Ugc2lu
Z2xlIHF1b3RlcyBmb3Igbm93IGJlY2F1c2UgbWFya3VwLmNwcCB1c2VzIGRvdWJsZSBxdW90ZXMu
CiBTdHJpbmcgcXVvdGVDU1NTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCShyZXZpc2lvbiAxMjY4MzcpCisrKyBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTcwLDYgKzcwLDggQEAgY2xhc3MgV2Vi
S2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZTsKICNlbmRpZgogCiBjbGFzcyBDU1NQYXJzZXIgeworICAg
IGZyaWVuZCBpbmxpbmUgaW50IGNzc3l5bGV4KHZvaWQqLCBDU1NQYXJzZXIqKTsKKwogcHVibGlj
OgogICAgIENTU1BhcnNlcihjb25zdCBDU1NQYXJzZXJDb250ZXh0Jik7CiAKQEAgLTM1NCw3ICsz
NTYsOSBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxDU1NSdWxlU291cmNlRGF0YT4gcG9wUnVs
ZURhdGEoKTsKICAgICB2b2lkIHJlc2V0UHJvcGVydHlSYW5nZSgpIHsgbV9wcm9wZXJ0eVJhbmdl
LnN0YXJ0ID0gbV9wcm9wZXJ0eVJhbmdlLmVuZCA9IFVJTlRfTUFYOyB9CiAgICAgYm9vbCBpc0V4
dHJhY3RpbmdTb3VyY2VEYXRhKCkgY29uc3QgeyByZXR1cm4gISFtX2N1cnJlbnRSdWxlRGF0YVN0
YWNrOyB9Ci0gICAgaW50IGxleCh2b2lkKiB5eWx2YWwpOworCisgICAgaW5saW5lIGludCBsZXgo
dm9pZCogeXlsdmFsKSB7IHJldHVybiAodGhpcy0+Km1fbGV4RnVuYykoeXlsdmFsKTsgfQorCiAg
ICAgaW50IHRva2VuKCkgeyByZXR1cm4gbV90b2tlbjsgfQogCiAgICAgUGFzc1JlZlB0cjxDU1NQ
cmltaXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVl
Kik7CkBAIC0zNjMsMjMgKzM2Nyw3MSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEtVUkwgY29tcGxl
dGVVUkwoY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYsIGNvbnN0IFN0cmluZyYgdXJsKTsKIAogcHJp
dmF0ZToKKyAgICBib29sIGlzOEJpdFNvdXJjZSgpIHsgcmV0dXJuIG1faXM4Qml0U291cmNlOyB9
CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgU291cmNlQ2hhcmFjdGVyVHlwZT4KKyAgICBpbnQg
cmVhbExleCh2b2lkKiB5eWx2YWwpOworCisgICAgVUNoYXIqJiBjdXJyZW50Q2hhcmFjdGVyMTYo
KTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSBD
aGFyYWN0ZXJUeXBlKiYgY3VycmVudENoYXJhY3RlcigpOworCisgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIENoYXJhY3RlclR5cGU+CisgICAgaW5saW5lIENoYXJhY3RlclR5cGUqIHRva2VuU3RhcnQo
KTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSB2
b2lkIHNldFRva2VuU3RhcnQoQ2hhcmFjdGVyVHlwZSopOworCisgICAgaW5saW5lIHVuc2lnbmVk
IHRva2VuU3RhcnRPZmZzZXQoKTsKKyAgICBpbmxpbmUgVUNoYXIgdG9rZW5TdGFydENoYXIoKTsK
KworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogICAgIGlubGluZSBib29s
IGlzSWRlbnRpZmllclN0YXJ0KCk7CiAKLSAgICBzdGF0aWMgaW5saW5lIFVDaGFyKiBjaGVja0Fu
ZFNraXBTdHJpbmcoVUNoYXIqLCBVQ2hhcik7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJh
Y3RlclR5cGU+CisgICAgc3RhdGljIGlubGluZSBDaGFyYWN0ZXJUeXBlKiBjaGVja0FuZFNraXBT
dHJpbmcoQ2hhcmFjdGVyVHlwZSosIGludCk7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hh
cmFjdGVyVHlwZT4KKyAgICB1bnNpZ25lZCBwYXJzZUVzY2FwZShDaGFyYWN0ZXJUeXBlKiYpOwor
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBEZXN0Q2hhcmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgdm9p
ZCBVbmljb2RlVG9DaGFycyhEZXN0Q2hhcmFjdGVyVHlwZSomLCB1bnNpZ25lZCk7CisgICAgdGVt
cGxhdGUgPHR5cGVuYW1lIFNyY0NoYXJhY3RlclR5cGUsIHR5cGVuYW1lIERlc3RDaGFyYWN0ZXJU
eXBlPgorICAgIGlubGluZSBib29sIHBhcnNlSWRlbnRpZmllckludGVybmFsKFNyY0NoYXJhY3Rl
clR5cGUqJiwgRGVzdENoYXJhY3RlclR5cGUqJiwgYm9vbCYpOworCisgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+CisgICAgaW5saW5lIHZvaWQgcGFyc2VJZGVudGlmaWVyKENo
YXJhY3RlclR5cGUqJiwgQ1NTUGFyc2VyU3RyaW5nJiwgYm9vbCYpOworCisgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIFNyY0NoYXJhY3RlclR5cGUsIHR5cGVuYW1lIERlc3RDaGFyYWN0ZXJUeXBlPgor
ICAgIGlubGluZSBib29sIHBhcnNlU3RyaW5nSW50ZXJuYWwoU3JjQ2hhcmFjdGVyVHlwZSomLCBE
ZXN0Q2hhcmFjdGVyVHlwZSomLCBVQ2hhcik7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hh
cmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgdm9pZCBwYXJzZVN0cmluZyhDaGFyYWN0ZXJUeXBlKiYs
IENTU1BhcnNlclN0cmluZyYgcmVzdWx0U3RyaW5nLCBVQ2hhcik7CisKKyAgICB0ZW1wbGF0ZSA8
dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgYm9vbCBwYXJzZVVSSUludGVybmFs
KENoYXJhY3RlclR5cGUqJiwgQ2hhcmFjdGVyVHlwZSomKTsKIAotICAgIHZvaWQgcGFyc2VFc2Nh
cGUoVUNoYXIqJik7Ci0gICAgaW5saW5lIHZvaWQgcGFyc2VJZGVudGlmaWVyKFVDaGFyKiYsIGJv
b2wmKTsKLSAgICBpbmxpbmUgdm9pZCBwYXJzZVN0cmluZyhVQ2hhciomLCBVQ2hhcik7Ci0gICAg
aW5saW5lIHZvaWQgcGFyc2VVUkkoVUNoYXIqJiwgVUNoYXIqJik7CisgICAgaW5saW5lIHZvaWQg
cGFyc2VVUkkoQ1NTUGFyc2VyU3RyaW5nJik7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJh
Y3RlclR5cGU+CiAgICAgaW5saW5lIGJvb2wgcGFyc2VVbmljb2RlUmFuZ2UoKTsKKyAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KICAgICBib29sIHBhcnNlTnRoQ2hpbGQoKTsK
KyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KICAgICBib29sIHBhcnNlTnRo
Q2hpbGRFeHRyYSgpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogICAg
IGlubGluZSB2b2lkIGRldGVjdEZ1bmN0aW9uVHlwZVRva2VuKGludCk7CisgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiAgICAgaW5saW5lIHZvaWQgZGV0ZWN0TWVkaWFRdWVy
eVRva2VuKGludCk7Ci0gICAgaW5saW5lIHZvaWQgZGV0ZWN0TnVtYmVyVG9rZW4oVUNoYXIqLCBp
bnQpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSB2
b2lkIGRldGVjdE51bWJlclRva2VuKENoYXJhY3RlclR5cGUqLCBpbnQpOworICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogICAgIGlubGluZSB2b2lkIGRldGVjdERhc2hUb2tl
bihpbnQpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogICAgIGlubGlu
ZSB2b2lkIGRldGVjdEF0VG9rZW4oaW50LCBib29sKTsKIAorICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBDaGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSB2b2lkIHNldFJ1bGVIZWFkZXJFbmQoY29uc3Qg
Q2hhcmFjdGVyVHlwZSopOworCiAgICAgdm9pZCBzZXRTdHlsZVNoZWV0KFN0eWxlU2hlZXRDb250
ZW50cyopOwogCiAgICAgaW5saW5lIGJvb2wgaW5TdHJpY3RNb2RlKCkgY29uc3QgeyByZXR1cm4g
bV9jb250ZXh0Lm1vZGUgPT0gQ1NTU3RyaWN0TW9kZSB8fCBtX2NvbnRleHQubW9kZSA9PSBTVkdB
dHRyaWJ1dGVNb2RlOyB9CkBAIC00MzAsOSArNDgyLDE2IEBAIHByaXZhdGU6CiAgICAgfTsKIAog
ICAgIFBhcnNpbmdNb2RlIG1fcGFyc2luZ01vZGU7Ci0gICAgT3duQXJyYXlQdHI8VUNoYXI+IG1f
ZGF0YVN0YXJ0OwotICAgIFVDaGFyKiBtX2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgVUNoYXIqIG1f
dG9rZW5TdGFydDsKKyAgICBib29sIG1faXM4Qml0U291cmNlOworICAgIE93bkFycmF5UHRyPExD
aGFyPiBtX2RhdGFTdGFydDg7CisgICAgT3duQXJyYXlQdHI8VUNoYXI+IG1fZGF0YVN0YXJ0MTY7
CisgICAgTENoYXIqIG1fY3VycmVudENoYXJhY3Rlcjg7CisgICAgVUNoYXIqIG1fY3VycmVudENo
YXJhY3RlcjE2OworICAgIHVuaW9uIHsKKyAgICAgICAgTENoYXIqIHB0cjg7CisgICAgICAgIFVD
aGFyKiBwdHIxNjsKKyAgICB9IG1fdG9rZW5TdGFydDsKKyAgICB1bnNpZ25lZCBtX2xlbmd0aDsK
ICAgICBpbnQgbV90b2tlbjsKICAgICBpbnQgbV9saW5lTnVtYmVyOwogICAgIGludCBtX2xhc3RT
ZWxlY3RvckxpbmVOdW1iZXI7CkBAIC00NDAsNiArNDk5LDggQEAgcHJpdmF0ZToKICAgICBib29s
IG1fYWxsb3dJbXBvcnRSdWxlczsKICAgICBib29sIG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlv
bnM7CiAKKyAgICBpbnQgKENTU1BhcnNlcjo6Km1fbGV4RnVuYykodm9pZCopOworCiAgICAgVmVj
dG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiA+IG1fcGFyc2VkUnVsZXM7CiAgICAgVmVjdG9yPFJl
ZlB0cjxTdHlsZUtleWZyYW1lPiA+IG1fcGFyc2VkS2V5ZnJhbWVzOwogICAgIFZlY3RvcjxSZWZQ
dHI8TWVkaWFRdWVyeVNldD4gPiBtX3BhcnNlZE1lZGlhUXVlcnlTZXRzOwpAQCAtNTM1LDYgKzU5
NiwzOCBAQCBTdHJpbmcgcXVvdGVDU1NTdHJpbmdJZk5lZWRlZChjb25zdCBTdHJpCiBTdHJpbmcg
cXVvdGVDU1NVUkxJZk5lZWRlZChjb25zdCBTdHJpbmcmKTsKIAogYm9vbCBpc1ZhbGlkTnRoVG9r
ZW4oY29uc3QgQ1NTUGFyc2VyU3RyaW5nJik7CisKK3RlbXBsYXRlIDw+CitpbmxpbmUgdm9pZCBD
U1NQYXJzZXI6OnNldFRva2VuU3RhcnQ8TENoYXI+KExDaGFyKiB0b2tlblN0YXJ0KQoreworICAg
IG1fdG9rZW5TdGFydC5wdHI4ID0gdG9rZW5TdGFydDsKK30KKwordGVtcGxhdGUgPD4KK2lubGlu
ZSB2b2lkIENTU1BhcnNlcjo6c2V0VG9rZW5TdGFydDxVQ2hhcj4oVUNoYXIqIHRva2VuU3RhcnQp
Cit7CisgICAgbV90b2tlblN0YXJ0LnB0cjE2ID0gdG9rZW5TdGFydDsKK30KKworaW5saW5lIHVu
c2lnbmVkIENTU1BhcnNlcjo6dG9rZW5TdGFydE9mZnNldCgpCit7CisgICAgaWYgKGlzOEJpdFNv
dXJjZSgpKQorICAgICAgICByZXR1cm4gbV90b2tlblN0YXJ0LnB0cjggLSBtX2RhdGFTdGFydDgu
Z2V0KCk7CisgICAgcmV0dXJuIG1fdG9rZW5TdGFydC5wdHIxNiAtIG1fZGF0YVN0YXJ0MTYuZ2V0
KCk7Cit9CisKK2lubGluZSBVQ2hhciBDU1NQYXJzZXI6OnRva2VuU3RhcnRDaGFyKCkKK3sKKyAg
ICBpZiAoaXM4Qml0U291cmNlKCkpCisgICAgICAgIHJldHVybiAqbV90b2tlblN0YXJ0LnB0cjg7
CisgICAgcmV0dXJuICptX3Rva2VuU3RhcnQucHRyMTY7Cit9CisKK2lubGluZSBpbnQgY3NzeXls
ZXgodm9pZCogeXlsdmFsLCBDU1NQYXJzZXIqIHBhcnNlcikKK3sKKyAgICByZXR1cm4gcGFyc2Vy
LT5sZXgoeXlsdmFsKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
Q1NTUGFyc2VyX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgJKHJldmlz
aW9uIDEyNjgzNykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAkod29y
a2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCiAj
aW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5n
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtMzEsMTMgKzMyLDc0IEBAIGNsYXNzIENTU1ZhbHVlOwogY2xhc3MgUXVhbGlmaWVk
TmFtZTsKIAogc3RydWN0IENTU1BhcnNlclN0cmluZyB7Ci0gICAgVUNoYXIqIGNoYXJhY3RlcnM7
Ci0gICAgaW50IGxlbmd0aDsKKyAgICB2b2lkIGluaXQoTENoYXIqIGNoYXJhY3RlcnMsIHVuc2ln
bmVkIGxlbmd0aCkKKyAgICB7CisgICAgICAgIG1fZGF0YS5jaGFyYWN0ZXJzOCA9IGNoYXJhY3Rl
cnM7CisgICAgICAgIG1fbGVuZ3RoID0gbGVuZ3RoOworICAgICAgICBtX2lzOEJpdCA9IHRydWU7
CisgICAgfQorCisgICAgdm9pZCBpbml0KFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5n
dGgpCisgICAgeworICAgICAgICBtX2RhdGEuY2hhcmFjdGVyczE2ID0gY2hhcmFjdGVyczsKKyAg
ICAgICAgbV9sZW5ndGggPSBsZW5ndGg7CisgICAgICAgIG1faXM4Qml0ID0gZmFsc2U7CisgICAg
fQorCisgICAgdm9pZCBpbml0KFN0cmluZyBzdHJpbmcpCisgICAgeworICAgICAgICBtX2xlbmd0
aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAgICAgICAgaWYgKG1fbGVuZ3RoICYmIHN0cmluZy5pczhC
aXQoKSkgeworICAgICAgICAgICAgbV9kYXRhLmNoYXJhY3RlcnM4ID0gY29uc3RfY2FzdDxMQ2hh
cio+KHN0cmluZy5jaGFyYWN0ZXJzOCgpKTsKKyAgICAgICAgICAgIG1faXM4Qml0ID0gdHJ1ZTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG1fZGF0YS5jaGFyYWN0ZXJzMTYgPSBjb25z
dF9jYXN0PFVDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSk7CisgICAgICAgICAgICBtX2lzOEJp
dCA9IGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCBjbGVhcigpCisgICAgewor
ICAgICAgICBtX2RhdGEuY2hhcmFjdGVyczggPSAwOworICAgICAgICBtX2xlbmd0aCA9IDA7Cisg
ICAgICAgIG1faXM4Qml0ID0gZmFsc2U7CisgICAgfQorCisgICAgYm9vbCBpczhCaXQoKSBjb25z
dCB7IHJldHVybiBtX2lzOEJpdDsgfQorICAgIExDaGFyKiBjaGFyYWN0ZXJzOCgpIGNvbnN0IHsg
QVNTRVJUKGlzOEJpdCgpKTsgcmV0dXJuIG1fZGF0YS5jaGFyYWN0ZXJzODsgfQorICAgIFVDaGFy
KiBjaGFyYWN0ZXJzMTYoKSBjb25zdCB7IEFTU0VSVCghaXM4Qml0KCkpOyByZXR1cm4gbV9kYXRh
LmNoYXJhY3RlcnMxNjsgfQorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgor
ICAgIENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMoKSBjb25zdDsKKworICAgIHVuc2lnbmVkIGxl
bmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CisgICAgdm9pZCBzZXRMZW5ndGgodW5z
aWduZWQgbGVuZ3RoKSB7IG1fbGVuZ3RoID0gbGVuZ3RoOyB9CiAKICAgICB2b2lkIGxvd2VyKCk7
CiAKLSAgICBvcGVyYXRvciBTdHJpbmcoKSBjb25zdCB7IHJldHVybiBTdHJpbmcoY2hhcmFjdGVy
cywgbGVuZ3RoKTsgfQotICAgIG9wZXJhdG9yIEF0b21pY1N0cmluZygpIGNvbnN0IHsgcmV0dXJu
IEF0b21pY1N0cmluZyhjaGFyYWN0ZXJzLCBsZW5ndGgpOyB9CisgICAgVUNoYXIgb3BlcmF0b3Jb
XSh1bnNpZ25lZCBpKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGkgPCBtX2xlbmd0aCk7CisgICAg
ICAgIGlmIChpczhCaXQoKSkKKyAgICAgICAgICAgIHJldHVybiBtX2RhdGEuY2hhcmFjdGVyczhb
aV07CisgICAgICAgIHJldHVybiBtX2RhdGEuY2hhcmFjdGVyczE2W2ldOworICAgIH0KKworICAg
IGJvb2wgZXF1YWxJZ25vcmluZ0Nhc2UoY29uc3QgY2hhciogc3RyKQorICAgIHsKKyAgICAgICAg
aWYgKGlzOEJpdCgpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWxJZ25vcmluZ0Nhc2Uo
c3RyLCBjaGFyYWN0ZXJzOCgpLCBsZW5ndGgoKSk7CisgICAgICAgIHJldHVybiBXVEY6OmVxdWFs
SWdub3JpbmdDYXNlKHN0ciwgY2hhcmFjdGVyczE2KCksIGxlbmd0aCgpKTsKKyAgICB9CisKKyAg
ICBvcGVyYXRvciBTdHJpbmcoKSBjb25zdCB7IHJldHVybiBpczhCaXQoKSA/IFN0cmluZyhtX2Rh
dGEuY2hhcmFjdGVyczgsIG1fbGVuZ3RoKSA6IFN0cmluZyhtX2RhdGEuY2hhcmFjdGVyczE2LCBt
X2xlbmd0aCk7IH0KKyAgICBvcGVyYXRvciBBdG9taWNTdHJpbmcoKSBjb25zdCB7IHJldHVybiBp
czhCaXQoKSA/IEF0b21pY1N0cmluZyhtX2RhdGEuY2hhcmFjdGVyczgsIG1fbGVuZ3RoKSA6IEF0
b21pY1N0cmluZyhtX2RhdGEuY2hhcmFjdGVyczE2LCBtX2xlbmd0aCk7IH0KKworICAgIHVuaW9u
IHsKKyAgICAgICAgTENoYXIqIGNoYXJhY3RlcnM4OworICAgICAgICBVQ2hhciogY2hhcmFjdGVy
czE2OworICAgIH0gbV9kYXRhOworICAgIHVuc2lnbmVkIG1fbGVuZ3RoOworICAgIGJvb2wgbV9p
czhCaXQ7CiB9OwogCiBzdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb247CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwCShyZXZpc2lvbiAxMjY4MzcpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEyNSw3ICsxMjUsOCBAQCBSR0JBMzIgbWFrZVJHQkFGcm9tQ01ZS0EoZmxvYXQgYywgZmxv
YXQgCiB9CiAKIC8vIG9yaWdpbmFsbHkgbW92ZWQgaGVyZSBmcm9tIHRoZSBDU1MgcGFyc2VyCi1i
b29sIENvbG9yOjpwYXJzZUhleENvbG9yKGNvbnN0IFVDaGFyKiBuYW1lLCB1bnNpZ25lZCBsZW5n
dGgsIFJHQkEzMiYgcmdiKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0
aWMgaW5saW5lIGJvb2wgcGFyc2VIZXhDb2xvckludGVybmFsKGNvbnN0IENoYXJhY3RlclR5cGUq
IG5hbWUsIHVuc2lnbmVkIGxlbmd0aCwgUkdCQTMyJiByZ2IpCiB7CiAgICAgaWYgKGxlbmd0aCAh
PSAzICYmIGxlbmd0aCAhPSA2KQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xNDgsOCArMTQ5
LDI0IEBAIGJvb2wgQ29sb3I6OnBhcnNlSGV4Q29sb3IoY29uc3QgVUNoYXIqIG4KICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAorYm9vbCBDb2xvcjo6cGFyc2VIZXhDb2xvcihjb25zdCBMQ2hhciogbmFt
ZSwgdW5zaWduZWQgbGVuZ3RoLCBSR0JBMzImIHJnYikKK3sKKyAgICByZXR1cm4gcGFyc2VIZXhD
b2xvckludGVybmFsKG5hbWUsIGxlbmd0aCwgcmdiKTsKK30KKworYm9vbCBDb2xvcjo6cGFyc2VI
ZXhDb2xvcihjb25zdCBVQ2hhciogbmFtZSwgdW5zaWduZWQgbGVuZ3RoLCBSR0JBMzImIHJnYikK
K3sKKyAgICByZXR1cm4gcGFyc2VIZXhDb2xvckludGVybmFsKG5hbWUsIGxlbmd0aCwgcmdiKTsK
K30KKwogYm9vbCBDb2xvcjo6cGFyc2VIZXhDb2xvcihjb25zdCBTdHJpbmcmIG5hbWUsIFJHQkEz
MiYgcmdiKQogeworICAgIHVuc2lnbmVkIGxlbmd0aCA9IG5hbWUubGVuZ3RoKCk7CisgICAgCisg
ICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAobmFtZS5pczhC
aXQoKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlSGV4Q29sb3IobmFtZS5jaGFyYWN0ZXJzOCgpLCBu
YW1lLmxlbmd0aCgpLCByZ2IpOwogICAgIHJldHVybiBwYXJzZUhleENvbG9yKG5hbWUuY2hhcmFj
dGVycygpLCBuYW1lLmxlbmd0aCgpLCByZ2IpOwogfQogCkBAIC0xNjMsOSArMTgwLDEyIEBAIGlu
dCBkaWZmZXJlbmNlU3F1YXJlZChjb25zdCBDb2xvciYgYzEsIGMKIAogQ29sb3I6OkNvbG9yKGNv
bnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBpZiAobmFtZVswXSA9PSAnIycpCi0gICAgICAgIG1f
dmFsaWQgPSBwYXJzZUhleENvbG9yKG5hbWUuY2hhcmFjdGVycygpICsgMSwgbmFtZS5sZW5ndGgo
KSAtIDEsIG1fY29sb3IpOwotICAgIGVsc2UKKyAgICBpZiAobmFtZVswXSA9PSAnIycpIHsKKyAg
ICAgICAgaWYgKG5hbWUuaXM4Qml0KCkpCisgICAgICAgICAgICBtX3ZhbGlkID0gcGFyc2VIZXhD
b2xvcihuYW1lLmNoYXJhY3RlcnM4KCkgKyAxLCBuYW1lLmxlbmd0aCgpIC0gMSwgbV9jb2xvcik7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fdmFsaWQgPSBwYXJzZUhleENvbG9yKG5hbWUu
Y2hhcmFjdGVycygpICsgMSwgbmFtZS5sZW5ndGgoKSAtIDEsIG1fY29sb3IpOworICAgIH0gZWxz
ZQogICAgICAgICBzZXROYW1lZENvbG9yKG5hbWUpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1Nyw2
ICsxNTcsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHN0YXRpYyBib29sIHBhcnNlSGV4Q29s
b3IoY29uc3QgU3RyaW5nJiBuYW1lLCBSR0JBMzImIHJnYik7CisgICAgc3RhdGljIGJvb2wgcGFy
c2VIZXhDb2xvcihjb25zdCBMQ2hhciogbmFtZSwgdW5zaWduZWQgbGVuZ3RoLCBSR0JBMzImIHJn
Yik7CiAgICAgc3RhdGljIGJvb2wgcGFyc2VIZXhDb2xvcihjb25zdCBVQ2hhciogbmFtZSwgdW5z
aWduZWQgbGVuZ3RoLCBSR0JBMzImIHJnYik7CiAKICAgICBzdGF0aWMgY29uc3QgUkdCQTMyIGJs
YWNrID0gMHhGRjAwMDAwMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dEVuY29kaW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1RleHRFbmNvZGluZy5jcHAJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvVGV4dEVuY29kaW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsNyArNTgs
NyBAQCBUZXh0RW5jb2Rpbmc6OlRleHRFbmNvZGluZyhjb25zdCBjaGFyKiBuCiB9CiAKIFRleHRF
bmNvZGluZzo6VGV4dEVuY29kaW5nKGNvbnN0IFN0cmluZyYgbmFtZSkKLSAgICA6IG1fbmFtZShh
dG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lKG5hbWUuY2hhcmFjdGVycygpLCBuYW1lLmxl
bmd0aCgpKSkKKyAgICA6IG1fbmFtZShhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lKG5h
bWUpKQogICAgICwgbV9iYWNrc2xhc2hBc0N1cnJlbmN5U3ltYm9sKGJhY2tzbGFzaEFzQ3VycmVu
Y3lTeW1ib2woKSkKIHsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dEVuY29kaW5nUmVnaXN0cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCShyZXZpc2lvbiAxMjY4MzcpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzQ4LDEyICszNDgsMTMgQEAgY29uc3QgY2hhciogYXRvbWljQ2Fub25p
Y2FsVGV4dEVuY29kaW5nTgogICAgIHJldHVybiB0ZXh0RW5jb2RpbmdOYW1lTWFwLT5nZXQobmFt
ZSk7CiB9CiAKLWNvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUoY29u
c3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
Q2hhcmFjdGVyVHlwZT4KK2NvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05h
bWUoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgc2l6ZV90IGxlbmd0aCkKIHsKICAg
ICBjaGFyIGJ1ZmZlclttYXhFbmNvZGluZ05hbWVMZW5ndGggKyAxXTsKICAgICBzaXplX3QgaiA9
IDA7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewotICAgICAgICBV
Q2hhciBjID0gY2hhcmFjdGVyc1tpXTsKKyAgICAgICAgQ2hhcmFjdGVyVHlwZSBjID0gY2hhcmFj
dGVyc1tpXTsKICAgICAgICAgaWYgKGogPT0gbWF4RW5jb2RpbmdOYW1lTGVuZ3RoKQogICAgICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgICAgIGJ1ZmZlcltqKytdID0gYzsKQEAgLTM2Miw2ICszNjMs
MTcgQEAgY29uc3QgY2hhciogYXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTgogICAgIHJldHVy
biBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lKGJ1ZmZlcik7CiB9CiAKK2NvbnN0IGNo
YXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUoY29uc3QgU3RyaW5nJiBhbGlhcykK
K3sKKyAgICBpZiAoIWFsaWFzLmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlm
IChhbGlhcy5pczhCaXQoKSkKKyAgICAgICAgcmV0dXJuIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNv
ZGluZ05hbWU8TENoYXI+KGFsaWFzLmNoYXJhY3RlcnM4KCksIGFsaWFzLmxlbmd0aCgpKTsKKwor
ICAgIHJldHVybiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lPFVDaGFyPihhbGlhcy5j
aGFyYWN0ZXJzKCksIGFsaWFzLmxlbmd0aCgpKTsKK30KKwogYm9vbCBub0V4dGVuZGVkVGV4dEVu
Y29kaW5nTmFtZVVzZWQoKQogewogICAgIC8vIElmIHRoZSBjYWxsaW5nIHRocmVhZCBkaWQgbm90
IHVzZSBleHRlbmRlZCBlbmNvZGluZyBuYW1lcywgaXQgaXMgZmluZSBmb3IgaXQgdG8gdXNlIGEg
c3RhbGUgZmFsc2UgdmFsdWUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRFbmNvZGluZ1JlZ2lzdHJ5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5oCShyZXZpc2lvbiAxMjY4MzcpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogI2luY2x1
ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEs
NyArNDIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBPbmx5IFRleHRFbmNvZGlu
ZyBzaG91bGQgdXNlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGRpcmVjdGx5LgogICAgIGNvbnN0
IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUoY29uc3QgY2hhciogYWxpYXMp
OwotICAgIGNvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUoY29uc3Qg
VUNoYXIqIGFsaWFzQ2hhcmFjdGVycywgc2l6ZV90IGFsaWFzTGVuZ3RoKTsKKyAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBjb25zdCBjaGFyKiBhdG9taWNDYW5vbmlj
YWxUZXh0RW5jb2RpbmdOYW1lKGNvbnN0IENoYXJhY3RlclR5cGUqLCBzaXplX3QpOworICAgIGNv
bnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUoY29uc3QgU3RyaW5nJik7
CiAgICAgYm9vbCBub0V4dGVuZGVkVGV4dEVuY29kaW5nTmFtZVVzZWQoKTsKICAgICBib29sIGlz
SmFwYW5lc2VFbmNvZGluZyhjb25zdCBjaGFyKiBjYW5vbmljYWxFbmNvZGluZ05hbWUpOwogICAg
IGJvb2wgc2hvdWxkU2hvd0JhY2tzbGFzaEFzQ3VycmVuY3lTeW1ib2xJbihjb25zdCBjaGFyKiBj
YW5vbmljYWxFbmNvZGluZ05hbWUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNl
clV0aWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNl
clV0aWxpdGllcy5jcHAJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQYXJzZXJVdGlsaXRpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MywxMSArNDMsMTEgQEAg
dGVtcGxhdGUgPHR5cGVuYW1lIEZsb2F0VHlwZT4gc3RhdGljIGlubAogLy8gV2UgdXNlIHRoaXMg
Z2VuZXJpYyBwYXJzZU51bWJlciBmdW5jdGlvbiB0byBhbGxvdyB0aGUgUGF0aCBwYXJzaW5nIGNv
ZGUgdG8gd29yayAKIC8vIGF0IGEgaGlnaGVyIHByZWNpc2lvbiBpbnRlcm5hbGx5LCB3aXRob3V0
IGFueSB1bm5lY2Vzc2FyeSBydW50aW1lIGNvc3Qgb3IgY29kZQogLy8gY29tcGxleGl0eS4KLXRl
bXBsYXRlIDx0eXBlbmFtZSBGbG9hdFR5cGU+IHN0YXRpYyBib29sIGdlbmVyaWNQYXJzZU51bWJl
cihjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIqIGVuZCwgRmxvYXRUeXBlJiBudW1iZXIs
IGJvb2wgc2tpcCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlLCB0eXBlbmFtZSBG
bG9hdFR5cGU+IHN0YXRpYyBib29sIGdlbmVyaWNQYXJzZU51bWJlcihjb25zdCBDaGFyYWN0ZXJU
eXBlKiYgcHRyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBlbmQsIEZsb2F0VHlwZSYgbnVtYmVyLCBi
b29sIHNraXApCiB7CiAgICAgRmxvYXRUeXBlIGludGVnZXIsIGRlY2ltYWwsIGZyYWMsIGV4cG9u
ZW50OwogICAgIGludCBzaWduLCBleHBzaWduOwotICAgIGNvbnN0IFVDaGFyKiBzdGFydCA9IHB0
cjsKKyAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBzdGFydCA9IHB0cjsKIAogICAgIGV4cG9uZW50
ID0gMDsKICAgICBpbnRlZ2VyID0gMDsKQEAgLTY5LDEyICs2OSwxMiBAQCB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgRmxvYXRUeXBlPiBzdGF0aWMgYm9vCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IC8vIHJlYWQgdGhlIGludGVnZXIgcGFydCwgYnVpbGQgcmlnaHQtdG8tbGVmdAotICAgIGNvbnN0
IFVDaGFyKiBwdHJTdGFydEludFBhcnQgPSBwdHI7CisgICAgY29uc3QgQ2hhcmFjdGVyVHlwZSog
cHRyU3RhcnRJbnRQYXJ0ID0gcHRyOwogICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgKnB0ciA+PSAn
MCcgJiYgKnB0ciA8PSAnOScpCiAgICAgICAgICsrcHRyOyAvLyBBZHZhbmNlIHRvIGZpcnN0IG5v
bi1kaWdpdC4KIAogICAgIGlmIChwdHIgIT0gcHRyU3RhcnRJbnRQYXJ0KSB7Ci0gICAgICAgIGNv
bnN0IFVDaGFyKiBwdHJTY2FuSW50UGFydCA9IHB0ciAtIDE7CisgICAgICAgIGNvbnN0IENoYXJh
Y3RlclR5cGUqIHB0clNjYW5JbnRQYXJ0ID0gcHRyIC0gMTsKICAgICAgICAgRmxvYXRUeXBlIG11
bHRpcGxpZXIgPSAxOwogICAgICAgICB3aGlsZSAocHRyU2NhbkludFBhcnQgPj0gcHRyU3RhcnRJ
bnRQYXJ0KSB7CiAgICAgICAgICAgICBpbnRlZ2VyICs9IG11bHRpcGxpZXIgKiBzdGF0aWNfY2Fz
dDxGbG9hdFR5cGU+KCoocHRyU2NhbkludFBhcnQtLSkgLSAnMCcpOwpAQCAtMTQyLDEzICsxNDIs
MTggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIEZsb2F0VHlwZT4gc3RhdGljIGJvbwogICAgIHJldHVy
biB0cnVlOwogfQogCi1ib29sIHBhcnNlU1ZHTnVtYmVyKFVDaGFyKiYgYmVnaW4sIHNpemVfdCBs
ZW5ndGgsIGRvdWJsZSYgbnVtYmVyKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+
Citib29sIHBhcnNlU1ZHTnVtYmVyKENoYXJhY3RlclR5cGUqIGJlZ2luLCBzaXplX3QgbGVuZ3Ro
LCBkb3VibGUmIG51bWJlcikKIHsKLSAgICBjb25zdCBVQ2hhciogcHRyID0gYmVnaW47Ci0gICAg
Y29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIGxlbmd0aDsKKyAgICBjb25zdCBDaGFyYWN0ZXJUeXBl
KiBwdHIgPSBiZWdpbjsKKyAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBlbmQgPSBwdHIgKyBsZW5n
dGg7CiAgICAgcmV0dXJuIGdlbmVyaWNQYXJzZU51bWJlcihwdHIsIGVuZCwgbnVtYmVyLCBmYWxz
ZSk7CiB9CiAKKy8vIEV4cGxpY2l0bHkgaW5zdGFudGlhdGUgdGhlIHR3byBmbGF2b3JzIG9mIHBh
cnNlU1ZHTnVtYmVyKCkgdG8gc2F0aXNmeSBleHRlcm5hbCBjYWxsZXJzCit0ZW1wbGF0ZSBib29s
IHBhcnNlU1ZHTnVtYmVyKExDaGFyKiBiZWdpbiwgc2l6ZV90IGxlbmd0aCwgZG91YmxlJik7Cit0
ZW1wbGF0ZSBib29sIHBhcnNlU1ZHTnVtYmVyKFVDaGFyKiBiZWdpbiwgc2l6ZV90IGxlbmd0aCwg
ZG91YmxlJik7CisKIGJvb2wgcGFyc2VOdW1iZXIoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVD
aGFyKiBlbmQsIGZsb2F0JiBudW1iZXIsIGJvb2wgc2tpcCkgCiB7CiAgICAgcmV0dXJuIGdlbmVy
aWNQYXJzZU51bWJlcihwdHIsIGVuZCwgbnVtYmVyLCBza2lwKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmgJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyAr
MzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBTVkdQ
b2ludExpc3Q7CiAKLWJvb2wgcGFyc2VTVkdOdW1iZXIoVUNoYXIqJiBwdHIsIHNpemVfdCBsZW5n
dGgsIGRvdWJsZSYgbnVtYmVyKTsKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgor
Ym9vbCBwYXJzZVNWR051bWJlcihDaGFyYWN0ZXJUeXBlKiBwdHIsIHNpemVfdCBsZW5ndGgsIGRv
dWJsZSYgbnVtYmVyKTsKIGJvb2wgcGFyc2VOdW1iZXIoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0
IFVDaGFyKiBlbmQsIGZsb2F0JiBudW1iZXIsIGJvb2wgc2tpcCA9IHRydWUpOwogYm9vbCBwYXJz
ZU51bWJlckZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiwgZmxvYXQmIG51bWJlciwgYm9vbCBza2lw
ID0gdHJ1ZSk7CiBib29sIHBhcnNlTnVtYmVyT3B0aW9uYWxOdW1iZXIoY29uc3QgU3RyaW5nJiBz
LCBmbG9hdCYgaCwgZmxvYXQmIHYpOwpAQCAtNDIsMTkgKzQzLDIyIEBAIGJvb2wgcGFyc2VSZWN0
KGNvbnN0IFN0cmluZyYsIEZsb2F0UmVjdCYKIAogLy8gU1ZHIGFsbG93cyBzZXZlcmFsIGRpZmZl
cmVudCB3aGl0ZXNwYWNlIGNoYXJhY3RlcnM6CiAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcv
cGF0aHMuaHRtbCNQYXRoRGF0YUJORgotaW5saW5lIGJvb2wgaXNTVkdTcGFjZShVQ2hhciBjKQor
dGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitpbmxpbmUgYm9vbCBpc1NWR1NwYWNl
KENoYXJhY3RlclR5cGUgYykKIHsKICAgICByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8
IGMgPT0gJ1xuJyB8fCBjID09ICdccic7CiB9CiAKLWlubGluZSBib29sIHNraXBPcHRpb25hbFNW
R1NwYWNlcyhjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIqIGVuZCkKK3RlbXBsYXRlIDx0
eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU1ZHU3BhY2Vz
KGNvbnN0IENoYXJhY3RlclR5cGUqJiBwdHIsIGNvbnN0IENoYXJhY3RlclR5cGUqIGVuZCkKIHsK
ICAgICB3aGlsZSAocHRyIDwgZW5kICYmIGlzU1ZHU3BhY2UoKnB0cikpCiAgICAgICAgIHB0cisr
OwogICAgIHJldHVybiBwdHIgPCBlbmQ7CiB9CiAKLWlubGluZSBib29sIHNraXBPcHRpb25hbFNW
R1NwYWNlc09yRGVsaW1pdGVyKGNvbnN0IFVDaGFyKiYgcHRyLCBjb25zdCBVQ2hhciogZW5kLCBV
Q2hhciBkZWxpbWl0ZXIgPSAnLCcpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4K
K2lubGluZSBib29sIHNraXBPcHRpb25hbFNWR1NwYWNlc09yRGVsaW1pdGVyKGNvbnN0IENoYXJh
Y3RlclR5cGUqJiBwdHIsIGNvbnN0IENoYXJhY3RlclR5cGUqIGVuZCwgY2hhciBkZWxpbWl0ZXIg
PSAnLCcpCiB7CiAgICAgaWYgKHB0ciA8IGVuZCAmJiAhaXNTVkdTcGFjZSgqcHRyKSAmJiAqcHRy
ICE9IGRlbGltaXRlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MTI2OTAwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTItMDgtMjggIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+
CisKKyAgICAgICAgQ1NTIFBhcnNlciBzaG91bGQgZGlyZWN0bHkgcGFyc2UgOCBiaXQgc291cmNl
IHN0cmluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk1MjA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TmV3IHRlc3QgdGhhdCBjaGVja3MgdGhlIGNhc2UgdGhhdCBhIDE2IGJpdCB1bmljb2RlIGVzY2Fw
ZSBpbiBhbiA4IGJpdCBDU1MgCisgICAgICAgIHNvdXJjZSBpcyBwcm9wZXJseSBoYW5kbGVkLgor
CisgICAgICAgICogZmFzdC9jc3MvdW5pY29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy91bmljb2RlLWVzY2FwZS1pbi04Yml0
LXN0cmluZy5odG1sOiBBZGRlZC4KKwogMjAxMi0wOC0yOCAgUGhpbGlwIFJvZ2VycyAgPHBkckBn
b29nbGUuY29tPgogCiAgICAgICAgIFJlYmFzZWxpbmluZyBjaHJvbWl1bS1tYWMgdGVzdCByZXN1
bHRzIHdpdGggc2Nyb2xsYmFycy4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3VuaWNvZGUt
ZXNjYXBlLWluLThiaXQtc3RyaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy91bmljb2RlLWVzY2FwZS1pbi04Yml0LXN0cmluZy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy91bmljb2RlLWVzY2FwZS1pbi04
Yml0LXN0cmluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDUwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUg
Nzg0eDE4CisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKKyAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjQweDE4CisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMjQwOiAiVGhpcyBsaW5lIHNob3VsZCBlbmQgd2l0aCBhIEV1
cm8gc2lnbiAiCisgICAgICAgIFJlbmRlcklubGluZSAoZ2VuZXJhdGVkKSBhdCAoMCwwKSBzaXpl
IDIxeDE4CisgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMjQwLDApIHNpemUgMjF4MTgKKyAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgyNDAsMCkgd2lkdGggMjE6ICItIFx4ezIwQUN9IgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdW5pY29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmcuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy91bmljb2RlLWVzY2FwZS1pbi04Yml0
LXN0cmluZy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdW5pY29k
ZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmcuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29u
dGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgorICA8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgorICBwOmFmdGVyIHsKKyAgICBjb250ZW50OiAiLSBcMDAyMEFDIjsg
LyogRXNjYXBlIHZhbHVlIGZvciBFdXJvIHNpZ24gKi8KKyAgfQorCisgIDwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGNsYXNzPSJvdmVyZmxvdyIgPlRoaXMgbGluZSBzaG91bGQgZW5kIHdp
dGggYSBFdXJvIHNpZ24gPC9wPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFt
ZXNBc1RleHQoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161387</attachid>
            <date>2012-08-29 18:59:31 -0700</date>
            <delta_ts>2012-08-30 14:11:04 -0700</delta_ts>
            <desc>Prior patch with style nit fixed</desc>
            <filename>95207-4.patch</filename>
            <type>text/plain</type>
            <size>106121</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMjY5MDApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA4LTI4ICBNaWNoYWVsIFNhYm9mZiAgPG1z
YWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIENTUyBQYXJzZXIgc2hvdWxkIGRpcmVjdGx5IHBh
cnNlIDggYml0IHNvdXJjZSBzdHJpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NTIwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5oOgorICAgICAgICAoV1RGOjpl
cXVhbElnbm9yaW5nQ2FzZSk6IEFkZGVkIChjb25zdCBjaGFyKiwgY29uc3QgTENoYXIqLCB1bnNp
Z25lZCkgZmxhdm9yIHRvIHN1cHBvcnQKKyAgICAgICAgOCBiaXQgQ1NTIHBhcnNlciB3b3JrLgor
CiAyMDEyLTA4LTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI2ODM2LgpJbmRleDogU291cmNl
L1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYv
dGV4dC9TdHJpbmdJbXBsLmgJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9XVEYvd3RmL3Rl
eHQvU3RyaW5nSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NDYsNiArODQ2LDcgQEAgV1RGX0VY
UE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1YWxJZ25vcmluZwogaW5saW5lIGJvb2wgZXF1YWxJZ25v
cmluZ0Nhc2UoY29uc3QgVUNoYXIqIGEsIGNvbnN0IGNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkg
eyByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2UoYSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hh
cio+KGIpLCBsZW5ndGgpOyB9CiBpbmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBM
Q2hhciogYSwgY29uc3QgVUNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1cm4gZXF1YWxJ
Z25vcmluZ0Nhc2UoYiwgYSwgbGVuZ3RoKTsgfQogaW5saW5lIGJvb2wgZXF1YWxJZ25vcmluZ0Nh
c2UoY29uc3QgY2hhciogYSwgY29uc3QgVUNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1
cm4gZXF1YWxJZ25vcmluZ0Nhc2UoYiwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KGEp
LCBsZW5ndGgpOyB9CitpbmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBjaGFyKiBh
LCBjb25zdCBMQ2hhciogYiwgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBlcXVhbElnbm9yaW5n
Q2FzZShiLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oYSksIGxlbmd0aCk7IH0KIAog
V1RGX0VYUE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1YWxJZ25vcmluZ051bGxpdHkoU3RyaW5nSW1w
bCosIFN0cmluZ0ltcGwqKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI3MDYwKQorKysg
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTU3IEBA
CisyMDEyLTA4LTI5ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENTUyBQYXJzZXIgc2hvdWxkIGRpcmVjdGx5IHBhcnNlIDggYml0IHNvdXJjZSBzdHJpbmdz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTIwNwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZWQg
Q1NTUGFyc2VyIHRvIGhhbmRsZSA4IGJpdCBzdHJpbmdzIGRpcmVjdGx5LiBUZW1wbGF0aXplZCBt
b3N0IHByaXZhdGUgcGFyc2luZyBtZXRob2RzCisgICAgICAgIGFuZCBoZWxwZXIgbWV0aG9kcyBi
eSBjaGFyYWN0ZXIgdHlwZS4gSW50cm9kdWNlZCBzZXZlcmFsIHRlbXBsYXRpemVkIGhlbHBlciBt
ZXRob2RzIGZvcgorICAgICAgICBwYXJzaW5nIG1ldGhvZHMuIFNvbWUgb2YgdGhlc2UgaGVscGVy
IG1ldGhvZHMgaGF2ZSBpbmRlcGVuZGVudCBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHRlbXBsYXRl
CisgICAgICAgIHR5cGVzIHRvIGhhbmRsZSB0aGF0IGFuIDggYml0IHNvdXJjZSBzdHJpbmcgd2hl
biBwYXJzZWQgcHJvZHVjZXMgYSAxNiBiaXQgcmVzdWx0LiBUaGlzIGlzIGR1ZQorICAgICAgICB0
byB1bmljb2RlIGVzY2FwZXMuIFJlbmFtZWQgdGhlIGxleCBtZXRob2QgInJlYWxMZXgiIGFuZCBt
YWRlIGl0IGEgdGVtcGxhdGVkIG1ldGhvZC4gVGhlIGxleAorICAgICAgICBtZXRob2QgdGhhdCBp
cyBjYWxsZWQgYnkgY3NzeXlsZXgoKSwgd2hpY2ggaXMgbm93IGlubGluZWQsIGludm9rZXMgdGhl
IGNvcnJlY3QgaW5zdGFuY2Ugb2YgcmVhbExleAorICAgICAgICB2aWEgYSBtZW1iZXIgZnVuY3Rp
b24gcG9pbnRlci4KKworICAgICAgICBTcGxpdCBvdXQgdGhlIGVuY29kaW5nIHBhcnQgb2YgcGFy
c2VFc2NhcGUoKSBpbnRvIGEgbmV3IHRlbXBsYXRlZCBVbmljb2RlVG9DaGFycygpIG1ldGhvZC4K
KworICAgICAgICBBZGRlZCA4LzE2IGJpdCBzd2l0Y2hpbmcgdG8gQ1NTUGFyc2VyU3RyaW5nIGFz
IHdlbGwgYXMgYWRkZWQgaW5pdGlhbGl6YXRpb24sIHNldHRlcnMgYW5kIGdldHRlcnMuCisgICAg
ICAgIE5vdGUgdGhhdCBDU1NQYXJzZXJTdHJpbmcgbXVzdCBoYXZlIGEgZGVmYXVsdCBjb25zdHJ1
Y3RvciBhcyBpdCBpcyBwYXJ0IG9mIHRoZSBZWUxWQUwgdW5pb24uCisgICAgICAgIFRoZXJlZm9y
ZSBjcmVhdGVkIGluaXQoKSBtZXRob2RzIGluc3RlYWQgb2YgY29uc3RydWN0b3JzLiBNYW55IG9m
IHRoZSBwYXJzZXIgZnVuY3Rpb24gbm93IGRpcmVjdGx5CisgICAgICAgIG1vZGlmeSB0aGUgaW5z
dGFuY2UgaW4geXlsdmFsLiBNYWRlIHN1cHBvcnRpbmcgY2hhbmdlcyBpbiBvdGhlciB3ZWJjb3Jl
IGNsYXNzZXMgdGhhdCBhcmUgdXNlZAorICAgICAgICBkaXJlY3RseSBieSBDU1NQYXJzZXIuCisK
KyAgICAgICAgVGVzdDogZmFzdC9jc3MvdW5pY29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmcuaHRt
bAorCisgICAgICAgICogY3NzL0NTU0dyYW1tYXIueTogUmVtb3ZlZCBjc3N5eWxleCgpIGFuZCBj
aGFuZ2VkIG1hbmlwdWxhdGlvbiBvZiBDU1NQYXJzZXJTdHJpbmcgb2JqZWN0cyB0bworICAgICAg
ICB1c2UgbmV3bHkgd3JpdHRlbiBtZXRob2RzIGluc3RlYWQgb2YgZGlyZWN0IG1hbmlwdWxhdGlv
biBvZiBhdHRyaWJ1dGVzLgorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAg
IFRlbXBsYXRpemVkIG5ldyBvciBleGlzdGluZyBoZWxwZXIgbWV0aG9kcworICAgICAgICAoV2Vi
Q29yZTo6bWFrZUxvd2VyKToKKyAgICAgICAgKFdlYkNvcmU6OmlzQ1NTTGV0dGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OmlzQ1NTRXNjYXBlKToKKyAgICAgICAgKFdlYkNvcmU6OmlzVVJJTGV0dGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNoKToKKyAgICAg
ICAgKFdlYkNvcmU6OmlzRXF1YWxUb0NTU0lkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
Y2hlY2tBbmRTa2lwRXNjYXBlKToKKyAgICAgICAgKFdlYkNvcmU6OmNoZWNrRm9yVmFsaWREb3Vi
bGUpOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VEb3VibGUpOgorICAgICAgICAoV2ViQ29yZTo6
cGFyc2VDb2xvckludE9yUGVyY2VudGFnZSk6CisgICAgICAgIChXZWJDb3JlOjppc1RlbnRoQWxw
aGEpOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VBbHBoYVZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6Om1pZ2h0QmVSR0JBKToKKyAgICAgICAgKFdlYkNvcmU6Om1pZ2h0QmVSR0IpOgorICAgICAg
ICAoV2ViQ29yZTo6ZmFzdFBhcnNlQ29sb3JJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OmZhc3RQYXJzZUNvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
cGFyc2VJbWFnZVNldCk6CisgICAgICAgIChXZWJDb3JlOjpza2lwV2hpdGVTcGFjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmN1cnJlbnRDaGFyYWN0ZXIxNik6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OmlzSWRlbnRpZmllclN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6Y2hlY2tBbmRTa2lwU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6cGFyc2VVbmljb2RlUmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpw
YXJzZU50aENoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VOdGhDaGls
ZEV4dHJhKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6ZGV0ZWN0RnVuY3Rpb25UeXBl
VG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpkZXRlY3RNZWRpYVF1ZXJ5VG9r
ZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpkZXRlY3ROdW1iZXJUb2tlbik6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdERhc2hUb2tlbik6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdEF0VG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpzZXRSdWxlSGVhZGVyRW5kKToKKyAgICAgICAgKFdlYkNvcmU6OmNzc1Byb3BlcnR5
SUQpOgorICAgICAgICAoV2ViQ29yZTo6aXNDU1NUb2tlbml6ZXJJZGVudGlmaWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OmlzQ1NTVG9rZW5pemVyVVJMKToKKworICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpDU1NQYXJzZXIpOiBVcGRhdGVkIGNvbnN0cnVjdG9yIGZvciBpbml0aWFsaXppbmcg
bmV3IGF0dHJpYnV0ZXMuCisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmluZzo6bG93
ZXIpOiBDYWxscyBuZXcgbWFrZUxvd2VyKCkgdGVtcGxhdGUgaGVscGVyLgorCisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnNldHVwUGFyc2VyKTogQWRkZWQgOCBiaXQgcGF0aCBhbmQgc2V0
IHVwIHBhcnNlciBhcHByb3ByaWF0ZSB0bworICAgICAgICBzdHJpbmcgdHlwZS4KKworICAgICAg
ICAoV2ViQ29yZTo6ZXF1YWwpOiBVcGRhdGVkIHRvIHVzZSBDU1NQYXJzZXJTdHJpbmcgZ2V0dGVy
cyBhbmQgU3RyaW5nSW1wbDo6ZXF1YWwKKyAgICAgICAgKFdlYkNvcmU6OmVxdWFsSWdub3JpbmdD
YXNlKTogVXBkYXRlZCB0byB1c2UgQ1NTUGFyc2VyU3RyaW5nIGdldHRlcnMgYW5kCisgICAgICAg
IFN0cmluZ0ltcGw6OmVxdWFsSWdub3JpbmdDYXNlCisgICAgICAgIChXZWJDb3JlOjpwYXJzZUNv
bG9yVmFsdWUpOiBVcGRhdGVkIHRvIHVzZSBuZXcgQ1NTUGFyc2VyU3RyaW5nOjppbml0KCkKKyAg
ICAgICAgKFdlYkNvcmU6OnBhcnNlU2ltcGxlTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OnBh
cnNlS2V5d29yZFZhbHVlKTogVXBkYXRlZCB0byB1c2UgbmV3IENTU1BhcnNlclN0cmluZzo6aW5p
dCgpCisgICAgICAgIChXZWJDb3JlOjpwYXJzZVRyYW5zZm9ybUFyZ3VtZW50cyk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU3lzdGVtQ29sb3IpOiBVcGRhdGVkIHRvIHVzZSBu
ZXcgQ1NTUGFyc2VyU3RyaW5nOjppbml0KCkKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
c3RvcmVWYXJpYWJsZURlY2xhcmF0aW9uKTogQ3JlYXRlIHJpZ2h0IGNoYXJhY3RlciBzaXplZCBB
dG9taWNTdHJpbmcuCisgICAgICAgIChXZWJDb3JlOjpGb250RmFtaWx5VmFsdWVCdWlsZGVyOjph
ZGQpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uSW5mbzo6VHJhbnNmb3Jt
T3BlcmF0aW9uSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlRm9udEZl
YXR1cmVUYWcpOgorCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlRXNjYXBlKTog
Tm93IG9ubHkgcGFyc2VzIGFuIGVzY2FwZSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0aW5nCisgICAg
ICAgIFVuaWNvZGUgdmFsdWUgYXMgYW4gdW5zaWduZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YXJzZXI6OlVuaWNvZGVUb0NoYXJzKTogTmV3IG1ldGhvZCB0byB3cml0ZSBvdXQgdW5pY29kZSBj
aGFyYWN0ZXIocykKKyAgICAgICAgYmFzZWQgb24gY2hhcmFjdGVyIHR5cGUuCisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlSWRlbnRpZmllckludGVybmFsKTogVGVtcGxhdGVkIGhl
bHBlci4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VJZGVudGlmaWVyKTogUGFy
c2VzIGlkZW50aWZpZXJzLCBwb3NzaWJseSB1cGNvbnZlcnRpbmcKKyAgICAgICAgdGhlIHJlc3Vs
dCB3aGVuIGEgdW5pY29kZSBlc2NhcGUgaXMgZm91bmQgaW4gYW4gOCBiaXQgc291cmNlLgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVN0cmluZ0ludGVybmFsKTogVGVtcGxhdGVk
IGhlbHBlci4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTdHJpbmcpOiBQYXJz
ZXMgc3RyaW5ncywgcG9zc2libHkgdXBjb252ZXJ0aW5nCisgICAgICAgIHRoZSByZXN1bHQgd2hl
biBhIHVuaWNvZGUgZXNjYXBlIGlzIGZvdW5kIGluIGFuIDggYml0IHNvdXJjZS4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VVUklJbnRlcm5hbCk6IFRlbXBsYXRlZCBoZWxwZXIu
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVVJJKTogUmVwYXJzZXMgYSBwYXJz
ZWQgaWRlbnRpZmllciB0byBzZWUgaWYgaXQgaXMgYSBVUkkuCisgICAgICAgIFRoaXMgbWV0aG9k
IGRvZXNuJ3QgbmVlZCB0byB1cCBjb252ZXJ0IGZyb20gOCB0byAxNiBiaXRzIHNpbmNlIHRoYXQg
d291bGQgaGF2ZSBiZWVuCisgICAgICAgIGRvbmUgaW4gcGFyc2VJZGVudGZpZXIoKS4KKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cmVhbExleCk6IExvdCBvZiB0ZW1wbGF0ZSByZWxhdGVk
IGNoYW5nZXMuICBSZW1vdmVkIHl5bHZhbC0+c3RyaW5nCisgICAgICAgIEFTU0VSVCBjaGVja3Mg
YXQgdGhlIGVuZCwgc2luY2UgdGhleSBhcmUgdG9vIG5haXZlIHRvIGhhbmRsZSB1cGNvbnZlcnRl
ZCBpZGVudGlmaWVyLAorICAgICAgICBzdHJpbmcgYW5kIFVSSXMuICBUaGV5IGNvbXBhcmVkIHNv
dXJjZSBwb2ludGVycyAobV90b2tlblN0YXJ0KSB3aXRoIHJlc3VsdGluZyBzdHJpbmdzLgorICAg
ICAgICAoV2ViQ29yZTo6Zml4VW5wYXJzZWRQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6Zml4VW5wYXJzZWRQcm9wZXJ0eVJhbmdlcyk6IEFkZGVkIG5ldyB0ZW1wbGF0
ZSBoZWxwZXIgd2l0aCBzYW1lIG5hbWUuCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1h
cmtSdWxlSGVhZGVyU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrUnVs
ZUhlYWRlckVuZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtSdWxlQm9keVN0
YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFya1J1bGVCb2R5RW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFya1Byb3BlcnR5U3RhcnQpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrUHJvcGVydHlFbmQpOgorICAgICAgICAoV2ViQ29yZTo6
Y3NzVmFsdWVLZXl3b3JkSUQpOgorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAg
ICAoQ1NTUGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bGV4KTogTWFkZSB0
aGlzIGlubGluZSBoZWxwZXIgdGhhdCBjYWxscyBjb3JyZWN0IHJlYWxMZXgoKS4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6aXM4Qml0U291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1BhcnNlcjo6dG9rZW5TdGFydE9mZnNldCk6IFRlbXBsYXRlZCBtZXRob2QgcmV0dXJuaW5nIG9m
ZnNldCBpbiBzb3VyY2UKKyAgICAgICAgb2YgdGhlIGN1cnJlbnQgdG9rZW4gc3RhcnQuCisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnRva2VuU3RhcnRDaGFyKTogVGVtcGxhdGVkIGFjY2Vz
cyB0byBtX3Rva2VuU3RhcnQuCisgICAgICAgIChXZWJDb3JlOjpjc3N5eWxleCk6IE1hZGUgdGhp
cyBpbmxpbmUgdG8gYXZvaWQgY2FsbC4KKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyVmFsdWVzLmg6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6OmluaXQpOiBBZGRlZCB0aHJlZSBu
ZXcgaW5pdGlhbGl6YXRpb24gbWV0aG9kcy4KKworICAgICAgICBOZXcgc2V0dGVycywgZ2V0dGVy
cyBhbmQgaGVscGVyIG1ldGhvZHMuCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6
OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmluZzo6aXM4Qml0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmluZzo6Y2hhcmFjdGVyczgpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjpjaGFyYWN0ZXJzMTYpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VyU3RyaW5nOjpsZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
U3RyaW5nOjpzZXRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjpv
cGVyYXRvcltdKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmluZzo6ZXF1YWxJZ25v
cmluZ0Nhc2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjpvcGVyYXRvciBT
dHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjpvcGVyYXRvciBBdG9t
aWNTdHJpbmcpOgorCisgICAgICAgIE90aGVyIG1ldGhvZHMgdGVtcGxhdGl6ZWQgdG8gc3VwcG9y
dCBjaGFuZ2VzIGluIENTU1BhcnNlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZUhleENvbG9ySW50ZXJuYWwpOgorICAgICAg
ICAoV2ViQ29yZTo6Q29sb3I6OnBhcnNlSGV4Q29sb3IpOiBOZXcgTENoYXIgZmxhdm9yCisgICAg
ICAgIChXZWJDb3JlOjpDb2xvcjo6Q29sb3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0NvbG9yLmg6CisgICAgICAgIChDb2xvcik6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0
RW5jb2RpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEVuY29kaW5nOjpUZXh0RW5jb2Rp
bmcpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6YXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTmFtZSk6CisgICAg
ICAgICogcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5oOgorICAgICAgICAqIHN2
Zy9TVkdQYXJzZXJVdGlsaXRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2VuZXJpY1BhcnNl
TnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlU1ZHTnVtYmVyKToKKyAgICAgICAgKiBz
dmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjppc1NWR1NwYWNlKToK
KyAgICAgICAgKFdlYkNvcmU6OnNraXBPcHRpb25hbFNWR1NwYWNlcyk6CisgICAgICAgIChXZWJD
b3JlOjpza2lwT3B0aW9uYWxTVkdTcGFjZXNPckRlbGltaXRlcik6CisKIDIwMTItMDgtMjkgIERh
dmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIFtOZXcgTXVsdGljb2x1bW5d
IFJlbmFtZSBtZXRob2RzIHRvIHByZXBhcmUgZm9yIHByb3BlciBwYWdpbmF0aW9uIG9mIGNvbHVt
bnMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQkocmV2aXNpb24gMTI2ODM3KQorKysgU291
cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQkod29ya2luZyBjb3B5KQpAQCAtOTMsMTEgKzkz
LDYgQEAgc3RhdGljIGlubGluZSBpbnQgY3NzeXllcnJvcih2b2lkKiwgY29ucwogICAgIHJldHVy
biAxOwogfQogCi1zdGF0aWMgaW50IGNzc3l5bGV4KFlZU1RZUEUqIHl5bHZhbCwgQ1NTUGFyc2Vy
KiBwYXJzZXIpCi17Ci0gICAgcmV0dXJuIHBhcnNlci0+bGV4KHl5bHZhbCk7Ci19Ci0KICV9CiAK
ICVleHBlY3QgNjIKQEAgLTUwOSw3ICs1MDQsNyBAQCBOQU1FU1BBQ0VfU1lNIG1heWJlX3NwYWNl
IG1heWJlX25zX3ByZWZpCiA7CiAKIG1heWJlX25zX3ByZWZpeDoKLS8qIGVtcHR5ICovIHsgJCQu
Y2hhcmFjdGVycyA9IDA7IH0KKy8qIGVtcHR5ICovIHsgJCQuY2xlYXIoKTsgfQogfCBJREVOVCBt
YXliZV9zcGFjZSB7ICQkID0gJDE7IH0KIDsKIApAQCAtNjk0LDkgKzY4OSw5IEBAIGtleToKICAg
ICB8IElERU5UIHsKICAgICAgICAgJCQuaWQgPSAwOyAkJC5pc0ludCA9IGZhbHNlOyAkJC51bml0
ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVI7CiAgICAgICAgIENTU1BhcnNlclN0cmlu
ZyYgc3RyID0gJDE7Ci0gICAgICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZSgiZnJvbSIsIHN0ci5j
aGFyYWN0ZXJzLCBzdHIubGVuZ3RoKSkKKyAgICAgICAgaWYgKHN0ci5lcXVhbElnbm9yaW5nQ2Fz
ZSgiZnJvbSIpKQogICAgICAgICAgICAgJCQuZlZhbHVlID0gMDsKLSAgICAgICAgZWxzZSBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UoInRvIiwgc3RyLmNoYXJhY3RlcnMsIHN0ci5sZW5ndGgpKQorICAg
ICAgICBlbHNlIGlmIChzdHIuZXF1YWxJZ25vcmluZ0Nhc2UoInRvIikpCiAgICAgICAgICAgICAk
JC5mVmFsdWUgPSAxMDA7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIFlZRVJST1I7CkBAIC05
NzYsOCArOTcxLDggQEAgc2VsZWN0b3I6CiAgICAgOwogCiBuYW1lc3BhY2Vfc2VsZWN0b3I6Ci0g
ICAgLyogZW1wdHkgKi8gJ3wnIHsgJCQuY2hhcmFjdGVycyA9IDA7ICQkLmxlbmd0aCA9IDA7IH0K
LSAgICB8ICcqJyAnfCcgeyBzdGF0aWMgVUNoYXIgc3RhciA9ICcqJzsgJCQuY2hhcmFjdGVycyA9
ICZzdGFyOyAkJC5sZW5ndGggPSAxOyB9CisgICAgLyogZW1wdHkgKi8gJ3wnIHsgJCQuY2xlYXIo
KTsgfQorICAgIHwgJyonICd8JyB7IHN0YXRpYyBMQ2hhciBzdGFyID0gJyonOyAkJC5pbml0KCZz
dGFyLCAxKTsgfQogICAgIHwgSURFTlQgJ3wnIHsgJCQgPSAkMTsgfQogOwogICAgIApAQCAtMTA0
MCw5ICsxMDM1LDggQEAgZWxlbWVudF9uYW1lOgogICAgICAgICAkJCA9IHN0cjsKICAgICB9CiAg
ICAgfCAnKicgewotICAgICAgICBzdGF0aWMgVUNoYXIgc3RhciA9ICcqJzsKLSAgICAgICAgJCQu
Y2hhcmFjdGVycyA9ICZzdGFyOwotICAgICAgICAkJC5sZW5ndGggPSAxOworICAgICAgICBzdGF0
aWMgTENoYXIgc3RhciA9ICcqJzsKKyAgICAgICAgJCQuaW5pdCgmc3RhciwgMSk7CiAgICAgfQog
ICA7CiAKQEAgLTEwNzAsNyArMTA2NCw3IEBAIHNwZWNpZmllcjoKICAgICAgICAgJCQtPnNldFZh
bHVlKCQxKTsKICAgICB9CiAgIHwgSEVYIHsKLSAgICAgICAgaWYgKCQxLmNoYXJhY3RlcnNbMF0g
Pj0gJzAnICYmICQxLmNoYXJhY3RlcnNbMF0gPD0gJzknKSB7CisgICAgICAgIGlmICgkMVswXSA+
PSAnMCcgJiYgJDFbMF0gPD0gJzknKSB7CiAgICAgICAgICAgICAkJCA9IDA7CiAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAkJCA9IHBhcnNlci0+Y3JlYXRlRmxvYXRpbmdTZWxlY3Rvcigp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDEyNjgzNykKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5
MSw3IEBACiAjaW5jbHVkZSA8d3RmL2R0b2EuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdC
dWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nSW1wbC5oPgogCiAjaWYgRU5BQkxFKENTU19JTUFHRV9TRVQpCiAjaW5j
bHVkZSAiQ1NTSW1hZ2VTZXRWYWx1ZS5oIgpAQCAtMTU3LDI1ICsxNTgsMTIgQEAgc3RhdGljIGNv
bnN0IGRvdWJsZSBNQVhfU0NBTEUgPSAxMDAwMDAwOwogCiBzdGF0aWMgYm9vbCBlcXVhbChjb25z
dCBDU1NQYXJzZXJTdHJpbmcmIGEsIGNvbnN0IGNoYXIqIGIpCiB7Ci0gICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBhLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIGlmICghYltpXSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYgKGEuY2hhcmFjdGVyc1tpXSAhPSBiW2ldKQotICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICByZXR1cm4gIWJbYS5sZW5ndGhdOwor
ICAgIHJldHVybiBhLmlzOEJpdCgpID8gV1RGOjplcXVhbChhLmNoYXJhY3RlcnM4KCksIHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihiKSwgYS5sZW5ndGgoKSkgOiBXVEY6OmVxdWFsKGEu
Y2hhcmFjdGVyczE2KCksIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihiKSwgYS5sZW5n
dGgoKSk7CiB9CiAKIHN0YXRpYyBib29sIGVxdWFsSWdub3JpbmdDYXNlKGNvbnN0IENTU1BhcnNl
clN0cmluZyYgYSwgY29uc3QgY2hhciogYikKIHsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGEu
bGVuZ3RoOyArK2kpIHsKLSAgICAgICAgaWYgKCFiW2ldKQotICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICBBU1NFUlQoIWlzQVNDSUlVcHBlcihiW2ldKSk7Ci0gICAgICAgIGlmICh0
b0FTQ0lJTG93ZXIoYS5jaGFyYWN0ZXJzW2ldKSAhPSBiW2ldKQotICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIH0KLSAgICByZXR1cm4gIWJbYS5sZW5ndGhdOworICAgIHJldHVybiBhLmlz
OEJpdCgpID8gV1RGOjplcXVhbElnbm9yaW5nQ2FzZShiLCBhLmNoYXJhY3RlcnM4KCksIGEubGVu
Z3RoKCkpIDogV1RGOjplcXVhbElnbm9yaW5nQ2FzZShiLCBhLmNoYXJhY3RlcnMxNigpLCBhLmxl
bmd0aCgpKTsKIH0KIAogc3RhdGljIGJvb2wgaGFzUHJlZml4KGNvbnN0IGNoYXIqIHN0cmluZywg
dW5zaWduZWQgbGVuZ3RoLCBjb25zdCBjaGFyKiBwcmVmaXgpCkBAIC0yNjAsOCArMjQ4LDEwIEBA
IENTU1BhcnNlcjo6Q1NTUGFyc2VyKGNvbnN0IENTU1BhcnNlckNvbnQKICAgICAsIG1fcHJvcGVy
dHlSYW5nZShVSU5UX01BWCwgVUlOVF9NQVgpCiAgICAgLCBtX3J1bGVTb3VyY2VEYXRhUmVzdWx0
KDApCiAgICAgLCBtX3BhcnNpbmdNb2RlKE5vcm1hbE1vZGUpCi0gICAgLCBtX2N1cnJlbnRDaGFy
YWN0ZXIoMCkKLSAgICAsIG1fdG9rZW5TdGFydCgwKQorICAgICwgbV9pczhCaXRTb3VyY2UoZmFs
c2UpCisgICAgLCBtX2N1cnJlbnRDaGFyYWN0ZXI4KDApCisgICAgLCBtX2N1cnJlbnRDaGFyYWN0
ZXIxNigwKQorICAgICwgbV9sZW5ndGgoMCkKICAgICAsIG1fdG9rZW4oMCkKICAgICAsIG1fbGlu
ZU51bWJlcigwKQogICAgICwgbV9sYXN0U2VsZWN0b3JMaW5lTnVtYmVyKDApCkBAIC0yNzIsNiAr
MjYyLDcgQEAgQ1NTUGFyc2VyOjpDU1NQYXJzZXIoY29uc3QgQ1NTUGFyc2VyQ29udAogI2lmIFlZ
REVCVUcgPiAwCiAgICAgY3NzeXlkZWJ1ZyA9IDE7CiAjZW5kaWYKKyAgICBtX3Rva2VuU3RhcnQu
cHRyOCA9IDA7CiAgICAgQ1NTUHJvcGVydHlTb3VyY2VEYXRhOjppbml0KCk7CiB9CiAKQEAgLTI4
NSw3ICsyNzYsOCBAQCBDU1NQYXJzZXI6On5DU1NQYXJzZXIoKQogICAgIGRlbGV0ZUFsbFZhbHVl
cyhtX2Zsb2F0aW5nRnVuY3Rpb25zKTsKIH0KIAotdm9pZCBDU1NQYXJzZXJTdHJpbmc6Omxvd2Vy
KCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorQUxXQVlTX0lOTElORSBzdGF0
aWMgdm9pZCBtYWtlTG93ZXIoQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQgbGVu
Z3RoKQogewogICAgIC8vIEZJWE1FOiBJZiB3ZSBuZWVkIFVuaWNvZGUgbG93ZXJjYXNpbmcgaGVy
ZSwgdGhlbiB3ZSBwcm9iYWJseSB3YW50IHRoZSByZWFsIGtpbmQKICAgICAvLyB0aGF0IGNhbiBw
b3RlbnRpYWxseSBjaGFuZ2UgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nIHJhdGhlciB0aGFuIHRo
ZSBjaGFyYWN0ZXIKQEAgLTI5NCwzMyArMjg2LDczIEBAIHZvaWQgQ1NTUGFyc2VyU3RyaW5nOjps
b3dlcigpCiAKICAgICBpZiAoY2hhcmFjdGVyc0FyZUFsbEFTQ0lJKGNoYXJhY3RlcnMsIGxlbmd0
aCkpIHsKICAgICAgICAgLy8gRmFzdCBjYXNlIGZvciBhbGwtQVNDSUkuCi0gICAgICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspCisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBsZW5ndGg7IGkrKykKICAgICAgICAgICAgIGNoYXJhY3RlcnNbaV0gPSB0b0FTQ0lJTG93
ZXIoY2hhcmFjdGVyc1tpXSk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBsZW5ndGg7IGkrKykKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0
aDsgaSsrKQogICAgICAgICAgICAgY2hhcmFjdGVyc1tpXSA9IFVuaWNvZGU6OnRvTG93ZXIoY2hh
cmFjdGVyc1tpXSk7CiAgICAgfQogfQogCit2b2lkIENTU1BhcnNlclN0cmluZzo6bG93ZXIoKQor
eworICAgIGlmIChpczhCaXQoKSkgeworICAgICAgICBtYWtlTG93ZXIoY2hhcmFjdGVyczgoKSwg
bGVuZ3RoKCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbWFrZUxvd2VyKGNoYXJh
Y3RlcnMxNigpLCBsZW5ndGgoKSk7Cit9CisKIHZvaWQgQ1NTUGFyc2VyOjpzZXR1cFBhcnNlcihj
b25zdCBjaGFyKiBwcmVmaXgsIGNvbnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBjaGFyKiBzdWZm
aXgpCiB7CiAgICAgbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3RoID0gc3RybGVuKHByZWZpeCk7Ci0g
ICAgaW50IGxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKSArIG1fcGFyc2VkVGV4dFByZWZpeExlbmd0
aCArIHN0cmxlbihzdWZmaXgpICsgMTsKKyAgICB1bnNpZ25lZCBzdHJpbmdMZW5ndGggPSBzdHJp
bmcubGVuZ3RoKCk7CisgICAgdW5zaWduZWQgbGVuZ3RoID0gc3RyaW5nTGVuZ3RoICsgbV9wYXJz
ZWRUZXh0UHJlZml4TGVuZ3RoICsgc3RybGVuKHN1ZmZpeCkgKyAxOworCisgICAgaWYgKCFzdHJp
bmdMZW5ndGggfHwgc3RyaW5nLmlzOEJpdCgpKSB7CisgICAgICAgIG1fZGF0YVN0YXJ0OCA9IGFk
b3B0QXJyYXlQdHIobmV3IExDaGFyW2xlbmd0aF0pOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3RoOyBpKyspCisgICAgICAgICAgICBtX2Rh
dGFTdGFydDhbaV0gPSBwcmVmaXhbaV07CisKKyAgICAgICAgaWYgKHN0cmluZ0xlbmd0aCkKKyAg
ICAgICAgICAgIG1lbWNweShtX2RhdGFTdGFydDguZ2V0KCkgKyBtX3BhcnNlZFRleHRQcmVmaXhM
ZW5ndGgsIHN0cmluZy5jaGFyYWN0ZXJzOCgpLCBzdHJpbmdMZW5ndGggKiBzaXplb2YoTENoYXIp
KTsKIAotICAgIG1fZGF0YVN0YXJ0ID0gYWRvcHRBcnJheVB0cihuZXcgVUNoYXJbbGVuZ3RoXSk7
CisgICAgICAgIHVuc2lnbmVkIHN0YXJ0ID0gbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3RoICsgc3Ry
aW5nTGVuZ3RoOworICAgICAgICB1bnNpZ25lZCBlbmQgPSBzdGFydCArIHN0cmxlbihzdWZmaXgp
OworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydDsgaSA8IGVuZDsgaSsrKQorICAgICAg
ICAgICAgbV9kYXRhU3RhcnQ4W2ldID0gc3VmZml4W2kgLSBzdGFydF07CisKKyAgICAgICAgbV9k
YXRhU3RhcnQ4W2xlbmd0aCAtIDFdID0gMDsKKworICAgICAgICBtX2lzOEJpdFNvdXJjZSA9IHRy
dWU7CisgICAgICAgIG1fY3VycmVudENoYXJhY3RlcjggPSBtX2RhdGFTdGFydDguZ2V0KCk7Cisg
ICAgICAgIG1fY3VycmVudENoYXJhY3RlcjE2ID0gMDsKKyAgICAgICAgc2V0VG9rZW5TdGFydDxM
Q2hhcj4obV9jdXJyZW50Q2hhcmFjdGVyOCk7CisgICAgICAgIG1fbGVuZ3RoID0gbGVuZ3RoOwor
ICAgICAgICBtX2xleEZ1bmMgPSAmQ1NTUGFyc2VyOjpyZWFsTGV4PExDaGFyPjsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIG1fZGF0YVN0YXJ0MTYgPSBhZG9wdEFycmF5UHRyKG5ldyBV
Q2hhcltsZW5ndGhdKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9wYXJzZWRUZXh0
UHJlZml4TGVuZ3RoOyBpKyspCi0gICAgICAgIG1fZGF0YVN0YXJ0W2ldID0gcHJlZml4W2ldOwor
ICAgICAgICBtX2RhdGFTdGFydDE2W2ldID0gcHJlZml4W2ldOwogCi0gICAgbWVtY3B5KG1fZGF0
YVN0YXJ0LmdldCgpICsgbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3RoLCBzdHJpbmcuY2hhcmFjdGVy
cygpLCBzdHJpbmcubGVuZ3RoKCkgKiBzaXplb2YoVUNoYXIpKTsKKyAgICBtZW1jcHkobV9kYXRh
U3RhcnQxNi5nZXQoKSArIG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCwgc3RyaW5nLmNoYXJhY3Rl
cnMoKSwgc3RyaW5nTGVuZ3RoICogc2l6ZW9mKFVDaGFyKSk7CiAKLSAgICB1bnNpZ25lZCBzdGFy
dCA9IG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCArIHN0cmluZy5sZW5ndGgoKTsKKyAgICB1bnNp
Z25lZCBzdGFydCA9IG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCArIHN0cmluZ0xlbmd0aDsKICAg
ICB1bnNpZ25lZCBlbmQgPSBzdGFydCArIHN0cmxlbihzdWZmaXgpOwogICAgIGZvciAodW5zaWdu
ZWQgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpKyspCi0gICAgICAgIG1fZGF0YVN0YXJ0W2ldID0gc3Vm
Zml4W2kgLSBzdGFydF07CisgICAgICAgIG1fZGF0YVN0YXJ0MTZbaV0gPSBzdWZmaXhbaSAtIHN0
YXJ0XTsKIAotICAgIG1fZGF0YVN0YXJ0W2xlbmd0aCAtIDFdID0gMDsKKyAgICBtX2RhdGFTdGFy
dDE2W2xlbmd0aCAtIDFdID0gMDsKIAotICAgIG1fY3VycmVudENoYXJhY3RlciA9IG1fdG9rZW5T
dGFydCA9IG1fZGF0YVN0YXJ0LmdldCgpOworICAgIG1faXM4Qml0U291cmNlID0gZmFsc2U7Cisg
ICAgbV9jdXJyZW50Q2hhcmFjdGVyOCA9IDA7CisgICAgbV9jdXJyZW50Q2hhcmFjdGVyMTYgPSBt
X2RhdGFTdGFydDE2LmdldCgpOworICAgIHNldFRva2VuU3RhcnQ8VUNoYXI+KG1fY3VycmVudENo
YXJhY3RlcjE2KTsKKyAgICBtX2xlbmd0aCA9IGxlbmd0aDsKKyAgICBtX2xleEZ1bmMgPSAmQ1NT
UGFyc2VyOjpyZWFsTGV4PFVDaGFyPjsKIH0KIAogdm9pZCBDU1NQYXJzZXI6OnBhcnNlU2hlZXQo
U3R5bGVTaGVldENvbnRlbnRzKiBzaGVldCwgY29uc3QgU3RyaW5nJiBzdHJpbmcsIGludCBzdGFy
dExpbmVOdW1iZXIsIFJ1bGVTb3VyY2VEYXRhTGlzdCogcnVsZVNvdXJjZURhdGFSZXN1bHQpCkBA
IC0zOTAsOCArNDIyLDcgQEAgc3RhdGljIGJvb2wgcGFyc2VDb2xvclZhbHVlKFN0eWxlUHJvcGVy
dAogICAgIGlmICghaXNDb2xvclByb3BlcnR5SUQocHJvcGVydHlJZCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICBDU1NQYXJzZXJTdHJpbmcgY3NzU3RyaW5nOwotICAgIGNzc1N0cmluZy5j
aGFyYWN0ZXJzID0gY29uc3RfY2FzdDxVQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpOwotICAg
IGNzc1N0cmluZy5sZW5ndGggPSBzdHJpbmcubGVuZ3RoKCk7CisgICAgY3NzU3RyaW5nLmluaXQo
c3RyaW5nKTsKICAgICBpbnQgdmFsdWVJRCA9IGNzc1ZhbHVlS2V5d29yZElEKGNzc1N0cmluZyk7
CiAgICAgYm9vbCB2YWxpZFByaW1pdGl2ZSA9IGZhbHNlOwogICAgIGlmICh2YWx1ZUlEID09IENT
U1ZhbHVlV2Via2l0VGV4dCkKQEAgLTQ2NCw4ICs0OTUsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
aXNTaW1wbGVMZW5ndGhQcm9wZXJ0CiAgICAgfQogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hh
clR5cGU+Ci1zdGF0aWMgaW5saW5lIGJvb2wgcGFyc2VTaW1wbGVMZW5ndGgoY29uc3QgQ2hhclR5
cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkJiBsZW5ndGgsIENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0
VHlwZXMmIHVuaXQsIGRvdWJsZSYgbnVtYmVyKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3Rl
clR5cGU+CitzdGF0aWMgaW5saW5lIGJvb2wgcGFyc2VTaW1wbGVMZW5ndGgoY29uc3QgQ2hhcmFj
dGVyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQmIGxlbmd0aCwgQ1NTUHJpbWl0aXZlVmFsdWU6
OlVuaXRUeXBlcyYgdW5pdCwgZG91YmxlJiBudW1iZXIpCiB7CiAgICAgaWYgKGxlbmd0aCA+IDIg
JiYgKGNoYXJhY3RlcnNbbGVuZ3RoIC0gMl0gfCAweDIwKSA9PSAncCcgJiYgKGNoYXJhY3RlcnNb
bGVuZ3RoIC0gMV0gfCAweDIwKSA9PSAneCcpIHsKICAgICAgICAgbGVuZ3RoIC09IDI7CkBAIC0x
MDE3LDggKzEwNDgsNyBAQCBzdGF0aWMgYm9vbCBwYXJzZUtleXdvcmRWYWx1ZShTdHlsZVByb3Bl
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIENTU1BhcnNlclN0cmluZyBjc3NTdHJpbmc7
Ci0gICAgY3NzU3RyaW5nLmNoYXJhY3RlcnMgPSBjb25zdF9jYXN0PFVDaGFyKj4oc3RyaW5nLmNo
YXJhY3RlcnMoKSk7Ci0gICAgY3NzU3RyaW5nLmxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAg
ICBjc3NTdHJpbmcuaW5pdChzdHJpbmcpOwogICAgIGludCB2YWx1ZUlEID0gY3NzVmFsdWVLZXl3
b3JkSUQoY3NzU3RyaW5nKTsKIAogICAgIGlmICghdmFsdWVJRCkKQEAgLTEwMzgsOCArMTA2OCw4
IEBAIHN0YXRpYyBib29sIHBhcnNlS2V5d29yZFZhbHVlKFN0eWxlUHJvcGUKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJUeXBlPgotc3RhdGljIGJvb2wgcGFy
c2VUcmFuc2Zvcm1Bcmd1bWVudHMoV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUqIHRyYW5zZm9ybVZh
bHVlLCBDaGFyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBzdGFy
dCwgdW5zaWduZWQgZXhwZWN0ZWRDb3VudCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJU
eXBlPgorc3RhdGljIGJvb2wgcGFyc2VUcmFuc2Zvcm1Bcmd1bWVudHMoV2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWUqIHRyYW5zZm9ybVZhbHVlLCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNp
Z25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBleHBlY3RlZENvdW50KQogewog
ICAgIHdoaWxlIChleHBlY3RlZENvdW50KSB7CiAgICAgICAgIHNpemVfdCBlbmQgPSBXVEY6OmZp
bmQoY2hhcmFjdGVycywgbGVuZ3RoLCBleHBlY3RlZENvdW50ID09IDEgPyAnKScgOiAnLCcsIHN0
YXJ0KTsKQEAgLTEyMjIsOCArMTI1Miw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVN5c3RlbUNv
bG9yKFJHQkEzMiYKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgQ1NTUGFyc2VyU3RyaW5n
IGNzc0NvbG9yOwotICAgIGNzc0NvbG9yLmNoYXJhY3RlcnMgPSBjb25zdF9jYXN0PFVDaGFyKj4o
c3RyaW5nLmNoYXJhY3RlcnMoKSk7Ci0gICAgY3NzQ29sb3IubGVuZ3RoID0gc3RyaW5nLmxlbmd0
aCgpOworICAgIGNzc0NvbG9yLmluaXQoc3RyaW5nKTsKICAgICBpbnQgaWQgPSBjc3NWYWx1ZUtl
eXdvcmRJRChjc3NDb2xvcik7CiAgICAgaWYgKGlkIDw9IDApCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKQEAgLTMwNjYsNyArMzA5NSw3IEBAIHZvaWQgQ1NTUGFyc2VyOjpzdG9yZVZhcmlhYmxlRGVj
bGFyYXRpb24KICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIEFTU0VSVChuYW1lLmxlbmd0aCA+
IDEyKTsKLSAgICBBdG9taWNTdHJpbmcgdmFyaWFibGVOYW1lID0gU3RyaW5nKG5hbWUuY2hhcmFj
dGVycyArIDEyLCBuYW1lLmxlbmd0aCAtIDEyKTsKKyAgICBBdG9taWNTdHJpbmcgdmFyaWFibGVO
YW1lID0gbmFtZS5pczhCaXQoKSA/IEF0b21pY1N0cmluZyhuYW1lLmNoYXJhY3RlcnM4KCkgKyAx
MiwgbmFtZS5sZW5ndGgoKSAtIDEyKSA6IEF0b21pY1N0cmluZyhuYW1lLmNoYXJhY3RlcnMxNigp
ICsgMTIsIG5hbWUubGVuZ3RoKCkgLSAxMik7CiAKICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7
CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgc2l6ZSA9IHZhbHVlLT5zaXplKCk7IGkgPCBzaXpl
OyBpKyspIHsKQEAgLTQ4NDMsNyArNDg3MiwxMyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBp
ZiAoIW1fYnVpbGRlci5pc0VtcHR5KCkpCiAgICAgICAgICAgICBtX2J1aWxkZXIuYXBwZW5kKCcg
Jyk7Ci0gICAgICAgIG1fYnVpbGRlci5hcHBlbmQoc3RyaW5nLmNoYXJhY3RlcnMsIHN0cmluZy5s
ZW5ndGgpOworCisgICAgICAgIGlmIChzdHJpbmcuaXM4Qml0KCkpIHsKKyAgICAgICAgICAgIG1f
YnVpbGRlci5hcHBlbmQoc3RyaW5nLmNoYXJhY3RlcnM4KCksIHN0cmluZy5sZW5ndGgoKSk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBtX2J1aWxkZXIuYXBwZW5k
KHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgc3RyaW5nLmxlbmd0aCgpKTsKICAgICB9CiAKICAgICB2
b2lkIGNvbW1pdCgpCkBAIC01MTk2LDcgKzUyMzEsOCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VG
b250RmFjZVVuaWNvZGVSYW5nCiAKIC8vIFJldHVybnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJz
IHdoaWNoIGZvcm0gYSB2YWxpZCBkb3VibGUKIC8vIGFuZCBhcmUgdGVybWluYXRlZCBieSB0aGUg
Z2l2ZW4gdGVybWluYXRvciBjaGFyYWN0ZXIKLXN0YXRpYyBpbnQgY2hlY2tGb3JWYWxpZERvdWJs
ZShjb25zdCBVQ2hhciogc3RyaW5nLCBjb25zdCBVQ2hhciogZW5kLCBjb25zdCBjaGFyIHRlcm1p
bmF0b3IpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbnQgY2hl
Y2tGb3JWYWxpZERvdWJsZShjb25zdCBDaGFyYWN0ZXJUeXBlKiBzdHJpbmcsIGNvbnN0IENoYXJh
Y3RlclR5cGUqIGVuZCwgY29uc3QgY2hhciB0ZXJtaW5hdG9yKQogewogICAgIGludCBsZW5ndGgg
PSBlbmQgLSBzdHJpbmc7CiAgICAgaWYgKGxlbmd0aCA8IDEpCkBAIC01MjI2LDcgKzUyNjIsOCBA
QCBzdGF0aWMgaW50IGNoZWNrRm9yVmFsaWREb3VibGUoY29uc3QgVUNoCiAKIC8vIFJldHVybnMg
dGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGNvbnN1bWVkIGZvciBwYXJzaW5nIGEgdmFsaWQgZG91
YmxlCiAvLyB0ZXJtaW5hdGVkIGJ5IHRoZSBnaXZlbiB0ZXJtaW5hdG9yIGNoYXJhY3Rlcgotc3Rh
dGljIGludCBwYXJzZURvdWJsZShjb25zdCBVQ2hhciogc3RyaW5nLCBjb25zdCBVQ2hhciogZW5k
LCBjb25zdCBjaGFyIHRlcm1pbmF0b3IsIGRvdWJsZSYgdmFsdWUpCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbnQgcGFyc2VEb3VibGUoY29uc3QgQ2hhcmFjdGVy
VHlwZSogc3RyaW5nLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBlbmQsIGNvbnN0IGNoYXIgdGVybWlu
YXRvciwgZG91YmxlJiB2YWx1ZSkKIHsKICAgICBpbnQgbGVuZ3RoID0gY2hlY2tGb3JWYWxpZERv
dWJsZShzdHJpbmcsIGVuZCwgdGVybWluYXRvcik7CiAgICAgaWYgKCFsZW5ndGgpCkBAIC01MjYw
LDkgKzUyOTcsMTAgQEAgc3RhdGljIGludCBwYXJzZURvdWJsZShjb25zdCBVQ2hhciogc3RyaQog
ICAgIHJldHVybiBsZW5ndGg7CiB9CiAKLXN0YXRpYyBib29sIHBhcnNlQ29sb3JJbnRPclBlcmNl
bnRhZ2UoY29uc3QgVUNoYXIqJiBzdHJpbmcsIGNvbnN0IFVDaGFyKiBlbmQsIGNvbnN0IGNoYXIg
dGVybWluYXRvciwgQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyYgZXhwZWN0LCBpbnQmIHZh
bHVlKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgYm9vbCBwYXJz
ZUNvbG9ySW50T3JQZXJjZW50YWdlKGNvbnN0IENoYXJhY3RlclR5cGUqJiBzdHJpbmcsIGNvbnN0
IENoYXJhY3RlclR5cGUqIGVuZCwgY29uc3QgY2hhciB0ZXJtaW5hdG9yLCBDU1NQcmltaXRpdmVW
YWx1ZTo6VW5pdFR5cGVzJiBleHBlY3QsIGludCYgdmFsdWUpCiB7Ci0gICAgY29uc3QgVUNoYXIq
IGN1cnJlbnQgPSBzdHJpbmc7CisgICAgY29uc3QgQ2hhcmFjdGVyVHlwZSogY3VycmVudCA9IHN0
cmluZzsKICAgICBkb3VibGUgbG9jYWxWYWx1ZSA9IDA7CiAgICAgYm9vbCBuZWdhdGl2ZSA9IGZh
bHNlOwogICAgIHdoaWxlIChjdXJyZW50ICE9IGVuZCAmJiBpc0hUTUxTcGFjZSgqY3VycmVudCkp
CkBAIC01MzI3LDcgKzUzNjUsOCBAQCBzdGF0aWMgYm9vbCBwYXJzZUNvbG9ySW50T3JQZXJjZW50
YWdlKGNvCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1RlbnRo
QWxwaGEoY29uc3QgVUNoYXIqIHN0cmluZywgY29uc3QgaW50IGxlbmd0aCkKK3RlbXBsYXRlIDx0
eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGlzVGVudGhBbHBoYShj
b25zdCBDaGFyYWN0ZXJUeXBlKiBzdHJpbmcsIGNvbnN0IGludCBsZW5ndGgpCiB7CiAgICAgLy8g
IjAuWCIKICAgICBpZiAobGVuZ3RoID09IDMgJiYgc3RyaW5nWzBdID09ICcwJyAmJiBzdHJpbmdb
MV0gPT0gJy4nICYmIGlzQVNDSUlEaWdpdChzdHJpbmdbMl0pKQpAQCAtNTM0MCw3ICs1Mzc5LDgg
QEAgc3RhdGljIGlubGluZSBib29sIGlzVGVudGhBbHBoYShjb25zdCBVQwogICAgIHJldHVybiBm
YWxzZTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHBhcnNlQWxwaGFWYWx1ZShjb25zdCBVQ2hh
ciomIHN0cmluZywgY29uc3QgVUNoYXIqIGVuZCwgY29uc3QgY2hhciB0ZXJtaW5hdG9yLCBpbnQm
IHZhbHVlKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5l
IGJvb2wgcGFyc2VBbHBoYVZhbHVlKGNvbnN0IENoYXJhY3RlclR5cGUqJiBzdHJpbmcsIGNvbnN0
IENoYXJhY3RlclR5cGUqIGVuZCwgY29uc3QgY2hhciB0ZXJtaW5hdG9yLCBpbnQmIHZhbHVlKQog
ewogICAgIHdoaWxlIChzdHJpbmcgIT0gZW5kICYmIGlzSFRNTFNwYWNlKCpzdHJpbmcpKQogICAg
ICAgICBzdHJpbmcrKzsKQEAgLTUzOTEsNyArNTQzMSw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBw
YXJzZUFscGhhVmFsdWUoY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGljIGlubGlu
ZSBib29sIG1pZ2h0QmVSR0JBKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5n
dGgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgYm9v
bCBtaWdodEJlUkdCQShjb25zdCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBs
ZW5ndGgpCiB7CiAgICAgaWYgKGxlbmd0aCA8IDUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAg
LTU0MDIsNyArNTQ0Myw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBtaWdodEJlUkdCQShjb25zdCBV
Q2gKICAgICAgICAgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChjaGFyYWN0ZXJzWzNdLCAn
YScpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgbWlnaHRCZVJHQihjb25zdCBVQ2hhciogY2hh
cmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5
cGU+CitzdGF0aWMgaW5saW5lIGJvb2wgbWlnaHRCZVJHQihjb25zdCBDaGFyYWN0ZXJUeXBlKiBj
aGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgaWYgKGxlbmd0aCA8IDQpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKQEAgLTU0MTIsMTQgKzU0NTQsMTMgQEAgc3RhdGljIGlubGluZSBi
b29sIG1pZ2h0QmVSR0IoY29uc3QgVUNoYQogICAgICAgICAmJiBpc0FTQ0lJQWxwaGFDYXNlbGVz
c0VxdWFsKGNoYXJhY3RlcnNbMl0sICdiJyk7CiB9CiAKLWJvb2wgQ1NTUGFyc2VyOjpmYXN0UGFy
c2VDb2xvcihSR0JBMzImIHJnYiwgY29uc3QgU3RyaW5nJiBuYW1lLCBib29sIHN0cmljdCkKK3Rl
bXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGZhc3RQ
YXJzZUNvbG9ySW50ZXJuYWwoUkdCQTMyJiByZ2IsIGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJh
Y3RlcnMsIHVuc2lnbmVkIGxlbmd0aCAsIGJvb2wgc3RyaWN0KQogewotICAgIGNvbnN0IFVDaGFy
KiBjaGFyYWN0ZXJzID0gbmFtZS5jaGFyYWN0ZXJzKCk7Ci0gICAgdW5zaWduZWQgbGVuZ3RoID0g
bmFtZS5sZW5ndGgoKTsKICAgICBDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzIGV4cGVjdCA9
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVU5LTk9XTjsKLQorICAgIAogICAgIGlmICghc3RyaWN0
ICYmIGxlbmd0aCA+PSAzKSB7Ci0gICAgICAgIGlmIChuYW1lWzBdID09ICcjJykgeworICAgICAg
ICBpZiAoY2hhcmFjdGVyc1swXSA9PSAnIycpIHsKICAgICAgICAgICAgIGlmIChDb2xvcjo6cGFy
c2VIZXhDb2xvcihjaGFyYWN0ZXJzICsgMSwgbGVuZ3RoIC0gMSwgcmdiKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTU0MzAsMTMgKzU0NzEsMTMg
QEAgYm9vbCBDU1NQYXJzZXI6OmZhc3RQYXJzZUNvbG9yKFJHQkEzMiYgcgogCiAgICAgLy8gVHJ5
IHJnYmEoKSBzeW50YXguCiAgICAgaWYgKG1pZ2h0QmVSR0JBKGNoYXJhY3RlcnMsIGxlbmd0aCkp
IHsKLSAgICAgICAgY29uc3QgVUNoYXIqIGN1cnJlbnQgPSBjaGFyYWN0ZXJzICsgNTsKLSAgICAg
ICAgY29uc3QgVUNoYXIqIGVuZCA9IGNoYXJhY3RlcnMgKyBsZW5ndGg7CisgICAgICAgIGNvbnN0
IENoYXJhY3RlclR5cGUqIGN1cnJlbnQgPSBjaGFyYWN0ZXJzICsgNTsKKyAgICAgICAgY29uc3Qg
Q2hhcmFjdGVyVHlwZSogZW5kID0gY2hhcmFjdGVycyArIGxlbmd0aDsKICAgICAgICAgaW50IHJl
ZDsKICAgICAgICAgaW50IGdyZWVuOwogICAgICAgICBpbnQgYmx1ZTsKICAgICAgICAgaW50IGFs
cGhhOwotCisgICAgICAgIAogICAgICAgICBpZiAoIXBhcnNlQ29sb3JJbnRPclBlcmNlbnRhZ2Uo
Y3VycmVudCwgZW5kLCAnLCcsIGV4cGVjdCwgcmVkKSkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgaWYgKCFwYXJzZUNvbG9ySW50T3JQZXJjZW50YWdlKGN1cnJlbnQsIGVuZCwg
JywnLCBleHBlY3QsIGdyZWVuKSkKQEAgLTU0NTMsOCArNTQ5NCw4IEBAIGJvb2wgQ1NTUGFyc2Vy
OjpmYXN0UGFyc2VDb2xvcihSR0JBMzImIHIKIAogICAgIC8vIFRyeSByZ2IoKSBzeW50YXguCiAg
ICAgaWYgKG1pZ2h0QmVSR0IoY2hhcmFjdGVycywgbGVuZ3RoKSkgewotICAgICAgICBjb25zdCBV
Q2hhciogY3VycmVudCA9IGNoYXJhY3RlcnMgKyA0OwotICAgICAgICBjb25zdCBVQ2hhciogZW5k
ID0gY2hhcmFjdGVycyArIGxlbmd0aDsKKyAgICAgICAgY29uc3QgQ2hhcmFjdGVyVHlwZSogY3Vy
cmVudCA9IGNoYXJhY3RlcnMgKyA0OworICAgICAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBlbmQg
PSBjaGFyYWN0ZXJzICsgbGVuZ3RoOwogICAgICAgICBpbnQgcmVkOwogICAgICAgICBpbnQgZ3Jl
ZW47CiAgICAgICAgIGludCBibHVlOwpAQCAtNTQ3MCw2ICs1NTExLDI1IEBAIGJvb2wgQ1NTUGFy
c2VyOjpmYXN0UGFyc2VDb2xvcihSR0JBMzImIHIKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQogCisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIENTU1BhcnNlcjo6ZmFzdFBhcnNlQ29s
b3IoUkdCQTMyJiByZ2IsIGNvbnN0IFN0cmluZyYgbmFtZSwgYm9vbCBzdHJpY3QpCit7CisgICAg
dW5zaWduZWQgbGVuZ3RoID0gbmFtZS5sZW5ndGgoKTsKKyAgICBib29sIHBhcnNlUmVzdWx0Owor
CisgICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChuYW1l
LmlzOEJpdCgpKQorICAgICAgICBwYXJzZVJlc3VsdCA9IGZhc3RQYXJzZUNvbG9ySW50ZXJuYWwo
cmdiLCBuYW1lLmNoYXJhY3RlcnM4KCksIGxlbmd0aCwgc3RyaWN0KTsKKyAgICBlbHNlCisgICAg
ICAgIHBhcnNlUmVzdWx0ID0gZmFzdFBhcnNlQ29sb3JJbnRlcm5hbChyZ2IsIG5hbWUuY2hhcmFj
dGVycygpLCBsZW5ndGgsIHN0cmljdCk7CisKKyAgICBpZiAocGFyc2VSZXN1bHQpCisgICAgICAg
IHJldHVybiB0cnVlOworCiAgICAgLy8gVHJ5IG5hbWVkIGNvbG9ycy4KICAgICBDb2xvciB0YzsK
ICAgICB0Yy5zZXROYW1lZENvbG9yKG5hbWUpOwpAQCAtNTQ3OCw2ICs1NTM4LDcgQEAgYm9vbCBD
U1NQYXJzZXI6OmZhc3RQYXJzZUNvbG9yKFJHQkEzMiYgcgogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOworCiB9CiAgICAgCiBpbmxpbmUgZG91YmxlIENTU1Bh
cnNlcjo6cGFyc2VkRG91YmxlKENTU1BhcnNlclZhbHVlICp2LCBSZWxlYXNlUGFyc2VkQ2FsY1Zh
bHVlQ29uZGl0aW9uIHJlbGVhc2VDYWxjKQpAQCAtNzE4MCw5ICs3MjQxLDE2IEBAIFBhc3NSZWZQ
dHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VJbWEKIAogICAgICAgICBkb3VibGUgaW1hZ2VT
Y2FsZUZhY3RvciA9IDA7CiAgICAgICAgIGNvbnN0IFN0cmluZyYgc3RyaW5nID0gYXJnLT5zdHJp
bmc7Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBjdXJyZW50ID0gc3RyaW5nLmNoYXJhY3RlcnMoKTsK
LSAgICAgICAgY29uc3QgVUNoYXIqIGVuZCA9IGN1cnJlbnQgKyBzdHJpbmcubGVuZ3RoKCk7Ci0g
ICAgICAgIHBhcnNlRG91YmxlKGN1cnJlbnQsIGVuZCwgJ3gnLCBpbWFnZVNjYWxlRmFjdG9yKTsK
KyAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOworICAgICAgICBpZiAo
IWxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBpZiAoc3RyaW5nLmlzOEJp
dCgpKSB7CisgICAgICAgICAgICBjb25zdCBMQ2hhciogc3RhcnQgPSBzdHJpbmcuY2hhcmFjdGVy
czgoKTsKKyAgICAgICAgICAgIHBhcnNlRG91YmxlKHN0YXJ0LCBzdGFydCArIGxlbmd0aCwgJ3gn
LCBpbWFnZVNjYWxlRmFjdG9yKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGNvbnN0
IFVDaGFyKiBzdGFydCA9IHN0cmluZy5jaGFyYWN0ZXJzKCk7CisgICAgICAgICAgICBwYXJzZURv
dWJsZShzdGFydCwgc3RhcnQgKyBsZW5ndGgsICd4JywgaW1hZ2VTY2FsZUZhY3Rvcik7CisgICAg
ICAgIH0KICAgICAgICAgaWYgKGltYWdlU2NhbGVGYWN0b3IgPD0gMCkKICAgICAgICAgICAgIHJl
dHVybiAwOwogICAgICAgICBpbWFnZVNldC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZh
bHVlKGltYWdlU2NhbGVGYWN0b3IsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSk7CkBA
IC03MjA3LDEwICs3Mjc1LDEwIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFy
c2VJbWEKIGNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbkluZm8gewogcHVibGljOgogICAgIFRyYW5z
Zm9ybU9wZXJhdGlvbkluZm8oY29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBuYW1lKQotICAgIDogbV90
eXBlKFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpVbmtub3duVHJhbnNmb3JtT3BlcmF0aW9uKQot
ICAgICwgbV9hcmdDb3VudCgxKQotICAgICwgbV9hbGxvd1NpbmdsZUFyZ3VtZW50KGZhbHNlKQot
ICAgICwgbV91bml0KENTU1BhcnNlcjo6RlVua25vd24pCisgICAgICAgIDogbV90eXBlKFdlYktp
dENTU1RyYW5zZm9ybVZhbHVlOjpVbmtub3duVHJhbnNmb3JtT3BlcmF0aW9uKQorICAgICAgICAs
IG1fYXJnQ291bnQoMSkKKyAgICAgICAgLCBtX2FsbG93U2luZ2xlQXJndW1lbnQoZmFsc2UpCisg
ICAgICAgICwgbV91bml0KENTU1BhcnNlcjo6RlVua25vd24pCiAgICAgewogICAgICAgICBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInNjYWxlKCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5h
bWUsICJzY2FsZXgoIikgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInNjYWxleSgiKSB8fCBl
cXVhbElnbm9yaW5nQ2FzZShuYW1lLCAic2NhbGV6KCIpKSB7CiAgICAgICAgICAgICBtX3VuaXQg
PSBDU1NQYXJzZXI6OkZOdW1iZXI7CkBAIC04MTQ2LDE3ICs4MjE0LDE3IEBAIGJvb2wgQ1NTUGFy
c2VyOjpwYXJzZUxpbmVCb3hDb250YWluKGJvb2wKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZvbnRG
ZWF0dXJlVGFnKENTU1ZhbHVlTGlzdCogc2V0dGluZ3MpCiB7CiAgICAgLy8gRmVhdHVyZSB0YWcg
bmFtZSBjb25zaXN0cyBvZiA0LWxldHRlciBjaGFyYWN0ZXJzLgotICAgIHN0YXRpYyBjb25zdCBp
bnQgdGFnTmFtZUxlbmd0aCA9IDQ7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHRhZ05hbWVM
ZW5ndGggPSA0OwogCiAgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1
cnJlbnQoKTsKICAgICAvLyBGZWF0dXJlIHRhZyBuYW1lIGNvbWVzIGZpcnN0CiAgICAgaWYgKHZh
bHVlLT51bml0ICE9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfU1RSSU5HKQogICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgaWYgKHZhbHVlLT5zdHJpbmcubGVuZ3RoICE9IHRhZ05hbWVMZW5ndGgp
CisgICAgaWYgKHZhbHVlLT5zdHJpbmcubGVuZ3RoKCkgIT0gdGFnTmFtZUxlbmd0aCkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgdGFnTmFtZUxlbmd0aDsg
KytpKSB7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRhZ05hbWVMZW5ndGg7ICsraSkg
ewogICAgICAgICAvLyBMaW1pdHMgdGhlIHJhbmdlIG9mIGNoYXJhY3RlcnMgdG8gMHgyMC0weDdF
LCBmb2xsb3dpbmcgdGhlIHRhZyBuYW1lIHJ1bGVzIGRlZmllbmQgaW4gdGhlIE9wZW5UeXBlIHNw
ZWNpZmljYXRpb24uCi0gICAgICAgIFVDaGFyIGNoYXJhY3RlciA9IHZhbHVlLT5zdHJpbmcuY2hh
cmFjdGVyc1tpXTsKKyAgICAgICAgVUNoYXIgY2hhcmFjdGVyID0gdmFsdWUtPnN0cmluZ1tpXTsK
ICAgICAgICAgaWYgKGNoYXJhY3RlciA8IDB4MjAgfHwgY2hhcmFjdGVyID4gMHg3RSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC04NDM3LDMwICs4NTA1LDM1IEBAIHN0YXRp
YyBjb25zdCBDaGFyYWN0ZXJUeXBlIHR5cGVzT2ZBU0NJSUMKIAogLy8gVXRpbGl0eSBmdW5jdGlv
bnMgZm9yIHRoZSBDU1MgdG9rZW5pemVyLgogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNDU1NMZXR0
ZXIoVUNoYXIgY2hhcmFjdGVyKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Citz
dGF0aWMgaW5saW5lIGJvb2wgaXNDU1NMZXR0ZXIoQ2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIpCiB7
CiAgICAgcmV0dXJuIGNoYXJhY3RlciA+PSAxMjggfHwgdHlwZXNPZkFTQ0lJQ2hhcmFjdGVyc1tj
aGFyYWN0ZXJdIDw9IENoYXJhY3RlckRhc2g7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc0NT
U0VzY2FwZShVQ2hhciBjaGFyYWN0ZXIpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlw
ZT4KK3N0YXRpYyBpbmxpbmUgYm9vbCBpc0NTU0VzY2FwZShDaGFyYWN0ZXJUeXBlIGNoYXJhY3Rl
cikKIHsKICAgICByZXR1cm4gY2hhcmFjdGVyID49ICcgJyAmJiBjaGFyYWN0ZXIgIT0gMTI3Owog
fQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNVUklMZXR0ZXIoVUNoYXIgY2hhcmFjdGVyKQordGVt
cGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5lIGJvb2wgaXNVUklM
ZXR0ZXIoQ2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIpCiB7CiAgICAgcmV0dXJuIChjaGFyYWN0ZXIg
Pj0gJyonICYmIGNoYXJhY3RlciAhPSAxMjcpIHx8IChjaGFyYWN0ZXIgPj0gJyMnICYmIGNoYXJh
Y3RlciA8PSAnJicpIHx8IGNoYXJhY3RlciA9PSAnISc7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9v
bCBpc0lkZW50aWZpZXJTdGFydEFmdGVyRGFzaChVQ2hhciogY3VycmVudENoYXJhY3RlcikKK3Rl
bXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGlzSWRl
bnRpZmllclN0YXJ0QWZ0ZXJEYXNoKENoYXJhY3RlclR5cGUqIGN1cnJlbnRDaGFyYWN0ZXIpCiB7
CiAgICAgcmV0dXJuIGlzQVNDSUlBbHBoYShjdXJyZW50Q2hhcmFjdGVyWzBdKSB8fCBjdXJyZW50
Q2hhcmFjdGVyWzBdID09ICdfJyB8fCBjdXJyZW50Q2hhcmFjdGVyWzBdID49IDEyOAogICAgICAg
ICB8fCAoY3VycmVudENoYXJhY3RlclswXSA9PSAnXFwnICYmIGlzQ1NTRXNjYXBlKGN1cnJlbnRD
aGFyYWN0ZXJbMV0pKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGlzRXF1YWxUb0NTU0lkZW50
aWZpZXIoVUNoYXIqIGNzc1N0cmluZywgY29uc3QgY2hhciogY29uc3RhbnRTdHJpbmcpCit0ZW1w
bGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgYm9vbCBpc0VxdWFs
VG9DU1NJZGVudGlmaWVyKENoYXJhY3RlclR5cGUqIGNzc1N0cmluZywgY29uc3QgY2hhciogY29u
c3RhbnRTdHJpbmcpCiB7Ci0gICAgLy8gQ29tcGFyZSBhbiBVQ2hhciBtZW1vcnkgZGF0YSB3aXRo
IGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZy4KKyAgICAvLyBDb21wYXJlIGFuIGNoYXJhY3RlciBt
ZW1vcnkgZGF0YSB3aXRoIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZy4KICAgICBkbyB7CiAgICAg
ICAgIC8vIFRoZSBpbnB1dCBtdXN0IGJlIHBhcnQgb2YgYW4gaWRlbnRpZmllciBpZiBjb25zdGFu
dENoYXIgb3IgY29uc3RTdHJpbmcKICAgICAgICAgLy8gY29udGFpbnMgJy0nLiBPdGhlcndpc2Ug
dG9BU0NJSUxvd2VyVW5jaGVja2VkKCdccicpIHdvdWxkIGJlIGVxdWFsIHRvICctJy4KQEAgLTg0
NzIsNyArODU0NSw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc0VxdWFsVG9DU1NJZGVudGlmaWUK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGljIFVDaGFyKiBjaGVja0FuZFNraXBFc2NhcGUo
VUNoYXIqIGN1cnJlbnRDaGFyYWN0ZXIpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlw
ZT4KK3N0YXRpYyBDaGFyYWN0ZXJUeXBlKiBjaGVja0FuZFNraXBFc2NhcGUoQ2hhcmFjdGVyVHlw
ZSogY3VycmVudENoYXJhY3RlcikKIHsKICAgICAvLyBSZXR1cm5zIHdpdGggMCwgaWYgZXNjYXBl
IGNoZWNrIGlzIGZhaWxlZC4gT3RoZXJ3aXNlCiAgICAgLy8gaXQgcmV0dXJucyB3aXRoIHRoZSBm
b2xsb3dpbmcgY2hhcmFjdGVyLgpAQCAtODQ5Nyw3ICs4NTcxLDggQEAgc3RhdGljIFVDaGFyKiBj
aGVja0FuZFNraXBFc2NhcGUoVUNoYXIqIAogICAgIHJldHVybiBjdXJyZW50Q2hhcmFjdGVyICsg
MTsKIH0KIAotc3RhdGljIGlubGluZSBVQ2hhciogc2tpcFdoaXRlU3BhY2UoVUNoYXIqIGN1cnJl
bnRDaGFyYWN0ZXIpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBp
bmxpbmUgQ2hhcmFjdGVyVHlwZSogc2tpcFdoaXRlU3BhY2UoQ2hhcmFjdGVyVHlwZSogY3VycmVu
dENoYXJhY3RlcikKIHsKICAgICB3aGlsZSAoaXNIVE1MU3BhY2UoKmN1cnJlbnRDaGFyYWN0ZXIp
KQogICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7CkBAIC04NTA2LDEzICs4NTgxLDU2IEBAIHN0
YXRpYyBpbmxpbmUgVUNoYXIqIHNraXBXaGl0ZVNwYWNlKFVDaGEKIAogLy8gTWFpbiBDU1MgdG9r
ZW5pemVyIGZ1bmN0aW9ucy4KIAordGVtcGxhdGUgPD4KK0xDaGFyKiBDU1NQYXJzZXJTdHJpbmc6
OmNoYXJhY3RlcnM8TENoYXI+KCkgY29uc3QgeyByZXR1cm4gY2hhcmFjdGVyczgoKTsgfQorCit0
ZW1wbGF0ZSA8PgorVUNoYXIqIENTU1BhcnNlclN0cmluZzo6Y2hhcmFjdGVyczxVQ2hhcj4oKSBj
b25zdCB7IHJldHVybiBjaGFyYWN0ZXJzMTYoKTsgfQorCit0ZW1wbGF0ZSA8PgoraW5saW5lIExD
aGFyKiYgQ1NTUGFyc2VyOjpjdXJyZW50Q2hhcmFjdGVyPExDaGFyPigpCit7CisgICAgcmV0dXJu
IG1fY3VycmVudENoYXJhY3Rlcjg7Cit9CisKK3RlbXBsYXRlIDw+CitpbmxpbmUgVUNoYXIqJiBD
U1NQYXJzZXI6OmN1cnJlbnRDaGFyYWN0ZXI8VUNoYXI+KCkKK3sKKyAgICByZXR1cm4gbV9jdXJy
ZW50Q2hhcmFjdGVyMTY7Cit9CisKK1VDaGFyKiYKK0NTU1BhcnNlcjo6Y3VycmVudENoYXJhY3Rl
cjE2KCkKK3sKKyAgICBpZiAoIW1fY3VycmVudENoYXJhY3RlcjE2KSB7CisgICAgICAgIG1fZGF0
YVN0YXJ0MTYgPSBhZG9wdEFycmF5UHRyKG5ldyBVQ2hhclttX2xlbmd0aF0pOworICAgICAgICBt
X2N1cnJlbnRDaGFyYWN0ZXIxNiA9IG1fZGF0YVN0YXJ0MTYuZ2V0KCk7CisgICAgfQorCisgICAg
cmV0dXJuIG1fY3VycmVudENoYXJhY3RlcjE2OworfQorCit0ZW1wbGF0ZSA8PgoraW5saW5lIExD
aGFyKiBDU1NQYXJzZXI6OnRva2VuU3RhcnQ8TENoYXI+KCkKK3sKKyAgICByZXR1cm4gbV90b2tl
blN0YXJ0LnB0cjg7Cit9CisKK3RlbXBsYXRlIDw+CitpbmxpbmUgVUNoYXIqIENTU1BhcnNlcjo6
dG9rZW5TdGFydDxVQ2hhcj4oKQoreworICAgIHJldHVybiBtX3Rva2VuU3RhcnQucHRyMTY7Cit9
CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogaW5saW5lIGJvb2wgQ1NTUGFy
c2VyOjppc0lkZW50aWZpZXJTdGFydCgpCiB7CiAgICAgLy8gQ2hlY2sgd2hldGhlciBhbiBpZGVu
dGlmaWVyIGlzIHN0YXJ0ZWQuCi0gICAgcmV0dXJuIGlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNo
KCgqbV9jdXJyZW50Q2hhcmFjdGVyICE9ICctJykgPyBtX2N1cnJlbnRDaGFyYWN0ZXIgOiBtX2N1
cnJlbnRDaGFyYWN0ZXIgKyAxKTsKKyAgICByZXR1cm4gaXNJZGVudGlmaWVyU3RhcnRBZnRlckRh
c2goKCpjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkgIT0gJy0nKSA/IGN1cnJlbnRD
aGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSA6IGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlw
ZT4oKSArIDEpOwogfQogCi1pbmxpbmUgVUNoYXIqIENTU1BhcnNlcjo6Y2hlY2tBbmRTa2lwU3Ry
aW5nKFVDaGFyKiBjdXJyZW50Q2hhcmFjdGVyLCBVQ2hhciBxdW90ZSkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIENoYXJhY3RlclR5cGUqIENTU1BhcnNlcjo6Y2hl
Y2tBbmRTa2lwU3RyaW5nKENoYXJhY3RlclR5cGUqIGN1cnJlbnRDaGFyYWN0ZXIsIGludCBxdW90
ZSkKIHsKICAgICAvLyBSZXR1cm5zIHdpdGggMCwgaWYgc3RyaW5nIGNoZWNrIGlzIGZhaWxlZC4g
T3RoZXJ3aXNlCiAgICAgLy8gaXQgcmV0dXJucyB3aXRoIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVy
LiBUaGlzIGlzIG5lY2Vzc2FyeQpAQCAtODU0NiwxMDEgKzg2NjQsMTk0IEBAIGlubGluZSBVQ2hh
ciogQ1NTUGFyc2VyOjpjaGVja0FuZFNraXBTdHIKICAgICB9CiB9CiAKLXZvaWQgQ1NTUGFyc2Vy
OjpwYXJzZUVzY2FwZShVQ2hhciomIHJlc3VsdCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0
ZXJUeXBlPgordW5zaWduZWQgQ1NTUGFyc2VyOjpwYXJzZUVzY2FwZShDaGFyYWN0ZXJUeXBlKiYg
c3JjKQogewotICAgIEFTU0VSVCgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICdcXCcgJiYgaXNDU1NF
c2NhcGUobV9jdXJyZW50Q2hhcmFjdGVyWzFdKSk7CisgICAgQVNTRVJUKCpzcmMgPT0gJ1xcJyAm
JiBpc0NTU0VzY2FwZShzcmNbMV0pKTsKKworICAgIHVuc2lnbmVkIHVuaWNvZGUgPSAwOworCisg
ICAgKytzcmM7CisgICAgaWYgKGlzQVNDSUlIZXhEaWdpdCgqc3JjKSkgewogCi0gICAgKyttX2N1
cnJlbnRDaGFyYWN0ZXI7Ci0gICAgaWYgKGlzQVNDSUlIZXhEaWdpdCgqbV9jdXJyZW50Q2hhcmFj
dGVyKSkgewotICAgICAgICB1bnNpZ25lZCB1bmljb2RlID0gMDsKICAgICAgICAgaW50IGxlbmd0
aCA9IDY7CiAKICAgICAgICAgZG8gewotICAgICAgICAgICAgdW5pY29kZSA9ICh1bmljb2RlIDw8
IDQpICsgdG9BU0NJSUhleFZhbHVlKCptX2N1cnJlbnRDaGFyYWN0ZXIrKyk7Ci0gICAgICAgIH0g
d2hpbGUgKC0tbGVuZ3RoICYmIGlzQVNDSUlIZXhEaWdpdCgqbV9jdXJyZW50Q2hhcmFjdGVyKSk7
CisgICAgICAgICAgICB1bmljb2RlID0gKHVuaWNvZGUgPDwgNCkgKyB0b0FTQ0lJSGV4VmFsdWUo
KnNyYysrKTsKKyAgICAgICAgfSB3aGlsZSAoLS1sZW5ndGggJiYgaXNBU0NJSUhleERpZ2l0KCpz
cmMpKTsKIAogICAgICAgICAvLyBDaGFyYWN0ZXJzIGFib3ZlIDB4MTBmZmZmIGFyZSBub3QgaGFu
ZGxlZC4KICAgICAgICAgaWYgKHVuaWNvZGUgPiAweDEwZmZmZikKICAgICAgICAgICAgIHVuaWNv
ZGUgPSAweGZmZmQ7CiAKICAgICAgICAgLy8gT3B0aW9uYWwgc3BhY2UgYWZ0ZXIgdGhlIGVzY2Fw
ZSBzZXF1ZW5jZS4KLSAgICAgICAgaWYgKGlzSFRNTFNwYWNlKCptX2N1cnJlbnRDaGFyYWN0ZXIp
KQotICAgICAgICAgICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIGlmIChpc0hUTUxT
cGFjZSgqc3JjKSkKKyAgICAgICAgICAgICsrc3JjOwogCi0gICAgICAgIC8vIFJlcGxhY2UgdW5p
Y29kZSB3aXRoIGEgc3Vycm9nYXRlIHBhaXJzIHdoZW4gaXQgaXMgYmlnZ2VyIHRoYW4gMHhmZmZm
Ci0gICAgICAgIGlmIChVMTZfTEVOR1RIKHVuaWNvZGUpID09IDIpIHsKLSAgICAgICAgICAgICpy
ZXN1bHQrKyA9IFUxNl9MRUFEKHVuaWNvZGUpOwotICAgICAgICAgICAgKnJlc3VsdCA9IFUxNl9U
UkFJTCh1bmljb2RlKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAqcmVzdWx0ID0gdW5p
Y29kZTsKKyAgICAgICAgcmV0dXJuIHVuaWNvZGU7CisgICAgfQorCisgICAgcmV0dXJuICpjdXJy
ZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkrKzsKK30KKwordGVtcGxhdGUgPD4KK2lubGlu
ZSB2b2lkIENTU1BhcnNlcjo6VW5pY29kZVRvQ2hhcnM8TENoYXI+KExDaGFyKiYgcmVzdWx0LCB1
bnNpZ25lZCB1bmljb2RlKQoreworICAgIEFTU0VSVCh1bmljb2RlIDw9IDB4ZmYpOworICAgICpy
ZXN1bHQgPSB1bmljb2RlOworCisgICAgKytyZXN1bHQ7Cit9CisKK3RlbXBsYXRlIDw+Citpbmxp
bmUgdm9pZCBDU1NQYXJzZXI6OlVuaWNvZGVUb0NoYXJzPFVDaGFyPihVQ2hhciomIHJlc3VsdCwg
dW5zaWduZWQgdW5pY29kZSkKK3sKKyAgICAvLyBSZXBsYWNlIHVuaWNvZGUgd2l0aCBhIHN1cnJv
Z2F0ZSBwYWlycyB3aGVuIGl0IGlzIGJpZ2dlciB0aGFuIDB4ZmZmZgorICAgIGlmIChVMTZfTEVO
R1RIKHVuaWNvZGUpID09IDIpIHsKKyAgICAgICAgKnJlc3VsdCsrID0gVTE2X0xFQUQodW5pY29k
ZSk7CisgICAgICAgICpyZXN1bHQgPSBVMTZfVFJBSUwodW5pY29kZSk7CiAgICAgfSBlbHNlCi0g
ICAgICAgICpyZXN1bHQgPSAqbV9jdXJyZW50Q2hhcmFjdGVyKys7CisgICAgICAgICpyZXN1bHQg
PSB1bmljb2RlOworCiAgICAgKytyZXN1bHQ7CiB9CiAKLWlubGluZSB2b2lkIENTU1BhcnNlcjo6
cGFyc2VJZGVudGlmaWVyKFVDaGFyKiYgcmVzdWx0LCBib29sJiBoYXNFc2NhcGUpCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgU3JjQ2hhcmFjdGVyVHlwZSwgdHlwZW5hbWUgRGVzdENoYXJhY3RlclR5cGU+
CitpbmxpbmUgYm9vbCBDU1NQYXJzZXI6OnBhcnNlSWRlbnRpZmllckludGVybmFsKFNyY0NoYXJh
Y3RlclR5cGUqJiBzcmMsIERlc3RDaGFyYWN0ZXJUeXBlKiYgcmVzdWx0LCBib29sJiBoYXNFc2Nh
cGUpCiB7Ci0gICAgLy8gSWYgYSB2YWxpZCBpZGVudGlmaWVyIHN0YXJ0IGlzIGZvdW5kLCB3ZSBj
YW4gc2FmZWx5Ci0gICAgLy8gcGFyc2UgdGhlIGlkZW50aWZpZXIgdW50aWwgdGhlIG5leHQgaW52
YWxpZCBjaGFyYWN0ZXIuCi0gICAgQVNTRVJUKGlzSWRlbnRpZmllclN0YXJ0KCkpOwogICAgIGhh
c0VzY2FwZSA9IGZhbHNlOwogICAgIGRvIHsKLSAgICAgICAgaWYgKExJS0VMWSgqbV9jdXJyZW50
Q2hhcmFjdGVyICE9ICdcXCcpKQotICAgICAgICAgICAgKnJlc3VsdCsrID0gKm1fY3VycmVudENo
YXJhY3RlcisrOworICAgICAgICBpZiAoTElLRUxZKCpzcmMgIT0gJ1xcJykpCisgICAgICAgICAg
ICAqcmVzdWx0KysgPSAqc3JjKys7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgaGFzRXNj
YXBlID0gdHJ1ZTsKLSAgICAgICAgICAgIHBhcnNlRXNjYXBlKHJlc3VsdCk7CisgICAgICAgICAg
ICBTcmNDaGFyYWN0ZXJUeXBlKiBzYXZlZEVzY2FwZVN0YXJ0ID0gc3JjOworICAgICAgICAgICAg
dW5zaWduZWQgdW5pY29kZSA9IHBhcnNlRXNjYXBlPFNyY0NoYXJhY3RlclR5cGU+KHNyYyk7Cisg
ICAgICAgICAgICBpZiAodW5pY29kZSA+IDB4ZmYgJiYgc2l6ZW9mKERlc3RDaGFyYWN0ZXJUeXBl
KSA9PSAxKSB7CisgICAgICAgICAgICAgICAgc3JjID0gc2F2ZWRFc2NhcGVTdGFydDsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBVbmlj
b2RlVG9DaGFycyhyZXN1bHQsIHVuaWNvZGUpOwogICAgICAgICB9Ci0gICAgfSB3aGlsZSAoaXND
U1NMZXR0ZXIobV9jdXJyZW50Q2hhcmFjdGVyWzBdKSB8fCAobV9jdXJyZW50Q2hhcmFjdGVyWzBd
ID09ICdcXCcgJiYgaXNDU1NFc2NhcGUobV9jdXJyZW50Q2hhcmFjdGVyWzFdKSkpOworICAgIH0g
d2hpbGUgKGlzQ1NTTGV0dGVyKHNyY1swXSkgfHwgKHNyY1swXSA9PSAnXFwnICYmIGlzQ1NTRXNj
YXBlKHNyY1sxXSkpKTsKKworICAgIHJldHVybiB0cnVlOwogfQogCi1pbmxpbmUgdm9pZCBDU1NQ
YXJzZXI6OnBhcnNlU3RyaW5nKFVDaGFyKiYgcmVzdWx0LCBVQ2hhciBxdW90ZSkKK3RlbXBsYXRl
IDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpwYXJzZUlk
ZW50aWZpZXIoQ2hhcmFjdGVyVHlwZSomIHJlc3VsdCwgQ1NTUGFyc2VyU3RyaW5nJiByZXN1bHRT
dHJpbmcsIGJvb2wmIGhhc0VzY2FwZSkKK3sKKyAgICAvLyBJZiBhIHZhbGlkIGlkZW50aWZpZXIg
c3RhcnQgaXMgZm91bmQsIHdlIGNhbiBzYWZlbHkKKyAgICAvLyBwYXJzZSB0aGUgaWRlbnRpZmll
ciB1bnRpbCB0aGUgbmV4dCBpbnZhbGlkIGNoYXJhY3Rlci4KKyAgICBBU1NFUlQoaXNJZGVudGlm
aWVyU3RhcnQ8Q2hhcmFjdGVyVHlwZT4oKSk7CisKKyAgICBDaGFyYWN0ZXJUeXBlKiBzdGFydCA9
IGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKTsKKyAgICBpZiAoVU5MSUtFTFkoIXBh
cnNlSWRlbnRpZmllckludGVybmFsKGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSwg
cmVzdWx0LCBoYXNFc2NhcGUpKSkgeworICAgICAgICAvLyBGb3VuZCBhbiBlc2NhcGUgd2UgY291
bGRuJ3QgaGFuZGxlIHdpdGggOCBiaXRzLCBjb3B5IHdoYXQgaGFzIGJlZW4gcmVjb2duaXplZCBh
bmQgY29udGludWUKKyAgICAgICAgQVNTRVJUKGlzOEJpdFNvdXJjZSgpKTsKKyAgICAgICAgVUNo
YXIqJiByZXN1bHQxNiA9IGN1cnJlbnRDaGFyYWN0ZXIxNigpOworICAgICAgICBVQ2hhciogc3Rh
cnQxNiA9IHJlc3VsdDE2OworICAgICAgICBpbnQgaSA9IDA7CisgICAgICAgIGZvciAoOyBpIDwg
cmVzdWx0IC0gc3RhcnQ7IGkrKykKKyAgICAgICAgICAgIHJlc3VsdDE2W2ldID0gc3RhcnRbaV07
CisKKyAgICAgICAgcmVzdWx0MTYgKz0gaTsKKworICAgICAgICBwYXJzZUlkZW50aWZpZXJJbnRl
cm5hbChjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCksIHJlc3VsdDE2LCBoYXNFc2Nh
cGUpOworCisgICAgICAgIHJlc3VsdFN0cmluZy5pbml0KHN0YXJ0MTYsIHJlc3VsdDE2IC0gc3Rh
cnQxNik7CisKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHJlc3VsdFN0cmluZy5pbml0
KHN0YXJ0LCByZXN1bHQgLSBzdGFydCk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBTcmNDaGFy
YWN0ZXJUeXBlLCB0eXBlbmFtZSBEZXN0Q2hhcmFjdGVyVHlwZT4KK2lubGluZSBib29sIENTU1Bh
cnNlcjo6cGFyc2VTdHJpbmdJbnRlcm5hbChTcmNDaGFyYWN0ZXJUeXBlKiYgc3JjLCBEZXN0Q2hh
cmFjdGVyVHlwZSomIHJlc3VsdCwgVUNoYXIgcXVvdGUpCiB7CiAgICAgd2hpbGUgKHRydWUpIHsK
LSAgICAgICAgaWYgKFVOTElLRUxZKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gcXVvdGUpKSB7Cisg
ICAgICAgIGlmIChVTkxJS0VMWSgqc3JjID09IHF1b3RlKSkgewogICAgICAgICAgICAgLy8gU3Ry
aW5nIHBhcnNpbmcgaXMgZG9uZS4KLSAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOwot
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgKytzcmM7CisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgfQotICAgICAgICBpZiAoVU5MSUtFTFkoISptX2N1cnJlbnRDaGFy
YWN0ZXIpKSB7CisgICAgICAgIGlmIChVTkxJS0VMWSghKnNyYykpIHsKICAgICAgICAgICAgIC8v
IFN0cmluZyBwYXJzaW5nIGlzIGRvbmUsIGJ1dCBkb24ndCBhZHZhbmNlIHBvaW50ZXIgaWYgYXQg
dGhlIGVuZCBvZiBpbnB1dC4KLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgICAgICB9Ci0gICAgICAgIEFTU0VSVCgqbV9jdXJyZW50Q2hhcmFjdGVyID4g
J1xyJyB8fCAoKm1fY3VycmVudENoYXJhY3RlciA8ICdcbicgJiYgKm1fY3VycmVudENoYXJhY3Rl
cikgfHwgKm1fY3VycmVudENoYXJhY3RlciA9PSAnXHYnKTsKKyAgICAgICAgQVNTRVJUKCpzcmMg
PiAnXHInIHx8ICgqc3JjIDwgJ1xuJyAmJiAqc3JjKSB8fCAqc3JjID09ICdcdicpOwogCi0gICAg
ICAgIGlmIChMSUtFTFkobV9jdXJyZW50Q2hhcmFjdGVyWzBdICE9ICdcXCcpKQotICAgICAgICAg
ICAgKnJlc3VsdCsrID0gKm1fY3VycmVudENoYXJhY3RlcisrOwotICAgICAgICBlbHNlIGlmICht
X2N1cnJlbnRDaGFyYWN0ZXJbMV0gPT0gJ1xuJyB8fCBtX2N1cnJlbnRDaGFyYWN0ZXJbMV0gPT0g
J1xmJykKLSAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciArPSAyOwotICAgICAgICBlbHNl
IGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJbMV0gPT0gJ1xyJykKLSAgICAgICAgICAgIG1fY3VycmVu
dENoYXJhY3RlciArPSBtX2N1cnJlbnRDaGFyYWN0ZXJbMl0gPT0gJ1xuJyA/IDMgOiAyOwotICAg
ICAgICBlbHNlCi0gICAgICAgICAgICBwYXJzZUVzY2FwZShyZXN1bHQpOworICAgICAgICBpZiAo
TElLRUxZKHNyY1swXSAhPSAnXFwnKSkKKyAgICAgICAgICAgICpyZXN1bHQrKyA9ICpzcmMrKzsK
KyAgICAgICAgZWxzZSBpZiAoc3JjWzFdID09ICdcbicgfHwgc3JjWzFdID09ICdcZicpCisgICAg
ICAgICAgICBzcmMgKz0gMjsKKyAgICAgICAgZWxzZSBpZiAoc3JjWzFdID09ICdccicpCisgICAg
ICAgICAgICBzcmMgKz0gc3JjWzJdID09ICdcbicgPyAzIDogMjsKKyAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgICBTcmNDaGFyYWN0ZXJUeXBlKiBzYXZlZEVzY2FwZVN0YXJ0ID0gc3JjOworICAg
ICAgICAgICAgdW5zaWduZWQgdW5pY29kZSA9IHBhcnNlRXNjYXBlPFNyY0NoYXJhY3RlclR5cGU+
KHNyYyk7CisgICAgICAgICAgICBpZiAodW5pY29kZSA+IDB4ZmYgJiYgc2l6ZW9mKERlc3RDaGFy
YWN0ZXJUeXBlKSA9PSAxKSB7CisgICAgICAgICAgICAgICAgc3JjID0gc2F2ZWRFc2NhcGVTdGFy
dDsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBVbmljb2RlVG9DaGFycyhyZXN1bHQsIHVuaWNvZGUpOworICAgICAgICB9CiAgICAgfQor
CisgICAgcmV0dXJuIHRydWU7CiB9CiAKLWlubGluZSB2b2lkIENTU1BhcnNlcjo6cGFyc2VVUkko
VUNoYXIqJiBzdGFydCwgVUNoYXIqJiByZXN1bHQpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFj
dGVyVHlwZT4KK2lubGluZSB2b2lkIENTU1BhcnNlcjo6cGFyc2VTdHJpbmcoQ2hhcmFjdGVyVHlw
ZSomIHJlc3VsdCwgQ1NTUGFyc2VyU3RyaW5nJiByZXN1bHRTdHJpbmcsIFVDaGFyIHF1b3RlKQog
ewotICAgIFVDaGFyKiB1cmlTdGFydCA9IHNraXBXaGl0ZVNwYWNlKG1fY3VycmVudENoYXJhY3Rl
cik7CisgICAgQ2hhcmFjdGVyVHlwZSogc3RhcnQgPSBjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3Rl
clR5cGU+KCk7CisKKyAgICBpZiAoVU5MSUtFTFkoIXBhcnNlU3RyaW5nSW50ZXJuYWwoY3VycmVu
dENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpLCByZXN1bHQsIHF1b3RlKSkpIHsKKyAgICAgICAg
Ly8gRm91bmQgYW4gZXNjYXBlIHdlIGNvdWxkbid0IGhhbmRsZSB3aXRoIDggYml0cywgY29weSB3
aGF0IGhhcyBiZWVuIHJlY29nbml6ZWQgYW5kIGNvbnRpbnVlCisgICAgICAgIEFTU0VSVChpczhC
aXRTb3VyY2UoKSk7CisgICAgICAgIFVDaGFyKiYgcmVzdWx0MTYgPSBjdXJyZW50Q2hhcmFjdGVy
MTYoKTsKKyAgICAgICAgVUNoYXIqIHN0YXJ0MTYgPSByZXN1bHQxNjsKKyAgICAgICAgaW50IGkg
PSAwOworICAgICAgICBmb3IgKDsgaSA8IHJlc3VsdCAtIHN0YXJ0OyBpKyspCisgICAgICAgICAg
ICByZXN1bHQxNltpXSA9IHN0YXJ0W2ldOworCisgICAgICAgIHJlc3VsdDE2ICs9IGk7CisKKyAg
ICAgICAgcGFyc2VTdHJpbmdJbnRlcm5hbChjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+
KCksIHJlc3VsdDE2LCBxdW90ZSk7CisKKyAgICAgICAgcmVzdWx0U3RyaW5nLmluaXQoc3RhcnQx
NiwgcmVzdWx0MTYgLSBzdGFydDE2KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHJl
c3VsdFN0cmluZy5pbml0KHN0YXJ0LCByZXN1bHQgLSBzdGFydCk7Cit9CisKK3RlbXBsYXRlIDx0
eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVVSSUlu
dGVybmFsKENoYXJhY3RlclR5cGUqJiBzdGFydCwgQ2hhcmFjdGVyVHlwZSomIHJlc3VsdCkKK3sK
KyAgICBDaGFyYWN0ZXJUeXBlKiB1cmlTdGFydCA9IHNraXBXaGl0ZVNwYWNlKGN1cnJlbnRDaGFy
YWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSk7CisgICAgQ2hhcmFjdGVyVHlwZSogc2F2ZWRSZXN1bHQg
PSByZXN1bHQ7CiAKICAgICBpZiAoKnVyaVN0YXJ0ID09ICciJyB8fCAqdXJpU3RhcnQgPT0gJ1wn
JykgewotICAgICAgICBVQ2hhciBxdW90ZSA9ICp1cmlTdGFydDsKKyAgICAgICAgQ2hhcmFjdGVy
VHlwZSBxdW90ZSA9ICp1cmlTdGFydDsKICAgICAgICAgKyt1cmlTdGFydDsKIAotICAgICAgICBV
Q2hhciogc3RyaW5nRW5kID0gY2hlY2tBbmRTa2lwU3RyaW5nKHVyaVN0YXJ0LCBxdW90ZSk7Cisg
ICAgICAgIENoYXJhY3RlclR5cGUqIHN0cmluZ0VuZCA9IGNoZWNrQW5kU2tpcFN0cmluZyh1cmlT
dGFydCwgcXVvdGUpOwogICAgICAgICBpZiAoIXN0cmluZ0VuZCkKLSAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBzdHJpbmdFbmQgPSBza2lwV2hp
dGVTcGFjZShzdHJpbmdFbmQpOwogICAgICAgICBpZiAoKnN0cmluZ0VuZCAhPSAnKScpCi0gICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgICAgICBzdGFy
dCA9IHJlc3VsdCA9IG1fY3VycmVudENoYXJhY3RlciA9IHVyaVN0YXJ0OwotICAgICAgICBwYXJz
ZVN0cmluZyhyZXN1bHQsIHF1b3RlKTsKKyAgICAgICAgc3RhcnQgPSByZXN1bHQgPSBjdXJyZW50
Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkgPSB1cmlTdGFydDsKKyAgICAgICAgaWYgKCFwYXJz
ZVN0cmluZ0ludGVybmFsKGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSwgcmVzdWx0
LCBxdW90ZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgbV9jdXJyZW50
Q2hhcmFjdGVyID0gc3RyaW5nRW5kICsgMTsKKyAgICAgICAgY3VycmVudENoYXJhY3RlcjxDaGFy
YWN0ZXJUeXBlPigpID0gc3RyaW5nRW5kICsgMTsKICAgICAgICAgbV90b2tlbiA9IFVSSTsKICAg
ICB9IGVsc2UgewotICAgICAgICBVQ2hhciogc3RyaW5nRW5kID0gdXJpU3RhcnQ7CisgICAgICAg
IENoYXJhY3RlclR5cGUqIHN0cmluZ0VuZCA9IHVyaVN0YXJ0OwogCiAgICAgICAgIHdoaWxlIChp
c1VSSUxldHRlcigqc3RyaW5nRW5kKSkgewogICAgICAgICAgICAgaWYgKCpzdHJpbmdFbmQgIT0g
J1xcJykKQEAgLTg2NDgsOTkgKzg4NTksMTM1IEBAIGlubGluZSB2b2lkIENTU1BhcnNlcjo6cGFy
c2VVUkkoVUNoYXIqJiAKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIHN0cmlu
Z0VuZCA9IGNoZWNrQW5kU2tpcEVzY2FwZShzdHJpbmdFbmQpOwogICAgICAgICAgICAgICAgIGlm
ICghc3RyaW5nRW5kKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAg
c3RyaW5nRW5kID0gc2tpcFdoaXRlU3BhY2Uoc3RyaW5nRW5kKTsKICAgICAgICAgaWYgKCpzdHJp
bmdFbmQgIT0gJyknKQotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAKLSAgICAgICAgc3RhcnQgPSByZXN1bHQgPSBtX2N1cnJlbnRDaGFyYWN0ZXIgPSB1cmlT
dGFydDsKLSAgICAgICAgd2hpbGUgKGlzVVJJTGV0dGVyKCptX2N1cnJlbnRDaGFyYWN0ZXIpKSB7
Ci0gICAgICAgICAgICBpZiAoTElLRUxZKCptX2N1cnJlbnRDaGFyYWN0ZXIgIT0gJ1xcJykpCi0g
ICAgICAgICAgICAgICAgKnJlc3VsdCsrID0gKm1fY3VycmVudENoYXJhY3RlcisrOwotICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHBhcnNlRXNjYXBlKHJlc3VsdCk7CisgICAgICAg
IHN0YXJ0ID0gcmVzdWx0ID0gY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gdXJp
U3RhcnQ7CisgICAgICAgIHdoaWxlIChpc1VSSUxldHRlcigqY3VycmVudENoYXJhY3RlcjxDaGFy
YWN0ZXJUeXBlPigpKSkgeworICAgICAgICAgICAgaWYgKExJS0VMWSgqY3VycmVudENoYXJhY3Rl
cjxDaGFyYWN0ZXJUeXBlPigpICE9ICdcXCcpKQorICAgICAgICAgICAgICAgICpyZXN1bHQrKyA9
ICpjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkrKzsKKyAgICAgICAgICAgIGVsc2Ug
eworICAgICAgICAgICAgICAgIHVuc2lnbmVkIHVuaWNvZGUgPSBwYXJzZUVzY2FwZTxDaGFyYWN0
ZXJUeXBlPihjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkpOworICAgICAgICAgICAg
ICAgIGlmICh1bmljb2RlID4gMHhmZiAmJiBzaXplb2YoQ2hhcmFjdGVyVHlwZSkgPT0gMSkgewor
ICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBzYXZlZFJlc3VsdDsKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBV
bmljb2RlVG9DaGFycyhyZXN1bHQsIHVuaWNvZGUpOworICAgICAgICAgICAgfQogICAgICAgICB9
CiAKLSAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gc3RyaW5nRW5kICsgMTsKKyAgICAgICAg
Y3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gc3RyaW5nRW5kICsgMTsKICAgICAg
ICAgbV90b2tlbiA9IFVSSTsKICAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworaW5saW5l
IHZvaWQgQ1NTUGFyc2VyOjpwYXJzZVVSSShDU1NQYXJzZXJTdHJpbmcmIHN0cmluZykKK3sKKyAg
ICBpZiAoc3RyaW5nLmlzOEJpdCgpKSB7CisgICAgICAgIExDaGFyKiB1cmlTdGFydCA9IHN0cmlu
Zy5jaGFyYWN0ZXJzPExDaGFyPigpOworICAgICAgICBMQ2hhciogcmVzdWx0ID0gdXJpU3RhcnQg
KyBzdHJpbmcubGVuZ3RoKCk7CisgICAgICAgIGJvb2wgcGFyc2VSZXN1bHQgPSBwYXJzZVVSSUlu
dGVybmFsKHVyaVN0YXJ0LCByZXN1bHQpOworCisgICAgICAgIC8vIHBhcnNlSWRlbnRpZmllcigp
IHBhcnNlZCBhbmQgY3JlYXRlZCB0aGUgc3RyaW5nLCB0aGVyZWZvcmUgdGhlcmUgc2hvdWxkbid0
IGJlIGFueSB1bmhhbmRsZWQgZXNjYXBzZXMuCisgICAgICAgIEFTU0VSVF9VTlVTRUQocGFyc2VS
ZXN1bHQsIHBhcnNlUmVzdWx0KTsKKworICAgICAgICBzdHJpbmcuaW5pdCh1cmlTdGFydCwgcmVz
dWx0IC0gdXJpU3RhcnQpOworCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBVQ2hhciog
dXJpU3RhcnQgPSBzdHJpbmcuY2hhcmFjdGVyczxVQ2hhcj4oKTsKKyAgICBVQ2hhciogcmVzdWx0
ID0gdXJpU3RhcnQgKyBzdHJpbmcubGVuZ3RoKCk7CisgICAgYm9vbCBwYXJzZVJlc3VsdCA9IHBh
cnNlVVJJSW50ZXJuYWwodXJpU3RhcnQsIHJlc3VsdCk7CisKKyAgICBBU1NFUlRfVU5VU0VEKHBh
cnNlUmVzdWx0LCBwYXJzZVJlc3VsdCk7IC8vIERpdHRvCisKKyAgICBzdHJpbmcuaW5pdCh1cmlT
dGFydCwgcmVzdWx0IC0gdXJpU3RhcnQpOwogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFj
dGVyVHlwZT4KIGlubGluZSBib29sIENTU1BhcnNlcjo6cGFyc2VVbmljb2RlUmFuZ2UoKQogewot
ICAgIFVDaGFyKiBjdXJyZW50Q2hhcmFjdGVyID0gbV9jdXJyZW50Q2hhcmFjdGVyICsgMTsKKyAg
ICBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5
cGU+KCkgKyAxOwogICAgIGludCBsZW5ndGggPSA2OwotICAgIEFTU0VSVCgqbV9jdXJyZW50Q2hh
cmFjdGVyID09ICcrJyk7CisgICAgQVNTRVJUKCpjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5
cGU+KCkgPT0gJysnKTsKIAotICAgIHdoaWxlIChpc0FTQ0lJSGV4RGlnaXQoKmN1cnJlbnRDaGFy
YWN0ZXIpICYmIGxlbmd0aCkgewotICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgd2hp
bGUgKGlzQVNDSUlIZXhEaWdpdCgqY2hhcmFjdGVyKSAmJiBsZW5ndGgpIHsKKyAgICAgICAgKytj
aGFyYWN0ZXI7CiAgICAgICAgIC0tbGVuZ3RoOwogICAgIH0KIAotICAgIGlmIChsZW5ndGggJiYg
KmN1cnJlbnRDaGFyYWN0ZXIgPT0gJz8nKSB7CisgICAgaWYgKGxlbmd0aCAmJiAqY2hhcmFjdGVy
ID09ICc/JykgewogICAgICAgICAvLyBBdCBtb3N0IDUgaGV4IGRpZ2l0IGZvbGxvd2VkIGJ5IGEg
cXVlc3Rpb24gbWFyay4KICAgICAgICAgZG8gewotICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFj
dGVyOworICAgICAgICAgICAgKytjaGFyYWN0ZXI7CiAgICAgICAgICAgICAtLWxlbmd0aDsKLSAg
ICAgICAgfSB3aGlsZSAoKmN1cnJlbnRDaGFyYWN0ZXIgPT0gJz8nICYmIGxlbmd0aCk7Ci0gICAg
ICAgIG1fY3VycmVudENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIH0gd2hp
bGUgKCpjaGFyYWN0ZXIgPT0gJz8nICYmIGxlbmd0aCk7CisgICAgICAgIGN1cnJlbnRDaGFyYWN0
ZXI8Q2hhcmFjdGVyVHlwZT4oKSA9IGNoYXJhY3RlcjsKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQogCiAgICAgaWYgKGxlbmd0aCA8IDYpIHsKICAgICAgICAgLy8gQXQgbGVhc3Qgb25lIGhl
eCBkaWdpdC4KLSAgICAgICAgaWYgKGN1cnJlbnRDaGFyYWN0ZXJbMF0gPT0gJy0nICYmIGlzQVND
SUlIZXhEaWdpdChjdXJyZW50Q2hhcmFjdGVyWzFdKSkgeworICAgICAgICBpZiAoY2hhcmFjdGVy
WzBdID09ICctJyAmJiBpc0FTQ0lJSGV4RGlnaXQoY2hhcmFjdGVyWzFdKSkgewogICAgICAgICAg
ICAgLy8gRm9sbG93ZWQgYnkgYSBkYXNoIGFuZCBhIGhleCBkaWdpdC4KLSAgICAgICAgICAgICsr
Y3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgICsrY2hhcmFjdGVyOwogICAgICAgICAgICAg
bGVuZ3RoID0gNjsKICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICArK2N1cnJlbnRD
aGFyYWN0ZXI7Ci0gICAgICAgICAgICB9IHdoaWxlICgtLWxlbmd0aCAmJiBpc0FTQ0lJSGV4RGln
aXQoKmN1cnJlbnRDaGFyYWN0ZXIpKTsKKyAgICAgICAgICAgICAgICArK2NoYXJhY3RlcjsKKyAg
ICAgICAgICAgIH0gd2hpbGUgKC0tbGVuZ3RoICYmIGlzQVNDSUlIZXhEaWdpdCgqY2hhcmFjdGVy
KSk7CiAgICAgICAgIH0KLSAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gY3VycmVudENoYXJh
Y3RlcjsKKyAgICAgICAgY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gY2hhcmFj
dGVyOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIGJvb2wgQ1NTUGFyc2VyOjpwYXJz
ZU50aENoaWxkKCkKIHsKLSAgICBVQ2hhciogY3VycmVudENoYXJhY3RlciA9IG1fY3VycmVudENo
YXJhY3RlcjsKKyAgICBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVy
PENoYXJhY3RlclR5cGU+KCk7CiAKLSAgICB3aGlsZSAoaXNBU0NJSURpZ2l0KCpjdXJyZW50Q2hh
cmFjdGVyKSkKLSAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyOwotICAgIGlmIChpc0FTQ0lJQWxw
aGFDYXNlbGVzc0VxdWFsKCpjdXJyZW50Q2hhcmFjdGVyLCAnbicpKSB7Ci0gICAgICAgIG1fY3Vy
cmVudENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXIgKyAxOworICAgIHdoaWxlIChpc0FTQ0lJ
RGlnaXQoKmNoYXJhY3RlcikpCisgICAgICAgICsrY2hhcmFjdGVyOworICAgIGlmIChpc0FTQ0lJ
QWxwaGFDYXNlbGVzc0VxdWFsKCpjaGFyYWN0ZXIsICduJykpIHsKKyAgICAgICAgY3VycmVudENo
YXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gY2hhcmFjdGVyICsgMTsKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0KIAordGVtcGxhdGUgPHR5cGVuYW1l
IENoYXJhY3RlclR5cGU+CiBib29sIENTU1BhcnNlcjo6cGFyc2VOdGhDaGlsZEV4dHJhKCkKIHsK
LSAgICBVQ2hhciogY3VycmVudENoYXJhY3RlciA9IHNraXBXaGl0ZVNwYWNlKG1fY3VycmVudENo
YXJhY3Rlcik7Ci0gICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyICE9ICcrJyAmJiAqY3VycmVudENo
YXJhY3RlciAhPSAnLScpCisgICAgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVyID0gc2tpcFdoaXRl
U3BhY2UoY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpKTsKKyAgICBpZiAoKmNoYXJh
Y3RlciAhPSAnKycgJiYgKmNoYXJhY3RlciAhPSAnLScpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIGN1cnJlbnRDaGFyYWN0ZXIgPSBza2lwV2hpdGVTcGFjZShjdXJyZW50Q2hhcmFjdGVy
ICsgMSk7Ci0gICAgaWYgKCFpc0FTQ0lJRGlnaXQoKmN1cnJlbnRDaGFyYWN0ZXIpKQorICAgIGNo
YXJhY3RlciA9IHNraXBXaGl0ZVNwYWNlKGNoYXJhY3RlciArIDEpOworICAgIGlmICghaXNBU0NJ
SURpZ2l0KCpjaGFyYWN0ZXIpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBkbyB7Ci0g
ICAgICAgICsrY3VycmVudENoYXJhY3RlcjsKLSAgICB9IHdoaWxlIChpc0FTQ0lJRGlnaXQoKmN1
cnJlbnRDaGFyYWN0ZXIpKTsKKyAgICAgICAgKytjaGFyYWN0ZXI7CisgICAgfSB3aGlsZSAoaXNB
U0NJSURpZ2l0KCpjaGFyYWN0ZXIpKTsKIAotICAgIG1fY3VycmVudENoYXJhY3RlciA9IGN1cnJl
bnRDaGFyYWN0ZXI7CisgICAgY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gY2hh
cmFjdGVyOwogICAgIHJldHVybiB0cnVlOwogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFj
dGVyVHlwZT4KIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0RnVuY3Rpb25UeXBlVG9rZW4o
aW50IGxlbmd0aCkKIHsKICAgICBBU1NFUlQobGVuZ3RoID4gMCk7Ci0gICAgVUNoYXIqIG5hbWUg
PSBtX3Rva2VuU3RhcnQ7CisgICAgQ2hhcmFjdGVyVHlwZSogbmFtZSA9IHRva2VuU3RhcnQ8Q2hh
cmFjdGVyVHlwZT4oKTsKIAogICAgIHN3aXRjaCAobGVuZ3RoKSB7CiAgICAgY2FzZSAzOgpAQCAt
ODc3MiwxMCArOTAxOSwxMSBAQCBpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OmRldGVjdEZ1bmN0aW9u
VHlwCiAgICAgfQogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIGlubGlu
ZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0TWVkaWFRdWVyeVRva2VuKGludCBsZW5ndGgpCiB7CiAg
ICAgQVNTRVJUKG1fcGFyc2luZ01vZGUgPT0gTWVkaWFRdWVyeU1vZGUpOwotICAgIFVDaGFyKiBu
YW1lID0gbV90b2tlblN0YXJ0OworICAgIENoYXJhY3RlclR5cGUqIG5hbWUgPSB0b2tlblN0YXJ0
PENoYXJhY3RlclR5cGU+KCk7CiAKICAgICBpZiAobGVuZ3RoID09IDMpIHsKICAgICAgICAgaWYg
KGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwobmFtZVswXSwgJ2EnKSAmJiBpc0FTQ0lJQWxwaGFD
YXNlbGVzc0VxdWFsKG5hbWVbMV0sICduJykgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChu
YW1lWzJdLCAnZCcpKQpAQCAtODc4OSw3ICs5MDM3LDggQEAgaW5saW5lIHZvaWQgQ1NTUGFyc2Vy
OjpkZXRlY3RNZWRpYVF1ZXJ5VAogICAgIH0KIH0KIAotaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpk
ZXRlY3ROdW1iZXJUb2tlbihVQ2hhciogdHlwZSwgaW50IGxlbmd0aCkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRlY3ROdW1iZXJU
b2tlbihDaGFyYWN0ZXJUeXBlKiB0eXBlLCBpbnQgbGVuZ3RoKQogewogICAgIEFTU0VSVChsZW5n
dGggPiAwKTsKIApAQCAtODkwNiw5ICs5MTU1LDEwIEBAIGlubGluZSB2b2lkIENTU1BhcnNlcjo6
ZGV0ZWN0TnVtYmVyVG9rZW4KICAgICB9CiB9CiAKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0
ZXJUeXBlPgogaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRlY3REYXNoVG9rZW4oaW50IGxlbmd0
aCkKIHsKLSAgICBVQ2hhciogbmFtZSA9IG1fdG9rZW5TdGFydDsKKyAgICBDaGFyYWN0ZXJUeXBl
KiBuYW1lID0gdG9rZW5TdGFydDxDaGFyYWN0ZXJUeXBlPigpOwogCiAgICAgaWYgKGxlbmd0aCA9
PSAxMSkgewogICAgICAgICBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChuYW1lWzEwXSwg
J3knKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUgKyAxLCAid2Via2l0LWFuIikpCkBA
IC04OTI1LDkgKzkxNzUsMTAgQEAgaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRlY3REYXNoVG9r
ZW4oaQogICAgICAgICBtX3Rva2VuID0gQ0FMQ0ZVTkNUSU9OOwogfQogCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0QXRUb2tl
bihpbnQgbGVuZ3RoLCBib29sIGhhc0VzY2FwZSkKIHsKLSAgICBVQ2hhciogbmFtZSA9IG1fdG9r
ZW5TdGFydDsKKyAgICBDaGFyYWN0ZXJUeXBlKiBuYW1lID0gdG9rZW5TdGFydDxDaGFyYWN0ZXJU
eXBlPigpOwogICAgIEFTU0VSVChuYW1lWzBdID09ICdAJyAmJiBsZW5ndGggPj0gMik7CiAKICAg
ICAvLyBjaGFyc2V0LCBmb250LWZhY2UsIGltcG9ydCwgbWVkaWEsIG5hbWVzcGFjZSwgcGFnZSwK
QEAgLTkxMTMsODEgKzkzNjQsNzcgQEAgaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRlY3RBdFRv
a2VuKGludAogICAgIH0KIH0KIAotaW50IENTU1BhcnNlcjo6bGV4KHZvaWQqIHl5bHZhbFdpdGhv
dXRUeXBlKQordGVtcGxhdGUgPHR5cGVuYW1lIFNyY0NoYXJhY3RlclR5cGU+CitpbnQgQ1NTUGFy
c2VyOjpyZWFsTGV4KHZvaWQqIHl5bHZhbFdpdGhvdXRUeXBlKQogewogICAgIFlZU1RZUEUqIHl5
bHZhbCA9IHN0YXRpY19jYXN0PFlZU1RZUEUqPih5eWx2YWxXaXRob3V0VHlwZSk7CiAgICAgLy8g
V3JpdGUgcG9pbnRlciBmb3IgdGhlIG5leHQgY2hhcmFjdGVyLgotICAgIFVDaGFyKiByZXN1bHQ7
CisgICAgU3JjQ2hhcmFjdGVyVHlwZSogcmVzdWx0OworICAgIENTU1BhcnNlclN0cmluZyByZXN1
bHRTdHJpbmc7CiAgICAgYm9vbCBoYXNFc2NhcGU7CiAKICAgICAvLyBUaGUgaW5wdXQgYnVmZmVy
IGlzIHRlcm1pbmF0ZWQgYnkgYSBcMCBjaGFyYWN0ZXIsIHNvCiAgICAgLy8gaXQgaXMgc2FmZSB0
byByZWFkIG9uZSBjaGFyYWN0ZXIgYWhlYWQgb2YgYSBrbm93biBub24tbnVsbC4KLQogI2lmbmRl
ZiBOREVCVUcKICAgICAvLyBJbiBkZWJ1ZyB3ZSBjaGVjayB3aXRoIGFuIEFTU0VSVCB0aGF0IHRo
ZSBsZW5ndGggaXMgPiAwIGZvciBzdHJpbmcgdHlwZXMuCi0gICAgeXlsdmFsLT5zdHJpbmcuY2hh
cmFjdGVycyA9IDA7Ci0gICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gMDsKKyAgICB5eWx2YWwt
PnN0cmluZy5jbGVhcigpOwogI2VuZGlmCiAKIHJlc3RhcnRBZnRlckNvbW1lbnQ6Ci0gICAgbV90
b2tlblN0YXJ0ID0gcmVzdWx0ID0gbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgIG1fdG9rZW4gPSAq
bV9jdXJyZW50Q2hhcmFjdGVyOwotICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAgIHJlc3Vs
dCA9IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKKyAgICBzZXRUb2tlblN0
YXJ0KHJlc3VsdCk7CisgICAgbV90b2tlbiA9ICpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3Rl
clR5cGU+KCk7CisgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAK
ICAgICBzd2l0Y2ggKChtX3Rva2VuIDw9IDEyNykgPyB0eXBlc09mQVNDSUlDaGFyYWN0ZXJzW21f
dG9rZW5dIDogQ2hhcmFjdGVySWRlbnRpZmllclN0YXJ0KSB7CiAgICAgY2FzZSBDaGFyYWN0ZXJD
YXNlbGVzc1U6Ci0gICAgICAgIGlmIChVTkxJS0VMWSgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICcr
JykpCi0gICAgICAgICAgICBpZiAocGFyc2VVbmljb2RlUmFuZ2UoKSkgeworICAgICAgICBpZiAo
VU5MSUtFTFkoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnKycpKQor
ICAgICAgICAgICAgaWYgKHBhcnNlVW5pY29kZVJhbmdlPFNyY0NoYXJhY3RlclR5cGU+KCkpIHsK
ICAgICAgICAgICAgICAgICBtX3Rva2VuID0gVU5JQ09ERVJBTkdFOwotICAgICAgICAgICAgICAg
IHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAgICAgICAg
ICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0
YXJ0OworICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmluaXQodG9rZW5TdGFydDxTcmND
aGFyYWN0ZXJUeXBlPigpLCBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgLSB0
b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkpOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgfQogICAgICAgICAvLyBGYWxsIHRocm91Z2ggdG8gQ2hhcmFjdGVySWRlbnRp
ZmllclN0YXJ0LgogCiAgICAgY2FzZSBDaGFyYWN0ZXJJZGVudGlmaWVyU3RhcnQ6Ci0gICAgICAg
IC0tbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCBo
YXNFc2NhcGUpOworICAgICAgICAtLWN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4o
KTsKKyAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgeXlsdmFsLT5zdHJpbmcsIGhhc0Vz
Y2FwZSk7CiAgICAgICAgIG1fdG9rZW4gPSBJREVOVDsKIAotICAgICAgICB5eWx2YWwtPnN0cmlu
Zy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0OwotICAgICAgICB5eWx2YWwtPnN0cmluZy5sZW5n
dGggPSByZXN1bHQgLSBtX3Rva2VuU3RhcnQ7Ci0KLSAgICAgICAgaWYgKFVOTElLRUxZKCptX2N1
cnJlbnRDaGFyYWN0ZXIgPT0gJygnKSkgeworICAgICAgICBpZiAoVU5MSUtFTFkoKmN1cnJlbnRD
aGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnKCcpKSB7CiAgICAgICAgICAgICBtX3Rv
a2VuID0gRlVOQ1RJT047CiAgICAgICAgICAgICBpZiAoIWhhc0VzY2FwZSkKLSAgICAgICAgICAg
ICAgICBkZXRlY3RGdW5jdGlvblR5cGVUb2tlbihyZXN1bHQgLSBtX3Rva2VuU3RhcnQpOwotICAg
ICAgICAgICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgZGV0ZWN0RnVu
Y3Rpb25UeXBlVG9rZW48U3JjQ2hhcmFjdGVyVHlwZT4ocmVzdWx0IC0gdG9rZW5TdGFydDxTcmND
aGFyYWN0ZXJUeXBlPigpKTsKKyAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFy
YWN0ZXJUeXBlPigpOwogICAgICAgICAgICAgKytyZXN1bHQ7Ci0gICAgICAgICAgICArK3l5bHZh
bC0+c3RyaW5nLmxlbmd0aDsKKyAgICAgICAgICAgICsreXlsdmFsLT5zdHJpbmcubV9sZW5ndGg7
CiAKICAgICAgICAgICAgIGlmICh0b2tlbigpID09IFVSSSkgewogICAgICAgICAgICAgICAgIG1f
dG9rZW4gPSBGVU5DVElPTjsKICAgICAgICAgICAgICAgICAvLyBDaGVjayB3aGV0aGVyIGl0IGlz
IHJlYWxseSBhbiBVUkkuCi0gICAgICAgICAgICAgICAgcGFyc2VVUkkoeXlsdmFsLT5zdHJpbmcu
Y2hhcmFjdGVycywgcmVzdWx0KTsKLSAgICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5sZW5n
dGggPSByZXN1bHQgLSB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzOworICAgICAgICAgICAgICAg
IHBhcnNlVVJJKHl5bHZhbC0+c3RyaW5nKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNl
IGlmIChVTkxJS0VMWShtX3BhcnNpbmdNb2RlICE9IE5vcm1hbE1vZGUpICYmICFoYXNFc2NhcGUp
IHsKICAgICAgICAgICAgIGlmIChtX3BhcnNpbmdNb2RlID09IE1lZGlhUXVlcnlNb2RlKQotICAg
ICAgICAgICAgICAgIGRldGVjdE1lZGlhUXVlcnlUb2tlbihyZXN1bHQgLSBtX3Rva2VuU3RhcnQp
OwotICAgICAgICAgICAgZWxzZSBpZiAobV9wYXJzaW5nTW9kZSA9PSBOdGhDaGlsZE1vZGUgJiYg
aXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChtX3Rva2VuU3RhcnRbMF0sICduJykpIHsKLSAgICAg
ICAgICAgICAgICBpZiAocmVzdWx0IC0gbV90b2tlblN0YXJ0ID09IDEpIHsKKyAgICAgICAgICAg
ICAgICBkZXRlY3RNZWRpYVF1ZXJ5VG9rZW48U3JjQ2hhcmFjdGVyVHlwZT4ocmVzdWx0IC0gdG9r
ZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1fcGFy
c2luZ01vZGUgPT0gTnRoQ2hpbGRNb2RlICYmIGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwodG9r
ZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpWzBdLCAnbicpKSB7CisgICAgICAgICAgICAgICAg
aWYgKHJlc3VsdCAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAxKSB7CiAgICAg
ICAgICAgICAgICAgICAgIC8vIFN0cmluZyAibiIgaXMgSURFTlQgYnV0ICJuKzEiIGlzIE5USC4K
LSAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnNlTnRoQ2hpbGRFeHRyYSgpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hhcmFjdGVyVHlwZT4oKSkg
ewogICAgICAgICAgICAgICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJhY3RlciAtIG1f
dG9rZW5TdGFydDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLm1fbGVu
Z3RoID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFydDxT
cmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgfSBlbHNlIGlmIChyZXN1bHQgLSBtX3Rva2VuU3RhcnQgPj0gMiAmJiBtX3Rva2VuU3RhcnRb
MV0gPT0gJy0nKSB7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQgLSB0b2tlblN0
YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkgPj0gMiAmJiB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5
cGU+KClbMV0gPT0gJy0nKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIFN0cmluZyAibi0iIGlz
IElERU5UIGJ1dCAibi0xIiBpcyBOVEguCi0gICAgICAgICAgICAgICAgICAgIC8vIFNldCBtX2N1
cnJlbnRDaGFyYWN0ZXIgdG8gJy0nIHRvIGNvbnRpbnVlIHBhcnNpbmcuCi0gICAgICAgICAgICAg
ICAgICAgIFVDaGFyKiBuZXh0Q2hhcmFjdGVyID0gcmVzdWx0OwotICAgICAgICAgICAgICAgICAg
ICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBtX3Rva2VuU3RhcnQgKyAxOwotICAgICAgICAgICAgICAg
ICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJhKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8g
U2V0IGN1cnJlbnRDaGFyYWN0ZXIgdG8gJy0nIHRvIGNvbnRpbnVlIHBhcnNpbmcuCisgICAgICAg
ICAgICAgICAgICAgIFNyY0NoYXJhY3RlclR5cGUqIG5leHRDaGFyYWN0ZXIgPSByZXN1bHQ7Cisg
ICAgICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9
IHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSArIDE7CisgICAgICAgICAgICAgICAgICAg
IGlmIChwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hhcmFjdGVyVHlwZT4oKSkgewogICAgICAgICAg
ICAgICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAgICAgICAgICAgICAgICAgIHl5
bHZhbC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydDsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLnNldExlbmd0aChjdXJyZW50
Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5
cGU+KCkpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gUmV2ZXJ0IHRoZSBjaGFuZ2UgdG8gbV9jdXJyZW50Q2hhcmFjdGVyIGlmIHVuc3Vj
Y2Vzc2Z1bC4KLSAgICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciA9IG5l
eHRDaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXZlcnQgdGhlIGNoYW5n
ZSB0byBjdXJyZW50Q2hhcmFjdGVyIGlmIHVuc3VjY2Vzc2Z1bC4KKyAgICAgICAgICAgICAgICAg
ICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9IG5leHRDaGFyYWN0
ZXI7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICB9CkBAIC05MTk1LDcgKzk0NDIsNyBAQCByZXN0YXJ0QWZ0ZXJDb21tZW50OgogICAgICAgICBi
cmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyRG90OgotICAgICAgICBpZiAoIWlzQVNDSUlEaWdp
dChtX2N1cnJlbnRDaGFyYWN0ZXJbMF0pKQorICAgICAgICBpZiAoIWlzQVNDSUlEaWdpdChjdXJy
ZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMF0pKQogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIC8vIEZhbGwgdGhyb3VnaCB0byBDaGFyYWN0ZXJOdW1iZXIuCiAKQEAgLTkyMDMs
MjMgKzk0NTAsMjIgQEAgcmVzdGFydEFmdGVyQ29tbWVudDoKICAgICAgICAgYm9vbCBkb3RTZWVu
ID0gKG1fdG9rZW4gPT0gJy4nKTsKIAogICAgICAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICAg
ICAgaWYgKCFpc0FTQ0lJRGlnaXQobV9jdXJyZW50Q2hhcmFjdGVyWzBdKSkgeworICAgICAgICAg
ICAgaWYgKCFpc0FTQ0lJRGlnaXQoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
WzBdKSkgewogICAgICAgICAgICAgICAgIC8vIE9ubHkgb25lIGRvdCBpcyBhbGxvd2VkIGZvciBh
IG51bWJlciwKICAgICAgICAgICAgICAgICAvLyBhbmQgaXQgbXVzdCBiZSBmb2xsb3dlZCBieSBh
IGRpZ2l0LgotICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJbMF0gIT0gJy4n
IHx8IGRvdFNlZW4gfHwgIWlzQVNDSUlEaWdpdChtX2N1cnJlbnRDaGFyYWN0ZXJbMV0pKQorICAg
ICAgICAgICAgICAgIGlmIChjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMF0g
IT0gJy4nIHx8IGRvdFNlZW4gfHwgIWlzQVNDSUlEaWdpdChjdXJyZW50Q2hhcmFjdGVyPFNyY0No
YXJhY3RlclR5cGU+KClbMV0pKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgICAgICBkb3RTZWVuID0gdHJ1ZTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICsrbV9j
dXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJh
Y3RlclR5cGU+KCk7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoVU5MSUtFTFkobV9wYXJzaW5n
TW9kZSA9PSBOdGhDaGlsZE1vZGUpICYmICFkb3RTZWVuICYmIGlzQVNDSUlBbHBoYUNhc2VsZXNz
RXF1YWwoKm1fY3VycmVudENoYXJhY3RlciwgJ24nKSkgeworICAgICAgICBpZiAoVU5MSUtFTFko
bV9wYXJzaW5nTW9kZSA9PSBOdGhDaGlsZE1vZGUpICYmICFkb3RTZWVuICYmIGlzQVNDSUlBbHBo
YUNhc2VsZXNzRXF1YWwoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSwgJ24n
KSkgewogICAgICAgICAgICAgLy8gIlswLTldK24iIGlzIGFsd2F5cyBhbiBOdGhDaGlsZC4KLSAg
ICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgICAgICAgICAgcGFyc2VOdGhDaGls
ZEV4dHJhKCk7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlw
ZT4oKTsKKyAgICAgICAgICAgIHBhcnNlTnRoQ2hpbGRFeHRyYTxTcmNDaGFyYWN0ZXJUeXBlPigp
OwogICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5n
LmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5s
ZW5ndGggPSBtX2N1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQ7CisgICAgICAgICAgICB5
eWx2YWwtPnN0cmluZy5pbml0KHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSwgY3VycmVu
dENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJU
eXBlPigpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKQEAgLTkyMjcsNTIgKzk0
NzMsNTEgQEAgcmVzdGFydEFmdGVyQ29tbWVudDoKICAgICAgICAgLy8gVXNlIFNWRyBwYXJzZXIg
Zm9yIG51bWJlcnMgb24gU1ZHIHByZXNlbnRhdGlvbiBhdHRyaWJ1dGVzLgogICAgICAgICBpZiAo
bV9jb250ZXh0Lm1vZGUgPT0gU1ZHQXR0cmlidXRlTW9kZSkgewogICAgICAgICAgICAgLy8gV2Ug
bmVlZCB0byB0YWtlIGNhcmUgb2YgdW5pdHMgbGlrZSAnZW0nIG9yICdleCcuCi0gICAgICAgICAg
ICBVQ2hhciogY3VycmVudENoYXJhY3RlciA9IG1fY3VycmVudENoYXJhY3RlcjsKLSAgICAgICAg
ICAgIGlmIChpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKCpjdXJyZW50Q2hhcmFjdGVyLCAnZScp
KSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGN1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3Rh
cnQgPiAwKTsKLSAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAg
ICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyID09ICctJyB8fCAqY3VycmVudENoYXJhY3RlciA9
PSAnKycgfHwgaXNBU0NJSURpZ2l0KCpjdXJyZW50Q2hhcmFjdGVyKSkgewotICAgICAgICAgICAg
ICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAgICAgICAgICAgIHdoaWxlIChp
c0FTQ0lJRGlnaXQoKmN1cnJlbnRDaGFyYWN0ZXIpKQotICAgICAgICAgICAgICAgICAgICAgICAg
KytjdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgU3JjQ2hhcmFjdGVyVHlwZSogY2hhcmFj
dGVyID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAgICAgICAgICAg
aWYgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwoKmNoYXJhY3RlciwgJ2UnKSkgeworICAgICAg
ICAgICAgICAgIEFTU0VSVChjaGFyYWN0ZXIgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+
KCkgPiAwKTsKKyAgICAgICAgICAgICAgICArK2NoYXJhY3RlcjsKKyAgICAgICAgICAgICAgICBp
ZiAoKmNoYXJhY3RlciA9PSAnLScgfHwgKmNoYXJhY3RlciA9PSAnKycgfHwgaXNBU0NJSURpZ2l0
KCpjaGFyYWN0ZXIpKSB7CisgICAgICAgICAgICAgICAgICAgICsrY2hhcmFjdGVyOworICAgICAg
ICAgICAgICAgICAgICB3aGlsZSAoaXNBU0NJSURpZ2l0KCpjaGFyYWN0ZXIpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgKytjaGFyYWN0ZXI7CiAgICAgICAgICAgICAgICAgICAgIC8vIFVzZSBG
TE9BVFRPS0VOIGlmIHRoZSBzdHJpbmcgY29udGFpbnMgZXhwb25lbnRzLgogICAgICAgICAgICAg
ICAgICAgICBkb3RTZWVuID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50Q2hh
cmFjdGVyID0gY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudENo
YXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID0gY2hhcmFjdGVyOwogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICghcGFyc2VTVkdOdW1iZXIobV90b2tl
blN0YXJ0LCBjdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0LCB5eWx2YWwtPm51bWJlcikp
CisgICAgICAgICAgICBpZiAoIXBhcnNlU1ZHTnVtYmVyKHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVy
VHlwZT4oKSwgY2hhcmFjdGVyIC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpLCB5eWx2
YWwtPm51bWJlcikpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0gZWxzZQogI2Vu
ZGlmCi0gICAgICAgICAgICB5eWx2YWwtPm51bWJlciA9IGNoYXJhY3RlcnNUb0RvdWJsZShtX3Rv
a2VuU3RhcnQsIG1fY3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydCk7CisgICAgICAgICAg
ICB5eWx2YWwtPm51bWJlciA9IGNoYXJhY3RlcnNUb0RvdWJsZSh0b2tlblN0YXJ0PFNyY0NoYXJh
Y3RlclR5cGU+KCksIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtIHRva2Vu
U3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CiAgCiAgICAgICAgIC8vIFR5cGUgb2YgdGhlIGZ1
bmN0aW9uLgotICAgICAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnQoKSkgewotICAgICAgICAgICAg
VUNoYXIqIHR5cGUgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAgICByZXN1bHQgPSBt
X2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIGlmIChpc0lkZW50aWZpZXJTdGFydDxTcmNDaGFy
YWN0ZXJUeXBlPigpKSB7CisgICAgICAgICAgICBTcmNDaGFyYWN0ZXJUeXBlKiB0eXBlID0gY3Vy
cmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAgICAgICAgICAgcmVzdWx0ID0g
Y3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogCi0gICAgICAgICAgICBwYXJz
ZUlkZW50aWZpZXIocmVzdWx0LCBoYXNFc2NhcGUpOwotICAgICAgICAgICAgaWYgKCptX2N1cnJl
bnRDaGFyYWN0ZXIgPT0gJysnKSB7CisgICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0
LCByZXN1bHRTdHJpbmcsIGhhc0VzY2FwZSk7CisgICAgICAgICAgICBpZiAoKmN1cnJlbnRDaGFy
YWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnKycpIHsKICAgICAgICAgICAgICAgICAvLyBB
bnkgaWRlbnRpZmllciBmb2xsb3dlZCBieSBhICcrJyBzaWduIGlzIGFuIGludmFsaWQgZGltZW5z
aW9uLgotICAgICAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAg
ICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICAgICAg
ICAgIG1fdG9rZW4gPSBJTlZBTElERElNRU47CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgICAgIG1fdG9rZW4gPSBESU1FTjsKICAgICAgICAgICAgICAgICBpZiAoIWhhc0VzY2Fw
ZSkKLSAgICAgICAgICAgICAgICAgICAgZGV0ZWN0TnVtYmVyVG9rZW4odHlwZSwgbV9jdXJyZW50
Q2hhcmFjdGVyIC0gdHlwZSk7CisgICAgICAgICAgICAgICAgICAgIGRldGVjdE51bWJlclRva2Vu
KHR5cGUsIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtIHR5cGUpOwogCiAg
ICAgICAgICAgICAgICAgaWYgKG1fdG9rZW4gPT0gRElNRU4pIHsKICAgICAgICAgICAgICAgICAg
ICAgLy8gVGhlIGRlY29kZWQgbnVtYmVyIGlzIG92ZXJ3cml0dGVuLCBidXQgdGhpcyBpcyBpbnRl
bnRpb25hbC4KLSAgICAgICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9
IG1fdG9rZW5TdGFydDsKLSAgICAgICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3Ro
ID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0OworICAgICAgICAgICAgICAgICAg
ICB5eWx2YWwtPnN0cmluZy5pbml0KHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSwgY3Vy
cmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0
ZXJUeXBlPigpKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0g
ZWxzZSBpZiAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnJScpIHsKKyAgICAgICAgfSBlbHNlIGlm
ICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICclJykgewogICAgICAg
ICAgICAgLy8gQWx0aG91Z2ggdGhlIENTUyBncmFtbWFyIHNheXMge251bX0lIHdlIGZvbGxvdwog
ICAgICAgICAgICAgLy8gd2Via2l0IGF0IHRoZSBtb21lbnQgd2hpY2ggdXNlcyB7bnVtfSUrLgog
ICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOwot
ICAgICAgICAgICAgfSB3aGlsZSAoKm1fY3VycmVudENoYXJhY3RlciA9PSAnJScpOworICAgICAg
ICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAgICAg
ICAgICAgfSB3aGlsZSAoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAn
JScpOwogICAgICAgICAgICAgbV90b2tlbiA9IFBFUkNFTlRBR0U7CiAgICAgICAgIH0gZWxzZQog
ICAgICAgICAgICAgbV90b2tlbiA9IGRvdFNlZW4gPyBGTE9BVFRPS0VOIDogSU5URUdFUjsKQEAg
LTkyODAsNTUgKzk1MjUsNTQgQEAgcmVzdGFydEFmdGVyQ29tbWVudDoKICAgICB9CiAKICAgICBj
YXNlIENoYXJhY3RlckRhc2g6Ci0gICAgICAgIGlmIChpc0lkZW50aWZpZXJTdGFydEFmdGVyRGFz
aChtX2N1cnJlbnRDaGFyYWN0ZXIpKSB7Ci0gICAgICAgICAgICAtLW1fY3VycmVudENoYXJhY3Rl
cjsKLSAgICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIGhhc0VzY2FwZSk7CisgICAg
ICAgIGlmIChpc0lkZW50aWZpZXJTdGFydEFmdGVyRGFzaChjdXJyZW50Q2hhcmFjdGVyPFNyY0No
YXJhY3RlclR5cGU+KCkpKSB7CisgICAgICAgICAgICAtLWN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hh
cmFjdGVyVHlwZT4oKTsKKyAgICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIHJlc3Vs
dFN0cmluZywgaGFzRXNjYXBlKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBJREVOVDsKIAogI2lm
IEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICAgICAgaWYgKGNzc1ZhcmlhYmxlc0VuYWJs
ZWQoKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG1fdG9rZW5TdGFydCArIDEsICJ3ZWJraXQt
dmFyIikgJiYgbV90b2tlblN0YXJ0WzExXSA9PSAnLScgJiYgaXNJZGVudGlmaWVyU3RhcnRBZnRl
ckRhc2gobV90b2tlblN0YXJ0ICsgMTIpKQorICAgICAgICAgICAgaWYgKGNzc1ZhcmlhYmxlc0Vu
YWJsZWQoKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVy
VHlwZT4oKSArIDEsICJ3ZWJraXQtdmFyIikgJiYgdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBl
PigpWzExXSA9PSAnLScgJiYgaXNJZGVudGlmaWVyU3RhcnRBZnRlckRhc2godG9rZW5TdGFydDxT
cmNDaGFyYWN0ZXJUeXBlPigpICsgMTIpKQogICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBWQVJf
REVGSU5JVElPTjsKICAgICAgICAgICAgIGVsc2UKICNlbmRpZgotICAgICAgICAgICAgaWYgKCpt
X2N1cnJlbnRDaGFyYWN0ZXIgPT0gJygnKSB7CisgICAgICAgICAgICBpZiAoKmN1cnJlbnRDaGFy
YWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnKCcpIHsKICAgICAgICAgICAgICAgICBtX3Rv
a2VuID0gRlVOQ1RJT047CiAgICAgICAgICAgICAgICAgaWYgKCFoYXNFc2NhcGUpCi0gICAgICAg
ICAgICAgICAgICAgIGRldGVjdERhc2hUb2tlbihyZXN1bHQgLSBtX3Rva2VuU3RhcnQpOwotICAg
ICAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgICAgICAgICBk
ZXRlY3REYXNoVG9rZW48U3JjQ2hhcmFjdGVyVHlwZT4ocmVzdWx0IC0gdG9rZW5TdGFydDxTcmND
aGFyYWN0ZXJUeXBlPigpKTsKKyAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3Jj
Q2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgICAgICArK3Jlc3VsdDsKLSAgICAgICAgICAg
IH0gZWxzZSBpZiAoVU5MSUtFTFkobV9wYXJzaW5nTW9kZSA9PSBOdGhDaGlsZE1vZGUpICYmICFo
YXNFc2NhcGUgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChtX3Rva2VuU3RhcnRbMV0sICdu
JykpIHsKLSAgICAgICAgICAgICAgICBpZiAocmVzdWx0IC0gbV90b2tlblN0YXJ0ID09IDIpIHsK
KyAgICAgICAgICAgIH0gZWxzZSBpZiAoVU5MSUtFTFkobV9wYXJzaW5nTW9kZSA9PSBOdGhDaGls
ZE1vZGUpICYmICFoYXNFc2NhcGUgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbCh0b2tlblN0
YXJ0PFNyY0NoYXJhY3RlclR5cGU+KClbMV0sICduJykpIHsKKyAgICAgICAgICAgICAgICBpZiAo
cmVzdWx0IC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpID09IDIpIHsKICAgICAgICAg
ICAgICAgICAgICAgLy8gU3RyaW5nICItbiIgaXMgSURFTlQgYnV0ICItbisxIiBpcyBOVEguCi0g
ICAgICAgICAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0cmEoKSkgeworICAgICAgICAg
ICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJhPFNyY0NoYXJhY3RlclR5cGU+KCkpIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBOVEg7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICByZXN1bHQgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgICAg
ICAgICByZXN1bHQgPSBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAgICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdCAtIG1f
dG9rZW5TdGFydCA+PSAzICYmIG1fdG9rZW5TdGFydFsyXSA9PSAnLScpIHsKKyAgICAgICAgICAg
ICAgICB9IGVsc2UgaWYgKHJlc3VsdCAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSA+
PSAzICYmIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKVsyXSA9PSAnLScpIHsKICAgICAg
ICAgICAgICAgICAgICAgLy8gU3RyaW5nICItbi0iIGlzIElERU5UIGJ1dCAiLW4tMSIgaXMgTlRI
LgotICAgICAgICAgICAgICAgICAgICAvLyBTZXQgbV9jdXJyZW50Q2hhcmFjdGVyIHRvIHNlY29u
ZCAnLScgb2YgJy1uLScgdG8gY29udGludWUgcGFyc2luZy4KLSAgICAgICAgICAgICAgICAgICAg
VUNoYXIqIG5leHRDaGFyYWN0ZXIgPSByZXN1bHQ7Ci0gICAgICAgICAgICAgICAgICAgIG1fY3Vy
cmVudENoYXJhY3RlciA9IG1fdG9rZW5TdGFydCArIDI7Ci0gICAgICAgICAgICAgICAgICAgIGlm
IChwYXJzZU50aENoaWxkRXh0cmEoKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBTZXQgY3Vy
cmVudENoYXJhY3RlciB0byBzZWNvbmQgJy0nIG9mICctbi0nIHRvIGNvbnRpbnVlIHBhcnNpbmcu
CisgICAgICAgICAgICAgICAgICAgIFNyY0NoYXJhY3RlclR5cGUqIG5leHRDaGFyYWN0ZXIgPSBy
ZXN1bHQ7CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVy
VHlwZT4oKSA9IHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSArIDI7CisgICAgICAgICAg
ICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hhcmFjdGVyVHlwZT4oKSkgewog
ICAgICAgICAgICAgICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHJlc3VsdCA9IG1fY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJlc3VsdCA9IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJldmVy
dCB0aGUgY2hhbmdlIHRvIG1fY3VycmVudENoYXJhY3RlciBpZiB1bnN1Y2Nlc3NmdWwuCi0gICAg
ICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBuZXh0Q2hhcmFjdGVyOwor
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV2ZXJ0IHRoZSBjaGFuZ2UgdG8gY3VycmVudENo
YXJhY3RlciBpZiB1bnN1Y2Nlc3NmdWwuCisgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50
Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPSBuZXh0Q2hhcmFjdGVyOwogICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9IG1fdG9rZW5TdGFydDsKLSAgICAgICAgICAg
IHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IHJlc3VsdCAtIG1fdG9rZW5TdGFydDsKLSAgICAgICAg
fSBlbHNlIGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJbMF0gPT0gJy0nICYmIG1fY3VycmVudENoYXJh
Y3RlclsxXSA9PSAnPicpIHsKLSAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciArPSAyOwor
ICAgICAgICAgICAgcmVzdWx0U3RyaW5nLnNldExlbmd0aChyZXN1bHQgLSB0b2tlblN0YXJ0PFNy
Y0NoYXJhY3RlclR5cGU+KCkpOworICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcgPSByZXN1bHRT
dHJpbmc7CisgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJU
eXBlPigpWzBdID09ICctJyAmJiBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClb
MV0gPT0gJz4nKSB7CisgICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5
cGU+KCkgKz0gMjsKICAgICAgICAgICAgIG1fdG9rZW4gPSBTR01MX0NEOwogICAgICAgICB9IGVs
c2UgaWYgKFVOTElLRUxZKG1fcGFyc2luZ01vZGUgPT0gTnRoQ2hpbGRNb2RlKSkgewogICAgICAg
ICAgICAgLy8gIi1bMC05XStuIiBpcyBhbHdheXMgYW4gTnRoQ2hpbGQuCi0gICAgICAgICAgICBp
ZiAocGFyc2VOdGhDaGlsZCgpKSB7Ci0gICAgICAgICAgICAgICAgcGFyc2VOdGhDaGlsZEV4dHJh
KCk7CisgICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZDxTcmNDaGFyYWN0ZXJUeXBlPigpKSB7
CisgICAgICAgICAgICAgICAgcGFyc2VOdGhDaGlsZEV4dHJhPFNyY0NoYXJhY3RlclR5cGU+KCk7
CiAgICAgICAgICAgICAgICAgbV90b2tlbiA9IE5USDsKLSAgICAgICAgICAgICAgICB5eWx2YWwt
PnN0cmluZy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0OwotICAgICAgICAgICAgICAgIHl5bHZh
bC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydDsKKyAg
ICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5pbml0KHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVy
VHlwZT4oKSwgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFy
dDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAg
ICBicmVhazsKQEAgLTkzMzksMTggKzk1ODMsMTggQEAgcmVzdGFydEFmdGVyQ29tbWVudDoKIAog
ICAgIGNhc2UgQ2hhcmFjdGVyTnVsbDoKICAgICAgICAgLy8gRG8gbm90IGFkdmFuY2UgcG9pbnRl
ciBhdCB0aGUgZW5kIG9mIGlucHV0LgotICAgICAgICAtLW1fY3VycmVudENoYXJhY3RlcjsKKyAg
ICAgICAgLS1jdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAgICAgICAgIGJy
ZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJXaGl0ZVNwYWNlOgogICAgICAgICBtX3Rva2VuID0g
V0hJVEVTUEFDRTsKICAgICAgICAgLy8gTWlnaHQgc3RhcnQgd2l0aCBhICdcbicuCi0gICAgICAg
IC0tbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAtLWN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hh
cmFjdGVyVHlwZT4oKTsKICAgICAgICAgZG8gewotICAgICAgICAgICAgaWYgKCptX2N1cnJlbnRD
aGFyYWN0ZXIgPT0gJ1xuJykKKyAgICAgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxTcmND
aGFyYWN0ZXJUeXBlPigpID09ICdcbicpCiAgICAgICAgICAgICAgICAgKyttX2xpbmVOdW1iZXI7
Ci0gICAgICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKLSAgICAgICAgfSB3aGlsZSAoKm1f
Y3VycmVudENoYXJhY3RlciA8PSAnICcgJiYgKHR5cGVzT2ZBU0NJSUNoYXJhY3RlcnNbKm1fY3Vy
cmVudENoYXJhY3Rlcl0gPT0gQ2hhcmFjdGVyV2hpdGVTcGFjZSkpOworICAgICAgICAgICAgKytj
dXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CisgICAgICAgIH0gd2hpbGUgKCpj
dXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPD0gJyAnICYmICh0eXBlc09mQVND
SUlDaGFyYWN0ZXJzWypjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCldID09IENo
YXJhY3RlcldoaXRlU3BhY2UpKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3Rl
ckVuZE1lZGlhUXVlcnk6CkBAIC05MzY0LDQyICs5NjA4LDM5IEBAIHJlc3RhcnRBZnRlckNvbW1l
bnQ6CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJRdW90ZToKLSAgICAgICAg
aWYgKGNoZWNrQW5kU2tpcFN0cmluZyhtX2N1cnJlbnRDaGFyYWN0ZXIsIG1fdG9rZW4pKSB7Cisg
ICAgICAgIGlmIChjaGVja0FuZFNraXBTdHJpbmcoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpLCBtX3Rva2VuKSkgewogICAgICAgICAgICAgKytyZXN1bHQ7Ci0gICAgICAgICAg
ICBwYXJzZVN0cmluZyhyZXN1bHQsIG1fdG9rZW4pOworICAgICAgICAgICAgcGFyc2VTdHJpbmc8
U3JjQ2hhcmFjdGVyVHlwZT4ocmVzdWx0LCB5eWx2YWwtPnN0cmluZywgbV90b2tlbik7CiAgICAg
ICAgICAgICBtX3Rva2VuID0gU1RSSU5HOwotICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcuY2hh
cmFjdGVycyA9IG1fdG9rZW5TdGFydCArIDE7Ci0gICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5s
ZW5ndGggPSByZXN1bHQgLSAobV90b2tlblN0YXJ0ICsgMSk7CiAgICAgICAgIH0KICAgICAgICAg
YnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlckV4Y2xhbWF0aW9uTWFyazogewotICAgICAgICBV
Q2hhciogc3RhcnQgPSBza2lwV2hpdGVTcGFjZShtX2N1cnJlbnRDaGFyYWN0ZXIpOworICAgICAg
ICBTcmNDaGFyYWN0ZXJUeXBlKiBzdGFydCA9IHNraXBXaGl0ZVNwYWNlKGN1cnJlbnRDaGFyYWN0
ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CiAgICAgICAgIGlmIChpc0VxdWFsVG9DU1NJZGVudGlm
aWVyKHN0YXJ0LCAiaW1wb3J0YW50IikpIHsKICAgICAgICAgICAgIG1fdG9rZW4gPSBJTVBPUlRB
TlRfU1lNOwotICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gc3RhcnQgKyA5OworICAg
ICAgICAgICAgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID0gc3RhcnQgKyA5
OwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIGNhc2UgQ2hhcmFjdGVy
SGFzaG1hcms6IHsKLSAgICAgICAgVUNoYXIqIHN0YXJ0ID0gbV9jdXJyZW50Q2hhcmFjdGVyOwot
ICAgICAgICByZXN1bHQgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgIFNyY0NoYXJhY3Rl
clR5cGUqIHN0YXJ0ID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAg
ICAgICByZXN1bHQgPSBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAKLSAg
ICAgICAgaWYgKGlzQVNDSUlEaWdpdCgqbV9jdXJyZW50Q2hhcmFjdGVyKSkgeworICAgICAgICBp
ZiAoaXNBU0NJSURpZ2l0KCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkpKSB7
CiAgICAgICAgICAgICAvLyBUaGlzIG11c3QgYmUgYSB2YWxpZCBoZXggbnVtYmVyIHRva2VuLgog
ICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOwot
ICAgICAgICAgICAgfSB3aGlsZSAoaXNBU0NJSUhleERpZ2l0KCptX2N1cnJlbnRDaGFyYWN0ZXIp
KTsKKyAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4o
KTsKKyAgICAgICAgICAgIH0gd2hpbGUgKGlzQVNDSUlIZXhEaWdpdCgqY3VycmVudENoYXJhY3Rl
cjxTcmNDaGFyYWN0ZXJUeXBlPigpKSk7CiAgICAgICAgICAgICBtX3Rva2VuID0gSEVYOwotICAg
ICAgICAgICAgeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyA9IHN0YXJ0OwotICAgICAgICAgICAg
eXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0gc3RhcnQ7Ci0gICAg
ICAgIH0gZWxzZSBpZiAoaXNJZGVudGlmaWVyU3RhcnQoKSkgeworICAgICAgICAgICAgeXlsdmFs
LT5zdHJpbmcuaW5pdChzdGFydCwgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
IC0gc3RhcnQpOworICAgICAgICB9IGVsc2UgaWYgKGlzSWRlbnRpZmllclN0YXJ0PFNyY0NoYXJh
Y3RlclR5cGU+KCkpIHsKICAgICAgICAgICAgIG1fdG9rZW4gPSBJRFNFTDsKLSAgICAgICAgICAg
IHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIGhhc0VzY2FwZSk7CisgICAgICAgICAgICBwYXJzZUlk
ZW50aWZpZXIocmVzdWx0LCB5eWx2YWwtPnN0cmluZywgaGFzRXNjYXBlKTsKICAgICAgICAgICAg
IGlmICghaGFzRXNjYXBlKSB7CiAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGUg
aWRlbnRpZmllciBpcyBhbHNvIGEgdmFsaWQgaGV4IG51bWJlci4KLSAgICAgICAgICAgICAgICBV
Q2hhciogY3VycmVudCA9IHN0YXJ0OworICAgICAgICAgICAgICAgIFNyY0NoYXJhY3RlclR5cGUq
IGN1cnJlbnQgPSBzdGFydDsKICAgICAgICAgICAgICAgICBtX3Rva2VuID0gSEVYOwogICAgICAg
ICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc0FTQ0lJSGV4RGlnaXQo
KmN1cnJlbnQpKSB7CkBAIC05NDA5LDQxICs5NjUwLDM5IEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6
CiAgICAgICAgICAgICAgICAgICAgICsrY3VycmVudDsKICAgICAgICAgICAgICAgICB9IHdoaWxl
IChjdXJyZW50IDwgcmVzdWx0KTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHl5bHZhbC0+
c3RyaW5nLmNoYXJhY3RlcnMgPSBzdGFydDsKLSAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmxl
bmd0aCA9IHJlc3VsdCAtIHN0YXJ0OwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0K
IAogICAgIGNhc2UgQ2hhcmFjdGVyU2xhc2g6CiAgICAgICAgIC8vIElnbm9yZSBjb21tZW50cy4g
VGhleSBhcmUgbm90IGV2ZW4gY29uc2lkZXJlZCBhcyB3aGl0ZSBzcGFjZXMuCi0gICAgICAgIGlm
ICgqbV9jdXJyZW50Q2hhcmFjdGVyID09ICcqJykgewotICAgICAgICAgICAgKyttX2N1cnJlbnRD
aGFyYWN0ZXI7Ci0gICAgICAgICAgICB3aGlsZSAobV9jdXJyZW50Q2hhcmFjdGVyWzBdICE9ICcq
JyB8fCBtX2N1cnJlbnRDaGFyYWN0ZXJbMV0gIT0gJy8nKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJ1xuJykKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFj
dGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJyonKSB7CisgICAgICAgICAgICArK2N1cnJlbnRD
aGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKKyAgICAgICAgICAgIHdoaWxlIChjdXJyZW50
Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMF0gIT0gJyonIHx8IGN1cnJlbnRDaGFyYWN0
ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKVsxXSAhPSAnLycpIHsKKyAgICAgICAgICAgICAgICBpZiAo
KmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnXG4nKQogICAgICAgICAg
ICAgICAgICAgICArK21fbGluZU51bWJlcjsKLSAgICAgICAgICAgICAgICBpZiAoKm1fY3VycmVu
dENoYXJhY3RlciA9PSAnXDAnKSB7CisgICAgICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFj
dGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJ1wwJykgewogICAgICAgICAgICAgICAgICAgICAv
LyBVbnRlcm1pbmF0ZWQgY29tbWVudHMgYXJlIHNpbXBseSBpZ25vcmVkLgotICAgICAgICAgICAg
ICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgLT0gMjsKKyAgICAgICAgICAgICAgICAgICAgY3Vy
cmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC09IDI7CiAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICArK21fY3VycmVu
dENoYXJhY3RlcjsKKyAgICAgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFj
dGVyVHlwZT4oKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3Rl
ciArPSAyOworICAgICAgICAgICAgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
ICs9IDI7CiAgICAgICAgICAgICBnb3RvIHJlc3RhcnRBZnRlckNvbW1lbnQ7CiAgICAgICAgIH0K
ICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlckRvbGxhcjoKLSAgICAgICAgaWYg
KCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJz0nKSB7Ci0gICAgICAgICAgICArK21fY3VycmVudENo
YXJhY3RlcjsKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+
KCkgPT0gJz0nKSB7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVy
VHlwZT4oKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBFTkRTV0lUSDsKICAgICAgICAgfQogICAg
ICAgICBicmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyQXN0ZXJpc2s6Ci0gICAgICAgIGlmICgq
bV9jdXJyZW50Q2hhcmFjdGVyID09ICc9JykgewotICAgICAgICAgICAgKyttX2N1cnJlbnRDaGFy
YWN0ZXI7CisgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
ID09ICc9JykgeworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5
cGU+KCk7CiAgICAgICAgICAgICBtX3Rva2VuID0gQ09OVEFJTlM7CiAgICAgICAgIH0KICAgICAg
ICAgYnJlYWs7CkBAIC05NDUxLDU4ICs5NjkwLDU1IEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6CiAg
ICAgY2FzZSBDaGFyYWN0ZXJQbHVzOgogICAgICAgICBpZiAoVU5MSUtFTFkobV9wYXJzaW5nTW9k
ZSA9PSBOdGhDaGlsZE1vZGUpKSB7CiAgICAgICAgICAgICAvLyBTaW1wbGVzdCBjYXNlLiAiK1sw
LTldKm4iIGlzIGFsd2F5cyBOdGhDaGlsZC4KLSAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxk
KCkpIHsKLSAgICAgICAgICAgICAgICBwYXJzZU50aENoaWxkRXh0cmEoKTsKKyAgICAgICAgICAg
IGlmIChwYXJzZU50aENoaWxkPFNyY0NoYXJhY3RlclR5cGU+KCkpIHsKKyAgICAgICAgICAgICAg
ICBwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgICAg
ICBtX3Rva2VuID0gTlRIOwotICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3Rl
cnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3Ro
ID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0OworICAgICAgICAgICAgICAgIHl5
bHZhbC0+c3RyaW5nLmluaXQodG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpLCBjdXJyZW50
Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5
cGU+KCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogCiAgICAg
Y2FzZSBDaGFyYWN0ZXJMZXNzOgotICAgICAgICBpZiAobV9jdXJyZW50Q2hhcmFjdGVyWzBdID09
ICchJyAmJiBtX2N1cnJlbnRDaGFyYWN0ZXJbMV0gPT0gJy0nICYmIG1fY3VycmVudENoYXJhY3Rl
clsyXSA9PSAnLScpIHsKLSAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciArPSAzOworICAg
ICAgICBpZiAoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpWzBdID09ICchJyAm
JiBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMV0gPT0gJy0nICYmIGN1cnJl
bnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKVsyXSA9PSAnLScpIHsKKyAgICAgICAgICAg
IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSArPSAzOwogICAgICAgICAgICAg
bV90b2tlbiA9IFNHTUxfQ0Q7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNl
IENoYXJhY3RlckF0OgotICAgICAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnQoKSkgeworICAgICAg
ICBpZiAoaXNJZGVudGlmaWVyU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSkgewogICAgICAgICAg
ICAgbV90b2tlbiA9IEFUS0VZV09SRDsKICAgICAgICAgICAgICsrcmVzdWx0OwotICAgICAgICAg
ICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgaGFzRXNjYXBlKTsKLSAgICAgICAgICAgIGRldGVj
dEF0VG9rZW4ocmVzdWx0IC0gbV90b2tlblN0YXJ0LCBoYXNFc2NhcGUpOworICAgICAgICAgICAg
cGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgcmVzdWx0U3RyaW5nLCBoYXNFc2NhcGUpOworICAgICAg
ICAgICAgZGV0ZWN0QXRUb2tlbjxTcmNDaGFyYWN0ZXJUeXBlPihyZXN1bHQgLSB0b2tlblN0YXJ0
PFNyY0NoYXJhY3RlclR5cGU+KCksIGhhc0VzY2FwZSk7CiAgICAgICAgIH0KICAgICAgICAgYnJl
YWs7CiAKICAgICBjYXNlIENoYXJhY3RlckJhY2tTbGFzaDoKLSAgICAgICAgaWYgKGlzQ1NTRXNj
YXBlKCptX2N1cnJlbnRDaGFyYWN0ZXIpKSB7Ci0gICAgICAgICAgICAtLW1fY3VycmVudENoYXJh
Y3RlcjsKLSAgICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIGhhc0VzY2FwZSk7Cisg
ICAgICAgIGlmIChpc0NTU0VzY2FwZSgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBl
PigpKSkgeworICAgICAgICAgICAgLS1jdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+
KCk7CisgICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCB5eWx2YWwtPnN0cmluZywg
aGFzRXNjYXBlKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBJREVOVDsKLSAgICAgICAgICAgIHl5
bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAgICAgICB5eWx2
YWwtPnN0cmluZy5sZW5ndGggPSByZXN1bHQgLSBtX3Rva2VuU3RhcnQ7CiAgICAgICAgIH0KICAg
ICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlclhvcjoKLSAgICAgICAgaWYgKCptX2N1
cnJlbnRDaGFyYWN0ZXIgPT0gJz0nKSB7Ci0gICAgICAgICAgICArK21fY3VycmVudENoYXJhY3Rl
cjsKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0g
Jz0nKSB7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4o
KTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBCRUdJTlNXSVRIOwogICAgICAgICB9CiAgICAgICAg
IGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJWZXJ0aWNhbEJhcjoKLSAgICAgICAgaWYgKCpt
X2N1cnJlbnRDaGFyYWN0ZXIgPT0gJz0nKSB7Ci0gICAgICAgICAgICArK21fY3VycmVudENoYXJh
Y3RlcjsKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkg
PT0gJz0nKSB7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlw
ZT4oKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBEQVNITUFUQ0g7CiAgICAgICAgIH0KICAgICAg
ICAgYnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlclRpbGRlOgotICAgICAgICBpZiAoKm1fY3Vy
cmVudENoYXJhY3RlciA9PSAnPScpIHsKLSAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVy
OworICAgICAgICBpZiAoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAn
PScpIHsKKyAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
OwogICAgICAgICAgICAgbV90b2tlbiA9IElOQ0xVREVTOwogICAgICAgICB9CiAgICAgICAgIGJy
ZWFrOwpAQCAtOTUxMiwzNiArOTc0OCw2IEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6CiAgICAgICAg
IGJyZWFrOwogICAgIH0KIAotI2lmbmRlZiBOREVCVUcKLSAgICBzd2l0Y2ggKHRva2VuKCkpIHsK
LSAgICBjYXNlIFNUUklORzoKLSAgICAgICAgQVNTRVJUKHl5bHZhbC0+c3RyaW5nLmNoYXJhY3Rl
cnMgPT0gbV90b2tlblN0YXJ0ICsgMSk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBJREVO
VDoKLSAgICBjYXNlIE5USDoKLSAgICBjYXNlIERJTUVOOgotICAgIGNhc2UgVU5JQ09ERVJBTkdF
OgotICAgIGNhc2UgRlVOQ1RJT046Ci0gICAgY2FzZSBBTllGVU5DVElPTjoKLSAgICBjYXNlIE5P
VEZVTkNUSU9OOgotICAgIGNhc2UgQ0FMQ0ZVTkNUSU9OOgotICAgIGNhc2UgTUlORlVOQ1RJT046
Ci0gICAgY2FzZSBNQVhGVU5DVElPTjoKLSAgICAgICAgQVNTRVJUKHl5bHZhbC0+c3RyaW5nLmNo
YXJhY3RlcnMgPT0gbV90b2tlblN0YXJ0ICYmIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA+IDApOwot
ICAgICAgICBicmVhazsKLQotICAgIGNhc2UgVVJJOgotICAgICAgICBBU1NFUlQoeXlsdmFsLT5z
dHJpbmcuY2hhcmFjdGVycyAmJiB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzICE9IG1fdG9rZW5T
dGFydCk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBIRVg6Ci0gICAgY2FzZSBJRFNFTDoK
LSAgICAgICAgQVNTRVJUKHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPT0gbV90b2tlblN0YXJ0
ICsgMSAmJiB5eWx2YWwtPnN0cmluZy5sZW5ndGggPiAwKTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
fQotI2VuZGlmCi0KICAgICByZXR1cm4gdG9rZW4oKTsKIH0KIApAQCAtOTk4NCwxNyArMTAxOTAs
MTUgQEAgdm9pZCBDU1NQYXJzZXI6OnVwZGF0ZUxhc3RNZWRpYUxpbmUoTWVkaQogICAgIG1lZGlh
LT5zZXRMYXN0TGluZShtX2xpbmVOdW1iZXIpOwogfQogCi12b2lkIENTU1BhcnNlcjo6Zml4VW5w
YXJzZWRQcm9wZXJ0eVJhbmdlcyhDU1NSdWxlU291cmNlRGF0YSogcnVsZURhdGEpCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgdm9pZCBmaXhVbnBhcnNl
ZFByb3BlcnRpZXMoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgQ1NTUnVsZVNvdXJj
ZURhdGEqIHJ1bGVEYXRhKQogewotICAgIGlmICghcnVsZURhdGEtPnN0eWxlU291cmNlRGF0YSkK
LSAgICAgICAgcmV0dXJuOwogICAgIFZlY3RvcjxDU1NQcm9wZXJ0eVNvdXJjZURhdGE+JiBwcm9w
ZXJ0eURhdGEgPSBydWxlRGF0YS0+c3R5bGVTb3VyY2VEYXRhLT5wcm9wZXJ0eURhdGE7CiAgICAg
dW5zaWduZWQgc2l6ZSA9IHByb3BlcnR5RGF0YS5zaXplKCk7CiAgICAgaWYgKCFzaXplKQogICAg
ICAgICByZXR1cm47CiAKICAgICB1bnNpZ25lZCBzdHlsZVN0YXJ0ID0gcnVsZURhdGEtPnJ1bGVC
b2R5UmFuZ2Uuc3RhcnQ7Ci0gICAgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMgPSBtX2RhdGFTdGFy
dC5nZXQoKSArIG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aDsKICAgICBDU1NQcm9wZXJ0eVNvdXJj
ZURhdGEqIG5leHREYXRhID0gJihwcm9wZXJ0eURhdGEuYXQoMCkpOwogICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKICAgICAgICAgQ1NTUHJvcGVydHlTb3VyY2VEYXRh
KiBjdXJyZW50RGF0YSA9IG5leHREYXRhOwpAQCAtMTAwMzEsMzYgKzEwMjM1LDYwIEBAIHZvaWQg
Q1NTUGFyc2VyOjpmaXhVbnBhcnNlZFByb3BlcnR5UmFuZ2UKICAgICB9CiB9CiAKK3ZvaWQgQ1NT
UGFyc2VyOjpmaXhVbnBhcnNlZFByb3BlcnR5UmFuZ2VzKENTU1J1bGVTb3VyY2VEYXRhKiBydWxl
RGF0YSkKK3sKKyAgICBpZiAoIXJ1bGVEYXRhLT5zdHlsZVNvdXJjZURhdGEpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmIChpczhCaXRTb3VyY2UoKSkgeworICAgICAgICBmaXhVbnBhcnNlZFBy
b3BlcnRpZXM8TENoYXI+KG1fZGF0YVN0YXJ0OC5nZXQoKSArIG1fcGFyc2VkVGV4dFByZWZpeExl
bmd0aCwgcnVsZURhdGEpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZml4VW5wYXJz
ZWRQcm9wZXJ0aWVzPFVDaGFyPihtX2RhdGFTdGFydDE2LmdldCgpICsgbV9wYXJzZWRUZXh0UHJl
Zml4TGVuZ3RoLCBydWxlRGF0YSk7Cit9CisKIHZvaWQgQ1NTUGFyc2VyOjptYXJrUnVsZUhlYWRl
clN0YXJ0KENTU1J1bGVTb3VyY2VEYXRhOjpUeXBlIHJ1bGVUeXBlKQogewogICAgIGlmICghaXNF
eHRyYWN0aW5nU291cmNlRGF0YSgpKQogICAgICAgICByZXR1cm47CiAgICAgUmVmUHRyPENTU1J1
bGVTb3VyY2VEYXRhPiBkYXRhID0gQ1NTUnVsZVNvdXJjZURhdGE6OmNyZWF0ZShydWxlVHlwZSk7
Ci0gICAgZGF0YS0+cnVsZUhlYWRlclJhbmdlLnN0YXJ0ID0gbV90b2tlblN0YXJ0IC0gbV9kYXRh
U3RhcnQuZ2V0KCk7CisgICAgZGF0YS0+cnVsZUhlYWRlclJhbmdlLnN0YXJ0ID0gdG9rZW5TdGFy
dE9mZnNldCgpOwogICAgIG1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmFwcGVuZChkYXRhLnJlbGVh
c2UoKSk7CiB9CiAKLXZvaWQgQ1NTUGFyc2VyOjptYXJrUnVsZUhlYWRlckVuZCgpCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2lubGluZSB2b2lkIENTU1BhcnNlcjo6c2V0UnVs
ZUhlYWRlckVuZChjb25zdCBDaGFyYWN0ZXJUeXBlKiBkYXRhU3RhcnQpCiB7Ci0gICAgaWYgKCFp
c0V4dHJhY3RpbmdTb3VyY2VEYXRhKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBBU1NFUlQoIW1f
Y3VycmVudFJ1bGVEYXRhU3RhY2stPmlzRW1wdHkoKSk7Ci0gICAgVUNoYXIqIGxpc3RFbmQgPSBt
X3Rva2VuU3RhcnQ7Ci0gICAgd2hpbGUgKGxpc3RFbmQgPiBtX2RhdGFTdGFydC5nZXQoKSArIDEp
IHsKKyAgICBDaGFyYWN0ZXJUeXBlKiBsaXN0RW5kID0gdG9rZW5TdGFydDxDaGFyYWN0ZXJUeXBl
PigpOworICAgIHdoaWxlIChsaXN0RW5kID4gZGF0YVN0YXJ0ICsgMSkgewogICAgICAgICBpZiAo
aXNIVE1MU3BhY2UoKihsaXN0RW5kIC0gMSkpKQogICAgICAgICAgICAgLS1saXN0RW5kOwogICAg
ICAgICBlbHNlCiAgICAgICAgICAgICBicmVhazsKICAgICB9Ci0gICAgbV9jdXJyZW50UnVsZURh
dGFTdGFjay0+bGFzdCgpLT5ydWxlSGVhZGVyUmFuZ2UuZW5kID0gbGlzdEVuZCAtIG1fZGF0YVN0
YXJ0LmdldCgpOworCisgICAgbV9jdXJyZW50UnVsZURhdGFTdGFjay0+bGFzdCgpLT5ydWxlSGVh
ZGVyUmFuZ2UuZW5kID0gbGlzdEVuZCAtIGRhdGFTdGFydDsKK30KKwordm9pZCBDU1NQYXJzZXI6
Om1hcmtSdWxlSGVhZGVyRW5kKCkKK3sKKyAgICBpZiAoIWlzRXh0cmFjdGluZ1NvdXJjZURhdGEo
KSkKKyAgICAgICAgcmV0dXJuOworICAgIEFTU0VSVCghbV9jdXJyZW50UnVsZURhdGFTdGFjay0+
aXNFbXB0eSgpKTsKKworICAgIGlmIChpczhCaXRTb3VyY2UoKSkKKyAgICAgICAgc2V0UnVsZUhl
YWRlckVuZDxMQ2hhcj4obV9kYXRhU3RhcnQ4LmdldCgpKTsKKyAgICBlbHNlCisgICAgICAgIHNl
dFJ1bGVIZWFkZXJFbmQ8VUNoYXI+KG1fZGF0YVN0YXJ0MTYuZ2V0KCkpOwogfQogCiB2b2lkIENT
U1BhcnNlcjo6bWFya1J1bGVCb2R5U3RhcnQoKQogewogICAgIGlmICghaXNFeHRyYWN0aW5nU291
cmNlRGF0YSgpKQogICAgICAgICByZXR1cm47Ci0gICAgdW5zaWduZWQgb2Zmc2V0ID0gbV90b2tl
blN0YXJ0IC0gbV9kYXRhU3RhcnQuZ2V0KCk7Ci0gICAgaWYgKCptX3Rva2VuU3RhcnQgPT0gJ3sn
KQorICAgIHVuc2lnbmVkIG9mZnNldCA9IHRva2VuU3RhcnRPZmZzZXQoKTsKKyAgICBpZiAodG9r
ZW5TdGFydENoYXIoKSA9PSAneycpCiAgICAgICAgICsrb2Zmc2V0OyAvLyBTa2lwIHRoZSBydWxl
IGJvZHkgb3BlbmluZyBicmFjZS4KICAgICBBU1NFUlQoIW1fY3VycmVudFJ1bGVEYXRhU3RhY2st
PmlzRW1wdHkoKSk7CiAgICAgbV9jdXJyZW50UnVsZURhdGFTdGFjay0+bGFzdCgpLT5ydWxlQm9k
eVJhbmdlLnN0YXJ0ID0gb2Zmc2V0OwpAQCAtMTAwNjksNyArMTAyOTcsNyBAQCB2b2lkIENTU1Bh
cnNlcjo6bWFya1J1bGVCb2R5U3RhcnQoKQogdm9pZCBDU1NQYXJzZXI6Om1hcmtSdWxlQm9keUVu
ZCgpCiB7CiAgICAgLy8gUHJlY29uZGl0aW9uOiAoIWlzRXh0cmFjdGluZ1NvdXJjZURhdGEoKSkK
LSAgICB1bnNpZ25lZCBvZmZzZXQgPSBtX3Rva2VuU3RhcnQgLSBtX2RhdGFTdGFydC5nZXQoKTsK
KyAgICB1bnNpZ25lZCBvZmZzZXQgPSB0b2tlblN0YXJ0T2Zmc2V0KCk7CiAgICAgQVNTRVJUKCFt
X2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5pc0VtcHR5KCkpOwogICAgIG1fY3VycmVudFJ1bGVEYXRh
U3RhY2stPmxhc3QoKS0+cnVsZUJvZHlSYW5nZS5lbmQgPSBvZmZzZXQ7CiB9CkBAIC0xMDA4MSw3
ICsxMDMwOSw3IEBAIHZvaWQgQ1NTUGFyc2VyOjptYXJrUHJvcGVydHlTdGFydCgpCiAgICAgaWYg
KG1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmlzRW1wdHkoKSB8fCAhbV9jdXJyZW50UnVsZURhdGFT
dGFjay0+bGFzdCgpLT5zdHlsZVNvdXJjZURhdGEpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1f
cHJvcGVydHlSYW5nZS5zdGFydCA9IG1fdG9rZW5TdGFydCAtIG1fZGF0YVN0YXJ0LmdldCgpOwor
ICAgIG1fcHJvcGVydHlSYW5nZS5zdGFydCA9IHRva2VuU3RhcnRPZmZzZXQoKTsKIH0KIAogdm9p
ZCBDU1NQYXJzZXI6Om1hcmtQcm9wZXJ0eUVuZChib29sIGlzSW1wb3J0YW50Rm91bmQsIGJvb2wg
aXNQcm9wZXJ0eVBhcnNlZCkKQEAgLTEwMDkxLDggKzEwMzE5LDggQEAgdm9pZCBDU1NQYXJzZXI6
Om1hcmtQcm9wZXJ0eUVuZChib29sIGlzSQogICAgIGlmIChtX2N1cnJlbnRSdWxlRGF0YVN0YWNr
LT5pc0VtcHR5KCkgfHwgIW1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmxhc3QoKS0+c3R5bGVTb3Vy
Y2VEYXRhKQogICAgICAgICByZXR1cm47CiAKLSAgICB1bnNpZ25lZCBvZmZzZXQgPSBtX3Rva2Vu
U3RhcnQgLSBtX2RhdGFTdGFydC5nZXQoKTsKLSAgICBpZiAoKm1fdG9rZW5TdGFydCA9PSAnOycp
IC8vIEluY2x1ZGUgc2VtaWNvbG9uIGludG8gdGhlIHByb3BlcnR5IHRleHQuCisgICAgdW5zaWdu
ZWQgb2Zmc2V0ID0gdG9rZW5TdGFydE9mZnNldCgpOworICAgIGlmICh0b2tlblN0YXJ0Q2hhcigp
ID09ICc7JykgLy8gSW5jbHVkZSBzZW1pY29sb24gaW50byB0aGUgcHJvcGVydHkgdGV4dC4KICAg
ICAgICAgKytvZmZzZXQ7CiAgICAgbV9wcm9wZXJ0eVJhbmdlLmVuZCA9IG9mZnNldDsKICAgICBp
ZiAobV9wcm9wZXJ0eVJhbmdlLnN0YXJ0ICE9IFVJTlRfTUFYICYmICFtX2N1cnJlbnRSdWxlRGF0
YVN0YWNrLT5pc0VtcHR5KCkpIHsKQEAgLTEwMTAwLDcgKzEwMzI4LDExIEBAIHZvaWQgQ1NTUGFy
c2VyOjptYXJrUHJvcGVydHlFbmQoYm9vbCBpc0kKICAgICAgICAgY29uc3QgdW5zaWduZWQgc3Rh
cnQgPSBtX3Byb3BlcnR5UmFuZ2Uuc3RhcnQ7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGVuZCA9
IG1fcHJvcGVydHlSYW5nZS5lbmQ7CiAgICAgICAgIEFTU0VSVChzdGFydCA8IGVuZCk7Ci0gICAg
ICAgIFN0cmluZyBwcm9wZXJ0eVN0cmluZyA9IFN0cmluZyhtX2RhdGFTdGFydC5nZXQoKSArIHN0
YXJ0LCBlbmQgLSBzdGFydCkuc3RyaXBXaGl0ZVNwYWNlKCk7CisgICAgICAgIFN0cmluZyBwcm9w
ZXJ0eVN0cmluZzsKKyAgICAgICAgaWYgKGlzOEJpdFNvdXJjZSgpKQorICAgICAgICAgICAgcHJv
cGVydHlTdHJpbmcgPSBTdHJpbmcobV9kYXRhU3RhcnQ4LmdldCgpICsgc3RhcnQsIGVuZCAtIHN0
YXJ0KS5zdHJpcFdoaXRlU3BhY2UoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJvcGVy
dHlTdHJpbmcgPSBTdHJpbmcobV9kYXRhU3RhcnQxNi5nZXQoKSArIHN0YXJ0LCBlbmQgLSBzdGFy
dCkuc3RyaXBXaGl0ZVNwYWNlKCk7CiAgICAgICAgIGlmIChwcm9wZXJ0eVN0cmluZy5lbmRzV2l0
aCgnOycpKQogICAgICAgICAgICAgcHJvcGVydHlTdHJpbmcgPSBwcm9wZXJ0eVN0cmluZy5sZWZ0
KHByb3BlcnR5U3RyaW5nLmxlbmd0aCgpIC0gMSk7CiAgICAgICAgIHNpemVfdCBjb2xvbkluZGV4
ID0gcHJvcGVydHlTdHJpbmcuZmluZCgnOicpOwpAQCAtMTAxMTYsMTcgKzEwMzQ4LDEzIEBAIHZv
aWQgQ1NTUGFyc2VyOjptYXJrUHJvcGVydHlFbmQoYm9vbCBpc0kKICAgICByZXNldFByb3BlcnR5
UmFuZ2UoKTsKIH0KIAotc3RhdGljIENTU1Byb3BlcnR5SUQgY3NzUHJvcGVydHlJRChjb25zdCBV
Q2hhciogcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBsZW5ndGgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
Q2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SUQoY29uc3Qg
Q2hhcmFjdGVyVHlwZSogcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBsZW5ndGgpCiB7Ci0gICAgaWYg
KCFsZW5ndGgpCi0gICAgICAgIHJldHVybiBDU1NQcm9wZXJ0eUludmFsaWQ7Ci0gICAgaWYgKGxl
bmd0aCA+IG1heENTU1Byb3BlcnR5TmFtZUxlbmd0aCkKLSAgICAgICAgcmV0dXJuIENTU1Byb3Bl
cnR5SW52YWxpZDsKLQogICAgIGNoYXIgYnVmZmVyW21heENTU1Byb3BlcnR5TmFtZUxlbmd0aCAr
IDEgKyAxXTsgLy8gMSB0byB0dXJuICJhcHBsZSIvImtodG1sIiBpbnRvICJ3ZWJraXQiLCAxIGZv
ciBudWxsIGNoYXJhY3RlcgogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSAhPSBsZW5ndGg7
ICsraSkgewotICAgICAgICBVQ2hhciBjID0gcHJvcGVydHlOYW1lW2ldOworICAgICAgICBDaGFy
YWN0ZXJUeXBlIGMgPSBwcm9wZXJ0eU5hbWVbaV07CiAgICAgICAgIGlmIChjID09IDAgfHwgYyA+
PSAweDdGKQogICAgICAgICAgICAgcmV0dXJuIENTU1Byb3BlcnR5SW52YWxpZDsgLy8gaWxsZWdh
bCBjaGFyYWN0ZXIKICAgICAgICAgYnVmZmVyW2ldID0gdG9BU0NJSUxvd2VyKGMpOwpAQCAtMTAx
NjQsMTIgKzEwMzkyLDI2IEBAIHN0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SUQoY29u
c3QKIAogQ1NTUHJvcGVydHlJRCBjc3NQcm9wZXJ0eUlEKGNvbnN0IFN0cmluZyYgc3RyaW5nKQog
ewotICAgIHJldHVybiBjc3NQcm9wZXJ0eUlEKHN0cmluZy5jaGFyYWN0ZXJzKCksIHN0cmluZy5s
ZW5ndGgoKSk7CisgICAgdW5zaWduZWQgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOworCisgICAg
aWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybiBDU1NQcm9wZXJ0eUludmFsaWQ7CisgICAgaWYg
KGxlbmd0aCA+IG1heENTU1Byb3BlcnR5TmFtZUxlbmd0aCkKKyAgICAgICAgcmV0dXJuIENTU1By
b3BlcnR5SW52YWxpZDsKKyAgICAKKyAgICByZXR1cm4gc3RyaW5nLmlzOEJpdCgpID8gY3NzUHJv
cGVydHlJRChzdHJpbmcuY2hhcmFjdGVyczgoKSwgbGVuZ3RoKSA6IGNzc1Byb3BlcnR5SUQoc3Ry
aW5nLmNoYXJhY3RlcnMoKSwgbGVuZ3RoKTsKIH0KIAogQ1NTUHJvcGVydHlJRCBjc3NQcm9wZXJ0
eUlEKGNvbnN0IENTU1BhcnNlclN0cmluZyYgc3RyaW5nKQogewotICAgIHJldHVybiBjc3NQcm9w
ZXJ0eUlEKHN0cmluZy5jaGFyYWN0ZXJzLCBzdHJpbmcubGVuZ3RoKTsKKyAgICB1bnNpZ25lZCBs
ZW5ndGggPSBzdHJpbmcubGVuZ3RoKCk7CisKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0
dXJuIENTU1Byb3BlcnR5SW52YWxpZDsKKyAgICBpZiAobGVuZ3RoID4gbWF4Q1NTUHJvcGVydHlO
YW1lTGVuZ3RoKQorICAgICAgICByZXR1cm4gQ1NTUHJvcGVydHlJbnZhbGlkOworICAgIAorICAg
IHJldHVybiBzdHJpbmcuaXM4Qml0KCkgPyBjc3NQcm9wZXJ0eUlEKHN0cmluZy5jaGFyYWN0ZXJz
OCgpLCBsZW5ndGgpIDogY3NzUHJvcGVydHlJRChzdHJpbmcuY2hhcmFjdGVyczE2KCksIGxlbmd0
aCk7CiB9CiAKICNpZiBQTEFURk9STShJT1MpCkBAIC0xMDE4NCwxOCArMTA0MjYsMTMgQEAgdm9p
ZCBjc3NQcm9wZXJ0eU5hbWVJT1NBbGlhc2luZyhjb25zdCBjaAogfQogI2VuZGlmCiAKLWludCBj
c3NWYWx1ZUtleXdvcmRJRChjb25zdCBDU1NQYXJzZXJTdHJpbmcmIHN0cmluZykKK3RlbXBsYXRl
IDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGludCBjc3NWYWx1ZUtleXdvcmRJRChj
b25zdCBDaGFyYWN0ZXJUeXBlKiB2YWx1ZUtleXdvcmQsIHVuc2lnbmVkIGxlbmd0aCkKIHsKLSAg
ICB1bnNpZ25lZCBsZW5ndGggPSBzdHJpbmcubGVuZ3RoOwotICAgIGlmICghbGVuZ3RoKQotICAg
ICAgICByZXR1cm4gMDsKLSAgICBpZiAobGVuZ3RoID4gbWF4Q1NTVmFsdWVLZXl3b3JkTGVuZ3Ro
KQotICAgICAgICByZXR1cm4gMDsKLQogICAgIGNoYXIgYnVmZmVyW21heENTU1ZhbHVlS2V5d29y
ZExlbmd0aCArIDEgKyAxXTsgLy8gMSB0byB0dXJuICJhcHBsZSIvImtodG1sIiBpbnRvICJ3ZWJr
aXQiLCAxIGZvciBudWxsIGNoYXJhY3RlcgogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSAh
PSBsZW5ndGg7ICsraSkgewotICAgICAgICBVQ2hhciBjID0gc3RyaW5nLmNoYXJhY3RlcnNbaV07
CisgICAgICAgIENoYXJhY3RlclR5cGUgYyA9IHZhbHVlS2V5d29yZFtpXTsKICAgICAgICAgaWYg
KGMgPT0gMCB8fCBjID49IDB4N0YpCiAgICAgICAgICAgICByZXR1cm4gMDsgLy8gaWxsZWdhbCBj
aGFyYWN0ZXIKICAgICAgICAgYnVmZmVyW2ldID0gV1RGOjp0b0FTQ0lJTG93ZXIoYyk7CkBAIC0x
MDIxNiwzOCArMTA0NTMsNjAgQEAgaW50IGNzc1ZhbHVlS2V5d29yZElEKGNvbnN0IENTU1BhcnNl
clN0cgogICAgIHJldHVybiBoYXNoVGFibGVFbnRyeSA/IGhhc2hUYWJsZUVudHJ5LT5pZCA6IDA7
CiB9CiAKLS8vICJpZGVudCIgZnJvbSB0aGUgQ1NTIHRva2VuaXplciwgbWludXMgYmFja3NsYXNo
LWVzY2FwZSBzZXF1ZW5jZXMKLXN0YXRpYyBib29sIGlzQ1NTVG9rZW5pemVySWRlbnRpZmllcihj
b25zdCBTdHJpbmcmIHN0cmluZykKK2ludCBjc3NWYWx1ZUtleXdvcmRJRChjb25zdCBDU1NQYXJz
ZXJTdHJpbmcmIHN0cmluZykKIHsKLSAgICBjb25zdCBVQ2hhciogcCA9IHN0cmluZy5jaGFyYWN0
ZXJzKCk7Ci0gICAgY29uc3QgVUNoYXIqIGVuZCA9IHAgKyBzdHJpbmcubGVuZ3RoKCk7CisgICAg
dW5zaWduZWQgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOworICAgIGlmICghbGVuZ3RoKQorICAg
ICAgICByZXR1cm4gMDsKKyAgICBpZiAobGVuZ3RoID4gbWF4Q1NTVmFsdWVLZXl3b3JkTGVuZ3Ro
KQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBzdHJpbmcuaXM4Qml0KCkgPyBjc3NW
YWx1ZUtleXdvcmRJRChzdHJpbmcuY2hhcmFjdGVyczgoKSwgbGVuZ3RoKSA6IGNzc1ZhbHVlS2V5
d29yZElEKHN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgbGVuZ3RoKTsKK30KKwordGVtcGxhdGUgPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5lIGJvb2wgaXNDU1NUb2tlbml6ZXJJ
ZGVudGlmaWVyKGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0
aCkKK3sKKyAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBlbmQgPSBjaGFyYWN0ZXJzICsgbGVuZ3Ro
OwogCiAgICAgLy8gLT8KLSAgICBpZiAocCAhPSBlbmQgJiYgcFswXSA9PSAnLScpCi0gICAgICAg
ICsrcDsKKyAgICBpZiAoY2hhcmFjdGVycyAhPSBlbmQgJiYgY2hhcmFjdGVyc1swXSA9PSAnLScp
CisgICAgICAgICsrY2hhcmFjdGVyczsKIAogICAgIC8vIHtubXN0YXJ0fQotICAgIGlmIChwID09
IGVuZCB8fCAhKHBbMF0gPT0gJ18nIHx8IHBbMF0gPj0gMTI4IHx8IGlzQVNDSUlBbHBoYShwWzBd
KSkpCisgICAgaWYgKGNoYXJhY3RlcnMgPT0gZW5kIHx8ICEoY2hhcmFjdGVyc1swXSA9PSAnXycg
fHwgY2hhcmFjdGVyc1swXSA+PSAxMjggfHwgaXNBU0NJSUFscGhhKGNoYXJhY3RlcnNbMF0pKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICsrcDsKKyAgICArK2NoYXJhY3RlcnM7CiAKICAg
ICAvLyB7bm1jaGFyfSoKLSAgICBmb3IgKDsgcCAhPSBlbmQ7ICsrcCkgewotICAgICAgICBpZiAo
IShwWzBdID09ICdfJyB8fCBwWzBdID09ICctJyB8fCBwWzBdID49IDEyOCB8fCBpc0FTQ0lJQWxw
aGFudW1lcmljKHBbMF0pKSkKKyAgICBmb3IgKDsgY2hhcmFjdGVycyAhPSBlbmQ7ICsrY2hhcmFj
dGVycykgeworICAgICAgICBpZiAoIShjaGFyYWN0ZXJzWzBdID09ICdfJyB8fCBjaGFyYWN0ZXJz
WzBdID09ICctJyB8fCBjaGFyYWN0ZXJzWzBdID49IDEyOCB8fCBpc0FTQ0lJQWxwaGFudW1lcmlj
KGNoYXJhY3RlcnNbMF0pKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotLy8gInVybCIgZnJvbSB0aGUgQ1NTIHRva2VuaXplciwgbWlu
dXMgYmFja3NsYXNoLWVzY2FwZSBzZXF1ZW5jZXMKLXN0YXRpYyBib29sIGlzQ1NTVG9rZW5pemVy
VVJMKGNvbnN0IFN0cmluZyYgc3RyaW5nKQorLy8gImlkZW50IiBmcm9tIHRoZSBDU1MgdG9rZW5p
emVyLCBtaW51cyBiYWNrc2xhc2gtZXNjYXBlIHNlcXVlbmNlcworc3RhdGljIGJvb2wgaXNDU1NU
b2tlbml6ZXJJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewotICAgIGNvbnN0IFVD
aGFyKiBwID0gc3RyaW5nLmNoYXJhY3RlcnMoKTsKLSAgICBjb25zdCBVQ2hhciogZW5kID0gcCAr
IHN0cmluZy5sZW5ndGgoKTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBzdHJpbmcubGVuZ3RoKCk7
CisKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKHN0
cmluZy5pczhCaXQoKSkKKyAgICAgICAgcmV0dXJuIGlzQ1NTVG9rZW5pemVySWRlbnRpZmllcihz
dHJpbmcuY2hhcmFjdGVyczgoKSwgbGVuZ3RoKTsKKyAgICByZXR1cm4gaXNDU1NUb2tlbml6ZXJJ
ZGVudGlmaWVyKHN0cmluZy5jaGFyYWN0ZXJzKCksIGxlbmd0aCk7Cit9CiAKLSAgICBmb3IgKDsg
cCAhPSBlbmQ7ICsrcCkgewotICAgICAgICBVQ2hhciBjID0gcFswXTsKK3RlbXBsYXRlIDx0eXBl
bmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGlzQ1NTVG9rZW5pemVyVVJM
KGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAg
ICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBlbmQgPSBjaGFyYWN0ZXJzICsgbGVuZ3RoOworICAgIAor
ICAgIGZvciAoOyBjaGFyYWN0ZXJzICE9IGVuZDsgKytjaGFyYWN0ZXJzKSB7CisgICAgICAgIENo
YXJhY3RlclR5cGUgYyA9IGNoYXJhY3RlcnNbMF07CiAgICAgICAgIHN3aXRjaCAoYykgewogICAg
ICAgICAgICAgY2FzZSAnISc6CiAgICAgICAgICAgICBjYXNlICcjJzoKQEAgLTEwMjY0LDEwICsx
MDUyMywyMyBAQCBzdGF0aWMgYm9vbCBpc0NTU1Rva2VuaXplclVSTChjb25zdCBTdHJpCiAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogICAgIH0KLQorICAgIAog
ICAgIHJldHVybiB0cnVlOwogfQogCisvLyAidXJsIiBmcm9tIHRoZSBDU1MgdG9rZW5pemVyLCBt
aW51cyBiYWNrc2xhc2gtZXNjYXBlIHNlcXVlbmNlcworc3RhdGljIGJvb2wgaXNDU1NUb2tlbml6
ZXJVUkwoY29uc3QgU3RyaW5nJiBzdHJpbmcpCit7CisgICAgdW5zaWduZWQgbGVuZ3RoID0gc3Ry
aW5nLmxlbmd0aCgpOworCisgICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybiB0cnVlOwor
CisgICAgaWYgKHN0cmluZy5pczhCaXQoKSkKKyAgICAgICAgcmV0dXJuIGlzQ1NTVG9rZW5pemVy
VVJMKHN0cmluZy5jaGFyYWN0ZXJzOCgpLCBsZW5ndGgpOworICAgIHJldHVybiBpc0NTU1Rva2Vu
aXplclVSTChzdHJpbmcuY2hhcmFjdGVycygpLCBsZW5ndGgpOworfQorCiAvLyBXZSB1c2Ugc2lu
Z2xlIHF1b3RlcyBmb3Igbm93IGJlY2F1c2UgbWFya3VwLmNwcCB1c2VzIGRvdWJsZSBxdW90ZXMu
CiBTdHJpbmcgcXVvdGVDU1NTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCShyZXZpc2lvbiAxMjY4MzcpCisrKyBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTcwLDYgKzcwLDggQEAgY2xhc3MgV2Vi
S2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZTsKICNlbmRpZgogCiBjbGFzcyBDU1NQYXJzZXIgeworICAg
IGZyaWVuZCBpbmxpbmUgaW50IGNzc3l5bGV4KHZvaWQqLCBDU1NQYXJzZXIqKTsKKwogcHVibGlj
OgogICAgIENTU1BhcnNlcihjb25zdCBDU1NQYXJzZXJDb250ZXh0Jik7CiAKQEAgLTM1NCw3ICsz
NTYsOSBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxDU1NSdWxlU291cmNlRGF0YT4gcG9wUnVs
ZURhdGEoKTsKICAgICB2b2lkIHJlc2V0UHJvcGVydHlSYW5nZSgpIHsgbV9wcm9wZXJ0eVJhbmdl
LnN0YXJ0ID0gbV9wcm9wZXJ0eVJhbmdlLmVuZCA9IFVJTlRfTUFYOyB9CiAgICAgYm9vbCBpc0V4
dHJhY3RpbmdTb3VyY2VEYXRhKCkgY29uc3QgeyByZXR1cm4gISFtX2N1cnJlbnRSdWxlRGF0YVN0
YWNrOyB9Ci0gICAgaW50IGxleCh2b2lkKiB5eWx2YWwpOworCisgICAgaW5saW5lIGludCBsZXgo
dm9pZCogeXlsdmFsKSB7IHJldHVybiAodGhpcy0+Km1fbGV4RnVuYykoeXlsdmFsKTsgfQorCiAg
ICAgaW50IHRva2VuKCkgeyByZXR1cm4gbV90b2tlbjsgfQogCiAgICAgUGFzc1JlZlB0cjxDU1NQ
cmltaXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVl
Kik7CkBAIC0zNjMsMjMgKzM2Nyw3MSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEtVUkwgY29tcGxl
dGVVUkwoY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYsIGNvbnN0IFN0cmluZyYgdXJsKTsKIAogcHJp
dmF0ZToKKyAgICBib29sIGlzOEJpdFNvdXJjZSgpIHsgcmV0dXJuIG1faXM4Qml0U291cmNlOyB9
CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgU291cmNlQ2hhcmFjdGVyVHlwZT4KKyAgICBpbnQg
cmVhbExleCh2b2lkKiB5eWx2YWwpOworCisgICAgVUNoYXIqJiBjdXJyZW50Q2hhcmFjdGVyMTYo
KTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSBD
aGFyYWN0ZXJUeXBlKiYgY3VycmVudENoYXJhY3RlcigpOworCisgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIENoYXJhY3RlclR5cGU+CisgICAgaW5saW5lIENoYXJhY3RlclR5cGUqIHRva2VuU3RhcnQo
KTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSB2
b2lkIHNldFRva2VuU3RhcnQoQ2hhcmFjdGVyVHlwZSopOworCisgICAgaW5saW5lIHVuc2lnbmVk
IHRva2VuU3RhcnRPZmZzZXQoKTsKKyAgICBpbmxpbmUgVUNoYXIgdG9rZW5TdGFydENoYXIoKTsK
KworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogICAgIGlubGluZSBib29s
IGlzSWRlbnRpZmllclN0YXJ0KCk7CiAKLSAgICBzdGF0aWMgaW5saW5lIFVDaGFyKiBjaGVja0Fu
ZFNraXBTdHJpbmcoVUNoYXIqLCBVQ2hhcik7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJh
Y3RlclR5cGU+CisgICAgc3RhdGljIGlubGluZSBDaGFyYWN0ZXJUeXBlKiBjaGVja0FuZFNraXBT
dHJpbmcoQ2hhcmFjdGVyVHlwZSosIGludCk7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hh
cmFjdGVyVHlwZT4KKyAgICB1bnNpZ25lZCBwYXJzZUVzY2FwZShDaGFyYWN0ZXJUeXBlKiYpOwor
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBEZXN0Q2hhcmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgdm9p
ZCBVbmljb2RlVG9DaGFycyhEZXN0Q2hhcmFjdGVyVHlwZSomLCB1bnNpZ25lZCk7CisgICAgdGVt
cGxhdGUgPHR5cGVuYW1lIFNyY0NoYXJhY3RlclR5cGUsIHR5cGVuYW1lIERlc3RDaGFyYWN0ZXJU
eXBlPgorICAgIGlubGluZSBib29sIHBhcnNlSWRlbnRpZmllckludGVybmFsKFNyY0NoYXJhY3Rl
clR5cGUqJiwgRGVzdENoYXJhY3RlclR5cGUqJiwgYm9vbCYpOworCisgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+CisgICAgaW5saW5lIHZvaWQgcGFyc2VJZGVudGlmaWVyKENo
YXJhY3RlclR5cGUqJiwgQ1NTUGFyc2VyU3RyaW5nJiwgYm9vbCYpOworCisgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIFNyY0NoYXJhY3RlclR5cGUsIHR5cGVuYW1lIERlc3RDaGFyYWN0ZXJUeXBlPgor
ICAgIGlubGluZSBib29sIHBhcnNlU3RyaW5nSW50ZXJuYWwoU3JjQ2hhcmFjdGVyVHlwZSomLCBE
ZXN0Q2hhcmFjdGVyVHlwZSomLCBVQ2hhcik7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hh
cmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgdm9pZCBwYXJzZVN0cmluZyhDaGFyYWN0ZXJUeXBlKiYs
IENTU1BhcnNlclN0cmluZyYgcmVzdWx0U3RyaW5nLCBVQ2hhcik7CisKKyAgICB0ZW1wbGF0ZSA8
dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgYm9vbCBwYXJzZVVSSUludGVybmFs
KENoYXJhY3RlclR5cGUqJiwgQ2hhcmFjdGVyVHlwZSomKTsKIAotICAgIHZvaWQgcGFyc2VFc2Nh
cGUoVUNoYXIqJik7Ci0gICAgaW5saW5lIHZvaWQgcGFyc2VJZGVudGlmaWVyKFVDaGFyKiYsIGJv
b2wmKTsKLSAgICBpbmxpbmUgdm9pZCBwYXJzZVN0cmluZyhVQ2hhciomLCBVQ2hhcik7Ci0gICAg
aW5saW5lIHZvaWQgcGFyc2VVUkkoVUNoYXIqJiwgVUNoYXIqJik7CisgICAgaW5saW5lIHZvaWQg
cGFyc2VVUkkoQ1NTUGFyc2VyU3RyaW5nJik7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJh
Y3RlclR5cGU+CiAgICAgaW5saW5lIGJvb2wgcGFyc2VVbmljb2RlUmFuZ2UoKTsKKyAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KICAgICBib29sIHBhcnNlTnRoQ2hpbGQoKTsK
KyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KICAgICBib29sIHBhcnNlTnRo
Q2hpbGRFeHRyYSgpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogICAg
IGlubGluZSB2b2lkIGRldGVjdEZ1bmN0aW9uVHlwZVRva2VuKGludCk7CisgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiAgICAgaW5saW5lIHZvaWQgZGV0ZWN0TWVkaWFRdWVy
eVRva2VuKGludCk7Ci0gICAgaW5saW5lIHZvaWQgZGV0ZWN0TnVtYmVyVG9rZW4oVUNoYXIqLCBp
bnQpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSB2
b2lkIGRldGVjdE51bWJlclRva2VuKENoYXJhY3RlclR5cGUqLCBpbnQpOworICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogICAgIGlubGluZSB2b2lkIGRldGVjdERhc2hUb2tl
bihpbnQpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogICAgIGlubGlu
ZSB2b2lkIGRldGVjdEF0VG9rZW4oaW50LCBib29sKTsKIAorICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBDaGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSB2b2lkIHNldFJ1bGVIZWFkZXJFbmQoY29uc3Qg
Q2hhcmFjdGVyVHlwZSopOworCiAgICAgdm9pZCBzZXRTdHlsZVNoZWV0KFN0eWxlU2hlZXRDb250
ZW50cyopOwogCiAgICAgaW5saW5lIGJvb2wgaW5TdHJpY3RNb2RlKCkgY29uc3QgeyByZXR1cm4g
bV9jb250ZXh0Lm1vZGUgPT0gQ1NTU3RyaWN0TW9kZSB8fCBtX2NvbnRleHQubW9kZSA9PSBTVkdB
dHRyaWJ1dGVNb2RlOyB9CkBAIC00MzAsOSArNDgyLDE2IEBAIHByaXZhdGU6CiAgICAgfTsKIAog
ICAgIFBhcnNpbmdNb2RlIG1fcGFyc2luZ01vZGU7Ci0gICAgT3duQXJyYXlQdHI8VUNoYXI+IG1f
ZGF0YVN0YXJ0OwotICAgIFVDaGFyKiBtX2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgVUNoYXIqIG1f
dG9rZW5TdGFydDsKKyAgICBib29sIG1faXM4Qml0U291cmNlOworICAgIE93bkFycmF5UHRyPExD
aGFyPiBtX2RhdGFTdGFydDg7CisgICAgT3duQXJyYXlQdHI8VUNoYXI+IG1fZGF0YVN0YXJ0MTY7
CisgICAgTENoYXIqIG1fY3VycmVudENoYXJhY3Rlcjg7CisgICAgVUNoYXIqIG1fY3VycmVudENo
YXJhY3RlcjE2OworICAgIHVuaW9uIHsKKyAgICAgICAgTENoYXIqIHB0cjg7CisgICAgICAgIFVD
aGFyKiBwdHIxNjsKKyAgICB9IG1fdG9rZW5TdGFydDsKKyAgICB1bnNpZ25lZCBtX2xlbmd0aDsK
ICAgICBpbnQgbV90b2tlbjsKICAgICBpbnQgbV9saW5lTnVtYmVyOwogICAgIGludCBtX2xhc3RT
ZWxlY3RvckxpbmVOdW1iZXI7CkBAIC00NDAsNiArNDk5LDggQEAgcHJpdmF0ZToKICAgICBib29s
IG1fYWxsb3dJbXBvcnRSdWxlczsKICAgICBib29sIG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlv
bnM7CiAKKyAgICBpbnQgKENTU1BhcnNlcjo6Km1fbGV4RnVuYykodm9pZCopOworCiAgICAgVmVj
dG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiA+IG1fcGFyc2VkUnVsZXM7CiAgICAgVmVjdG9yPFJl
ZlB0cjxTdHlsZUtleWZyYW1lPiA+IG1fcGFyc2VkS2V5ZnJhbWVzOwogICAgIFZlY3RvcjxSZWZQ
dHI8TWVkaWFRdWVyeVNldD4gPiBtX3BhcnNlZE1lZGlhUXVlcnlTZXRzOwpAQCAtNTM1LDYgKzU5
NiwzOCBAQCBTdHJpbmcgcXVvdGVDU1NTdHJpbmdJZk5lZWRlZChjb25zdCBTdHJpCiBTdHJpbmcg
cXVvdGVDU1NVUkxJZk5lZWRlZChjb25zdCBTdHJpbmcmKTsKIAogYm9vbCBpc1ZhbGlkTnRoVG9r
ZW4oY29uc3QgQ1NTUGFyc2VyU3RyaW5nJik7CisKK3RlbXBsYXRlIDw+CitpbmxpbmUgdm9pZCBD
U1NQYXJzZXI6OnNldFRva2VuU3RhcnQ8TENoYXI+KExDaGFyKiB0b2tlblN0YXJ0KQoreworICAg
IG1fdG9rZW5TdGFydC5wdHI4ID0gdG9rZW5TdGFydDsKK30KKwordGVtcGxhdGUgPD4KK2lubGlu
ZSB2b2lkIENTU1BhcnNlcjo6c2V0VG9rZW5TdGFydDxVQ2hhcj4oVUNoYXIqIHRva2VuU3RhcnQp
Cit7CisgICAgbV90b2tlblN0YXJ0LnB0cjE2ID0gdG9rZW5TdGFydDsKK30KKworaW5saW5lIHVu
c2lnbmVkIENTU1BhcnNlcjo6dG9rZW5TdGFydE9mZnNldCgpCit7CisgICAgaWYgKGlzOEJpdFNv
dXJjZSgpKQorICAgICAgICByZXR1cm4gbV90b2tlblN0YXJ0LnB0cjggLSBtX2RhdGFTdGFydDgu
Z2V0KCk7CisgICAgcmV0dXJuIG1fdG9rZW5TdGFydC5wdHIxNiAtIG1fZGF0YVN0YXJ0MTYuZ2V0
KCk7Cit9CisKK2lubGluZSBVQ2hhciBDU1NQYXJzZXI6OnRva2VuU3RhcnRDaGFyKCkKK3sKKyAg
ICBpZiAoaXM4Qml0U291cmNlKCkpCisgICAgICAgIHJldHVybiAqbV90b2tlblN0YXJ0LnB0cjg7
CisgICAgcmV0dXJuICptX3Rva2VuU3RhcnQucHRyMTY7Cit9CisKK2lubGluZSBpbnQgY3NzeXls
ZXgodm9pZCogeXlsdmFsLCBDU1NQYXJzZXIqIHBhcnNlcikKK3sKKyAgICByZXR1cm4gcGFyc2Vy
LT5sZXgoeXlsdmFsKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
Q1NTUGFyc2VyX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgJKHJldmlz
aW9uIDEyNjgzNykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAkod29y
a2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCiAj
aW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5n
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtMzEsMTMgKzMyLDc0IEBAIGNsYXNzIENTU1ZhbHVlOwogY2xhc3MgUXVhbGlmaWVk
TmFtZTsKIAogc3RydWN0IENTU1BhcnNlclN0cmluZyB7Ci0gICAgVUNoYXIqIGNoYXJhY3RlcnM7
Ci0gICAgaW50IGxlbmd0aDsKKyAgICB2b2lkIGluaXQoTENoYXIqIGNoYXJhY3RlcnMsIHVuc2ln
bmVkIGxlbmd0aCkKKyAgICB7CisgICAgICAgIG1fZGF0YS5jaGFyYWN0ZXJzOCA9IGNoYXJhY3Rl
cnM7CisgICAgICAgIG1fbGVuZ3RoID0gbGVuZ3RoOworICAgICAgICBtX2lzOEJpdCA9IHRydWU7
CisgICAgfQorCisgICAgdm9pZCBpbml0KFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5n
dGgpCisgICAgeworICAgICAgICBtX2RhdGEuY2hhcmFjdGVyczE2ID0gY2hhcmFjdGVyczsKKyAg
ICAgICAgbV9sZW5ndGggPSBsZW5ndGg7CisgICAgICAgIG1faXM4Qml0ID0gZmFsc2U7CisgICAg
fQorCisgICAgdm9pZCBpbml0KFN0cmluZyBzdHJpbmcpCisgICAgeworICAgICAgICBtX2xlbmd0
aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAgICAgICAgaWYgKG1fbGVuZ3RoICYmIHN0cmluZy5pczhC
aXQoKSkgeworICAgICAgICAgICAgbV9kYXRhLmNoYXJhY3RlcnM4ID0gY29uc3RfY2FzdDxMQ2hh
cio+KHN0cmluZy5jaGFyYWN0ZXJzOCgpKTsKKyAgICAgICAgICAgIG1faXM4Qml0ID0gdHJ1ZTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG1fZGF0YS5jaGFyYWN0ZXJzMTYgPSBjb25z
dF9jYXN0PFVDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSk7CisgICAgICAgICAgICBtX2lzOEJp
dCA9IGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCBjbGVhcigpCisgICAgewor
ICAgICAgICBtX2RhdGEuY2hhcmFjdGVyczggPSAwOworICAgICAgICBtX2xlbmd0aCA9IDA7Cisg
ICAgICAgIG1faXM4Qml0ID0gZmFsc2U7CisgICAgfQorCisgICAgYm9vbCBpczhCaXQoKSBjb25z
dCB7IHJldHVybiBtX2lzOEJpdDsgfQorICAgIExDaGFyKiBjaGFyYWN0ZXJzOCgpIGNvbnN0IHsg
QVNTRVJUKGlzOEJpdCgpKTsgcmV0dXJuIG1fZGF0YS5jaGFyYWN0ZXJzODsgfQorICAgIFVDaGFy
KiBjaGFyYWN0ZXJzMTYoKSBjb25zdCB7IEFTU0VSVCghaXM4Qml0KCkpOyByZXR1cm4gbV9kYXRh
LmNoYXJhY3RlcnMxNjsgfQorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgor
ICAgIENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMoKSBjb25zdDsKKworICAgIHVuc2lnbmVkIGxl
bmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CisgICAgdm9pZCBzZXRMZW5ndGgodW5z
aWduZWQgbGVuZ3RoKSB7IG1fbGVuZ3RoID0gbGVuZ3RoOyB9CiAKICAgICB2b2lkIGxvd2VyKCk7
CiAKLSAgICBvcGVyYXRvciBTdHJpbmcoKSBjb25zdCB7IHJldHVybiBTdHJpbmcoY2hhcmFjdGVy
cywgbGVuZ3RoKTsgfQotICAgIG9wZXJhdG9yIEF0b21pY1N0cmluZygpIGNvbnN0IHsgcmV0dXJu
IEF0b21pY1N0cmluZyhjaGFyYWN0ZXJzLCBsZW5ndGgpOyB9CisgICAgVUNoYXIgb3BlcmF0b3Jb
XSh1bnNpZ25lZCBpKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGkgPCBtX2xlbmd0aCk7CisgICAg
ICAgIGlmIChpczhCaXQoKSkKKyAgICAgICAgICAgIHJldHVybiBtX2RhdGEuY2hhcmFjdGVyczhb
aV07CisgICAgICAgIHJldHVybiBtX2RhdGEuY2hhcmFjdGVyczE2W2ldOworICAgIH0KKworICAg
IGJvb2wgZXF1YWxJZ25vcmluZ0Nhc2UoY29uc3QgY2hhciogc3RyKQorICAgIHsKKyAgICAgICAg
aWYgKGlzOEJpdCgpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWxJZ25vcmluZ0Nhc2Uo
c3RyLCBjaGFyYWN0ZXJzOCgpLCBsZW5ndGgoKSk7CisgICAgICAgIHJldHVybiBXVEY6OmVxdWFs
SWdub3JpbmdDYXNlKHN0ciwgY2hhcmFjdGVyczE2KCksIGxlbmd0aCgpKTsKKyAgICB9CisKKyAg
ICBvcGVyYXRvciBTdHJpbmcoKSBjb25zdCB7IHJldHVybiBpczhCaXQoKSA/IFN0cmluZyhtX2Rh
dGEuY2hhcmFjdGVyczgsIG1fbGVuZ3RoKSA6IFN0cmluZyhtX2RhdGEuY2hhcmFjdGVyczE2LCBt
X2xlbmd0aCk7IH0KKyAgICBvcGVyYXRvciBBdG9taWNTdHJpbmcoKSBjb25zdCB7IHJldHVybiBp
czhCaXQoKSA/IEF0b21pY1N0cmluZyhtX2RhdGEuY2hhcmFjdGVyczgsIG1fbGVuZ3RoKSA6IEF0
b21pY1N0cmluZyhtX2RhdGEuY2hhcmFjdGVyczE2LCBtX2xlbmd0aCk7IH0KKworICAgIHVuaW9u
IHsKKyAgICAgICAgTENoYXIqIGNoYXJhY3RlcnM4OworICAgICAgICBVQ2hhciogY2hhcmFjdGVy
czE2OworICAgIH0gbV9kYXRhOworICAgIHVuc2lnbmVkIG1fbGVuZ3RoOworICAgIGJvb2wgbV9p
czhCaXQ7CiB9OwogCiBzdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb247CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwCShyZXZpc2lvbiAxMjY4MzcpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEyNSw3ICsxMjUsOCBAQCBSR0JBMzIgbWFrZVJHQkFGcm9tQ01ZS0EoZmxvYXQgYywgZmxv
YXQgCiB9CiAKIC8vIG9yaWdpbmFsbHkgbW92ZWQgaGVyZSBmcm9tIHRoZSBDU1MgcGFyc2VyCi1i
b29sIENvbG9yOjpwYXJzZUhleENvbG9yKGNvbnN0IFVDaGFyKiBuYW1lLCB1bnNpZ25lZCBsZW5n
dGgsIFJHQkEzMiYgcmdiKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0
aWMgaW5saW5lIGJvb2wgcGFyc2VIZXhDb2xvckludGVybmFsKGNvbnN0IENoYXJhY3RlclR5cGUq
IG5hbWUsIHVuc2lnbmVkIGxlbmd0aCwgUkdCQTMyJiByZ2IpCiB7CiAgICAgaWYgKGxlbmd0aCAh
PSAzICYmIGxlbmd0aCAhPSA2KQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xNDgsOCArMTQ5
LDI0IEBAIGJvb2wgQ29sb3I6OnBhcnNlSGV4Q29sb3IoY29uc3QgVUNoYXIqIG4KICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAorYm9vbCBDb2xvcjo6cGFyc2VIZXhDb2xvcihjb25zdCBMQ2hhciogbmFt
ZSwgdW5zaWduZWQgbGVuZ3RoLCBSR0JBMzImIHJnYikKK3sKKyAgICByZXR1cm4gcGFyc2VIZXhD
b2xvckludGVybmFsKG5hbWUsIGxlbmd0aCwgcmdiKTsKK30KKworYm9vbCBDb2xvcjo6cGFyc2VI
ZXhDb2xvcihjb25zdCBVQ2hhciogbmFtZSwgdW5zaWduZWQgbGVuZ3RoLCBSR0JBMzImIHJnYikK
K3sKKyAgICByZXR1cm4gcGFyc2VIZXhDb2xvckludGVybmFsKG5hbWUsIGxlbmd0aCwgcmdiKTsK
K30KKwogYm9vbCBDb2xvcjo6cGFyc2VIZXhDb2xvcihjb25zdCBTdHJpbmcmIG5hbWUsIFJHQkEz
MiYgcmdiKQogeworICAgIHVuc2lnbmVkIGxlbmd0aCA9IG5hbWUubGVuZ3RoKCk7CisgICAgCisg
ICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAobmFtZS5pczhC
aXQoKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlSGV4Q29sb3IobmFtZS5jaGFyYWN0ZXJzOCgpLCBu
YW1lLmxlbmd0aCgpLCByZ2IpOwogICAgIHJldHVybiBwYXJzZUhleENvbG9yKG5hbWUuY2hhcmFj
dGVycygpLCBuYW1lLmxlbmd0aCgpLCByZ2IpOwogfQogCkBAIC0xNjMsOSArMTgwLDEyIEBAIGlu
dCBkaWZmZXJlbmNlU3F1YXJlZChjb25zdCBDb2xvciYgYzEsIGMKIAogQ29sb3I6OkNvbG9yKGNv
bnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBpZiAobmFtZVswXSA9PSAnIycpCi0gICAgICAgIG1f
dmFsaWQgPSBwYXJzZUhleENvbG9yKG5hbWUuY2hhcmFjdGVycygpICsgMSwgbmFtZS5sZW5ndGgo
KSAtIDEsIG1fY29sb3IpOwotICAgIGVsc2UKKyAgICBpZiAobmFtZVswXSA9PSAnIycpIHsKKyAg
ICAgICAgaWYgKG5hbWUuaXM4Qml0KCkpCisgICAgICAgICAgICBtX3ZhbGlkID0gcGFyc2VIZXhD
b2xvcihuYW1lLmNoYXJhY3RlcnM4KCkgKyAxLCBuYW1lLmxlbmd0aCgpIC0gMSwgbV9jb2xvcik7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fdmFsaWQgPSBwYXJzZUhleENvbG9yKG5hbWUu
Y2hhcmFjdGVycygpICsgMSwgbmFtZS5sZW5ndGgoKSAtIDEsIG1fY29sb3IpOworICAgIH0gZWxz
ZQogICAgICAgICBzZXROYW1lZENvbG9yKG5hbWUpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1Niw4
ICsxNTYsOSBAQCBwdWJsaWM6CiAgICAgQ29sb3IoQ0dDb2xvclJlZik7CiAjZW5kaWYKIAotICAg
IHN0YXRpYyBib29sIHBhcnNlSGV4Q29sb3IoY29uc3QgU3RyaW5nJiBuYW1lLCBSR0JBMzImIHJn
Yik7Ci0gICAgc3RhdGljIGJvb2wgcGFyc2VIZXhDb2xvcihjb25zdCBVQ2hhciogbmFtZSwgdW5z
aWduZWQgbGVuZ3RoLCBSR0JBMzImIHJnYik7CisgICAgc3RhdGljIGJvb2wgcGFyc2VIZXhDb2xv
cihjb25zdCBTdHJpbmcmLCBSR0JBMzImKTsKKyAgICBzdGF0aWMgYm9vbCBwYXJzZUhleENvbG9y
KGNvbnN0IExDaGFyKiwgdW5zaWduZWQsIFJHQkEzMiYpOworICAgIHN0YXRpYyBib29sIHBhcnNl
SGV4Q29sb3IoY29uc3QgVUNoYXIqLCB1bnNpZ25lZCwgUkdCQTMyJik7CiAKICAgICBzdGF0aWMg
Y29uc3QgUkdCQTMyIGJsYWNrID0gMHhGRjAwMDAwMDsKICAgICBzdGF0aWMgY29uc3QgUkdCQTMy
IHdoaXRlID0gMHhGRkZGRkZGRjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
VGV4dEVuY29kaW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRFbmNvZGluZy5jcHAJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsNyAr
NTgsNyBAQCBUZXh0RW5jb2Rpbmc6OlRleHRFbmNvZGluZyhjb25zdCBjaGFyKiBuCiB9CiAKIFRl
eHRFbmNvZGluZzo6VGV4dEVuY29kaW5nKGNvbnN0IFN0cmluZyYgbmFtZSkKLSAgICA6IG1fbmFt
ZShhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lKG5hbWUuY2hhcmFjdGVycygpLCBuYW1l
Lmxlbmd0aCgpKSkKKyAgICA6IG1fbmFtZShhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1l
KG5hbWUpKQogICAgICwgbV9iYWNrc2xhc2hBc0N1cnJlbmN5U3ltYm9sKGJhY2tzbGFzaEFzQ3Vy
cmVuY3lTeW1ib2woKSkKIHsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
VGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCShyZXZpc2lvbiAxMjY4MzcpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzQ4LDEyICszNDgsMTMgQEAgY29uc3QgY2hhciogYXRvbWljQ2Fu
b25pY2FsVGV4dEVuY29kaW5nTgogICAgIHJldHVybiB0ZXh0RW5jb2RpbmdOYW1lTWFwLT5nZXQo
bmFtZSk7CiB9CiAKLWNvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUo
Y29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgpCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4KK2NvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGlu
Z05hbWUoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgc2l6ZV90IGxlbmd0aCkKIHsK
ICAgICBjaGFyIGJ1ZmZlclttYXhFbmNvZGluZ05hbWVMZW5ndGggKyAxXTsKICAgICBzaXplX3Qg
aiA9IDA7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewotICAgICAg
ICBVQ2hhciBjID0gY2hhcmFjdGVyc1tpXTsKKyAgICAgICAgQ2hhcmFjdGVyVHlwZSBjID0gY2hh
cmFjdGVyc1tpXTsKICAgICAgICAgaWYgKGogPT0gbWF4RW5jb2RpbmdOYW1lTGVuZ3RoKQogICAg
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIGJ1ZmZlcltqKytdID0gYzsKQEAgLTM2Miw2ICsz
NjMsMTcgQEAgY29uc3QgY2hhciogYXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTgogICAgIHJl
dHVybiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lKGJ1ZmZlcik7CiB9CiAKK2NvbnN0
IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUoY29uc3QgU3RyaW5nJiBhbGlh
cykKK3sKKyAgICBpZiAoIWFsaWFzLmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gMDsKKworICAg
IGlmIChhbGlhcy5pczhCaXQoKSkKKyAgICAgICAgcmV0dXJuIGF0b21pY0Nhbm9uaWNhbFRleHRF
bmNvZGluZ05hbWU8TENoYXI+KGFsaWFzLmNoYXJhY3RlcnM4KCksIGFsaWFzLmxlbmd0aCgpKTsK
KworICAgIHJldHVybiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lPFVDaGFyPihhbGlh
cy5jaGFyYWN0ZXJzKCksIGFsaWFzLmxlbmd0aCgpKTsKK30KKwogYm9vbCBub0V4dGVuZGVkVGV4
dEVuY29kaW5nTmFtZVVzZWQoKQogewogICAgIC8vIElmIHRoZSBjYWxsaW5nIHRocmVhZCBkaWQg
bm90IHVzZSBleHRlbmRlZCBlbmNvZGluZyBuYW1lcywgaXQgaXMgZmluZSBmb3IgaXQgdG8gdXNl
IGEgc3RhbGUgZmFsc2UgdmFsdWUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5oCShyZXZpc2lvbiAxMjY4MzcpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmgJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogI2lu
Y2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NDEsNyArNDIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBPbmx5IFRleHRFbmNv
ZGluZyBzaG91bGQgdXNlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGRpcmVjdGx5LgogICAgIGNv
bnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUoY29uc3QgY2hhciogYWxp
YXMpOwotICAgIGNvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUoY29u
c3QgVUNoYXIqIGFsaWFzQ2hhcmFjdGVycywgc2l6ZV90IGFsaWFzTGVuZ3RoKTsKKyAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBjb25zdCBjaGFyKiBhdG9taWNDYW5v
bmljYWxUZXh0RW5jb2RpbmdOYW1lKGNvbnN0IENoYXJhY3RlclR5cGUqLCBzaXplX3QpOworICAg
IGNvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUoY29uc3QgU3RyaW5n
Jik7CiAgICAgYm9vbCBub0V4dGVuZGVkVGV4dEVuY29kaW5nTmFtZVVzZWQoKTsKICAgICBib29s
IGlzSmFwYW5lc2VFbmNvZGluZyhjb25zdCBjaGFyKiBjYW5vbmljYWxFbmNvZGluZ05hbWUpOwog
ICAgIGJvb2wgc2hvdWxkU2hvd0JhY2tzbGFzaEFzQ3VycmVuY3lTeW1ib2xJbihjb25zdCBjaGFy
KiBjYW5vbmljYWxFbmNvZGluZ05hbWUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
cnNlclV0aWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
cnNlclV0aWxpdGllcy5jcHAJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXJzZXJVdGlsaXRpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MywxMSArNDMsMTEg
QEAgdGVtcGxhdGUgPHR5cGVuYW1lIEZsb2F0VHlwZT4gc3RhdGljIGlubAogLy8gV2UgdXNlIHRo
aXMgZ2VuZXJpYyBwYXJzZU51bWJlciBmdW5jdGlvbiB0byBhbGxvdyB0aGUgUGF0aCBwYXJzaW5n
IGNvZGUgdG8gd29yayAKIC8vIGF0IGEgaGlnaGVyIHByZWNpc2lvbiBpbnRlcm5hbGx5LCB3aXRo
b3V0IGFueSB1bm5lY2Vzc2FyeSBydW50aW1lIGNvc3Qgb3IgY29kZQogLy8gY29tcGxleGl0eS4K
LXRlbXBsYXRlIDx0eXBlbmFtZSBGbG9hdFR5cGU+IHN0YXRpYyBib29sIGdlbmVyaWNQYXJzZU51
bWJlcihjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIqIGVuZCwgRmxvYXRUeXBlJiBudW1i
ZXIsIGJvb2wgc2tpcCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlLCB0eXBlbmFt
ZSBGbG9hdFR5cGU+IHN0YXRpYyBib29sIGdlbmVyaWNQYXJzZU51bWJlcihjb25zdCBDaGFyYWN0
ZXJUeXBlKiYgcHRyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBlbmQsIEZsb2F0VHlwZSYgbnVtYmVy
LCBib29sIHNraXApCiB7CiAgICAgRmxvYXRUeXBlIGludGVnZXIsIGRlY2ltYWwsIGZyYWMsIGV4
cG9uZW50OwogICAgIGludCBzaWduLCBleHBzaWduOwotICAgIGNvbnN0IFVDaGFyKiBzdGFydCA9
IHB0cjsKKyAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBzdGFydCA9IHB0cjsKIAogICAgIGV4cG9u
ZW50ID0gMDsKICAgICBpbnRlZ2VyID0gMDsKQEAgLTY5LDEyICs2OSwxMiBAQCB0ZW1wbGF0ZSA8
dHlwZW5hbWUgRmxvYXRUeXBlPiBzdGF0aWMgYm9vCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIC8vIHJlYWQgdGhlIGludGVnZXIgcGFydCwgYnVpbGQgcmlnaHQtdG8tbGVmdAotICAgIGNv
bnN0IFVDaGFyKiBwdHJTdGFydEludFBhcnQgPSBwdHI7CisgICAgY29uc3QgQ2hhcmFjdGVyVHlw
ZSogcHRyU3RhcnRJbnRQYXJ0ID0gcHRyOwogICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgKnB0ciA+
PSAnMCcgJiYgKnB0ciA8PSAnOScpCiAgICAgICAgICsrcHRyOyAvLyBBZHZhbmNlIHRvIGZpcnN0
IG5vbi1kaWdpdC4KIAogICAgIGlmIChwdHIgIT0gcHRyU3RhcnRJbnRQYXJ0KSB7Ci0gICAgICAg
IGNvbnN0IFVDaGFyKiBwdHJTY2FuSW50UGFydCA9IHB0ciAtIDE7CisgICAgICAgIGNvbnN0IENo
YXJhY3RlclR5cGUqIHB0clNjYW5JbnRQYXJ0ID0gcHRyIC0gMTsKICAgICAgICAgRmxvYXRUeXBl
IG11bHRpcGxpZXIgPSAxOwogICAgICAgICB3aGlsZSAocHRyU2NhbkludFBhcnQgPj0gcHRyU3Rh
cnRJbnRQYXJ0KSB7CiAgICAgICAgICAgICBpbnRlZ2VyICs9IG11bHRpcGxpZXIgKiBzdGF0aWNf
Y2FzdDxGbG9hdFR5cGU+KCoocHRyU2NhbkludFBhcnQtLSkgLSAnMCcpOwpAQCAtMTQyLDEzICsx
NDIsMTggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIEZsb2F0VHlwZT4gc3RhdGljIGJvbwogICAgIHJl
dHVybiB0cnVlOwogfQogCi1ib29sIHBhcnNlU1ZHTnVtYmVyKFVDaGFyKiYgYmVnaW4sIHNpemVf
dCBsZW5ndGgsIGRvdWJsZSYgbnVtYmVyKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5
cGU+Citib29sIHBhcnNlU1ZHTnVtYmVyKENoYXJhY3RlclR5cGUqIGJlZ2luLCBzaXplX3QgbGVu
Z3RoLCBkb3VibGUmIG51bWJlcikKIHsKLSAgICBjb25zdCBVQ2hhciogcHRyID0gYmVnaW47Ci0g
ICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIGxlbmd0aDsKKyAgICBjb25zdCBDaGFyYWN0ZXJU
eXBlKiBwdHIgPSBiZWdpbjsKKyAgICBjb25zdCBDaGFyYWN0ZXJUeXBlKiBlbmQgPSBwdHIgKyBs
ZW5ndGg7CiAgICAgcmV0dXJuIGdlbmVyaWNQYXJzZU51bWJlcihwdHIsIGVuZCwgbnVtYmVyLCBm
YWxzZSk7CiB9CiAKKy8vIEV4cGxpY2l0bHkgaW5zdGFudGlhdGUgdGhlIHR3byBmbGF2b3JzIG9m
IHBhcnNlU1ZHTnVtYmVyKCkgdG8gc2F0aXNmeSBleHRlcm5hbCBjYWxsZXJzCit0ZW1wbGF0ZSBi
b29sIHBhcnNlU1ZHTnVtYmVyKExDaGFyKiBiZWdpbiwgc2l6ZV90IGxlbmd0aCwgZG91YmxlJik7
Cit0ZW1wbGF0ZSBib29sIHBhcnNlU1ZHTnVtYmVyKFVDaGFyKiBiZWdpbiwgc2l6ZV90IGxlbmd0
aCwgZG91YmxlJik7CisKIGJvb2wgcGFyc2VOdW1iZXIoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0
IFVDaGFyKiBlbmQsIGZsb2F0JiBudW1iZXIsIGJvb2wgc2tpcCkgCiB7CiAgICAgcmV0dXJuIGdl
bmVyaWNQYXJzZU51bWJlcihwdHIsIGVuZCwgbnVtYmVyLCBza2lwKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmgJKHJldmlzaW9uIDEyNjgzNykKKysrIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzMs
NyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBT
VkdQb2ludExpc3Q7CiAKLWJvb2wgcGFyc2VTVkdOdW1iZXIoVUNoYXIqJiBwdHIsIHNpemVfdCBs
ZW5ndGgsIGRvdWJsZSYgbnVtYmVyKTsKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBl
PgorYm9vbCBwYXJzZVNWR051bWJlcihDaGFyYWN0ZXJUeXBlKiBwdHIsIHNpemVfdCBsZW5ndGgs
IGRvdWJsZSYgbnVtYmVyKTsKIGJvb2wgcGFyc2VOdW1iZXIoY29uc3QgVUNoYXIqJiBwdHIsIGNv
bnN0IFVDaGFyKiBlbmQsIGZsb2F0JiBudW1iZXIsIGJvb2wgc2tpcCA9IHRydWUpOwogYm9vbCBw
YXJzZU51bWJlckZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiwgZmxvYXQmIG51bWJlciwgYm9vbCBz
a2lwID0gdHJ1ZSk7CiBib29sIHBhcnNlTnVtYmVyT3B0aW9uYWxOdW1iZXIoY29uc3QgU3RyaW5n
JiBzLCBmbG9hdCYgaCwgZmxvYXQmIHYpOwpAQCAtNDIsMTkgKzQzLDIyIEBAIGJvb2wgcGFyc2VS
ZWN0KGNvbnN0IFN0cmluZyYsIEZsb2F0UmVjdCYKIAogLy8gU1ZHIGFsbG93cyBzZXZlcmFsIGRp
ZmZlcmVudCB3aGl0ZXNwYWNlIGNoYXJhY3RlcnM6CiAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9T
VkcvcGF0aHMuaHRtbCNQYXRoRGF0YUJORgotaW5saW5lIGJvb2wgaXNTVkdTcGFjZShVQ2hhciBj
KQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitpbmxpbmUgYm9vbCBpc1NWR1Nw
YWNlKENoYXJhY3RlclR5cGUgYykKIHsKICAgICByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQn
IHx8IGMgPT0gJ1xuJyB8fCBjID09ICdccic7CiB9CiAKLWlubGluZSBib29sIHNraXBPcHRpb25h
bFNWR1NwYWNlcyhjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIqIGVuZCkKK3RlbXBsYXRl
IDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU1ZHU3Bh
Y2VzKGNvbnN0IENoYXJhY3RlclR5cGUqJiBwdHIsIGNvbnN0IENoYXJhY3RlclR5cGUqIGVuZCkK
IHsKICAgICB3aGlsZSAocHRyIDwgZW5kICYmIGlzU1ZHU3BhY2UoKnB0cikpCiAgICAgICAgIHB0
cisrOwogICAgIHJldHVybiBwdHIgPCBlbmQ7CiB9CiAKLWlubGluZSBib29sIHNraXBPcHRpb25h
bFNWR1NwYWNlc09yRGVsaW1pdGVyKGNvbnN0IFVDaGFyKiYgcHRyLCBjb25zdCBVQ2hhciogZW5k
LCBVQ2hhciBkZWxpbWl0ZXIgPSAnLCcpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlw
ZT4KK2lubGluZSBib29sIHNraXBPcHRpb25hbFNWR1NwYWNlc09yRGVsaW1pdGVyKGNvbnN0IENo
YXJhY3RlclR5cGUqJiBwdHIsIGNvbnN0IENoYXJhY3RlclR5cGUqIGVuZCwgY2hhciBkZWxpbWl0
ZXIgPSAnLCcpCiB7CiAgICAgaWYgKHB0ciA8IGVuZCAmJiAhaXNTVkdTcGFjZSgqcHRyKSAmJiAq
cHRyICE9IGRlbGltaXRlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNp
b24gMTI2OTAwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTItMDgtMjggIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5j
b20+CisKKyAgICAgICAgQ1NTIFBhcnNlciBzaG91bGQgZGlyZWN0bHkgcGFyc2UgOCBiaXQgc291
cmNlIHN0cmluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTk1MjA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTmV3IHRlc3QgdGhhdCBjaGVja3MgdGhlIGNhc2UgdGhhdCBhIDE2IGJpdCB1bmljb2RlIGVz
Y2FwZSBpbiBhbiA4IGJpdCBDU1MgCisgICAgICAgIHNvdXJjZSBpcyBwcm9wZXJseSBoYW5kbGVk
LgorCisgICAgICAgICogZmFzdC9jc3MvdW5pY29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy91bmljb2RlLWVzY2FwZS1pbi04
Yml0LXN0cmluZy5odG1sOiBBZGRlZC4KKwogMjAxMi0wOC0yOCAgUGhpbGlwIFJvZ2VycyAgPHBk
ckBnb29nbGUuY29tPgogCiAgICAgICAgIFJlYmFzZWxpbmluZyBjaHJvbWl1bS1tYWMgdGVzdCBy
ZXN1bHRzIHdpdGggc2Nyb2xsYmFycy4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3VuaWNv
ZGUtZXNjYXBlLWluLThiaXQtc3RyaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy91bmljb2RlLWVzY2FwZS1pbi04Yml0LXN0cmluZy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy91bmljb2RlLWVzY2FwZS1p
bi04Yml0LXN0cmluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTAKKyAgUmVuZGVyQmxvY2sge0hUTUx9
IGF0ICgwLDApIHNpemUgODAweDUwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNp
emUgNzg0eDE4CisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKKyAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjQweDE4CisgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjQwOiAiVGhpcyBsaW5lIHNob3VsZCBlbmQgd2l0aCBh
IEV1cm8gc2lnbiAiCisgICAgICAgIFJlbmRlcklubGluZSAoZ2VuZXJhdGVkKSBhdCAoMCwwKSBz
aXplIDIxeDE4CisgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMjQwLDApIHNpemUgMjF4MTgKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgyNDAsMCkgd2lkdGggMjE6ICItIFx4ezIwQUN9IgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdW5pY29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmcuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy91bmljb2RlLWVzY2FwZS1pbi04
Yml0LXN0cmluZy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdW5p
Y29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmcuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0i
Q29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgorICA8c3R5
bGUgdHlwZT0idGV4dC9jc3MiPgorICBwOmFmdGVyIHsKKyAgICBjb250ZW50OiAiLSBcMDAyMEFD
IjsgLyogRXNjYXBlIHZhbHVlIGZvciBFdXJvIHNpZ24gKi8KKyAgfQorCisgIDwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGNsYXNzPSJvdmVyZmxvdyIgPlRoaXMgbGluZSBzaG91bGQgZW5k
IHdpdGggYSBFdXJvIHNpZ24gPC9wPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgor
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRG
cmFtZXNBc1RleHQoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="172242"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>161502</attachid>
            <date>2012-08-30 10:00:23 -0700</date>
            <delta_ts>2012-08-30 10:00:23 -0700</delta_ts>
            <desc>Performance numbers of last patch</desc>
            <filename>95207 Perf.pdf</filename>
            <type>application/pdf</type>
            <size>22869</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">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
Ineyljh8uYw/UcZ0NlXGdBbKRP7bT8OoSAQfHF49fw79Zxy1ocoGcLXRu1Ytckfb5ynKgfnVyf/S
Ea6dN38RDesaotWhhjHR+aExyoHhc34gew7NHh4acwDNqZw+68ActWFMx3B1eGWobkz1wXGTS4Zc
0dadfW2VTP6ByibTykpoW+OG/ED2EJo9jrY1hLY1hLY1Th3H2kKMxyfPOqBFo6pHz0mEB4lBD/xa
60uvHuWUm0cw5h2e7r7FdxS0lb3IEKmOGkOjoiZwNGvAyAEjaRbMKZplpv9xJZnlvmV4uu8o3pvM
kiHZEhqFIm0rW1cid2XjmMRfK3wgqW0lRXjCj7T+uw/kVUbVujH0/9dVRfOmVUUrpsyedUCjgdRa
OqTosFSawVDZFe9OJA6ExGE0keP6CtK0cpqm0yUL/iv9VyZDdsOknRw7iNUAbkOt1Vw0UDWdgCiY
nvzXFkdBl6LLQ2s1DLAVR3Brqo5kt1N36SOIjjnl2lYmoSQu2pJh4kl4pDWFkr4PRVakD2NtUCH6
/wA4FQ41CmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKMTgyNzIKZW5kb2JqCgo3IDAgb2JqCjw8
L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkFBQUFBK0FyaWFsTVQKL0ZsYWdzIDQKL0Zv
bnRCQm94Wy02NjQgLTMyNCAyMDAwIDEwMDZdL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA5MDUKL0Rl
c2NlbnQgLTIxMQovQ2FwSGVpZ2h0IDEwMDUKL1N0ZW1WIDgwCi9Gb250RmlsZTIgNSAwIFIKPj4K
ZW5kb2JqCgo4IDAgb2JqCjw8L0xlbmd0aCA0MTMvRmlsdGVyL0ZsYXRlRGVjb2RlPj4Kc3RyZWFt
CnicXZPLbsJADEX3+YpZ0gVK5hECEopEeUgs+lBpPyAkhkYqk2gIC/6+Y9+0lboAnfHY44Nl0vV+
s/ftkL6Grj7QoE6tbwJdu1uoSR3p3PpEG9W09TCe5Lu+VH2SxtrD/TrQZe9P3XKZpG/x7jqEu5qs
mu5ID0n6EhoKrT+rycf6EM+HW99/0YX8oLKkLFVDp/jOU9U/VxdKpWq6b+J1O9ynseQv4f3ekzJy
1lCpu4aufVVTqPyZkmWWlWq525UJ+ebfnbMoOZ7qzyrEVB1TsyzPyshGeJYzW+HCMDvEZ8w5eMc8
A2+YC7BmnoO3zAuwZV4JG+n1KOwkvkYviW+Qv2DeIi45O7CLrDPkzJnhbzlfw9+yv4a/ZX8Nf8vv
a/jbghn+TnJG/zUz/HPJgb+TvvC37KPhb/g3avhb8YG/5Vlp+FueiYa/5XcM/B3PzcDfsLOBv5H4
OH+Jj/OXWvg77mXgn0sc/o79DfwL7mvgX/B8DPwLqYX/rJAlGbeB14X3+WcNVX0LIa6gLL3sHm9d
6+n3f9F3PVfJ5xsxQM+YCmVuZHN0cmVhbQplbmRvYmoKCjkgMCBvYmoKPDwvVHlwZS9Gb250L1N1
YnR5cGUvVHJ1ZVR5cGUvQmFzZUZvbnQvQkFBQUFBK0FyaWFsTVQKL0ZpcnN0Q2hhciAwCi9MYXN0
Q2hhciA0MwovV2lkdGhzWzc1MCA2NjYgNTU2IDMzMyAyNzcgNTU2IDgzMyA1NTYgNTU2IDUwMCAy
NzcgNzIyIDU1NiAyMjIgNTAwIDI3Nwo1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA2NjYgMjIyIDk0
MyA3MjIgNTU2IDI3NyA1NTYgNTU2IDU1NiA1NTYKODMzIDg4OSAzMzMgNTU2IDU1NiA3MjIgNjEw
IDU1NiA1NTYgNTAwIDUwMCA1NTYgXQovRm9udERlc2NyaXB0b3IgNyAwIFIKL1RvVW5pY29kZSA4
IDAgUgo+PgplbmRvYmoKCjEwIDAgb2JqCjw8L0YxIDkgMCBSCj4+CmVuZG9iagoKMTEgMCBvYmoK
PDwvRm9udCAxMCAwIFIKL1Byb2NTZXRbL1BERi9UZXh0XQo+PgplbmRvYmoKCjEgMCBvYmoKPDwv
VHlwZS9QYWdlL1BhcmVudCA0IDAgUi9SZXNvdXJjZXMgMTEgMCBSL01lZGlhQm94WzAgMCA2MTIg
NzkyXS9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50
cyAyIDAgUj4+CmVuZG9iagoKMTIgMCBvYmoKPDwvQ291bnQgMS9GaXJzdCAxMyAwIFIvTGFzdCAx
MyAwIFIKPj4KZW5kb2JqCgoxMyAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDUzMDA2ODAw
NjUwMDY1MDA3NDAwMzE+Ci9EZXN0WzEgMCBSL1hZWiAwIDc5MiAwXS9QYXJlbnQgMTIgMCBSPj4K
ZW5kb2JqCgo0IDAgb2JqCjw8L1R5cGUvUGFnZXMKL1Jlc291cmNlcyAxMSAwIFIKL01lZGlhQm94
WyAwIDAgNjEyIDc5MiBdCi9LaWRzWyAxIDAgUiBdCi9Db3VudCAxPj4KZW5kb2JqCgoxNCAwIG9i
ago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgNCAwIFIKL09wZW5BY3Rpb25bMSAwIFIgL1hZWiBudWxs
IG51bGwgMF0KL091dGxpbmVzIDEyIDAgUgo+PgplbmRvYmoKCjE1IDAgb2JqCjw8L0F1dGhvcjxG
RUZGMDA0RDAwNjkwMDYzMDA2ODAwNjEwMDY1MDA2QzAwMjAwMDUzMDA2MTAwNjIwMDZGMDA2NjAw
NjY+Ci9DcmVhdG9yPEZFRkYwMDQzMDA2MTAwNkMwMDYzPgovUHJvZHVjZXI8RkVGRjAwNEYwMDcw
MDA2NTAwNkUwMDRGMDA2NjAwNjYwMDY5MDA2MzAwNjUwMDJFMDA2RjAwNzIwMDY3MDAyMDAwMzMw
MDJFMDAzMz4KL0NyZWF0aW9uRGF0ZShEOjIwMTIwODMwMDk1MzExLTA3JzAwJyk+PgplbmRvYmoK
CnhyZWYKMCAxNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMjE1OTIgMDAwMDAgbiAKMDAwMDAw
MDAxOSAwMDAwMCBuIAowMDAwMDAyMTEwIDAwMDAwIG4gCjAwMDAwMjE4OTYgMDAwMDAgbiAKMDAw
MDAwMjEzMSAwMDAwMCBuIAowMDAwMDIwNDg4IDAwMDAwIG4gCjAwMDAwMjA1MTAgMDAwMDAgbiAK
MDAwMDAyMDY5OSAwMDAwMCBuIAowMDAwMDIxMTgxIDAwMDAwIG4gCjAwMDAwMjE1MDUgMDAwMDAg
biAKMDAwMDAyMTUzNyAwMDAwMCBuIAowMDAwMDIxNzM1IDAwMDAwIG4gCjAwMDAwMjE3OTEgMDAw
MDAgbiAKMDAwMDAyMTk5NSAwMDAwMCBuIAowMDAwMDIyMDk2IDAwMDAwIG4gCnRyYWlsZXIKPDwv
U2l6ZSAxNi9Sb290IDE0IDAgUgovSW5mbyAxNSAwIFIKL0lEIFsgPEJFNDFGQTBEOTUzMjNGNkVF
NkY5OENFMDA4QjE5RDg4Pgo8QkU0MUZBMEQ5NTMyM0Y2RUU2Rjk4Q0UwMDhCMTlEODg+IF0KL0Rv
Y0NoZWNrc3VtIC9FODcwOTc3QjhGRjBCRkYxNzI2ODM0NzQ0QkE0Rjk5Ngo+PgpzdGFydHhyZWYK
MjIzNDUKJSVFT0YK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161552</attachid>
            <date>2012-08-30 14:11:04 -0700</date>
            <delta_ts>2012-08-30 18:43:31 -0700</delta_ts>
            <desc>Patch with test changed to a reference test</desc>
            <filename>95207-5.patch</filename>
            <type>text/plain</type>
            <size>105591</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMjcxNjMpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA4LTMwICBNaWNoYWVsIFNhYm9mZiAgPG1z
YWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIENTUyBQYXJzZXIgc2hvdWxkIGRpcmVjdGx5IHBh
cnNlIDggYml0IHNvdXJjZSBzdHJpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NTIwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5oOgorICAgICAgICAoV1RGOjpl
cXVhbElnbm9yaW5nQ2FzZSk6IEFkZGVkIChjb25zdCBjaGFyKiwgY29uc3QgTENoYXIqLCB1bnNp
Z25lZCkgZmxhdm9yIHRvIHN1cHBvcnQKKyAgICAgICAgOCBiaXQgQ1NTIHBhcnNlciB3b3JrLgor
CiAyMDEyLTA4LTMwICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEJ1aWxkIGZpeCBmb3IgQ09NUElMRVIoTVNWQykgJiYgIUNQVShYODYpIGFmdGVyIHIx
MjcwMDEuCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAkocmV2aXNpb24gMTI3MTYzKQor
KysgU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTg0
Niw2ICs4NDYsNyBAQCBXVEZfRVhQT1JUX1NUUklOR19BUEkgYm9vbCBlcXVhbElnbm9yaW5nCiBp
bmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBVQ2hhciogYSwgY29uc3QgY2hhciog
YiwgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZShhLCByZWludGVy
cHJldF9jYXN0PGNvbnN0IExDaGFyKj4oYiksIGxlbmd0aCk7IH0KIGlubGluZSBib29sIGVxdWFs
SWdub3JpbmdDYXNlKGNvbnN0IExDaGFyKiBhLCBjb25zdCBVQ2hhciogYiwgdW5zaWduZWQgbGVu
Z3RoKSB7IHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZShiLCBhLCBsZW5ndGgpOyB9CiBpbmxpbmUg
Ym9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBjaGFyKiBhLCBjb25zdCBVQ2hhciogYiwgdW5z
aWduZWQgbGVuZ3RoKSB7IHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZShiLCByZWludGVycHJldF9j
YXN0PGNvbnN0IExDaGFyKj4oYSksIGxlbmd0aCk7IH0KK2lubGluZSBib29sIGVxdWFsSWdub3Jp
bmdDYXNlKGNvbnN0IGNoYXIqIGEsIGNvbnN0IExDaGFyKiBiLCB1bnNpZ25lZCBsZW5ndGgpIHsg
cmV0dXJuIGVxdWFsSWdub3JpbmdDYXNlKGIsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIq
PihhKSwgbGVuZ3RoKTsgfQogCiBXVEZfRVhQT1JUX1NUUklOR19BUEkgYm9vbCBlcXVhbElnbm9y
aW5nTnVsbGl0eShTdHJpbmdJbXBsKiwgU3RyaW5nSW1wbCopOwogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxMjcxNjMpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNTcgQEAKKzIwMTItMDgtMzAgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9m
ZkBhcHBsZS5jb20+CisKKyAgICAgICAgQ1NTIFBhcnNlciBzaG91bGQgZGlyZWN0bHkgcGFyc2Ug
OCBiaXQgc291cmNlIHN0cmluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk1MjA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ2hhbmdlZCBDU1NQYXJzZXIgdG8gaGFuZGxlIDggYml0IHN0cmluZ3MgZGly
ZWN0bHkuIFRlbXBsYXRpemVkIG1vc3QgcHJpdmF0ZSBwYXJzaW5nIG1ldGhvZHMKKyAgICAgICAg
YW5kIGhlbHBlciBtZXRob2RzIGJ5IGNoYXJhY3RlciB0eXBlLiBJbnRyb2R1Y2VkIHNldmVyYWwg
dGVtcGxhdGl6ZWQgaGVscGVyIG1ldGhvZHMgZm9yCisgICAgICAgIHBhcnNpbmcgbWV0aG9kcy4g
U29tZSBvZiB0aGVzZSBoZWxwZXIgbWV0aG9kcyBoYXZlIGluZGVwZW5kZW50IHNvdXJjZSBhbmQg
ZGVzdGluYXRpb24gdGVtcGxhdGUKKyAgICAgICAgdHlwZXMgdG8gaGFuZGxlIHRoYXQgYW4gOCBi
aXQgc291cmNlIHN0cmluZyB3aGVuIHBhcnNlZCBwcm9kdWNlcyBhIDE2IGJpdCByZXN1bHQuIFRo
aXMgaXMgZHVlCisgICAgICAgIHRvIHVuaWNvZGUgZXNjYXBlcy4gUmVuYW1lZCB0aGUgbGV4IG1l
dGhvZCAicmVhbExleCIgYW5kIG1hZGUgaXQgYSB0ZW1wbGF0ZWQgbWV0aG9kLiBUaGUgbGV4Cisg
ICAgICAgIG1ldGhvZCB0aGF0IGlzIGNhbGxlZCBieSBjc3N5eWxleCgpLCB3aGljaCBpcyBub3cg
aW5saW5lZCwgaW52b2tlcyB0aGUgY29ycmVjdCBpbnN0YW5jZSBvZiByZWFsTGV4CisgICAgICAg
IHZpYSBhIG1lbWJlciBmdW5jdGlvbiBwb2ludGVyLgorCisgICAgICAgIFNwbGl0IG91dCB0aGUg
ZW5jb2RpbmcgcGFydCBvZiBwYXJzZUVzY2FwZSgpIGludG8gYSBuZXcgdGVtcGxhdGVkIFVuaWNv
ZGVUb0NoYXJzKCkgbWV0aG9kLgorCisgICAgICAgIEFkZGVkIDgvMTYgYml0IHN3aXRjaGluZyB0
byBDU1NQYXJzZXJTdHJpbmcgYXMgd2VsbCBhcyBhZGRlZCBpbml0aWFsaXphdGlvbiwgc2V0dGVy
cyBhbmQgZ2V0dGVycy4KKyAgICAgICAgTm90ZSB0aGF0IENTU1BhcnNlclN0cmluZyBtdXN0IGhh
dmUgYSBkZWZhdWx0IGNvbnN0cnVjdG9yIGFzIGl0IGlzIHBhcnQgb2YgdGhlIFlZTFZBTCB1bmlv
bi4KKyAgICAgICAgVGhlcmVmb3JlIGNyZWF0ZWQgaW5pdCgpIG1ldGhvZHMgaW5zdGVhZCBvZiBj
b25zdHJ1Y3RvcnMuIE1hbnkgb2YgdGhlIHBhcnNlciBmdW5jdGlvbiBub3cgZGlyZWN0bHkKKyAg
ICAgICAgbW9kaWZ5IHRoZSBpbnN0YW5jZSBpbiB5eWx2YWwuIE1hZGUgc3VwcG9ydGluZyBjaGFu
Z2VzIGluIG90aGVyIHdlYmNvcmUgY2xhc3NlcyB0aGF0IGFyZSB1c2VkCisgICAgICAgIGRpcmVj
dGx5IGJ5IENTU1BhcnNlci4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy91bmljb2RlLWVzY2Fw
ZS1pbi04Yml0LXN0cmluZy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTR3JhbW1hci55OiBSZW1v
dmVkIGNzc3l5bGV4KCkgYW5kIGNoYW5nZWQgbWFuaXB1bGF0aW9uIG9mIENTU1BhcnNlclN0cmlu
ZyBvYmplY3RzIHRvCisgICAgICAgIHVzZSBuZXdseSB3cml0dGVuIG1ldGhvZHMgaW5zdGVhZCBv
ZiBkaXJlY3QgbWFuaXB1bGF0aW9uIG9mIGF0dHJpYnV0ZXMuCisKKyAgICAgICAgKiBjc3MvQ1NT
UGFyc2VyLmNwcDoKKyAgICAgICAgVGVtcGxhdGl6ZWQgbmV3IG9yIGV4aXN0aW5nIGhlbHBlciBt
ZXRob2RzCisgICAgICAgIChXZWJDb3JlOjptYWtlTG93ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
aXNDU1NMZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6aXNDU1NFc2NhcGUpOgorICAgICAgICAo
V2ViQ29yZTo6aXNVUklMZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6aXNJZGVudGlmaWVyU3Rh
cnRBZnRlckRhc2gpOgorICAgICAgICAoV2ViQ29yZTo6aXNFcXVhbFRvQ1NTSWRlbnRpZmllcik6
CisgICAgICAgIChXZWJDb3JlOjpjaGVja0FuZFNraXBFc2NhcGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Y2hlY2tGb3JWYWxpZERvdWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZURvdWJsZSk6
CisgICAgICAgIChXZWJDb3JlOjpwYXJzZUNvbG9ySW50T3JQZXJjZW50YWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OmlzVGVudGhBbHBoYSk6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZUFscGhhVmFs
dWUpOgorICAgICAgICAoV2ViQ29yZTo6bWlnaHRCZVJHQkEpOgorICAgICAgICAoV2ViQ29yZTo6
bWlnaHRCZVJHQik6CisgICAgICAgIChXZWJDb3JlOjpmYXN0UGFyc2VDb2xvckludGVybmFsKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6ZmFzdFBhcnNlQ29sb3IpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUltYWdlU2V0KToKKyAgICAgICAgKFdlYkNvcmU6OnNr
aXBXaGl0ZVNwYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y3VycmVudENoYXJh
Y3RlcjE2KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6aXNJZGVudGlmaWVyU3RhcnQp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpjaGVja0FuZFNraXBTdHJpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVVuaWNvZGVSYW5nZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlTnRoQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpwYXJzZU50aENoaWxkRXh0cmEpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
OjpkZXRlY3RGdW5jdGlvblR5cGVUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6
OmRldGVjdE1lZGlhUXVlcnlUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRl
dGVjdE51bWJlclRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6ZGV0ZWN0RGFz
aFRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6ZGV0ZWN0QXRUb2tlbik6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnNldFJ1bGVIZWFkZXJFbmQpOgorICAgICAgICAo
V2ViQ29yZTo6Y3NzUHJvcGVydHlJRCk6CisgICAgICAgIChXZWJDb3JlOjppc0NTU1Rva2VuaXpl
cklkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6aXNDU1NUb2tlbml6ZXJVUkwpOgorCisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OkNTU1BhcnNlcik6IFVwZGF0ZWQgY29uc3RydWN0
b3IgZm9yIGluaXRpYWxpemluZyBuZXcgYXR0cmlidXRlcy4KKworICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyU3RyaW5nOjpsb3dlcik6IENhbGxzIG5ldyBtYWtlTG93ZXIoKSB0ZW1wbGF0ZSBo
ZWxwZXIuCisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6c2V0dXBQYXJzZXIpOiBBZGRl
ZCA4IGJpdCBwYXRoIGFuZCBzZXQgdXAgcGFyc2VyIGFwcHJvcHJpYXRlIHRvCisgICAgICAgIHN0
cmluZyB0eXBlLgorCisgICAgICAgIChXZWJDb3JlOjplcXVhbCk6IFVwZGF0ZWQgdG8gdXNlIENT
U1BhcnNlclN0cmluZyBnZXR0ZXJzIGFuZCBTdHJpbmdJbXBsOjplcXVhbAorICAgICAgICAoV2Vi
Q29yZTo6ZXF1YWxJZ25vcmluZ0Nhc2UpOiBVcGRhdGVkIHRvIHVzZSBDU1NQYXJzZXJTdHJpbmcg
Z2V0dGVycyBhbmQKKyAgICAgICAgU3RyaW5nSW1wbDo6ZXF1YWxJZ25vcmluZ0Nhc2UKKyAgICAg
ICAgKFdlYkNvcmU6OnBhcnNlQ29sb3JWYWx1ZSk6IFVwZGF0ZWQgdG8gdXNlIG5ldyBDU1NQYXJz
ZXJTdHJpbmc6OmluaXQoKQorICAgICAgICAoV2ViQ29yZTo6cGFyc2VTaW1wbGVMZW5ndGgpOgor
ICAgICAgICAoV2ViQ29yZTo6cGFyc2VLZXl3b3JkVmFsdWUpOiBVcGRhdGVkIHRvIHVzZSBuZXcg
Q1NTUGFyc2VyU3RyaW5nOjppbml0KCkKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlVHJhbnNmb3Jt
QXJndW1lbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xv
cik6IFVwZGF0ZWQgdG8gdXNlIG5ldyBDU1NQYXJzZXJTdHJpbmc6OmluaXQoKQorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpzdG9yZVZhcmlhYmxlRGVjbGFyYXRpb24pOiBDcmVhdGUgcmln
aHQgY2hhcmFjdGVyIHNpemVkIEF0b21pY1N0cmluZy4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRG
YW1pbHlWYWx1ZUJ1aWxkZXI6OmFkZCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1PcGVy
YXRpb25JbmZvOjpUcmFuc2Zvcm1PcGVyYXRpb25JbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1BhcnNlcjo6cGFyc2VGb250RmVhdHVyZVRhZyk6CisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6cGFyc2VFc2NhcGUpOiBOb3cgb25seSBwYXJzZXMgYW4gZXNjYXBlIGFuZCByZXR1cm5z
IHRoZSByZXN1bHRpbmcKKyAgICAgICAgVW5pY29kZSB2YWx1ZSBhcyBhbiB1bnNpZ25lZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6VW5pY29kZVRvQ2hhcnMpOiBOZXcgbWV0aG9kIHRv
IHdyaXRlIG91dCB1bmljb2RlIGNoYXJhY3RlcihzKQorICAgICAgICBiYXNlZCBvbiBjaGFyYWN0
ZXIgdHlwZS4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VJZGVudGlmaWVySW50
ZXJuYWwpOiBUZW1wbGF0ZWQgaGVscGVyLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpw
YXJzZUlkZW50aWZpZXIpOiBQYXJzZXMgaWRlbnRpZmllcnMsIHBvc3NpYmx5IHVwY29udmVydGlu
ZworICAgICAgICB0aGUgcmVzdWx0IHdoZW4gYSB1bmljb2RlIGVzY2FwZSBpcyBmb3VuZCBpbiBh
biA4IGJpdCBzb3VyY2UuCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU3RyaW5n
SW50ZXJuYWwpOiBUZW1wbGF0ZWQgaGVscGVyLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
OjpwYXJzZVN0cmluZyk6IFBhcnNlcyBzdHJpbmdzLCBwb3NzaWJseSB1cGNvbnZlcnRpbmcKKyAg
ICAgICAgdGhlIHJlc3VsdCB3aGVuIGEgdW5pY29kZSBlc2NhcGUgaXMgZm91bmQgaW4gYW4gOCBi
aXQgc291cmNlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVVSSUludGVybmFs
KTogVGVtcGxhdGVkIGhlbHBlci4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VV
UkkpOiBSZXBhcnNlcyBhIHBhcnNlZCBpZGVudGlmaWVyIHRvIHNlZSBpZiBpdCBpcyBhIFVSSS4K
KyAgICAgICAgVGhpcyBtZXRob2QgZG9lc24ndCBuZWVkIHRvIHVwIGNvbnZlcnQgZnJvbSA4IHRv
IDE2IGJpdHMgc2luY2UgdGhhdCB3b3VsZCBoYXZlIGJlZW4KKyAgICAgICAgZG9uZSBpbiBwYXJz
ZUlkZW50ZmllcigpLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpyZWFsTGV4KTogTG90
IG9mIHRlbXBsYXRlIHJlbGF0ZWQgY2hhbmdlcy4gIFJlbW92ZWQgeXlsdmFsLT5zdHJpbmcKKyAg
ICAgICAgQVNTRVJUIGNoZWNrcyBhdCB0aGUgZW5kLCBzaW5jZSB0aGV5IGFyZSB0b28gbmFpdmUg
dG8gaGFuZGxlIHVwY29udmVydGVkIGlkZW50aWZpZXIsCisgICAgICAgIHN0cmluZyBhbmQgVVJJ
cy4gIFRoZXkgY29tcGFyZWQgc291cmNlIHBvaW50ZXJzIChtX3Rva2VuU3RhcnQpIHdpdGggcmVz
dWx0aW5nIHN0cmluZ3MuCisgICAgICAgIChXZWJDb3JlOjpmaXhVbnBhcnNlZFByb3BlcnRpZXMp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpmaXhVbnBhcnNlZFByb3BlcnR5UmFuZ2Vz
KTogQWRkZWQgbmV3IHRlbXBsYXRlIGhlbHBlciB3aXRoIHNhbWUgbmFtZS4KKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhcnNlcjo6bWFya1J1bGVIZWFkZXJTdGFydCk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQYXJzZXI6Om1hcmtSdWxlSGVhZGVyRW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6bWFya1J1bGVCb2R5U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpt
YXJrUnVsZUJvZHlFbmQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrUHJvcGVy
dHlTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtQcm9wZXJ0eUVuZCk6
CisgICAgICAgIChXZWJDb3JlOjpjc3NWYWx1ZUtleXdvcmRJRCk6CisKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmg6CisgICAgICAgIChDU1NQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpsZXgpOiBNYWRlIHRoaXMgaW5saW5lIGhlbHBlciB0aGF0IGNhbGxzIGNvcnJlY3Qg
cmVhbExleCgpLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjppczhCaXRTb3VyY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjp0b2tlblN0YXJ0T2Zmc2V0KTogVGVtcGxhdGVk
IG1ldGhvZCByZXR1cm5pbmcgb2Zmc2V0IGluIHNvdXJjZQorICAgICAgICBvZiB0aGUgY3VycmVu
dCB0b2tlbiBzdGFydC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6dG9rZW5TdGFydENo
YXIpOiBUZW1wbGF0ZWQgYWNjZXNzIHRvIG1fdG9rZW5TdGFydC4KKyAgICAgICAgKFdlYkNvcmU6
OmNzc3l5bGV4KTogTWFkZSB0aGlzIGlubGluZSB0byBhdm9pZCBjYWxsLgorICAgICAgICAqIGNz
cy9DU1NQYXJzZXJWYWx1ZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclN0cmluZzo6
aW5pdCk6IEFkZGVkIHRocmVlIG5ldyBpbml0aWFsaXphdGlvbiBtZXRob2RzLgorCisgICAgICAg
IE5ldyBzZXR0ZXJzLCBnZXR0ZXJzIGFuZCBoZWxwZXIgbWV0aG9kcy4KKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlclN0cmluZzo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
U3RyaW5nOjppczhCaXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU3RyaW5nOjpjaGFy
YWN0ZXJzOCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6OmNoYXJhY3RlcnMx
Nik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6Omxlbmd0aCk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXJTdHJpbmc6OnNldExlbmd0aCk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQYXJzZXJTdHJpbmc6Om9wZXJhdG9yW10pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyU3RyaW5nOjplcXVhbElnbm9yaW5nQ2FzZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXJTdHJpbmc6Om9wZXJhdG9yIFN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJT
dHJpbmc6Om9wZXJhdG9yIEF0b21pY1N0cmluZyk6CisKKyAgICAgICAgT3RoZXIgbWV0aG9kcyB0
ZW1wbGF0aXplZCB0byBzdXBwb3J0IGNoYW5nZXMgaW4gQ1NTUGFyc2VyLgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlSGV4Q29s
b3JJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpDb2xvcjo6cGFyc2VIZXhDb2xvcik6IE5l
dyBMQ2hhciBmbGF2b3IKKyAgICAgICAgKFdlYkNvcmU6OkNvbG9yOjpDb2xvcik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaDoKKyAgICAgICAgKENvbG9yKToKKyAgICAgICAg
KiBwbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0
RW5jb2Rpbmc6OlRleHRFbmNvZGluZyk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0RW5j
b2RpbmdSZWdpc3RyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjphdG9taWNDYW5vbmljYWxUZXh0
RW5jb2RpbmdOYW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lz
dHJ5Lmg6CisgICAgICAgICogc3ZnL1NWR1BhcnNlclV0aWxpdGllcy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpnZW5lcmljUGFyc2VOdW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VTVkdO
dW1iZXIpOgorICAgICAgICAqIHN2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaDoKKyAgICAgICAgKFdl
YkNvcmU6OmlzU1ZHU3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6c2tpcE9wdGlvbmFsU1ZHU3Bh
Y2VzKToKKyAgICAgICAgKFdlYkNvcmU6OnNraXBPcHRpb25hbFNWR1NwYWNlc09yRGVsaW1pdGVy
KToKKwogMjAxMi0wOC0yNCAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgQ1NTIDIuMSBmYWlsdXJlOiBtYXJnaW4tY29sbGFwc2UtY2xlYXItMDEyIGZhaWxzCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkJKHJldmlzaW9uIDEyNzE2MykKKysrIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkJKHdvcmtpbmcgY29weSkKQEAgLTkzLDExICs5Myw2IEBA
IHN0YXRpYyBpbmxpbmUgaW50IGNzc3l5ZXJyb3Iodm9pZCosIGNvbnMKICAgICByZXR1cm4gMTsK
IH0KIAotc3RhdGljIGludCBjc3N5eWxleChZWVNUWVBFKiB5eWx2YWwsIENTU1BhcnNlciogcGFy
c2VyKQotewotICAgIHJldHVybiBwYXJzZXItPmxleCh5eWx2YWwpOwotfQotCiAlfQogCiAlZXhw
ZWN0IDYyCkBAIC01MDksNyArNTA0LDcgQEAgTkFNRVNQQUNFX1NZTSBtYXliZV9zcGFjZSBtYXli
ZV9uc19wcmVmaQogOwogCiBtYXliZV9uc19wcmVmaXg6Ci0vKiBlbXB0eSAqLyB7ICQkLmNoYXJh
Y3RlcnMgPSAwOyB9CisvKiBlbXB0eSAqLyB7ICQkLmNsZWFyKCk7IH0KIHwgSURFTlQgbWF5YmVf
c3BhY2UgeyAkJCA9ICQxOyB9CiA7CiAKQEAgLTY5NCw5ICs2ODksOSBAQCBrZXk6CiAgICAgfCBJ
REVOVCB7CiAgICAgICAgICQkLmlkID0gMDsgJCQuaXNJbnQgPSBmYWxzZTsgJCQudW5pdCA9IENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSOwogICAgICAgICBDU1NQYXJzZXJTdHJpbmcmIHN0
ciA9ICQxOwotICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoImZyb20iLCBzdHIuY2hhcmFj
dGVycywgc3RyLmxlbmd0aCkpCisgICAgICAgIGlmIChzdHIuZXF1YWxJZ25vcmluZ0Nhc2UoImZy
b20iKSkKICAgICAgICAgICAgICQkLmZWYWx1ZSA9IDA7Ci0gICAgICAgIGVsc2UgaWYgKGVxdWFs
SWdub3JpbmdDYXNlKCJ0byIsIHN0ci5jaGFyYWN0ZXJzLCBzdHIubGVuZ3RoKSkKKyAgICAgICAg
ZWxzZSBpZiAoc3RyLmVxdWFsSWdub3JpbmdDYXNlKCJ0byIpKQogICAgICAgICAgICAgJCQuZlZh
bHVlID0gMTAwOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBZWUVSUk9SOwpAQCAtOTc2LDgg
Kzk3MSw4IEBAIHNlbGVjdG9yOgogICAgIDsKIAogbmFtZXNwYWNlX3NlbGVjdG9yOgotICAgIC8q
IGVtcHR5ICovICd8JyB7ICQkLmNoYXJhY3RlcnMgPSAwOyAkJC5sZW5ndGggPSAwOyB9Ci0gICAg
fCAnKicgJ3wnIHsgc3RhdGljIFVDaGFyIHN0YXIgPSAnKic7ICQkLmNoYXJhY3RlcnMgPSAmc3Rh
cjsgJCQubGVuZ3RoID0gMTsgfQorICAgIC8qIGVtcHR5ICovICd8JyB7ICQkLmNsZWFyKCk7IH0K
KyAgICB8ICcqJyAnfCcgeyBzdGF0aWMgTENoYXIgc3RhciA9ICcqJzsgJCQuaW5pdCgmc3Rhciwg
MSk7IH0KICAgICB8IElERU5UICd8JyB7ICQkID0gJDE7IH0KIDsKICAgICAKQEAgLTEwNDAsOSAr
MTAzNSw4IEBAIGVsZW1lbnRfbmFtZToKICAgICAgICAgJCQgPSBzdHI7CiAgICAgfQogICAgIHwg
JyonIHsKLSAgICAgICAgc3RhdGljIFVDaGFyIHN0YXIgPSAnKic7Ci0gICAgICAgICQkLmNoYXJh
Y3RlcnMgPSAmc3RhcjsKLSAgICAgICAgJCQubGVuZ3RoID0gMTsKKyAgICAgICAgc3RhdGljIExD
aGFyIHN0YXIgPSAnKic7CisgICAgICAgICQkLmluaXQoJnN0YXIsIDEpOwogICAgIH0KICAgOwog
CkBAIC0xMDcwLDcgKzEwNjQsNyBAQCBzcGVjaWZpZXI6CiAgICAgICAgICQkLT5zZXRWYWx1ZSgk
MSk7CiAgICAgfQogICB8IEhFWCB7Ci0gICAgICAgIGlmICgkMS5jaGFyYWN0ZXJzWzBdID49ICcw
JyAmJiAkMS5jaGFyYWN0ZXJzWzBdIDw9ICc5JykgeworICAgICAgICBpZiAoJDFbMF0gPj0gJzAn
ICYmICQxWzBdIDw9ICc5JykgewogICAgICAgICAgICAgJCQgPSAwOwogICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZUZsb2F0aW5nU2VsZWN0b3IoKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCShyZXZpc2lvbiAxMjcxNjMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTEsNiArOTEsNyBA
QAogI2luY2x1ZGUgPHd0Zi9kdG9hLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVmZmVy
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0ltcGwuaD4KIAogI2lmIEVOQUJMRShDU1NfSU1BR0VfU0VUKQogI2luY2x1ZGUg
IkNTU0ltYWdlU2V0VmFsdWUuaCIKQEAgLTE1NywyNSArMTU4LDEyIEBAIHN0YXRpYyBjb25zdCBk
b3VibGUgTUFYX1NDQUxFID0gMTAwMDAwMDsKIAogc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgQ1NT
UGFyc2VyU3RyaW5nJiBhLCBjb25zdCBjaGFyKiBiKQogewotICAgIGZvciAoaW50IGkgPSAwOyBp
IDwgYS5sZW5ndGg7ICsraSkgewotICAgICAgICBpZiAoIWJbaV0pCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgIGlmIChhLmNoYXJhY3RlcnNbaV0gIT0gYltpXSkKLSAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgcmV0dXJuICFiW2EubGVuZ3RoXTsKKyAgICBy
ZXR1cm4gYS5pczhCaXQoKSA/IFdURjo6ZXF1YWwoYS5jaGFyYWN0ZXJzOCgpLCByZWludGVycHJl
dF9jYXN0PGNvbnN0IExDaGFyKj4oYiksIGEubGVuZ3RoKCkpIDogV1RGOjplcXVhbChhLmNoYXJh
Y3RlcnMxNigpLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oYiksIGEubGVuZ3RoKCkp
OwogfQogCiBzdGF0aWMgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBDU1NQYXJzZXJTdHJp
bmcmIGEsIGNvbnN0IGNoYXIqIGIpCiB7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhLmxlbmd0
aDsgKytpKSB7Ci0gICAgICAgIGlmICghYltpXSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAgICAgQVNTRVJUKCFpc0FTQ0lJVXBwZXIoYltpXSkpOwotICAgICAgICBpZiAodG9BU0NJ
SUxvd2VyKGEuY2hhcmFjdGVyc1tpXSkgIT0gYltpXSkKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0gICAgcmV0dXJuICFiW2EubGVuZ3RoXTsKKyAgICByZXR1cm4gYS5pczhCaXQo
KSA/IFdURjo6ZXF1YWxJZ25vcmluZ0Nhc2UoYiwgYS5jaGFyYWN0ZXJzOCgpLCBhLmxlbmd0aCgp
KSA6IFdURjo6ZXF1YWxJZ25vcmluZ0Nhc2UoYiwgYS5jaGFyYWN0ZXJzMTYoKSwgYS5sZW5ndGgo
KSk7CiB9CiAKIHN0YXRpYyBib29sIGhhc1ByZWZpeChjb25zdCBjaGFyKiBzdHJpbmcsIHVuc2ln
bmVkIGxlbmd0aCwgY29uc3QgY2hhciogcHJlZml4KQpAQCAtMjYwLDggKzI0OCwxMCBAQCBDU1NQ
YXJzZXI6OkNTU1BhcnNlcihjb25zdCBDU1NQYXJzZXJDb250CiAgICAgLCBtX3Byb3BlcnR5UmFu
Z2UoVUlOVF9NQVgsIFVJTlRfTUFYKQogICAgICwgbV9ydWxlU291cmNlRGF0YVJlc3VsdCgwKQog
ICAgICwgbV9wYXJzaW5nTW9kZShOb3JtYWxNb2RlKQotICAgICwgbV9jdXJyZW50Q2hhcmFjdGVy
KDApCi0gICAgLCBtX3Rva2VuU3RhcnQoMCkKKyAgICAsIG1faXM4Qml0U291cmNlKGZhbHNlKQor
ICAgICwgbV9jdXJyZW50Q2hhcmFjdGVyOCgwKQorICAgICwgbV9jdXJyZW50Q2hhcmFjdGVyMTYo
MCkKKyAgICAsIG1fbGVuZ3RoKDApCiAgICAgLCBtX3Rva2VuKDApCiAgICAgLCBtX2xpbmVOdW1i
ZXIoMCkKICAgICAsIG1fbGFzdFNlbGVjdG9yTGluZU51bWJlcigwKQpAQCAtMjcyLDYgKzI2Miw3
IEBAIENTU1BhcnNlcjo6Q1NTUGFyc2VyKGNvbnN0IENTU1BhcnNlckNvbnQKICNpZiBZWURFQlVH
ID4gMAogICAgIGNzc3l5ZGVidWcgPSAxOwogI2VuZGlmCisgICAgbV90b2tlblN0YXJ0LnB0cjgg
PSAwOwogICAgIENTU1Byb3BlcnR5U291cmNlRGF0YTo6aW5pdCgpOwogfQogCkBAIC0yODUsNyAr
Mjc2LDggQEAgQ1NTUGFyc2VyOjp+Q1NTUGFyc2VyKCkKICAgICBkZWxldGVBbGxWYWx1ZXMobV9m
bG9hdGluZ0Z1bmN0aW9ucyk7CiB9CiAKLXZvaWQgQ1NTUGFyc2VyU3RyaW5nOjpsb3dlcigpCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK0FMV0FZU19JTkxJTkUgc3RhdGljIHZv
aWQgbWFrZUxvd2VyKENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkK
IHsKICAgICAvLyBGSVhNRTogSWYgd2UgbmVlZCBVbmljb2RlIGxvd2VyY2FzaW5nIGhlcmUsIHRo
ZW4gd2UgcHJvYmFibHkgd2FudCB0aGUgcmVhbCBraW5kCiAgICAgLy8gdGhhdCBjYW4gcG90ZW50
aWFsbHkgY2hhbmdlIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyByYXRoZXIgdGhhbiB0aGUgY2hh
cmFjdGVyCkBAIC0yOTQsMzMgKzI4Niw3MyBAQCB2b2lkIENTU1BhcnNlclN0cmluZzo6bG93ZXIo
KQogCiAgICAgaWYgKGNoYXJhY3RlcnNBcmVBbGxBU0NJSShjaGFyYWN0ZXJzLCBsZW5ndGgpKSB7
CiAgICAgICAgIC8vIEZhc3QgY2FzZSBmb3IgYWxsLUFTQ0lJLgotICAgICAgICBmb3IgKGludCBp
ID0gMDsgaSA8IGxlbmd0aDsgaSsrKQorICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
bGVuZ3RoOyBpKyspCiAgICAgICAgICAgICBjaGFyYWN0ZXJzW2ldID0gdG9BU0NJSUxvd2VyKGNo
YXJhY3RlcnNbaV0pOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
bGVuZ3RoOyBpKyspCisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkr
KykKICAgICAgICAgICAgIGNoYXJhY3RlcnNbaV0gPSBVbmljb2RlOjp0b0xvd2VyKGNoYXJhY3Rl
cnNbaV0pOwogICAgIH0KIH0KIAordm9pZCBDU1NQYXJzZXJTdHJpbmc6Omxvd2VyKCkKK3sKKyAg
ICBpZiAoaXM4Qml0KCkpIHsKKyAgICAgICAgbWFrZUxvd2VyKGNoYXJhY3RlcnM4KCksIGxlbmd0
aCgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1ha2VMb3dlcihjaGFyYWN0ZXJz
MTYoKSwgbGVuZ3RoKCkpOworfQorCiB2b2lkIENTU1BhcnNlcjo6c2V0dXBQYXJzZXIoY29uc3Qg
Y2hhciogcHJlZml4LCBjb25zdCBTdHJpbmcmIHN0cmluZywgY29uc3QgY2hhciogc3VmZml4KQog
ewogICAgIG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCA9IHN0cmxlbihwcmVmaXgpOwotICAgIGlu
dCBsZW5ndGggPSBzdHJpbmcubGVuZ3RoKCkgKyBtX3BhcnNlZFRleHRQcmVmaXhMZW5ndGggKyBz
dHJsZW4oc3VmZml4KSArIDE7CisgICAgdW5zaWduZWQgc3RyaW5nTGVuZ3RoID0gc3RyaW5nLmxl
bmd0aCgpOworICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0cmluZ0xlbmd0aCArIG1fcGFyc2VkVGV4
dFByZWZpeExlbmd0aCArIHN0cmxlbihzdWZmaXgpICsgMTsKKworICAgIGlmICghc3RyaW5nTGVu
Z3RoIHx8IHN0cmluZy5pczhCaXQoKSkgeworICAgICAgICBtX2RhdGFTdGFydDggPSBhZG9wdEFy
cmF5UHRyKG5ldyBMQ2hhcltsZW5ndGhdKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aDsgaSsrKQorICAgICAgICAgICAgbV9kYXRhU3Rh
cnQ4W2ldID0gcHJlZml4W2ldOworCisgICAgICAgIGlmIChzdHJpbmdMZW5ndGgpCisgICAgICAg
ICAgICBtZW1jcHkobV9kYXRhU3RhcnQ4LmdldCgpICsgbV9wYXJzZWRUZXh0UHJlZml4TGVuZ3Ro
LCBzdHJpbmcuY2hhcmFjdGVyczgoKSwgc3RyaW5nTGVuZ3RoICogc2l6ZW9mKExDaGFyKSk7CiAK
LSAgICBtX2RhdGFTdGFydCA9IGFkb3B0QXJyYXlQdHIobmV3IFVDaGFyW2xlbmd0aF0pOworICAg
ICAgICB1bnNpZ25lZCBzdGFydCA9IG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCArIHN0cmluZ0xl
bmd0aDsKKyAgICAgICAgdW5zaWduZWQgZW5kID0gc3RhcnQgKyBzdHJsZW4oc3VmZml4KTsKKyAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkrKykKKyAgICAgICAgICAg
IG1fZGF0YVN0YXJ0OFtpXSA9IHN1ZmZpeFtpIC0gc3RhcnRdOworCisgICAgICAgIG1fZGF0YVN0
YXJ0OFtsZW5ndGggLSAxXSA9IDA7CisKKyAgICAgICAgbV9pczhCaXRTb3VyY2UgPSB0cnVlOwor
ICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXI4ID0gbV9kYXRhU3RhcnQ4LmdldCgpOworICAgICAg
ICBtX2N1cnJlbnRDaGFyYWN0ZXIxNiA9IDA7CisgICAgICAgIHNldFRva2VuU3RhcnQ8TENoYXI+
KG1fY3VycmVudENoYXJhY3RlcjgpOworICAgICAgICBtX2xlbmd0aCA9IGxlbmd0aDsKKyAgICAg
ICAgbV9sZXhGdW5jID0gJkNTU1BhcnNlcjo6cmVhbExleDxMQ2hhcj47CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBtX2RhdGFTdGFydDE2ID0gYWRvcHRBcnJheVB0cihuZXcgVUNoYXJb
bGVuZ3RoXSk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fcGFyc2VkVGV4dFByZWZp
eExlbmd0aDsgaSsrKQotICAgICAgICBtX2RhdGFTdGFydFtpXSA9IHByZWZpeFtpXTsKKyAgICAg
ICAgbV9kYXRhU3RhcnQxNltpXSA9IHByZWZpeFtpXTsKIAotICAgIG1lbWNweShtX2RhdGFTdGFy
dC5nZXQoKSArIG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCwgc3RyaW5nLmNoYXJhY3RlcnMoKSwg
c3RyaW5nLmxlbmd0aCgpICogc2l6ZW9mKFVDaGFyKSk7CisgICAgbWVtY3B5KG1fZGF0YVN0YXJ0
MTYuZ2V0KCkgKyBtX3BhcnNlZFRleHRQcmVmaXhMZW5ndGgsIHN0cmluZy5jaGFyYWN0ZXJzKCks
IHN0cmluZ0xlbmd0aCAqIHNpemVvZihVQ2hhcikpOwogCi0gICAgdW5zaWduZWQgc3RhcnQgPSBt
X3BhcnNlZFRleHRQcmVmaXhMZW5ndGggKyBzdHJpbmcubGVuZ3RoKCk7CisgICAgdW5zaWduZWQg
c3RhcnQgPSBtX3BhcnNlZFRleHRQcmVmaXhMZW5ndGggKyBzdHJpbmdMZW5ndGg7CiAgICAgdW5z
aWduZWQgZW5kID0gc3RhcnQgKyBzdHJsZW4oc3VmZml4KTsKICAgICBmb3IgKHVuc2lnbmVkIGkg
PSBzdGFydDsgaSA8IGVuZDsgaSsrKQotICAgICAgICBtX2RhdGFTdGFydFtpXSA9IHN1ZmZpeFtp
IC0gc3RhcnRdOworICAgICAgICBtX2RhdGFTdGFydDE2W2ldID0gc3VmZml4W2kgLSBzdGFydF07
CiAKLSAgICBtX2RhdGFTdGFydFtsZW5ndGggLSAxXSA9IDA7CisgICAgbV9kYXRhU3RhcnQxNlts
ZW5ndGggLSAxXSA9IDA7CiAKLSAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBtX3Rva2VuU3RhcnQg
PSBtX2RhdGFTdGFydC5nZXQoKTsKKyAgICBtX2lzOEJpdFNvdXJjZSA9IGZhbHNlOworICAgIG1f
Y3VycmVudENoYXJhY3RlcjggPSAwOworICAgIG1fY3VycmVudENoYXJhY3RlcjE2ID0gbV9kYXRh
U3RhcnQxNi5nZXQoKTsKKyAgICBzZXRUb2tlblN0YXJ0PFVDaGFyPihtX2N1cnJlbnRDaGFyYWN0
ZXIxNik7CisgICAgbV9sZW5ndGggPSBsZW5ndGg7CisgICAgbV9sZXhGdW5jID0gJkNTU1BhcnNl
cjo6cmVhbExleDxVQ2hhcj47CiB9CiAKIHZvaWQgQ1NTUGFyc2VyOjpwYXJzZVNoZWV0KFN0eWxl
U2hlZXRDb250ZW50cyogc2hlZXQsIGNvbnN0IFN0cmluZyYgc3RyaW5nLCBpbnQgc3RhcnRMaW5l
TnVtYmVyLCBSdWxlU291cmNlRGF0YUxpc3QqIHJ1bGVTb3VyY2VEYXRhUmVzdWx0KQpAQCAtMzkw
LDggKzQyMiw3IEBAIHN0YXRpYyBib29sIHBhcnNlQ29sb3JWYWx1ZShTdHlsZVByb3BlcnQKICAg
ICBpZiAoIWlzQ29sb3JQcm9wZXJ0eUlEKHByb3BlcnR5SWQpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgQ1NTUGFyc2VyU3RyaW5nIGNzc1N0cmluZzsKLSAgICBjc3NTdHJpbmcuY2hhcmFj
dGVycyA9IGNvbnN0X2Nhc3Q8VUNoYXIqPihzdHJpbmcuY2hhcmFjdGVycygpKTsKLSAgICBjc3NT
dHJpbmcubGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOworICAgIGNzc1N0cmluZy5pbml0KHN0cmlu
Zyk7CiAgICAgaW50IHZhbHVlSUQgPSBjc3NWYWx1ZUtleXdvcmRJRChjc3NTdHJpbmcpOwogICAg
IGJvb2wgdmFsaWRQcmltaXRpdmUgPSBmYWxzZTsKICAgICBpZiAodmFsdWVJRCA9PSBDU1NWYWx1
ZVdlYmtpdFRleHQpCkBAIC00NjQsOCArNDk1LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzU2lt
cGxlTGVuZ3RoUHJvcGVydAogICAgIH0KIH0KIAotdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJUeXBl
Pgotc3RhdGljIGlubGluZSBib29sIHBhcnNlU2ltcGxlTGVuZ3RoKGNvbnN0IENoYXJUeXBlKiBj
aGFyYWN0ZXJzLCB1bnNpZ25lZCYgbGVuZ3RoLCBDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVz
JiB1bml0LCBkb3VibGUmIG51bWJlcikKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBl
Pgorc3RhdGljIGlubGluZSBib29sIHBhcnNlU2ltcGxlTGVuZ3RoKGNvbnN0IENoYXJhY3RlclR5
cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkJiBsZW5ndGgsIENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0
VHlwZXMmIHVuaXQsIGRvdWJsZSYgbnVtYmVyKQogewogICAgIGlmIChsZW5ndGggPiAyICYmIChj
aGFyYWN0ZXJzW2xlbmd0aCAtIDJdIHwgMHgyMCkgPT0gJ3AnICYmIChjaGFyYWN0ZXJzW2xlbmd0
aCAtIDFdIHwgMHgyMCkgPT0gJ3gnKSB7CiAgICAgICAgIGxlbmd0aCAtPSAyOwpAQCAtMTAxNyw4
ICsxMDQ4LDcgQEAgc3RhdGljIGJvb2wgcGFyc2VLZXl3b3JkVmFsdWUoU3R5bGVQcm9wZQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBDU1NQYXJzZXJTdHJpbmcgY3NzU3RyaW5nOwotICAg
IGNzc1N0cmluZy5jaGFyYWN0ZXJzID0gY29uc3RfY2FzdDxVQ2hhcio+KHN0cmluZy5jaGFyYWN0
ZXJzKCkpOwotICAgIGNzc1N0cmluZy5sZW5ndGggPSBzdHJpbmcubGVuZ3RoKCk7CisgICAgY3Nz
U3RyaW5nLmluaXQoc3RyaW5nKTsKICAgICBpbnQgdmFsdWVJRCA9IGNzc1ZhbHVlS2V5d29yZElE
KGNzc1N0cmluZyk7CiAKICAgICBpZiAoIXZhbHVlSUQpCkBAIC0xMDM4LDggKzEwNjgsOCBAQCBz
dGF0aWMgYm9vbCBwYXJzZUtleXdvcmRWYWx1ZShTdHlsZVByb3BlCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyVHlwZT4KLXN0YXRpYyBib29sIHBhcnNlVHJh
bnNmb3JtQXJndW1lbnRzKFdlYktpdENTU1RyYW5zZm9ybVZhbHVlKiB0cmFuc2Zvcm1WYWx1ZSwg
Q2hhclR5cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgc3RhcnQsIHVu
c2lnbmVkIGV4cGVjdGVkQ291bnQpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4K
K3N0YXRpYyBib29sIHBhcnNlVHJhbnNmb3JtQXJndW1lbnRzKFdlYktpdENTU1RyYW5zZm9ybVZh
bHVlKiB0cmFuc2Zvcm1WYWx1ZSwgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQg
bGVuZ3RoLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZXhwZWN0ZWRDb3VudCkKIHsKICAgICB3
aGlsZSAoZXhwZWN0ZWRDb3VudCkgewogICAgICAgICBzaXplX3QgZW5kID0gV1RGOjpmaW5kKGNo
YXJhY3RlcnMsIGxlbmd0aCwgZXhwZWN0ZWRDb3VudCA9PSAxID8gJyknIDogJywnLCBzdGFydCk7
CkBAIC0xMjIyLDggKzEyNTIsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcihS
R0JBMzImCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIENTU1BhcnNlclN0cmluZyBjc3ND
b2xvcjsKLSAgICBjc3NDb2xvci5jaGFyYWN0ZXJzID0gY29uc3RfY2FzdDxVQ2hhcio+KHN0cmlu
Zy5jaGFyYWN0ZXJzKCkpOwotICAgIGNzc0NvbG9yLmxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsK
KyAgICBjc3NDb2xvci5pbml0KHN0cmluZyk7CiAgICAgaW50IGlkID0gY3NzVmFsdWVLZXl3b3Jk
SUQoY3NzQ29sb3IpOwogICAgIGlmIChpZCA8PSAwKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBA
IC0zMDY2LDcgKzMwOTUsNyBAQCB2b2lkIENTU1BhcnNlcjo6c3RvcmVWYXJpYWJsZURlY2xhcmF0
aW9uCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBBU1NFUlQobmFtZS5sZW5ndGggPiAxMik7
Ci0gICAgQXRvbWljU3RyaW5nIHZhcmlhYmxlTmFtZSA9IFN0cmluZyhuYW1lLmNoYXJhY3RlcnMg
KyAxMiwgbmFtZS5sZW5ndGggLSAxMik7CisgICAgQXRvbWljU3RyaW5nIHZhcmlhYmxlTmFtZSA9
IG5hbWUuaXM4Qml0KCkgPyBBdG9taWNTdHJpbmcobmFtZS5jaGFyYWN0ZXJzOCgpICsgMTIsIG5h
bWUubGVuZ3RoKCkgLSAxMikgOiBBdG9taWNTdHJpbmcobmFtZS5jaGFyYWN0ZXJzMTYoKSArIDEy
LCBuYW1lLmxlbmd0aCgpIC0gMTIpOwogCiAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwogICAg
IGZvciAodW5zaWduZWQgaSA9IDAsIHNpemUgPSB2YWx1ZS0+c2l6ZSgpOyBpIDwgc2l6ZTsgaSsr
KSB7CkBAIC00ODQzLDcgKzQ4NzIsMTMgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgaWYgKCFt
X2J1aWxkZXIuaXNFbXB0eSgpKQogICAgICAgICAgICAgbV9idWlsZGVyLmFwcGVuZCgnICcpOwot
ICAgICAgICBtX2J1aWxkZXIuYXBwZW5kKHN0cmluZy5jaGFyYWN0ZXJzLCBzdHJpbmcubGVuZ3Ro
KTsKKworICAgICAgICBpZiAoc3RyaW5nLmlzOEJpdCgpKSB7CisgICAgICAgICAgICBtX2J1aWxk
ZXIuYXBwZW5kKHN0cmluZy5jaGFyYWN0ZXJzOCgpLCBzdHJpbmcubGVuZ3RoKCkpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgbV9idWlsZGVyLmFwcGVuZChzdHJp
bmcuY2hhcmFjdGVyczE2KCksIHN0cmluZy5sZW5ndGgoKSk7CiAgICAgfQogCiAgICAgdm9pZCBj
b21taXQoKQpAQCAtNTE5Niw3ICs1MjMxLDggQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udEZh
Y2VVbmljb2RlUmFuZwogCiAvLyBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyB3aGlj
aCBmb3JtIGEgdmFsaWQgZG91YmxlCiAvLyBhbmQgYXJlIHRlcm1pbmF0ZWQgYnkgdGhlIGdpdmVu
IHRlcm1pbmF0b3IgY2hhcmFjdGVyCi1zdGF0aWMgaW50IGNoZWNrRm9yVmFsaWREb3VibGUoY29u
c3QgVUNoYXIqIHN0cmluZywgY29uc3QgVUNoYXIqIGVuZCwgY29uc3QgY2hhciB0ZXJtaW5hdG9y
KQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW50IGNoZWNrRm9y
VmFsaWREb3VibGUoY29uc3QgQ2hhcmFjdGVyVHlwZSogc3RyaW5nLCBjb25zdCBDaGFyYWN0ZXJU
eXBlKiBlbmQsIGNvbnN0IGNoYXIgdGVybWluYXRvcikKIHsKICAgICBpbnQgbGVuZ3RoID0gZW5k
IC0gc3RyaW5nOwogICAgIGlmIChsZW5ndGggPCAxKQpAQCAtNTIyNiw3ICs1MjYyLDggQEAgc3Rh
dGljIGludCBjaGVja0ZvclZhbGlkRG91YmxlKGNvbnN0IFVDaAogCiAvLyBSZXR1cm5zIHRoZSBu
dW1iZXIgb2YgY2hhcmFjdGVycyBjb25zdW1lZCBmb3IgcGFyc2luZyBhIHZhbGlkIGRvdWJsZQog
Ly8gdGVybWluYXRlZCBieSB0aGUgZ2l2ZW4gdGVybWluYXRvciBjaGFyYWN0ZXIKLXN0YXRpYyBp
bnQgcGFyc2VEb3VibGUoY29uc3QgVUNoYXIqIHN0cmluZywgY29uc3QgVUNoYXIqIGVuZCwgY29u
c3QgY2hhciB0ZXJtaW5hdG9yLCBkb3VibGUmIHZhbHVlKQordGVtcGxhdGUgPHR5cGVuYW1lIENo
YXJhY3RlclR5cGU+CitzdGF0aWMgaW50IHBhcnNlRG91YmxlKGNvbnN0IENoYXJhY3RlclR5cGUq
IHN0cmluZywgY29uc3QgQ2hhcmFjdGVyVHlwZSogZW5kLCBjb25zdCBjaGFyIHRlcm1pbmF0b3Is
IGRvdWJsZSYgdmFsdWUpCiB7CiAgICAgaW50IGxlbmd0aCA9IGNoZWNrRm9yVmFsaWREb3VibGUo
c3RyaW5nLCBlbmQsIHRlcm1pbmF0b3IpOwogICAgIGlmICghbGVuZ3RoKQpAQCAtNTI2MCw5ICs1
Mjk3LDEwIEBAIHN0YXRpYyBpbnQgcGFyc2VEb3VibGUoY29uc3QgVUNoYXIqIHN0cmkKICAgICBy
ZXR1cm4gbGVuZ3RoOwogfQogCi1zdGF0aWMgYm9vbCBwYXJzZUNvbG9ySW50T3JQZXJjZW50YWdl
KGNvbnN0IFVDaGFyKiYgc3RyaW5nLCBjb25zdCBVQ2hhciogZW5kLCBjb25zdCBjaGFyIHRlcm1p
bmF0b3IsIENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMmIGV4cGVjdCwgaW50JiB2YWx1ZSkK
K3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGJvb2wgcGFyc2VDb2xv
ckludE9yUGVyY2VudGFnZShjb25zdCBDaGFyYWN0ZXJUeXBlKiYgc3RyaW5nLCBjb25zdCBDaGFy
YWN0ZXJUeXBlKiBlbmQsIGNvbnN0IGNoYXIgdGVybWluYXRvciwgQ1NTUHJpbWl0aXZlVmFsdWU6
OlVuaXRUeXBlcyYgZXhwZWN0LCBpbnQmIHZhbHVlKQogewotICAgIGNvbnN0IFVDaGFyKiBjdXJy
ZW50ID0gc3RyaW5nOworICAgIGNvbnN0IENoYXJhY3RlclR5cGUqIGN1cnJlbnQgPSBzdHJpbmc7
CiAgICAgZG91YmxlIGxvY2FsVmFsdWUgPSAwOwogICAgIGJvb2wgbmVnYXRpdmUgPSBmYWxzZTsK
ICAgICB3aGlsZSAoY3VycmVudCAhPSBlbmQgJiYgaXNIVE1MU3BhY2UoKmN1cnJlbnQpKQpAQCAt
NTMyNyw3ICs1MzY1LDggQEAgc3RhdGljIGJvb2wgcGFyc2VDb2xvckludE9yUGVyY2VudGFnZShj
bwogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNUZW50aEFscGhh
KGNvbnN0IFVDaGFyKiBzdHJpbmcsIGNvbnN0IGludCBsZW5ndGgpCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgYm9vbCBpc1RlbnRoQWxwaGEoY29uc3Qg
Q2hhcmFjdGVyVHlwZSogc3RyaW5nLCBjb25zdCBpbnQgbGVuZ3RoKQogewogICAgIC8vICIwLlgi
CiAgICAgaWYgKGxlbmd0aCA9PSAzICYmIHN0cmluZ1swXSA9PSAnMCcgJiYgc3RyaW5nWzFdID09
ICcuJyAmJiBpc0FTQ0lJRGlnaXQoc3RyaW5nWzJdKSkKQEAgLTUzNDAsNyArNTM3OSw4IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc1RlbnRoQWxwaGEoY29uc3QgVUMKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBwYXJzZUFscGhhVmFsdWUoY29uc3QgVUNoYXIqJiBz
dHJpbmcsIGNvbnN0IFVDaGFyKiBlbmQsIGNvbnN0IGNoYXIgdGVybWluYXRvciwgaW50JiB2YWx1
ZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29s
IHBhcnNlQWxwaGFWYWx1ZShjb25zdCBDaGFyYWN0ZXJUeXBlKiYgc3RyaW5nLCBjb25zdCBDaGFy
YWN0ZXJUeXBlKiBlbmQsIGNvbnN0IGNoYXIgdGVybWluYXRvciwgaW50JiB2YWx1ZSkKIHsKICAg
ICB3aGlsZSAoc3RyaW5nICE9IGVuZCAmJiBpc0hUTUxTcGFjZSgqc3RyaW5nKSkKICAgICAgICAg
c3RyaW5nKys7CkBAIC01MzkxLDcgKzU0MzEsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgcGFyc2VB
bHBoYVZhbHVlKGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9v
bCBtaWdodEJlUkdCQShjb25zdCBVQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQor
dGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5lIGJvb2wgbWln
aHRCZVJHQkEoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3Ro
KQogewogICAgIGlmIChsZW5ndGggPCA1KQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC01NDAy
LDcgKzU0NDMsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgbWlnaHRCZVJHQkEoY29uc3QgVUNoCiAg
ICAgICAgICYmIGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwoY2hhcmFjdGVyc1szXSwgJ2EnKTsK
IH0KIAotc3RhdGljIGlubGluZSBib29sIG1pZ2h0QmVSR0IoY29uc3QgVUNoYXIqIGNoYXJhY3Rl
cnMsIHVuc2lnbmVkIGxlbmd0aCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgor
c3RhdGljIGlubGluZSBib29sIG1pZ2h0QmVSR0IoY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFj
dGVycywgdW5zaWduZWQgbGVuZ3RoKQogewogICAgIGlmIChsZW5ndGggPCA0KQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CkBAIC01NDEyLDE0ICs1NDU0LDEzIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBt
aWdodEJlUkdCKGNvbnN0IFVDaGEKICAgICAgICAgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVh
bChjaGFyYWN0ZXJzWzJdLCAnYicpOwogfQogCi1ib29sIENTU1BhcnNlcjo6ZmFzdFBhcnNlQ29s
b3IoUkdCQTMyJiByZ2IsIGNvbnN0IFN0cmluZyYgbmFtZSwgYm9vbCBzdHJpY3QpCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgYm9vbCBmYXN0UGFyc2VD
b2xvckludGVybmFsKFJHQkEzMiYgcmdiLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJz
LCB1bnNpZ25lZCBsZW5ndGggLCBib29sIHN0cmljdCkKIHsKLSAgICBjb25zdCBVQ2hhciogY2hh
cmFjdGVycyA9IG5hbWUuY2hhcmFjdGVycygpOwotICAgIHVuc2lnbmVkIGxlbmd0aCA9IG5hbWUu
bGVuZ3RoKCk7CiAgICAgQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyBleHBlY3QgPSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX1VOS05PV047Ci0KKyAgICAKICAgICBpZiAoIXN0cmljdCAmJiBs
ZW5ndGggPj0gMykgewotICAgICAgICBpZiAobmFtZVswXSA9PSAnIycpIHsKKyAgICAgICAgaWYg
KGNoYXJhY3RlcnNbMF0gPT0gJyMnKSB7CiAgICAgICAgICAgICBpZiAoQ29sb3I6OnBhcnNlSGV4
Q29sb3IoY2hhcmFjdGVycyArIDEsIGxlbmd0aCAtIDEsIHJnYikpCiAgICAgICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgIH0gZWxzZSB7CkBAIC01NDMwLDEzICs1NDcxLDEzIEBAIGJv
b2wgQ1NTUGFyc2VyOjpmYXN0UGFyc2VDb2xvcihSR0JBMzImIHIKIAogICAgIC8vIFRyeSByZ2Jh
KCkgc3ludGF4LgogICAgIGlmIChtaWdodEJlUkdCQShjaGFyYWN0ZXJzLCBsZW5ndGgpKSB7Ci0g
ICAgICAgIGNvbnN0IFVDaGFyKiBjdXJyZW50ID0gY2hhcmFjdGVycyArIDU7Ci0gICAgICAgIGNv
bnN0IFVDaGFyKiBlbmQgPSBjaGFyYWN0ZXJzICsgbGVuZ3RoOworICAgICAgICBjb25zdCBDaGFy
YWN0ZXJUeXBlKiBjdXJyZW50ID0gY2hhcmFjdGVycyArIDU7CisgICAgICAgIGNvbnN0IENoYXJh
Y3RlclR5cGUqIGVuZCA9IGNoYXJhY3RlcnMgKyBsZW5ndGg7CiAgICAgICAgIGludCByZWQ7CiAg
ICAgICAgIGludCBncmVlbjsKICAgICAgICAgaW50IGJsdWU7CiAgICAgICAgIGludCBhbHBoYTsK
LQorICAgICAgICAKICAgICAgICAgaWYgKCFwYXJzZUNvbG9ySW50T3JQZXJjZW50YWdlKGN1cnJl
bnQsIGVuZCwgJywnLCBleHBlY3QsIHJlZCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgICAgIGlmICghcGFyc2VDb2xvckludE9yUGVyY2VudGFnZShjdXJyZW50LCBlbmQsICcsJywg
ZXhwZWN0LCBncmVlbikpCkBAIC01NDUzLDggKzU0OTQsOCBAQCBib29sIENTU1BhcnNlcjo6ZmFz
dFBhcnNlQ29sb3IoUkdCQTMyJiByCiAKICAgICAvLyBUcnkgcmdiKCkgc3ludGF4LgogICAgIGlm
IChtaWdodEJlUkdCKGNoYXJhY3RlcnMsIGxlbmd0aCkpIHsKLSAgICAgICAgY29uc3QgVUNoYXIq
IGN1cnJlbnQgPSBjaGFyYWN0ZXJzICsgNDsKLSAgICAgICAgY29uc3QgVUNoYXIqIGVuZCA9IGNo
YXJhY3RlcnMgKyBsZW5ndGg7CisgICAgICAgIGNvbnN0IENoYXJhY3RlclR5cGUqIGN1cnJlbnQg
PSBjaGFyYWN0ZXJzICsgNDsKKyAgICAgICAgY29uc3QgQ2hhcmFjdGVyVHlwZSogZW5kID0gY2hh
cmFjdGVycyArIGxlbmd0aDsKICAgICAgICAgaW50IHJlZDsKICAgICAgICAgaW50IGdyZWVuOwog
ICAgICAgICBpbnQgYmx1ZTsKQEAgLTU0NzAsNiArNTUxMSwyNSBAQCBib29sIENTU1BhcnNlcjo6
ZmFzdFBhcnNlQ29sb3IoUkdCQTMyJiByCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAor
ICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBDU1NQYXJzZXI6OmZhc3RQYXJzZUNvbG9yKFJH
QkEzMiYgcmdiLCBjb25zdCBTdHJpbmcmIG5hbWUsIGJvb2wgc3RyaWN0KQoreworICAgIHVuc2ln
bmVkIGxlbmd0aCA9IG5hbWUubGVuZ3RoKCk7CisgICAgYm9vbCBwYXJzZVJlc3VsdDsKKworICAg
IGlmICghbGVuZ3RoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAobmFtZS5pczhC
aXQoKSkKKyAgICAgICAgcGFyc2VSZXN1bHQgPSBmYXN0UGFyc2VDb2xvckludGVybmFsKHJnYiwg
bmFtZS5jaGFyYWN0ZXJzOCgpLCBsZW5ndGgsIHN0cmljdCk7CisgICAgZWxzZQorICAgICAgICBw
YXJzZVJlc3VsdCA9IGZhc3RQYXJzZUNvbG9ySW50ZXJuYWwocmdiLCBuYW1lLmNoYXJhY3RlcnMo
KSwgbGVuZ3RoLCBzdHJpY3QpOworCisgICAgaWYgKHBhcnNlUmVzdWx0KQorICAgICAgICByZXR1
cm4gdHJ1ZTsKKwogICAgIC8vIFRyeSBuYW1lZCBjb2xvcnMuCiAgICAgQ29sb3IgdGM7CiAgICAg
dGMuc2V0TmFtZWRDb2xvcihuYW1lKTsKQEAgLTU0NzgsNiArNTUzOCw3IEBAIGJvb2wgQ1NTUGFy
c2VyOjpmYXN0UGFyc2VDb2xvcihSR0JBMzImIHIKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQogICAgIHJldHVybiBmYWxzZTsKKwogfQogICAgIAogaW5saW5lIGRvdWJsZSBDU1NQYXJzZXI6
OnBhcnNlZERvdWJsZShDU1NQYXJzZXJWYWx1ZSAqdiwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZUNv
bmRpdGlvbiByZWxlYXNlQ2FsYykKQEAgLTcxODAsOSArNzI0MSwxNiBAQCBQYXNzUmVmUHRyPENT
U1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlSW1hCiAKICAgICAgICAgZG91YmxlIGltYWdlU2NhbGVG
YWN0b3IgPSAwOwogICAgICAgICBjb25zdCBTdHJpbmcmIHN0cmluZyA9IGFyZy0+c3RyaW5nOwot
ICAgICAgICBjb25zdCBVQ2hhciogY3VycmVudCA9IHN0cmluZy5jaGFyYWN0ZXJzKCk7Ci0gICAg
ICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBjdXJyZW50ICsgc3RyaW5nLmxlbmd0aCgpOwotICAgICAg
ICBwYXJzZURvdWJsZShjdXJyZW50LCBlbmQsICd4JywgaW1hZ2VTY2FsZUZhY3Rvcik7CisgICAg
ICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAgICAgICAgaWYgKCFsZW5n
dGgpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgaWYgKHN0cmluZy5pczhCaXQoKSkg
eworICAgICAgICAgICAgY29uc3QgTENoYXIqIHN0YXJ0ID0gc3RyaW5nLmNoYXJhY3RlcnM4KCk7
CisgICAgICAgICAgICBwYXJzZURvdWJsZShzdGFydCwgc3RhcnQgKyBsZW5ndGgsICd4JywgaW1h
Z2VTY2FsZUZhY3Rvcik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBjb25zdCBVQ2hh
ciogc3RhcnQgPSBzdHJpbmcuY2hhcmFjdGVycygpOworICAgICAgICAgICAgcGFyc2VEb3VibGUo
c3RhcnQsIHN0YXJ0ICsgbGVuZ3RoLCAneCcsIGltYWdlU2NhbGVGYWN0b3IpOworICAgICAgICB9
CiAgICAgICAgIGlmIChpbWFnZVNjYWxlRmFjdG9yIDw9IDApCiAgICAgICAgICAgICByZXR1cm4g
MDsKICAgICAgICAgaW1hZ2VTZXQtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShp
bWFnZVNjYWxlRmFjdG9yLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUikpOwpAQCAtNzIw
NywxMCArNzI3NSwxMCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlSW1h
CiBjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25JbmZvIHsKIHB1YmxpYzoKICAgICBUcmFuc2Zvcm1P
cGVyYXRpb25JbmZvKGNvbnN0IENTU1BhcnNlclN0cmluZyYgbmFtZSkKLSAgICA6IG1fdHlwZShX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6VW5rbm93blRyYW5zZm9ybU9wZXJhdGlvbikKLSAgICAs
IG1fYXJnQ291bnQoMSkKLSAgICAsIG1fYWxsb3dTaW5nbGVBcmd1bWVudChmYWxzZSkKLSAgICAs
IG1fdW5pdChDU1NQYXJzZXI6OkZVbmtub3duKQorICAgICAgICA6IG1fdHlwZShXZWJLaXRDU1NU
cmFuc2Zvcm1WYWx1ZTo6VW5rbm93blRyYW5zZm9ybU9wZXJhdGlvbikKKyAgICAgICAgLCBtX2Fy
Z0NvdW50KDEpCisgICAgICAgICwgbV9hbGxvd1NpbmdsZUFyZ3VtZW50KGZhbHNlKQorICAgICAg
ICAsIG1fdW5pdChDU1NQYXJzZXI6OkZVbmtub3duKQogICAgIHsKICAgICAgICAgaWYgKGVxdWFs
SWdub3JpbmdDYXNlKG5hbWUsICJzY2FsZSgiKSB8fCBlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAi
c2NhbGV4KCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJzY2FsZXkoIikgfHwgZXF1YWxJ
Z25vcmluZ0Nhc2UobmFtZSwgInNjYWxleigiKSkgewogICAgICAgICAgICAgbV91bml0ID0gQ1NT
UGFyc2VyOjpGTnVtYmVyOwpAQCAtODE0NiwxNyArODIxNCwxNyBAQCBib29sIENTU1BhcnNlcjo6
cGFyc2VMaW5lQm94Q29udGFpbihib29sCiBib29sIENTU1BhcnNlcjo6cGFyc2VGb250RmVhdHVy
ZVRhZyhDU1NWYWx1ZUxpc3QqIHNldHRpbmdzKQogewogICAgIC8vIEZlYXR1cmUgdGFnIG5hbWUg
Y29uc2lzdHMgb2YgNC1sZXR0ZXIgY2hhcmFjdGVycy4KLSAgICBzdGF0aWMgY29uc3QgaW50IHRh
Z05hbWVMZW5ndGggPSA0OworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCB0YWdOYW1lTGVuZ3Ro
ID0gNDsKIAogICAgIENTU1BhcnNlclZhbHVlKiB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50
KCk7CiAgICAgLy8gRmVhdHVyZSB0YWcgbmFtZSBjb21lcyBmaXJzdAogICAgIGlmICh2YWx1ZS0+
dW5pdCAhPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORykKICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIGlmICh2YWx1ZS0+c3RyaW5nLmxlbmd0aCAhPSB0YWdOYW1lTGVuZ3RoKQorICAg
IGlmICh2YWx1ZS0+c3RyaW5nLmxlbmd0aCgpICE9IHRhZ05hbWVMZW5ndGgpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IHRhZ05hbWVMZW5ndGg7ICsraSkg
eworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB0YWdOYW1lTGVuZ3RoOyArK2kpIHsKICAg
ICAgICAgLy8gTGltaXRzIHRoZSByYW5nZSBvZiBjaGFyYWN0ZXJzIHRvIDB4MjAtMHg3RSwgZm9s
bG93aW5nIHRoZSB0YWcgbmFtZSBydWxlcyBkZWZpZW5kIGluIHRoZSBPcGVuVHlwZSBzcGVjaWZp
Y2F0aW9uLgotICAgICAgICBVQ2hhciBjaGFyYWN0ZXIgPSB2YWx1ZS0+c3RyaW5nLmNoYXJhY3Rl
cnNbaV07CisgICAgICAgIFVDaGFyIGNoYXJhY3RlciA9IHZhbHVlLT5zdHJpbmdbaV07CiAgICAg
ICAgIGlmIChjaGFyYWN0ZXIgPCAweDIwIHx8IGNoYXJhY3RlciA+IDB4N0UpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQpAQCAtODQzNywzMCArODUwNSwzNSBAQCBzdGF0aWMgY29u
c3QgQ2hhcmFjdGVyVHlwZSB0eXBlc09mQVNDSUlDCiAKIC8vIFV0aWxpdHkgZnVuY3Rpb25zIGZv
ciB0aGUgQ1NTIHRva2VuaXplci4KIAotc3RhdGljIGlubGluZSBib29sIGlzQ1NTTGV0dGVyKFVD
aGFyIGNoYXJhY3RlcikKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGlj
IGlubGluZSBib29sIGlzQ1NTTGV0dGVyKENoYXJhY3RlclR5cGUgY2hhcmFjdGVyKQogewogICAg
IHJldHVybiBjaGFyYWN0ZXIgPj0gMTI4IHx8IHR5cGVzT2ZBU0NJSUNoYXJhY3RlcnNbY2hhcmFj
dGVyXSA8PSBDaGFyYWN0ZXJEYXNoOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNDU1NFc2Nh
cGUoVUNoYXIgY2hhcmFjdGVyKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Citz
dGF0aWMgaW5saW5lIGJvb2wgaXNDU1NFc2NhcGUoQ2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIpCiB7
CiAgICAgcmV0dXJuIGNoYXJhY3RlciA+PSAnICcgJiYgY2hhcmFjdGVyICE9IDEyNzsKIH0KIAot
c3RhdGljIGlubGluZSBib29sIGlzVVJJTGV0dGVyKFVDaGFyIGNoYXJhY3RlcikKK3RlbXBsYXRl
IDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGlzVVJJTGV0dGVy
KENoYXJhY3RlclR5cGUgY2hhcmFjdGVyKQogewogICAgIHJldHVybiAoY2hhcmFjdGVyID49ICcq
JyAmJiBjaGFyYWN0ZXIgIT0gMTI3KSB8fCAoY2hhcmFjdGVyID49ICcjJyAmJiBjaGFyYWN0ZXIg
PD0gJyYnKSB8fCBjaGFyYWN0ZXIgPT0gJyEnOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNJ
ZGVudGlmaWVyU3RhcnRBZnRlckRhc2goVUNoYXIqIGN1cnJlbnRDaGFyYWN0ZXIpCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgYm9vbCBpc0lkZW50aWZp
ZXJTdGFydEFmdGVyRGFzaChDaGFyYWN0ZXJUeXBlKiBjdXJyZW50Q2hhcmFjdGVyKQogewogICAg
IHJldHVybiBpc0FTQ0lJQWxwaGEoY3VycmVudENoYXJhY3RlclswXSkgfHwgY3VycmVudENoYXJh
Y3RlclswXSA9PSAnXycgfHwgY3VycmVudENoYXJhY3RlclswXSA+PSAxMjgKICAgICAgICAgfHwg
KGN1cnJlbnRDaGFyYWN0ZXJbMF0gPT0gJ1xcJyAmJiBpc0NTU0VzY2FwZShjdXJyZW50Q2hhcmFj
dGVyWzFdKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc0VxdWFsVG9DU1NJZGVudGlmaWVy
KFVDaGFyKiBjc3NTdHJpbmcsIGNvbnN0IGNoYXIqIGNvbnN0YW50U3RyaW5nKQordGVtcGxhdGUg
PHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5lIGJvb2wgaXNFcXVhbFRvQ1NT
SWRlbnRpZmllcihDaGFyYWN0ZXJUeXBlKiBjc3NTdHJpbmcsIGNvbnN0IGNoYXIqIGNvbnN0YW50
U3RyaW5nKQogewotICAgIC8vIENvbXBhcmUgYW4gVUNoYXIgbWVtb3J5IGRhdGEgd2l0aCBhIHpl
cm8gdGVybWluYXRlZCBzdHJpbmcuCisgICAgLy8gQ29tcGFyZSBhbiBjaGFyYWN0ZXIgbWVtb3J5
IGRhdGEgd2l0aCBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcuCiAgICAgZG8gewogICAgICAgICAv
LyBUaGUgaW5wdXQgbXVzdCBiZSBwYXJ0IG9mIGFuIGlkZW50aWZpZXIgaWYgY29uc3RhbnRDaGFy
IG9yIGNvbnN0U3RyaW5nCiAgICAgICAgIC8vIGNvbnRhaW5zICctJy4gT3RoZXJ3aXNlIHRvQVND
SUlMb3dlclVuY2hlY2tlZCgnXHInKSB3b3VsZCBiZSBlcXVhbCB0byAnLScuCkBAIC04NDcyLDcg
Kzg1NDUsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNFcXVhbFRvQ1NTSWRlbnRpZmllCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBVQ2hhciogY2hlY2tBbmRTa2lwRXNjYXBlKFVDaGFy
KiBjdXJyZW50Q2hhcmFjdGVyKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Citz
dGF0aWMgQ2hhcmFjdGVyVHlwZSogY2hlY2tBbmRTa2lwRXNjYXBlKENoYXJhY3RlclR5cGUqIGN1
cnJlbnRDaGFyYWN0ZXIpCiB7CiAgICAgLy8gUmV0dXJucyB3aXRoIDAsIGlmIGVzY2FwZSBjaGVj
ayBpcyBmYWlsZWQuIE90aGVyd2lzZQogICAgIC8vIGl0IHJldHVybnMgd2l0aCB0aGUgZm9sbG93
aW5nIGNoYXJhY3Rlci4KQEAgLTg0OTcsNyArODU3MSw4IEBAIHN0YXRpYyBVQ2hhciogY2hlY2tB
bmRTa2lwRXNjYXBlKFVDaGFyKiAKICAgICByZXR1cm4gY3VycmVudENoYXJhY3RlciArIDE7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgVUNoYXIqIHNraXBXaGl0ZVNwYWNlKFVDaGFyKiBjdXJyZW50Q2hh
cmFjdGVyKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5l
IENoYXJhY3RlclR5cGUqIHNraXBXaGl0ZVNwYWNlKENoYXJhY3RlclR5cGUqIGN1cnJlbnRDaGFy
YWN0ZXIpCiB7CiAgICAgd2hpbGUgKGlzSFRNTFNwYWNlKCpjdXJyZW50Q2hhcmFjdGVyKSkKICAg
ICAgICAgKytjdXJyZW50Q2hhcmFjdGVyOwpAQCAtODUwNiwxMyArODU4MSw1NiBAQCBzdGF0aWMg
aW5saW5lIFVDaGFyKiBza2lwV2hpdGVTcGFjZShVQ2hhCiAKIC8vIE1haW4gQ1NTIHRva2VuaXpl
ciBmdW5jdGlvbnMuCiAKK3RlbXBsYXRlIDw+CitMQ2hhciogQ1NTUGFyc2VyU3RyaW5nOjpjaGFy
YWN0ZXJzPExDaGFyPigpIGNvbnN0IHsgcmV0dXJuIGNoYXJhY3RlcnM4KCk7IH0KKwordGVtcGxh
dGUgPD4KK1VDaGFyKiBDU1NQYXJzZXJTdHJpbmc6OmNoYXJhY3RlcnM8VUNoYXI+KCkgY29uc3Qg
eyByZXR1cm4gY2hhcmFjdGVyczE2KCk7IH0KKwordGVtcGxhdGUgPD4KK2lubGluZSBMQ2hhciom
IENTU1BhcnNlcjo6Y3VycmVudENoYXJhY3RlcjxMQ2hhcj4oKQoreworICAgIHJldHVybiBtX2N1
cnJlbnRDaGFyYWN0ZXI4OworfQorCit0ZW1wbGF0ZSA8PgoraW5saW5lIFVDaGFyKiYgQ1NTUGFy
c2VyOjpjdXJyZW50Q2hhcmFjdGVyPFVDaGFyPigpCit7CisgICAgcmV0dXJuIG1fY3VycmVudENo
YXJhY3RlcjE2OworfQorCitVQ2hhciomCitDU1NQYXJzZXI6OmN1cnJlbnRDaGFyYWN0ZXIxNigp
Cit7CisgICAgaWYgKCFtX2N1cnJlbnRDaGFyYWN0ZXIxNikgeworICAgICAgICBtX2RhdGFTdGFy
dDE2ID0gYWRvcHRBcnJheVB0cihuZXcgVUNoYXJbbV9sZW5ndGhdKTsKKyAgICAgICAgbV9jdXJy
ZW50Q2hhcmFjdGVyMTYgPSBtX2RhdGFTdGFydDE2LmdldCgpOworICAgIH0KKworICAgIHJldHVy
biBtX2N1cnJlbnRDaGFyYWN0ZXIxNjsKK30KKwordGVtcGxhdGUgPD4KK2lubGluZSBMQ2hhciog
Q1NTUGFyc2VyOjp0b2tlblN0YXJ0PExDaGFyPigpCit7CisgICAgcmV0dXJuIG1fdG9rZW5TdGFy
dC5wdHI4OworfQorCit0ZW1wbGF0ZSA8PgoraW5saW5lIFVDaGFyKiBDU1NQYXJzZXI6OnRva2Vu
U3RhcnQ8VUNoYXI+KCkKK3sKKyAgICByZXR1cm4gbV90b2tlblN0YXJ0LnB0cjE2OworfQorCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIGlubGluZSBib29sIENTU1BhcnNlcjo6
aXNJZGVudGlmaWVyU3RhcnQoKQogewogICAgIC8vIENoZWNrIHdoZXRoZXIgYW4gaWRlbnRpZmll
ciBpcyBzdGFydGVkLgotICAgIHJldHVybiBpc0lkZW50aWZpZXJTdGFydEFmdGVyRGFzaCgoKm1f
Y3VycmVudENoYXJhY3RlciAhPSAnLScpID8gbV9jdXJyZW50Q2hhcmFjdGVyIDogbV9jdXJyZW50
Q2hhcmFjdGVyICsgMSk7CisgICAgcmV0dXJuIGlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNoKCgq
Y3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpICE9ICctJykgPyBjdXJyZW50Q2hhcmFj
dGVyPENoYXJhY3RlclR5cGU+KCkgOiBjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCkg
KyAxKTsKIH0KIAotaW5saW5lIFVDaGFyKiBDU1NQYXJzZXI6OmNoZWNrQW5kU2tpcFN0cmluZyhV
Q2hhciogY3VycmVudENoYXJhY3RlciwgVUNoYXIgcXVvdGUpCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
Q2hhcmFjdGVyVHlwZT4KK2lubGluZSBDaGFyYWN0ZXJUeXBlKiBDU1NQYXJzZXI6OmNoZWNrQW5k
U2tpcFN0cmluZyhDaGFyYWN0ZXJUeXBlKiBjdXJyZW50Q2hhcmFjdGVyLCBpbnQgcXVvdGUpCiB7
CiAgICAgLy8gUmV0dXJucyB3aXRoIDAsIGlmIHN0cmluZyBjaGVjayBpcyBmYWlsZWQuIE90aGVy
d2lzZQogICAgIC8vIGl0IHJldHVybnMgd2l0aCB0aGUgZm9sbG93aW5nIGNoYXJhY3Rlci4gVGhp
cyBpcyBuZWNlc3NhcnkKQEAgLTg1NDYsMTAxICs4NjY0LDE5NCBAQCBpbmxpbmUgVUNoYXIqIENT
U1BhcnNlcjo6Y2hlY2tBbmRTa2lwU3RyCiAgICAgfQogfQogCi12b2lkIENTU1BhcnNlcjo6cGFy
c2VFc2NhcGUoVUNoYXIqJiByZXN1bHQpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlw
ZT4KK3Vuc2lnbmVkIENTU1BhcnNlcjo6cGFyc2VFc2NhcGUoQ2hhcmFjdGVyVHlwZSomIHNyYykK
IHsKLSAgICBBU1NFUlQoKm1fY3VycmVudENoYXJhY3RlciA9PSAnXFwnICYmIGlzQ1NTRXNjYXBl
KG1fY3VycmVudENoYXJhY3RlclsxXSkpOworICAgIEFTU0VSVCgqc3JjID09ICdcXCcgJiYgaXND
U1NFc2NhcGUoc3JjWzFdKSk7CisKKyAgICB1bnNpZ25lZCB1bmljb2RlID0gMDsKKworICAgICsr
c3JjOworICAgIGlmIChpc0FTQ0lJSGV4RGlnaXQoKnNyYykpIHsKIAotICAgICsrbV9jdXJyZW50
Q2hhcmFjdGVyOwotICAgIGlmIChpc0FTQ0lJSGV4RGlnaXQoKm1fY3VycmVudENoYXJhY3Rlcikp
IHsKLSAgICAgICAgdW5zaWduZWQgdW5pY29kZSA9IDA7CiAgICAgICAgIGludCBsZW5ndGggPSA2
OwogCiAgICAgICAgIGRvIHsKLSAgICAgICAgICAgIHVuaWNvZGUgPSAodW5pY29kZSA8PCA0KSAr
IHRvQVNDSUlIZXhWYWx1ZSgqbV9jdXJyZW50Q2hhcmFjdGVyKyspOwotICAgICAgICB9IHdoaWxl
ICgtLWxlbmd0aCAmJiBpc0FTQ0lJSGV4RGlnaXQoKm1fY3VycmVudENoYXJhY3RlcikpOworICAg
ICAgICAgICAgdW5pY29kZSA9ICh1bmljb2RlIDw8IDQpICsgdG9BU0NJSUhleFZhbHVlKCpzcmMr
Kyk7CisgICAgICAgIH0gd2hpbGUgKC0tbGVuZ3RoICYmIGlzQVNDSUlIZXhEaWdpdCgqc3JjKSk7
CiAKICAgICAgICAgLy8gQ2hhcmFjdGVycyBhYm92ZSAweDEwZmZmZiBhcmUgbm90IGhhbmRsZWQu
CiAgICAgICAgIGlmICh1bmljb2RlID4gMHgxMGZmZmYpCiAgICAgICAgICAgICB1bmljb2RlID0g
MHhmZmZkOwogCiAgICAgICAgIC8vIE9wdGlvbmFsIHNwYWNlIGFmdGVyIHRoZSBlc2NhcGUgc2Vx
dWVuY2UuCi0gICAgICAgIGlmIChpc0hUTUxTcGFjZSgqbV9jdXJyZW50Q2hhcmFjdGVyKSkKLSAg
ICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICBpZiAoaXNIVE1MU3BhY2Uo
KnNyYykpCisgICAgICAgICAgICArK3NyYzsKIAotICAgICAgICAvLyBSZXBsYWNlIHVuaWNvZGUg
d2l0aCBhIHN1cnJvZ2F0ZSBwYWlycyB3aGVuIGl0IGlzIGJpZ2dlciB0aGFuIDB4ZmZmZgotICAg
ICAgICBpZiAoVTE2X0xFTkdUSCh1bmljb2RlKSA9PSAyKSB7Ci0gICAgICAgICAgICAqcmVzdWx0
KysgPSBVMTZfTEVBRCh1bmljb2RlKTsKLSAgICAgICAgICAgICpyZXN1bHQgPSBVMTZfVFJBSUwo
dW5pY29kZSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgKnJlc3VsdCA9IHVuaWNvZGU7
CisgICAgICAgIHJldHVybiB1bmljb2RlOworICAgIH0KKworICAgIHJldHVybiAqY3VycmVudENo
YXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpKys7Cit9CisKK3RlbXBsYXRlIDw+CitpbmxpbmUgdm9p
ZCBDU1NQYXJzZXI6OlVuaWNvZGVUb0NoYXJzPExDaGFyPihMQ2hhciomIHJlc3VsdCwgdW5zaWdu
ZWQgdW5pY29kZSkKK3sKKyAgICBBU1NFUlQodW5pY29kZSA8PSAweGZmKTsKKyAgICAqcmVzdWx0
ID0gdW5pY29kZTsKKworICAgICsrcmVzdWx0OworfQorCit0ZW1wbGF0ZSA8PgoraW5saW5lIHZv
aWQgQ1NTUGFyc2VyOjpVbmljb2RlVG9DaGFyczxVQ2hhcj4oVUNoYXIqJiByZXN1bHQsIHVuc2ln
bmVkIHVuaWNvZGUpCit7CisgICAgLy8gUmVwbGFjZSB1bmljb2RlIHdpdGggYSBzdXJyb2dhdGUg
cGFpcnMgd2hlbiBpdCBpcyBiaWdnZXIgdGhhbiAweGZmZmYKKyAgICBpZiAoVTE2X0xFTkdUSCh1
bmljb2RlKSA9PSAyKSB7CisgICAgICAgICpyZXN1bHQrKyA9IFUxNl9MRUFEKHVuaWNvZGUpOwor
ICAgICAgICAqcmVzdWx0ID0gVTE2X1RSQUlMKHVuaWNvZGUpOwogICAgIH0gZWxzZQotICAgICAg
ICAqcmVzdWx0ID0gKm1fY3VycmVudENoYXJhY3RlcisrOworICAgICAgICAqcmVzdWx0ID0gdW5p
Y29kZTsKKwogICAgICsrcmVzdWx0OwogfQogCi1pbmxpbmUgdm9pZCBDU1NQYXJzZXI6OnBhcnNl
SWRlbnRpZmllcihVQ2hhciomIHJlc3VsdCwgYm9vbCYgaGFzRXNjYXBlKQordGVtcGxhdGUgPHR5
cGVuYW1lIFNyY0NoYXJhY3RlclR5cGUsIHR5cGVuYW1lIERlc3RDaGFyYWN0ZXJUeXBlPgoraW5s
aW5lIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUlkZW50aWZpZXJJbnRlcm5hbChTcmNDaGFyYWN0ZXJU
eXBlKiYgc3JjLCBEZXN0Q2hhcmFjdGVyVHlwZSomIHJlc3VsdCwgYm9vbCYgaGFzRXNjYXBlKQog
ewotICAgIC8vIElmIGEgdmFsaWQgaWRlbnRpZmllciBzdGFydCBpcyBmb3VuZCwgd2UgY2FuIHNh
ZmVseQotICAgIC8vIHBhcnNlIHRoZSBpZGVudGlmaWVyIHVudGlsIHRoZSBuZXh0IGludmFsaWQg
Y2hhcmFjdGVyLgotICAgIEFTU0VSVChpc0lkZW50aWZpZXJTdGFydCgpKTsKICAgICBoYXNFc2Nh
cGUgPSBmYWxzZTsKICAgICBkbyB7Ci0gICAgICAgIGlmIChMSUtFTFkoKm1fY3VycmVudENoYXJh
Y3RlciAhPSAnXFwnKSkKLSAgICAgICAgICAgICpyZXN1bHQrKyA9ICptX2N1cnJlbnRDaGFyYWN0
ZXIrKzsKKyAgICAgICAgaWYgKExJS0VMWSgqc3JjICE9ICdcXCcpKQorICAgICAgICAgICAgKnJl
c3VsdCsrID0gKnNyYysrOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGhhc0VzY2FwZSA9
IHRydWU7Ci0gICAgICAgICAgICBwYXJzZUVzY2FwZShyZXN1bHQpOworICAgICAgICAgICAgU3Jj
Q2hhcmFjdGVyVHlwZSogc2F2ZWRFc2NhcGVTdGFydCA9IHNyYzsKKyAgICAgICAgICAgIHVuc2ln
bmVkIHVuaWNvZGUgPSBwYXJzZUVzY2FwZTxTcmNDaGFyYWN0ZXJUeXBlPihzcmMpOworICAgICAg
ICAgICAgaWYgKHVuaWNvZGUgPiAweGZmICYmIHNpemVvZihEZXN0Q2hhcmFjdGVyVHlwZSkgPT0g
MSkgeworICAgICAgICAgICAgICAgIHNyYyA9IHNhdmVkRXNjYXBlU3RhcnQ7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgVW5pY29kZVRv
Q2hhcnMocmVzdWx0LCB1bmljb2RlKTsKICAgICAgICAgfQotICAgIH0gd2hpbGUgKGlzQ1NTTGV0
dGVyKG1fY3VycmVudENoYXJhY3RlclswXSkgfHwgKG1fY3VycmVudENoYXJhY3RlclswXSA9PSAn
XFwnICYmIGlzQ1NTRXNjYXBlKG1fY3VycmVudENoYXJhY3RlclsxXSkpKTsKKyAgICB9IHdoaWxl
IChpc0NTU0xldHRlcihzcmNbMF0pIHx8IChzcmNbMF0gPT0gJ1xcJyAmJiBpc0NTU0VzY2FwZShz
cmNbMV0pKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAotaW5saW5lIHZvaWQgQ1NTUGFyc2Vy
OjpwYXJzZVN0cmluZyhVQ2hhciomIHJlc3VsdCwgVUNoYXIgcXVvdGUpCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2lubGluZSB2b2lkIENTU1BhcnNlcjo6cGFyc2VJZGVudGlm
aWVyKENoYXJhY3RlclR5cGUqJiByZXN1bHQsIENTU1BhcnNlclN0cmluZyYgcmVzdWx0U3RyaW5n
LCBib29sJiBoYXNFc2NhcGUpCit7CisgICAgLy8gSWYgYSB2YWxpZCBpZGVudGlmaWVyIHN0YXJ0
IGlzIGZvdW5kLCB3ZSBjYW4gc2FmZWx5CisgICAgLy8gcGFyc2UgdGhlIGlkZW50aWZpZXIgdW50
aWwgdGhlIG5leHQgaW52YWxpZCBjaGFyYWN0ZXIuCisgICAgQVNTRVJUKGlzSWRlbnRpZmllclN0
YXJ0PENoYXJhY3RlclR5cGU+KCkpOworCisgICAgQ2hhcmFjdGVyVHlwZSogc3RhcnQgPSBjdXJy
ZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCk7CisgICAgaWYgKFVOTElLRUxZKCFwYXJzZUlk
ZW50aWZpZXJJbnRlcm5hbChjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCksIHJlc3Vs
dCwgaGFzRXNjYXBlKSkpIHsKKyAgICAgICAgLy8gRm91bmQgYW4gZXNjYXBlIHdlIGNvdWxkbid0
IGhhbmRsZSB3aXRoIDggYml0cywgY29weSB3aGF0IGhhcyBiZWVuIHJlY29nbml6ZWQgYW5kIGNv
bnRpbnVlCisgICAgICAgIEFTU0VSVChpczhCaXRTb3VyY2UoKSk7CisgICAgICAgIFVDaGFyKiYg
cmVzdWx0MTYgPSBjdXJyZW50Q2hhcmFjdGVyMTYoKTsKKyAgICAgICAgVUNoYXIqIHN0YXJ0MTYg
PSByZXN1bHQxNjsKKyAgICAgICAgaW50IGkgPSAwOworICAgICAgICBmb3IgKDsgaSA8IHJlc3Vs
dCAtIHN0YXJ0OyBpKyspCisgICAgICAgICAgICByZXN1bHQxNltpXSA9IHN0YXJ0W2ldOworCisg
ICAgICAgIHJlc3VsdDE2ICs9IGk7CisKKyAgICAgICAgcGFyc2VJZGVudGlmaWVySW50ZXJuYWwo
Y3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpLCByZXN1bHQxNiwgaGFzRXNjYXBlKTsK
KworICAgICAgICByZXN1bHRTdHJpbmcuaW5pdChzdGFydDE2LCByZXN1bHQxNiAtIHN0YXJ0MTYp
OworCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICByZXN1bHRTdHJpbmcuaW5pdChzdGFy
dCwgcmVzdWx0IC0gc3RhcnQpOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgU3JjQ2hhcmFjdGVy
VHlwZSwgdHlwZW5hbWUgRGVzdENoYXJhY3RlclR5cGU+CitpbmxpbmUgYm9vbCBDU1NQYXJzZXI6
OnBhcnNlU3RyaW5nSW50ZXJuYWwoU3JjQ2hhcmFjdGVyVHlwZSomIHNyYywgRGVzdENoYXJhY3Rl
clR5cGUqJiByZXN1bHQsIFVDaGFyIHF1b3RlKQogewogICAgIHdoaWxlICh0cnVlKSB7Ci0gICAg
ICAgIGlmIChVTkxJS0VMWSgqbV9jdXJyZW50Q2hhcmFjdGVyID09IHF1b3RlKSkgeworICAgICAg
ICBpZiAoVU5MSUtFTFkoKnNyYyA9PSBxdW90ZSkpIHsKICAgICAgICAgICAgIC8vIFN0cmluZyBw
YXJzaW5nIGlzIGRvbmUuCi0gICAgICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKLSAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICsrc3JjOworICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKFVOTElLRUxZKCEqbV9jdXJyZW50Q2hhcmFjdGVy
KSkgeworICAgICAgICBpZiAoVU5MSUtFTFkoISpzcmMpKSB7CiAgICAgICAgICAgICAvLyBTdHJp
bmcgcGFyc2luZyBpcyBkb25lLCBidXQgZG9uJ3QgYWR2YW5jZSBwb2ludGVyIGlmIGF0IHRoZSBl
bmQgb2YgaW5wdXQuCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAgICAgfQotICAgICAgICBBU1NFUlQoKm1fY3VycmVudENoYXJhY3RlciA+ICdccicg
fHwgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPCAnXG4nICYmICptX2N1cnJlbnRDaGFyYWN0ZXIpIHx8
ICptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJ1x2Jyk7CisgICAgICAgIEFTU0VSVCgqc3JjID4gJ1xy
JyB8fCAoKnNyYyA8ICdcbicgJiYgKnNyYykgfHwgKnNyYyA9PSAnXHYnKTsKIAotICAgICAgICBp
ZiAoTElLRUxZKG1fY3VycmVudENoYXJhY3RlclswXSAhPSAnXFwnKSkKLSAgICAgICAgICAgICpy
ZXN1bHQrKyA9ICptX2N1cnJlbnRDaGFyYWN0ZXIrKzsKLSAgICAgICAgZWxzZSBpZiAobV9jdXJy
ZW50Q2hhcmFjdGVyWzFdID09ICdcbicgfHwgbV9jdXJyZW50Q2hhcmFjdGVyWzFdID09ICdcZicp
Ci0gICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgKz0gMjsKLSAgICAgICAgZWxzZSBpZiAo
bV9jdXJyZW50Q2hhcmFjdGVyWzFdID09ICdccicpCi0gICAgICAgICAgICBtX2N1cnJlbnRDaGFy
YWN0ZXIgKz0gbV9jdXJyZW50Q2hhcmFjdGVyWzJdID09ICdcbicgPyAzIDogMjsKLSAgICAgICAg
ZWxzZQotICAgICAgICAgICAgcGFyc2VFc2NhcGUocmVzdWx0KTsKKyAgICAgICAgaWYgKExJS0VM
WShzcmNbMF0gIT0gJ1xcJykpCisgICAgICAgICAgICAqcmVzdWx0KysgPSAqc3JjKys7CisgICAg
ICAgIGVsc2UgaWYgKHNyY1sxXSA9PSAnXG4nIHx8IHNyY1sxXSA9PSAnXGYnKQorICAgICAgICAg
ICAgc3JjICs9IDI7CisgICAgICAgIGVsc2UgaWYgKHNyY1sxXSA9PSAnXHInKQorICAgICAgICAg
ICAgc3JjICs9IHNyY1syXSA9PSAnXG4nID8gMyA6IDI7CisgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgU3JjQ2hhcmFjdGVyVHlwZSogc2F2ZWRFc2NhcGVTdGFydCA9IHNyYzsKKyAgICAgICAg
ICAgIHVuc2lnbmVkIHVuaWNvZGUgPSBwYXJzZUVzY2FwZTxTcmNDaGFyYWN0ZXJUeXBlPihzcmMp
OworICAgICAgICAgICAgaWYgKHVuaWNvZGUgPiAweGZmICYmIHNpemVvZihEZXN0Q2hhcmFjdGVy
VHlwZSkgPT0gMSkgeworICAgICAgICAgICAgICAgIHNyYyA9IHNhdmVkRXNjYXBlU3RhcnQ7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
VW5pY29kZVRvQ2hhcnMocmVzdWx0LCB1bmljb2RlKTsKKyAgICAgICAgfQogICAgIH0KKworICAg
IHJldHVybiB0cnVlOwogfQogCi1pbmxpbmUgdm9pZCBDU1NQYXJzZXI6OnBhcnNlVVJJKFVDaGFy
KiYgc3RhcnQsIFVDaGFyKiYgcmVzdWx0KQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5
cGU+CitpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OnBhcnNlU3RyaW5nKENoYXJhY3RlclR5cGUqJiBy
ZXN1bHQsIENTU1BhcnNlclN0cmluZyYgcmVzdWx0U3RyaW5nLCBVQ2hhciBxdW90ZSkKIHsKLSAg
ICBVQ2hhciogdXJpU3RhcnQgPSBza2lwV2hpdGVTcGFjZShtX2N1cnJlbnRDaGFyYWN0ZXIpOwor
ICAgIENoYXJhY3RlclR5cGUqIHN0YXJ0ID0gY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBl
PigpOworCisgICAgaWYgKFVOTElLRUxZKCFwYXJzZVN0cmluZ0ludGVybmFsKGN1cnJlbnRDaGFy
YWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSwgcmVzdWx0LCBxdW90ZSkpKSB7CisgICAgICAgIC8vIEZv
dW5kIGFuIGVzY2FwZSB3ZSBjb3VsZG4ndCBoYW5kbGUgd2l0aCA4IGJpdHMsIGNvcHkgd2hhdCBo
YXMgYmVlbiByZWNvZ25pemVkIGFuZCBjb250aW51ZQorICAgICAgICBBU1NFUlQoaXM4Qml0U291
cmNlKCkpOworICAgICAgICBVQ2hhciomIHJlc3VsdDE2ID0gY3VycmVudENoYXJhY3RlcjE2KCk7
CisgICAgICAgIFVDaGFyKiBzdGFydDE2ID0gcmVzdWx0MTY7CisgICAgICAgIGludCBpID0gMDsK
KyAgICAgICAgZm9yICg7IGkgPCByZXN1bHQgLSBzdGFydDsgaSsrKQorICAgICAgICAgICAgcmVz
dWx0MTZbaV0gPSBzdGFydFtpXTsKKworICAgICAgICByZXN1bHQxNiArPSBpOworCisgICAgICAg
IHBhcnNlU3RyaW5nSW50ZXJuYWwoY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpLCBy
ZXN1bHQxNiwgcXVvdGUpOworCisgICAgICAgIHJlc3VsdFN0cmluZy5pbml0KHN0YXJ0MTYsIHJl
c3VsdDE2IC0gc3RhcnQxNik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICByZXN1bHRT
dHJpbmcuaW5pdChzdGFydCwgcmVzdWx0IC0gc3RhcnQpOworfQorCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4KK2lubGluZSBib29sIENTU1BhcnNlcjo6cGFyc2VVUklJbnRlcm5h
bChDaGFyYWN0ZXJUeXBlKiYgc3RhcnQsIENoYXJhY3RlclR5cGUqJiByZXN1bHQpCit7CisgICAg
Q2hhcmFjdGVyVHlwZSogdXJpU3RhcnQgPSBza2lwV2hpdGVTcGFjZShjdXJyZW50Q2hhcmFjdGVy
PENoYXJhY3RlclR5cGU+KCkpOworICAgIENoYXJhY3RlclR5cGUqIHNhdmVkUmVzdWx0ID0gcmVz
dWx0OwogCiAgICAgaWYgKCp1cmlTdGFydCA9PSAnIicgfHwgKnVyaVN0YXJ0ID09ICdcJycpIHsK
LSAgICAgICAgVUNoYXIgcXVvdGUgPSAqdXJpU3RhcnQ7CisgICAgICAgIENoYXJhY3RlclR5cGUg
cXVvdGUgPSAqdXJpU3RhcnQ7CiAgICAgICAgICsrdXJpU3RhcnQ7CiAKLSAgICAgICAgVUNoYXIq
IHN0cmluZ0VuZCA9IGNoZWNrQW5kU2tpcFN0cmluZyh1cmlTdGFydCwgcXVvdGUpOworICAgICAg
ICBDaGFyYWN0ZXJUeXBlKiBzdHJpbmdFbmQgPSBjaGVja0FuZFNraXBTdHJpbmcodXJpU3RhcnQs
IHF1b3RlKTsKICAgICAgICAgaWYgKCFzdHJpbmdFbmQpCi0gICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgc3RyaW5nRW5kID0gc2tpcFdoaXRlU3Bh
Y2Uoc3RyaW5nRW5kKTsKICAgICAgICAgaWYgKCpzdHJpbmdFbmQgIT0gJyknKQotICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICAgICAgc3RhcnQgPSBy
ZXN1bHQgPSBtX2N1cnJlbnRDaGFyYWN0ZXIgPSB1cmlTdGFydDsKLSAgICAgICAgcGFyc2VTdHJp
bmcocmVzdWx0LCBxdW90ZSk7CisgICAgICAgIHN0YXJ0ID0gcmVzdWx0ID0gY3VycmVudENoYXJh
Y3RlcjxDaGFyYWN0ZXJUeXBlPigpID0gdXJpU3RhcnQ7CisgICAgICAgIGlmICghcGFyc2VTdHJp
bmdJbnRlcm5hbChjdXJyZW50Q2hhcmFjdGVyPENoYXJhY3RlclR5cGU+KCksIHJlc3VsdCwgcXVv
dGUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIG1fY3VycmVudENoYXJh
Y3RlciA9IHN0cmluZ0VuZCArIDE7CisgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVy
VHlwZT4oKSA9IHN0cmluZ0VuZCArIDE7CiAgICAgICAgIG1fdG9rZW4gPSBVUkk7CiAgICAgfSBl
bHNlIHsKLSAgICAgICAgVUNoYXIqIHN0cmluZ0VuZCA9IHVyaVN0YXJ0OworICAgICAgICBDaGFy
YWN0ZXJUeXBlKiBzdHJpbmdFbmQgPSB1cmlTdGFydDsKIAogICAgICAgICB3aGlsZSAoaXNVUklM
ZXR0ZXIoKnN0cmluZ0VuZCkpIHsKICAgICAgICAgICAgIGlmICgqc3RyaW5nRW5kICE9ICdcXCcp
CkBAIC04NjQ4LDk5ICs4ODU5LDEzNSBAQCBpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OnBhcnNlVVJJ
KFVDaGFyKiYgCiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICBzdHJpbmdFbmQg
PSBjaGVja0FuZFNraXBFc2NhcGUoc3RyaW5nRW5kKTsKICAgICAgICAgICAgICAgICBpZiAoIXN0
cmluZ0VuZCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCiAgICAgICAgIHN0cmlu
Z0VuZCA9IHNraXBXaGl0ZVNwYWNlKHN0cmluZ0VuZCk7CiAgICAgICAgIGlmICgqc3RyaW5nRW5k
ICE9ICcpJykKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwog
Ci0gICAgICAgIHN0YXJ0ID0gcmVzdWx0ID0gbV9jdXJyZW50Q2hhcmFjdGVyID0gdXJpU3RhcnQ7
Ci0gICAgICAgIHdoaWxlIChpc1VSSUxldHRlcigqbV9jdXJyZW50Q2hhcmFjdGVyKSkgewotICAg
ICAgICAgICAgaWYgKExJS0VMWSgqbV9jdXJyZW50Q2hhcmFjdGVyICE9ICdcXCcpKQotICAgICAg
ICAgICAgICAgICpyZXN1bHQrKyA9ICptX2N1cnJlbnRDaGFyYWN0ZXIrKzsKLSAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICBwYXJzZUVzY2FwZShyZXN1bHQpOworICAgICAgICBzdGFy
dCA9IHJlc3VsdCA9IGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSA9IHVyaVN0YXJ0
OworICAgICAgICB3aGlsZSAoaXNVUklMZXR0ZXIoKmN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVy
VHlwZT4oKSkpIHsKKyAgICAgICAgICAgIGlmIChMSUtFTFkoKmN1cnJlbnRDaGFyYWN0ZXI8Q2hh
cmFjdGVyVHlwZT4oKSAhPSAnXFwnKSkKKyAgICAgICAgICAgICAgICAqcmVzdWx0KysgPSAqY3Vy
cmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpKys7CisgICAgICAgICAgICBlbHNlIHsKKyAg
ICAgICAgICAgICAgICB1bnNpZ25lZCB1bmljb2RlID0gcGFyc2VFc2NhcGU8Q2hhcmFjdGVyVHlw
ZT4oY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigpKTsKKyAgICAgICAgICAgICAgICBp
ZiAodW5pY29kZSA+IDB4ZmYgJiYgc2l6ZW9mKENoYXJhY3RlclR5cGUpID09IDEpIHsKKyAgICAg
ICAgICAgICAgICAgICAgcmVzdWx0ID0gc2F2ZWRSZXN1bHQ7CisgICAgICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgVW5pY29k
ZVRvQ2hhcnMocmVzdWx0LCB1bmljb2RlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0g
ICAgICAgIG1fY3VycmVudENoYXJhY3RlciA9IHN0cmluZ0VuZCArIDE7CisgICAgICAgIGN1cnJl
bnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSA9IHN0cmluZ0VuZCArIDE7CiAgICAgICAgIG1f
dG9rZW4gPSBVUkk7CiAgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK2lubGluZSB2b2lk
IENTU1BhcnNlcjo6cGFyc2VVUkkoQ1NTUGFyc2VyU3RyaW5nJiBzdHJpbmcpCit7CisgICAgaWYg
KHN0cmluZy5pczhCaXQoKSkgeworICAgICAgICBMQ2hhciogdXJpU3RhcnQgPSBzdHJpbmcuY2hh
cmFjdGVyczxMQ2hhcj4oKTsKKyAgICAgICAgTENoYXIqIHJlc3VsdCA9IHVyaVN0YXJ0ICsgc3Ry
aW5nLmxlbmd0aCgpOworICAgICAgICBib29sIHBhcnNlUmVzdWx0ID0gcGFyc2VVUklJbnRlcm5h
bCh1cmlTdGFydCwgcmVzdWx0KTsKKworICAgICAgICAvLyBwYXJzZUlkZW50aWZpZXIoKSBwYXJz
ZWQgYW5kIGNyZWF0ZWQgdGhlIHN0cmluZywgdGhlcmVmb3JlIHRoZXJlIHNob3VsZG4ndCBiZSBh
bnkgdW5oYW5kbGVkIGVzY2Fwc2VzLgorICAgICAgICBBU1NFUlRfVU5VU0VEKHBhcnNlUmVzdWx0
LCBwYXJzZVJlc3VsdCk7CisKKyAgICAgICAgc3RyaW5nLmluaXQodXJpU3RhcnQsIHJlc3VsdCAt
IHVyaVN0YXJ0KTsKKworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgVUNoYXIqIHVyaVN0
YXJ0ID0gc3RyaW5nLmNoYXJhY3RlcnM8VUNoYXI+KCk7CisgICAgVUNoYXIqIHJlc3VsdCA9IHVy
aVN0YXJ0ICsgc3RyaW5nLmxlbmd0aCgpOworICAgIGJvb2wgcGFyc2VSZXN1bHQgPSBwYXJzZVVS
SUludGVybmFsKHVyaVN0YXJ0LCByZXN1bHQpOworCisgICAgQVNTRVJUX1VOVVNFRChwYXJzZVJl
c3VsdCwgcGFyc2VSZXN1bHQpOyAvLyBEaXR0bworCisgICAgc3RyaW5nLmluaXQodXJpU3RhcnQs
IHJlc3VsdCAtIHVyaVN0YXJ0KTsKIH0KIAordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5
cGU+CiBpbmxpbmUgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVW5pY29kZVJhbmdlKCkKIHsKLSAgICBV
Q2hhciogY3VycmVudENoYXJhY3RlciA9IG1fY3VycmVudENoYXJhY3RlciArIDE7CisgICAgQ2hh
cmFjdGVyVHlwZSogY2hhcmFjdGVyID0gY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigp
ICsgMTsKICAgICBpbnQgbGVuZ3RoID0gNjsKLSAgICBBU1NFUlQoKm1fY3VycmVudENoYXJhY3Rl
ciA9PSAnKycpOworICAgIEFTU0VSVCgqY3VycmVudENoYXJhY3RlcjxDaGFyYWN0ZXJUeXBlPigp
ID09ICcrJyk7CiAKLSAgICB3aGlsZSAoaXNBU0NJSUhleERpZ2l0KCpjdXJyZW50Q2hhcmFjdGVy
KSAmJiBsZW5ndGgpIHsKLSAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyOworICAgIHdoaWxlIChp
c0FTQ0lJSGV4RGlnaXQoKmNoYXJhY3RlcikgJiYgbGVuZ3RoKSB7CisgICAgICAgICsrY2hhcmFj
dGVyOwogICAgICAgICAtLWxlbmd0aDsKICAgICB9CiAKLSAgICBpZiAobGVuZ3RoICYmICpjdXJy
ZW50Q2hhcmFjdGVyID09ICc/JykgeworICAgIGlmIChsZW5ndGggJiYgKmNoYXJhY3RlciA9PSAn
PycpIHsKICAgICAgICAgLy8gQXQgbW9zdCA1IGhleCBkaWdpdCBmb2xsb3dlZCBieSBhIHF1ZXN0
aW9uIG1hcmsuCiAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjsK
KyAgICAgICAgICAgICsrY2hhcmFjdGVyOwogICAgICAgICAgICAgLS1sZW5ndGg7Ci0gICAgICAg
IH0gd2hpbGUgKCpjdXJyZW50Q2hhcmFjdGVyID09ICc/JyAmJiBsZW5ndGgpOwotICAgICAgICBt
X2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVyOworICAgICAgICB9IHdoaWxlICgq
Y2hhcmFjdGVyID09ICc/JyAmJiBsZW5ndGgpOworICAgICAgICBjdXJyZW50Q2hhcmFjdGVyPENo
YXJhY3RlclR5cGU+KCkgPSBjaGFyYWN0ZXI7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0K
IAogICAgIGlmIChsZW5ndGggPCA2KSB7CiAgICAgICAgIC8vIEF0IGxlYXN0IG9uZSBoZXggZGln
aXQuCi0gICAgICAgIGlmIChjdXJyZW50Q2hhcmFjdGVyWzBdID09ICctJyAmJiBpc0FTQ0lJSGV4
RGlnaXQoY3VycmVudENoYXJhY3RlclsxXSkpIHsKKyAgICAgICAgaWYgKGNoYXJhY3RlclswXSA9
PSAnLScgJiYgaXNBU0NJSUhleERpZ2l0KGNoYXJhY3RlclsxXSkpIHsKICAgICAgICAgICAgIC8v
IEZvbGxvd2VkIGJ5IGEgZGFzaCBhbmQgYSBoZXggZGlnaXQuCi0gICAgICAgICAgICArK2N1cnJl
bnRDaGFyYWN0ZXI7CisgICAgICAgICAgICArK2NoYXJhY3RlcjsKICAgICAgICAgICAgIGxlbmd0
aCA9IDY7CiAgICAgICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFj
dGVyOwotICAgICAgICAgICAgfSB3aGlsZSAoLS1sZW5ndGggJiYgaXNBU0NJSUhleERpZ2l0KCpj
dXJyZW50Q2hhcmFjdGVyKSk7CisgICAgICAgICAgICAgICAgKytjaGFyYWN0ZXI7CisgICAgICAg
ICAgICB9IHdoaWxlICgtLWxlbmd0aCAmJiBpc0FTQ0lJSGV4RGlnaXQoKmNoYXJhY3RlcikpOwog
ICAgICAgICB9Ci0gICAgICAgIG1fY3VycmVudENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXI7
CisgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSA9IGNoYXJhY3RlcjsK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0KIAordGVt
cGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiBib29sIENTU1BhcnNlcjo6cGFyc2VOdGhD
aGlsZCgpCiB7Ci0gICAgVUNoYXIqIGN1cnJlbnRDaGFyYWN0ZXIgPSBtX2N1cnJlbnRDaGFyYWN0
ZXI7CisgICAgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVyID0gY3VycmVudENoYXJhY3RlcjxDaGFy
YWN0ZXJUeXBlPigpOwogCi0gICAgd2hpbGUgKGlzQVNDSUlEaWdpdCgqY3VycmVudENoYXJhY3Rl
cikpCi0gICAgICAgICsrY3VycmVudENoYXJhY3RlcjsKLSAgICBpZiAoaXNBU0NJSUFscGhhQ2Fz
ZWxlc3NFcXVhbCgqY3VycmVudENoYXJhY3RlciwgJ24nKSkgewotICAgICAgICBtX2N1cnJlbnRD
aGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVyICsgMTsKKyAgICB3aGlsZSAoaXNBU0NJSURpZ2l0
KCpjaGFyYWN0ZXIpKQorICAgICAgICArK2NoYXJhY3RlcjsKKyAgICBpZiAoaXNBU0NJSUFscGhh
Q2FzZWxlc3NFcXVhbCgqY2hhcmFjdGVyLCAnbicpKSB7CisgICAgICAgIGN1cnJlbnRDaGFyYWN0
ZXI8Q2hhcmFjdGVyVHlwZT4oKSA9IGNoYXJhY3RlciArIDE7CiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFy
YWN0ZXJUeXBlPgogYm9vbCBDU1NQYXJzZXI6OnBhcnNlTnRoQ2hpbGRFeHRyYSgpCiB7Ci0gICAg
VUNoYXIqIGN1cnJlbnRDaGFyYWN0ZXIgPSBza2lwV2hpdGVTcGFjZShtX2N1cnJlbnRDaGFyYWN0
ZXIpOwotICAgIGlmICgqY3VycmVudENoYXJhY3RlciAhPSAnKycgJiYgKmN1cnJlbnRDaGFyYWN0
ZXIgIT0gJy0nKQorICAgIENoYXJhY3RlclR5cGUqIGNoYXJhY3RlciA9IHNraXBXaGl0ZVNwYWNl
KGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSk7CisgICAgaWYgKCpjaGFyYWN0ZXIg
IT0gJysnICYmICpjaGFyYWN0ZXIgIT0gJy0nKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICBjdXJyZW50Q2hhcmFjdGVyID0gc2tpcFdoaXRlU3BhY2UoY3VycmVudENoYXJhY3RlciArIDEp
OwotICAgIGlmICghaXNBU0NJSURpZ2l0KCpjdXJyZW50Q2hhcmFjdGVyKSkKKyAgICBjaGFyYWN0
ZXIgPSBza2lwV2hpdGVTcGFjZShjaGFyYWN0ZXIgKyAxKTsKKyAgICBpZiAoIWlzQVNDSUlEaWdp
dCgqY2hhcmFjdGVyKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgZG8gewotICAgICAg
ICArK2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgfSB3aGlsZSAoaXNBU0NJSURpZ2l0KCpjdXJyZW50
Q2hhcmFjdGVyKSk7CisgICAgICAgICsrY2hhcmFjdGVyOworICAgIH0gd2hpbGUgKGlzQVNDSUlE
aWdpdCgqY2hhcmFjdGVyKSk7CiAKLSAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJyZW50Q2hh
cmFjdGVyOworICAgIGN1cnJlbnRDaGFyYWN0ZXI8Q2hhcmFjdGVyVHlwZT4oKSA9IGNoYXJhY3Rl
cjsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5
cGU+CiBpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OmRldGVjdEZ1bmN0aW9uVHlwZVRva2VuKGludCBs
ZW5ndGgpCiB7CiAgICAgQVNTRVJUKGxlbmd0aCA+IDApOwotICAgIFVDaGFyKiBuYW1lID0gbV90
b2tlblN0YXJ0OworICAgIENoYXJhY3RlclR5cGUqIG5hbWUgPSB0b2tlblN0YXJ0PENoYXJhY3Rl
clR5cGU+KCk7CiAKICAgICBzd2l0Y2ggKGxlbmd0aCkgewogICAgIGNhc2UgMzoKQEAgLTg3NzIs
MTAgKzkwMTksMTEgQEAgaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRlY3RGdW5jdGlvblR5cAog
ICAgIH0KIH0KIAordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiBpbmxpbmUgdm9p
ZCBDU1NQYXJzZXI6OmRldGVjdE1lZGlhUXVlcnlUb2tlbihpbnQgbGVuZ3RoKQogewogICAgIEFT
U0VSVChtX3BhcnNpbmdNb2RlID09IE1lZGlhUXVlcnlNb2RlKTsKLSAgICBVQ2hhciogbmFtZSA9
IG1fdG9rZW5TdGFydDsKKyAgICBDaGFyYWN0ZXJUeXBlKiBuYW1lID0gdG9rZW5TdGFydDxDaGFy
YWN0ZXJUeXBlPigpOwogCiAgICAgaWYgKGxlbmd0aCA9PSAzKSB7CiAgICAgICAgIGlmIChpc0FT
Q0lJQWxwaGFDYXNlbGVzc0VxdWFsKG5hbWVbMF0sICdhJykgJiYgaXNBU0NJSUFscGhhQ2FzZWxl
c3NFcXVhbChuYW1lWzFdLCAnbicpICYmIGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwobmFtZVsy
XSwgJ2QnKSkKQEAgLTg3ODksNyArOTAzNyw4IEBAIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0
ZWN0TWVkaWFRdWVyeVQKICAgICB9CiB9CiAKLWlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0
TnVtYmVyVG9rZW4oVUNoYXIqIHR5cGUsIGludCBsZW5ndGgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
Q2hhcmFjdGVyVHlwZT4KK2lubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0TnVtYmVyVG9rZW4o
Q2hhcmFjdGVyVHlwZSogdHlwZSwgaW50IGxlbmd0aCkKIHsKICAgICBBU1NFUlQobGVuZ3RoID4g
MCk7CiAKQEAgLTg5MDYsOSArOTE1NSwxMCBAQCBpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OmRldGVj
dE51bWJlclRva2VuCiAgICAgfQogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlw
ZT4KIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0RGFzaFRva2VuKGludCBsZW5ndGgpCiB7
Ci0gICAgVUNoYXIqIG5hbWUgPSBtX3Rva2VuU3RhcnQ7CisgICAgQ2hhcmFjdGVyVHlwZSogbmFt
ZSA9IHRva2VuU3RhcnQ8Q2hhcmFjdGVyVHlwZT4oKTsKIAogICAgIGlmIChsZW5ndGggPT0gMTEp
IHsKICAgICAgICAgaWYgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwobmFtZVsxMF0sICd5Jykg
JiYgaXNFcXVhbFRvQ1NTSWRlbnRpZmllcihuYW1lICsgMSwgIndlYmtpdC1hbiIpKQpAQCAtODky
NSw5ICs5MTc1LDEwIEBAIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0RGFzaFRva2VuKGkK
ICAgICAgICAgbV90b2tlbiA9IENBTENGVU5DVElPTjsKIH0KIAordGVtcGxhdGUgPHR5cGVuYW1l
IENoYXJhY3RlclR5cGU+CiBpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OmRldGVjdEF0VG9rZW4oaW50
IGxlbmd0aCwgYm9vbCBoYXNFc2NhcGUpCiB7Ci0gICAgVUNoYXIqIG5hbWUgPSBtX3Rva2VuU3Rh
cnQ7CisgICAgQ2hhcmFjdGVyVHlwZSogbmFtZSA9IHRva2VuU3RhcnQ8Q2hhcmFjdGVyVHlwZT4o
KTsKICAgICBBU1NFUlQobmFtZVswXSA9PSAnQCcgJiYgbGVuZ3RoID49IDIpOwogCiAgICAgLy8g
Y2hhcnNldCwgZm9udC1mYWNlLCBpbXBvcnQsIG1lZGlhLCBuYW1lc3BhY2UsIHBhZ2UsCkBAIC05
MTEzLDgxICs5MzY0LDc3IEBAIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0QXRUb2tlbihp
bnQKICAgICB9CiB9CiAKLWludCBDU1NQYXJzZXI6OmxleCh2b2lkKiB5eWx2YWxXaXRob3V0VHlw
ZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBTcmNDaGFyYWN0ZXJUeXBlPgoraW50IENTU1BhcnNlcjo6
cmVhbExleCh2b2lkKiB5eWx2YWxXaXRob3V0VHlwZSkKIHsKICAgICBZWVNUWVBFKiB5eWx2YWwg
PSBzdGF0aWNfY2FzdDxZWVNUWVBFKj4oeXlsdmFsV2l0aG91dFR5cGUpOwogICAgIC8vIFdyaXRl
IHBvaW50ZXIgZm9yIHRoZSBuZXh0IGNoYXJhY3Rlci4KLSAgICBVQ2hhciogcmVzdWx0OworICAg
IFNyY0NoYXJhY3RlclR5cGUqIHJlc3VsdDsKKyAgICBDU1NQYXJzZXJTdHJpbmcgcmVzdWx0U3Ry
aW5nOwogICAgIGJvb2wgaGFzRXNjYXBlOwogCiAgICAgLy8gVGhlIGlucHV0IGJ1ZmZlciBpcyB0
ZXJtaW5hdGVkIGJ5IGEgXDAgY2hhcmFjdGVyLCBzbwogICAgIC8vIGl0IGlzIHNhZmUgdG8gcmVh
ZCBvbmUgY2hhcmFjdGVyIGFoZWFkIG9mIGEga25vd24gbm9uLW51bGwuCi0KICNpZm5kZWYgTkRF
QlVHCiAgICAgLy8gSW4gZGVidWcgd2UgY2hlY2sgd2l0aCBhbiBBU1NFUlQgdGhhdCB0aGUgbGVu
Z3RoIGlzID4gMCBmb3Igc3RyaW5nIHR5cGVzLgotICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3Rl
cnMgPSAwOwotICAgIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IDA7CisgICAgeXlsdmFsLT5zdHJp
bmcuY2xlYXIoKTsKICNlbmRpZgogCiByZXN0YXJ0QWZ0ZXJDb21tZW50OgotICAgIG1fdG9rZW5T
dGFydCA9IHJlc3VsdCA9IG1fY3VycmVudENoYXJhY3RlcjsKLSAgICBtX3Rva2VuID0gKm1fY3Vy
cmVudENoYXJhY3RlcjsKLSAgICArK21fY3VycmVudENoYXJhY3RlcjsKKyAgICByZXN1bHQgPSBj
dXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CisgICAgc2V0VG9rZW5TdGFydChy
ZXN1bHQpOworICAgIG1fdG9rZW4gPSAqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBl
PigpOworICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogCiAgICAg
c3dpdGNoICgobV90b2tlbiA8PSAxMjcpID8gdHlwZXNPZkFTQ0lJQ2hhcmFjdGVyc1ttX3Rva2Vu
XSA6IENoYXJhY3RlcklkZW50aWZpZXJTdGFydCkgewogICAgIGNhc2UgQ2hhcmFjdGVyQ2FzZWxl
c3NVOgotICAgICAgICBpZiAoVU5MSUtFTFkoKm1fY3VycmVudENoYXJhY3RlciA9PSAnKycpKQot
ICAgICAgICAgICAgaWYgKHBhcnNlVW5pY29kZVJhbmdlKCkpIHsKKyAgICAgICAgaWYgKFVOTElL
RUxZKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJysnKSkKKyAgICAg
ICAgICAgIGlmIChwYXJzZVVuaWNvZGVSYW5nZTxTcmNDaGFyYWN0ZXJUeXBlPigpKSB7CiAgICAg
ICAgICAgICAgICAgbV90b2tlbiA9IFVOSUNPREVSQU5HRTsKLSAgICAgICAgICAgICAgICB5eWx2
YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0OwotICAgICAgICAgICAgICAgIHl5
bHZhbC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydDsK
KyAgICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5pbml0KHRva2VuU3RhcnQ8U3JjQ2hhcmFj
dGVyVHlwZT4oKSwgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5T
dGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgIH0KICAgICAgICAgLy8gRmFsbCB0aHJvdWdoIHRvIENoYXJhY3RlcklkZW50aWZpZXJT
dGFydC4KIAogICAgIGNhc2UgQ2hhcmFjdGVySWRlbnRpZmllclN0YXJ0OgotICAgICAgICAtLW1f
Y3VycmVudENoYXJhY3RlcjsKLSAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgaGFzRXNj
YXBlKTsKKyAgICAgICAgLS1jdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7Cisg
ICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIHl5bHZhbC0+c3RyaW5nLCBoYXNFc2NhcGUp
OwogICAgICAgICBtX3Rva2VuID0gSURFTlQ7CiAKLSAgICAgICAgeXlsdmFsLT5zdHJpbmcuY2hh
cmFjdGVycyA9IG1fdG9rZW5TdGFydDsKLSAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0g
cmVzdWx0IC0gbV90b2tlblN0YXJ0OwotCi0gICAgICAgIGlmIChVTkxJS0VMWSgqbV9jdXJyZW50
Q2hhcmFjdGVyID09ICcoJykpIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKCpjdXJyZW50Q2hhcmFj
dGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJygnKSkgewogICAgICAgICAgICAgbV90b2tlbiA9
IEZVTkNUSU9OOwogICAgICAgICAgICAgaWYgKCFoYXNFc2NhcGUpCi0gICAgICAgICAgICAgICAg
ZGV0ZWN0RnVuY3Rpb25UeXBlVG9rZW4ocmVzdWx0IC0gbV90b2tlblN0YXJ0KTsKLSAgICAgICAg
ICAgICsrbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgICAgIGRldGVjdEZ1bmN0aW9u
VHlwZVRva2VuPFNyY0NoYXJhY3RlclR5cGU+KHJlc3VsdCAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFj
dGVyVHlwZT4oKSk7CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVy
VHlwZT4oKTsKICAgICAgICAgICAgICsrcmVzdWx0OwotICAgICAgICAgICAgKyt5eWx2YWwtPnN0
cmluZy5sZW5ndGg7CisgICAgICAgICAgICArK3l5bHZhbC0+c3RyaW5nLm1fbGVuZ3RoOwogCiAg
ICAgICAgICAgICBpZiAodG9rZW4oKSA9PSBVUkkpIHsKICAgICAgICAgICAgICAgICBtX3Rva2Vu
ID0gRlVOQ1RJT047CiAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgd2hldGhlciBpdCBpcyByZWFs
bHkgYW4gVVJJLgotICAgICAgICAgICAgICAgIHBhcnNlVVJJKHl5bHZhbC0+c3RyaW5nLmNoYXJh
Y3RlcnMsIHJlc3VsdCk7Ci0gICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0g
cmVzdWx0IC0geXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVyczsKKyAgICAgICAgICAgICAgICBwYXJz
ZVVSSSh5eWx2YWwtPnN0cmluZyk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAo
VU5MSUtFTFkobV9wYXJzaW5nTW9kZSAhPSBOb3JtYWxNb2RlKSAmJiAhaGFzRXNjYXBlKSB7CiAg
ICAgICAgICAgICBpZiAobV9wYXJzaW5nTW9kZSA9PSBNZWRpYVF1ZXJ5TW9kZSkKLSAgICAgICAg
ICAgICAgICBkZXRlY3RNZWRpYVF1ZXJ5VG9rZW4ocmVzdWx0IC0gbV90b2tlblN0YXJ0KTsKLSAg
ICAgICAgICAgIGVsc2UgaWYgKG1fcGFyc2luZ01vZGUgPT0gTnRoQ2hpbGRNb2RlICYmIGlzQVND
SUlBbHBoYUNhc2VsZXNzRXF1YWwobV90b2tlblN0YXJ0WzBdLCAnbicpKSB7Ci0gICAgICAgICAg
ICAgICAgaWYgKHJlc3VsdCAtIG1fdG9rZW5TdGFydCA9PSAxKSB7CisgICAgICAgICAgICAgICAg
ZGV0ZWN0TWVkaWFRdWVyeVRva2VuPFNyY0NoYXJhY3RlclR5cGU+KHJlc3VsdCAtIHRva2VuU3Rh
cnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSk7CisgICAgICAgICAgICBlbHNlIGlmIChtX3BhcnNpbmdN
b2RlID09IE50aENoaWxkTW9kZSAmJiBpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKHRva2VuU3Rh
cnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKVswXSwgJ24nKSkgeworICAgICAgICAgICAgICAgIGlmIChy
ZXN1bHQgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gMSkgewogICAgICAgICAg
ICAgICAgICAgICAvLyBTdHJpbmcgIm4iIGlzIElERU5UIGJ1dCAibisxIiBpcyBOVEguCi0gICAg
ICAgICAgICAgICAgICAgIGlmIChwYXJzZU50aENoaWxkRXh0cmEoKSkgeworICAgICAgICAgICAg
ICAgICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJhPFNyY0NoYXJhY3RlclR5cGU+KCkpIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBOVEg7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB5eWx2YWwtPnN0cmluZy5sZW5ndGggPSBtX2N1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2Vu
U3RhcnQ7CisgICAgICAgICAgICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5tX2xlbmd0aCA9
IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtIHRva2VuU3RhcnQ8U3JjQ2hh
cmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0g
ZWxzZSBpZiAocmVzdWx0IC0gbV90b2tlblN0YXJ0ID49IDIgJiYgbV90b2tlblN0YXJ0WzFdID09
ICctJykgeworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0IC0gdG9rZW5TdGFydDxT
cmNDaGFyYWN0ZXJUeXBlPigpID49IDIgJiYgdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigp
WzFdID09ICctJykgewogICAgICAgICAgICAgICAgICAgICAvLyBTdHJpbmcgIm4tIiBpcyBJREVO
VCBidXQgIm4tMSIgaXMgTlRILgotICAgICAgICAgICAgICAgICAgICAvLyBTZXQgbV9jdXJyZW50
Q2hhcmFjdGVyIHRvICctJyB0byBjb250aW51ZSBwYXJzaW5nLgotICAgICAgICAgICAgICAgICAg
ICBVQ2hhciogbmV4dENoYXJhY3RlciA9IHJlc3VsdDsKLSAgICAgICAgICAgICAgICAgICAgbV9j
dXJyZW50Q2hhcmFjdGVyID0gbV90b2tlblN0YXJ0ICsgMTsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKHBhcnNlTnRoQ2hpbGRFeHRyYSgpKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIFNldCBj
dXJyZW50Q2hhcmFjdGVyIHRvICctJyB0byBjb250aW51ZSBwYXJzaW5nLgorICAgICAgICAgICAg
ICAgICAgICBTcmNDaGFyYWN0ZXJUeXBlKiBuZXh0Q2hhcmFjdGVyID0gcmVzdWx0OworICAgICAg
ICAgICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPSB0b2tl
blN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkgKyAxOworICAgICAgICAgICAgICAgICAgICBpZiAo
cGFyc2VOdGhDaGlsZEV4dHJhPFNyY0NoYXJhY3RlclR5cGU+KCkpIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIG1fdG9rZW4gPSBOVEg7Ci0gICAgICAgICAgICAgICAgICAgICAgICB5eWx2YWwt
PnN0cmluZy5sZW5ndGggPSBtX2N1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQ7CisgICAg
ICAgICAgICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5zZXRMZW5ndGgoY3VycmVudENoYXJh
Y3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigp
KTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IC8vIFJldmVydCB0aGUgY2hhbmdlIHRvIG1fY3VycmVudENoYXJhY3RlciBpZiB1bnN1Y2Nlc3Nm
dWwuCi0gICAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBuZXh0Q2hh
cmFjdGVyOworICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV2ZXJ0IHRoZSBjaGFuZ2UgdG8g
Y3VycmVudENoYXJhY3RlciBpZiB1bnN1Y2Nlc3NmdWwuCisgICAgICAgICAgICAgICAgICAgICAg
ICBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPSBuZXh0Q2hhcmFjdGVyOwog
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpA
QCAtOTE5NSw3ICs5NDQyLDcgQEAgcmVzdGFydEFmdGVyQ29tbWVudDoKICAgICAgICAgYnJlYWs7
CiAKICAgICBjYXNlIENoYXJhY3RlckRvdDoKLSAgICAgICAgaWYgKCFpc0FTQ0lJRGlnaXQobV9j
dXJyZW50Q2hhcmFjdGVyWzBdKSkKKyAgICAgICAgaWYgKCFpc0FTQ0lJRGlnaXQoY3VycmVudENo
YXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpWzBdKSkKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAvLyBGYWxsIHRocm91Z2ggdG8gQ2hhcmFjdGVyTnVtYmVyLgogCkBAIC05MjAzLDIzICs5
NDUwLDIyIEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6CiAgICAgICAgIGJvb2wgZG90U2VlbiA9ICht
X3Rva2VuID09ICcuJyk7CiAKICAgICAgICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgICAgIGlm
ICghaXNBU0NJSURpZ2l0KG1fY3VycmVudENoYXJhY3RlclswXSkpIHsKKyAgICAgICAgICAgIGlm
ICghaXNBU0NJSURpZ2l0KGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKVswXSkp
IHsKICAgICAgICAgICAgICAgICAvLyBPbmx5IG9uZSBkb3QgaXMgYWxsb3dlZCBmb3IgYSBudW1i
ZXIsCiAgICAgICAgICAgICAgICAgLy8gYW5kIGl0IG11c3QgYmUgZm9sbG93ZWQgYnkgYSBkaWdp
dC4KLSAgICAgICAgICAgICAgICBpZiAobV9jdXJyZW50Q2hhcmFjdGVyWzBdICE9ICcuJyB8fCBk
b3RTZWVuIHx8ICFpc0FTQ0lJRGlnaXQobV9jdXJyZW50Q2hhcmFjdGVyWzFdKSkKKyAgICAgICAg
ICAgICAgICBpZiAoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpWzBdICE9ICcu
JyB8fCBkb3RTZWVuIHx8ICFpc0FTQ0lJRGlnaXQoY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpWzFdKSkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAg
ICAgZG90U2VlbiA9IHRydWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICArK21fY3VycmVu
dENoYXJhY3RlcjsKKyAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJU
eXBlPigpOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKFVOTElLRUxZKG1fcGFyc2luZ01vZGUg
PT0gTnRoQ2hpbGRNb2RlKSAmJiAhZG90U2VlbiAmJiBpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFs
KCptX2N1cnJlbnRDaGFyYWN0ZXIsICduJykpIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKG1fcGFy
c2luZ01vZGUgPT0gTnRoQ2hpbGRNb2RlKSAmJiAhZG90U2VlbiAmJiBpc0FTQ0lJQWxwaGFDYXNl
bGVzc0VxdWFsKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCksICduJykpIHsK
ICAgICAgICAgICAgIC8vICJbMC05XStuIiBpcyBhbHdheXMgYW4gTnRoQ2hpbGQuCi0gICAgICAg
ICAgICArK21fY3VycmVudENoYXJhY3RlcjsKLSAgICAgICAgICAgIHBhcnNlTnRoQ2hpbGRFeHRy
YSgpOworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7
CisgICAgICAgICAgICBwYXJzZU50aENoaWxkRXh0cmE8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAg
ICAgICAgICAgIG1fdG9rZW4gPSBOVEg7Ci0gICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5jaGFy
YWN0ZXJzID0gbV90b2tlblN0YXJ0OwotICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3Ro
ID0gbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0OworICAgICAgICAgICAgeXlsdmFs
LT5zdHJpbmcuaW5pdCh0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCksIGN1cnJlbnRDaGFy
YWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4o
KSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCkBAIC05MjI3LDUyICs5NDczLDUx
IEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6CiAgICAgICAgIC8vIFVzZSBTVkcgcGFyc2VyIGZvciBu
dW1iZXJzIG9uIFNWRyBwcmVzZW50YXRpb24gYXR0cmlidXRlcy4KICAgICAgICAgaWYgKG1fY29u
dGV4dC5tb2RlID09IFNWR0F0dHJpYnV0ZU1vZGUpIHsKICAgICAgICAgICAgIC8vIFdlIG5lZWQg
dG8gdGFrZSBjYXJlIG9mIHVuaXRzIGxpa2UgJ2VtJyBvciAnZXgnLgotICAgICAgICAgICAgVUNo
YXIqIGN1cnJlbnRDaGFyYWN0ZXIgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAgICBp
ZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbCgqY3VycmVudENoYXJhY3RlciwgJ2UnKSkgewot
ICAgICAgICAgICAgICAgIEFTU0VSVChjdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0ID4g
MCk7Ci0gICAgICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyOwotICAgICAgICAgICAgICAg
IGlmICgqY3VycmVudENoYXJhY3RlciA9PSAnLScgfHwgKmN1cnJlbnRDaGFyYWN0ZXIgPT0gJysn
IHx8IGlzQVNDSUlEaWdpdCgqY3VycmVudENoYXJhY3RlcikpIHsKLSAgICAgICAgICAgICAgICAg
ICAgKytjdXJyZW50Q2hhcmFjdGVyOwotICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXNBU0NJ
SURpZ2l0KCpjdXJyZW50Q2hhcmFjdGVyKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICsrY3Vy
cmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgIFNyY0NoYXJhY3RlclR5cGUqIGNoYXJhY3RlciA9
IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKKyAgICAgICAgICAgIGlmIChp
c0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKCpjaGFyYWN0ZXIsICdlJykpIHsKKyAgICAgICAgICAg
ICAgICBBU1NFUlQoY2hhcmFjdGVyIC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpID4g
MCk7CisgICAgICAgICAgICAgICAgKytjaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgaWYgKCpj
aGFyYWN0ZXIgPT0gJy0nIHx8ICpjaGFyYWN0ZXIgPT0gJysnIHx8IGlzQVNDSUlEaWdpdCgqY2hh
cmFjdGVyKSkgeworICAgICAgICAgICAgICAgICAgICArK2NoYXJhY3RlcjsKKyAgICAgICAgICAg
ICAgICAgICAgd2hpbGUgKGlzQVNDSUlEaWdpdCgqY2hhcmFjdGVyKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICsrY2hhcmFjdGVyOwogICAgICAgICAgICAgICAgICAgICAvLyBVc2UgRkxPQVRU
T0tFTiBpZiB0aGUgc3RyaW5nIGNvbnRhaW5zIGV4cG9uZW50cy4KICAgICAgICAgICAgICAgICAg
ICAgZG90U2VlbiA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3Rl
ciA9IGN1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0
ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9IGNoYXJhY3RlcjsKICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoIXBhcnNlU1ZHTnVtYmVyKG1fdG9rZW5TdGFy
dCwgY3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydCwgeXlsdmFsLT5udW1iZXIpKQorICAg
ICAgICAgICAgaWYgKCFwYXJzZVNWR051bWJlcih0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+
KCksIGNoYXJhY3RlciAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSwgeXlsdmFsLT5u
dW1iZXIpKQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9IGVsc2UKICNlbmRpZgot
ICAgICAgICAgICAgeXlsdmFsLT5udW1iZXIgPSBjaGFyYWN0ZXJzVG9Eb3VibGUobV90b2tlblN0
YXJ0LCBtX2N1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQpOworICAgICAgICAgICAgeXls
dmFsLT5udW1iZXIgPSBjaGFyYWN0ZXJzVG9Eb3VibGUodG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJU
eXBlPigpLCBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgLSB0b2tlblN0YXJ0
PFNyY0NoYXJhY3RlclR5cGU+KCkpOwogIAogICAgICAgICAvLyBUeXBlIG9mIHRoZSBmdW5jdGlv
bi4KLSAgICAgICAgaWYgKGlzSWRlbnRpZmllclN0YXJ0KCkpIHsKLSAgICAgICAgICAgIFVDaGFy
KiB0eXBlID0gbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgICAgICAgICAgcmVzdWx0ID0gbV9jdXJy
ZW50Q2hhcmFjdGVyOworICAgICAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnQ8U3JjQ2hhcmFjdGVy
VHlwZT4oKSkgeworICAgICAgICAgICAgU3JjQ2hhcmFjdGVyVHlwZSogdHlwZSA9IGN1cnJlbnRD
aGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IGN1cnJl
bnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKIAotICAgICAgICAgICAgcGFyc2VJZGVu
dGlmaWVyKHJlc3VsdCwgaGFzRXNjYXBlKTsKLSAgICAgICAgICAgIGlmICgqbV9jdXJyZW50Q2hh
cmFjdGVyID09ICcrJykgeworICAgICAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgcmVz
dWx0U3RyaW5nLCBoYXNFc2NhcGUpOworICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVy
PFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJysnKSB7CiAgICAgICAgICAgICAgICAgLy8gQW55IGlk
ZW50aWZpZXIgZm9sbG93ZWQgYnkgYSAnKycgc2lnbiBpcyBhbiBpbnZhbGlkIGRpbWVuc2lvbi4K
LSAgICAgICAgICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgICAgICAr
K2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAgICAgICAgICAgICAgICBt
X3Rva2VuID0gSU5WQUxJRERJTUVOOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
ICAgICBtX3Rva2VuID0gRElNRU47CiAgICAgICAgICAgICAgICAgaWYgKCFoYXNFc2NhcGUpCi0g
ICAgICAgICAgICAgICAgICAgIGRldGVjdE51bWJlclRva2VuKHR5cGUsIG1fY3VycmVudENoYXJh
Y3RlciAtIHR5cGUpOworICAgICAgICAgICAgICAgICAgICBkZXRlY3ROdW1iZXJUb2tlbih0eXBl
LCBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgLSB0eXBlKTsKIAogICAgICAg
ICAgICAgICAgIGlmIChtX3Rva2VuID09IERJTUVOKSB7CiAgICAgICAgICAgICAgICAgICAgIC8v
IFRoZSBkZWNvZGVkIG51bWJlciBpcyBvdmVyd3JpdHRlbiwgYnV0IHRoaXMgaXMgaW50ZW50aW9u
YWwuCi0gICAgICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBtX3Rv
a2VuU3RhcnQ7Ci0gICAgICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IG1f
Y3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydDsKKyAgICAgICAgICAgICAgICAgICAgeXls
dmFsLT5zdHJpbmcuaW5pdCh0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCksIGN1cnJlbnRD
aGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlw
ZT4oKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2Ug
aWYgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJyUnKSB7CisgICAgICAgIH0gZWxzZSBpZiAoKmN1
cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAnJScpIHsKICAgICAgICAgICAg
IC8vIEFsdGhvdWdoIHRoZSBDU1MgZ3JhbW1hciBzYXlzIHtudW19JSB3ZSBmb2xsb3cKICAgICAg
ICAgICAgIC8vIHdlYmtpdCBhdCB0aGUgbW9tZW50IHdoaWNoIHVzZXMge251bX0lKy4KICAgICAg
ICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKLSAgICAg
ICAgICAgIH0gd2hpbGUgKCptX2N1cnJlbnRDaGFyYWN0ZXIgPT0gJyUnKTsKKyAgICAgICAgICAg
ICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKKyAgICAgICAgICAg
IH0gd2hpbGUgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJyUnKTsK
ICAgICAgICAgICAgIG1fdG9rZW4gPSBQRVJDRU5UQUdFOwogICAgICAgICB9IGVsc2UKICAgICAg
ICAgICAgIG1fdG9rZW4gPSBkb3RTZWVuID8gRkxPQVRUT0tFTiA6IElOVEVHRVI7CkBAIC05Mjgw
LDU1ICs5NTI1LDU0IEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6CiAgICAgfQogCiAgICAgY2FzZSBD
aGFyYWN0ZXJEYXNoOgotICAgICAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnRBZnRlckRhc2gobV9j
dXJyZW50Q2hhcmFjdGVyKSkgewotICAgICAgICAgICAgLS1tX2N1cnJlbnRDaGFyYWN0ZXI7Ci0g
ICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCBoYXNFc2NhcGUpOworICAgICAgICBp
ZiAoaXNJZGVudGlmaWVyU3RhcnRBZnRlckRhc2goY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0
ZXJUeXBlPigpKSkgeworICAgICAgICAgICAgLS1jdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3Rl
clR5cGU+KCk7CisgICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCByZXN1bHRTdHJp
bmcsIGhhc0VzY2FwZSk7CiAgICAgICAgICAgICBtX3Rva2VuID0gSURFTlQ7CiAKICNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAgICAgIGlmIChjc3NWYXJpYWJsZXNFbmFibGVkKCkg
JiYgaXNFcXVhbFRvQ1NTSWRlbnRpZmllcihtX3Rva2VuU3RhcnQgKyAxLCAid2Via2l0LXZhciIp
ICYmIG1fdG9rZW5TdGFydFsxMV0gPT0gJy0nICYmIGlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNo
KG1fdG9rZW5TdGFydCArIDEyKSkKKyAgICAgICAgICAgIGlmIChjc3NWYXJpYWJsZXNFbmFibGVk
KCkgJiYgaXNFcXVhbFRvQ1NTSWRlbnRpZmllcih0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+
KCkgKyAxLCAid2Via2l0LXZhciIpICYmIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKVsx
MV0gPT0gJy0nICYmIGlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNoKHRva2VuU3RhcnQ8U3JjQ2hh
cmFjdGVyVHlwZT4oKSArIDEyKSkKICAgICAgICAgICAgICAgICBtX3Rva2VuID0gVkFSX0RFRklO
SVRJT047CiAgICAgICAgICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgICAgIGlmICgqbV9jdXJy
ZW50Q2hhcmFjdGVyID09ICcoJykgeworICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVy
PFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJygnKSB7CiAgICAgICAgICAgICAgICAgbV90b2tlbiA9
IEZVTkNUSU9OOwogICAgICAgICAgICAgICAgIGlmICghaGFzRXNjYXBlKQotICAgICAgICAgICAg
ICAgICAgICBkZXRlY3REYXNoVG9rZW4ocmVzdWx0IC0gbV90b2tlblN0YXJ0KTsKLSAgICAgICAg
ICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgICAgICAgICAgZGV0ZWN0
RGFzaFRva2VuPFNyY0NoYXJhY3RlclR5cGU+KHJlc3VsdCAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFj
dGVyVHlwZT4oKSk7CisgICAgICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJh
Y3RlclR5cGU+KCk7CiAgICAgICAgICAgICAgICAgKytyZXN1bHQ7Ci0gICAgICAgICAgICB9IGVs
c2UgaWYgKFVOTElLRUxZKG1fcGFyc2luZ01vZGUgPT0gTnRoQ2hpbGRNb2RlKSAmJiAhaGFzRXNj
YXBlICYmIGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwobV90b2tlblN0YXJ0WzFdLCAnbicpKSB7
Ci0gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAtIG1fdG9rZW5TdGFydCA9PSAyKSB7CisgICAg
ICAgICAgICB9IGVsc2UgaWYgKFVOTElLRUxZKG1fcGFyc2luZ01vZGUgPT0gTnRoQ2hpbGRNb2Rl
KSAmJiAhaGFzRXNjYXBlICYmIGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwodG9rZW5TdGFydDxT
cmNDaGFyYWN0ZXJUeXBlPigpWzFdLCAnbicpKSB7CisgICAgICAgICAgICAgICAgaWYgKHJlc3Vs
dCAtIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAyKSB7CiAgICAgICAgICAgICAg
ICAgICAgIC8vIFN0cmluZyAiLW4iIGlzIElERU5UIGJ1dCAiLW4rMSIgaXMgTlRILgotICAgICAg
ICAgICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJhKCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKHBhcnNlTnRoQ2hpbGRFeHRyYTxTcmNDaGFyYWN0ZXJUeXBlPigpKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBtX3Rva2VuID0gTlRIOwotICAgICAgICAgICAgICAgICAgICAg
ICAgcmVzdWx0ID0gbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgICAgICAgICAgICAg
cmVzdWx0ID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQgLSBtX3Rva2Vu
U3RhcnQgPj0gMyAmJiBtX3Rva2VuU3RhcnRbMl0gPT0gJy0nKSB7CisgICAgICAgICAgICAgICAg
fSBlbHNlIGlmIChyZXN1bHQgLSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkgPj0gMyAm
JiB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KClbMl0gPT0gJy0nKSB7CiAgICAgICAgICAg
ICAgICAgICAgIC8vIFN0cmluZyAiLW4tIiBpcyBJREVOVCBidXQgIi1uLTEiIGlzIE5USC4KLSAg
ICAgICAgICAgICAgICAgICAgLy8gU2V0IG1fY3VycmVudENoYXJhY3RlciB0byBzZWNvbmQgJy0n
IG9mICctbi0nIHRvIGNvbnRpbnVlIHBhcnNpbmcuCi0gICAgICAgICAgICAgICAgICAgIFVDaGFy
KiBuZXh0Q2hhcmFjdGVyID0gcmVzdWx0OwotICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRD
aGFyYWN0ZXIgPSBtX3Rva2VuU3RhcnQgKyAyOwotICAgICAgICAgICAgICAgICAgICBpZiAocGFy
c2VOdGhDaGlsZEV4dHJhKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gU2V0IGN1cnJlbnRD
aGFyYWN0ZXIgdG8gc2Vjb25kICctJyBvZiAnLW4tJyB0byBjb250aW51ZSBwYXJzaW5nLgorICAg
ICAgICAgICAgICAgICAgICBTcmNDaGFyYWN0ZXJUeXBlKiBuZXh0Q2hhcmFjdGVyID0gcmVzdWx0
OworICAgICAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+
KCkgPSB0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkgKyAyOworICAgICAgICAgICAgICAg
ICAgICBpZiAocGFyc2VOdGhDaGlsZEV4dHJhPFNyY0NoYXJhY3RlclR5cGU+KCkpIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBOVEg7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICByZXN1bHQgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgICAgICAgICBy
ZXN1bHQgPSBjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXZlcnQgdGhl
IGNoYW5nZSB0byBtX2N1cnJlbnRDaGFyYWN0ZXIgaWYgdW5zdWNjZXNzZnVsLgotICAgICAgICAg
ICAgICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gbmV4dENoYXJhY3RlcjsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIFJldmVydCB0aGUgY2hhbmdlIHRvIGN1cnJlbnRDaGFyYWN0
ZXIgaWYgdW5zdWNjZXNzZnVsLgorICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudENoYXJh
Y3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID0gbmV4dENoYXJhY3RlcjsKICAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHl5
bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAgICAgICB5eWx2
YWwtPnN0cmluZy5sZW5ndGggPSByZXN1bHQgLSBtX3Rva2VuU3RhcnQ7Ci0gICAgICAgIH0gZWxz
ZSBpZiAobV9jdXJyZW50Q2hhcmFjdGVyWzBdID09ICctJyAmJiBtX2N1cnJlbnRDaGFyYWN0ZXJb
MV0gPT0gJz4nKSB7Ci0gICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgKz0gMjsKKyAgICAg
ICAgICAgIHJlc3VsdFN0cmluZy5zZXRMZW5ndGgocmVzdWx0IC0gdG9rZW5TdGFydDxTcmNDaGFy
YWN0ZXJUeXBlPigpKTsKKyAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nID0gcmVzdWx0U3RyaW5n
OworICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4o
KVswXSA9PSAnLScgJiYgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpWzFdID09
ICc+JykgeworICAgICAgICAgICAgY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
ICs9IDI7CiAgICAgICAgICAgICBtX3Rva2VuID0gU0dNTF9DRDsKICAgICAgICAgfSBlbHNlIGlm
IChVTkxJS0VMWShtX3BhcnNpbmdNb2RlID09IE50aENoaWxkTW9kZSkpIHsKICAgICAgICAgICAg
IC8vICItWzAtOV0rbiIgaXMgYWx3YXlzIGFuIE50aENoaWxkLgotICAgICAgICAgICAgaWYgKHBh
cnNlTnRoQ2hpbGQoKSkgewotICAgICAgICAgICAgICAgIHBhcnNlTnRoQ2hpbGRFeHRyYSgpOwor
ICAgICAgICAgICAgaWYgKHBhcnNlTnRoQ2hpbGQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSkgeworICAg
ICAgICAgICAgICAgIHBhcnNlTnRoQ2hpbGRFeHRyYTxTcmNDaGFyYWN0ZXJUeXBlPigpOwogICAg
ICAgICAgICAgICAgIG1fdG9rZW4gPSBOVEg7Ci0gICAgICAgICAgICAgICAgeXlsdmFsLT5zdHJp
bmcuY2hhcmFjdGVycyA9IG1fdG9rZW5TdGFydDsKLSAgICAgICAgICAgICAgICB5eWx2YWwtPnN0
cmluZy5sZW5ndGggPSBtX2N1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQ7CisgICAgICAg
ICAgICAgICAgeXlsdmFsLT5zdHJpbmcuaW5pdCh0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+
KCksIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtIHRva2VuU3RhcnQ8U3Jj
Q2hhcmFjdGVyVHlwZT4oKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgYnJl
YWs7CkBAIC05MzM5LDE4ICs5NTgzLDE4IEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6CiAKICAgICBj
YXNlIENoYXJhY3Rlck51bGw6CiAgICAgICAgIC8vIERvIG5vdCBhZHZhbmNlIHBvaW50ZXIgYXQg
dGhlIGVuZCBvZiBpbnB1dC4KLSAgICAgICAgLS1tX2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAg
IC0tY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogICAgICAgICBicmVhazsK
IAogICAgIGNhc2UgQ2hhcmFjdGVyV2hpdGVTcGFjZToKICAgICAgICAgbV90b2tlbiA9IFdISVRF
U1BBQ0U7CiAgICAgICAgIC8vIE1pZ2h0IHN0YXJ0IHdpdGggYSAnXG4nLgotICAgICAgICAtLW1f
Y3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgLS1jdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3Rl
clR5cGU+KCk7CiAgICAgICAgIGRvIHsKLSAgICAgICAgICAgIGlmICgqbV9jdXJyZW50Q2hhcmFj
dGVyID09ICdcbicpCisgICAgICAgICAgICBpZiAoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFj
dGVyVHlwZT4oKSA9PSAnXG4nKQogICAgICAgICAgICAgICAgICsrbV9saW5lTnVtYmVyOwotICAg
ICAgICAgICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgICAgIH0gd2hpbGUgKCptX2N1cnJl
bnRDaGFyYWN0ZXIgPD0gJyAnICYmICh0eXBlc09mQVNDSUlDaGFyYWN0ZXJzWyptX2N1cnJlbnRD
aGFyYWN0ZXJdID09IENoYXJhY3RlcldoaXRlU3BhY2UpKTsKKyAgICAgICAgICAgICsrY3VycmVu
dENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOworICAgICAgICB9IHdoaWxlICgqY3VycmVu
dENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIDw9ICcgJyAmJiAodHlwZXNPZkFTQ0lJQ2hh
cmFjdGVyc1sqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpXSA9PSBDaGFyYWN0
ZXJXaGl0ZVNwYWNlKSk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJFbmRN
ZWRpYVF1ZXJ5OgpAQCAtOTM2NCw0MiArOTYwOCwzOSBAQCByZXN0YXJ0QWZ0ZXJDb21tZW50Ogog
ICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ2hhcmFjdGVyUXVvdGU6Ci0gICAgICAgIGlmIChj
aGVja0FuZFNraXBTdHJpbmcobV9jdXJyZW50Q2hhcmFjdGVyLCBtX3Rva2VuKSkgeworICAgICAg
ICBpZiAoY2hlY2tBbmRTa2lwU3RyaW5nKGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlw
ZT4oKSwgbV90b2tlbikpIHsKICAgICAgICAgICAgICsrcmVzdWx0OwotICAgICAgICAgICAgcGFy
c2VTdHJpbmcocmVzdWx0LCBtX3Rva2VuKTsKKyAgICAgICAgICAgIHBhcnNlU3RyaW5nPFNyY0No
YXJhY3RlclR5cGU+KHJlc3VsdCwgeXlsdmFsLT5zdHJpbmcsIG1fdG9rZW4pOwogICAgICAgICAg
ICAgbV90b2tlbiA9IFNUUklORzsKLSAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3Rl
cnMgPSBtX3Rva2VuU3RhcnQgKyAxOwotICAgICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3Ro
ID0gcmVzdWx0IC0gKG1fdG9rZW5TdGFydCArIDEpOwogICAgICAgICB9CiAgICAgICAgIGJyZWFr
OwogCiAgICAgY2FzZSBDaGFyYWN0ZXJFeGNsYW1hdGlvbk1hcms6IHsKLSAgICAgICAgVUNoYXIq
IHN0YXJ0ID0gc2tpcFdoaXRlU3BhY2UobV9jdXJyZW50Q2hhcmFjdGVyKTsKKyAgICAgICAgU3Jj
Q2hhcmFjdGVyVHlwZSogc3RhcnQgPSBza2lwV2hpdGVTcGFjZShjdXJyZW50Q2hhcmFjdGVyPFNy
Y0NoYXJhY3RlclR5cGU+KCkpOwogICAgICAgICBpZiAoaXNFcXVhbFRvQ1NTSWRlbnRpZmllcihz
dGFydCwgImltcG9ydGFudCIpKSB7CiAgICAgICAgICAgICBtX3Rva2VuID0gSU1QT1JUQU5UX1NZ
TTsKLSAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciA9IHN0YXJ0ICsgOTsKKyAgICAgICAg
ICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9IHN0YXJ0ICsgOTsKICAg
ICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBjYXNlIENoYXJhY3Rlckhhc2ht
YXJrOiB7Ci0gICAgICAgIFVDaGFyKiBzdGFydCA9IG1fY3VycmVudENoYXJhY3RlcjsKLSAgICAg
ICAgcmVzdWx0ID0gbV9jdXJyZW50Q2hhcmFjdGVyOworICAgICAgICBTcmNDaGFyYWN0ZXJUeXBl
KiBzdGFydCA9IGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKKyAgICAgICAg
cmVzdWx0ID0gY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwogCi0gICAgICAg
IGlmIChpc0FTQ0lJRGlnaXQoKm1fY3VycmVudENoYXJhY3RlcikpIHsKKyAgICAgICAgaWYgKGlz
QVNDSUlEaWdpdCgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpKSkgewogICAg
ICAgICAgICAgLy8gVGhpcyBtdXN0IGJlIGEgdmFsaWQgaGV4IG51bWJlciB0b2tlbi4KICAgICAg
ICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKLSAgICAg
ICAgICAgIH0gd2hpbGUgKGlzQVNDSUlIZXhEaWdpdCgqbV9jdXJyZW50Q2hhcmFjdGVyKSk7Cisg
ICAgICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7Cisg
ICAgICAgICAgICB9IHdoaWxlIChpc0FTQ0lJSGV4RGlnaXQoKmN1cnJlbnRDaGFyYWN0ZXI8U3Jj
Q2hhcmFjdGVyVHlwZT4oKSkpOwogICAgICAgICAgICAgbV90b2tlbiA9IEhFWDsKLSAgICAgICAg
ICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSBzdGFydDsKLSAgICAgICAgICAgIHl5bHZh
bC0+c3RyaW5nLmxlbmd0aCA9IG1fY3VycmVudENoYXJhY3RlciAtIHN0YXJ0OwotICAgICAgICB9
IGVsc2UgaWYgKGlzSWRlbnRpZmllclN0YXJ0KCkpIHsKKyAgICAgICAgICAgIHl5bHZhbC0+c3Ry
aW5nLmluaXQoc3RhcnQsIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtIHN0
YXJ0KTsKKyAgICAgICAgfSBlbHNlIGlmIChpc0lkZW50aWZpZXJTdGFydDxTcmNDaGFyYWN0ZXJU
eXBlPigpKSB7CiAgICAgICAgICAgICBtX3Rva2VuID0gSURTRUw7Ci0gICAgICAgICAgICBwYXJz
ZUlkZW50aWZpZXIocmVzdWx0LCBoYXNFc2NhcGUpOworICAgICAgICAgICAgcGFyc2VJZGVudGlm
aWVyKHJlc3VsdCwgeXlsdmFsLT5zdHJpbmcsIGhhc0VzY2FwZSk7CiAgICAgICAgICAgICBpZiAo
IWhhc0VzY2FwZSkgewogICAgICAgICAgICAgICAgIC8vIENoZWNrIHdoZXRoZXIgdGhlIGlkZW50
aWZpZXIgaXMgYWxzbyBhIHZhbGlkIGhleCBudW1iZXIuCi0gICAgICAgICAgICAgICAgVUNoYXIq
IGN1cnJlbnQgPSBzdGFydDsKKyAgICAgICAgICAgICAgICBTcmNDaGFyYWN0ZXJUeXBlKiBjdXJy
ZW50ID0gc3RhcnQ7CiAgICAgICAgICAgICAgICAgbV90b2tlbiA9IEhFWDsKICAgICAgICAgICAg
ICAgICBkbyB7CiAgICAgICAgICAgICAgICAgICAgIGlmICghaXNBU0NJSUhleERpZ2l0KCpjdXJy
ZW50KSkgewpAQCAtOTQwOSw0MSArOTY1MCwzOSBAQCByZXN0YXJ0QWZ0ZXJDb21tZW50OgogICAg
ICAgICAgICAgICAgICAgICArK2N1cnJlbnQ7CiAgICAgICAgICAgICAgICAgfSB3aGlsZSAoY3Vy
cmVudCA8IHJlc3VsdCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB5eWx2YWwtPnN0cmlu
Zy5jaGFyYWN0ZXJzID0gc3RhcnQ7Ci0gICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5sZW5ndGgg
PSByZXN1bHQgLSBzdGFydDsKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CiAKICAg
ICBjYXNlIENoYXJhY3RlclNsYXNoOgogICAgICAgICAvLyBJZ25vcmUgY29tbWVudHMuIFRoZXkg
YXJlIG5vdCBldmVuIGNvbnNpZGVyZWQgYXMgd2hpdGUgc3BhY2VzLgotICAgICAgICBpZiAoKm1f
Y3VycmVudENoYXJhY3RlciA9PSAnKicpIHsKLSAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFj
dGVyOwotICAgICAgICAgICAgd2hpbGUgKG1fY3VycmVudENoYXJhY3RlclswXSAhPSAnKicgfHwg
bV9jdXJyZW50Q2hhcmFjdGVyWzFdICE9ICcvJykgewotICAgICAgICAgICAgICAgIGlmICgqbV9j
dXJyZW50Q2hhcmFjdGVyID09ICdcbicpCisgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxT
cmNDaGFyYWN0ZXJUeXBlPigpID09ICcqJykgeworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFj
dGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CisgICAgICAgICAgICB3aGlsZSAoY3VycmVudENoYXJh
Y3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpWzBdICE9ICcqJyB8fCBjdXJyZW50Q2hhcmFjdGVyPFNy
Y0NoYXJhY3RlclR5cGU+KClbMV0gIT0gJy8nKSB7CisgICAgICAgICAgICAgICAgaWYgKCpjdXJy
ZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJ1xuJykKICAgICAgICAgICAgICAg
ICAgICAgKyttX2xpbmVOdW1iZXI7Ci0gICAgICAgICAgICAgICAgaWYgKCptX2N1cnJlbnRDaGFy
YWN0ZXIgPT0gJ1wwJykgeworICAgICAgICAgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxT
cmNDaGFyYWN0ZXJUeXBlPigpID09ICdcMCcpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gVW50
ZXJtaW5hdGVkIGNvbW1lbnRzIGFyZSBzaW1wbHkgaWdub3JlZC4KLSAgICAgICAgICAgICAgICAg
ICAgbV9jdXJyZW50Q2hhcmFjdGVyIC09IDI7CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRD
aGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSAtPSAyOwogICAgICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgKyttX2N1cnJlbnRDaGFy
YWN0ZXI7CisgICAgICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5
cGU+KCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgKz0g
MjsKKyAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSArPSAy
OwogICAgICAgICAgICAgZ290byByZXN0YXJ0QWZ0ZXJDb21tZW50OwogICAgICAgICB9CiAgICAg
ICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJEb2xsYXI6Ci0gICAgICAgIGlmICgqbV9j
dXJyZW50Q2hhcmFjdGVyID09ICc9JykgewotICAgICAgICAgICAgKyttX2N1cnJlbnRDaGFyYWN0
ZXI7CisgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09
ICc9JykgeworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+
KCk7CiAgICAgICAgICAgICBtX3Rva2VuID0gRU5EU1dJVEg7CiAgICAgICAgIH0KICAgICAgICAg
YnJlYWs7CiAKICAgICBjYXNlIENoYXJhY3RlckFzdGVyaXNrOgotICAgICAgICBpZiAoKm1fY3Vy
cmVudENoYXJhY3RlciA9PSAnPScpIHsKLSAgICAgICAgICAgICsrbV9jdXJyZW50Q2hhcmFjdGVy
OworICAgICAgICBpZiAoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSA9PSAn
PScpIHsKKyAgICAgICAgICAgICsrY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigp
OwogICAgICAgICAgICAgbV90b2tlbiA9IENPTlRBSU5TOwogICAgICAgICB9CiAgICAgICAgIGJy
ZWFrOwpAQCAtOTQ1MSw1OCArOTY5MCw1NSBAQCByZXN0YXJ0QWZ0ZXJDb21tZW50OgogICAgIGNh
c2UgQ2hhcmFjdGVyUGx1czoKICAgICAgICAgaWYgKFVOTElLRUxZKG1fcGFyc2luZ01vZGUgPT0g
TnRoQ2hpbGRNb2RlKSkgewogICAgICAgICAgICAgLy8gU2ltcGxlc3QgY2FzZS4gIitbMC05XSpu
IiBpcyBhbHdheXMgTnRoQ2hpbGQuCi0gICAgICAgICAgICBpZiAocGFyc2VOdGhDaGlsZCgpKSB7
Ci0gICAgICAgICAgICAgICAgcGFyc2VOdGhDaGlsZEV4dHJhKCk7CisgICAgICAgICAgICBpZiAo
cGFyc2VOdGhDaGlsZDxTcmNDaGFyYWN0ZXJUeXBlPigpKSB7CisgICAgICAgICAgICAgICAgcGFy
c2VOdGhDaGlsZEV4dHJhPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAgICAgICAgICAgICAgICAgbV90
b2tlbiA9IE5USDsKLSAgICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0g
bV90b2tlblN0YXJ0OwotICAgICAgICAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IG1f
Y3VycmVudENoYXJhY3RlciAtIG1fdG9rZW5TdGFydDsKKyAgICAgICAgICAgICAgICB5eWx2YWwt
PnN0cmluZy5pbml0KHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSwgY3VycmVudENoYXJh
Y3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigp
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsKIAogICAgIGNhc2Ug
Q2hhcmFjdGVyTGVzczoKLSAgICAgICAgaWYgKG1fY3VycmVudENoYXJhY3RlclswXSA9PSAnIScg
JiYgbV9jdXJyZW50Q2hhcmFjdGVyWzFdID09ICctJyAmJiBtX2N1cnJlbnRDaGFyYWN0ZXJbMl0g
PT0gJy0nKSB7Ci0gICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgKz0gMzsKKyAgICAgICAg
aWYgKGN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKVswXSA9PSAnIScgJiYgY3Vy
cmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpWzFdID09ICctJyAmJiBjdXJyZW50Q2hh
cmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMl0gPT0gJy0nKSB7CisgICAgICAgICAgICBjdXJy
ZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgKz0gMzsKICAgICAgICAgICAgIG1fdG9r
ZW4gPSBTR01MX0NEOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGFy
YWN0ZXJBdDoKLSAgICAgICAgaWYgKGlzSWRlbnRpZmllclN0YXJ0KCkpIHsKKyAgICAgICAgaWYg
KGlzSWRlbnRpZmllclN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkpIHsKICAgICAgICAgICAgIG1f
dG9rZW4gPSBBVEtFWVdPUkQ7CiAgICAgICAgICAgICArK3Jlc3VsdDsKLSAgICAgICAgICAgIHBh
cnNlSWRlbnRpZmllcihyZXN1bHQsIGhhc0VzY2FwZSk7Ci0gICAgICAgICAgICBkZXRlY3RBdFRv
a2VuKHJlc3VsdCAtIG1fdG9rZW5TdGFydCwgaGFzRXNjYXBlKTsKKyAgICAgICAgICAgIHBhcnNl
SWRlbnRpZmllcihyZXN1bHQsIHJlc3VsdFN0cmluZywgaGFzRXNjYXBlKTsKKyAgICAgICAgICAg
IGRldGVjdEF0VG9rZW48U3JjQ2hhcmFjdGVyVHlwZT4ocmVzdWx0IC0gdG9rZW5TdGFydDxTcmND
aGFyYWN0ZXJUeXBlPigpLCBoYXNFc2NhcGUpOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwog
CiAgICAgY2FzZSBDaGFyYWN0ZXJCYWNrU2xhc2g6Ci0gICAgICAgIGlmIChpc0NTU0VzY2FwZSgq
bV9jdXJyZW50Q2hhcmFjdGVyKSkgewotICAgICAgICAgICAgLS1tX2N1cnJlbnRDaGFyYWN0ZXI7
Ci0gICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCBoYXNFc2NhcGUpOworICAgICAg
ICBpZiAoaXNDU1NFc2NhcGUoKmN1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKSkp
IHsKKyAgICAgICAgICAgIC0tY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwor
ICAgICAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwgeXlsdmFsLT5zdHJpbmcsIGhhc0Vz
Y2FwZSk7CiAgICAgICAgICAgICBtX3Rva2VuID0gSURFTlQ7Ci0gICAgICAgICAgICB5eWx2YWwt
PnN0cmluZy5jaGFyYWN0ZXJzID0gbV90b2tlblN0YXJ0OwotICAgICAgICAgICAgeXlsdmFsLT5z
dHJpbmcubGVuZ3RoID0gcmVzdWx0IC0gbV90b2tlblN0YXJ0OwogICAgICAgICB9CiAgICAgICAg
IGJyZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJYb3I6Ci0gICAgICAgIGlmICgqbV9jdXJyZW50
Q2hhcmFjdGVyID09ICc9JykgewotICAgICAgICAgICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7Cisg
ICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICc9Jykg
eworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7CiAg
ICAgICAgICAgICBtX3Rva2VuID0gQkVHSU5TV0lUSDsKICAgICAgICAgfQogICAgICAgICBicmVh
azsKIAogICAgIGNhc2UgQ2hhcmFjdGVyVmVydGljYWxCYXI6Ci0gICAgICAgIGlmICgqbV9jdXJy
ZW50Q2hhcmFjdGVyID09ICc9JykgewotICAgICAgICAgICAgKyttX2N1cnJlbnRDaGFyYWN0ZXI7
CisgICAgICAgIGlmICgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICc9
JykgeworICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCk7
CiAgICAgICAgICAgICBtX3Rva2VuID0gREFTSE1BVENIOwogICAgICAgICB9CiAgICAgICAgIGJy
ZWFrOwogCiAgICAgY2FzZSBDaGFyYWN0ZXJUaWxkZToKLSAgICAgICAgaWYgKCptX2N1cnJlbnRD
aGFyYWN0ZXIgPT0gJz0nKSB7Ci0gICAgICAgICAgICArK21fY3VycmVudENoYXJhY3RlcjsKKyAg
ICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJz0nKSB7
CisgICAgICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI8U3JjQ2hhcmFjdGVyVHlwZT4oKTsKICAg
ICAgICAgICAgIG1fdG9rZW4gPSBJTkNMVURFUzsKICAgICAgICAgfQogICAgICAgICBicmVhazsK
QEAgLTk1MTIsMzYgKzk3NDgsNiBAQCByZXN0YXJ0QWZ0ZXJDb21tZW50OgogICAgICAgICBicmVh
azsKICAgICB9CiAKLSNpZm5kZWYgTkRFQlVHCi0gICAgc3dpdGNoICh0b2tlbigpKSB7Ci0gICAg
Y2FzZSBTVFJJTkc6Ci0gICAgICAgIEFTU0VSVCh5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzID09
IG1fdG9rZW5TdGFydCArIDEpOwotICAgICAgICBicmVhazsKLQotICAgIGNhc2UgSURFTlQ6Ci0g
ICAgY2FzZSBOVEg6Ci0gICAgY2FzZSBESU1FTjoKLSAgICBjYXNlIFVOSUNPREVSQU5HRToKLSAg
ICBjYXNlIEZVTkNUSU9OOgotICAgIGNhc2UgQU5ZRlVOQ1RJT046Ci0gICAgY2FzZSBOT1RGVU5D
VElPTjoKLSAgICBjYXNlIENBTENGVU5DVElPTjoKLSAgICBjYXNlIE1JTkZVTkNUSU9OOgotICAg
IGNhc2UgTUFYRlVOQ1RJT046Ci0gICAgICAgIEFTU0VSVCh5eWx2YWwtPnN0cmluZy5jaGFyYWN0
ZXJzID09IG1fdG9rZW5TdGFydCAmJiB5eWx2YWwtPnN0cmluZy5sZW5ndGggPiAwKTsKLSAgICAg
ICAgYnJlYWs7Ci0KLSAgICBjYXNlIFVSSToKLSAgICAgICAgQVNTRVJUKHl5bHZhbC0+c3RyaW5n
LmNoYXJhY3RlcnMgJiYgeXlsdmFsLT5zdHJpbmcuY2hhcmFjdGVycyAhPSBtX3Rva2VuU3RhcnQp
OwotICAgICAgICBicmVhazsKLQotICAgIGNhc2UgSEVYOgotICAgIGNhc2UgSURTRUw6Ci0gICAg
ICAgIEFTU0VSVCh5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzID09IG1fdG9rZW5TdGFydCArIDEg
JiYgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID4gMCk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSNl
bmRpZgotCiAgICAgcmV0dXJuIHRva2VuKCk7CiB9CiAKQEAgLTk5ODQsMTcgKzEwMTkwLDE1IEBA
IHZvaWQgQ1NTUGFyc2VyOjp1cGRhdGVMYXN0TWVkaWFMaW5lKE1lZGkKICAgICBtZWRpYS0+c2V0
TGFzdExpbmUobV9saW5lTnVtYmVyKTsKIH0KIAotdm9pZCBDU1NQYXJzZXI6OmZpeFVucGFyc2Vk
UHJvcGVydHlSYW5nZXMoQ1NTUnVsZVNvdXJjZURhdGEqIHJ1bGVEYXRhKQordGVtcGxhdGUgPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5lIHZvaWQgZml4VW5wYXJzZWRQcm9w
ZXJ0aWVzKGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIENTU1J1bGVTb3VyY2VEYXRh
KiBydWxlRGF0YSkKIHsKLSAgICBpZiAoIXJ1bGVEYXRhLT5zdHlsZVNvdXJjZURhdGEpCi0gICAg
ICAgIHJldHVybjsKICAgICBWZWN0b3I8Q1NTUHJvcGVydHlTb3VyY2VEYXRhPiYgcHJvcGVydHlE
YXRhID0gcnVsZURhdGEtPnN0eWxlU291cmNlRGF0YS0+cHJvcGVydHlEYXRhOwogICAgIHVuc2ln
bmVkIHNpemUgPSBwcm9wZXJ0eURhdGEuc2l6ZSgpOwogICAgIGlmICghc2l6ZSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgdW5zaWduZWQgc3R5bGVTdGFydCA9IHJ1bGVEYXRhLT5ydWxlQm9keVJh
bmdlLnN0YXJ0OwotICAgIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzID0gbV9kYXRhU3RhcnQuZ2V0
KCkgKyBtX3BhcnNlZFRleHRQcmVmaXhMZW5ndGg7CiAgICAgQ1NTUHJvcGVydHlTb3VyY2VEYXRh
KiBuZXh0RGF0YSA9ICYocHJvcGVydHlEYXRhLmF0KDApKTsKICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgc2l6ZTsgKytpKSB7CiAgICAgICAgIENTU1Byb3BlcnR5U291cmNlRGF0YSogY3Vy
cmVudERhdGEgPSBuZXh0RGF0YTsKQEAgLTEwMDMxLDM2ICsxMDIzNSw2MCBAQCB2b2lkIENTU1Bh
cnNlcjo6Zml4VW5wYXJzZWRQcm9wZXJ0eVJhbmdlCiAgICAgfQogfQogCit2b2lkIENTU1BhcnNl
cjo6Zml4VW5wYXJzZWRQcm9wZXJ0eVJhbmdlcyhDU1NSdWxlU291cmNlRGF0YSogcnVsZURhdGEp
Cit7CisgICAgaWYgKCFydWxlRGF0YS0+c3R5bGVTb3VyY2VEYXRhKQorICAgICAgICByZXR1cm47
CisKKyAgICBpZiAoaXM4Qml0U291cmNlKCkpIHsKKyAgICAgICAgZml4VW5wYXJzZWRQcm9wZXJ0
aWVzPExDaGFyPihtX2RhdGFTdGFydDguZ2V0KCkgKyBtX3BhcnNlZFRleHRQcmVmaXhMZW5ndGgs
IHJ1bGVEYXRhKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGZpeFVucGFyc2VkUHJv
cGVydGllczxVQ2hhcj4obV9kYXRhU3RhcnQxNi5nZXQoKSArIG1fcGFyc2VkVGV4dFByZWZpeExl
bmd0aCwgcnVsZURhdGEpOworfQorCiB2b2lkIENTU1BhcnNlcjo6bWFya1J1bGVIZWFkZXJTdGFy
dChDU1NSdWxlU291cmNlRGF0YTo6VHlwZSBydWxlVHlwZSkKIHsKICAgICBpZiAoIWlzRXh0cmFj
dGluZ1NvdXJjZURhdGEoKSkKICAgICAgICAgcmV0dXJuOwogICAgIFJlZlB0cjxDU1NSdWxlU291
cmNlRGF0YT4gZGF0YSA9IENTU1J1bGVTb3VyY2VEYXRhOjpjcmVhdGUocnVsZVR5cGUpOwotICAg
IGRhdGEtPnJ1bGVIZWFkZXJSYW5nZS5zdGFydCA9IG1fdG9rZW5TdGFydCAtIG1fZGF0YVN0YXJ0
LmdldCgpOworICAgIGRhdGEtPnJ1bGVIZWFkZXJSYW5nZS5zdGFydCA9IHRva2VuU3RhcnRPZmZz
ZXQoKTsKICAgICBtX2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5hcHBlbmQoZGF0YS5yZWxlYXNlKCkp
OwogfQogCi12b2lkIENTU1BhcnNlcjo6bWFya1J1bGVIZWFkZXJFbmQoKQordGVtcGxhdGUgPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+CitpbmxpbmUgdm9pZCBDU1NQYXJzZXI6OnNldFJ1bGVIZWFk
ZXJFbmQoY29uc3QgQ2hhcmFjdGVyVHlwZSogZGF0YVN0YXJ0KQogewotICAgIGlmICghaXNFeHRy
YWN0aW5nU291cmNlRGF0YSgpKQotICAgICAgICByZXR1cm47Ci0gICAgQVNTRVJUKCFtX2N1cnJl
bnRSdWxlRGF0YVN0YWNrLT5pc0VtcHR5KCkpOwotICAgIFVDaGFyKiBsaXN0RW5kID0gbV90b2tl
blN0YXJ0OwotICAgIHdoaWxlIChsaXN0RW5kID4gbV9kYXRhU3RhcnQuZ2V0KCkgKyAxKSB7Cisg
ICAgQ2hhcmFjdGVyVHlwZSogbGlzdEVuZCA9IHRva2VuU3RhcnQ8Q2hhcmFjdGVyVHlwZT4oKTsK
KyAgICB3aGlsZSAobGlzdEVuZCA+IGRhdGFTdGFydCArIDEpIHsKICAgICAgICAgaWYgKGlzSFRN
TFNwYWNlKCoobGlzdEVuZCAtIDEpKSkKICAgICAgICAgICAgIC0tbGlzdEVuZDsKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1fY3VycmVudFJ1bGVEYXRhU3Rh
Y2stPmxhc3QoKS0+cnVsZUhlYWRlclJhbmdlLmVuZCA9IGxpc3RFbmQgLSBtX2RhdGFTdGFydC5n
ZXQoKTsKKworICAgIG1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmxhc3QoKS0+cnVsZUhlYWRlclJh
bmdlLmVuZCA9IGxpc3RFbmQgLSBkYXRhU3RhcnQ7Cit9CisKK3ZvaWQgQ1NTUGFyc2VyOjptYXJr
UnVsZUhlYWRlckVuZCgpCit7CisgICAgaWYgKCFpc0V4dHJhY3RpbmdTb3VyY2VEYXRhKCkpCisg
ICAgICAgIHJldHVybjsKKyAgICBBU1NFUlQoIW1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmlzRW1w
dHkoKSk7CisKKyAgICBpZiAoaXM4Qml0U291cmNlKCkpCisgICAgICAgIHNldFJ1bGVIZWFkZXJF
bmQ8TENoYXI+KG1fZGF0YVN0YXJ0OC5nZXQoKSk7CisgICAgZWxzZQorICAgICAgICBzZXRSdWxl
SGVhZGVyRW5kPFVDaGFyPihtX2RhdGFTdGFydDE2LmdldCgpKTsKIH0KIAogdm9pZCBDU1NQYXJz
ZXI6Om1hcmtSdWxlQm9keVN0YXJ0KCkKIHsKICAgICBpZiAoIWlzRXh0cmFjdGluZ1NvdXJjZURh
dGEoKSkKICAgICAgICAgcmV0dXJuOwotICAgIHVuc2lnbmVkIG9mZnNldCA9IG1fdG9rZW5TdGFy
dCAtIG1fZGF0YVN0YXJ0LmdldCgpOwotICAgIGlmICgqbV90b2tlblN0YXJ0ID09ICd7JykKKyAg
ICB1bnNpZ25lZCBvZmZzZXQgPSB0b2tlblN0YXJ0T2Zmc2V0KCk7CisgICAgaWYgKHRva2VuU3Rh
cnRDaGFyKCkgPT0gJ3snKQogICAgICAgICArK29mZnNldDsgLy8gU2tpcCB0aGUgcnVsZSBib2R5
IG9wZW5pbmcgYnJhY2UuCiAgICAgQVNTRVJUKCFtX2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5pc0Vt
cHR5KCkpOwogICAgIG1fY3VycmVudFJ1bGVEYXRhU3RhY2stPmxhc3QoKS0+cnVsZUJvZHlSYW5n
ZS5zdGFydCA9IG9mZnNldDsKQEAgLTEwMDY5LDcgKzEwMjk3LDcgQEAgdm9pZCBDU1NQYXJzZXI6
Om1hcmtSdWxlQm9keVN0YXJ0KCkKIHZvaWQgQ1NTUGFyc2VyOjptYXJrUnVsZUJvZHlFbmQoKQog
ewogICAgIC8vIFByZWNvbmRpdGlvbjogKCFpc0V4dHJhY3RpbmdTb3VyY2VEYXRhKCkpCi0gICAg
dW5zaWduZWQgb2Zmc2V0ID0gbV90b2tlblN0YXJ0IC0gbV9kYXRhU3RhcnQuZ2V0KCk7CisgICAg
dW5zaWduZWQgb2Zmc2V0ID0gdG9rZW5TdGFydE9mZnNldCgpOwogICAgIEFTU0VSVCghbV9jdXJy
ZW50UnVsZURhdGFTdGFjay0+aXNFbXB0eSgpKTsKICAgICBtX2N1cnJlbnRSdWxlRGF0YVN0YWNr
LT5sYXN0KCktPnJ1bGVCb2R5UmFuZ2UuZW5kID0gb2Zmc2V0OwogfQpAQCAtMTAwODEsNyArMTAz
MDksNyBAQCB2b2lkIENTU1BhcnNlcjo6bWFya1Byb3BlcnR5U3RhcnQoKQogICAgIGlmIChtX2N1
cnJlbnRSdWxlRGF0YVN0YWNrLT5pc0VtcHR5KCkgfHwgIW1fY3VycmVudFJ1bGVEYXRhU3RhY2st
Pmxhc3QoKS0+c3R5bGVTb3VyY2VEYXRhKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Byb3Bl
cnR5UmFuZ2Uuc3RhcnQgPSBtX3Rva2VuU3RhcnQgLSBtX2RhdGFTdGFydC5nZXQoKTsKKyAgICBt
X3Byb3BlcnR5UmFuZ2Uuc3RhcnQgPSB0b2tlblN0YXJ0T2Zmc2V0KCk7CiB9CiAKIHZvaWQgQ1NT
UGFyc2VyOjptYXJrUHJvcGVydHlFbmQoYm9vbCBpc0ltcG9ydGFudEZvdW5kLCBib29sIGlzUHJv
cGVydHlQYXJzZWQpCkBAIC0xMDA5MSw4ICsxMDMxOSw4IEBAIHZvaWQgQ1NTUGFyc2VyOjptYXJr
UHJvcGVydHlFbmQoYm9vbCBpc0kKICAgICBpZiAobV9jdXJyZW50UnVsZURhdGFTdGFjay0+aXNF
bXB0eSgpIHx8ICFtX2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5sYXN0KCktPnN0eWxlU291cmNlRGF0
YSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdW5zaWduZWQgb2Zmc2V0ID0gbV90b2tlblN0YXJ0
IC0gbV9kYXRhU3RhcnQuZ2V0KCk7Ci0gICAgaWYgKCptX3Rva2VuU3RhcnQgPT0gJzsnKSAvLyBJ
bmNsdWRlIHNlbWljb2xvbiBpbnRvIHRoZSBwcm9wZXJ0eSB0ZXh0LgorICAgIHVuc2lnbmVkIG9m
ZnNldCA9IHRva2VuU3RhcnRPZmZzZXQoKTsKKyAgICBpZiAodG9rZW5TdGFydENoYXIoKSA9PSAn
OycpIC8vIEluY2x1ZGUgc2VtaWNvbG9uIGludG8gdGhlIHByb3BlcnR5IHRleHQuCiAgICAgICAg
ICsrb2Zmc2V0OwogICAgIG1fcHJvcGVydHlSYW5nZS5lbmQgPSBvZmZzZXQ7CiAgICAgaWYgKG1f
cHJvcGVydHlSYW5nZS5zdGFydCAhPSBVSU5UX01BWCAmJiAhbV9jdXJyZW50UnVsZURhdGFTdGFj
ay0+aXNFbXB0eSgpKSB7CkBAIC0xMDEwMCw3ICsxMDMyOCwxMSBAQCB2b2lkIENTU1BhcnNlcjo6
bWFya1Byb3BlcnR5RW5kKGJvb2wgaXNJCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHN0YXJ0ID0g
bV9wcm9wZXJ0eVJhbmdlLnN0YXJ0OwogICAgICAgICBjb25zdCB1bnNpZ25lZCBlbmQgPSBtX3By
b3BlcnR5UmFuZ2UuZW5kOwogICAgICAgICBBU1NFUlQoc3RhcnQgPCBlbmQpOwotICAgICAgICBT
dHJpbmcgcHJvcGVydHlTdHJpbmcgPSBTdHJpbmcobV9kYXRhU3RhcnQuZ2V0KCkgKyBzdGFydCwg
ZW5kIC0gc3RhcnQpLnN0cmlwV2hpdGVTcGFjZSgpOworICAgICAgICBTdHJpbmcgcHJvcGVydHlT
dHJpbmc7CisgICAgICAgIGlmIChpczhCaXRTb3VyY2UoKSkKKyAgICAgICAgICAgIHByb3BlcnR5
U3RyaW5nID0gU3RyaW5nKG1fZGF0YVN0YXJ0OC5nZXQoKSArIHN0YXJ0LCBlbmQgLSBzdGFydCku
c3RyaXBXaGl0ZVNwYWNlKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHByb3BlcnR5U3Ry
aW5nID0gU3RyaW5nKG1fZGF0YVN0YXJ0MTYuZ2V0KCkgKyBzdGFydCwgZW5kIC0gc3RhcnQpLnN0
cmlwV2hpdGVTcGFjZSgpOwogICAgICAgICBpZiAocHJvcGVydHlTdHJpbmcuZW5kc1dpdGgoJzsn
KSkKICAgICAgICAgICAgIHByb3BlcnR5U3RyaW5nID0gcHJvcGVydHlTdHJpbmcubGVmdChwcm9w
ZXJ0eVN0cmluZy5sZW5ndGgoKSAtIDEpOwogICAgICAgICBzaXplX3QgY29sb25JbmRleCA9IHBy
b3BlcnR5U3RyaW5nLmZpbmQoJzonKTsKQEAgLTEwMTE2LDE3ICsxMDM0OCwxMyBAQCB2b2lkIENT
U1BhcnNlcjo6bWFya1Byb3BlcnR5RW5kKGJvb2wgaXNJCiAgICAgcmVzZXRQcm9wZXJ0eVJhbmdl
KCk7CiB9CiAKLXN0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SUQoY29uc3QgVUNoYXIq
IHByb3BlcnR5TmFtZSwgdW5zaWduZWQgbGVuZ3RoKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJh
Y3RlclR5cGU+CitzdGF0aWMgQ1NTUHJvcGVydHlJRCBjc3NQcm9wZXJ0eUlEKGNvbnN0IENoYXJh
Y3RlclR5cGUqIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgbGVuZ3RoKQogewotICAgIGlmICghbGVu
Z3RoKQotICAgICAgICByZXR1cm4gQ1NTUHJvcGVydHlJbnZhbGlkOwotICAgIGlmIChsZW5ndGgg
PiBtYXhDU1NQcm9wZXJ0eU5hbWVMZW5ndGgpCi0gICAgICAgIHJldHVybiBDU1NQcm9wZXJ0eUlu
dmFsaWQ7Ci0KICAgICBjaGFyIGJ1ZmZlclttYXhDU1NQcm9wZXJ0eU5hbWVMZW5ndGggKyAxICsg
MV07IC8vIDEgdG8gdHVybiAiYXBwbGUiLyJraHRtbCIgaW50byAid2Via2l0IiwgMSBmb3IgbnVs
bCBjaGFyYWN0ZXIKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgIT0gbGVuZ3RoOyArK2kp
IHsKLSAgICAgICAgVUNoYXIgYyA9IHByb3BlcnR5TmFtZVtpXTsKKyAgICAgICAgQ2hhcmFjdGVy
VHlwZSBjID0gcHJvcGVydHlOYW1lW2ldOwogICAgICAgICBpZiAoYyA9PSAwIHx8IGMgPj0gMHg3
RikKICAgICAgICAgICAgIHJldHVybiBDU1NQcm9wZXJ0eUludmFsaWQ7IC8vIGlsbGVnYWwgY2hh
cmFjdGVyCiAgICAgICAgIGJ1ZmZlcltpXSA9IHRvQVNDSUlMb3dlcihjKTsKQEAgLTEwMTY0LDEy
ICsxMDM5MiwyNiBAQCBzdGF0aWMgQ1NTUHJvcGVydHlJRCBjc3NQcm9wZXJ0eUlEKGNvbnN0CiAK
IENTU1Byb3BlcnR5SUQgY3NzUHJvcGVydHlJRChjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKLSAg
ICByZXR1cm4gY3NzUHJvcGVydHlJRChzdHJpbmcuY2hhcmFjdGVycygpLCBzdHJpbmcubGVuZ3Ro
KCkpOworICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKKworICAgIGlmICgh
bGVuZ3RoKQorICAgICAgICByZXR1cm4gQ1NTUHJvcGVydHlJbnZhbGlkOworICAgIGlmIChsZW5n
dGggPiBtYXhDU1NQcm9wZXJ0eU5hbWVMZW5ndGgpCisgICAgICAgIHJldHVybiBDU1NQcm9wZXJ0
eUludmFsaWQ7CisgICAgCisgICAgcmV0dXJuIHN0cmluZy5pczhCaXQoKSA/IGNzc1Byb3BlcnR5
SUQoc3RyaW5nLmNoYXJhY3RlcnM4KCksIGxlbmd0aCkgOiBjc3NQcm9wZXJ0eUlEKHN0cmluZy5j
aGFyYWN0ZXJzKCksIGxlbmd0aCk7CiB9CiAKIENTU1Byb3BlcnR5SUQgY3NzUHJvcGVydHlJRChj
b25zdCBDU1NQYXJzZXJTdHJpbmcmIHN0cmluZykKIHsKLSAgICByZXR1cm4gY3NzUHJvcGVydHlJ
RChzdHJpbmcuY2hhcmFjdGVycywgc3RyaW5nLmxlbmd0aCk7CisgICAgdW5zaWduZWQgbGVuZ3Ro
ID0gc3RyaW5nLmxlbmd0aCgpOworCisgICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybiBD
U1NQcm9wZXJ0eUludmFsaWQ7CisgICAgaWYgKGxlbmd0aCA+IG1heENTU1Byb3BlcnR5TmFtZUxl
bmd0aCkKKyAgICAgICAgcmV0dXJuIENTU1Byb3BlcnR5SW52YWxpZDsKKyAgICAKKyAgICByZXR1
cm4gc3RyaW5nLmlzOEJpdCgpID8gY3NzUHJvcGVydHlJRChzdHJpbmcuY2hhcmFjdGVyczgoKSwg
bGVuZ3RoKSA6IGNzc1Byb3BlcnR5SUQoc3RyaW5nLmNoYXJhY3RlcnMxNigpLCBsZW5ndGgpOwog
fQogCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtMTAxODQsMTggKzEwNDI2LDEzIEBAIHZvaWQgY3Nz
UHJvcGVydHlOYW1lSU9TQWxpYXNpbmcoY29uc3QgY2gKIH0KICNlbmRpZgogCi1pbnQgY3NzVmFs
dWVLZXl3b3JkSUQoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBzdHJpbmcpCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbnQgY3NzVmFsdWVLZXl3b3JkSUQoY29uc3Qg
Q2hhcmFjdGVyVHlwZSogdmFsdWVLZXl3b3JkLCB1bnNpZ25lZCBsZW5ndGgpCiB7Ci0gICAgdW5z
aWduZWQgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aDsKLSAgICBpZiAoIWxlbmd0aCkKLSAgICAgICAg
cmV0dXJuIDA7Ci0gICAgaWYgKGxlbmd0aCA+IG1heENTU1ZhbHVlS2V5d29yZExlbmd0aCkKLSAg
ICAgICAgcmV0dXJuIDA7Ci0KICAgICBjaGFyIGJ1ZmZlclttYXhDU1NWYWx1ZUtleXdvcmRMZW5n
dGggKyAxICsgMV07IC8vIDEgdG8gdHVybiAiYXBwbGUiLyJraHRtbCIgaW50byAid2Via2l0Iiwg
MSBmb3IgbnVsbCBjaGFyYWN0ZXIKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgIT0gbGVu
Z3RoOyArK2kpIHsKLSAgICAgICAgVUNoYXIgYyA9IHN0cmluZy5jaGFyYWN0ZXJzW2ldOworICAg
ICAgICBDaGFyYWN0ZXJUeXBlIGMgPSB2YWx1ZUtleXdvcmRbaV07CiAgICAgICAgIGlmIChjID09
IDAgfHwgYyA+PSAweDdGKQogICAgICAgICAgICAgcmV0dXJuIDA7IC8vIGlsbGVnYWwgY2hhcmFj
dGVyCiAgICAgICAgIGJ1ZmZlcltpXSA9IFdURjo6dG9BU0NJSUxvd2VyKGMpOwpAQCAtMTAyMTYs
MzggKzEwNDUzLDYwIEBAIGludCBjc3NWYWx1ZUtleXdvcmRJRChjb25zdCBDU1NQYXJzZXJTdHIK
ICAgICByZXR1cm4gaGFzaFRhYmxlRW50cnkgPyBoYXNoVGFibGVFbnRyeS0+aWQgOiAwOwogfQog
Ci0vLyAiaWRlbnQiIGZyb20gdGhlIENTUyB0b2tlbml6ZXIsIG1pbnVzIGJhY2tzbGFzaC1lc2Nh
cGUgc2VxdWVuY2VzCi1zdGF0aWMgYm9vbCBpc0NTU1Rva2VuaXplcklkZW50aWZpZXIoY29uc3Qg
U3RyaW5nJiBzdHJpbmcpCitpbnQgY3NzVmFsdWVLZXl3b3JkSUQoY29uc3QgQ1NTUGFyc2VyU3Ry
aW5nJiBzdHJpbmcpCiB7Ci0gICAgY29uc3QgVUNoYXIqIHAgPSBzdHJpbmcuY2hhcmFjdGVycygp
OwotICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBwICsgc3RyaW5nLmxlbmd0aCgpOworICAgIHVuc2ln
bmVkIGxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgaWYgKGxlbmd0aCA+IG1heENTU1ZhbHVlS2V5d29yZExlbmd0aCkKKyAg
ICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gc3RyaW5nLmlzOEJpdCgpID8gY3NzVmFsdWVL
ZXl3b3JkSUQoc3RyaW5nLmNoYXJhY3RlcnM4KCksIGxlbmd0aCkgOiBjc3NWYWx1ZUtleXdvcmRJ
RChzdHJpbmcuY2hhcmFjdGVyczE2KCksIGxlbmd0aCk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGlzQ1NTVG9rZW5pemVySWRlbnRp
Zmllcihjb25zdCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCit7
CisgICAgY29uc3QgQ2hhcmFjdGVyVHlwZSogZW5kID0gY2hhcmFjdGVycyArIGxlbmd0aDsKIAog
ICAgIC8vIC0/Ci0gICAgaWYgKHAgIT0gZW5kICYmIHBbMF0gPT0gJy0nKQotICAgICAgICArK3A7
CisgICAgaWYgKGNoYXJhY3RlcnMgIT0gZW5kICYmIGNoYXJhY3RlcnNbMF0gPT0gJy0nKQorICAg
ICAgICArK2NoYXJhY3RlcnM7CiAKICAgICAvLyB7bm1zdGFydH0KLSAgICBpZiAocCA9PSBlbmQg
fHwgIShwWzBdID09ICdfJyB8fCBwWzBdID49IDEyOCB8fCBpc0FTQ0lJQWxwaGEocFswXSkpKQor
ICAgIGlmIChjaGFyYWN0ZXJzID09IGVuZCB8fCAhKGNoYXJhY3RlcnNbMF0gPT0gJ18nIHx8IGNo
YXJhY3RlcnNbMF0gPj0gMTI4IHx8IGlzQVNDSUlBbHBoYShjaGFyYWN0ZXJzWzBdKSkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICArK3A7CisgICAgKytjaGFyYWN0ZXJzOwogCiAgICAgLy8g
e25tY2hhcn0qCi0gICAgZm9yICg7IHAgIT0gZW5kOyArK3ApIHsKLSAgICAgICAgaWYgKCEocFsw
XSA9PSAnXycgfHwgcFswXSA9PSAnLScgfHwgcFswXSA+PSAxMjggfHwgaXNBU0NJSUFscGhhbnVt
ZXJpYyhwWzBdKSkpCisgICAgZm9yICg7IGNoYXJhY3RlcnMgIT0gZW5kOyArK2NoYXJhY3RlcnMp
IHsKKyAgICAgICAgaWYgKCEoY2hhcmFjdGVyc1swXSA9PSAnXycgfHwgY2hhcmFjdGVyc1swXSA9
PSAnLScgfHwgY2hhcmFjdGVyc1swXSA+PSAxMjggfHwgaXNBU0NJSUFscGhhbnVtZXJpYyhjaGFy
YWN0ZXJzWzBdKSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLS8vICJ1cmwiIGZyb20gdGhlIENTUyB0b2tlbml6ZXIsIG1pbnVzIGJh
Y2tzbGFzaC1lc2NhcGUgc2VxdWVuY2VzCi1zdGF0aWMgYm9vbCBpc0NTU1Rva2VuaXplclVSTChj
b25zdCBTdHJpbmcmIHN0cmluZykKKy8vICJpZGVudCIgZnJvbSB0aGUgQ1NTIHRva2VuaXplciwg
bWludXMgYmFja3NsYXNoLWVzY2FwZSBzZXF1ZW5jZXMKK3N0YXRpYyBib29sIGlzQ1NTVG9rZW5p
emVySWRlbnRpZmllcihjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKLSAgICBjb25zdCBVQ2hhciog
cCA9IHN0cmluZy5jaGFyYWN0ZXJzKCk7Ci0gICAgY29uc3QgVUNoYXIqIGVuZCA9IHAgKyBzdHJp
bmcubGVuZ3RoKCk7CisgICAgdW5zaWduZWQgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOworCisg
ICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChzdHJpbmcu
aXM4Qml0KCkpCisgICAgICAgIHJldHVybiBpc0NTU1Rva2VuaXplcklkZW50aWZpZXIoc3RyaW5n
LmNoYXJhY3RlcnM4KCksIGxlbmd0aCk7CisgICAgcmV0dXJuIGlzQ1NTVG9rZW5pemVySWRlbnRp
ZmllcihzdHJpbmcuY2hhcmFjdGVycygpLCBsZW5ndGgpOworfQogCi0gICAgZm9yICg7IHAgIT0g
ZW5kOyArK3ApIHsKLSAgICAgICAgVUNoYXIgYyA9IHBbMF07Cit0ZW1wbGF0ZSA8dHlwZW5hbWUg
Q2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgYm9vbCBpc0NTU1Rva2VuaXplclVSTChjb25z
dCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgY29u
c3QgQ2hhcmFjdGVyVHlwZSogZW5kID0gY2hhcmFjdGVycyArIGxlbmd0aDsKKyAgICAKKyAgICBm
b3IgKDsgY2hhcmFjdGVycyAhPSBlbmQ7ICsrY2hhcmFjdGVycykgeworICAgICAgICBDaGFyYWN0
ZXJUeXBlIGMgPSBjaGFyYWN0ZXJzWzBdOwogICAgICAgICBzd2l0Y2ggKGMpIHsKICAgICAgICAg
ICAgIGNhc2UgJyEnOgogICAgICAgICAgICAgY2FzZSAnIyc6CkBAIC0xMDI2NCwxMCArMTA1MjMs
MjMgQEAgc3RhdGljIGJvb2wgaXNDU1NUb2tlbml6ZXJVUkwoY29uc3QgU3RyaQogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICB9Ci0KKyAgICAKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAorLy8gInVybCIgZnJvbSB0aGUgQ1NTIHRva2VuaXplciwgbWludXMg
YmFja3NsYXNoLWVzY2FwZSBzZXF1ZW5jZXMKK3N0YXRpYyBib29sIGlzQ1NTVG9rZW5pemVyVVJM
KGNvbnN0IFN0cmluZyYgc3RyaW5nKQoreworICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0cmluZy5s
ZW5ndGgoKTsKKworICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IGlmIChzdHJpbmcuaXM4Qml0KCkpCisgICAgICAgIHJldHVybiBpc0NTU1Rva2VuaXplclVSTChz
dHJpbmcuY2hhcmFjdGVyczgoKSwgbGVuZ3RoKTsKKyAgICByZXR1cm4gaXNDU1NUb2tlbml6ZXJV
Ukwoc3RyaW5nLmNoYXJhY3RlcnMoKSwgbGVuZ3RoKTsKK30KKwogLy8gV2UgdXNlIHNpbmdsZSBx
dW90ZXMgZm9yIG5vdyBiZWNhdXNlIG1hcmt1cC5jcHAgdXNlcyBkb3VibGUgcXVvdGVzLgogU3Ry
aW5nIHF1b3RlQ1NTU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewpJbmRleDogU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaAkocmV2aXNpb24gMTI3MTYzKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5oCSh3b3JraW5nIGNvcHkpCkBAIC03MCw2ICs3MCw4IEBAIGNsYXNzIFdlYktpdENT
U01peEZ1bmN0aW9uVmFsdWU7CiAjZW5kaWYKIAogY2xhc3MgQ1NTUGFyc2VyIHsKKyAgICBmcmll
bmQgaW5saW5lIGludCBjc3N5eWxleCh2b2lkKiwgQ1NTUGFyc2VyKik7CisKIHB1YmxpYzoKICAg
ICBDU1NQYXJzZXIoY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYpOwogCkBAIC0zNTQsNyArMzU2LDkg
QEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8Q1NTUnVsZVNvdXJjZURhdGE+IHBvcFJ1bGVEYXRh
KCk7CiAgICAgdm9pZCByZXNldFByb3BlcnR5UmFuZ2UoKSB7IG1fcHJvcGVydHlSYW5nZS5zdGFy
dCA9IG1fcHJvcGVydHlSYW5nZS5lbmQgPSBVSU5UX01BWDsgfQogICAgIGJvb2wgaXNFeHRyYWN0
aW5nU291cmNlRGF0YSgpIGNvbnN0IHsgcmV0dXJuICEhbV9jdXJyZW50UnVsZURhdGFTdGFjazsg
fQotICAgIGludCBsZXgodm9pZCogeXlsdmFsKTsKKworICAgIGlubGluZSBpbnQgbGV4KHZvaWQq
IHl5bHZhbCkgeyByZXR1cm4gKHRoaXMtPiptX2xleEZ1bmMpKHl5bHZhbCk7IH0KKwogICAgIGlu
dCB0b2tlbigpIHsgcmV0dXJuIG1fdG9rZW47IH0KIAogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwpA
QCAtMzYzLDIzICszNjcsNzEgQEAgcHVibGljOgogICAgIHN0YXRpYyBLVVJMIGNvbXBsZXRlVVJM
KGNvbnN0IENTU1BhcnNlckNvbnRleHQmLCBjb25zdCBTdHJpbmcmIHVybCk7CiAKIHByaXZhdGU6
CisgICAgYm9vbCBpczhCaXRTb3VyY2UoKSB7IHJldHVybiBtX2lzOEJpdFNvdXJjZTsgfQorCisg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIFNvdXJjZUNoYXJhY3RlclR5cGU+CisgICAgaW50IHJlYWxM
ZXgodm9pZCogeXlsdmFsKTsKKworICAgIFVDaGFyKiYgY3VycmVudENoYXJhY3RlcjE2KCk7CisK
KyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgQ2hhcmFj
dGVyVHlwZSomIGN1cnJlbnRDaGFyYWN0ZXIoKTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSBDaGFyYWN0ZXJUeXBlKiB0b2tlblN0YXJ0KCk7CisK
KyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgdm9pZCBz
ZXRUb2tlblN0YXJ0KENoYXJhY3RlclR5cGUqKTsKKworICAgIGlubGluZSB1bnNpZ25lZCB0b2tl
blN0YXJ0T2Zmc2V0KCk7CisgICAgaW5saW5lIFVDaGFyIHRva2VuU3RhcnRDaGFyKCk7CisKKyAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KICAgICBpbmxpbmUgYm9vbCBpc0lk
ZW50aWZpZXJTdGFydCgpOwogCi0gICAgc3RhdGljIGlubGluZSBVQ2hhciogY2hlY2tBbmRTa2lw
U3RyaW5nKFVDaGFyKiwgVUNoYXIpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJU
eXBlPgorICAgIHN0YXRpYyBpbmxpbmUgQ2hhcmFjdGVyVHlwZSogY2hlY2tBbmRTa2lwU3RyaW5n
KENoYXJhY3RlclR5cGUqLCBpbnQpOworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3Rl
clR5cGU+CisgICAgdW5zaWduZWQgcGFyc2VFc2NhcGUoQ2hhcmFjdGVyVHlwZSomKTsKKyAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgRGVzdENoYXJhY3RlclR5cGU+CisgICAgaW5saW5lIHZvaWQgVW5p
Y29kZVRvQ2hhcnMoRGVzdENoYXJhY3RlclR5cGUqJiwgdW5zaWduZWQpOworICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBTcmNDaGFyYWN0ZXJUeXBlLCB0eXBlbmFtZSBEZXN0Q2hhcmFjdGVyVHlwZT4K
KyAgICBpbmxpbmUgYm9vbCBwYXJzZUlkZW50aWZpZXJJbnRlcm5hbChTcmNDaGFyYWN0ZXJUeXBl
KiYsIERlc3RDaGFyYWN0ZXJUeXBlKiYsIGJvb2wmKTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBDaGFyYWN0ZXJUeXBlPgorICAgIGlubGluZSB2b2lkIHBhcnNlSWRlbnRpZmllcihDaGFyYWN0
ZXJUeXBlKiYsIENTU1BhcnNlclN0cmluZyYsIGJvb2wmKTsKKworICAgIHRlbXBsYXRlIDx0eXBl
bmFtZSBTcmNDaGFyYWN0ZXJUeXBlLCB0eXBlbmFtZSBEZXN0Q2hhcmFjdGVyVHlwZT4KKyAgICBp
bmxpbmUgYm9vbCBwYXJzZVN0cmluZ0ludGVybmFsKFNyY0NoYXJhY3RlclR5cGUqJiwgRGVzdENo
YXJhY3RlclR5cGUqJiwgVUNoYXIpOworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3Rl
clR5cGU+CisgICAgaW5saW5lIHZvaWQgcGFyc2VTdHJpbmcoQ2hhcmFjdGVyVHlwZSomLCBDU1NQ
YXJzZXJTdHJpbmcmIHJlc3VsdFN0cmluZywgVUNoYXIpOworCisgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIENoYXJhY3RlclR5cGU+CisgICAgaW5saW5lIGJvb2wgcGFyc2VVUklJbnRlcm5hbChDaGFy
YWN0ZXJUeXBlKiYsIENoYXJhY3RlclR5cGUqJik7CiAKLSAgICB2b2lkIHBhcnNlRXNjYXBlKFVD
aGFyKiYpOwotICAgIGlubGluZSB2b2lkIHBhcnNlSWRlbnRpZmllcihVQ2hhciomLCBib29sJik7
Ci0gICAgaW5saW5lIHZvaWQgcGFyc2VTdHJpbmcoVUNoYXIqJiwgVUNoYXIpOwotICAgIGlubGlu
ZSB2b2lkIHBhcnNlVVJJKFVDaGFyKiYsIFVDaGFyKiYpOworICAgIGlubGluZSB2b2lkIHBhcnNl
VVJJKENTU1BhcnNlclN0cmluZyYpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJU
eXBlPgogICAgIGlubGluZSBib29sIHBhcnNlVW5pY29kZVJhbmdlKCk7CisgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiAgICAgYm9vbCBwYXJzZU50aENoaWxkKCk7CisgICAg
dGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiAgICAgYm9vbCBwYXJzZU50aENoaWxk
RXh0cmEoKTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KICAgICBpbmxp
bmUgdm9pZCBkZXRlY3RGdW5jdGlvblR5cGVUb2tlbihpbnQpOworICAgIHRlbXBsYXRlIDx0eXBl
bmFtZSBDaGFyYWN0ZXJUeXBlPgogICAgIGlubGluZSB2b2lkIGRldGVjdE1lZGlhUXVlcnlUb2tl
bihpbnQpOwotICAgIGlubGluZSB2b2lkIGRldGVjdE51bWJlclRva2VuKFVDaGFyKiwgaW50KTsK
KyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgdm9pZCBk
ZXRlY3ROdW1iZXJUb2tlbihDaGFyYWN0ZXJUeXBlKiwgaW50KTsKKyAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgQ2hhcmFjdGVyVHlwZT4KICAgICBpbmxpbmUgdm9pZCBkZXRlY3REYXNoVG9rZW4oaW50
KTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KICAgICBpbmxpbmUgdm9p
ZCBkZXRlY3RBdFRva2VuKGludCwgYm9vbCk7CiAKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hh
cmFjdGVyVHlwZT4KKyAgICBpbmxpbmUgdm9pZCBzZXRSdWxlSGVhZGVyRW5kKGNvbnN0IENoYXJh
Y3RlclR5cGUqKTsKKwogICAgIHZvaWQgc2V0U3R5bGVTaGVldChTdHlsZVNoZWV0Q29udGVudHMq
KTsKIAogICAgIGlubGluZSBib29sIGluU3RyaWN0TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29u
dGV4dC5tb2RlID09IENTU1N0cmljdE1vZGUgfHwgbV9jb250ZXh0Lm1vZGUgPT0gU1ZHQXR0cmli
dXRlTW9kZTsgfQpAQCAtNDMwLDkgKzQ4MiwxNiBAQCBwcml2YXRlOgogICAgIH07CiAKICAgICBQ
YXJzaW5nTW9kZSBtX3BhcnNpbmdNb2RlOwotICAgIE93bkFycmF5UHRyPFVDaGFyPiBtX2RhdGFT
dGFydDsKLSAgICBVQ2hhciogbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgIFVDaGFyKiBtX3Rva2Vu
U3RhcnQ7CisgICAgYm9vbCBtX2lzOEJpdFNvdXJjZTsKKyAgICBPd25BcnJheVB0cjxMQ2hhcj4g
bV9kYXRhU3RhcnQ4OworICAgIE93bkFycmF5UHRyPFVDaGFyPiBtX2RhdGFTdGFydDE2OworICAg
IExDaGFyKiBtX2N1cnJlbnRDaGFyYWN0ZXI4OworICAgIFVDaGFyKiBtX2N1cnJlbnRDaGFyYWN0
ZXIxNjsKKyAgICB1bmlvbiB7CisgICAgICAgIExDaGFyKiBwdHI4OworICAgICAgICBVQ2hhciog
cHRyMTY7CisgICAgfSBtX3Rva2VuU3RhcnQ7CisgICAgdW5zaWduZWQgbV9sZW5ndGg7CiAgICAg
aW50IG1fdG9rZW47CiAgICAgaW50IG1fbGluZU51bWJlcjsKICAgICBpbnQgbV9sYXN0U2VsZWN0
b3JMaW5lTnVtYmVyOwpAQCAtNDQwLDYgKzQ5OSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Fs
bG93SW1wb3J0UnVsZXM7CiAgICAgYm9vbCBtX2FsbG93TmFtZXNwYWNlRGVjbGFyYXRpb25zOwog
CisgICAgaW50IChDU1NQYXJzZXI6OiptX2xleEZ1bmMpKHZvaWQqKTsKKwogICAgIFZlY3RvcjxS
ZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiBtX3BhcnNlZFJ1bGVzOwogICAgIFZlY3RvcjxSZWZQdHI8
U3R5bGVLZXlmcmFtZT4gPiBtX3BhcnNlZEtleWZyYW1lczsKICAgICBWZWN0b3I8UmVmUHRyPE1l
ZGlhUXVlcnlTZXQ+ID4gbV9wYXJzZWRNZWRpYVF1ZXJ5U2V0czsKQEAgLTUzNSw2ICs1OTYsMzgg
QEAgU3RyaW5nIHF1b3RlQ1NTU3RyaW5nSWZOZWVkZWQoY29uc3QgU3RyaQogU3RyaW5nIHF1b3Rl
Q1NTVVJMSWZOZWVkZWQoY29uc3QgU3RyaW5nJik7CiAKIGJvb2wgaXNWYWxpZE50aFRva2VuKGNv
bnN0IENTU1BhcnNlclN0cmluZyYpOworCit0ZW1wbGF0ZSA8PgoraW5saW5lIHZvaWQgQ1NTUGFy
c2VyOjpzZXRUb2tlblN0YXJ0PExDaGFyPihMQ2hhciogdG9rZW5TdGFydCkKK3sKKyAgICBtX3Rv
a2VuU3RhcnQucHRyOCA9IHRva2VuU3RhcnQ7Cit9CisKK3RlbXBsYXRlIDw+CitpbmxpbmUgdm9p
ZCBDU1NQYXJzZXI6OnNldFRva2VuU3RhcnQ8VUNoYXI+KFVDaGFyKiB0b2tlblN0YXJ0KQorewor
ICAgIG1fdG9rZW5TdGFydC5wdHIxNiA9IHRva2VuU3RhcnQ7Cit9CisKK2lubGluZSB1bnNpZ25l
ZCBDU1NQYXJzZXI6OnRva2VuU3RhcnRPZmZzZXQoKQoreworICAgIGlmIChpczhCaXRTb3VyY2Uo
KSkKKyAgICAgICAgcmV0dXJuIG1fdG9rZW5TdGFydC5wdHI4IC0gbV9kYXRhU3RhcnQ4LmdldCgp
OworICAgIHJldHVybiBtX3Rva2VuU3RhcnQucHRyMTYgLSBtX2RhdGFTdGFydDE2LmdldCgpOwor
fQorCitpbmxpbmUgVUNoYXIgQ1NTUGFyc2VyOjp0b2tlblN0YXJ0Q2hhcigpCit7CisgICAgaWYg
KGlzOEJpdFNvdXJjZSgpKQorICAgICAgICByZXR1cm4gKm1fdG9rZW5TdGFydC5wdHI4OworICAg
IHJldHVybiAqbV90b2tlblN0YXJ0LnB0cjE2OworfQorCitpbmxpbmUgaW50IGNzc3l5bGV4KHZv
aWQqIHl5bHZhbCwgQ1NTUGFyc2VyKiBwYXJzZXIpCit7CisgICAgcmV0dXJuIHBhcnNlci0+bGV4
KHl5bHZhbCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIENTU1Bh
cnNlcl9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCShyZXZpc2lvbiAx
MjcxNjMpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1
ZGUgIkNTU1ZhbHVlTGlzdC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgor
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTMxLDEzICszMiw3NCBAQCBjbGFzcyBDU1NWYWx1ZTsKIGNsYXNzIFF1YWxpZmllZE5hbWU7
CiAKIHN0cnVjdCBDU1NQYXJzZXJTdHJpbmcgewotICAgIFVDaGFyKiBjaGFyYWN0ZXJzOwotICAg
IGludCBsZW5ndGg7CisgICAgdm9pZCBpbml0KExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBs
ZW5ndGgpCisgICAgeworICAgICAgICBtX2RhdGEuY2hhcmFjdGVyczggPSBjaGFyYWN0ZXJzOwor
ICAgICAgICBtX2xlbmd0aCA9IGxlbmd0aDsKKyAgICAgICAgbV9pczhCaXQgPSB0cnVlOworICAg
IH0KKworICAgIHZvaWQgaW5pdChVQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQor
ICAgIHsKKyAgICAgICAgbV9kYXRhLmNoYXJhY3RlcnMxNiA9IGNoYXJhY3RlcnM7CisgICAgICAg
IG1fbGVuZ3RoID0gbGVuZ3RoOworICAgICAgICBtX2lzOEJpdCA9IGZhbHNlOworICAgIH0KKwor
ICAgIHZvaWQgaW5pdChTdHJpbmcgc3RyaW5nKQorICAgIHsKKyAgICAgICAgbV9sZW5ndGggPSBz
dHJpbmcubGVuZ3RoKCk7CisgICAgICAgIGlmIChtX2xlbmd0aCAmJiBzdHJpbmcuaXM4Qml0KCkp
IHsKKyAgICAgICAgICAgIG1fZGF0YS5jaGFyYWN0ZXJzOCA9IGNvbnN0X2Nhc3Q8TENoYXIqPihz
dHJpbmcuY2hhcmFjdGVyczgoKSk7CisgICAgICAgICAgICBtX2lzOEJpdCA9IHRydWU7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtX2RhdGEuY2hhcmFjdGVyczE2ID0gY29uc3RfY2Fz
dDxVQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpOworICAgICAgICAgICAgbV9pczhCaXQgPSBm
YWxzZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHZvaWQgY2xlYXIoKQorICAgIHsKKyAgICAg
ICAgbV9kYXRhLmNoYXJhY3RlcnM4ID0gMDsKKyAgICAgICAgbV9sZW5ndGggPSAwOworICAgICAg
ICBtX2lzOEJpdCA9IGZhbHNlOworICAgIH0KKworICAgIGJvb2wgaXM4Qml0KCkgY29uc3QgeyBy
ZXR1cm4gbV9pczhCaXQ7IH0KKyAgICBMQ2hhciogY2hhcmFjdGVyczgoKSBjb25zdCB7IEFTU0VS
VChpczhCaXQoKSk7IHJldHVybiBtX2RhdGEuY2hhcmFjdGVyczg7IH0KKyAgICBVQ2hhciogY2hh
cmFjdGVyczE2KCkgY29uc3QgeyBBU1NFUlQoIWlzOEJpdCgpKTsgcmV0dXJuIG1fZGF0YS5jaGFy
YWN0ZXJzMTY7IH0KKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KKyAgICBD
aGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzKCkgY29uc3Q7CisKKyAgICB1bnNpZ25lZCBsZW5ndGgo
KSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQorICAgIHZvaWQgc2V0TGVuZ3RoKHVuc2lnbmVk
IGxlbmd0aCkgeyBtX2xlbmd0aCA9IGxlbmd0aDsgfQogCiAgICAgdm9pZCBsb3dlcigpOwogCi0g
ICAgb3BlcmF0b3IgU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKGNoYXJhY3RlcnMsIGxl
bmd0aCk7IH0KLSAgICBvcGVyYXRvciBBdG9taWNTdHJpbmcoKSBjb25zdCB7IHJldHVybiBBdG9t
aWNTdHJpbmcoY2hhcmFjdGVycywgbGVuZ3RoKTsgfQorICAgIFVDaGFyIG9wZXJhdG9yW10odW5z
aWduZWQgaSkKKyAgICB7CisgICAgICAgIEFTU0VSVChpIDwgbV9sZW5ndGgpOworICAgICAgICBp
ZiAoaXM4Qml0KCkpCisgICAgICAgICAgICByZXR1cm4gbV9kYXRhLmNoYXJhY3RlcnM4W2ldOwor
ICAgICAgICByZXR1cm4gbV9kYXRhLmNoYXJhY3RlcnMxNltpXTsKKyAgICB9CisKKyAgICBib29s
IGVxdWFsSWdub3JpbmdDYXNlKGNvbnN0IGNoYXIqIHN0cikKKyAgICB7CisgICAgICAgIGlmIChp
czhCaXQoKSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6OmVxdWFsSWdub3JpbmdDYXNlKHN0ciwg
Y2hhcmFjdGVyczgoKSwgbGVuZ3RoKCkpOworICAgICAgICByZXR1cm4gV1RGOjplcXVhbElnbm9y
aW5nQ2FzZShzdHIsIGNoYXJhY3RlcnMxNigpLCBsZW5ndGgoKSk7CisgICAgfQorCisgICAgb3Bl
cmF0b3IgU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gaXM4Qml0KCkgPyBTdHJpbmcobV9kYXRhLmNo
YXJhY3RlcnM4LCBtX2xlbmd0aCkgOiBTdHJpbmcobV9kYXRhLmNoYXJhY3RlcnMxNiwgbV9sZW5n
dGgpOyB9CisgICAgb3BlcmF0b3IgQXRvbWljU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gaXM4Qml0
KCkgPyBBdG9taWNTdHJpbmcobV9kYXRhLmNoYXJhY3RlcnM4LCBtX2xlbmd0aCkgOiBBdG9taWNT
dHJpbmcobV9kYXRhLmNoYXJhY3RlcnMxNiwgbV9sZW5ndGgpOyB9CisKKyAgICB1bmlvbiB7Cisg
ICAgICAgIExDaGFyKiBjaGFyYWN0ZXJzODsKKyAgICAgICAgVUNoYXIqIGNoYXJhY3RlcnMxNjsK
KyAgICB9IG1fZGF0YTsKKyAgICB1bnNpZ25lZCBtX2xlbmd0aDsKKyAgICBib29sIG1faXM4Qml0
OwogfTsKIAogc3RydWN0IENTU1BhcnNlckZ1bmN0aW9uOwpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcAkocmV2aXNpb24gMTI3MTYzKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MjUsNyArMTI1LDggQEAgUkdCQTMyIG1ha2VSR0JBRnJvbUNNWUtBKGZsb2F0IGMsIGZsb2F0IAog
fQogCiAvLyBvcmlnaW5hbGx5IG1vdmVkIGhlcmUgZnJvbSB0aGUgQ1NTIHBhcnNlcgotYm9vbCBD
b2xvcjo6cGFyc2VIZXhDb2xvcihjb25zdCBVQ2hhciogbmFtZSwgdW5zaWduZWQgbGVuZ3RoLCBS
R0JBMzImIHJnYikKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlu
bGluZSBib29sIHBhcnNlSGV4Q29sb3JJbnRlcm5hbChjb25zdCBDaGFyYWN0ZXJUeXBlKiBuYW1l
LCB1bnNpZ25lZCBsZW5ndGgsIFJHQkEzMiYgcmdiKQogewogICAgIGlmIChsZW5ndGggIT0gMyAm
JiBsZW5ndGggIT0gNikKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTQ4LDggKzE0OSwyNCBA
QCBib29sIENvbG9yOjpwYXJzZUhleENvbG9yKGNvbnN0IFVDaGFyKiBuCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKK2Jvb2wgQ29sb3I6OnBhcnNlSGV4Q29sb3IoY29uc3QgTENoYXIqIG5hbWUsIHVu
c2lnbmVkIGxlbmd0aCwgUkdCQTMyJiByZ2IpCit7CisgICAgcmV0dXJuIHBhcnNlSGV4Q29sb3JJ
bnRlcm5hbChuYW1lLCBsZW5ndGgsIHJnYik7Cit9CisKK2Jvb2wgQ29sb3I6OnBhcnNlSGV4Q29s
b3IoY29uc3QgVUNoYXIqIG5hbWUsIHVuc2lnbmVkIGxlbmd0aCwgUkdCQTMyJiByZ2IpCit7Cisg
ICAgcmV0dXJuIHBhcnNlSGV4Q29sb3JJbnRlcm5hbChuYW1lLCBsZW5ndGgsIHJnYik7Cit9CisK
IGJvb2wgQ29sb3I6OnBhcnNlSGV4Q29sb3IoY29uc3QgU3RyaW5nJiBuYW1lLCBSR0JBMzImIHJn
YikKIHsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBuYW1lLmxlbmd0aCgpOworICAgIAorICAgIGlm
ICghbGVuZ3RoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKG5hbWUuaXM4Qml0KCkp
CisgICAgICAgIHJldHVybiBwYXJzZUhleENvbG9yKG5hbWUuY2hhcmFjdGVyczgoKSwgbmFtZS5s
ZW5ndGgoKSwgcmdiKTsKICAgICByZXR1cm4gcGFyc2VIZXhDb2xvcihuYW1lLmNoYXJhY3RlcnMo
KSwgbmFtZS5sZW5ndGgoKSwgcmdiKTsKIH0KIApAQCAtMTYzLDkgKzE4MCwxMiBAQCBpbnQgZGlm
ZmVyZW5jZVNxdWFyZWQoY29uc3QgQ29sb3ImIGMxLCBjCiAKIENvbG9yOjpDb2xvcihjb25zdCBT
dHJpbmcmIG5hbWUpCiB7Ci0gICAgaWYgKG5hbWVbMF0gPT0gJyMnKQotICAgICAgICBtX3ZhbGlk
ID0gcGFyc2VIZXhDb2xvcihuYW1lLmNoYXJhY3RlcnMoKSArIDEsIG5hbWUubGVuZ3RoKCkgLSAx
LCBtX2NvbG9yKTsKLSAgICBlbHNlCisgICAgaWYgKG5hbWVbMF0gPT0gJyMnKSB7CisgICAgICAg
IGlmIChuYW1lLmlzOEJpdCgpKQorICAgICAgICAgICAgbV92YWxpZCA9IHBhcnNlSGV4Q29sb3Io
bmFtZS5jaGFyYWN0ZXJzOCgpICsgMSwgbmFtZS5sZW5ndGgoKSAtIDEsIG1fY29sb3IpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICBtX3ZhbGlkID0gcGFyc2VIZXhDb2xvcihuYW1lLmNoYXJh
Y3RlcnMoKSArIDEsIG5hbWUubGVuZ3RoKCkgLSAxLCBtX2NvbG9yKTsKKyAgICB9IGVsc2UKICAg
ICAgICAgc2V0TmFtZWRDb2xvcihuYW1lKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db2xvci5oCShyZXZpc2lvbiAxMjcxNjMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTYsOCArMTU2
LDkgQEAgcHVibGljOgogICAgIENvbG9yKENHQ29sb3JSZWYpOwogI2VuZGlmCiAKLSAgICBzdGF0
aWMgYm9vbCBwYXJzZUhleENvbG9yKGNvbnN0IFN0cmluZyYgbmFtZSwgUkdCQTMyJiByZ2IpOwot
ICAgIHN0YXRpYyBib29sIHBhcnNlSGV4Q29sb3IoY29uc3QgVUNoYXIqIG5hbWUsIHVuc2lnbmVk
IGxlbmd0aCwgUkdCQTMyJiByZ2IpOworICAgIHN0YXRpYyBib29sIHBhcnNlSGV4Q29sb3IoY29u
c3QgU3RyaW5nJiwgUkdCQTMyJik7CisgICAgc3RhdGljIGJvb2wgcGFyc2VIZXhDb2xvcihjb25z
dCBMQ2hhciosIHVuc2lnbmVkLCBSR0JBMzImKTsKKyAgICBzdGF0aWMgYm9vbCBwYXJzZUhleENv
bG9yKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQsIFJHQkEzMiYpOwogCiAgICAgc3RhdGljIGNvbnN0
IFJHQkEzMiBibGFjayA9IDB4RkYwMDAwMDA7CiAgICAgc3RhdGljIGNvbnN0IFJHQkEzMiB3aGl0
ZSA9IDB4RkZGRkZGRkY7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRF
bmNvZGluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9U
ZXh0RW5jb2RpbmcuY3BwCShyZXZpc2lvbiAxMjcxNjMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1RleHRFbmNvZGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU4LDcgKzU4LDcg
QEAgVGV4dEVuY29kaW5nOjpUZXh0RW5jb2RpbmcoY29uc3QgY2hhciogbgogfQogCiBUZXh0RW5j
b2Rpbmc6OlRleHRFbmNvZGluZyhjb25zdCBTdHJpbmcmIG5hbWUpCi0gICAgOiBtX25hbWUoYXRv
bWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTmFtZShuYW1lLmNoYXJhY3RlcnMoKSwgbmFtZS5sZW5n
dGgoKSkpCisgICAgOiBtX25hbWUoYXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTmFtZShuYW1l
KSkKICAgICAsIG1fYmFja3NsYXNoQXNDdXJyZW5jeVN5bWJvbChiYWNrc2xhc2hBc0N1cnJlbmN5
U3ltYm9sKCkpCiB7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRF
bmNvZGluZ1JlZ2lzdHJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcAkocmV2aXNpb24gMTI3MTYzKQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTM0OCwxMiArMzQ4LDEzIEBAIGNvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNh
bFRleHRFbmNvZGluZ04KICAgICByZXR1cm4gdGV4dEVuY29kaW5nTmFtZU1hcC0+Z2V0KG5hbWUp
OwogfQogCi1jb25zdCBjaGFyKiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lKGNvbnN0
IFVDaGFyKiBjaGFyYWN0ZXJzLCBzaXplX3QgbGVuZ3RoKQordGVtcGxhdGUgPHR5cGVuYW1lIENo
YXJhY3RlclR5cGU+Citjb25zdCBjaGFyKiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1l
KGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgpCiB7CiAgICAg
Y2hhciBidWZmZXJbbWF4RW5jb2RpbmdOYW1lTGVuZ3RoICsgMV07CiAgICAgc2l6ZV90IGogPSAw
OwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKLSAgICAgICAgVUNo
YXIgYyA9IGNoYXJhY3RlcnNbaV07CisgICAgICAgIENoYXJhY3RlclR5cGUgYyA9IGNoYXJhY3Rl
cnNbaV07CiAgICAgICAgIGlmIChqID09IG1heEVuY29kaW5nTmFtZUxlbmd0aCkKICAgICAgICAg
ICAgIHJldHVybiAwOwogICAgICAgICBidWZmZXJbaisrXSA9IGM7CkBAIC0zNjIsNiArMzYzLDE3
IEBAIGNvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ04KICAgICByZXR1cm4g
YXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTmFtZShidWZmZXIpOwogfQogCitjb25zdCBjaGFy
KiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lKGNvbnN0IFN0cmluZyYgYWxpYXMpCit7
CisgICAgaWYgKCFhbGlhcy5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAo
YWxpYXMuaXM4Qml0KCkpCisgICAgICAgIHJldHVybiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2Rp
bmdOYW1lPExDaGFyPihhbGlhcy5jaGFyYWN0ZXJzOCgpLCBhbGlhcy5sZW5ndGgoKSk7CisKKyAg
ICByZXR1cm4gYXRvbWljQ2Fub25pY2FsVGV4dEVuY29kaW5nTmFtZTxVQ2hhcj4oYWxpYXMuY2hh
cmFjdGVycygpLCBhbGlhcy5sZW5ndGgoKSk7Cit9CisKIGJvb2wgbm9FeHRlbmRlZFRleHRFbmNv
ZGluZ05hbWVVc2VkKCkKIHsKICAgICAvLyBJZiB0aGUgY2FsbGluZyB0aHJlYWQgZGlkIG5vdCB1
c2UgZXh0ZW5kZWQgZW5jb2RpbmcgbmFtZXMsIGl0IGlzIGZpbmUgZm9yIGl0IHRvIHVzZSBhIHN0
YWxlIGZhbHNlIHZhbHVlLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
RW5jb2RpbmdSZWdpc3RyeS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuaAkocmV2aXNpb24gMTI3MTYzKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KICNpbmNsdWRl
IDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcg
KzQyLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gT25seSBUZXh0RW5jb2Rpbmcg
c2hvdWxkIHVzZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBkaXJlY3RseS4KICAgICBjb25zdCBj
aGFyKiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lKGNvbnN0IGNoYXIqIGFsaWFzKTsK
LSAgICBjb25zdCBjaGFyKiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lKGNvbnN0IFVD
aGFyKiBhbGlhc0NoYXJhY3RlcnMsIHNpemVfdCBhbGlhc0xlbmd0aCk7CisgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CisgICAgY29uc3QgY2hhciogYXRvbWljQ2Fub25pY2Fs
VGV4dEVuY29kaW5nTmFtZShjb25zdCBDaGFyYWN0ZXJUeXBlKiwgc2l6ZV90KTsKKyAgICBjb25z
dCBjaGFyKiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lKGNvbnN0IFN0cmluZyYpOwog
ICAgIGJvb2wgbm9FeHRlbmRlZFRleHRFbmNvZGluZ05hbWVVc2VkKCk7CiAgICAgYm9vbCBpc0ph
cGFuZXNlRW5jb2RpbmcoY29uc3QgY2hhciogY2Fub25pY2FsRW5jb2RpbmdOYW1lKTsKICAgICBi
b29sIHNob3VsZFNob3dCYWNrc2xhc2hBc0N1cnJlbmN5U3ltYm9sSW4oY29uc3QgY2hhciogY2Fu
b25pY2FsRW5jb2RpbmdOYW1lKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJV
dGlsaXRpZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJV
dGlsaXRpZXMuY3BwCShyZXZpc2lvbiAxMjcxNjMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGFyc2VyVXRpbGl0aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsMTEgKzQzLDExIEBAIHRl
bXBsYXRlIDx0eXBlbmFtZSBGbG9hdFR5cGU+IHN0YXRpYyBpbmwKIC8vIFdlIHVzZSB0aGlzIGdl
bmVyaWMgcGFyc2VOdW1iZXIgZnVuY3Rpb24gdG8gYWxsb3cgdGhlIFBhdGggcGFyc2luZyBjb2Rl
IHRvIHdvcmsgCiAvLyBhdCBhIGhpZ2hlciBwcmVjaXNpb24gaW50ZXJuYWxseSwgd2l0aG91dCBh
bnkgdW5uZWNlc3NhcnkgcnVudGltZSBjb3N0IG9yIGNvZGUKIC8vIGNvbXBsZXhpdHkuCi10ZW1w
bGF0ZSA8dHlwZW5hbWUgRmxvYXRUeXBlPiBzdGF0aWMgYm9vbCBnZW5lcmljUGFyc2VOdW1iZXIo
Y29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQsIEZsb2F0VHlwZSYgbnVtYmVyLCBi
b29sIHNraXApCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZSwgdHlwZW5hbWUgRmxv
YXRUeXBlPiBzdGF0aWMgYm9vbCBnZW5lcmljUGFyc2VOdW1iZXIoY29uc3QgQ2hhcmFjdGVyVHlw
ZSomIHB0ciwgY29uc3QgQ2hhcmFjdGVyVHlwZSogZW5kLCBGbG9hdFR5cGUmIG51bWJlciwgYm9v
bCBza2lwKQogewogICAgIEZsb2F0VHlwZSBpbnRlZ2VyLCBkZWNpbWFsLCBmcmFjLCBleHBvbmVu
dDsKICAgICBpbnQgc2lnbiwgZXhwc2lnbjsKLSAgICBjb25zdCBVQ2hhciogc3RhcnQgPSBwdHI7
CisgICAgY29uc3QgQ2hhcmFjdGVyVHlwZSogc3RhcnQgPSBwdHI7CiAKICAgICBleHBvbmVudCA9
IDA7CiAgICAgaW50ZWdlciA9IDA7CkBAIC02OSwxMiArNjksMTIgQEAgdGVtcGxhdGUgPHR5cGVu
YW1lIEZsb2F0VHlwZT4gc3RhdGljIGJvbwogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAv
LyByZWFkIHRoZSBpbnRlZ2VyIHBhcnQsIGJ1aWxkIHJpZ2h0LXRvLWxlZnQKLSAgICBjb25zdCBV
Q2hhciogcHRyU3RhcnRJbnRQYXJ0ID0gcHRyOworICAgIGNvbnN0IENoYXJhY3RlclR5cGUqIHB0
clN0YXJ0SW50UGFydCA9IHB0cjsKICAgICB3aGlsZSAocHRyIDwgZW5kICYmICpwdHIgPj0gJzAn
ICYmICpwdHIgPD0gJzknKQogICAgICAgICArK3B0cjsgLy8gQWR2YW5jZSB0byBmaXJzdCBub24t
ZGlnaXQuCiAKICAgICBpZiAocHRyICE9IHB0clN0YXJ0SW50UGFydCkgewotICAgICAgICBjb25z
dCBVQ2hhciogcHRyU2NhbkludFBhcnQgPSBwdHIgLSAxOworICAgICAgICBjb25zdCBDaGFyYWN0
ZXJUeXBlKiBwdHJTY2FuSW50UGFydCA9IHB0ciAtIDE7CiAgICAgICAgIEZsb2F0VHlwZSBtdWx0
aXBsaWVyID0gMTsKICAgICAgICAgd2hpbGUgKHB0clNjYW5JbnRQYXJ0ID49IHB0clN0YXJ0SW50
UGFydCkgewogICAgICAgICAgICAgaW50ZWdlciArPSBtdWx0aXBsaWVyICogc3RhdGljX2Nhc3Q8
RmxvYXRUeXBlPigqKHB0clNjYW5JbnRQYXJ0LS0pIC0gJzAnKTsKQEAgLTE0MiwxMyArMTQyLDE4
IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBGbG9hdFR5cGU+IHN0YXRpYyBib28KICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotYm9vbCBwYXJzZVNWR051bWJlcihVQ2hhciomIGJlZ2luLCBzaXplX3QgbGVu
Z3RoLCBkb3VibGUmIG51bWJlcikKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgor
Ym9vbCBwYXJzZVNWR051bWJlcihDaGFyYWN0ZXJUeXBlKiBiZWdpbiwgc2l6ZV90IGxlbmd0aCwg
ZG91YmxlJiBudW1iZXIpCiB7Ci0gICAgY29uc3QgVUNoYXIqIHB0ciA9IGJlZ2luOwotICAgIGNv
bnN0IFVDaGFyKiBlbmQgPSBwdHIgKyBsZW5ndGg7CisgICAgY29uc3QgQ2hhcmFjdGVyVHlwZSog
cHRyID0gYmVnaW47CisgICAgY29uc3QgQ2hhcmFjdGVyVHlwZSogZW5kID0gcHRyICsgbGVuZ3Ro
OwogICAgIHJldHVybiBnZW5lcmljUGFyc2VOdW1iZXIocHRyLCBlbmQsIG51bWJlciwgZmFsc2Up
OwogfQogCisvLyBFeHBsaWNpdGx5IGluc3RhbnRpYXRlIHRoZSB0d28gZmxhdm9ycyBvZiBwYXJz
ZVNWR051bWJlcigpIHRvIHNhdGlzZnkgZXh0ZXJuYWwgY2FsbGVycwordGVtcGxhdGUgYm9vbCBw
YXJzZVNWR051bWJlcihMQ2hhciogYmVnaW4sIHNpemVfdCBsZW5ndGgsIGRvdWJsZSYpOwordGVt
cGxhdGUgYm9vbCBwYXJzZVNWR051bWJlcihVQ2hhciogYmVnaW4sIHNpemVfdCBsZW5ndGgsIGRv
dWJsZSYpOworCiBib29sIHBhcnNlTnVtYmVyKGNvbnN0IFVDaGFyKiYgcHRyLCBjb25zdCBVQ2hh
ciogZW5kLCBmbG9hdCYgbnVtYmVyLCBib29sIHNraXApIAogewogICAgIHJldHVybiBnZW5lcmlj
UGFyc2VOdW1iZXIocHRyLCBlbmQsIG51bWJlciwgc2tpcCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhcnNlclV0aWxpdGllcy5oCShyZXZpc2lvbiAxMjcxNjMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMz
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgU1ZHUG9p
bnRMaXN0OwogCi1ib29sIHBhcnNlU1ZHTnVtYmVyKFVDaGFyKiYgcHRyLCBzaXplX3QgbGVuZ3Ro
LCBkb3VibGUmIG51bWJlcik7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2Jv
b2wgcGFyc2VTVkdOdW1iZXIoQ2hhcmFjdGVyVHlwZSogcHRyLCBzaXplX3QgbGVuZ3RoLCBkb3Vi
bGUmIG51bWJlcik7CiBib29sIHBhcnNlTnVtYmVyKGNvbnN0IFVDaGFyKiYgcHRyLCBjb25zdCBV
Q2hhciogZW5kLCBmbG9hdCYgbnVtYmVyLCBib29sIHNraXAgPSB0cnVlKTsKIGJvb2wgcGFyc2VO
dW1iZXJGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYsIGZsb2F0JiBudW1iZXIsIGJvb2wgc2tpcCA9
IHRydWUpOwogYm9vbCBwYXJzZU51bWJlck9wdGlvbmFsTnVtYmVyKGNvbnN0IFN0cmluZyYgcywg
ZmxvYXQmIGgsIGZsb2F0JiB2KTsKQEAgLTQyLDE5ICs0MywyMiBAQCBib29sIHBhcnNlUmVjdChj
b25zdCBTdHJpbmcmLCBGbG9hdFJlY3QmCiAKIC8vIFNWRyBhbGxvd3Mgc2V2ZXJhbCBkaWZmZXJl
bnQgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzOgogLy8gaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHL3Bh
dGhzLmh0bWwjUGF0aERhdGFCTkYKLWlubGluZSBib29sIGlzU1ZHU3BhY2UoVUNoYXIgYykKK3Rl
bXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgoraW5saW5lIGJvb2wgaXNTVkdTcGFjZShD
aGFyYWN0ZXJUeXBlIGMpCiB7CiAgICAgcmV0dXJuIGMgPT0gJyAnIHx8IGMgPT0gJ1x0JyB8fCBj
ID09ICdcbicgfHwgYyA9PSAnXHInOwogfQogCi1pbmxpbmUgYm9vbCBza2lwT3B0aW9uYWxTVkdT
cGFjZXMoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQpCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK2lubGluZSBib29sIHNraXBPcHRpb25hbFNWR1NwYWNlcyhj
b25zdCBDaGFyYWN0ZXJUeXBlKiYgcHRyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBlbmQpCiB7CiAg
ICAgd2hpbGUgKHB0ciA8IGVuZCAmJiBpc1NWR1NwYWNlKCpwdHIpKQogICAgICAgICBwdHIrKzsK
ICAgICByZXR1cm4gcHRyIDwgZW5kOwogfQogCi1pbmxpbmUgYm9vbCBza2lwT3B0aW9uYWxTVkdT
cGFjZXNPckRlbGltaXRlcihjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIqIGVuZCwgVUNo
YXIgZGVsaW1pdGVyID0gJywnKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Citp
bmxpbmUgYm9vbCBza2lwT3B0aW9uYWxTVkdTcGFjZXNPckRlbGltaXRlcihjb25zdCBDaGFyYWN0
ZXJUeXBlKiYgcHRyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBlbmQsIGNoYXIgZGVsaW1pdGVyID0g
JywnKQogewogICAgIGlmIChwdHIgPCBlbmQgJiYgIWlzU1ZHU3BhY2UoKnB0cikgJiYgKnB0ciAh
PSBkZWxpbWl0ZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKSW5kZXg6IExheW91dFRlc3RzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEy
NzE2MykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE2IEBACisyMDEyLTA4LTMwICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgor
CisgICAgICAgIENTUyBQYXJzZXIgc2hvdWxkIGRpcmVjdGx5IHBhcnNlIDggYml0IHNvdXJjZSBz
dHJpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NTIwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5l
dyB0ZXN0IHRoYXQgY2hlY2tzIHRoZSBjYXNlIHRoYXQgYSAxNiBiaXQgdW5pY29kZSBlc2NhcGUg
aW4gYW4gOCBiaXQgQ1NTIAorICAgICAgICBzb3VyY2UgaXMgcHJvcGVybHkgaGFuZGxlZC4KKwor
ICAgICAgICAqIGZhc3QvY3NzL3VuaWNvZGUtZXNjYXBlLWluLThiaXQtc3RyaW5nLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3VuaWNvZGUtZXNjYXBlLWluLThiaXQt
c3RyaW5nLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA4LTI0ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRA
d2Via2l0Lm9yZz4KIAogICAgICAgICBDU1MgMi4xIGZhaWx1cmU6IG1hcmdpbi1jb2xsYXBzZS1j
bGVhci0wMTIgZmFpbHMKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3VuaWNvZGUtZXNjYXBl
LWluLThiaXQtc3RyaW5nLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvdW5pY29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmctZXhwZWN0ZWQuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3VuaWNvZGUtZXNjYXBlLWluLThiaXQt
c3RyaW5nLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+VGhpcyBsaW5lIHNob3VsZCBlbmQgd2l0aCBh
IEV1cm8gc2lnbiAtICZldXJvOzwvcD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvY3NzL3VuaWNvZGUtZXNjYXBlLWluLThiaXQtc3RyaW5nLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdW5pY29kZS1lc2NhcGUtaW4tOGJpdC1zdHJpbmcu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3VuaWNvZGUtZXNjYXBl
LWluLThiaXQtc3RyaW5nLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlw
ZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KKyAgPHN0eWxlIHR5cGU9InRl
eHQvY3NzIj4KKyAgcDphZnRlciB7CisgICAgY29udGVudDogIi0gXDAwMjBBQyI7IC8qIEVzY2Fw
ZSB2YWx1ZSBmb3IgRXVybyBzaWduICovCisgIH0KKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHAgY2xhc3M9Im92ZXJmbG93Ij5UaGlzIGxpbmUgc2hvdWxkIGVuZCB3aXRoIGEgRXVybyBz
aWduIDwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="172399"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>