<?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>227110</bug_id>
          
          <creation_ts>2021-06-17 00:36:39 -0700</creation_ts>
          <short_desc>[WebAudio] Add webm/opus container support</short_desc>
          <delta_ts>2021-09-02 06:19: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>Web Audio</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=226922</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=228139</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=228221</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=229129</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=229799</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>227205</dependson>
    
    <dependson>227208</dependson>
    
    <dependson>227250</dependson>
          <blocked>227111</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jean-Yves Avenard [:jya]">jean-yves.avenard</reporter>
          <assigned_to name="Jean-Yves Avenard [:jya]">jean-yves.avenard</assigned_to>
          <cc>aboya</cc>
    
    <cc>annulen</cc>
    
    <cc>ashley</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1770540</commentid>
    <comment_count>0</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-06-17 00:36:39 -0700</bug_when>
    <thetext>WebAudio currently only works with content AudioToolBox/CoreMedia supports; and it doesn&apos;t support webm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770541</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-17 00:38:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/79437067&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778367</commentid>
    <comment_count>2</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-21 00:21:24 -0700</bug_when>
    <thetext>Will do opus first, Vorbis doesn&apos;t work for multiple reasons and will be handled in a different bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778638</commentid>
    <comment_count>3</comment_count>
      <attachid>433984</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-21 20:20:15 -0700</bug_when>
    <thetext>Created attachment 433984
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778644</commentid>
    <comment_count>4</comment_count>
      <attachid>433988</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-21 21:33:35 -0700</bug_when>
    <thetext>Created attachment 433988
Patch

rebase; fix compilation on tvOS and watchOS fix linker error when &lt; BigSur</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778645</commentid>
    <comment_count>5</comment_count>
      <attachid>433989</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-21 21:42:45 -0700</bug_when>
    <thetext>Created attachment 433989
Patch

duh, fix compilation on tvOS and watchOS #2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778647</commentid>
    <comment_count>6</comment_count>
      <attachid>433990</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-21 22:07:37 -0700</bug_when>
    <thetext>Created attachment 433990
Patch

Make WebM code conditional on MEDIA_SOURCE as SourceBufferParserWebM is only included with that</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778648</commentid>
    <comment_count>7</comment_count>
      <attachid>433991</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-21 22:10:13 -0700</bug_when>
    <thetext>Created attachment 433991
Patch

Make WebM code conditional on MEDIA_SOURCE as SourceBufferParserWebM is only included with that</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778654</commentid>
    <comment_count>8</comment_count>
      <attachid>433993</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-21 23:18:01 -0700</bug_when>
    <thetext>Created attachment 433993
Patch

Fix compilation #4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778658</commentid>
    <comment_count>9</comment_count>
      <attachid>433995</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-22 00:31:54 -0700</bug_when>
    <thetext>Created attachment 433995
Patch

webm sample files got dropped during rebase :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778684</commentid>
    <comment_count>10</comment_count>
      <attachid>434003</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-22 03:49:28 -0700</bug_when>
    <thetext>Created attachment 434003
Patch

fix vorbis decoding error (was missing magic cookie), avoid intermediate buffer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778687</commentid>
    <comment_count>11</comment_count>
      <attachid>434005</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-22 04:00:53 -0700</bug_when>
    <thetext>Created attachment 434005
Patch

limit number of frames to be decoded at once to a sane limit as CM only deals with uint32_t sizes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778688</commentid>
    <comment_count>12</comment_count>
      <attachid>434005</attachid>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2021-07-22 04:18:04 -0700</bug_when>
    <thetext>Comment on attachment 434005
Patch

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

&gt; Source/WebCore/platform/MediaSample.h:129
&gt; +    virtual bool isMediaSampleAVFObjC() const { return false; }

Why is this necessary? Is there a second specialization of MediaSample for the Apple ports that I&apos;m missing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778690</commentid>
    <comment_count>13</comment_count>
      <attachid>434006</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-22 04:49:07 -0700</bug_when>
    <thetext>Created attachment 434006
Patch

limit number of frames to be decoded at once to a sane limit as CM only deals with uint32_t sizes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778693</commentid>
    <comment_count>14</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-22 04:52:47 -0700</bug_when>
    <thetext>(In reply to Alicia Boya García from comment #12)
&gt; Comment on attachment 434005 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=434005&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/MediaSample.h:129
&gt; &gt; +    virtual bool isMediaSampleAVFObjC() const { return false; }
&gt; 
&gt; Why is this necessary? Is there a second specialization of MediaSample for
&gt; the Apple ports that I&apos;m missing?

On Mac no, but the code does get a MediaSample; seems nicer to me that way than just assuming and using static_cast.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778696</commentid>
    <comment_count>15</comment_count>
      <attachid>434007</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-22 05:48:05 -0700</bug_when>
    <thetext>Created attachment 434007
Patch

Apply comment, can just do static_cast to MediaSampleAVFObjC safely</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778914</commentid>
    <comment_count>16</comment_count>
      <attachid>434046</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-22 17:27:32 -0700</bug_when>
    <thetext>Created attachment 434046
Patch

hopefully fix compilation on windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778977</commentid>
    <comment_count>17</comment_count>
      <attachid>434060</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-22 21:09:20 -0700</bug_when>
    <thetext>Created attachment 434060
Patch

Window compilation fix #2. Manually edit the FeatureFlags plist to reduce diff size</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779035</commentid>
    <comment_count>18</comment_count>
      <attachid>434060</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-07-23 04:46:51 -0700</bug_when>
    <thetext>Comment on attachment 434060
Patch

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

This looks OK to me, but it&apos;d be good to have another set of eyes on it.

&gt; Source/WTF/ChangeLog:9
&gt; +        Add webm_webaudio preference to make canPlayType return probably for mimetype:

`webm_webaudio` is the system feature flag and the preference is `WebMWebAudioEnabled` so you probably mean the later?

&gt; Source/WebKit/ChangeLog:9
&gt; +        Add default value for webm_webaudio pref for the different platforms.

s/pref/feature flag/

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:187
&gt; +#if ENABLE(MEDIA_SOURCE)
&gt; +    if (isMaybeWebM(static_cast&lt;const uint8_t*&gt;(data), dataSize)) {
&gt; +        auto parser = adoptRef(new SourceBufferParserWebM());
&gt; +        bool error = false;
&gt; +        std::optional&lt;uint64_t&gt; audioTrackId;
&gt; +        MediaTime duration;
&gt; +        SourceBufferParserWebM::InitializationSegment initSegment;
&gt; +        Vector&lt;Ref&lt;MediaSampleAVFObjC&gt;&gt; samples;
&gt; +        parser-&gt;setDidEncounterErrorDuringParsingCallback([&amp;](uint64_t) {
&gt; +            error = true;
&gt; +        });
&gt; +        parser-&gt;setDidParseInitializationDataCallback([&amp;](SourceBufferParserWebM::InitializationSegment&amp;&amp; init) {
&gt; +            for (auto&amp; audioTrack : init.audioTracks) {
&gt; +                if (audioTrack.track &amp;&amp; audioTrack.track-&gt;trackUID()) {
&gt; +                    duration = init.duration;
&gt; +                    audioTrackId = audioTrack.track-&gt;trackUID();
&gt; +                    initSegment = WTFMove(init);
&gt; +                    return;
&gt; +                }
&gt; +            }
&gt; +        });
&gt; +        parser-&gt;setDidProvideMediaDataCallback([&amp;](Ref&lt;MediaSample&gt;&amp;&amp; sample, uint64_t trackID, const String&amp;) {
&gt; +            if (!audioTrackId || trackID != *audioTrackId)
&gt; +                return;
&gt; +            samples.append(static_reference_cast&lt;MediaSampleAVFObjC&gt;(WTFMove(sample)));
&gt; +        });
&gt; +        parser-&gt;setCallOnClientThreadCallback([](WTF::Function&lt;void()&gt;&amp;&amp; function) {
&gt; +            function();
&gt; +        });
&gt; +        Vector&lt;uint8_t&gt; vector(static_cast&lt;const uint8_t*&gt;(data), dataSize);
&gt; +        SourceBufferParser::Segment segment(WTFMove(vector));
&gt; +        parser-&gt;appendData(WTFMove(segment));
&gt; +        if (audioTrackId) {
&gt; +            parser-&gt;flushPendingAudioBuffers();
&gt; +            m_webmData = makeUnique&lt;AudioFileReaderWebMData&gt;(AudioFileReaderWebMData { WTFMove(initSegment), WTFMove(duration), WTFMove(samples) });
&gt; +        }
&gt; +        return;
&gt; +    }
&gt; +#endif

Nit: this is big enough that I would put it into a separate method.

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:253
&gt; +static OSStatus passthroughInputDataCallback(
&gt; +    AudioConverterRef, UInt32* numDataPackets, AudioBufferList* data, AudioStreamPacketDescription** packetDesc, void* inUserData)

Nit: WebKit style is to have the parameters on the same line as the function.

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:283
&gt; +    if (m_webmData) {

Nit: flip this logic and it can be an early return.

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:298
&gt; +            if (!asbd)
&gt; +                return -1;

Is it worth RELEASE_LOG_FAULT-ing this unexpected failures too?

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:302
&gt; +            if (PAL::CMSampleBufferGetAudioStreamPacketDescriptions(sampleBuffer, 0, nullptr, &amp;packetDescriptionsSize) != noErr)
&gt; +                return -1;

Ditto.

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:305
&gt; +            if (!numDescriptions)
&gt; +                return -1;

Ditto.

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:308
&gt; +            if (PAL::CMSampleBufferGetAudioStreamPacketDescriptions(sampleBuffer, packetDescriptionsSize, descriptions.get(), nullptr) != noErr)
&gt; +                return -1;

Ditto.

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:443
&gt; +        AudioConverterRef converter;
&gt; +        if (PAL::AudioConverterNew(&amp;*inFormat, &amp;outFormat, &amp;converter) != noErr)
&gt; +            return nullptr;
&gt; +        auto cleanup = makeScopeExit([&amp;] {
&gt; +            PAL::AudioConverterDispose(converter);
&gt; +        });
&gt; +        CMFormatDescriptionRef formatDescription = PAL::CMSampleBufferGetFormatDescription(m_webmData-&gt;m_samples[0]-&gt;sampleBuffer());

Nit: this is big enough that I would put it in a separate method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779092</commentid>
    <comment_count>19</comment_count>
      <attachid>434060</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-07-23 10:36:11 -0700</bug_when>
    <thetext>Comment on attachment 434060
Patch

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

&gt; Source/WebCore/platform/audio/AudioBus.h:87
&gt; +    void setLength(size_t newLength);

Nit. The parameter name can be omitted.

&gt; Source/WebCore/platform/audio/AudioChannel.h:77
&gt; +    // Set new length. Can only be set to a value lower than the currently

Nit. s/currently set length/current length/

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:121
&gt; +    AudioBufferList* operator*() const { return m_bufferList; }

Return a reference here?

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:128
&gt; +static constexpr uint32_t kVorbisMaxFrameLength = 4096;

Nit. Maybe a reference or comment regarding the constants?

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:255
&gt; +    PassthroughUserData* userData = (PassthroughUserData*)inUserData;

Can we use `auto *` here?

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:292
&gt; +            CMSampleBufferRef sampleBuffer = sample-&gt;sampleBuffer();

Use auto?

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:293
&gt; +            const CMFormatDescriptionRef formatDescription = PAL::CMSampleBufferGetFormatDescription(sampleBuffer);

Ditto.

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:309
&gt; +            CMItemCount numPackets = PAL::CMSampleBufferGetNumSamples(sampleBuffer);

Use auto?

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:357
&gt; +    AudioStreamBasicDescription outFormat = inFormat;

Use auto?

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:47
&gt; +    WEBCORE_EXPORT RefPtr&lt;JSC::Uint8ClampedArray&gt; getRGBAImageData() const override;

Nit. Not a problem of this patch. I am wondering whether we can replace all these &quot;override&quot; with &quot;final&quot; here.

&gt; Source/WebKit/FeatureFlags/WebKit-watchos.plist:93
&gt; +        &lt;true/&gt;

Will we enable the feature for all Cocoa ports?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779363</commentid>
    <comment_count>20</comment_count>
      <attachid>434060</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-25 07:02:54 -0700</bug_when>
    <thetext>Comment on attachment 434060
Patch

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

&gt;&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:121
&gt;&gt; +    AudioBufferList* operator*() const { return m_bufferList; }
&gt; 
&gt; Return a reference here?

not in the context in which it is used.
AudioBufferListHolder is a wrapper of AudioBufferList* not an AudioBufferList

I guess I could rename the class AudioBufferListPtrHolder to make it clearer.

&gt;&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:128
&gt;&gt; +static constexpr uint32_t kVorbisMaxFrameLength = 4096;
&gt; 
&gt; Nit. Maybe a reference or comment regarding the constants?

actually, those are no longer used; will remove

&gt;&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:357
&gt;&gt; +    AudioStreamBasicDescription outFormat = inFormat;
&gt; 
&gt; Use auto?

I find it makes the code less readable, particularly as we are modifying the internal structure of the object rather than using it as a temporary object that we just carried around. So prefer to leave it as-is

&gt;&gt; Source/WebKit/FeatureFlags/WebKit-watchos.plist:93
&gt;&gt; +        &lt;true/&gt;
&gt; 
&gt; Will we enable the feature for all Cocoa ports?

wherever WebM is supported I guess. in any case wherever the webm parser is enabled (as this feature flag follows the same logic)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779390</commentid>
    <comment_count>21</comment_count>
      <attachid>434186</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-25 17:17:50 -0700</bug_when>
    <thetext>Created attachment 434186
Patch

Apply comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779391</commentid>
    <comment_count>22</comment_count>
      <attachid>434187</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-25 18:12:21 -0700</bug_when>
    <thetext>Created attachment 434187
Patch

fix tvos compilation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779393</commentid>
    <comment_count>23</comment_count>
      <attachid>434189</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-25 18:59:13 -0700</bug_when>
    <thetext>Created attachment 434189
Patch

fix tvos compilation, with the right patch it works better</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779411</commentid>
    <comment_count>24</comment_count>
      <attachid>434193</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-26 00:57:07 -0700</bug_when>
    <thetext>Created attachment 434193
Patch

Reduce size of patch a bit, make methods const</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779413</commentid>
    <comment_count>25</comment_count>
      <attachid>434195</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-26 01:22:11 -0700</bug_when>
    <thetext>Created attachment 434195
Patch

tvos again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779419</commentid>
    <comment_count>26</comment_count>
      <attachid>434196</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-26 02:51:50 -0700</bug_when>
    <thetext>Created attachment 434196
Patch

opus.webm and vorbis.webm got dropped somehow from patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779882</commentid>
    <comment_count>27</comment_count>
      <attachid>434196</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-07-27 16:28:23 -0700</bug_when>
    <thetext>Comment on attachment 434196
Patch

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

Overall comments, I wonder if we should subclass AudioFileReader to AudioFileReaderWebM or something, rather than putting two implementations in the same class.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:8186
&gt; +bool HTMLMediaElement::webMWebAudioEnabled() const
&gt; +{
&gt; +#if ENABLE(MEDIA_SOURCE)
&gt; +    return RuntimeEnabledFeatures::sharedFeatures().webMWebAudioEnabled();
&gt; +#else
&gt; +    return false;
&gt; +#endif
&gt; +}
&gt; +

Nit: this can just be a static method; no need to add it to the class header.

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:206
&gt; +    parser-&gt;setCallOnClientThreadCallback([](WTF::Function&lt;void()&gt;&amp;&amp; function) {

Nit: could just use `auto&amp;&amp; function` here.

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:210
&gt; +    Vector&lt;uint8_t&gt; vector(data, dataSize);
&gt; +    SourceBufferParser::Segment segment(WTFMove(vector));

Nit: could this just be: `SourceBufferParser::Segment segment({data, dataSize})`? Or is type deduction not smart enough here?

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:221
&gt; +    UInt32 m_dataSize;
&gt; +    const void* m_data;

Could PassthroughUserData just take a CMSampleBufferRef, rather than a `void*` and a data size?

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:232
&gt; +static OSStatus passthroughInputDataCallback(AudioConverterRef, UInt32* numDataPackets, AudioBufferList* data, AudioStreamPacketDescription** packetDesc, void* inUserData)
&gt; +{
&gt; +    auto* userData = static_cast&lt;PassthroughUserData*&gt;(inUserData);

Out of an abundance of caution, we should null-check all the inputs to this method, with ASSERT() macros to catch null inputs in tests.

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:257
&gt; +Vector&lt;AudioStreamPacketDescription&gt; AudioFileReader::getPacketDescriptions(CMSampleBufferRef sampleBuffer) const
&gt; +{

Ditto the comment about null-checking. (Not sure if the CM* methods crash or throw if fed a null CMSampleBufferRef.)

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:282
&gt; +std::optional&lt;size_t&gt; AudioFileReader::decodeWebMData(AudioBufferList* bufferList, size_t numberOfFrames, const AudioStreamBasicDescription&amp; inFormat, const AudioStreamBasicDescription&amp; outFormat) const
&gt; +{

Ditto null-checking (or make AudioBufferList a &amp;-ref).

&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:291
&gt; +    auto formatDescription = PAL::CMSampleBufferGetFormatDescription(m_webmData-&gt;m_samples[0]-&gt;sampleBuffer());

Ditto here.

/more to come/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779888</commentid>
    <comment_count>28</comment_count>
      <attachid>434196</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-27 16:39:01 -0700</bug_when>
    <thetext>Comment on attachment 434196
Patch

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

&gt;&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:221
&gt;&gt; +    const void* m_data;
&gt; 
&gt; Could PassthroughUserData just take a CMSampleBufferRef, rather than a `void*` and a data size?

but then you have to re-run the code to extract the data and size every single sub-packets. Seems rather inefficient when we could just do it once.

&gt;&gt; Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:282
&gt;&gt; +{
&gt; 
&gt; Ditto null-checking (or make AudioBufferList a &amp;-ref).

this is a private method, only called internally. AudioBufferList can&apos;t ever be null as it is always checked at the point of creation. I can add an assert for clarity. But it can never be null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780290</commentid>
    <comment_count>29</comment_count>
      <attachid>434485</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-28 18:50:03 -0700</bug_when>
    <thetext>Created attachment 434485
Patch

Apply comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780292</commentid>
    <comment_count>30</comment_count>
      <attachid>434487</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-28 18:53:08 -0700</bug_when>
    <thetext>Created attachment 434487
Patch

Apply comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780304</commentid>
    <comment_count>31</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-28 20:23:03 -0700</bug_when>
    <thetext>ChangeLog entry in LayoutTests/ChangeLog contains OOPS!.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780305</commentid>
    <comment_count>32</comment_count>
      <attachid>434493</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-07-28 20:26:50 -0700</bug_when>
    <thetext>Created attachment 434493
Patch

Fix changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780308</commentid>
    <comment_count>33</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-28 21:18:23 -0700</bug_when>
    <thetext>Committed r280416 (240056@main): &lt;https://commits.webkit.org/240056@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 434493.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433984</attachid>
            <date>2021-07-21 20:20:15 -0700</date>
            <delta_ts>2021-07-21 21:54:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210722132013.patch</filename>
            <type>text/plain</type>
            <size>134397</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDFjYzY0ODYxMDRjYWUyMDBjZTFiN2Fm
YjEwMjMyMjQzNjRlZDQwOGMuLjQ4MGRmMzg5YzdmZmZlZDcxZTViOWFiOTMxN2EyN2EwYjVmNTU3
ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHdlYm1fd2ViYXVkaW8g
cHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3IgbWltZXR5
cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlzYWJsZWQg
YnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0xNCAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxq
eWFAYXBwbGUuY29tPgogCiAgICAgICAgIFtXazFdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS13
ZWJtLW9wdXMtcGFydGlhbC5odG1sIGlzIGEgY29uc2lzdGVudCBmYWlsdXJlIChFbmFibGUgVlA4
L1ZQOS9Wb3JiaXMvT3B1cyBpbiBXZWJLaXRMZWdhY3kpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJhY2ZhZTY1
YzI1MTgxY2UyYzZkM2M1N2M1OGFkODc4NTEzMTMyYi4uNWQ5YzIxNDc0ZjA2ZTJmYzcxNTY1ZGIz
YTM1ZjhhNTJjZTdhMTI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwOCBAQAorMjAyMS0wNy0y
MSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRp
b10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS83OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgc3VwcG9ydCBmb3Igd2VibSBpbiBXZWIgQXVkaW8uCisgICAgICAgIEFzIGRlY29k
aW5nIG5lZWRzIHRvIGJlIHBlcmZvcm1lZCBpbiB0aGUgd2ViIGNvbnRlbnQgcHJvY2VzcyB3ZQor
ICAgICAgICBuZWVkIHRvIGVuc3VyZSB0aGF0IHRoZSBkZWNvZGVycyBhcmUgYXZhaWxhYmxlIHRo
ZXJlLiBGb3Igc2VjdXJpdHkKKyAgICAgICAgcmVhc29ucywgY29tLmFwcGxlLmF1ZGlvLkF1ZGlv
Q29tcG9uZW50UmVnaXN0cmFyIG1hY2ggY2FsbHMgYXJlIGJsb2NrZWQKKyAgICAgICAgd2hpY2gg
cHJldmVudHMgcmVnaXN0ZXJpbmcgYSBuZXcgYXVkaW8gY29tcG9uZW50LgorICAgICAgICBXZSBp
bnN0ZWFkIHJlZ2lzdGVyIGl0IGluIHRoZSBVSSBwcm9jZXNzIHNvIHRoYXQgQXVkaW9Db21wb25l
bnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMKKyAgICAgICAgU1BJIGNhbiBmb3J3YXJkIHRoZSBy
ZWdpc3RyYXRpb24gaW4gdGhlIHdlYiBwcm9jZXNzLgorICAgICAgICBVbmZvcnR1bmF0ZWx5LCBm
b3IgdW5rbm93biByZWFzb25zLCB0aGlzIGZhaWxzIGZvciBWb3JiaXMgYXVkaW8gY29kZWMgKGJ1
ZyAyMjgxMzkpLgorCisgICAgICAgIFRvIGRlbXV4IHRoZSB3ZWJtIGNvbnRlbnQsIHdlIHVzZSB0
aGUgZXhpc3RpbmcgU291cmNlQnVmZmVyUGFyc2VyV2ViTSB0byBleHRyYWN0IGFsbAorICAgICAg
ICBhdWRpbyBwYWNrZXRzLiBXZSB0aGVuIGl0ZXJhdGUgb3ZlciBhbGwgQ00gU2FtcGxlcyBhbmQg
ZGVjb2RlIHRoZW0gaW50byBQQ00sIHBlcmZvcm1pbmcKKyAgICAgICAgcmVzYW1wbGluZyBhcyBu
ZWVkZWQgb24gdGhlIGZseS4KKyAgICAgICAgVGhlcmUgYXJlIHRoaW5ncyBsZWZ0IHRvIGZpeC4K
KyAgICAgICAgLSBPcHVzIGFuZCBWb3JiaXMgZW5jb2RlciBkZWxheSBpc24ndCBoYW5kbGVkIChi
dWcgMjI4MTQwKSB3aGljaCBsZWF2ZXMgYXVkaWJsZQorICAgICAgICBzaWxlbmNlIGF0IHRoZSBi
ZWdpbm5pbmcgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlci4KKyAgICAgICAgLSBJZ25vcmluZyB0
aGUgc2FuZGJveGluZyBpc3N1ZSwgVm9yYmlzIGNvbnRlbnQgZmFpbCB0byBkZWNvZGUuCisgICAg
ICAgIC0gV2UgY2FuIG9ubHkgZGVjb2RlIG1vbm8gYW5kIHN0ZXJlbyBjb250ZW50LiBPcHVzIGFu
ZCBWb3JiaXMgbGV0IHlvdSBkZWZpbmUgYQorICAgICAgICBjdXN0b20gY2hhbm5lbCBvcmRlcmlu
ZywgdGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZCB3aXRoIGFtYmlzb25pYyBhdWRpbyAod2l0aCBv
cHVzIDI1NSBtb2RlKS4KKyAgICAgICAgQ29yZU1lZGlhIGRvZXNuJ3QgZWFzaWx5IGRlYWwgd2l0
aCBzdWNoIHJlLW9yZGVyaW5nIGFzIGl0IGFwcGVhcnMgdG8gYmUgZXNzZW50aWFsbHkKKyAgICAg
ICAgZGVzaWduZWQgZm9yIGF1ZGlibGUgY29udGVudC4gV2l0aCBtb3JlIHRoYW4gMiBjaGFubmVs
cywgZGVjb2Rpbmcgd2lsbCBlaXRoZXIgZmFpbAorICAgICAgICBvciBwcm9kdWNlIGNoYW5uZWxz
IGluIHRoZSB3cm9uZyBvcmRlci4KKworCisgICAgICAgIFRlc3Q6IHdlYmF1ZGlvL2RlY29kZS1h
dWRpby1kYXRhLXdlYm0tb3B1cy5odG1sCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOiBFeHBv
cnQgaGVhZGVyIHNvIHRoYXQgd2UgY2FuIHJlZ2lzdGVyIHRoZSBkZWNvZGVyIGluIHRoZSBVSSBw
cm9jZXNzLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogc2Ft
ZSBhcyBhYm92ZS4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y2FuUGxheVR5cGUgY29uc3QpOiBNYWtlIGNh
blBsYXlUeXBlKHdlYm0vYXVkaW87IGNvZGVjcz1vcHVzKQorICAgICAgICB3b3JrIGlmIGZlYXR1
cmVzIGlzIHNldC4KKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYk1XZWJBdWRpb0Vu
YWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2ViTVdl
YkF1ZGlvRW5hYmxlZCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vTWVkaWFTYW1wbGUuaDog
QWRkIG5ldyBpc01lZGlhU2FtcGxlQVZGT2JqQywgd2lsbCBiZSB1c2VkIHRvIGFsbG93IHNhZmUK
KyAgICAgICAgZG93bmNhc3RpbmcuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdXM6OnNldExlbmd0aCk6CisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaDogQWRkIHNldExlbmd0aCBtZXRob2QuIFdpbGwgY2hh
bmdlIHRoZSByZXBvcnRlZCBsZW5ndGgKKyAgICAgICAgd2l0aG91dCB0b3VjaGluZyB0aGUgdW5k
ZXJseWluZyBzdG9yYWdlLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5o
OiBBZGQgc2V0TGVuZ3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhlIHJlcG9ydGVkCisgICAgICAg
IGxlbmd0aCB3aXRob3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuCisgICAgICAg
ICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KTogRml4IGNoZWNrZWRJbnQgdXNl
IHRvIGNhdGNoIHBvdGVudGlhbCBvdmVyZmxvdworICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZm
ZXJMaXN0SG9sZGVyOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXIpOiBBZGQgY29udmVuaWVuY2UgY2xh
c3MgdGhhdAorICAgICAgICBmcmVlIHdyYXBwZWQgQXVkaW9CdWZmZXJMaXN0IG9iamVjdCBvbiBl
eGl0LgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjp+QXVkaW9CdWZm
ZXJMaXN0SG9sZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6
b3BlcmF0b3IgYm9vbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RI
b2xkZXI6Om9wZXJhdG9yLT4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJM
aXN0SG9sZGVyOjpvcGVyYXRvciogY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZm
ZXJMaXN0SG9sZGVyOjppc1ZhbGlkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmls
ZVJlYWRlcjo6QXVkaW9GaWxlUmVhZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJl
YWRlcjo6aXNNYXliZVdlYk0gY29uc3QpOiBNZXRob2QgdG8gY2hlY2sgaWYgdGhlIGJ1ZmZlcgor
ICAgICAgICBjb250YWlucyBXZWJNIGRhdGEuCisgICAgICAgIChXZWJDb3JlOjpwYXNzdGhyb3Vn
aElucHV0RGF0YUNhbGxiYWNrKTogUmVxdWlyZWQgZm9yIEF1ZGlvQ29udmVydGVyRmlsbENvbXBs
ZXhCdWZmZXIuCisgICAgICAgIFdpbGwgZmVlZCB0aGUgZGVjb2RlciB0aGUgZGF0YSB0byBkZWNv
ZGUsIHNwbGl0dGluZyB0aGUgbXVsdGlwbGUgcGFja2V0cyBmb3VuZAorICAgICAgICBpbiB0aGUg
Q01TYW1wbGVCdWZmZXIuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6Om51bWJl
ck9mRnJhbWVzIGNvbnN0KTogUmV0dXJuIHRoZSB0b3RhbCBudW1iZXIgb2YKKyAgICAgICAgZGVj
b2RlZCBmcmFtZXMgaW4gdGhlIHBhY2tldHMuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVS
ZWFkZXI6OmZpbGVEYXRhRm9ybWF0IGNvbnN0KTogQ3JlYXRlIEF1ZGlvU3RyZWFtQmFzaWNEZXNj
cmlwdGlvbgorICAgICAgICByZWxhdGVkIHRvIHRoZSBkZW11eGVkIGF1ZGlvIHRyYWNrLiBudWxs
b3B0IGlmIHVuc3VwcG9ydGVkIGNvbnRlbnQuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVS
ZWFkZXI6OmNsaWVudERhdGFGb3JtYXQgY29uc3QpOiAKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
RmlsZVJlYWRlcjo6Y3JlYXRlQnVzKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRl
cjo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9GaWxlUmVhZGVyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRp
b1NhbXBsZURhdGFTb3VyY2UuaDogUmVtb3ZlIHVudXNlZCB0eXBlZGVmLgorICAgICAgICAqIHBs
YXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbTogCisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6On5BdWRpb1NhbXBsZURhdGFTb3VyY2UpOiBG
bHktYnkgZml4LCBtYWtlIGl0IHVzZQorICAgICAgICBQQUwgc29mdGxpbmtzCisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnNldHVwQ29udmVydGVyKTogRmx5LWJ5IGZp
eCwgbWFrZSBpdCB1c2UgUEFMCisgICAgICAgIHNvZnRsaW5rcworICAgICAgICAqIHBsYXRmb3Jt
L2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbTogRmx5LWJ5IGZpeCwgYWRkIG1pc3Np
bmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0ZUJhc2Uu
Y3BwOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmg6CisgICAgICAg
IEZseS1ieSBmaXggcmVxdWlyZWQgYnkgd2Via2l0LXByZXBhcmUgOiBkb24ndCB0YWcgdGhlIHdo
b2xlIGNsYXNzIGFzIFdFQkNPUkVfRVhQT1JULgorICAgICAgICBNb3ZlIGNvbnN0cnVjdG9yIGFu
ZCBkZXN0cnVjdG9yIGZ1bmN0aW9uIGRlZmluaXRpb25zIG91dC1vZi1saW5lIHRvIHByZXZlbnQK
KyAgICAgICAgbGlua2FnZSBlcnJvcnMuCisgICAgICAgIChpc1R5cGUpOiBBZGQgdGVtcGxhdGUg
c3BlY2lhbGl6YXRpb24gZm9yIHN0YXRpY19yZWZlcmVuY2VfY2FzdDxNZWRpYVNhbXBsZUFWRk9i
akM+CisgICAgICAgIGFuZCBpczxNZWRpYVNhbXBsZUFWRk9iakM+IHRvIHdvcmsuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpD
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFW
Rk9iakMpOiBNb3ZlIGNvZGUKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJD
b3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06IEZseS1ieSBmaXgsIGFkZCBtaXNzaW5nIGhlYWRl
ci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXND
b2NvYS5oOiBFeHBvcnQgc29tZSBzeW1ib2xzLCBhZGQgbmV3CisgICAgICAgIG1ldGhvZCBkZWZp
bml0aW9ucy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGls
aXRpZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lzdGVyRGVjb2RlckZhY3Rvcnkp
OiBJbnN0ZWFkIG9mIGF0dGVtcHRpbmcgdG8gcmVnaXN0ZXIgdGhlIGRlY29kZXIKKyAgICAgICAg
YnkgZGwtb3BlbmluZyB0aGUgcmVxdWlyZWQgbGlicmFyeSwgZmlyc3QgYXR0ZW1wdGluZyB0byBz
ZWUgaWYgdGhlIGRlY29kZXIgaXMKKyAgICAgICAgYWxyZWFkeSBhdmFpbGFibGUuIENhbGxpbmcg
QXVkaW9Db21wb25lbnRSZWdpc3RlciBpbiB0aGUgd2ViIGNvbnRlbnQgcHJvY2VzcworICAgICAg
ICB3aGVuIHRoZSBHUFUgcHJvY2VzcyBpcyBlbmFibGVkIHdpbGwgZmFpbCBkdWUgdG8gc2FuZGJv
eCBzZXR0aW5ncy4gV2hpY2ggd291bGQgCisgICAgICAgIGluY29ycmVjdGx5IHJlcG9ydCB0aGUg
Y29kZWMgdG8gbm90IGJlIGF2YWlsYWJsZSB3aGVuIGl0IHdhcy4KKyAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25Gb3JGb3JtYXQpOgorICAgICAgICAoV2ViQ29y
ZTo6aXNPcHVzRGVjb2RlckF2YWlsYWJsZSk6IEZseS1ieSBmaXgsIHNob3VsZCB0aGUgbWV0aG9k
IGJlIGNhbGxlZCAKKyAgICAgICAgb24gbm9uLW1hYyBwbGF0Zm9ybSBpdCB3b3VsZCBoYXZlIHJl
dHVybiB0aGUgdW5pdGlhbGl6ZWQgdmFsdWUgb2YgdGhlIGF2YWlsYWJsZQorICAgICAgICBzdGF0
aWMgdmFyaWFibGUuCisgICAgICAgIChXZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVk
ZWQpOiBBZGRlZAorICAgICAgICAoV2ViQ29yZTo6aXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKTog
U2FtZSBhcyBpc09wdXNEZWNvZGVyQXZhaWxhYmxlCisgICAgICAgIChXZWJDb3JlOjpyZWdpc3Rl
clZvcmJpc0RlY29kZXJJZk5lZWRlZCk6IEFkZGVkCisKIDIwMjEtMDctMTQgIEplYW4tWXZlcyBB
dmVuYXJkICA8anlhQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2sxXSBtZWRpYS9tZWRpYS1zb3Vy
Y2UvbWVkaWEtd2VibS1vcHVzLXBhcnRpYWwuaHRtbCBpcyBhIGNvbnNpc3RlbnQgZmFpbHVyZSAo
RW5hYmxlIFZQOC9WUDkvVm9yYmlzL09wdXMgaW4gV2ViS2l0TGVnYWN5KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VM
b2cKaW5kZXggZjAxOWQzY2UxMjAzZjNmYTEwNGVmOWZhYzRmZmE0MDZhYjkwMmY2MC4uZjJhYWNi
Yjg0MDJkMGM0MTYxYTNmNmZiZjk5Mzk0ZjU4Y2M1M2RhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxl
LmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBv
cnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzEx
MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHZhcmlvdXMgQVZGb3VuZGF0aW9uIChB
VkF1ZGlvQ29udmVydGVyKSByZWxhdGVkIG1ldGhvZHMgYW5kCisgICAgICAgIENvcmVNZWRpYSB0
byBhY2Nlc3MgcmVxdWlyZWQgQ01TYW1wbGVCdWZmZXIgcmVsYXRlZCBtZXRob2RzLgorCisgICAg
ICAgICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwYWwvY2YvQ29y
ZU1lZGlhU29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExp
bmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06CisKIDIw
MjEtMDctMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByZXZlcnRpbmcgcjI4MDEyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOGQ2M2ZkN2ZmZDAzNzQ2OGM0
NDFjYTNkYjQ3NmRjNjFiMGNkOWQyMS4uZjgwN2IwMmE5ZDhmNDk1ZGE3Yzg2YTM2ZDY1MDg4ZjNj
OTg1ZDM3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVz
IEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0v
b3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZGVm
YXVsdCB2YWx1ZSBmb3Igd2VibV93ZWJhdWRpbyBwcmVmIGZvciB0aGUgZGlmZmVyZW50IHBsYXRm
b3Jtcy4KKyAgICAgICAgRGlzYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgcGxhdGZvcm1zLgorICAg
ICAgICBGbHktYnkgZml4OiBkb24ndCBtYWtlIHdlYm0gcGFyc2VyIGRlcGVuZGVudCBvbiBWUDkg
c3VwcG9ydC4KKworICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0
OgorICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0OgorICAgICAgICAqIEZl
YXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dl
YktpdC13YXRjaG9zLnBsaXN0OgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgor
ICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBT
aGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
ZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJl
bmNlc0RlZmF1bHRWYWx1ZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vz
c1Byb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c2VuZEF1
ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisKIDIwMjEtMDctMTQgIEplYW4tWXZlcyBBdmVu
YXJkICA8anlhQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2sxXSBtZWRpYS9tZWRpYS1zb3VyY2Uv
bWVkaWEtd2VibS1vcHVzLXBhcnRpYWwuaHRtbCBpcyBhIGNvbnNpc3RlbnQgZmFpbHVyZSAoRW5h
YmxlIFZQOC9WUDkvVm9yYmlzL09wdXMgaW4gV2ViS2l0TGVnYWN5KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCmluZGV4IGI1ZWExMzQwNDYwMzU1ZGQwMjE4MTE3OWVjZDRiYjJmODI5Y2M4NDUu
LmVlODM5MmRiZmM0YTAwYTc4MjBkZDlhYjJiNGRmNjA0MDgzMDE3NjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2
ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1
cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKwor
ICAgICAgICBBZGQgZGVmYXVsdCB2YWx1ZSBmb3Igd2VibV93ZWJhdWRpbyBwcmVmZXJlbmNlLgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmll
dy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbToKKyAgICAgICAgKFdlYktpdDo6ZGVmYXVsdFdlYk1X
ZWJBdWRpb0VuYWJsZWQpOgorCiAyMDIxLTA3LTE0ICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBh
cHBsZS5jb20+CiAKICAgICAgICAgW1drMV0gbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXdlYm0t
b3B1cy1wYXJ0aWFsLmh0bWwgaXMgYSBjb25zaXN0ZW50IGZhaWx1cmUgKEVuYWJsZSBWUDgvVlA5
L1ZvcmJpcy9PcHVzIGluIFdlYktpdExlZ2FjeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2Ny
aXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNl
L1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwK
aW5kZXggYzQyZWJlYmEwNjdjMTVkN2Y1ZGMwZTkwYWIzZGI0NTJlOTIyYTRlZC4uYjQxMTg2NDRh
YmY4YjZlMTM4ZTNlNjQ5NDc1NDgwODNjOTkzZGJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9T
Y3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIv
U291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWwKQEAgLTEyNjEsNiArMTI2MSwxOCBAQCBXZWJNUGFyc2VyRW5hYmxlZDoKICAgICBXZWJL
aXQ6CiAgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAK
K1dlYk1XZWJBdWRpb0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgd2ViY29yZUJpbmRpbmc6IFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWJNIFdlYiBBdWRp
byIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdlYk0gV2ViIEF1ZGlvIgor
ICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TT1VSQ0UpCisgIGRlZmF1bHRWYWx1ZToKKyAgICBX
ZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNV2ViQXVkaW9F
bmFibGVkKCkKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJN
V2ViQXVkaW9FbmFibGVkKCkKKwogIyBGSVhNRTogSXMgdGhpcyBpbXBsZW1lbnRlZCBmb3IgV2Vi
S2l0TGVnYWN5PyBJZiBub3QsIHRoaXMgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gV2ViS2l0TGVn
YWN5IGVudGlyZWx5LgogV2ViUlRDSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDoKICAgdHlw
ZTogYm9vbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggM2IxYmI1NTBmNTY4MWE0ZjVkZDIzNjBhMTQx
ODlhOGVjYWQwNTdiOS4uOWE2MWVlZmY1NGI3YzY1MDIwYTI4ZTk0YzZiZWUzZDU0M2M3NDU5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMzM1LDYgKzEzMzUsOCBAQCBzZXQoV2ViQ29yZV9QUklW
QVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5z
aW9uc0dMQU5HTEUuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4
dEdMQU5HTEVVdGlsaXRpZXMuaAogCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1
ZGlvVXRpbGl0aWVzQ29jb2EuaAorCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0LmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxh
eUxpc3REcmF3R2x5cGhzUmVjb3JkZXIuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXls
aXN0cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKaW5kZXggZmMwNjY4YTRhOTFhZmUxMGI2NTE1
OWNhMDgyZTE4MjgxZmQ1MDM1Ny4uMzRiN2ZjNjg2M2IyNWQyNTBjM2RkNjA4YmZkOTBjOWJiYWJh
NDcxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0
TGluay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGlu
ay5jcHAKQEAgLTQ3LDExICs0NywxNCBAQCBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9TT1VSQ0Vf
V0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIFBBTF9FWFBPUlQpCiAKIFNPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
Q29weURhdGFCeXRlcywgT1NTdGF0dXMsIChDTUJsb2NrQnVmZmVyUmVmIHRoZVNvdXJjZUJ1ZmZl
ciwgc2l6ZV90IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIHZvaWQqIGRlc3RpbmF0
aW9uKSwgKHRoZVNvdXJjZUJ1ZmZlciwgb2Zmc2V0VG9EYXRhLCBkYXRhTGVuZ3RoLCBkZXN0aW5h
dGlvbiksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VY
UE9SVChQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgsIHNpemVfdCwg
KENNQmxvY2tCdWZmZXJSZWYgdGhlQnVmZmVyKSwgKHRoZUJ1ZmZlciksIFBBTF9FWFBPUlQpCitT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwg
Q01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzLCBCb29sZWFuLCAoQ01CbG9ja0J1ZmZlclJl
ZiB0aGVCdWZmZXIsIHNpemVfdCBvZmZzZXQsIHNpemVfdCBsZW5ndGgpLCAodGhlQnVmZmVyLCBv
ZmZzZXQsIGxlbmd0aCksIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckNyZWF0ZUNvbnRpZ3Vv
dXMsIE9TU3RhdHVzLCAoQ0ZBbGxvY2F0b3JSZWYgc3RydWN0dXJlQWxsb2NhdG9yLCBDTUJsb2Nr
QnVmZmVyUmVmIHNvdXJjZUJ1ZmZlciwgQ0ZBbGxvY2F0b3JSZWYgYmxvY2tBbGxvY2F0b3IsIGNv
bnN0IENNQmxvY2tCdWZmZXJDdXN0b21CbG9ja1NvdXJjZSogY3VzdG9tQmxvY2tTb3VyY2UsIHNp
emVfdCBvZmZzZXRUb0RhdGEsIHNpemVfdCBkYXRhTGVuZ3RoLCBDTUJsb2NrQnVmZmVyRmxhZ3Mg
ZmxhZ3MsIENNQmxvY2tCdWZmZXJSZWYqIGJsb2NrQnVmZmVyT3V0KSwgKHN0cnVjdHVyZUFsbG9j
YXRvciwgc291cmNlQnVmZmVyLCBibG9ja0FsbG9jYXRvciwgY3VzdG9tQmxvY2tTb3VyY2UsIG9m
ZnNldFRvRGF0YSwgZGF0YUxlbmd0aCwgZmxhZ3MsIGJsb2NrQnVmZmVyT3V0KSwgUEFMX0VYUE9S
VCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1l
ZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2b2lk
KiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6ZV90
IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0ZXMs
IGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgpLCBQ
QUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFM
LCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBDRkRpY3Rpb25h
cnlSZWYsIChDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYyksIFBBTF9FWFBPUlQp
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJHZXRUeXBlSUQsIENGVHlwZUlELCAodm9pZCksICgpLCBQQUxfRVhQ
T1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3Jl
TWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlciwgQ01CbG9ja0J1ZmZlclJlZiwgKENN
U2FtcGxlQnVmZmVyUmVmIHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVO
Q1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZm
ZXJHZXRGb3JtYXREZXNjcmlwdGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwgKENNU2FtcGxl
QnVmZmVyUmVmIHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfRlVOQ1RJT05f
Rk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRB
dWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJl
ZiBzYnVmLCBzaXplX3QgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXRE
ZXNjcmlwdGlvbiogcGFja2V0RGVzY3JpcHRpb25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0
aW9uc1NpemVOZWVkZWRPdXQpLCAoc2J1ZiwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0
RGVzY3JpcHRpb25zT3V0LCBwYWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0KSwgUEFMX0VY
UE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29y
ZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8sIE9TU3RhdHVzLCAoQ01T
YW1wbGVCdWZmZXJSZWYgc2J1ZiwgQ01JdGVtSW5kZXggc2FtcGxlSW5kZXgsIENNU2FtcGxlVGlt
aW5nSW5mbyogdGltaW5nSW5mb091dCksIChzYnVmLCBzYW1wbGVJbmRleCwgdGltaW5nSW5mb091
dCksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9S
VChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJEYXRhSXNSZWFkeSwgQm9vbGVhbiwgKENN
U2FtcGxlQnVmZmVyUmVmIHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaCBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaAppbmRleCAxZGI1MTgxZmM1NmRi
ZmIwNWZiOWYzYWNjMzc1OThlNGIwMzcwOWYwLi5kYzJkOGUwYmU5MzZiYjJkYmZkNTJhYzJlZGNi
NTVjOGYyNTE0YzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVN
ZWRpYVNvZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFT
b2Z0TGluay5oCkBAIC00OSw2ICs0OSwxMCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURF
UihQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckNvcHlEYXRhQnl0ZXMsIE9TU3RhdAogI2Rl
ZmluZSBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9j
a0J1ZmZlckNvcHlEYXRhQnl0ZXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwg
Q29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01CbG9ja0J1
ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSkKICNkZWZpbmUgQ01CbG9ja0J1ZmZlckdl
dERhdGFMZW5ndGggc29mdExpbmtfQ29yZU1lZGlhX0NNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3Ro
CitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1
ZmZlcklzUmFuZ2VDb250aWd1b3VzLCBCb29sZWFuLCAoQ01CbG9ja0J1ZmZlclJlZiB0aGVCdWZm
ZXIsIHNpemVfdCBvZmZzZXQsIHNpemVfdCBsZW5ndGgpLCAodGhlQnVmZmVyLCBvZmZzZXQsIGxl
bmd0aCkpCisjZGVmaW5lIENNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cyBzb2Z0TGlua19D
b3JlTWVkaWFfQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzCitTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckNyZWF0ZUNvbnRpZ3Vv
dXMsIE9TU3RhdHVzLCAoQ0ZBbGxvY2F0b3JSZWYgc3RydWN0dXJlQWxsb2NhdG9yLCBDTUJsb2Nr
QnVmZmVyUmVmIHNvdXJjZUJ1ZmZlciwgQ0ZBbGxvY2F0b3JSZWYgYmxvY2tBbGxvY2F0b3IsIGNv
bnN0IENNQmxvY2tCdWZmZXJDdXN0b21CbG9ja1NvdXJjZSogY3VzdG9tQmxvY2tTb3VyY2UsIHNp
emVfdCBvZmZzZXRUb0RhdGEsIHNpemVfdCBkYXRhTGVuZ3RoLCBDTUJsb2NrQnVmZmVyRmxhZ3Mg
ZmxhZ3MsIENNQmxvY2tCdWZmZXJSZWYqIGJsb2NrQnVmZmVyT3V0KSwgKHN0cnVjdHVyZUFsbG9j
YXRvciwgc291cmNlQnVmZmVyLCBibG9ja0FsbG9jYXRvciwgY3VzdG9tQmxvY2tTb3VyY2UsIG9m
ZnNldFRvRGF0YSwgZGF0YUxlbmd0aCwgZmxhZ3MsIGJsb2NrQnVmZmVyT3V0KSkKKyNkZWZpbmUg
Q01CbG9ja0J1ZmZlckNyZWF0ZUNvbnRpZ3VvdXMgc29mdExpbmtfQ29yZU1lZGlhX0NNQmxvY2tC
dWZmZXJDcmVhdGVDb250aWd1b3VzCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUws
IENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMsIE9TU3RhdHVzLCAoY29u
c3Qgdm9pZCogc291cmNlQnl0ZXMsIENNQmxvY2tCdWZmZXJSZWYgZGVzdGluYXRpb25CdWZmZXIs
IHNpemVfdCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIHNpemVfdCBkYXRhTGVuZ3RoKSwgKHNvdXJj
ZUJ5dGVzLCBkZXN0aW5hdGlvbkJ1ZmZlciwgb2Zmc2V0SW50b0Rlc3RpbmF0aW9uLCBkYXRhTGVu
Z3RoKSkKICNkZWZpbmUgQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMgc29mdExpbmtfQ29y
ZU1lZGlhX0NNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzCiBTT0ZUX0xJTktfRlVOQ1RJT05f
Rk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldEV4dGVuc2lv
bnMsIENGRGljdGlvbmFyeVJlZiwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNj
KSkKQEAgLTU5LDYgKzYzLDggQEAgU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBD
b3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlciwgQ01CbG8KICNkZWZpbmUgQ01T
YW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZl
ckdldERhdGFCdWZmZXIKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1l
ZGlhLCBDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uLCBDTUZvcm1hdERlc2NyaXB0
aW9uUmVmLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSkKICNkZWZpbmUgQ01TYW1w
bGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbiBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVC
dWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbgorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIo
UEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlw
dGlvbnMsIE9TU3RhdHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1Ziwgc2l6ZV90IHBhY2tldERl
c2NyaXB0aW9uc1NpemUsIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24qIHBhY2tldERlc2Ny
aXB0aW9uc091dCwgc2l6ZV90KiBwYWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0KSwgKHNi
dWYsIHBhY2tldERlc2NyaXB0aW9uc1NpemUsIHBhY2tldERlc2NyaXB0aW9uc091dCwgcGFja2V0
RGVzY3JpcHRpb25zU2l6ZU5lZWRlZE91dCkpCisjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0QXVk
aW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMgc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVm
ZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMKIFNPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0lu
Zm8sIE9TU3RhdHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiwgQ01JdGVtSW5kZXggc2FtcGxl
SW5kZXgsIENNU2FtcGxlVGltaW5nSW5mbyogdGltaW5nSW5mb091dCksIChzYnVmLCBzYW1wbGVJ
bmRleCwgdGltaW5nSW5mb091dCkpCiAjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGlt
aW5nSW5mbyBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJ
bmZvCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1w
bGVCdWZmZXJEYXRhSXNSZWFkeSwgQm9vbGVhbiwgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYpLCAo
c2J1ZikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRh
dGlvblNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlv
blNvZnRMaW5rLmgKaW5kZXggYjMyNDE1OWJlMWVmZTdhNWU1ZmUyYjI2NGQ0MWE2YTBjODRmZDQ5
Yi4uNzAwZTljMzJjNGNmYjFiZGMzMGVjZjQ3YTAwMDYzMDcyMDUyNjkwYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaApAQCAt
MzI0LDQgKzMyNCwxMSBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihQQUwsIEFWRm91
bmRhdGlvbiwgQVZPdXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0RpZAogI2RlZmluZSBBVk91dHB1
dENvbnRleHRPdXRwdXREZXZpY2VzRGlkQ2hhbmdlTm90aWZpY2F0aW9uIFBBTDo6Z2V0X0FWRm91
bmRhdGlvbl9BVk91dHB1dENvbnRleHRPdXRwdXREZXZpY2VzRGlkQ2hhbmdlTm90aWZpY2F0aW9u
KCkKICNlbmRpZiAvLyBIQVZFKEFWUk9VVEVQSUNLRVJWSUVXKQogCisjaWYgUExBVEZPUk0oQ09D
T0EpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9Db252ZXJ0ZXIpCitT
T0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9Gb3JtYXQpCitTT0ZUX0xJTktf
Q0xBU1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9Db21wcmVzc2VkQnVmZmVyKQorU09GVF9MSU5L
X0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvUENNQnVmZmVyKQorI2VuZGlmIC8vIFBMQVRG
T1JNKENPQ09BKQorCiAjZW5kaWYgLy8gVVNFKEFWRk9VTkRBVElPTikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCmluZGV4IDM3
YzhiMWZhZmQ1OGNjYmM2ZTg1MGM2ZjMwMTE3NjdjN2RhMzE2NDUuLjczMzk4NDVlMDcyNjU4MDFl
MDY0MDMwM2IyZTI5MWEwMTI0ZTg3MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQpAQCAtMjMwLDcgKzIzMCw3IEBAIFNP
RlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVkF1ZGlvU2Vzc2lvblJvdXRlCiAKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0SFRUUENvb2tp
ZXNLZXksIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZB
SUxfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZVUkxBc3NldFJl
cXVpcmVzQ3VzdG9tVVJMTG9hZGluZ0tleSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKLSNlbmRp
ZgorI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiBTT0ZUX0xJ
TktfRlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIEFWRm91bmRhdGlvbiwgQVZDYXB0dXJlU2Vzc2lv
blNldEF1dGhvcml6ZWRUb1VzZUNhbWVyYUluTXVsdGlwbGVGb3JlZ3JvdW5kQXBwTGF5b3V0LCB2
b2lkLCAoQVZDYXB0dXJlU2Vzc2lvbiAqc2Vzc2lvbiksIChzZXNzaW9uKSkKQEAgLTI0NCw0ICsy
NDQsMTEgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBB
VkZvdW5kYXRpb24sIEFWUm91dGVEZXRlY3Rvck11bHQKIFNPRlRfTElOS19DT05TVEFOVF9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVk91dHB1dENvbnRleHRPdXRw
dXREZXZpY2VzRGlkQ2hhbmdlTm90aWZpY2F0aW9uLCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQog
I2VuZGlmIC8vIEhBVkUoQVZST1VURVBJQ0tFUlZJRVcpCiAKKyNpZiBQTEFURk9STShDT0NPQSkK
K1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVkF1ZGlvQ29udmVydGVyLCBQQUxfRVhQT1JUKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9Gb3JtYXQsIFBBTF9FWFBP
UlQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRh
dGlvbiwgQVZBdWRpb0NvbXByZXNzZWRCdWZmZXIsIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb1BDTUJ1
ZmZlciwgUEFMX0VYUE9SVCkKKyNlbmRpZgorCiAjZW5kaWYgLy8gVVNFKEFWRk9VTkRBVElPTikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBmMDFiOTkyN2UzY2M2MjJlOWNjYzAwYjExZWIyYTJjZGQwM2Y3NTM3Li40ZjQ5NTdmNTBl
OGViNDRmNmYwNTgxOTA3MmRjMGE1MTczYmUxYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzIsNyArMjMyLDcgQEAKIAkJ
MDdFRTc2RUMxQkU5NkRCMDAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0VFNzZFQTFCRTk2
REIwMDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0VFNzZFRjFCRUE2MTk4MDBGODkx
MzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RUU3NkVEMUJFQTYxOTgwMEY4OTEzMyAvKiBNb2Nr
UmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oICovOyB9OwogCQkwN0Y0RTkzMzIwQjM1ODdGMDAyRTM4
MDMgLyogQVZBc3NldE1JTUVUeXBlQ2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA3QzhBRDEyMUQwNzNENjMwMDg3QzVDRSAvKiBBVkFzc2V0TUlN
RVR5cGVDYWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCTA3RjVDRkY1MjU4MkE1MUQwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2Nv
YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdGNUNG
RjQyNTgyQTRGODAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggKi87IH07CisJ
CTA3RjVDRkY1MjU4MkE1MUQwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdGNUNGRjQyNTgy
QTRGODAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDdGNUNGRjYyNTgyQTUyOTAwNjYy
RUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdGNUNGRjIyNTgyQTRGODAwNjYyRUY1IC8qIFdlYk1B
dWRpb1V0aWxpdGllc0NvY29hLm1tICovOyB9OwogCQkwN0Y4NzY4NDFBRDU4MEY5MDA5MDU4NDkg
LyogTWVkaWFQbGF5YmFja1RhcmdldENvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3Rjg3NjgzMUFENEE5NDUwMDkwNTg0OSAvKiBNZWRpYVBs
YXliYWNrVGFyZ2V0Q29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTA3Rjk0NDE2MTg2NEQwNDYwMDVEMzFDQiAvKiBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENEQUU4QzA4MTc0NkI5NTcwMDUzMkQ3OCAvKiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYTNiM2EyZjExNTdj
MmI3ZTUwMGIyYTA0ZTQ2OGVkNTZhZDIwNDRiYy4uMGViOWQzZDM2ZDBkOGE2NDk2MWEwY2U3ZTZk
YzBmMWYxMWIyOTk3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CkBAIC0xMDU1LDcgKzEwNTUsNyBAQCBTdHJpbmcgSFRNTE1lZGlhRWxlbWVudDo6Y2FuUGxheVR5
cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkgY29uc3QKICAgICAvLyBUZW1wb3JhcmlseSB3b3Jr
IGFyb3VuZCBidWcgMjI2OTIyLiBGb3Igbm93IGNsYWltIHRoYXQgdGhlIG9wdXMgYW5kIHZvcmJp
cyBjb2RlY3MgYXJlbid0IHN1cHBvcnRlZAogICAgIC8vIHNvIHRoYXQgc2l0ZXMgcmVseWluZyBv
biB0aGlzIHRlc3QgdG8gZGV0ZXJtaW5lIGlmIHdlYmF1ZGlvIHVzZSBvZiBvcHVzIG9yIHZvcmJp
cyB3b24ndCBlcnJvci4KICAgICBhdXRvIGNvZGVjcyA9IGNvbnRlbnRUeXBlLmNvZGVjcygpOwot
ICAgIGlmIChzdXBwb3J0ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVk
ICYmIChjb2RlY3MuY29udGFpbnMoIm9wdXMiKSB8fCBjb2RlY3MuY29udGFpbnMoInZvcmJpcyIp
KSkKKyAgICBpZiAoc3VwcG9ydCA9PSBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc1N1cHBv
cnRlZCAmJiAoKGNvZGVjcy5jb250YWlucygib3B1cyIpICYmICFSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYk1XZWJBdWRpb0VuYWJsZWQoKSkgfHwgY29kZWNzLmNv
bnRhaW5zKCJ2b3JiaXMiKSkpCiAgICAgICAgIHN1cHBvcnQgPSBNZWRpYVBsYXllcjo6U3VwcG9y
dHNUeXBlOjpJc05vdFN1cHBvcnRlZDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4IGEwZDNjZWE3OWQ3ZTBhZTA3NDgyNDBkZDIy
ZWVlMmQ1NTc1MDQ0YTYuLjY4NWEwYTJhZDc1NDcyNjk5YWViZjIxOWZhMGMyNTE1MjFiZWIwYjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC0y
MzUsNiArMjM1LDggQEAgcHVibGljOgogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgdm9p
ZCBzZXRXZWJNUGFyc2VyRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX3dlYk1QYXJzZXJFbmFi
bGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB3ZWJNUGFyc2VyRW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fd2ViTVBhcnNlckVuYWJsZWQ7IH0KKyAgICB2b2lkIHNldFdlYk1XZWJBdWRpb0Vu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJNV2ViQXVkaW9FbmFibGVkID0gaXNFbmFibGVk
OyB9CisgICAgYm9vbCB3ZWJNV2ViQXVkaW9FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJN
V2ViQXVkaW9FbmFibGVkOyB9CiAjZW5kaWYKIAogI2lmIEhBVkUoQ0VMRVNUSUFMKQpAQCAtMzcx
LDYgKzM3Myw3IEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIGJv
b2wgbV93ZWJNUGFyc2VyRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX3dlYk1XZWJBdWRp
b0VuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCmluZGV4IDhkYTYwMzc3ODgyNDMzMzBhZTI1MGQ5
YzEwYzcyZWUwNTg4ZTc2MGMuLjAyNThlNWViNGYzZDY4ODM4MThiM2I3MWUwOWMwZjg5MGYwMzQz
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaApAQCAtNTcsNyArNTcsNyBA
QCBzdHJ1Y3QgUGxhdGZvcm1TYW1wbGUgewogICAgIH0gc2FtcGxlOwogfTsKIAotY2xhc3MgV0VC
Q09SRV9FWFBPUlQgTWVkaWFTYW1wbGUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TWVk
aWFTYW1wbGU+IHsKK2NsYXNzIE1lZGlhU2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3Vu
dGVkPE1lZGlhU2FtcGxlPiB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+TWVkaWFTYW1wbGUoKSA9
IGRlZmF1bHQ7CiAKQEAgLTEyNSw2ICsxMjUsOCBAQCBwdWJsaWM6CiAKICAgICAgICAgcmV0dXJu
IG9iamVjdC0+dG9KU09OU3RyaW5nKCk7CiAgICAgfQorCisgICAgdmlydHVhbCBib29sIGlzTWVk
aWFTYW1wbGVBVkZPYmpDKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvQnVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNw
cAppbmRleCAyNDNlMTA2YjllMzNkYTkzZGU5YTBjYWQzM2JjMDhlOTIwNjUzMjAwLi43ZjAzYzMz
MWVlMjAxMGM5ODkyOWEwMzI0ZGNhYzk1NWQ2NWY4YmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCkBAIC03Myw2ICs3MywxNiBAQCB2b2lkIEF1ZGlvQnVz
OjpzZXRDaGFubmVsTWVtb3J5KHVuc2lnbmVkIGNoYW5uZWxJbmRleCwgZmxvYXQqIHN0b3JhZ2Us
IHNpemVfdCBsZQogICAgIH0KIH0KIAordm9pZCBBdWRpb0J1czo6c2V0TGVuZ3RoKHNpemVfdCBu
ZXdMZW5ndGgpCit7CisgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
TihuZXdMZW5ndGggPD0gbV9sZW5ndGgpOworICAgIGlmIChuZXdMZW5ndGggPT0gbV9sZW5ndGgp
CisgICAgICAgIHJldHVybjsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVs
cy5zaXplKCk7ICsraSkKKyAgICAgICAgbV9jaGFubmVsc1tpXS0+c2V0TGVuZ3RoKG5ld0xlbmd0
aCk7CisgICAgbV9sZW5ndGggPSBuZXdMZW5ndGg7Cit9CisKIHZvaWQgQXVkaW9CdXM6Onplcm8o
KQogewogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoYW5uZWxzLnNpemUoKTsgKytp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDBlODExMjEx
YjRkYTJjYThjNjcwYjU4YjMyOTZiMzVjZTY5Y2Q0YS4uZWE1ODVjODQ4ZWE5NDEyMjc0MDI5YTg4
NjdhYjljY2FjNzA3NGQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9CdXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1
cy5oCkBAIC04Myw2ICs4Myw5IEBAIHB1YmxpYzoKICAgICAvLyBOdW1iZXIgb2Ygc2FtcGxlLWZy
YW1lcwogICAgIHNpemVfdCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQogCisg
ICAgLy8gUmVkdWNlIHRoZSBudW1iZXIgb2YgZnJhbWVzIGF2YWlsYWJsZSB3aXRob3V0IGNoYW5n
aW5nIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHNpemUuCisgICAgdm9pZCBzZXRMZW5ndGgoc2l6ZV90
IG5ld0xlbmd0aCk7CisKICAgICAvLyBTYW1wbGUtcmF0ZSA6IDAuMCBpZiB1bmtub3duIG9yICJk
b24ndCBjYXJlIgogICAgIGZsb2F0IHNhbXBsZVJhdGUoKSBjb25zdCB7IHJldHVybiBtX3NhbXBs
ZVJhdGU7IH0KICAgICB2b2lkIHNldFNhbXBsZVJhdGUoZmxvYXQgc2FtcGxlUmF0ZSkgeyBtX3Nh
bXBsZVJhdGUgPSBzYW1wbGVSYXRlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvQ2hhbm5lbC5oCmluZGV4IDk3NWJkMGI1YWJkOGY3MjU1YTA1YTdkZDcwZjk2NTBiMWQ0
OTQ2NjcuLmM5NzYxNWYwZGExNTFjMjNkNDMzY2I1NjA2N2JiNTQ3OTQ2MmEwZDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCkBAIC03NCw2ICs3NCwx
NCBAQCBwdWJsaWM6CiAgICAgLy8gSG93IG1hbnkgc2FtcGxlLWZyYW1lcyBkbyB3ZSBjb250YWlu
PwogICAgIHNpemVfdCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQogCisgICAg
Ly8gU2V0IG5ldyBsZW5ndGguIENhbiBvbmx5IGJlIHNldCB0byBhIHZhbHVlIGxvd2VyIHRoYW4g
dGhlIGN1cnJlbnRseQorICAgIC8vIHNldCBsZW5ndGguCisgICAgdm9pZCBzZXRMZW5ndGgoc2l6
ZV90IG5ld0xlbmd0aCkKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJ
VFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IGxlbmd0aCgpKTsKKyAgICAgICAgbV9sZW5ndGgg
PSBuZXdMZW5ndGg7CisgICAgfQorCiAgICAgLy8gRGlyZWN0IGFjY2VzcyB0byBQQ00gc2FtcGxl
IGRhdGEuIE5vbi1jb25zdCBhY2Nlc3NvciBjbGVhcnMgc2lsZW50IGZsYWcuCiAgICAgZmxvYXQq
IG11dGFibGVEYXRhKCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKaW5kZXggNWQ1NmI5
ZWUxYTBkM2Q2N2E3OWMzMDc2MWQxMzgxNWQ3YzA2NDRjZS4uZWRmY2Q0MzQ2YWQ5MTE5OGE1OWQ1
NTBkM2MwOGQ1YjFjOGQ1YTI3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcApAQCAtMzQsMjEg
KzM0LDM0IEBACiAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgogI2luY2x1ZGUgIkF1ZGlvRmlsZVJl
YWRlci5oIgorI2luY2x1ZGUgIkF1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIgorI2luY2x1ZGUgIkF1
ZGlvVHJhY2tQcml2YXRlLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCisjaW5jbHVk
ZSAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNs
dWRlICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKKyNpbmNsdWRlICJWaWRlb1RyYWNrUHJpdmF0ZS5o
IgorI2luY2x1ZGUgIldlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgiCisjaW5jbHVkZSA8QXVkaW9U
b29sYm94L0F1ZGlvQ29udmVydGVyLmg+CiAjaW5jbHVkZSA8QXVkaW9Ub29sYm94L0V4dGVuZGVk
QXVkaW9GaWxlLmg+CiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4K
LSNpbmNsdWRlIDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxTb3Vy
Y2VCdWZmZXJQYXJzZXJXZWJNLmg+CiAjaW5jbHVkZSA8d3RmL0NoZWNrZWRBcml0aG1ldGljLmg+
CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4K
ICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2lu
Y2x1ZGUgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5oPgorI2luY2x1ZGUgPHBhbC9jZi9D
b3JlTWVkaWFTb2Z0TGluay5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBXQVJO
X1VOVVNFRF9SRVRVUk4gQXVkaW9CdWZmZXJMaXN0KiB0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3Qo
c2l6ZV90IG51bWJlck9mQnVmZmVycykKIHsKKyAgICBpZiAoIW51bWJlck9mQnVmZmVycykKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgQ2hlY2tlZFNpemUgYnVmZmVyTGlzdFNpemUgPSBz
aXplb2YoQXVkaW9CdWZmZXJMaXN0KSAtIHNpemVvZihBdWRpb0J1ZmZlcik7Ci0gICAgYnVmZmVy
TGlzdFNpemUgKz0gbnVtYmVyT2ZCdWZmZXJzICogc2l6ZW9mKEF1ZGlvQnVmZmVyKTsKKyAgICBi
dWZmZXJMaXN0U2l6ZSArPSBXVEY6OmNoZWNrZWRQcm9kdWN0PHNpemVfdD4obnVtYmVyT2ZCdWZm
ZXJzLCBzaXplb2YoQXVkaW9CdWZmZXIpKTsKICAgICBpZiAoYnVmZmVyTGlzdFNpemUuaGFzT3Zl
cmZsb3dlZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApAQCAtODcsMTAgKzEwMCw4NiBA
QCBzdGF0aWMgYm9vbCB2YWxpZGF0ZUF1ZGlvQnVmZmVyTGlzdChBdWRpb0J1ZmZlckxpc3QqIGJ1
ZmZlckxpc3QpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKy8vIE9uIHN0YWNrIFJBSUkgY2xhc3Mg
dGhhdCB3aWxsIGZyZWUgdGhlIGFsbG9jYXRlZCBBdWRpb0J1ZmZlckxpc3QgYXMgbmVlZGVkLgor
Y2xhc3MgQXVkaW9CdWZmZXJMaXN0SG9sZGVyIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBBdWRp
b0J1ZmZlckxpc3RIb2xkZXIoc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMpCisgICAgICAgIDogbV9i
dWZmZXJMaXN0KHRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlzdChudW1iZXJPZkNoYW5uZWxzKSkKKyAg
ICB7CisgICAgfQorCisgICAgfkF1ZGlvQnVmZmVyTGlzdEhvbGRlcigpCisgICAgeworICAgICAg
ICBpZiAobV9idWZmZXJMaXN0KQorICAgICAgICAgICAgZGVzdHJveUF1ZGlvQnVmZmVyTGlzdCht
X2J1ZmZlckxpc3QpOworICAgIH0KKworICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25z
dCB7IHJldHVybiAhIW1fYnVmZmVyTGlzdDsgfQorICAgIEF1ZGlvQnVmZmVyTGlzdCogb3BlcmF0
b3ItPigpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyTGlzdDsgfQorICAgIEF1ZGlvQnVmZmVyTGlz
dCogb3BlcmF0b3IqKCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXJMaXN0OyB9CisgICAgYm9vbCBp
c1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gdmFsaWRhdGVBdWRpb0J1ZmZlckxpc3QobV9idWZmZXJM
aXN0KTsgfQorcHJpdmF0ZToKKyAgICBBdWRpb0J1ZmZlckxpc3QqIG1fYnVmZmVyTGlzdDsKK307
CisKK3N0YXRpYyBjb25zdGV4cHIgdWludDMyX3Qga09wdXNNYXhGcmFtZUxlbmd0aCA9IDk0Owor
c3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBrVm9yYmlzTWF4RnJhbWVMZW5ndGggPSA0MDk2Owor
CitjbGFzcyBBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CisKK3B1YmxpYzoKKyAgICBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJbml0aWFsaXph
dGlvblNlZ21lbnQgbV9pbml0U2VnbWVudDsKKyAgICBNZWRpYVRpbWUgbV9kdXJhdGlvbjsKKyAg
ICBWZWN0b3I8UmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4+IG1fc2FtcGxlczsKK307CisKIEF1ZGlv
RmlsZVJlYWRlcjo6QXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRh
U2l6ZSkKICAgICA6IG1fZGF0YShkYXRhKQogICAgICwgbV9kYXRhU2l6ZShkYXRhU2l6ZSkKKyNp
ZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIG1fbG9nZ2VyKExvZ2dlcjo6Y3JlYXRlKHRo
aXMpKQorICAgICwgbV9sb2dJZGVudGlmaWVyKExvZ2dlckhlbHBlcjo6dW5pcXVlTG9nSWRlbnRp
ZmllcigpKQorI2VuZGlmCiB7CisgICAgaWYgKGlzTWF5YmVXZWJNKHN0YXRpY19jYXN0PGNvbnN0
IHVpbnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpKSB7CisgICAgICAgIGF1dG8gcGFyc2VyID0gYWRv
cHRSZWYobmV3IFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0oKSk7CisgICAgICAgIGJvb2wgZXJyb3Ig
PSBmYWxzZTsKKyAgICAgICAgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4gYXVkaW9UcmFja0lkOwor
ICAgICAgICBNZWRpYVRpbWUgZHVyYXRpb247CisgICAgICAgIFNvdXJjZUJ1ZmZlclBhcnNlcldl
Yk06OkluaXRpYWxpemF0aW9uU2VnbWVudCBpbml0U2VnbWVudDsKKyAgICAgICAgVmVjdG9yPFJl
ZjxNZWRpYVNhbXBsZUFWRk9iakM+PiBzYW1wbGVzOworICAgICAgICBwYXJzZXItPnNldERpZEVu
Y291bnRlckVycm9yRHVyaW5nUGFyc2luZ0NhbGxiYWNrKFsmXSh1aW50NjRfdCkgeworICAgICAg
ICAgICAgZXJyb3IgPSB0cnVlOworICAgICAgICB9KTsKKyAgICAgICAgcGFyc2VyLT5zZXREaWRQ
YXJzZUluaXRpYWxpemF0aW9uRGF0YUNhbGxiYWNrKFsmXShTb3VyY2VCdWZmZXJQYXJzZXJXZWJN
OjpJbml0aWFsaXphdGlvblNlZ21lbnQmJiBpbml0KSB7CisgICAgICAgICAgICBmb3IgKGF1dG8m
IGF1ZGlvVHJhY2sgOiBpbml0LmF1ZGlvVHJhY2tzKSB7CisgICAgICAgICAgICAgICAgaWYgKGF1
ZGlvVHJhY2sudHJhY2sgJiYgYXVkaW9UcmFjay50cmFjay0+dHJhY2tVSUQoKSkgeworICAgICAg
ICAgICAgICAgICAgICBkdXJhdGlvbiA9IGluaXQuZHVyYXRpb247CisgICAgICAgICAgICAgICAg
ICAgIGF1ZGlvVHJhY2tJZCA9IGF1ZGlvVHJhY2sudHJhY2stPnRyYWNrVUlEKCk7CisgICAgICAg
ICAgICAgICAgICAgIGluaXRTZWdtZW50ID0gV1RGTW92ZShpbml0KTsKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAg
fSk7CisgICAgICAgIHBhcnNlci0+c2V0RGlkUHJvdmlkZU1lZGlhRGF0YUNhbGxiYWNrKFsmXShS
ZWY8TWVkaWFTYW1wbGU+JiYgc2FtcGxlLCB1aW50NjRfdCB0cmFja0lELCBjb25zdCBTdHJpbmcm
KSB7CisgICAgICAgICAgICBpZiAoIWF1ZGlvVHJhY2tJZCB8fCB0cmFja0lEICE9ICphdWRpb1Ry
YWNrSWQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihpczxNZWRpYVNhbXBsZUFWRk9iakM+KHNhbXBs
ZS5nZXQoKSkpOworICAgICAgICAgICAgc2FtcGxlcy5hcHBlbmQoc3RhdGljX3JlZmVyZW5jZV9j
YXN0PE1lZGlhU2FtcGxlQVZGT2JqQz4oV1RGTW92ZShzYW1wbGUpKSk7CisgICAgICAgIH0pOwor
ICAgICAgICBwYXJzZXItPnNldENhbGxPbkNsaWVudFRocmVhZENhbGxiYWNrKFtdKFdURjo6RnVu
Y3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKSB7CisgICAgICAgICAgICBmdW5jdGlvbigpOworICAg
ICAgICB9KTsKKyAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IHZlY3RvcihzdGF0aWNfY2FzdDxjb25z
dCB1aW50OF90Kj4oZGF0YSksIGRhdGFTaXplKTsKKyAgICAgICAgU291cmNlQnVmZmVyUGFyc2Vy
OjpTZWdtZW50IHNlZ21lbnQoV1RGTW92ZSh2ZWN0b3IpKTsKKyAgICAgICAgcGFyc2VyLT5hcHBl
bmREYXRhKFdURk1vdmUoc2VnbWVudCkpOworICAgICAgICBpZiAoYXVkaW9UcmFja0lkKSB7Cisg
ICAgICAgICAgICBwYXJzZXItPmZsdXNoUGVuZGluZ0F1ZGlvQnVmZmVycygpOworICAgICAgICAg
ICAgbV93ZWJtRGF0YSA9IG1ha2VVbmlxdWU8QXVkaW9GaWxlUmVhZGVyV2ViTURhdGE+KEF1ZGlv
RmlsZVJlYWRlcldlYk1EYXRhIHsgV1RGTW92ZShpbml0U2VnbWVudCksIFdURk1vdmUoZHVyYXRp
b24pLCBXVEZNb3ZlKHNhbXBsZXMpIH0pOworICAgICAgICB9CisgICAgICAgIHJldHVybjsKKyAg
ICB9CiAgICAgaWYgKFBBTDo6QXVkaW9GaWxlT3BlbldpdGhDYWxsYmFja3ModGhpcywgcmVhZFBy
b2MsIDAsIGdldFNpemVQcm9jLCAwLCAwLCAmbV9hdWRpb0ZpbGVJRCkgIT0gbm9FcnIpCiAgICAg
ICAgIHJldHVybjsKIApAQCAtMTExLDYgKzIwMCwxMiBAQCBBdWRpb0ZpbGVSZWFkZXI6On5BdWRp
b0ZpbGVSZWFkZXIoKQogICAgIG1fYXVkaW9GaWxlSUQgPSAwOwogfQogCitib29sIEF1ZGlvRmls
ZVJlYWRlcjo6aXNNYXliZVdlYk0oY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFTaXpl
KSBjb25zdAoreworICAgIC8vIEZyb20gaHR0cHM6Ly9taW1lc25pZmYuc3BlYy53aGF0d2cub3Jn
LyNzaWduYXR1cmUtZm9yLXdlYm0KKyAgICByZXR1cm4gZGF0YVNpemUgPj0gNCAmJiBkYXRhWzBd
ID09IDB4MUEgJiYgZGF0YVsxXSA9PSAweDQ1ICYmIGRhdGFbMl0gPT0gMHhERiAmJiBkYXRhWzNd
ID09IDB4QTM7Cit9CisKIE9TU3RhdHVzIEF1ZGlvRmlsZVJlYWRlcjo6cmVhZFByb2Modm9pZCog
Y2xpZW50RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVzdENvdW50LCB2b2lkKiBi
dWZmZXIsIFVJbnQzMiogYWN0dWFsQ291bnQpCiB7CiAgICAgYXV0byogYXVkaW9GaWxlUmVhZGVy
ID0gc3RhdGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50RGF0YSk7CkBAIC0xMzYsNjcg
KzIzMSwxNzAgQEAgU0ludDY0IEF1ZGlvRmlsZVJlYWRlcjo6Z2V0U2l6ZVByb2Modm9pZCogY2xp
ZW50RGF0YSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50
RGF0YSktPmRhdGFTaXplKCk7CiB9CiAKLVJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVy
OjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCitzdHJ1Y3QgUGFz
c3Rocm91Z2hVc2VyRGF0YSB7CisgICAgVUludDMyIG1fY2hhbm5lbHM7CisgICAgVUludDMyIG1f
ZGF0YVNpemU7CisgICAgY29uc3Qgdm9pZCogbV9kYXRhOworICAgIFVJbnQzMiBtX2luZGV4Owor
ICAgIFVJbnQzMiBtX251bVBhY2tldHM7CisgICAgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
biogbV9wYWNrZXRzOworfTsKKworLy8gRXJyb3IgdmFsdWUgd2UgcGFzcyB0aHJvdWdoIHRoZSBk
ZWNvZGVyIHRvIHNpZ25hbCB0aGF0IG5vdGhpbmcKKy8vIGhhcyBnb25lIHdyb25nIGR1cmluZyBk
ZWNvZGluZyBhbmQgd2UncmUgZG9uZSBwcm9jZXNzaW5nIHRoZSBwYWNrZXQuCitjb25zdCB1aW50
MzJfdCBrTm9Nb3JlRGF0YUVyciA9ICdNT0FSJzsKKworc3RhdGljIE9TU3RhdHVzIHBhc3N0aHJv
dWdoSW5wdXREYXRhQ2FsbGJhY2soCisgICAgQXVkaW9Db252ZXJ0ZXJSZWYsIFVJbnQzMiogbnVt
RGF0YVBhY2tldHMsIEF1ZGlvQnVmZmVyTGlzdCogZGF0YSwgQXVkaW9TdHJlYW1QYWNrZXREZXNj
cmlwdGlvbioqIHBhY2tldERlc2MsIHZvaWQqIGluVXNlckRhdGEpCit7CisgICAgUGFzc3Rocm91
Z2hVc2VyRGF0YSogdXNlckRhdGEgPSAoUGFzc3Rocm91Z2hVc2VyRGF0YSopaW5Vc2VyRGF0YTsK
KyAgICBpZiAodXNlckRhdGEtPm1faW5kZXggPT0gdXNlckRhdGEtPm1fbnVtUGFja2V0cykgewor
ICAgICAgICAqbnVtRGF0YVBhY2tldHMgPSAwOworICAgICAgICByZXR1cm4ga05vTW9yZURhdGFF
cnI7CisgICAgfQorCisgICAgaWYgKHBhY2tldERlc2MpIHsKKyAgICAgICAgaWYgKHVzZXJEYXRh
LT5tX2luZGV4ID49IHVzZXJEYXRhLT5tX251bVBhY2tldHMpIHsKKyAgICAgICAgICAgICpudW1E
YXRhUGFja2V0cyA9IDA7CisgICAgICAgICAgICByZXR1cm4ga0F1ZGlvQ29udmVydGVyRXJyX1Jl
cXVpcmVzUGFja2V0RGVzY3JpcHRpb25zRXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgKnBhY2tl
dERlc2MgPSAmdXNlckRhdGEtPm1fcGFja2V0c1t1c2VyRGF0YS0+bV9pbmRleF07CisgICAgfQor
CisgICAgZGF0YS0+bUJ1ZmZlcnNbMF0ubU51bWJlckNoYW5uZWxzID0gdXNlckRhdGEtPm1fY2hh
bm5lbHM7CisgICAgZGF0YS0+bUJ1ZmZlcnNbMF0ubURhdGFCeXRlU2l6ZSA9IHVzZXJEYXRhLT5t
X2RhdGFTaXplOworICAgIGRhdGEtPm1CdWZmZXJzWzBdLm1EYXRhID0gY29uc3RfY2FzdDx2b2lk
Kj4odXNlckRhdGEtPm1fZGF0YSk7CisKKyAgICAqbnVtRGF0YVBhY2tldHMgPSAxOworICAgIHVz
ZXJEYXRhLT5tX2luZGV4Kys7CisKKyAgICByZXR1cm4gbm9FcnI7Cit9CisKK3NzaXplX3QgQXVk
aW9GaWxlUmVhZGVyOjpudW1iZXJPZkZyYW1lcygpIGNvbnN0CiB7CisgICAgU0ludDY0IG51bWJl
ck9mRnJhbWVzSW42NCA9IDA7CisKKyAgICBpZiAobV93ZWJtRGF0YSkgeworICAgICAgICBpZiAo
bV93ZWJtRGF0YS0+bV9zYW1wbGVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiAtMTsK
KworICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHRvdGFsIG51bWJlciBvZiBkZWNvZGVkIHNhbXBs
ZXMgdGhhdCB3ZXJlIGRlbXV4ZWQuCisgICAgICAgIC8vIFRoaXMgY29kZSBvbmx5IGhhbmRsZSB0
aGUgQ01TYW1wbGVCdWZmZXIgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBTb3VyY2VCdWZmZXJQYXJzZXJX
ZWJNCisgICAgICAgIC8vIHdoZXJlIGEgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMgYXJy
YXkgaXMgYWx3YXlzIHByb3ZpZGVkIGV2ZW4gd2l0aAorICAgICAgICAvLyBDb25zdGFudCBiaXRy
YXRlIGFuZCBjb25zdGFudCBmcmFtZXMtcGVyLXBhY2tldCBhdWRpby4KKyAgICAgICAgZm9yIChh
dXRvJiBzYW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgICAgIENNU2Ft
cGxlQnVmZmVyUmVmIHNhbXBsZUJ1ZmZlciA9IHNhbXBsZS0+c2FtcGxlQnVmZmVyKCk7CisgICAg
ICAgICAgICBjb25zdCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0g
UEFMOjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKHNhbXBsZUJ1ZmZlcik7Cisg
ICAgICAgICAgICBpZiAoIWZvcm1hdERlc2NyaXB0aW9uKQorICAgICAgICAgICAgICAgIHJldHVy
biAtMTsKKyAgICAgICAgICAgIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiogY29u
c3QgYXNiZCA9IFBBTDo6Q01BdWRpb0Zvcm1hdERlc2NyaXB0aW9uR2V0U3RyZWFtQmFzaWNEZXNj
cmlwdGlvbihmb3JtYXREZXNjcmlwdGlvbik7CisgICAgICAgICAgICBpZiAoIWFzYmQpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIC0xOworCisgICAgICAgICAgICBzaXplX3QgcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZTsKKyAgICAgICAgICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9T
dHJlYW1QYWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCAwLCBudWxscHRyLCAmcGFja2V0
RGVzY3JpcHRpb25zU2l6ZSkgIT0gbm9FcnIpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwor
ICAgICAgICAgICAgc2l6ZV90IG51bURlc2NyaXB0aW9ucyA9IHBhY2tldERlc2NyaXB0aW9uc1Np
emUgLyBzaXplb2YoQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbik7CisgICAgICAgICAgICBp
ZiAoIW51bURlc2NyaXB0aW9ucykKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAg
ICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IFdURjo6bWFrZVVuaXF1ZUFycmF5PEF1ZGlvU3RyZWFt
UGFja2V0RGVzY3JpcHRpb24+KG51bURlc2NyaXB0aW9ucyk7CisgICAgICAgICAgICBpZiAoUEFM
OjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1
ZmZlciwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3JpcHRpb25zLmdldCgpLCBudWxscHRy
KSAhPSBub0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBDTUl0
ZW1Db3VudCBudW1QYWNrZXRzID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2Ft
cGxlQnVmZmVyKTsKKyAgICAgICAgICAgIGlmIChudW1EZXNjcmlwdGlvbnMgIT0gc2l6ZV90KG51
bVBhY2tldHMpKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8s
ICJVbmhhbmRsZWQgQ01TYW1wbGVCdWZmZXIgc3RydWN0dXJlIik7CisgICAgICAgICAgICAgICAg
cmV0dXJuIC0xOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBudW1EZXNjcmlwdGlvbnM7IGkrKykgeworICAgICAgICAgICAgICAgIHVpbnQzMl90IGZw
cCA9IGRlc2NyaXB0aW9uc1tpXS5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA/IGRlc2NyaXB0aW9u
c1tpXS5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA6IGFzYmQtPm1GcmFtZXNQZXJQYWNrZXQ7Cisg
ICAgICAgICAgICAgICAgbnVtYmVyT2ZGcmFtZXNJbjY0ICs9IGZwcDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICByZXR1cm4gbnVtYmVyT2ZGcmFtZXNJbjY0OworICAgIH0KKwog
ICAgIGlmICghbV9leHRBdWRpb0ZpbGVSZWYpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAg
ICAgICByZXR1cm4gLTE7CiAKLSAgICAvLyBHZXQgZmlsZSdzIGRhdGEgZm9ybWF0Ci0gICAgVUlu
dDMyIHNpemUgPSBzaXplb2YobV9maWxlRGF0YUZvcm1hdCk7Ci0gICAgaWYgKFBBTDo6RXh0QXVk
aW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0
eV9GaWxlRGF0YUZvcm1hdCwgJnNpemUsICZtX2ZpbGVEYXRhRm9ybWF0KSAhPSBub0VycikKLSAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgVUludDMyIHNpemUgPSBzaXplb2YobnVtYmVyT2ZG
cmFtZXNJbjY0KTsKKyAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1
ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVMZW5ndGhGcmFtZXMsICZzaXpl
LCAmbnVtYmVyT2ZGcmFtZXNJbjY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lc0luNjQgPD0g
MCkKKyAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBt
X2ZpbGVEYXRhRm9ybWF0Lm1DaGFubmVsc1BlckZyYW1lOworICAgIHJldHVybiBudW1iZXJPZkZy
YW1lc0luNjQ7Cit9CiAKLSAgICAvLyBOdW1iZXIgb2YgZnJhbWVzCi0gICAgU0ludDY0IG51bWJl
ck9mRnJhbWVzNjQgPSAwOwotICAgIHNpemUgPSBzaXplb2YobnVtYmVyT2ZGcmFtZXM2NCk7Ci0g
ICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtF
eHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxlTGVuZ3RoRnJhbWVzLCAmc2l6ZSwgJm51bWJlck9mRnJh
bWVzNjQpICE9IG5vRXJyIHx8IG51bWJlck9mRnJhbWVzNjQgPD0gMCkKLSAgICAgICAgcmV0dXJu
IG51bGxwdHI7CitzdGQ6Om9wdGlvbmFsPEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gQXVk
aW9GaWxlUmVhZGVyOjpmaWxlRGF0YUZvcm1hdCgpIGNvbnN0Cit7CisgICAgaWYgKG1fd2VibURh
dGEpIHsKKyAgICAgICAgaWYgKG1fd2VibURhdGEtPm1fc2FtcGxlcy5pc0VtcHR5KCkpCisgICAg
ICAgICAgICByZXR1cm4geyB9OworCisgICAgICAgIENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9y
bWF0RGVzY3JpcHRpb24gPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24o
bV93ZWJtRGF0YS0+bV9zYW1wbGVzWzBdLT5zYW1wbGVCdWZmZXIoKSk7CisKKyAgICAgICAgY29u
c3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25zdCBhc2JkID0gUEFMOjpDTUF1ZGlv
Rm9ybWF0RGVzY3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKGZvcm1hdERlc2NyaXB0
aW9uKTsKKyAgICAgICAgcmV0dXJuICphc2JkOworICAgIH0KIAotICAgIGRvdWJsZSBmaWxlU2Ft
cGxlUmF0ZSA9IG1fZmlsZURhdGFGb3JtYXQubVNhbXBsZVJhdGU7CisgICAgQXVkaW9TdHJlYW1C
YXNpY0Rlc2NyaXB0aW9uIGZvcm1hdDsKKyAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihmb3JtYXQp
OworICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVm
LCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZzaXplLCAmZm9ybWF0KSAh
PSBub0VycikKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gZm9ybWF0OworfQogCitB
dWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gQXVkaW9GaWxlUmVhZGVyOjpjbGllbnREYXRhRm9y
bWF0KGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5Gb3JtYXQsIGZsb2F0IHNh
bXBsZVJhdGUpIGNvbnN0Cit7CiAgICAgLy8gTWFrZSBjbGllbnQgZm9ybWF0IHNhbWUgbnVtYmVy
IG9mIGNoYW5uZWxzIGFzIGZpbGUgZm9ybWF0LCBidXQgdHdlYWsgYSBmZXcgdGhpbmdzLgogICAg
IC8vIENsaWVudCBmb3JtYXQgd2lsbCBiZSBsaW5lYXIgUENNIChjYW5vbmljYWwpLCBhbmQgcG90
ZW50aWFsbHkgY2hhbmdlIHNhbXBsZS1yYXRlLgotICAgIG1fY2xpZW50RGF0YUZvcm1hdCA9IG1f
ZmlsZURhdGFGb3JtYXQ7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIG91dEZvcm1h
dCA9IGluRm9ybWF0OwogCiAgICAgY29uc3QgaW50IGJ5dGVzUGVyRmxvYXQgPSBzaXplb2YoRmxv
YXQzMik7CiAgICAgY29uc3QgaW50IGJpdHNQZXJCeXRlID0gODsKLSAgICBtX2NsaWVudERhdGFG
b3JtYXQubUZvcm1hdElEID0ga0F1ZGlvRm9ybWF0TGluZWFyUENNOwotICAgIG1fY2xpZW50RGF0
YUZvcm1hdC5tRm9ybWF0RmxhZ3MgPSBrQXVkaW9Gb3JtYXRGbGFnc05hdGl2ZUZsb2F0UGFja2Vk
IHwga0F1ZGlvRm9ybWF0RmxhZ0lzTm9uSW50ZXJsZWF2ZWQ7Ci0gICAgbV9jbGllbnREYXRhRm9y
bWF0Lm1CeXRlc1BlclBhY2tldCA9IGJ5dGVzUGVyRmxvYXQ7Ci0gICAgbV9jbGllbnREYXRhRm9y
bWF0Lm1GcmFtZXNQZXJQYWNrZXQgPSAxOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQnl0ZXNQ
ZXJGcmFtZSA9IGJ5dGVzUGVyRmxvYXQ7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1DaGFubmVs
c1BlckZyYW1lID0gbnVtYmVyT2ZDaGFubmVsczsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJp
dHNQZXJDaGFubmVsID0gYml0c1BlckJ5dGUgKiBieXRlc1BlckZsb2F0OworICAgIG91dEZvcm1h
dC5tRm9ybWF0SUQgPSBrQXVkaW9Gb3JtYXRMaW5lYXJQQ007CisgICAgb3V0Rm9ybWF0Lm1Gb3Jt
YXRGbGFncyA9IGtBdWRpb0Zvcm1hdEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQgfCBrQXVkaW9Gb3Jt
YXRGbGFnSXNOb25JbnRlcmxlYXZlZDsKKyAgICBvdXRGb3JtYXQubUJ5dGVzUGVyUGFja2V0ID0g
b3V0Rm9ybWF0Lm1CeXRlc1BlckZyYW1lID0gYnl0ZXNQZXJGbG9hdDsKKyAgICBvdXRGb3JtYXQu
bUZyYW1lc1BlclBhY2tldCA9IDE7CisgICAgb3V0Rm9ybWF0Lm1CaXRzUGVyQ2hhbm5lbCA9IGJp
dHNQZXJCeXRlICogYnl0ZXNQZXJGbG9hdDsKIAogICAgIGlmIChzYW1wbGVSYXRlKQotICAgICAg
ICBtX2NsaWVudERhdGFGb3JtYXQubVNhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOworICAgICAgICBv
dXRGb3JtYXQubVNhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOworCisgICAgcmV0dXJuIG91dEZvcm1h
dDsKK30KIAotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFByb3BlcnR5KG1fZXh0QXVkaW9G
aWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0YUZvcm1hdCwgc2l6ZW9mKEF1
ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksICZtX2NsaWVudERhdGFGb3JtYXQpICE9IG5vRXJy
KQorUmVmUHRyPEF1ZGlvQnVzPiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1w
bGVSYXRlLCBib29sIG1peFRvTW9ubykKK3sKKyAgICBTSW50NjQgbnVtYmVyT2ZGcmFtZXNJbjY0
ID0gbnVtYmVyT2ZGcmFtZXMoKTsKKyAgICBpZiAobnVtYmVyT2ZGcmFtZXNJbjY0IDw9IDApCiAg
ICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgLy8gQ2hhbmdlIG51bWJlck9mRnJhbWVzNjQg
dG8gZGVzdGluYXRpb24gc2FtcGxlLXJhdGUKLSAgICBudW1iZXJPZkZyYW1lczY0ID0gbnVtYmVy
T2ZGcmFtZXM2NCAqIChtX2NsaWVudERhdGFGb3JtYXQubVNhbXBsZVJhdGUgLyBmaWxlU2FtcGxl
UmF0ZSk7Ci0gICAgc2l6ZV90IG51bWJlck9mRnJhbWVzID0gc3RhdGljX2Nhc3Q8c2l6ZV90Pihu
dW1iZXJPZkZyYW1lczY0KTsKKyAgICBhdXRvIGluRm9ybWF0ID0gZmlsZURhdGFGb3JtYXQoKTsK
KyAgICBpZiAoIWluRm9ybWF0KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAgIEF1ZGlv
U3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBvdXRGb3JtYXQgPSBjbGllbnREYXRhRm9ybWF0KCppbkZv
cm1hdCwgc2FtcGxlUmF0ZSk7CisgICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBpbkZvcm1h
dC0+bUNoYW5uZWxzUGVyRnJhbWU7CisgICAgZG91YmxlIGZpbGVTYW1wbGVSYXRlID0gaW5Gb3Jt
YXQtPm1TYW1wbGVSYXRlOworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc091dDY0ID0gbnVtYmVy
T2ZGcmFtZXNJbjY0ICogKG91dEZvcm1hdC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVSYXRlKTsK
KyAgICBzaXplX3QgbnVtYmVyT2ZGcmFtZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51bWJlck9m
RnJhbWVzT3V0NjQpOwogICAgIHNpemVfdCBidXNDaGFubmVsQ291bnQgPSBtaXhUb01vbm8gPyAx
IDogbnVtYmVyT2ZDaGFubmVsczsKIAogICAgIC8vIENyZWF0ZSBBdWRpb0J1cyB3aGVyZSB3ZSds
bCBwdXQgdGhlIFBDTSBhdWRpbyBkYXRhCiAgICAgYXV0byBhdWRpb0J1cyA9IEF1ZGlvQnVzOjpj
cmVhdGUoYnVzQ2hhbm5lbENvdW50LCBudW1iZXJPZkZyYW1lcyk7Ci0gICAgYXVkaW9CdXMtPnNl
dFNhbXBsZVJhdGUobmFycm93UHJlY2lzaW9uVG9GbG9hdChtX2NsaWVudERhdGFGb3JtYXQubVNh
bXBsZVJhdGUpKTsgLy8gc2F2ZSBmb3IgbGF0ZXIKLQotICAgIC8vIE9ubHkgYWxsb2NhdGVkIGlu
IHRoZSBtaXhUb01vbm8gY2FzZTsgZGVhbGxvY2F0ZWQgb24gZGVzdHJ1Y3Rpb24uCi0gICAgQXVk
aW9GbG9hdEFycmF5IGxlZnRDaGFubmVsOwotICAgIEF1ZGlvRmxvYXRBcnJheSByaWdodENoYW5u
ZWw7CisgICAgYXVkaW9CdXMtPnNldFNhbXBsZVJhdGUobmFycm93UHJlY2lzaW9uVG9GbG9hdChv
dXRGb3JtYXQubVNhbXBsZVJhdGUpKTsgLy8gc2F2ZSBmb3IgbGF0ZXIKIAotICAgIEF1ZGlvQnVm
ZmVyTGlzdCogYnVmZmVyTGlzdCA9IHRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlzdChudW1iZXJPZkNo
YW5uZWxzKTsKKyAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgYnVmZmVyTGlzdChudW1iZXJPZkNo
YW5uZWxzKTsKICAgICBpZiAoIWJ1ZmZlckxpc3QpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRkFV
TFQoV2ViQXVkaW8sICJ0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QoJWxkKSByZXR1cm5lZCBudWxs
IiwgbnVtYmVyT2ZDaGFubmVscyk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KICAg
ICBjb25zdCBzaXplX3QgYnVmZmVyU2l6ZSA9IG51bWJlck9mRnJhbWVzICogc2l6ZW9mKGZsb2F0
KTsKIAorICAgIC8vIE9ubHkgYWxsb2NhdGVkIGluIHRoZSBtaXhUb01vbm8gY2FzZTsgZGVhbGxv
Y2F0ZWQgb24gZGVzdHJ1Y3Rpb24uCisgICAgQXVkaW9GbG9hdEFycmF5IGxlZnRDaGFubmVsOwor
ICAgIEF1ZGlvRmxvYXRBcnJheSByaWdodENoYW5uZWw7CisKICAgICBSRUxFQVNFX0FTU0VSVChi
dWZmZXJMaXN0LT5tTnVtYmVyQnVmZmVycyA9PSBudW1iZXJPZkNoYW5uZWxzKTsKICAgICBpZiAo
bWl4VG9Nb25vICYmIG51bWJlck9mQ2hhbm5lbHMgPT0gMikgewogICAgICAgICBsZWZ0Q2hhbm5l
bC5yZXNpemUobnVtYmVyT2ZGcmFtZXMpOwpAQCAtMjIyLDE4ICs0MjAsOTAgQEAgUmVmUHRyPEF1
ZGlvQnVzPiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29s
IG1peFRvTW9ubykKICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICghdmFsaWRhdGVBdWRpb0J1
ZmZlckxpc3QoYnVmZmVyTGlzdCkpIHsKKyAgICBpZiAoIWJ1ZmZlckxpc3QuaXNWYWxpZCgpKSB7
CiAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiR2VuZXJhdGVkIGJ1ZmZlciBp
biBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cygpIGRpZCBub3QgcGFzcyB2YWxpZGF0aW9uIik7
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBkZXN0cm95QXVkaW9CdWZm
ZXJMaXN0KGJ1ZmZlckxpc3QpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAg
ICAvLyBSZWFkIGZyb20gdGhlIGZpbGUgKG9yIGluLW1lbW9yeSB2ZXJzaW9uKQotICAgIFVJbnQz
MiBmcmFtZXNUb1JlYWQgPSBudW1iZXJPZkZyYW1lczsKLSAgICBpZiAoUEFMOjpFeHRBdWRpb0Zp
bGVSZWFkKG1fZXh0QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCBidWZmZXJMaXN0KSAhPSBu
b0VycikgewotICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpOwotICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAobV93ZWJtRGF0YSkgeworICAgICAgICBBdWRp
b0NvbnZlcnRlclJlZiBjb252ZXJ0ZXI7CisgICAgICAgIGlmIChQQUw6OkF1ZGlvQ29udmVydGVy
TmV3KCYqaW5Gb3JtYXQsICZvdXRGb3JtYXQsICZjb252ZXJ0ZXIpICE9IG5vRXJyKQorICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIGF1dG8gY2xlYW51cCA9IFsmXSgpIHsKKyAg
ICAgICAgICAgIGlmIChjb252ZXJ0ZXIpCisgICAgICAgICAgICAgICAgUEFMOjpBdWRpb0NvbnZl
cnRlckRpc3Bvc2UoY29udmVydGVyKTsKKyAgICAgICAgfTsKKyAgICAgICAgVU5VU0VEX1ZBUklB
QkxFKGNsZWFudXApOyAvLyBub3QgcmVhbGx5LCBidXQgd2UgbWFrZSB0aGUgY29tcGlsZXIgaGFw
cHkuCisKKyAgICAgICAgLy8gRGVzY3JpcHRpb25zIGZvciBfZGVjb21wcmVzc2VkXyBhdWRpbyBw
YWNrZXRzLiBpZ25vcmVkIGJ1dCBuZWVkZWQuCisgICAgICAgIGNvbnN0IHVpbnQzMl90IG1heEF1
ZGlvRnJhbWVzID0gMTI4OworICAgICAgICBhdXRvIHBhY2tldHMgPSBXVEY6Om1ha2VVbmlxdWVB
cnJheTxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPihtYXhBdWRpb0ZyYW1lcyk7CisKKyAg
ICAgICAgc2l6ZV90IGRlY29kZWRGcmFtZXMgPSAwOworICAgICAgICBBdWRpb0J1ZmZlckxpc3RI
b2xkZXIgZGVjb2RlZEJ1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CisgICAgICAgIGlmICgh
ZGVjb2RlZEJ1ZmZlckxpc3QpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAg
ICBPU1N0YXR1cyBzdGF0dXM7CisgICAgICAgIGZvciAoYXV0byYgc2FtcGxlIDogbV93ZWJtRGF0
YS0+bV9zYW1wbGVzKSB7CisgICAgICAgICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZm
ZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICAgICAgYXV0byBidWZmZXIgPSBQ
QUw6OkNNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlcihzYW1wbGVCdWZmZXIpOworICAgICAgICAg
ICAgQVNTRVJUKFBBTDo6Q01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzKGJ1ZmZlciwgMCwg
MCkpOworICAgICAgICAgICAgaWYgKCFQQUw6OkNNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91
cyhidWZmZXIsIDAsIDApKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAg
ICAgICAgICBzaXplX3Qgc3JjU2l6ZSA9IFBBTDo6Q01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgo
YnVmZmVyKTsKKyAgICAgICAgICAgIGNoYXIqIHNyY0RhdGEgPSBudWxscHRyOworICAgICAgICAg
ICAgaWYgKFBBTDo6Q01CbG9ja0J1ZmZlckdldERhdGFQb2ludGVyKGJ1ZmZlciwgMCwgbnVsbHB0
ciwgbnVsbHB0ciwgJnNyY0RhdGEpICE9IG5vRXJyKQorICAgICAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgICAgICAgICBzaXplX3QgcGFja2V0RGVzY3JpcHRpb25zU2l6ZTsKKyAg
ICAgICAgICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNj
cmlwdGlvbnMoc2FtcGxlQnVmZmVyLCAwLCBudWxscHRyLCAmcGFja2V0RGVzY3JpcHRpb25zU2l6
ZSkgIT0gbm9FcnIpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAg
ICBzaXplX3QgbnVtRGVzY3JpcHRpb25zID0gcGFja2V0RGVzY3JpcHRpb25zU2l6ZSAvIHNpemVv
ZihBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKTsKKyAgICAgICAgICAgIGlmICghbnVtRGVz
Y3JpcHRpb25zKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAg
YXV0byBkZXNjcmlwdGlvbnMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxBdWRpb1N0cmVhbVBhY2tl
dERlc2NyaXB0aW9uPihudW1EZXNjcmlwdGlvbnMpOworICAgICAgICAgICAgaWYgKFBBTDo6Q01T
YW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIs
IHBhY2tldERlc2NyaXB0aW9uc1NpemUsIGRlc2NyaXB0aW9ucy5nZXQoKSwgbnVsbHB0cikgIT0g
bm9FcnIpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBQYXNz
dGhyb3VnaFVzZXJEYXRhIHVzZXJEYXRhID0geyBVSW50MzIobnVtYmVyT2ZDaGFubmVscyksIFVJ
bnQzMihzcmNTaXplKSwgc3JjRGF0YSwgMCwgVUludDMyKG51bURlc2NyaXB0aW9ucyksIGRlc2Ny
aXB0aW9ucy5nZXQoKSB9OworCisgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBudW1iZXJPZkNoYW5uZWxzOyBpKyspIHsKKyAgICAgICAgICAg
ICAgICAgICAgZGVjb2RlZEJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1OdW1iZXJDaGFubmVscyA9
IDE7CisgICAgICAgICAgICAgICAgICAgIGlmIChidWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0
YUJ5dGVTaXplIDw9IGRlY29kZWRGcmFtZXMgKiBzaXplb2YoZmxvYXQpKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIkRlY29kZWQgbW9yZSBm
cmFtZXMgdGhhbiBmaXJzdCBjYWxjdWxhdGVkIik7CisgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAg
ICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGFCeXRlU2l6ZSA9IHN0ZDo6bWlu
PHVpbnQzMl90PihtYXhBdWRpb0ZyYW1lcyAqIHNpemVvZihmbG9hdCksIGJ1ZmZlckxpc3QtPm1C
dWZmZXJzW2ldLm1EYXRhQnl0ZVNpemUgLSBkZWNvZGVkRnJhbWVzICogc2l6ZW9mKGZsb2F0KSk7
CisgICAgICAgICAgICAgICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0
YSA9IHN0YXRpY19jYXN0PGZsb2F0Kj4oYnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGEpICsg
ZGVjb2RlZEZyYW1lczsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBp
bjogdGhlIG1heCBudW1iZXIgb2YgcGFja2V0cyB3ZSBjYW4gaGFuZGxlIGZyb20gdGhlIGRlY29k
ZXIuCisgICAgICAgICAgICAgICAgLy8gb3V0OiB0aGUgbnVtYmVyIG9mIHBhY2tldHMgdGhlIGRl
Y29kZXIgaXMgYWN0dWFsbHkgcmV0dXJuaW5nLgorICAgICAgICAgICAgICAgIFVJbnQzMiBudW1G
cmFtZXMgPSBudW1iZXJPZkZyYW1lcyAtIGRlY29kZWRGcmFtZXM7CisKKyAgICAgICAgICAgICAg
ICBzdGF0dXMgPSBQQUw6OkF1ZGlvQ29udmVydGVyRmlsbENvbXBsZXhCdWZmZXIoY29udmVydGVy
LCBwYXNzdGhyb3VnaElucHV0RGF0YUNhbGxiYWNrLCAmdXNlckRhdGEsICZudW1GcmFtZXMsICpk
ZWNvZGVkQnVmZmVyTGlzdCwgcGFja2V0cy5nZXQoKSk7CisKKyAgICAgICAgICAgICAgICBpZiAo
c3RhdHVzICYmIHN0YXR1cyAhPSBrTm9Nb3JlRGF0YUVycikKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICAgICAgZGVjb2RlZEZyYW1lcyArPSBudW1GcmFt
ZXM7CisgICAgICAgICAgICB9IHdoaWxlIChzdGF0dXMgIT0ga05vTW9yZURhdGFFcnIpOworICAg
ICAgICB9CisKKyAgICAgICAgLy8gVGhlIGFjdHVhbCBkZWNvZGVkIG51bWJlciBvZiBmcmFtZXMg
bWF5IG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIGZyYW1lcyBjYWxjdWxhdGVkCisgICAgICAgIC8v
IHdoaWxlIGRlbXV4aW5nLiBJdCB3aWxsIGFsd2F5cyBiZSBsb3dlci4KKyAgICAgICAgYXVkaW9C
dXMtPnNldExlbmd0aChkZWNvZGVkRnJhbWVzKTsKKyAgICAgICAgbnVtYmVyT2ZGcmFtZXMgPSBk
ZWNvZGVkRnJhbWVzOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmls
ZVNldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xp
ZW50RGF0YUZvcm1hdCwgc2l6ZW9mKEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksICZvdXRG
b3JtYXQpICE9IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAg
Ly8gUmVhZCBmcm9tIHRoZSBmaWxlIChvciBpbi1tZW1vcnkgdmVyc2lvbikKKyAgICAgICAgVUlu
dDMyIGZyYW1lc1RvUmVhZCA9IG51bWJlck9mRnJhbWVzOworICAgICAgICBpZiAoUEFMOjpFeHRB
dWRpb0ZpbGVSZWFkKG1fZXh0QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCAqYnVmZmVyTGlz
dCkgIT0gbm9FcnIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBp
ZiAobWl4VG9Nb25vICYmIG51bWJlck9mQ2hhbm5lbHMgPT0gMikgewpAQCAtMjQzLDkgKzUxMyw2
IEBAIFJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2Ft
cGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAgICAgICAgICBkZXN0TFtpXSA9IDAuNWYgKiAo
bGVmdENoYW5uZWxbaV0gKyByaWdodENoYW5uZWxbaV0pOwogICAgIH0KIAotICAgIC8vIENsZWFu
dXAKLSAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpOwotCiAgICAgcmV0dXJu
IGF1ZGlvQnVzOwogfQogCkBAIC0yNTUsNiArNTIyLDEzIEBAIFJlZlB0cjxBdWRpb0J1cz4gY3Jl
YXRlQnVzRnJvbUluTWVtb3J5QXVkaW9GaWxlKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRh
U2l6CiAgICAgcmV0dXJuIHJlYWRlci5jcmVhdGVCdXMoc2FtcGxlUmF0ZSwgbWl4VG9Nb25vKTsK
IH0KIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hhbm5lbCYgQXVkaW9GaWxl
UmVhZGVyOjpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTG9nTWVkaWE7Cit9Cisj
ZW5kaWYKKwogfSAvLyBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVRElPKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVh
ZGVyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmls
ZVJlYWRlckNvY29hLmgKaW5kZXggMGJiYmJhMjc4NTdkOTc5ZWNjNjg4Zjg3ZjAzMzlmNjY1ZWY0
MjUyOS4uZjYxNzMzNzllMDEzNGExZGE1YjM4MjM4ZWQzOGE1YWEyMmM5ZDkzZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29j
b2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVS
ZWFkZXJDb2NvYS5oCkBAIC0zMiw2ICszMiw4IEBACiAjaWYgRU5BQkxFKFdFQl9BVURJTykKIAog
I2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgorI2luY2x1ZGUgPG9wdGlvbmFs
PgorI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CiAKIHVzaW5nIEV4dEF1ZGlvRmlsZVJlZiA9IHN0cnVjdCBPcGFxdWVFeHRBdWRpb0ZpbGUqOwpA
QCAtNDAsMTIgKzQyLDE4IEBAIHVzaW5nIEF1ZGlvRmlsZUlEID0gc3RydWN0IE9wYXF1ZUF1ZGlv
RmlsZUlEKjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXVkaW9CdXM7CitjbGFzcyBT
b3VyY2VCdWZmZXJQYXJzZXJXZWJNOworY2xhc3MgQXVkaW9GaWxlUmVhZGVyV2ViTURhdGE7CiAK
IC8vIFdyYXBwZXIgY2xhc3MgZm9yIEF1ZGlvRmlsZSBhbmQgRXh0QXVkaW9GaWxlIENvcmVBdWRp
byBBUElzIGZvciByZWFkaW5nIGZpbGVzIGFuZCBpbi1tZW1vcnkgdmVyc2lvbnMgb2YgdGhlbS4u
LgogCi1jbGFzcyBBdWRpb0ZpbGVSZWFkZXIgeworY2xhc3MgQXVkaW9GaWxlUmVhZGVyCisjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgOiBwdWJsaWMgTG9nZ2VySGVscGVyCisjZW5kaWYK
K3sKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0
YSwgc2l6ZV90IGRhdGFTaXplKTsKKyAgICBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0
YSwgc2l6ZV90IGRhdGFTaXplKTsKICAgICB+QXVkaW9GaWxlUmVhZGVyKCk7CiAKICAgICBSZWZQ
dHI8QXVkaW9CdXM+IGNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRvTW9ubyk7
IC8vIFJldHVybnMgbnVsbHB0ciBvbiBlcnJvcgpAQCAtNTMsOSArNjEsMjAgQEAgcHVibGljOgog
ICAgIGNvbnN0IHZvaWQqIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2RhdGE7IH0KICAgICBzaXpl
X3QgZGF0YVNpemUoKSBjb25zdCB7IHJldHVybiBtX2RhdGFTaXplOyB9CiAKKyNpZiAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKKyAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIFdURkxvZ0NoYW5u
ZWwmIGxvZ0NoYW5uZWwoKSBjb25zdCBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05h
bWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAiQXVkaW9GaWxlUmVhZGVyQ29jb2EiOyB9CisjZW5k
aWYKKwogcHJpdmF0ZToKICAgICBzdGF0aWMgT1NTdGF0dXMgcmVhZFByb2Modm9pZCogY2xpZW50
RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVzdENvdW50LCB2b2lkKiBidWZmZXIs
IFVJbnQzMiogYWN0dWFsQ291bnQpOwogICAgIHN0YXRpYyBTSW50NjQgZ2V0U2l6ZVByb2Modm9p
ZCogY2xpZW50RGF0YSk7CisgICAgYm9vbCBpc01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRh
LCBzaXplX3QgZGF0YVNpemUpIGNvbnN0OworICAgIHNzaXplX3QgbnVtYmVyT2ZGcmFtZXMoKSBj
b25zdDsKKyAgICBzdGQ6Om9wdGlvbmFsPEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gZmls
ZURhdGFGb3JtYXQoKSBjb25zdDsKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gY2xp
ZW50RGF0YUZvcm1hdChjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9ybWF0
LCBmbG9hdCBzYW1wbGVSYXRlKSBjb25zdDsKIAogICAgIGNvbnN0IHZvaWQqIG1fZGF0YSA9IHsg
bnVsbHB0ciB9OwogICAgIHNpemVfdCBtX2RhdGFTaXplID0geyAwIH07CkBAIC02Myw4ICs4Miwx
MyBAQCBwcml2YXRlOgogICAgIEF1ZGlvRmlsZUlEIG1fYXVkaW9GaWxlSUQgPSB7IG51bGxwdHIg
fTsKICAgICBFeHRBdWRpb0ZpbGVSZWYgbV9leHRBdWRpb0ZpbGVSZWYgPSB7IG51bGxwdHIgfTsK
IAotICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2ZpbGVEYXRhRm9ybWF0OwotICAg
IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2NsaWVudERhdGFGb3JtYXQ7CisgICAgc3Rk
Ojp1bmlxdWVfcHRyPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPiBtX3dlYm1EYXRhOworCisjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgUmVmPExvZ2dlcj4gbV9sb2dnZXI7Cisg
ICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworI2VuZGlmCisKIH07CiAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0
YVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1w
bGVEYXRhU291cmNlLmgKaW5kZXggYTFlNzFiZDUyMjMyMjQyNTcxNmM2YjllNWFjZWQwNmU1NTgy
OTMzYS4uNmFlM2I1Y2QxZjJlZmQ2MjM5ZmIzNGQwMTNhNTg3NzZmNDE4YzZmNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291
cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1w
bGVEYXRhU291cmNlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdHlwZWRl
ZiBjb25zdCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlwdGlvbiAqQ01Gb3JtYXREZXNjcmlw
dGlvblJlZjsKIHR5cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2FtcGxlQnVmZmVyICpDTVNhbXBsZUJ1
ZmZlclJlZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCmlu
ZGV4IGQyYjVhYzQ1ZjMwZmQ0YTNhZjUxYjQyMGRlMzc2NDliMTE1MWMyMjcuLjcwZGMyNDg0YTVl
ZDY2ODg5ZmNhMzNlZTI5MWVjMTA2YTVmOWY5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0K
QEAgLTM5LDYgKzM5LDcgQEAKICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYv
U3RyaW5nUHJpbnRTdHJlYW0uaD4KIAorI2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRM
aW5rLmg+CiAjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNjcsNyArNjgsNyBAQCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OkF1ZGlv
U2FtcGxlRGF0YVNvdXJjZShzaXplX3QgbWF4aW11bVNhbXBsZUNvdW50LCBMb2dnZXJIZQogQXVk
aW9TYW1wbGVEYXRhU291cmNlOjp+QXVkaW9TYW1wbGVEYXRhU291cmNlKCkKIHsKICAgICBpZiAo
bV9jb252ZXJ0ZXIpCi0gICAgICAgIEF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7
CisgICAgICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKIH0KIAog
T1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCkBAIC03NSwx
NCArNzYsMTQgQEAgT1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRl
cigpCiAgICAgQVNTRVJUKG1faW5wdXREZXNjcmlwdGlvbiAmJiBtX291dHB1dERlc2NyaXB0aW9u
KTsKIAogICAgIGlmIChtX2NvbnZlcnRlcikgewotICAgICAgICBBdWRpb0NvbnZlcnRlckRpc3Bv
c2UobV9jb252ZXJ0ZXIpOworICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2Nv
bnZlcnRlcik7CiAgICAgICAgIG1fY29udmVydGVyID0gbnVsbHB0cjsKICAgICB9CiAKICAgICBp
ZiAoKm1faW5wdXREZXNjcmlwdGlvbiA9PSAqbV9vdXRwdXREZXNjcmlwdGlvbikKICAgICAgICAg
cmV0dXJuIDA7CiAKLSAgICBPU1N0YXR1cyBlcnIgPSBBdWRpb0NvbnZlcnRlck5ldygmbV9pbnB1
dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9vdXRwdXREZXNjcmlwdGlvbi0+
c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fY29udmVydGVyKTsKKyAgICBPU1N0YXR1cyBlcnIgPSBQ
QUw6OkF1ZGlvQ29udmVydGVyTmV3KCZtX2lucHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0
aW9uKCksICZtX291dHB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9jb252
ZXJ0ZXIpOwogICAgIGlmIChlcnIpIHsKICAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNo
KFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cigqdGhpcyksIGVycl0gewogICAgICAg
ICAgICAgRVJST1JfTE9HKCJBdWRpb0NvbnZlcnRlck5ldyByZXR1cm5lZCBlcnJvciAiLCBlcnIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2Ft
ZXBhZFByb3ZpZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElE
R2FtZXBhZFByb3ZpZGVyLm1tCmluZGV4IGUzZDZmYWM3MDQzNjk2ZmM3ZWUyYTkyMTVkYjIxYThm
N2RmODI1YTUuLmEzMmRmNjIwNDhkMzJkN2IxMzRkYmY1NmRhMDA3YjcwZWMyNDczZjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92
aWRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1l
cGFkUHJvdmlkZXIubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKSAm
JiBQTEFURk9STShNQUMpCiAKKyNpbXBvcnQgIkdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVy
LmgiCiAjaW1wb3J0ICJHYW1lcGFkUHJvdmlkZXJDbGllbnQuaCIKICNpbXBvcnQgIkxvZ2dpbmcu
aCIKICNpbXBvcnQgIlBsYXRmb3JtR2FtZXBhZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcAppbmRleCA0ZDhlZTYyZTAx
YjhlYWViYWNjNmQyOGIzYTA5ODUyOTUyYzVkODBhLi5jMDY2YzJkNDg3OTdhNGFhYjNiOWJlMmEw
ZWRkNGQ4MzhiNGJmNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJM
RShWSURFTykKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTG9nZ2VySGVs
cGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpD
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVNhbXBsZUFWRk9iakMuaAppbmRleCBkMDNjZGM4ZGQ2MjU0MTYwOTlhNTM3MTM1ZWUxMWVj
OTEwNzM2YTAyLi5jY2Y5MGFmOGU0ODIxNGY2NzEwZGM5NDdiMTA5MDI0MmIwM2Q0ZGVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVNhbXBsZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaApAQCAtMzQsNyArMzQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBpeGVsQnVmZmVyOwogCi1jbGFzcyBX
RUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMgOiBwdWJsaWMgTWVkaWFTYW1wbGUgewor
Y2xhc3MgTWVkaWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2FtcGxlIHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVy
UmVmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRp
YVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0KICAgICBzdGF0aWMgUmVmPE1lZGlh
U2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmlu
ZyB0cmFja0lEKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU2FtcGxlQVZGT2JqQyhzYW1w
bGUsIHRyYWNrSUQpKTsgfQpAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIHZvaWQgc2V0QXNEaXNwbGF5SW1tZWRpYXRlbHkoTWVkaWFTYW1wbGUmKTsK
ICAgICBzdGF0aWMgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBjbG9uZVNhbXBsZUJ1ZmZl
ckFuZFNldEFzRGlzcGxheUltbWVkaWF0ZWx5KENNU2FtcGxlQnVmZmVyUmVmKTsKIAotICAgIFJl
ZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3Qgb3Zl
cnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEpTQzo6VWludDhDbGFtcGVkQXJyYXk+
IGdldFJHQkFJbWFnZURhdGEoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIE1lZGlhVGltZSBwcmVz
ZW50YXRpb25UaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTWVkaWFUaW1lIGRlY29kZVRpbWUo
KSBjb25zdCBvdmVycmlkZTsKQEAgLTU5LDE2ICs1OSwxNiBAQCBwdWJsaWM6CiAgICAgU2FtcGxl
RmxhZ3MgZmxhZ3MoKSBjb25zdCBvdmVycmlkZTsKICAgICBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9y
bVNhbXBsZSgpIG92ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9uYWw8Qnl0ZVJhbmdlPiBieXRlUmFu
Z2UoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBv
dmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25z
dCBvdmVycmlkZTsKICAgICB2b2lkIG9mZnNldFRpbWVzdGFtcHNCeShjb25zdCBNZWRpYVRpbWUm
KSBvdmVycmlkZTsKICAgICB2b2lkIHNldFRpbWVzdGFtcHMoY29uc3QgTWVkaWFUaW1lJiwgY29u
c3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92
ZXJyaWRlOwotICAgIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVkaWFT
YW1wbGU+PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVzZW50YXRpb25UaW1lLCBVc2VFbmRU
aW1lKSBvdmVycmlkZTsKLSAgICBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdD
b3B5KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0RpdmlzYWJs
ZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIHN0ZDo6cGFpcjxSZWZQdHI8
TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1l
JiBwcmVzZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VY
UE9SVCBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3Zl
cnJpZGU7CiAKICAgICBWaWRlb1JvdGF0aW9uIHZpZGVvUm90YXRpb24oKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBtX3JvdGF0aW9uOyB9CiAgICAgYm9vbCB2aWRlb01pcnJvcmVkKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gbV9taXJyb3JlZDsgfQotICAgIHVpbnQzMl90IHZpZGVvUGl4ZWxG
b3JtYXQoKSBjb25zdCBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB1aW50MzJfdCB2aWRlb1Bp
eGVsRm9ybWF0KCkgY29uc3QgZmluYWw7CiAKICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVC
dWZmZXIoKSBjb25zdCB7IHJldHVybiBtX3NhbXBsZS5nZXQoKTsgfQogCkBAIC03NywzNSArNzcs
MTggQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRCeXRlUmFuZ2VPZmZzZXQoc2l6ZV90KTsKIAor
ICAgIGJvb2wgaXNNZWRpYVNhbXBsZUFWRk9iakMoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVl
O30KKwogcHJvdGVjdGVkOgotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhSZXRhaW5QdHI8Q01TYW1w
bGVCdWZmZXJSZWY+JiYgc2FtcGxlKQotICAgICAgICA6IG1fc2FtcGxlKFdURk1vdmUoc2FtcGxl
KSkKLSAgICB7Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJl
ZiBzYW1wbGUpCi0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgIHsKLSAgICB9Ci0gICAg
TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0
cmFja0lEKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAgICAgLCBtX2lkKHRyYWNr
SUQpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJS
ZWYgc2FtcGxlLCB1aW50NjRfdCB0cmFja0lEKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkK
LSAgICAgICAgLCBtX2lkKEF0b21TdHJpbmc6Om51bWJlcih0cmFja0lEKSkKLSAgICB7Ci0gICAg
fQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIFZpZGVv
Um90YXRpb24gcm90YXRpb24sIGJvb2wgbWlycm9yZWQpCi0gICAgICAgIDogbV9zYW1wbGUoc2Ft
cGxlKQotICAgICAgICAsIG1fcm90YXRpb24ocm90YXRpb24pCi0gICAgICAgICwgbV9taXJyb3Jl
ZChtaXJyb3JlZCkKLSAgICB7Ci0gICAgfQorICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxl
QVZGT2JqQyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+JiYpOworICAgIFdFQkNPUkVfRVhQ
T1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZik7CisgICAgV0VCQ09SRV9F
WFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmLCBBdG9tU3RyaW5nIHRy
YWNrSUQpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1
ZmZlclJlZiwgdWludDY0X3QgdHJhY2tJRCk7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1w
bGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmLCBWaWRlb1JvdGF0aW9uLCBib29sIG1pcnJvcmVk
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5NZWRpYVNhbXBsZUFWRk9iakMoKTsKIAog
ICAgIHN0ZDo6b3B0aW9uYWw8TWVkaWFTYW1wbGU6OkJ5dGVSYW5nZT4gYnl0ZVJhbmdlRm9yQXR0
YWNobWVudChDRlN0cmluZ1JlZiBrZXkpIGNvbnN0OwogCi0gICAgdmlydHVhbCB+TWVkaWFTYW1w
bGVBVkZPYmpDKCkgPSBkZWZhdWx0OwogICAgIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4g
bV9zYW1wbGU7CiAgICAgQXRvbVN0cmluZyBtX2lkOwogICAgIFZpZGVvUm90YXRpb24gbV9yb3Rh
dGlvbiB7IFZpZGVvUm90YXRpb246Ok5vbmUgfTsKQEAgLTExNCwzICs5Nyw2IEBAIHByb3RlY3Rl
ZDoKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JF
R0lOKFdlYkNvcmU6Ok1lZGlhU2FtcGxlQVZGT2JqQykKK3N0YXRpYyBib29sIGlzVHlwZShjb25z
dCBXZWJDb3JlOjpNZWRpYVNhbXBsZSYgc2FtcGxlKSB7IHJldHVybiBzYW1wbGUuaXNNZWRpYVNh
bXBsZUFWRk9iakMoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFTYW1wbGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tCmluZGV4IGMwZjEzZDZlYTVjOTc1
NzY3Y2U4ZjYyYWI2ODQyZDdkNmYwZmJiNmIuLmNmM2MzNDEwYTM4YWRlYzQ5NTdjOTcxNDJiMzI0
MjI0ZDVhZmQ4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9i
akMubW0KQEAgLTQ1LDYgKzQ1LDMzIEBAIHN0cnVjdCBXVEY6OkNGVHlwZVRyYWl0PENNU2FtcGxl
QnVmZmVyUmVmPiB7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorTWVkaWFTYW1wbGVBVkZPYmpD
OjpNZWRpYVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmIHNhbXBs
ZSkKKyAgICA6IG1fc2FtcGxlKFdURk1vdmUoc2FtcGxlKSkKK3sKK30KK01lZGlhU2FtcGxlQVZG
T2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSkKKyAgICA6
IG1fc2FtcGxlKHNhbXBsZSkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVB
VkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lEKQorICAg
IDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9pZCh0cmFja0lEKQoreworfQorTWVkaWFTYW1w
bGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCB1
aW50NjRfdCB0cmFja0lEKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9pZChBdG9t
U3RyaW5nOjpudW1iZXIodHJhY2tJRCkpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlh
U2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIFZpZGVvUm90YXRpb24gcm90
YXRpb24sIGJvb2wgbWlycm9yZWQpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCisgICAgLCBtX3Jv
dGF0aW9uKHJvdGF0aW9uKQorICAgICwgbV9taXJyb3JlZChtaXJyb3JlZCkKK3sKK30KKworTWVk
aWFTYW1wbGVBVkZPYmpDOjp+TWVkaWFTYW1wbGVBVkZPYmpDKCkgPSBkZWZhdWx0OworCiBSZWZQ
dHI8TWVkaWFTYW1wbGVBVkZPYmpDPiBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUltYWdlU2Ft
cGxlKFBpeGVsQnVmZmVyJiYgcGl4ZWxCdWZmZXIpCiB7CiAgICAgYXV0byBzaXplID0gcGl4ZWxC
dWZmZXIuc2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCmlu
ZGV4IDhlZWYzYjJlYTYwNGJkMTk4M2Q3N2QzOGJmNTIxYThkMjFmMjBlZDAuLmQxYzg0NDg4MzY3
NDBmZGI3NWM0MGFjOTNmN2RkMDlkNzhmMDMwMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21w
cmVzc2lvblNlc3Npb24ubW0KQEAgLTMxLDEwICszMSwxMCBAQAogI2ltcG9ydCA8Q29yZU1lZGlh
L0NNQnVmZmVyUXVldWUuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERlc2NyaXB0aW9u
Lmg+CiAjaW1wb3J0IDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgot
I2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRo
cmVhZC5oPgogI2ltcG9ydCA8d3RmL01lZGlhVGltZS5oPgogI2ltcG9ydCA8d3RmL01vbm90b25p
Y1RpbWUuaD4KKyNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJp
bnRTdHJlYW0uaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi9XVEZTZW1h
cGhvcmUuaD4KQEAgLTQyLDYgKzQyLDcgQEAKIAogI2ltcG9ydCAiQ29yZVZpZGVvU29mdExpbmsu
aCIKICNpbXBvcnQgIlZpZGVvVG9vbGJveFNvZnRMaW5rLmgiCisjaW1wb3J0IDxwYWwvY2YvQ29y
ZU1lZGlhU29mdExpbmsuaD4KIAogLy8gRXF1aXZhbGVudCB0byBXVEZfREVDTEFSRV9DRl9UWVBF
X1RSQUlUKENNU2FtcGxlQnVmZmVyKTsKIC8vIE5lZWRlZCBkdWUgdG8gcmVxdWlyZW1lbnQgb2Yg
c3BlY2lmeWluZyB0aGUgUEFMIG5hbWVzcGFjZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2Nv
YS5oCmluZGV4IGZlY2U4MTI5YmQ3ZjdmZGVkNmE4MDRiYTUyZjc5NTI2MWZlNjVkMzAuLjg3MTA0
ZDhiN2IzNTdjMTYwYjZkY2NjNDFiZmUxZjg5ZTBhNmMyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRp
bGl0aWVzQ29jb2EuaApAQCAtMzQsNyArMzQsOCBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBvcGFx
dWVDTUZvcm1hdERlc2NyaXB0aW9uKiBDTUZvcm1hdERlc2NyaXB0aW9uUmVmOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWJvb2wgaXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JF
X0VYUE9SVCBib29sIGlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQg
Ym9vbCByZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOwogUmV0YWluUHRyPENNRm9ybWF0
RGVzY3JpcHRpb25SZWY+IGNyZWF0ZVZvcmJpc0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oc2l6ZV90
LCBjb25zdCB2b2lkKik7CiAKIHN0cnVjdCBPcHVzQ29va2llQ29udGVudHMgewpAQCAtNTIsNyAr
NTMsOCBAQCBzdHJ1Y3QgT3B1c0Nvb2tpZUNvbnRlbnRzIHsKICAgICBib29sIGhhc1BhZGRpbmcg
eyBmYWxzZSB9OwogfTsKIAotYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JF
X0VYUE9SVCBib29sIGlzT3B1c0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJv
b2wgcmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CiBib29sIHBhcnNlT3B1c1ByaXZhdGVE
YXRhKHNpemVfdCBwcml2YXRlRGF0YVNpemUsIGNvbnN0IHZvaWQqIHByaXZhdGVEYXRhLCBzaXpl
X3QgZnJhbWVEYXRhU2l6ZSwgY29uc3Qgdm9pZCogZnJhbWVEYXRhLCBPcHVzQ29va2llQ29udGVu
dHMmKTsKIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVPcHVzQXVkaW9G
b3JtYXREZXNjcmlwdGlvbihjb25zdCBPcHVzQ29va2llQ29udGVudHMmKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0
aWVzQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJN
QXVkaW9VdGlsaXRpZXNDb2NvYS5tbQppbmRleCAwNmJkNDhhZTBkM2Q2OTEyNTBiOGEyNzU3ZDAy
NTZkNDQ4NTlmY2M0Li4wZTFlYjFiNzk4YTNjN2VhNjdlYWI3NWJhMzZlNTg1YWRkOGMxMGEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVk
aW9VdGlsaXRpZXNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbQpAQCAtMzIsMjIgKzMyLDI4IEBACiAj
aW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJNZWRpYVV0aWxpdGllcy5oIgogI2ltcG9ydCAi
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCisjaW1wb3J0IDxBdWRpb1Rvb2xib3gvQXVk
aW9Db2RlYy5oPgogI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvQ29tcG9uZW50Lmg+CiAjaW1w
b3J0IDxBdWRpb1Rvb2xib3gvQXVkaW9Gb3JtYXQuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZv
cm1hdERlc2NyaXB0aW9uLmg+CiAjaW1wb3J0IDxkbGZjbi5oPgogI2ltcG9ydCA8d3RmL0ZsaXBC
eXRlcy5oPgogI2ltcG9ydCA8d3RmL1NlY29uZHMuaD4KLQogI2lmIEVOQUJMRShPUFVTKQogI2lt
cG9ydCA8bGlid2VicnRjL29wdXNfZGVmaW5lcy5oPgogI2VuZGlmCisjaW1wb3J0IDxwYWwvY2Yv
QXVkaW9Ub29sYm94U29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgRU5B
QkxFKFZPUkJJUykgfHwgRU5BQkxFKE9QVVMpCiBzdGF0aWMgYm9vbCByZWdpc3RlckRlY29kZXJG
YWN0b3J5KGNvbnN0IGNoYXIqIGRlY29kZXJOYW1lLCBPU1R5cGUgZGVjb2RlclR5cGUpCiB7Cisg
ICAgQXVkaW9Db21wb25lbnREZXNjcmlwdGlvbiBkZXNjIHsga0F1ZGlvRGVjb2RlckNvbXBvbmVu
dFR5cGUsIGRlY29kZXJUeXBlLCAnYXBwbCcsIGtBdWRpb0NvbXBvbmVudEZsYWdfU2FuZGJveFNh
ZmUsIDAgfTsKKyAgICBBdWRpb0NvbXBvbmVudCBjb21wID0gUEFMOjpBdWRpb0NvbXBvbmVudEZp
bmROZXh0KDAsICZkZXNjKTsKKyAgICBpZiAoY29tcCkKKyAgICAgICAgcmV0dXJuIHRydWU7IC8v
IEFscmVhZHkgcmVnaXN0ZXJlZC4KKwogICAgIGNvbnN0ZXhwciBjaGFyIGF1ZGlvQ29tcG9uZW50
c0R5bGliW10gPSAiL1N5c3RlbS9MaWJyYXJ5L0NvbXBvbmVudHMvQXVkaW9Db2RlY3MuY29tcG9u
ZW50L0NvbnRlbnRzL01hY09TL0F1ZGlvQ29kZWNzIjsKICAgICB2b2lkICpoYW5kbGUgPSBkbG9w
ZW4oYXVkaW9Db21wb25lbnRzRHlsaWIsIFJUTERfTEFaWSB8IFJUTERfTE9DQUwpOwogICAgIGlm
ICghaGFuZGxlKQpAQCAtNTcsNyArNjMsNiBAQCBzdGF0aWMgYm9vbCByZWdpc3RlckRlY29kZXJG
YWN0b3J5KGNvbnN0IGNoYXIqIGRlY29kZXJOYW1lLCBPU1R5cGUgZGVjb2RlclR5cGUpCiAgICAg
aWYgKCFkZWNvZGVyRmFjdG9yeSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgQXVkaW9D
b21wb25lbnREZXNjcmlwdGlvbiBkZXNjIHsgJ2FkZWMnLCBkZWNvZGVyVHlwZSwgJ2FwcGwnLCBr
QXVkaW9Db21wb25lbnRGbGFnX1NhbmRib3hTYWZlLCAwIH07CiAgICAgaWYgKCFBdWRpb0NvbXBv
bmVudFJlZ2lzdGVyKCZkZXNjLCBDRlNUUigiIiksIDAsIGRlY29kZXJGYWN0b3J5KSkgewogICAg
ICAgICBkbGNsb3NlKGhhbmRsZSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTcxLDcgKzc2
LDcgQEAgc3RhdGljIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVBdWRp
b0Zvcm1hdERlc2NyaXB0aW9uRm9yRm9ybWF0KE8KICAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3Jp
cHRpb24gYXNiZCB7IH07CiAgICAgYXNiZC5tRm9ybWF0SUQgPSBmb3JtYXRJRDsKICAgICB1aW50
MzJfdCBzaXplID0gc2l6ZW9mKGFzYmQpOwotICAgIGF1dG8gZXJyb3IgPSBBdWRpb0Zvcm1hdEdl
dFByb3BlcnR5KGtBdWRpb0Zvcm1hdFByb3BlcnR5X0Zvcm1hdEluZm8sIG1hZ2ljQ29va2llLnNp
emUoKSwgbWFnaWNDb29raWUuZGF0YSgpLCAmc2l6ZSwgJmFzYmQpOworICAgIGF1dG8gZXJyb3Ig
PSBQQUw6OkF1ZGlvRm9ybWF0R2V0UHJvcGVydHkoa0F1ZGlvRm9ybWF0UHJvcGVydHlfRm9ybWF0
SW5mbywgbWFnaWNDb29raWUuc2l6ZSgpLCBtYWdpY0Nvb2tpZS5kYXRhKCksICZzaXplLCAmYXNi
ZCk7CiAgICAgaWYgKGVycm9yKSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAi
Y3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCBmYWlsZWQgd2l0aCBlcnJvciAl
ZCAoJS40cykiLCBlcnJvciwgKGNoYXIgKikmZXJyb3IpOwogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKQEAgLTMyNiwxOSArMzMxLDMwIEBAIHN0YXRpYyBWZWN0b3I8dWludDhfdD4gY29va2llRnJv
bU9wdXNDb29raWVDb250ZW50cyhjb25zdCBPcHVzQ29va2llQ29udGVudHMmIGNvCiAKIGJvb2wg
aXNPcHVzRGVjb2RlckF2YWlsYWJsZSgpCiB7Ci0gICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwot
CiAjaWYgRU5BQkxFKE9QVVMpICYmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIVBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcjo6b3B1c0RlY29kZXJFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAorICAgIHJldHVybiByZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyNlbHNl
CisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgcmVnaXN0ZXJPcHVzRGVjb2Rl
cklmTmVlZGVkKCkKK3sKKyNpZiBFTkFCTEUoT1BVUykgJiYgUExBVEZPUk0oTUFDKQorICAgIHN0
YXRpYyBib29sIGF2YWlsYWJsZTsKKwogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRv
a2VuOwogICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKLSAgICAgICAgYXZhaWxhYmxl
ID0gcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNPcHVzRGVjb2RlckZhY3RvcnkiLCAnb3B1cycp
OworICAgICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJBQ09wdXNEZWNv
ZGVyRmFjdG9yeSIsIGtBdWRpb0Zvcm1hdE9wdXMpOwogICAgIH0pOwotI2VuZGlmCiAKICAgICBy
ZXR1cm4gYXZhaWxhYmxlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAog
UmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZU9wdXNBdWRpb0Zvcm1hdERl
c2NyaXB0aW9uKGNvbnN0IE9wdXNDb29raWVDb250ZW50cyYgY29va2llQ29udGVudHMpCkBAIC00
MTgsMTkgKzQzNCwzMCBAQCBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZyb21Wb3JiaXND
b2RlY1ByaXZhdGUoc2l6ZV90IGNvZGVjUHJpdmF0ZVNpemUsIGNvbgogCiBib29sIGlzVm9yYmlz
RGVjb2RlckF2YWlsYWJsZSgpCiB7Ci0gICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwotCiAjaWYg
RU5BQkxFKFZPUkJJUykgJiYgUExBVEZPUk0oTUFDKQogICAgIGlmICghUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyOjp2b3JiaXNEZWNvZGVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKKyAgICByZXR1cm4gcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKKyNlbHNl
CisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgcmVnaXN0ZXJWb3JiaXNEZWNv
ZGVySWZOZWVkZWQoKQoreworI2lmIEVOQUJMRShWT1JCSVMpICYmIFBMQVRGT1JNKE1BQykKKyAg
ICBzdGF0aWMgYm9vbCBhdmFpbGFibGU7CisKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9u
Y2VUb2tlbjsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CiAgICAgICAgIGF2YWls
YWJsZSA9IHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDVm9yYmlzRGVjb2RlckZhY3RvcnkiLCAn
dm9yYicpOwogICAgIH0pOwotI2VuZGlmCiAKICAgICByZXR1cm4gYXZhaWxhYmxlOworI2Vsc2UK
KyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogUmV0YWluUHRyPENNRm9ybWF0RGVzY3Jp
cHRpb25SZWY+IGNyZWF0ZVZvcmJpc0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oc2l6ZV90IHByaXZh
dGVEYXRhU2l6ZSwgY29uc3Qgdm9pZCogcHJpdmF0ZURhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0IGIvU291cmNlL1dlYktp
dC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdAppbmRleCBhZTRlZTQ1N2EyMTMx
MzM4ZjZhNWI3NWVkNzVmNjM2ZjNhMGY1MjYwLi5lMjFiMDIzYjE0MjMwODcyM2M1OTdjMGYxY2Y5
N2ExOGEzMjY3YjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJL
aXQtYXBwbGV0dm9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktp
dC1hcHBsZXR2b3MucGxpc3QKQEAgLTIsOTUgKzIsMTAwIEBACiA8IURPQ1RZUEUgcGxpc3QgUFVC
TElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9E
VERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlzdCB2ZXJzaW9uPSIxLjAiPgogPGRpY3Q+
Ci0gICAgPGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmluZzwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
ICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8
a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2Rp
Y3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwva2V5
PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNl
Lz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgotICAgIDxk
aWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAg
ICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5
PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+
Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KLSAgICA8ZGlj
dD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9k
aWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAg
ICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgICAgICA8a2V5PkF0
dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21w
bGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9k
aWN0PgotICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5PgotICAgIDxkaWN0PgotICAg
ICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0g
ICAgPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5F
bmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5zd192
cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PnZwOV9k
ZWNvZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAg
ICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViR1BVPC9rZXk+Ci0gICAgPGRp
Y3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwv
ZGljdD4KLSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1f
Zm9ybWF0X3JlYWRlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1fcGFyc2VyPC9r
ZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1
ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+
Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+
Ci0gICAgPC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGluZzwv
a2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4K
Kwk8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxk
aWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0Pgor
CTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3By
b2Nlc3NfbWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVl
Lz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxl
dGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9j
ZXNzX3dlYmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2Uv
PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJ
CTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0
PgorCTwvZGljdD4KKwk8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+aW5jcmVtZW50
YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJ
PC9kaWN0PgorCTxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgorCTxkaWN0Pgor
CQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT52cDlfZGVj
b2Rlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwv
ZGljdD4KKwk8a2V5PldlYkdQVTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4K
KwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJYUjwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1hdF9y
ZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8
L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8
L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+
UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwv
a2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgogPC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxpc3QgYi9Tb3VyY2UvV2Vi
S2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0CmluZGV4IDYyMWM5MjE2NmM4OTJjYjU0
MWNmYTc2YjYyMzgxNTY2OGExZWMyNzcuLmI4ZTVlMDljZjg5YjYwYzA4MmU2M2FhZWI1ZGY3MGQ5
OTFhMzIwMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1p
b3MucGxpc3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlz
dApAQCAtMiw5NSArMiwxMDAgQEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9E
VEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0
LTEuMC5kdGQiPgogPHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5j
X2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAg
PGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5ncHVfcHJvY2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAg
IDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmli
dXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRl
PC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+
Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRl
czwva2V5PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9r
ZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0g
ICAgPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5n
cHVfcHJvY2Vzc193ZWJydGM8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0g
ICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAg
ICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5Pklu
QXBwQnJvd3NlclByaXZhY3k8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+aW5jcmVtZW50
YWxfcGRmPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAg
ICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0
dGVyeTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAg
ICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT52cDlfZGVjb2Rlcjwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PldlYkdQVTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5X
ZWJYUjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAg
ICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tl
eT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVl
Lz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX3BhcnNlcjwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgotICAgIDxkaWN0PgotICAg
ICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KKwk8
a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vz
c19jYW52YXNfcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29k
ZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5n
cHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwv
a2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+
CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmli
dXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1
ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5Pgor
CTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtl
eT5ncHVfcHJvY2Vzc193ZWJydGM8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+
CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5D
b2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5
PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+
CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+CisJPGRp
Y3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+c3df
dnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tl
eT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT52cDlfZGVjb2Rlcjwva2V5PgorCTxkaWN0
PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PldlYkdQ
VTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2Rp
Y3Q+CisJPGtleT5XZWJYUjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KKwk8ZGlj
dD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJt
X3BhcnNlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgor
CTwvZGljdD4KKwk8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tf
amV0c2FtPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJ
PC9kaWN0PgogPC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVh
dHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdz
L1dlYktpdC1tYWNvcy5wbGlzdAppbmRleCA2MjFjOTIxNjZjODkyY2I1NDFjZmE3NmI2MjM4MTU2
NjhhMWVjMjc3Li5iOGU1ZTA5Y2Y4OWI2MGMwODJlNjNhYWViNWRmNzBkOTkxYTMyMDE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3QKKysr
IGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0CkBAIC0yLDk1
ICsyLDEwMCBAQAogPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAx
LjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+
CiA8cGxpc3QgdmVyc2lvbj0iMS4wIj4KIDxkaWN0PgotICAgIDxrZXk+YXN5bmNfZnJhbWVfYW5k
X292ZXJmbG93X3Njcm9sbGluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9j
ZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFi
bGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+
Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAg
ICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5
PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+
Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0g
ICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAg
ICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5Pmdw
dV9wcm9jZXNzX3dlYmdsPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNz
X3dlYnJ0Yzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRp
Y3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRy
dWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+SW5BcHBCcm93c2Vy
UHJpdmFjeTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tl
eT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVl
Lz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+
Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2Uv
PgotICAgIDwvZGljdD4KLSAgICA8a2V5PnZwOV9kZWNvZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+V2ViR1BVPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYlhSPC9rZXk+
Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2Uv
PgotICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgotICAgIDxk
aWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwv
ZGljdD4KLSAgICA8a2V5PndlYm1fcGFyc2VyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+
UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgorCTxrZXk+YXN5bmNf
ZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19y
ZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4K
KwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8
L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNz
X2RvbV9yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxm
YWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+
CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9k
aWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9j
ZXNzX3dlYnJ0Yzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUv
PgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0
ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93
c2VyUHJpdmFjeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNl
Lz4KKwk8L2RpY3Q+CisJPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rl
cl9vbl9iYXR0ZXJ5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFs
c2UvPgorCTwvZGljdD4KKwk8a2V5PnZwOV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+
RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5
PldlYlhSPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgor
CTwvZGljdD4KKwk8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9r
ZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0Pgor
CTxrZXk+d2VibV93ZWJhdWRpbzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4K
KwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tl
eT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8
L2RpY3Q+CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3Mv
V2ViS2l0LXdhdGNob3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQt
d2F0Y2hvcy5wbGlzdAppbmRleCBhZTRlZTQ1N2EyMTMxMzM4ZjZhNWI3NWVkNzVmNjM2ZjNhMGY1
MjYwLi5lMjFiMDIzYjE0MjMwODcyM2M1OTdjMGYxY2Y5N2ExOGEzMjY3YjU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdAorKysgYi9T
b3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdApAQCAtMiw5NSAr
MiwxMDAgQEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4w
Ly9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgog
PHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1lX2FuZF9v
dmVyZmxvd19zY3JvbGxpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vz
c19jYW52YXNfcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5Pgot
ICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAg
ICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5n
cHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5Pmdw
dV9wcm9jZXNzX21lZGlhPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAg
ICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAg
ICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVf
cHJvY2Vzc193ZWJnbDwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193
ZWJydGM8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAg
ICAgIDxmYWxzZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGlj
dD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1
ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5JbkFwcEJyb3dzZXJQ
cml2YWN5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAg
ICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5
PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUv
PgotICAgIDwvZGljdD4KLSAgICA8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4K
LSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+
Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+dnA5X2RlY29kZXI8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0g
ICAgPGtleT5XZWJHUFU8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9r
ZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViWFI8L2tleT4K
LSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+
Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+Ci0gICAgPGRp
Y3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9k
aWN0PgotICAgIDxrZXk+d2VibV9wYXJzZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5S
Ql9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5F
bmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+CisJPGtleT5hc3luY19m
cmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3Jl
bmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgor
CQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwv
a2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nf
ZG9tX3JlbmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgorCTxkaWN0Pgor
CQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4K
KwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2Rp
Y3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nl
c3Nfd2VicnRjPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2Uv
PgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0
ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93
c2VyUHJpdmFjeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNl
Lz4KKwk8L2RpY3Q+CisJPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rl
cl9vbl9iYXR0ZXJ5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFs
c2UvPgorCTwvZGljdD4KKwk8a2V5PnZwOV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+
RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5
PldlYlhSPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgor
CTwvZGljdD4KKwk8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9r
ZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0Pgor
CTxrZXk+d2VibV93ZWJhdWRpbzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4K
KwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tl
eT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8
L2RpY3Q+CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKaW5kZXgg
NDljM2Q3NzFiZjE3NGQ4ZjlmZGNjOGQyNDFiMzEwNzZiMGM1YjZhZi4uZmFhZjdiMTIxZjUxYzMw
NzllOTM4ZGEzOWRiZGU3ZTAyZGE1NmUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5oCkBAIC0xNDEsNyArMTQxLDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8TlNEaWN0
aW9uYXJ5PiBhZGRpdGlvbmFsU3RhdGVGb3JEaWFnbm9zdGljUmVwb3J0KCkgY29uc3QgZmluYWw7
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICB2b2lkIHNldFdlYk1QYXJzZXJFbmFibGVkKGJvb2wp
OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9j
ZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVz
c2FnZXMuaW4KaW5kZXggNjkxZGE3OGQyY2Y5MzI4ZWE3OWUyNGMyZDY0NjIwMDM2YjVlNDI0OS4u
NGYwMTk2NTQzYTNkMDU4ZTAxNmMzOTY2ZWRhMTY0N2ZhNjFiYmIyNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTUxLDcgKzUxLDcg
QEAgbWVzc2FnZXMgLT4gR1BVUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGlzcGxheUNv
bmZpZ3VyYXRpb25DaGFuZ2VkKENHRGlyZWN0RGlzcGxheUlEIGRpc3BsYXlJRCwgQ0dEaXNwbGF5
Q2hhbmdlU3VtbWFyeUZsYWdzIGZsYWdzKQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgU2V0V2Vi
TVBhcnNlckVuYWJsZWQoYm9vbCBlbmFibGVkKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcAppbmRleCAzMjEy
ZTdhZTEwMTk1NTI2Nzg3ZmViOWQzNjBjZjYwNGZjODMzZmI3Li4xYWZlNzY1MDc4Y2VmNTEzNGM4
OWY1YjRmZGZiZTYxNmIyZmNlYTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKQEAgLTMyOCw2ICszMjgsMTUgQEAgYm9v
bCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKQogICAgIHJldHVybiB0cnVlOwogfQogCitib29s
IGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCkKK3sKKyNpZiBIQVZFKFNZU1RFTV9GRUFUVVJF
X0ZMQUdTKQorICAgIHJldHVybiBpc0ZlYXR1cmVGbGFnRW5hYmxlZCgid2VibV93ZWJhdWRpbyIp
OworI2VuZGlmCisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKICNlbmRpZiAvLyBFTkFCTEUoTUVE
SUFfU09VUkNFKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKaW5kZXggOTAyNDdlOGMxZDEy
MmNhNmZhNWQ4N2U2ZmZkNmI3Mjc5NjM3M2Q1NS4uMjlhNDAxZDdhNDNmOTQzYWM4ZjRhMDcyODM4
ZDczNWVlNjk2OGE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXNEZWZhdWx0VmFsdWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTExMSw2ICsxMTEsNyBAQCBib29sIGRlZmF1bHRWUDlT
V0RlY29kZXJFbmFibGVkT25CYXR0ZXJ5KCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQog
Ym9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKTsKK2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRp
b0VuYWJsZWQoKTsKICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KaW5k
ZXggZWY1NTE4YWFkYjAyZDViZjVjYmYxNjdlMTI0MDdlZTkwNzQ3MTVlNy4uZWIyY2Q4MjZkMzcz
YWU1YWQ5ODM0MDM1OGJkOWNmYWIyOGRiNGMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KQEAgLTM4LDYgKzM4LDcg
QEAKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc1Bv
b2wuaCIKICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CisjaW1w
b3J0IDxXZWJDb3JlL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmg+CiAjaW1wb3J0IDxzeXMvc3lz
Y3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29w
ZS5oPgpAQCAtMjk1LDYgKzI5Niw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9D
b21wb25lbnRSZWdpc3RyYXRpb25zKCkKIAogICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dl
dF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJT1JJVFlfREVGQVVMVCwgMCksIFtwcm90
ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldICgpIG11dGFibGUgewogICAgICAgICBDRkRhdGFS
ZWYgcmVnaXN0cmF0aW9ucyB7IG51bGxwdHIgfTsKKworICAgICAgICBXZWJDb3JlOjpyZWdpc3Rl
ck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNE
ZWNvZGVySWZOZWVkZWQoKTsKICAgICAgICAgaWYgKG5vRXJyICE9IEF1ZGlvQ29tcG9uZW50RmV0
Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zKCZyZWdpc3RyYXRpb25zKSB8fCAhcmVnaXN0cmF0aW9ucykK
ICAgICAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaCBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKaW5kZXggYTU5
Mjk3YWYzZmRhNTVjZjUzZDlkOTA4MWFiOTk3YzRmN2JlNTQ5Yy4uNzFhY2Q4MDg4NjgzNTlmZTE2
ODFiNzA0ZGE1ZWE1MDc5ZTM2NDk2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCkBAIC04
Nyw2ICs4Nyw3IEBAIGJvb2wgZGVmYXVsdFdoZWVsRXZlbnRHZXN0dXJlc0JlY29tZU5vbkJsb2Nr
aW5nKCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogYm9vbCBkZWZhdWx0V2ViTVBhcnNl
ckVuYWJsZWQoKTsKK2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKTsKICNlbmRpZgog
CiAjaWYgRU5BQkxFKFZQOSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLm1tIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0KaW5kZXggMzUyZmRj
NWUxOGFmMmM1OGI0MmZlNGUwZTdjZjY3MzcxZDY4Y2U2Yy4uMTZjNTk3MjI5MTk3MWYxOTkxYzQw
YWVhODFkMGZmYmQ2ZjY1OWQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0KKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0KQEAgLTI5
OCw2ICsyOTgsMTUgQEAgYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKQogICAgIHJldHVy
biB0cnVlOwogfQogCitib29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCkKK3sKKyNpZiBI
QVZFKFNZU1RFTV9GRUFUVVJFX0ZMQUdTKQorICAgIHJldHVybiBpc0ZlYXR1cmVGbGFnRW5hYmxl
ZCgid2VibV93ZWJhdWRpbyIpOworI2VuZGlmCisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKICNl
bmRpZiAvLyBFTkFCTEUoTUVESUFfU09VUkNFKQogCiAjaWYgRU5BQkxFKFZQOSkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBl
NmE1N2Y0MTI1ZGFhN2MxMmEzODU0OGNhZjVlYzNmNzMxZDA0ZGNhLi41NWU4YTRjNWZlYjA0ZGQz
MWVkNTBkZDM5N2RmNDdjZDllN2VhZGFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDct
MjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVk
aW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczogT25seSBlbmFibGUgdGVzdCBv
biBtYWNPUyBNb250ZXJleQorICAgICAgICAqIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJh
c2ljLmh0bWw6IGZpeCB3aGl0ZXNwYWNlCisgICAgICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlv
LWRhdGEtd2VibS1vcHVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8v
ZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmF1
ZGlvL3Jlc291cmNlcy9tZWRpYS9vcHVzLndlYm06IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlv
L3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibTogQWRkZWQuCisKIDIwMjEtMDctMTQgIEplYW4t
WXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNvbT4KIAogICAgICAgICBbTVNFXSBzZXF1ZW5jZSBt
b2RlIGlzIGJyb2tlbiBpZiBHUFUgUHJvY2VzcyBpcyBlbmFibGVkCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDg5NzliMTc4OTJmMjdmMTRhYmY2OTY0YWEw
NWJkNTQ5YjQwOWM4YmMuLmRlNzJhMWM4YTZjMTMxZjBjMjZlNDc2MDc5MTU1ZDViZjczNzdmMmYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNzY3LDYg
KzE3NjcsNyBAQCB3ZWJraXQub3JnL2IvMjE0MTU1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcAogWyBDYXRhbGluYSBNb2phdmUgQmln
U3VyIF0gbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS13ZWJtLXZvcmJpcy1wYXJ0aWFs
Lmh0bWwgWyBTa2lwIF0KIFsgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIG1lZGlhL21lZGlhLXNv
dXJjZS9tZWRpYS13ZWJtLW9wdXMtcGFydGlhbC5odG1sIFsgU2tpcCBdCiBbIENhdGFsaW5hIE1v
amF2ZSBCaWdTdXIgXSBtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtd2VibS1vcHVzLXBhcnRpYWwt
YWJvcnQuaHRtbCBbIFNraXAgXQorWyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gd2ViYXVkaW8v
ZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwgWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9i
LzIxNDQyMiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRp
by1hcGkvdGhlLWF1ZGlvY29udGV4dC1pbnRlcmZhY2Uvc3VzcGVuZC1hZnRlci1jb25zdHJ1Y3Qu
aHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlv
L2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNv
ZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sCmluZGV4IGEzMzNiNjVhYWVmOWRiNjRlZDUzZmNiMDU2
MzFjZmMxNTE0MDUwZDEuLjdmMDhiMjkwNTkyY2MyZjM0NGZhNTY1ZmIwZGFhNGIyNjZmODgyOWQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2lj
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMu
aHRtbApAQCAtNyw3ICs3LDcgQEAKIDxib2R5PgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJCYXNp
YyB0ZXN0cyBmb3IgZGVjb2RlQXVkaW9EYXRhIGZ1bmN0aW9uLiIpOwotICAgIAorCiB3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CiAKIHZhciBjb250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgp
OwpAQCAtMzQsMTkgKzM0LDE5IEBAIGZ1bmN0aW9uIHJ1bkRlY29kZVRlc3QoaW5kZXgpIHsKICAg
ICB2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgIHJlcXVlc3Qub3Blbigi
R0VUIiwgZGVjb2RlQ2FzZUFycmF5W2luZGV4XS51cmwsIHRydWUpOwogICAgIHJlcXVlc3QucmVz
cG9uc2VUeXBlID0gImFycmF5YnVmZmVyIjsKLSAgICAKKwogICAgIHJlcXVlc3Qub25sb2FkID0g
ZnVuY3Rpb24oKSB7CiAgICAgICAgIGNvbnRleHQuZGVjb2RlQXVkaW9EYXRhKHJlcXVlc3QucmVz
cG9uc2UsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Ci0gICAgICAgIAorCiAgICAg
ICAgIGZ1bmN0aW9uIHN1Y2Nlc3NDYWxsYmFjaygpIHsKICAgICAgICAgICAgIGlmIChkZWNvZGVD
YXNlQXJyYXlbaW5kZXhdLnJlc3VsdCkKICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJUaGUg
IiArIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsICsgICIgdGVzdDogc3VjY2Vzc0NhbGxiYWNr
IGhhcyBiZWVuIGNhbGxlZCBjb3JyZWN0bHkuIik7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCAr
ICIgdGVzdDogc3VjY2Vzc0NhbGxiYWNrIHdhcyBub3QgY2FsbGVkLiIpOwotICAgICAgICAgICAg
CisKICAgICAgICAgICAgIHJ1bkRlY29kZVRlc3QoKytpbmRleCk7CiAgICAgICAgIH0KLSAgICAg
ICAgCisKICAgICAgICAgZnVuY3Rpb24gZXJyb3JDYWxsYmFjaygpIHsKICAgICAgICAgICAgIGlm
IChkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnJlc3VsdCkKICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJUaGUgIiArIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsICsgIiB0ZXN0OiBlcnJvckNh
bGxiYWNrIHdhcyBjYWxsZWQgaW5jb3JyZWN0bHkuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40NGJjMDEwOGQ0NGNkNWY0NzQ2ZjY5OTdlNjBjNWU0NzM1NmZhNGU0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEt
d2VibS1vcHVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0IHRoYXQgZGVjb2Rp
bmcgYW4gb3B1cyB3ZWJtIGZpbGUgc3VjY2VlZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgU3VjY2Vzc2Z1bGx5IGRlY29kZWQgY29udGVudAorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWMwZDgwYzFjY2E3OTBiNzVkNGMzM2MyMTZmMGVjZjcwYjg4Mzk1MAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1s
CkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJyZXNvdXJjZXMvYXVkaW8tdGVzdGluZy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGRl
Y29kaW5nIGFuIG9wdXMgd2VibSBmaWxlIHN1Y2NlZWRzIik7CisKK3dpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKwordmFyIGNvbnRleHQgPSBuZXcgd2luZG93LkF1ZGlvQ29udGV4dCgpOwor
dmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKK3JlcXVlc3Qub3BlbigiR0VUIiwg
J3Jlc291cmNlcy9tZWRpYS9vcHVzLndlYm0nLCB0cnVlKTsKK3JlcXVlc3QucmVzcG9uc2VUeXBl
ID0gImFycmF5YnVmZmVyIjsKKyAgICAKK3JlcXVlc3Qub25sb2FkID0gZnVuY3Rpb24oKSB7Cisg
ICAgY29udGV4dC5kZWNvZGVBdWRpb0RhdGEocmVxdWVzdC5yZXNwb25zZSwgKGJ1ZmZlcikgPT4g
eworICAgICAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgZGVjb2RlZCBjb250ZW50Iik7Cisg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgfSwgKCkgPT4geworICAgICAgICB0ZXN0RmFp
bGVkKCJGYWlsZWQgdG8gZGVjb2RlIGZpbGUiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICB9KTsKK30KK3JlcXVlc3Quc2VuZCgpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9vcHVz
LndlYm0gYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJtCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE4NDk0Y2I5MTRhN2Q4NzRjYjAyZWIwMWQ3ZjdiNjM1OTAxYzlkMWMKR0lUIGJp
bmFyeSBwYXRjaApsaXRlcmFsIDE1OTEzCnpjbWNKJDE5eE9rKVcjZHojPkJSNStuVSg2amdEPkcj
PjYlekhZVD1oQ3BaODF6NUQ/OHRuT1pgUmBvZig+c1FhLQp6VUEzelVNe0soJlBkRjMrRWQyY1F6
NXs+Pi12Z2s4MUIyYTdqY2tSKGV1Xk9nNUc8N2RiNn13VkYxfVl9eGgkNnMKenh5fnErcyRnYGYz
Tnd7eksqOWYoRmpRLTtlQGclNEktYEg7UCpleGFSakxEbDFeJjFBT1FyTHRHTFVjbzsod241Cnpy
MT9MT2B+VHpQS2RUejNTTCVaaGckM21UVnFeezclLUFeVElvUm8kNyNUSCR7PWEzPmg7WUY7JF5X
dDlLbEFyJAp6fDFheFMwS20/fTtpeGpYZHFSe29hTT1KTDteeW9pUzM4cj9QJDdLPE1LdS1tJHs9
STxlRCUmP3UlUlpQQU9PZzIKekxMTEM1SWI4N0E7ZVFAeFdDOT5HRT0qRXphQ01lNkg4Y1NSO1JG
dW97R1hjdHhDbXhCSk83X1FMfUE8KVVfU2JQCno3STRJaCFvPWk3Nmh5XzhNWl5CVGhXXzYtNyNS
ME84VUhfKXtvblZKe0oteF97Ynt1RVBvdFN3U3BSRF5wXmNASAp6e2Z7WjtxbElFYztpNzhGTGFJ
XjxAfWduTWpFdm0+eV9vMTM4R3BYXi12dENqQWt5T017ZG8pa0RpVnFWMDA5TWoKel98KkRlTVQ+
bEBLWXNOKjlXNmh4a0JRKkd3SzxVfEg/fXU2SVA0Vz1VVX5jaTw7OEY5JkVfbmZuJmhTJmVvRUR4
CnpgZiQkM0Rzcnw1SFBtIyFMXjZQZT9BMDc1eGVSKm9eS0Y2TWJPRCh+dlFWdmlSajtebHkhP3lJ
QHJ9aF5ZKn5lagp6Vm0hYmtuPkU0ZmdGUkBTTlZ5WUE1WVFiVUR4PHJpblJUa20tMitzYDhBMEE1
IVE1UmEoUmdrNHVeOF45YDRTbGcKenZYSn1oZjJkKzxoP3ZgRExvKSNNSmM9YEQ9fD9NcSpPQ2xR
bWo9dlJGQSUmRjczcEt+NjwwQDQyKTZocF9zb0NeCnplU3ZGfStkR2lOUWJScCkoQ21YcUVvUzha
b3lXS0c7WXlRUVJOez8mc2JodyljSXh1MmpOalEyUSUqQH1pcE4tWgp6ckA0P31vPXM9KF96SlJA
cV98T2trKSEoZ2taZnJicTh5T0lpRSFpVHgoN0smKmU/IyElS1poT3RXTVkrdSpkYiMKelk2fCRo
RXR2U0k7NXd4KSstISp1OzdFP2ojYnsjaUhVe0lhdSkxKmNfKWlEWDFfYDZWe0RIPi0qXlhKWFlU
PiUkCnpnVG5XaWE2bzJHP25MaVpubEsjZkZzalJXVyFZYU5sQ053d3dAQn58MEU4YSFBPztoZyQ4
I3I2aTI1I3UqRit5OAp6a1lfUmc3bWB+fjl2RFFxOTIzS3lSb3VUcj1yR3pKXl8wTlZfcGFae0Vj
MT1vbGB9U2d2YVh7byR7PWJnRThJPUkKektQYUkhczFHJn15b3BNe1hJXnVqQlFzKklZZH1TaVkh
WDY0TjhUVyRHbCR3MnErMiQ8SilGWChYKUB0PGJXYytICnpYRkRNfVliJm0yUX1wbHoxPDxmKndS
TE4qJkhnVSVVSkA3OyhAa2V0SkIjKkM0KXN7KD5ZP0JiPWw9b2FDU3g9Twp6JjlNODIxYiEpVzN+
X3peaD5eOSVHcT8pbzVOPm4lYj57OFJgd055UEV8cXEmZV5ORW0wT31yJSstYng+YntKZCMKem50
Unhsa0VLV205Uk5mWEBiTkdEOEVtfmdma3xZYW92RVlWUFVwPjJ3M08/ZVFkWHAlcnY4Kmd8RWlJ
LUFhRWFqCnpHfm1ZNlp7e0lqez08ekYmWTYzc0tCaVZycnIlV0xqbTlEe1ZNaXJHYHlrJTtZZT4o
N2JrWipgdkcodHs+KWNYUQp6NXROYzA1QmJvVUdudGJtem9eRnw8UzA4OXIpY3g4UmY7Z3ZETWZU
Zmt9O21PcmVnZUgjQmpyPiFoIUp3dUdqSVUKejdyfEFxPCRpLTcyPHtHYD9GfjhAajlzRT9BQEZg
dlcqemc+M1k+NX0rNE88OEJoVUlsajxGUzFOdTZNVWtCJDxeCnp3LXdAaEd4K2NGaUxfQVNUZ0Io
VUlxMGg/KjhWM3llQVRQd1h9RXhCPi1ZWGgyPWYpTyRLdCppYyt5e3JKTWV3LQp6SHxOUXxfQUND
dVZzWCRNWlJsTlVDaTdYM1JhP3dyUThxPEZYYUZGLWZSOXl7MEc4KUR4NiZoRHU0N3tpNWpSdGUK
eiQwUmtRPHd1OD8rKERscjgjdE4teVp3Z19FTDg8PCh3dCpeZE1qTnhuVDVDPSZ5amFnb2k8R20q
WDZxcCltOyg/CnpGbkApYDI7ViEyS1crR2JsdVNncT4hcXlkT2xCN3xocX4lPjdAcTRfYEVsfUxJ
VnJXTG9RVFJwanZpKS1fSyUxPQp6KmZwP2RgdC0wfEM1cUNvTVBmc2VHPmg2RmplQlh2c0VSU0Io
NDc7YEh4N0l7TDxfbDJmWlZnJWkqV1g1OUIwajcKeng0SXxqekNTPG1iTTJfVTAte095TiM0bj83
aX0qbz8pZChzWE1tPFZPPU9mWkZ1QT9ecX4lem9aYiorbUdkP2hmCno0OWNeRz4zJWFjZjd7JEo8
b0BBZntxeHFzcWF9QlVfISNLVFEhNSRQbCF0V20lZT1keVhoLXUlI2t4b2M0KjthfQp6Z041bElF
ZnI4cXRtbyM1KkVTZzFNfkNMTzZLMUFhdFYlZV5qdmBgNjw0OGs3SzJvSGt6KVd2c2d+cGpFaVc2
VmcKenlhQ01qNzxIaHdreVgwMWhMJClaSkszWSo5Sm9hWGIwenEqUkI2Qj9BIzBpUHc1U1leZTY/
X087OWZFfW11Ql8kCnpWNyhgZyg5QEIqNiF7VFNJbnIzdV8wKFQ+dCNlQlVOZkt8TWV5KTg1OUoj
JVk4TjclWlRXVHI2eGFwTzwofExBagp6TDBPO31WeWI+SVBGNWNJeEMjPCM1YiM9TFBlYE5TY0xa
QzFSNyRMe2doZVpsJXolPWhGbDJqYytPdmo1I0M7d14Kejw2JUF5UndeKn0jV2JBWS01M2F7aHRs
KkMqNVVhI2NgaHJjbyMrQkFFQFJPYlIrNzd6NzkkbyE5S29UVGJVfiNYCno0ZnY/NWR4cEpNPihN
ZWFsR2dVP1g3KT9tQTNpX3NXY25ZVT4yUlI0YWpLV2tKQzQzJEVkYHpqYVU+ZFhVYWkjNwp6JGxz
cHckI1JeIzM7WWNxMDRlODB1ZllTTy0+XncyTng9QVpobTJAO1BnOHMyMCQyMEZHOHxhdVR4dmtX
P3BxNyQKelM4eD5uUWF7Q0E9VlREUVBnaDBoQXF6QHVRSms0SyVtZWJ6PkN2bmRhVldnWCltKVNR
UFZNczhXI1RMb25WWSlyCno7RHxKVkduOFNUZ2ZRR0ZuQXglMyF+Qz1HZ0xMYjdeSGwzfCpZbmlm
SXo/N3haMnxNXnFlb3tIVHlwVz08VW9UaQp6e01LMlolZlc3PXBZQXZRSkFJMFk9YjxlVmk7cTxP
YFhjOUlYSnw1ZmRKMU1HYjBPfjVGJjRFKHslJE9HJlM8c3gKejQwKCRFa05ybTFUYi03eU9AfEg2
ZEdSYXE1aXdhV2N9LTBaQmUyKyU7VUFfU1BMZnJUNUg8a0ZeUz5+Mm9gKCVpCnomd284NW42YnFE
P140a1R1aEAyYDhiPnRoLUc/c35McGM0Ykg5cl5lNClfcihjQnw+biFpKmd4KVB+O0RyeXZwawp6
S1Z6UHExRjVoZT1sU2tJZ29HMkFiblNaMllSJXNfOXdkP2leVVclQVNLKXtMdkxkcVU/IShhWVQz
JTxueS1TWF8KelVLST4zPD1HaylwTHY7ens0d3l0V2AhRktSWVNGUipvfV9MbllNV2cwMXomYCl6
Zk9kTTxVP2NKeSRpREAhYCVACnpFPHFKM14/WFlsSWF2MDtGQX1Lek5CTjNMQTYqeCV1Pjx5U1Zh
Zi0lYCE8TyQ7JT9DLWRCQWktcX4/bW8hQ0I3dQp6LSg8eWg2bDtefEV4UmlRTWMpTVJVK0JAZCVu
Qnd7NyNEdFJAeE9Odlo7eUxxN1VWc1U2IUh7fTtASkY/aSVCTXYKejhoWkpsd2pue3RDVm4pNzNq
bTd3UGNzTE1aUiV3NzByZjtMZjlTazdHMXxlYnJpRjtFUGI2SlN5UXV6X3Z4JURXCnopLSNAdl83
Rz8pJWVnMlJQPkJPYEJtUiEhWkh7NEEmXjVfXk1eeEtGI2skalR6NDVPKksmVW5YS29wMzU0XkJo
Qwp6WnB0MXgjcj9zfi0wT1ZJeGx0bDdofVMtPDR6XnBfMi18dXsqR3F3MFB9cyVIMmJ2diM7QDJ8
dFZtaERYbSVZaHcKejNWZXlpTF8lamlhNDctMWx+MEV7Y358XkdocSRYYUxiIUFhIz1ScVZadmYr
aFM4NmBpKnU3cFVRQEZrUzY8NUk+CnprOyhSbCZEMHlYX0ppRU1HQmgzPlByc0VnM3dXVWxNI1VK
MlQ9WHBuXkdpLXdPN1lUWWFMVkdtQDBNV3FBWVJ8JAp6TmZ5eVordCpiREtfNj9FI3tQenFjST58
SXRnY3VqdClRSExvMHkjV1ZFOyFzS1hlTHk9ckZ0QmUycyZLNF5KU3wKek4qNmNFeHEzbjtBbFNV
PG5MXzYwT3d+dHk2cSlhMnl+NUlKWitRKVVzSG0mcjU8RmFyPWNjbzJTXjF7eklzaHBzCnpJX0c9
MDBoUWx7MjJwUnlQXnRqXkxEQVpfPTYlcWNDcyV5TWRpR0gqKUh9ckBHS0JCVU5nbTVrTUdRQXRB
RVRFVwp6OT9sVVdSR0ZJU0BUVUlleUpmLTZHVGlHb2NFZGlVa3Rffkx2LT9mRCNFKWVSaG9jZ187
NkF5b0c2IUlhX2NTRWQKeklSeVFYeE5KZktUYC0mM003cHI3P24hb3hGfUhCenlNYSgzbThLMGJT
aT8xbWExNWgzdjdlfU0kZzVOaiQ0aUVvCnoyIVV1eSFUU29PPylWTF9PRn1YZXAqP05RZzdxNmVT
VXs7ZWNRSl5HKDk2SGJYPzlTTTw9V3dxY1BvY0p7U1Q5cQp6MFhxQj0yQzk5TDVIU0YjYE55d2Zu
eTNuV1laI3IhQGc2aTVjSn16e1FrO2p9MCpETm4odUZpWlo8V1EoeiEhZ1UKeiNPbmk1ejJ2I2ly
SlcmKkJULXYmK2pMalFPcmxRX1dId3owKTt2RjA+KksrV1N+JUxFKWx1d2dvfUF4aEE9S2B7Cnop
ZnxtP09QN1ojU2pyNCFgQXhYQSZ+allaNiFGbzBgfjBiMnp3XzBObnJ5fXFCSUx0RWpRSTJDYStA
OzRRcyhVQQp6JHNlUVp2S3dRY14pKXRpQEt+d1VDZTV4WiFpXj9QU0RBd3tqTyNmTHFCajFecilR
MiMjRml4d2tCTnhmdjEpKT0Kek4lQzZLaHU1RkEyJi1NKldCPn5DKk9XZ3BNYiZHOCFkclBqPFhC
OTw5YDFtNl9EP2ktVVJKeTg5TFowaE1hRX0mCnolRTIrTmRZdUM7RyhabzRlVzlPeiZidj1sKkZ2
NmY5dTZyOEQxekJDIVozMjxyPCQtVzV+Mm5HalJrentlJUprQgp6SVFieTRJUGVmNCUkUTk8KCNW
N25CQGlgTTkqRTJQTCs7ZkImck0qeFdXMVhfP3tVN209T3t7eWdBTl9LTnQhcE0Kej9KNyM4bXA9
OTRsIU8hX3RocjhQS0g2SX5ZSj9gfGYhSGIzRS1TYSlKQ09melpacCRrRWlfOD9MZmV9M21wKzsx
CnpoMnMlUkBheCV4PG16YVZFcmhOJCQlVztVcG07JD5geFVwTGlhPTArV2Zwan1GRGB9P19+aEtO
R1UjT2A3YmJ9aQp6QkpaWEQmaWNhdTV0PW1aT0B2ZSFMdnpoZzhJJHBLMV9gNGJ3ITlVcHBWK3VP
ZDY9S2dBWFk0V05Tdyl2XjJVSysKelpTfj5zZ0R8ZyVGXlA9Sk5OQ2I2cUxaPTNGIz5nQFdfZEpF
dTFrTnxfX1BtOVUqfE9MSk8zbUhvNDF3K3hwKXFqCnojKyhEbDN+MmxFSWo0THpVO1dPa1UkQChC
ZjJ4WXZldTZzZFhXJkJ0ME5NPXJJRl5oUSF5b0NESV95ZypWbV43OAp6OWBeSn4tRmtzb0omS2h0
KlBxQ3JHamdSbjdjdSREU29LPG03IUBMSlBqZGViOzxWZ3c8MDdgMkJBZyEqSHk8am0KejtzdFEp
b0VrfWhgfUgwUW1IeT5kSlpEdm4qc0ZsSExeRmM/VV9yZzc2cmFyVj1+P0QlTF95dnNRJlNoI21t
ZWMjCnopa1FwT1ZCKUdMI3ZwQ3xtPDVrWC1jQ0JzN0YwVTB0N2RHdEUhKGFebWs/K2p7e31sSCpG
RzRyWHtoY0BSRVkyMgp6anFCWWMkaSthQV9mQE0jXkpMWDE7PVRHY0pZU1NneUh5VmdDXypfOHtQ
ZzF8QSNPR3FLRz17d2xSdn5JRENVY0kKejxUaCNXcj5xJlF4JlFRUUhUWH54dXVSfnBaJXtrZTxK
bktNdU47SEY2VUZBRndzZnwkJkw+eXQ9eGMlVkRkM2E+CnpJV14/QHJkbE5Ye1d9YyExTkRhI0I+
P0MpO04kMjxYc0tUPGlOamI1WXsldkFGfi04UCphaXNjZXgqRzRPUH1rOAp6UE5MVXZidzNtKVRg
UCpOcWU8PVZsSWpxQGk4dj01byF2NkJYMV5eTE1wfHBGUnlkajNIJW8xNjxmcn4qdT9aOzwKemJE
XitFQH1JPVZieU1jTnpRTyQmem5BSEVIUlZUeCtVSW5aWUZNMkBWI0YrezErNGpUUkl2OFBDcVp6
LTx5cT4lCnpQZ2BTPXAoKX0/Jl5mX2ZTZGppNU8oblNMeWkjZUtsJGhsZ2czI2poI0ZDTE9wUUkw
QzgxUyVBPiVvcFclY0JDTwp6RF41THQwb2g/dEB4VHtURT43c14lQDglX3ZAU3Q+Vl9hO3wjISlG
YWdVbiE5ZGxRJEsjdFMjYWJkPVlaXyk2T0UKektWMkglPnVxM2E1Yks5UEswKD8mVjtCbjU0cnRs
ZyZ2MnZZe01VMWdwTGJXZ1IoQkhTLTxoPF50TDVVSzdERFpWCnpLUzcpWjAxVztrRHZpYWQtb31Z
citnbU9XMGNaQGBXa0JsZ2M9KUhTUTtrYVpQQ2VLMSRDVjReMTZHQ2Exe08tUgp6WV8mOFNqa1J8
Y1FLTTt8O2N7YldQZV9pUUJvMnxLd15SWSpVckFMQGNxaUExNFVKdyhjM0l7Q28oJW5BNEg2eTYK
eiZXKWpMMD00I08kfnk1UDJQVG1AMW5lVTtLRE1gRU1fVzxrcW9fMXE8TSZZNG0mQnk+OzFgV1dv
OGs0OU5ZZy1FCno/d1loekpRYWdrS0BtOT9JTiVUQHlxMmBAMnAqUlRnVktWU2p0IzRwe3Fefmwz
PFFSQ14hPVNsU1BWLW0pKUtKdQp6Sk5PekFBK3IycytJSSkmaU9sfTVlMDBDd1A8KHQoaEJEZyNv
c2hWJUNRZ09RMj8rd2UmJWV6WEV6QlBqaFVMfEEKeiQ5ZUk8WUxmeiU5WlQ/alJEP1B7NmNJczlM
T3hIdE9vI1JDd1dlNio+cH5xSlkyb3VldXNgdk4zOz5NJUxyY1YpCnpgR21IbypxV31qe3o5SHRI
TWcpYGdTY253dExpKS1EKm9GMXVmejFkUWo0QjxMUG1gRUZeM1B3TEp5alBiPkxlNQp6bFQqfiRf
cDJTOXBwM2hlcGBGfUBCYCQwcXQ5fXYoanApcEI3fC0kQ1ZlUFBLOHReTz9zek5Oaj1RP2w1IVQj
amsKeis9KFlkdzcwP2ZyUHZEN0E3eFV0d3BrSHYyVSZ6JU1GQ2E/WjF4cWFsTUB4ND95QH0+YG5S
KGlPPzt0X24yR3BfCnpSYjtXWGBTT2tTUiZZKj1MdVR3PyYqO1E8XilMSDdrWiVJSXZCT3R9UHFq
UypEbUZuWlV5VmFadWRvU0NtNm0tMwp6UjE9ZHpqeFpJUjU+KjY1d2VGOUFYfXVBcVc5fDV+SkU/
cjc+aHFTQEBuPyFyWnt7M01YI0JuNXJiRThlPi1nVX4Kek5OSHYjdyQoZExsZXpKWmMlYWAhJCV5
KXZuTkckM0lVcTNybkM/R0wyM0Z6UTw3S3JsZSg4fkpzMD5vIWNqRlcyCno8NF4od0prYklGeyt0
NmpreiN2NkRlZihXZGtRYVZGQ0ByPFFTU216I1cyZGVxTH59KEQxSTFYamRJZ24qcGk2Kgp6Sjg1
PyZQe2N+bz5Sen0pSiFqVWY/JHR5d2ZlVnNTYVdhSF96JFlxP0piQzZZIyNuJXtNJCN5JiZpIS0k
c2BMfXQKemB3SkNwLW40YitMI202LT5gT3VwYzh5RzN4cUY1cVBCbHojNlhXbjZMejN8Nmo9YHoq
KXFqalNLfXJuYCllN0czCnpNckp5e1hOeHxATEBNa0tpOCFrNz9aIVF2NXstSz9uRXsyflBFVD1Y
V0FIQ35UNjhITF93Z28ha1dYV0FNVWNTZwp6XldHNmY8KmQyWD1WO196cV5FZ2NYcVZSfj8tREc+
JGglJH1gfmlZYnhZdy1GZ2doRE9YdCoyNUdPdm0mSXhlKF4KenRxfUJvI1UlNyFKVEhNdmxJPjF5
KGlQV3A5TSRscko2KVh6RkpLJT5sbjRJfiZtUmw/K1VRK3UrdWkwZ2t7OzczCnojSEhwSyFUeVIk
enNGNUd0NSNzRjxHVmd+a0RTUXNMSjZTYmd6JnpacnQwdH48YzZ3Kmhidm00SFROPykjUVI3bgp6
T0AjXndoY09jTlNXa2pHVms7KHNTUihDczZCVUEpOXw/YGZTd3JHNnYoSkJYTVdCe29gdlIzfig/
dlYqaDs/S0UKendfZFViNHxIOyskUiVjZDRVJHJgZUQ1QTVNKTRtISMoZ3R0LVBxdnNEN0QlZ2xp
QTBtR1dTJFZ1alpVdzxte2ZUCnp7eVBNNjxocGF0SGVOcGM7YF9Lekp6X1Yqd1AlbnxARzslLXt0
dFNsMHRMZGM5TnshbnNHc2IlY213NDBPbjZSfAp6ZCYhKWpLaCZ7JCZIfCt7VjtNbjcoMy17VlJR
KVNoczVBWT5zKVJ7NiNeZ1Z6QkxASmh7VEl6NjlIYUw4RzQ5XjsKeiVqPUl0QEsrVmptNlcxV2gk
fDcjeCt9VyY3RyM/bWZWWW19UXQ0Tl9fSXt+Uns8RmwtLWdpS2dWRkg+M1dZXnRpCnoob340eUpY
U2FfZ0NzbmlQbXtxPDZDYjBmKWF2Izg4PSlLeFg3fDQhNzk9QmlEezIxczNAUiViNFp3PklLQCN9
RAp6S1J2bSoyQVFVfDRLPDJMb1FqTDQ2JnUxJVJEfkhPaWZON2pCVlM4WCFAWHhGcjNTYVNPKzlN
OCRmbE1qY1dTX3cKekk8WiU+RmZQeGZ0RjEqdXk2Qjs8MVNNYihYYktxP3EoJHF9OU9uaGJ0UG1G
PGp0OVNiaEdmK0pRKlVXSEJybn4mCnpZdzdYMnRiU2gkeSRuWUQ1VlpgYUZPTTJ5OGl5ck1fWHdI
NE97fjxfZzFxXlFJbUdrenRPai1ndGUxQk9KUzUqSAp6aDd3PCUyKG5KQEBCfCh8d3hQe0E9KWNo
djI+e3NnMmg+dzE3RWttfGYlWGcobV5SdHBMZ3k+ej8+VCRrSTh1Vj8KeldZWXgoWChGOXpwJT9A
ZTtNNT57ST55fjlBfEhWdUV6dilZPk8pbksreiM+TXBFeDFSbk4jcCRYby1+KXN6TG1SCnpaekhQ
UCklfEVxeWVgcnVMSiFoJnU5fmhiVjs2IU1tJXpIKG9rVm92byNIYGcjZ2NPayh5dHxGaz81UEdQ
fE5aVwp6emshN0U0dzEqR3pWS1BiLSM0VERKQ3pFYUMwX2NOK3x6VTV4MVFReld0byV4THg1QzVN
UWIhRENKYVEpNWZqUW4KekJeTCN0aVA3JWdpNis0RiQ0Iz9zSCghR0t2T30hcyR1O0g3MH54QHZ4
SHVCbmhUMkhOMjM9SldsakRsUTZeWCZBCnpFfFA+SyNCIWlVO2ZzNGYkI2FOXnFQPGp5aT9qI3NB
IWJyVlVxfG94QlBMI0NJSVpwPnJqN0p6NUhlRE1wOWc7Xgp6O1Ixa3RlPCs9OXVZQDFycmBAQm5h
VC1NaC1SVUBlKkFORTs2X0RJREJhciQoJH1SOX1NVUJLPjNUVGprTHxIM0IKekxLZztBaW1wNiVN
OE9lZEdjWkhQQX1zMjsjaSorQlRhTV44NkoqM0N1YU89VW1XK2hidGBLJnwqWSNCRkV6ZSpRCnpI
a3Z3N3plbElTb0JNSjwhbWZIfV4/P2E1ZiRpRkAtVThrei0rclF7ODhwZCZDcmt9Q18tZ3BLSllv
KSlsQlU0dQp6S31Yc0h5T1BCRypDYE51THtKKER1WFFnQUxiOXA3c3Y+Plg4VWc7aUIpOEtIOG9N
PX14X3BgfWQ3UCliX19oSUYKejBiLTA+dS1aNFBKS3pyYVA9PVNmV0Z5RzZBNUNAVFc8Zms8bHww
NDx2VGtYJlpPUXtSV2lic0JfanVTV20wLUE7Cnp2bnElQzRJSXJVOXAmUzdkNWF4M3I5P1hhXjF0
al9Jey1OMEMrVkhGbXQjO1gjSEQkfk92TH0+P1RzU35OLUc2SQp6X3RAc35gWjZOcGRLU0xob153
ejQ3LUlEZztSPks9NVpjYVAyLV44d05MMEh1WGErcHpWIXJxMjdNekNGJndkX1oKeklOIVEld1dY
SmVaWXdGO0tZYFQqLX16UG5KX09NZz56OTAyPnAwSD95Y1RESC08e3I4YkJQc2N0cjRCV2p5fEMy
CnomTyl6TURqcUktMDtkZCZNYDg0WlEhaGlJP1ZQXzgrWn13JG9JOCU0aGc7bjtKX3VNPDclOTxG
TSUzJTtIX0NWJAp6MjlKI2RhakdjflopKGhyR1RYKyNhaEVrUnhUPjluc05sWHs2O2RsNHc/WTAr
XzlNTHx0YGNLflNEMEl+T0h6MyYKemRfX2lEdz84TUNFaipKNiY4NyNSbHVLKzZQOEZHSWxUb0Jp
UGthfG9gQXBybkB2emhmJDxvRiFSfXY0RDxpT3toCno9QXhGRkg0Y29sQih+JlU1SHh5PDEle242
dkp1OEdeWkRqclBOPkI3STtob3ZZZzE1PCpVMFJRODkoWjQwP00+aQp6RzRETFEjLUAjdXlpSmcq
aD0jUTt3RCFYPjs4UH0oZHhOeHQjZm5WemY5QTVjMCh1IWY1bmd+TlYlM201KWVWO04KeiQxYEd6
bjkoV0lKJTBwbllUISEhWDJrSnBGOGctWD9wNUo+QW94cHRpZEBpcy11d3p6KHNDdlpsWG1PYEkj
d2k5CnowMDF1ZVE4dW4qMXZMdilCUmhAZl5EXj0+eG8maGQhQEc/YE1jK1gpWFU5OVNSKkN0PkpR
fVB3TjVWfVFXTzNgUQp6Kjk8Wkh1cytOaW0tPDYwU0MjK0FUcmA8QEVJbT1ydVVDKDRIektzMkJP
WWkwNikyOWA5Z1l9YkxkIWUpKnxHKGoKek5lIXtTV3tCQ1ZDcnBAX0oxcz0tKUhRX1AjOFB6QlIm
dCN5RSNCc0pGbEl9dCp6TXclem1SOGVWI2E1QGZAOTVBCnpiRzd2RTF1PihOekQjMzJSbExsO28x
Xlc3eGVDK1p2JD1kKj5BPkNlQnNqWGltXmM1PnFfLUElekB+PFc8I2ElJQp6U3JEQ3RLc2JgWD4/
VCREc0t3M2JZfiN9Zz9vSX1xJVMpdTwzNE9rT2xLU2JhJGcpeHRTJmtNLVhFO3Bqb2NxX24KeiY4
cHk1VGlPKyM9cXVxa0pmWWhuNDNKVl8ocFM3d3B4Z0JDPEIweSErekZeSzV4bz5hXiVBVzsxdG8q
N3ZAYzN5CnpJXis+OCFjK0Zhc0ZqenU4MGtfPkRKbXt2WEoyclFyWmBYfUEmajNLRUxlbjNfS3Vy
VTY9YURmSjtxXlFoPnZ3Zgp6cnAwZiUzU2cpeTlvezBFSClyank7VkRCYVNtPWU9QiQ0amw4R0Jg
WSp0SkE2RVB1QU9FMTI9UnpOJThfRjBfVmsKemBiakJ+MClYM3Bgc2o+d1ludnJRKSZsZFJeRn42
SVozbEUyTGAzI31zXkRNYHw1dXtlPTdRKXFHPEpUJWlNQV9uCnpEWkBadj9EfkU9ZGd5M0QkMERk
TGIpMXV2bnBpc19hQ3J2U1BTSFlDcztMTjMrOWpATj97eTJ6XnRZSj1QeypkSQp6dyR6dUtlcTtk
RFdhaWUkKSVufCMmIWZEUzZYX31rJGx3czcjM2wjJkxVWkh7Rykwa1d5UjZhRyh7UUZ2M1ZSNUUK
enZZVSg9N0FSO2cjKUg7ITt0blUxcHtEOWAtMXNiQW4rMjNvMnBsXnUwTWpkdSM+JjJFeHF7N2ky
OTR3MjRjSmBSCno2biV8IWkoRGohSk5xSj5NUTd5fE5ubnpzeTVieyMmIXhUVktWQUh4QG04bSok
Nj4+VUo4OF8jbGVBS1hSZU1faAp6WiRYTVlyWGZ6PFc+TEZqKk5NO21YSFZkSkp1ZT9fPyYhOCpk
eDQ8Kjk+PFVXI1dXVDBhY0heZVFTQyhtKypCP0wKemxGP0dVc1hzfHhvclllZWFgNTBibCRLQS1S
fXUqTUZ1S2gyKjVEX1RfdiN7R1lQQ2FiXyVDRHVnTEBweFpgIX11CnolTWJZJSt+eG9nMGJ6T04w
OChTSXZMY2VneTQrN2MtWVVsU1ZgfFNRZ283I1lObj9+Ry01YlAjJU5EdElZfWs5cAp6VkJecjBI
V0o4aXBAVzRRRysmenNpbDB4eUspZSUkKFFqUWZrVz1VaG9yfUY+dClKZlBAdW98OE5EQkFieUpZ
d14Kej1nSmxzLUFMKWcoTjFxIzBNVnRMWkd9dD0hZGlsQVZXPVI2VzhDQXZGRTFzYEpDRCpHNSlo
NTBwKyMpOzNMIzNpCno3e1FZKGxNSENRWkZFfUBxPHwyU0c4JWYzYVFKTENwUDYjMXo4bHlfZVkz
ezVxK2hacF8hMHw0cDstWn0qVVJ6QAp6SldYfWY4XnhnXzt7eHN2SWw2dUB7cnV6YXstPnQyMih5
Vz9SQjUpPUlZJHM9dFAocVFDTmdgTDZeQXA8eWpFMmUKekVRdCp4ZHZsUmVrYHopcVpKYm5rJkFn
Umh3NzdSdzV6PTdAUiN1Ql9VOWBOTFAofWtrKkxxSHpeZF9ffW0/TklhCno5YyhwbCQmPGp9eVMy
PzkzP0p3ZU9zaVNfcWJxMW9fYnQ/O0p6LWJFeWxZensmUy1mYD4waE9BSD80SzQkcyliKgp6XnhZ
WnIhKU5NMVp1TkNSPSU1JSNueGIte3ZKaV9vRntUI1E0bGAjNiQ/XmNabUYqfDU/RyZlQWo0WW9m
eE9yLUMKekNtQlFiWDlDaVUrNlk7fnpuTjh5OGFiZFdVbl97Y1ZsJVFtKFZuMzdiS1VEOTU0ZUZU
SlpkcFAhU3g9N2lHIzxLCnpTT3g0JD5MaSQoTHUoKTUlQVM7TmgxQCNGO2p4VTJAZTBHLTQ1I1RT
MGBCdC0oYnkrJjRrSkdDTThROWw3eSFWSgp6S1ZzN1A/WSNVNT1mUyZAVjhzajsxb2thMEp5T0dT
JXd4OXFTVyElcTRpYDUyKlk1NmtReD1ufWd2T0RuR1UoKnAKenRgfEVuKHFaJG5aUFBvVV8pUWdL
Q1ViYD12K1BmNC1lemBnQFk1Q0tmbUlTUjVqLTBRSFZ1cH5lQHhUMmIrSFlDCnohNG5tNDRJeVFL
d3tzenRyXjIqNG9zQ3dpX01DWVQ1Y3RjV0swUUMwM21iZFgoVEp6bTdPQDB5X3RBQUR7bVApSwp6
S0xtVVYwTkQ/ZEE+cEJDQzY2SW97cSpTcUhwRGxrXmtCMjVnamlwOTlSNENiLWY8PDVzdDx6VGsr
UjJ8dT92OFkKei1vKFpJMTxHSlBvNXErJE1sRyElRjgqSFFnWSVqVV8/Skp8OC1IVWhucz5hMEVE
WC1XJVplWjBVVXdiKExnbiNtCno2MiZzR1E0TVFwQXJGXnBzYFRzTU1AfGB2IWZ8Kn1QRFc5bSUt
KkRzU2BKTjJUPFlXeEY9X3deXnBDRD9EaClBIQp6P2spWkxWYDxJO3VqN3R9aVh6QWI2RysmIV9y
XnJwTVJPVFBRSHtLSEd8cjB5NiF9dzYmYmFeOTk7UW4mJG80cTMKejRnanR1YDdePF5KVChoR1V3
d0lgP2o4UyRRZE1TQnt4YW1kTSZ3X2xTY0VSWGVFQiUpXmYlQkxVQkJhfXg1OTdiCnpFOW1MQ1g4
YmEkbk94WiZXLUBJamAqdEtGcE9BTj87bVpBPHlyaUF0a3pgZktIYkQpKntzbTJ5QkZCaEN7Zngo
OAp6NWVGMTNCTWIpYjlMdyhZdDBANGRLKSRgcUZkWSFkUWopQ1ZgUkUwQ2pWeWw/Yl9jPWRNIWk9
akJRTlc7RGpXXlIKenFzUTJLJUZDdnkyQHdnQGBOVj4pNXZMdj1YfWhNYGN8flBHWGczWCR6THdC
PjY1OXA4ZWIxenwlb2lUc202LXxzCnopdD5TVDQ9M01VNG13Mz93NlMkVlo8Wnp7OCZBdzdHaHlS
ciRuKm1YQDR0RTZLZWNLTyh+PUF+XzR8SEYoTHwkVQp6O2N6SHNhOTFYMiQqaStqcFZrI2RYVkNO
NyNufDNPKnMzXmh1MkpnKHt2QUtwWXBsTmB3JWx2ZFM1d3ZMPH5icVEKekFZODxXdytHNCsqVEZM
M0k5dUBadihVUlhaMTxEV1dyTFApMGt8VDkqSDtRZ3tXJWNIYT50bGtaS21+bEA2JFBUCnpDbish
PGQ7KWRjLTgkOT4kREYkVHVFX28tRT0/VmZPOShxWjg4R0lUQiprRCV7fFdHX3JXPDZ+KztgSkkk
Qm9NYwp6VT87bGhGKmIqd19YOzFVQmkhPGN1ZyRNQjlmcGVsND8kT0wqYD5NQUIjZV53X2Azbjc0
T2pNNThTNVo4KGVROGEKelJkentZaFFqMVgre01+bGYjMyRYX18+O0lmazB7Y1pjU0c0SylJMmBG
WHxabmlGdHg+anFIcCVhdGQzQHFKUFpeCnomMExrWnQ8UG1GVWEmTztQcyVefUNQbn1WKH5tRCZJ
OWVxQCglZFplNEs+aThBeDM+TUR4bnNGd0QxZzlLNlBOdQp6ZEApeSpuYSRqNFY/VmNRbHZpa3V8
RktjN2FxOEpzTm95PmdLWkgkbVI/P2w3Q3dXc2R1Pk1DKntqZSlrQDdDP2EKemwjWDdoSFh9Yno0
NyFEaVkqbGc/dUhMb1c3VnV5aEt3T2JlUTxnVVVUZVJ0fVNXMHkraSZ7YTh3Z2FeIWxZZXRDCnpp
O00mQWdYamRpSUYyNEsoKU1zO2Q4fHRmXkg3SUV6UyNBYFMpVyh7X30+QVRoTm4oJFd1TUluWlBB
N0BYPH1eaQp6PmZEOGxtYSFyIUlfLWRmO2FXMlBRQkAjfSExeT90RXFUezMhKnAmekx6RF5hQjta
Xkd3MGdmWmZsOUZHVUEtZ0QKemI/eWBJJHJYYDJYNmZBfHB9blFFN3FuU1NhZ0BJVEBuMEFlXm5G
JWhWKHZXcCtfQnQoYnRnbTglampYQlVCajNkCnokdngwOGB6TE97T0A4I24zSUd4TkwxdlMle0c2
JVBIRzYodDFSdndwNVFBQjE8IzlKcEFLTFhAdiN0U2VTSXEwXwp6d3k+aFk+b1BIVyowYGg8dkk3
JDRAPWBxSHomQmFwdDttTWB0SFdjP0BNMDtQQCpfYzF5QyNqaiZqJWtxSy1RbU8KemFkfmtJXmd2
VTY0OHQlYD85MUZRKVRxcnVWM3E7JVI1RCF1RWB4eV9SZHglU2AteH1zQTVKPGQ2Vm5kMm0pNzZh
CnpHRXxRJU0hZUd6TWJkX1Y3emhlKDcpWlJDaW8pX1QwLXBtKipHWldvIWg3WE4wem1AYXJOVn48
Tnopb0kkd15kSgp6MW4kPDVaOFpTY3RCMm8+Z1AwKmBfQHdFcTZMNXg+UEhCJntjQTtFMEZQKyRL
QylmTjlXTSl0NEI5UFFnMShKdzcKejB6enMkI19PPTdHflN3KHBpUSV7bmZfY3J4aXxINkM1Z3c0
cVZeeHVDb3ZecC1JNSNeN3FVKGJKK0Fac1FtODMkCnptfHVkejk9JEY8XkVAZzVofl5KQTRjaj9Q
JSlYJGw+VXpESlB4ciZaNHBge1MyTllnTG5BNkJTSjVEPD4zNiZMYwp6YGVJa35vLV82OE9BPWFp
N0lRa0M0Jj1lUUdqQEFnNCFlP00yWlVDRUA2YH0mcHI+S2tAfWAkYVAyX0N2QzF7c20KekI/NjVq
NyZzKmpVK3lVQ3pRc25xZTlMXzE0cW51WXN9I1ZYTHZGYypRLUBfZSt3SWZ1cFpybzkpI1RiaWx1
QGRzCnp3NTJeOUo1NDNvdl9PQ3hnemg7VW0hO1FOM0NZYjR7SiEmZEZ4al5Vd2FyKF8yIzhxNkZY
Z0xLJjxuY3Ikc0UhcAp6cGtHfEhoJHlXNXlZfnxPWUN7XmtDaVhgR3JtTjdqPylzP3BpRVU7OVRN
Q0lwM2l7Zjx6fE5aKz1WWUtJQHc4ZGwKelRMTS1rMWRLSTcoN0paMHk9e2JVN2oxQT5yaV4yNzhh
cVplaz00aCVkelZNVE0/MjVxIzhzP0I0Nkh3a1JkZklsCnoreUJOOUlPU1clMldiP2IoPGUzPCgo
PmMmVzxjWT5rO1FTfiE9KjZTZU5fajNwSF4pMXFEO2RlUVJ5fTVDWEU7dwp6VSF7Xl5eRSpkekIm
VklYVz9pS2QkPHVQfSFWUn1Ud35wdVFRIXwlXzxVTFI2X28/cFQ3VjJ9N1pEKiYme3NDMzsKel5i
c1IzdE1KI0loJG8lfVB1Xl9DaWx3OHd7OV8rcmM0TWx4UEZHcCt4WF9oS1l7My1Makc9ckRValJy
cyM5cCRRCnpOd2ZzS1p4Z047KXlZeTE1VWhEJkFeRGJgWlhRfjdwYyM0bWB7MGg3VnV6flZDc3tz
eXdrbE5xaTl1c2lXUitYUAp6WWktekY5WlM5RUgld2ZXdkleTXQpUjYpRFNjYTwtRT1yby1VQ3Be
O0tyYipEcF9nT28oXjRTakA5amVlZSlURksKel5HQj90YEpvPkh4bUkqaSZBUnJQODwmfClAcDZG
ck0+P182NlBPUV8yNCYpej1wVUQpMSVMcDR2fU5HaUFmPlIwCnpBS2dzdXFyUD9ka0lrUlJ4cjxK
cTFqeGM/KzJhLWFePHZyOUE/Wndiejw7dDFxJVN4dEN5QGh9YXQjVTgxNlQ3awp6V25rbk8pPj92
WlFHSVpDckplajVBN1JiXmVYVSlAcDNhRVk2Yk9+KHpWVnB8UnJpdVlUfkRkd0ttdEJzTyQxek0K
elF4eTAxV2E+UjtVM2dtJmsldDwqcS00NCRLJWxtdkJGSHJSZUtTKTRkTzF+TWdlYiFYJiQoTzhS
VDRVRHBIYT0hCnpCbDdYTVA1b3JpSH5eRVRCfnFqZSZ+Qj1rZiZ5RSlQSUZ1dj12eGhqeShjUDZf
SkVETFIxdGc9PHQ5dSNOOSRHawp6N0MjXmFiRGpCaVJQYHp7NG5tekYoRT1tTEdyVlZxTXFDSTJD
RX5jTlJlYnNTSkZ6KXRMPmE3P3tUM1pjdkB1fFEKenJGbl99TkpheV9UK05xPSZDcDtseW5vKXhM
QTllOVpUI1F8KkJTc01DRSVsWG9SUjB2dm59cHhoeHc3Y19LWVQ0CnowbVh2WWhFbzx1UUgyeT03
eSZBJW9VcjA2TlIjUkJZKWB2QngjajdCMT1YQXEpfGB0WVoxWERXa1o9K0tLNmIwWgp6Sk0yTnoz
SHx2akIoanlzPSMlTG1GJE1TWjZPQk5qa2w4WnBzTTIlZyFxaTZ5UUApXmMmRHZSWmRDbE5obmVD
bDIKelVxX1kyKDlWWFRUZ1BneCZ8SnZJYnxiIXdPMEhrT3hidlZYPjE1IypJSiVKRTYjTW1zQ2dw
PWVDNmQyVC1Qa1MxCno3WnY9NClSP2M+I1VgNn5LLXB1WGE+bk84SCtsdE9JfFduY25JfTJsZ31l
e25KMHN+akNfcnF5Uno8IUQjaXVeQAp6MkRwdEJwQio5JTUoKE10P1B2bHB3ZFBqMjNNOEAmPUl0
a1FsaWVaZVohdnA7a3tCWihjMkxYfXhkRDFFPDtKaUoKejExa1kzNSVFSlpEOyhtb0VEe2FDQ0Fu
JCs1YnE2MVEhSy1CTDxEfUNYRUwmXiNmVkxhdnMxc0tiMFlPV0FhOHFQCnokYjUxTnp5N2tIajk1
MntiKnFpRm4qIWAhaDtNOTxpbzRgNyMhI3lhVE9ARGMpYDVgNCZvPFk/RDNvYDJOTktAegp6XytL
KXI4ZVMwYmFIYklyb2FjVkZNd3dNOzIyazRwPiY1eD5VfX1BekcwPyV8YmhCNX5JdjlwbXtGI1RE
MyFxcWoKelY2cHkhZndKO0dtJEZLSyo+bTlBNUI1O18ja0leSipCWXc/JCVWSjYmb29RYFRfbDdM
MEkzTjA9Km9AMndhU3ptCnpMWGBlOUxrQ01FSy15ZFRrXilJQmRgd3dSQWJlUk55dWJfUjk5WTNt
dC07MSNMNlpZS2FaZn16dDEwJWtFVDhmMAp6bWVsYH1Wa2pzYnhnJVJxKlk2TCojfjNlc1BgPH5K
SSFwS0pmISEyUHp1SD9WczFaUm4jTz1XXztyVERiVS1scFoKej9ONTUmcUlmamNpaz1ZIUlLYnt9
alpUN31yZVFVc0hhK0tPX2s1PTJNXnNlZGM2PkJNbCo8RWgkd1F7TzB0LW17CnpvQ2A5Nmp7Zm8h
M3FlVzZAdk8pVGEpTihXP3xiVUJRcilBfXVUdHs1dXMxKUtYNEQ1STM9Qz1nNik0cTBuKW8zVwp6
bEFERTk4STxRM0xUSEQwUC02c21faD9+U2tpY3QpQitReileTWxCNSZSKG4jP2dCTzlzQHR4NEVU
cCskY1ZEP2EKelRCTT52bTQwODlYJGxlX2ZrcGhjWGF2JDdAWF51UnY4flhlayF2RSZfdzR0SD14
ZnxDIVJReVpqJCV1YkFnJmB4CnpMJGlBSmVVNCVreyhEU05iV08yRUNaKSl3JmEka2EtTFIjJjxt
K3ReeyFmZztubm9gQG1oNGQxQ2wocklBODhneQp6ISFlfF9BNGMhRD0tfncxe1RIMEc1M1Z3e1NX
SCUlZ3JfbXVrISs0X2taWWgpREJUSypSI0NTM2loMk0pcTN3SFkKenxEWlVBbTQlK2YkYT02OXw4
U0J9ZFZga0MtK3dBMD5SNCRfXzQlX2FsNW0jYXFzcSZtWjk5ajEzbTZCMm0+cGlTCnpKdz9LPiNO
WT5OMDRDWE9QTnAmbmg0cXEhektFJkteYHwwUVJRSWE4YEB3JjIrSDU5K2U0WD0zQih4I1pXQTRN
fQp6NnllUU0jRlNDUnBPcUgyb1ZvK34lKUlee1l+N0xzT3RzT0pWSEJQSU5sQDcrT3cqfGRfeFNY
XzMrRkRoZE93XykKejBVJmNmb0VrdUpDd244N1N0RDxKKGFrdTYtUFRyVCUkZHc9K3tCMU4xSj1B
b3MzVTRfbHB9KHdKPnFaO1hoKWszCnpDbiVeVGtlMnJmUkk/eX4wZiY/Z0tDciZhK2thKl9kQzB8
MTE2dDNOQUQmPnZ0JmtXUGZZNH5FQFdOSyYhJUprWAp6bmQhLUJiTz5YN0EwKTQ+UWZyX1FwPGx2
Y1A+UGRvWlozM3MyancqPyorbUo/ZnlscXpyYUtwTj8rYDlyRX1DRz0Kekl2bz5FdldwUHd7am9Y
cSVvI31aRFVHe1BiSTJlPHE2YX42YyVEYnMxK0VMc2ttTHlgVCtyNnF4UXlufDBRXmFrCnpsWU4p
XyVldkY7QXJ9cDZwKiRra2d2ZEBDcW5GSUU/SjNtbj87Qm1IJS1HPVA1STMxLW9YVENsZ0ptREtM
Z0lEeAp6Wm90M3BhfmZMRCRJezl5c0pnNS03KDNRV1pMIWleV0I5dmswVFpPN3dyX0NuTnp3TC16
a1F0aWV4VXZBeUZVREgKemx3LSVqd2RMRzZjdThpNnAwaSFxNztGNytEV01eMGdSTWZfMSsybD9L
IWc2M05LKmAkWXJGK1kkYnUpRjAmZ0Z6CnpyT3dUQzVefnFzdmQ/KmprOU5kbG8kKjB5bzxKWHx1
RH5RR0RvfXlfQ01fVTd0WnxxYEA0RX44NyhXUlNoOU8+Iwp6dH51fEhTWWs1NWNvVShGYT9EI2M2
KyZZWHpkejNmWjcpMG9uX0kpdyFJMnEwVXJROzhiNllqWEVjTWF6Jms0a0QKemAoXmlKPFNoWSta
ZHVWZ3lNOFV4TXdvSFlTN34/SG9rY3ZIaDBOQD5uMVQjaHl+bnZ2bVZaenZCcUdiRCUzPG44Cno3
c3ZLQFc5dSVrWVAockFeI19YckdXWH0oSWZQMEZAbndGQkFTcEM8Oz0yQnYxQHc/eyh3P0F5KkdB
cFFBN1QxVwp6bG4kKylRN2BgNURKV19tITxCJGBUUE5rQV9sYzI1ZyV3dkFvS3MzJllkS2wlcE1L
I0NlcjtLSkl5YF8oOGslbFQKem9nIXtraW9xcUtFX0s1d282JmZYbk4xb3Zha0xuNE9vRz9sWlZV
RyZjVGRgSy19TDxmZilqbn1MS25YMyUkdyFgCnpkJHBDdSsqdWVqeGNjUVljME91V0BpPj1mZHlU
IWgrcyt9MDhpXzZ3bHlOc0d7RktWQzFkPU9KRWMhRS08XmgxYgp6e2A4UVFPRyhEVjhEMlJgOFQ8
TUtjdn4xMGMtVXV0Vm0odUlQQUZAVGw8Zk1iVmdkMmRSZjdEVT9QTWJQJEZBQGwKekV1KjslYzRs
Kz9gUlRxTUZxJlNvY3RlJTlpU1phOXhrYnptP1hya25VWDw1ZzBHK1JSLXdWO348fUUhVTxDLTBB
CnpaRXgwRHUwP2x5RDZjcF8/NXkzS3ZHRUIlNFBpZHhULXtXP1UpaVNFQjxASGEqNUh6dUFOV0Nj
e05LJVYwWnxDWgp6eygtZypWaUNiciteX0BycHhHRnFLQSlMU1hHZmNaTHA9eTlkazkrOUtQaCRU
Yz80V0chKW43a3s9RjVScz8hU0AKeil1UHwoY1AmJXZlSmRiTDdhaD9Ibnx4Yk5HYUdCbUNhaUdv
YEs+Ums5RWg+Yyh4aHgyS3NtcE93Syt7VzNgfnpkCnplVEM3KmNoM1dmcHh9aTQrKk0qUFdfWVFC
Tj5MVXZmQmlsUDtrIVc4SHFCNlU0djs9cksoXl45Ums4bEVuMHE/LQp6cCtecUBoNXc8YXpMfVMm
bnk4YUZPVk5aO2FXdk1ndUhuPkVPQnxMRWJDd3dUZHNhaiVFVTt+ayNqRVQtem4xQnMKejRHUjtl
aF9iU093a0BHYGYjWkItPGJwWlBQMVI9UVU/cGglZkBGQ0lWPzdEJnohfiU8YDBAeEYwMTgpUiVp
PTtyCnpuR0NiKi1AdCpkU3B8bTg7aThDS29lVEh1K3JtTWlrKSRHRiFKQ2NyJUpuMzwqQyYodm9B
JW5Vcmx+cndpcnsoXgp6SFBRVE5xTkpgSmNTSj1mI3FuMW1VNHpMVWdHJTtuSGkyMW9VVVRTYFRU
aG4wamM5YT9ZMilXUGRMclU5b0kqP2sKeigqbjRuPG1LZ3tEY3sjWllNYHUjfDJnOHApMzl6Y1V3
WHF0Z3BPJmFLSiFycVNRTnNEYVk0bUdZTXJvOHBSI348CnolPkd8KFIpPypEKXZiRHxaKzdaJkpi
RTtMOUchK0RjTmpoUDtseE9Pci0ldF53bEVPX3NoI1F7VXtuQjVxOTAoIQp6MGdrX2ExT0tWQGQx
b3dDPmhtTUdSaTxHQE0mNWJKJVZEYTFpVyl5Yml1MnJhOFNKRWBpJHBBO0VpTmR3QU1pJU0KemRQ
UXAmIzxGS1l7UUhiZ0dENGw2USkmZF9oVFJZYntPWmkwN3h5JiZxSFZ1PFJRVyomWkl5RmpsTmU4
TEpmR3BECnooUyhDe15reFFeS15+QTcjaklmPi1fR3ZYWGV3XmxqWk1pLVhDYUV8VXFUO3tReDdL
Q1o3ZiNiWGNuRmpVRiUyNwp6SDFuTTElRiUoOD42X3Y2WTFGUHI0M0FIeCtre2E+JjUhMy0xRHko
WGI+YDJte1lEdVZiSUkwZ05LSFAodVRocTkKelk8VUFGKHY2LXhIc0VraXpZSGZfaWNSI0J1endn
YVdsbGowTzNfPVZ7Rmh+dWxwbjhtdEZDbiE4Pl8/QD97OW5rCnojWFkmQ0t7Nk58e0dmbUQqd1cq
dGlsXklnLU0zI3VVIW1aTl93ZDd0NmFkUWghXipycSVNdStgNDFiOSVpNmUrKgp6ZGtLS15hZ3xD
JV93WV4tMVZ2LWpDNU9Nb21wbzM7ZkE4P14yR3hULT50JT5LVkh6Z0l5JGJ1R0hAVWwqdzdyXmQK
ekNmMio7LXx+cUlJN096RnQ1MkU4VmtYSEA4dHAqR1l6VSlWP0xGNmY7d2dQZF42dVJOKWVfdHR6
dyU5Y2BpaSFuCnp0QEx8aWc3X3RnKFV1fHgybHglS1FZe1BDO1QlbjN8MGNZQzheVzhMJG9wI0c1
ej10NThHam1Me0pFZ3RsZGRQPgp6NCNpO21AQWV6dENFTTxDY2QlbXA/PylZU1J8byR9TGJrMypD
JCg8XlReQGxzRTJSIXY2fDZFO2AydzE2d2ZFNmYKejJgajhMUzM2JUIpXj1MYS1FV0pPeG53V3B6
eVMje2EhejZmbkRgTkBMRjRjZUI8UHN9bEJueXN3UiFvQDsmUHNzCnp7KiZXbT5NeSROaDU/ciFP
YXVUPnNoYD41djhxSElINGY2ZncpYGVMTlo1SlE1T09lQVded1Eze3UmJVVEalZ2Vwp6KSRtMmxq
R301Q3pCJWBaPn4kTGtNeEVHU1J9UWRuMmNteU5SVnR0aC1uSVFeZjdmT3FqLUhrWFZwSzBBLV8z
RUgKejxlR3NiRXlxSGQrOGNqSVA5WnVqcytuZyspREs1eFI3PjxsN1M4YjVQRSl0aS0oODlUeGVS
PlRNbU1xc3hfO1drCnoqfntQNjZWY3cpTiExPEE8O1o+PEp5NkB+U05eLWRpZ0I2YUxmbUEhbW11
O2RGRiF7QnJ9dWFXQXBwdF8pXkQpcAp6Q0MrX1opMXklTEhUTmdgXnBnNWE8c0UjY1lkd1pEMHVI
O35Ic01lT3FNIVlwKUtmUztsY3Z3cEJKOD55VzNjaUUKelMjSFppJTFAZXF0cjQ0Q0t8SUc2WlJ6
UjtkKzY4THJAXjlnPXp6Kig7TW49REZEYiUpcHY4WmlzNmxtcWdydDMzCnp7OEFacjttUjRYNGQr
WTxBSW4mJWhtYmJZblJUOEtvJHF4d3JDRzFaJllPZnJwOSY2ZXlGTnY+PTlaVU4lKG5MIwp6U0da
WHdYTXE+N29icVpBV3d2X28jQjhpJCtXQUFoPSNhems3bSNqeWlKa2NRRXZuKT1wbSNWZjVMPFJI
JWZDaU8KemN+TFltd0gmUSU9ZV5Ka09aRTB0d153TjFQcmA3NEBgP2w3WEp7XmsjRmtpIXNEWjgx
THExZV47dkpBRVIlcXR0Cnp7Xj5KIyRNZVN3amRiOUc1eHBKQlE2ZTlub2gqP1VONHQtcF9YOGgo
QjZ+fTVPKFE1NG83MkE1ckBBc2dBOTM7KAp6O0tNLVI4YlgxNldMNiQpNzxgPiM9c1QxJjl0cCtf
e1JEcElPWEFnbE1UNFk2ZEhfeXNHblY7fiF1d2txNGJvLXAKek59QEJiMzBnNlg+PjxrZk0/Rntv
UHskdU9uKEB4dURAbkdpQzljPHpsXkBXbjkjYUh2eVRhMThOSGg4QU1mYSZ4CnpSXlowKEdlQzNo
WShPRSFeUkYyWFgma35wWTw/SXxpbm5pMWdLZzxgOyFKZ2AhSlJZeHJPdCh7cS1IdGljaihlTAp6
ektLKlZQKXdGNCNCKlN5cUNwSUNjPlg4OUN+M0EpP0lhMClkbDI5QjAlT29PJGNtQUg/ViE2aGwx
Z018UF5wemUKelY0TTFPeHV9ez9pKSg7a1NeJUU/NzEhQXh1b2lHWmU/S0NvWTRfdjJJMk89fGgh
dmJKOCo2cFdVcllhKUUkaTRyCno2VSVeJisyMTNndj45eldZPzU2NiNVZnpHVGtxP3V1WH40X154
RztrZDtfb3lzcEtXfFJvSGckV3I7MzdqV1dBUQp6dmIwMHJhZm47fFYkaSMxQypEWXFURE8qSzkq
MklxR2V7I0wyR3h3IWF7ZTxmI3NgM2d7R2MoWjh3U1ROLT9qV2EKekM9KSFpSDJ6WU5ePmM9RTU/
IW89Yl57IztNR2k2fio9NyhNUlpMPGUzRj07dTdXUVlmPnBoJGc1KlpjQHE0YGFVCnpCZzxidm0l
UENqamNRPVFfZ1lmPDRidXFFYX5kM1pCKCN6a2Q1aXVFQU92XkYtQ2xxPlIlS35nJD9QTyM2ez0l
Ywp6bTtYPmA1YE5UMik0NiZBXkxtWiZRUF5ncjJzKkM4ayF0M2cpbF5jWi1Ab3FPM1EpOCs1M0p7
YHBFR1JIOGA3U0wKekU0WnF8TVQ9UUgyM2MtOGxSQzViT1QxUj9jZjhsOG4lWkdiSkA5bkVOVzEt
QDFlZyolQSQlSG0/YmdtM3lOfFVwCnpnKFVVWCV3MnZGRXJqe0htcXVHUnsxPCp6Zj9tXm85OFZz
YWF8NkgrMypwWjdpTStsPUFlcl50bDhQe2ZmZnxeMwp6K1p3aTBxakh5V19Xc0c/e1ElMU4waTtS
O1VLJD9yKWd9Rkd7RE5JTWBFJEloPmAlQzZqIzxWaSFlTllveEVjekcKekhqJXVON0BjJGc+eDhZ
KDdgQylITHA1bmRUZ2I/RDdZZkA1SGwySGtjNVp9SEdUWjx0SCU+SWttPFI2LTVMUyMyCnoyWFU1
YTAweX5nK059Ri1APmYlc141ZTdiTz8qeitqQEt7aV5wNClJcWxRWkBtKzszZzRAaEBCZ0gjfnF1
TlIlMQp6Y1V2fG1aYXNlY3tISHBzMX5TaHc9Kmk9V0ROWnc1VWp6Uy10PERtZnFgfnchVDFMemhZ
JTlUckk+P2hXeDQ9S2wKenlvTW9RdzZfVSFQJDMyXllse192JGE0XjRlUi0jUV4qUzxnWiZTZm4t
ez5XWkhhZHdsSzEzK3EqUmxTNSpYbVlUCnpRWTF7dSFLUkw5R3U3Ny11aURZcis4MEozRjdEUC03
YFdxUUw2QzA2ITQzK0VNTCZSMDBIOEhMcDs9NiZ3KGx7Wgp6SSp3OCtDZUJoaF8tZXM3VWk8LTk1
b21pK3lePjFuMDdGQj44XlRyYFQ5KHlpZ3tzcGojZFZXbV45MGBuWk1iSikKemcxRVFHd0wzYDRn
MkAoUW9Pb0t5P0BBSV5yVWRWMSYqVUxTKVd9PVNjPil6fGR1cDQkISQpY0cwP2NVRlljbUJHCno2
K09JdVZkVElKVXVSJHdNMj5KO3IwMk4/cSl2R30jMHN9MU9rUzIkbz0mI3FAQiltNDVzc2owJDxQ
KWFSYCRCYQp6Wi1jS05JNCZYe1l9O15mcClCJE1AJHUyfT9BfkJXbGJoTFomOWAkTHM2NSVPX21U
ZH16cGhoKEBEQDN7REo3dlUKenFMRUcrK3ZDfjlAYWJUTXhnZ1lkdF9gRlE4TlFNUVh8NWpDX0B5
NGxiSWE+USVgMUI0Uncoe2ZzKTltdyRQfVhnCnp7bH4zdjBpZ1hxUCV4fF9ybE1+elAtT1YrZlV+
Q1RxUjJ8UkQ0YGtTPWxmUHR6Zjw1Y2lTRF9aJmcrTU1yfTh8aQp6TzR0NWRgendIJCRObVF2eXcl
QFlUQlgtT0tZaDlNREczNChNZFlNOEx1VjtfQmdAR1VlQ2oqJUdVKUl3UzZgPz4KeilTR1dXMGha
S3JjaTdJKG5oJClLeEkhKkJ5cVlQYl5rWkRiS2k3I0BAOWhNKWNER0ZMXmJUTEpyXi1nOFJgLXk2
CnoxQTE9YChyeSNwYmlVMiRQN3dWfGg2WT4lXz0rZEVsRz1JemliP3t6T2ZjWUdNZWYrVT01dD97
SDxIZ1dHSDspSQp6KmIpSjxvJTJkUTdtKVMjdVE4cG1gTUMmcDt7YER4YjFmeD87ZlhZSnMhOXBV
dDdRfSN5blp+ZVFDTXBAV3ApZmgKejtKfD47S2wyZ2xFUk14bCtMO3soTlMqWG9fT0dfbkslTzV1
Z2FGV2BBM0VlRDFxNHVgZSEkJUg0KEg7VlE9WlFGCnolYk9SIUVEVnxXM1UzYyskdjNTdWJkMF9j
MmU0P3B1WlRadWN3R2I4aWxNPHBfdiFvXlI0KWozVElkU0VteVF8NAp6eE9XJExlM3BvKjJAaWBl
ZnZTZ3ZPX2JsPGo5Zm8laTdmfns8MV5PfFpudHpyZ00hKiY9OXdYZ0ore3pERyhzNUYKekxJelB3
eUpYOV5NKjk+bTZiRlpjSF5OVjF5OFd2e0ZGfD1hNzJQZVJRNjwjc0VMWDFab2J9cz55QkEpeEFC
YzNiCnphIX5haWg8KXZgOyFgZFJFJm9RQFVNTC1XMklsTWZDcTJYYHAyfHJkSSlfdj80fndGd0Bz
eVpfc243cU5ZU3xVVwp6OztmaHpKdFY3QyskJGBQbCFNIUNIUypmP2s0JSF0dlBJJnU9TFk8JjIx
VWI+XipUMTk9emxZISMoMnVvWWNCdjwKZl5XWmt4eyYhZUFwKTstIzBNcmAhYjEze2E1UDBWWDBR
IUZiajBrYj4KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibSBiL0xheW91dFRlc3RzL3dlYmF1
ZGlvL3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NjBhN2UyMTg1NmNl
NDlkN2EzM2EzNDNiNzg5ZTVkOGJjNTlkNzk5CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxODE2
MQp6Y21lSWFje28reXt8Q0RFSVVNc20mcXRZT0F+VDA1THZxYVhQelZ0c3AkeipOTitgLXVBJnZ+
ODNAS3hWKH07e0kKejVraDFyV0o8X3o/JCtufmArZEteYF9IfTReU2skLWBgckVQdiNudlQ+OXlX
I3lAJlBRY252MkNeWXlQMUFwSzNgCnp3Pz80UVVuZnhPJEhzP3dvakk/NmpleWNtQWZVTGRVfmRR
PFQqcUlxbkJgbi1HSkJxRV4oZGFoeGFfUmVWP3gwewp6Rjs0NEJLT3tENl9CO2oyVzNfKGVaU14+
bysyTmxrenR3WGpHeHFxUyNlZURuNHU3bHJmOCVrYHN+Vn1IQ3ZpO3IKekk1WVVoJDx2cTRzO0o0
UzkrZ3Y2UF9XYmNwSyppaGlNWjZEenI4cjx6V0o1UGY0YXZNSlZieSgtWHlYZCR0NE9aCno+N0Mz
YWZKMyNwYWlJYThSfT1Oell8U244amppR2NzSVJ5MzM4Pm1jKylOXlRQeyRjaDBAbVkhYEI5WGgw
Q1h1Wgp6Xz42REpLYFA0TkB4ZFBlO00jdkdaLUNKTTxUNDxNZjRpcURyKmBDXmRrMWVwbD5jT2s+
TDBVKDAxZzA9NU5AZ0MKeiNVWSZXJSlJKHxvQHN2bFVjV15pe2dXKVF7N05VQ3g8b19MZ299diFp
QjF4UHt4bG5LUH5lKGdJRDM0Tzk8Xn0xCnpzSjh2PklCeyh4bCZGclJgNXZTKD47S29vUH44V34p
dVJAT3BIQCgja0RGMjM7KlUyfXdgV0d1PUNTY2lgVkhBfQp6a0pYV3ZNTzJMTmFUeFZee2BpK041
PXBWSTYmZzY+RE80bTxWIXRWTGUyaztoUHQxLXBSQHZmPl90cCNOe0hGfk8KekopXldaajl2JEt7
QmI+YDJOP0FSX1ZfTm5Rcj50ZWIhd3FfdGc8SHVOQ1NaUUtxQmRaMVQ4YWY0SzMmWmZFajFPCnot
aFAzPF5BPjtTNk1pfnMxX3ckNjNfeSolWE92V0Fibn4waFo0cm10cUpRdCU+Klg/Q0hHZ2xWenJ+
Rkp6KzJFOAp6VVNPeUNUaDA+ellOQT9GdjMqanBQdHNpQ1AzcmlvazVLPnlmQzZib2BJd2N+aTQy
MjJZbiEzRV5QflQ5SjdzekMKens0SWBQJFVOWUN3aFdWfmZhYnljb2Q9e0ZGaVZvY1l4dXVGaFBo
MWBBSjl+JlB2bE0kOVQ+QXNvflI0dDhyNFNKCnomUGklaXBVVnlEP1ZRYjM+X3RLa2F2a1dpa0B4
MHVVbFNjQHt8U2pkaVJqT2tJIUw/RmBgdGE0PHQtOHR0QjZSOwp6ekVPKldDQFh3I1d9N31pTFBt
YGRtTn0qZVgoMHp5e2VBcCteUE5BSj9JMnAoKHdMUmd7e3sofXp4X1UqJWx6TjMKentDKTIpJGpF
cWMldlchbTkrUlhWbkRmQ05YRjA+R15qJlhyVVYoLTtFPzU3QGArMStEMz1MfTAlbk96Izt7TzFT
CnoweXR7bjFhP2NLfDlZSEI2dSF6R3s3JipBRzFmJD90bkAqT1FrVHJyPyFPTz4jbTckPkhSJTsh
R2FyKyNjeGBFUQp6VWdlWCQtJXNfcT82X3lQaighIWptTGAoTDhKNHR2QHh2bjY+dGxGNCg8fX5a
SzllWjxGZ0tXMXNgTVc/dT9KSEYKemZjWUIjZGxyRnotPmR3NkVUUl55JFN3T3BOIyVvO3AtcmdR
UCokaXplVSNJMWczRCZxN3YkYXdKI0MtbTw/dWk1CnplfTt8JTBFLWEmS0xlM2AlTl4zS0p9OzhO
ezluVUZDS0xwKnBaSDV9I3gpfFExMHA+R0dVbl5iPTR7Iyk/MW1xZAp6WlFnVVpTZzQtMklPX0Y1
I2xgQlZpO2VBaHlSN3EwYilsbm95aGI7cENqUjRncTUzO1NSc2J8XkFDfG0qTmI+ZnkKeitEI0Ut
b0tKQG96K256bldZVXp4JjF0cFVCRjQ4eGVRJGU1V1I+Ml97KGRoe3N7SFJPZmNmQitnRGFeZEpn
Rj1eCnpzV2tsTmVCeTFOZHMoR3IrMHlTeTdNbSY7ezt6Smp6WFVEPHoodFcwITZHTHRNR1AmR3or
Wkc+YFU3PE5Vbno8aAp6MkZyOH1ERX45WV9pV2stcG1yRGsqKTt3JjBSWWY8UjxuMSM9UW0+Jjlr
aTZTdjYzQ01HI3M/RGBNPGklSn04XjkKekE7OGpyR3pnP0lUZ2w0NCY4QTVmSVd1dFg1eiZMKmE8
VFl7ayg3NkJ7WDR9Mz9wanlnWVooXklTSVJeQGxKdlN8CnppfjEkU0RuNDIzQyRKYVleXm9HUVdW
QSNrRjk5JVRMejYtTHhFZE1jeyktRiVZMDM9IVQxP2YtTyNoMERuNHg5Tgp6KGFMQDNmNXJiZGV7
Y2lKeE9GWSR7I1BZUExuflM9RCtWbjhpcCV0Jm1FV1ZhRVJmeWZlfGBPKitwMCN8R0dPVn4KemBq
NTdkaFAyLVFLUVhUVmIhWSRvM2pWKjIwNWloc0NYdGBKRmd0SX1BJnwlaGZ7YSoyWGxfJlZwcENM
OSZFaVU0CnpDX31mc15nYS1NNzBtdlBnJFI8Tl9XXyMoakZGNmY8LXxrKCZicDBjNVBne3E7VVhs
JWh4Zm5ONWJ7USF2VHpjIQp6O2F4Ryg1d3BaWTF9cjVzfDFSflBBIUtMZk1ucDFkZyMhQmo/dnEt
UTdYO3ZHd0pieT94SClhbDM0bmM7WGM3U0sKejQlcmdPTSpxTE57JTM9JUFRMShFQiM7SyVwVTZ4
aUVzQXYzZkdvOz5Fd31faU11V1U4YW5RU0pKKnpWcFV9V1AqCnowU2Y+eVo9VDRRdV5IWWpeMzRg
YzU7Nlh1V3pPIUtKcnxNWmAqTDBEVkF2MFF2WThEbmwrRXN6Xz9BbTRuQXZiMwp6XjIrMV4+flNU
cHIkRUJoI31xJngxXkFRQklBcVU4PGNUTWhseDY9QGl7WDFeR2I8YjgrYShjc2hfS3xGVH5ifm4K
elc0NWshekBuXmVZIWQjSlR3ZVlJWH4+KSVkRH5fJV55QChsTlE+bl5uKktLVyFQPzl3KUNIU1Y7
K3RKd1VTM0lPCnpWOXQpej1gc3tibjdqVkt4NGlzT2xOX196TDNOPW40dyE9O21NXj9oIXIzNC14
ITdldjJTcFp8WVV1R2NMcjh2Pgp6N2RWSz9iUm5vU0AqfjErM05ieEpEIUtaN0pSSzlSS3YpX0RP
OGBMUEVAOEtOcnl3Uj0jTFc5dkIlV1BnT3RnNXcKenZLKDd2WChgRE9aKjN3YVQ5eyNaUFNTP2lR
bkQ8QVIkb2RxKC1NR1Qwdmg9eDtDKHR3MEcwe0IzZGF3YV9OaFpmCno+Pmo9OTt3K1gpaWdVVD9D
V15DJjctVEhUZ0srYj9xS3Y7SGtFT3skbiEwNTFVJTRtNChnY3h8UE1KdUcjYG8lcAp6N2lTRDBA
KH4qVilfPjcxPzNrckV0b0lqZ085O140XmYtVlVLYEtrKz9gJW5BbXh2a3ZHWGRxRHxBbDhKR0t+
ayYKem1yRChDQWFhNDNqZzNvPCV3SF5qRyR8YXdoUVJVPFhpYWtkUDZ3IVlAemhseUdsRjJ8SlFW
OG5JZzIza3ltRTEqCnoyN25hYERuTFo+KmA4Mzc8Zlc1UV83cHdmbXBKYVlHKDtyI1YlRGI+aj9i
ezlNcG5ndGtVdUxoTFAkUjQkKV5LPgp6PkohY3pjXzFPVWApfkIkNTZncXhlQEZqc2c9NylvPzV+
OU85fWkwSyQzX2lvPT8rKEd5Zmw3cT9+Y3FVMVM4fjUKejt4NlY2cTFUcnp3eCZqQTtHKHItQClQ
fDsjV3w2cGtCPEl0TFZFUWlnZmw7I2s7d35UKVImWmVXOXdsZDhFPEs2CnpCM295bFkqSjhvK3RR
P0ImXnxANnRtdTx0YT5kJi1EYU1rfEp+fTJWYXZ0X0tFMnx3b192aV8/aG82K31HajVOUgp6SGBI
I1B7PDArXz1OUjVuQTlqK0Y5ZHpfbGMrMzY4RFk+e1ZKNlRhQFlzNkFVQHNsJEVWUjJ8KzVQUmR1
VzBDdEQKekghKW5pSExMKV40YTx4VzJ8X2FuUlROcEtzM1RPdHM4M3lCamltaHozMV80blB8c2ll
JEk9OHpgeHtFTHtQQ3w0Cnp2eCgmV2dBeFpTbDRObiotJnwlQmlRKiNtZWAhbypNSHZTbk9NUFV0
JFZCfnBQcVlZO2ExWVhgM3l7ZShreFcyfQp6Nj14dHJtTW1zOXAlSU58d1VtQEJXO2RaME1sejgh
WVpJRCtjdmdmczUzb2xuRnApJU5tdFBHTGo9QTszZDJCZE8Kejd0KE1FezxFdWlBfk1mfDNgPEVf
IWBNVGArKHExYCQybWdxaiFDNyNecC10a21jN19uaypxfDtfPjZSR3JDRH07CnpkaUB7I3AoaUNW
dllGaWFaQEcoeGdHfiFVNz9FOTM1NVJDNTBCOCF6QlktcHN6SkBTZ0x7WGdKMTJFUiRZQCkjewp6
e2gpOT40S3NAc2dnWDxmRjkpcGNvcl8kWWFkI2xPYEtkfkBGb2lJK28odi1xcnJeJkZkY190UHsq
dktUem9iK3MKejdPNThpMkMjeTMmPjY2Pnl6ZjVrPkVqPUNGKzM4RVBmU1RlSGJ+XiswZztJMkR2
QzJPUCE4ZWQ7cE84TzVFUX0rCnpBMzd8OFl+JGVYaipXIUAxO3N4UylqXnpzOz1wMm55QmB3ckY5
VShOMk1QQT5fKmFEMnU8KUFVc2JsNV9oTCM0YAp6ey0rQjYtdiFRaWtkaShBdCtNfWpTPChNMmRs
JThTSnljVz9XJjdaI2ZjNXUxXk4rZ2ktU05QJUZ3d3hxUXFTN2gKentGSzQ5MzxVKl5nSWlIZkxF
KSZ2LXdPYnRWfEFnU1dwZX5qX0AwMCRnZmoxfkd6Mys5dW8xQnZtNHpBKEM1ZDxVCnpsal9CZWZW
Ryg5JmkjPl5AdGlBQ2IybmMjS0pkRCkqdD9ZNCo2SkRQazt+dztOajl3aE1pbSQpQE57QkErclRF
dQp6O2dvTkdmalRKY0FePGUoYEV7dyted3txVD8kbzF3cElfQlNlMEU0JlpAI3xXYSk5WTt3PUk2
NUApSz0jY0hlZ3oKelBzZ3pOSlpIcFVNd2ElRDQhKmw7QyspaU10TnFKVk9fO0E4ZDVeUERQbmlI
UEZ0MWVJZCs4M0VAVkUoNCluaSg1Cno0S1BEQWBKZzV5UUhYaERjLSg/IWUxLUdjP1hVNE5NRjEj
VklpMmVoYzhQdV5vUlJkSmR8T1NpS2NNTzI8cnY+Uwp6Oyl8WUVRQDYpQ2YtSlNndHZrT1NaYT8z
c3BGVmV+SEZWUShDfiMpZz5HSUZKXjwxR2o4YlRldCk+UntPeVA5R3AKemVFZWNFRjhEYEtmYDt1
NEZyMGJBd0Mzc0VAY35WcTtHPy13cClWPWRXSjVtblZCKz5CK0lldy1ValY3bk1VIWJsCnpyK0g7
Ulh6S1NTX0MmVVQmZDx4QUQqd098OH10RDh3b05kdU5XdFhgdnEmYU04ZkZYXjI1PzxCNFQxbUp3
eGNlcQp6RzBGQlF4NkNubmhwRHJCVylrd1QtWGJFdl8+fDJLZlVgTS12QnlMSjhec3psJTEkVk1g
MiZ3e2xQV2l7czBOXl4KemBtcnU9WnVDaEUwUGApQmZaRlN7SitQKE5MTVhPU1BsVyozO0JrJCZX
NzNBezlSVnY+bU1uS3EmT0BKJUZZZCV2CnpKeVNBcClefXo3RyEpPCY3SjhxdVBYTl95KHlNMDlm
Umt7MCZNXks+X18jZzJpNGo3fT96VzY+Y1ljO2k/SktEfQp6RUM9d19JSDJ9UC1gbllyUWJgdilj
R1NgQG5VRDQtI0UraFpha0sjRjxsNjtrXmAhZWplSGBGKyV6MGVkc2wkTzQKek4pKHBLdkxwe09H
YT5TJU5YeU9iejUxc0YlPSpyUUdqaTFwIVBHZj5TckImYXd8NilIa2tpYnBFZEFael8zaDBxCnp2
Nz0/MCskKn5TNzZyZFg9cTJSYXp+bmlnMyV+X3hWODVCQ2N7eUckXko4QzlCIzgyfCFnPHxXeUgq
VjtocjNWQwp6QnFZZFNYJERqWFF0cH40SXVTMEwyK0ZjWnUtIXN5ITNuVHYpI0BFbzB8UXtSclE5
e0thQT5acTslY0Vkd150VEwKejEqOWNtP2lJbmZSKzI0bkxZKTh6WmR3RSYxLUVMNWJAYXReUExA
JShTPDhWY0hMN1A5PyhWZngmbUh+IU1pbXt3CnomX0BteWVaRTg3aCZwNjRFSVJNc1BCOztpI3x4
JVp7WUwzJWZzcDZabH1RdFFlU31ONGVYKFBFbiYwKkY+IW1KXwp6KUd2TDlwUlBwbShBRndTRT9P
KldDemhwb19lSWZDMjVWdC1Na2s4I1M1R3lpS0B+Nm5NbF9GR2BvciEjQmhrfEwKelJDVF9vMTtr
ZkxjPkJ4ZkFkUVFmSngycUZtTTBCeHZNbGgrQkd0KEAqQ14kaj9rYDZZUEVnVX4yKjBAfEFGdlhC
Cnpebj1RZi1XQlopa05ndTI5S1NhPzApSEtFcXAmWiF1TkJ8QmR6XztSKilyM2dkamRwJkleXmFB
Z1Z4dWVhUFlYXgp6an1xOGFaXzFSd1puRz9EZ3g2KW1VKU9JJk1YMVhadkp4bCg3ZDA5ZUVoPFVQ
UU84fjw+ajRVPT8lQlh1PFRpVEgKemdVUGxXKy1GUnFtNjVYd0xUfVJgQE0jYyQ5LU9DdmBSNHRT
e1pONDZtU2JhZllwZyRzWk1UajM7aHBRRj9YTHF+CnpFVzdIU0tDJUFkKWVmSG48fSQtNGIqP2M5
RWUyM3xXdzk+Y0V+Zkw5Zi1QTTx2YTt2Zkc2UkhJYj1MM08tZm5UPQp6PnptbzlaRXJOZ0tEKTEh
KzAjU00reFNmPnYoQE9kcjlgQ3B7cTNuK2ZnekMoS3NYdzdnaHdoJUNORTY8NDl4a08Kek1+aUQq
XkBURUlwNlJRNnsycFBYMFUrRUg7bmUqeCYwak83WGA1fV5OOCN5ZDNheC1TUDI5LTBuTTNOKDdv
TlBJCnpreGcrSTB3I0NqSHsxJkpvV2VCanRxeStqY2d5cD5INmRQfFQrT3MqZTQrelhsQ0BgSyZ1
fW9gMGNqZWRkOyM/Vwp6U1F+dDEySndmVTNSJDtXTlBsTyZOfmZQd2hMJCpVeSRQYCkkaX0/KXcq
PTg9ME0zXkc1R1RzUjZQTEtzMEttaWoKemR2KC02Mm1tPDw/OFFKSndibnpyUTEyKUtJS1lCWnZt
Y2khakQ8Qk9ITldXWl4zLTVMcUZKX0xVVENNVG9aYDRsCnpzaVJ2VHlaYE0lekE+SXFjUFc0OEpz
Zj9PJU5ucG5leXFsMWlfanhIbT15bSg8eXI3ZmppSjMhZlRaMkUrKyFzZgp6JWdlMFFSaG5fKiha
Til1bG9FcjxDKF5jVHdRdmZNUjxyZXNUSWEoa0VSVmVOPGcldTxGMXBzMT5lb2RoXmt3a08KemxV
LT9BeWwxVDluYSRxJWhVUHJxPGNxM2kpR3RlMjwpISZtWVliYyRMNSsqTF9VPnlHN2deVT9eYD1G
cndvTXJTCnopI2h0dWxKR3x7KFJudHVVI2s7RTZ1OzwqUiMpfkcwQjtyZ3A1KnlaXmZ8VU9QLTxW
PCl5dzw1dW5kVEomSEFheAp6X0dnRiNZTGE8cFNNZjBfUVF4KUEwSDteWFlxWWp9TyYrbSZ5I2R1
QEBMKVNDdjtmQitafl9RTXFsc0MlVG83T2YKek1FJUhKV1BfVVdPfSF0PlVaXktlMDcwOzspYlRP
OUIrTl51UjB+PEdQTWkteWJUUDAtWVBYQnxRNXJDcnl3QDl4CnpUMmxsc3hyUmY2SmF0dW9eez9T
WWxKZVVPeClhPlVTX09CSGlnZnV9ayM4TyV4bTFJfCYxJVZJITUyQSNUMUchdAp6by0kRShkX3NL
LTJAYGJ4WG9tYEtNaXs/JWBITWQlKStieWZ7VV8hKUZFdkQ1SmJrYUg9N14kTiNDXmlVOVopM1EK
ejg9UVRgP2FIdypVT1dAa2NaVklEMFlAc3F7VFkxNVNsZUx0dUsoc3x3VlB5JnVLaUUlOWt5eSR1
ZmJMZFFlSGg9CnpSbUhHIXo4RkxXe2JZI3pWIzYhQ2V4NWo9RjJHUH5rYDh1ZGMwSX1OcWoyUFkh
P1d7KyNiYGJOcztecFNVOHVkVAp6UHdPQkhJQDtfQz0mK1Apc1RxQG5mRTVCMXNuUzluWGQpRV9U
ZjAxfT1TbEVRTiRsfG5lRTwofTApYDMqPG5iV3UKelJHUj48IUxFTnFHbk8tYUVaXkE0d2h6ZFhD
aUtgUCN1TjhpaU1fXkNZakhzck05LTJYcE55PXg1MzA9Yns8PEhNCnpjTEpMSD9Lb283QTJqKkZM
Zn5+cUpSPFlkOUlyaEtnKmtVI2QqOGlBY1NaTGx3PmRWYWhtNSt1TS1raCtOSmZlTgp6KVc2c0N7
WWloJmQzTDZZVmdSdDgrc2w9Z3w4V09QaEBMb2hgai1JUXl+PiFOMnxrdXt4ZUo9PGQoM2cwKDRj
WGAKekh7TCQ7aSNfJG5RaFo/e0BOTDRVUHErWmBXO01EcT04eVlTeDx8JlRZdmI9NjNlRGIxZDtP
P0Buakl7VGRWYEtWCnp6cEgjSjNreXdQc2QqZU0qTH4zI3Axa3Y1VSs3YVhFbEtaLTQlWlkxOVRx
VnwpITFGbURtX21EUCVERU1Vcyptagp6RFVnIUgkMyFLVj13UWpWeFdUNWYqVkdAblgoQlhHPzMy
Z3ZUZypXbD55OGxyPipJaVdrYkUzalM0UlFteUEjQyMKelQrI3JEUjNiP0xkMmxyRSl6QEslUlBm
TyZFYWpCKm5zYF9+eXAwJm1AcH1pflh1Ty04PEx4WXYhe2ooMm1jaCZzCnpldCZ+OWRzUGBVYmsq
azRndDtyY3gkMjRNeiMoTSFmOzJjN1FwNFk7c0hwV0w5LWxKd0RvKnE5Vj8qMUh4fm4pYgp6MmQk
NEA3blNWZmh9QGBXZWI+R29WWiFCTDtNXm5aJEUzKTFhI3tOKns1Rl9leiVYWj4zPTZselZ8TnQq
eSY1JX4KejtzVj5mQ2IjO31gcz96ent0MUk2VnFRaXplIU05flJVQXMoJFB4TEszN2tYWk5mM2lY
JlJpPS00JTVwdz42Z0gkCnotNzxHT2ZfdDN9bHpBSnNzb2cjWF9RUT8jP0lPKHA2I3p4Izt2QSE+
VnI7Xj5hV3FicFpYNlg0Qn48YkFVe0JIIQp6ZSNhKzcqV1ZEaXRTU1ZJTEN8NjYmfGtTViNJPkN9
PzF8PDFmZTIpR15pZVFXc0hhSypicUgzTnY5bzVNZiEwMEEKejl7cFlFTHt1amlWVXpDTSZGaGd8
TmxxKFdldGdyUHNUUXNZQTVtYjlvWGUkKSZNPkN8cUJtT2w/KCp9VCUlQmxRCnpraXc9PFlmNEoj
ZHtNKypALU9FUHRkSEItNzVUbkhsWTNVVUs0JTxlWEl1TTcqSnApfG9BN2YqT1BHNkg7WTklcwp6
eiQ1WUlKWjtDbGxTfTViMjheOTZKcnFSaVlkVjUqZ09XTDNQQl88ZF99fmZEJFE2fVkpRVg7M0kq
Z2pNeVZqJnkKekxOIzMldkF5Nkw/VyVTS3RLdj44X2AkdFI4R2R1Xj1VcUdVWl5nJCNMPzdRVG9s
OD9ZTFI2Q3IoKlUlbDMydSs0CnpAKFBTYFVvYUtpOFk/RURhSUpfcV9HM1g7Yz1yUWh3e093TFh2
cTFGTzlQd21veTtta1A2OXhGQWVqPVQpJnRsSgp6YmZDMTVlbWUzcDA1V21zTEFYcDh0TXkoYzNi
KWNEMEtwVW9zfSFOSzlAekRPJTlLcnN5WUFpUmRecmQ1QytWKjAKelBFd1ZzNlZ7TjFRZ18oKFhu
MHJZeVZTa3c3bF4wUk88YHBiPTdVeWY5bFBwQUMhLVB9TWJaYEdBVnkmOCtve3pKCnpMOzRxZUA3
VkZZTWZnTkk1RTAkQDQoQ0N8SmtvSkRIdWt3U04tZER3RmV+PXdfck94dSpJQVghLS1HcURFMitC
VAp6N21aWTRMTVQqYz8lUGNLRmFXPWk3SiRkJDxqS3k/Z3h4YHd0dGNXUj15JTxuP0xGajhSMFdz
T3JGWSY2P093QUoKej5hRWIqeklncGwtcTQzOHdBWCUyaXo9V0ctJGlYfW4pem1RQHI0JmIrY2ZS
aU1rQSEzclpXM3lzfitXaF5ncHoyCnpBenV9bnF5ajQmIVhgM2ttfTBqNUU7MTVRRS1IWClQJU8+
eSM/NlZUXz5MOzMoKCtJSUZsdEspTUxQYUBVe016TAp6bEBqMWlBeWpzVjBLVVFkSmhLYDMlQiYo
V29WdiVLR1JJSzRxKXFBV1pwQ0h+NXUrJldLQ0p2OGF8IVAzI3tDe0QKejZoOEZjNTNrOUUzJn0k
UElUYFFvQXxXKFNGYk1sWjQoWVp2JilFZmpwJm1QWEU+RSRZez9FfXgpbUwlTUh9SVJeCnpISGZg
KC1fSEd0IVd7dzclOEIrcjNEbHI3OWZlbiNSTX1ERG4tNyNgQHxzbFJgRlN9VHgrYUM2OEp0MTZs
IVRGbgp6aFpJfT0tOUtuPHpwcnx2JDxfQmhoYXtnfmZvfTkxO3JUaUE8P0c8UDhlaX5BO254Uz9v
U35USm1kOFEtNTxjRWgKens0IVBaR1d6RTZ0ZypYdUdtV0lQRXRFSzBRUD5TI0R6ZnFOUTdDKlBr
QmJefFg5Y0IjWmpWWnRlWkQkKmZpeDFVCnpqNWBGJnpQeXU5T0FCTmBIfGwqfFd8NFZmSyt4TFpW
I3xiKkc8WXBGPTBMZz9DVihBU2h4aHBGZTBNWjslcnxsVQp6cnkhY2pFcDdNMkowXnV0JW5+Smxu
ZEJ6OzUrU01UUygjeVJMMkg+MWo3PENaWkNpR096dEZzSDUqWXAzWX5OYFYKenspNFk+cm9QY3U8
WFY3bUdoZ3s2aXo0Qnw5dCtDSHAqUUpIRXNyb2VhWll1bEdOSVpEbU5gQUEyUj90Rlc4T08jCnpR
UyRnfVl3KXw5VFp7Z0R7LT9sVjZiM0l3Zm5VSndFMSRqPj9tRzRMNFg7bE5gZTkmMEUhWWlJPkVO
aGBnNSsxOAp6KlBGV3VWdE8ld0gtNjdVelZmRWUwcTlWVEkxNkFjJSpZKVRhTHV6TWEhZz87ZEtk
I1Fsdjh3fTs7OX5naSgja3sKemprfnBFbz19SGpBVGZ+ZWRrPUJhcjV0bnNfKlk2TE5NeTItWnA3
MztvLTY2K3U7YXhLbXw/WVoxblU+Q2hEaTNOCnpmY180bXEhO1MoNStHSzFvTS1sOVBqKGl7Tjd3
byVNMitsTjArOXVoJEBrPC1uOzhSODBScmZAQGZ8cFA7bklFYwp6VV4pMWx0fCtqVVNxZGwrcV84
R1EjYlhia084ZUFZT0teMlVkQl9IVF9CJT1+N09KQnI5JmsrSj8xQl9NM2xsdHgKeiFuZihNdTMz
VSVTPlE4d1l0cGlJY31oR1RWQ19ybkFwNXdzR0slfjU4dmNTJmhiRW9HcCZ+TGJIal5TYW1haF4l
Cno9XlV1Z1hfZFNraDRUfHclaGNYO0RmZTcrPEQ2Xk9BcSVOfTAzI1AzWktPTW5gVTkteUFxV0pn
S3EwNUpCQjZPMgp6cmtfbUooYmVZWWZuZUlCT1hNbXxRbFZheUY/alU7bSVwXnhFc1o4b294e3FO
P3ZRZVh1bm9TRl9IK09NIXQ1cHgKekY1YGswMmcjaDhRSG9uJVR6ZHRAKUYwWDVrMW97WEJTMkNJ
OzNWcW1pQlcmT3chKUdgeHV0MStqRWQoZkxTRzI9CnpPdndrUXAtfVBhPXcxZW5VZT48WSozLV9Y
KkI9dkU1biZDdm41RFUpJi0hR087YllpdUpLRHs2ZnMlUFd7TU5aKwp6JkZMWGY3Z25hNUZRaUxA
RjNEUTNROyY5fnBPbXtZNEpOTlo7TVJ9PjJNSkdVcHp4Jm5CI0Nja3QkPCF5Z1BXVlIKendJIShp
TWdSOGl0VCo0ZCM2Zkh6ZGBoRFheKCs5cD8wQm5TXkNDMTsmJjY+MDthJnpLWGUzcmA5RVRkNShG
JilhCnpWakcjPXVVZjdqMig3PW0yY3xuVXtKYHdqRF8lIUhreiZ5SipfRzZLJDt8UGp6MkVCYCFA
UUZTOF5wdUFAK3syUQp6SlYoeTlCMzl5bmVxQDNPPyNENjFAfEIoPk5FYnBhXl82U2B0aSNre15z
JE5rMCN1PE1HWGNfciQ3em9Mc0N3M3wKekMjeVJnRGFNe1dae0RCS2Q7RTUkeW80KjI5YWxqbG1G
eFo7S0QqQ2FLUi18PjVpazVeOzdFOW1OKlB3ZXpucnh2CnpHI3ZVMVFeKCl+YkFneVJ5SSlHcnJO
K0tQRWdhOGNmKncrenhAY01MdFBFTE1nLVRxTU1QT255THA2P2RKJm9wbwp6Y1c4aFc7Mio8K3FD
O0RpS2ZxYGtyaiF5I15HSStXdVdRZFJpT08pTVlOJlo2Rng/I0ZMRW9sJXY4MGI1MChjKnUKenEr
PUlgbVNAWmd6cG07Oz8+TWhQLUYrPHtBVnVjfjJLPHlrWXlBJFl7X3kja0MqZT16aXxELXhLNW4p
ZDJncTdyCnpOJXdzYjYpSWhCaDQ9TypIQjZDQjMyczklZC1NbypFKFQzYzA9cV9+akdVbFR3PHRt
Nl58eVF9NCM7WCFBVkJ1Owp6UTV4SGR3aE1nTmh3QCZ3YSNqMyk3PENHPUo4YnQ0WSt+YUw4IXBR
KDFgakA4eHNEZHkkPUdIQ3dGKThWJnE7U0YKejRzc0l7UmVVcih1ZUQjOCt7enlIK01oVUwtMD9A
MElXZjRlJVgjUk8jST9oPW5jQzA3M1Y/KH1yPHJMdihNc2pHCnolRXVKIzRFMmYoVSpuOytEM098
VHIkNVJ7XjlwaDU0IXIyUmIkeGktcTJsbl5Qb0FxWWo1JEJAYCMtdUtGKE9wbAp6WH43eDJyZmNh
ZDk+M2cqO3NnWitBdXxUQTA+cmlVe20+T0V5OylNYDA9K3xDWn52JE97QkNiJHtNV3RyYylEKlcK
ejltYnFjYm9aMDNONGpjTXtsbUVCdzllP3o1PUQ4fGk/RT1LMl43SVA4JGt1U3dkJX5sTCFsPUZg
fEElNF55Ym1rCnpydHJpI3shVkBoIXFsP2J5QWVJTmB3KHIlWCNsaGE1QWw0amkoUHVwbk9JTllF
XkgofjV3UDxfYWw2eHBPVjNBXwp6OStfOVFYPlhgb2k2VFAzU0M5N1FjR3Vwbyg7R1ZOOW4rKWoh
PUY+ekRAfUJteDFAIT9EYHZfVCkpQW1jKm1GQWMKeiZhVV5CezgyKzg3PXMqZDs2N201SkVYbCNP
bH4hSiRRRjQ9MmFTNTBnRFh5TjUzaD19TkRaM01mNUlGejgzUXxpCnotU2RDWil8ZloyUkpERzB2
Mjc7P2xZSXNQKnc0JjtLZmhMTzhSXnN5enVJNHVSd15DfHtQQ3dNXjx+WXQoaEB1Uwp6TEQ1Km0q
az18e1UkUFhTeHx5b0R1e3VtYENDVXV6ZUhwJVYqLV5Ycjw2SjhEPnxEcypgfmJWVHFOJjQwbksy
WVIKektffHw4ZzJHdz9sbVBvckd4Uk4ze0h+c0V4dzUqKV5AZiszUWlkNnhGZnE/dD5nckQwXyNC
JW50IXc8V2Y3Q3JMCno8bmhHcDteN0NOQEhxaVdNRFFgJjlHY0RlXjFIZHxMdyVsKGtQJGJYNyUq
PztpNV49JnpxKUAoKSNKI3diQEs5dAp6JmdAQXRkd1VKJFYkKnVxeXZaY0d1ej4oMiE9NF5+ZSsr
ZC1VLWlEJGpoPGZ7K0chRnZPLW4oJUg9Qz4zK2NlYXgKenJyRm1lU0g2NVl4YThLRzJOelpVRy0r
VjNTd2UqITFuNEckWkE8JVV2Q3JPYnhXND85S1M+Z0swdi0jRlpUJCQxCnplY3V4R2ZnSVd6T302
ayhuYzNYam4wd00qeXd+dmYkJX0hSHRMeDFWVzw1Nl9PU3dJMntjfVE7dmFwaT8tR1pIRwp6TW9a
WHU+c1BaY0R9O1NzXiZMXjhLPXA0O0VBME18eSl6bFdofHYpK1B5SmtfOEA9RD8+YVQ4fDlPeEBl
OV8rKGIKeitxS2VyPktiT2JFdT5BR21BKz52KUhfYXFHVDsmUXg+ciN8QUB8dGxaMmErfkVeaj1G
ZUdHeT1aNlJrZyt7ZTRnCnpNPldyIWMlMEt0QSkpdWxvQUtQNF5DPWRXQF8lWiRgYGFNZy1kSXNM
WTdyaiVKfjB3S3FOLXxNU0xyKmgjJWdTJgp6ViV8fnZua2BoNG1jN01nQTgyS2xfd2ZhY0ZRQTQ4
enQ3MGsxXjs+Pz43O1cqa2F3Xm0tTUdgY1l8fllWOFhIRGkKektAUGcqQDZ2YDJ3dzM+IVFzdjFG
UGxDPihjSWhnOXRGPHdteX1wPlMkR3RrJjtgVFAkXz9SPkhKQzxpWjl0U3Y5CnpOaHgpUl5xfkpg
elRkKlcoZCUxcGlLdSR0UlB8WSpBKSE9bT1GXlBTTEdIRlQ3M1dTWGJJdVF7ST4zTHBLI2QlMQp6
UWspbSQyQHVMTzE9aH5TKWRGeUpnI31wI1VFTSo4RGchclltcDh1aHojVGhCQWp3Qn1ubSQ8cWU1
ZFhzaXwyQiUKelhLblFObkljUWNjTm1KZE44PHhoTXQ+XzllR0dXfFdkaG9LazhJdWMxZ0hTOWAo
ZlQ0b25jRCRKcDZVVSpZPyR3CnpHYDVzZ1d2YVNPJH1qXiY+dnNjaSRZaHVwJTNlMWRsQHkpKDRQ
ejQwQUdkWklhRW0/c0BSWlNxQCNOUWR5PDQ7Wgp6bSQ+YG8kSXE4Yl4kWDxeTUJVZzwwdzNVU3Yl
JGV5N3IxTlBmWEopc1V1QV45RGE1IV50KndRekF0RVFONzNQUW4KenA4MTd1UkhjVEBmIWQ3JlVh
M2QlUyFEPjNZLU5lcT99cklEcERSPV5DVmhWeGVkVHd8VUEwUkV5QUBeeyp2RTlqCnpAMkN3YXxE
O2FqKEBvTVZMdEV4bTxeZW5Gcm8+OyZjandIekpkVjFZIXV5aU8kVGh6TmVSO3JUbm9DdVBmSUc1
dwp6NmRCM1hjWF9oP0FWcGRZXjxJeWV4K3UkWSg1SFlYJE9CSk0rKm9ZfEBLfWtSMGxAMW1ydCVt
eDFSSlpsMTkld0cKekgyfk9GYkI5UGpEQ3xUSUF7UT9YXz0wYnlNLWxmVUleRFgzMytUNTFXWHtj
JiNtPjNOWE0pbGkobyVkKzlQbHNICnp2bWAoYkBWSyNVJGZnVkAqWV50Tmg5NWdKazZ1VSpwWWBw
SGVzb1V3aX5PKCNWa35WS0M5PShAc2pGUjhBOUs2RAp6Jlo0WV5xdlJkcUNRfEc4ekx2e2tFJlIh
Y1pAJmQlT1ozWDlWUU4qK3NMIShUR3J6ajhmbm43JkNkSk1fNCpIZkUKej8rO08pNTd2K2JKWHA4
SSNjKV9FUlFPSXcyP31KZHpQNyEyTE9YQX1uMSQpJUlrWE9QclVRPStVamAoM2FtR3QkCnpKMytE
YUVVcDtBVChFejxkQVUpemFMdik/dTRKTU9KNWF1YUJ+RTNhdmN7XkkwWmdqQVJzQ3ByTFAreUgm
cX0/UQp6eCkqKGF2PFd9PFJzQWV8MUE1ejUxSU1YIzBZTVB3bWNwIWxiZzhwfjQ4VWNMUXdKPXBl
QiQ+X2lhe25sP1Q0VTIKemNeUWM0aiN6PndUR3hQQllmSTFyYDFmKmREM0RDYTU8cDF0ME14OERO
KSFtY3RYeExCdSZtPCZmZClXUFpxUnlUCnoqISVwZDFudHc9cXh8SjhfO047c3VpXjwlQU1BU1df
PV55eW5yaGI4di15RDteb3Y3PjxvYFZBSzFOKVIoJVo8Sgp6YzdNJElJRygmY0RMJUQyb0B6SkJh
YEdhYDh8e0E0VipzWGVZVHZ1VTEyPHFJbChLdGFeNnslMS17VjZ0eG9ENDkKelg/V3k3VStSPlYr
Z0JNYWFpWnshM1krYS0qLVlmdiElSkBOeTZIMG02aWdTZipXNFdlbVdISXQkYzNFeUl9V3ZACno1
TzxAQkQyRjJeRyspLTdsWHd2biM5R15TSkJeK3khcCR6ZG4+Y3BkKz0wNzt5KXRhaFdgcXhKKUxN
bDdWI2BgUQp6e3FOPk0zMXFjTTI4a1c8UHJ5QlZYSktGS0VuP2RXPUoxa0tWYi1EcG52UXxya1FF
WSlmZHZvazd9I0l9NVFPYz8KemVoNEZFb09HWiVsTWxmY2t3ZUdrbiNHLUNedVMlNGFZfmp0Q2dU
OGV1JX5xbnY0bFFxbnhJMFEqQCMrdW1ARXZ8CnotUE01O3RvWF49Y21nbzBpa3RnYEg1KjJwbTU2
eFFHWWJQRnZhS2xybnVTeyhXP3k+cS1tc3d8UShHJnc4fmtNUAp6Q2sley0/P3VDRjhHMkwqJT5X
Vl9IIzlwYllldW9NSX1UMHA4e0RHOUh7TjJWKHN9ZW9QRVA4aW56a3VGb3pjRGMKejFKemRqJmJm
SkJIPGdQUigle3BaNEpKTSlfaXRNJEVILSpJPlM7SzNifj1yeChHTWIwdHFsRU9TPHhIdE9uN1co
CnozSjIxR0UmbDNYOWt7YVJyPmFpR0peOzlxZWlzIVBJKFI+K3cxbGdhMiQkdzhQeT9La3FqPk4r
XkRuPUNMJHFiYAp6NmckUEhPUlMtXnVpV3ZkViMhVz0qe1cwMkBUZUJfaUBLa2pgJVcyYGtOOVll
RjNvd3dFRHQ/fWZQMkcrPD4+bWgKektIXjFzKTsrciFEJis/Zi1ZPVU3MzN+Z3RmYzF+OTJAQDNQ
Q0orYHtaLWFadiF6ZUlXPHI7fkk5dylBdTl6eElgCnpLMVJDSjZ9Pk5sb1FXZFcxdilnMjRNPVVR
KXo7eERpTWVpUWtkP2dpeEZZRXgzTCNKJjBvc0ZJT14qTmUlTmUoKQp6aClMWSRYUz1zS1RPKlM0
SX1fV2BEJilTRk9BR19SKzJzckFLRVVSeXV8ZHd7MFpiQlNJTHlpKHIwMVBUNn5vT1gKekAjTGhN
X1h+RSRiU3NmcVcrMClycHRSd340eypfPjQlZGkjcj1zaWJiZThCVj1lUTZzS0U8TXhjdE4tS3h3
SXRMCnpRKjhQaiY1bHdPQ0o+LSlqblNZOTJOeyRQc3ZrQ2pyI19SPDFvYi0qQCsyPFc+dW1DSHlI
bWRab0NHQWBoSD9PVQp6eVdieUdUQncoZXhGOWghbVA9OEYlNkwocm9DY2hZO3I7UkRUaSsqPzBj
Rn04Y151Pyt4aHUzXlVFS2NsIzchQT0KelVvKEFpTSpTcTlDb3xtLTtGWnlxIXIzckg9KSh9bUUj
WEZ0byFxIz9URmp1OWdnQlZFQnpQZylCPSE2VXIjVjU9CnpUfG56Zikrc3pWVW5jcHM/SmNVdTh+
OEEle1E1JmMmTXBCbm9yRl5kajRwPXwyIyptXjlCYGhvP2FOZVUzdjc+Vwp6dGw3aTZeZzVofV52
KHI3ZVk4dzxIYGxtZDZSfCt1UGZrYSg5KUZKX3d6KUhvVGxORCstUW53TTYtNldzeW40dEEKeil3
fEsyOHtlT3VmMTNgajhZQ0pwMTdkJldlJnU/e1E4NCpePUlYK3taMkxPZkg/aGd9T3hrajl0byhC
JmMhVi1JCnp7QiZoRnNJaW4+WnFXOEBicW9LNit4TWVHKVRvYTU7PHhoVjVaTHQkZHZkRlZVVFFQ
O0YmMmQtJTlOdk1meFkmKAp6R2JFTWkyVG1vMU9GaG9JNyUldzhQYGtVfWswYWspJEV3Ql43PUNH
azhERnNWR3hTQ2wpTnl1aVJOUlZfMlJYa0MKelpWMylOP1p7NkpVP3F5ZHswcXBgKWM4R2B6VlZJ
aD8xVSkjayRaSD1aVjsydkA0cGhIMyptWSY/Qz5BVz9LVHVICnpmdkFNNlRrR1FSRTM0Q3AyVVhj
MEh7PjhpZlIoQlBnX3w3aU5SfnhUQmYoTDZqYCYkWExPOG8zMFZNPExzTW0kSwp6LUUkPU4jODR8
cis4JndFcXN2JGtPSXQmeVQreWRPKVlrN089NGhDfDtKaVo9aW0hdzV5ZiNkZDR3IXFFYWl0YkAK
ekdKST1INCg9ZGdEWEBxT2FgNjFYR31BZzQ2dlRzJE48R3Vwc2B+NVBxez03LXQpIT4lQlcpPE1J
fGFNMiVudmU2CnppSyNzcFZuXzN2antaRXVXbkFUNjYwK1E2KDAtcUNKe3woRiQ3U2M/aW0zKVdq
ZjVZcUdASnV2ZF89QClhLTktKAp6OUZ8PGx4amNKRGBXWjU4dEw7Q2hMKHVUe3twWUpfLWZIY2tO
NHNmPTRGZVNZUCo9cF5JZ1U7YT44YitVXmR9fkIKejlkRHpvYVk0azRhQXt6Wj87fU1AbDtefkRZ
Rm5ORWJVcURTTTNIT3VAJmszaEVqS1MldX4+NGxsTDRmfGowaD50Cnp5TUlLO1opOVVlN3o2KUts
KkFeMypIJCpTQDBkV09zfjg7cCFBVFZBODBATShgPktrOT05IVREayZ7O14oQntuVgp6Xz44WCQ1
blkmJlR7bkV9QSVXdD81ZjxGYEdQRnY7Rnw5e08zWUd7d2NIUWdjZEFoPyY1P0V4dDR2PX5rK2pH
NmAKekJfYExGKy1uVHAtSChYR0p+Y21YKlZ+Nnl1cHVnfXh1T0FPVjAxb0RRRm5gTzFvZj8rMGsy
P0VkcV9oQjteWUxECnpVeDtnWm1CVC10Q3B8N05yS2F8KUZUWSl9QEFKTD4mZ3ZxJGJHbGM5Q1BU
cGQwVUQpcjBxQVRAJXktWjIwSSMmKAp6VXMrT1dWe05GJDJ9WEV6JnJOSzhCNDgoWmxeb0srTGpn
WUtMczwwc2xDSSE5STN8ZShWKk92XkdAZGlPVzc/YGsKel9CUEg1LWdDJnRYbz8obzg/eWRSYksp
ZGpIYjRsaHZ3ZVhUNDAzPXZaVjB+aWRxRVM5ODJETnE9IW88VjVhREhKCnozTDNhUGtTI01jdW9R
SVBKb3wpX0xQN3ZwdlFoKztCYj4pMF85fDd8bE11OEk8K3ZaKDwqJWYpKyYqP1UxfU8rTAp6MTt8
fGopQTV0Wk4zTXwtKzRtJVBMS0wyNWMhV1oxYngjaVFXRXxBSmc2d2Uzcms8KEoxMEZac08kaHNZ
bDQrcnEKeiNKaz5TcD8tR0hDayQ1TFUzUWNjREw/QkQhbDtTJTs/UXVrU1VHP2J2NCM+SlBJN2BI
MnxtKlhSMUpmVmQxPHtUCno9RTt7bEhtZTtldj8rZlRKaUo4MCpxY3ktK0woK301IyNjM0p3ZkxT
Ym9AUChqPXNBeDV5a0c9YGJGcl4mdChzOwp6YEgreitle248PmFiSWwlLVFZWX5jZHRBdj1WVWQy
N2EhYHpSO0kpNFZ3c25Ca0t6T0clZSZGeFkkPiZ7Ty1JNF4KekhkYTd2dClLPC0+Oyh0a2YtdDZk
STArJEUwaStmazM+ZXJMKkN7fmA/ZWg1eUQyYzVaSFE4RDBBaU4mfE9OTXw3CnpoSlNDX3ljK3Vj
ZlVxV1hjVHd2MSFmUUstdGhYd0o2ckRXMHtSZ0hIPHZ1SnAzKGwqe2RjPGVTQ0lzbXBSMF4rVgp6
PT9oXmVTNCM/SXVsbD5sKGl6PWFKPjNLcVhIIWNZUjt9ayp2NWY1Nm5kKV83Jj1hRkF6VT8/KEJS
NkF5YktBR3gKemtaKilqK2JRYjgyUXdTOFhgUF5CJSVhKHhlQzV2YCFBfnRpQT1MQW15YDRZRlpL
cW5JejY5fG8/dU15fk41PF5hCnpyTSRubXheYmY4IWA1NyZZU0lHIVYlWEhaYzdBVEo9KkR5OG45
b258MkhqXkdyJHhqR3hRX0FhRH5UOGUjPnRRKQp6ODNwS1ArZ0UpQEwxbUtAY289T0dVO2dnVWwp
NnBBSCRUWFJRV2padGA8IVFEUUlUNHJQZUFoKDVNU3kjZn0hQWsKekR0Rm1qMWhWRDx3ckhAQHE7
eEFAM1BCKCgpPlEybTJpI31CTEJZeG01WS1peGp3dEQmMyNWUERIYGFMckN0fGk9Cno+Jk5MfjBa
YHNOYEVhU2FEUXxmdmF5UmFne0t4WishM0ZsR1VZZjE8c2AjKWBmeDxUZ1IySit4UTUrO3h6blR9
dAp6YkxzNXZYZm4lTllmfjhqZWchfCg3ND9xVkUlfWIhbjRhRSQ+WHYrc0pUajYwSjBqP3dXdUhr
T1MjOzMkJV8lb3cKemIlVShHKSFhaW1hREluM1haZE5yJHw5eHg4akx2a2VUZ0dvRn1HKiUmZmBo
RUtlSDU4eUs1fUhReCNATUNwUilpCnopKVduVzZ1RTkjU0cpaCp5NEwyUk0qSXJ6ZnQtY1BnJmxj
JTZIPHYoODVmLTVfakoyQiQtYEY5RT9UQEJkYn4oSgp6YUV4Q1cjI20xZHleVU1HaiNoY1g/WnQx
TzwlP2Z9NkBCcn0pUUY/dWR6biFQT2JzNUZ6alU8UkJDa1I8VUREO3oKeipVUCREZ0tARnFwU1E3
V0s2TG1+PVJZa0tOeHcwX3QmalVjKmRvJk0wQmheKkJGand0Pmo4QEFgK3NKfEd6WTYyCnpYSXxS
Ny19e0soT1lhKFc8fHdael5mYDhXT20lJktZVmBiPnYrKHV0bElgej4kKDRRa08ldD05PiEwdTYl
ZGZ8RAp6e0xyS1d0Tl5+T25+c3h2SFgtd2I9ZC1UPkkyJjVsZnpBLWclR3VQaF9+QyNDKyE4ZjRg
K3dSQFJIVCo9KldQTnoKel5zd0s3RWxPTEBpX1lUXmFkYl81Pm02YitxaG1rVTU+MDEpamM2R1l4
cGQwfSFtXjRlMH59PWVaRHprTyN0SU9oCnpicSlMfiR1PXEwMD5xOH1vZVd3Yj4jeWRycD58aVNC
bXdEdTFeN0hkVT9MdVBUcFRCJCRgR2RrRntSQ3VqSjlSYAp6Oz9+VTRfc3s0PThhaTxIP3EoOysy
KVB8LWJgeChfRTc3MXs5Xnk5dGYpK3lhXk0mLV5CQn5wNFBuPWc8Yis/bGQKel5sXjUhRjRjUTsj
UWhhVEkkSUhoZTB+S0lXWHc5XyUrR0o+bjZGNTxIXncmZiNUaFc8eSZJNilgZ2o1Z3dxUVMyCnps
X0ViVyZkQGNEZTNjPFR4d2tpODVEIzh9KGcyQDduKzJwamoqYiM+Q2Q5cz04UlhHKztTeTd0YyNV
KytfRW0ySwp6Pjs0ISRVbUhiaE80OCVVUzd8fEZRZj9CJHszV0U9S0hHJW1DRzN1ZzE+Y3hESlI2
ZV89RkBna3lgeF83T2ZNK0YKemowXy1uWjR9XnErc0gkRT9xd1R7SkhlSGwrT3JeIT5vdzkoI1Ez
Snd2ezNKLWJoZDVvNip0Jl40b1lZM0FseTQoCnooTitQO1RaMndyMWF0OEFQcm1yQktTRGNLc0x2
eCZwbm9idGZyNmRfNEBCSHJadmdDTDxOISZSZkZpLUktKUN5Nwp6V0lvJFZ4RzdvRER5RGFQPnBv
QzY/ZjshQmo9bUBUMGQ9bz9KeW0/QFRZRlZoM3pNUz80WVlAJCgoVl9TR3puP1kKejVqKH1qfEJ+
T05gdnMxTllXJGZXVU54V3JWbU9KJWFBWTckVUxyUFBmOz18JmJqRT5jeE4hZEZfSStvMGBpYylQ
CnpiKzFsJjwzc0IyR0dUZjhVdTBndmRnNTRoM3hPYmpNI2g0Mj1zKz43SS1QRFU7Z3ZIaXVWZDkp
KCZ+aEdKOENFaAp6NXxHV2dLa3dlNzdSMm5FVm5hV0B7Z3hYQXBWOW5ZaTBuZlc7T3B2MjFPXjBj
Wj02TThjVyU8YjVFMSRudkZaZVcKejhvYyFVSFV1Qlk1SH4pfnZVNGE9YXZLSUIlPHViI05ZbEVJ
RUFUQzg8cGtEeU9oQWYoZXEmRCotejVjSkU9JShyCnpjLTBfYz5TbCF7dmF5ciQ4SF5xd2BWfShl
MHc/ekJvJGQ0aFRzfm5MSWREb18hNXR3KjFpPk1NYE9Qa2RIRjRTdwp6NHQ9eygtS1IqS20tQ01H
NlkrbDRwMSRgbzZhRTlRMDN6SmplR3E2QzB7bjZqTF57JE4xRilCUkI1X144KzhHez0KeiE7bzAx
cUcjUmhZYikwaz8qRjdeXkhmMShSX3dZLVM0Q0c2Skt6PmRpPm1rU1JhS0sjbXR7K1FLIWwzZWlL
KENCCnoqcypHaGxuQEhlaFdwSVNjJGwhMVU4LWRFeVorN1U3dlYtdUclY1Y2PEZ+YyhDZUpRKlF6
TSUtMitIZWlqNzcwYQp6czZUI29SdFZxPnk8ODYyRm4/ajVBXlklSlF+cmBaTSpEZD1afFR7SXZy
Tnd+bWhacGchN1lFUWt5ezM3PiRTNngKemQrZkZ5ZEFWaDNjWjNoSUs9RnZDYWo2ITAweFRoRHdk
e2NKamxPRCokXi02cmoxWmBmQSt2fnBgUEUyRFAmJVheCnpSWmY8S0lWek5jNXRVditMZ1o/U3BB
PFFlNj5PMU9qZmZDPGpSNz9QNTBubjk8KjEqcSZnWXFAZWYqNkwrLV9zLQp6V3tUOWhvRiV3KGZs
ZmxZQnVXal9icCg2RjR3WElgckBxeWdLZERrcihxVnMqYEhvV1I8aWlXfXI2VGM8XmJ1UmQKenNT
bmV+RCl0ejdOUjh0QG8zSkZmY3RwdD5TRF5TeTNBU0smND07TGtFc1RwdTg3ejFgZXNUWClDY1NW
UzdkRCheCnoyY0ZBK2xwcjI1ZDNHQilnbjBRdDREcHhmeW9gN19ZUn5AR3JVPXwjSmZ4VDh0bV5k
fmIoazwyNXJrZU5JfTJnYQp6aTVkeUlRNEB8LWZPcU0mbEBqRyQydVNTaXhBcExSb2NoeyMqPlRx
b1hhKCslbW9GZnFLRkdINntrcCVnTTFpfDYKeitVPGdINEs8NmhyY2RtO2B4ZH1EZFM/XmlNMVRh
aEJePzJFcS11eW4lTjRAfmg+fHtRVShzcHNwV2lLckMzRCE3CnpvJUxuJiFmblUlWGN9SUJBMz5+
MEg2PDQ2REFXQG5wZlBZPiswNWc8aXxeZXRnYj5JU3AwI2x2IWt1KFd6OVZuWQp6NlVyKWhJJjVu
PmxUUyUhYVhXcGlAZCQpJUIyMyhpeUJjend8MVFTazxpbSVndnJxflJDRE1WOHlDVWMzT2pAUmUK
ekdzRFQmVklFO3FTQzZXRmBmJWxpUi1zRnsjQkVgWmcpbFphP1ElbzY5fW5tXzR7Y3ZRZU5oJUp5
PWpObyg7VG4lCnomUSY3NTV8dT9LSHomcU1YK3hmfmtZYmhnaFVrR1Qoe19hdDR7aHNxPmxMYm8j
LTl+XiRsQ3FXdylkUEtjdHM1Kgp6enUzRTB0Zj01ZHt1NlQtdFc1ODBEYVAhNUhiQTduSDgkUVJj
V0FNXlc4PDh+MjR5TX1RPitOJFNELSE7aHg4SzIKei1ISWBLamFuJSFLdnRzb0F0Z1kleCNOIWoz
UF9sKXo3cSlSZ3ojO2RJQ2NeQHNFK2VfYXUmbks3bVVfQWEzdyRzCnp6PEdfTGtDIWo5SzNoQjU3
PEpGdEdmR35zZk0jPjNFe01lfnshaGowPT1kK094X2Y7LUp+NyFfbGN6K25MXzdDcQp6QT5tb3dx
MHxrOGNRPmc1JipXO3tJRGdtT05DSWdMUG12PU07aUI+aSNjakkjLUE4PExAeUc/VzdqUUhvdC1B
X0QKem09RmVwTEp6QDBiX0g5aCFFI19gcXhUclluJm9yWmE3UU05KTJ3bnBrPm9QUSlOMj1CelNv
JkAtVnRFT1VBRCZVCnprVCszI1VYQm9UaGtxfDA9b2NqR0YhMF88aGx+V1p3MXBPP0JCajlpVnBH
Pm81RVFyUyp0WEF+JSo3NW1OOSYoRgp6WVhFNypDVmB7VzErb3ZuWW16T0Z6dW5kMDFoOSlYbjU+
fG4tI1h2OzAmJmhwS0Y4U2cweFMyK1BhdWVhWU1JRUcKekM8XjRgO19ePk8/M3UpKEpxUEZsKm1t
dE0+P2w9LWxNa1hYM0tQKUVAYzh3Rloma2BxYVhWOTFyREtOe3l1KGNGCno2KCY1eyRWZWR8bHd5
TFdkOzErYylaUkh4OyV+LVI+TCluUGpiWk8qZF5eWW1XYEhffihvfmBBTHc0c2dKeEp+Ywp6S0tQ
aHFUMkZpaXtrT0Y7bU9jb2t3fD51VXVlNkRFPVBqMyFFYGI0ai1ib1Uxe1BmI28rfXdKYnlWQiEj
aVghWj8KelgyRitGOTxOOVNZcEgxU3hDIztDOFVgRFJ0JiNDNi1DTyhTdFJ+O2VYckRrbjNPQmo4
PyYlXzFQcyErJkptSmtUCnpwUmFEVzF0dSQxYGg1WHRaMD5sOTV6JnBfVEVEUFEwcSk4TiVBMjFK
P25UejNQYWg/QGZDPn1eVGxpY1VFQ2BSPQp6QHBifUlwdFlQVk9MPTw9cChMM2J4YDtXSDg8c2J3
QF5QbSZiVFdUYjQ2eE0wX0hQZXk3QFluYm1KN3leeSZsMkgKejZwcj8jKyUrI1RNIVhpSFphSkxW
Skt+KDRVPldlcGJzdz9vXnUyNz97aSF8XypkQDxjJm5DXipxbCZ7I3pLJT0hCnphUHdHIVNkfWN4
VlJqVGliWWR8emR8X1RXYzZ9dU5lUzU8RSVVNzQ+ciswamBPVWJ4fE4+RlNJRD0kJD1zNUxCRgp6
MW4hdkopNFVZSG09bm9ebmk9NSZYYkV3Sns8cSZfU0p3bV9UIWVIfDQte3FITU96Pzh5QnxLfWFS
ZmcqaWZTRjUKemVFVnU1Q2pVTzxfQG51bWxTNiklUEp9Pz9la3VUOyRnVWUyTEtEZ0QwSkllQ3Q4
cm47aXp3fmo8bmRLWUd7XzdzCnpoJm4mPUY9U3VyI1Q3OCQ0IUZ+LXFqZlV6NXl0X1g7Zyg0WVVr
byh7VkRUSmMzWD96fWBzTV92VW9KM3NHWHB2MAp6MiF1X01Rb25ta2VCfkI0IXRoSHtCNyFiMDBl
dUZ9Xkw+TlJrcG5ENTlINEVPSUlPSTxRY0RzN0BiIW5VLUtKVDQKelZwX0p8VVRIcz8oWjhzITdK
TytyPCVOMjRkZVZXZDByPHFDaGs1KTRnQz4kY25DVilgaGswZSMoSzFZeWZgQH5WCno1Y0x6ejE7
SHdsKE1FQ0dna29KTnFMIWN8cXZzYlMmQXxJU1lMTVVgekIrSkNpKlc9QypaY2MwTU5gMXRjYCt1
fQp6MlB8OERqZ1ZFfnlie05VSnVNZGp0PURkQlllRDdRPlBHYWU+RVdGR0dRKHdlNmt1UCEmZjBX
PzU5RykyZmVKMigKejNoK19QSGNzRTcmOVkjUGJaamolRzJoSURoIXtiRSk1RUtSRWV2WDx2ZiQk
fmF4YEVCST5gKXg4fVR4UExZSHswCnozcj1RSDcyN3ZNST16eFFXP0xzWTBKNWtVMjxYZjN4TnFq
YFcjeDJPNnxlczBUYlJDQlAtfEFfaiR2dWNOcSNRdAp6TzRqX0Ema2cwam1AM0h3Q1lDc2MlZXte
NlFqMT53ZF5XTElePn04KXE1ekNhMD4kVUIrWXhGbkBKR3pAdWxzM0UKekYtLShTelNocyZrY2t0
cVc/eUA/aWc+e2Z0JjhHQFNzRH5hQitmVXFwX3FaXyh6cT9qbCM5bjZMJVBmQEBNKmA3CnpOYmlo
dS1ROHFqQmtlMjdUXmsqdSg/WWZiJmMyOSMoeENHd2N7e1pCKGJyXj1XMlgxejA0LUtMPF5tTGlS
KjJDTgp6RDI8X3RvQ3hGMkZRQXlELWFYUFJqQ3o+Qk9WeWtOSj0mOT8xbjRiMFQ8NjE9cV5zcVNl
fmJkYTdAcS17PlV9VTcKekJlR08oaU9MSUBjZWA4ZWJfPF9jJGpSUyopY3h2I2VVeSVYejZJeTBi
RyoqKSZjSXp4S2FxNkghZjQ7KjQmXmlYCnpmWSF2XkB8UEYlRjM+VD9AVG9iVWl0ZGpsXlV+VWpa
Y1YweW89aipCXlgwZntKaXw7T2pBKTI7UDdGZjM5Rk54MAp6RCtPelorIWBCYUItP3NrRUloeX1e
TW0pVmQxekRSZUp+KWVQODRVMS1wZDApVzdvej5vQy1eXzs4aWJpbytEaHsKemFGMCQtWGxvUyNW
KDItciR0UFM4MHdMcz9HcTQpQVcjS3d+d01KKj0zPEMjbnp1REs4KXFafDRZWkMmS1ErfV9PCnpl
KDAhSSRxTiM8Zk8weDBPdENpSk5CMTB4dS0lSXR1dEI2dDhndml5QkhtZHN7K2RfdjgwcyMwbWw7
Q3dZaCszUAp6SXQqdFBSSEJTbmwmQCE3TTdyQjU2e3U9XnJsNkgqJEhvdSpOPn5XIVFhR0FOV25O
cmNHITVmQV5pfmBqe1pJbiQKel9Adj5CVGdQKmcwVWNfX15xez9ueER3YUVsdzwpR252bSpseSZn
KWJqNHZTKTRvfiMkU3BaRGAtdUZkbzx9MUA7CnpOaSRKM2EqU25Me2Y1cXhvT2A8REZuSUxsKmUh
RG5pOFNCTSZJcmxRbTkhKDI1P3tsc3pLeGsoamlTNzkmSTxSJQp6PmhPXkApPjE8dXMqZH1vaXdS
ZiMmKjNoRjElJVlDNDlRSUlCMitpNDxCKzZtPEdyKU5sV2t0VnBQVG1AYTh1NUcKelUwOzQ0OTgz
QExfSTA3VyExUW5YeF4mMmc3dTwrbGErcDtZe1ZrK3l3fiR0PD9JRE8pSzUwdWJ5dTthbS1BYTA9
CnpgLXVISXdJdUU4cXZuMHlAI1pVeV5wd1AkWWZscVQyPkk3LXVBcCgkXkNUPHxJYC0pMFUyOC1r
ZmU3ZH1jem5LUwp6WSp7OH1VZVlZOFlUKklmdHIjfTsrbHA3eWVgfn4kM15LbmdLNzRWKyNhQn0m
bShxfkEqWSl4aFpwaXdIUkp5ZW8KeiFzdz5MWiUtYGNkYGhCUWtgKFRvdXptOVo/bys/OC1EaFFh
MSQ1c3lpPjtOeT1HKVAzem9ybFc8SFQhXlE7KT15Cnp5M2ojT0wyYEhAPH19XjJpJGgpUkVgOXlM
cj4qVCExeFVTbHkzLU5meV5KfEdBOyNTaCE9bmhsUm5faU5oP31ATgp6WWwpb3F0cDZHbGt9TzZ9
aikyKyhXJmdZSEcpaXJ+cF82Q0AoJFhTTnJjZXlzdHFTaGEzMG0rRDYpI35LYW1VX2UKem4yS2ZY
N0FJPDYrVXhAVm96KW1aMS1NVFF3Nzk3U3tLMnB5NjtAcmErKWRXN241ekllLT0tdj5odjMkUnFT
eGooCnpvZ2IkWjk4RVJ5S1FrcU1pbEJhVCNROVEjbDV2bVAla300YVQwPXJZdWtYamxpe1UoRXVI
P1JPUGZ+TUVoJVpQMgp6I0t9KjI2Ozx7I1MxamN7akhHQXp1V3E3U3d1TlohXmJ6PHxzS150YFRC
V301K1N0WG4mTntnRGlNUkhvWk14cmsKejl3JWl2UD5uaG4kMVU+TSZUe2xPR0p5VzBSVWg4cyVy
ekNiP3JZPnxLbUZgfEdOQGgxWkVqPlQ8JklnY0FJSDRZCnpvS3x5OyNsZT9OeCVFT1pPdGhleWU4
cEwpU3Z3JDdYSEs5blcpZ01ldSpyfGpLRXdFQ0l7ajJNemApISZxIypmewp6N3FgayRUa1dIV0x7
YnZia0c9RFFrXi05Yjw0K2M0MkUrQkpESFkxJDsxN2I4bSN+SiVMQzMqQW93QFpxXihnXz0KUUN2
NmctKW1ZfTs2JDFNSTBRWFltM2poRUIKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoK
</data>
<flag name="commit-queue"
          id="456371"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433988</attachid>
            <date>2021-07-21 21:33:35 -0700</date>
            <delta_ts>2021-07-21 21:51:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210722143333.patch</filename>
            <type>text/plain</type>
            <size>92951</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLjczMzdlYjM2ZTI3NjEzNmNlMWE4MzczMTFjNjkyNTk3ZjEzYzk4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHdlYm1fd2ViYXVkaW8g
cHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3IgbWltZXR5
cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlzYWJsZWQg
YnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8bWFnb21l
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIgdG8gY29u
ZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJvY2Vzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0MTMuLjhm
MzNlN2ZjNWUxY2MyMTQ0MjA3ZGFjZDY3NjA0ZDhhYTU5ZDA1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4gV2ViIEF1
ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4gdGhlIHdl
YiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgZGVj
b2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJlYXNvbnMs
IGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxzIGFyZSBi
bG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1ZGlvIGNv
bXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkgcHJvY2Vz
cyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisgICAgICAg
IFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAg
ICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWlscyBmb3Ig
Vm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11eCB0aGUg
d2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0g
dG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVyYXRlIG92
ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3JtaW5nCisg
ICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRoZXJlIGFy
ZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVuY29kZXIg
ZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGlibGUKKyAg
ICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIu
CisgICAgICAgIC0gSWdub3JpbmcgdGhlIHNhbmRib3hpbmcgaXNzdWUsIFZvcmJpcyBjb250ZW50
IGZhaWwgdG8gZGVjb2RlLgorICAgICAgICAtIFdlIGNhbiBvbmx5IGRlY29kZSBtb25vIGFuZCBz
dGVyZW8gY29udGVudC4gT3B1cyBhbmQgVm9yYmlzIGxldCB5b3UgZGVmaW5lIGEKKyAgICAgICAg
Y3VzdG9tIGNoYW5uZWwgb3JkZXJpbmcsIHRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWQgd2l0aCBh
bWJpc29uaWMgYXVkaW8gKHdpdGggb3B1cyAyNTUgbW9kZSkuCisgICAgICAgIENvcmVNZWRpYSBk
b2Vzbid0IGVhc2lseSBkZWFsIHdpdGggc3VjaCByZS1vcmRlcmluZyBhcyBpdCBhcHBlYXJzIHRv
IGJlIGVzc2VudGlhbGx5CisgICAgICAgIGRlc2lnbmVkIGZvciBhdWRpYmxlIGNvbnRlbnQuIFdp
dGggbW9yZSB0aGFuIDIgY2hhbm5lbHMsIGRlY29kaW5nIHdpbGwgZWl0aGVyIGZhaWwKKyAgICAg
ICAgb3IgcHJvZHVjZSBjaGFubmVscyBpbiB0aGUgd3Jvbmcgb3JkZXIuCisKKyAgICAgICAgVGVz
dDogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKKworICAgICAgICAq
IEhlYWRlcnMuY21ha2U6IEV4cG9ydCBoZWFkZXIgc28gdGhhdCB3ZSBjYW4gcmVnaXN0ZXIgdGhl
IGRlY29kZXIgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBzYW1lIGFzIGFib3ZlLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5
VHlwZSBjb25zdCk6IE1ha2UgY2FuUGxheVR5cGUod2VibS9hdWRpbzsgY29kZWNzPW9wdXMpCisg
ICAgICAgIHdvcmsgaWYgZmVhdHVyZXMgaXMgc2V0LgorICAgICAgICAqIHBhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0V2ViTVdlYkF1ZGlvRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjp3ZWJNV2ViQXVkaW9FbmFibGVkIGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9NZWRpYVNhbXBsZS5oOiBBZGQgbmV3IGlzTWVkaWFTYW1wbGVBVkZPYmpDLCB3aWxsIGJl
IHVzZWQgdG8gYWxsb3cgc2FmZQorICAgICAgICBkb3duY2FzdGluZy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1czo6c2V0
TGVuZ3RoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oOiBBZGQgc2V0TGVu
Z3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhlIHJlcG9ydGVkIGxlbmd0aAorICAgICAgICB3aXRo
b3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmg6IEFkZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0
aGUgcmVwb3J0ZWQKKyAgICAgICAgbGVuZ3RoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlp
bmcgc3RvcmFnZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFk
ZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3Qp
OiBGaXggY2hlY2tlZEludCB1c2UgdG8gY2F0Y2ggcG90ZW50aWFsIG92ZXJmbG93CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6
IEFkZCBjb252ZW5pZW5jZSBjbGFzcyB0aGF0CisgICAgICAgIGZyZWUgd3JhcHBlZCBBdWRpb0J1
ZmZlckxpc3Qgb2JqZWN0IG9uIGV4aXQuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxp
c3RIb2xkZXI6On5BdWRpb0J1ZmZlckxpc3RIb2xkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvciBib29sIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3ItPiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yKiBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OmlzVmFsaWQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjppc01heWJlV2ViTSBjb25zdCk6IE1ldGhvZCB0byBj
aGVjayBpZiB0aGUgYnVmZmVyCisgICAgICAgIGNvbnRhaW5zIFdlYk0gZGF0YS4KKyAgICAgICAg
KFdlYkNvcmU6OnBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2spOiBSZXF1aXJlZCBmb3IgQXVk
aW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlci4KKyAgICAgICAgV2lsbCBmZWVkIHRoZSBkZWNv
ZGVyIHRoZSBkYXRhIHRvIGRlY29kZSwgc3BsaXR0aW5nIHRoZSBtdWx0aXBsZSBwYWNrZXRzIGZv
dW5kCisgICAgICAgIGluIHRoZSBDTVNhbXBsZUJ1ZmZlci4KKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMgY29uc3QpOiBSZXR1cm4gdGhlIHRvdGFsIG51
bWJlciBvZgorICAgICAgICBkZWNvZGVkIGZyYW1lcyBpbiB0aGUgcGFja2V0cy4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQgY29uc3QpOiBDcmVhdGUg
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uCisgICAgICAgIHJlbGF0ZWQgdG8gdGhlIGRlbXV4
ZWQgYXVkaW8gdHJhY2suIG51bGxvcHQgaWYgdW5zdXBwb3J0ZWQgY29udGVudC4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y2xpZW50RGF0YUZvcm1hdCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyk6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmg6CisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmg6IFJlbW92ZSB1bnVzZWQgdHlw
ZWRlZi4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UubW06CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6On5BdWRpb1Nh
bXBsZURhdGFTb3VyY2UpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZQorICAgICAgICBQQUwgc29m
dGxpbmtzCisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnNldHVwQ29u
dmVydGVyKTogRmx5LWJ5IGZpeCwgbWFrZSBpdCB1c2UgUEFMCisgICAgICAgIHNvZnRsaW5rcwor
ICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbTogRmx5
LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L1RyYWNrUHJpdmF0ZUJhc2UuY3BwOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVB
VkZPYmpDLmg6CisgICAgICAgIEZseS1ieSBmaXggcmVxdWlyZWQgYnkgd2Via2l0LXByZXBhcmUg
OiBkb24ndCB0YWcgdGhlIHdob2xlIGNsYXNzIGFzIFdFQkNPUkVfRVhQT1JULgorICAgICAgICBN
b3ZlIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIGZ1bmN0aW9uIGRlZmluaXRpb25zIG91dC1v
Zi1saW5lIHRvIHByZXZlbnQKKyAgICAgICAgbGlua2FnZSBlcnJvcnMuCisgICAgICAgIChpc1R5
cGUpOiBBZGQgdGVtcGxhdGUgc3BlY2lhbGl6YXRpb24gZm9yIHN0YXRpY19yZWZlcmVuY2VfY2Fz
dDxNZWRpYVNhbXBsZUFWRk9iakM+CisgICAgICAgIGFuZCBpczxNZWRpYVNhbXBsZUFWRk9iakM+
IHRvIHdvcmsuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMpOiBNb3ZlIGNvZGUKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06IEZseS1ieSBmaXgs
IGFkZCBtaXNzaW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oOiBFeHBvcnQgc29tZSBzeW1ib2xzLCBhZGQgbmV3Cisg
ICAgICAgIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lz
dGVyRGVjb2RlckZhY3RvcnkpOiBJbnN0ZWFkIG9mIGF0dGVtcHRpbmcgdG8gcmVnaXN0ZXIgdGhl
IGRlY29kZXIKKyAgICAgICAgYnkgZGwtb3BlbmluZyB0aGUgcmVxdWlyZWQgbGlicmFyeSwgZmly
c3QgYXR0ZW1wdGluZyB0byBzZWUgaWYgdGhlIGRlY29kZXIgaXMKKyAgICAgICAgYWxyZWFkeSBh
dmFpbGFibGUuIENhbGxpbmcgQXVkaW9Db21wb25lbnRSZWdpc3RlciBpbiB0aGUgd2ViIGNvbnRl
bnQgcHJvY2VzcworICAgICAgICB3aGVuIHRoZSBHUFUgcHJvY2VzcyBpcyBlbmFibGVkIHdpbGwg
ZmFpbCBkdWUgdG8gc2FuZGJveCBzZXR0aW5ncy4gV2hpY2ggd291bGQKKyAgICAgICAgaW5jb3Jy
ZWN0bHkgcmVwb3J0IHRoZSBjb2RlYyB0byBub3QgYmUgYXZhaWxhYmxlIHdoZW4gaXQgd2FzLgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCk6
CisgICAgICAgIChXZWJDb3JlOjppc09wdXNEZWNvZGVyQXZhaWxhYmxlKTogRmx5LWJ5IGZpeCwg
c2hvdWxkIHRoZSBtZXRob2QgYmUgY2FsbGVkCisgICAgICAgIG9uIG5vbi1tYWMgcGxhdGZvcm0g
aXQgd291bGQgaGF2ZSByZXR1cm4gdGhlIHVuaXRpYWxpemVkIHZhbHVlIG9mIHRoZSBhdmFpbGFi
bGUKKyAgICAgICAgc3RhdGljIHZhcmlhYmxlLgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJP
cHVzRGVjb2RlcklmTmVlZGVkKTogQWRkZWQKKyAgICAgICAgKFdlYkNvcmU6OmlzVm9yYmlzRGVj
b2RlckF2YWlsYWJsZSk6IFNhbWUgYXMgaXNPcHVzRGVjb2RlckF2YWlsYWJsZQorICAgICAgICAo
V2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQpOiBBZGRlZAorCiAyMDIxLTA3
LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQWRkIGxpbmtlZE9uT3JBZnRlciBjaGVjayBmb3IgcjI2OTE2MgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggZjAxOWQzY2UxMjAzZjNmYTEwNGVmOWZhYzRmZmE0MDZhYjkwMmY2MC4uZjJhYWNiYjg0
MDJkMGM0MTYxYTNmNmZiZjk5Mzk0ZjU4Y2M1M2RhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHZhcmlvdXMgQVZGb3VuZGF0aW9uIChBVkF1
ZGlvQ29udmVydGVyKSByZWxhdGVkIG1ldGhvZHMgYW5kCisgICAgICAgIENvcmVNZWRpYSB0byBh
Y2Nlc3MgcmVxdWlyZWQgQ01TYW1wbGVCdWZmZXIgcmVsYXRlZCBtZXRob2RzLgorCisgICAgICAg
ICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsu
aDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06CisKIDIwMjEt
MDctMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI4MDEyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTg3NjI1ODQyNjFiYWE5ZTMyMmU5
YTcwY2Y4ZDJhNmYwN2IwOTA5Ni4uYzM2MmU2NjNlNGNjZGUyZmMzYTc4ZWE0MjJlZmNiMWNhNzdh
NmQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2
ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1
cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZGVmYXVs
dCB2YWx1ZSBmb3Igd2VibV93ZWJhdWRpbyBwcmVmIGZvciB0aGUgZGlmZmVyZW50IHBsYXRmb3Jt
cy4KKyAgICAgICAgRGlzYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgcGxhdGZvcm1zLgorICAgICAg
ICBGbHktYnkgZml4OiBkb24ndCBtYWtlIHdlYm0gcGFyc2VyIGRlcGVuZGVudCBvbiBWUDkgc3Vw
cG9ydC4KKworICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0Ogor
ICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0OgorICAgICAgICAqIEZlYXR1
cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktp
dC13YXRjaG9zLnBsaXN0OgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZGVm
YXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlv
Q29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisKIDIwMjEtMDctMjEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSdW5uaW5nQm9hcmQga2lsbHMgdGhlIG5ldHdvcmsg
cHJvY2VzcyBpZiBpdCBpcyBzdGlsbCBob2xkaW5nIHRoZSAiaG9sZGluZyBsb2NrZWQgZmlsZSIg
YXNzZXJ0aW9uIHVwb24gc3VzcGVuc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRl
eCBjNDJlYmViYTA2N2MxNWQ3ZjVkYzBlOTBhYjNkYjQ1MmU5MjJhNGVkLi5iNDExODY0NGFiZjhi
NmUxMzhlM2U2NDk0NzU0ODA4M2M5OTNkYmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFt
bApAQCAtMTI2MSw2ICsxMjYxLDE4IEBAIFdlYk1QYXJzZXJFbmFibGVkOgogICAgIFdlYktpdDoK
ICAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCkKIAorV2Vi
TVdlYkF1ZGlvRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcworICBodW1hblJlYWRhYmxlTmFtZTogIldlYk0gV2ViIEF1ZGlvIgor
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgV2ViTSBXZWIgQXVkaW8iCisgIGNv
bmRpdGlvbjogRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktp
dExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJs
ZWQoKQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJB
dWRpb0VuYWJsZWQoKQorCiAjIEZJWE1FOiBJcyB0aGlzIGltcGxlbWVudGVkIGZvciBXZWJLaXRM
ZWdhY3k/IElmIG5vdCwgdGhpcyBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBXZWJLaXRMZWdhY3kg
ZW50aXJlbHkuCiBXZWJSVENIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkOgogICB0eXBlOiBi
b29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCAzYjFiYjU1MGY1NjgxYTRmNWRkMjM2MGExNDE4OWE4
ZWNhZDA1N2I5Li45YTYxZWVmZjU0YjdjNjUwMjBhMjhlOTRjNmJlZTNkNTQzYzc0NTlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0hlYWRlcnMuY21ha2UKQEAgLTEzMzUsNiArMTMzNSw4IEBAIHNldChXZWJDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9FeHRlbnNpb25z
R0xBTkdMRS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xB
TkdMRVV0aWxpdGllcy5oCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5oCisKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3QuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dERyYXdHbHlwaHNSZWNvcmRlci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCBmYzA2NjhhNGE5MWFmZTEwYjY1MTU5Y2Ew
ODJlMTgyODFmZDUwMzU3Li4zNGI3ZmM2ODYzYjI1ZDI1MGMzZGQ2MDhiZmQ5MGM5YmJhYmE0NzFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNw
cApAQCAtNDcsMTEgKzQ3LDE0IEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5
RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYgdGhlU291cmNlQnVmZmVyLCBz
aXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgdm9pZCogZGVzdGluYXRpb24p
LCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGRlc3RpbmF0aW9u
KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01C
bG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwgUEFMX0VYUE9SVCkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJs
b2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRo
ZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNl
dCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJ
VEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpLCBQQUxfRVhQT1JUKQog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNv
dXJjZUJ5dGVzLCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zm
c2V0SW50b0Rlc3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVz
dGluYXRpb25CdWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCksIFBBTF9F
WFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENv
cmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldEV4dGVuc2lvbnMsIENGRGljdGlvbmFyeVJl
ZiwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBD
TVNhbXBsZUJ1ZmZlckdldFR5cGVJRCwgQ0ZUeXBlSUQsICh2b2lkKSwgKCksIFBBTF9FWFBPUlQp
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsb2NrQnVmZmVyUmVmLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdl
dEZvcm1hdERlc2NyaXB0aW9uLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmLCAoQ01TYW1wbGVCdWZm
ZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVzY3JpcHRpb25z
U2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBwYWNrZXREZXNj
cmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCBQQUxfRVhQT1JU
KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVk
aWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywgT1NTdGF0dXMsIChDTVNhbXBs
ZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRleCwgQ01TYW1wbGVUaW1pbmdJ
bmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4LCB0aW1pbmdJbmZvT3V0KSwg
UEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFmYzU2ZGJmYjA1
ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLmRjMmQ4ZTBiZTkzNmJiMmRiZmQ1MmFjMmVkY2I1NWM4
ZjI1MTRjMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmgKQEAgLTQ5LDYgKzQ5LDEwIEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcywgT1NTdGF0CiAjZGVmaW5l
IENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVm
ZmVyQ29weURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoLCBzaXplX3QsIChDTUJsb2NrQnVmZmVy
UmVmIHRoZUJ1ZmZlciksICh0aGVCdWZmZXIpKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyR2V0RGF0
YUxlbmd0aCBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgKK1NP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
SXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwg
c2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3Ro
KSkKKyNkZWZpbmUgQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVN
ZWRpYV9DTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMKK1NPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpKQorI2RlZmluZSBDTUJs
b2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZl
ckNyZWF0ZUNvbnRpZ3VvdXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29y
ZU1lZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2
b2lkKiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6
ZV90IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0
ZXMsIGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgp
KQogI2RlZmluZSBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcyBzb2Z0TGlua19Db3JlTWVk
aWFfQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
SEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0RXh0ZW5zaW9ucywg
Q0ZEaWN0aW9uYXJ5UmVmLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2MpKQpA
QCAtNTksNiArNjMsOCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVN
ZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsbwogI2RlZmluZSBDTVNhbXBs
ZUJ1ZmZlckdldERhdGFCdWZmZXIgc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0
RGF0YUJ1ZmZlcgogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEs
IENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24sIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQogI2RlZmluZSBDTVNhbXBsZUJ1
ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZl
ckdldEZvcm1hdERlc2NyaXB0aW9uCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUws
IENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
cywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0RGVzY3JpcHRp
b25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCAoc2J1Ziwg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBwYWNrZXREZXNj
cmlwdGlvbnNTaXplTmVlZGVkT3V0KSkKKyNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0
cmVhbVBhY2tldERlc2NyaXB0aW9ucyBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJH
ZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywg
T1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRl
eCwgQ01TYW1wbGVUaW1pbmdJbmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4
LCB0aW1pbmdJbmZvT3V0KSkKICNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJ
bmZvIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8K
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiksIChzYnVm
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9u
U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29m
dExpbmsuaAppbmRleCBiMzI0MTU5YmUxZWZlN2E1ZTVmZTJiMjY0ZDQxYTZhMGM4NGZkNDliLi43
MDBlOWMzMmM0Y2ZiMWJkYzMwZWNmNDdhMDAwNjMwNzIwNTI2OTBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCkBAIC0zMjQs
NCArMzI0LDExIEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQVZGb3VuZGF0
aW9uLCBBVk91dHB1dENvbnRleHRPdXRwdXREZXZpY2VzRGlkCiAjZGVmaW5lIEFWT3V0cHV0Q29u
dGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24gUEFMOjpnZXRfQVZGb3VuZGF0
aW9uX0FWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24oKQog
I2VuZGlmIC8vIEhBVkUoQVZST1VURVBJQ0tFUlZJRVcpCiAKKyNpZiBQTEFURk9STShDT0NPQSkK
K1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbnZlcnRlcikKK1NPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0Zvcm1hdCkKK1NPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbXByZXNzZWRCdWZmZXIpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9QQ01CdWZmZXIpCisjZW5kaWYgLy8gUExBVEZPUk0o
Q09DT0EpCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggMzdjOGIx
ZmFmZDU4Y2NiYzZlODUwYzZmMzAxMTc2N2M3ZGEzMTY0NS4uNzMzOTg0NWUwNzI2NTgwMWUwNjQw
MzAzYjJlMjkxYTAxMjRlODcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCkBAIC0yMzAsNyArMjMwLDcgQEAgU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9TZXNzaW9uUm91dGUKIAogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRIVFRQQ29va2llc0tl
eSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0UmVxdWly
ZXNDdXN0b21VUkxMb2FkaW5nS2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQotI2VuZGlmCisj
ZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uU2V0
QXV0aG9yaXplZFRvVXNlQ2FtZXJhSW5NdWx0aXBsZUZvcmVncm91bmRBcHBMYXlvdXQsIHZvaWQs
IChBVkNhcHR1cmVTZXNzaW9uICpzZXNzaW9uKSwgKHNlc3Npb24pKQpAQCAtMjQ0LDQgKzI0NCwx
MSBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91
bmRhdGlvbiwgQVZSb3V0ZURldGVjdG9yTXVsdAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERl
dmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24sIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiAjZW5k
aWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9Db252ZXJ0ZXIsIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0Zvcm1hdCwgUEFMX0VYUE9SVCkK
K1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvUENNQnVmZmVy
LCBQQUxfRVhQT1JUKQorI2VuZGlmCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGYwMWI5OTI3ZTNjYzYyMmU5Y2NjMDBiMTFlYjJhMmNkZDAzZjc1MzcuLjRmNDk1N2Y1MGU4ZWI0
NGY2ZjA1ODE5MDcyZGMwYTUxNzNiZTFjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzMiw3ICsyMzIsNyBAQAogCQkwN0VF
NzZFQzFCRTk2REIwMDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RUU3NkVBMUJFOTZEQjAw
MEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAv
KiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUQxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFs
dGltZVZpZGVvU291cmNlTWFjLmggKi87IH07CiAJCTA3RjRFOTMzMjBCMzU4N0YwMDJFMzgwMyAv
KiBBVkFzc2V0TUlNRVR5cGVDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDdDOEFEMTIxRDA3M0Q2MzAwODdDNUNFIC8qIEFWQXNzZXRNSU1FVHlw
ZUNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJMDdGNUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1
ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgfTsKKwkJMDdG
NUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1ODJBNEY4
MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0Y1Q0ZGNjI1ODJBNTI5MDA2NjJFRjUg
LyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGMjI1ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EubW0gKi87IH07CiAJCTA3Rjg3Njg0MUFENTgwRjkwMDkwNTg0OSAvKiBN
ZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDdGODc2ODMxQUQ0QTk0NTAwOTA1ODQ5IC8qIE1lZGlhUGxheWJh
Y2tUYXJnZXRDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDdGOTQ0MTYxODY0RDA0NjAwNUQzMUNCIC8qIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RBRThDMDgxNzQ2Qjk1NzAwNTMyRDc4IC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBhM2IzYTJmMTE1N2MyYjdl
NTAwYjJhMDRlNDY4ZWQ1NmFkMjA0NGJjLi44MTBlN2YxYmFjYzc4OTYzNjY2NDE1MGRjZGI0ODAz
ZTI5M2MxZjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAg
LTEwNTUsNyArMTA1NSw3IEBAIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogICAgIC8vIFRlbXBvcmFyaWx5IHdvcmsgYXJv
dW5kIGJ1ZyAyMjY5MjIuIEZvciBub3cgY2xhaW0gdGhhdCB0aGUgb3B1cyBhbmQgdm9yYmlzIGNv
ZGVjcyBhcmVuJ3Qgc3VwcG9ydGVkCiAgICAgLy8gc28gdGhhdCBzaXRlcyByZWx5aW5nIG9uIHRo
aXMgdGVzdCB0byBkZXRlcm1pbmUgaWYgd2ViYXVkaW8gdXNlIG9mIG9wdXMgb3Igdm9yYmlzIHdv
bid0IGVycm9yLgogICAgIGF1dG8gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0gICAg
aWYgKHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYg
KGNvZGVjcy5jb250YWlucygib3B1cyIpIHx8IGNvZGVjcy5jb250YWlucygidm9yYmlzIikpKQor
ICAgIGlmIChzdXBwb3J0ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVk
ICYmICgoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikgJiYgIXdlYk1XZWJBdWRpb0VuYWJsZWQoKSkg
fHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCiAgICAgICAgIHN1cHBvcnQgPSBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZDsKICNlbmRpZgogCkBAIC04MTc1LDYg
KzgxNzUsMTUgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNNZWRpYVN0cmVhbVNvdXJjZSgp
IGNvbnN0CiAjZW5kaWYKIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJNV2ViQXVkaW9F
bmFibGVkKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHJldHVybiBm
YWxzZTsKKyNlbHNlCisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkud2ViTVdlYkF1ZGlvRW5hYmxlZCgpOworI2VuZGlmCit9CisKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVN0cmVhbUNhcHR1cmVT
dGFydGVkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMTA1
MWMwNTg1M2ZjMDEyZWRkYWNkOGI3NGM5NDVhYmJhYzJkNTMyMC4uZjkyNmVkNjI3MzAxMWQ1MTY0
OGFkZWY1Nzk3ZGJlZGZhNmRiODJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTkzOSw2ICs5MzksOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IExvZ2dlciYgbWVk
aWFQbGF5ZXJMb2dnZXIoKSBmaW5hbCB7IHJldHVybiBsb2dnZXIoKTsgfQogI2VuZGlmCiAKKyAg
ICBib29sIHdlYk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdDsKKwogICAgIFRpbWVyIG1fcHJvZ3Jl
c3NFdmVudFRpbWVyOwogICAgIFRpbWVyIG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFRp
bWVyIG1fc2NhblRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaAppbmRleCBhMGQzY2VhNzlkN2UwYWUwNzQ4MjQwZGQyMmVlZTJkNTU3NTA0NGE2Li42
ODVhMGEyYWQ3NTQ3MjY5OWFlYmYyMTlmYTBjMjUxNTIxYmViMGI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMjM1LDYgKzIzNSw4IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2ViTVBhcnNlckVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJNUGFyc2VyRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQogICAgIGJvb2wgd2ViTVBhcnNlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYk1QYXJz
ZXJFbmFibGVkOyB9CisgICAgdm9pZCBzZXRXZWJNV2ViQXVkaW9FbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fd2ViTVdlYkF1ZGlvRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgd2Vi
TVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVdlYkF1ZGlvRW5hYmxlZDsg
fQogI2VuZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKQEAgLTM3MSw2ICszNzMsNyBAQCBwcml2
YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBib29sIG1fd2ViTVBhcnNlckVu
YWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV93ZWJNV2ViQXVkaW9FbmFibGVkIHsgZmFsc2Ug
fTsKICNlbmRpZgogCiAjaWYgSEFWRShDRUxFU1RJQUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaAppbmRleCA4ZGE2MDM3Nzg4MjQzMzMwYWUyNTBkOWMxMGM3MmVlMDU4OGU3NjBj
Li4wMjU4ZTVlYjRmM2Q2ODgzODE4YjNiNzFlMDljMGY4OTBmMDM0M2Y1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKQEAgLTU3LDcgKzU3LDcgQEAgc3RydWN0IFBsYXRmb3Jt
U2FtcGxlIHsKICAgICB9IHNhbXBsZTsKIH07CiAKLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlh
U2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CitjbGFz
cyBNZWRpYVNhbXBsZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4g
ewogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlKCkgPSBkZWZhdWx0OwogCkBAIC0x
MjUsNiArMTI1LDggQEAgcHVibGljOgogCiAgICAgICAgIHJldHVybiBvYmplY3QtPnRvSlNPTlN0
cmluZygpOwogICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhU2FtcGxlQVZGT2JqQygp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKaW5kZXggMjQzZTEwNmI5
ZTMzZGE5M2RlOWEwY2FkMzNiYzA4ZTkyMDY1MzIwMC4uN2YwM2MzMzFlZTIwMTBjOTg5MjlhMDMy
NGRjYWM5NTVkNjVmOGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9CdXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
QnVzLmNwcApAQCAtNzMsNiArNzMsMTYgQEAgdm9pZCBBdWRpb0J1czo6c2V0Q2hhbm5lbE1lbW9y
eSh1bnNpZ25lZCBjaGFubmVsSW5kZXgsIGZsb2F0KiBzdG9yYWdlLCBzaXplX3QgbGUKICAgICB9
CiB9CiAKK3ZvaWQgQXVkaW9CdXM6OnNldExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKQoreworICAg
IFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IG1f
bGVuZ3RoKTsKKyAgICBpZiAobmV3TGVuZ3RoID09IG1fbGVuZ3RoKQorICAgICAgICByZXR1cm47
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhbm5lbHMuc2l6ZSgpOyArK2kpCisg
ICAgICAgIG1fY2hhbm5lbHNbaV0tPnNldExlbmd0aChuZXdMZW5ndGgpOworICAgIG1fbGVuZ3Ro
ID0gbmV3TGVuZ3RoOworfQorCiB2b2lkIEF1ZGlvQnVzOjp6ZXJvKCkKIHsKICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQwZTgxMTIxMWI0ZGEyY2E4YzY3MGI1OGIz
Mjk2YjM1Y2U2OWNkNGEuLmVhNTg1Yzg0OGVhOTQxMjI3NDAyOWE4ODY3YWI5Y2NhYzcwNzRkNjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtODMsNiArODMs
OSBAQCBwdWJsaWM6CiAgICAgLy8gTnVtYmVyIG9mIHNhbXBsZS1mcmFtZXMKICAgICBzaXplX3Qg
bGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFJlZHVjZSB0aGUg
bnVtYmVyIG9mIGZyYW1lcyBhdmFpbGFibGUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYWxsb2NhdGVk
IG1lbW9yeSBzaXplLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpOworCiAg
ICAgLy8gU2FtcGxlLXJhdGUgOiAwLjAgaWYgdW5rbm93biBvciAiZG9uJ3QgY2FyZSIKICAgICBm
bG9hdCBzYW1wbGVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVSYXRlOyB9CiAgICAgdm9p
ZCBzZXRTYW1wbGVSYXRlKGZsb2F0IHNhbXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxl
UmF0ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9D
aGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApp
bmRleCA5NzViZDBiNWFiZDhmNzI1NWEwNWE3ZGQ3MGY5NjUwYjFkNDk0NjY3Li5jOTc2MTVmMGRh
MTUxYzIzZDQzM2NiNTYwNjdiYjU0Nzk0NjJhMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtNzQsNiArNzQsMTQgQEAgcHVibGljOgogICAg
IC8vIEhvdyBtYW55IHNhbXBsZS1mcmFtZXMgZG8gd2UgY29udGFpbj8KICAgICBzaXplX3QgbGVu
Z3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFNldCBuZXcgbGVuZ3Ro
LiBDYW4gb25seSBiZSBzZXQgdG8gYSB2YWx1ZSBsb3dlciB0aGFuIHRoZSBjdXJyZW50bHkKKyAg
ICAvLyBzZXQgbGVuZ3RoLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCisg
ICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG5l
d0xlbmd0aCA8PSBsZW5ndGgoKSk7CisgICAgICAgIG1fbGVuZ3RoID0gbmV3TGVuZ3RoOworICAg
IH0KKwogICAgIC8vIERpcmVjdCBhY2Nlc3MgdG8gUENNIHNhbXBsZSBkYXRhLiBOb24tY29uc3Qg
YWNjZXNzb3IgY2xlYXJzIHNpbGVudCBmbGFnLgogICAgIGZsb2F0KiBtdXRhYmxlRGF0YSgpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9GaWxlUmVhZGVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCmluZGV4IDVkNTZiOWVlMWEwZDNkNjdhNzljMzA3
NjFkMTM4MTVkN2MwNjQ0Y2UuLmVkZmNkNDM0NmFkOTExOThhNTlkNTUwZDNjMDhkNWIxYzhkNWEy
NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
RmlsZVJlYWRlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKQEAgLTM0LDIxICszNCwzNCBAQAogCiAjaW5j
bHVkZSAiQXVkaW9CdXMuaCIKICNpbmNsdWRlICJBdWRpb0ZpbGVSZWFkZXIuaCIKKyNpbmNsdWRl
ICJBdWRpb1NhbXBsZURhdGFTb3VyY2UuaCIKKyNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5o
IgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIkluYmFuZFRleHRUcmFj
a1ByaXZhdGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTYW1wbGVB
VkZPYmpDLmgiCisjaW5jbHVkZSAiVmlkZW9UcmFja1ByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJN
QXVkaW9VdGlsaXRpZXNDb2NvYS5oIgorI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbnZl
cnRlci5oPgogI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9FeHRlbmRlZEF1ZGlvRmlsZS5oPgogI2lu
Y2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8cGFsL2Nm
L0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CisjaW5jbHVkZSA8U291cmNlQnVmZmVyUGFyc2VyV2Vi
TS5oPgogI2luY2x1ZGUgPHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9G
YXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQXVk
aW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIEF1
ZGlvQnVmZmVyTGlzdCogdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KHNpemVfdCBudW1iZXJPZkJ1
ZmZlcnMpCiB7CisgICAgaWYgKCFudW1iZXJPZkJ1ZmZlcnMpCisgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIENoZWNrZWRTaXplIGJ1ZmZlckxpc3RTaXplID0gc2l6ZW9mKEF1ZGlvQnVmZmVy
TGlzdCkgLSBzaXplb2YoQXVkaW9CdWZmZXIpOwotICAgIGJ1ZmZlckxpc3RTaXplICs9IG51bWJl
ck9mQnVmZmVycyAqIHNpemVvZihBdWRpb0J1ZmZlcik7CisgICAgYnVmZmVyTGlzdFNpemUgKz0g
V1RGOjpjaGVja2VkUHJvZHVjdDxzaXplX3Q+KG51bWJlck9mQnVmZmVycywgc2l6ZW9mKEF1ZGlv
QnVmZmVyKSk7CiAgICAgaWYgKGJ1ZmZlckxpc3RTaXplLmhhc092ZXJmbG93ZWQoKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTg3LDEwICsxMDAsODYgQEAgc3RhdGljIGJvb2wgdmFs
aWRhdGVBdWRpb0J1ZmZlckxpc3QoQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0KQogICAgIHJl
dHVybiB0cnVlOwogfQogCisvLyBPbiBzdGFjayBSQUlJIGNsYXNzIHRoYXQgd2lsbCBmcmVlIHRo
ZSBhbGxvY2F0ZWQgQXVkaW9CdWZmZXJMaXN0IGFzIG5lZWRlZC4KK2NsYXNzIEF1ZGlvQnVmZmVy
TGlzdEhvbGRlciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQXVkaW9CdWZmZXJMaXN0SG9sZGVy
KHNpemVfdCBudW1iZXJPZkNoYW5uZWxzKQorICAgICAgICA6IG1fYnVmZmVyTGlzdCh0cnlDcmVh
dGVBdWRpb0J1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscykpCisgICAgeworICAgIH0KKworICAg
IH5BdWRpb0J1ZmZlckxpc3RIb2xkZXIoKQorICAgIHsKKyAgICAgICAgaWYgKG1fYnVmZmVyTGlz
dCkKKyAgICAgICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QobV9idWZmZXJMaXN0KTsKKyAg
ICB9CisKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gISFtX2J1
ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3QqIG9wZXJhdG9yLT4oKSBjb25zdCB7IHJl
dHVybiBtX2J1ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3QqIG9wZXJhdG9yKigpIGNv
bnN0IHsgcmV0dXJuIG1fYnVmZmVyTGlzdDsgfQorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsg
cmV0dXJuIHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7IH0KK3ByaXZhdGU6
CisgICAgQXVkaW9CdWZmZXJMaXN0KiBtX2J1ZmZlckxpc3Q7Cit9OworCitzdGF0aWMgY29uc3Rl
eHByIHVpbnQzMl90IGtPcHVzTWF4RnJhbWVMZW5ndGggPSA5NDsKK3N0YXRpYyBjb25zdGV4cHIg
dWludDMyX3Qga1ZvcmJpc01heEZyYW1lTGVuZ3RoID0gNDA5NjsKKworY2xhc3MgQXVkaW9GaWxl
UmVhZGVyV2ViTURhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworCitwdWJsaWM6
CisgICAgU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25TZWdtZW50IG1faW5p
dFNlZ21lbnQ7CisgICAgTWVkaWFUaW1lIG1fZHVyYXRpb247CisgICAgVmVjdG9yPFJlZjxNZWRp
YVNhbXBsZUFWRk9iakM+PiBtX3NhbXBsZXM7Cit9OworCiBBdWRpb0ZpbGVSZWFkZXI6OkF1ZGlv
RmlsZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpemUpCiAgICAgOiBtX2Rh
dGEoZGF0YSkKICAgICAsIG1fZGF0YVNpemUoZGF0YVNpemUpCisjaWYgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECisgICAgLCBtX2xvZ2dlcihMb2dnZXI6OmNyZWF0ZSh0aGlzKSkKKyAgICAsIG1fbG9n
SWRlbnRpZmllcihMb2dnZXJIZWxwZXI6OnVuaXF1ZUxvZ0lkZW50aWZpZXIoKSkKKyNlbmRpZgog
eworICAgIGlmIChpc01heWJlV2ViTShzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oZGF0YSks
IGRhdGFTaXplKSkgeworICAgICAgICBhdXRvIHBhcnNlciA9IGFkb3B0UmVmKG5ldyBTb3VyY2VC
dWZmZXJQYXJzZXJXZWJNKCkpOworICAgICAgICBib29sIGVycm9yID0gZmFsc2U7CisgICAgICAg
IHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IGF1ZGlvVHJhY2tJZDsKKyAgICAgICAgTWVkaWFUaW1l
IGR1cmF0aW9uOworICAgICAgICBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJbml0aWFsaXphdGlv
blNlZ21lbnQgaW5pdFNlZ21lbnQ7CisgICAgICAgIFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVBVkZP
YmpDPj4gc2FtcGxlczsKKyAgICAgICAgcGFyc2VyLT5zZXREaWRFbmNvdW50ZXJFcnJvckR1cmlu
Z1BhcnNpbmdDYWxsYmFjayhbJl0odWludDY0X3QpIHsKKyAgICAgICAgICAgIGVycm9yID0gdHJ1
ZTsKKyAgICAgICAgfSk7CisgICAgICAgIHBhcnNlci0+c2V0RGlkUGFyc2VJbml0aWFsaXphdGlv
bkRhdGFDYWxsYmFjayhbJl0oU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25T
ZWdtZW50JiYgaW5pdCkgeworICAgICAgICAgICAgZm9yIChhdXRvJiBhdWRpb1RyYWNrIDogaW5p
dC5hdWRpb1RyYWNrcykgeworICAgICAgICAgICAgICAgIGlmIChhdWRpb1RyYWNrLnRyYWNrICYm
IGF1ZGlvVHJhY2sudHJhY2stPnRyYWNrVUlEKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgZHVy
YXRpb24gPSBpbml0LmR1cmF0aW9uOworICAgICAgICAgICAgICAgICAgICBhdWRpb1RyYWNrSWQg
PSBhdWRpb1RyYWNrLnRyYWNrLT50cmFja1VJRCgpOworICAgICAgICAgICAgICAgICAgICBpbml0
U2VnbWVudCA9IFdURk1vdmUoaW5pdCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworICAgICAgICBwYXJz
ZXItPnNldERpZFByb3ZpZGVNZWRpYURhdGFDYWxsYmFjayhbJl0oUmVmPE1lZGlhU2FtcGxlPiYm
IHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCwgY29uc3QgU3RyaW5nJikgeworICAgICAgICAgICAg
aWYgKCFhdWRpb1RyYWNrSWQgfHwgdHJhY2tJRCAhPSAqYXVkaW9UcmFja0lkKQorICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlf
SU1QTElDQVRJT04oaXM8TWVkaWFTYW1wbGVBVkZPYmpDPihzYW1wbGUuZ2V0KCkpKTsKKyAgICAg
ICAgICAgIHNhbXBsZXMuYXBwZW5kKHN0YXRpY19yZWZlcmVuY2VfY2FzdDxNZWRpYVNhbXBsZUFW
Rk9iakM+KFdURk1vdmUoc2FtcGxlKSkpOworICAgICAgICB9KTsKKyAgICAgICAgcGFyc2VyLT5z
ZXRDYWxsT25DbGllbnRUaHJlYWRDYWxsYmFjayhbXShXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiBm
dW5jdGlvbikgeworICAgICAgICAgICAgZnVuY3Rpb24oKTsKKyAgICAgICAgfSk7CisgICAgICAg
IFZlY3Rvcjx1aW50OF90PiB2ZWN0b3Ioc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEp
LCBkYXRhU2l6ZSk7CisgICAgICAgIFNvdXJjZUJ1ZmZlclBhcnNlcjo6U2VnbWVudCBzZWdtZW50
KFdURk1vdmUodmVjdG9yKSk7CisgICAgICAgIHBhcnNlci0+YXBwZW5kRGF0YShXVEZNb3ZlKHNl
Z21lbnQpKTsKKyAgICAgICAgaWYgKGF1ZGlvVHJhY2tJZCkgeworICAgICAgICAgICAgcGFyc2Vy
LT5mbHVzaFBlbmRpbmdBdWRpb0J1ZmZlcnMoKTsKKyAgICAgICAgICAgIG1fd2VibURhdGEgPSBt
YWtlVW5pcXVlPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPihBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0
YSB7IFdURk1vdmUoaW5pdFNlZ21lbnQpLCBXVEZNb3ZlKGR1cmF0aW9uKSwgV1RGTW92ZShzYW1w
bGVzKSB9KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm47CisgICAgfQogICAgIGlmIChQQUw6
OkF1ZGlvRmlsZU9wZW5XaXRoQ2FsbGJhY2tzKHRoaXMsIHJlYWRQcm9jLCAwLCBnZXRTaXplUHJv
YywgMCwgMCwgJm1fYXVkaW9GaWxlSUQpICE9IG5vRXJyKQogICAgICAgICByZXR1cm47CiAKQEAg
LTExMSw2ICsyMDAsMTIgQEAgQXVkaW9GaWxlUmVhZGVyOjp+QXVkaW9GaWxlUmVhZGVyKCkKICAg
ICBtX2F1ZGlvRmlsZUlEID0gMDsKIH0KIAorYm9vbCBBdWRpb0ZpbGVSZWFkZXI6OmlzTWF5YmVX
ZWJNKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkgY29uc3QKK3sKKyAgICAv
LyBGcm9tIGh0dHBzOi8vbWltZXNuaWZmLnNwZWMud2hhdHdnLm9yZy8jc2lnbmF0dXJlLWZvci13
ZWJtCisgICAgcmV0dXJuIGRhdGFTaXplID49IDQgJiYgZGF0YVswXSA9PSAweDFBICYmIGRhdGFb
MV0gPT0gMHg0NSAmJiBkYXRhWzJdID09IDB4REYgJiYgZGF0YVszXSA9PSAweEEzOworfQorCiBP
U1N0YXR1cyBBdWRpb0ZpbGVSZWFkZXI6OnJlYWRQcm9jKHZvaWQqIGNsaWVudERhdGEsIFNJbnQ2
NCBwb3NpdGlvbiwgVUludDMyIHJlcXVlc3RDb3VudCwgdm9pZCogYnVmZmVyLCBVSW50MzIqIGFj
dHVhbENvdW50KQogewogICAgIGF1dG8qIGF1ZGlvRmlsZVJlYWRlciA9IHN0YXRpY19jYXN0PEF1
ZGlvRmlsZVJlYWRlcio+KGNsaWVudERhdGEpOwpAQCAtMTM2LDY3ICsyMzEsMTcwIEBAIFNJbnQ2
NCBBdWRpb0ZpbGVSZWFkZXI6OmdldFNpemVQcm9jKHZvaWQqIGNsaWVudERhdGEpCiAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PEF1ZGlvRmlsZVJlYWRlcio+KGNsaWVudERhdGEpLT5kYXRhU2l6ZSgp
OwogfQogCi1SZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0
IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQorc3RydWN0IFBhc3N0aHJvdWdoVXNlckRhdGEg
eworICAgIFVJbnQzMiBtX2NoYW5uZWxzOworICAgIFVJbnQzMiBtX2RhdGFTaXplOworICAgIGNv
bnN0IHZvaWQqIG1fZGF0YTsKKyAgICBVSW50MzIgbV9pbmRleDsKKyAgICBVSW50MzIgbV9udW1Q
YWNrZXRzOworICAgIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24qIG1fcGFja2V0czsKK307
CisKKy8vIEVycm9yIHZhbHVlIHdlIHBhc3MgdGhyb3VnaCB0aGUgZGVjb2RlciB0byBzaWduYWwg
dGhhdCBub3RoaW5nCisvLyBoYXMgZ29uZSB3cm9uZyBkdXJpbmcgZGVjb2RpbmcgYW5kIHdlJ3Jl
IGRvbmUgcHJvY2Vzc2luZyB0aGUgcGFja2V0LgorY29uc3QgdWludDMyX3Qga05vTW9yZURhdGFF
cnIgPSAnTU9BUic7CisKK3N0YXRpYyBPU1N0YXR1cyBwYXNzdGhyb3VnaElucHV0RGF0YUNhbGxi
YWNrKAorICAgIEF1ZGlvQ29udmVydGVyUmVmLCBVSW50MzIqIG51bURhdGFQYWNrZXRzLCBBdWRp
b0J1ZmZlckxpc3QqIGRhdGEsIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24qKiBwYWNrZXRE
ZXNjLCB2b2lkKiBpblVzZXJEYXRhKQoreworICAgIFBhc3N0aHJvdWdoVXNlckRhdGEqIHVzZXJE
YXRhID0gKFBhc3N0aHJvdWdoVXNlckRhdGEqKWluVXNlckRhdGE7CisgICAgaWYgKHVzZXJEYXRh
LT5tX2luZGV4ID09IHVzZXJEYXRhLT5tX251bVBhY2tldHMpIHsKKyAgICAgICAgKm51bURhdGFQ
YWNrZXRzID0gMDsKKyAgICAgICAgcmV0dXJuIGtOb01vcmVEYXRhRXJyOworICAgIH0KKworICAg
IGlmIChwYWNrZXREZXNjKSB7CisgICAgICAgIGlmICh1c2VyRGF0YS0+bV9pbmRleCA+PSB1c2Vy
RGF0YS0+bV9udW1QYWNrZXRzKSB7CisgICAgICAgICAgICAqbnVtRGF0YVBhY2tldHMgPSAwOwor
ICAgICAgICAgICAgcmV0dXJuIGtBdWRpb0NvbnZlcnRlckVycl9SZXF1aXJlc1BhY2tldERlc2Ny
aXB0aW9uc0Vycm9yOworICAgICAgICB9CisgICAgICAgICpwYWNrZXREZXNjID0gJnVzZXJEYXRh
LT5tX3BhY2tldHNbdXNlckRhdGEtPm1faW5kZXhdOworICAgIH0KKworICAgIGRhdGEtPm1CdWZm
ZXJzWzBdLm1OdW1iZXJDaGFubmVscyA9IHVzZXJEYXRhLT5tX2NoYW5uZWxzOworICAgIGRhdGEt
Pm1CdWZmZXJzWzBdLm1EYXRhQnl0ZVNpemUgPSB1c2VyRGF0YS0+bV9kYXRhU2l6ZTsKKyAgICBk
YXRhLT5tQnVmZmVyc1swXS5tRGF0YSA9IGNvbnN0X2Nhc3Q8dm9pZCo+KHVzZXJEYXRhLT5tX2Rh
dGEpOworCisgICAgKm51bURhdGFQYWNrZXRzID0gMTsKKyAgICB1c2VyRGF0YS0+bV9pbmRleCsr
OworCisgICAgcmV0dXJuIG5vRXJyOworfQorCitzc2l6ZV90IEF1ZGlvRmlsZVJlYWRlcjo6bnVt
YmVyT2ZGcmFtZXMoKSBjb25zdAogeworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSAw
OworCisgICAgaWYgKG1fd2VibURhdGEpIHsKKyAgICAgICAgaWYgKG1fd2VibURhdGEtPm1fc2Ft
cGxlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgLy8gQ2Fs
Y3VsYXRlIHRoZSB0b3RhbCBudW1iZXIgb2YgZGVjb2RlZCBzYW1wbGVzIHRoYXQgd2VyZSBkZW11
eGVkLgorICAgICAgICAvLyBUaGlzIGNvZGUgb25seSBoYW5kbGUgdGhlIENNU2FtcGxlQnVmZmVy
IGFzIGdlbmVyYXRlZCBieSB0aGUgU291cmNlQnVmZmVyUGFyc2VyV2ViTQorICAgICAgICAvLyB3
aGVyZSBhIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zIGFycmF5IGlzIGFsd2F5cyBwcm92
aWRlZCBldmVuIHdpdGgKKyAgICAgICAgLy8gQ29uc3RhbnQgYml0cmF0ZSBhbmQgY29uc3RhbnQg
ZnJhbWVzLXBlci1wYWNrZXQgYXVkaW8uCisgICAgICAgIGZvciAoYXV0byYgc2FtcGxlIDogbV93
ZWJtRGF0YS0+bV9zYW1wbGVzKSB7CisgICAgICAgICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1w
bGVCdWZmZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICAgICAgY29uc3QgQ01G
b3JtYXREZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbiA9IFBBTDo6Q01TYW1wbGVCdWZm
ZXJHZXRGb3JtYXREZXNjcmlwdGlvbihzYW1wbGVCdWZmZXIpOworICAgICAgICAgICAgaWYgKCFm
b3JtYXREZXNjcmlwdGlvbikKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAg
ICBjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNN
QXVkaW9Gb3JtYXREZXNjcmlwdGlvbkdldFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVz
Y3JpcHRpb24pOworICAgICAgICAgICAgaWYgKCFhc2JkKQorICAgICAgICAgICAgICAgIHJldHVy
biAtMTsKKworICAgICAgICAgICAgc2l6ZV90IHBhY2tldERlc2NyaXB0aW9uc1NpemU7CisgICAg
ICAgICAgICBpZiAoUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3Jp
cHRpb25zKHNhbXBsZUJ1ZmZlciwgMCwgbnVsbHB0ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUp
ICE9IG5vRXJyKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIHNpemVf
dCBudW1EZXNjcmlwdGlvbnMgPSBwYWNrZXREZXNjcmlwdGlvbnNTaXplIC8gc2l6ZW9mKEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb24pOworICAgICAgICAgICAgaWYgKCFudW1EZXNjcmlwdGlv
bnMpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgYXV0byBkZXNjcmlw
dGlvbnMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
PihudW1EZXNjcmlwdGlvbnMpOworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVCdWZmZXJH
ZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIHBhY2tldERlc2Ny
aXB0aW9uc1NpemUsIGRlc2NyaXB0aW9ucy5nZXQoKSwgbnVsbHB0cikgIT0gbm9FcnIpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgQ01JdGVtQ291bnQgbnVtUGFja2V0
cyA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXROdW1TYW1wbGVzKHNhbXBsZUJ1ZmZlcik7CisgICAg
ICAgICAgICBpZiAobnVtRGVzY3JpcHRpb25zICE9IHNpemVfdChudW1QYWNrZXRzKSkgeworICAg
ICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5oYW5kbGVkIENNU2Ft
cGxlQnVmZmVyIHN0cnVjdHVyZSIpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtRGVzY3JpcHRp
b25zOyBpKyspIHsKKyAgICAgICAgICAgICAgICB1aW50MzJfdCBmcHAgPSBkZXNjcmlwdGlvbnNb
aV0ubVZhcmlhYmxlRnJhbWVzSW5QYWNrZXQgPyBkZXNjcmlwdGlvbnNbaV0ubVZhcmlhYmxlRnJh
bWVzSW5QYWNrZXQgOiBhc2JkLT5tRnJhbWVzUGVyUGFja2V0OworICAgICAgICAgICAgICAgIG51
bWJlck9mRnJhbWVzSW42NCArPSBmcHA7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuIG51bWJlck9mRnJhbWVzSW42NDsKKyAgICB9CisKICAgICBpZiAoIW1fZXh0QXVk
aW9GaWxlUmVmKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIC0xOwog
Ci0gICAgLy8gR2V0IGZpbGUncyBkYXRhIGZvcm1hdAotICAgIFVJbnQzMiBzaXplID0gc2l6ZW9m
KG1fZmlsZURhdGFGb3JtYXQpOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5
KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQs
ICZzaXplLCAmbV9maWxlRGF0YUZvcm1hdCkgIT0gbm9FcnIpCi0gICAgICAgIHJldHVybiBudWxs
cHRyOworICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKG51bWJlck9mRnJhbWVzSW42NCk7CisgICAg
aWYgKFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRB
dWRpb0ZpbGVQcm9wZXJ0eV9GaWxlTGVuZ3RoRnJhbWVzLCAmc2l6ZSwgJm51bWJlck9mRnJhbWVz
SW42NCkgIT0gbm9FcnIgfHwgbnVtYmVyT2ZGcmFtZXNJbjY0IDw9IDApCisgICAgICAgIHJldHVy
biAtMTsKIAotICAgIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzID0gbV9maWxlRGF0YUZvcm1hdC5t
Q2hhbm5lbHNQZXJGcmFtZTsKKyAgICByZXR1cm4gbnVtYmVyT2ZGcmFtZXNJbjY0OworfQogCi0g
ICAgLy8gTnVtYmVyIG9mIGZyYW1lcwotICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lczY0ID0gMDsK
LSAgICBzaXplID0gc2l6ZW9mKG51bWJlck9mRnJhbWVzNjQpOwotICAgIGlmIChQQUw6OkV4dEF1
ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVy
dHlfRmlsZUxlbmd0aEZyYW1lcywgJnNpemUsICZudW1iZXJPZkZyYW1lczY0KSAhPSBub0VyciB8
fCBudW1iZXJPZkZyYW1lczY0IDw9IDApCi0gICAgICAgIHJldHVybiBudWxscHRyOworc3RkOjpv
cHRpb25hbDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+IEF1ZGlvRmlsZVJlYWRlcjo6Zmls
ZURhdGFGb3JtYXQoKSBjb25zdAoreworICAgIGlmIChtX3dlYm1EYXRhKSB7CisgICAgICAgIGlm
IChtX3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgICAgICBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0g
UEFMOjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKG1fd2VibURhdGEtPm1fc2Ft
cGxlc1swXS0+c2FtcGxlQnVmZmVyKCkpOworCisgICAgICAgIGNvbnN0IEF1ZGlvU3RyZWFtQmFz
aWNEZXNjcmlwdGlvbiogY29uc3QgYXNiZCA9IFBBTDo6Q01BdWRpb0Zvcm1hdERlc2NyaXB0aW9u
R2V0U3RyZWFtQmFzaWNEZXNjcmlwdGlvbihmb3JtYXREZXNjcmlwdGlvbik7CisgICAgICAgIHJl
dHVybiAqYXNiZDsKKyAgICB9CiAKLSAgICBkb3VibGUgZmlsZVNhbXBsZVJhdGUgPSBtX2ZpbGVE
YXRhRm9ybWF0Lm1TYW1wbGVSYXRlOworICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBm
b3JtYXQ7CisgICAgVUludDMyIHNpemUgPSBzaXplb2YoZm9ybWF0KTsKKyAgICBpZiAoUEFMOjpF
eHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVBy
b3BlcnR5X0ZpbGVEYXRhRm9ybWF0LCAmc2l6ZSwgJmZvcm1hdCkgIT0gbm9FcnIpCisgICAgICAg
IHJldHVybiB7IH07CisgICAgcmV0dXJuIGZvcm1hdDsKK30KIAorQXVkaW9TdHJlYW1CYXNpY0Rl
c2NyaXB0aW9uIEF1ZGlvRmlsZVJlYWRlcjo6Y2xpZW50RGF0YUZvcm1hdChjb25zdCBBdWRpb1N0
cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9ybWF0LCBmbG9hdCBzYW1wbGVSYXRlKSBjb25zdAor
ewogICAgIC8vIE1ha2UgY2xpZW50IGZvcm1hdCBzYW1lIG51bWJlciBvZiBjaGFubmVscyBhcyBm
aWxlIGZvcm1hdCwgYnV0IHR3ZWFrIGEgZmV3IHRoaW5ncy4KICAgICAvLyBDbGllbnQgZm9ybWF0
IHdpbGwgYmUgbGluZWFyIFBDTSAoY2Fub25pY2FsKSwgYW5kIHBvdGVudGlhbGx5IGNoYW5nZSBz
YW1wbGUtcmF0ZS4KLSAgICBtX2NsaWVudERhdGFGb3JtYXQgPSBtX2ZpbGVEYXRhRm9ybWF0Owor
ICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBvdXRGb3JtYXQgPSBpbkZvcm1hdDsKIAog
ICAgIGNvbnN0IGludCBieXRlc1BlckZsb2F0ID0gc2l6ZW9mKEZsb2F0MzIpOwogICAgIGNvbnN0
IGludCBiaXRzUGVyQnl0ZSA9IDg7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1Gb3JtYXRJRCA9
IGtBdWRpb0Zvcm1hdExpbmVhclBDTTsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUZvcm1hdEZs
YWdzID0ga0F1ZGlvRm9ybWF0RmxhZ3NOYXRpdmVGbG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1hdEZs
YWdJc05vbkludGVybGVhdmVkOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQnl0ZXNQZXJQYWNr
ZXQgPSBieXRlc1BlckZsb2F0OwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tRnJhbWVzUGVyUGFj
a2V0ID0gMTsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJ5dGVzUGVyRnJhbWUgPSBieXRlc1Bl
ckZsb2F0OwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZSA9IG51bWJl
ck9mQ2hhbm5lbHM7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1CaXRzUGVyQ2hhbm5lbCA9IGJp
dHNQZXJCeXRlICogYnl0ZXNQZXJGbG9hdDsKKyAgICBvdXRGb3JtYXQubUZvcm1hdElEID0ga0F1
ZGlvRm9ybWF0TGluZWFyUENNOworICAgIG91dEZvcm1hdC5tRm9ybWF0RmxhZ3MgPSBrQXVkaW9G
b3JtYXRGbGFnc05hdGl2ZUZsb2F0UGFja2VkIHwga0F1ZGlvRm9ybWF0RmxhZ0lzTm9uSW50ZXJs
ZWF2ZWQ7CisgICAgb3V0Rm9ybWF0Lm1CeXRlc1BlclBhY2tldCA9IG91dEZvcm1hdC5tQnl0ZXNQ
ZXJGcmFtZSA9IGJ5dGVzUGVyRmxvYXQ7CisgICAgb3V0Rm9ybWF0Lm1GcmFtZXNQZXJQYWNrZXQg
PSAxOworICAgIG91dEZvcm1hdC5tQml0c1BlckNoYW5uZWwgPSBiaXRzUGVyQnl0ZSAqIGJ5dGVz
UGVyRmxvYXQ7CiAKICAgICBpZiAoc2FtcGxlUmF0ZSkKLSAgICAgICAgbV9jbGllbnREYXRhRm9y
bWF0Lm1TYW1wbGVSYXRlID0gc2FtcGxlUmF0ZTsKKyAgICAgICAgb3V0Rm9ybWF0Lm1TYW1wbGVS
YXRlID0gc2FtcGxlUmF0ZTsKKworICAgIHJldHVybiBvdXRGb3JtYXQ7Cit9CiAKLSAgICBpZiAo
UEFMOjpFeHRBdWRpb0ZpbGVTZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlv
RmlsZVByb3BlcnR5X0NsaWVudERhdGFGb3JtYXQsIHNpemVvZihBdWRpb1N0cmVhbUJhc2ljRGVz
Y3JpcHRpb24pLCAmbV9jbGllbnREYXRhRm9ybWF0KSAhPSBub0VycikKK1JlZlB0cjxBdWRpb0J1
cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhU
b01vbm8pCit7CisgICAgU0ludDY0IG51bWJlck9mRnJhbWVzSW42NCA9IG51bWJlck9mRnJhbWVz
KCk7CisgICAgaWYgKG51bWJlck9mRnJhbWVzSW42NCA8PSAwKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAotICAgIC8vIENoYW5nZSBudW1iZXJPZkZyYW1lczY0IHRvIGRlc3RpbmF0aW9uIHNh
bXBsZS1yYXRlCi0gICAgbnVtYmVyT2ZGcmFtZXM2NCA9IG51bWJlck9mRnJhbWVzNjQgKiAobV9j
bGllbnREYXRhRm9ybWF0Lm1TYW1wbGVSYXRlIC8gZmlsZVNhbXBsZVJhdGUpOwotICAgIHNpemVf
dCBudW1iZXJPZkZyYW1lcyA9IHN0YXRpY19jYXN0PHNpemVfdD4obnVtYmVyT2ZGcmFtZXM2NCk7
CisgICAgYXV0byBpbkZvcm1hdCA9IGZpbGVEYXRhRm9ybWF0KCk7CisgICAgaWYgKCFpbkZvcm1h
dCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3Jp
cHRpb24gb3V0Rm9ybWF0ID0gY2xpZW50RGF0YUZvcm1hdCgqaW5Gb3JtYXQsIHNhbXBsZVJhdGUp
OworICAgIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzID0gaW5Gb3JtYXQtPm1DaGFubmVsc1BlckZy
YW1lOworICAgIGRvdWJsZSBmaWxlU2FtcGxlUmF0ZSA9IGluRm9ybWF0LT5tU2FtcGxlUmF0ZTsK
KyAgICBTSW50NjQgbnVtYmVyT2ZGcmFtZXNPdXQ2NCA9IG51bWJlck9mRnJhbWVzSW42NCAqIChv
dXRGb3JtYXQubVNhbXBsZVJhdGUgLyBmaWxlU2FtcGxlUmF0ZSk7CisgICAgc2l6ZV90IG51bWJl
ck9mRnJhbWVzID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihudW1iZXJPZkZyYW1lc091dDY0KTsKICAg
ICBzaXplX3QgYnVzQ2hhbm5lbENvdW50ID0gbWl4VG9Nb25vID8gMSA6IG51bWJlck9mQ2hhbm5l
bHM7CiAKICAgICAvLyBDcmVhdGUgQXVkaW9CdXMgd2hlcmUgd2UnbGwgcHV0IHRoZSBQQ00gYXVk
aW8gZGF0YQogICAgIGF1dG8gYXVkaW9CdXMgPSBBdWRpb0J1czo6Y3JlYXRlKGJ1c0NoYW5uZWxD
b3VudCwgbnVtYmVyT2ZGcmFtZXMpOwotICAgIGF1ZGlvQnVzLT5zZXRTYW1wbGVSYXRlKG5hcnJv
d1ByZWNpc2lvblRvRmxvYXQobV9jbGllbnREYXRhRm9ybWF0Lm1TYW1wbGVSYXRlKSk7IC8vIHNh
dmUgZm9yIGxhdGVyCi0KLSAgICAvLyBPbmx5IGFsbG9jYXRlZCBpbiB0aGUgbWl4VG9Nb25vIGNh
c2U7IGRlYWxsb2NhdGVkIG9uIGRlc3RydWN0aW9uLgotICAgIEF1ZGlvRmxvYXRBcnJheSBsZWZ0
Q2hhbm5lbDsKLSAgICBBdWRpb0Zsb2F0QXJyYXkgcmlnaHRDaGFubmVsOworICAgIGF1ZGlvQnVz
LT5zZXRTYW1wbGVSYXRlKG5hcnJvd1ByZWNpc2lvblRvRmxvYXQob3V0Rm9ybWF0Lm1TYW1wbGVS
YXRlKSk7IC8vIHNhdmUgZm9yIGxhdGVyCiAKLSAgICBBdWRpb0J1ZmZlckxpc3QqIGJ1ZmZlckxp
c3QgPSB0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CisgICAgQXVk
aW9CdWZmZXJMaXN0SG9sZGVyIGJ1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CiAgICAgaWYg
KCFidWZmZXJMaXN0KSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAidHJ5
Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KCVsZCkgcmV0dXJuZWQgbnVsbCIsIG51bWJlck9mQ2hhbm5l
bHMpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAgICAgY29uc3Qgc2l6ZV90IGJ1
ZmZlclNpemUgPSBudW1iZXJPZkZyYW1lcyAqIHNpemVvZihmbG9hdCk7CiAKKyAgICAvLyBPbmx5
IGFsbG9jYXRlZCBpbiB0aGUgbWl4VG9Nb25vIGNhc2U7IGRlYWxsb2NhdGVkIG9uIGRlc3RydWN0
aW9uLgorICAgIEF1ZGlvRmxvYXRBcnJheSBsZWZ0Q2hhbm5lbDsKKyAgICBBdWRpb0Zsb2F0QXJy
YXkgcmlnaHRDaGFubmVsOworCiAgICAgUkVMRUFTRV9BU1NFUlQoYnVmZmVyTGlzdC0+bU51bWJl
ckJ1ZmZlcnMgPT0gbnVtYmVyT2ZDaGFubmVscyk7CiAgICAgaWYgKG1peFRvTW9ubyAmJiBudW1i
ZXJPZkNoYW5uZWxzID09IDIpIHsKICAgICAgICAgbGVmdENoYW5uZWwucmVzaXplKG51bWJlck9m
RnJhbWVzKTsKQEAgLTIyMiwxOCArNDIwLDkwIEBAIFJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxl
UmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAg
ICAgIH0KICAgICB9CiAKLSAgICBpZiAoIXZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxp
c3QpKSB7CisgICAgaWYgKCFidWZmZXJMaXN0LmlzVmFsaWQoKSkgewogICAgICAgICBSRUxFQVNF
X0xPR19GQVVMVChXZWJBdWRpbywgIkdlbmVyYXRlZCBidWZmZXIgaW4gQXVkaW9GaWxlUmVhZGVy
OjpjcmVhdGVCdXMoKSBkaWQgbm90IHBhc3MgdmFsaWRhdGlvbiIpOwogICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICAgICAgZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0
KTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgLy8gUmVhZCBmcm9tIHRo
ZSBmaWxlIChvciBpbi1tZW1vcnkgdmVyc2lvbikKLSAgICBVSW50MzIgZnJhbWVzVG9SZWFkID0g
bnVtYmVyT2ZGcmFtZXM7Ci0gICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlUmVhZChtX2V4dEF1ZGlv
RmlsZVJlZiwgJmZyYW1lc1RvUmVhZCwgYnVmZmVyTGlzdCkgIT0gbm9FcnIpIHsKLSAgICAgICAg
ZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KTsKLSAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgaWYgKG1fd2VibURhdGEpIHsKKyAgICAgICAgQXVkaW9Db252ZXJ0ZXJSZWYgY29u
dmVydGVyOworICAgICAgICBpZiAoUEFMOjpBdWRpb0NvbnZlcnRlck5ldygmKmluRm9ybWF0LCAm
b3V0Rm9ybWF0LCAmY29udmVydGVyKSAhPSBub0VycikKKyAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgICAgICBhdXRvIGNsZWFudXAgPSBbJl0oKSB7CisgICAgICAgICAgICBpZiAoY29u
dmVydGVyKQorICAgICAgICAgICAgICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3NlKGNvbnZl
cnRlcik7CisgICAgICAgIH07CisgICAgICAgIFVOVVNFRF9WQVJJQUJMRShjbGVhbnVwKTsgLy8g
bm90IHJlYWxseSwgYnV0IHdlIG1ha2UgdGhlIGNvbXBpbGVyIGhhcHB5LgorCisgICAgICAgIC8v
IERlc2NyaXB0aW9ucyBmb3IgX2RlY29tcHJlc3NlZF8gYXVkaW8gcGFja2V0cy4gaWdub3JlZCBi
dXQgbmVlZGVkLgorICAgICAgICBjb25zdCB1aW50MzJfdCBtYXhBdWRpb0ZyYW1lcyA9IDEyODsK
KyAgICAgICAgYXV0byBwYWNrZXRzID0gV1RGOjptYWtlVW5pcXVlQXJyYXk8QXVkaW9TdHJlYW1Q
YWNrZXREZXNjcmlwdGlvbj4obWF4QXVkaW9GcmFtZXMpOworCisgICAgICAgIHNpemVfdCBkZWNv
ZGVkRnJhbWVzID0gMDsKKyAgICAgICAgQXVkaW9CdWZmZXJMaXN0SG9sZGVyIGRlY29kZWRCdWZm
ZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOworICAgICAgICBpZiAoIWRlY29kZWRCdWZmZXJMaXN0
KQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgT1NTdGF0dXMgc3RhdHVz
OworICAgICAgICBmb3IgKGF1dG8mIHNhbXBsZSA6IG1fd2VibURhdGEtPm1fc2FtcGxlcykgewor
ICAgICAgICAgICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyID0gc2FtcGxlLT5zYW1w
bGVCdWZmZXIoKTsKKyAgICAgICAgICAgIGF1dG8gYnVmZmVyID0gUEFMOjpDTVNhbXBsZUJ1ZmZl
ckdldERhdGFCdWZmZXIoc2FtcGxlQnVmZmVyKTsKKyAgICAgICAgICAgIEFTU0VSVChQQUw6OkNN
QmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cyhidWZmZXIsIDAsIDApKTsKKyAgICAgICAgICAg
IGlmICghUEFMOjpDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMoYnVmZmVyLCAwLCAwKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgc2l6ZV90IHNy
Y1NpemUgPSBQQUw6OkNNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoKGJ1ZmZlcik7CisgICAgICAg
ICAgICBjaGFyKiBzcmNEYXRhID0gbnVsbHB0cjsKKyAgICAgICAgICAgIGlmIChQQUw6OkNNQmxv
Y2tCdWZmZXJHZXREYXRhUG9pbnRlcihidWZmZXIsIDAsIG51bGxwdHIsIG51bGxwdHIsICZzcmNE
YXRhKSAhPSBub0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAg
ICAgICAgc2l6ZV90IHBhY2tldERlc2NyaXB0aW9uc1NpemU7CisgICAgICAgICAgICBpZiAoUEFM
OjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1
ZmZlciwgMCwgbnVsbHB0ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUpICE9IG5vRXJyKQorICAg
ICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgc2l6ZV90IG51bURlc2Ny
aXB0aW9ucyA9IHBhY2tldERlc2NyaXB0aW9uc1NpemUgLyBzaXplb2YoQXVkaW9TdHJlYW1QYWNr
ZXREZXNjcmlwdGlvbik7CisgICAgICAgICAgICBpZiAoIW51bURlc2NyaXB0aW9ucykKKyAgICAg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgIGF1dG8gZGVzY3JpcHRpb25z
ID0gV1RGOjptYWtlVW5pcXVlQXJyYXk8QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbj4obnVt
RGVzY3JpcHRpb25zKTsKKyAgICAgICAgICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVk
aW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCBwYWNrZXREZXNjcmlwdGlv
bnNTaXplLCBkZXNjcmlwdGlvbnMuZ2V0KCksIG51bGxwdHIpICE9IG5vRXJyKQorICAgICAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgUGFzc3Rocm91Z2hVc2VyRGF0YSB1
c2VyRGF0YSA9IHsgVUludDMyKG51bWJlck9mQ2hhbm5lbHMpLCBVSW50MzIoc3JjU2l6ZSksIHNy
Y0RhdGEsIDAsIFVJbnQzMihudW1EZXNjcmlwdGlvbnMpLCBkZXNjcmlwdGlvbnMuZ2V0KCkgfTsK
KworICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgbnVtYmVyT2ZDaGFubmVsczsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgIGRlY29kZWRC
dWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tTnVtYmVyQ2hhbm5lbHMgPSAxOworICAgICAgICAgICAg
ICAgICAgICBpZiAoYnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGFCeXRlU2l6ZSA8PSBkZWNv
ZGVkRnJhbWVzICogc2l6ZW9mKGZsb2F0KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgUkVM
RUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJEZWNvZGVkIG1vcmUgZnJhbWVzIHRoYW4gZmlyc3Qg
Y2FsY3VsYXRlZCIpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZGVjb2RlZEJ1ZmZlckxp
c3QtPm1CdWZmZXJzW2ldLm1EYXRhQnl0ZVNpemUgPSBzdGQ6Om1pbjx1aW50MzJfdD4obWF4QXVk
aW9GcmFtZXMgKiBzaXplb2YoZmxvYXQpLCBidWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YUJ5
dGVTaXplIC0gZGVjb2RlZEZyYW1lcyAqIHNpemVvZihmbG9hdCkpOworICAgICAgICAgICAgICAg
ICAgICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGEgPSBzdGF0aWNfY2FzdDxm
bG9hdCo+KGJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1EYXRhKSArIGRlY29kZWRGcmFtZXM7Cisg
ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgLy8gaW46IHRoZSBtYXggbnVtYmVy
IG9mIHBhY2tldHMgd2UgY2FuIGhhbmRsZSBmcm9tIHRoZSBkZWNvZGVyLgorICAgICAgICAgICAg
ICAgIC8vIG91dDogdGhlIG51bWJlciBvZiBwYWNrZXRzIHRoZSBkZWNvZGVyIGlzIGFjdHVhbGx5
IHJldHVybmluZy4KKyAgICAgICAgICAgICAgICBVSW50MzIgbnVtRnJhbWVzID0gbnVtYmVyT2ZG
cmFtZXMgLSBkZWNvZGVkRnJhbWVzOworCisgICAgICAgICAgICAgICAgc3RhdHVzID0gUEFMOjpB
dWRpb0NvbnZlcnRlckZpbGxDb21wbGV4QnVmZmVyKGNvbnZlcnRlciwgcGFzc3Rocm91Z2hJbnB1
dERhdGFDYWxsYmFjaywgJnVzZXJEYXRhLCAmbnVtRnJhbWVzLCAqZGVjb2RlZEJ1ZmZlckxpc3Qs
IHBhY2tldHMuZ2V0KCkpOworCisgICAgICAgICAgICAgICAgaWYgKHN0YXR1cyAmJiBzdGF0dXMg
IT0ga05vTW9yZURhdGFFcnIpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgICAgICAgICAgICAgIGRlY29kZWRGcmFtZXMgKz0gbnVtRnJhbWVzOworICAgICAgICAgICAg
fSB3aGlsZSAoc3RhdHVzICE9IGtOb01vcmVEYXRhRXJyKTsKKyAgICAgICAgfQorCisgICAgICAg
IC8vIFRoZSBhY3R1YWwgZGVjb2RlZCBudW1iZXIgb2YgZnJhbWVzIG1heSBub3QgbWF0Y2ggdGhl
IG51bWJlciBvZiBmcmFtZXMgY2FsY3VsYXRlZAorICAgICAgICAvLyB3aGlsZSBkZW11eGluZy4g
SXQgd2lsbCBhbHdheXMgYmUgbG93ZXIuCisgICAgICAgIGF1ZGlvQnVzLT5zZXRMZW5ndGgoZGVj
b2RlZEZyYW1lcyk7CisgICAgICAgIG51bWJlck9mRnJhbWVzID0gZGVjb2RlZEZyYW1lczsKKyAg
ICB9IGVsc2UgeworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVTZXRQcm9wZXJ0eShtX2V4
dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0NsaWVudERhdGFGb3JtYXQsIHNp
emVvZihBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24pLCAmb3V0Rm9ybWF0KSAhPSBub0VycikK
KyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIC8vIFJlYWQgZnJvbSB0aGUg
ZmlsZSAob3IgaW4tbWVtb3J5IHZlcnNpb24pCisgICAgICAgIFVJbnQzMiBmcmFtZXNUb1JlYWQg
PSBudW1iZXJPZkZyYW1lczsKKyAgICAgICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlUmVhZChtX2V4
dEF1ZGlvRmlsZVJlZiwgJmZyYW1lc1RvUmVhZCwgKmJ1ZmZlckxpc3QpICE9IG5vRXJyKQorICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKG1peFRvTW9ubyAmJiBu
dW1iZXJPZkNoYW5uZWxzID09IDIpIHsKQEAgLTI0Myw5ICs1MTMsNiBAQCBSZWZQdHI8QXVkaW9C
dXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4
VG9Nb25vKQogICAgICAgICAgICAgZGVzdExbaV0gPSAwLjVmICogKGxlZnRDaGFubmVsW2ldICsg
cmlnaHRDaGFubmVsW2ldKTsKICAgICB9CiAKLSAgICAvLyBDbGVhbnVwCi0gICAgZGVzdHJveUF1
ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KTsKLQogICAgIHJldHVybiBhdWRpb0J1czsKIH0KIApA
QCAtMjU1LDYgKzUyMiwxMyBAQCBSZWZQdHI8QXVkaW9CdXM+IGNyZWF0ZUJ1c0Zyb21Jbk1lbW9y
eUF1ZGlvRmlsZShjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpegogICAgIHJldHVybiBy
ZWFkZXIuY3JlYXRlQnVzKHNhbXBsZVJhdGUsIG1peFRvTW9ubyk7CiB9CiAKKyNpZiAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKK1dURkxvZ0NoYW5uZWwmIEF1ZGlvRmlsZVJlYWRlcjo6bG9nQ2hhbm5l
bCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIExvZ01lZGlhOworfQorI2VuZGlmCisKIH0gLy8gV2Vi
Q29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oCmlu
ZGV4IDBiYmJiYTI3ODU3ZDk3OWVjYzY4OGY4N2YwMzM5ZjY2NWVmNDI1MjkuLmY2MTczMzc5ZTAx
MzRhMWRhNWIzODIzOGVkMzhhNWFhMjJjOWQ5M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaApAQCAt
MzIsNiArMzIsOCBAQAogI2lmIEVOQUJMRShXRUJfQVVESU8pCiAKICNpbmNsdWRlIDxDb3JlQXVk
aW8vQ29yZUF1ZGlvVHlwZXMuaD4KKyNpbmNsdWRlIDxvcHRpb25hbD4KKyNpbmNsdWRlIDx3dGYv
TG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiB1c2luZyBFeHRBdWRp
b0ZpbGVSZWYgPSBzdHJ1Y3QgT3BhcXVlRXh0QXVkaW9GaWxlKjsKQEAgLTQwLDEyICs0MiwxOCBA
QCB1c2luZyBBdWRpb0ZpbGVJRCA9IHN0cnVjdCBPcGFxdWVBdWRpb0ZpbGVJRCo7CiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEF1ZGlvQnVzOworY2xhc3MgU291cmNlQnVmZmVyUGFyc2Vy
V2ViTTsKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhOwogCiAvLyBXcmFwcGVyIGNsYXNz
IGZvciBBdWRpb0ZpbGUgYW5kIEV4dEF1ZGlvRmlsZSBDb3JlQXVkaW8gQVBJcyBmb3IgcmVhZGlu
ZyBmaWxlcyBhbmQgaW4tbWVtb3J5IHZlcnNpb25zIG9mIHRoZW0uLi4KIAotY2xhc3MgQXVkaW9G
aWxlUmVhZGVyIHsKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcgorI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorICAgIDogcHVibGljIExvZ2dlckhlbHBlcgorI2VuZGlmCit7CiBwdWJsaWM6Ci0gICAg
ZXhwbGljaXQgQXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6
ZSk7CisgICAgQXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6
ZSk7CiAgICAgfkF1ZGlvRmlsZVJlYWRlcigpOwogCiAgICAgUmVmUHRyPEF1ZGlvQnVzPiBjcmVh
dGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pOyAvLyBSZXR1cm5zIG51bGxw
dHIgb24gZXJyb3IKQEAgLTUzLDkgKzYxLDIwIEBAIHB1YmxpYzoKICAgICBjb25zdCB2b2lkKiBk
YXRhKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhOyB9CiAgICAgc2l6ZV90IGRhdGFTaXplKCkgY29u
c3QgeyByZXR1cm4gbV9kYXRhU2l6ZTsgfQogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisg
ICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5n
ZXQoKTsgfQorICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KKyAgICBXVEZMb2dDaGFubmVsJiBsb2dDaGFubmVsKCkg
Y29uc3QgZmluYWw7CisgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gIkF1ZGlvRmlsZVJlYWRlckNvY29hIjsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAg
ICAgc3RhdGljIE9TU3RhdHVzIHJlYWRQcm9jKHZvaWQqIGNsaWVudERhdGEsIFNJbnQ2NCBwb3Np
dGlvbiwgVUludDMyIHJlcXVlc3RDb3VudCwgdm9pZCogYnVmZmVyLCBVSW50MzIqIGFjdHVhbENv
dW50KTsKICAgICBzdGF0aWMgU0ludDY0IGdldFNpemVQcm9jKHZvaWQqIGNsaWVudERhdGEpOwor
ICAgIGJvb2wgaXNNYXliZVdlYk0oY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFTaXpl
KSBjb25zdDsKKyAgICBzc2l6ZV90IG51bWJlck9mRnJhbWVzKCkgY29uc3Q7CisgICAgc3RkOjpv
cHRpb25hbDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+IGZpbGVEYXRhRm9ybWF0KCkgY29u
c3Q7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIGNsaWVudERhdGFGb3JtYXQoY29u
c3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwgZmxvYXQgc2FtcGxlUmF0
ZSkgY29uc3Q7CiAKICAgICBjb25zdCB2b2lkKiBtX2RhdGEgPSB7IG51bGxwdHIgfTsKICAgICBz
aXplX3QgbV9kYXRhU2l6ZSA9IHsgMCB9OwpAQCAtNjMsOCArODIsMTMgQEAgcHJpdmF0ZToKICAg
ICBBdWRpb0ZpbGVJRCBtX2F1ZGlvRmlsZUlEID0geyBudWxscHRyIH07CiAgICAgRXh0QXVkaW9G
aWxlUmVmIG1fZXh0QXVkaW9GaWxlUmVmID0geyBudWxscHRyIH07CiAKLSAgICBBdWRpb1N0cmVh
bUJhc2ljRGVzY3JpcHRpb24gbV9maWxlRGF0YUZvcm1hdDsKLSAgICBBdWRpb1N0cmVhbUJhc2lj
RGVzY3JpcHRpb24gbV9jbGllbnREYXRhRm9ybWF0OworICAgIHN0ZDo6dW5pcXVlX3B0cjxBdWRp
b0ZpbGVSZWFkZXJXZWJNRGF0YT4gbV93ZWJtRGF0YTsKKworI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorICAgIGNvbnN0IFJlZjxMb2dnZXI+IG1fbG9nZ2VyOworICAgIGNvbnN0IHZvaWQqIG1f
bG9nSWRlbnRpZmllcjsKKyNlbmRpZgorCiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCmlu
ZGV4IGExZTcxYmQ1MjIzMjI0MjU3MTZjNmI5ZTVhY2VkMDZlNTU4MjkzM2EuLjZhZTNiNWNkMWYy
ZWZkNjIzOWZiMzRkMDEzYTU4Nzc2ZjQxOGM2ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCkBA
IC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLXR5cGVkZWYgY29uc3Qgc3RydWN0IG9w
YXF1ZUNNRm9ybWF0RGVzY3JpcHRpb24gKkNNRm9ybWF0RGVzY3JpcHRpb25SZWY7CiB0eXBlZGVm
IHN0cnVjdCBvcGFxdWVDTVNhbXBsZUJ1ZmZlciAqQ01TYW1wbGVCdWZmZXJSZWY7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQppbmRleCBkMmI1YWM0NWYzMGZk
NGEzYWY1MWI0MjBkZTM3NjQ5YjExNTFjMjI3Li43MGRjMjQ4NGE1ZWQ2Njg4OWZjYTMzZWUyOTFl
YzEwNmE1ZjlmOWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCkBAIC0zOSw2ICszOSw3IEBA
CiAjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3RmL1N0cmluZ1ByaW50U3RyZWFt
Lmg+CiAKKyNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5oPgogI2ltcG9ydCA8
cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTY3
LDcgKzY4LDcgQEAgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2Uo
c2l6ZV90IG1heGltdW1TYW1wbGVDb3VudCwgTG9nZ2VySGUKIEF1ZGlvU2FtcGxlRGF0YVNvdXJj
ZTo6fkF1ZGlvU2FtcGxlRGF0YVNvdXJjZSgpCiB7CiAgICAgaWYgKG1fY29udmVydGVyKQotICAg
ICAgICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOworICAgICAgICBQQUw6OkF1
ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CiB9CiAKIE9TU3RhdHVzIEF1ZGlvU2Ft
cGxlRGF0YVNvdXJjZTo6c2V0dXBDb252ZXJ0ZXIoKQpAQCAtNzUsMTQgKzc2LDE0IEBAIE9TU3Rh
dHVzIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6c2V0dXBDb252ZXJ0ZXIoKQogICAgIEFTU0VSVCht
X2lucHV0RGVzY3JpcHRpb24gJiYgbV9vdXRwdXREZXNjcmlwdGlvbik7CiAKICAgICBpZiAobV9j
b252ZXJ0ZXIpIHsKLSAgICAgICAgQXVkaW9Db252ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsK
KyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOwogICAgICAg
ICBtX2NvbnZlcnRlciA9IG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKCptX2lucHV0RGVzY3Jp
cHRpb24gPT0gKm1fb3V0cHV0RGVzY3JpcHRpb24pCiAgICAgICAgIHJldHVybiAwOwogCi0gICAg
T1NTdGF0dXMgZXJyID0gQXVkaW9Db252ZXJ0ZXJOZXcoJm1faW5wdXREZXNjcmlwdGlvbi0+c3Ry
ZWFtRGVzY3JpcHRpb24oKSwgJm1fb3V0cHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0aW9u
KCksICZtX2NvbnZlcnRlcik7CisgICAgT1NTdGF0dXMgZXJyID0gUEFMOjpBdWRpb0NvbnZlcnRl
ck5ldygmbV9pbnB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9vdXRwdXRE
ZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fY29udmVydGVyKTsKICAgICBpZiAo
ZXJyKSB7CiAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVk
VGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBlcnJdIHsKICAgICAgICAgICAgIEVSUk9SX0xPRygi
QXVkaW9Db252ZXJ0ZXJOZXcgcmV0dXJuZWQgZXJyb3IgIiwgZXJyKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5t
bQppbmRleCBlM2Q2ZmFjNzA0MzY5NmZjN2VlMmE5MjE1ZGIyMWE4ZjdkZjgyNWE1Li5hMzJkZjYy
MDQ4ZDMyZDdiMTM0ZGJmNTZkYTAwN2I3MGVjMjQ3M2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tCkBA
IC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoR0FNRVBBRCkgJiYgUExBVEZPUk0oTUFDKQog
CisjaW1wb3J0ICJHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5oIgogI2ltcG9ydCAiR2Ft
ZXBhZFByb3ZpZGVyQ2xpZW50LmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJQbGF0
Zm9ybUdhbWVwYWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RyYWNrUHJpdmF0ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVHJhY2tQcml2YXRlQmFzZS5jcHAKaW5kZXggNGQ4ZWU2MmUwMWI4ZWFlYmFjYzZkMjhiM2Ew
OTg1Mjk1MmM1ZDgwYS4uYzA2NmMyZDQ4Nzk3YTRhYWIzYjliZTJhMGVkZDRkODM4YjRiZjVjMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRl
QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2
YXRlQmFzZS5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoVklERU8pCiAKICNpbmNs
dWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpD
LmgKaW5kZXggZDAzY2RjOGRkNjI1NDE2MDk5YTUzNzEzNWVlMTFlYzkxMDczNmEwMi4uY2NmOTBh
ZjhlNDgyMTRmNjcxMGRjOTQ3YjEwOTAyNDJiMDNkNGRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZP
YmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBQaXhlbEJ1ZmZlcjsKIAotY2xhc3MgV0VCQ09SRV9FWFBPUlQgTWVk
aWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2FtcGxlIHsKK2NsYXNzIE1lZGlhU2FtcGxl
QVZGT2JqQyA6IHB1YmxpYyBNZWRpYVNhbXBsZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxN
ZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIHVpbnQ2
NF90IHRyYWNrSUQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFTYW1wbGVBVkZPYmpDKHNh
bXBsZSwgdHJhY2tJRCkpOyB9CiAgICAgc3RhdGljIFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+IGNy
ZWF0ZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0K
QEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lk
IHNldEFzRGlzcGxheUltbWVkaWF0ZWx5KE1lZGlhU2FtcGxlJik7CiAgICAgc3RhdGljIFJldGFp
blB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gY2xvbmVTYW1wbGVCdWZmZXJBbmRTZXRBc0Rpc3BsYXlJ
bW1lZGlhdGVseShDTVNhbXBsZUJ1ZmZlclJlZik7CiAKLSAgICBSZWZQdHI8SlNDOjpVaW50OENs
YW1wZWRBcnJheT4gZ2V0UkdCQUltYWdlRGF0YSgpIGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNP
UkVfRVhQT1JUIFJlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VEYXRh
KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBNZWRpYVRpbWUgcHJlc2VudGF0aW9uVGltZSgpIGNv
bnN0IG92ZXJyaWRlOwogICAgIE1lZGlhVGltZSBkZWNvZGVUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7
CkBAIC01OSwxNiArNTksMTYgQEAgcHVibGljOgogICAgIFNhbXBsZUZsYWdzIGZsYWdzKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1TYW1wbGUgcGxhdGZvcm1TYW1wbGUoKSBvdmVycmlk
ZTsKICAgICBzdGQ6Om9wdGlvbmFsPEJ5dGVSYW5nZT4gYnl0ZVJhbmdlKCkgY29uc3Qgb3ZlcnJp
ZGU7Ci0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAg
dm9pZCBvZmZzZXRUaW1lc3RhbXBzQnkoY29uc3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBzZXRUaW1lc3RhbXBzKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYpIG92
ZXJyaWRlOwotICAgIGJvb2wgaXNEaXZpc2FibGUoKSBjb25zdCBvdmVycmlkZTsKLSAgICBzdGQ6
OnBhaXI8UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVmUHRyPE1lZGlhU2FtcGxlPj4gZGl2aWRlKGNv
bnN0IE1lZGlhVGltZSYgcHJlc2VudGF0aW9uVGltZSwgVXNlRW5kVGltZSkgb3ZlcnJpZGU7Ci0g
ICAgUmVmPE1lZGlhU2FtcGxlPiBjcmVhdGVOb25EaXNwbGF5aW5nQ29weSgpIGNvbnN0IG92ZXJy
aWRlOworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNEaXZpc2FibGUoKSBjb25zdCBvdmVycmlk
ZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6OnBhaXI8UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVm
UHRyPE1lZGlhU2FtcGxlPj4gZGl2aWRlKGNvbnN0IE1lZGlhVGltZSYgcHJlc2VudGF0aW9uVGlt
ZSwgVXNlRW5kVGltZSkgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgUmVmPE1lZGlhU2Ft
cGxlPiBjcmVhdGVOb25EaXNwbGF5aW5nQ29weSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgVmlk
ZW9Sb3RhdGlvbiB2aWRlb1JvdGF0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9yb3Rh
dGlvbjsgfQogICAgIGJvb2wgdmlkZW9NaXJyb3JlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IG1fbWlycm9yZWQ7IH0KLSAgICB1aW50MzJfdCB2aWRlb1BpeGVsRm9ybWF0KCkgY29uc3QgZmlu
YWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdWludDMyX3QgdmlkZW9QaXhlbEZvcm1hdCgpIGNvbnN0
IGZpbmFsOwogCiAgICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9zYW1wbGUuZ2V0KCk7IH0KIApAQCAtNzcsMzUgKzc3LDE4IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgc2V0Qnl0ZVJhbmdlT2Zmc2V0KHNpemVfdCk7CiAKKyAgICBib29sIGlzTWVkaWFT
YW1wbGVBVkZPYmpDKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTt9CisKIHByb3RlY3RlZDoK
LSAgICBNZWRpYVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmIHNh
bXBsZSkKLSAgICAgICAgOiBtX3NhbXBsZShXVEZNb3ZlKHNhbXBsZSkpCi0gICAgewotICAgIH0K
LSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlKQotICAgICAg
ICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICB7Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2Jq
QyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkKLSAgICAgICAg
OiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9pZCh0cmFja0lEKQotICAgIHsKLSAgICB9
Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0
X3QgdHJhY2tJRCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9pZChB
dG9tU3RyaW5nOjpudW1iZXIodHJhY2tJRCkpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBs
ZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJvdGF0aW9u
LCBib29sIG1pcnJvcmVkKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAgICAgLCBt
X3JvdGF0aW9uKHJvdGF0aW9uKQotICAgICAgICAsIG1fbWlycm9yZWQobWlycm9yZWQpCi0gICAg
ewotICAgIH0KKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoUmV0YWluUHRy
PENNU2FtcGxlQnVmZmVyUmVmPiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFW
Rk9iakMoQ01TYW1wbGVCdWZmZXJSZWYpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxl
QVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiwgQXRvbVN0cmluZyB0cmFja0lEKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYsIHVpbnQ2NF90
IHRyYWNrSUQpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBs
ZUJ1ZmZlclJlZiwgVmlkZW9Sb3RhdGlvbiwgYm9vbCBtaXJyb3JlZCk7CisgICAgV0VCQ09SRV9F
WFBPUlQgdmlydHVhbCB+TWVkaWFTYW1wbGVBVkZPYmpDKCk7CiAKICAgICBzdGQ6Om9wdGlvbmFs
PE1lZGlhU2FtcGxlOjpCeXRlUmFuZ2U+IGJ5dGVSYW5nZUZvckF0dGFjaG1lbnQoQ0ZTdHJpbmdS
ZWYga2V5KSBjb25zdDsKIAotICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlQVZGT2JqQygpID0gZGVm
YXVsdDsKICAgICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IG1fc2FtcGxlOwogICAgIEF0
b21TdHJpbmcgbV9pZDsKICAgICBWaWRlb1JvdGF0aW9uIG1fcm90YXRpb24geyBWaWRlb1JvdGF0
aW9uOjpOb25lIH07CkBAIC0xMTQsMyArOTcsNiBAQCBwcm90ZWN0ZWQ6CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpNZWRp
YVNhbXBsZUFWRk9iakMpCitzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6TWVkaWFT
YW1wbGUmIHNhbXBsZSkgeyByZXR1cm4gc2FtcGxlLmlzTWVkaWFTYW1wbGVBVkZPYmpDKCk7IH0K
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhU2FtcGxlQVZGT2JqQy5tbQppbmRleCBjMGYxM2Q2ZWE1Yzk3NTc2N2NlOGY2MmFiNjg0MmQ3
ZDZmMGZiYjZiLi5jZjNjMzQxMGEzOGFkZWM0OTU3Yzk3MTQyYjMyNDIyNGQ1YWZkODEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVNhbXBsZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tCkBAIC00NSw2ICs0
NSwzMyBAQCBzdHJ1Y3QgV1RGOjpDRlR5cGVUcmFpdDxDTVNhbXBsZUJ1ZmZlclJlZj4gewogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZP
YmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4mJiBzYW1wbGUpCisgICAgOiBtX3NhbXBs
ZShXVEZNb3ZlKHNhbXBsZSkpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxl
QVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUpCisgICAgOiBtX3NhbXBsZShzYW1wbGUp
Cit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1
ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkKKyAgICA6IG1fc2FtcGxlKHNhbXBs
ZSkKKyAgICAsIG1faWQodHJhY2tJRCkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFT
YW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCkK
KyAgICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1faWQoQXRvbVN0cmluZzo6bnVtYmVyKHRy
YWNrSUQpKQoreworfQorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01T
YW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJvdGF0aW9uLCBib29sIG1pcnJv
cmVkKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9yb3RhdGlvbihyb3RhdGlvbikK
KyAgICAsIG1fbWlycm9yZWQobWlycm9yZWQpCit7Cit9CisKK01lZGlhU2FtcGxlQVZGT2JqQzo6
fk1lZGlhU2FtcGxlQVZGT2JqQygpID0gZGVmYXVsdDsKKwogUmVmUHRyPE1lZGlhU2FtcGxlQVZG
T2JqQz4gTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGVJbWFnZVNhbXBsZShQaXhlbEJ1ZmZlciYm
IHBpeGVsQnVmZmVyKQogewogICAgIGF1dG8gc2l6ZSA9IHBpeGVsQnVmZmVyLnNpemUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVE
ZWNvbXByZXNzaW9uU2Vzc2lvbi5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQppbmRleCA4ZWVmM2IyZWE2MDRi
ZDE5ODNkNzdkMzhiZjUyMWE4ZDIxZjIwZWQwLi5kMWM4NDQ4ODM2NzQwZmRiNzVjNDBhYzkzZjdk
ZDA5ZDc4ZjAzMDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1t
CkBAIC0zMSwxMCArMzEsMTAgQEAKICNpbXBvcnQgPENvcmVNZWRpYS9DTUJ1ZmZlclF1ZXVlLmg+
CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlvbi5oPgogI2ltcG9ydCA8cGFs
L2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPHBhbC9jZi9D
b3JlTWVkaWFTb2Z0TGluay5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQg
PHd0Zi9NZWRpYVRpbWUuaD4KICNpbXBvcnQgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CisjaW1wb3J0
IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAjaW1w
b3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1wb3J0IDx3dGYvV1RGU2VtYXBob3JlLmg+CkBAIC00Miw2
ICs0Miw3IEBACiAKICNpbXBvcnQgIkNvcmVWaWRlb1NvZnRMaW5rLmgiCiAjaW1wb3J0ICJWaWRl
b1Rvb2xib3hTb2Z0TGluay5oIgorI2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+
CiAKIC8vIEVxdWl2YWxlbnQgdG8gV1RGX0RFQ0xBUkVfQ0ZfVFlQRV9UUkFJVChDTVNhbXBsZUJ1
ZmZlcik7CiAvLyBOZWVkZWQgZHVlIHRvIHJlcXVpcmVtZW50IG9mIHNwZWNpZnlpbmcgdGhlIFBB
TCBuYW1lc3BhY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaAppbmRleCBmZWNlODEy
OWJkN2Y3ZmRlZDZhODA0YmE1MmY3OTUyNjFmZTY1ZDMwLi44NzEwNGQ4YjdiMzU3YzE2MGI2ZGNj
YzQxYmZlMWY4OWUwYTZjMjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgKQEAg
LTM0LDcgKzM0LDggQEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlw
dGlvbiogQ01Gb3JtYXREZXNjcmlwdGlvblJlZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1i
b29sIGlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBpc1Zv
cmJpc0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcmVnaXN0ZXJWb3Ji
aXNEZWNvZGVySWZOZWVkZWQoKTsKIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBj
cmVhdGVWb3JiaXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKHNpemVfdCwgY29uc3Qgdm9pZCopOwog
CiBzdHJ1Y3QgT3B1c0Nvb2tpZUNvbnRlbnRzIHsKQEAgLTUyLDcgKzUzLDggQEAgc3RydWN0IE9w
dXNDb29raWVDb250ZW50cyB7CiAgICAgYm9vbCBoYXNQYWRkaW5nIHsgZmFsc2UgfTsKIH07CiAK
LWJvb2wgaXNPcHVzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBpc09w
dXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9SVCBib29sIHJlZ2lzdGVyT3B1c0Rl
Y29kZXJJZk5lZWRlZCgpOwogYm9vbCBwYXJzZU9wdXNQcml2YXRlRGF0YShzaXplX3QgcHJpdmF0
ZURhdGFTaXplLCBjb25zdCB2b2lkKiBwcml2YXRlRGF0YSwgc2l6ZV90IGZyYW1lRGF0YVNpemUs
IGNvbnN0IHZvaWQqIGZyYW1lRGF0YSwgT3B1c0Nvb2tpZUNvbnRlbnRzJik7CiBSZXRhaW5QdHI8
Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlT3B1c0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24o
Y29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29j
b2EubW0KaW5kZXggMDZiZDQ4YWUwZDNkNjkxMjUwYjhhMjc1N2QwMjU2ZDQ0ODU5ZmNjNC4uMGUx
ZWIxYjc5OGEzYzdlYTY3ZWFiNzViYTM2ZTU4NWFkZDhjMTBhMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EubW0KQEAgLTMyLDIyICszMiwyOCBAQAogI2ltcG9ydCAiTG9nZ2luZy5o
IgogI2ltcG9ydCAiTWVkaWFVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oIgorI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvQ29kZWMuaD4KICNpbXBv
cnQgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbXBvbmVudC5oPgogI2ltcG9ydCA8QXVkaW9Ub29sYm94
L0F1ZGlvRm9ybWF0Lmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlvbi5o
PgogI2ltcG9ydCA8ZGxmY24uaD4KICNpbXBvcnQgPHd0Zi9GbGlwQnl0ZXMuaD4KICNpbXBvcnQg
PHd0Zi9TZWNvbmRzLmg+Ci0KICNpZiBFTkFCTEUoT1BVUykKICNpbXBvcnQgPGxpYndlYnJ0Yy9v
cHVzX2RlZmluZXMuaD4KICNlbmRpZgorI2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRM
aW5rLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShWT1JCSVMpIHx8IEVO
QUJMRShPUFVTKQogc3RhdGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeShjb25zdCBjaGFy
KiBkZWNvZGVyTmFtZSwgT1NUeXBlIGRlY29kZXJUeXBlKQogeworICAgIEF1ZGlvQ29tcG9uZW50
RGVzY3JpcHRpb24gZGVzYyB7IGtBdWRpb0RlY29kZXJDb21wb25lbnRUeXBlLCBkZWNvZGVyVHlw
ZSwgJ2FwcGwnLCBrQXVkaW9Db21wb25lbnRGbGFnX1NhbmRib3hTYWZlLCAwIH07CisgICAgQXVk
aW9Db21wb25lbnQgY29tcCA9IFBBTDo6QXVkaW9Db21wb25lbnRGaW5kTmV4dCgwLCAmZGVzYyk7
CisgICAgaWYgKGNvbXApCisgICAgICAgIHJldHVybiB0cnVlOyAvLyBBbHJlYWR5IHJlZ2lzdGVy
ZWQuCisKICAgICBjb25zdGV4cHIgY2hhciBhdWRpb0NvbXBvbmVudHNEeWxpYltdID0gIi9TeXN0
ZW0vTGlicmFyeS9Db21wb25lbnRzL0F1ZGlvQ29kZWNzLmNvbXBvbmVudC9Db250ZW50cy9NYWNP
Uy9BdWRpb0NvZGVjcyI7CiAgICAgdm9pZCAqaGFuZGxlID0gZGxvcGVuKGF1ZGlvQ29tcG9uZW50
c0R5bGliLCBSVExEX0xBWlkgfCBSVExEX0xPQ0FMKTsKICAgICBpZiAoIWhhbmRsZSkKQEAgLTU3
LDcgKzYzLDYgQEAgc3RhdGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeShjb25zdCBjaGFy
KiBkZWNvZGVyTmFtZSwgT1NUeXBlIGRlY29kZXJUeXBlKQogICAgIGlmICghZGVjb2RlckZhY3Rv
cnkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEF1ZGlvQ29tcG9uZW50RGVzY3JpcHRp
b24gZGVzYyB7ICdhZGVjJywgZGVjb2RlclR5cGUsICdhcHBsJywga0F1ZGlvQ29tcG9uZW50Rmxh
Z19TYW5kYm94U2FmZSwgMCB9OwogICAgIGlmICghQXVkaW9Db21wb25lbnRSZWdpc3RlcigmZGVz
YywgQ0ZTVFIoIiIpLCAwLCBkZWNvZGVyRmFjdG9yeSkpIHsKICAgICAgICAgZGxjbG9zZShoYW5k
bGUpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC03MSw3ICs3Niw3IEBAIHN0YXRpYyBSZXRh
aW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlv
bkZvckZvcm1hdChPCiAgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIGFzYmQgeyB9Owog
ICAgIGFzYmQubUZvcm1hdElEID0gZm9ybWF0SUQ7CiAgICAgdWludDMyX3Qgc2l6ZSA9IHNpemVv
Zihhc2JkKTsKLSAgICBhdXRvIGVycm9yID0gQXVkaW9Gb3JtYXRHZXRQcm9wZXJ0eShrQXVkaW9G
b3JtYXRQcm9wZXJ0eV9Gb3JtYXRJbmZvLCBtYWdpY0Nvb2tpZS5zaXplKCksIG1hZ2ljQ29va2ll
LmRhdGEoKSwgJnNpemUsICZhc2JkKTsKKyAgICBhdXRvIGVycm9yID0gUEFMOjpBdWRpb0Zvcm1h
dEdldFByb3BlcnR5KGtBdWRpb0Zvcm1hdFByb3BlcnR5X0Zvcm1hdEluZm8sIG1hZ2ljQ29va2ll
LnNpemUoKSwgbWFnaWNDb29raWUuZGF0YSgpLCAmc2l6ZSwgJmFzYmQpOwogICAgIGlmIChlcnJv
cikgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYSwgImNyZWF0ZUF1ZGlvRm9ybWF0
RGVzY3JpcHRpb25Gb3JGb3JtYXQgZmFpbGVkIHdpdGggZXJyb3IgJWQgKCUuNHMpIiwgZXJyb3Is
IChjaGFyICopJmVycm9yKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0zMjYsMTkgKzMz
MSwzMCBAQCBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZyb21PcHVzQ29va2llQ29udGVu
dHMoY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJiBjbwogCiBib29sIGlzT3B1c0RlY29kZXJBdmFp
bGFibGUoKQogewotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKLQogI2lmIEVOQUJMRShPUFVT
KSAmJiBQTEFURk9STShNQUMpCiAgICAgaWYgKCFQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6
Om9wdXNEZWNvZGVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICByZXR1
cm4gcmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxz
ZTsKKyNlbmRpZgorfQorCitib29sIHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpCit7Cisj
aWYgRU5BQkxFKE9QVVMpICYmIFBMQVRGT1JNKE1BQykKKyAgICBzdGF0aWMgYm9vbCBhdmFpbGFi
bGU7CisKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsKICAgICBkaXNwYXRj
aF9vbmNlKCZvbmNlVG9rZW4sIF57Ci0gICAgICAgIGF2YWlsYWJsZSA9IHJlZ2lzdGVyRGVjb2Rl
ckZhY3RvcnkoIkFDT3B1c0RlY29kZXJGYWN0b3J5IiwgJ29wdXMnKTsKKyAgICAgICAgYXZhaWxh
YmxlID0gcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNPcHVzRGVjb2RlckZhY3RvcnkiLCBrQXVk
aW9Gb3JtYXRPcHVzKTsKICAgICB9KTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGF2YWlsYWJsZTsK
KyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIFJldGFpblB0cjxDTUZvcm1h
dERlc2NyaXB0aW9uUmVmPiBjcmVhdGVPcHVzQXVkaW9Gb3JtYXREZXNjcmlwdGlvbihjb25zdCBP
cHVzQ29va2llQ29udGVudHMmIGNvb2tpZUNvbnRlbnRzKQpAQCAtNDE4LDE5ICs0MzQsMzAgQEAg
c3RhdGljIFZlY3Rvcjx1aW50OF90PiBjb29raWVGcm9tVm9yYmlzQ29kZWNQcml2YXRlKHNpemVf
dCBjb2RlY1ByaXZhdGVTaXplLCBjb24KIAogYm9vbCBpc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUo
KQogewotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKLQogI2lmIEVOQUJMRShWT1JCSVMpICYm
IFBMQVRGT1JNKE1BQykKICAgICBpZiAoIVBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6dm9y
YmlzRGVjb2RlckVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgcmV0dXJu
IHJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxz
ZTsKKyNlbmRpZgorfQorCitib29sIHJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCkKK3sK
KyNpZiBFTkFCTEUoVk9SQklTKSAmJiBQTEFURk9STShNQUMpCisgICAgc3RhdGljIGJvb2wgYXZh
aWxhYmxlOworCiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47CiAgICAgZGlz
cGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewogICAgICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRl
Y29kZXJGYWN0b3J5KCJBQ1ZvcmJpc0RlY29kZXJGYWN0b3J5IiwgJ3ZvcmInKTsKICAgICB9KTsK
LSNlbmRpZgogCiAgICAgcmV0dXJuIGF2YWlsYWJsZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNl
OworI2VuZGlmCiB9CiAKIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVW
b3JiaXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKHNpemVfdCBwcml2YXRlRGF0YVNpemUsIGNvbnN0
IHZvaWQqIHByaXZhdGVEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxh
Z3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dl
YktpdC1hcHBsZXR2b3MucGxpc3QKaW5kZXggYWU0ZWU0NTdhMjEzMTMzOGY2YTViNzVlZDc1ZjYz
NmYzYTBmNTI2MC4uZTIxYjAyM2IxNDIzMDg3MjNjNTk3YzBmMWNmOTdhMThhMzI2N2I1OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlz
dAorKysgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0
CkBAIC0yLDk1ICsyLDEwMCBAQAogPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RU
RCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3Qt
MS4wLmR0ZCI+CiA8cGxpc3QgdmVyc2lvbj0iMS4wIj4KIDxkaWN0PgotICAgIDxrZXk+YXN5bmNf
ZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5
PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAg
PGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1
dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8
L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4K
LSAgICA8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVz
PC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tl
eT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAg
ICA8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5Pmdw
dV9wcm9jZXNzX3dlYnJ0Yzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8
L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0g
ICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAg
ICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5Pklu
QXBwQnJvd3NlclByaXZhY3k8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+aW5jcmVtZW50
YWxfcGRmPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAg
ICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0
dGVyeTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAg
ICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT52cDlfZGVjb2Rlcjwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PldlYkdQVTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5X
ZWJYUjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAg
ICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tl
eT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVl
Lz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX3BhcnNlcjwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgotICAgIDxkaWN0PgotICAg
ICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KKwk8
a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vz
c19jYW52YXNfcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29k
ZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5n
cHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwv
a2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+
CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmli
dXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1
ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5Pgor
CTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtl
eT5ncHVfcHJvY2Vzc193ZWJydGM8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+
CisJCTxmYWxzZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+
Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtl
eT5JbkFwcEJyb3dzZXJQcml2YWN5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5
PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgorCTxk
aWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PnN3
X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9r
ZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+dnA5X2RlY29kZXI8L2tleT4KKwk8ZGlj
dD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJH
UFU8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9k
aWN0PgorCTxrZXk+V2ViWFI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJ
CTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+CisJPGRp
Y3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+d2Vi
bV9wYXJzZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4K
Kwk8L2RpY3Q+CisJPGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5h
YmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PlJCX2Z1bGxfbWFuYWdlX1dL
X2pldHNhbTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgor
CTwvZGljdD4KIDwvZGljdD4KIDwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Zl
YXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0IGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3Mv
V2ViS2l0LWlvcy5wbGlzdAppbmRleCA2MjFjOTIxNjZjODkyY2I1NDFjZmE3NmI2MjM4MTU2Njhh
MWVjMjc3Li5iOGU1ZTA5Y2Y4OWI2MGMwODJlNjNhYWViNWRmNzBkOTkxYTMyMDE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0CisrKyBiL1Nv
dXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxpc3QKQEAgLTIsOTUgKzIsMTAw
IEBACiA8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4i
ICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlz
dCB2ZXJzaW9uPSIxLjAiPgogPGRpY3Q+Ci0gICAgPGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZs
b3dfc2Nyb2xsaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5
PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfY2Fu
dmFzX3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAg
ICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAg
ICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3By
b2Nlc3NfZG9tX3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJv
Y2Vzc19tZWRpYTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4K
LSAgICAgICAgPHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAg
PGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAg
PHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nl
c3Nfd2ViZ2w8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0g
ICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRj
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAg
ICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0g
ICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+dnA5X2RlY29kZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAg
PGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5XZWJHUFU8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0g
ICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViWFI8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+d2VibV9wYXJzZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFi
bGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5SQl9mdWxs
X21hbmFnZV9XS19qZXRzYW08L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+CisJPGtleT5hc3luY19mcmFtZV9h
bmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5
PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmlu
Zzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5
PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5Pgor
CQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3Jl
bmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4K
Kwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRp
Y3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJ
PC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2Vi
cnRjPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxr
ZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+
CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5JbkFwcEJyb3dzZXJQcml2
YWN5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwv
ZGljdD4KKwk8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2Jh
dHRlcnk8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJ
PC9kaWN0PgorCTxrZXk+dnA5X2RlY29kZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVk
PC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJHUFU8L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViWFI8
L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0
PgorCTxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV9wYXJzZXI8L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53
ZWJtX3dlYmF1ZGlvPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFs
c2UvPgorCTwvZGljdD4KKwk8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgorCTxk
aWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KIDwvZGljdD4K
IDwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQt
bWFjb3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxp
c3QKaW5kZXggNjIxYzkyMTY2Yzg5MmNiNTQxY2ZhNzZiNjIzODE1NjY4YTFlYzI3Ny4uYjhlNWUw
OWNmODliNjBjMDgyZTYzYWFlYjVkZjcwZDk5MWEzMjAxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQv
RmVhdHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdApAQCAtMiw5NSArMiwxMDAgQEAKIDwhRE9D
VFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93
d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgogPHBsaXN0IHZlcnNpb249
IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxp
bmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAg
IDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19jYW52YXNfcmVuZGVy
aW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAg
ICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4K
LSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+
Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19kb21f
cmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX21lZGlh
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAg
ICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0g
ICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZh
bHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAg
ICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAg
PGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9k
aWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgotICAgIDxkaWN0PgotICAg
ICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0g
ICAgPGtleT52cDlfZGVjb2Rlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYkdQVTwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZh
bHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJYUjwva2V5PgotICAgIDxkaWN0PgotICAg
ICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0g
ICAgPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53
ZWJtX3BhcnNlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4K
LSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dL
X2pldHNhbTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KKwk8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxv
d19zY3JvbGxpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVl
Lz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRl
czwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+
CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9r
ZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4K
Kwk8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwv
a2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxr
ZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJ
PGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tl
eT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8L2tleT4K
Kwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1
dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVl
Lz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4K
Kwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxr
ZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJ
PGtleT52cDlfZGVjb2Rlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PHRydWUvPgorCTwvZGljdD4KKwk8a2V5PldlYkdQVTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVu
YWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJYUjwva2V5PgorCTxk
aWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT53
ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJ
CTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNlcjwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fd2ViYXVk
aW88L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9k
aWN0PgorCTxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CisJPGRpY3Q+CisJCTxr
ZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgogPC9kaWN0PgogPC9wbGlzdD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC13YXRjaG9zLnBs
aXN0IGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3QKaW5k
ZXggYWU0ZWU0NTdhMjEzMTMzOGY2YTViNzVlZDc1ZjYzNmYzYTBmNTI2MC4uZTIxYjAyM2IxNDIz
MDg3MjNjNTk3YzBmMWNmOTdhMThhMzI2N2I1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9G
ZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0
dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3QKQEAgLTIsOTUgKzIsMTAwIEBACiA8IURPQ1RZ
UEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3
LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlzdCB2ZXJzaW9uPSIx
LjAiPgogPGRpY3Q+Ci0gICAgPGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5n
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmlu
Zzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0g
ICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgot
ICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3Jl
bmRlcmluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRy
dWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAg
ICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAg
ICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tl
eT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxz
ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAg
ICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8
a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2Rp
Y3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0g
ICAgPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAg
ICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAg
ICA8a2V5PnZwOV9kZWNvZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViR1BVPC9r
ZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFs
c2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAg
ICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAg
ICA8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5Pndl
Ym1fcGFyc2VyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tf
amV0c2FtPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAg
ICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93
X3Njcm9sbGluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUv
PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVz
PC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4K
KwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tl
eT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0Pgor
CTxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9r
ZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtl
eT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8
a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5
PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5Pgor
CTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwkJPGtleT5BdHRyaWJ1
dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVl
Lz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4K
Kwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxr
ZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJ
PGtleT52cDlfZGVjb2Rlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PHRydWUvPgorCTwvZGljdD4KKwk8a2V5PldlYkdQVTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVu
YWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJYUjwva2V5PgorCTxk
aWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT53
ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJ
CTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNlcjwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fd2ViYXVk
aW88L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9k
aWN0PgorCTxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CisJPGRpY3Q+CisJCTxr
ZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgogPC9kaWN0PgogPC9wbGlzdD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCA0NGJhODg1NTU5ZjEx
YjEyYjhhODUxZDc2OTkxMzI5ZDNiMTlmZjI4Li41YTQ5ZmVmMDg5NDgzMjFmNzBjY2NmOTY2ODVh
NjU3MjRhOTBhMjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCkBA
IC00NTEsNyArNDUxLDcgQEAgdm9pZCBHUFVQcm9jZXNzOjplbmFibGVWUDlEZWNvZGVycyhib29s
IHNob3VsZEVuYWJsZVZQOERlY29kZXIsIGJvb2wgc2hvdWxkRW5hYmwKIH0KICNlbmRpZgogCi0j
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgRU5BQkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQogdm9pZCBHUFVQcm9jZXNzOjpzZXRXZWJNUGFyc2VyRW5hYmxlZChib29sIGVuYWJs
ZWQpCiB7CiAgICAgaWYgKG1fd2ViTVBhcnNlckVuYWJsZWQgPT0gZW5hYmxlZCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCmluZGV4IDQ5YzNkNzcxYmYxNzRkOGY5ZmRjYzhkMjQx
YjMxMDc2YjBjNWI2YWYuLmZhYWY3YjEyMWY1MWMzMDc5ZTkzOGRhMzlkYmRlN2UwMmRhNTZlMzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaApAQCAtMTQxLDcgKzE0MSw3IEBA
IHByaXZhdGU6CiAgICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gYWRkaXRpb25hbFN0YXRlRm9y
RGlhZ25vc3RpY1JlcG9ydCgpIGNvbnN0IGZpbmFsOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAg
dm9pZCBzZXRXZWJNUGFyc2VyRW5hYmxlZChib29sKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDY5MWRhNzhkMmNm
OTMyOGVhNzllMjRjMmQ2NDYyMDAzNmI1ZTQyNDkuLjRmMDE5NjU0M2EzZDA1OGUwMTZjMzk2NmVk
YTE2NDdmYTYxYmJiMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9j
ZXNzLm1lc3NhZ2VzLmluCkBAIC01MSw3ICs1MSw3IEBAIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3Mg
TGVnYWN5UmVjZWl2ZXIgewogICAgIERpc3BsYXlDb25maWd1cmF0aW9uQ2hhbmdlZChDR0RpcmVj
dERpc3BsYXlJRCBkaXNwbGF5SUQsIENHRGlzcGxheUNoYW5nZVN1bW1hcnlGbGFncyBmbGFncykK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgRU5BQkxFKFZQOSkKKyNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQogICAgIFNldFdlYk1QYXJzZXJFbmFibGVkKGJvb2wgZW5hYmxl
ZCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXNEZWZhdWx0VmFsdWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzRGVmYXVsdFZhbHVlcy5jcHAKaW5kZXggMzIxMmU3YWUxMDE5NTUyNjc4N2ZlYjlkMzYwY2Y2
MDRmYzgzM2ZiNy4uMWFmZTc2NTA3OGNlZjUxMzRjODlmNWI0ZmRmYmU2MTZiMmZjZWEyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1
ZXMuY3BwCkBAIC0zMjgsNiArMzI4LDE1IEBAIGJvb2wgZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVk
KCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxl
ZCgpCit7CisjaWYgSEFWRShTWVNURU1fRkVBVFVSRV9GTEFHUykKKyAgICByZXR1cm4gaXNGZWF0
dXJlRmxhZ0VuYWJsZWQoIndlYm1fd2ViYXVkaW8iKTsKKyNlbmRpZgorCisgICAgcmV0dXJuIGZh
bHNlOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NPVVJDRSkKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVm
YXVsdFZhbHVlcy5oCmluZGV4IDkwMjQ3ZThjMWQxMjJjYTZmYTVkODdlNmZmZDZiNzI3OTYzNzNk
NTUuLjI5YTQwMWQ3YTQzZjk0M2FjOGY0YTA3MjgzOGQ3MzVlZTY5NjhhNmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCkBAIC0x
MTEsNiArMTExLDcgQEAgYm9vbCBkZWZhdWx0VlA5U1dEZWNvZGVyRW5hYmxlZE9uQmF0dGVyeSgp
OwogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIGJvb2wgZGVmYXVsdFdlYk1QYXJzZXJFbmFi
bGVkKCk7Citib29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCk7CiAjZW5kaWYKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IGVmNTUxOGFhZGIwMmQ1YmY1Y2JmMTY3
ZTEyNDA3ZWU5MDc0NzE1ZTcuLmViMmNkODI2ZDM3M2FlNWFkOTgzNDAzNThiZDljZmFiMjhkYjRj
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
cm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQcm94eUNvY29hLm1tCkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0ICJXZWJQcm9jZXNzTWVz
c2FnZXMuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQb29sLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgorI2ltcG9ydCA8V2ViQ29yZS9XZWJNQXVkaW9VdGls
aXRpZXNDb2NvYS5oPgogI2ltcG9ydCA8c3lzL3N5c2N0bC5oPgogI2ltcG9ydCA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvU2NvcGUuaD4KQEAgLTI5NSw2ICsyOTYsOSBAQCB2
b2lkIFdlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygpCiAK
ICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BBVENIX1FV
RVVFX1BSSU9SSVRZX0RFRkFVTFQsIDApLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMp
XSAoKSBtdXRhYmxlIHsKICAgICAgICAgQ0ZEYXRhUmVmIHJlZ2lzdHJhdGlvbnMgeyBudWxscHRy
IH07CisKKyAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7Cisg
ICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7CiAgICAgICAg
IGlmIChub0VyciAhPSBBdWRpb0NvbXBvbmVudEZldGNoU2VydmVyUmVnaXN0cmF0aW9ucygmcmVn
aXN0cmF0aW9ucykgfHwgIXJlZ2lzdHJhdGlvbnMpCiAgICAgICAgICAgICByZXR1cm47CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzRGVmYXVsdFZhbHVlcy5oCmluZGV4IGE1OTI5N2FmM2ZkYTU1Y2Y1M2Q5ZDkwODFhYjk5
N2M0ZjdiZTU0OWMuLjcxYWNkODA4ODY4MzU5ZmUxNjgxYjcwNGRhNWVhNTA3OWUzNjQ5NjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaApAQCAtODcsNiArODcsNyBAQCBib29sIGRlZmF1bHRX
aGVlbEV2ZW50R2VzdHVyZXNCZWNvbWVOb25CbG9ja2luZygpOwogCiAjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKIGJvb2wgZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCk7Citib29sIGRlZmF1bHRX
ZWJNV2ViQXVkaW9FbmFibGVkKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShWUDkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVs
dFZhbHVlcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNEZWZhdWx0VmFsdWVzLm1tCmluZGV4IDM1MmZkYzVlMThhZjJjNThiNDJmZTRlMGU3Y2Y2NzM3
MWQ2OGNlNmMuLjE2YzU5NzIyOTE5NzFmMTk5MWM0MGFlYTgxZDBmZmJkNmY2NTlkM2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZh
dWx0VmFsdWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNEZWZhdWx0VmFsdWVzLm1tCkBAIC0yOTgsNiArMjk4LDE1IEBAIGJvb2wgZGVmYXVs
dFdlYk1QYXJzZXJFbmFibGVkKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBkZWZhdWx0
V2ViTVdlYkF1ZGlvRW5hYmxlZCgpCit7CisjaWYgSEFWRShTWVNURU1fRkVBVFVSRV9GTEFHUykK
KyAgICByZXR1cm4gaXNGZWF0dXJlRmxhZ0VuYWJsZWQoIndlYm1fd2ViYXVkaW8iKTsKKyNlbmRp
ZgorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NPVVJD
RSkKIAogI2lmIEVOQUJMRShWUDkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGNlNTk5MTg5MWE4MzNjMDAyNjYwMWE0MDc0
NWU2MWZmZmRlZWVjNC4uNDZhMjM2MTUwMWU0NDMxYjZkMjA1MDcwMjIwZjZlOTdiZjczYTMxNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA3LTIxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5
YUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1ZGlvXSBBZGQgd2VibS9vcHVzIGNvbnRhaW5l
ciBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjcxMTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5NDM3MDY3PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RF
eHBlY3RhdGlvbnM6IE9ubHkgZW5hYmxlIHRlc3Qgb24gbWFjT1MgTW9udGVyZXkKKyAgICAgICAg
KiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sOiBmaXggd2hpdGVzcGFjZQor
ICAgICAgICAqIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvb3B1cy53
ZWJtOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvdm9yYmlzLndl
Ym06IEFkZGVkLgorCiAyMDIxLTA3LTIxICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29t
PgogCiAgICAgICAgIFVwZGF0ZSBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGZvciBpbXBv
cnRlZCB3M2MgSW5kZXhlZERCIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDg5NzliMTc4OTJmMjdmMTRhYmY2OTY0YWEwNWJkNTQ5YjQwOWM4YmMu
LmRlNzJhMWM4YTZjMTMxZjBjMjZlNDc2MDc5MTU1ZDViZjczNzdmMmYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNzY3LDYgKzE3NjcsNyBAQCB3ZWJr
aXQub3JnL2IvMjE0MTU1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9z
cy1vcmlnaW4tZW1iZWRkZXItcAogWyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gbWVkaWEvbWVk
aWEtc291cmNlL21lZGlhLXNvdXJjZS13ZWJtLXZvcmJpcy1wYXJ0aWFsLmh0bWwgWyBTa2lwIF0K
IFsgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS13ZWJt
LW9wdXMtcGFydGlhbC5odG1sIFsgU2tpcCBdCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSBt
ZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtd2VibS1vcHVzLXBhcnRpYWwtYWJvcnQuaHRtbCBbIFNr
aXAgXQorWyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRh
dGEtd2VibS1vcHVzLmh0bWwgWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9iLzIxNDQyMiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1ZGlv
Y29udGV4dC1pbnRlcmZhY2Uvc3VzcGVuZC1hZnRlci1jb25zdHJ1Y3QuaHRtbCBbIFBhc3MgRmFp
bHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1k
YXRhLWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1i
YXNpYy5odG1sCmluZGV4IGEzMzNiNjVhYWVmOWRiNjRlZDUzZmNiMDU2MzFjZmMxNTE0MDUwZDEu
LjdmMDhiMjkwNTkyY2MyZjM0NGZhNTY1ZmIwZGFhNGIyNjZmODgyOWQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApAQCAtNyw3ICs3
LDcgQEAKIDxib2R5PgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJCYXNpYyB0ZXN0cyBmb3IgZGVj
b2RlQXVkaW9EYXRhIGZ1bmN0aW9uLiIpOwotICAgIAorCiB3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CiAKIHZhciBjb250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgpOwpAQCAtMzQsMTkgKzM0
LDE5IEBAIGZ1bmN0aW9uIHJ1bkRlY29kZVRlc3QoaW5kZXgpIHsKICAgICB2YXIgcmVxdWVzdCA9
IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgIHJlcXVlc3Qub3BlbigiR0VUIiwgZGVjb2RlQ2Fz
ZUFycmF5W2luZGV4XS51cmwsIHRydWUpOwogICAgIHJlcXVlc3QucmVzcG9uc2VUeXBlID0gImFy
cmF5YnVmZmVyIjsKLSAgICAKKwogICAgIHJlcXVlc3Qub25sb2FkID0gZnVuY3Rpb24oKSB7CiAg
ICAgICAgIGNvbnRleHQuZGVjb2RlQXVkaW9EYXRhKHJlcXVlc3QucmVzcG9uc2UsIHN1Y2Nlc3ND
YWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Ci0gICAgICAgIAorCiAgICAgICAgIGZ1bmN0aW9uIHN1
Y2Nlc3NDYWxsYmFjaygpIHsKICAgICAgICAgICAgIGlmIChkZWNvZGVDYXNlQXJyYXlbaW5kZXhd
LnJlc3VsdCkKICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJUaGUgIiArIGRlY29kZUNhc2VB
cnJheVtpbmRleF0udXJsICsgICIgdGVzdDogc3VjY2Vzc0NhbGxiYWNrIGhhcyBiZWVuIGNhbGxl
ZCBjb3JyZWN0bHkuIik7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCArICIgdGVzdDogc3VjY2Vz
c0NhbGxiYWNrIHdhcyBub3QgY2FsbGVkLiIpOwotICAgICAgICAgICAgCisKICAgICAgICAgICAg
IHJ1bkRlY29kZVRlc3QoKytpbmRleCk7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAg
ZnVuY3Rpb24gZXJyb3JDYWxsYmFjaygpIHsKICAgICAgICAgICAgIGlmIChkZWNvZGVDYXNlQXJy
YXlbaW5kZXhdLnJlc3VsdCkKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaGUgIiArIGRl
Y29kZUNhc2VBcnJheVtpbmRleF0udXJsICsgIiB0ZXN0OiBlcnJvckNhbGxiYWNrIHdhcyBjYWxs
ZWQgaW5jb3JyZWN0bHkuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNv
ZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
NGJjMDEwOGQ0NGNkNWY0NzQ2ZjY5OTdlNjBjNWU0NzM1NmZhNGU0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0IHRoYXQgZGVjb2RpbmcgYW4gb3B1cyB3ZWJt
IGZpbGUgc3VjY2VlZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgU3Vj
Y2Vzc2Z1bGx5IGRlY29kZWQgY29udGVudAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2Rl
Y29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVj
b2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjU3NzI4MDEyNzAwYWYz
ZDY4MjRlMjA5MDg1ZjRkY2VlMzc4YzcwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sCkBAIC0wLDAgKzEsMzEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJyZXNvdXJjZXMvYXVkaW8tdGVzdGluZy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGRlY29kaW5nIGFuIG9wdXMg
d2VibSBmaWxlIHN1Y2NlZWRzIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
dmFyIGNvbnRleHQgPSBuZXcgd2luZG93LkF1ZGlvQ29udGV4dCgpOwordmFyIHJlcXVlc3QgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKTsKK3JlcXVlc3Qub3BlbigiR0VUIiwgJ3Jlc291cmNlcy9tZWRp
YS9vcHVzLndlYm0nLCB0cnVlKTsKK3JlcXVlc3QucmVzcG9uc2VUeXBlID0gImFycmF5YnVmZmVy
IjsKKworcmVxdWVzdC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBjb250ZXh0LmRlY29kZUF1
ZGlvRGF0YShyZXF1ZXN0LnJlc3BvbnNlLCAoYnVmZmVyKSA9PiB7CisgICAgICAgIHRlc3RQYXNz
ZWQoIlN1Y2Nlc3NmdWxseSBkZWNvZGVkIGNvbnRlbnQiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICB9LCAoKSA9PiB7CisgICAgICAgIHRlc3RGYWlsZWQoIkZhaWxlZCB0byBkZWNv
ZGUgZmlsZSIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgIH0pOworfQorcmVxdWVz
dC5zZW5kKCk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="456370"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433989</attachid>
            <date>2021-07-21 21:42:45 -0700</date>
            <delta_ts>2021-07-21 22:10:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210722144243.patch</filename>
            <type>text/plain</type>
            <size>92951</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLjczMzdlYjM2ZTI3NjEzNmNlMWE4MzczMTFjNjkyNTk3ZjEzYzk4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHdlYm1fd2ViYXVkaW8g
cHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3IgbWltZXR5
cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlzYWJsZWQg
YnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8bWFnb21l
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIgdG8gY29u
ZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJvY2Vzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0MTMuLjhm
MzNlN2ZjNWUxY2MyMTQ0MjA3ZGFjZDY3NjA0ZDhhYTU5ZDA1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4gV2ViIEF1
ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4gdGhlIHdl
YiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgZGVj
b2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJlYXNvbnMs
IGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxzIGFyZSBi
bG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1ZGlvIGNv
bXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkgcHJvY2Vz
cyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisgICAgICAg
IFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAg
ICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWlscyBmb3Ig
Vm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11eCB0aGUg
d2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0g
dG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVyYXRlIG92
ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3JtaW5nCisg
ICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRoZXJlIGFy
ZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVuY29kZXIg
ZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGlibGUKKyAg
ICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIu
CisgICAgICAgIC0gSWdub3JpbmcgdGhlIHNhbmRib3hpbmcgaXNzdWUsIFZvcmJpcyBjb250ZW50
IGZhaWwgdG8gZGVjb2RlLgorICAgICAgICAtIFdlIGNhbiBvbmx5IGRlY29kZSBtb25vIGFuZCBz
dGVyZW8gY29udGVudC4gT3B1cyBhbmQgVm9yYmlzIGxldCB5b3UgZGVmaW5lIGEKKyAgICAgICAg
Y3VzdG9tIGNoYW5uZWwgb3JkZXJpbmcsIHRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWQgd2l0aCBh
bWJpc29uaWMgYXVkaW8gKHdpdGggb3B1cyAyNTUgbW9kZSkuCisgICAgICAgIENvcmVNZWRpYSBk
b2Vzbid0IGVhc2lseSBkZWFsIHdpdGggc3VjaCByZS1vcmRlcmluZyBhcyBpdCBhcHBlYXJzIHRv
IGJlIGVzc2VudGlhbGx5CisgICAgICAgIGRlc2lnbmVkIGZvciBhdWRpYmxlIGNvbnRlbnQuIFdp
dGggbW9yZSB0aGFuIDIgY2hhbm5lbHMsIGRlY29kaW5nIHdpbGwgZWl0aGVyIGZhaWwKKyAgICAg
ICAgb3IgcHJvZHVjZSBjaGFubmVscyBpbiB0aGUgd3Jvbmcgb3JkZXIuCisKKyAgICAgICAgVGVz
dDogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKKworICAgICAgICAq
IEhlYWRlcnMuY21ha2U6IEV4cG9ydCBoZWFkZXIgc28gdGhhdCB3ZSBjYW4gcmVnaXN0ZXIgdGhl
IGRlY29kZXIgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBzYW1lIGFzIGFib3ZlLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5
VHlwZSBjb25zdCk6IE1ha2UgY2FuUGxheVR5cGUod2VibS9hdWRpbzsgY29kZWNzPW9wdXMpCisg
ICAgICAgIHdvcmsgaWYgZmVhdHVyZXMgaXMgc2V0LgorICAgICAgICAqIHBhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0V2ViTVdlYkF1ZGlvRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjp3ZWJNV2ViQXVkaW9FbmFibGVkIGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9NZWRpYVNhbXBsZS5oOiBBZGQgbmV3IGlzTWVkaWFTYW1wbGVBVkZPYmpDLCB3aWxsIGJl
IHVzZWQgdG8gYWxsb3cgc2FmZQorICAgICAgICBkb3duY2FzdGluZy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1czo6c2V0
TGVuZ3RoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oOiBBZGQgc2V0TGVu
Z3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhlIHJlcG9ydGVkIGxlbmd0aAorICAgICAgICB3aXRo
b3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmg6IEFkZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0
aGUgcmVwb3J0ZWQKKyAgICAgICAgbGVuZ3RoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlp
bmcgc3RvcmFnZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFk
ZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3Qp
OiBGaXggY2hlY2tlZEludCB1c2UgdG8gY2F0Y2ggcG90ZW50aWFsIG92ZXJmbG93CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6
IEFkZCBjb252ZW5pZW5jZSBjbGFzcyB0aGF0CisgICAgICAgIGZyZWUgd3JhcHBlZCBBdWRpb0J1
ZmZlckxpc3Qgb2JqZWN0IG9uIGV4aXQuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxp
c3RIb2xkZXI6On5BdWRpb0J1ZmZlckxpc3RIb2xkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvciBib29sIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3ItPiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yKiBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OmlzVmFsaWQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjppc01heWJlV2ViTSBjb25zdCk6IE1ldGhvZCB0byBj
aGVjayBpZiB0aGUgYnVmZmVyCisgICAgICAgIGNvbnRhaW5zIFdlYk0gZGF0YS4KKyAgICAgICAg
KFdlYkNvcmU6OnBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2spOiBSZXF1aXJlZCBmb3IgQXVk
aW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlci4KKyAgICAgICAgV2lsbCBmZWVkIHRoZSBkZWNv
ZGVyIHRoZSBkYXRhIHRvIGRlY29kZSwgc3BsaXR0aW5nIHRoZSBtdWx0aXBsZSBwYWNrZXRzIGZv
dW5kCisgICAgICAgIGluIHRoZSBDTVNhbXBsZUJ1ZmZlci4KKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMgY29uc3QpOiBSZXR1cm4gdGhlIHRvdGFsIG51
bWJlciBvZgorICAgICAgICBkZWNvZGVkIGZyYW1lcyBpbiB0aGUgcGFja2V0cy4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQgY29uc3QpOiBDcmVhdGUg
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uCisgICAgICAgIHJlbGF0ZWQgdG8gdGhlIGRlbXV4
ZWQgYXVkaW8gdHJhY2suIG51bGxvcHQgaWYgdW5zdXBwb3J0ZWQgY29udGVudC4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y2xpZW50RGF0YUZvcm1hdCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyk6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmg6CisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmg6IFJlbW92ZSB1bnVzZWQgdHlw
ZWRlZi4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UubW06CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6On5BdWRpb1Nh
bXBsZURhdGFTb3VyY2UpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZQorICAgICAgICBQQUwgc29m
dGxpbmtzCisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnNldHVwQ29u
dmVydGVyKTogRmx5LWJ5IGZpeCwgbWFrZSBpdCB1c2UgUEFMCisgICAgICAgIHNvZnRsaW5rcwor
ICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbTogRmx5
LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L1RyYWNrUHJpdmF0ZUJhc2UuY3BwOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVB
VkZPYmpDLmg6CisgICAgICAgIEZseS1ieSBmaXggcmVxdWlyZWQgYnkgd2Via2l0LXByZXBhcmUg
OiBkb24ndCB0YWcgdGhlIHdob2xlIGNsYXNzIGFzIFdFQkNPUkVfRVhQT1JULgorICAgICAgICBN
b3ZlIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIGZ1bmN0aW9uIGRlZmluaXRpb25zIG91dC1v
Zi1saW5lIHRvIHByZXZlbnQKKyAgICAgICAgbGlua2FnZSBlcnJvcnMuCisgICAgICAgIChpc1R5
cGUpOiBBZGQgdGVtcGxhdGUgc3BlY2lhbGl6YXRpb24gZm9yIHN0YXRpY19yZWZlcmVuY2VfY2Fz
dDxNZWRpYVNhbXBsZUFWRk9iakM+CisgICAgICAgIGFuZCBpczxNZWRpYVNhbXBsZUFWRk9iakM+
IHRvIHdvcmsuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMpOiBNb3ZlIGNvZGUKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06IEZseS1ieSBmaXgs
IGFkZCBtaXNzaW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oOiBFeHBvcnQgc29tZSBzeW1ib2xzLCBhZGQgbmV3Cisg
ICAgICAgIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lz
dGVyRGVjb2RlckZhY3RvcnkpOiBJbnN0ZWFkIG9mIGF0dGVtcHRpbmcgdG8gcmVnaXN0ZXIgdGhl
IGRlY29kZXIKKyAgICAgICAgYnkgZGwtb3BlbmluZyB0aGUgcmVxdWlyZWQgbGlicmFyeSwgZmly
c3QgYXR0ZW1wdGluZyB0byBzZWUgaWYgdGhlIGRlY29kZXIgaXMKKyAgICAgICAgYWxyZWFkeSBh
dmFpbGFibGUuIENhbGxpbmcgQXVkaW9Db21wb25lbnRSZWdpc3RlciBpbiB0aGUgd2ViIGNvbnRl
bnQgcHJvY2VzcworICAgICAgICB3aGVuIHRoZSBHUFUgcHJvY2VzcyBpcyBlbmFibGVkIHdpbGwg
ZmFpbCBkdWUgdG8gc2FuZGJveCBzZXR0aW5ncy4gV2hpY2ggd291bGQKKyAgICAgICAgaW5jb3Jy
ZWN0bHkgcmVwb3J0IHRoZSBjb2RlYyB0byBub3QgYmUgYXZhaWxhYmxlIHdoZW4gaXQgd2FzLgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCk6
CisgICAgICAgIChXZWJDb3JlOjppc09wdXNEZWNvZGVyQXZhaWxhYmxlKTogRmx5LWJ5IGZpeCwg
c2hvdWxkIHRoZSBtZXRob2QgYmUgY2FsbGVkCisgICAgICAgIG9uIG5vbi1tYWMgcGxhdGZvcm0g
aXQgd291bGQgaGF2ZSByZXR1cm4gdGhlIHVuaXRpYWxpemVkIHZhbHVlIG9mIHRoZSBhdmFpbGFi
bGUKKyAgICAgICAgc3RhdGljIHZhcmlhYmxlLgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJP
cHVzRGVjb2RlcklmTmVlZGVkKTogQWRkZWQKKyAgICAgICAgKFdlYkNvcmU6OmlzVm9yYmlzRGVj
b2RlckF2YWlsYWJsZSk6IFNhbWUgYXMgaXNPcHVzRGVjb2RlckF2YWlsYWJsZQorICAgICAgICAo
V2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQpOiBBZGRlZAorCiAyMDIxLTA3
LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQWRkIGxpbmtlZE9uT3JBZnRlciBjaGVjayBmb3IgcjI2OTE2MgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggZjAxOWQzY2UxMjAzZjNmYTEwNGVmOWZhYzRmZmE0MDZhYjkwMmY2MC4uZjJhYWNiYjg0
MDJkMGM0MTYxYTNmNmZiZjk5Mzk0ZjU4Y2M1M2RhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHZhcmlvdXMgQVZGb3VuZGF0aW9uIChBVkF1
ZGlvQ29udmVydGVyKSByZWxhdGVkIG1ldGhvZHMgYW5kCisgICAgICAgIENvcmVNZWRpYSB0byBh
Y2Nlc3MgcmVxdWlyZWQgQ01TYW1wbGVCdWZmZXIgcmVsYXRlZCBtZXRob2RzLgorCisgICAgICAg
ICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsu
aDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06CisKIDIwMjEt
MDctMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI4MDEyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTg3NjI1ODQyNjFiYWE5ZTMyMmU5
YTcwY2Y4ZDJhNmYwN2IwOTA5Ni4uYzM2MmU2NjNlNGNjZGUyZmMzYTc4ZWE0MjJlZmNiMWNhNzdh
NmQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2
ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1
cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZGVmYXVs
dCB2YWx1ZSBmb3Igd2VibV93ZWJhdWRpbyBwcmVmIGZvciB0aGUgZGlmZmVyZW50IHBsYXRmb3Jt
cy4KKyAgICAgICAgRGlzYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgcGxhdGZvcm1zLgorICAgICAg
ICBGbHktYnkgZml4OiBkb24ndCBtYWtlIHdlYm0gcGFyc2VyIGRlcGVuZGVudCBvbiBWUDkgc3Vw
cG9ydC4KKworICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0Ogor
ICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0OgorICAgICAgICAqIEZlYXR1
cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktp
dC13YXRjaG9zLnBsaXN0OgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZGVm
YXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlv
Q29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisKIDIwMjEtMDctMjEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSdW5uaW5nQm9hcmQga2lsbHMgdGhlIG5ldHdvcmsg
cHJvY2VzcyBpZiBpdCBpcyBzdGlsbCBob2xkaW5nIHRoZSAiaG9sZGluZyBsb2NrZWQgZmlsZSIg
YXNzZXJ0aW9uIHVwb24gc3VzcGVuc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRl
eCBjNDJlYmViYTA2N2MxNWQ3ZjVkYzBlOTBhYjNkYjQ1MmU5MjJhNGVkLi5iNDExODY0NGFiZjhi
NmUxMzhlM2U2NDk0NzU0ODA4M2M5OTNkYmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFt
bApAQCAtMTI2MSw2ICsxMjYxLDE4IEBAIFdlYk1QYXJzZXJFbmFibGVkOgogICAgIFdlYktpdDoK
ICAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCkKIAorV2Vi
TVdlYkF1ZGlvRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcworICBodW1hblJlYWRhYmxlTmFtZTogIldlYk0gV2ViIEF1ZGlvIgor
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgV2ViTSBXZWIgQXVkaW8iCisgIGNv
bmRpdGlvbjogRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktp
dExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJs
ZWQoKQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJB
dWRpb0VuYWJsZWQoKQorCiAjIEZJWE1FOiBJcyB0aGlzIGltcGxlbWVudGVkIGZvciBXZWJLaXRM
ZWdhY3k/IElmIG5vdCwgdGhpcyBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBXZWJLaXRMZWdhY3kg
ZW50aXJlbHkuCiBXZWJSVENIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkOgogICB0eXBlOiBi
b29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCAzYjFiYjU1MGY1NjgxYTRmNWRkMjM2MGExNDE4OWE4
ZWNhZDA1N2I5Li45YTYxZWVmZjU0YjdjNjUwMjBhMjhlOTRjNmJlZTNkNTQzYzc0NTlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0hlYWRlcnMuY21ha2UKQEAgLTEzMzUsNiArMTMzNSw4IEBAIHNldChXZWJDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9FeHRlbnNpb25z
R0xBTkdMRS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xB
TkdMRVV0aWxpdGllcy5oCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5oCisKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3QuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dERyYXdHbHlwaHNSZWNvcmRlci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCBmYzA2NjhhNGE5MWFmZTEwYjY1MTU5Y2Ew
ODJlMTgyODFmZDUwMzU3Li4zNGI3ZmM2ODYzYjI1ZDI1MGMzZGQ2MDhiZmQ5MGM5YmJhYmE0NzFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNw
cApAQCAtNDcsMTEgKzQ3LDE0IEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5
RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYgdGhlU291cmNlQnVmZmVyLCBz
aXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgdm9pZCogZGVzdGluYXRpb24p
LCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGRlc3RpbmF0aW9u
KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01C
bG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwgUEFMX0VYUE9SVCkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJs
b2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRo
ZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNl
dCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJ
VEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpLCBQQUxfRVhQT1JUKQog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNv
dXJjZUJ5dGVzLCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zm
c2V0SW50b0Rlc3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVz
dGluYXRpb25CdWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCksIFBBTF9F
WFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENv
cmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldEV4dGVuc2lvbnMsIENGRGljdGlvbmFyeVJl
ZiwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBD
TVNhbXBsZUJ1ZmZlckdldFR5cGVJRCwgQ0ZUeXBlSUQsICh2b2lkKSwgKCksIFBBTF9FWFBPUlQp
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsb2NrQnVmZmVyUmVmLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdl
dEZvcm1hdERlc2NyaXB0aW9uLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmLCAoQ01TYW1wbGVCdWZm
ZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVzY3JpcHRpb25z
U2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBwYWNrZXREZXNj
cmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCBQQUxfRVhQT1JU
KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVk
aWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywgT1NTdGF0dXMsIChDTVNhbXBs
ZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRleCwgQ01TYW1wbGVUaW1pbmdJ
bmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4LCB0aW1pbmdJbmZvT3V0KSwg
UEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFmYzU2ZGJmYjA1
ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLmRjMmQ4ZTBiZTkzNmJiMmRiZmQ1MmFjMmVkY2I1NWM4
ZjI1MTRjMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmgKQEAgLTQ5LDYgKzQ5LDEwIEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcywgT1NTdGF0CiAjZGVmaW5l
IENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVm
ZmVyQ29weURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoLCBzaXplX3QsIChDTUJsb2NrQnVmZmVy
UmVmIHRoZUJ1ZmZlciksICh0aGVCdWZmZXIpKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyR2V0RGF0
YUxlbmd0aCBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgKK1NP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
SXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwg
c2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3Ro
KSkKKyNkZWZpbmUgQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVN
ZWRpYV9DTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMKK1NPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpKQorI2RlZmluZSBDTUJs
b2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZl
ckNyZWF0ZUNvbnRpZ3VvdXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29y
ZU1lZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2
b2lkKiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6
ZV90IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0
ZXMsIGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgp
KQogI2RlZmluZSBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcyBzb2Z0TGlua19Db3JlTWVk
aWFfQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
SEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0RXh0ZW5zaW9ucywg
Q0ZEaWN0aW9uYXJ5UmVmLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2MpKQpA
QCAtNTksNiArNjMsOCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVN
ZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsbwogI2RlZmluZSBDTVNhbXBs
ZUJ1ZmZlckdldERhdGFCdWZmZXIgc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0
RGF0YUJ1ZmZlcgogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEs
IENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24sIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQogI2RlZmluZSBDTVNhbXBsZUJ1
ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZl
ckdldEZvcm1hdERlc2NyaXB0aW9uCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUws
IENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
cywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0RGVzY3JpcHRp
b25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCAoc2J1Ziwg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBwYWNrZXREZXNj
cmlwdGlvbnNTaXplTmVlZGVkT3V0KSkKKyNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0
cmVhbVBhY2tldERlc2NyaXB0aW9ucyBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJH
ZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywg
T1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRl
eCwgQ01TYW1wbGVUaW1pbmdJbmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4
LCB0aW1pbmdJbmZvT3V0KSkKICNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJ
bmZvIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8K
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiksIChzYnVm
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9u
U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29m
dExpbmsuaAppbmRleCBiMzI0MTU5YmUxZWZlN2E1ZTVmZTJiMjY0ZDQxYTZhMGM4NGZkNDliLi43
MDBlOWMzMmM0Y2ZiMWJkYzMwZWNmNDdhMDAwNjMwNzIwNTI2OTBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCkBAIC0zMjQs
NCArMzI0LDExIEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQVZGb3VuZGF0
aW9uLCBBVk91dHB1dENvbnRleHRPdXRwdXREZXZpY2VzRGlkCiAjZGVmaW5lIEFWT3V0cHV0Q29u
dGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24gUEFMOjpnZXRfQVZGb3VuZGF0
aW9uX0FWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24oKQog
I2VuZGlmIC8vIEhBVkUoQVZST1VURVBJQ0tFUlZJRVcpCiAKKyNpZiBQTEFURk9STShDT0NPQSkK
K1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbnZlcnRlcikKK1NPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0Zvcm1hdCkKK1NPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbXByZXNzZWRCdWZmZXIpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9QQ01CdWZmZXIpCisjZW5kaWYgLy8gUExBVEZPUk0o
Q09DT0EpCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggMzdjOGIx
ZmFmZDU4Y2NiYzZlODUwYzZmMzAxMTc2N2M3ZGEzMTY0NS4uNzMzOTg0NWUwNzI2NTgwMWUwNjQw
MzAzYjJlMjkxYTAxMjRlODcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCkBAIC0yMzAsNyArMjMwLDcgQEAgU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9TZXNzaW9uUm91dGUKIAogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRIVFRQQ29va2llc0tl
eSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0UmVxdWly
ZXNDdXN0b21VUkxMb2FkaW5nS2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQotI2VuZGlmCisj
ZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uU2V0
QXV0aG9yaXplZFRvVXNlQ2FtZXJhSW5NdWx0aXBsZUZvcmVncm91bmRBcHBMYXlvdXQsIHZvaWQs
IChBVkNhcHR1cmVTZXNzaW9uICpzZXNzaW9uKSwgKHNlc3Npb24pKQpAQCAtMjQ0LDQgKzI0NCwx
MSBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91
bmRhdGlvbiwgQVZSb3V0ZURldGVjdG9yTXVsdAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERl
dmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24sIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiAjZW5k
aWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9Db252ZXJ0ZXIsIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0Zvcm1hdCwgUEFMX0VYUE9SVCkK
K1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvUENNQnVmZmVy
LCBQQUxfRVhQT1JUKQorI2VuZGlmCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGYwMWI5OTI3ZTNjYzYyMmU5Y2NjMDBiMTFlYjJhMmNkZDAzZjc1MzcuLjRmNDk1N2Y1MGU4ZWI0
NGY2ZjA1ODE5MDcyZGMwYTUxNzNiZTFjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzMiw3ICsyMzIsNyBAQAogCQkwN0VF
NzZFQzFCRTk2REIwMDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RUU3NkVBMUJFOTZEQjAw
MEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAv
KiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUQxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFs
dGltZVZpZGVvU291cmNlTWFjLmggKi87IH07CiAJCTA3RjRFOTMzMjBCMzU4N0YwMDJFMzgwMyAv
KiBBVkFzc2V0TUlNRVR5cGVDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDdDOEFEMTIxRDA3M0Q2MzAwODdDNUNFIC8qIEFWQXNzZXRNSU1FVHlw
ZUNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJMDdGNUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1
ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgfTsKKwkJMDdG
NUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1ODJBNEY4
MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0Y1Q0ZGNjI1ODJBNTI5MDA2NjJFRjUg
LyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGMjI1ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EubW0gKi87IH07CiAJCTA3Rjg3Njg0MUFENTgwRjkwMDkwNTg0OSAvKiBN
ZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDdGODc2ODMxQUQ0QTk0NTAwOTA1ODQ5IC8qIE1lZGlhUGxheWJh
Y2tUYXJnZXRDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDdGOTQ0MTYxODY0RDA0NjAwNUQzMUNCIC8qIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RBRThDMDgxNzQ2Qjk1NzAwNTMyRDc4IC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBhM2IzYTJmMTE1N2MyYjdl
NTAwYjJhMDRlNDY4ZWQ1NmFkMjA0NGJjLi43ZDdjZDJjZTFkZWZiOGMwNTEwM2I0MzgxZGE3NWY3
MGI3MjgzNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAg
LTEwNTUsNyArMTA1NSw3IEBAIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogICAgIC8vIFRlbXBvcmFyaWx5IHdvcmsgYXJv
dW5kIGJ1ZyAyMjY5MjIuIEZvciBub3cgY2xhaW0gdGhhdCB0aGUgb3B1cyBhbmQgdm9yYmlzIGNv
ZGVjcyBhcmVuJ3Qgc3VwcG9ydGVkCiAgICAgLy8gc28gdGhhdCBzaXRlcyByZWx5aW5nIG9uIHRo
aXMgdGVzdCB0byBkZXRlcm1pbmUgaWYgd2ViYXVkaW8gdXNlIG9mIG9wdXMgb3Igdm9yYmlzIHdv
bid0IGVycm9yLgogICAgIGF1dG8gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0gICAg
aWYgKHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYg
KGNvZGVjcy5jb250YWlucygib3B1cyIpIHx8IGNvZGVjcy5jb250YWlucygidm9yYmlzIikpKQor
ICAgIGlmIChzdXBwb3J0ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVk
ICYmICgoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikgJiYgIXdlYk1XZWJBdWRpb0VuYWJsZWQoKSkg
fHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCiAgICAgICAgIHN1cHBvcnQgPSBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZDsKICNlbmRpZgogCkBAIC04MTc1LDYg
KzgxNzUsMTUgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNNZWRpYVN0cmVhbVNvdXJjZSgp
IGNvbnN0CiAjZW5kaWYKIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJNV2ViQXVkaW9F
bmFibGVkKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHJldHVybiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYk1XZWJBdWRpb0VuYWJs
ZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVN0cmVhbUNhcHR1cmVT
dGFydGVkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMTA1
MWMwNTg1M2ZjMDEyZWRkYWNkOGI3NGM5NDVhYmJhYzJkNTMyMC4uZjkyNmVkNjI3MzAxMWQ1MTY0
OGFkZWY1Nzk3ZGJlZGZhNmRiODJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTkzOSw2ICs5MzksOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IExvZ2dlciYgbWVk
aWFQbGF5ZXJMb2dnZXIoKSBmaW5hbCB7IHJldHVybiBsb2dnZXIoKTsgfQogI2VuZGlmCiAKKyAg
ICBib29sIHdlYk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdDsKKwogICAgIFRpbWVyIG1fcHJvZ3Jl
c3NFdmVudFRpbWVyOwogICAgIFRpbWVyIG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFRp
bWVyIG1fc2NhblRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaAppbmRleCBhMGQzY2VhNzlkN2UwYWUwNzQ4MjQwZGQyMmVlZTJkNTU3NTA0NGE2Li42
ODVhMGEyYWQ3NTQ3MjY5OWFlYmYyMTlmYTBjMjUxNTIxYmViMGI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMjM1LDYgKzIzNSw4IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2ViTVBhcnNlckVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJNUGFyc2VyRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQogICAgIGJvb2wgd2ViTVBhcnNlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYk1QYXJz
ZXJFbmFibGVkOyB9CisgICAgdm9pZCBzZXRXZWJNV2ViQXVkaW9FbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fd2ViTVdlYkF1ZGlvRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgd2Vi
TVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVdlYkF1ZGlvRW5hYmxlZDsg
fQogI2VuZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKQEAgLTM3MSw2ICszNzMsNyBAQCBwcml2
YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBib29sIG1fd2ViTVBhcnNlckVu
YWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV93ZWJNV2ViQXVkaW9FbmFibGVkIHsgZmFsc2Ug
fTsKICNlbmRpZgogCiAjaWYgSEFWRShDRUxFU1RJQUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaAppbmRleCA4ZGE2MDM3Nzg4MjQzMzMwYWUyNTBkOWMxMGM3MmVlMDU4OGU3NjBj
Li4wMjU4ZTVlYjRmM2Q2ODgzODE4YjNiNzFlMDljMGY4OTBmMDM0M2Y1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKQEAgLTU3LDcgKzU3LDcgQEAgc3RydWN0IFBsYXRmb3Jt
U2FtcGxlIHsKICAgICB9IHNhbXBsZTsKIH07CiAKLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlh
U2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CitjbGFz
cyBNZWRpYVNhbXBsZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4g
ewogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlKCkgPSBkZWZhdWx0OwogCkBAIC0x
MjUsNiArMTI1LDggQEAgcHVibGljOgogCiAgICAgICAgIHJldHVybiBvYmplY3QtPnRvSlNPTlN0
cmluZygpOwogICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhU2FtcGxlQVZGT2JqQygp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKaW5kZXggMjQzZTEwNmI5
ZTMzZGE5M2RlOWEwY2FkMzNiYzA4ZTkyMDY1MzIwMC4uN2YwM2MzMzFlZTIwMTBjOTg5MjlhMDMy
NGRjYWM5NTVkNjVmOGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9CdXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
QnVzLmNwcApAQCAtNzMsNiArNzMsMTYgQEAgdm9pZCBBdWRpb0J1czo6c2V0Q2hhbm5lbE1lbW9y
eSh1bnNpZ25lZCBjaGFubmVsSW5kZXgsIGZsb2F0KiBzdG9yYWdlLCBzaXplX3QgbGUKICAgICB9
CiB9CiAKK3ZvaWQgQXVkaW9CdXM6OnNldExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKQoreworICAg
IFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IG1f
bGVuZ3RoKTsKKyAgICBpZiAobmV3TGVuZ3RoID09IG1fbGVuZ3RoKQorICAgICAgICByZXR1cm47
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhbm5lbHMuc2l6ZSgpOyArK2kpCisg
ICAgICAgIG1fY2hhbm5lbHNbaV0tPnNldExlbmd0aChuZXdMZW5ndGgpOworICAgIG1fbGVuZ3Ro
ID0gbmV3TGVuZ3RoOworfQorCiB2b2lkIEF1ZGlvQnVzOjp6ZXJvKCkKIHsKICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQwZTgxMTIxMWI0ZGEyY2E4YzY3MGI1OGIz
Mjk2YjM1Y2U2OWNkNGEuLmVhNTg1Yzg0OGVhOTQxMjI3NDAyOWE4ODY3YWI5Y2NhYzcwNzRkNjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtODMsNiArODMs
OSBAQCBwdWJsaWM6CiAgICAgLy8gTnVtYmVyIG9mIHNhbXBsZS1mcmFtZXMKICAgICBzaXplX3Qg
bGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFJlZHVjZSB0aGUg
bnVtYmVyIG9mIGZyYW1lcyBhdmFpbGFibGUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYWxsb2NhdGVk
IG1lbW9yeSBzaXplLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpOworCiAg
ICAgLy8gU2FtcGxlLXJhdGUgOiAwLjAgaWYgdW5rbm93biBvciAiZG9uJ3QgY2FyZSIKICAgICBm
bG9hdCBzYW1wbGVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVSYXRlOyB9CiAgICAgdm9p
ZCBzZXRTYW1wbGVSYXRlKGZsb2F0IHNhbXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxl
UmF0ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9D
aGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApp
bmRleCA5NzViZDBiNWFiZDhmNzI1NWEwNWE3ZGQ3MGY5NjUwYjFkNDk0NjY3Li5jOTc2MTVmMGRh
MTUxYzIzZDQzM2NiNTYwNjdiYjU0Nzk0NjJhMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtNzQsNiArNzQsMTQgQEAgcHVibGljOgogICAg
IC8vIEhvdyBtYW55IHNhbXBsZS1mcmFtZXMgZG8gd2UgY29udGFpbj8KICAgICBzaXplX3QgbGVu
Z3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFNldCBuZXcgbGVuZ3Ro
LiBDYW4gb25seSBiZSBzZXQgdG8gYSB2YWx1ZSBsb3dlciB0aGFuIHRoZSBjdXJyZW50bHkKKyAg
ICAvLyBzZXQgbGVuZ3RoLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCisg
ICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG5l
d0xlbmd0aCA8PSBsZW5ndGgoKSk7CisgICAgICAgIG1fbGVuZ3RoID0gbmV3TGVuZ3RoOworICAg
IH0KKwogICAgIC8vIERpcmVjdCBhY2Nlc3MgdG8gUENNIHNhbXBsZSBkYXRhLiBOb24tY29uc3Qg
YWNjZXNzb3IgY2xlYXJzIHNpbGVudCBmbGFnLgogICAgIGZsb2F0KiBtdXRhYmxlRGF0YSgpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9GaWxlUmVhZGVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCmluZGV4IDVkNTZiOWVlMWEwZDNkNjdhNzljMzA3
NjFkMTM4MTVkN2MwNjQ0Y2UuLmVkZmNkNDM0NmFkOTExOThhNTlkNTUwZDNjMDhkNWIxYzhkNWEy
NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
RmlsZVJlYWRlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKQEAgLTM0LDIxICszNCwzNCBAQAogCiAjaW5j
bHVkZSAiQXVkaW9CdXMuaCIKICNpbmNsdWRlICJBdWRpb0ZpbGVSZWFkZXIuaCIKKyNpbmNsdWRl
ICJBdWRpb1NhbXBsZURhdGFTb3VyY2UuaCIKKyNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5o
IgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIkluYmFuZFRleHRUcmFj
a1ByaXZhdGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTYW1wbGVB
VkZPYmpDLmgiCisjaW5jbHVkZSAiVmlkZW9UcmFja1ByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJN
QXVkaW9VdGlsaXRpZXNDb2NvYS5oIgorI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbnZl
cnRlci5oPgogI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9FeHRlbmRlZEF1ZGlvRmlsZS5oPgogI2lu
Y2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8cGFsL2Nm
L0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CisjaW5jbHVkZSA8U291cmNlQnVmZmVyUGFyc2VyV2Vi
TS5oPgogI2luY2x1ZGUgPHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9G
YXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQXVk
aW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIEF1
ZGlvQnVmZmVyTGlzdCogdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KHNpemVfdCBudW1iZXJPZkJ1
ZmZlcnMpCiB7CisgICAgaWYgKCFudW1iZXJPZkJ1ZmZlcnMpCisgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIENoZWNrZWRTaXplIGJ1ZmZlckxpc3RTaXplID0gc2l6ZW9mKEF1ZGlvQnVmZmVy
TGlzdCkgLSBzaXplb2YoQXVkaW9CdWZmZXIpOwotICAgIGJ1ZmZlckxpc3RTaXplICs9IG51bWJl
ck9mQnVmZmVycyAqIHNpemVvZihBdWRpb0J1ZmZlcik7CisgICAgYnVmZmVyTGlzdFNpemUgKz0g
V1RGOjpjaGVja2VkUHJvZHVjdDxzaXplX3Q+KG51bWJlck9mQnVmZmVycywgc2l6ZW9mKEF1ZGlv
QnVmZmVyKSk7CiAgICAgaWYgKGJ1ZmZlckxpc3RTaXplLmhhc092ZXJmbG93ZWQoKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTg3LDEwICsxMDAsODYgQEAgc3RhdGljIGJvb2wgdmFs
aWRhdGVBdWRpb0J1ZmZlckxpc3QoQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0KQogICAgIHJl
dHVybiB0cnVlOwogfQogCisvLyBPbiBzdGFjayBSQUlJIGNsYXNzIHRoYXQgd2lsbCBmcmVlIHRo
ZSBhbGxvY2F0ZWQgQXVkaW9CdWZmZXJMaXN0IGFzIG5lZWRlZC4KK2NsYXNzIEF1ZGlvQnVmZmVy
TGlzdEhvbGRlciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQXVkaW9CdWZmZXJMaXN0SG9sZGVy
KHNpemVfdCBudW1iZXJPZkNoYW5uZWxzKQorICAgICAgICA6IG1fYnVmZmVyTGlzdCh0cnlDcmVh
dGVBdWRpb0J1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscykpCisgICAgeworICAgIH0KKworICAg
IH5BdWRpb0J1ZmZlckxpc3RIb2xkZXIoKQorICAgIHsKKyAgICAgICAgaWYgKG1fYnVmZmVyTGlz
dCkKKyAgICAgICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QobV9idWZmZXJMaXN0KTsKKyAg
ICB9CisKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gISFtX2J1
ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3QqIG9wZXJhdG9yLT4oKSBjb25zdCB7IHJl
dHVybiBtX2J1ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3QqIG9wZXJhdG9yKigpIGNv
bnN0IHsgcmV0dXJuIG1fYnVmZmVyTGlzdDsgfQorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsg
cmV0dXJuIHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7IH0KK3ByaXZhdGU6
CisgICAgQXVkaW9CdWZmZXJMaXN0KiBtX2J1ZmZlckxpc3Q7Cit9OworCitzdGF0aWMgY29uc3Rl
eHByIHVpbnQzMl90IGtPcHVzTWF4RnJhbWVMZW5ndGggPSA5NDsKK3N0YXRpYyBjb25zdGV4cHIg
dWludDMyX3Qga1ZvcmJpc01heEZyYW1lTGVuZ3RoID0gNDA5NjsKKworY2xhc3MgQXVkaW9GaWxl
UmVhZGVyV2ViTURhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworCitwdWJsaWM6
CisgICAgU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25TZWdtZW50IG1faW5p
dFNlZ21lbnQ7CisgICAgTWVkaWFUaW1lIG1fZHVyYXRpb247CisgICAgVmVjdG9yPFJlZjxNZWRp
YVNhbXBsZUFWRk9iakM+PiBtX3NhbXBsZXM7Cit9OworCiBBdWRpb0ZpbGVSZWFkZXI6OkF1ZGlv
RmlsZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpemUpCiAgICAgOiBtX2Rh
dGEoZGF0YSkKICAgICAsIG1fZGF0YVNpemUoZGF0YVNpemUpCisjaWYgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECisgICAgLCBtX2xvZ2dlcihMb2dnZXI6OmNyZWF0ZSh0aGlzKSkKKyAgICAsIG1fbG9n
SWRlbnRpZmllcihMb2dnZXJIZWxwZXI6OnVuaXF1ZUxvZ0lkZW50aWZpZXIoKSkKKyNlbmRpZgog
eworICAgIGlmIChpc01heWJlV2ViTShzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oZGF0YSks
IGRhdGFTaXplKSkgeworICAgICAgICBhdXRvIHBhcnNlciA9IGFkb3B0UmVmKG5ldyBTb3VyY2VC
dWZmZXJQYXJzZXJXZWJNKCkpOworICAgICAgICBib29sIGVycm9yID0gZmFsc2U7CisgICAgICAg
IHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IGF1ZGlvVHJhY2tJZDsKKyAgICAgICAgTWVkaWFUaW1l
IGR1cmF0aW9uOworICAgICAgICBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJbml0aWFsaXphdGlv
blNlZ21lbnQgaW5pdFNlZ21lbnQ7CisgICAgICAgIFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVBVkZP
YmpDPj4gc2FtcGxlczsKKyAgICAgICAgcGFyc2VyLT5zZXREaWRFbmNvdW50ZXJFcnJvckR1cmlu
Z1BhcnNpbmdDYWxsYmFjayhbJl0odWludDY0X3QpIHsKKyAgICAgICAgICAgIGVycm9yID0gdHJ1
ZTsKKyAgICAgICAgfSk7CisgICAgICAgIHBhcnNlci0+c2V0RGlkUGFyc2VJbml0aWFsaXphdGlv
bkRhdGFDYWxsYmFjayhbJl0oU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25T
ZWdtZW50JiYgaW5pdCkgeworICAgICAgICAgICAgZm9yIChhdXRvJiBhdWRpb1RyYWNrIDogaW5p
dC5hdWRpb1RyYWNrcykgeworICAgICAgICAgICAgICAgIGlmIChhdWRpb1RyYWNrLnRyYWNrICYm
IGF1ZGlvVHJhY2sudHJhY2stPnRyYWNrVUlEKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgZHVy
YXRpb24gPSBpbml0LmR1cmF0aW9uOworICAgICAgICAgICAgICAgICAgICBhdWRpb1RyYWNrSWQg
PSBhdWRpb1RyYWNrLnRyYWNrLT50cmFja1VJRCgpOworICAgICAgICAgICAgICAgICAgICBpbml0
U2VnbWVudCA9IFdURk1vdmUoaW5pdCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworICAgICAgICBwYXJz
ZXItPnNldERpZFByb3ZpZGVNZWRpYURhdGFDYWxsYmFjayhbJl0oUmVmPE1lZGlhU2FtcGxlPiYm
IHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCwgY29uc3QgU3RyaW5nJikgeworICAgICAgICAgICAg
aWYgKCFhdWRpb1RyYWNrSWQgfHwgdHJhY2tJRCAhPSAqYXVkaW9UcmFja0lkKQorICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlf
SU1QTElDQVRJT04oaXM8TWVkaWFTYW1wbGVBVkZPYmpDPihzYW1wbGUuZ2V0KCkpKTsKKyAgICAg
ICAgICAgIHNhbXBsZXMuYXBwZW5kKHN0YXRpY19yZWZlcmVuY2VfY2FzdDxNZWRpYVNhbXBsZUFW
Rk9iakM+KFdURk1vdmUoc2FtcGxlKSkpOworICAgICAgICB9KTsKKyAgICAgICAgcGFyc2VyLT5z
ZXRDYWxsT25DbGllbnRUaHJlYWRDYWxsYmFjayhbXShXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiBm
dW5jdGlvbikgeworICAgICAgICAgICAgZnVuY3Rpb24oKTsKKyAgICAgICAgfSk7CisgICAgICAg
IFZlY3Rvcjx1aW50OF90PiB2ZWN0b3Ioc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEp
LCBkYXRhU2l6ZSk7CisgICAgICAgIFNvdXJjZUJ1ZmZlclBhcnNlcjo6U2VnbWVudCBzZWdtZW50
KFdURk1vdmUodmVjdG9yKSk7CisgICAgICAgIHBhcnNlci0+YXBwZW5kRGF0YShXVEZNb3ZlKHNl
Z21lbnQpKTsKKyAgICAgICAgaWYgKGF1ZGlvVHJhY2tJZCkgeworICAgICAgICAgICAgcGFyc2Vy
LT5mbHVzaFBlbmRpbmdBdWRpb0J1ZmZlcnMoKTsKKyAgICAgICAgICAgIG1fd2VibURhdGEgPSBt
YWtlVW5pcXVlPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPihBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0
YSB7IFdURk1vdmUoaW5pdFNlZ21lbnQpLCBXVEZNb3ZlKGR1cmF0aW9uKSwgV1RGTW92ZShzYW1w
bGVzKSB9KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm47CisgICAgfQogICAgIGlmIChQQUw6
OkF1ZGlvRmlsZU9wZW5XaXRoQ2FsbGJhY2tzKHRoaXMsIHJlYWRQcm9jLCAwLCBnZXRTaXplUHJv
YywgMCwgMCwgJm1fYXVkaW9GaWxlSUQpICE9IG5vRXJyKQogICAgICAgICByZXR1cm47CiAKQEAg
LTExMSw2ICsyMDAsMTIgQEAgQXVkaW9GaWxlUmVhZGVyOjp+QXVkaW9GaWxlUmVhZGVyKCkKICAg
ICBtX2F1ZGlvRmlsZUlEID0gMDsKIH0KIAorYm9vbCBBdWRpb0ZpbGVSZWFkZXI6OmlzTWF5YmVX
ZWJNKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkgY29uc3QKK3sKKyAgICAv
LyBGcm9tIGh0dHBzOi8vbWltZXNuaWZmLnNwZWMud2hhdHdnLm9yZy8jc2lnbmF0dXJlLWZvci13
ZWJtCisgICAgcmV0dXJuIGRhdGFTaXplID49IDQgJiYgZGF0YVswXSA9PSAweDFBICYmIGRhdGFb
MV0gPT0gMHg0NSAmJiBkYXRhWzJdID09IDB4REYgJiYgZGF0YVszXSA9PSAweEEzOworfQorCiBP
U1N0YXR1cyBBdWRpb0ZpbGVSZWFkZXI6OnJlYWRQcm9jKHZvaWQqIGNsaWVudERhdGEsIFNJbnQ2
NCBwb3NpdGlvbiwgVUludDMyIHJlcXVlc3RDb3VudCwgdm9pZCogYnVmZmVyLCBVSW50MzIqIGFj
dHVhbENvdW50KQogewogICAgIGF1dG8qIGF1ZGlvRmlsZVJlYWRlciA9IHN0YXRpY19jYXN0PEF1
ZGlvRmlsZVJlYWRlcio+KGNsaWVudERhdGEpOwpAQCAtMTM2LDY3ICsyMzEsMTcwIEBAIFNJbnQ2
NCBBdWRpb0ZpbGVSZWFkZXI6OmdldFNpemVQcm9jKHZvaWQqIGNsaWVudERhdGEpCiAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PEF1ZGlvRmlsZVJlYWRlcio+KGNsaWVudERhdGEpLT5kYXRhU2l6ZSgp
OwogfQogCi1SZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0
IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQorc3RydWN0IFBhc3N0aHJvdWdoVXNlckRhdGEg
eworICAgIFVJbnQzMiBtX2NoYW5uZWxzOworICAgIFVJbnQzMiBtX2RhdGFTaXplOworICAgIGNv
bnN0IHZvaWQqIG1fZGF0YTsKKyAgICBVSW50MzIgbV9pbmRleDsKKyAgICBVSW50MzIgbV9udW1Q
YWNrZXRzOworICAgIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24qIG1fcGFja2V0czsKK307
CisKKy8vIEVycm9yIHZhbHVlIHdlIHBhc3MgdGhyb3VnaCB0aGUgZGVjb2RlciB0byBzaWduYWwg
dGhhdCBub3RoaW5nCisvLyBoYXMgZ29uZSB3cm9uZyBkdXJpbmcgZGVjb2RpbmcgYW5kIHdlJ3Jl
IGRvbmUgcHJvY2Vzc2luZyB0aGUgcGFja2V0LgorY29uc3QgdWludDMyX3Qga05vTW9yZURhdGFF
cnIgPSAnTU9BUic7CisKK3N0YXRpYyBPU1N0YXR1cyBwYXNzdGhyb3VnaElucHV0RGF0YUNhbGxi
YWNrKAorICAgIEF1ZGlvQ29udmVydGVyUmVmLCBVSW50MzIqIG51bURhdGFQYWNrZXRzLCBBdWRp
b0J1ZmZlckxpc3QqIGRhdGEsIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24qKiBwYWNrZXRE
ZXNjLCB2b2lkKiBpblVzZXJEYXRhKQoreworICAgIFBhc3N0aHJvdWdoVXNlckRhdGEqIHVzZXJE
YXRhID0gKFBhc3N0aHJvdWdoVXNlckRhdGEqKWluVXNlckRhdGE7CisgICAgaWYgKHVzZXJEYXRh
LT5tX2luZGV4ID09IHVzZXJEYXRhLT5tX251bVBhY2tldHMpIHsKKyAgICAgICAgKm51bURhdGFQ
YWNrZXRzID0gMDsKKyAgICAgICAgcmV0dXJuIGtOb01vcmVEYXRhRXJyOworICAgIH0KKworICAg
IGlmIChwYWNrZXREZXNjKSB7CisgICAgICAgIGlmICh1c2VyRGF0YS0+bV9pbmRleCA+PSB1c2Vy
RGF0YS0+bV9udW1QYWNrZXRzKSB7CisgICAgICAgICAgICAqbnVtRGF0YVBhY2tldHMgPSAwOwor
ICAgICAgICAgICAgcmV0dXJuIGtBdWRpb0NvbnZlcnRlckVycl9SZXF1aXJlc1BhY2tldERlc2Ny
aXB0aW9uc0Vycm9yOworICAgICAgICB9CisgICAgICAgICpwYWNrZXREZXNjID0gJnVzZXJEYXRh
LT5tX3BhY2tldHNbdXNlckRhdGEtPm1faW5kZXhdOworICAgIH0KKworICAgIGRhdGEtPm1CdWZm
ZXJzWzBdLm1OdW1iZXJDaGFubmVscyA9IHVzZXJEYXRhLT5tX2NoYW5uZWxzOworICAgIGRhdGEt
Pm1CdWZmZXJzWzBdLm1EYXRhQnl0ZVNpemUgPSB1c2VyRGF0YS0+bV9kYXRhU2l6ZTsKKyAgICBk
YXRhLT5tQnVmZmVyc1swXS5tRGF0YSA9IGNvbnN0X2Nhc3Q8dm9pZCo+KHVzZXJEYXRhLT5tX2Rh
dGEpOworCisgICAgKm51bURhdGFQYWNrZXRzID0gMTsKKyAgICB1c2VyRGF0YS0+bV9pbmRleCsr
OworCisgICAgcmV0dXJuIG5vRXJyOworfQorCitzc2l6ZV90IEF1ZGlvRmlsZVJlYWRlcjo6bnVt
YmVyT2ZGcmFtZXMoKSBjb25zdAogeworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSAw
OworCisgICAgaWYgKG1fd2VibURhdGEpIHsKKyAgICAgICAgaWYgKG1fd2VibURhdGEtPm1fc2Ft
cGxlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgLy8gQ2Fs
Y3VsYXRlIHRoZSB0b3RhbCBudW1iZXIgb2YgZGVjb2RlZCBzYW1wbGVzIHRoYXQgd2VyZSBkZW11
eGVkLgorICAgICAgICAvLyBUaGlzIGNvZGUgb25seSBoYW5kbGUgdGhlIENNU2FtcGxlQnVmZmVy
IGFzIGdlbmVyYXRlZCBieSB0aGUgU291cmNlQnVmZmVyUGFyc2VyV2ViTQorICAgICAgICAvLyB3
aGVyZSBhIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zIGFycmF5IGlzIGFsd2F5cyBwcm92
aWRlZCBldmVuIHdpdGgKKyAgICAgICAgLy8gQ29uc3RhbnQgYml0cmF0ZSBhbmQgY29uc3RhbnQg
ZnJhbWVzLXBlci1wYWNrZXQgYXVkaW8uCisgICAgICAgIGZvciAoYXV0byYgc2FtcGxlIDogbV93
ZWJtRGF0YS0+bV9zYW1wbGVzKSB7CisgICAgICAgICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1w
bGVCdWZmZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICAgICAgY29uc3QgQ01G
b3JtYXREZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbiA9IFBBTDo6Q01TYW1wbGVCdWZm
ZXJHZXRGb3JtYXREZXNjcmlwdGlvbihzYW1wbGVCdWZmZXIpOworICAgICAgICAgICAgaWYgKCFm
b3JtYXREZXNjcmlwdGlvbikKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAg
ICBjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNN
QXVkaW9Gb3JtYXREZXNjcmlwdGlvbkdldFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVz
Y3JpcHRpb24pOworICAgICAgICAgICAgaWYgKCFhc2JkKQorICAgICAgICAgICAgICAgIHJldHVy
biAtMTsKKworICAgICAgICAgICAgc2l6ZV90IHBhY2tldERlc2NyaXB0aW9uc1NpemU7CisgICAg
ICAgICAgICBpZiAoUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3Jp
cHRpb25zKHNhbXBsZUJ1ZmZlciwgMCwgbnVsbHB0ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUp
ICE9IG5vRXJyKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIHNpemVf
dCBudW1EZXNjcmlwdGlvbnMgPSBwYWNrZXREZXNjcmlwdGlvbnNTaXplIC8gc2l6ZW9mKEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb24pOworICAgICAgICAgICAgaWYgKCFudW1EZXNjcmlwdGlv
bnMpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgYXV0byBkZXNjcmlw
dGlvbnMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
PihudW1EZXNjcmlwdGlvbnMpOworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVCdWZmZXJH
ZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIHBhY2tldERlc2Ny
aXB0aW9uc1NpemUsIGRlc2NyaXB0aW9ucy5nZXQoKSwgbnVsbHB0cikgIT0gbm9FcnIpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgQ01JdGVtQ291bnQgbnVtUGFja2V0
cyA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXROdW1TYW1wbGVzKHNhbXBsZUJ1ZmZlcik7CisgICAg
ICAgICAgICBpZiAobnVtRGVzY3JpcHRpb25zICE9IHNpemVfdChudW1QYWNrZXRzKSkgeworICAg
ICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5oYW5kbGVkIENNU2Ft
cGxlQnVmZmVyIHN0cnVjdHVyZSIpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtRGVzY3JpcHRp
b25zOyBpKyspIHsKKyAgICAgICAgICAgICAgICB1aW50MzJfdCBmcHAgPSBkZXNjcmlwdGlvbnNb
aV0ubVZhcmlhYmxlRnJhbWVzSW5QYWNrZXQgPyBkZXNjcmlwdGlvbnNbaV0ubVZhcmlhYmxlRnJh
bWVzSW5QYWNrZXQgOiBhc2JkLT5tRnJhbWVzUGVyUGFja2V0OworICAgICAgICAgICAgICAgIG51
bWJlck9mRnJhbWVzSW42NCArPSBmcHA7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuIG51bWJlck9mRnJhbWVzSW42NDsKKyAgICB9CisKICAgICBpZiAoIW1fZXh0QXVk
aW9GaWxlUmVmKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIC0xOwog
Ci0gICAgLy8gR2V0IGZpbGUncyBkYXRhIGZvcm1hdAotICAgIFVJbnQzMiBzaXplID0gc2l6ZW9m
KG1fZmlsZURhdGFGb3JtYXQpOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5
KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQs
ICZzaXplLCAmbV9maWxlRGF0YUZvcm1hdCkgIT0gbm9FcnIpCi0gICAgICAgIHJldHVybiBudWxs
cHRyOworICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKG51bWJlck9mRnJhbWVzSW42NCk7CisgICAg
aWYgKFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRB
dWRpb0ZpbGVQcm9wZXJ0eV9GaWxlTGVuZ3RoRnJhbWVzLCAmc2l6ZSwgJm51bWJlck9mRnJhbWVz
SW42NCkgIT0gbm9FcnIgfHwgbnVtYmVyT2ZGcmFtZXNJbjY0IDw9IDApCisgICAgICAgIHJldHVy
biAtMTsKIAotICAgIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzID0gbV9maWxlRGF0YUZvcm1hdC5t
Q2hhbm5lbHNQZXJGcmFtZTsKKyAgICByZXR1cm4gbnVtYmVyT2ZGcmFtZXNJbjY0OworfQogCi0g
ICAgLy8gTnVtYmVyIG9mIGZyYW1lcwotICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lczY0ID0gMDsK
LSAgICBzaXplID0gc2l6ZW9mKG51bWJlck9mRnJhbWVzNjQpOwotICAgIGlmIChQQUw6OkV4dEF1
ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVy
dHlfRmlsZUxlbmd0aEZyYW1lcywgJnNpemUsICZudW1iZXJPZkZyYW1lczY0KSAhPSBub0VyciB8
fCBudW1iZXJPZkZyYW1lczY0IDw9IDApCi0gICAgICAgIHJldHVybiBudWxscHRyOworc3RkOjpv
cHRpb25hbDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+IEF1ZGlvRmlsZVJlYWRlcjo6Zmls
ZURhdGFGb3JtYXQoKSBjb25zdAoreworICAgIGlmIChtX3dlYm1EYXRhKSB7CisgICAgICAgIGlm
IChtX3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgICAgICBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0g
UEFMOjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKG1fd2VibURhdGEtPm1fc2Ft
cGxlc1swXS0+c2FtcGxlQnVmZmVyKCkpOworCisgICAgICAgIGNvbnN0IEF1ZGlvU3RyZWFtQmFz
aWNEZXNjcmlwdGlvbiogY29uc3QgYXNiZCA9IFBBTDo6Q01BdWRpb0Zvcm1hdERlc2NyaXB0aW9u
R2V0U3RyZWFtQmFzaWNEZXNjcmlwdGlvbihmb3JtYXREZXNjcmlwdGlvbik7CisgICAgICAgIHJl
dHVybiAqYXNiZDsKKyAgICB9CiAKLSAgICBkb3VibGUgZmlsZVNhbXBsZVJhdGUgPSBtX2ZpbGVE
YXRhRm9ybWF0Lm1TYW1wbGVSYXRlOworICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBm
b3JtYXQ7CisgICAgVUludDMyIHNpemUgPSBzaXplb2YoZm9ybWF0KTsKKyAgICBpZiAoUEFMOjpF
eHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVBy
b3BlcnR5X0ZpbGVEYXRhRm9ybWF0LCAmc2l6ZSwgJmZvcm1hdCkgIT0gbm9FcnIpCisgICAgICAg
IHJldHVybiB7IH07CisgICAgcmV0dXJuIGZvcm1hdDsKK30KIAorQXVkaW9TdHJlYW1CYXNpY0Rl
c2NyaXB0aW9uIEF1ZGlvRmlsZVJlYWRlcjo6Y2xpZW50RGF0YUZvcm1hdChjb25zdCBBdWRpb1N0
cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9ybWF0LCBmbG9hdCBzYW1wbGVSYXRlKSBjb25zdAor
ewogICAgIC8vIE1ha2UgY2xpZW50IGZvcm1hdCBzYW1lIG51bWJlciBvZiBjaGFubmVscyBhcyBm
aWxlIGZvcm1hdCwgYnV0IHR3ZWFrIGEgZmV3IHRoaW5ncy4KICAgICAvLyBDbGllbnQgZm9ybWF0
IHdpbGwgYmUgbGluZWFyIFBDTSAoY2Fub25pY2FsKSwgYW5kIHBvdGVudGlhbGx5IGNoYW5nZSBz
YW1wbGUtcmF0ZS4KLSAgICBtX2NsaWVudERhdGFGb3JtYXQgPSBtX2ZpbGVEYXRhRm9ybWF0Owor
ICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBvdXRGb3JtYXQgPSBpbkZvcm1hdDsKIAog
ICAgIGNvbnN0IGludCBieXRlc1BlckZsb2F0ID0gc2l6ZW9mKEZsb2F0MzIpOwogICAgIGNvbnN0
IGludCBiaXRzUGVyQnl0ZSA9IDg7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1Gb3JtYXRJRCA9
IGtBdWRpb0Zvcm1hdExpbmVhclBDTTsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUZvcm1hdEZs
YWdzID0ga0F1ZGlvRm9ybWF0RmxhZ3NOYXRpdmVGbG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1hdEZs
YWdJc05vbkludGVybGVhdmVkOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQnl0ZXNQZXJQYWNr
ZXQgPSBieXRlc1BlckZsb2F0OwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tRnJhbWVzUGVyUGFj
a2V0ID0gMTsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJ5dGVzUGVyRnJhbWUgPSBieXRlc1Bl
ckZsb2F0OwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZSA9IG51bWJl
ck9mQ2hhbm5lbHM7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1CaXRzUGVyQ2hhbm5lbCA9IGJp
dHNQZXJCeXRlICogYnl0ZXNQZXJGbG9hdDsKKyAgICBvdXRGb3JtYXQubUZvcm1hdElEID0ga0F1
ZGlvRm9ybWF0TGluZWFyUENNOworICAgIG91dEZvcm1hdC5tRm9ybWF0RmxhZ3MgPSBrQXVkaW9G
b3JtYXRGbGFnc05hdGl2ZUZsb2F0UGFja2VkIHwga0F1ZGlvRm9ybWF0RmxhZ0lzTm9uSW50ZXJs
ZWF2ZWQ7CisgICAgb3V0Rm9ybWF0Lm1CeXRlc1BlclBhY2tldCA9IG91dEZvcm1hdC5tQnl0ZXNQ
ZXJGcmFtZSA9IGJ5dGVzUGVyRmxvYXQ7CisgICAgb3V0Rm9ybWF0Lm1GcmFtZXNQZXJQYWNrZXQg
PSAxOworICAgIG91dEZvcm1hdC5tQml0c1BlckNoYW5uZWwgPSBiaXRzUGVyQnl0ZSAqIGJ5dGVz
UGVyRmxvYXQ7CiAKICAgICBpZiAoc2FtcGxlUmF0ZSkKLSAgICAgICAgbV9jbGllbnREYXRhRm9y
bWF0Lm1TYW1wbGVSYXRlID0gc2FtcGxlUmF0ZTsKKyAgICAgICAgb3V0Rm9ybWF0Lm1TYW1wbGVS
YXRlID0gc2FtcGxlUmF0ZTsKKworICAgIHJldHVybiBvdXRGb3JtYXQ7Cit9CiAKLSAgICBpZiAo
UEFMOjpFeHRBdWRpb0ZpbGVTZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlv
RmlsZVByb3BlcnR5X0NsaWVudERhdGFGb3JtYXQsIHNpemVvZihBdWRpb1N0cmVhbUJhc2ljRGVz
Y3JpcHRpb24pLCAmbV9jbGllbnREYXRhRm9ybWF0KSAhPSBub0VycikKK1JlZlB0cjxBdWRpb0J1
cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhU
b01vbm8pCit7CisgICAgU0ludDY0IG51bWJlck9mRnJhbWVzSW42NCA9IG51bWJlck9mRnJhbWVz
KCk7CisgICAgaWYgKG51bWJlck9mRnJhbWVzSW42NCA8PSAwKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAotICAgIC8vIENoYW5nZSBudW1iZXJPZkZyYW1lczY0IHRvIGRlc3RpbmF0aW9uIHNh
bXBsZS1yYXRlCi0gICAgbnVtYmVyT2ZGcmFtZXM2NCA9IG51bWJlck9mRnJhbWVzNjQgKiAobV9j
bGllbnREYXRhRm9ybWF0Lm1TYW1wbGVSYXRlIC8gZmlsZVNhbXBsZVJhdGUpOwotICAgIHNpemVf
dCBudW1iZXJPZkZyYW1lcyA9IHN0YXRpY19jYXN0PHNpemVfdD4obnVtYmVyT2ZGcmFtZXM2NCk7
CisgICAgYXV0byBpbkZvcm1hdCA9IGZpbGVEYXRhRm9ybWF0KCk7CisgICAgaWYgKCFpbkZvcm1h
dCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3Jp
cHRpb24gb3V0Rm9ybWF0ID0gY2xpZW50RGF0YUZvcm1hdCgqaW5Gb3JtYXQsIHNhbXBsZVJhdGUp
OworICAgIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzID0gaW5Gb3JtYXQtPm1DaGFubmVsc1BlckZy
YW1lOworICAgIGRvdWJsZSBmaWxlU2FtcGxlUmF0ZSA9IGluRm9ybWF0LT5tU2FtcGxlUmF0ZTsK
KyAgICBTSW50NjQgbnVtYmVyT2ZGcmFtZXNPdXQ2NCA9IG51bWJlck9mRnJhbWVzSW42NCAqIChv
dXRGb3JtYXQubVNhbXBsZVJhdGUgLyBmaWxlU2FtcGxlUmF0ZSk7CisgICAgc2l6ZV90IG51bWJl
ck9mRnJhbWVzID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihudW1iZXJPZkZyYW1lc091dDY0KTsKICAg
ICBzaXplX3QgYnVzQ2hhbm5lbENvdW50ID0gbWl4VG9Nb25vID8gMSA6IG51bWJlck9mQ2hhbm5l
bHM7CiAKICAgICAvLyBDcmVhdGUgQXVkaW9CdXMgd2hlcmUgd2UnbGwgcHV0IHRoZSBQQ00gYXVk
aW8gZGF0YQogICAgIGF1dG8gYXVkaW9CdXMgPSBBdWRpb0J1czo6Y3JlYXRlKGJ1c0NoYW5uZWxD
b3VudCwgbnVtYmVyT2ZGcmFtZXMpOwotICAgIGF1ZGlvQnVzLT5zZXRTYW1wbGVSYXRlKG5hcnJv
d1ByZWNpc2lvblRvRmxvYXQobV9jbGllbnREYXRhRm9ybWF0Lm1TYW1wbGVSYXRlKSk7IC8vIHNh
dmUgZm9yIGxhdGVyCi0KLSAgICAvLyBPbmx5IGFsbG9jYXRlZCBpbiB0aGUgbWl4VG9Nb25vIGNh
c2U7IGRlYWxsb2NhdGVkIG9uIGRlc3RydWN0aW9uLgotICAgIEF1ZGlvRmxvYXRBcnJheSBsZWZ0
Q2hhbm5lbDsKLSAgICBBdWRpb0Zsb2F0QXJyYXkgcmlnaHRDaGFubmVsOworICAgIGF1ZGlvQnVz
LT5zZXRTYW1wbGVSYXRlKG5hcnJvd1ByZWNpc2lvblRvRmxvYXQob3V0Rm9ybWF0Lm1TYW1wbGVS
YXRlKSk7IC8vIHNhdmUgZm9yIGxhdGVyCiAKLSAgICBBdWRpb0J1ZmZlckxpc3QqIGJ1ZmZlckxp
c3QgPSB0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CisgICAgQXVk
aW9CdWZmZXJMaXN0SG9sZGVyIGJ1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CiAgICAgaWYg
KCFidWZmZXJMaXN0KSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAidHJ5
Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KCVsZCkgcmV0dXJuZWQgbnVsbCIsIG51bWJlck9mQ2hhbm5l
bHMpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAgICAgY29uc3Qgc2l6ZV90IGJ1
ZmZlclNpemUgPSBudW1iZXJPZkZyYW1lcyAqIHNpemVvZihmbG9hdCk7CiAKKyAgICAvLyBPbmx5
IGFsbG9jYXRlZCBpbiB0aGUgbWl4VG9Nb25vIGNhc2U7IGRlYWxsb2NhdGVkIG9uIGRlc3RydWN0
aW9uLgorICAgIEF1ZGlvRmxvYXRBcnJheSBsZWZ0Q2hhbm5lbDsKKyAgICBBdWRpb0Zsb2F0QXJy
YXkgcmlnaHRDaGFubmVsOworCiAgICAgUkVMRUFTRV9BU1NFUlQoYnVmZmVyTGlzdC0+bU51bWJl
ckJ1ZmZlcnMgPT0gbnVtYmVyT2ZDaGFubmVscyk7CiAgICAgaWYgKG1peFRvTW9ubyAmJiBudW1i
ZXJPZkNoYW5uZWxzID09IDIpIHsKICAgICAgICAgbGVmdENoYW5uZWwucmVzaXplKG51bWJlck9m
RnJhbWVzKTsKQEAgLTIyMiwxOCArNDIwLDkwIEBAIFJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxl
UmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAg
ICAgIH0KICAgICB9CiAKLSAgICBpZiAoIXZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxp
c3QpKSB7CisgICAgaWYgKCFidWZmZXJMaXN0LmlzVmFsaWQoKSkgewogICAgICAgICBSRUxFQVNF
X0xPR19GQVVMVChXZWJBdWRpbywgIkdlbmVyYXRlZCBidWZmZXIgaW4gQXVkaW9GaWxlUmVhZGVy
OjpjcmVhdGVCdXMoKSBkaWQgbm90IHBhc3MgdmFsaWRhdGlvbiIpOwogICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICAgICAgZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0
KTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgLy8gUmVhZCBmcm9tIHRo
ZSBmaWxlIChvciBpbi1tZW1vcnkgdmVyc2lvbikKLSAgICBVSW50MzIgZnJhbWVzVG9SZWFkID0g
bnVtYmVyT2ZGcmFtZXM7Ci0gICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlUmVhZChtX2V4dEF1ZGlv
RmlsZVJlZiwgJmZyYW1lc1RvUmVhZCwgYnVmZmVyTGlzdCkgIT0gbm9FcnIpIHsKLSAgICAgICAg
ZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KTsKLSAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgaWYgKG1fd2VibURhdGEpIHsKKyAgICAgICAgQXVkaW9Db252ZXJ0ZXJSZWYgY29u
dmVydGVyOworICAgICAgICBpZiAoUEFMOjpBdWRpb0NvbnZlcnRlck5ldygmKmluRm9ybWF0LCAm
b3V0Rm9ybWF0LCAmY29udmVydGVyKSAhPSBub0VycikKKyAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgICAgICBhdXRvIGNsZWFudXAgPSBbJl0oKSB7CisgICAgICAgICAgICBpZiAoY29u
dmVydGVyKQorICAgICAgICAgICAgICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3NlKGNvbnZl
cnRlcik7CisgICAgICAgIH07CisgICAgICAgIFVOVVNFRF9WQVJJQUJMRShjbGVhbnVwKTsgLy8g
bm90IHJlYWxseSwgYnV0IHdlIG1ha2UgdGhlIGNvbXBpbGVyIGhhcHB5LgorCisgICAgICAgIC8v
IERlc2NyaXB0aW9ucyBmb3IgX2RlY29tcHJlc3NlZF8gYXVkaW8gcGFja2V0cy4gaWdub3JlZCBi
dXQgbmVlZGVkLgorICAgICAgICBjb25zdCB1aW50MzJfdCBtYXhBdWRpb0ZyYW1lcyA9IDEyODsK
KyAgICAgICAgYXV0byBwYWNrZXRzID0gV1RGOjptYWtlVW5pcXVlQXJyYXk8QXVkaW9TdHJlYW1Q
YWNrZXREZXNjcmlwdGlvbj4obWF4QXVkaW9GcmFtZXMpOworCisgICAgICAgIHNpemVfdCBkZWNv
ZGVkRnJhbWVzID0gMDsKKyAgICAgICAgQXVkaW9CdWZmZXJMaXN0SG9sZGVyIGRlY29kZWRCdWZm
ZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOworICAgICAgICBpZiAoIWRlY29kZWRCdWZmZXJMaXN0
KQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgT1NTdGF0dXMgc3RhdHVz
OworICAgICAgICBmb3IgKGF1dG8mIHNhbXBsZSA6IG1fd2VibURhdGEtPm1fc2FtcGxlcykgewor
ICAgICAgICAgICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyID0gc2FtcGxlLT5zYW1w
bGVCdWZmZXIoKTsKKyAgICAgICAgICAgIGF1dG8gYnVmZmVyID0gUEFMOjpDTVNhbXBsZUJ1ZmZl
ckdldERhdGFCdWZmZXIoc2FtcGxlQnVmZmVyKTsKKyAgICAgICAgICAgIEFTU0VSVChQQUw6OkNN
QmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cyhidWZmZXIsIDAsIDApKTsKKyAgICAgICAgICAg
IGlmICghUEFMOjpDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMoYnVmZmVyLCAwLCAwKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgc2l6ZV90IHNy
Y1NpemUgPSBQQUw6OkNNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoKGJ1ZmZlcik7CisgICAgICAg
ICAgICBjaGFyKiBzcmNEYXRhID0gbnVsbHB0cjsKKyAgICAgICAgICAgIGlmIChQQUw6OkNNQmxv
Y2tCdWZmZXJHZXREYXRhUG9pbnRlcihidWZmZXIsIDAsIG51bGxwdHIsIG51bGxwdHIsICZzcmNE
YXRhKSAhPSBub0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAg
ICAgICAgc2l6ZV90IHBhY2tldERlc2NyaXB0aW9uc1NpemU7CisgICAgICAgICAgICBpZiAoUEFM
OjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1
ZmZlciwgMCwgbnVsbHB0ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUpICE9IG5vRXJyKQorICAg
ICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgc2l6ZV90IG51bURlc2Ny
aXB0aW9ucyA9IHBhY2tldERlc2NyaXB0aW9uc1NpemUgLyBzaXplb2YoQXVkaW9TdHJlYW1QYWNr
ZXREZXNjcmlwdGlvbik7CisgICAgICAgICAgICBpZiAoIW51bURlc2NyaXB0aW9ucykKKyAgICAg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgIGF1dG8gZGVzY3JpcHRpb25z
ID0gV1RGOjptYWtlVW5pcXVlQXJyYXk8QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbj4obnVt
RGVzY3JpcHRpb25zKTsKKyAgICAgICAgICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVk
aW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCBwYWNrZXREZXNjcmlwdGlv
bnNTaXplLCBkZXNjcmlwdGlvbnMuZ2V0KCksIG51bGxwdHIpICE9IG5vRXJyKQorICAgICAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgUGFzc3Rocm91Z2hVc2VyRGF0YSB1
c2VyRGF0YSA9IHsgVUludDMyKG51bWJlck9mQ2hhbm5lbHMpLCBVSW50MzIoc3JjU2l6ZSksIHNy
Y0RhdGEsIDAsIFVJbnQzMihudW1EZXNjcmlwdGlvbnMpLCBkZXNjcmlwdGlvbnMuZ2V0KCkgfTsK
KworICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgbnVtYmVyT2ZDaGFubmVsczsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgIGRlY29kZWRC
dWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tTnVtYmVyQ2hhbm5lbHMgPSAxOworICAgICAgICAgICAg
ICAgICAgICBpZiAoYnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGFCeXRlU2l6ZSA8PSBkZWNv
ZGVkRnJhbWVzICogc2l6ZW9mKGZsb2F0KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgUkVM
RUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJEZWNvZGVkIG1vcmUgZnJhbWVzIHRoYW4gZmlyc3Qg
Y2FsY3VsYXRlZCIpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZGVjb2RlZEJ1ZmZlckxp
c3QtPm1CdWZmZXJzW2ldLm1EYXRhQnl0ZVNpemUgPSBzdGQ6Om1pbjx1aW50MzJfdD4obWF4QXVk
aW9GcmFtZXMgKiBzaXplb2YoZmxvYXQpLCBidWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YUJ5
dGVTaXplIC0gZGVjb2RlZEZyYW1lcyAqIHNpemVvZihmbG9hdCkpOworICAgICAgICAgICAgICAg
ICAgICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGEgPSBzdGF0aWNfY2FzdDxm
bG9hdCo+KGJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1EYXRhKSArIGRlY29kZWRGcmFtZXM7Cisg
ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgLy8gaW46IHRoZSBtYXggbnVtYmVy
IG9mIHBhY2tldHMgd2UgY2FuIGhhbmRsZSBmcm9tIHRoZSBkZWNvZGVyLgorICAgICAgICAgICAg
ICAgIC8vIG91dDogdGhlIG51bWJlciBvZiBwYWNrZXRzIHRoZSBkZWNvZGVyIGlzIGFjdHVhbGx5
IHJldHVybmluZy4KKyAgICAgICAgICAgICAgICBVSW50MzIgbnVtRnJhbWVzID0gbnVtYmVyT2ZG
cmFtZXMgLSBkZWNvZGVkRnJhbWVzOworCisgICAgICAgICAgICAgICAgc3RhdHVzID0gUEFMOjpB
dWRpb0NvbnZlcnRlckZpbGxDb21wbGV4QnVmZmVyKGNvbnZlcnRlciwgcGFzc3Rocm91Z2hJbnB1
dERhdGFDYWxsYmFjaywgJnVzZXJEYXRhLCAmbnVtRnJhbWVzLCAqZGVjb2RlZEJ1ZmZlckxpc3Qs
IHBhY2tldHMuZ2V0KCkpOworCisgICAgICAgICAgICAgICAgaWYgKHN0YXR1cyAmJiBzdGF0dXMg
IT0ga05vTW9yZURhdGFFcnIpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgICAgICAgICAgICAgIGRlY29kZWRGcmFtZXMgKz0gbnVtRnJhbWVzOworICAgICAgICAgICAg
fSB3aGlsZSAoc3RhdHVzICE9IGtOb01vcmVEYXRhRXJyKTsKKyAgICAgICAgfQorCisgICAgICAg
IC8vIFRoZSBhY3R1YWwgZGVjb2RlZCBudW1iZXIgb2YgZnJhbWVzIG1heSBub3QgbWF0Y2ggdGhl
IG51bWJlciBvZiBmcmFtZXMgY2FsY3VsYXRlZAorICAgICAgICAvLyB3aGlsZSBkZW11eGluZy4g
SXQgd2lsbCBhbHdheXMgYmUgbG93ZXIuCisgICAgICAgIGF1ZGlvQnVzLT5zZXRMZW5ndGgoZGVj
b2RlZEZyYW1lcyk7CisgICAgICAgIG51bWJlck9mRnJhbWVzID0gZGVjb2RlZEZyYW1lczsKKyAg
ICB9IGVsc2UgeworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVTZXRQcm9wZXJ0eShtX2V4
dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0NsaWVudERhdGFGb3JtYXQsIHNp
emVvZihBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24pLCAmb3V0Rm9ybWF0KSAhPSBub0VycikK
KyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIC8vIFJlYWQgZnJvbSB0aGUg
ZmlsZSAob3IgaW4tbWVtb3J5IHZlcnNpb24pCisgICAgICAgIFVJbnQzMiBmcmFtZXNUb1JlYWQg
PSBudW1iZXJPZkZyYW1lczsKKyAgICAgICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlUmVhZChtX2V4
dEF1ZGlvRmlsZVJlZiwgJmZyYW1lc1RvUmVhZCwgKmJ1ZmZlckxpc3QpICE9IG5vRXJyKQorICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKG1peFRvTW9ubyAmJiBu
dW1iZXJPZkNoYW5uZWxzID09IDIpIHsKQEAgLTI0Myw5ICs1MTMsNiBAQCBSZWZQdHI8QXVkaW9C
dXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4
VG9Nb25vKQogICAgICAgICAgICAgZGVzdExbaV0gPSAwLjVmICogKGxlZnRDaGFubmVsW2ldICsg
cmlnaHRDaGFubmVsW2ldKTsKICAgICB9CiAKLSAgICAvLyBDbGVhbnVwCi0gICAgZGVzdHJveUF1
ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KTsKLQogICAgIHJldHVybiBhdWRpb0J1czsKIH0KIApA
QCAtMjU1LDYgKzUyMiwxMyBAQCBSZWZQdHI8QXVkaW9CdXM+IGNyZWF0ZUJ1c0Zyb21Jbk1lbW9y
eUF1ZGlvRmlsZShjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpegogICAgIHJldHVybiBy
ZWFkZXIuY3JlYXRlQnVzKHNhbXBsZVJhdGUsIG1peFRvTW9ubyk7CiB9CiAKKyNpZiAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKK1dURkxvZ0NoYW5uZWwmIEF1ZGlvRmlsZVJlYWRlcjo6bG9nQ2hhbm5l
bCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIExvZ01lZGlhOworfQorI2VuZGlmCisKIH0gLy8gV2Vi
Q29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oCmlu
ZGV4IDBiYmJiYTI3ODU3ZDk3OWVjYzY4OGY4N2YwMzM5ZjY2NWVmNDI1MjkuLmY2MTczMzc5ZTAx
MzRhMWRhNWIzODIzOGVkMzhhNWFhMjJjOWQ5M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaApAQCAt
MzIsNiArMzIsOCBAQAogI2lmIEVOQUJMRShXRUJfQVVESU8pCiAKICNpbmNsdWRlIDxDb3JlQXVk
aW8vQ29yZUF1ZGlvVHlwZXMuaD4KKyNpbmNsdWRlIDxvcHRpb25hbD4KKyNpbmNsdWRlIDx3dGYv
TG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiB1c2luZyBFeHRBdWRp
b0ZpbGVSZWYgPSBzdHJ1Y3QgT3BhcXVlRXh0QXVkaW9GaWxlKjsKQEAgLTQwLDEyICs0MiwxOCBA
QCB1c2luZyBBdWRpb0ZpbGVJRCA9IHN0cnVjdCBPcGFxdWVBdWRpb0ZpbGVJRCo7CiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEF1ZGlvQnVzOworY2xhc3MgU291cmNlQnVmZmVyUGFyc2Vy
V2ViTTsKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhOwogCiAvLyBXcmFwcGVyIGNsYXNz
IGZvciBBdWRpb0ZpbGUgYW5kIEV4dEF1ZGlvRmlsZSBDb3JlQXVkaW8gQVBJcyBmb3IgcmVhZGlu
ZyBmaWxlcyBhbmQgaW4tbWVtb3J5IHZlcnNpb25zIG9mIHRoZW0uLi4KIAotY2xhc3MgQXVkaW9G
aWxlUmVhZGVyIHsKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcgorI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorICAgIDogcHVibGljIExvZ2dlckhlbHBlcgorI2VuZGlmCit7CiBwdWJsaWM6Ci0gICAg
ZXhwbGljaXQgQXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6
ZSk7CisgICAgQXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6
ZSk7CiAgICAgfkF1ZGlvRmlsZVJlYWRlcigpOwogCiAgICAgUmVmUHRyPEF1ZGlvQnVzPiBjcmVh
dGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pOyAvLyBSZXR1cm5zIG51bGxw
dHIgb24gZXJyb3IKQEAgLTUzLDkgKzYxLDIwIEBAIHB1YmxpYzoKICAgICBjb25zdCB2b2lkKiBk
YXRhKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhOyB9CiAgICAgc2l6ZV90IGRhdGFTaXplKCkgY29u
c3QgeyByZXR1cm4gbV9kYXRhU2l6ZTsgfQogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisg
ICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5n
ZXQoKTsgfQorICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KKyAgICBXVEZMb2dDaGFubmVsJiBsb2dDaGFubmVsKCkg
Y29uc3QgZmluYWw7CisgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gIkF1ZGlvRmlsZVJlYWRlckNvY29hIjsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAg
ICAgc3RhdGljIE9TU3RhdHVzIHJlYWRQcm9jKHZvaWQqIGNsaWVudERhdGEsIFNJbnQ2NCBwb3Np
dGlvbiwgVUludDMyIHJlcXVlc3RDb3VudCwgdm9pZCogYnVmZmVyLCBVSW50MzIqIGFjdHVhbENv
dW50KTsKICAgICBzdGF0aWMgU0ludDY0IGdldFNpemVQcm9jKHZvaWQqIGNsaWVudERhdGEpOwor
ICAgIGJvb2wgaXNNYXliZVdlYk0oY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFTaXpl
KSBjb25zdDsKKyAgICBzc2l6ZV90IG51bWJlck9mRnJhbWVzKCkgY29uc3Q7CisgICAgc3RkOjpv
cHRpb25hbDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+IGZpbGVEYXRhRm9ybWF0KCkgY29u
c3Q7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIGNsaWVudERhdGFGb3JtYXQoY29u
c3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwgZmxvYXQgc2FtcGxlUmF0
ZSkgY29uc3Q7CiAKICAgICBjb25zdCB2b2lkKiBtX2RhdGEgPSB7IG51bGxwdHIgfTsKICAgICBz
aXplX3QgbV9kYXRhU2l6ZSA9IHsgMCB9OwpAQCAtNjMsOCArODIsMTMgQEAgcHJpdmF0ZToKICAg
ICBBdWRpb0ZpbGVJRCBtX2F1ZGlvRmlsZUlEID0geyBudWxscHRyIH07CiAgICAgRXh0QXVkaW9G
aWxlUmVmIG1fZXh0QXVkaW9GaWxlUmVmID0geyBudWxscHRyIH07CiAKLSAgICBBdWRpb1N0cmVh
bUJhc2ljRGVzY3JpcHRpb24gbV9maWxlRGF0YUZvcm1hdDsKLSAgICBBdWRpb1N0cmVhbUJhc2lj
RGVzY3JpcHRpb24gbV9jbGllbnREYXRhRm9ybWF0OworICAgIHN0ZDo6dW5pcXVlX3B0cjxBdWRp
b0ZpbGVSZWFkZXJXZWJNRGF0YT4gbV93ZWJtRGF0YTsKKworI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorICAgIGNvbnN0IFJlZjxMb2dnZXI+IG1fbG9nZ2VyOworICAgIGNvbnN0IHZvaWQqIG1f
bG9nSWRlbnRpZmllcjsKKyNlbmRpZgorCiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCmlu
ZGV4IGExZTcxYmQ1MjIzMjI0MjU3MTZjNmI5ZTVhY2VkMDZlNTU4MjkzM2EuLjZhZTNiNWNkMWYy
ZWZkNjIzOWZiMzRkMDEzYTU4Nzc2ZjQxOGM2ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCkBA
IC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLXR5cGVkZWYgY29uc3Qgc3RydWN0IG9w
YXF1ZUNNRm9ybWF0RGVzY3JpcHRpb24gKkNNRm9ybWF0RGVzY3JpcHRpb25SZWY7CiB0eXBlZGVm
IHN0cnVjdCBvcGFxdWVDTVNhbXBsZUJ1ZmZlciAqQ01TYW1wbGVCdWZmZXJSZWY7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQppbmRleCBkMmI1YWM0NWYzMGZk
NGEzYWY1MWI0MjBkZTM3NjQ5YjExNTFjMjI3Li43MGRjMjQ4NGE1ZWQ2Njg4OWZjYTMzZWUyOTFl
YzEwNmE1ZjlmOWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCkBAIC0zOSw2ICszOSw3IEBA
CiAjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3RmL1N0cmluZ1ByaW50U3RyZWFt
Lmg+CiAKKyNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5oPgogI2ltcG9ydCA8
cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTY3
LDcgKzY4LDcgQEAgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2Uo
c2l6ZV90IG1heGltdW1TYW1wbGVDb3VudCwgTG9nZ2VySGUKIEF1ZGlvU2FtcGxlRGF0YVNvdXJj
ZTo6fkF1ZGlvU2FtcGxlRGF0YVNvdXJjZSgpCiB7CiAgICAgaWYgKG1fY29udmVydGVyKQotICAg
ICAgICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOworICAgICAgICBQQUw6OkF1
ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CiB9CiAKIE9TU3RhdHVzIEF1ZGlvU2Ft
cGxlRGF0YVNvdXJjZTo6c2V0dXBDb252ZXJ0ZXIoKQpAQCAtNzUsMTQgKzc2LDE0IEBAIE9TU3Rh
dHVzIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6c2V0dXBDb252ZXJ0ZXIoKQogICAgIEFTU0VSVCht
X2lucHV0RGVzY3JpcHRpb24gJiYgbV9vdXRwdXREZXNjcmlwdGlvbik7CiAKICAgICBpZiAobV9j
b252ZXJ0ZXIpIHsKLSAgICAgICAgQXVkaW9Db252ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsK
KyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOwogICAgICAg
ICBtX2NvbnZlcnRlciA9IG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKCptX2lucHV0RGVzY3Jp
cHRpb24gPT0gKm1fb3V0cHV0RGVzY3JpcHRpb24pCiAgICAgICAgIHJldHVybiAwOwogCi0gICAg
T1NTdGF0dXMgZXJyID0gQXVkaW9Db252ZXJ0ZXJOZXcoJm1faW5wdXREZXNjcmlwdGlvbi0+c3Ry
ZWFtRGVzY3JpcHRpb24oKSwgJm1fb3V0cHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0aW9u
KCksICZtX2NvbnZlcnRlcik7CisgICAgT1NTdGF0dXMgZXJyID0gUEFMOjpBdWRpb0NvbnZlcnRl
ck5ldygmbV9pbnB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9vdXRwdXRE
ZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fY29udmVydGVyKTsKICAgICBpZiAo
ZXJyKSB7CiAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVk
VGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBlcnJdIHsKICAgICAgICAgICAgIEVSUk9SX0xPRygi
QXVkaW9Db252ZXJ0ZXJOZXcgcmV0dXJuZWQgZXJyb3IgIiwgZXJyKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5t
bQppbmRleCBlM2Q2ZmFjNzA0MzY5NmZjN2VlMmE5MjE1ZGIyMWE4ZjdkZjgyNWE1Li5hMzJkZjYy
MDQ4ZDMyZDdiMTM0ZGJmNTZkYTAwN2I3MGVjMjQ3M2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tCkBA
IC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoR0FNRVBBRCkgJiYgUExBVEZPUk0oTUFDKQog
CisjaW1wb3J0ICJHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5oIgogI2ltcG9ydCAiR2Ft
ZXBhZFByb3ZpZGVyQ2xpZW50LmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJQbGF0
Zm9ybUdhbWVwYWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RyYWNrUHJpdmF0ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVHJhY2tQcml2YXRlQmFzZS5jcHAKaW5kZXggNGQ4ZWU2MmUwMWI4ZWFlYmFjYzZkMjhiM2Ew
OTg1Mjk1MmM1ZDgwYS4uYzA2NmMyZDQ4Nzk3YTRhYWIzYjliZTJhMGVkZDRkODM4YjRiZjVjMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRl
QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2
YXRlQmFzZS5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoVklERU8pCiAKICNpbmNs
dWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpD
LmgKaW5kZXggZDAzY2RjOGRkNjI1NDE2MDk5YTUzNzEzNWVlMTFlYzkxMDczNmEwMi4uY2NmOTBh
ZjhlNDgyMTRmNjcxMGRjOTQ3YjEwOTAyNDJiMDNkNGRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZP
YmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBQaXhlbEJ1ZmZlcjsKIAotY2xhc3MgV0VCQ09SRV9FWFBPUlQgTWVk
aWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2FtcGxlIHsKK2NsYXNzIE1lZGlhU2FtcGxl
QVZGT2JqQyA6IHB1YmxpYyBNZWRpYVNhbXBsZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxN
ZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIHVpbnQ2
NF90IHRyYWNrSUQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFTYW1wbGVBVkZPYmpDKHNh
bXBsZSwgdHJhY2tJRCkpOyB9CiAgICAgc3RhdGljIFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+IGNy
ZWF0ZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0K
QEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lk
IHNldEFzRGlzcGxheUltbWVkaWF0ZWx5KE1lZGlhU2FtcGxlJik7CiAgICAgc3RhdGljIFJldGFp
blB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gY2xvbmVTYW1wbGVCdWZmZXJBbmRTZXRBc0Rpc3BsYXlJ
bW1lZGlhdGVseShDTVNhbXBsZUJ1ZmZlclJlZik7CiAKLSAgICBSZWZQdHI8SlNDOjpVaW50OENs
YW1wZWRBcnJheT4gZ2V0UkdCQUltYWdlRGF0YSgpIGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNP
UkVfRVhQT1JUIFJlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VEYXRh
KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBNZWRpYVRpbWUgcHJlc2VudGF0aW9uVGltZSgpIGNv
bnN0IG92ZXJyaWRlOwogICAgIE1lZGlhVGltZSBkZWNvZGVUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7
CkBAIC01OSwxNiArNTksMTYgQEAgcHVibGljOgogICAgIFNhbXBsZUZsYWdzIGZsYWdzKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1TYW1wbGUgcGxhdGZvcm1TYW1wbGUoKSBvdmVycmlk
ZTsKICAgICBzdGQ6Om9wdGlvbmFsPEJ5dGVSYW5nZT4gYnl0ZVJhbmdlKCkgY29uc3Qgb3ZlcnJp
ZGU7Ci0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAg
dm9pZCBvZmZzZXRUaW1lc3RhbXBzQnkoY29uc3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBzZXRUaW1lc3RhbXBzKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYpIG92
ZXJyaWRlOwotICAgIGJvb2wgaXNEaXZpc2FibGUoKSBjb25zdCBvdmVycmlkZTsKLSAgICBzdGQ6
OnBhaXI8UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVmUHRyPE1lZGlhU2FtcGxlPj4gZGl2aWRlKGNv
bnN0IE1lZGlhVGltZSYgcHJlc2VudGF0aW9uVGltZSwgVXNlRW5kVGltZSkgb3ZlcnJpZGU7Ci0g
ICAgUmVmPE1lZGlhU2FtcGxlPiBjcmVhdGVOb25EaXNwbGF5aW5nQ29weSgpIGNvbnN0IG92ZXJy
aWRlOworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNEaXZpc2FibGUoKSBjb25zdCBvdmVycmlk
ZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6OnBhaXI8UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVm
UHRyPE1lZGlhU2FtcGxlPj4gZGl2aWRlKGNvbnN0IE1lZGlhVGltZSYgcHJlc2VudGF0aW9uVGlt
ZSwgVXNlRW5kVGltZSkgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgUmVmPE1lZGlhU2Ft
cGxlPiBjcmVhdGVOb25EaXNwbGF5aW5nQ29weSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgVmlk
ZW9Sb3RhdGlvbiB2aWRlb1JvdGF0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9yb3Rh
dGlvbjsgfQogICAgIGJvb2wgdmlkZW9NaXJyb3JlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IG1fbWlycm9yZWQ7IH0KLSAgICB1aW50MzJfdCB2aWRlb1BpeGVsRm9ybWF0KCkgY29uc3QgZmlu
YWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdWludDMyX3QgdmlkZW9QaXhlbEZvcm1hdCgpIGNvbnN0
IGZpbmFsOwogCiAgICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9zYW1wbGUuZ2V0KCk7IH0KIApAQCAtNzcsMzUgKzc3LDE4IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgc2V0Qnl0ZVJhbmdlT2Zmc2V0KHNpemVfdCk7CiAKKyAgICBib29sIGlzTWVkaWFT
YW1wbGVBVkZPYmpDKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTt9CisKIHByb3RlY3RlZDoK
LSAgICBNZWRpYVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmIHNh
bXBsZSkKLSAgICAgICAgOiBtX3NhbXBsZShXVEZNb3ZlKHNhbXBsZSkpCi0gICAgewotICAgIH0K
LSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlKQotICAgICAg
ICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICB7Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2Jq
QyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkKLSAgICAgICAg
OiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9pZCh0cmFja0lEKQotICAgIHsKLSAgICB9
Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0
X3QgdHJhY2tJRCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9pZChB
dG9tU3RyaW5nOjpudW1iZXIodHJhY2tJRCkpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBs
ZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJvdGF0aW9u
LCBib29sIG1pcnJvcmVkKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAgICAgLCBt
X3JvdGF0aW9uKHJvdGF0aW9uKQotICAgICAgICAsIG1fbWlycm9yZWQobWlycm9yZWQpCi0gICAg
ewotICAgIH0KKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoUmV0YWluUHRy
PENNU2FtcGxlQnVmZmVyUmVmPiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFW
Rk9iakMoQ01TYW1wbGVCdWZmZXJSZWYpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxl
QVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiwgQXRvbVN0cmluZyB0cmFja0lEKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYsIHVpbnQ2NF90
IHRyYWNrSUQpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBs
ZUJ1ZmZlclJlZiwgVmlkZW9Sb3RhdGlvbiwgYm9vbCBtaXJyb3JlZCk7CisgICAgV0VCQ09SRV9F
WFBPUlQgdmlydHVhbCB+TWVkaWFTYW1wbGVBVkZPYmpDKCk7CiAKICAgICBzdGQ6Om9wdGlvbmFs
PE1lZGlhU2FtcGxlOjpCeXRlUmFuZ2U+IGJ5dGVSYW5nZUZvckF0dGFjaG1lbnQoQ0ZTdHJpbmdS
ZWYga2V5KSBjb25zdDsKIAotICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlQVZGT2JqQygpID0gZGVm
YXVsdDsKICAgICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IG1fc2FtcGxlOwogICAgIEF0
b21TdHJpbmcgbV9pZDsKICAgICBWaWRlb1JvdGF0aW9uIG1fcm90YXRpb24geyBWaWRlb1JvdGF0
aW9uOjpOb25lIH07CkBAIC0xMTQsMyArOTcsNiBAQCBwcm90ZWN0ZWQ6CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpNZWRp
YVNhbXBsZUFWRk9iakMpCitzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6TWVkaWFT
YW1wbGUmIHNhbXBsZSkgeyByZXR1cm4gc2FtcGxlLmlzTWVkaWFTYW1wbGVBVkZPYmpDKCk7IH0K
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhU2FtcGxlQVZGT2JqQy5tbQppbmRleCBjMGYxM2Q2ZWE1Yzk3NTc2N2NlOGY2MmFiNjg0MmQ3
ZDZmMGZiYjZiLi5jZjNjMzQxMGEzOGFkZWM0OTU3Yzk3MTQyYjMyNDIyNGQ1YWZkODEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVNhbXBsZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tCkBAIC00NSw2ICs0
NSwzMyBAQCBzdHJ1Y3QgV1RGOjpDRlR5cGVUcmFpdDxDTVNhbXBsZUJ1ZmZlclJlZj4gewogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZP
YmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4mJiBzYW1wbGUpCisgICAgOiBtX3NhbXBs
ZShXVEZNb3ZlKHNhbXBsZSkpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxl
QVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUpCisgICAgOiBtX3NhbXBsZShzYW1wbGUp
Cit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1
ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkKKyAgICA6IG1fc2FtcGxlKHNhbXBs
ZSkKKyAgICAsIG1faWQodHJhY2tJRCkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFT
YW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCkK
KyAgICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1faWQoQXRvbVN0cmluZzo6bnVtYmVyKHRy
YWNrSUQpKQoreworfQorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01T
YW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJvdGF0aW9uLCBib29sIG1pcnJv
cmVkKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9yb3RhdGlvbihyb3RhdGlvbikK
KyAgICAsIG1fbWlycm9yZWQobWlycm9yZWQpCit7Cit9CisKK01lZGlhU2FtcGxlQVZGT2JqQzo6
fk1lZGlhU2FtcGxlQVZGT2JqQygpID0gZGVmYXVsdDsKKwogUmVmUHRyPE1lZGlhU2FtcGxlQVZG
T2JqQz4gTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGVJbWFnZVNhbXBsZShQaXhlbEJ1ZmZlciYm
IHBpeGVsQnVmZmVyKQogewogICAgIGF1dG8gc2l6ZSA9IHBpeGVsQnVmZmVyLnNpemUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVE
ZWNvbXByZXNzaW9uU2Vzc2lvbi5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQppbmRleCA4ZWVmM2IyZWE2MDRi
ZDE5ODNkNzdkMzhiZjUyMWE4ZDIxZjIwZWQwLi5kMWM4NDQ4ODM2NzQwZmRiNzVjNDBhYzkzZjdk
ZDA5ZDc4ZjAzMDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1t
CkBAIC0zMSwxMCArMzEsMTAgQEAKICNpbXBvcnQgPENvcmVNZWRpYS9DTUJ1ZmZlclF1ZXVlLmg+
CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlvbi5oPgogI2ltcG9ydCA8cGFs
L2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPHBhbC9jZi9D
b3JlTWVkaWFTb2Z0TGluay5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQg
PHd0Zi9NZWRpYVRpbWUuaD4KICNpbXBvcnQgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CisjaW1wb3J0
IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAjaW1w
b3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1wb3J0IDx3dGYvV1RGU2VtYXBob3JlLmg+CkBAIC00Miw2
ICs0Miw3IEBACiAKICNpbXBvcnQgIkNvcmVWaWRlb1NvZnRMaW5rLmgiCiAjaW1wb3J0ICJWaWRl
b1Rvb2xib3hTb2Z0TGluay5oIgorI2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+
CiAKIC8vIEVxdWl2YWxlbnQgdG8gV1RGX0RFQ0xBUkVfQ0ZfVFlQRV9UUkFJVChDTVNhbXBsZUJ1
ZmZlcik7CiAvLyBOZWVkZWQgZHVlIHRvIHJlcXVpcmVtZW50IG9mIHNwZWNpZnlpbmcgdGhlIFBB
TCBuYW1lc3BhY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaAppbmRleCBmZWNlODEy
OWJkN2Y3ZmRlZDZhODA0YmE1MmY3OTUyNjFmZTY1ZDMwLi44NzEwNGQ4YjdiMzU3YzE2MGI2ZGNj
YzQxYmZlMWY4OWUwYTZjMjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgKQEAg
LTM0LDcgKzM0LDggQEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlw
dGlvbiogQ01Gb3JtYXREZXNjcmlwdGlvblJlZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1i
b29sIGlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBpc1Zv
cmJpc0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcmVnaXN0ZXJWb3Ji
aXNEZWNvZGVySWZOZWVkZWQoKTsKIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBj
cmVhdGVWb3JiaXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKHNpemVfdCwgY29uc3Qgdm9pZCopOwog
CiBzdHJ1Y3QgT3B1c0Nvb2tpZUNvbnRlbnRzIHsKQEAgLTUyLDcgKzUzLDggQEAgc3RydWN0IE9w
dXNDb29raWVDb250ZW50cyB7CiAgICAgYm9vbCBoYXNQYWRkaW5nIHsgZmFsc2UgfTsKIH07CiAK
LWJvb2wgaXNPcHVzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBpc09w
dXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9SVCBib29sIHJlZ2lzdGVyT3B1c0Rl
Y29kZXJJZk5lZWRlZCgpOwogYm9vbCBwYXJzZU9wdXNQcml2YXRlRGF0YShzaXplX3QgcHJpdmF0
ZURhdGFTaXplLCBjb25zdCB2b2lkKiBwcml2YXRlRGF0YSwgc2l6ZV90IGZyYW1lRGF0YVNpemUs
IGNvbnN0IHZvaWQqIGZyYW1lRGF0YSwgT3B1c0Nvb2tpZUNvbnRlbnRzJik7CiBSZXRhaW5QdHI8
Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlT3B1c0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24o
Y29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29j
b2EubW0KaW5kZXggMDZiZDQ4YWUwZDNkNjkxMjUwYjhhMjc1N2QwMjU2ZDQ0ODU5ZmNjNC4uMGUx
ZWIxYjc5OGEzYzdlYTY3ZWFiNzViYTM2ZTU4NWFkZDhjMTBhMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EubW0KQEAgLTMyLDIyICszMiwyOCBAQAogI2ltcG9ydCAiTG9nZ2luZy5o
IgogI2ltcG9ydCAiTWVkaWFVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oIgorI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvQ29kZWMuaD4KICNpbXBv
cnQgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbXBvbmVudC5oPgogI2ltcG9ydCA8QXVkaW9Ub29sYm94
L0F1ZGlvRm9ybWF0Lmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlvbi5o
PgogI2ltcG9ydCA8ZGxmY24uaD4KICNpbXBvcnQgPHd0Zi9GbGlwQnl0ZXMuaD4KICNpbXBvcnQg
PHd0Zi9TZWNvbmRzLmg+Ci0KICNpZiBFTkFCTEUoT1BVUykKICNpbXBvcnQgPGxpYndlYnJ0Yy9v
cHVzX2RlZmluZXMuaD4KICNlbmRpZgorI2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRM
aW5rLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShWT1JCSVMpIHx8IEVO
QUJMRShPUFVTKQogc3RhdGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeShjb25zdCBjaGFy
KiBkZWNvZGVyTmFtZSwgT1NUeXBlIGRlY29kZXJUeXBlKQogeworICAgIEF1ZGlvQ29tcG9uZW50
RGVzY3JpcHRpb24gZGVzYyB7IGtBdWRpb0RlY29kZXJDb21wb25lbnRUeXBlLCBkZWNvZGVyVHlw
ZSwgJ2FwcGwnLCBrQXVkaW9Db21wb25lbnRGbGFnX1NhbmRib3hTYWZlLCAwIH07CisgICAgQXVk
aW9Db21wb25lbnQgY29tcCA9IFBBTDo6QXVkaW9Db21wb25lbnRGaW5kTmV4dCgwLCAmZGVzYyk7
CisgICAgaWYgKGNvbXApCisgICAgICAgIHJldHVybiB0cnVlOyAvLyBBbHJlYWR5IHJlZ2lzdGVy
ZWQuCisKICAgICBjb25zdGV4cHIgY2hhciBhdWRpb0NvbXBvbmVudHNEeWxpYltdID0gIi9TeXN0
ZW0vTGlicmFyeS9Db21wb25lbnRzL0F1ZGlvQ29kZWNzLmNvbXBvbmVudC9Db250ZW50cy9NYWNP
Uy9BdWRpb0NvZGVjcyI7CiAgICAgdm9pZCAqaGFuZGxlID0gZGxvcGVuKGF1ZGlvQ29tcG9uZW50
c0R5bGliLCBSVExEX0xBWlkgfCBSVExEX0xPQ0FMKTsKICAgICBpZiAoIWhhbmRsZSkKQEAgLTU3
LDcgKzYzLDYgQEAgc3RhdGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeShjb25zdCBjaGFy
KiBkZWNvZGVyTmFtZSwgT1NUeXBlIGRlY29kZXJUeXBlKQogICAgIGlmICghZGVjb2RlckZhY3Rv
cnkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEF1ZGlvQ29tcG9uZW50RGVzY3JpcHRp
b24gZGVzYyB7ICdhZGVjJywgZGVjb2RlclR5cGUsICdhcHBsJywga0F1ZGlvQ29tcG9uZW50Rmxh
Z19TYW5kYm94U2FmZSwgMCB9OwogICAgIGlmICghQXVkaW9Db21wb25lbnRSZWdpc3RlcigmZGVz
YywgQ0ZTVFIoIiIpLCAwLCBkZWNvZGVyRmFjdG9yeSkpIHsKICAgICAgICAgZGxjbG9zZShoYW5k
bGUpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC03MSw3ICs3Niw3IEBAIHN0YXRpYyBSZXRh
aW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlv
bkZvckZvcm1hdChPCiAgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIGFzYmQgeyB9Owog
ICAgIGFzYmQubUZvcm1hdElEID0gZm9ybWF0SUQ7CiAgICAgdWludDMyX3Qgc2l6ZSA9IHNpemVv
Zihhc2JkKTsKLSAgICBhdXRvIGVycm9yID0gQXVkaW9Gb3JtYXRHZXRQcm9wZXJ0eShrQXVkaW9G
b3JtYXRQcm9wZXJ0eV9Gb3JtYXRJbmZvLCBtYWdpY0Nvb2tpZS5zaXplKCksIG1hZ2ljQ29va2ll
LmRhdGEoKSwgJnNpemUsICZhc2JkKTsKKyAgICBhdXRvIGVycm9yID0gUEFMOjpBdWRpb0Zvcm1h
dEdldFByb3BlcnR5KGtBdWRpb0Zvcm1hdFByb3BlcnR5X0Zvcm1hdEluZm8sIG1hZ2ljQ29va2ll
LnNpemUoKSwgbWFnaWNDb29raWUuZGF0YSgpLCAmc2l6ZSwgJmFzYmQpOwogICAgIGlmIChlcnJv
cikgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYSwgImNyZWF0ZUF1ZGlvRm9ybWF0
RGVzY3JpcHRpb25Gb3JGb3JtYXQgZmFpbGVkIHdpdGggZXJyb3IgJWQgKCUuNHMpIiwgZXJyb3Is
IChjaGFyICopJmVycm9yKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0zMjYsMTkgKzMz
MSwzMCBAQCBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZyb21PcHVzQ29va2llQ29udGVu
dHMoY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJiBjbwogCiBib29sIGlzT3B1c0RlY29kZXJBdmFp
bGFibGUoKQogewotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKLQogI2lmIEVOQUJMRShPUFVT
KSAmJiBQTEFURk9STShNQUMpCiAgICAgaWYgKCFQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6
Om9wdXNEZWNvZGVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICByZXR1
cm4gcmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxz
ZTsKKyNlbmRpZgorfQorCitib29sIHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpCit7Cisj
aWYgRU5BQkxFKE9QVVMpICYmIFBMQVRGT1JNKE1BQykKKyAgICBzdGF0aWMgYm9vbCBhdmFpbGFi
bGU7CisKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsKICAgICBkaXNwYXRj
aF9vbmNlKCZvbmNlVG9rZW4sIF57Ci0gICAgICAgIGF2YWlsYWJsZSA9IHJlZ2lzdGVyRGVjb2Rl
ckZhY3RvcnkoIkFDT3B1c0RlY29kZXJGYWN0b3J5IiwgJ29wdXMnKTsKKyAgICAgICAgYXZhaWxh
YmxlID0gcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNPcHVzRGVjb2RlckZhY3RvcnkiLCBrQXVk
aW9Gb3JtYXRPcHVzKTsKICAgICB9KTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGF2YWlsYWJsZTsK
KyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIFJldGFpblB0cjxDTUZvcm1h
dERlc2NyaXB0aW9uUmVmPiBjcmVhdGVPcHVzQXVkaW9Gb3JtYXREZXNjcmlwdGlvbihjb25zdCBP
cHVzQ29va2llQ29udGVudHMmIGNvb2tpZUNvbnRlbnRzKQpAQCAtNDE4LDE5ICs0MzQsMzAgQEAg
c3RhdGljIFZlY3Rvcjx1aW50OF90PiBjb29raWVGcm9tVm9yYmlzQ29kZWNQcml2YXRlKHNpemVf
dCBjb2RlY1ByaXZhdGVTaXplLCBjb24KIAogYm9vbCBpc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUo
KQogewotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKLQogI2lmIEVOQUJMRShWT1JCSVMpICYm
IFBMQVRGT1JNKE1BQykKICAgICBpZiAoIVBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6dm9y
YmlzRGVjb2RlckVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgcmV0dXJu
IHJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxz
ZTsKKyNlbmRpZgorfQorCitib29sIHJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCkKK3sK
KyNpZiBFTkFCTEUoVk9SQklTKSAmJiBQTEFURk9STShNQUMpCisgICAgc3RhdGljIGJvb2wgYXZh
aWxhYmxlOworCiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47CiAgICAgZGlz
cGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewogICAgICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRl
Y29kZXJGYWN0b3J5KCJBQ1ZvcmJpc0RlY29kZXJGYWN0b3J5IiwgJ3ZvcmInKTsKICAgICB9KTsK
LSNlbmRpZgogCiAgICAgcmV0dXJuIGF2YWlsYWJsZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNl
OworI2VuZGlmCiB9CiAKIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVW
b3JiaXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKHNpemVfdCBwcml2YXRlRGF0YVNpemUsIGNvbnN0
IHZvaWQqIHByaXZhdGVEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxh
Z3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dl
YktpdC1hcHBsZXR2b3MucGxpc3QKaW5kZXggYWU0ZWU0NTdhMjEzMTMzOGY2YTViNzVlZDc1ZjYz
NmYzYTBmNTI2MC4uZTIxYjAyM2IxNDIzMDg3MjNjNTk3YzBmMWNmOTdhMThhMzI2N2I1OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlz
dAorKysgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0
CkBAIC0yLDk1ICsyLDEwMCBAQAogPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RU
RCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3Qt
MS4wLmR0ZCI+CiA8cGxpc3QgdmVyc2lvbj0iMS4wIj4KIDxkaWN0PgotICAgIDxrZXk+YXN5bmNf
ZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5
PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAg
PGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1
dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8
L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4K
LSAgICA8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVz
PC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tl
eT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAg
ICA8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5Pmdw
dV9wcm9jZXNzX3dlYnJ0Yzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8
L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0g
ICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAg
ICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5Pklu
QXBwQnJvd3NlclByaXZhY3k8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+aW5jcmVtZW50
YWxfcGRmPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAg
ICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0
dGVyeTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAg
ICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT52cDlfZGVjb2Rlcjwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PldlYkdQVTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5X
ZWJYUjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAg
ICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tl
eT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVl
Lz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX3BhcnNlcjwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgotICAgIDxkaWN0PgotICAg
ICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KKwk8
a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vz
c19jYW52YXNfcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29k
ZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5n
cHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwv
a2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+
CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmli
dXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1
ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5Pgor
CTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtl
eT5ncHVfcHJvY2Vzc193ZWJydGM8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+
CisJCTxmYWxzZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+
Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtl
eT5JbkFwcEJyb3dzZXJQcml2YWN5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5
PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgorCTxk
aWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PnN3
X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9r
ZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+dnA5X2RlY29kZXI8L2tleT4KKwk8ZGlj
dD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJH
UFU8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9k
aWN0PgorCTxrZXk+V2ViWFI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJ
CTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+CisJPGRp
Y3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+d2Vi
bV9wYXJzZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4K
Kwk8L2RpY3Q+CisJPGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5h
YmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PlJCX2Z1bGxfbWFuYWdlX1dL
X2pldHNhbTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgor
CTwvZGljdD4KIDwvZGljdD4KIDwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Zl
YXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0IGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3Mv
V2ViS2l0LWlvcy5wbGlzdAppbmRleCA2MjFjOTIxNjZjODkyY2I1NDFjZmE3NmI2MjM4MTU2Njhh
MWVjMjc3Li5iOGU1ZTA5Y2Y4OWI2MGMwODJlNjNhYWViNWRmNzBkOTkxYTMyMDE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0CisrKyBiL1Nv
dXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxpc3QKQEAgLTIsOTUgKzIsMTAw
IEBACiA8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4i
ICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlz
dCB2ZXJzaW9uPSIxLjAiPgogPGRpY3Q+Ci0gICAgPGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZs
b3dfc2Nyb2xsaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5
PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfY2Fu
dmFzX3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAg
ICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAg
ICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3By
b2Nlc3NfZG9tX3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJv
Y2Vzc19tZWRpYTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4K
LSAgICAgICAgPHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAg
PGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAg
PHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nl
c3Nfd2ViZ2w8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0g
ICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRj
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAg
ICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0g
ICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+dnA5X2RlY29kZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAg
PGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5XZWJHUFU8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0g
ICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViWFI8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+d2VibV9wYXJzZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFi
bGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5SQl9mdWxs
X21hbmFnZV9XS19qZXRzYW08L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+CisJPGtleT5hc3luY19mcmFtZV9h
bmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5
PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmlu
Zzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5
PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5Pgor
CQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3Jl
bmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4K
Kwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRp
Y3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJ
PC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2Vi
cnRjPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxr
ZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+
CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5JbkFwcEJyb3dzZXJQcml2
YWN5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwv
ZGljdD4KKwk8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2Jh
dHRlcnk8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJ
PC9kaWN0PgorCTxrZXk+dnA5X2RlY29kZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVk
PC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJHUFU8L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViWFI8
L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0
PgorCTxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV9wYXJzZXI8L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53
ZWJtX3dlYmF1ZGlvPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFs
c2UvPgorCTwvZGljdD4KKwk8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgorCTxk
aWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KIDwvZGljdD4K
IDwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQt
bWFjb3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxp
c3QKaW5kZXggNjIxYzkyMTY2Yzg5MmNiNTQxY2ZhNzZiNjIzODE1NjY4YTFlYzI3Ny4uYjhlNWUw
OWNmODliNjBjMDgyZTYzYWFlYjVkZjcwZDk5MWEzMjAxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQv
RmVhdHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdApAQCAtMiw5NSArMiwxMDAgQEAKIDwhRE9D
VFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93
d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgogPHBsaXN0IHZlcnNpb249
IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxp
bmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAg
IDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19jYW52YXNfcmVuZGVy
aW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAg
ICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4K
LSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+
Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19kb21f
cmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX21lZGlh
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAg
ICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0g
ICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZh
bHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAg
ICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAg
PGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9k
aWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgotICAgIDxkaWN0PgotICAg
ICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0g
ICAgPGtleT52cDlfZGVjb2Rlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYkdQVTwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZh
bHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJYUjwva2V5PgotICAgIDxkaWN0PgotICAg
ICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0g
ICAgPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53
ZWJtX3BhcnNlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4K
LSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dL
X2pldHNhbTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KKwk8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxv
d19zY3JvbGxpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVl
Lz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRl
czwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+
CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9r
ZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4K
Kwk8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwv
a2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxr
ZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJ
PGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tl
eT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8L2tleT4K
Kwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1
dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVl
Lz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4K
Kwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxr
ZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJ
PGtleT52cDlfZGVjb2Rlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PHRydWUvPgorCTwvZGljdD4KKwk8a2V5PldlYkdQVTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVu
YWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJYUjwva2V5PgorCTxk
aWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT53
ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJ
CTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNlcjwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fd2ViYXVk
aW88L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9k
aWN0PgorCTxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CisJPGRpY3Q+CisJCTxr
ZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgogPC9kaWN0PgogPC9wbGlzdD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC13YXRjaG9zLnBs
aXN0IGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3QKaW5k
ZXggYWU0ZWU0NTdhMjEzMTMzOGY2YTViNzVlZDc1ZjYzNmYzYTBmNTI2MC4uZTIxYjAyM2IxNDIz
MDg3MjNjNTk3YzBmMWNmOTdhMThhMzI2N2I1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9G
ZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0
dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3QKQEAgLTIsOTUgKzIsMTAwIEBACiA8IURPQ1RZ
UEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3
LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlzdCB2ZXJzaW9uPSIx
LjAiPgogPGRpY3Q+Ci0gICAgPGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5n
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmlu
Zzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0g
ICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgot
ICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3Jl
bmRlcmluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRy
dWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAg
ICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAg
ICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tl
eT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxz
ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAg
ICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8
a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2Rp
Y3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0g
ICAgPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAg
ICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAg
ICA8a2V5PnZwOV9kZWNvZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViR1BVPC9r
ZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFs
c2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAg
ICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAg
ICA8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5Pndl
Ym1fcGFyc2VyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tf
amV0c2FtPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAg
ICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93
X3Njcm9sbGluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUv
PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVz
PC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4K
KwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tl
eT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0Pgor
CTxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9r
ZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtl
eT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8
a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5
PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5Pgor
CTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwkJPGtleT5BdHRyaWJ1
dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVl
Lz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4K
Kwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxr
ZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJ
PGtleT52cDlfZGVjb2Rlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PHRydWUvPgorCTwvZGljdD4KKwk8a2V5PldlYkdQVTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVu
YWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJYUjwva2V5PgorCTxk
aWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT53
ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJ
CTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNlcjwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fd2ViYXVk
aW88L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9k
aWN0PgorCTxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CisJPGRpY3Q+CisJCTxr
ZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgogPC9kaWN0PgogPC9wbGlzdD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCA0NGJhODg1NTU5ZjEx
YjEyYjhhODUxZDc2OTkxMzI5ZDNiMTlmZjI4Li41YTQ5ZmVmMDg5NDgzMjFmNzBjY2NmOTY2ODVh
NjU3MjRhOTBhMjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCkBA
IC00NTEsNyArNDUxLDcgQEAgdm9pZCBHUFVQcm9jZXNzOjplbmFibGVWUDlEZWNvZGVycyhib29s
IHNob3VsZEVuYWJsZVZQOERlY29kZXIsIGJvb2wgc2hvdWxkRW5hYmwKIH0KICNlbmRpZgogCi0j
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgRU5BQkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQogdm9pZCBHUFVQcm9jZXNzOjpzZXRXZWJNUGFyc2VyRW5hYmxlZChib29sIGVuYWJs
ZWQpCiB7CiAgICAgaWYgKG1fd2ViTVBhcnNlckVuYWJsZWQgPT0gZW5hYmxlZCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCmluZGV4IDQ5YzNkNzcxYmYxNzRkOGY5ZmRjYzhkMjQx
YjMxMDc2YjBjNWI2YWYuLmZhYWY3YjEyMWY1MWMzMDc5ZTkzOGRhMzlkYmRlN2UwMmRhNTZlMzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaApAQCAtMTQxLDcgKzE0MSw3IEBA
IHByaXZhdGU6CiAgICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gYWRkaXRpb25hbFN0YXRlRm9y
RGlhZ25vc3RpY1JlcG9ydCgpIGNvbnN0IGZpbmFsOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAg
dm9pZCBzZXRXZWJNUGFyc2VyRW5hYmxlZChib29sKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDY5MWRhNzhkMmNm
OTMyOGVhNzllMjRjMmQ2NDYyMDAzNmI1ZTQyNDkuLjRmMDE5NjU0M2EzZDA1OGUwMTZjMzk2NmVk
YTE2NDdmYTYxYmJiMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9j
ZXNzLm1lc3NhZ2VzLmluCkBAIC01MSw3ICs1MSw3IEBAIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3Mg
TGVnYWN5UmVjZWl2ZXIgewogICAgIERpc3BsYXlDb25maWd1cmF0aW9uQ2hhbmdlZChDR0RpcmVj
dERpc3BsYXlJRCBkaXNwbGF5SUQsIENHRGlzcGxheUNoYW5nZVN1bW1hcnlGbGFncyBmbGFncykK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgRU5BQkxFKFZQOSkKKyNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQogICAgIFNldFdlYk1QYXJzZXJFbmFibGVkKGJvb2wgZW5hYmxl
ZCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXNEZWZhdWx0VmFsdWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzRGVmYXVsdFZhbHVlcy5jcHAKaW5kZXggMzIxMmU3YWUxMDE5NTUyNjc4N2ZlYjlkMzYwY2Y2
MDRmYzgzM2ZiNy4uMWFmZTc2NTA3OGNlZjUxMzRjODlmNWI0ZmRmYmU2MTZiMmZjZWEyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1
ZXMuY3BwCkBAIC0zMjgsNiArMzI4LDE1IEBAIGJvb2wgZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVk
KCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxl
ZCgpCit7CisjaWYgSEFWRShTWVNURU1fRkVBVFVSRV9GTEFHUykKKyAgICByZXR1cm4gaXNGZWF0
dXJlRmxhZ0VuYWJsZWQoIndlYm1fd2ViYXVkaW8iKTsKKyNlbmRpZgorCisgICAgcmV0dXJuIGZh
bHNlOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NPVVJDRSkKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVm
YXVsdFZhbHVlcy5oCmluZGV4IDkwMjQ3ZThjMWQxMjJjYTZmYTVkODdlNmZmZDZiNzI3OTYzNzNk
NTUuLjI5YTQwMWQ3YTQzZjk0M2FjOGY0YTA3MjgzOGQ3MzVlZTY5NjhhNmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCkBAIC0x
MTEsNiArMTExLDcgQEAgYm9vbCBkZWZhdWx0VlA5U1dEZWNvZGVyRW5hYmxlZE9uQmF0dGVyeSgp
OwogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIGJvb2wgZGVmYXVsdFdlYk1QYXJzZXJFbmFi
bGVkKCk7Citib29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCk7CiAjZW5kaWYKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IGVmNTUxOGFhZGIwMmQ1YmY1Y2JmMTY3
ZTEyNDA3ZWU5MDc0NzE1ZTcuLmViMmNkODI2ZDM3M2FlNWFkOTgzNDAzNThiZDljZmFiMjhkYjRj
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
cm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQcm94eUNvY29hLm1tCkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0ICJXZWJQcm9jZXNzTWVz
c2FnZXMuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQb29sLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgorI2ltcG9ydCA8V2ViQ29yZS9XZWJNQXVkaW9VdGls
aXRpZXNDb2NvYS5oPgogI2ltcG9ydCA8c3lzL3N5c2N0bC5oPgogI2ltcG9ydCA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvU2NvcGUuaD4KQEAgLTI5NSw2ICsyOTYsOSBAQCB2
b2lkIFdlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygpCiAK
ICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BBVENIX1FV
RVVFX1BSSU9SSVRZX0RFRkFVTFQsIDApLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMp
XSAoKSBtdXRhYmxlIHsKICAgICAgICAgQ0ZEYXRhUmVmIHJlZ2lzdHJhdGlvbnMgeyBudWxscHRy
IH07CisKKyAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7Cisg
ICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7CiAgICAgICAg
IGlmIChub0VyciAhPSBBdWRpb0NvbXBvbmVudEZldGNoU2VydmVyUmVnaXN0cmF0aW9ucygmcmVn
aXN0cmF0aW9ucykgfHwgIXJlZ2lzdHJhdGlvbnMpCiAgICAgICAgICAgICByZXR1cm47CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzRGVmYXVsdFZhbHVlcy5oCmluZGV4IGE1OTI5N2FmM2ZkYTU1Y2Y1M2Q5ZDkwODFhYjk5
N2M0ZjdiZTU0OWMuLjcxYWNkODA4ODY4MzU5ZmUxNjgxYjcwNGRhNWVhNTA3OWUzNjQ5NjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaApAQCAtODcsNiArODcsNyBAQCBib29sIGRlZmF1bHRX
aGVlbEV2ZW50R2VzdHVyZXNCZWNvbWVOb25CbG9ja2luZygpOwogCiAjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKIGJvb2wgZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCk7Citib29sIGRlZmF1bHRX
ZWJNV2ViQXVkaW9FbmFibGVkKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShWUDkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVs
dFZhbHVlcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNEZWZhdWx0VmFsdWVzLm1tCmluZGV4IDM1MmZkYzVlMThhZjJjNThiNDJmZTRlMGU3Y2Y2NzM3
MWQ2OGNlNmMuLjE2YzU5NzIyOTE5NzFmMTk5MWM0MGFlYTgxZDBmZmJkNmY2NTlkM2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZh
dWx0VmFsdWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNEZWZhdWx0VmFsdWVzLm1tCkBAIC0yOTgsNiArMjk4LDE1IEBAIGJvb2wgZGVmYXVs
dFdlYk1QYXJzZXJFbmFibGVkKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBkZWZhdWx0
V2ViTVdlYkF1ZGlvRW5hYmxlZCgpCit7CisjaWYgSEFWRShTWVNURU1fRkVBVFVSRV9GTEFHUykK
KyAgICByZXR1cm4gaXNGZWF0dXJlRmxhZ0VuYWJsZWQoIndlYm1fd2ViYXVkaW8iKTsKKyNlbmRp
ZgorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NPVVJD
RSkKIAogI2lmIEVOQUJMRShWUDkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGNlNTk5MTg5MWE4MzNjMDAyNjYwMWE0MDc0
NWU2MWZmZmRlZWVjNC4uNDZhMjM2MTUwMWU0NDMxYjZkMjA1MDcwMjIwZjZlOTdiZjczYTMxNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA3LTIxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5
YUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1ZGlvXSBBZGQgd2VibS9vcHVzIGNvbnRhaW5l
ciBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjcxMTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5NDM3MDY3PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RF
eHBlY3RhdGlvbnM6IE9ubHkgZW5hYmxlIHRlc3Qgb24gbWFjT1MgTW9udGVyZXkKKyAgICAgICAg
KiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sOiBmaXggd2hpdGVzcGFjZQor
ICAgICAgICAqIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvb3B1cy53
ZWJtOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvdm9yYmlzLndl
Ym06IEFkZGVkLgorCiAyMDIxLTA3LTIxICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29t
PgogCiAgICAgICAgIFVwZGF0ZSBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGZvciBpbXBv
cnRlZCB3M2MgSW5kZXhlZERCIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDg5NzliMTc4OTJmMjdmMTRhYmY2OTY0YWEwNWJkNTQ5YjQwOWM4YmMu
LmRlNzJhMWM4YTZjMTMxZjBjMjZlNDc2MDc5MTU1ZDViZjczNzdmMmYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNzY3LDYgKzE3NjcsNyBAQCB3ZWJr
aXQub3JnL2IvMjE0MTU1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9z
cy1vcmlnaW4tZW1iZWRkZXItcAogWyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gbWVkaWEvbWVk
aWEtc291cmNlL21lZGlhLXNvdXJjZS13ZWJtLXZvcmJpcy1wYXJ0aWFsLmh0bWwgWyBTa2lwIF0K
IFsgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS13ZWJt
LW9wdXMtcGFydGlhbC5odG1sIFsgU2tpcCBdCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSBt
ZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtd2VibS1vcHVzLXBhcnRpYWwtYWJvcnQuaHRtbCBbIFNr
aXAgXQorWyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRh
dGEtd2VibS1vcHVzLmh0bWwgWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9iLzIxNDQyMiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1ZGlv
Y29udGV4dC1pbnRlcmZhY2Uvc3VzcGVuZC1hZnRlci1jb25zdHJ1Y3QuaHRtbCBbIFBhc3MgRmFp
bHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1k
YXRhLWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1i
YXNpYy5odG1sCmluZGV4IGEzMzNiNjVhYWVmOWRiNjRlZDUzZmNiMDU2MzFjZmMxNTE0MDUwZDEu
LjdmMDhiMjkwNTkyY2MyZjM0NGZhNTY1ZmIwZGFhNGIyNjZmODgyOWQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApAQCAtNyw3ICs3
LDcgQEAKIDxib2R5PgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJCYXNpYyB0ZXN0cyBmb3IgZGVj
b2RlQXVkaW9EYXRhIGZ1bmN0aW9uLiIpOwotICAgIAorCiB3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CiAKIHZhciBjb250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgpOwpAQCAtMzQsMTkgKzM0
LDE5IEBAIGZ1bmN0aW9uIHJ1bkRlY29kZVRlc3QoaW5kZXgpIHsKICAgICB2YXIgcmVxdWVzdCA9
IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgIHJlcXVlc3Qub3BlbigiR0VUIiwgZGVjb2RlQ2Fz
ZUFycmF5W2luZGV4XS51cmwsIHRydWUpOwogICAgIHJlcXVlc3QucmVzcG9uc2VUeXBlID0gImFy
cmF5YnVmZmVyIjsKLSAgICAKKwogICAgIHJlcXVlc3Qub25sb2FkID0gZnVuY3Rpb24oKSB7CiAg
ICAgICAgIGNvbnRleHQuZGVjb2RlQXVkaW9EYXRhKHJlcXVlc3QucmVzcG9uc2UsIHN1Y2Nlc3ND
YWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Ci0gICAgICAgIAorCiAgICAgICAgIGZ1bmN0aW9uIHN1
Y2Nlc3NDYWxsYmFjaygpIHsKICAgICAgICAgICAgIGlmIChkZWNvZGVDYXNlQXJyYXlbaW5kZXhd
LnJlc3VsdCkKICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJUaGUgIiArIGRlY29kZUNhc2VB
cnJheVtpbmRleF0udXJsICsgICIgdGVzdDogc3VjY2Vzc0NhbGxiYWNrIGhhcyBiZWVuIGNhbGxl
ZCBjb3JyZWN0bHkuIik7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCArICIgdGVzdDogc3VjY2Vz
c0NhbGxiYWNrIHdhcyBub3QgY2FsbGVkLiIpOwotICAgICAgICAgICAgCisKICAgICAgICAgICAg
IHJ1bkRlY29kZVRlc3QoKytpbmRleCk7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAg
ZnVuY3Rpb24gZXJyb3JDYWxsYmFjaygpIHsKICAgICAgICAgICAgIGlmIChkZWNvZGVDYXNlQXJy
YXlbaW5kZXhdLnJlc3VsdCkKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaGUgIiArIGRl
Y29kZUNhc2VBcnJheVtpbmRleF0udXJsICsgIiB0ZXN0OiBlcnJvckNhbGxiYWNrIHdhcyBjYWxs
ZWQgaW5jb3JyZWN0bHkuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNv
ZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
NGJjMDEwOGQ0NGNkNWY0NzQ2ZjY5OTdlNjBjNWU0NzM1NmZhNGU0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0IHRoYXQgZGVjb2RpbmcgYW4gb3B1cyB3ZWJt
IGZpbGUgc3VjY2VlZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgU3Vj
Y2Vzc2Z1bGx5IGRlY29kZWQgY29udGVudAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2Rl
Y29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVj
b2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjU3NzI4MDEyNzAwYWYz
ZDY4MjRlMjA5MDg1ZjRkY2VlMzc4YzcwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sCkBAIC0wLDAgKzEsMzEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJyZXNvdXJjZXMvYXVkaW8tdGVzdGluZy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGRlY29kaW5nIGFuIG9wdXMg
d2VibSBmaWxlIHN1Y2NlZWRzIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
dmFyIGNvbnRleHQgPSBuZXcgd2luZG93LkF1ZGlvQ29udGV4dCgpOwordmFyIHJlcXVlc3QgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKTsKK3JlcXVlc3Qub3BlbigiR0VUIiwgJ3Jlc291cmNlcy9tZWRp
YS9vcHVzLndlYm0nLCB0cnVlKTsKK3JlcXVlc3QucmVzcG9uc2VUeXBlID0gImFycmF5YnVmZmVy
IjsKKworcmVxdWVzdC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBjb250ZXh0LmRlY29kZUF1
ZGlvRGF0YShyZXF1ZXN0LnJlc3BvbnNlLCAoYnVmZmVyKSA9PiB7CisgICAgICAgIHRlc3RQYXNz
ZWQoIlN1Y2Nlc3NmdWxseSBkZWNvZGVkIGNvbnRlbnQiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICB9LCAoKSA9PiB7CisgICAgICAgIHRlc3RGYWlsZWQoIkZhaWxlZCB0byBkZWNv
ZGUgZmlsZSIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgIH0pOworfQorcmVxdWVz
dC5zZW5kKCk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="456375"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433990</attachid>
            <date>2021-07-21 22:07:37 -0700</date>
            <delta_ts>2021-07-21 22:10:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210722150735.patch</filename>
            <type>text/plain</type>
            <size>93019</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLjczMzdlYjM2ZTI3NjEzNmNlMWE4MzczMTFjNjkyNTk3ZjEzYzk4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHdlYm1fd2ViYXVkaW8g
cHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3IgbWltZXR5
cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlzYWJsZWQg
YnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8bWFnb21l
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIgdG8gY29u
ZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJvY2Vzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0MTMuLjhm
MzNlN2ZjNWUxY2MyMTQ0MjA3ZGFjZDY3NjA0ZDhhYTU5ZDA1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4gV2ViIEF1
ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4gdGhlIHdl
YiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgZGVj
b2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJlYXNvbnMs
IGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxzIGFyZSBi
bG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1ZGlvIGNv
bXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkgcHJvY2Vz
cyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisgICAgICAg
IFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAg
ICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWlscyBmb3Ig
Vm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11eCB0aGUg
d2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0g
dG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVyYXRlIG92
ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3JtaW5nCisg
ICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRoZXJlIGFy
ZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVuY29kZXIg
ZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGlibGUKKyAg
ICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIu
CisgICAgICAgIC0gSWdub3JpbmcgdGhlIHNhbmRib3hpbmcgaXNzdWUsIFZvcmJpcyBjb250ZW50
IGZhaWwgdG8gZGVjb2RlLgorICAgICAgICAtIFdlIGNhbiBvbmx5IGRlY29kZSBtb25vIGFuZCBz
dGVyZW8gY29udGVudC4gT3B1cyBhbmQgVm9yYmlzIGxldCB5b3UgZGVmaW5lIGEKKyAgICAgICAg
Y3VzdG9tIGNoYW5uZWwgb3JkZXJpbmcsIHRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWQgd2l0aCBh
bWJpc29uaWMgYXVkaW8gKHdpdGggb3B1cyAyNTUgbW9kZSkuCisgICAgICAgIENvcmVNZWRpYSBk
b2Vzbid0IGVhc2lseSBkZWFsIHdpdGggc3VjaCByZS1vcmRlcmluZyBhcyBpdCBhcHBlYXJzIHRv
IGJlIGVzc2VudGlhbGx5CisgICAgICAgIGRlc2lnbmVkIGZvciBhdWRpYmxlIGNvbnRlbnQuIFdp
dGggbW9yZSB0aGFuIDIgY2hhbm5lbHMsIGRlY29kaW5nIHdpbGwgZWl0aGVyIGZhaWwKKyAgICAg
ICAgb3IgcHJvZHVjZSBjaGFubmVscyBpbiB0aGUgd3Jvbmcgb3JkZXIuCisKKyAgICAgICAgVGVz
dDogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKKworICAgICAgICAq
IEhlYWRlcnMuY21ha2U6IEV4cG9ydCBoZWFkZXIgc28gdGhhdCB3ZSBjYW4gcmVnaXN0ZXIgdGhl
IGRlY29kZXIgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBzYW1lIGFzIGFib3ZlLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5
VHlwZSBjb25zdCk6IE1ha2UgY2FuUGxheVR5cGUod2VibS9hdWRpbzsgY29kZWNzPW9wdXMpCisg
ICAgICAgIHdvcmsgaWYgZmVhdHVyZXMgaXMgc2V0LgorICAgICAgICAqIHBhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0V2ViTVdlYkF1ZGlvRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjp3ZWJNV2ViQXVkaW9FbmFibGVkIGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9NZWRpYVNhbXBsZS5oOiBBZGQgbmV3IGlzTWVkaWFTYW1wbGVBVkZPYmpDLCB3aWxsIGJl
IHVzZWQgdG8gYWxsb3cgc2FmZQorICAgICAgICBkb3duY2FzdGluZy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1czo6c2V0
TGVuZ3RoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oOiBBZGQgc2V0TGVu
Z3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhlIHJlcG9ydGVkIGxlbmd0aAorICAgICAgICB3aXRo
b3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmg6IEFkZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0
aGUgcmVwb3J0ZWQKKyAgICAgICAgbGVuZ3RoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlp
bmcgc3RvcmFnZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFk
ZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3Qp
OiBGaXggY2hlY2tlZEludCB1c2UgdG8gY2F0Y2ggcG90ZW50aWFsIG92ZXJmbG93CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6
IEFkZCBjb252ZW5pZW5jZSBjbGFzcyB0aGF0CisgICAgICAgIGZyZWUgd3JhcHBlZCBBdWRpb0J1
ZmZlckxpc3Qgb2JqZWN0IG9uIGV4aXQuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxp
c3RIb2xkZXI6On5BdWRpb0J1ZmZlckxpc3RIb2xkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvciBib29sIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3ItPiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yKiBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OmlzVmFsaWQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjppc01heWJlV2ViTSBjb25zdCk6IE1ldGhvZCB0byBj
aGVjayBpZiB0aGUgYnVmZmVyCisgICAgICAgIGNvbnRhaW5zIFdlYk0gZGF0YS4KKyAgICAgICAg
KFdlYkNvcmU6OnBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2spOiBSZXF1aXJlZCBmb3IgQXVk
aW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlci4KKyAgICAgICAgV2lsbCBmZWVkIHRoZSBkZWNv
ZGVyIHRoZSBkYXRhIHRvIGRlY29kZSwgc3BsaXR0aW5nIHRoZSBtdWx0aXBsZSBwYWNrZXRzIGZv
dW5kCisgICAgICAgIGluIHRoZSBDTVNhbXBsZUJ1ZmZlci4KKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMgY29uc3QpOiBSZXR1cm4gdGhlIHRvdGFsIG51
bWJlciBvZgorICAgICAgICBkZWNvZGVkIGZyYW1lcyBpbiB0aGUgcGFja2V0cy4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQgY29uc3QpOiBDcmVhdGUg
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uCisgICAgICAgIHJlbGF0ZWQgdG8gdGhlIGRlbXV4
ZWQgYXVkaW8gdHJhY2suIG51bGxvcHQgaWYgdW5zdXBwb3J0ZWQgY29udGVudC4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y2xpZW50RGF0YUZvcm1hdCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyk6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmg6CisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmg6IFJlbW92ZSB1bnVzZWQgdHlw
ZWRlZi4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UubW06CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6On5BdWRpb1Nh
bXBsZURhdGFTb3VyY2UpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZQorICAgICAgICBQQUwgc29m
dGxpbmtzCisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnNldHVwQ29u
dmVydGVyKTogRmx5LWJ5IGZpeCwgbWFrZSBpdCB1c2UgUEFMCisgICAgICAgIHNvZnRsaW5rcwor
ICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbTogRmx5
LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L1RyYWNrUHJpdmF0ZUJhc2UuY3BwOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVB
VkZPYmpDLmg6CisgICAgICAgIEZseS1ieSBmaXggcmVxdWlyZWQgYnkgd2Via2l0LXByZXBhcmUg
OiBkb24ndCB0YWcgdGhlIHdob2xlIGNsYXNzIGFzIFdFQkNPUkVfRVhQT1JULgorICAgICAgICBN
b3ZlIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIGZ1bmN0aW9uIGRlZmluaXRpb25zIG91dC1v
Zi1saW5lIHRvIHByZXZlbnQKKyAgICAgICAgbGlua2FnZSBlcnJvcnMuCisgICAgICAgIChpc1R5
cGUpOiBBZGQgdGVtcGxhdGUgc3BlY2lhbGl6YXRpb24gZm9yIHN0YXRpY19yZWZlcmVuY2VfY2Fz
dDxNZWRpYVNhbXBsZUFWRk9iakM+CisgICAgICAgIGFuZCBpczxNZWRpYVNhbXBsZUFWRk9iakM+
IHRvIHdvcmsuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMpOiBNb3ZlIGNvZGUKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06IEZseS1ieSBmaXgs
IGFkZCBtaXNzaW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oOiBFeHBvcnQgc29tZSBzeW1ib2xzLCBhZGQgbmV3Cisg
ICAgICAgIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lz
dGVyRGVjb2RlckZhY3RvcnkpOiBJbnN0ZWFkIG9mIGF0dGVtcHRpbmcgdG8gcmVnaXN0ZXIgdGhl
IGRlY29kZXIKKyAgICAgICAgYnkgZGwtb3BlbmluZyB0aGUgcmVxdWlyZWQgbGlicmFyeSwgZmly
c3QgYXR0ZW1wdGluZyB0byBzZWUgaWYgdGhlIGRlY29kZXIgaXMKKyAgICAgICAgYWxyZWFkeSBh
dmFpbGFibGUuIENhbGxpbmcgQXVkaW9Db21wb25lbnRSZWdpc3RlciBpbiB0aGUgd2ViIGNvbnRl
bnQgcHJvY2VzcworICAgICAgICB3aGVuIHRoZSBHUFUgcHJvY2VzcyBpcyBlbmFibGVkIHdpbGwg
ZmFpbCBkdWUgdG8gc2FuZGJveCBzZXR0aW5ncy4gV2hpY2ggd291bGQKKyAgICAgICAgaW5jb3Jy
ZWN0bHkgcmVwb3J0IHRoZSBjb2RlYyB0byBub3QgYmUgYXZhaWxhYmxlIHdoZW4gaXQgd2FzLgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCk6
CisgICAgICAgIChXZWJDb3JlOjppc09wdXNEZWNvZGVyQXZhaWxhYmxlKTogRmx5LWJ5IGZpeCwg
c2hvdWxkIHRoZSBtZXRob2QgYmUgY2FsbGVkCisgICAgICAgIG9uIG5vbi1tYWMgcGxhdGZvcm0g
aXQgd291bGQgaGF2ZSByZXR1cm4gdGhlIHVuaXRpYWxpemVkIHZhbHVlIG9mIHRoZSBhdmFpbGFi
bGUKKyAgICAgICAgc3RhdGljIHZhcmlhYmxlLgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJP
cHVzRGVjb2RlcklmTmVlZGVkKTogQWRkZWQKKyAgICAgICAgKFdlYkNvcmU6OmlzVm9yYmlzRGVj
b2RlckF2YWlsYWJsZSk6IFNhbWUgYXMgaXNPcHVzRGVjb2RlckF2YWlsYWJsZQorICAgICAgICAo
V2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQpOiBBZGRlZAorCiAyMDIxLTA3
LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQWRkIGxpbmtlZE9uT3JBZnRlciBjaGVjayBmb3IgcjI2OTE2MgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggZjAxOWQzY2UxMjAzZjNmYTEwNGVmOWZhYzRmZmE0MDZhYjkwMmY2MC4uZjJhYWNiYjg0
MDJkMGM0MTYxYTNmNmZiZjk5Mzk0ZjU4Y2M1M2RhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHZhcmlvdXMgQVZGb3VuZGF0aW9uIChBVkF1
ZGlvQ29udmVydGVyKSByZWxhdGVkIG1ldGhvZHMgYW5kCisgICAgICAgIENvcmVNZWRpYSB0byBh
Y2Nlc3MgcmVxdWlyZWQgQ01TYW1wbGVCdWZmZXIgcmVsYXRlZCBtZXRob2RzLgorCisgICAgICAg
ICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsu
aDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06CisKIDIwMjEt
MDctMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI4MDEyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTg3NjI1ODQyNjFiYWE5ZTMyMmU5
YTcwY2Y4ZDJhNmYwN2IwOTA5Ni4uYzM2MmU2NjNlNGNjZGUyZmMzYTc4ZWE0MjJlZmNiMWNhNzdh
NmQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2
ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1
cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZGVmYXVs
dCB2YWx1ZSBmb3Igd2VibV93ZWJhdWRpbyBwcmVmIGZvciB0aGUgZGlmZmVyZW50IHBsYXRmb3Jt
cy4KKyAgICAgICAgRGlzYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgcGxhdGZvcm1zLgorICAgICAg
ICBGbHktYnkgZml4OiBkb24ndCBtYWtlIHdlYm0gcGFyc2VyIGRlcGVuZGVudCBvbiBWUDkgc3Vw
cG9ydC4KKworICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0Ogor
ICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0OgorICAgICAgICAqIEZlYXR1
cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktp
dC13YXRjaG9zLnBsaXN0OgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZGVm
YXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlv
Q29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisKIDIwMjEtMDctMjEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSdW5uaW5nQm9hcmQga2lsbHMgdGhlIG5ldHdvcmsg
cHJvY2VzcyBpZiBpdCBpcyBzdGlsbCBob2xkaW5nIHRoZSAiaG9sZGluZyBsb2NrZWQgZmlsZSIg
YXNzZXJ0aW9uIHVwb24gc3VzcGVuc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRl
eCBjNDJlYmViYTA2N2MxNWQ3ZjVkYzBlOTBhYjNkYjQ1MmU5MjJhNGVkLi5iNDExODY0NGFiZjhi
NmUxMzhlM2U2NDk0NzU0ODA4M2M5OTNkYmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFt
bApAQCAtMTI2MSw2ICsxMjYxLDE4IEBAIFdlYk1QYXJzZXJFbmFibGVkOgogICAgIFdlYktpdDoK
ICAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCkKIAorV2Vi
TVdlYkF1ZGlvRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcworICBodW1hblJlYWRhYmxlTmFtZTogIldlYk0gV2ViIEF1ZGlvIgor
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgV2ViTSBXZWIgQXVkaW8iCisgIGNv
bmRpdGlvbjogRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktp
dExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJs
ZWQoKQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJB
dWRpb0VuYWJsZWQoKQorCiAjIEZJWE1FOiBJcyB0aGlzIGltcGxlbWVudGVkIGZvciBXZWJLaXRM
ZWdhY3k/IElmIG5vdCwgdGhpcyBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBXZWJLaXRMZWdhY3kg
ZW50aXJlbHkuCiBXZWJSVENIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkOgogICB0eXBlOiBi
b29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCAzYjFiYjU1MGY1NjgxYTRmNWRkMjM2MGExNDE4OWE4
ZWNhZDA1N2I5Li45YTYxZWVmZjU0YjdjNjUwMjBhMjhlOTRjNmJlZTNkNTQzYzc0NTlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0hlYWRlcnMuY21ha2UKQEAgLTEzMzUsNiArMTMzNSw4IEBAIHNldChXZWJDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9FeHRlbnNpb25z
R0xBTkdMRS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xB
TkdMRVV0aWxpdGllcy5oCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5oCisKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3QuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dERyYXdHbHlwaHNSZWNvcmRlci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCBmYzA2NjhhNGE5MWFmZTEwYjY1MTU5Y2Ew
ODJlMTgyODFmZDUwMzU3Li4zNGI3ZmM2ODYzYjI1ZDI1MGMzZGQ2MDhiZmQ5MGM5YmJhYmE0NzFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNw
cApAQCAtNDcsMTEgKzQ3LDE0IEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5
RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYgdGhlU291cmNlQnVmZmVyLCBz
aXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgdm9pZCogZGVzdGluYXRpb24p
LCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGRlc3RpbmF0aW9u
KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01C
bG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwgUEFMX0VYUE9SVCkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJs
b2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRo
ZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNl
dCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJ
VEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpLCBQQUxfRVhQT1JUKQog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNv
dXJjZUJ5dGVzLCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zm
c2V0SW50b0Rlc3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVz
dGluYXRpb25CdWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCksIFBBTF9F
WFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENv
cmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldEV4dGVuc2lvbnMsIENGRGljdGlvbmFyeVJl
ZiwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBD
TVNhbXBsZUJ1ZmZlckdldFR5cGVJRCwgQ0ZUeXBlSUQsICh2b2lkKSwgKCksIFBBTF9FWFBPUlQp
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsb2NrQnVmZmVyUmVmLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdl
dEZvcm1hdERlc2NyaXB0aW9uLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmLCAoQ01TYW1wbGVCdWZm
ZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVzY3JpcHRpb25z
U2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBwYWNrZXREZXNj
cmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCBQQUxfRVhQT1JU
KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVk
aWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywgT1NTdGF0dXMsIChDTVNhbXBs
ZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRleCwgQ01TYW1wbGVUaW1pbmdJ
bmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4LCB0aW1pbmdJbmZvT3V0KSwg
UEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFmYzU2ZGJmYjA1
ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLmRjMmQ4ZTBiZTkzNmJiMmRiZmQ1MmFjMmVkY2I1NWM4
ZjI1MTRjMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmgKQEAgLTQ5LDYgKzQ5LDEwIEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcywgT1NTdGF0CiAjZGVmaW5l
IENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVm
ZmVyQ29weURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoLCBzaXplX3QsIChDTUJsb2NrQnVmZmVy
UmVmIHRoZUJ1ZmZlciksICh0aGVCdWZmZXIpKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyR2V0RGF0
YUxlbmd0aCBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgKK1NP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
SXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwg
c2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3Ro
KSkKKyNkZWZpbmUgQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVN
ZWRpYV9DTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMKK1NPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpKQorI2RlZmluZSBDTUJs
b2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZl
ckNyZWF0ZUNvbnRpZ3VvdXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29y
ZU1lZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2
b2lkKiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6
ZV90IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0
ZXMsIGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgp
KQogI2RlZmluZSBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcyBzb2Z0TGlua19Db3JlTWVk
aWFfQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
SEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0RXh0ZW5zaW9ucywg
Q0ZEaWN0aW9uYXJ5UmVmLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2MpKQpA
QCAtNTksNiArNjMsOCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVN
ZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsbwogI2RlZmluZSBDTVNhbXBs
ZUJ1ZmZlckdldERhdGFCdWZmZXIgc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0
RGF0YUJ1ZmZlcgogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEs
IENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24sIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQogI2RlZmluZSBDTVNhbXBsZUJ1
ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZl
ckdldEZvcm1hdERlc2NyaXB0aW9uCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUws
IENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
cywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0RGVzY3JpcHRp
b25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCAoc2J1Ziwg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBwYWNrZXREZXNj
cmlwdGlvbnNTaXplTmVlZGVkT3V0KSkKKyNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0
cmVhbVBhY2tldERlc2NyaXB0aW9ucyBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJH
ZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywg
T1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRl
eCwgQ01TYW1wbGVUaW1pbmdJbmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4
LCB0aW1pbmdJbmZvT3V0KSkKICNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJ
bmZvIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8K
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiksIChzYnVm
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9u
U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29m
dExpbmsuaAppbmRleCBiMzI0MTU5YmUxZWZlN2E1ZTVmZTJiMjY0ZDQxYTZhMGM4NGZkNDliLi43
MDBlOWMzMmM0Y2ZiMWJkYzMwZWNmNDdhMDAwNjMwNzIwNTI2OTBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCkBAIC0zMjQs
NCArMzI0LDExIEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQVZGb3VuZGF0
aW9uLCBBVk91dHB1dENvbnRleHRPdXRwdXREZXZpY2VzRGlkCiAjZGVmaW5lIEFWT3V0cHV0Q29u
dGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24gUEFMOjpnZXRfQVZGb3VuZGF0
aW9uX0FWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24oKQog
I2VuZGlmIC8vIEhBVkUoQVZST1VURVBJQ0tFUlZJRVcpCiAKKyNpZiBQTEFURk9STShDT0NPQSkK
K1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbnZlcnRlcikKK1NPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0Zvcm1hdCkKK1NPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbXByZXNzZWRCdWZmZXIpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9QQ01CdWZmZXIpCisjZW5kaWYgLy8gUExBVEZPUk0o
Q09DT0EpCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggMzdjOGIx
ZmFmZDU4Y2NiYzZlODUwYzZmMzAxMTc2N2M3ZGEzMTY0NS4uNzMzOTg0NWUwNzI2NTgwMWUwNjQw
MzAzYjJlMjkxYTAxMjRlODcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCkBAIC0yMzAsNyArMjMwLDcgQEAgU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9TZXNzaW9uUm91dGUKIAogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRIVFRQQ29va2llc0tl
eSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0UmVxdWly
ZXNDdXN0b21VUkxMb2FkaW5nS2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQotI2VuZGlmCisj
ZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uU2V0
QXV0aG9yaXplZFRvVXNlQ2FtZXJhSW5NdWx0aXBsZUZvcmVncm91bmRBcHBMYXlvdXQsIHZvaWQs
IChBVkNhcHR1cmVTZXNzaW9uICpzZXNzaW9uKSwgKHNlc3Npb24pKQpAQCAtMjQ0LDQgKzI0NCwx
MSBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91
bmRhdGlvbiwgQVZSb3V0ZURldGVjdG9yTXVsdAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERl
dmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24sIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiAjZW5k
aWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9Db252ZXJ0ZXIsIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0Zvcm1hdCwgUEFMX0VYUE9SVCkK
K1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvUENNQnVmZmVy
LCBQQUxfRVhQT1JUKQorI2VuZGlmCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGYwMWI5OTI3ZTNjYzYyMmU5Y2NjMDBiMTFlYjJhMmNkZDAzZjc1MzcuLjRmNDk1N2Y1MGU4ZWI0
NGY2ZjA1ODE5MDcyZGMwYTUxNzNiZTFjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzMiw3ICsyMzIsNyBAQAogCQkwN0VF
NzZFQzFCRTk2REIwMDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RUU3NkVBMUJFOTZEQjAw
MEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAv
KiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUQxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFs
dGltZVZpZGVvU291cmNlTWFjLmggKi87IH07CiAJCTA3RjRFOTMzMjBCMzU4N0YwMDJFMzgwMyAv
KiBBVkFzc2V0TUlNRVR5cGVDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDdDOEFEMTIxRDA3M0Q2MzAwODdDNUNFIC8qIEFWQXNzZXRNSU1FVHlw
ZUNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJMDdGNUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1
ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgfTsKKwkJMDdG
NUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1ODJBNEY4
MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0Y1Q0ZGNjI1ODJBNTI5MDA2NjJFRjUg
LyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGMjI1ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EubW0gKi87IH07CiAJCTA3Rjg3Njg0MUFENTgwRjkwMDkwNTg0OSAvKiBN
ZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDdGODc2ODMxQUQ0QTk0NTAwOTA1ODQ5IC8qIE1lZGlhUGxheWJh
Y2tUYXJnZXRDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDdGOTQ0MTYxODY0RDA0NjAwNUQzMUNCIC8qIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RBRThDMDgxNzQ2Qjk1NzAwNTMyRDc4IC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBhM2IzYTJmMTE1N2MyYjdl
NTAwYjJhMDRlNDY4ZWQ1NmFkMjA0NGJjLi43ZDdjZDJjZTFkZWZiOGMwNTEwM2I0MzgxZGE3NWY3
MGI3MjgzNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAg
LTEwNTUsNyArMTA1NSw3IEBAIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogICAgIC8vIFRlbXBvcmFyaWx5IHdvcmsgYXJv
dW5kIGJ1ZyAyMjY5MjIuIEZvciBub3cgY2xhaW0gdGhhdCB0aGUgb3B1cyBhbmQgdm9yYmlzIGNv
ZGVjcyBhcmVuJ3Qgc3VwcG9ydGVkCiAgICAgLy8gc28gdGhhdCBzaXRlcyByZWx5aW5nIG9uIHRo
aXMgdGVzdCB0byBkZXRlcm1pbmUgaWYgd2ViYXVkaW8gdXNlIG9mIG9wdXMgb3Igdm9yYmlzIHdv
bid0IGVycm9yLgogICAgIGF1dG8gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0gICAg
aWYgKHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYg
KGNvZGVjcy5jb250YWlucygib3B1cyIpIHx8IGNvZGVjcy5jb250YWlucygidm9yYmlzIikpKQor
ICAgIGlmIChzdXBwb3J0ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVk
ICYmICgoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikgJiYgIXdlYk1XZWJBdWRpb0VuYWJsZWQoKSkg
fHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCiAgICAgICAgIHN1cHBvcnQgPSBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZDsKICNlbmRpZgogCkBAIC04MTc1LDYg
KzgxNzUsMTUgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNNZWRpYVN0cmVhbVNvdXJjZSgp
IGNvbnN0CiAjZW5kaWYKIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJNV2ViQXVkaW9F
bmFibGVkKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHJldHVybiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYk1XZWJBdWRpb0VuYWJs
ZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVN0cmVhbUNhcHR1cmVT
dGFydGVkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMTA1
MWMwNTg1M2ZjMDEyZWRkYWNkOGI3NGM5NDVhYmJhYzJkNTMyMC4uZjkyNmVkNjI3MzAxMWQ1MTY0
OGFkZWY1Nzk3ZGJlZGZhNmRiODJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTkzOSw2ICs5MzksOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IExvZ2dlciYgbWVk
aWFQbGF5ZXJMb2dnZXIoKSBmaW5hbCB7IHJldHVybiBsb2dnZXIoKTsgfQogI2VuZGlmCiAKKyAg
ICBib29sIHdlYk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdDsKKwogICAgIFRpbWVyIG1fcHJvZ3Jl
c3NFdmVudFRpbWVyOwogICAgIFRpbWVyIG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFRp
bWVyIG1fc2NhblRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaAppbmRleCBhMGQzY2VhNzlkN2UwYWUwNzQ4MjQwZGQyMmVlZTJkNTU3NTA0NGE2Li42
ODVhMGEyYWQ3NTQ3MjY5OWFlYmYyMTlmYTBjMjUxNTIxYmViMGI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMjM1LDYgKzIzNSw4IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2ViTVBhcnNlckVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJNUGFyc2VyRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQogICAgIGJvb2wgd2ViTVBhcnNlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYk1QYXJz
ZXJFbmFibGVkOyB9CisgICAgdm9pZCBzZXRXZWJNV2ViQXVkaW9FbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fd2ViTVdlYkF1ZGlvRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgd2Vi
TVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVdlYkF1ZGlvRW5hYmxlZDsg
fQogI2VuZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKQEAgLTM3MSw2ICszNzMsNyBAQCBwcml2
YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBib29sIG1fd2ViTVBhcnNlckVu
YWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV93ZWJNV2ViQXVkaW9FbmFibGVkIHsgZmFsc2Ug
fTsKICNlbmRpZgogCiAjaWYgSEFWRShDRUxFU1RJQUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaAppbmRleCA4ZGE2MDM3Nzg4MjQzMzMwYWUyNTBkOWMxMGM3MmVlMDU4OGU3NjBj
Li4wMjU4ZTVlYjRmM2Q2ODgzODE4YjNiNzFlMDljMGY4OTBmMDM0M2Y1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKQEAgLTU3LDcgKzU3LDcgQEAgc3RydWN0IFBsYXRmb3Jt
U2FtcGxlIHsKICAgICB9IHNhbXBsZTsKIH07CiAKLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlh
U2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CitjbGFz
cyBNZWRpYVNhbXBsZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4g
ewogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlKCkgPSBkZWZhdWx0OwogCkBAIC0x
MjUsNiArMTI1LDggQEAgcHVibGljOgogCiAgICAgICAgIHJldHVybiBvYmplY3QtPnRvSlNPTlN0
cmluZygpOwogICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhU2FtcGxlQVZGT2JqQygp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKaW5kZXggMjQzZTEwNmI5
ZTMzZGE5M2RlOWEwY2FkMzNiYzA4ZTkyMDY1MzIwMC4uN2YwM2MzMzFlZTIwMTBjOTg5MjlhMDMy
NGRjYWM5NTVkNjVmOGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9CdXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
QnVzLmNwcApAQCAtNzMsNiArNzMsMTYgQEAgdm9pZCBBdWRpb0J1czo6c2V0Q2hhbm5lbE1lbW9y
eSh1bnNpZ25lZCBjaGFubmVsSW5kZXgsIGZsb2F0KiBzdG9yYWdlLCBzaXplX3QgbGUKICAgICB9
CiB9CiAKK3ZvaWQgQXVkaW9CdXM6OnNldExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKQoreworICAg
IFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IG1f
bGVuZ3RoKTsKKyAgICBpZiAobmV3TGVuZ3RoID09IG1fbGVuZ3RoKQorICAgICAgICByZXR1cm47
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhbm5lbHMuc2l6ZSgpOyArK2kpCisg
ICAgICAgIG1fY2hhbm5lbHNbaV0tPnNldExlbmd0aChuZXdMZW5ndGgpOworICAgIG1fbGVuZ3Ro
ID0gbmV3TGVuZ3RoOworfQorCiB2b2lkIEF1ZGlvQnVzOjp6ZXJvKCkKIHsKICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQwZTgxMTIxMWI0ZGEyY2E4YzY3MGI1OGIz
Mjk2YjM1Y2U2OWNkNGEuLmVhNTg1Yzg0OGVhOTQxMjI3NDAyOWE4ODY3YWI5Y2NhYzcwNzRkNjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtODMsNiArODMs
OSBAQCBwdWJsaWM6CiAgICAgLy8gTnVtYmVyIG9mIHNhbXBsZS1mcmFtZXMKICAgICBzaXplX3Qg
bGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFJlZHVjZSB0aGUg
bnVtYmVyIG9mIGZyYW1lcyBhdmFpbGFibGUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYWxsb2NhdGVk
IG1lbW9yeSBzaXplLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpOworCiAg
ICAgLy8gU2FtcGxlLXJhdGUgOiAwLjAgaWYgdW5rbm93biBvciAiZG9uJ3QgY2FyZSIKICAgICBm
bG9hdCBzYW1wbGVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVSYXRlOyB9CiAgICAgdm9p
ZCBzZXRTYW1wbGVSYXRlKGZsb2F0IHNhbXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxl
UmF0ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9D
aGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApp
bmRleCA5NzViZDBiNWFiZDhmNzI1NWEwNWE3ZGQ3MGY5NjUwYjFkNDk0NjY3Li5jOTc2MTVmMGRh
MTUxYzIzZDQzM2NiNTYwNjdiYjU0Nzk0NjJhMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtNzQsNiArNzQsMTQgQEAgcHVibGljOgogICAg
IC8vIEhvdyBtYW55IHNhbXBsZS1mcmFtZXMgZG8gd2UgY29udGFpbj8KICAgICBzaXplX3QgbGVu
Z3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFNldCBuZXcgbGVuZ3Ro
LiBDYW4gb25seSBiZSBzZXQgdG8gYSB2YWx1ZSBsb3dlciB0aGFuIHRoZSBjdXJyZW50bHkKKyAg
ICAvLyBzZXQgbGVuZ3RoLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCisg
ICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG5l
d0xlbmd0aCA8PSBsZW5ndGgoKSk7CisgICAgICAgIG1fbGVuZ3RoID0gbmV3TGVuZ3RoOworICAg
IH0KKwogICAgIC8vIERpcmVjdCBhY2Nlc3MgdG8gUENNIHNhbXBsZSBkYXRhLiBOb24tY29uc3Qg
YWNjZXNzb3IgY2xlYXJzIHNpbGVudCBmbGFnLgogICAgIGZsb2F0KiBtdXRhYmxlRGF0YSgpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9GaWxlUmVhZGVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCmluZGV4IDVkNTZiOWVlMWEwZDNkNjdhNzljMzA3
NjFkMTM4MTVkN2MwNjQ0Y2UuLmIzMTE3ZGZiZmViNzQxYWI4Njc2ODI0MjhlOGIxYWM2MGYzZjQx
YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
RmlsZVJlYWRlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKQEAgLTM0LDIxICszNCwzNCBAQAogCiAjaW5j
bHVkZSAiQXVkaW9CdXMuaCIKICNpbmNsdWRlICJBdWRpb0ZpbGVSZWFkZXIuaCIKKyNpbmNsdWRl
ICJBdWRpb1NhbXBsZURhdGFTb3VyY2UuaCIKKyNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5o
IgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIkluYmFuZFRleHRUcmFj
a1ByaXZhdGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTYW1wbGVB
VkZPYmpDLmgiCisjaW5jbHVkZSAiVmlkZW9UcmFja1ByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJN
QXVkaW9VdGlsaXRpZXNDb2NvYS5oIgorI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbnZl
cnRlci5oPgogI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9FeHRlbmRlZEF1ZGlvRmlsZS5oPgogI2lu
Y2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8cGFsL2Nm
L0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CisjaW5jbHVkZSA8U291cmNlQnVmZmVyUGFyc2VyV2Vi
TS5oPgogI2luY2x1ZGUgPHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9G
YXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQXVk
aW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIEF1
ZGlvQnVmZmVyTGlzdCogdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KHNpemVfdCBudW1iZXJPZkJ1
ZmZlcnMpCiB7CisgICAgaWYgKCFudW1iZXJPZkJ1ZmZlcnMpCisgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIENoZWNrZWRTaXplIGJ1ZmZlckxpc3RTaXplID0gc2l6ZW9mKEF1ZGlvQnVmZmVy
TGlzdCkgLSBzaXplb2YoQXVkaW9CdWZmZXIpOwotICAgIGJ1ZmZlckxpc3RTaXplICs9IG51bWJl
ck9mQnVmZmVycyAqIHNpemVvZihBdWRpb0J1ZmZlcik7CisgICAgYnVmZmVyTGlzdFNpemUgKz0g
V1RGOjpjaGVja2VkUHJvZHVjdDxzaXplX3Q+KG51bWJlck9mQnVmZmVycywgc2l6ZW9mKEF1ZGlv
QnVmZmVyKSk7CiAgICAgaWYgKGJ1ZmZlckxpc3RTaXplLmhhc092ZXJmbG93ZWQoKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTg3LDEwICsxMDAsOTAgQEAgc3RhdGljIGJvb2wgdmFs
aWRhdGVBdWRpb0J1ZmZlckxpc3QoQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0KQogICAgIHJl
dHVybiB0cnVlOwogfQogCisvLyBPbiBzdGFjayBSQUlJIGNsYXNzIHRoYXQgd2lsbCBmcmVlIHRo
ZSBhbGxvY2F0ZWQgQXVkaW9CdWZmZXJMaXN0IGFzIG5lZWRlZC4KK2NsYXNzIEF1ZGlvQnVmZmVy
TGlzdEhvbGRlciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQXVkaW9CdWZmZXJMaXN0SG9sZGVy
KHNpemVfdCBudW1iZXJPZkNoYW5uZWxzKQorICAgICAgICA6IG1fYnVmZmVyTGlzdCh0cnlDcmVh
dGVBdWRpb0J1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscykpCisgICAgeworICAgIH0KKworICAg
IH5BdWRpb0J1ZmZlckxpc3RIb2xkZXIoKQorICAgIHsKKyAgICAgICAgaWYgKG1fYnVmZmVyTGlz
dCkKKyAgICAgICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QobV9idWZmZXJMaXN0KTsKKyAg
ICB9CisKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gISFtX2J1
ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3QqIG9wZXJhdG9yLT4oKSBjb25zdCB7IHJl
dHVybiBtX2J1ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3QqIG9wZXJhdG9yKigpIGNv
bnN0IHsgcmV0dXJuIG1fYnVmZmVyTGlzdDsgfQorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsg
cmV0dXJuIHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7IH0KK3ByaXZhdGU6
CisgICAgQXVkaW9CdWZmZXJMaXN0KiBtX2J1ZmZlckxpc3Q7Cit9OworCitzdGF0aWMgY29uc3Rl
eHByIHVpbnQzMl90IGtPcHVzTWF4RnJhbWVMZW5ndGggPSA5NDsKK3N0YXRpYyBjb25zdGV4cHIg
dWludDMyX3Qga1ZvcmJpc01heEZyYW1lTGVuZ3RoID0gNDA5NjsKKworI2lmIEVOQUJMRShNRURJ
QV9TT1VSQ0UpCitjbGFzcyBBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YSB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CisKK3B1YmxpYzoKKyAgICBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJ
bml0aWFsaXphdGlvblNlZ21lbnQgbV9pbml0U2VnbWVudDsKKyAgICBNZWRpYVRpbWUgbV9kdXJh
dGlvbjsKKyAgICBWZWN0b3I8UmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4+IG1fc2FtcGxlczsKK307
CisjZW5kaWYKKwogQXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCog
ZGF0YSwgc2l6ZV90IGRhdGFTaXplKQogICAgIDogbV9kYXRhKGRhdGEpCiAgICAgLCBtX2RhdGFT
aXplKGRhdGFTaXplKQorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgbV9sb2dnZXIo
TG9nZ2VyOjpjcmVhdGUodGhpcykpCisgICAgLCBtX2xvZ0lkZW50aWZpZXIoTG9nZ2VySGVscGVy
Ojp1bmlxdWVMb2dJZGVudGlmaWVyKCkpCisjZW5kaWYKIHsKKyNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKQorICAgIGlmIChpc01heWJlV2ViTShzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oZGF0
YSksIGRhdGFTaXplKSkgeworICAgICAgICBhdXRvIHBhcnNlciA9IGFkb3B0UmVmKG5ldyBTb3Vy
Y2VCdWZmZXJQYXJzZXJXZWJNKCkpOworICAgICAgICBib29sIGVycm9yID0gZmFsc2U7CisgICAg
ICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IGF1ZGlvVHJhY2tJZDsKKyAgICAgICAgTWVkaWFU
aW1lIGR1cmF0aW9uOworICAgICAgICBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJbml0aWFsaXph
dGlvblNlZ21lbnQgaW5pdFNlZ21lbnQ7CisgICAgICAgIFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVB
VkZPYmpDPj4gc2FtcGxlczsKKyAgICAgICAgcGFyc2VyLT5zZXREaWRFbmNvdW50ZXJFcnJvckR1
cmluZ1BhcnNpbmdDYWxsYmFjayhbJl0odWludDY0X3QpIHsKKyAgICAgICAgICAgIGVycm9yID0g
dHJ1ZTsKKyAgICAgICAgfSk7CisgICAgICAgIHBhcnNlci0+c2V0RGlkUGFyc2VJbml0aWFsaXph
dGlvbkRhdGFDYWxsYmFjayhbJl0oU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRp
b25TZWdtZW50JiYgaW5pdCkgeworICAgICAgICAgICAgZm9yIChhdXRvJiBhdWRpb1RyYWNrIDog
aW5pdC5hdWRpb1RyYWNrcykgeworICAgICAgICAgICAgICAgIGlmIChhdWRpb1RyYWNrLnRyYWNr
ICYmIGF1ZGlvVHJhY2sudHJhY2stPnRyYWNrVUlEKCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
ZHVyYXRpb24gPSBpbml0LmR1cmF0aW9uOworICAgICAgICAgICAgICAgICAgICBhdWRpb1RyYWNr
SWQgPSBhdWRpb1RyYWNrLnRyYWNrLT50cmFja1VJRCgpOworICAgICAgICAgICAgICAgICAgICBp
bml0U2VnbWVudCA9IFdURk1vdmUoaW5pdCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworICAgICAgICBw
YXJzZXItPnNldERpZFByb3ZpZGVNZWRpYURhdGFDYWxsYmFjayhbJl0oUmVmPE1lZGlhU2FtcGxl
PiYmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCwgY29uc3QgU3RyaW5nJikgeworICAgICAgICAg
ICAgaWYgKCFhdWRpb1RyYWNrSWQgfHwgdHJhY2tJRCAhPSAqYXVkaW9UcmFja0lkKQorICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJ
VFlfSU1QTElDQVRJT04oaXM8TWVkaWFTYW1wbGVBVkZPYmpDPihzYW1wbGUuZ2V0KCkpKTsKKyAg
ICAgICAgICAgIHNhbXBsZXMuYXBwZW5kKHN0YXRpY19yZWZlcmVuY2VfY2FzdDxNZWRpYVNhbXBs
ZUFWRk9iakM+KFdURk1vdmUoc2FtcGxlKSkpOworICAgICAgICB9KTsKKyAgICAgICAgcGFyc2Vy
LT5zZXRDYWxsT25DbGllbnRUaHJlYWRDYWxsYmFjayhbXShXVEY6OkZ1bmN0aW9uPHZvaWQoKT4m
JiBmdW5jdGlvbikgeworICAgICAgICAgICAgZnVuY3Rpb24oKTsKKyAgICAgICAgfSk7CisgICAg
ICAgIFZlY3Rvcjx1aW50OF90PiB2ZWN0b3Ioc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRh
dGEpLCBkYXRhU2l6ZSk7CisgICAgICAgIFNvdXJjZUJ1ZmZlclBhcnNlcjo6U2VnbWVudCBzZWdt
ZW50KFdURk1vdmUodmVjdG9yKSk7CisgICAgICAgIHBhcnNlci0+YXBwZW5kRGF0YShXVEZNb3Zl
KHNlZ21lbnQpKTsKKyAgICAgICAgaWYgKGF1ZGlvVHJhY2tJZCkgeworICAgICAgICAgICAgcGFy
c2VyLT5mbHVzaFBlbmRpbmdBdWRpb0J1ZmZlcnMoKTsKKyAgICAgICAgICAgIG1fd2VibURhdGEg
PSBtYWtlVW5pcXVlPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPihBdWRpb0ZpbGVSZWFkZXJXZWJN
RGF0YSB7IFdURk1vdmUoaW5pdFNlZ21lbnQpLCBXVEZNb3ZlKGR1cmF0aW9uKSwgV1RGTW92ZShz
YW1wbGVzKSB9KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCiAg
ICAgaWYgKFBBTDo6QXVkaW9GaWxlT3BlbldpdGhDYWxsYmFja3ModGhpcywgcmVhZFByb2MsIDAs
IGdldFNpemVQcm9jLCAwLCAwLCAmbV9hdWRpb0ZpbGVJRCkgIT0gbm9FcnIpCiAgICAgICAgIHJl
dHVybjsKIApAQCAtMTExLDYgKzIwNCwxMiBAQCBBdWRpb0ZpbGVSZWFkZXI6On5BdWRpb0ZpbGVS
ZWFkZXIoKQogICAgIG1fYXVkaW9GaWxlSUQgPSAwOwogfQogCitib29sIEF1ZGlvRmlsZVJlYWRl
cjo6aXNNYXliZVdlYk0oY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKSBjb25z
dAoreworICAgIC8vIEZyb20gaHR0cHM6Ly9taW1lc25pZmYuc3BlYy53aGF0d2cub3JnLyNzaWdu
YXR1cmUtZm9yLXdlYm0KKyAgICByZXR1cm4gZGF0YVNpemUgPj0gNCAmJiBkYXRhWzBdID09IDB4
MUEgJiYgZGF0YVsxXSA9PSAweDQ1ICYmIGRhdGFbMl0gPT0gMHhERiAmJiBkYXRhWzNdID09IDB4
QTM7Cit9CisKIE9TU3RhdHVzIEF1ZGlvRmlsZVJlYWRlcjo6cmVhZFByb2Modm9pZCogY2xpZW50
RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVzdENvdW50LCB2b2lkKiBidWZmZXIs
IFVJbnQzMiogYWN0dWFsQ291bnQpCiB7CiAgICAgYXV0byogYXVkaW9GaWxlUmVhZGVyID0gc3Rh
dGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50RGF0YSk7CkBAIC0xMzYsNjcgKzIzNSwx
NzAgQEAgU0ludDY0IEF1ZGlvRmlsZVJlYWRlcjo6Z2V0U2l6ZVByb2Modm9pZCogY2xpZW50RGF0
YSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50RGF0YSkt
PmRhdGFTaXplKCk7CiB9CiAKLVJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVh
dGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCitzdHJ1Y3QgUGFzc3Rocm91
Z2hVc2VyRGF0YSB7CisgICAgVUludDMyIG1fY2hhbm5lbHM7CisgICAgVUludDMyIG1fZGF0YVNp
emU7CisgICAgY29uc3Qgdm9pZCogbV9kYXRhOworICAgIFVJbnQzMiBtX2luZGV4OworICAgIFVJ
bnQzMiBtX251bVBhY2tldHM7CisgICAgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogbV9w
YWNrZXRzOworfTsKKworLy8gRXJyb3IgdmFsdWUgd2UgcGFzcyB0aHJvdWdoIHRoZSBkZWNvZGVy
IHRvIHNpZ25hbCB0aGF0IG5vdGhpbmcKKy8vIGhhcyBnb25lIHdyb25nIGR1cmluZyBkZWNvZGlu
ZyBhbmQgd2UncmUgZG9uZSBwcm9jZXNzaW5nIHRoZSBwYWNrZXQuCitjb25zdCB1aW50MzJfdCBr
Tm9Nb3JlRGF0YUVyciA9ICdNT0FSJzsKKworc3RhdGljIE9TU3RhdHVzIHBhc3N0aHJvdWdoSW5w
dXREYXRhQ2FsbGJhY2soCisgICAgQXVkaW9Db252ZXJ0ZXJSZWYsIFVJbnQzMiogbnVtRGF0YVBh
Y2tldHMsIEF1ZGlvQnVmZmVyTGlzdCogZGF0YSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
bioqIHBhY2tldERlc2MsIHZvaWQqIGluVXNlckRhdGEpCit7CisgICAgUGFzc3Rocm91Z2hVc2Vy
RGF0YSogdXNlckRhdGEgPSAoUGFzc3Rocm91Z2hVc2VyRGF0YSopaW5Vc2VyRGF0YTsKKyAgICBp
ZiAodXNlckRhdGEtPm1faW5kZXggPT0gdXNlckRhdGEtPm1fbnVtUGFja2V0cykgeworICAgICAg
ICAqbnVtRGF0YVBhY2tldHMgPSAwOworICAgICAgICByZXR1cm4ga05vTW9yZURhdGFFcnI7Cisg
ICAgfQorCisgICAgaWYgKHBhY2tldERlc2MpIHsKKyAgICAgICAgaWYgKHVzZXJEYXRhLT5tX2lu
ZGV4ID49IHVzZXJEYXRhLT5tX251bVBhY2tldHMpIHsKKyAgICAgICAgICAgICpudW1EYXRhUGFj
a2V0cyA9IDA7CisgICAgICAgICAgICByZXR1cm4ga0F1ZGlvQ29udmVydGVyRXJyX1JlcXVpcmVz
UGFja2V0RGVzY3JpcHRpb25zRXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgKnBhY2tldERlc2Mg
PSAmdXNlckRhdGEtPm1fcGFja2V0c1t1c2VyRGF0YS0+bV9pbmRleF07CisgICAgfQorCisgICAg
ZGF0YS0+bUJ1ZmZlcnNbMF0ubU51bWJlckNoYW5uZWxzID0gdXNlckRhdGEtPm1fY2hhbm5lbHM7
CisgICAgZGF0YS0+bUJ1ZmZlcnNbMF0ubURhdGFCeXRlU2l6ZSA9IHVzZXJEYXRhLT5tX2RhdGFT
aXplOworICAgIGRhdGEtPm1CdWZmZXJzWzBdLm1EYXRhID0gY29uc3RfY2FzdDx2b2lkKj4odXNl
ckRhdGEtPm1fZGF0YSk7CisKKyAgICAqbnVtRGF0YVBhY2tldHMgPSAxOworICAgIHVzZXJEYXRh
LT5tX2luZGV4Kys7CisKKyAgICByZXR1cm4gbm9FcnI7Cit9CisKK3NzaXplX3QgQXVkaW9GaWxl
UmVhZGVyOjpudW1iZXJPZkZyYW1lcygpIGNvbnN0CiB7CisgICAgU0ludDY0IG51bWJlck9mRnJh
bWVzSW42NCA9IDA7CisKKyAgICBpZiAobV93ZWJtRGF0YSkgeworICAgICAgICBpZiAobV93ZWJt
RGF0YS0+bV9zYW1wbGVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKworICAg
ICAgICAvLyBDYWxjdWxhdGUgdGhlIHRvdGFsIG51bWJlciBvZiBkZWNvZGVkIHNhbXBsZXMgdGhh
dCB3ZXJlIGRlbXV4ZWQuCisgICAgICAgIC8vIFRoaXMgY29kZSBvbmx5IGhhbmRsZSB0aGUgQ01T
YW1wbGVCdWZmZXIgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNCisg
ICAgICAgIC8vIHdoZXJlIGEgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMgYXJyYXkgaXMg
YWx3YXlzIHByb3ZpZGVkIGV2ZW4gd2l0aAorICAgICAgICAvLyBDb25zdGFudCBiaXRyYXRlIGFu
ZCBjb25zdGFudCBmcmFtZXMtcGVyLXBhY2tldCBhdWRpby4KKyAgICAgICAgZm9yIChhdXRvJiBz
YW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgICAgIENNU2FtcGxlQnVm
ZmVyUmVmIHNhbXBsZUJ1ZmZlciA9IHNhbXBsZS0+c2FtcGxlQnVmZmVyKCk7CisgICAgICAgICAg
ICBjb25zdCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0gUEFMOjpD
TVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKHNhbXBsZUJ1ZmZlcik7CisgICAgICAg
ICAgICBpZiAoIWZvcm1hdERlc2NyaXB0aW9uKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsK
KyAgICAgICAgICAgIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiogY29uc3QgYXNi
ZCA9IFBBTDo6Q01BdWRpb0Zvcm1hdERlc2NyaXB0aW9uR2V0U3RyZWFtQmFzaWNEZXNjcmlwdGlv
bihmb3JtYXREZXNjcmlwdGlvbik7CisgICAgICAgICAgICBpZiAoIWFzYmQpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIC0xOworCisgICAgICAgICAgICBzaXplX3QgcGFja2V0RGVzY3JpcHRpb25z
U2l6ZTsKKyAgICAgICAgICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1Q
YWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCAwLCBudWxscHRyLCAmcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZSkgIT0gbm9FcnIpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAg
ICAgICAgc2l6ZV90IG51bURlc2NyaXB0aW9ucyA9IHBhY2tldERlc2NyaXB0aW9uc1NpemUgLyBz
aXplb2YoQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbik7CisgICAgICAgICAgICBpZiAoIW51
bURlc2NyaXB0aW9ucykKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBh
dXRvIGRlc2NyaXB0aW9ucyA9IFdURjo6bWFrZVVuaXF1ZUFycmF5PEF1ZGlvU3RyZWFtUGFja2V0
RGVzY3JpcHRpb24+KG51bURlc2NyaXB0aW9ucyk7CisgICAgICAgICAgICBpZiAoUEFMOjpDTVNh
bXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1ZmZlciwg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3JpcHRpb25zLmdldCgpLCBudWxscHRyKSAhPSBu
b0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBDTUl0ZW1Db3Vu
dCBudW1QYWNrZXRzID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2FtcGxlQnVm
ZmVyKTsKKyAgICAgICAgICAgIGlmIChudW1EZXNjcmlwdGlvbnMgIT0gc2l6ZV90KG51bVBhY2tl
dHMpKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmhh
bmRsZWQgQ01TYW1wbGVCdWZmZXIgc3RydWN0dXJlIik7CisgICAgICAgICAgICAgICAgcmV0dXJu
IC0xOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBu
dW1EZXNjcmlwdGlvbnM7IGkrKykgeworICAgICAgICAgICAgICAgIHVpbnQzMl90IGZwcCA9IGRl
c2NyaXB0aW9uc1tpXS5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA/IGRlc2NyaXB0aW9uc1tpXS5t
VmFyaWFibGVGcmFtZXNJblBhY2tldCA6IGFzYmQtPm1GcmFtZXNQZXJQYWNrZXQ7CisgICAgICAg
ICAgICAgICAgbnVtYmVyT2ZGcmFtZXNJbjY0ICs9IGZwcDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICByZXR1cm4gbnVtYmVyT2ZGcmFtZXNJbjY0OworICAgIH0KKwogICAgIGlm
ICghbV9leHRBdWRpb0ZpbGVSZWYpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBy
ZXR1cm4gLTE7CiAKLSAgICAvLyBHZXQgZmlsZSdzIGRhdGEgZm9ybWF0Ci0gICAgVUludDMyIHNp
emUgPSBzaXplb2YobV9maWxlRGF0YUZvcm1hdCk7Ci0gICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxl
R2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxl
RGF0YUZvcm1hdCwgJnNpemUsICZtX2ZpbGVEYXRhRm9ybWF0KSAhPSBub0VycikKLSAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgVUludDMyIHNpemUgPSBzaXplb2YobnVtYmVyT2ZGcmFtZXNJ
bjY0KTsKKyAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmls
ZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVMZW5ndGhGcmFtZXMsICZzaXplLCAmbnVt
YmVyT2ZGcmFtZXNJbjY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lc0luNjQgPD0gMCkKKyAg
ICAgICAgcmV0dXJuIC0xOwogCi0gICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBtX2ZpbGVE
YXRhRm9ybWF0Lm1DaGFubmVsc1BlckZyYW1lOworICAgIHJldHVybiBudW1iZXJPZkZyYW1lc0lu
NjQ7Cit9CiAKLSAgICAvLyBOdW1iZXIgb2YgZnJhbWVzCi0gICAgU0ludDY0IG51bWJlck9mRnJh
bWVzNjQgPSAwOwotICAgIHNpemUgPSBzaXplb2YobnVtYmVyT2ZGcmFtZXM2NCk7Ci0gICAgaWYg
KFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRp
b0ZpbGVQcm9wZXJ0eV9GaWxlTGVuZ3RoRnJhbWVzLCAmc2l6ZSwgJm51bWJlck9mRnJhbWVzNjQp
ICE9IG5vRXJyIHx8IG51bWJlck9mRnJhbWVzNjQgPD0gMCkKLSAgICAgICAgcmV0dXJuIG51bGxw
dHI7CitzdGQ6Om9wdGlvbmFsPEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gQXVkaW9GaWxl
UmVhZGVyOjpmaWxlRGF0YUZvcm1hdCgpIGNvbnN0Cit7CisgICAgaWYgKG1fd2VibURhdGEpIHsK
KyAgICAgICAgaWYgKG1fd2VibURhdGEtPm1fc2FtcGxlcy5pc0VtcHR5KCkpCisgICAgICAgICAg
ICByZXR1cm4geyB9OworCisgICAgICAgIENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0RGVz
Y3JpcHRpb24gPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24obV93ZWJt
RGF0YS0+bV9zYW1wbGVzWzBdLT5zYW1wbGVCdWZmZXIoKSk7CisKKyAgICAgICAgY29uc3QgQXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25zdCBhc2JkID0gUEFMOjpDTUF1ZGlvRm9ybWF0
RGVzY3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKGZvcm1hdERlc2NyaXB0aW9uKTsK
KyAgICAgICAgcmV0dXJuICphc2JkOworICAgIH0KIAotICAgIGRvdWJsZSBmaWxlU2FtcGxlUmF0
ZSA9IG1fZmlsZURhdGFGb3JtYXQubVNhbXBsZVJhdGU7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rl
c2NyaXB0aW9uIGZvcm1hdDsKKyAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihmb3JtYXQpOworICAg
IGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0
QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZzaXplLCAmZm9ybWF0KSAhPSBub0Vy
cikKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gZm9ybWF0OworfQogCitBdWRpb1N0
cmVhbUJhc2ljRGVzY3JpcHRpb24gQXVkaW9GaWxlUmVhZGVyOjpjbGllbnREYXRhRm9ybWF0KGNv
bnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5Gb3JtYXQsIGZsb2F0IHNhbXBsZVJh
dGUpIGNvbnN0Cit7CiAgICAgLy8gTWFrZSBjbGllbnQgZm9ybWF0IHNhbWUgbnVtYmVyIG9mIGNo
YW5uZWxzIGFzIGZpbGUgZm9ybWF0LCBidXQgdHdlYWsgYSBmZXcgdGhpbmdzLgogICAgIC8vIENs
aWVudCBmb3JtYXQgd2lsbCBiZSBsaW5lYXIgUENNIChjYW5vbmljYWwpLCBhbmQgcG90ZW50aWFs
bHkgY2hhbmdlIHNhbXBsZS1yYXRlLgotICAgIG1fY2xpZW50RGF0YUZvcm1hdCA9IG1fZmlsZURh
dGFGb3JtYXQ7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIG91dEZvcm1hdCA9IGlu
Rm9ybWF0OwogCiAgICAgY29uc3QgaW50IGJ5dGVzUGVyRmxvYXQgPSBzaXplb2YoRmxvYXQzMik7
CiAgICAgY29uc3QgaW50IGJpdHNQZXJCeXRlID0gODsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQu
bUZvcm1hdElEID0ga0F1ZGlvRm9ybWF0TGluZWFyUENNOwotICAgIG1fY2xpZW50RGF0YUZvcm1h
dC5tRm9ybWF0RmxhZ3MgPSBrQXVkaW9Gb3JtYXRGbGFnc05hdGl2ZUZsb2F0UGFja2VkIHwga0F1
ZGlvRm9ybWF0RmxhZ0lzTm9uSW50ZXJsZWF2ZWQ7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1C
eXRlc1BlclBhY2tldCA9IGJ5dGVzUGVyRmxvYXQ7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1G
cmFtZXNQZXJQYWNrZXQgPSAxOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQnl0ZXNQZXJGcmFt
ZSA9IGJ5dGVzUGVyRmxvYXQ7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1DaGFubmVsc1BlckZy
YW1lID0gbnVtYmVyT2ZDaGFubmVsczsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJpdHNQZXJD
aGFubmVsID0gYml0c1BlckJ5dGUgKiBieXRlc1BlckZsb2F0OworICAgIG91dEZvcm1hdC5tRm9y
bWF0SUQgPSBrQXVkaW9Gb3JtYXRMaW5lYXJQQ007CisgICAgb3V0Rm9ybWF0Lm1Gb3JtYXRGbGFn
cyA9IGtBdWRpb0Zvcm1hdEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQgfCBrQXVkaW9Gb3JtYXRGbGFn
SXNOb25JbnRlcmxlYXZlZDsKKyAgICBvdXRGb3JtYXQubUJ5dGVzUGVyUGFja2V0ID0gb3V0Rm9y
bWF0Lm1CeXRlc1BlckZyYW1lID0gYnl0ZXNQZXJGbG9hdDsKKyAgICBvdXRGb3JtYXQubUZyYW1l
c1BlclBhY2tldCA9IDE7CisgICAgb3V0Rm9ybWF0Lm1CaXRzUGVyQ2hhbm5lbCA9IGJpdHNQZXJC
eXRlICogYnl0ZXNQZXJGbG9hdDsKIAogICAgIGlmIChzYW1wbGVSYXRlKQotICAgICAgICBtX2Ns
aWVudERhdGFGb3JtYXQubVNhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOworICAgICAgICBvdXRGb3Jt
YXQubVNhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOworCisgICAgcmV0dXJuIG91dEZvcm1hdDsKK30K
IAotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVm
LCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0YUZvcm1hdCwgc2l6ZW9mKEF1ZGlvU3Ry
ZWFtQmFzaWNEZXNjcmlwdGlvbiksICZtX2NsaWVudERhdGFGb3JtYXQpICE9IG5vRXJyKQorUmVm
UHRyPEF1ZGlvQnVzPiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRl
LCBib29sIG1peFRvTW9ubykKK3sKKyAgICBTSW50NjQgbnVtYmVyT2ZGcmFtZXNJbjY0ID0gbnVt
YmVyT2ZGcmFtZXMoKTsKKyAgICBpZiAobnVtYmVyT2ZGcmFtZXNJbjY0IDw9IDApCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogCi0gICAgLy8gQ2hhbmdlIG51bWJlck9mRnJhbWVzNjQgdG8gZGVz
dGluYXRpb24gc2FtcGxlLXJhdGUKLSAgICBudW1iZXJPZkZyYW1lczY0ID0gbnVtYmVyT2ZGcmFt
ZXM2NCAqIChtX2NsaWVudERhdGFGb3JtYXQubVNhbXBsZVJhdGUgLyBmaWxlU2FtcGxlUmF0ZSk7
Ci0gICAgc2l6ZV90IG51bWJlck9mRnJhbWVzID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihudW1iZXJP
ZkZyYW1lczY0KTsKKyAgICBhdXRvIGluRm9ybWF0ID0gZmlsZURhdGFGb3JtYXQoKTsKKyAgICBp
ZiAoIWluRm9ybWF0KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAgIEF1ZGlvU3RyZWFt
QmFzaWNEZXNjcmlwdGlvbiBvdXRGb3JtYXQgPSBjbGllbnREYXRhRm9ybWF0KCppbkZvcm1hdCwg
c2FtcGxlUmF0ZSk7CisgICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBpbkZvcm1hdC0+bUNo
YW5uZWxzUGVyRnJhbWU7CisgICAgZG91YmxlIGZpbGVTYW1wbGVSYXRlID0gaW5Gb3JtYXQtPm1T
YW1wbGVSYXRlOworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc091dDY0ID0gbnVtYmVyT2ZGcmFt
ZXNJbjY0ICogKG91dEZvcm1hdC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVSYXRlKTsKKyAgICBz
aXplX3QgbnVtYmVyT2ZGcmFtZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51bWJlck9mRnJhbWVz
T3V0NjQpOwogICAgIHNpemVfdCBidXNDaGFubmVsQ291bnQgPSBtaXhUb01vbm8gPyAxIDogbnVt
YmVyT2ZDaGFubmVsczsKIAogICAgIC8vIENyZWF0ZSBBdWRpb0J1cyB3aGVyZSB3ZSdsbCBwdXQg
dGhlIFBDTSBhdWRpbyBkYXRhCiAgICAgYXV0byBhdWRpb0J1cyA9IEF1ZGlvQnVzOjpjcmVhdGUo
YnVzQ2hhbm5lbENvdW50LCBudW1iZXJPZkZyYW1lcyk7Ci0gICAgYXVkaW9CdXMtPnNldFNhbXBs
ZVJhdGUobmFycm93UHJlY2lzaW9uVG9GbG9hdChtX2NsaWVudERhdGFGb3JtYXQubVNhbXBsZVJh
dGUpKTsgLy8gc2F2ZSBmb3IgbGF0ZXIKLQotICAgIC8vIE9ubHkgYWxsb2NhdGVkIGluIHRoZSBt
aXhUb01vbm8gY2FzZTsgZGVhbGxvY2F0ZWQgb24gZGVzdHJ1Y3Rpb24uCi0gICAgQXVkaW9GbG9h
dEFycmF5IGxlZnRDaGFubmVsOwotICAgIEF1ZGlvRmxvYXRBcnJheSByaWdodENoYW5uZWw7Cisg
ICAgYXVkaW9CdXMtPnNldFNhbXBsZVJhdGUobmFycm93UHJlY2lzaW9uVG9GbG9hdChvdXRGb3Jt
YXQubVNhbXBsZVJhdGUpKTsgLy8gc2F2ZSBmb3IgbGF0ZXIKIAotICAgIEF1ZGlvQnVmZmVyTGlz
dCogYnVmZmVyTGlzdCA9IHRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlzdChudW1iZXJPZkNoYW5uZWxz
KTsKKyAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgYnVmZmVyTGlzdChudW1iZXJPZkNoYW5uZWxz
KTsKICAgICBpZiAoIWJ1ZmZlckxpc3QpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2Vi
QXVkaW8sICJ0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QoJWxkKSByZXR1cm5lZCBudWxsIiwgbnVt
YmVyT2ZDaGFubmVscyk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KICAgICBjb25z
dCBzaXplX3QgYnVmZmVyU2l6ZSA9IG51bWJlck9mRnJhbWVzICogc2l6ZW9mKGZsb2F0KTsKIAor
ICAgIC8vIE9ubHkgYWxsb2NhdGVkIGluIHRoZSBtaXhUb01vbm8gY2FzZTsgZGVhbGxvY2F0ZWQg
b24gZGVzdHJ1Y3Rpb24uCisgICAgQXVkaW9GbG9hdEFycmF5IGxlZnRDaGFubmVsOworICAgIEF1
ZGlvRmxvYXRBcnJheSByaWdodENoYW5uZWw7CisKICAgICBSRUxFQVNFX0FTU0VSVChidWZmZXJM
aXN0LT5tTnVtYmVyQnVmZmVycyA9PSBudW1iZXJPZkNoYW5uZWxzKTsKICAgICBpZiAobWl4VG9N
b25vICYmIG51bWJlck9mQ2hhbm5lbHMgPT0gMikgewogICAgICAgICBsZWZ0Q2hhbm5lbC5yZXNp
emUobnVtYmVyT2ZGcmFtZXMpOwpAQCAtMjIyLDE4ICs0MjQsOTAgQEAgUmVmUHRyPEF1ZGlvQnVz
PiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRv
TW9ubykKICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICghdmFsaWRhdGVBdWRpb0J1ZmZlckxp
c3QoYnVmZmVyTGlzdCkpIHsKKyAgICBpZiAoIWJ1ZmZlckxpc3QuaXNWYWxpZCgpKSB7CiAgICAg
ICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiR2VuZXJhdGVkIGJ1ZmZlciBpbiBBdWRp
b0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cygpIGRpZCBub3QgcGFzcyB2YWxpZGF0aW9uIik7CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0
KGJ1ZmZlckxpc3QpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICAvLyBS
ZWFkIGZyb20gdGhlIGZpbGUgKG9yIGluLW1lbW9yeSB2ZXJzaW9uKQotICAgIFVJbnQzMiBmcmFt
ZXNUb1JlYWQgPSBudW1iZXJPZkZyYW1lczsKLSAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVSZWFk
KG1fZXh0QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCBidWZmZXJMaXN0KSAhPSBub0Vycikg
ewotICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpOwotICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAobV93ZWJtRGF0YSkgeworICAgICAgICBBdWRpb0NvbnZl
cnRlclJlZiBjb252ZXJ0ZXI7CisgICAgICAgIGlmIChQQUw6OkF1ZGlvQ29udmVydGVyTmV3KCYq
aW5Gb3JtYXQsICZvdXRGb3JtYXQsICZjb252ZXJ0ZXIpICE9IG5vRXJyKQorICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgICAgIGF1dG8gY2xlYW51cCA9IFsmXSgpIHsKKyAgICAgICAg
ICAgIGlmIChjb252ZXJ0ZXIpCisgICAgICAgICAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlckRp
c3Bvc2UoY29udmVydGVyKTsKKyAgICAgICAgfTsKKyAgICAgICAgVU5VU0VEX1ZBUklBQkxFKGNs
ZWFudXApOyAvLyBub3QgcmVhbGx5LCBidXQgd2UgbWFrZSB0aGUgY29tcGlsZXIgaGFwcHkuCisK
KyAgICAgICAgLy8gRGVzY3JpcHRpb25zIGZvciBfZGVjb21wcmVzc2VkXyBhdWRpbyBwYWNrZXRz
LiBpZ25vcmVkIGJ1dCBuZWVkZWQuCisgICAgICAgIGNvbnN0IHVpbnQzMl90IG1heEF1ZGlvRnJh
bWVzID0gMTI4OworICAgICAgICBhdXRvIHBhY2tldHMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxB
dWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPihtYXhBdWRpb0ZyYW1lcyk7CisKKyAgICAgICAg
c2l6ZV90IGRlY29kZWRGcmFtZXMgPSAwOworICAgICAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIg
ZGVjb2RlZEJ1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CisgICAgICAgIGlmICghZGVjb2Rl
ZEJ1ZmZlckxpc3QpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBPU1N0
YXR1cyBzdGF0dXM7CisgICAgICAgIGZvciAoYXV0byYgc2FtcGxlIDogbV93ZWJtRGF0YS0+bV9z
YW1wbGVzKSB7CisgICAgICAgICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIgPSBz
YW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICAgICAgYXV0byBidWZmZXIgPSBQQUw6OkNN
U2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlcihzYW1wbGVCdWZmZXIpOworICAgICAgICAgICAgQVNT
RVJUKFBBTDo6Q01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzKGJ1ZmZlciwgMCwgMCkpOwor
ICAgICAgICAgICAgaWYgKCFQQUw6OkNNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cyhidWZm
ZXIsIDAsIDApKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgICAg
ICBzaXplX3Qgc3JjU2l6ZSA9IFBBTDo6Q01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgoYnVmZmVy
KTsKKyAgICAgICAgICAgIGNoYXIqIHNyY0RhdGEgPSBudWxscHRyOworICAgICAgICAgICAgaWYg
KFBBTDo6Q01CbG9ja0J1ZmZlckdldERhdGFQb2ludGVyKGJ1ZmZlciwgMCwgbnVsbHB0ciwgbnVs
bHB0ciwgJnNyY0RhdGEpICE9IG5vRXJyKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgICAgICAgICBzaXplX3QgcGFja2V0RGVzY3JpcHRpb25zU2l6ZTsKKyAgICAgICAg
ICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
bnMoc2FtcGxlQnVmZmVyLCAwLCBudWxscHRyLCAmcGFja2V0RGVzY3JpcHRpb25zU2l6ZSkgIT0g
bm9FcnIpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBzaXpl
X3QgbnVtRGVzY3JpcHRpb25zID0gcGFja2V0RGVzY3JpcHRpb25zU2l6ZSAvIHNpemVvZihBdWRp
b1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKTsKKyAgICAgICAgICAgIGlmICghbnVtRGVzY3JpcHRp
b25zKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgYXV0byBk
ZXNjcmlwdGlvbnMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uPihudW1EZXNjcmlwdGlvbnMpOworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVC
dWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIHBhY2tl
dERlc2NyaXB0aW9uc1NpemUsIGRlc2NyaXB0aW9ucy5nZXQoKSwgbnVsbHB0cikgIT0gbm9FcnIp
CisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBQYXNzdGhyb3Vn
aFVzZXJEYXRhIHVzZXJEYXRhID0geyBVSW50MzIobnVtYmVyT2ZDaGFubmVscyksIFVJbnQzMihz
cmNTaXplKSwgc3JjRGF0YSwgMCwgVUludDMyKG51bURlc2NyaXB0aW9ucyksIGRlc2NyaXB0aW9u
cy5nZXQoKSB9OworCisgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBudW1iZXJPZkNoYW5uZWxzOyBpKyspIHsKKyAgICAgICAgICAgICAgICAg
ICAgZGVjb2RlZEJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1OdW1iZXJDaGFubmVscyA9IDE7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChidWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YUJ5dGVT
aXplIDw9IGRlY29kZWRGcmFtZXMgKiBzaXplb2YoZmxvYXQpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIkRlY29kZWQgbW9yZSBmcmFtZXMg
dGhhbiBmaXJzdCBjYWxjdWxhdGVkIik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBkZWNv
ZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGFCeXRlU2l6ZSA9IHN0ZDo6bWluPHVpbnQz
Ml90PihtYXhBdWRpb0ZyYW1lcyAqIHNpemVvZihmbG9hdCksIGJ1ZmZlckxpc3QtPm1CdWZmZXJz
W2ldLm1EYXRhQnl0ZVNpemUgLSBkZWNvZGVkRnJhbWVzICogc2l6ZW9mKGZsb2F0KSk7CisgICAg
ICAgICAgICAgICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YSA9IHN0
YXRpY19jYXN0PGZsb2F0Kj4oYnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGEpICsgZGVjb2Rl
ZEZyYW1lczsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBpbjogdGhl
IG1heCBudW1iZXIgb2YgcGFja2V0cyB3ZSBjYW4gaGFuZGxlIGZyb20gdGhlIGRlY29kZXIuCisg
ICAgICAgICAgICAgICAgLy8gb3V0OiB0aGUgbnVtYmVyIG9mIHBhY2tldHMgdGhlIGRlY29kZXIg
aXMgYWN0dWFsbHkgcmV0dXJuaW5nLgorICAgICAgICAgICAgICAgIFVJbnQzMiBudW1GcmFtZXMg
PSBudW1iZXJPZkZyYW1lcyAtIGRlY29kZWRGcmFtZXM7CisKKyAgICAgICAgICAgICAgICBzdGF0
dXMgPSBQQUw6OkF1ZGlvQ29udmVydGVyRmlsbENvbXBsZXhCdWZmZXIoY29udmVydGVyLCBwYXNz
dGhyb3VnaElucHV0RGF0YUNhbGxiYWNrLCAmdXNlckRhdGEsICZudW1GcmFtZXMsICpkZWNvZGVk
QnVmZmVyTGlzdCwgcGFja2V0cy5nZXQoKSk7CisKKyAgICAgICAgICAgICAgICBpZiAoc3RhdHVz
ICYmIHN0YXR1cyAhPSBrTm9Nb3JlRGF0YUVycikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgICAgICAgICAgICAgZGVjb2RlZEZyYW1lcyArPSBudW1GcmFtZXM7Cisg
ICAgICAgICAgICB9IHdoaWxlIChzdGF0dXMgIT0ga05vTW9yZURhdGFFcnIpOworICAgICAgICB9
CisKKyAgICAgICAgLy8gVGhlIGFjdHVhbCBkZWNvZGVkIG51bWJlciBvZiBmcmFtZXMgbWF5IG5v
dCBtYXRjaCB0aGUgbnVtYmVyIG9mIGZyYW1lcyBjYWxjdWxhdGVkCisgICAgICAgIC8vIHdoaWxl
IGRlbXV4aW5nLiBJdCB3aWxsIGFsd2F5cyBiZSBsb3dlci4KKyAgICAgICAgYXVkaW9CdXMtPnNl
dExlbmd0aChkZWNvZGVkRnJhbWVzKTsKKyAgICAgICAgbnVtYmVyT2ZGcmFtZXMgPSBkZWNvZGVk
RnJhbWVzOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFBy
b3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0
YUZvcm1hdCwgc2l6ZW9mKEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksICZvdXRGb3JtYXQp
ICE9IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgLy8gUmVh
ZCBmcm9tIHRoZSBmaWxlIChvciBpbi1tZW1vcnkgdmVyc2lvbikKKyAgICAgICAgVUludDMyIGZy
YW1lc1RvUmVhZCA9IG51bWJlck9mRnJhbWVzOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0Zp
bGVSZWFkKG1fZXh0QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCAqYnVmZmVyTGlzdCkgIT0g
bm9FcnIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAobWl4
VG9Nb25vICYmIG51bWJlck9mQ2hhbm5lbHMgPT0gMikgewpAQCAtMjQzLDkgKzUxNyw2IEBAIFJl
ZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0
ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAgICAgICAgICBkZXN0TFtpXSA9IDAuNWYgKiAobGVmdENo
YW5uZWxbaV0gKyByaWdodENoYW5uZWxbaV0pOwogICAgIH0KIAotICAgIC8vIENsZWFudXAKLSAg
ICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpOwotCiAgICAgcmV0dXJuIGF1ZGlv
QnVzOwogfQogCkBAIC0yNTUsNiArNTI2LDEzIEBAIFJlZlB0cjxBdWRpb0J1cz4gY3JlYXRlQnVz
RnJvbUluTWVtb3J5QXVkaW9GaWxlKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6CiAg
ICAgcmV0dXJuIHJlYWRlci5jcmVhdGVCdXMoc2FtcGxlUmF0ZSwgbWl4VG9Nb25vKTsKIH0KIAor
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hhbm5lbCYgQXVkaW9GaWxlUmVhZGVy
Ojpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTG9nTWVkaWE7Cit9CisjZW5kaWYK
KwogfSAvLyBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVRElPKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29j
b2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRl
ckNvY29hLmgKaW5kZXggMGJiYmJhMjc4NTdkOTc5ZWNjNjg4Zjg3ZjAzMzlmNjY1ZWY0MjUyOS4u
ZjYxNzMzNzllMDEzNGExZGE1YjM4MjM4ZWQzOGE1YWEyMmM5ZDkzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJD
b2NvYS5oCkBAIC0zMiw2ICszMiw4IEBACiAjaWYgRU5BQkxFKFdFQl9BVURJTykKIAogI2luY2x1
ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgorI2luY2x1ZGUgPG9wdGlvbmFsPgorI2lu
Y2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIHVz
aW5nIEV4dEF1ZGlvRmlsZVJlZiA9IHN0cnVjdCBPcGFxdWVFeHRBdWRpb0ZpbGUqOwpAQCAtNDAs
MTIgKzQyLDE4IEBAIHVzaW5nIEF1ZGlvRmlsZUlEID0gc3RydWN0IE9wYXF1ZUF1ZGlvRmlsZUlE
KjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXVkaW9CdXM7CitjbGFzcyBTb3VyY2VC
dWZmZXJQYXJzZXJXZWJNOworY2xhc3MgQXVkaW9GaWxlUmVhZGVyV2ViTURhdGE7CiAKIC8vIFdy
YXBwZXIgY2xhc3MgZm9yIEF1ZGlvRmlsZSBhbmQgRXh0QXVkaW9GaWxlIENvcmVBdWRpbyBBUElz
IGZvciByZWFkaW5nIGZpbGVzIGFuZCBpbi1tZW1vcnkgdmVyc2lvbnMgb2YgdGhlbS4uLgogCi1j
bGFzcyBBdWRpb0ZpbGVSZWFkZXIgeworY2xhc3MgQXVkaW9GaWxlUmVhZGVyCisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECisgICAgOiBwdWJsaWMgTG9nZ2VySGVscGVyCisjZW5kaWYKK3sKIHB1
YmxpYzoKLSAgICBleHBsaWNpdCBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6
ZV90IGRhdGFTaXplKTsKKyAgICBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6
ZV90IGRhdGFTaXplKTsKICAgICB+QXVkaW9GaWxlUmVhZGVyKCk7CiAKICAgICBSZWZQdHI8QXVk
aW9CdXM+IGNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRvTW9ubyk7IC8vIFJl
dHVybnMgbnVsbHB0ciBvbiBlcnJvcgpAQCAtNTMsOSArNjEsMjAgQEAgcHVibGljOgogICAgIGNv
bnN0IHZvaWQqIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2RhdGE7IH0KICAgICBzaXplX3QgZGF0
YVNpemUoKSBjb25zdCB7IHJldHVybiBtX2RhdGFTaXplOyB9CiAKKyNpZiAhUkVMRUFTRV9MT0df
RElTQUJMRUQKKyAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IG1fbG9nZ2VyLmdldCgpOyB9CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIFdURkxvZ0NoYW5uZWwmIGxv
Z0NoYW5uZWwoKSBjb25zdCBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBj
b25zdCBmaW5hbCB7IHJldHVybiAiQXVkaW9GaWxlUmVhZGVyQ29jb2EiOyB9CisjZW5kaWYKKwog
cHJpdmF0ZToKICAgICBzdGF0aWMgT1NTdGF0dXMgcmVhZFByb2Modm9pZCogY2xpZW50RGF0YSwg
U0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVzdENvdW50LCB2b2lkKiBidWZmZXIsIFVJbnQz
MiogYWN0dWFsQ291bnQpOwogICAgIHN0YXRpYyBTSW50NjQgZ2V0U2l6ZVByb2Modm9pZCogY2xp
ZW50RGF0YSk7CisgICAgYm9vbCBpc01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXpl
X3QgZGF0YVNpemUpIGNvbnN0OworICAgIHNzaXplX3QgbnVtYmVyT2ZGcmFtZXMoKSBjb25zdDsK
KyAgICBzdGQ6Om9wdGlvbmFsPEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gZmlsZURhdGFG
b3JtYXQoKSBjb25zdDsKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gY2xpZW50RGF0
YUZvcm1hdChjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9ybWF0LCBmbG9h
dCBzYW1wbGVSYXRlKSBjb25zdDsKIAogICAgIGNvbnN0IHZvaWQqIG1fZGF0YSA9IHsgbnVsbHB0
ciB9OwogICAgIHNpemVfdCBtX2RhdGFTaXplID0geyAwIH07CkBAIC02Myw4ICs4MiwxMyBAQCBw
cml2YXRlOgogICAgIEF1ZGlvRmlsZUlEIG1fYXVkaW9GaWxlSUQgPSB7IG51bGxwdHIgfTsKICAg
ICBFeHRBdWRpb0ZpbGVSZWYgbV9leHRBdWRpb0ZpbGVSZWYgPSB7IG51bGxwdHIgfTsKIAotICAg
IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2ZpbGVEYXRhRm9ybWF0OwotICAgIEF1ZGlv
U3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2NsaWVudERhdGFGb3JtYXQ7CisgICAgc3RkOjp1bmlx
dWVfcHRyPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPiBtX3dlYm1EYXRhOworCisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgUmVmPExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29u
c3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworI2VuZGlmCisKIH07CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJj
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRh
U291cmNlLmgKaW5kZXggYTFlNzFiZDUyMjMyMjQyNTcxNmM2YjllNWFjZWQwNmU1NTgyOTMzYS4u
NmFlM2I1Y2QxZjJlZmQ2MjM5ZmIzNGQwMTNhNTg3NzZmNDE4YzZmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRh
U291cmNlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNv
dW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdHlwZWRlZiBjb25z
dCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlwdGlvbiAqQ01Gb3JtYXREZXNjcmlwdGlvblJl
ZjsKIHR5cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2FtcGxlQnVmZmVyICpDTVNhbXBsZUJ1ZmZlclJl
ZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCmluZGV4IGQy
YjVhYzQ1ZjMwZmQ0YTNhZjUxYjQyMGRlMzc2NDliMTE1MWMyMjcuLjcwZGMyNDg0YTVlZDY2ODg5
ZmNhMzNlZTI5MWVjMTA2YTVmOWY5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KQEAgLTM5
LDYgKzM5LDcgQEAKICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5n
UHJpbnRTdHJlYW0uaD4KIAorI2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+
CiAjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNjcsNyArNjgsNyBAQCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OkF1ZGlvU2FtcGxl
RGF0YVNvdXJjZShzaXplX3QgbWF4aW11bVNhbXBsZUNvdW50LCBMb2dnZXJIZQogQXVkaW9TYW1w
bGVEYXRhU291cmNlOjp+QXVkaW9TYW1wbGVEYXRhU291cmNlKCkKIHsKICAgICBpZiAobV9jb252
ZXJ0ZXIpCi0gICAgICAgIEF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CisgICAg
ICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKIH0KIAogT1NTdGF0
dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCkBAIC03NSwxNCArNzYs
MTQgQEAgT1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCiAg
ICAgQVNTRVJUKG1faW5wdXREZXNjcmlwdGlvbiAmJiBtX291dHB1dERlc2NyaXB0aW9uKTsKIAog
ICAgIGlmIChtX2NvbnZlcnRlcikgewotICAgICAgICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9j
b252ZXJ0ZXIpOworICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRl
cik7CiAgICAgICAgIG1fY29udmVydGVyID0gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAoKm1f
aW5wdXREZXNjcmlwdGlvbiA9PSAqbV9vdXRwdXREZXNjcmlwdGlvbikKICAgICAgICAgcmV0dXJu
IDA7CiAKLSAgICBPU1N0YXR1cyBlcnIgPSBBdWRpb0NvbnZlcnRlck5ldygmbV9pbnB1dERlc2Ny
aXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9vdXRwdXREZXNjcmlwdGlvbi0+c3RyZWFt
RGVzY3JpcHRpb24oKSwgJm1fY29udmVydGVyKTsKKyAgICBPU1N0YXR1cyBlcnIgPSBQQUw6OkF1
ZGlvQ29udmVydGVyTmV3KCZtX2lucHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0aW9uKCks
ICZtX291dHB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9jb252ZXJ0ZXIp
OwogICAgIGlmIChlcnIpIHsKICAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cigqdGhpcyksIGVycl0gewogICAgICAgICAgICAg
RVJST1JfTE9HKCJBdWRpb0NvbnZlcnRlck5ldyByZXR1cm5lZCBlcnJvciAiLCBlcnIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFBy
b3ZpZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBh
ZFByb3ZpZGVyLm1tCmluZGV4IGUzZDZmYWM3MDQzNjk2ZmM3ZWUyYTkyMTVkYjIxYThmN2RmODI1
YTUuLmEzMmRmNjIwNDhkMzJkN2IxMzRkYmY1NmRhMDA3YjcwZWMyNDczZjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJv
dmlkZXIubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKSAmJiBQTEFU
Rk9STShNQUMpCiAKKyNpbXBvcnQgIkdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLmgiCiAj
aW1wb3J0ICJHYW1lcGFkUHJvdmlkZXJDbGllbnQuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNp
bXBvcnQgIlBsYXRmb3JtR2FtZXBhZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcAppbmRleCA0ZDhlZTYyZTAxYjhlYWVi
YWNjNmQyOGIzYTA5ODUyOTUyYzVkODBhLi5jMDY2YzJkNDg3OTdhNGFhYjNiOWJlMmEwZWRkNGQ4
MzhiNGJmNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9U
cmFja1ByaXZhdGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UcmFja1ByaXZhdGVCYXNlLmNwcApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShWSURF
TykKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNh
bXBsZUFWRk9iakMuaAppbmRleCBkMDNjZGM4ZGQ2MjU0MTYwOTlhNTM3MTM1ZWUxMWVjOTEwNzM2
YTAyLi5jY2Y5MGFmOGU0ODIxNGY2NzEwZGM5NDdiMTA5MDI0MmIwM2Q0ZGVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNhbXBsZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaApAQCAtMzQsNyArMzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBpeGVsQnVmZmVyOwogCi1jbGFzcyBXRUJDT1JF
X0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMgOiBwdWJsaWMgTWVkaWFTYW1wbGUgeworY2xhc3Mg
TWVkaWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2FtcGxlIHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNh
bXBsZSwgdWludDY0X3QgdHJhY2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBs
ZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0KICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxl
QVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFj
a0lEKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU2FtcGxlQVZGT2JqQyhzYW1wbGUsIHRy
YWNrSUQpKTsgfQpAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHZvaWQgc2V0QXNEaXNwbGF5SW1tZWRpYXRlbHkoTWVkaWFTYW1wbGUmKTsKICAgICBz
dGF0aWMgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBjbG9uZVNhbXBsZUJ1ZmZlckFuZFNl
dEFzRGlzcGxheUltbWVkaWF0ZWx5KENNU2FtcGxlQnVmZmVyUmVmKTsKIAotICAgIFJlZlB0cjxK
U0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEpTQzo6VWludDhDbGFtcGVkQXJyYXk+IGdldFJH
QkFJbWFnZURhdGEoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIE1lZGlhVGltZSBwcmVzZW50YXRp
b25UaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTWVkaWFUaW1lIGRlY29kZVRpbWUoKSBjb25z
dCBvdmVycmlkZTsKQEAgLTU5LDE2ICs1OSwxNiBAQCBwdWJsaWM6CiAgICAgU2FtcGxlRmxhZ3Mg
ZmxhZ3MoKSBjb25zdCBvdmVycmlkZTsKICAgICBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBs
ZSgpIG92ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9uYWw8Qnl0ZVJhbmdlPiBieXRlUmFuZ2UoKSBj
b25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlk
ZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2b2lkIG9mZnNldFRpbWVzdGFtcHNCeShjb25zdCBNZWRpYVRpbWUmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHNldFRpbWVzdGFtcHMoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVk
aWFUaW1lJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRl
OwotICAgIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+
PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVzZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBv
dmVycmlkZTsKLSAgICBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0RpdmlzYWJsZSgpIGNv
bnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFT
YW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVz
ZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBS
ZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7
CiAKICAgICBWaWRlb1JvdGF0aW9uIHZpZGVvUm90YXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBtX3JvdGF0aW9uOyB9CiAgICAgYm9vbCB2aWRlb01pcnJvcmVkKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV9taXJyb3JlZDsgfQotICAgIHVpbnQzMl90IHZpZGVvUGl4ZWxGb3JtYXQo
KSBjb25zdCBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB1aW50MzJfdCB2aWRlb1BpeGVsRm9y
bWF0KCkgY29uc3QgZmluYWw7CiAKICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIo
KSBjb25zdCB7IHJldHVybiBtX3NhbXBsZS5nZXQoKTsgfQogCkBAIC03NywzNSArNzcsMTggQEAg
cHVibGljOgogCiAgICAgdm9pZCBzZXRCeXRlUmFuZ2VPZmZzZXQoc2l6ZV90KTsKIAorICAgIGJv
b2wgaXNNZWRpYVNhbXBsZUFWRk9iakMoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlO30KKwog
cHJvdGVjdGVkOgotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZm
ZXJSZWY+JiYgc2FtcGxlKQotICAgICAgICA6IG1fc2FtcGxlKFdURk1vdmUoc2FtcGxlKSkKLSAg
ICB7Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1w
bGUpCi0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFT
YW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lE
KQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAgICAgLCBtX2lkKHRyYWNrSUQpCi0g
ICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2Ft
cGxlLCB1aW50NjRfdCB0cmFja0lEKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAg
ICAgLCBtX2lkKEF0b21TdHJpbmc6Om51bWJlcih0cmFja0lEKSkKLSAgICB7Ci0gICAgfQotICAg
IE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIFZpZGVvUm90YXRp
b24gcm90YXRpb24sIGJvb2wgbWlycm9yZWQpCi0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQot
ICAgICAgICAsIG1fcm90YXRpb24ocm90YXRpb24pCi0gICAgICAgICwgbV9taXJyb3JlZChtaXJy
b3JlZCkKLSAgICB7Ci0gICAgfQorICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2Jq
QyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIE1l
ZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZik7CisgICAgV0VCQ09SRV9FWFBPUlQg
TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmLCBBdG9tU3RyaW5nIHRyYWNrSUQp
OworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJl
ZiwgdWludDY0X3QgdHJhY2tJRCk7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZP
YmpDKENNU2FtcGxlQnVmZmVyUmVmLCBWaWRlb1JvdGF0aW9uLCBib29sIG1pcnJvcmVkKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5NZWRpYVNhbXBsZUFWRk9iakMoKTsKIAogICAgIHN0
ZDo6b3B0aW9uYWw8TWVkaWFTYW1wbGU6OkJ5dGVSYW5nZT4gYnl0ZVJhbmdlRm9yQXR0YWNobWVu
dChDRlN0cmluZ1JlZiBrZXkpIGNvbnN0OwogCi0gICAgdmlydHVhbCB+TWVkaWFTYW1wbGVBVkZP
YmpDKCkgPSBkZWZhdWx0OwogICAgIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gbV9zYW1w
bGU7CiAgICAgQXRvbVN0cmluZyBtX2lkOwogICAgIFZpZGVvUm90YXRpb24gbV9yb3RhdGlvbiB7
IFZpZGVvUm90YXRpb246Ok5vbmUgfTsKQEAgLTExNCwzICs5Nyw2IEBAIHByb3RlY3RlZDoKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdl
YkNvcmU6Ok1lZGlhU2FtcGxlQVZGT2JqQykKK3N0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJD
b3JlOjpNZWRpYVNhbXBsZSYgc2FtcGxlKSB7IHJldHVybiBzYW1wbGUuaXNNZWRpYVNhbXBsZUFW
Rk9iakMoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1w
bGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tCmluZGV4IGMwZjEzZDZlYTVjOTc1NzY3Y2U4
ZjYyYWI2ODQyZDdkNmYwZmJiNmIuLmNmM2MzNDEwYTM4YWRlYzQ5NTdjOTcxNDJiMzI0MjI0ZDVh
ZmQ4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0K
QEAgLTQ1LDYgKzQ1LDMzIEBAIHN0cnVjdCBXVEY6OkNGVHlwZVRyYWl0PENNU2FtcGxlQnVmZmVy
UmVmPiB7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRp
YVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmIHNhbXBsZSkKKyAg
ICA6IG1fc2FtcGxlKFdURk1vdmUoc2FtcGxlKSkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6
TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSkKKyAgICA6IG1fc2Ft
cGxlKHNhbXBsZSkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpD
KENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lEKQorICAgIDogbV9z
YW1wbGUoc2FtcGxlKQorICAgICwgbV9pZCh0cmFja0lEKQoreworfQorTWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCB1aW50NjRf
dCB0cmFja0lEKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9pZChBdG9tU3RyaW5n
OjpudW1iZXIodHJhY2tJRCkpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxl
QVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIFZpZGVvUm90YXRpb24gcm90YXRpb24s
IGJvb2wgbWlycm9yZWQpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCisgICAgLCBtX3JvdGF0aW9u
KHJvdGF0aW9uKQorICAgICwgbV9taXJyb3JlZChtaXJyb3JlZCkKK3sKK30KKworTWVkaWFTYW1w
bGVBVkZPYmpDOjp+TWVkaWFTYW1wbGVBVkZPYmpDKCkgPSBkZWZhdWx0OworCiBSZWZQdHI8TWVk
aWFTYW1wbGVBVkZPYmpDPiBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUltYWdlU2FtcGxlKFBp
eGVsQnVmZmVyJiYgcGl4ZWxCdWZmZXIpCiB7CiAgICAgYXV0byBzaXplID0gcGl4ZWxCdWZmZXIu
c2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCmluZGV4IDhl
ZWYzYjJlYTYwNGJkMTk4M2Q3N2QzOGJmNTIxYThkMjFmMjBlZDAuLmQxYzg0NDg4MzY3NDBmZGI3
NWM0MGFjOTNmN2RkMDlkNzhmMDMwMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lv
blNlc3Npb24ubW0KQEAgLTMxLDEwICszMSwxMCBAQAogI2ltcG9ydCA8Q29yZU1lZGlhL0NNQnVm
ZmVyUXVldWUuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERlc2NyaXB0aW9uLmg+CiAj
aW1wb3J0IDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgotI2ltcG9y
dCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5o
PgogI2ltcG9ydCA8d3RmL01lZGlhVGltZS5oPgogI2ltcG9ydCA8d3RmL01vbm90b25pY1RpbWUu
aD4KKyNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJl
YW0uaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi9XVEZTZW1hcGhvcmUu
aD4KQEAgLTQyLDYgKzQyLDcgQEAKIAogI2ltcG9ydCAiQ29yZVZpZGVvU29mdExpbmsuaCIKICNp
bXBvcnQgIlZpZGVvVG9vbGJveFNvZnRMaW5rLmgiCisjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaD4KIAogLy8gRXF1aXZhbGVudCB0byBXVEZfREVDTEFSRV9DRl9UWVBFX1RSQUlU
KENNU2FtcGxlQnVmZmVyKTsKIC8vIE5lZWRlZCBkdWUgdG8gcmVxdWlyZW1lbnQgb2Ygc3BlY2lm
eWluZyB0aGUgUEFMIG5hbWVzcGFjZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCmlu
ZGV4IGZlY2U4MTI5YmQ3ZjdmZGVkNmE4MDRiYTUyZjc5NTI2MWZlNjVkMzAuLjg3MTA0ZDhiN2Iz
NTdjMTYwYjZkY2NjNDFiZmUxZjg5ZTBhNmMyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVz
Q29jb2EuaApAQCAtMzQsNyArMzQsOCBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBvcGFxdWVDTUZv
cm1hdERlc2NyaXB0aW9uKiBDTUZvcm1hdERlc2NyaXB0aW9uUmVmOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWJvb2wgaXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9S
VCBib29sIGlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBy
ZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOwogUmV0YWluUHRyPENNRm9ybWF0RGVzY3Jp
cHRpb25SZWY+IGNyZWF0ZVZvcmJpc0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oc2l6ZV90LCBjb25z
dCB2b2lkKik7CiAKIHN0cnVjdCBPcHVzQ29va2llQ29udGVudHMgewpAQCAtNTIsNyArNTMsOCBA
QCBzdHJ1Y3QgT3B1c0Nvb2tpZUNvbnRlbnRzIHsKICAgICBib29sIGhhc1BhZGRpbmcgeyBmYWxz
ZSB9OwogfTsKIAotYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9S
VCBib29sIGlzT3B1c0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcmVn
aXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CiBib29sIHBhcnNlT3B1c1ByaXZhdGVEYXRhKHNp
emVfdCBwcml2YXRlRGF0YVNpemUsIGNvbnN0IHZvaWQqIHByaXZhdGVEYXRhLCBzaXplX3QgZnJh
bWVEYXRhU2l6ZSwgY29uc3Qgdm9pZCogZnJhbWVEYXRhLCBPcHVzQ29va2llQ29udGVudHMmKTsK
IFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVPcHVzQXVkaW9Gb3JtYXRE
ZXNjcmlwdGlvbihjb25zdCBPcHVzQ29va2llQ29udGVudHMmKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29j
b2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5tbQppbmRleCAwNmJkNDhhZTBkM2Q2OTEyNTBiOGEyNzU3ZDAyNTZkNDQ4
NTlmY2M0Li4wZTFlYjFiNzk4YTNjN2VhNjdlYWI3NWJhMzZlNTg1YWRkOGMxMGEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGls
aXRpZXNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbQpAQCAtMzIsMjIgKzMyLDI4IEBACiAjaW1wb3J0
ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJNZWRpYVV0aWxpdGllcy5oIgogI2ltcG9ydCAiUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCisjaW1wb3J0IDxBdWRpb1Rvb2xib3gvQXVkaW9Db2Rl
Yy5oPgogI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvQ29tcG9uZW50Lmg+CiAjaW1wb3J0IDxB
dWRpb1Rvb2xib3gvQXVkaW9Gb3JtYXQuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERl
c2NyaXB0aW9uLmg+CiAjaW1wb3J0IDxkbGZjbi5oPgogI2ltcG9ydCA8d3RmL0ZsaXBCeXRlcy5o
PgogI2ltcG9ydCA8d3RmL1NlY29uZHMuaD4KLQogI2lmIEVOQUJMRShPUFVTKQogI2ltcG9ydCA8
bGlid2VicnRjL29wdXNfZGVmaW5lcy5oPgogI2VuZGlmCisjaW1wb3J0IDxwYWwvY2YvQXVkaW9U
b29sYm94U29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgRU5BQkxFKFZP
UkJJUykgfHwgRU5BQkxFKE9QVVMpCiBzdGF0aWMgYm9vbCByZWdpc3RlckRlY29kZXJGYWN0b3J5
KGNvbnN0IGNoYXIqIGRlY29kZXJOYW1lLCBPU1R5cGUgZGVjb2RlclR5cGUpCiB7CisgICAgQXVk
aW9Db21wb25lbnREZXNjcmlwdGlvbiBkZXNjIHsga0F1ZGlvRGVjb2RlckNvbXBvbmVudFR5cGUs
IGRlY29kZXJUeXBlLCAnYXBwbCcsIGtBdWRpb0NvbXBvbmVudEZsYWdfU2FuZGJveFNhZmUsIDAg
fTsKKyAgICBBdWRpb0NvbXBvbmVudCBjb21wID0gUEFMOjpBdWRpb0NvbXBvbmVudEZpbmROZXh0
KDAsICZkZXNjKTsKKyAgICBpZiAoY29tcCkKKyAgICAgICAgcmV0dXJuIHRydWU7IC8vIEFscmVh
ZHkgcmVnaXN0ZXJlZC4KKwogICAgIGNvbnN0ZXhwciBjaGFyIGF1ZGlvQ29tcG9uZW50c0R5bGli
W10gPSAiL1N5c3RlbS9MaWJyYXJ5L0NvbXBvbmVudHMvQXVkaW9Db2RlY3MuY29tcG9uZW50L0Nv
bnRlbnRzL01hY09TL0F1ZGlvQ29kZWNzIjsKICAgICB2b2lkICpoYW5kbGUgPSBkbG9wZW4oYXVk
aW9Db21wb25lbnRzRHlsaWIsIFJUTERfTEFaWSB8IFJUTERfTE9DQUwpOwogICAgIGlmICghaGFu
ZGxlKQpAQCAtNTcsNyArNjMsNiBAQCBzdGF0aWMgYm9vbCByZWdpc3RlckRlY29kZXJGYWN0b3J5
KGNvbnN0IGNoYXIqIGRlY29kZXJOYW1lLCBPU1R5cGUgZGVjb2RlclR5cGUpCiAgICAgaWYgKCFk
ZWNvZGVyRmFjdG9yeSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgQXVkaW9Db21wb25l
bnREZXNjcmlwdGlvbiBkZXNjIHsgJ2FkZWMnLCBkZWNvZGVyVHlwZSwgJ2FwcGwnLCBrQXVkaW9D
b21wb25lbnRGbGFnX1NhbmRib3hTYWZlLCAwIH07CiAgICAgaWYgKCFBdWRpb0NvbXBvbmVudFJl
Z2lzdGVyKCZkZXNjLCBDRlNUUigiIiksIDAsIGRlY29kZXJGYWN0b3J5KSkgewogICAgICAgICBk
bGNsb3NlKGhhbmRsZSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTcxLDcgKzc2LDcgQEAg
c3RhdGljIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVBdWRpb0Zvcm1h
dERlc2NyaXB0aW9uRm9yRm9ybWF0KE8KICAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24g
YXNiZCB7IH07CiAgICAgYXNiZC5tRm9ybWF0SUQgPSBmb3JtYXRJRDsKICAgICB1aW50MzJfdCBz
aXplID0gc2l6ZW9mKGFzYmQpOwotICAgIGF1dG8gZXJyb3IgPSBBdWRpb0Zvcm1hdEdldFByb3Bl
cnR5KGtBdWRpb0Zvcm1hdFByb3BlcnR5X0Zvcm1hdEluZm8sIG1hZ2ljQ29va2llLnNpemUoKSwg
bWFnaWNDb29raWUuZGF0YSgpLCAmc2l6ZSwgJmFzYmQpOworICAgIGF1dG8gZXJyb3IgPSBQQUw6
OkF1ZGlvRm9ybWF0R2V0UHJvcGVydHkoa0F1ZGlvRm9ybWF0UHJvcGVydHlfRm9ybWF0SW5mbywg
bWFnaWNDb29raWUuc2l6ZSgpLCBtYWdpY0Nvb2tpZS5kYXRhKCksICZzaXplLCAmYXNiZCk7CiAg
ICAgaWYgKGVycm9yKSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAiY3JlYXRl
QXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCBmYWlsZWQgd2l0aCBlcnJvciAlZCAoJS40
cykiLCBlcnJvciwgKGNoYXIgKikmZXJyb3IpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAg
LTMyNiwxOSArMzMxLDMwIEBAIHN0YXRpYyBWZWN0b3I8dWludDhfdD4gY29va2llRnJvbU9wdXND
b29raWVDb250ZW50cyhjb25zdCBPcHVzQ29va2llQ29udGVudHMmIGNvCiAKIGJvb2wgaXNPcHVz
RGVjb2RlckF2YWlsYWJsZSgpCiB7Ci0gICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwotCiAjaWYg
RU5BQkxFKE9QVVMpICYmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIVBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6b3B1c0RlY29kZXJFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAorICAgIHJldHVybiByZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgcmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVl
ZGVkKCkKK3sKKyNpZiBFTkFCTEUoT1BVUykgJiYgUExBVEZPUk0oTUFDKQorICAgIHN0YXRpYyBi
b29sIGF2YWlsYWJsZTsKKwogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOwog
ICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKLSAgICAgICAgYXZhaWxhYmxlID0gcmVn
aXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNPcHVzRGVjb2RlckZhY3RvcnkiLCAnb3B1cycpOworICAg
ICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJBQ09wdXNEZWNvZGVyRmFj
dG9yeSIsIGtBdWRpb0Zvcm1hdE9wdXMpOwogICAgIH0pOwotI2VuZGlmCiAKICAgICByZXR1cm4g
YXZhaWxhYmxlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogUmV0YWlu
UHRyPENNRm9ybWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZU9wdXNBdWRpb0Zvcm1hdERlc2NyaXB0
aW9uKGNvbnN0IE9wdXNDb29raWVDb250ZW50cyYgY29va2llQ29udGVudHMpCkBAIC00MTgsMTkg
KzQzNCwzMCBAQCBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZyb21Wb3JiaXNDb2RlY1By
aXZhdGUoc2l6ZV90IGNvZGVjUHJpdmF0ZVNpemUsIGNvbgogCiBib29sIGlzVm9yYmlzRGVjb2Rl
ckF2YWlsYWJsZSgpCiB7Ci0gICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwotCiAjaWYgRU5BQkxF
KFZPUkJJUykgJiYgUExBVEZPUk0oTUFDKQogICAgIGlmICghUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjp2b3JiaXNEZWNvZGVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
KyAgICByZXR1cm4gcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZO
ZWVkZWQoKQoreworI2lmIEVOQUJMRShWT1JCSVMpICYmIFBMQVRGT1JNKE1BQykKKyAgICBzdGF0
aWMgYm9vbCBhdmFpbGFibGU7CisKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tl
bjsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CiAgICAgICAgIGF2YWlsYWJsZSA9
IHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDVm9yYmlzRGVjb2RlckZhY3RvcnkiLCAndm9yYicp
OwogICAgIH0pOwotI2VuZGlmCiAKICAgICByZXR1cm4gYXZhaWxhYmxlOworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogUmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25S
ZWY+IGNyZWF0ZVZvcmJpc0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oc2l6ZV90IHByaXZhdGVEYXRh
U2l6ZSwgY29uc3Qgdm9pZCogcHJpdmF0ZURhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0IGIvU291cmNlL1dlYktpdC9GZWF0
dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdAppbmRleCBhZTRlZTQ1N2EyMTMxMzM4ZjZh
NWI3NWVkNzVmNjM2ZjNhMGY1MjYwLi5lMjFiMDIzYjE0MjMwODcyM2M1OTdjMGYxY2Y5N2ExOGEz
MjY3YjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBw
bGV0dm9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBs
ZXR2b3MucGxpc3QKQEAgLTIsOTUgKzIsMTAwIEBACiA8IURPQ1RZUEUgcGxpc3QgUFVCTElDICIt
Ly9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1By
b3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlzdCB2ZXJzaW9uPSIxLjAiPgogPGRpY3Q+Ci0gICAg
PGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+Ci0gICAgPGRpY3Q+
Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0
PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0
PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8
a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNv
ZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8a2V5
PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVD
b21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgICAgICA8a2V5PkF0dHJpYnV0
ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwv
a2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5zd192cDlfZGVj
b2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PnZwOV9kZWNvZGVy
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViR1BVPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1fZm9ybWF0
X3JlYWRlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1fcGFyc2VyPC9rZXk+Ci0g
ICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAg
PC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5Pgor
CTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5
PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0Pgor
CQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGlj
dD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nf
bWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJ
PGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tl
eT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dl
YmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwv
ZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVu
YWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0
PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwv
ZGljdD4KKwk8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+aW5jcmVtZW50YWxfcGRm
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0
PgorCTxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT52cDlfZGVjb2Rlcjwv
a2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4K
Kwk8a2V5PldlYkdQVTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJYUjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8
L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+
CisJPGtleT53ZWJtX3BhcnNlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4K
KwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+UkJfZnVs
bF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8dHJ1ZS8+CisJPC9kaWN0PgogPC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Zl
YXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0CmluZGV4IDYyMWM5MjE2NmM4OTJjYjU0MWNmYTc2
YjYyMzgxNTY2OGExZWMyNzcuLmI4ZTVlMDljZjg5YjYwYzA4MmU2M2FhZWI1ZGY3MGQ5OTFhMzIw
MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxp
c3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdApAQCAt
Miw5NSArMiwxMDAgQEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJ
U1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5k
dGQiPgogPHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1l
X2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5F
bmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVf
cHJvY2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwv
a2V5PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+
Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAg
PGtleT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAg
IDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8
a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5
PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0g
ICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJv
Y2Vzc193ZWJydGM8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAg
IDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAg
IDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PkluQXBwQnJv
d3NlclByaXZhY3k8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+aW5jcmVtZW50YWxfcGRm
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZh
bHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT52cDlfZGVjb2Rlcjwva2V5PgotICAgIDxkaWN0
PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGlj
dD4KLSAgICA8a2V5PldlYkdQVTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJYUjwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZh
bHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX3BhcnNlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAg
ICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8
a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KKwk8a2V5PmFz
eW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19jYW52
YXNfcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1
ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBs
ZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJv
Y2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+CisJPGRp
Y3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwv
a2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJ
CTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgorCTxkaWN0
PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVf
cHJvY2Vzc193ZWJydGM8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0
cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29t
cGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PkluQXBw
QnJvd3NlclByaXZhY3k8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxm
YWxzZS8+CisJPC9kaWN0PgorCTxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+c3dfdnA5X2Rl
Y29kZXJfb25fYmF0dGVyeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT52cDlfZGVjb2Rlcjwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PldlYkdQVTwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJ
PGtleT5XZWJYUjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNl
Lz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNl
cjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGlj
dD4KKwk8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9r
ZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2Ft
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0
PgogPC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZs
YWdzL1dlYktpdC1tYWNvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktp
dC1tYWNvcy5wbGlzdAppbmRleCA2MjFjOTIxNjZjODkyY2I1NDFjZmE3NmI2MjM4MTU2NjhhMWVj
Mjc3Li5iOGU1ZTA5Y2Y4OWI2MGMwODJlNjNhYWViNWRmNzBkOTkxYTMyMDE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3QKKysrIGIvU291
cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0CkBAIC0yLDk1ICsyLDEw
MCBAQAogPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VO
IiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CiA8cGxp
c3QgdmVyc2lvbj0iMS4wIj4KIDxkaWN0PgotICAgIDxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJm
bG93X3Njcm9sbGluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2Nh
bnZhc19yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9r
ZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAg
ICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAg
ICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9w
cm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFi
bGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3By
b2Nlc3NfbWVkaWE8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAg
IDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAg
IDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9j
ZXNzX3dlYmdsPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0
Yzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0g
ICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgot
ICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFj
eTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PnZwOV9kZWNvZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAg
IDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxr
ZXk+V2ViR1BVPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PndlYm1fcGFyc2VyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVs
bF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVf
YW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tl
eT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJp
bmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtl
eT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4K
KwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9y
ZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+
CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxk
aWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0Pgor
CTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+
RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dl
YnJ0Yzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8
a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5
PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93c2VyUHJp
dmFjeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8
L2RpY3Q+CisJPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rlcl9vbl9i
YXR0ZXJ5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgor
CTwvZGljdD4KKwk8a2V5PnZwOV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PldlYlhS
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGlj
dD4KKwk8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+
d2VibV93ZWJhdWRpbzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8L2RpY3Q+
CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0
LXdhdGNob3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hv
cy5wbGlzdAppbmRleCBhZTRlZTQ1N2EyMTMxMzM4ZjZhNWI3NWVkNzVmNjM2ZjNhMGY1MjYwLi5l
MjFiMDIzYjE0MjMwODcyM2M1OTdjMGYxY2Y5N2ExOGEzMjY3YjU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdApAQCAtMiw5NSArMiwxMDAg
QEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIg
Imh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgogPHBsaXN0
IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxv
d19zY3JvbGxpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19jYW52
YXNfcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5
PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAg
ICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAg
ICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJv
Y2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9j
ZXNzX21lZGlhPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8
ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8
dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vz
c193ZWJnbDwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8
L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxm
YWxzZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAg
ICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0g
ICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+dnA5X2RlY29kZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAg
PGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5XZWJHUFU8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0g
ICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViWFI8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+d2VibV9wYXJzZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFi
bGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5SQl9mdWxs
X21hbmFnZV9XS19qZXRzYW08L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+CisJPGtleT5hc3luY19mcmFtZV9h
bmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5
PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmlu
Zzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5
PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5Pgor
CQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3Jl
bmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4K
Kwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRp
Y3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJ
PC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2Vi
cnRjPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCQk8
a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5
PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93c2VyUHJp
dmFjeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8
L2RpY3Q+CisJPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rlcl9vbl9i
YXR0ZXJ5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgor
CTwvZGljdD4KKwk8a2V5PnZwOV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PldlYlhS
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGlj
dD4KKwk8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+
d2VibV93ZWJhdWRpbzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8L2RpY3Q+
CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCmluZGV4IDQ0
YmE4ODU1NTlmMTFiMTJiOGE4NTFkNzY5OTEzMjlkM2IxOWZmMjguLjVhNDlmZWYwODk0ODMyMWY3
MGNjY2Y5NjY4NWE2NTcyNGE5MGEyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5jcHAKQEAgLTQ1MSw3ICs0NTEsNyBAQCB2b2lkIEdQVVByb2Nlc3M6OmVuYWJsZVZQOURl
Y29kZXJzKGJvb2wgc2hvdWxkRW5hYmxlVlA4RGVjb2RlciwgYm9vbCBzaG91bGRFbmFibAogfQog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCiB2b2lkIEdQVVByb2Nlc3M6OnNldFdlYk1QYXJzZXJFbmFibGVk
KGJvb2wgZW5hYmxlZCkKIHsKICAgICBpZiAobV93ZWJNUGFyc2VyRW5hYmxlZCA9PSBlbmFibGVk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKaW5kZXggNDljM2Q3NzFiZjE3NGQ4
ZjlmZGNjOGQyNDFiMzEwNzZiMGM1YjZhZi4uZmFhZjdiMTIxZjUxYzMwNzllOTM4ZGEzOWRiZGU3
ZTAyZGE1NmUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCkBAIC0xNDEs
NyArMTQxLDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBhZGRpdGlv
bmFsU3RhdGVGb3JEaWFnbm9zdGljUmVwb3J0KCkgY29uc3QgZmluYWw7CiAjZW5kaWYKIAotI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKICAgICB2b2lkIHNldFdlYk1QYXJzZXJFbmFibGVkKGJvb2wpOwogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXgg
NjkxZGE3OGQyY2Y5MzI4ZWE3OWUyNGMyZDY0NjIwMDM2YjVlNDI0OS4uNGYwMTk2NTQzYTNkMDU4
ZTAxNmMzOTY2ZWRhMTY0N2ZhNjFiYmIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTUxLDcgKzUxLDcgQEAgbWVzc2FnZXMgLT4g
R1BVUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGlzcGxheUNvbmZpZ3VyYXRpb25DaGFu
Z2VkKENHRGlyZWN0RGlzcGxheUlEIGRpc3BsYXlJRCwgQ0dEaXNwbGF5Q2hhbmdlU3VtbWFyeUZs
YWdzIGZsYWdzKQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUo
VlA5KQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgU2V0V2ViTVBhcnNlckVuYWJsZWQo
Ym9vbCBlbmFibGVkKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcAppbmRleCAzMjEyZTdhZTEwMTk1NTI2Nzg3
ZmViOWQzNjBjZjYwNGZjODMzZmI3Li4xYWZlNzY1MDc4Y2VmNTEzNGM4OWY1YjRmZGZiZTYxNmIy
ZmNlYTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0Rl
ZmF1bHRWYWx1ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlcy5jcHAKQEAgLTMyOCw2ICszMjgsMTUgQEAgYm9vbCBkZWZhdWx0V2ViTVBh
cnNlckVuYWJsZWQoKQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIGRlZmF1bHRXZWJNV2Vi
QXVkaW9FbmFibGVkKCkKK3sKKyNpZiBIQVZFKFNZU1RFTV9GRUFUVVJFX0ZMQUdTKQorICAgIHJl
dHVybiBpc0ZlYXR1cmVGbGFnRW5hYmxlZCgid2VibV93ZWJhdWRpbyIpOworI2VuZGlmCisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU09VUkNFKQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKaW5kZXggOTAyNDdlOGMxZDEyMmNhNmZhNWQ4N2U2ZmZk
NmI3Mjc5NjM3M2Q1NS4uMjlhNDAxZDdhNDNmOTQzYWM4ZjRhMDcyODM4ZDczNWVlNjk2OGE2ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLmgKQEAgLTExMSw2ICsxMTEsNyBAQCBib29sIGRlZmF1bHRWUDlTV0RlY29kZXJFbmFibGVk
T25CYXR0ZXJ5KCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogYm9vbCBkZWZhdWx0V2Vi
TVBhcnNlckVuYWJsZWQoKTsKK2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKTsKICNl
bmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KaW5kZXggZWY1NTE4YWFkYjAy
ZDViZjVjYmYxNjdlMTI0MDdlZTkwNzQ3MTVlNy4uZWIyY2Q4MjZkMzczYWU1YWQ5ODM0MDM1OGJk
OWNmYWIyOGRiNGMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KQEAgLTM4LDYgKzM4LDcgQEAKICNpbXBvcnQgIldl
YlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbXBvcnQg
PFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1dl
Yk1BdWRpb1V0aWxpdGllc0NvY29hLmg+CiAjaW1wb3J0IDxzeXMvc3lzY3RsLmg+CiAjaW1wb3J0
IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29wZS5oPgpAQCAtMjk1LDYg
KzI5Niw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3Ry
YXRpb25zKCkKIAogICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUo
RElTUEFUQ0hfUVVFVUVfUFJJT1JJVFlfREVGQVVMVCwgMCksIFtwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZigqdGhpcyldICgpIG11dGFibGUgewogICAgICAgICBDRkRhdGFSZWYgcmVnaXN0cmF0aW9u
cyB7IG51bGxwdHIgfTsKKworICAgICAgICBXZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVySWZO
ZWVkZWQoKTsKKyAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQo
KTsKICAgICAgICAgaWYgKG5vRXJyICE9IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3Ry
YXRpb25zKCZyZWdpc3RyYXRpb25zKSB8fCAhcmVnaXN0cmF0aW9ucykKICAgICAgICAgICAgIHJl
dHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKaW5kZXggYTU5Mjk3YWYzZmRhNTVjZjUz
ZDlkOTA4MWFiOTk3YzRmN2JlNTQ5Yy4uNzFhY2Q4MDg4NjgzNTlmZTE2ODFiNzA0ZGE1ZWE1MDc5
ZTM2NDk2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCkBAIC04Nyw2ICs4Nyw3IEBAIGJv
b2wgZGVmYXVsdFdoZWVsRXZlbnRHZXN0dXJlc0JlY29tZU5vbkJsb2NraW5nKCk7CiAKICNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQogYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKTsKK2Jv
b2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFZQ
OSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNEZWZhdWx0VmFsdWVzLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0KaW5kZXggMzUyZmRjNWUxOGFmMmM1OGI0MmZl
NGUwZTdjZjY3MzcxZDY4Y2U2Yy4uMTZjNTk3MjI5MTk3MWYxOTkxYzQwYWVhODFkMGZmYmQ2ZjY1
OWQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0KQEAgLTI5OCw2ICsyOTgsMTUgQEAg
Ym9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKQogICAgIHJldHVybiB0cnVlOwogfQogCiti
b29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCkKK3sKKyNpZiBIQVZFKFNZU1RFTV9GRUFU
VVJFX0ZMQUdTKQorICAgIHJldHVybiBpc0ZlYXR1cmVGbGFnRW5hYmxlZCgid2VibV93ZWJhdWRp
byIpOworI2VuZGlmCisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKICNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU09VUkNFKQogCiAjaWYgRU5BQkxFKFZQOSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwY2U1OTkxODkxYTgzM2Mw
MDI2NjAxYTQwNzQ1ZTYxZmZmZGVlZWM0Li40NmEyMzYxNTAxZTQ0MzFiNmQyMDUwNzAyMjBmNmU5
N2JmNzNhMzE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBB
dmVuYXJkICA8anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29w
dXMgY29udGFpbmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9uczogT25seSBlbmFibGUgdGVzdCBvbiBtYWNPUyBNb250ZXJl
eQorICAgICAgICAqIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWw6IGZpeCB3
aGl0ZXNwYWNlCisgICAgICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRh
dGEtd2VibS1vcHVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL3Jlc291cmNlcy9t
ZWRpYS9vcHVzLndlYm06IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL3Jlc291cmNlcy9tZWRp
YS92b3JiaXMud2VibTogQWRkZWQuCisKIDIwMjEtMDctMjEgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMgZm9yIGltcG9ydGVkIHczYyBJbmRleGVkREIgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODk3OWIxNzg5MmYyN2YxNGFiZjY5NjRhYTA1YmQ1
NDliNDA5YzhiYy4uZGU3MmExYzhhNmMxMzFmMGMyNmU0NzYwNzkxNTVkNWJmNzM3N2YyZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3NjcsNiArMTc2
Nyw3IEBAIHdlYmtpdC5vcmcvYi8yMTQxNTUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIg
XSBtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXdlYm0tdm9yYmlzLXBhcnRpYWwuaHRt
bCBbIFNraXAgXQogWyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gbWVkaWEvbWVkaWEtc291cmNl
L21lZGlhLXdlYm0tb3B1cy1wYXJ0aWFsLmh0bWwgWyBTa2lwIF0KIFsgQ2F0YWxpbmEgTW9qYXZl
IEJpZ1N1ciBdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS13ZWJtLW9wdXMtcGFydGlhbC1hYm9y
dC5odG1sIFsgU2tpcCBdCitbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSB3ZWJhdWRpby9kZWNv
ZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbCBbIFNraXAgXQogCiB3ZWJraXQub3JnL2IvMjE0
NDIyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFw
aS90aGUtYXVkaW9jb250ZXh0LWludGVyZmFjZS9zdXNwZW5kLWFmdGVyLWNvbnN0cnVjdC5odG1s
IFsgUGFzcyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVj
b2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1h
dWRpby1kYXRhLWJhc2ljLmh0bWwKaW5kZXggYTMzM2I2NWFhZWY5ZGI2NGVkNTNmY2IwNTYzMWNm
YzE1MTQwNTBkMS4uN2YwOGIyOTA1OTJjYzJmMzQ0ZmE1NjVmYjBkYWE0YjI2NmY4ODI5ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1s
CkBAIC03LDcgKzcsNyBAQAogPGJvZHk+CiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIkJhc2ljIHRl
c3RzIGZvciBkZWNvZGVBdWRpb0RhdGEgZnVuY3Rpb24uIik7Ci0gICAgCisKIHdpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKIAogdmFyIGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7CkBA
IC0zNCwxOSArMzQsMTkgQEAgZnVuY3Rpb24gcnVuRGVjb2RlVGVzdChpbmRleCkgewogICAgIHZh
ciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgcmVxdWVzdC5vcGVuKCJHRVQi
LCBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCwgdHJ1ZSk7CiAgICAgcmVxdWVzdC5yZXNwb25z
ZVR5cGUgPSAiYXJyYXlidWZmZXIiOwotICAgIAorCiAgICAgcmVxdWVzdC5vbmxvYWQgPSBmdW5j
dGlvbigpIHsKICAgICAgICAgY29udGV4dC5kZWNvZGVBdWRpb0RhdGEocmVxdWVzdC5yZXNwb25z
ZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKLSAgICAgICAgCisKICAgICAgICAg
ZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrKCkgewogICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VB
cnJheVtpbmRleF0ucmVzdWx0KQogICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlRoZSAiICsg
ZGVjb2RlQ2FzZUFycmF5W2luZGV4XS51cmwgKyAgIiB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgaGFz
IGJlZW4gY2FsbGVkIGNvcnJlY3RseS4iKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJUaGUgIiArIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsICsgIiB0
ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgd2FzIG5vdCBjYWxsZWQuIik7Ci0gICAgICAgICAgICAKKwog
ICAgICAgICAgICAgcnVuRGVjb2RlVGVzdCgrK2luZGV4KTsKICAgICAgICAgfQotICAgICAgICAK
KwogICAgICAgICBmdW5jdGlvbiBlcnJvckNhbGxiYWNrKCkgewogICAgICAgICAgICAgaWYgKGRl
Y29kZUNhc2VBcnJheVtpbmRleF0ucmVzdWx0KQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5W2luZGV4XS51cmwgKyAiIHRlc3Q6IGVycm9yQ2FsbGJh
Y2sgd2FzIGNhbGxlZCBpbmNvcnJlY3RseS4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQ0YmMwMTA4ZDQ0Y2Q1ZjQ3NDZmNjk5N2U2MGM1ZTQ3MzU2ZmE0ZTQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJt
LW9wdXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgdGhhdCBkZWNvZGluZyBh
biBvcHVzIHdlYm0gZmlsZSBzdWNjZWVkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBTdWNjZXNzZnVsbHkgZGVjb2RlZCBjb250ZW50CitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTc3
MjgwMTI3MDBhZjNkNjgyNGUyMDkwODVmNGRjZWUzNzhjNzBkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKQEAg
LTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgZGVjb2Rp
bmcgYW4gb3B1cyB3ZWJtIGZpbGUgc3VjY2VlZHMiKTsKKword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOworCit2YXIgY29udGV4dCA9IG5ldyB3aW5kb3cuQXVkaW9Db250ZXh0KCk7Cit2YXIg
cmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworcmVxdWVzdC5vcGVuKCJHRVQiLCAncmVz
b3VyY2VzL21lZGlhL29wdXMud2VibScsIHRydWUpOworcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAi
YXJyYXlidWZmZXIiOworCityZXF1ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGNvbnRl
eHQuZGVjb2RlQXVkaW9EYXRhKHJlcXVlc3QucmVzcG9uc2UsIChidWZmZXIpID0+IHsKKyAgICAg
ICAgdGVzdFBhc3NlZCgiU3VjY2Vzc2Z1bGx5IGRlY29kZWQgY29udGVudCIpOworICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgIH0sICgpID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiRmFp
bGVkIHRvIGRlY29kZSBmaWxlIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgfSk7
Cit9CityZXF1ZXN0LnNlbmQoKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433991</attachid>
            <date>2021-07-21 22:10:13 -0700</date>
            <delta_ts>2021-07-21 23:17:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210722151010.patch</filename>
            <type>text/plain</type>
            <size>93019</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLjczMzdlYjM2ZTI3NjEzNmNlMWE4MzczMTFjNjkyNTk3ZjEzYzk4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHdlYm1fd2ViYXVkaW8g
cHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3IgbWltZXR5
cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlzYWJsZWQg
YnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8bWFnb21l
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIgdG8gY29u
ZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJvY2Vzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0MTMuLjhm
MzNlN2ZjNWUxY2MyMTQ0MjA3ZGFjZDY3NjA0ZDhhYTU5ZDA1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4gV2ViIEF1
ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4gdGhlIHdl
YiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgZGVj
b2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJlYXNvbnMs
IGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxzIGFyZSBi
bG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1ZGlvIGNv
bXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkgcHJvY2Vz
cyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisgICAgICAg
IFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAg
ICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWlscyBmb3Ig
Vm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11eCB0aGUg
d2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0g
dG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVyYXRlIG92
ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3JtaW5nCisg
ICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRoZXJlIGFy
ZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVuY29kZXIg
ZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGlibGUKKyAg
ICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIu
CisgICAgICAgIC0gSWdub3JpbmcgdGhlIHNhbmRib3hpbmcgaXNzdWUsIFZvcmJpcyBjb250ZW50
IGZhaWwgdG8gZGVjb2RlLgorICAgICAgICAtIFdlIGNhbiBvbmx5IGRlY29kZSBtb25vIGFuZCBz
dGVyZW8gY29udGVudC4gT3B1cyBhbmQgVm9yYmlzIGxldCB5b3UgZGVmaW5lIGEKKyAgICAgICAg
Y3VzdG9tIGNoYW5uZWwgb3JkZXJpbmcsIHRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWQgd2l0aCBh
bWJpc29uaWMgYXVkaW8gKHdpdGggb3B1cyAyNTUgbW9kZSkuCisgICAgICAgIENvcmVNZWRpYSBk
b2Vzbid0IGVhc2lseSBkZWFsIHdpdGggc3VjaCByZS1vcmRlcmluZyBhcyBpdCBhcHBlYXJzIHRv
IGJlIGVzc2VudGlhbGx5CisgICAgICAgIGRlc2lnbmVkIGZvciBhdWRpYmxlIGNvbnRlbnQuIFdp
dGggbW9yZSB0aGFuIDIgY2hhbm5lbHMsIGRlY29kaW5nIHdpbGwgZWl0aGVyIGZhaWwKKyAgICAg
ICAgb3IgcHJvZHVjZSBjaGFubmVscyBpbiB0aGUgd3Jvbmcgb3JkZXIuCisKKyAgICAgICAgVGVz
dDogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKKworICAgICAgICAq
IEhlYWRlcnMuY21ha2U6IEV4cG9ydCBoZWFkZXIgc28gdGhhdCB3ZSBjYW4gcmVnaXN0ZXIgdGhl
IGRlY29kZXIgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBzYW1lIGFzIGFib3ZlLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5
VHlwZSBjb25zdCk6IE1ha2UgY2FuUGxheVR5cGUod2VibS9hdWRpbzsgY29kZWNzPW9wdXMpCisg
ICAgICAgIHdvcmsgaWYgZmVhdHVyZXMgaXMgc2V0LgorICAgICAgICAqIHBhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0V2ViTVdlYkF1ZGlvRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjp3ZWJNV2ViQXVkaW9FbmFibGVkIGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9NZWRpYVNhbXBsZS5oOiBBZGQgbmV3IGlzTWVkaWFTYW1wbGVBVkZPYmpDLCB3aWxsIGJl
IHVzZWQgdG8gYWxsb3cgc2FmZQorICAgICAgICBkb3duY2FzdGluZy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1czo6c2V0
TGVuZ3RoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oOiBBZGQgc2V0TGVu
Z3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhlIHJlcG9ydGVkIGxlbmd0aAorICAgICAgICB3aXRo
b3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmg6IEFkZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0
aGUgcmVwb3J0ZWQKKyAgICAgICAgbGVuZ3RoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlp
bmcgc3RvcmFnZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFk
ZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3Qp
OiBGaXggY2hlY2tlZEludCB1c2UgdG8gY2F0Y2ggcG90ZW50aWFsIG92ZXJmbG93CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6
IEFkZCBjb252ZW5pZW5jZSBjbGFzcyB0aGF0CisgICAgICAgIGZyZWUgd3JhcHBlZCBBdWRpb0J1
ZmZlckxpc3Qgb2JqZWN0IG9uIGV4aXQuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxp
c3RIb2xkZXI6On5BdWRpb0J1ZmZlckxpc3RIb2xkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvciBib29sIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3ItPiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yKiBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OmlzVmFsaWQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjppc01heWJlV2ViTSBjb25zdCk6IE1ldGhvZCB0byBj
aGVjayBpZiB0aGUgYnVmZmVyCisgICAgICAgIGNvbnRhaW5zIFdlYk0gZGF0YS4KKyAgICAgICAg
KFdlYkNvcmU6OnBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2spOiBSZXF1aXJlZCBmb3IgQXVk
aW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlci4KKyAgICAgICAgV2lsbCBmZWVkIHRoZSBkZWNv
ZGVyIHRoZSBkYXRhIHRvIGRlY29kZSwgc3BsaXR0aW5nIHRoZSBtdWx0aXBsZSBwYWNrZXRzIGZv
dW5kCisgICAgICAgIGluIHRoZSBDTVNhbXBsZUJ1ZmZlci4KKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMgY29uc3QpOiBSZXR1cm4gdGhlIHRvdGFsIG51
bWJlciBvZgorICAgICAgICBkZWNvZGVkIGZyYW1lcyBpbiB0aGUgcGFja2V0cy4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQgY29uc3QpOiBDcmVhdGUg
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uCisgICAgICAgIHJlbGF0ZWQgdG8gdGhlIGRlbXV4
ZWQgYXVkaW8gdHJhY2suIG51bGxvcHQgaWYgdW5zdXBwb3J0ZWQgY29udGVudC4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y2xpZW50RGF0YUZvcm1hdCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyk6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmg6CisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmg6IFJlbW92ZSB1bnVzZWQgdHlw
ZWRlZi4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UubW06CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6On5BdWRpb1Nh
bXBsZURhdGFTb3VyY2UpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZQorICAgICAgICBQQUwgc29m
dGxpbmtzCisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnNldHVwQ29u
dmVydGVyKTogRmx5LWJ5IGZpeCwgbWFrZSBpdCB1c2UgUEFMCisgICAgICAgIHNvZnRsaW5rcwor
ICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbTogRmx5
LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L1RyYWNrUHJpdmF0ZUJhc2UuY3BwOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVB
VkZPYmpDLmg6CisgICAgICAgIEZseS1ieSBmaXggcmVxdWlyZWQgYnkgd2Via2l0LXByZXBhcmUg
OiBkb24ndCB0YWcgdGhlIHdob2xlIGNsYXNzIGFzIFdFQkNPUkVfRVhQT1JULgorICAgICAgICBN
b3ZlIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIGZ1bmN0aW9uIGRlZmluaXRpb25zIG91dC1v
Zi1saW5lIHRvIHByZXZlbnQKKyAgICAgICAgbGlua2FnZSBlcnJvcnMuCisgICAgICAgIChpc1R5
cGUpOiBBZGQgdGVtcGxhdGUgc3BlY2lhbGl6YXRpb24gZm9yIHN0YXRpY19yZWZlcmVuY2VfY2Fz
dDxNZWRpYVNhbXBsZUFWRk9iakM+CisgICAgICAgIGFuZCBpczxNZWRpYVNhbXBsZUFWRk9iakM+
IHRvIHdvcmsuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMpOiBNb3ZlIGNvZGUKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06IEZseS1ieSBmaXgs
IGFkZCBtaXNzaW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oOiBFeHBvcnQgc29tZSBzeW1ib2xzLCBhZGQgbmV3Cisg
ICAgICAgIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lz
dGVyRGVjb2RlckZhY3RvcnkpOiBJbnN0ZWFkIG9mIGF0dGVtcHRpbmcgdG8gcmVnaXN0ZXIgdGhl
IGRlY29kZXIKKyAgICAgICAgYnkgZGwtb3BlbmluZyB0aGUgcmVxdWlyZWQgbGlicmFyeSwgZmly
c3QgYXR0ZW1wdGluZyB0byBzZWUgaWYgdGhlIGRlY29kZXIgaXMKKyAgICAgICAgYWxyZWFkeSBh
dmFpbGFibGUuIENhbGxpbmcgQXVkaW9Db21wb25lbnRSZWdpc3RlciBpbiB0aGUgd2ViIGNvbnRl
bnQgcHJvY2VzcworICAgICAgICB3aGVuIHRoZSBHUFUgcHJvY2VzcyBpcyBlbmFibGVkIHdpbGwg
ZmFpbCBkdWUgdG8gc2FuZGJveCBzZXR0aW5ncy4gV2hpY2ggd291bGQKKyAgICAgICAgaW5jb3Jy
ZWN0bHkgcmVwb3J0IHRoZSBjb2RlYyB0byBub3QgYmUgYXZhaWxhYmxlIHdoZW4gaXQgd2FzLgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCk6
CisgICAgICAgIChXZWJDb3JlOjppc09wdXNEZWNvZGVyQXZhaWxhYmxlKTogRmx5LWJ5IGZpeCwg
c2hvdWxkIHRoZSBtZXRob2QgYmUgY2FsbGVkCisgICAgICAgIG9uIG5vbi1tYWMgcGxhdGZvcm0g
aXQgd291bGQgaGF2ZSByZXR1cm4gdGhlIHVuaXRpYWxpemVkIHZhbHVlIG9mIHRoZSBhdmFpbGFi
bGUKKyAgICAgICAgc3RhdGljIHZhcmlhYmxlLgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJP
cHVzRGVjb2RlcklmTmVlZGVkKTogQWRkZWQKKyAgICAgICAgKFdlYkNvcmU6OmlzVm9yYmlzRGVj
b2RlckF2YWlsYWJsZSk6IFNhbWUgYXMgaXNPcHVzRGVjb2RlckF2YWlsYWJsZQorICAgICAgICAo
V2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQpOiBBZGRlZAorCiAyMDIxLTA3
LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQWRkIGxpbmtlZE9uT3JBZnRlciBjaGVjayBmb3IgcjI2OTE2MgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggZjAxOWQzY2UxMjAzZjNmYTEwNGVmOWZhYzRmZmE0MDZhYjkwMmY2MC4uZjJhYWNiYjg0
MDJkMGM0MTYxYTNmNmZiZjk5Mzk0ZjU4Y2M1M2RhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHZhcmlvdXMgQVZGb3VuZGF0aW9uIChBVkF1
ZGlvQ29udmVydGVyKSByZWxhdGVkIG1ldGhvZHMgYW5kCisgICAgICAgIENvcmVNZWRpYSB0byBh
Y2Nlc3MgcmVxdWlyZWQgQ01TYW1wbGVCdWZmZXIgcmVsYXRlZCBtZXRob2RzLgorCisgICAgICAg
ICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsu
aDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06CisKIDIwMjEt
MDctMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI4MDEyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTg3NjI1ODQyNjFiYWE5ZTMyMmU5
YTcwY2Y4ZDJhNmYwN2IwOTA5Ni4uYzM2MmU2NjNlNGNjZGUyZmMzYTc4ZWE0MjJlZmNiMWNhNzdh
NmQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2
ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1
cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZGVmYXVs
dCB2YWx1ZSBmb3Igd2VibV93ZWJhdWRpbyBwcmVmIGZvciB0aGUgZGlmZmVyZW50IHBsYXRmb3Jt
cy4KKyAgICAgICAgRGlzYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgcGxhdGZvcm1zLgorICAgICAg
ICBGbHktYnkgZml4OiBkb24ndCBtYWtlIHdlYm0gcGFyc2VyIGRlcGVuZGVudCBvbiBWUDkgc3Vw
cG9ydC4KKworICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0Ogor
ICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0OgorICAgICAgICAqIEZlYXR1
cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktp
dC13YXRjaG9zLnBsaXN0OgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZGVm
YXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlv
Q29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisKIDIwMjEtMDctMjEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSdW5uaW5nQm9hcmQga2lsbHMgdGhlIG5ldHdvcmsg
cHJvY2VzcyBpZiBpdCBpcyBzdGlsbCBob2xkaW5nIHRoZSAiaG9sZGluZyBsb2NrZWQgZmlsZSIg
YXNzZXJ0aW9uIHVwb24gc3VzcGVuc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRl
eCBjNDJlYmViYTA2N2MxNWQ3ZjVkYzBlOTBhYjNkYjQ1MmU5MjJhNGVkLi5iNDExODY0NGFiZjhi
NmUxMzhlM2U2NDk0NzU0ODA4M2M5OTNkYmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFt
bApAQCAtMTI2MSw2ICsxMjYxLDE4IEBAIFdlYk1QYXJzZXJFbmFibGVkOgogICAgIFdlYktpdDoK
ICAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCkKIAorV2Vi
TVdlYkF1ZGlvRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcworICBodW1hblJlYWRhYmxlTmFtZTogIldlYk0gV2ViIEF1ZGlvIgor
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgV2ViTSBXZWIgQXVkaW8iCisgIGNv
bmRpdGlvbjogRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktp
dExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJs
ZWQoKQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJB
dWRpb0VuYWJsZWQoKQorCiAjIEZJWE1FOiBJcyB0aGlzIGltcGxlbWVudGVkIGZvciBXZWJLaXRM
ZWdhY3k/IElmIG5vdCwgdGhpcyBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBXZWJLaXRMZWdhY3kg
ZW50aXJlbHkuCiBXZWJSVENIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkOgogICB0eXBlOiBi
b29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCAzYjFiYjU1MGY1NjgxYTRmNWRkMjM2MGExNDE4OWE4
ZWNhZDA1N2I5Li45YTYxZWVmZjU0YjdjNjUwMjBhMjhlOTRjNmJlZTNkNTQzYzc0NTlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0hlYWRlcnMuY21ha2UKQEAgLTEzMzUsNiArMTMzNSw4IEBAIHNldChXZWJDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9FeHRlbnNpb25z
R0xBTkdMRS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xB
TkdMRVV0aWxpdGllcy5oCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5oCisKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3QuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dERyYXdHbHlwaHNSZWNvcmRlci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCBmYzA2NjhhNGE5MWFmZTEwYjY1MTU5Y2Ew
ODJlMTgyODFmZDUwMzU3Li4zNGI3ZmM2ODYzYjI1ZDI1MGMzZGQ2MDhiZmQ5MGM5YmJhYmE0NzFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNw
cApAQCAtNDcsMTEgKzQ3LDE0IEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5
RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYgdGhlU291cmNlQnVmZmVyLCBz
aXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgdm9pZCogZGVzdGluYXRpb24p
LCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGRlc3RpbmF0aW9u
KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01C
bG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwgUEFMX0VYUE9SVCkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJs
b2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRo
ZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNl
dCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJ
VEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpLCBQQUxfRVhQT1JUKQog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNv
dXJjZUJ5dGVzLCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zm
c2V0SW50b0Rlc3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVz
dGluYXRpb25CdWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCksIFBBTF9F
WFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENv
cmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldEV4dGVuc2lvbnMsIENGRGljdGlvbmFyeVJl
ZiwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBD
TVNhbXBsZUJ1ZmZlckdldFR5cGVJRCwgQ0ZUeXBlSUQsICh2b2lkKSwgKCksIFBBTF9FWFBPUlQp
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsb2NrQnVmZmVyUmVmLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdl
dEZvcm1hdERlc2NyaXB0aW9uLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmLCAoQ01TYW1wbGVCdWZm
ZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVzY3JpcHRpb25z
U2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBwYWNrZXREZXNj
cmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCBQQUxfRVhQT1JU
KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVk
aWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywgT1NTdGF0dXMsIChDTVNhbXBs
ZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRleCwgQ01TYW1wbGVUaW1pbmdJ
bmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4LCB0aW1pbmdJbmZvT3V0KSwg
UEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFmYzU2ZGJmYjA1
ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLmRjMmQ4ZTBiZTkzNmJiMmRiZmQ1MmFjMmVkY2I1NWM4
ZjI1MTRjMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmgKQEAgLTQ5LDYgKzQ5LDEwIEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcywgT1NTdGF0CiAjZGVmaW5l
IENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVm
ZmVyQ29weURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoLCBzaXplX3QsIChDTUJsb2NrQnVmZmVy
UmVmIHRoZUJ1ZmZlciksICh0aGVCdWZmZXIpKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyR2V0RGF0
YUxlbmd0aCBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgKK1NP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
SXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwg
c2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3Ro
KSkKKyNkZWZpbmUgQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVN
ZWRpYV9DTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMKK1NPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpKQorI2RlZmluZSBDTUJs
b2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZl
ckNyZWF0ZUNvbnRpZ3VvdXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29y
ZU1lZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2
b2lkKiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6
ZV90IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0
ZXMsIGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgp
KQogI2RlZmluZSBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcyBzb2Z0TGlua19Db3JlTWVk
aWFfQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
SEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0RXh0ZW5zaW9ucywg
Q0ZEaWN0aW9uYXJ5UmVmLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2MpKQpA
QCAtNTksNiArNjMsOCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVN
ZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsbwogI2RlZmluZSBDTVNhbXBs
ZUJ1ZmZlckdldERhdGFCdWZmZXIgc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0
RGF0YUJ1ZmZlcgogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEs
IENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24sIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQogI2RlZmluZSBDTVNhbXBsZUJ1
ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZl
ckdldEZvcm1hdERlc2NyaXB0aW9uCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUws
IENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
cywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0RGVzY3JpcHRp
b25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCAoc2J1Ziwg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBwYWNrZXREZXNj
cmlwdGlvbnNTaXplTmVlZGVkT3V0KSkKKyNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0
cmVhbVBhY2tldERlc2NyaXB0aW9ucyBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJH
ZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywg
T1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRl
eCwgQ01TYW1wbGVUaW1pbmdJbmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4
LCB0aW1pbmdJbmZvT3V0KSkKICNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJ
bmZvIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8K
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiksIChzYnVm
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9u
U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29m
dExpbmsuaAppbmRleCBiMzI0MTU5YmUxZWZlN2E1ZTVmZTJiMjY0ZDQxYTZhMGM4NGZkNDliLi43
MDBlOWMzMmM0Y2ZiMWJkYzMwZWNmNDdhMDAwNjMwNzIwNTI2OTBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCkBAIC0zMjQs
NCArMzI0LDExIEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQVZGb3VuZGF0
aW9uLCBBVk91dHB1dENvbnRleHRPdXRwdXREZXZpY2VzRGlkCiAjZGVmaW5lIEFWT3V0cHV0Q29u
dGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24gUEFMOjpnZXRfQVZGb3VuZGF0
aW9uX0FWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24oKQog
I2VuZGlmIC8vIEhBVkUoQVZST1VURVBJQ0tFUlZJRVcpCiAKKyNpZiBQTEFURk9STShDT0NPQSkK
K1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbnZlcnRlcikKK1NPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0Zvcm1hdCkKK1NPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbXByZXNzZWRCdWZmZXIpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9QQ01CdWZmZXIpCisjZW5kaWYgLy8gUExBVEZPUk0o
Q09DT0EpCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggMzdjOGIx
ZmFmZDU4Y2NiYzZlODUwYzZmMzAxMTc2N2M3ZGEzMTY0NS4uNzMzOTg0NWUwNzI2NTgwMWUwNjQw
MzAzYjJlMjkxYTAxMjRlODcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCkBAIC0yMzAsNyArMjMwLDcgQEAgU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9TZXNzaW9uUm91dGUKIAogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRIVFRQQ29va2llc0tl
eSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0UmVxdWly
ZXNDdXN0b21VUkxMb2FkaW5nS2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQotI2VuZGlmCisj
ZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uU2V0
QXV0aG9yaXplZFRvVXNlQ2FtZXJhSW5NdWx0aXBsZUZvcmVncm91bmRBcHBMYXlvdXQsIHZvaWQs
IChBVkNhcHR1cmVTZXNzaW9uICpzZXNzaW9uKSwgKHNlc3Npb24pKQpAQCAtMjQ0LDQgKzI0NCwx
MSBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91
bmRhdGlvbiwgQVZSb3V0ZURldGVjdG9yTXVsdAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERl
dmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24sIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiAjZW5k
aWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9Db252ZXJ0ZXIsIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0Zvcm1hdCwgUEFMX0VYUE9SVCkK
K1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvUENNQnVmZmVy
LCBQQUxfRVhQT1JUKQorI2VuZGlmCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGYwMWI5OTI3ZTNjYzYyMmU5Y2NjMDBiMTFlYjJhMmNkZDAzZjc1MzcuLjRmNDk1N2Y1MGU4ZWI0
NGY2ZjA1ODE5MDcyZGMwYTUxNzNiZTFjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzMiw3ICsyMzIsNyBAQAogCQkwN0VF
NzZFQzFCRTk2REIwMDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RUU3NkVBMUJFOTZEQjAw
MEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAv
KiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUQxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFs
dGltZVZpZGVvU291cmNlTWFjLmggKi87IH07CiAJCTA3RjRFOTMzMjBCMzU4N0YwMDJFMzgwMyAv
KiBBVkFzc2V0TUlNRVR5cGVDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDdDOEFEMTIxRDA3M0Q2MzAwODdDNUNFIC8qIEFWQXNzZXRNSU1FVHlw
ZUNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJMDdGNUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1
ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgfTsKKwkJMDdG
NUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1ODJBNEY4
MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0Y1Q0ZGNjI1ODJBNTI5MDA2NjJFRjUg
LyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGMjI1ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EubW0gKi87IH07CiAJCTA3Rjg3Njg0MUFENTgwRjkwMDkwNTg0OSAvKiBN
ZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDdGODc2ODMxQUQ0QTk0NTAwOTA1ODQ5IC8qIE1lZGlhUGxheWJh
Y2tUYXJnZXRDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDdGOTQ0MTYxODY0RDA0NjAwNUQzMUNCIC8qIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RBRThDMDgxNzQ2Qjk1NzAwNTMyRDc4IC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBhM2IzYTJmMTE1N2MyYjdl
NTAwYjJhMDRlNDY4ZWQ1NmFkMjA0NGJjLi43ZDdjZDJjZTFkZWZiOGMwNTEwM2I0MzgxZGE3NWY3
MGI3MjgzNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAg
LTEwNTUsNyArMTA1NSw3IEBAIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogICAgIC8vIFRlbXBvcmFyaWx5IHdvcmsgYXJv
dW5kIGJ1ZyAyMjY5MjIuIEZvciBub3cgY2xhaW0gdGhhdCB0aGUgb3B1cyBhbmQgdm9yYmlzIGNv
ZGVjcyBhcmVuJ3Qgc3VwcG9ydGVkCiAgICAgLy8gc28gdGhhdCBzaXRlcyByZWx5aW5nIG9uIHRo
aXMgdGVzdCB0byBkZXRlcm1pbmUgaWYgd2ViYXVkaW8gdXNlIG9mIG9wdXMgb3Igdm9yYmlzIHdv
bid0IGVycm9yLgogICAgIGF1dG8gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0gICAg
aWYgKHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYg
KGNvZGVjcy5jb250YWlucygib3B1cyIpIHx8IGNvZGVjcy5jb250YWlucygidm9yYmlzIikpKQor
ICAgIGlmIChzdXBwb3J0ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVk
ICYmICgoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikgJiYgIXdlYk1XZWJBdWRpb0VuYWJsZWQoKSkg
fHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCiAgICAgICAgIHN1cHBvcnQgPSBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZDsKICNlbmRpZgogCkBAIC04MTc1LDYg
KzgxNzUsMTUgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNNZWRpYVN0cmVhbVNvdXJjZSgp
IGNvbnN0CiAjZW5kaWYKIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJNV2ViQXVkaW9F
bmFibGVkKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHJldHVybiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYk1XZWJBdWRpb0VuYWJs
ZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVN0cmVhbUNhcHR1cmVT
dGFydGVkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMTA1
MWMwNTg1M2ZjMDEyZWRkYWNkOGI3NGM5NDVhYmJhYzJkNTMyMC4uZjkyNmVkNjI3MzAxMWQ1MTY0
OGFkZWY1Nzk3ZGJlZGZhNmRiODJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTkzOSw2ICs5MzksOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IExvZ2dlciYgbWVk
aWFQbGF5ZXJMb2dnZXIoKSBmaW5hbCB7IHJldHVybiBsb2dnZXIoKTsgfQogI2VuZGlmCiAKKyAg
ICBib29sIHdlYk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdDsKKwogICAgIFRpbWVyIG1fcHJvZ3Jl
c3NFdmVudFRpbWVyOwogICAgIFRpbWVyIG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFRp
bWVyIG1fc2NhblRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaAppbmRleCBhMGQzY2VhNzlkN2UwYWUwNzQ4MjQwZGQyMmVlZTJkNTU3NTA0NGE2Li42
ODVhMGEyYWQ3NTQ3MjY5OWFlYmYyMTlmYTBjMjUxNTIxYmViMGI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMjM1LDYgKzIzNSw4IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2ViTVBhcnNlckVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJNUGFyc2VyRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQogICAgIGJvb2wgd2ViTVBhcnNlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYk1QYXJz
ZXJFbmFibGVkOyB9CisgICAgdm9pZCBzZXRXZWJNV2ViQXVkaW9FbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fd2ViTVdlYkF1ZGlvRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgd2Vi
TVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVdlYkF1ZGlvRW5hYmxlZDsg
fQogI2VuZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKQEAgLTM3MSw2ICszNzMsNyBAQCBwcml2
YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBib29sIG1fd2ViTVBhcnNlckVu
YWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV93ZWJNV2ViQXVkaW9FbmFibGVkIHsgZmFsc2Ug
fTsKICNlbmRpZgogCiAjaWYgSEFWRShDRUxFU1RJQUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaAppbmRleCA4ZGE2MDM3Nzg4MjQzMzMwYWUyNTBkOWMxMGM3MmVlMDU4OGU3NjBj
Li4wMjU4ZTVlYjRmM2Q2ODgzODE4YjNiNzFlMDljMGY4OTBmMDM0M2Y1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKQEAgLTU3LDcgKzU3LDcgQEAgc3RydWN0IFBsYXRmb3Jt
U2FtcGxlIHsKICAgICB9IHNhbXBsZTsKIH07CiAKLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlh
U2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CitjbGFz
cyBNZWRpYVNhbXBsZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4g
ewogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlKCkgPSBkZWZhdWx0OwogCkBAIC0x
MjUsNiArMTI1LDggQEAgcHVibGljOgogCiAgICAgICAgIHJldHVybiBvYmplY3QtPnRvSlNPTlN0
cmluZygpOwogICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhU2FtcGxlQVZGT2JqQygp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKaW5kZXggMjQzZTEwNmI5
ZTMzZGE5M2RlOWEwY2FkMzNiYzA4ZTkyMDY1MzIwMC4uN2YwM2MzMzFlZTIwMTBjOTg5MjlhMDMy
NGRjYWM5NTVkNjVmOGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9CdXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
QnVzLmNwcApAQCAtNzMsNiArNzMsMTYgQEAgdm9pZCBBdWRpb0J1czo6c2V0Q2hhbm5lbE1lbW9y
eSh1bnNpZ25lZCBjaGFubmVsSW5kZXgsIGZsb2F0KiBzdG9yYWdlLCBzaXplX3QgbGUKICAgICB9
CiB9CiAKK3ZvaWQgQXVkaW9CdXM6OnNldExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKQoreworICAg
IFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IG1f
bGVuZ3RoKTsKKyAgICBpZiAobmV3TGVuZ3RoID09IG1fbGVuZ3RoKQorICAgICAgICByZXR1cm47
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhbm5lbHMuc2l6ZSgpOyArK2kpCisg
ICAgICAgIG1fY2hhbm5lbHNbaV0tPnNldExlbmd0aChuZXdMZW5ndGgpOworICAgIG1fbGVuZ3Ro
ID0gbmV3TGVuZ3RoOworfQorCiB2b2lkIEF1ZGlvQnVzOjp6ZXJvKCkKIHsKICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQwZTgxMTIxMWI0ZGEyY2E4YzY3MGI1OGIz
Mjk2YjM1Y2U2OWNkNGEuLmVhNTg1Yzg0OGVhOTQxMjI3NDAyOWE4ODY3YWI5Y2NhYzcwNzRkNjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtODMsNiArODMs
OSBAQCBwdWJsaWM6CiAgICAgLy8gTnVtYmVyIG9mIHNhbXBsZS1mcmFtZXMKICAgICBzaXplX3Qg
bGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFJlZHVjZSB0aGUg
bnVtYmVyIG9mIGZyYW1lcyBhdmFpbGFibGUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYWxsb2NhdGVk
IG1lbW9yeSBzaXplLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpOworCiAg
ICAgLy8gU2FtcGxlLXJhdGUgOiAwLjAgaWYgdW5rbm93biBvciAiZG9uJ3QgY2FyZSIKICAgICBm
bG9hdCBzYW1wbGVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVSYXRlOyB9CiAgICAgdm9p
ZCBzZXRTYW1wbGVSYXRlKGZsb2F0IHNhbXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxl
UmF0ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9D
aGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApp
bmRleCA5NzViZDBiNWFiZDhmNzI1NWEwNWE3ZGQ3MGY5NjUwYjFkNDk0NjY3Li5jOTc2MTVmMGRh
MTUxYzIzZDQzM2NiNTYwNjdiYjU0Nzk0NjJhMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtNzQsNiArNzQsMTQgQEAgcHVibGljOgogICAg
IC8vIEhvdyBtYW55IHNhbXBsZS1mcmFtZXMgZG8gd2UgY29udGFpbj8KICAgICBzaXplX3QgbGVu
Z3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFNldCBuZXcgbGVuZ3Ro
LiBDYW4gb25seSBiZSBzZXQgdG8gYSB2YWx1ZSBsb3dlciB0aGFuIHRoZSBjdXJyZW50bHkKKyAg
ICAvLyBzZXQgbGVuZ3RoLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCisg
ICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG5l
d0xlbmd0aCA8PSBsZW5ndGgoKSk7CisgICAgICAgIG1fbGVuZ3RoID0gbmV3TGVuZ3RoOworICAg
IH0KKwogICAgIC8vIERpcmVjdCBhY2Nlc3MgdG8gUENNIHNhbXBsZSBkYXRhLiBOb24tY29uc3Qg
YWNjZXNzb3IgY2xlYXJzIHNpbGVudCBmbGFnLgogICAgIGZsb2F0KiBtdXRhYmxlRGF0YSgpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9GaWxlUmVhZGVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCmluZGV4IDVkNTZiOWVlMWEwZDNkNjdhNzljMzA3
NjFkMTM4MTVkN2MwNjQ0Y2UuLjFmMzIwYzM0NWNmNjE1OThmOTk4MjhkZjQ5NGUzMDlhNjc5NjU0
YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
RmlsZVJlYWRlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKQEAgLTM0LDIxICszNCwzNCBAQAogCiAjaW5j
bHVkZSAiQXVkaW9CdXMuaCIKICNpbmNsdWRlICJBdWRpb0ZpbGVSZWFkZXIuaCIKKyNpbmNsdWRl
ICJBdWRpb1NhbXBsZURhdGFTb3VyY2UuaCIKKyNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5o
IgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIkluYmFuZFRleHRUcmFj
a1ByaXZhdGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTYW1wbGVB
VkZPYmpDLmgiCisjaW5jbHVkZSAiVmlkZW9UcmFja1ByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJN
QXVkaW9VdGlsaXRpZXNDb2NvYS5oIgorI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbnZl
cnRlci5oPgogI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9FeHRlbmRlZEF1ZGlvRmlsZS5oPgogI2lu
Y2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8cGFsL2Nm
L0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CisjaW5jbHVkZSA8U291cmNlQnVmZmVyUGFyc2VyV2Vi
TS5oPgogI2luY2x1ZGUgPHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9G
YXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQXVk
aW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIEF1
ZGlvQnVmZmVyTGlzdCogdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KHNpemVfdCBudW1iZXJPZkJ1
ZmZlcnMpCiB7CisgICAgaWYgKCFudW1iZXJPZkJ1ZmZlcnMpCisgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIENoZWNrZWRTaXplIGJ1ZmZlckxpc3RTaXplID0gc2l6ZW9mKEF1ZGlvQnVmZmVy
TGlzdCkgLSBzaXplb2YoQXVkaW9CdWZmZXIpOwotICAgIGJ1ZmZlckxpc3RTaXplICs9IG51bWJl
ck9mQnVmZmVycyAqIHNpemVvZihBdWRpb0J1ZmZlcik7CisgICAgYnVmZmVyTGlzdFNpemUgKz0g
V1RGOjpjaGVja2VkUHJvZHVjdDxzaXplX3Q+KG51bWJlck9mQnVmZmVycywgc2l6ZW9mKEF1ZGlv
QnVmZmVyKSk7CiAgICAgaWYgKGJ1ZmZlckxpc3RTaXplLmhhc092ZXJmbG93ZWQoKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTg3LDEwICsxMDAsOTAgQEAgc3RhdGljIGJvb2wgdmFs
aWRhdGVBdWRpb0J1ZmZlckxpc3QoQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0KQogICAgIHJl
dHVybiB0cnVlOwogfQogCisvLyBPbiBzdGFjayBSQUlJIGNsYXNzIHRoYXQgd2lsbCBmcmVlIHRo
ZSBhbGxvY2F0ZWQgQXVkaW9CdWZmZXJMaXN0IGFzIG5lZWRlZC4KK2NsYXNzIEF1ZGlvQnVmZmVy
TGlzdEhvbGRlciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQXVkaW9CdWZmZXJMaXN0SG9sZGVy
KHNpemVfdCBudW1iZXJPZkNoYW5uZWxzKQorICAgICAgICA6IG1fYnVmZmVyTGlzdCh0cnlDcmVh
dGVBdWRpb0J1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscykpCisgICAgeworICAgIH0KKworICAg
IH5BdWRpb0J1ZmZlckxpc3RIb2xkZXIoKQorICAgIHsKKyAgICAgICAgaWYgKG1fYnVmZmVyTGlz
dCkKKyAgICAgICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QobV9idWZmZXJMaXN0KTsKKyAg
ICB9CisKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gISFtX2J1
ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3QqIG9wZXJhdG9yLT4oKSBjb25zdCB7IHJl
dHVybiBtX2J1ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3QqIG9wZXJhdG9yKigpIGNv
bnN0IHsgcmV0dXJuIG1fYnVmZmVyTGlzdDsgfQorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsg
cmV0dXJuIHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7IH0KK3ByaXZhdGU6
CisgICAgQXVkaW9CdWZmZXJMaXN0KiBtX2J1ZmZlckxpc3Q7Cit9OworCitzdGF0aWMgY29uc3Rl
eHByIHVpbnQzMl90IGtPcHVzTWF4RnJhbWVMZW5ndGggPSA5NDsKK3N0YXRpYyBjb25zdGV4cHIg
dWludDMyX3Qga1ZvcmJpc01heEZyYW1lTGVuZ3RoID0gNDA5NjsKKworY2xhc3MgQXVkaW9GaWxl
UmVhZGVyV2ViTURhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworCitwdWJsaWM6
CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJ
bml0aWFsaXphdGlvblNlZ21lbnQgbV9pbml0U2VnbWVudDsKKyNlbmRpZgorICAgIE1lZGlhVGlt
ZSBtX2R1cmF0aW9uOworICAgIFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPj4gbV9zYW1w
bGVzOworfTsKKwogQXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCog
ZGF0YSwgc2l6ZV90IGRhdGFTaXplKQogICAgIDogbV9kYXRhKGRhdGEpCiAgICAgLCBtX2RhdGFT
aXplKGRhdGFTaXplKQorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgbV9sb2dnZXIo
TG9nZ2VyOjpjcmVhdGUodGhpcykpCisgICAgLCBtX2xvZ0lkZW50aWZpZXIoTG9nZ2VySGVscGVy
Ojp1bmlxdWVMb2dJZGVudGlmaWVyKCkpCisjZW5kaWYKIHsKKyNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKQorICAgIGlmIChpc01heWJlV2ViTShzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oZGF0
YSksIGRhdGFTaXplKSkgeworICAgICAgICBhdXRvIHBhcnNlciA9IGFkb3B0UmVmKG5ldyBTb3Vy
Y2VCdWZmZXJQYXJzZXJXZWJNKCkpOworICAgICAgICBib29sIGVycm9yID0gZmFsc2U7CisgICAg
ICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IGF1ZGlvVHJhY2tJZDsKKyAgICAgICAgTWVkaWFU
aW1lIGR1cmF0aW9uOworICAgICAgICBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJbml0aWFsaXph
dGlvblNlZ21lbnQgaW5pdFNlZ21lbnQ7CisgICAgICAgIFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVB
VkZPYmpDPj4gc2FtcGxlczsKKyAgICAgICAgcGFyc2VyLT5zZXREaWRFbmNvdW50ZXJFcnJvckR1
cmluZ1BhcnNpbmdDYWxsYmFjayhbJl0odWludDY0X3QpIHsKKyAgICAgICAgICAgIGVycm9yID0g
dHJ1ZTsKKyAgICAgICAgfSk7CisgICAgICAgIHBhcnNlci0+c2V0RGlkUGFyc2VJbml0aWFsaXph
dGlvbkRhdGFDYWxsYmFjayhbJl0oU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRp
b25TZWdtZW50JiYgaW5pdCkgeworICAgICAgICAgICAgZm9yIChhdXRvJiBhdWRpb1RyYWNrIDog
aW5pdC5hdWRpb1RyYWNrcykgeworICAgICAgICAgICAgICAgIGlmIChhdWRpb1RyYWNrLnRyYWNr
ICYmIGF1ZGlvVHJhY2sudHJhY2stPnRyYWNrVUlEKCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
ZHVyYXRpb24gPSBpbml0LmR1cmF0aW9uOworICAgICAgICAgICAgICAgICAgICBhdWRpb1RyYWNr
SWQgPSBhdWRpb1RyYWNrLnRyYWNrLT50cmFja1VJRCgpOworICAgICAgICAgICAgICAgICAgICBp
bml0U2VnbWVudCA9IFdURk1vdmUoaW5pdCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworICAgICAgICBw
YXJzZXItPnNldERpZFByb3ZpZGVNZWRpYURhdGFDYWxsYmFjayhbJl0oUmVmPE1lZGlhU2FtcGxl
PiYmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCwgY29uc3QgU3RyaW5nJikgeworICAgICAgICAg
ICAgaWYgKCFhdWRpb1RyYWNrSWQgfHwgdHJhY2tJRCAhPSAqYXVkaW9UcmFja0lkKQorICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJ
VFlfSU1QTElDQVRJT04oaXM8TWVkaWFTYW1wbGVBVkZPYmpDPihzYW1wbGUuZ2V0KCkpKTsKKyAg
ICAgICAgICAgIHNhbXBsZXMuYXBwZW5kKHN0YXRpY19yZWZlcmVuY2VfY2FzdDxNZWRpYVNhbXBs
ZUFWRk9iakM+KFdURk1vdmUoc2FtcGxlKSkpOworICAgICAgICB9KTsKKyAgICAgICAgcGFyc2Vy
LT5zZXRDYWxsT25DbGllbnRUaHJlYWRDYWxsYmFjayhbXShXVEY6OkZ1bmN0aW9uPHZvaWQoKT4m
JiBmdW5jdGlvbikgeworICAgICAgICAgICAgZnVuY3Rpb24oKTsKKyAgICAgICAgfSk7CisgICAg
ICAgIFZlY3Rvcjx1aW50OF90PiB2ZWN0b3Ioc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRh
dGEpLCBkYXRhU2l6ZSk7CisgICAgICAgIFNvdXJjZUJ1ZmZlclBhcnNlcjo6U2VnbWVudCBzZWdt
ZW50KFdURk1vdmUodmVjdG9yKSk7CisgICAgICAgIHBhcnNlci0+YXBwZW5kRGF0YShXVEZNb3Zl
KHNlZ21lbnQpKTsKKyAgICAgICAgaWYgKGF1ZGlvVHJhY2tJZCkgeworICAgICAgICAgICAgcGFy
c2VyLT5mbHVzaFBlbmRpbmdBdWRpb0J1ZmZlcnMoKTsKKyAgICAgICAgICAgIG1fd2VibURhdGEg
PSBtYWtlVW5pcXVlPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPihBdWRpb0ZpbGVSZWFkZXJXZWJN
RGF0YSB7IFdURk1vdmUoaW5pdFNlZ21lbnQpLCBXVEZNb3ZlKGR1cmF0aW9uKSwgV1RGTW92ZShz
YW1wbGVzKSB9KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCiAg
ICAgaWYgKFBBTDo6QXVkaW9GaWxlT3BlbldpdGhDYWxsYmFja3ModGhpcywgcmVhZFByb2MsIDAs
IGdldFNpemVQcm9jLCAwLCAwLCAmbV9hdWRpb0ZpbGVJRCkgIT0gbm9FcnIpCiAgICAgICAgIHJl
dHVybjsKIApAQCAtMTExLDYgKzIwNCwxMiBAQCBBdWRpb0ZpbGVSZWFkZXI6On5BdWRpb0ZpbGVS
ZWFkZXIoKQogICAgIG1fYXVkaW9GaWxlSUQgPSAwOwogfQogCitib29sIEF1ZGlvRmlsZVJlYWRl
cjo6aXNNYXliZVdlYk0oY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKSBjb25z
dAoreworICAgIC8vIEZyb20gaHR0cHM6Ly9taW1lc25pZmYuc3BlYy53aGF0d2cub3JnLyNzaWdu
YXR1cmUtZm9yLXdlYm0KKyAgICByZXR1cm4gZGF0YVNpemUgPj0gNCAmJiBkYXRhWzBdID09IDB4
MUEgJiYgZGF0YVsxXSA9PSAweDQ1ICYmIGRhdGFbMl0gPT0gMHhERiAmJiBkYXRhWzNdID09IDB4
QTM7Cit9CisKIE9TU3RhdHVzIEF1ZGlvRmlsZVJlYWRlcjo6cmVhZFByb2Modm9pZCogY2xpZW50
RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVzdENvdW50LCB2b2lkKiBidWZmZXIs
IFVJbnQzMiogYWN0dWFsQ291bnQpCiB7CiAgICAgYXV0byogYXVkaW9GaWxlUmVhZGVyID0gc3Rh
dGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50RGF0YSk7CkBAIC0xMzYsNjcgKzIzNSwx
NzAgQEAgU0ludDY0IEF1ZGlvRmlsZVJlYWRlcjo6Z2V0U2l6ZVByb2Modm9pZCogY2xpZW50RGF0
YSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50RGF0YSkt
PmRhdGFTaXplKCk7CiB9CiAKLVJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVh
dGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCitzdHJ1Y3QgUGFzc3Rocm91
Z2hVc2VyRGF0YSB7CisgICAgVUludDMyIG1fY2hhbm5lbHM7CisgICAgVUludDMyIG1fZGF0YVNp
emU7CisgICAgY29uc3Qgdm9pZCogbV9kYXRhOworICAgIFVJbnQzMiBtX2luZGV4OworICAgIFVJ
bnQzMiBtX251bVBhY2tldHM7CisgICAgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogbV9w
YWNrZXRzOworfTsKKworLy8gRXJyb3IgdmFsdWUgd2UgcGFzcyB0aHJvdWdoIHRoZSBkZWNvZGVy
IHRvIHNpZ25hbCB0aGF0IG5vdGhpbmcKKy8vIGhhcyBnb25lIHdyb25nIGR1cmluZyBkZWNvZGlu
ZyBhbmQgd2UncmUgZG9uZSBwcm9jZXNzaW5nIHRoZSBwYWNrZXQuCitjb25zdCB1aW50MzJfdCBr
Tm9Nb3JlRGF0YUVyciA9ICdNT0FSJzsKKworc3RhdGljIE9TU3RhdHVzIHBhc3N0aHJvdWdoSW5w
dXREYXRhQ2FsbGJhY2soCisgICAgQXVkaW9Db252ZXJ0ZXJSZWYsIFVJbnQzMiogbnVtRGF0YVBh
Y2tldHMsIEF1ZGlvQnVmZmVyTGlzdCogZGF0YSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
bioqIHBhY2tldERlc2MsIHZvaWQqIGluVXNlckRhdGEpCit7CisgICAgUGFzc3Rocm91Z2hVc2Vy
RGF0YSogdXNlckRhdGEgPSAoUGFzc3Rocm91Z2hVc2VyRGF0YSopaW5Vc2VyRGF0YTsKKyAgICBp
ZiAodXNlckRhdGEtPm1faW5kZXggPT0gdXNlckRhdGEtPm1fbnVtUGFja2V0cykgeworICAgICAg
ICAqbnVtRGF0YVBhY2tldHMgPSAwOworICAgICAgICByZXR1cm4ga05vTW9yZURhdGFFcnI7Cisg
ICAgfQorCisgICAgaWYgKHBhY2tldERlc2MpIHsKKyAgICAgICAgaWYgKHVzZXJEYXRhLT5tX2lu
ZGV4ID49IHVzZXJEYXRhLT5tX251bVBhY2tldHMpIHsKKyAgICAgICAgICAgICpudW1EYXRhUGFj
a2V0cyA9IDA7CisgICAgICAgICAgICByZXR1cm4ga0F1ZGlvQ29udmVydGVyRXJyX1JlcXVpcmVz
UGFja2V0RGVzY3JpcHRpb25zRXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgKnBhY2tldERlc2Mg
PSAmdXNlckRhdGEtPm1fcGFja2V0c1t1c2VyRGF0YS0+bV9pbmRleF07CisgICAgfQorCisgICAg
ZGF0YS0+bUJ1ZmZlcnNbMF0ubU51bWJlckNoYW5uZWxzID0gdXNlckRhdGEtPm1fY2hhbm5lbHM7
CisgICAgZGF0YS0+bUJ1ZmZlcnNbMF0ubURhdGFCeXRlU2l6ZSA9IHVzZXJEYXRhLT5tX2RhdGFT
aXplOworICAgIGRhdGEtPm1CdWZmZXJzWzBdLm1EYXRhID0gY29uc3RfY2FzdDx2b2lkKj4odXNl
ckRhdGEtPm1fZGF0YSk7CisKKyAgICAqbnVtRGF0YVBhY2tldHMgPSAxOworICAgIHVzZXJEYXRh
LT5tX2luZGV4Kys7CisKKyAgICByZXR1cm4gbm9FcnI7Cit9CisKK3NzaXplX3QgQXVkaW9GaWxl
UmVhZGVyOjpudW1iZXJPZkZyYW1lcygpIGNvbnN0CiB7CisgICAgU0ludDY0IG51bWJlck9mRnJh
bWVzSW42NCA9IDA7CisKKyAgICBpZiAobV93ZWJtRGF0YSkgeworICAgICAgICBpZiAobV93ZWJt
RGF0YS0+bV9zYW1wbGVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKworICAg
ICAgICAvLyBDYWxjdWxhdGUgdGhlIHRvdGFsIG51bWJlciBvZiBkZWNvZGVkIHNhbXBsZXMgdGhh
dCB3ZXJlIGRlbXV4ZWQuCisgICAgICAgIC8vIFRoaXMgY29kZSBvbmx5IGhhbmRsZSB0aGUgQ01T
YW1wbGVCdWZmZXIgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNCisg
ICAgICAgIC8vIHdoZXJlIGEgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMgYXJyYXkgaXMg
YWx3YXlzIHByb3ZpZGVkIGV2ZW4gd2l0aAorICAgICAgICAvLyBDb25zdGFudCBiaXRyYXRlIGFu
ZCBjb25zdGFudCBmcmFtZXMtcGVyLXBhY2tldCBhdWRpby4KKyAgICAgICAgZm9yIChhdXRvJiBz
YW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgICAgIENNU2FtcGxlQnVm
ZmVyUmVmIHNhbXBsZUJ1ZmZlciA9IHNhbXBsZS0+c2FtcGxlQnVmZmVyKCk7CisgICAgICAgICAg
ICBjb25zdCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0gUEFMOjpD
TVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKHNhbXBsZUJ1ZmZlcik7CisgICAgICAg
ICAgICBpZiAoIWZvcm1hdERlc2NyaXB0aW9uKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsK
KyAgICAgICAgICAgIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiogY29uc3QgYXNi
ZCA9IFBBTDo6Q01BdWRpb0Zvcm1hdERlc2NyaXB0aW9uR2V0U3RyZWFtQmFzaWNEZXNjcmlwdGlv
bihmb3JtYXREZXNjcmlwdGlvbik7CisgICAgICAgICAgICBpZiAoIWFzYmQpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIC0xOworCisgICAgICAgICAgICBzaXplX3QgcGFja2V0RGVzY3JpcHRpb25z
U2l6ZTsKKyAgICAgICAgICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1Q
YWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCAwLCBudWxscHRyLCAmcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZSkgIT0gbm9FcnIpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAg
ICAgICAgc2l6ZV90IG51bURlc2NyaXB0aW9ucyA9IHBhY2tldERlc2NyaXB0aW9uc1NpemUgLyBz
aXplb2YoQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbik7CisgICAgICAgICAgICBpZiAoIW51
bURlc2NyaXB0aW9ucykKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBh
dXRvIGRlc2NyaXB0aW9ucyA9IFdURjo6bWFrZVVuaXF1ZUFycmF5PEF1ZGlvU3RyZWFtUGFja2V0
RGVzY3JpcHRpb24+KG51bURlc2NyaXB0aW9ucyk7CisgICAgICAgICAgICBpZiAoUEFMOjpDTVNh
bXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1ZmZlciwg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3JpcHRpb25zLmdldCgpLCBudWxscHRyKSAhPSBu
b0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBDTUl0ZW1Db3Vu
dCBudW1QYWNrZXRzID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2FtcGxlQnVm
ZmVyKTsKKyAgICAgICAgICAgIGlmIChudW1EZXNjcmlwdGlvbnMgIT0gc2l6ZV90KG51bVBhY2tl
dHMpKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmhh
bmRsZWQgQ01TYW1wbGVCdWZmZXIgc3RydWN0dXJlIik7CisgICAgICAgICAgICAgICAgcmV0dXJu
IC0xOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBu
dW1EZXNjcmlwdGlvbnM7IGkrKykgeworICAgICAgICAgICAgICAgIHVpbnQzMl90IGZwcCA9IGRl
c2NyaXB0aW9uc1tpXS5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA/IGRlc2NyaXB0aW9uc1tpXS5t
VmFyaWFibGVGcmFtZXNJblBhY2tldCA6IGFzYmQtPm1GcmFtZXNQZXJQYWNrZXQ7CisgICAgICAg
ICAgICAgICAgbnVtYmVyT2ZGcmFtZXNJbjY0ICs9IGZwcDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICByZXR1cm4gbnVtYmVyT2ZGcmFtZXNJbjY0OworICAgIH0KKwogICAgIGlm
ICghbV9leHRBdWRpb0ZpbGVSZWYpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBy
ZXR1cm4gLTE7CiAKLSAgICAvLyBHZXQgZmlsZSdzIGRhdGEgZm9ybWF0Ci0gICAgVUludDMyIHNp
emUgPSBzaXplb2YobV9maWxlRGF0YUZvcm1hdCk7Ci0gICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxl
R2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxl
RGF0YUZvcm1hdCwgJnNpemUsICZtX2ZpbGVEYXRhRm9ybWF0KSAhPSBub0VycikKLSAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgVUludDMyIHNpemUgPSBzaXplb2YobnVtYmVyT2ZGcmFtZXNJ
bjY0KTsKKyAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmls
ZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVMZW5ndGhGcmFtZXMsICZzaXplLCAmbnVt
YmVyT2ZGcmFtZXNJbjY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lc0luNjQgPD0gMCkKKyAg
ICAgICAgcmV0dXJuIC0xOwogCi0gICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBtX2ZpbGVE
YXRhRm9ybWF0Lm1DaGFubmVsc1BlckZyYW1lOworICAgIHJldHVybiBudW1iZXJPZkZyYW1lc0lu
NjQ7Cit9CiAKLSAgICAvLyBOdW1iZXIgb2YgZnJhbWVzCi0gICAgU0ludDY0IG51bWJlck9mRnJh
bWVzNjQgPSAwOwotICAgIHNpemUgPSBzaXplb2YobnVtYmVyT2ZGcmFtZXM2NCk7Ci0gICAgaWYg
KFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRp
b0ZpbGVQcm9wZXJ0eV9GaWxlTGVuZ3RoRnJhbWVzLCAmc2l6ZSwgJm51bWJlck9mRnJhbWVzNjQp
ICE9IG5vRXJyIHx8IG51bWJlck9mRnJhbWVzNjQgPD0gMCkKLSAgICAgICAgcmV0dXJuIG51bGxw
dHI7CitzdGQ6Om9wdGlvbmFsPEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gQXVkaW9GaWxl
UmVhZGVyOjpmaWxlRGF0YUZvcm1hdCgpIGNvbnN0Cit7CisgICAgaWYgKG1fd2VibURhdGEpIHsK
KyAgICAgICAgaWYgKG1fd2VibURhdGEtPm1fc2FtcGxlcy5pc0VtcHR5KCkpCisgICAgICAgICAg
ICByZXR1cm4geyB9OworCisgICAgICAgIENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0RGVz
Y3JpcHRpb24gPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24obV93ZWJt
RGF0YS0+bV9zYW1wbGVzWzBdLT5zYW1wbGVCdWZmZXIoKSk7CisKKyAgICAgICAgY29uc3QgQXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25zdCBhc2JkID0gUEFMOjpDTUF1ZGlvRm9ybWF0
RGVzY3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKGZvcm1hdERlc2NyaXB0aW9uKTsK
KyAgICAgICAgcmV0dXJuICphc2JkOworICAgIH0KIAotICAgIGRvdWJsZSBmaWxlU2FtcGxlUmF0
ZSA9IG1fZmlsZURhdGFGb3JtYXQubVNhbXBsZVJhdGU7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rl
c2NyaXB0aW9uIGZvcm1hdDsKKyAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihmb3JtYXQpOworICAg
IGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0
QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZzaXplLCAmZm9ybWF0KSAhPSBub0Vy
cikKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gZm9ybWF0OworfQogCitBdWRpb1N0
cmVhbUJhc2ljRGVzY3JpcHRpb24gQXVkaW9GaWxlUmVhZGVyOjpjbGllbnREYXRhRm9ybWF0KGNv
bnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5Gb3JtYXQsIGZsb2F0IHNhbXBsZVJh
dGUpIGNvbnN0Cit7CiAgICAgLy8gTWFrZSBjbGllbnQgZm9ybWF0IHNhbWUgbnVtYmVyIG9mIGNo
YW5uZWxzIGFzIGZpbGUgZm9ybWF0LCBidXQgdHdlYWsgYSBmZXcgdGhpbmdzLgogICAgIC8vIENs
aWVudCBmb3JtYXQgd2lsbCBiZSBsaW5lYXIgUENNIChjYW5vbmljYWwpLCBhbmQgcG90ZW50aWFs
bHkgY2hhbmdlIHNhbXBsZS1yYXRlLgotICAgIG1fY2xpZW50RGF0YUZvcm1hdCA9IG1fZmlsZURh
dGFGb3JtYXQ7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIG91dEZvcm1hdCA9IGlu
Rm9ybWF0OwogCiAgICAgY29uc3QgaW50IGJ5dGVzUGVyRmxvYXQgPSBzaXplb2YoRmxvYXQzMik7
CiAgICAgY29uc3QgaW50IGJpdHNQZXJCeXRlID0gODsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQu
bUZvcm1hdElEID0ga0F1ZGlvRm9ybWF0TGluZWFyUENNOwotICAgIG1fY2xpZW50RGF0YUZvcm1h
dC5tRm9ybWF0RmxhZ3MgPSBrQXVkaW9Gb3JtYXRGbGFnc05hdGl2ZUZsb2F0UGFja2VkIHwga0F1
ZGlvRm9ybWF0RmxhZ0lzTm9uSW50ZXJsZWF2ZWQ7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1C
eXRlc1BlclBhY2tldCA9IGJ5dGVzUGVyRmxvYXQ7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1G
cmFtZXNQZXJQYWNrZXQgPSAxOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQnl0ZXNQZXJGcmFt
ZSA9IGJ5dGVzUGVyRmxvYXQ7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1DaGFubmVsc1BlckZy
YW1lID0gbnVtYmVyT2ZDaGFubmVsczsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJpdHNQZXJD
aGFubmVsID0gYml0c1BlckJ5dGUgKiBieXRlc1BlckZsb2F0OworICAgIG91dEZvcm1hdC5tRm9y
bWF0SUQgPSBrQXVkaW9Gb3JtYXRMaW5lYXJQQ007CisgICAgb3V0Rm9ybWF0Lm1Gb3JtYXRGbGFn
cyA9IGtBdWRpb0Zvcm1hdEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQgfCBrQXVkaW9Gb3JtYXRGbGFn
SXNOb25JbnRlcmxlYXZlZDsKKyAgICBvdXRGb3JtYXQubUJ5dGVzUGVyUGFja2V0ID0gb3V0Rm9y
bWF0Lm1CeXRlc1BlckZyYW1lID0gYnl0ZXNQZXJGbG9hdDsKKyAgICBvdXRGb3JtYXQubUZyYW1l
c1BlclBhY2tldCA9IDE7CisgICAgb3V0Rm9ybWF0Lm1CaXRzUGVyQ2hhbm5lbCA9IGJpdHNQZXJC
eXRlICogYnl0ZXNQZXJGbG9hdDsKIAogICAgIGlmIChzYW1wbGVSYXRlKQotICAgICAgICBtX2Ns
aWVudERhdGFGb3JtYXQubVNhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOworICAgICAgICBvdXRGb3Jt
YXQubVNhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOworCisgICAgcmV0dXJuIG91dEZvcm1hdDsKK30K
IAotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVm
LCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0YUZvcm1hdCwgc2l6ZW9mKEF1ZGlvU3Ry
ZWFtQmFzaWNEZXNjcmlwdGlvbiksICZtX2NsaWVudERhdGFGb3JtYXQpICE9IG5vRXJyKQorUmVm
UHRyPEF1ZGlvQnVzPiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRl
LCBib29sIG1peFRvTW9ubykKK3sKKyAgICBTSW50NjQgbnVtYmVyT2ZGcmFtZXNJbjY0ID0gbnVt
YmVyT2ZGcmFtZXMoKTsKKyAgICBpZiAobnVtYmVyT2ZGcmFtZXNJbjY0IDw9IDApCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogCi0gICAgLy8gQ2hhbmdlIG51bWJlck9mRnJhbWVzNjQgdG8gZGVz
dGluYXRpb24gc2FtcGxlLXJhdGUKLSAgICBudW1iZXJPZkZyYW1lczY0ID0gbnVtYmVyT2ZGcmFt
ZXM2NCAqIChtX2NsaWVudERhdGFGb3JtYXQubVNhbXBsZVJhdGUgLyBmaWxlU2FtcGxlUmF0ZSk7
Ci0gICAgc2l6ZV90IG51bWJlck9mRnJhbWVzID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihudW1iZXJP
ZkZyYW1lczY0KTsKKyAgICBhdXRvIGluRm9ybWF0ID0gZmlsZURhdGFGb3JtYXQoKTsKKyAgICBp
ZiAoIWluRm9ybWF0KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAgIEF1ZGlvU3RyZWFt
QmFzaWNEZXNjcmlwdGlvbiBvdXRGb3JtYXQgPSBjbGllbnREYXRhRm9ybWF0KCppbkZvcm1hdCwg
c2FtcGxlUmF0ZSk7CisgICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBpbkZvcm1hdC0+bUNo
YW5uZWxzUGVyRnJhbWU7CisgICAgZG91YmxlIGZpbGVTYW1wbGVSYXRlID0gaW5Gb3JtYXQtPm1T
YW1wbGVSYXRlOworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc091dDY0ID0gbnVtYmVyT2ZGcmFt
ZXNJbjY0ICogKG91dEZvcm1hdC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVSYXRlKTsKKyAgICBz
aXplX3QgbnVtYmVyT2ZGcmFtZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51bWJlck9mRnJhbWVz
T3V0NjQpOwogICAgIHNpemVfdCBidXNDaGFubmVsQ291bnQgPSBtaXhUb01vbm8gPyAxIDogbnVt
YmVyT2ZDaGFubmVsczsKIAogICAgIC8vIENyZWF0ZSBBdWRpb0J1cyB3aGVyZSB3ZSdsbCBwdXQg
dGhlIFBDTSBhdWRpbyBkYXRhCiAgICAgYXV0byBhdWRpb0J1cyA9IEF1ZGlvQnVzOjpjcmVhdGUo
YnVzQ2hhbm5lbENvdW50LCBudW1iZXJPZkZyYW1lcyk7Ci0gICAgYXVkaW9CdXMtPnNldFNhbXBs
ZVJhdGUobmFycm93UHJlY2lzaW9uVG9GbG9hdChtX2NsaWVudERhdGFGb3JtYXQubVNhbXBsZVJh
dGUpKTsgLy8gc2F2ZSBmb3IgbGF0ZXIKLQotICAgIC8vIE9ubHkgYWxsb2NhdGVkIGluIHRoZSBt
aXhUb01vbm8gY2FzZTsgZGVhbGxvY2F0ZWQgb24gZGVzdHJ1Y3Rpb24uCi0gICAgQXVkaW9GbG9h
dEFycmF5IGxlZnRDaGFubmVsOwotICAgIEF1ZGlvRmxvYXRBcnJheSByaWdodENoYW5uZWw7Cisg
ICAgYXVkaW9CdXMtPnNldFNhbXBsZVJhdGUobmFycm93UHJlY2lzaW9uVG9GbG9hdChvdXRGb3Jt
YXQubVNhbXBsZVJhdGUpKTsgLy8gc2F2ZSBmb3IgbGF0ZXIKIAotICAgIEF1ZGlvQnVmZmVyTGlz
dCogYnVmZmVyTGlzdCA9IHRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlzdChudW1iZXJPZkNoYW5uZWxz
KTsKKyAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgYnVmZmVyTGlzdChudW1iZXJPZkNoYW5uZWxz
KTsKICAgICBpZiAoIWJ1ZmZlckxpc3QpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2Vi
QXVkaW8sICJ0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QoJWxkKSByZXR1cm5lZCBudWxsIiwgbnVt
YmVyT2ZDaGFubmVscyk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KICAgICBjb25z
dCBzaXplX3QgYnVmZmVyU2l6ZSA9IG51bWJlck9mRnJhbWVzICogc2l6ZW9mKGZsb2F0KTsKIAor
ICAgIC8vIE9ubHkgYWxsb2NhdGVkIGluIHRoZSBtaXhUb01vbm8gY2FzZTsgZGVhbGxvY2F0ZWQg
b24gZGVzdHJ1Y3Rpb24uCisgICAgQXVkaW9GbG9hdEFycmF5IGxlZnRDaGFubmVsOworICAgIEF1
ZGlvRmxvYXRBcnJheSByaWdodENoYW5uZWw7CisKICAgICBSRUxFQVNFX0FTU0VSVChidWZmZXJM
aXN0LT5tTnVtYmVyQnVmZmVycyA9PSBudW1iZXJPZkNoYW5uZWxzKTsKICAgICBpZiAobWl4VG9N
b25vICYmIG51bWJlck9mQ2hhbm5lbHMgPT0gMikgewogICAgICAgICBsZWZ0Q2hhbm5lbC5yZXNp
emUobnVtYmVyT2ZGcmFtZXMpOwpAQCAtMjIyLDE4ICs0MjQsOTAgQEAgUmVmUHRyPEF1ZGlvQnVz
PiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRv
TW9ubykKICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICghdmFsaWRhdGVBdWRpb0J1ZmZlckxp
c3QoYnVmZmVyTGlzdCkpIHsKKyAgICBpZiAoIWJ1ZmZlckxpc3QuaXNWYWxpZCgpKSB7CiAgICAg
ICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiR2VuZXJhdGVkIGJ1ZmZlciBpbiBBdWRp
b0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cygpIGRpZCBub3QgcGFzcyB2YWxpZGF0aW9uIik7CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0
KGJ1ZmZlckxpc3QpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICAvLyBS
ZWFkIGZyb20gdGhlIGZpbGUgKG9yIGluLW1lbW9yeSB2ZXJzaW9uKQotICAgIFVJbnQzMiBmcmFt
ZXNUb1JlYWQgPSBudW1iZXJPZkZyYW1lczsKLSAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVSZWFk
KG1fZXh0QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCBidWZmZXJMaXN0KSAhPSBub0Vycikg
ewotICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpOwotICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAobV93ZWJtRGF0YSkgeworICAgICAgICBBdWRpb0NvbnZl
cnRlclJlZiBjb252ZXJ0ZXI7CisgICAgICAgIGlmIChQQUw6OkF1ZGlvQ29udmVydGVyTmV3KCYq
aW5Gb3JtYXQsICZvdXRGb3JtYXQsICZjb252ZXJ0ZXIpICE9IG5vRXJyKQorICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgICAgIGF1dG8gY2xlYW51cCA9IFsmXSgpIHsKKyAgICAgICAg
ICAgIGlmIChjb252ZXJ0ZXIpCisgICAgICAgICAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlckRp
c3Bvc2UoY29udmVydGVyKTsKKyAgICAgICAgfTsKKyAgICAgICAgVU5VU0VEX1ZBUklBQkxFKGNs
ZWFudXApOyAvLyBub3QgcmVhbGx5LCBidXQgd2UgbWFrZSB0aGUgY29tcGlsZXIgaGFwcHkuCisK
KyAgICAgICAgLy8gRGVzY3JpcHRpb25zIGZvciBfZGVjb21wcmVzc2VkXyBhdWRpbyBwYWNrZXRz
LiBpZ25vcmVkIGJ1dCBuZWVkZWQuCisgICAgICAgIGNvbnN0IHVpbnQzMl90IG1heEF1ZGlvRnJh
bWVzID0gMTI4OworICAgICAgICBhdXRvIHBhY2tldHMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxB
dWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPihtYXhBdWRpb0ZyYW1lcyk7CisKKyAgICAgICAg
c2l6ZV90IGRlY29kZWRGcmFtZXMgPSAwOworICAgICAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIg
ZGVjb2RlZEJ1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CisgICAgICAgIGlmICghZGVjb2Rl
ZEJ1ZmZlckxpc3QpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBPU1N0
YXR1cyBzdGF0dXM7CisgICAgICAgIGZvciAoYXV0byYgc2FtcGxlIDogbV93ZWJtRGF0YS0+bV9z
YW1wbGVzKSB7CisgICAgICAgICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIgPSBz
YW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICAgICAgYXV0byBidWZmZXIgPSBQQUw6OkNN
U2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlcihzYW1wbGVCdWZmZXIpOworICAgICAgICAgICAgQVNT
RVJUKFBBTDo6Q01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzKGJ1ZmZlciwgMCwgMCkpOwor
ICAgICAgICAgICAgaWYgKCFQQUw6OkNNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cyhidWZm
ZXIsIDAsIDApKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgICAg
ICBzaXplX3Qgc3JjU2l6ZSA9IFBBTDo6Q01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgoYnVmZmVy
KTsKKyAgICAgICAgICAgIGNoYXIqIHNyY0RhdGEgPSBudWxscHRyOworICAgICAgICAgICAgaWYg
KFBBTDo6Q01CbG9ja0J1ZmZlckdldERhdGFQb2ludGVyKGJ1ZmZlciwgMCwgbnVsbHB0ciwgbnVs
bHB0ciwgJnNyY0RhdGEpICE9IG5vRXJyKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgICAgICAgICBzaXplX3QgcGFja2V0RGVzY3JpcHRpb25zU2l6ZTsKKyAgICAgICAg
ICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
bnMoc2FtcGxlQnVmZmVyLCAwLCBudWxscHRyLCAmcGFja2V0RGVzY3JpcHRpb25zU2l6ZSkgIT0g
bm9FcnIpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBzaXpl
X3QgbnVtRGVzY3JpcHRpb25zID0gcGFja2V0RGVzY3JpcHRpb25zU2l6ZSAvIHNpemVvZihBdWRp
b1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKTsKKyAgICAgICAgICAgIGlmICghbnVtRGVzY3JpcHRp
b25zKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgYXV0byBk
ZXNjcmlwdGlvbnMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uPihudW1EZXNjcmlwdGlvbnMpOworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVC
dWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIHBhY2tl
dERlc2NyaXB0aW9uc1NpemUsIGRlc2NyaXB0aW9ucy5nZXQoKSwgbnVsbHB0cikgIT0gbm9FcnIp
CisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBQYXNzdGhyb3Vn
aFVzZXJEYXRhIHVzZXJEYXRhID0geyBVSW50MzIobnVtYmVyT2ZDaGFubmVscyksIFVJbnQzMihz
cmNTaXplKSwgc3JjRGF0YSwgMCwgVUludDMyKG51bURlc2NyaXB0aW9ucyksIGRlc2NyaXB0aW9u
cy5nZXQoKSB9OworCisgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBudW1iZXJPZkNoYW5uZWxzOyBpKyspIHsKKyAgICAgICAgICAgICAgICAg
ICAgZGVjb2RlZEJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1OdW1iZXJDaGFubmVscyA9IDE7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChidWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YUJ5dGVT
aXplIDw9IGRlY29kZWRGcmFtZXMgKiBzaXplb2YoZmxvYXQpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIkRlY29kZWQgbW9yZSBmcmFtZXMg
dGhhbiBmaXJzdCBjYWxjdWxhdGVkIik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBkZWNv
ZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGFCeXRlU2l6ZSA9IHN0ZDo6bWluPHVpbnQz
Ml90PihtYXhBdWRpb0ZyYW1lcyAqIHNpemVvZihmbG9hdCksIGJ1ZmZlckxpc3QtPm1CdWZmZXJz
W2ldLm1EYXRhQnl0ZVNpemUgLSBkZWNvZGVkRnJhbWVzICogc2l6ZW9mKGZsb2F0KSk7CisgICAg
ICAgICAgICAgICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YSA9IHN0
YXRpY19jYXN0PGZsb2F0Kj4oYnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGEpICsgZGVjb2Rl
ZEZyYW1lczsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBpbjogdGhl
IG1heCBudW1iZXIgb2YgcGFja2V0cyB3ZSBjYW4gaGFuZGxlIGZyb20gdGhlIGRlY29kZXIuCisg
ICAgICAgICAgICAgICAgLy8gb3V0OiB0aGUgbnVtYmVyIG9mIHBhY2tldHMgdGhlIGRlY29kZXIg
aXMgYWN0dWFsbHkgcmV0dXJuaW5nLgorICAgICAgICAgICAgICAgIFVJbnQzMiBudW1GcmFtZXMg
PSBudW1iZXJPZkZyYW1lcyAtIGRlY29kZWRGcmFtZXM7CisKKyAgICAgICAgICAgICAgICBzdGF0
dXMgPSBQQUw6OkF1ZGlvQ29udmVydGVyRmlsbENvbXBsZXhCdWZmZXIoY29udmVydGVyLCBwYXNz
dGhyb3VnaElucHV0RGF0YUNhbGxiYWNrLCAmdXNlckRhdGEsICZudW1GcmFtZXMsICpkZWNvZGVk
QnVmZmVyTGlzdCwgcGFja2V0cy5nZXQoKSk7CisKKyAgICAgICAgICAgICAgICBpZiAoc3RhdHVz
ICYmIHN0YXR1cyAhPSBrTm9Nb3JlRGF0YUVycikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgICAgICAgICAgICAgZGVjb2RlZEZyYW1lcyArPSBudW1GcmFtZXM7Cisg
ICAgICAgICAgICB9IHdoaWxlIChzdGF0dXMgIT0ga05vTW9yZURhdGFFcnIpOworICAgICAgICB9
CisKKyAgICAgICAgLy8gVGhlIGFjdHVhbCBkZWNvZGVkIG51bWJlciBvZiBmcmFtZXMgbWF5IG5v
dCBtYXRjaCB0aGUgbnVtYmVyIG9mIGZyYW1lcyBjYWxjdWxhdGVkCisgICAgICAgIC8vIHdoaWxl
IGRlbXV4aW5nLiBJdCB3aWxsIGFsd2F5cyBiZSBsb3dlci4KKyAgICAgICAgYXVkaW9CdXMtPnNl
dExlbmd0aChkZWNvZGVkRnJhbWVzKTsKKyAgICAgICAgbnVtYmVyT2ZGcmFtZXMgPSBkZWNvZGVk
RnJhbWVzOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFBy
b3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0
YUZvcm1hdCwgc2l6ZW9mKEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksICZvdXRGb3JtYXQp
ICE9IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgLy8gUmVh
ZCBmcm9tIHRoZSBmaWxlIChvciBpbi1tZW1vcnkgdmVyc2lvbikKKyAgICAgICAgVUludDMyIGZy
YW1lc1RvUmVhZCA9IG51bWJlck9mRnJhbWVzOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0Zp
bGVSZWFkKG1fZXh0QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCAqYnVmZmVyTGlzdCkgIT0g
bm9FcnIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAobWl4
VG9Nb25vICYmIG51bWJlck9mQ2hhbm5lbHMgPT0gMikgewpAQCAtMjQzLDkgKzUxNyw2IEBAIFJl
ZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0
ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAgICAgICAgICBkZXN0TFtpXSA9IDAuNWYgKiAobGVmdENo
YW5uZWxbaV0gKyByaWdodENoYW5uZWxbaV0pOwogICAgIH0KIAotICAgIC8vIENsZWFudXAKLSAg
ICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpOwotCiAgICAgcmV0dXJuIGF1ZGlv
QnVzOwogfQogCkBAIC0yNTUsNiArNTI2LDEzIEBAIFJlZlB0cjxBdWRpb0J1cz4gY3JlYXRlQnVz
RnJvbUluTWVtb3J5QXVkaW9GaWxlKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6CiAg
ICAgcmV0dXJuIHJlYWRlci5jcmVhdGVCdXMoc2FtcGxlUmF0ZSwgbWl4VG9Nb25vKTsKIH0KIAor
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hhbm5lbCYgQXVkaW9GaWxlUmVhZGVy
Ojpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTG9nTWVkaWE7Cit9CisjZW5kaWYK
KwogfSAvLyBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVRElPKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29j
b2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRl
ckNvY29hLmgKaW5kZXggMGJiYmJhMjc4NTdkOTc5ZWNjNjg4Zjg3ZjAzMzlmNjY1ZWY0MjUyOS4u
ZjYxNzMzNzllMDEzNGExZGE1YjM4MjM4ZWQzOGE1YWEyMmM5ZDkzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJD
b2NvYS5oCkBAIC0zMiw2ICszMiw4IEBACiAjaWYgRU5BQkxFKFdFQl9BVURJTykKIAogI2luY2x1
ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgorI2luY2x1ZGUgPG9wdGlvbmFsPgorI2lu
Y2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIHVz
aW5nIEV4dEF1ZGlvRmlsZVJlZiA9IHN0cnVjdCBPcGFxdWVFeHRBdWRpb0ZpbGUqOwpAQCAtNDAs
MTIgKzQyLDE4IEBAIHVzaW5nIEF1ZGlvRmlsZUlEID0gc3RydWN0IE9wYXF1ZUF1ZGlvRmlsZUlE
KjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXVkaW9CdXM7CitjbGFzcyBTb3VyY2VC
dWZmZXJQYXJzZXJXZWJNOworY2xhc3MgQXVkaW9GaWxlUmVhZGVyV2ViTURhdGE7CiAKIC8vIFdy
YXBwZXIgY2xhc3MgZm9yIEF1ZGlvRmlsZSBhbmQgRXh0QXVkaW9GaWxlIENvcmVBdWRpbyBBUElz
IGZvciByZWFkaW5nIGZpbGVzIGFuZCBpbi1tZW1vcnkgdmVyc2lvbnMgb2YgdGhlbS4uLgogCi1j
bGFzcyBBdWRpb0ZpbGVSZWFkZXIgeworY2xhc3MgQXVkaW9GaWxlUmVhZGVyCisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECisgICAgOiBwdWJsaWMgTG9nZ2VySGVscGVyCisjZW5kaWYKK3sKIHB1
YmxpYzoKLSAgICBleHBsaWNpdCBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6
ZV90IGRhdGFTaXplKTsKKyAgICBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6
ZV90IGRhdGFTaXplKTsKICAgICB+QXVkaW9GaWxlUmVhZGVyKCk7CiAKICAgICBSZWZQdHI8QXVk
aW9CdXM+IGNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRvTW9ubyk7IC8vIFJl
dHVybnMgbnVsbHB0ciBvbiBlcnJvcgpAQCAtNTMsOSArNjEsMjAgQEAgcHVibGljOgogICAgIGNv
bnN0IHZvaWQqIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2RhdGE7IH0KICAgICBzaXplX3QgZGF0
YVNpemUoKSBjb25zdCB7IHJldHVybiBtX2RhdGFTaXplOyB9CiAKKyNpZiAhUkVMRUFTRV9MT0df
RElTQUJMRUQKKyAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IG1fbG9nZ2VyLmdldCgpOyB9CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIFdURkxvZ0NoYW5uZWwmIGxv
Z0NoYW5uZWwoKSBjb25zdCBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBj
b25zdCBmaW5hbCB7IHJldHVybiAiQXVkaW9GaWxlUmVhZGVyQ29jb2EiOyB9CisjZW5kaWYKKwog
cHJpdmF0ZToKICAgICBzdGF0aWMgT1NTdGF0dXMgcmVhZFByb2Modm9pZCogY2xpZW50RGF0YSwg
U0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVzdENvdW50LCB2b2lkKiBidWZmZXIsIFVJbnQz
MiogYWN0dWFsQ291bnQpOwogICAgIHN0YXRpYyBTSW50NjQgZ2V0U2l6ZVByb2Modm9pZCogY2xp
ZW50RGF0YSk7CisgICAgYm9vbCBpc01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXpl
X3QgZGF0YVNpemUpIGNvbnN0OworICAgIHNzaXplX3QgbnVtYmVyT2ZGcmFtZXMoKSBjb25zdDsK
KyAgICBzdGQ6Om9wdGlvbmFsPEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gZmlsZURhdGFG
b3JtYXQoKSBjb25zdDsKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gY2xpZW50RGF0
YUZvcm1hdChjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9ybWF0LCBmbG9h
dCBzYW1wbGVSYXRlKSBjb25zdDsKIAogICAgIGNvbnN0IHZvaWQqIG1fZGF0YSA9IHsgbnVsbHB0
ciB9OwogICAgIHNpemVfdCBtX2RhdGFTaXplID0geyAwIH07CkBAIC02Myw4ICs4MiwxMyBAQCBw
cml2YXRlOgogICAgIEF1ZGlvRmlsZUlEIG1fYXVkaW9GaWxlSUQgPSB7IG51bGxwdHIgfTsKICAg
ICBFeHRBdWRpb0ZpbGVSZWYgbV9leHRBdWRpb0ZpbGVSZWYgPSB7IG51bGxwdHIgfTsKIAotICAg
IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2ZpbGVEYXRhRm9ybWF0OwotICAgIEF1ZGlv
U3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2NsaWVudERhdGFGb3JtYXQ7CisgICAgc3RkOjp1bmlx
dWVfcHRyPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPiBtX3dlYm1EYXRhOworCisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgUmVmPExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29u
c3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworI2VuZGlmCisKIH07CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJj
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRh
U291cmNlLmgKaW5kZXggYTFlNzFiZDUyMjMyMjQyNTcxNmM2YjllNWFjZWQwNmU1NTgyOTMzYS4u
NmFlM2I1Y2QxZjJlZmQ2MjM5ZmIzNGQwMTNhNTg3NzZmNDE4YzZmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRh
U291cmNlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNv
dW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdHlwZWRlZiBjb25z
dCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlwdGlvbiAqQ01Gb3JtYXREZXNjcmlwdGlvblJl
ZjsKIHR5cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2FtcGxlQnVmZmVyICpDTVNhbXBsZUJ1ZmZlclJl
ZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCmluZGV4IGQy
YjVhYzQ1ZjMwZmQ0YTNhZjUxYjQyMGRlMzc2NDliMTE1MWMyMjcuLjcwZGMyNDg0YTVlZDY2ODg5
ZmNhMzNlZTI5MWVjMTA2YTVmOWY5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KQEAgLTM5
LDYgKzM5LDcgQEAKICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5n
UHJpbnRTdHJlYW0uaD4KIAorI2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+
CiAjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNjcsNyArNjgsNyBAQCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OkF1ZGlvU2FtcGxl
RGF0YVNvdXJjZShzaXplX3QgbWF4aW11bVNhbXBsZUNvdW50LCBMb2dnZXJIZQogQXVkaW9TYW1w
bGVEYXRhU291cmNlOjp+QXVkaW9TYW1wbGVEYXRhU291cmNlKCkKIHsKICAgICBpZiAobV9jb252
ZXJ0ZXIpCi0gICAgICAgIEF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CisgICAg
ICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKIH0KIAogT1NTdGF0
dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCkBAIC03NSwxNCArNzYs
MTQgQEAgT1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCiAg
ICAgQVNTRVJUKG1faW5wdXREZXNjcmlwdGlvbiAmJiBtX291dHB1dERlc2NyaXB0aW9uKTsKIAog
ICAgIGlmIChtX2NvbnZlcnRlcikgewotICAgICAgICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9j
b252ZXJ0ZXIpOworICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRl
cik7CiAgICAgICAgIG1fY29udmVydGVyID0gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAoKm1f
aW5wdXREZXNjcmlwdGlvbiA9PSAqbV9vdXRwdXREZXNjcmlwdGlvbikKICAgICAgICAgcmV0dXJu
IDA7CiAKLSAgICBPU1N0YXR1cyBlcnIgPSBBdWRpb0NvbnZlcnRlck5ldygmbV9pbnB1dERlc2Ny
aXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9vdXRwdXREZXNjcmlwdGlvbi0+c3RyZWFt
RGVzY3JpcHRpb24oKSwgJm1fY29udmVydGVyKTsKKyAgICBPU1N0YXR1cyBlcnIgPSBQQUw6OkF1
ZGlvQ29udmVydGVyTmV3KCZtX2lucHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0aW9uKCks
ICZtX291dHB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9jb252ZXJ0ZXIp
OwogICAgIGlmIChlcnIpIHsKICAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cigqdGhpcyksIGVycl0gewogICAgICAgICAgICAg
RVJST1JfTE9HKCJBdWRpb0NvbnZlcnRlck5ldyByZXR1cm5lZCBlcnJvciAiLCBlcnIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFBy
b3ZpZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBh
ZFByb3ZpZGVyLm1tCmluZGV4IGUzZDZmYWM3MDQzNjk2ZmM3ZWUyYTkyMTVkYjIxYThmN2RmODI1
YTUuLmEzMmRmNjIwNDhkMzJkN2IxMzRkYmY1NmRhMDA3YjcwZWMyNDczZjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJv
dmlkZXIubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKSAmJiBQTEFU
Rk9STShNQUMpCiAKKyNpbXBvcnQgIkdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLmgiCiAj
aW1wb3J0ICJHYW1lcGFkUHJvdmlkZXJDbGllbnQuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNp
bXBvcnQgIlBsYXRmb3JtR2FtZXBhZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcAppbmRleCA0ZDhlZTYyZTAxYjhlYWVi
YWNjNmQyOGIzYTA5ODUyOTUyYzVkODBhLi5jMDY2YzJkNDg3OTdhNGFhYjNiOWJlMmEwZWRkNGQ4
MzhiNGJmNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9U
cmFja1ByaXZhdGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UcmFja1ByaXZhdGVCYXNlLmNwcApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShWSURF
TykKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNh
bXBsZUFWRk9iakMuaAppbmRleCBkMDNjZGM4ZGQ2MjU0MTYwOTlhNTM3MTM1ZWUxMWVjOTEwNzM2
YTAyLi5jY2Y5MGFmOGU0ODIxNGY2NzEwZGM5NDdiMTA5MDI0MmIwM2Q0ZGVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNhbXBsZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaApAQCAtMzQsNyArMzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBpeGVsQnVmZmVyOwogCi1jbGFzcyBXRUJDT1JF
X0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMgOiBwdWJsaWMgTWVkaWFTYW1wbGUgeworY2xhc3Mg
TWVkaWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2FtcGxlIHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNh
bXBsZSwgdWludDY0X3QgdHJhY2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBs
ZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0KICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxl
QVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFj
a0lEKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU2FtcGxlQVZGT2JqQyhzYW1wbGUsIHRy
YWNrSUQpKTsgfQpAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHZvaWQgc2V0QXNEaXNwbGF5SW1tZWRpYXRlbHkoTWVkaWFTYW1wbGUmKTsKICAgICBz
dGF0aWMgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBjbG9uZVNhbXBsZUJ1ZmZlckFuZFNl
dEFzRGlzcGxheUltbWVkaWF0ZWx5KENNU2FtcGxlQnVmZmVyUmVmKTsKIAotICAgIFJlZlB0cjxK
U0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEpTQzo6VWludDhDbGFtcGVkQXJyYXk+IGdldFJH
QkFJbWFnZURhdGEoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIE1lZGlhVGltZSBwcmVzZW50YXRp
b25UaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTWVkaWFUaW1lIGRlY29kZVRpbWUoKSBjb25z
dCBvdmVycmlkZTsKQEAgLTU5LDE2ICs1OSwxNiBAQCBwdWJsaWM6CiAgICAgU2FtcGxlRmxhZ3Mg
ZmxhZ3MoKSBjb25zdCBvdmVycmlkZTsKICAgICBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBs
ZSgpIG92ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9uYWw8Qnl0ZVJhbmdlPiBieXRlUmFuZ2UoKSBj
b25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlk
ZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2b2lkIG9mZnNldFRpbWVzdGFtcHNCeShjb25zdCBNZWRpYVRpbWUmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHNldFRpbWVzdGFtcHMoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVk
aWFUaW1lJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRl
OwotICAgIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+
PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVzZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBv
dmVycmlkZTsKLSAgICBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0RpdmlzYWJsZSgpIGNv
bnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFT
YW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVz
ZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBS
ZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7
CiAKICAgICBWaWRlb1JvdGF0aW9uIHZpZGVvUm90YXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBtX3JvdGF0aW9uOyB9CiAgICAgYm9vbCB2aWRlb01pcnJvcmVkKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV9taXJyb3JlZDsgfQotICAgIHVpbnQzMl90IHZpZGVvUGl4ZWxGb3JtYXQo
KSBjb25zdCBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB1aW50MzJfdCB2aWRlb1BpeGVsRm9y
bWF0KCkgY29uc3QgZmluYWw7CiAKICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIo
KSBjb25zdCB7IHJldHVybiBtX3NhbXBsZS5nZXQoKTsgfQogCkBAIC03NywzNSArNzcsMTggQEAg
cHVibGljOgogCiAgICAgdm9pZCBzZXRCeXRlUmFuZ2VPZmZzZXQoc2l6ZV90KTsKIAorICAgIGJv
b2wgaXNNZWRpYVNhbXBsZUFWRk9iakMoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlO30KKwog
cHJvdGVjdGVkOgotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZm
ZXJSZWY+JiYgc2FtcGxlKQotICAgICAgICA6IG1fc2FtcGxlKFdURk1vdmUoc2FtcGxlKSkKLSAg
ICB7Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1w
bGUpCi0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFT
YW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lE
KQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAgICAgLCBtX2lkKHRyYWNrSUQpCi0g
ICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2Ft
cGxlLCB1aW50NjRfdCB0cmFja0lEKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAg
ICAgLCBtX2lkKEF0b21TdHJpbmc6Om51bWJlcih0cmFja0lEKSkKLSAgICB7Ci0gICAgfQotICAg
IE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIFZpZGVvUm90YXRp
b24gcm90YXRpb24sIGJvb2wgbWlycm9yZWQpCi0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQot
ICAgICAgICAsIG1fcm90YXRpb24ocm90YXRpb24pCi0gICAgICAgICwgbV9taXJyb3JlZChtaXJy
b3JlZCkKLSAgICB7Ci0gICAgfQorICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2Jq
QyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIE1l
ZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZik7CisgICAgV0VCQ09SRV9FWFBPUlQg
TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmLCBBdG9tU3RyaW5nIHRyYWNrSUQp
OworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJl
ZiwgdWludDY0X3QgdHJhY2tJRCk7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZP
YmpDKENNU2FtcGxlQnVmZmVyUmVmLCBWaWRlb1JvdGF0aW9uLCBib29sIG1pcnJvcmVkKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5NZWRpYVNhbXBsZUFWRk9iakMoKTsKIAogICAgIHN0
ZDo6b3B0aW9uYWw8TWVkaWFTYW1wbGU6OkJ5dGVSYW5nZT4gYnl0ZVJhbmdlRm9yQXR0YWNobWVu
dChDRlN0cmluZ1JlZiBrZXkpIGNvbnN0OwogCi0gICAgdmlydHVhbCB+TWVkaWFTYW1wbGVBVkZP
YmpDKCkgPSBkZWZhdWx0OwogICAgIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gbV9zYW1w
bGU7CiAgICAgQXRvbVN0cmluZyBtX2lkOwogICAgIFZpZGVvUm90YXRpb24gbV9yb3RhdGlvbiB7
IFZpZGVvUm90YXRpb246Ok5vbmUgfTsKQEAgLTExNCwzICs5Nyw2IEBAIHByb3RlY3RlZDoKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdl
YkNvcmU6Ok1lZGlhU2FtcGxlQVZGT2JqQykKK3N0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJD
b3JlOjpNZWRpYVNhbXBsZSYgc2FtcGxlKSB7IHJldHVybiBzYW1wbGUuaXNNZWRpYVNhbXBsZUFW
Rk9iakMoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1w
bGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tCmluZGV4IGMwZjEzZDZlYTVjOTc1NzY3Y2U4
ZjYyYWI2ODQyZDdkNmYwZmJiNmIuLmNmM2MzNDEwYTM4YWRlYzQ5NTdjOTcxNDJiMzI0MjI0ZDVh
ZmQ4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0K
QEAgLTQ1LDYgKzQ1LDMzIEBAIHN0cnVjdCBXVEY6OkNGVHlwZVRyYWl0PENNU2FtcGxlQnVmZmVy
UmVmPiB7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRp
YVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmIHNhbXBsZSkKKyAg
ICA6IG1fc2FtcGxlKFdURk1vdmUoc2FtcGxlKSkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6
TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSkKKyAgICA6IG1fc2Ft
cGxlKHNhbXBsZSkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpD
KENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lEKQorICAgIDogbV9z
YW1wbGUoc2FtcGxlKQorICAgICwgbV9pZCh0cmFja0lEKQoreworfQorTWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCB1aW50NjRf
dCB0cmFja0lEKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9pZChBdG9tU3RyaW5n
OjpudW1iZXIodHJhY2tJRCkpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxl
QVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIFZpZGVvUm90YXRpb24gcm90YXRpb24s
IGJvb2wgbWlycm9yZWQpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCisgICAgLCBtX3JvdGF0aW9u
KHJvdGF0aW9uKQorICAgICwgbV9taXJyb3JlZChtaXJyb3JlZCkKK3sKK30KKworTWVkaWFTYW1w
bGVBVkZPYmpDOjp+TWVkaWFTYW1wbGVBVkZPYmpDKCkgPSBkZWZhdWx0OworCiBSZWZQdHI8TWVk
aWFTYW1wbGVBVkZPYmpDPiBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUltYWdlU2FtcGxlKFBp
eGVsQnVmZmVyJiYgcGl4ZWxCdWZmZXIpCiB7CiAgICAgYXV0byBzaXplID0gcGl4ZWxCdWZmZXIu
c2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCmluZGV4IDhl
ZWYzYjJlYTYwNGJkMTk4M2Q3N2QzOGJmNTIxYThkMjFmMjBlZDAuLmQxYzg0NDg4MzY3NDBmZGI3
NWM0MGFjOTNmN2RkMDlkNzhmMDMwMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lv
blNlc3Npb24ubW0KQEAgLTMxLDEwICszMSwxMCBAQAogI2ltcG9ydCA8Q29yZU1lZGlhL0NNQnVm
ZmVyUXVldWUuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERlc2NyaXB0aW9uLmg+CiAj
aW1wb3J0IDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgotI2ltcG9y
dCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5o
PgogI2ltcG9ydCA8d3RmL01lZGlhVGltZS5oPgogI2ltcG9ydCA8d3RmL01vbm90b25pY1RpbWUu
aD4KKyNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJl
YW0uaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi9XVEZTZW1hcGhvcmUu
aD4KQEAgLTQyLDYgKzQyLDcgQEAKIAogI2ltcG9ydCAiQ29yZVZpZGVvU29mdExpbmsuaCIKICNp
bXBvcnQgIlZpZGVvVG9vbGJveFNvZnRMaW5rLmgiCisjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaD4KIAogLy8gRXF1aXZhbGVudCB0byBXVEZfREVDTEFSRV9DRl9UWVBFX1RSQUlU
KENNU2FtcGxlQnVmZmVyKTsKIC8vIE5lZWRlZCBkdWUgdG8gcmVxdWlyZW1lbnQgb2Ygc3BlY2lm
eWluZyB0aGUgUEFMIG5hbWVzcGFjZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCmlu
ZGV4IGZlY2U4MTI5YmQ3ZjdmZGVkNmE4MDRiYTUyZjc5NTI2MWZlNjVkMzAuLjg3MTA0ZDhiN2Iz
NTdjMTYwYjZkY2NjNDFiZmUxZjg5ZTBhNmMyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVz
Q29jb2EuaApAQCAtMzQsNyArMzQsOCBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBvcGFxdWVDTUZv
cm1hdERlc2NyaXB0aW9uKiBDTUZvcm1hdERlc2NyaXB0aW9uUmVmOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWJvb2wgaXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9S
VCBib29sIGlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBy
ZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOwogUmV0YWluUHRyPENNRm9ybWF0RGVzY3Jp
cHRpb25SZWY+IGNyZWF0ZVZvcmJpc0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oc2l6ZV90LCBjb25z
dCB2b2lkKik7CiAKIHN0cnVjdCBPcHVzQ29va2llQ29udGVudHMgewpAQCAtNTIsNyArNTMsOCBA
QCBzdHJ1Y3QgT3B1c0Nvb2tpZUNvbnRlbnRzIHsKICAgICBib29sIGhhc1BhZGRpbmcgeyBmYWxz
ZSB9OwogfTsKIAotYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9S
VCBib29sIGlzT3B1c0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcmVn
aXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CiBib29sIHBhcnNlT3B1c1ByaXZhdGVEYXRhKHNp
emVfdCBwcml2YXRlRGF0YVNpemUsIGNvbnN0IHZvaWQqIHByaXZhdGVEYXRhLCBzaXplX3QgZnJh
bWVEYXRhU2l6ZSwgY29uc3Qgdm9pZCogZnJhbWVEYXRhLCBPcHVzQ29va2llQ29udGVudHMmKTsK
IFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVPcHVzQXVkaW9Gb3JtYXRE
ZXNjcmlwdGlvbihjb25zdCBPcHVzQ29va2llQ29udGVudHMmKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29j
b2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5tbQppbmRleCAwNmJkNDhhZTBkM2Q2OTEyNTBiOGEyNzU3ZDAyNTZkNDQ4
NTlmY2M0Li4wZTFlYjFiNzk4YTNjN2VhNjdlYWI3NWJhMzZlNTg1YWRkOGMxMGEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGls
aXRpZXNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbQpAQCAtMzIsMjIgKzMyLDI4IEBACiAjaW1wb3J0
ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJNZWRpYVV0aWxpdGllcy5oIgogI2ltcG9ydCAiUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCisjaW1wb3J0IDxBdWRpb1Rvb2xib3gvQXVkaW9Db2Rl
Yy5oPgogI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvQ29tcG9uZW50Lmg+CiAjaW1wb3J0IDxB
dWRpb1Rvb2xib3gvQXVkaW9Gb3JtYXQuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERl
c2NyaXB0aW9uLmg+CiAjaW1wb3J0IDxkbGZjbi5oPgogI2ltcG9ydCA8d3RmL0ZsaXBCeXRlcy5o
PgogI2ltcG9ydCA8d3RmL1NlY29uZHMuaD4KLQogI2lmIEVOQUJMRShPUFVTKQogI2ltcG9ydCA8
bGlid2VicnRjL29wdXNfZGVmaW5lcy5oPgogI2VuZGlmCisjaW1wb3J0IDxwYWwvY2YvQXVkaW9U
b29sYm94U29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgRU5BQkxFKFZP
UkJJUykgfHwgRU5BQkxFKE9QVVMpCiBzdGF0aWMgYm9vbCByZWdpc3RlckRlY29kZXJGYWN0b3J5
KGNvbnN0IGNoYXIqIGRlY29kZXJOYW1lLCBPU1R5cGUgZGVjb2RlclR5cGUpCiB7CisgICAgQXVk
aW9Db21wb25lbnREZXNjcmlwdGlvbiBkZXNjIHsga0F1ZGlvRGVjb2RlckNvbXBvbmVudFR5cGUs
IGRlY29kZXJUeXBlLCAnYXBwbCcsIGtBdWRpb0NvbXBvbmVudEZsYWdfU2FuZGJveFNhZmUsIDAg
fTsKKyAgICBBdWRpb0NvbXBvbmVudCBjb21wID0gUEFMOjpBdWRpb0NvbXBvbmVudEZpbmROZXh0
KDAsICZkZXNjKTsKKyAgICBpZiAoY29tcCkKKyAgICAgICAgcmV0dXJuIHRydWU7IC8vIEFscmVh
ZHkgcmVnaXN0ZXJlZC4KKwogICAgIGNvbnN0ZXhwciBjaGFyIGF1ZGlvQ29tcG9uZW50c0R5bGli
W10gPSAiL1N5c3RlbS9MaWJyYXJ5L0NvbXBvbmVudHMvQXVkaW9Db2RlY3MuY29tcG9uZW50L0Nv
bnRlbnRzL01hY09TL0F1ZGlvQ29kZWNzIjsKICAgICB2b2lkICpoYW5kbGUgPSBkbG9wZW4oYXVk
aW9Db21wb25lbnRzRHlsaWIsIFJUTERfTEFaWSB8IFJUTERfTE9DQUwpOwogICAgIGlmICghaGFu
ZGxlKQpAQCAtNTcsNyArNjMsNiBAQCBzdGF0aWMgYm9vbCByZWdpc3RlckRlY29kZXJGYWN0b3J5
KGNvbnN0IGNoYXIqIGRlY29kZXJOYW1lLCBPU1R5cGUgZGVjb2RlclR5cGUpCiAgICAgaWYgKCFk
ZWNvZGVyRmFjdG9yeSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgQXVkaW9Db21wb25l
bnREZXNjcmlwdGlvbiBkZXNjIHsgJ2FkZWMnLCBkZWNvZGVyVHlwZSwgJ2FwcGwnLCBrQXVkaW9D
b21wb25lbnRGbGFnX1NhbmRib3hTYWZlLCAwIH07CiAgICAgaWYgKCFBdWRpb0NvbXBvbmVudFJl
Z2lzdGVyKCZkZXNjLCBDRlNUUigiIiksIDAsIGRlY29kZXJGYWN0b3J5KSkgewogICAgICAgICBk
bGNsb3NlKGhhbmRsZSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTcxLDcgKzc2LDcgQEAg
c3RhdGljIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVBdWRpb0Zvcm1h
dERlc2NyaXB0aW9uRm9yRm9ybWF0KE8KICAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24g
YXNiZCB7IH07CiAgICAgYXNiZC5tRm9ybWF0SUQgPSBmb3JtYXRJRDsKICAgICB1aW50MzJfdCBz
aXplID0gc2l6ZW9mKGFzYmQpOwotICAgIGF1dG8gZXJyb3IgPSBBdWRpb0Zvcm1hdEdldFByb3Bl
cnR5KGtBdWRpb0Zvcm1hdFByb3BlcnR5X0Zvcm1hdEluZm8sIG1hZ2ljQ29va2llLnNpemUoKSwg
bWFnaWNDb29raWUuZGF0YSgpLCAmc2l6ZSwgJmFzYmQpOworICAgIGF1dG8gZXJyb3IgPSBQQUw6
OkF1ZGlvRm9ybWF0R2V0UHJvcGVydHkoa0F1ZGlvRm9ybWF0UHJvcGVydHlfRm9ybWF0SW5mbywg
bWFnaWNDb29raWUuc2l6ZSgpLCBtYWdpY0Nvb2tpZS5kYXRhKCksICZzaXplLCAmYXNiZCk7CiAg
ICAgaWYgKGVycm9yKSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAiY3JlYXRl
QXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCBmYWlsZWQgd2l0aCBlcnJvciAlZCAoJS40
cykiLCBlcnJvciwgKGNoYXIgKikmZXJyb3IpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAg
LTMyNiwxOSArMzMxLDMwIEBAIHN0YXRpYyBWZWN0b3I8dWludDhfdD4gY29va2llRnJvbU9wdXND
b29raWVDb250ZW50cyhjb25zdCBPcHVzQ29va2llQ29udGVudHMmIGNvCiAKIGJvb2wgaXNPcHVz
RGVjb2RlckF2YWlsYWJsZSgpCiB7Ci0gICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwotCiAjaWYg
RU5BQkxFKE9QVVMpICYmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIVBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6b3B1c0RlY29kZXJFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAorICAgIHJldHVybiByZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgcmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVl
ZGVkKCkKK3sKKyNpZiBFTkFCTEUoT1BVUykgJiYgUExBVEZPUk0oTUFDKQorICAgIHN0YXRpYyBi
b29sIGF2YWlsYWJsZTsKKwogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOwog
ICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKLSAgICAgICAgYXZhaWxhYmxlID0gcmVn
aXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNPcHVzRGVjb2RlckZhY3RvcnkiLCAnb3B1cycpOworICAg
ICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJBQ09wdXNEZWNvZGVyRmFj
dG9yeSIsIGtBdWRpb0Zvcm1hdE9wdXMpOwogICAgIH0pOwotI2VuZGlmCiAKICAgICByZXR1cm4g
YXZhaWxhYmxlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogUmV0YWlu
UHRyPENNRm9ybWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZU9wdXNBdWRpb0Zvcm1hdERlc2NyaXB0
aW9uKGNvbnN0IE9wdXNDb29raWVDb250ZW50cyYgY29va2llQ29udGVudHMpCkBAIC00MTgsMTkg
KzQzNCwzMCBAQCBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZyb21Wb3JiaXNDb2RlY1By
aXZhdGUoc2l6ZV90IGNvZGVjUHJpdmF0ZVNpemUsIGNvbgogCiBib29sIGlzVm9yYmlzRGVjb2Rl
ckF2YWlsYWJsZSgpCiB7Ci0gICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwotCiAjaWYgRU5BQkxF
KFZPUkJJUykgJiYgUExBVEZPUk0oTUFDKQogICAgIGlmICghUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjp2b3JiaXNEZWNvZGVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
KyAgICByZXR1cm4gcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZO
ZWVkZWQoKQoreworI2lmIEVOQUJMRShWT1JCSVMpICYmIFBMQVRGT1JNKE1BQykKKyAgICBzdGF0
aWMgYm9vbCBhdmFpbGFibGU7CisKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tl
bjsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CiAgICAgICAgIGF2YWlsYWJsZSA9
IHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDVm9yYmlzRGVjb2RlckZhY3RvcnkiLCAndm9yYicp
OwogICAgIH0pOwotI2VuZGlmCiAKICAgICByZXR1cm4gYXZhaWxhYmxlOworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogUmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25S
ZWY+IGNyZWF0ZVZvcmJpc0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oc2l6ZV90IHByaXZhdGVEYXRh
U2l6ZSwgY29uc3Qgdm9pZCogcHJpdmF0ZURhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0IGIvU291cmNlL1dlYktpdC9GZWF0
dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdAppbmRleCBhZTRlZTQ1N2EyMTMxMzM4ZjZh
NWI3NWVkNzVmNjM2ZjNhMGY1MjYwLi5lMjFiMDIzYjE0MjMwODcyM2M1OTdjMGYxY2Y5N2ExOGEz
MjY3YjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBw
bGV0dm9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBs
ZXR2b3MucGxpc3QKQEAgLTIsOTUgKzIsMTAwIEBACiA8IURPQ1RZUEUgcGxpc3QgUFVCTElDICIt
Ly9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1By
b3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlzdCB2ZXJzaW9uPSIxLjAiPgogPGRpY3Q+Ci0gICAg
PGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+Ci0gICAgPGRpY3Q+
Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0
PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0
PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8
a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNv
ZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8a2V5
PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVD
b21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgICAgICA8a2V5PkF0dHJpYnV0
ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwv
a2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5zd192cDlfZGVj
b2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PnZwOV9kZWNvZGVy
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViR1BVPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1fZm9ybWF0
X3JlYWRlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1fcGFyc2VyPC9rZXk+Ci0g
ICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAg
PC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5Pgor
CTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5
PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0Pgor
CQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGlj
dD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nf
bWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJ
PGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tl
eT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dl
YmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwv
ZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVu
YWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0
PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwv
ZGljdD4KKwk8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+aW5jcmVtZW50YWxfcGRm
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0
PgorCTxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT52cDlfZGVjb2Rlcjwv
a2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4K
Kwk8a2V5PldlYkdQVTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJYUjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8
L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+
CisJPGtleT53ZWJtX3BhcnNlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4K
KwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+UkJfZnVs
bF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8dHJ1ZS8+CisJPC9kaWN0PgogPC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Zl
YXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0CmluZGV4IDYyMWM5MjE2NmM4OTJjYjU0MWNmYTc2
YjYyMzgxNTY2OGExZWMyNzcuLmI4ZTVlMDljZjg5YjYwYzA4MmU2M2FhZWI1ZGY3MGQ5OTFhMzIw
MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxp
c3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdApAQCAt
Miw5NSArMiwxMDAgQEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJ
U1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5k
dGQiPgogPHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1l
X2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5F
bmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVf
cHJvY2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwv
a2V5PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+
Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAg
PGtleT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAg
IDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8
a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5
PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0g
ICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJv
Y2Vzc193ZWJydGM8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAg
IDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAg
IDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PkluQXBwQnJv
d3NlclByaXZhY3k8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+aW5jcmVtZW50YWxfcGRm
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZh
bHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT52cDlfZGVjb2Rlcjwva2V5PgotICAgIDxkaWN0
PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGlj
dD4KLSAgICA8a2V5PldlYkdQVTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJYUjwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZh
bHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX3BhcnNlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAg
ICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8
a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KKwk8a2V5PmFz
eW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19jYW52
YXNfcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1
ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBs
ZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJv
Y2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+CisJPGRp
Y3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwv
a2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJ
CTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgorCTxkaWN0
PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVf
cHJvY2Vzc193ZWJydGM8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0
cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29t
cGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PkluQXBw
QnJvd3NlclByaXZhY3k8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxm
YWxzZS8+CisJPC9kaWN0PgorCTxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+c3dfdnA5X2Rl
Y29kZXJfb25fYmF0dGVyeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT52cDlfZGVjb2Rlcjwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PldlYkdQVTwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJ
PGtleT5XZWJYUjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNl
Lz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNl
cjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGlj
dD4KKwk8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9r
ZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2Ft
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0
PgogPC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZs
YWdzL1dlYktpdC1tYWNvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktp
dC1tYWNvcy5wbGlzdAppbmRleCA2MjFjOTIxNjZjODkyY2I1NDFjZmE3NmI2MjM4MTU2NjhhMWVj
Mjc3Li5iOGU1ZTA5Y2Y4OWI2MGMwODJlNjNhYWViNWRmNzBkOTkxYTMyMDE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3QKKysrIGIvU291
cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0CkBAIC0yLDk1ICsyLDEw
MCBAQAogPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VO
IiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CiA8cGxp
c3QgdmVyc2lvbj0iMS4wIj4KIDxkaWN0PgotICAgIDxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJm
bG93X3Njcm9sbGluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2Nh
bnZhc19yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9r
ZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAg
ICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAg
ICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9w
cm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFi
bGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3By
b2Nlc3NfbWVkaWE8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAg
IDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAg
IDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9j
ZXNzX3dlYmdsPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0
Yzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0g
ICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgot
ICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFj
eTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PnZwOV9kZWNvZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAg
IDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxr
ZXk+V2ViR1BVPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PndlYm1fcGFyc2VyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVs
bF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVf
YW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tl
eT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJp
bmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtl
eT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4K
KwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9y
ZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+
CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxk
aWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0Pgor
CTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+
RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dl
YnJ0Yzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8
a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5
PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93c2VyUHJp
dmFjeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8
L2RpY3Q+CisJPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rlcl9vbl9i
YXR0ZXJ5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgor
CTwvZGljdD4KKwk8a2V5PnZwOV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PldlYlhS
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGlj
dD4KKwk8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+
d2VibV93ZWJhdWRpbzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8L2RpY3Q+
CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0
LXdhdGNob3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hv
cy5wbGlzdAppbmRleCBhZTRlZTQ1N2EyMTMxMzM4ZjZhNWI3NWVkNzVmNjM2ZjNhMGY1MjYwLi5l
MjFiMDIzYjE0MjMwODcyM2M1OTdjMGYxY2Y5N2ExOGEzMjY3YjU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdApAQCAtMiw5NSArMiwxMDAg
QEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIg
Imh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgogPHBsaXN0
IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxv
d19zY3JvbGxpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19jYW52
YXNfcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5
PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAg
ICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAg
ICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJv
Y2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9j
ZXNzX21lZGlhPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8
ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8
dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vz
c193ZWJnbDwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8
L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxm
YWxzZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAg
ICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0g
ICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+dnA5X2RlY29kZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAg
PGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5XZWJHUFU8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0g
ICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViWFI8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+d2VibV9wYXJzZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFi
bGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5SQl9mdWxs
X21hbmFnZV9XS19qZXRzYW08L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+CisJPGtleT5hc3luY19mcmFtZV9h
bmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5
PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmlu
Zzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5
PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5Pgor
CQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3Jl
bmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4K
Kwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRp
Y3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJ
PC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2Vi
cnRjPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCQk8
a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5
PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93c2VyUHJp
dmFjeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8
L2RpY3Q+CisJPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rlcl9vbl9i
YXR0ZXJ5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgor
CTwvZGljdD4KKwk8a2V5PnZwOV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PldlYlhS
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGlj
dD4KKwk8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+
d2VibV93ZWJhdWRpbzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8L2RpY3Q+
CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCmluZGV4IDQ0
YmE4ODU1NTlmMTFiMTJiOGE4NTFkNzY5OTEzMjlkM2IxOWZmMjguLjVhNDlmZWYwODk0ODMyMWY3
MGNjY2Y5NjY4NWE2NTcyNGE5MGEyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5jcHAKQEAgLTQ1MSw3ICs0NTEsNyBAQCB2b2lkIEdQVVByb2Nlc3M6OmVuYWJsZVZQOURl
Y29kZXJzKGJvb2wgc2hvdWxkRW5hYmxlVlA4RGVjb2RlciwgYm9vbCBzaG91bGRFbmFibAogfQog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCiB2b2lkIEdQVVByb2Nlc3M6OnNldFdlYk1QYXJzZXJFbmFibGVk
KGJvb2wgZW5hYmxlZCkKIHsKICAgICBpZiAobV93ZWJNUGFyc2VyRW5hYmxlZCA9PSBlbmFibGVk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKaW5kZXggNDljM2Q3NzFiZjE3NGQ4
ZjlmZGNjOGQyNDFiMzEwNzZiMGM1YjZhZi4uZmFhZjdiMTIxZjUxYzMwNzllOTM4ZGEzOWRiZGU3
ZTAyZGE1NmUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCkBAIC0xNDEs
NyArMTQxLDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBhZGRpdGlv
bmFsU3RhdGVGb3JEaWFnbm9zdGljUmVwb3J0KCkgY29uc3QgZmluYWw7CiAjZW5kaWYKIAotI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKICAgICB2b2lkIHNldFdlYk1QYXJzZXJFbmFibGVkKGJvb2wpOwogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXgg
NjkxZGE3OGQyY2Y5MzI4ZWE3OWUyNGMyZDY0NjIwMDM2YjVlNDI0OS4uNGYwMTk2NTQzYTNkMDU4
ZTAxNmMzOTY2ZWRhMTY0N2ZhNjFiYmIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTUxLDcgKzUxLDcgQEAgbWVzc2FnZXMgLT4g
R1BVUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGlzcGxheUNvbmZpZ3VyYXRpb25DaGFu
Z2VkKENHRGlyZWN0RGlzcGxheUlEIGRpc3BsYXlJRCwgQ0dEaXNwbGF5Q2hhbmdlU3VtbWFyeUZs
YWdzIGZsYWdzKQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUo
VlA5KQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgU2V0V2ViTVBhcnNlckVuYWJsZWQo
Ym9vbCBlbmFibGVkKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcAppbmRleCAzMjEyZTdhZTEwMTk1NTI2Nzg3
ZmViOWQzNjBjZjYwNGZjODMzZmI3Li4xYWZlNzY1MDc4Y2VmNTEzNGM4OWY1YjRmZGZiZTYxNmIy
ZmNlYTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0Rl
ZmF1bHRWYWx1ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlcy5jcHAKQEAgLTMyOCw2ICszMjgsMTUgQEAgYm9vbCBkZWZhdWx0V2ViTVBh
cnNlckVuYWJsZWQoKQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIGRlZmF1bHRXZWJNV2Vi
QXVkaW9FbmFibGVkKCkKK3sKKyNpZiBIQVZFKFNZU1RFTV9GRUFUVVJFX0ZMQUdTKQorICAgIHJl
dHVybiBpc0ZlYXR1cmVGbGFnRW5hYmxlZCgid2VibV93ZWJhdWRpbyIpOworI2VuZGlmCisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU09VUkNFKQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKaW5kZXggOTAyNDdlOGMxZDEyMmNhNmZhNWQ4N2U2ZmZk
NmI3Mjc5NjM3M2Q1NS4uMjlhNDAxZDdhNDNmOTQzYWM4ZjRhMDcyODM4ZDczNWVlNjk2OGE2ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLmgKQEAgLTExMSw2ICsxMTEsNyBAQCBib29sIGRlZmF1bHRWUDlTV0RlY29kZXJFbmFibGVk
T25CYXR0ZXJ5KCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogYm9vbCBkZWZhdWx0V2Vi
TVBhcnNlckVuYWJsZWQoKTsKK2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKTsKICNl
bmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KaW5kZXggZWY1NTE4YWFkYjAy
ZDViZjVjYmYxNjdlMTI0MDdlZTkwNzQ3MTVlNy4uZWIyY2Q4MjZkMzczYWU1YWQ5ODM0MDM1OGJk
OWNmYWIyOGRiNGMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KQEAgLTM4LDYgKzM4LDcgQEAKICNpbXBvcnQgIldl
YlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbXBvcnQg
PFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1dl
Yk1BdWRpb1V0aWxpdGllc0NvY29hLmg+CiAjaW1wb3J0IDxzeXMvc3lzY3RsLmg+CiAjaW1wb3J0
IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29wZS5oPgpAQCAtMjk1LDYg
KzI5Niw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3Ry
YXRpb25zKCkKIAogICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUo
RElTUEFUQ0hfUVVFVUVfUFJJT1JJVFlfREVGQVVMVCwgMCksIFtwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZigqdGhpcyldICgpIG11dGFibGUgewogICAgICAgICBDRkRhdGFSZWYgcmVnaXN0cmF0aW9u
cyB7IG51bGxwdHIgfTsKKworICAgICAgICBXZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVySWZO
ZWVkZWQoKTsKKyAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQo
KTsKICAgICAgICAgaWYgKG5vRXJyICE9IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3Ry
YXRpb25zKCZyZWdpc3RyYXRpb25zKSB8fCAhcmVnaXN0cmF0aW9ucykKICAgICAgICAgICAgIHJl
dHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKaW5kZXggYTU5Mjk3YWYzZmRhNTVjZjUz
ZDlkOTA4MWFiOTk3YzRmN2JlNTQ5Yy4uNzFhY2Q4MDg4NjgzNTlmZTE2ODFiNzA0ZGE1ZWE1MDc5
ZTM2NDk2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCkBAIC04Nyw2ICs4Nyw3IEBAIGJv
b2wgZGVmYXVsdFdoZWVsRXZlbnRHZXN0dXJlc0JlY29tZU5vbkJsb2NraW5nKCk7CiAKICNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQogYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKTsKK2Jv
b2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFZQ
OSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNEZWZhdWx0VmFsdWVzLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0KaW5kZXggMzUyZmRjNWUxOGFmMmM1OGI0MmZl
NGUwZTdjZjY3MzcxZDY4Y2U2Yy4uMTZjNTk3MjI5MTk3MWYxOTkxYzQwYWVhODFkMGZmYmQ2ZjY1
OWQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0KQEAgLTI5OCw2ICsyOTgsMTUgQEAg
Ym9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKQogICAgIHJldHVybiB0cnVlOwogfQogCiti
b29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCkKK3sKKyNpZiBIQVZFKFNZU1RFTV9GRUFU
VVJFX0ZMQUdTKQorICAgIHJldHVybiBpc0ZlYXR1cmVGbGFnRW5hYmxlZCgid2VibV93ZWJhdWRp
byIpOworI2VuZGlmCisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKICNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU09VUkNFKQogCiAjaWYgRU5BQkxFKFZQOSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwY2U1OTkxODkxYTgzM2Mw
MDI2NjAxYTQwNzQ1ZTYxZmZmZGVlZWM0Li40NmEyMzYxNTAxZTQ0MzFiNmQyMDUwNzAyMjBmNmU5
N2JmNzNhMzE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBB
dmVuYXJkICA8anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29w
dXMgY29udGFpbmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9uczogT25seSBlbmFibGUgdGVzdCBvbiBtYWNPUyBNb250ZXJl
eQorICAgICAgICAqIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWw6IGZpeCB3
aGl0ZXNwYWNlCisgICAgICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRh
dGEtd2VibS1vcHVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL3Jlc291cmNlcy9t
ZWRpYS9vcHVzLndlYm06IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL3Jlc291cmNlcy9tZWRp
YS92b3JiaXMud2VibTogQWRkZWQuCisKIDIwMjEtMDctMjEgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMgZm9yIGltcG9ydGVkIHczYyBJbmRleGVkREIgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODk3OWIxNzg5MmYyN2YxNGFiZjY5NjRhYTA1YmQ1
NDliNDA5YzhiYy4uZGU3MmExYzhhNmMxMzFmMGMyNmU0NzYwNzkxNTVkNWJmNzM3N2YyZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3NjcsNiArMTc2
Nyw3IEBAIHdlYmtpdC5vcmcvYi8yMTQxNTUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIg
XSBtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXdlYm0tdm9yYmlzLXBhcnRpYWwuaHRt
bCBbIFNraXAgXQogWyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gbWVkaWEvbWVkaWEtc291cmNl
L21lZGlhLXdlYm0tb3B1cy1wYXJ0aWFsLmh0bWwgWyBTa2lwIF0KIFsgQ2F0YWxpbmEgTW9qYXZl
IEJpZ1N1ciBdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS13ZWJtLW9wdXMtcGFydGlhbC1hYm9y
dC5odG1sIFsgU2tpcCBdCitbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSB3ZWJhdWRpby9kZWNv
ZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbCBbIFNraXAgXQogCiB3ZWJraXQub3JnL2IvMjE0
NDIyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFw
aS90aGUtYXVkaW9jb250ZXh0LWludGVyZmFjZS9zdXNwZW5kLWFmdGVyLWNvbnN0cnVjdC5odG1s
IFsgUGFzcyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVj
b2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1h
dWRpby1kYXRhLWJhc2ljLmh0bWwKaW5kZXggYTMzM2I2NWFhZWY5ZGI2NGVkNTNmY2IwNTYzMWNm
YzE1MTQwNTBkMS4uN2YwOGIyOTA1OTJjYzJmMzQ0ZmE1NjVmYjBkYWE0YjI2NmY4ODI5ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1s
CkBAIC03LDcgKzcsNyBAQAogPGJvZHk+CiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIkJhc2ljIHRl
c3RzIGZvciBkZWNvZGVBdWRpb0RhdGEgZnVuY3Rpb24uIik7Ci0gICAgCisKIHdpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKIAogdmFyIGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7CkBA
IC0zNCwxOSArMzQsMTkgQEAgZnVuY3Rpb24gcnVuRGVjb2RlVGVzdChpbmRleCkgewogICAgIHZh
ciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgcmVxdWVzdC5vcGVuKCJHRVQi
LCBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCwgdHJ1ZSk7CiAgICAgcmVxdWVzdC5yZXNwb25z
ZVR5cGUgPSAiYXJyYXlidWZmZXIiOwotICAgIAorCiAgICAgcmVxdWVzdC5vbmxvYWQgPSBmdW5j
dGlvbigpIHsKICAgICAgICAgY29udGV4dC5kZWNvZGVBdWRpb0RhdGEocmVxdWVzdC5yZXNwb25z
ZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKLSAgICAgICAgCisKICAgICAgICAg
ZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrKCkgewogICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VB
cnJheVtpbmRleF0ucmVzdWx0KQogICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlRoZSAiICsg
ZGVjb2RlQ2FzZUFycmF5W2luZGV4XS51cmwgKyAgIiB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgaGFz
IGJlZW4gY2FsbGVkIGNvcnJlY3RseS4iKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJUaGUgIiArIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsICsgIiB0
ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgd2FzIG5vdCBjYWxsZWQuIik7Ci0gICAgICAgICAgICAKKwog
ICAgICAgICAgICAgcnVuRGVjb2RlVGVzdCgrK2luZGV4KTsKICAgICAgICAgfQotICAgICAgICAK
KwogICAgICAgICBmdW5jdGlvbiBlcnJvckNhbGxiYWNrKCkgewogICAgICAgICAgICAgaWYgKGRl
Y29kZUNhc2VBcnJheVtpbmRleF0ucmVzdWx0KQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5W2luZGV4XS51cmwgKyAiIHRlc3Q6IGVycm9yQ2FsbGJh
Y2sgd2FzIGNhbGxlZCBpbmNvcnJlY3RseS4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQ0YmMwMTA4ZDQ0Y2Q1ZjQ3NDZmNjk5N2U2MGM1ZTQ3MzU2ZmE0ZTQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJt
LW9wdXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgdGhhdCBkZWNvZGluZyBh
biBvcHVzIHdlYm0gZmlsZSBzdWNjZWVkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBTdWNjZXNzZnVsbHkgZGVjb2RlZCBjb250ZW50CitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTc3
MjgwMTI3MDBhZjNkNjgyNGUyMDkwODVmNGRjZWUzNzhjNzBkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKQEAg
LTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgZGVjb2Rp
bmcgYW4gb3B1cyB3ZWJtIGZpbGUgc3VjY2VlZHMiKTsKKword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOworCit2YXIgY29udGV4dCA9IG5ldyB3aW5kb3cuQXVkaW9Db250ZXh0KCk7Cit2YXIg
cmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworcmVxdWVzdC5vcGVuKCJHRVQiLCAncmVz
b3VyY2VzL21lZGlhL29wdXMud2VibScsIHRydWUpOworcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAi
YXJyYXlidWZmZXIiOworCityZXF1ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGNvbnRl
eHQuZGVjb2RlQXVkaW9EYXRhKHJlcXVlc3QucmVzcG9uc2UsIChidWZmZXIpID0+IHsKKyAgICAg
ICAgdGVzdFBhc3NlZCgiU3VjY2Vzc2Z1bGx5IGRlY29kZWQgY29udGVudCIpOworICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgIH0sICgpID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiRmFp
bGVkIHRvIGRlY29kZSBmaWxlIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgfSk7
Cit9CityZXF1ZXN0LnNlbmQoKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433993</attachid>
            <date>2021-07-21 23:18:01 -0700</date>
            <delta_ts>2021-07-22 00:31:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210722161759.patch</filename>
            <type>text/plain</type>
            <size>93286</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLjczMzdlYjM2ZTI3NjEzNmNlMWE4MzczMTFjNjkyNTk3ZjEzYzk4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHdlYm1fd2ViYXVkaW8g
cHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3IgbWltZXR5
cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlzYWJsZWQg
YnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8bWFnb21l
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIgdG8gY29u
ZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJvY2Vzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0MTMuLjhm
MzNlN2ZjNWUxY2MyMTQ0MjA3ZGFjZDY3NjA0ZDhhYTU5ZDA1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4gV2ViIEF1
ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4gdGhlIHdl
YiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgZGVj
b2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJlYXNvbnMs
IGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxzIGFyZSBi
bG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1ZGlvIGNv
bXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkgcHJvY2Vz
cyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisgICAgICAg
IFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAg
ICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWlscyBmb3Ig
Vm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11eCB0aGUg
d2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0g
dG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVyYXRlIG92
ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3JtaW5nCisg
ICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRoZXJlIGFy
ZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVuY29kZXIg
ZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGlibGUKKyAg
ICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIu
CisgICAgICAgIC0gSWdub3JpbmcgdGhlIHNhbmRib3hpbmcgaXNzdWUsIFZvcmJpcyBjb250ZW50
IGZhaWwgdG8gZGVjb2RlLgorICAgICAgICAtIFdlIGNhbiBvbmx5IGRlY29kZSBtb25vIGFuZCBz
dGVyZW8gY29udGVudC4gT3B1cyBhbmQgVm9yYmlzIGxldCB5b3UgZGVmaW5lIGEKKyAgICAgICAg
Y3VzdG9tIGNoYW5uZWwgb3JkZXJpbmcsIHRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWQgd2l0aCBh
bWJpc29uaWMgYXVkaW8gKHdpdGggb3B1cyAyNTUgbW9kZSkuCisgICAgICAgIENvcmVNZWRpYSBk
b2Vzbid0IGVhc2lseSBkZWFsIHdpdGggc3VjaCByZS1vcmRlcmluZyBhcyBpdCBhcHBlYXJzIHRv
IGJlIGVzc2VudGlhbGx5CisgICAgICAgIGRlc2lnbmVkIGZvciBhdWRpYmxlIGNvbnRlbnQuIFdp
dGggbW9yZSB0aGFuIDIgY2hhbm5lbHMsIGRlY29kaW5nIHdpbGwgZWl0aGVyIGZhaWwKKyAgICAg
ICAgb3IgcHJvZHVjZSBjaGFubmVscyBpbiB0aGUgd3Jvbmcgb3JkZXIuCisKKyAgICAgICAgVGVz
dDogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKKworICAgICAgICAq
IEhlYWRlcnMuY21ha2U6IEV4cG9ydCBoZWFkZXIgc28gdGhhdCB3ZSBjYW4gcmVnaXN0ZXIgdGhl
IGRlY29kZXIgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBzYW1lIGFzIGFib3ZlLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5
VHlwZSBjb25zdCk6IE1ha2UgY2FuUGxheVR5cGUod2VibS9hdWRpbzsgY29kZWNzPW9wdXMpCisg
ICAgICAgIHdvcmsgaWYgZmVhdHVyZXMgaXMgc2V0LgorICAgICAgICAqIHBhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0V2ViTVdlYkF1ZGlvRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjp3ZWJNV2ViQXVkaW9FbmFibGVkIGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9NZWRpYVNhbXBsZS5oOiBBZGQgbmV3IGlzTWVkaWFTYW1wbGVBVkZPYmpDLCB3aWxsIGJl
IHVzZWQgdG8gYWxsb3cgc2FmZQorICAgICAgICBkb3duY2FzdGluZy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1czo6c2V0
TGVuZ3RoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oOiBBZGQgc2V0TGVu
Z3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhlIHJlcG9ydGVkIGxlbmd0aAorICAgICAgICB3aXRo
b3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmg6IEFkZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0
aGUgcmVwb3J0ZWQKKyAgICAgICAgbGVuZ3RoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlp
bmcgc3RvcmFnZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFk
ZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3Qp
OiBGaXggY2hlY2tlZEludCB1c2UgdG8gY2F0Y2ggcG90ZW50aWFsIG92ZXJmbG93CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6
IEFkZCBjb252ZW5pZW5jZSBjbGFzcyB0aGF0CisgICAgICAgIGZyZWUgd3JhcHBlZCBBdWRpb0J1
ZmZlckxpc3Qgb2JqZWN0IG9uIGV4aXQuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxp
c3RIb2xkZXI6On5BdWRpb0J1ZmZlckxpc3RIb2xkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvciBib29sIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3ItPiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yKiBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OmlzVmFsaWQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjppc01heWJlV2ViTSBjb25zdCk6IE1ldGhvZCB0byBj
aGVjayBpZiB0aGUgYnVmZmVyCisgICAgICAgIGNvbnRhaW5zIFdlYk0gZGF0YS4KKyAgICAgICAg
KFdlYkNvcmU6OnBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2spOiBSZXF1aXJlZCBmb3IgQXVk
aW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlci4KKyAgICAgICAgV2lsbCBmZWVkIHRoZSBkZWNv
ZGVyIHRoZSBkYXRhIHRvIGRlY29kZSwgc3BsaXR0aW5nIHRoZSBtdWx0aXBsZSBwYWNrZXRzIGZv
dW5kCisgICAgICAgIGluIHRoZSBDTVNhbXBsZUJ1ZmZlci4KKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMgY29uc3QpOiBSZXR1cm4gdGhlIHRvdGFsIG51
bWJlciBvZgorICAgICAgICBkZWNvZGVkIGZyYW1lcyBpbiB0aGUgcGFja2V0cy4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQgY29uc3QpOiBDcmVhdGUg
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uCisgICAgICAgIHJlbGF0ZWQgdG8gdGhlIGRlbXV4
ZWQgYXVkaW8gdHJhY2suIG51bGxvcHQgaWYgdW5zdXBwb3J0ZWQgY29udGVudC4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y2xpZW50RGF0YUZvcm1hdCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyk6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmg6CisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmg6IFJlbW92ZSB1bnVzZWQgdHlw
ZWRlZi4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UubW06CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6On5BdWRpb1Nh
bXBsZURhdGFTb3VyY2UpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZQorICAgICAgICBQQUwgc29m
dGxpbmtzCisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnNldHVwQ29u
dmVydGVyKTogRmx5LWJ5IGZpeCwgbWFrZSBpdCB1c2UgUEFMCisgICAgICAgIHNvZnRsaW5rcwor
ICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbTogRmx5
LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L1RyYWNrUHJpdmF0ZUJhc2UuY3BwOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVB
VkZPYmpDLmg6CisgICAgICAgIEZseS1ieSBmaXggcmVxdWlyZWQgYnkgd2Via2l0LXByZXBhcmUg
OiBkb24ndCB0YWcgdGhlIHdob2xlIGNsYXNzIGFzIFdFQkNPUkVfRVhQT1JULgorICAgICAgICBN
b3ZlIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIGZ1bmN0aW9uIGRlZmluaXRpb25zIG91dC1v
Zi1saW5lIHRvIHByZXZlbnQKKyAgICAgICAgbGlua2FnZSBlcnJvcnMuCisgICAgICAgIChpc1R5
cGUpOiBBZGQgdGVtcGxhdGUgc3BlY2lhbGl6YXRpb24gZm9yIHN0YXRpY19yZWZlcmVuY2VfY2Fz
dDxNZWRpYVNhbXBsZUFWRk9iakM+CisgICAgICAgIGFuZCBpczxNZWRpYVNhbXBsZUFWRk9iakM+
IHRvIHdvcmsuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMpOiBNb3ZlIGNvZGUKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06IEZseS1ieSBmaXgs
IGFkZCBtaXNzaW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oOiBFeHBvcnQgc29tZSBzeW1ib2xzLCBhZGQgbmV3Cisg
ICAgICAgIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lz
dGVyRGVjb2RlckZhY3RvcnkpOiBJbnN0ZWFkIG9mIGF0dGVtcHRpbmcgdG8gcmVnaXN0ZXIgdGhl
IGRlY29kZXIKKyAgICAgICAgYnkgZGwtb3BlbmluZyB0aGUgcmVxdWlyZWQgbGlicmFyeSwgZmly
c3QgYXR0ZW1wdGluZyB0byBzZWUgaWYgdGhlIGRlY29kZXIgaXMKKyAgICAgICAgYWxyZWFkeSBh
dmFpbGFibGUuIENhbGxpbmcgQXVkaW9Db21wb25lbnRSZWdpc3RlciBpbiB0aGUgd2ViIGNvbnRl
bnQgcHJvY2VzcworICAgICAgICB3aGVuIHRoZSBHUFUgcHJvY2VzcyBpcyBlbmFibGVkIHdpbGwg
ZmFpbCBkdWUgdG8gc2FuZGJveCBzZXR0aW5ncy4gV2hpY2ggd291bGQKKyAgICAgICAgaW5jb3Jy
ZWN0bHkgcmVwb3J0IHRoZSBjb2RlYyB0byBub3QgYmUgYXZhaWxhYmxlIHdoZW4gaXQgd2FzLgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCk6
CisgICAgICAgIChXZWJDb3JlOjppc09wdXNEZWNvZGVyQXZhaWxhYmxlKTogRmx5LWJ5IGZpeCwg
c2hvdWxkIHRoZSBtZXRob2QgYmUgY2FsbGVkCisgICAgICAgIG9uIG5vbi1tYWMgcGxhdGZvcm0g
aXQgd291bGQgaGF2ZSByZXR1cm4gdGhlIHVuaXRpYWxpemVkIHZhbHVlIG9mIHRoZSBhdmFpbGFi
bGUKKyAgICAgICAgc3RhdGljIHZhcmlhYmxlLgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJP
cHVzRGVjb2RlcklmTmVlZGVkKTogQWRkZWQKKyAgICAgICAgKFdlYkNvcmU6OmlzVm9yYmlzRGVj
b2RlckF2YWlsYWJsZSk6IFNhbWUgYXMgaXNPcHVzRGVjb2RlckF2YWlsYWJsZQorICAgICAgICAo
V2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQpOiBBZGRlZAorCiAyMDIxLTA3
LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQWRkIGxpbmtlZE9uT3JBZnRlciBjaGVjayBmb3IgcjI2OTE2MgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggZjAxOWQzY2UxMjAzZjNmYTEwNGVmOWZhYzRmZmE0MDZhYjkwMmY2MC4uZjJhYWNiYjg0
MDJkMGM0MTYxYTNmNmZiZjk5Mzk0ZjU4Y2M1M2RhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHZhcmlvdXMgQVZGb3VuZGF0aW9uIChBVkF1
ZGlvQ29udmVydGVyKSByZWxhdGVkIG1ldGhvZHMgYW5kCisgICAgICAgIENvcmVNZWRpYSB0byBh
Y2Nlc3MgcmVxdWlyZWQgQ01TYW1wbGVCdWZmZXIgcmVsYXRlZCBtZXRob2RzLgorCisgICAgICAg
ICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsu
aDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06CisKIDIwMjEt
MDctMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI4MDEyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTg3NjI1ODQyNjFiYWE5ZTMyMmU5
YTcwY2Y4ZDJhNmYwN2IwOTA5Ni4uYzM2MmU2NjNlNGNjZGUyZmMzYTc4ZWE0MjJlZmNiMWNhNzdh
NmQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2
ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1
cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZGVmYXVs
dCB2YWx1ZSBmb3Igd2VibV93ZWJhdWRpbyBwcmVmIGZvciB0aGUgZGlmZmVyZW50IHBsYXRmb3Jt
cy4KKyAgICAgICAgRGlzYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgcGxhdGZvcm1zLgorICAgICAg
ICBGbHktYnkgZml4OiBkb24ndCBtYWtlIHdlYm0gcGFyc2VyIGRlcGVuZGVudCBvbiBWUDkgc3Vw
cG9ydC4KKworICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0Ogor
ICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0OgorICAgICAgICAqIEZlYXR1
cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktp
dC13YXRjaG9zLnBsaXN0OgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZGVm
YXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlv
Q29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisKIDIwMjEtMDctMjEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSdW5uaW5nQm9hcmQga2lsbHMgdGhlIG5ldHdvcmsg
cHJvY2VzcyBpZiBpdCBpcyBzdGlsbCBob2xkaW5nIHRoZSAiaG9sZGluZyBsb2NrZWQgZmlsZSIg
YXNzZXJ0aW9uIHVwb24gc3VzcGVuc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRl
eCBjNDJlYmViYTA2N2MxNWQ3ZjVkYzBlOTBhYjNkYjQ1MmU5MjJhNGVkLi5iNDExODY0NGFiZjhi
NmUxMzhlM2U2NDk0NzU0ODA4M2M5OTNkYmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFt
bApAQCAtMTI2MSw2ICsxMjYxLDE4IEBAIFdlYk1QYXJzZXJFbmFibGVkOgogICAgIFdlYktpdDoK
ICAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCkKIAorV2Vi
TVdlYkF1ZGlvRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcworICBodW1hblJlYWRhYmxlTmFtZTogIldlYk0gV2ViIEF1ZGlvIgor
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgV2ViTSBXZWIgQXVkaW8iCisgIGNv
bmRpdGlvbjogRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktp
dExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJs
ZWQoKQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJB
dWRpb0VuYWJsZWQoKQorCiAjIEZJWE1FOiBJcyB0aGlzIGltcGxlbWVudGVkIGZvciBXZWJLaXRM
ZWdhY3k/IElmIG5vdCwgdGhpcyBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBXZWJLaXRMZWdhY3kg
ZW50aXJlbHkuCiBXZWJSVENIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkOgogICB0eXBlOiBi
b29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCAzYjFiYjU1MGY1NjgxYTRmNWRkMjM2MGExNDE4OWE4
ZWNhZDA1N2I5Li45YTYxZWVmZjU0YjdjNjUwMjBhMjhlOTRjNmJlZTNkNTQzYzc0NTlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0hlYWRlcnMuY21ha2UKQEAgLTEzMzUsNiArMTMzNSw4IEBAIHNldChXZWJDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9FeHRlbnNpb25z
R0xBTkdMRS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xB
TkdMRVV0aWxpdGllcy5oCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5oCisKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3QuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dERyYXdHbHlwaHNSZWNvcmRlci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCBmYzA2NjhhNGE5MWFmZTEwYjY1MTU5Y2Ew
ODJlMTgyODFmZDUwMzU3Li4zNGI3ZmM2ODYzYjI1ZDI1MGMzZGQ2MDhiZmQ5MGM5YmJhYmE0NzFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNw
cApAQCAtNDcsMTEgKzQ3LDE0IEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5
RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYgdGhlU291cmNlQnVmZmVyLCBz
aXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgdm9pZCogZGVzdGluYXRpb24p
LCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGRlc3RpbmF0aW9u
KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01C
bG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwgUEFMX0VYUE9SVCkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJs
b2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRo
ZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNl
dCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJ
VEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpLCBQQUxfRVhQT1JUKQog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNv
dXJjZUJ5dGVzLCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zm
c2V0SW50b0Rlc3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVz
dGluYXRpb25CdWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCksIFBBTF9F
WFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENv
cmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldEV4dGVuc2lvbnMsIENGRGljdGlvbmFyeVJl
ZiwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBD
TVNhbXBsZUJ1ZmZlckdldFR5cGVJRCwgQ0ZUeXBlSUQsICh2b2lkKSwgKCksIFBBTF9FWFBPUlQp
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsb2NrQnVmZmVyUmVmLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdl
dEZvcm1hdERlc2NyaXB0aW9uLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmLCAoQ01TYW1wbGVCdWZm
ZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVzY3JpcHRpb25z
U2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBwYWNrZXREZXNj
cmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCBQQUxfRVhQT1JU
KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVk
aWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywgT1NTdGF0dXMsIChDTVNhbXBs
ZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRleCwgQ01TYW1wbGVUaW1pbmdJ
bmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4LCB0aW1pbmdJbmZvT3V0KSwg
UEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFmYzU2ZGJmYjA1
ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLmRjMmQ4ZTBiZTkzNmJiMmRiZmQ1MmFjMmVkY2I1NWM4
ZjI1MTRjMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmgKQEAgLTQ5LDYgKzQ5LDEwIEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcywgT1NTdGF0CiAjZGVmaW5l
IENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVm
ZmVyQ29weURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoLCBzaXplX3QsIChDTUJsb2NrQnVmZmVy
UmVmIHRoZUJ1ZmZlciksICh0aGVCdWZmZXIpKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyR2V0RGF0
YUxlbmd0aCBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgKK1NP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
SXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwg
c2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3Ro
KSkKKyNkZWZpbmUgQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVN
ZWRpYV9DTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMKK1NPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpKQorI2RlZmluZSBDTUJs
b2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZl
ckNyZWF0ZUNvbnRpZ3VvdXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29y
ZU1lZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2
b2lkKiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6
ZV90IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0
ZXMsIGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgp
KQogI2RlZmluZSBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcyBzb2Z0TGlua19Db3JlTWVk
aWFfQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
SEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0RXh0ZW5zaW9ucywg
Q0ZEaWN0aW9uYXJ5UmVmLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2MpKQpA
QCAtNTksNiArNjMsOCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVN
ZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsbwogI2RlZmluZSBDTVNhbXBs
ZUJ1ZmZlckdldERhdGFCdWZmZXIgc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0
RGF0YUJ1ZmZlcgogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEs
IENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24sIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQogI2RlZmluZSBDTVNhbXBsZUJ1
ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZl
ckdldEZvcm1hdERlc2NyaXB0aW9uCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUws
IENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
cywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0RGVzY3JpcHRp
b25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCAoc2J1Ziwg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBwYWNrZXREZXNj
cmlwdGlvbnNTaXplTmVlZGVkT3V0KSkKKyNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0
cmVhbVBhY2tldERlc2NyaXB0aW9ucyBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJH
ZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywg
T1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRl
eCwgQ01TYW1wbGVUaW1pbmdJbmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4
LCB0aW1pbmdJbmZvT3V0KSkKICNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJ
bmZvIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8K
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiksIChzYnVm
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9u
U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29m
dExpbmsuaAppbmRleCBiMzI0MTU5YmUxZWZlN2E1ZTVmZTJiMjY0ZDQxYTZhMGM4NGZkNDliLi43
MDBlOWMzMmM0Y2ZiMWJkYzMwZWNmNDdhMDAwNjMwNzIwNTI2OTBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCkBAIC0zMjQs
NCArMzI0LDExIEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQVZGb3VuZGF0
aW9uLCBBVk91dHB1dENvbnRleHRPdXRwdXREZXZpY2VzRGlkCiAjZGVmaW5lIEFWT3V0cHV0Q29u
dGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24gUEFMOjpnZXRfQVZGb3VuZGF0
aW9uX0FWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24oKQog
I2VuZGlmIC8vIEhBVkUoQVZST1VURVBJQ0tFUlZJRVcpCiAKKyNpZiBQTEFURk9STShDT0NPQSkK
K1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbnZlcnRlcikKK1NPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0Zvcm1hdCkKK1NPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbXByZXNzZWRCdWZmZXIpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9QQ01CdWZmZXIpCisjZW5kaWYgLy8gUExBVEZPUk0o
Q09DT0EpCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggMzdjOGIx
ZmFmZDU4Y2NiYzZlODUwYzZmMzAxMTc2N2M3ZGEzMTY0NS4uNzMzOTg0NWUwNzI2NTgwMWUwNjQw
MzAzYjJlMjkxYTAxMjRlODcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCkBAIC0yMzAsNyArMjMwLDcgQEAgU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9TZXNzaW9uUm91dGUKIAogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRIVFRQQ29va2llc0tl
eSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0UmVxdWly
ZXNDdXN0b21VUkxMb2FkaW5nS2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQotI2VuZGlmCisj
ZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uU2V0
QXV0aG9yaXplZFRvVXNlQ2FtZXJhSW5NdWx0aXBsZUZvcmVncm91bmRBcHBMYXlvdXQsIHZvaWQs
IChBVkNhcHR1cmVTZXNzaW9uICpzZXNzaW9uKSwgKHNlc3Npb24pKQpAQCAtMjQ0LDQgKzI0NCwx
MSBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91
bmRhdGlvbiwgQVZSb3V0ZURldGVjdG9yTXVsdAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERl
dmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24sIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiAjZW5k
aWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9Db252ZXJ0ZXIsIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0Zvcm1hdCwgUEFMX0VYUE9SVCkK
K1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvUENNQnVmZmVy
LCBQQUxfRVhQT1JUKQorI2VuZGlmCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGYwMWI5OTI3ZTNjYzYyMmU5Y2NjMDBiMTFlYjJhMmNkZDAzZjc1MzcuLjRmNDk1N2Y1MGU4ZWI0
NGY2ZjA1ODE5MDcyZGMwYTUxNzNiZTFjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzMiw3ICsyMzIsNyBAQAogCQkwN0VF
NzZFQzFCRTk2REIwMDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RUU3NkVBMUJFOTZEQjAw
MEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAv
KiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUQxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFs
dGltZVZpZGVvU291cmNlTWFjLmggKi87IH07CiAJCTA3RjRFOTMzMjBCMzU4N0YwMDJFMzgwMyAv
KiBBVkFzc2V0TUlNRVR5cGVDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDdDOEFEMTIxRDA3M0Q2MzAwODdDNUNFIC8qIEFWQXNzZXRNSU1FVHlw
ZUNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJMDdGNUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1
ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgfTsKKwkJMDdG
NUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1ODJBNEY4
MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0Y1Q0ZGNjI1ODJBNTI5MDA2NjJFRjUg
LyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGMjI1ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EubW0gKi87IH07CiAJCTA3Rjg3Njg0MUFENTgwRjkwMDkwNTg0OSAvKiBN
ZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDdGODc2ODMxQUQ0QTk0NTAwOTA1ODQ5IC8qIE1lZGlhUGxheWJh
Y2tUYXJnZXRDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDdGOTQ0MTYxODY0RDA0NjAwNUQzMUNCIC8qIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RBRThDMDgxNzQ2Qjk1NzAwNTMyRDc4IC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBhM2IzYTJmMTE1N2MyYjdl
NTAwYjJhMDRlNDY4ZWQ1NmFkMjA0NGJjLi43ZDdjZDJjZTFkZWZiOGMwNTEwM2I0MzgxZGE3NWY3
MGI3MjgzNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAg
LTEwNTUsNyArMTA1NSw3IEBAIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogICAgIC8vIFRlbXBvcmFyaWx5IHdvcmsgYXJv
dW5kIGJ1ZyAyMjY5MjIuIEZvciBub3cgY2xhaW0gdGhhdCB0aGUgb3B1cyBhbmQgdm9yYmlzIGNv
ZGVjcyBhcmVuJ3Qgc3VwcG9ydGVkCiAgICAgLy8gc28gdGhhdCBzaXRlcyByZWx5aW5nIG9uIHRo
aXMgdGVzdCB0byBkZXRlcm1pbmUgaWYgd2ViYXVkaW8gdXNlIG9mIG9wdXMgb3Igdm9yYmlzIHdv
bid0IGVycm9yLgogICAgIGF1dG8gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0gICAg
aWYgKHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYg
KGNvZGVjcy5jb250YWlucygib3B1cyIpIHx8IGNvZGVjcy5jb250YWlucygidm9yYmlzIikpKQor
ICAgIGlmIChzdXBwb3J0ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVk
ICYmICgoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikgJiYgIXdlYk1XZWJBdWRpb0VuYWJsZWQoKSkg
fHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCiAgICAgICAgIHN1cHBvcnQgPSBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZDsKICNlbmRpZgogCkBAIC04MTc1LDYg
KzgxNzUsMTUgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNNZWRpYVN0cmVhbVNvdXJjZSgp
IGNvbnN0CiAjZW5kaWYKIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJNV2ViQXVkaW9F
bmFibGVkKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHJldHVybiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYk1XZWJBdWRpb0VuYWJs
ZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVN0cmVhbUNhcHR1cmVT
dGFydGVkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMTA1
MWMwNTg1M2ZjMDEyZWRkYWNkOGI3NGM5NDVhYmJhYzJkNTMyMC4uZjkyNmVkNjI3MzAxMWQ1MTY0
OGFkZWY1Nzk3ZGJlZGZhNmRiODJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTkzOSw2ICs5MzksOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IExvZ2dlciYgbWVk
aWFQbGF5ZXJMb2dnZXIoKSBmaW5hbCB7IHJldHVybiBsb2dnZXIoKTsgfQogI2VuZGlmCiAKKyAg
ICBib29sIHdlYk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdDsKKwogICAgIFRpbWVyIG1fcHJvZ3Jl
c3NFdmVudFRpbWVyOwogICAgIFRpbWVyIG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFRp
bWVyIG1fc2NhblRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaAppbmRleCBhMGQzY2VhNzlkN2UwYWUwNzQ4MjQwZGQyMmVlZTJkNTU3NTA0NGE2Li42
ODVhMGEyYWQ3NTQ3MjY5OWFlYmYyMTlmYTBjMjUxNTIxYmViMGI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMjM1LDYgKzIzNSw4IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2ViTVBhcnNlckVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJNUGFyc2VyRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQogICAgIGJvb2wgd2ViTVBhcnNlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYk1QYXJz
ZXJFbmFibGVkOyB9CisgICAgdm9pZCBzZXRXZWJNV2ViQXVkaW9FbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fd2ViTVdlYkF1ZGlvRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgd2Vi
TVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVdlYkF1ZGlvRW5hYmxlZDsg
fQogI2VuZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKQEAgLTM3MSw2ICszNzMsNyBAQCBwcml2
YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBib29sIG1fd2ViTVBhcnNlckVu
YWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV93ZWJNV2ViQXVkaW9FbmFibGVkIHsgZmFsc2Ug
fTsKICNlbmRpZgogCiAjaWYgSEFWRShDRUxFU1RJQUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaAppbmRleCA4ZGE2MDM3Nzg4MjQzMzMwYWUyNTBkOWMxMGM3MmVlMDU4OGU3NjBj
Li4wMjU4ZTVlYjRmM2Q2ODgzODE4YjNiNzFlMDljMGY4OTBmMDM0M2Y1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKQEAgLTU3LDcgKzU3LDcgQEAgc3RydWN0IFBsYXRmb3Jt
U2FtcGxlIHsKICAgICB9IHNhbXBsZTsKIH07CiAKLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlh
U2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CitjbGFz
cyBNZWRpYVNhbXBsZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4g
ewogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlKCkgPSBkZWZhdWx0OwogCkBAIC0x
MjUsNiArMTI1LDggQEAgcHVibGljOgogCiAgICAgICAgIHJldHVybiBvYmplY3QtPnRvSlNPTlN0
cmluZygpOwogICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhU2FtcGxlQVZGT2JqQygp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKaW5kZXggMjQzZTEwNmI5
ZTMzZGE5M2RlOWEwY2FkMzNiYzA4ZTkyMDY1MzIwMC4uN2YwM2MzMzFlZTIwMTBjOTg5MjlhMDMy
NGRjYWM5NTVkNjVmOGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9CdXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
QnVzLmNwcApAQCAtNzMsNiArNzMsMTYgQEAgdm9pZCBBdWRpb0J1czo6c2V0Q2hhbm5lbE1lbW9y
eSh1bnNpZ25lZCBjaGFubmVsSW5kZXgsIGZsb2F0KiBzdG9yYWdlLCBzaXplX3QgbGUKICAgICB9
CiB9CiAKK3ZvaWQgQXVkaW9CdXM6OnNldExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKQoreworICAg
IFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IG1f
bGVuZ3RoKTsKKyAgICBpZiAobmV3TGVuZ3RoID09IG1fbGVuZ3RoKQorICAgICAgICByZXR1cm47
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhbm5lbHMuc2l6ZSgpOyArK2kpCisg
ICAgICAgIG1fY2hhbm5lbHNbaV0tPnNldExlbmd0aChuZXdMZW5ndGgpOworICAgIG1fbGVuZ3Ro
ID0gbmV3TGVuZ3RoOworfQorCiB2b2lkIEF1ZGlvQnVzOjp6ZXJvKCkKIHsKICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQwZTgxMTIxMWI0ZGEyY2E4YzY3MGI1OGIz
Mjk2YjM1Y2U2OWNkNGEuLmVhNTg1Yzg0OGVhOTQxMjI3NDAyOWE4ODY3YWI5Y2NhYzcwNzRkNjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtODMsNiArODMs
OSBAQCBwdWJsaWM6CiAgICAgLy8gTnVtYmVyIG9mIHNhbXBsZS1mcmFtZXMKICAgICBzaXplX3Qg
bGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFJlZHVjZSB0aGUg
bnVtYmVyIG9mIGZyYW1lcyBhdmFpbGFibGUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYWxsb2NhdGVk
IG1lbW9yeSBzaXplLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpOworCiAg
ICAgLy8gU2FtcGxlLXJhdGUgOiAwLjAgaWYgdW5rbm93biBvciAiZG9uJ3QgY2FyZSIKICAgICBm
bG9hdCBzYW1wbGVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVSYXRlOyB9CiAgICAgdm9p
ZCBzZXRTYW1wbGVSYXRlKGZsb2F0IHNhbXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxl
UmF0ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9D
aGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApp
bmRleCA5NzViZDBiNWFiZDhmNzI1NWEwNWE3ZGQ3MGY5NjUwYjFkNDk0NjY3Li5jOTc2MTVmMGRh
MTUxYzIzZDQzM2NiNTYwNjdiYjU0Nzk0NjJhMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtNzQsNiArNzQsMTQgQEAgcHVibGljOgogICAg
IC8vIEhvdyBtYW55IHNhbXBsZS1mcmFtZXMgZG8gd2UgY29udGFpbj8KICAgICBzaXplX3QgbGVu
Z3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFNldCBuZXcgbGVuZ3Ro
LiBDYW4gb25seSBiZSBzZXQgdG8gYSB2YWx1ZSBsb3dlciB0aGFuIHRoZSBjdXJyZW50bHkKKyAg
ICAvLyBzZXQgbGVuZ3RoLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCisg
ICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG5l
d0xlbmd0aCA8PSBsZW5ndGgoKSk7CisgICAgICAgIG1fbGVuZ3RoID0gbmV3TGVuZ3RoOworICAg
IH0KKwogICAgIC8vIERpcmVjdCBhY2Nlc3MgdG8gUENNIHNhbXBsZSBkYXRhLiBOb24tY29uc3Qg
YWNjZXNzb3IgY2xlYXJzIHNpbGVudCBmbGFnLgogICAgIGZsb2F0KiBtdXRhYmxlRGF0YSgpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9GaWxlUmVhZGVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCmluZGV4IDVkNTZiOWVlMWEwZDNkNjdhNzljMzA3
NjFkMTM4MTVkN2MwNjQ0Y2UuLjFmMzIwYzM0NWNmNjE1OThmOTk4MjhkZjQ5NGUzMDlhNjc5NjU0
YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
RmlsZVJlYWRlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKQEAgLTM0LDIxICszNCwzNCBAQAogCiAjaW5j
bHVkZSAiQXVkaW9CdXMuaCIKICNpbmNsdWRlICJBdWRpb0ZpbGVSZWFkZXIuaCIKKyNpbmNsdWRl
ICJBdWRpb1NhbXBsZURhdGFTb3VyY2UuaCIKKyNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5o
IgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIkluYmFuZFRleHRUcmFj
a1ByaXZhdGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTYW1wbGVB
VkZPYmpDLmgiCisjaW5jbHVkZSAiVmlkZW9UcmFja1ByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJN
QXVkaW9VdGlsaXRpZXNDb2NvYS5oIgorI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbnZl
cnRlci5oPgogI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9FeHRlbmRlZEF1ZGlvRmlsZS5oPgogI2lu
Y2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8cGFsL2Nm
L0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CisjaW5jbHVkZSA8U291cmNlQnVmZmVyUGFyc2VyV2Vi
TS5oPgogI2luY2x1ZGUgPHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9G
YXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQXVk
aW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIEF1
ZGlvQnVmZmVyTGlzdCogdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KHNpemVfdCBudW1iZXJPZkJ1
ZmZlcnMpCiB7CisgICAgaWYgKCFudW1iZXJPZkJ1ZmZlcnMpCisgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIENoZWNrZWRTaXplIGJ1ZmZlckxpc3RTaXplID0gc2l6ZW9mKEF1ZGlvQnVmZmVy
TGlzdCkgLSBzaXplb2YoQXVkaW9CdWZmZXIpOwotICAgIGJ1ZmZlckxpc3RTaXplICs9IG51bWJl
ck9mQnVmZmVycyAqIHNpemVvZihBdWRpb0J1ZmZlcik7CisgICAgYnVmZmVyTGlzdFNpemUgKz0g
V1RGOjpjaGVja2VkUHJvZHVjdDxzaXplX3Q+KG51bWJlck9mQnVmZmVycywgc2l6ZW9mKEF1ZGlv
QnVmZmVyKSk7CiAgICAgaWYgKGJ1ZmZlckxpc3RTaXplLmhhc092ZXJmbG93ZWQoKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTg3LDEwICsxMDAsOTAgQEAgc3RhdGljIGJvb2wgdmFs
aWRhdGVBdWRpb0J1ZmZlckxpc3QoQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0KQogICAgIHJl
dHVybiB0cnVlOwogfQogCisvLyBPbiBzdGFjayBSQUlJIGNsYXNzIHRoYXQgd2lsbCBmcmVlIHRo
ZSBhbGxvY2F0ZWQgQXVkaW9CdWZmZXJMaXN0IGFzIG5lZWRlZC4KK2NsYXNzIEF1ZGlvQnVmZmVy
TGlzdEhvbGRlciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQXVkaW9CdWZmZXJMaXN0SG9sZGVy
KHNpemVfdCBudW1iZXJPZkNoYW5uZWxzKQorICAgICAgICA6IG1fYnVmZmVyTGlzdCh0cnlDcmVh
dGVBdWRpb0J1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscykpCisgICAgeworICAgIH0KKworICAg
IH5BdWRpb0J1ZmZlckxpc3RIb2xkZXIoKQorICAgIHsKKyAgICAgICAgaWYgKG1fYnVmZmVyTGlz
dCkKKyAgICAgICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QobV9idWZmZXJMaXN0KTsKKyAg
ICB9CisKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gISFtX2J1
ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3QqIG9wZXJhdG9yLT4oKSBjb25zdCB7IHJl
dHVybiBtX2J1ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3QqIG9wZXJhdG9yKigpIGNv
bnN0IHsgcmV0dXJuIG1fYnVmZmVyTGlzdDsgfQorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsg
cmV0dXJuIHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7IH0KK3ByaXZhdGU6
CisgICAgQXVkaW9CdWZmZXJMaXN0KiBtX2J1ZmZlckxpc3Q7Cit9OworCitzdGF0aWMgY29uc3Rl
eHByIHVpbnQzMl90IGtPcHVzTWF4RnJhbWVMZW5ndGggPSA5NDsKK3N0YXRpYyBjb25zdGV4cHIg
dWludDMyX3Qga1ZvcmJpc01heEZyYW1lTGVuZ3RoID0gNDA5NjsKKworY2xhc3MgQXVkaW9GaWxl
UmVhZGVyV2ViTURhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworCitwdWJsaWM6
CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJ
bml0aWFsaXphdGlvblNlZ21lbnQgbV9pbml0U2VnbWVudDsKKyNlbmRpZgorICAgIE1lZGlhVGlt
ZSBtX2R1cmF0aW9uOworICAgIFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPj4gbV9zYW1w
bGVzOworfTsKKwogQXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCog
ZGF0YSwgc2l6ZV90IGRhdGFTaXplKQogICAgIDogbV9kYXRhKGRhdGEpCiAgICAgLCBtX2RhdGFT
aXplKGRhdGFTaXplKQorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgbV9sb2dnZXIo
TG9nZ2VyOjpjcmVhdGUodGhpcykpCisgICAgLCBtX2xvZ0lkZW50aWZpZXIoTG9nZ2VySGVscGVy
Ojp1bmlxdWVMb2dJZGVudGlmaWVyKCkpCisjZW5kaWYKIHsKKyNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKQorICAgIGlmIChpc01heWJlV2ViTShzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oZGF0
YSksIGRhdGFTaXplKSkgeworICAgICAgICBhdXRvIHBhcnNlciA9IGFkb3B0UmVmKG5ldyBTb3Vy
Y2VCdWZmZXJQYXJzZXJXZWJNKCkpOworICAgICAgICBib29sIGVycm9yID0gZmFsc2U7CisgICAg
ICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IGF1ZGlvVHJhY2tJZDsKKyAgICAgICAgTWVkaWFU
aW1lIGR1cmF0aW9uOworICAgICAgICBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJbml0aWFsaXph
dGlvblNlZ21lbnQgaW5pdFNlZ21lbnQ7CisgICAgICAgIFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVB
VkZPYmpDPj4gc2FtcGxlczsKKyAgICAgICAgcGFyc2VyLT5zZXREaWRFbmNvdW50ZXJFcnJvckR1
cmluZ1BhcnNpbmdDYWxsYmFjayhbJl0odWludDY0X3QpIHsKKyAgICAgICAgICAgIGVycm9yID0g
dHJ1ZTsKKyAgICAgICAgfSk7CisgICAgICAgIHBhcnNlci0+c2V0RGlkUGFyc2VJbml0aWFsaXph
dGlvbkRhdGFDYWxsYmFjayhbJl0oU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRp
b25TZWdtZW50JiYgaW5pdCkgeworICAgICAgICAgICAgZm9yIChhdXRvJiBhdWRpb1RyYWNrIDog
aW5pdC5hdWRpb1RyYWNrcykgeworICAgICAgICAgICAgICAgIGlmIChhdWRpb1RyYWNrLnRyYWNr
ICYmIGF1ZGlvVHJhY2sudHJhY2stPnRyYWNrVUlEKCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
ZHVyYXRpb24gPSBpbml0LmR1cmF0aW9uOworICAgICAgICAgICAgICAgICAgICBhdWRpb1RyYWNr
SWQgPSBhdWRpb1RyYWNrLnRyYWNrLT50cmFja1VJRCgpOworICAgICAgICAgICAgICAgICAgICBp
bml0U2VnbWVudCA9IFdURk1vdmUoaW5pdCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworICAgICAgICBw
YXJzZXItPnNldERpZFByb3ZpZGVNZWRpYURhdGFDYWxsYmFjayhbJl0oUmVmPE1lZGlhU2FtcGxl
PiYmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCwgY29uc3QgU3RyaW5nJikgeworICAgICAgICAg
ICAgaWYgKCFhdWRpb1RyYWNrSWQgfHwgdHJhY2tJRCAhPSAqYXVkaW9UcmFja0lkKQorICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJ
VFlfSU1QTElDQVRJT04oaXM8TWVkaWFTYW1wbGVBVkZPYmpDPihzYW1wbGUuZ2V0KCkpKTsKKyAg
ICAgICAgICAgIHNhbXBsZXMuYXBwZW5kKHN0YXRpY19yZWZlcmVuY2VfY2FzdDxNZWRpYVNhbXBs
ZUFWRk9iakM+KFdURk1vdmUoc2FtcGxlKSkpOworICAgICAgICB9KTsKKyAgICAgICAgcGFyc2Vy
LT5zZXRDYWxsT25DbGllbnRUaHJlYWRDYWxsYmFjayhbXShXVEY6OkZ1bmN0aW9uPHZvaWQoKT4m
JiBmdW5jdGlvbikgeworICAgICAgICAgICAgZnVuY3Rpb24oKTsKKyAgICAgICAgfSk7CisgICAg
ICAgIFZlY3Rvcjx1aW50OF90PiB2ZWN0b3Ioc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRh
dGEpLCBkYXRhU2l6ZSk7CisgICAgICAgIFNvdXJjZUJ1ZmZlclBhcnNlcjo6U2VnbWVudCBzZWdt
ZW50KFdURk1vdmUodmVjdG9yKSk7CisgICAgICAgIHBhcnNlci0+YXBwZW5kRGF0YShXVEZNb3Zl
KHNlZ21lbnQpKTsKKyAgICAgICAgaWYgKGF1ZGlvVHJhY2tJZCkgeworICAgICAgICAgICAgcGFy
c2VyLT5mbHVzaFBlbmRpbmdBdWRpb0J1ZmZlcnMoKTsKKyAgICAgICAgICAgIG1fd2VibURhdGEg
PSBtYWtlVW5pcXVlPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPihBdWRpb0ZpbGVSZWFkZXJXZWJN
RGF0YSB7IFdURk1vdmUoaW5pdFNlZ21lbnQpLCBXVEZNb3ZlKGR1cmF0aW9uKSwgV1RGTW92ZShz
YW1wbGVzKSB9KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCiAg
ICAgaWYgKFBBTDo6QXVkaW9GaWxlT3BlbldpdGhDYWxsYmFja3ModGhpcywgcmVhZFByb2MsIDAs
IGdldFNpemVQcm9jLCAwLCAwLCAmbV9hdWRpb0ZpbGVJRCkgIT0gbm9FcnIpCiAgICAgICAgIHJl
dHVybjsKIApAQCAtMTExLDYgKzIwNCwxMiBAQCBBdWRpb0ZpbGVSZWFkZXI6On5BdWRpb0ZpbGVS
ZWFkZXIoKQogICAgIG1fYXVkaW9GaWxlSUQgPSAwOwogfQogCitib29sIEF1ZGlvRmlsZVJlYWRl
cjo6aXNNYXliZVdlYk0oY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKSBjb25z
dAoreworICAgIC8vIEZyb20gaHR0cHM6Ly9taW1lc25pZmYuc3BlYy53aGF0d2cub3JnLyNzaWdu
YXR1cmUtZm9yLXdlYm0KKyAgICByZXR1cm4gZGF0YVNpemUgPj0gNCAmJiBkYXRhWzBdID09IDB4
MUEgJiYgZGF0YVsxXSA9PSAweDQ1ICYmIGRhdGFbMl0gPT0gMHhERiAmJiBkYXRhWzNdID09IDB4
QTM7Cit9CisKIE9TU3RhdHVzIEF1ZGlvRmlsZVJlYWRlcjo6cmVhZFByb2Modm9pZCogY2xpZW50
RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVzdENvdW50LCB2b2lkKiBidWZmZXIs
IFVJbnQzMiogYWN0dWFsQ291bnQpCiB7CiAgICAgYXV0byogYXVkaW9GaWxlUmVhZGVyID0gc3Rh
dGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50RGF0YSk7CkBAIC0xMzYsNjcgKzIzNSwx
NzAgQEAgU0ludDY0IEF1ZGlvRmlsZVJlYWRlcjo6Z2V0U2l6ZVByb2Modm9pZCogY2xpZW50RGF0
YSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50RGF0YSkt
PmRhdGFTaXplKCk7CiB9CiAKLVJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVh
dGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCitzdHJ1Y3QgUGFzc3Rocm91
Z2hVc2VyRGF0YSB7CisgICAgVUludDMyIG1fY2hhbm5lbHM7CisgICAgVUludDMyIG1fZGF0YVNp
emU7CisgICAgY29uc3Qgdm9pZCogbV9kYXRhOworICAgIFVJbnQzMiBtX2luZGV4OworICAgIFVJ
bnQzMiBtX251bVBhY2tldHM7CisgICAgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogbV9w
YWNrZXRzOworfTsKKworLy8gRXJyb3IgdmFsdWUgd2UgcGFzcyB0aHJvdWdoIHRoZSBkZWNvZGVy
IHRvIHNpZ25hbCB0aGF0IG5vdGhpbmcKKy8vIGhhcyBnb25lIHdyb25nIGR1cmluZyBkZWNvZGlu
ZyBhbmQgd2UncmUgZG9uZSBwcm9jZXNzaW5nIHRoZSBwYWNrZXQuCitjb25zdCB1aW50MzJfdCBr
Tm9Nb3JlRGF0YUVyciA9ICdNT0FSJzsKKworc3RhdGljIE9TU3RhdHVzIHBhc3N0aHJvdWdoSW5w
dXREYXRhQ2FsbGJhY2soCisgICAgQXVkaW9Db252ZXJ0ZXJSZWYsIFVJbnQzMiogbnVtRGF0YVBh
Y2tldHMsIEF1ZGlvQnVmZmVyTGlzdCogZGF0YSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
bioqIHBhY2tldERlc2MsIHZvaWQqIGluVXNlckRhdGEpCit7CisgICAgUGFzc3Rocm91Z2hVc2Vy
RGF0YSogdXNlckRhdGEgPSAoUGFzc3Rocm91Z2hVc2VyRGF0YSopaW5Vc2VyRGF0YTsKKyAgICBp
ZiAodXNlckRhdGEtPm1faW5kZXggPT0gdXNlckRhdGEtPm1fbnVtUGFja2V0cykgeworICAgICAg
ICAqbnVtRGF0YVBhY2tldHMgPSAwOworICAgICAgICByZXR1cm4ga05vTW9yZURhdGFFcnI7Cisg
ICAgfQorCisgICAgaWYgKHBhY2tldERlc2MpIHsKKyAgICAgICAgaWYgKHVzZXJEYXRhLT5tX2lu
ZGV4ID49IHVzZXJEYXRhLT5tX251bVBhY2tldHMpIHsKKyAgICAgICAgICAgICpudW1EYXRhUGFj
a2V0cyA9IDA7CisgICAgICAgICAgICByZXR1cm4ga0F1ZGlvQ29udmVydGVyRXJyX1JlcXVpcmVz
UGFja2V0RGVzY3JpcHRpb25zRXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgKnBhY2tldERlc2Mg
PSAmdXNlckRhdGEtPm1fcGFja2V0c1t1c2VyRGF0YS0+bV9pbmRleF07CisgICAgfQorCisgICAg
ZGF0YS0+bUJ1ZmZlcnNbMF0ubU51bWJlckNoYW5uZWxzID0gdXNlckRhdGEtPm1fY2hhbm5lbHM7
CisgICAgZGF0YS0+bUJ1ZmZlcnNbMF0ubURhdGFCeXRlU2l6ZSA9IHVzZXJEYXRhLT5tX2RhdGFT
aXplOworICAgIGRhdGEtPm1CdWZmZXJzWzBdLm1EYXRhID0gY29uc3RfY2FzdDx2b2lkKj4odXNl
ckRhdGEtPm1fZGF0YSk7CisKKyAgICAqbnVtRGF0YVBhY2tldHMgPSAxOworICAgIHVzZXJEYXRh
LT5tX2luZGV4Kys7CisKKyAgICByZXR1cm4gbm9FcnI7Cit9CisKK3NzaXplX3QgQXVkaW9GaWxl
UmVhZGVyOjpudW1iZXJPZkZyYW1lcygpIGNvbnN0CiB7CisgICAgU0ludDY0IG51bWJlck9mRnJh
bWVzSW42NCA9IDA7CisKKyAgICBpZiAobV93ZWJtRGF0YSkgeworICAgICAgICBpZiAobV93ZWJt
RGF0YS0+bV9zYW1wbGVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKworICAg
ICAgICAvLyBDYWxjdWxhdGUgdGhlIHRvdGFsIG51bWJlciBvZiBkZWNvZGVkIHNhbXBsZXMgdGhh
dCB3ZXJlIGRlbXV4ZWQuCisgICAgICAgIC8vIFRoaXMgY29kZSBvbmx5IGhhbmRsZSB0aGUgQ01T
YW1wbGVCdWZmZXIgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNCisg
ICAgICAgIC8vIHdoZXJlIGEgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMgYXJyYXkgaXMg
YWx3YXlzIHByb3ZpZGVkIGV2ZW4gd2l0aAorICAgICAgICAvLyBDb25zdGFudCBiaXRyYXRlIGFu
ZCBjb25zdGFudCBmcmFtZXMtcGVyLXBhY2tldCBhdWRpby4KKyAgICAgICAgZm9yIChhdXRvJiBz
YW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgICAgIENNU2FtcGxlQnVm
ZmVyUmVmIHNhbXBsZUJ1ZmZlciA9IHNhbXBsZS0+c2FtcGxlQnVmZmVyKCk7CisgICAgICAgICAg
ICBjb25zdCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0gUEFMOjpD
TVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKHNhbXBsZUJ1ZmZlcik7CisgICAgICAg
ICAgICBpZiAoIWZvcm1hdERlc2NyaXB0aW9uKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsK
KyAgICAgICAgICAgIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiogY29uc3QgYXNi
ZCA9IFBBTDo6Q01BdWRpb0Zvcm1hdERlc2NyaXB0aW9uR2V0U3RyZWFtQmFzaWNEZXNjcmlwdGlv
bihmb3JtYXREZXNjcmlwdGlvbik7CisgICAgICAgICAgICBpZiAoIWFzYmQpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIC0xOworCisgICAgICAgICAgICBzaXplX3QgcGFja2V0RGVzY3JpcHRpb25z
U2l6ZTsKKyAgICAgICAgICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1Q
YWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCAwLCBudWxscHRyLCAmcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZSkgIT0gbm9FcnIpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAg
ICAgICAgc2l6ZV90IG51bURlc2NyaXB0aW9ucyA9IHBhY2tldERlc2NyaXB0aW9uc1NpemUgLyBz
aXplb2YoQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbik7CisgICAgICAgICAgICBpZiAoIW51
bURlc2NyaXB0aW9ucykKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBh
dXRvIGRlc2NyaXB0aW9ucyA9IFdURjo6bWFrZVVuaXF1ZUFycmF5PEF1ZGlvU3RyZWFtUGFja2V0
RGVzY3JpcHRpb24+KG51bURlc2NyaXB0aW9ucyk7CisgICAgICAgICAgICBpZiAoUEFMOjpDTVNh
bXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1ZmZlciwg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3JpcHRpb25zLmdldCgpLCBudWxscHRyKSAhPSBu
b0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBDTUl0ZW1Db3Vu
dCBudW1QYWNrZXRzID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2FtcGxlQnVm
ZmVyKTsKKyAgICAgICAgICAgIGlmIChudW1EZXNjcmlwdGlvbnMgIT0gc2l6ZV90KG51bVBhY2tl
dHMpKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmhh
bmRsZWQgQ01TYW1wbGVCdWZmZXIgc3RydWN0dXJlIik7CisgICAgICAgICAgICAgICAgcmV0dXJu
IC0xOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBu
dW1EZXNjcmlwdGlvbnM7IGkrKykgeworICAgICAgICAgICAgICAgIHVpbnQzMl90IGZwcCA9IGRl
c2NyaXB0aW9uc1tpXS5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA/IGRlc2NyaXB0aW9uc1tpXS5t
VmFyaWFibGVGcmFtZXNJblBhY2tldCA6IGFzYmQtPm1GcmFtZXNQZXJQYWNrZXQ7CisgICAgICAg
ICAgICAgICAgbnVtYmVyT2ZGcmFtZXNJbjY0ICs9IGZwcDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICByZXR1cm4gbnVtYmVyT2ZGcmFtZXNJbjY0OworICAgIH0KKwogICAgIGlm
ICghbV9leHRBdWRpb0ZpbGVSZWYpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBy
ZXR1cm4gLTE7CiAKLSAgICAvLyBHZXQgZmlsZSdzIGRhdGEgZm9ybWF0Ci0gICAgVUludDMyIHNp
emUgPSBzaXplb2YobV9maWxlRGF0YUZvcm1hdCk7Ci0gICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxl
R2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxl
RGF0YUZvcm1hdCwgJnNpemUsICZtX2ZpbGVEYXRhRm9ybWF0KSAhPSBub0VycikKLSAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgVUludDMyIHNpemUgPSBzaXplb2YobnVtYmVyT2ZGcmFtZXNJ
bjY0KTsKKyAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmls
ZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVMZW5ndGhGcmFtZXMsICZzaXplLCAmbnVt
YmVyT2ZGcmFtZXNJbjY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lc0luNjQgPD0gMCkKKyAg
ICAgICAgcmV0dXJuIC0xOwogCi0gICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBtX2ZpbGVE
YXRhRm9ybWF0Lm1DaGFubmVsc1BlckZyYW1lOworICAgIHJldHVybiBudW1iZXJPZkZyYW1lc0lu
NjQ7Cit9CiAKLSAgICAvLyBOdW1iZXIgb2YgZnJhbWVzCi0gICAgU0ludDY0IG51bWJlck9mRnJh
bWVzNjQgPSAwOwotICAgIHNpemUgPSBzaXplb2YobnVtYmVyT2ZGcmFtZXM2NCk7Ci0gICAgaWYg
KFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRp
b0ZpbGVQcm9wZXJ0eV9GaWxlTGVuZ3RoRnJhbWVzLCAmc2l6ZSwgJm51bWJlck9mRnJhbWVzNjQp
ICE9IG5vRXJyIHx8IG51bWJlck9mRnJhbWVzNjQgPD0gMCkKLSAgICAgICAgcmV0dXJuIG51bGxw
dHI7CitzdGQ6Om9wdGlvbmFsPEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gQXVkaW9GaWxl
UmVhZGVyOjpmaWxlRGF0YUZvcm1hdCgpIGNvbnN0Cit7CisgICAgaWYgKG1fd2VibURhdGEpIHsK
KyAgICAgICAgaWYgKG1fd2VibURhdGEtPm1fc2FtcGxlcy5pc0VtcHR5KCkpCisgICAgICAgICAg
ICByZXR1cm4geyB9OworCisgICAgICAgIENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0RGVz
Y3JpcHRpb24gPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24obV93ZWJt
RGF0YS0+bV9zYW1wbGVzWzBdLT5zYW1wbGVCdWZmZXIoKSk7CisKKyAgICAgICAgY29uc3QgQXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25zdCBhc2JkID0gUEFMOjpDTUF1ZGlvRm9ybWF0
RGVzY3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKGZvcm1hdERlc2NyaXB0aW9uKTsK
KyAgICAgICAgcmV0dXJuICphc2JkOworICAgIH0KIAotICAgIGRvdWJsZSBmaWxlU2FtcGxlUmF0
ZSA9IG1fZmlsZURhdGFGb3JtYXQubVNhbXBsZVJhdGU7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rl
c2NyaXB0aW9uIGZvcm1hdDsKKyAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihmb3JtYXQpOworICAg
IGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0
QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZzaXplLCAmZm9ybWF0KSAhPSBub0Vy
cikKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gZm9ybWF0OworfQogCitBdWRpb1N0
cmVhbUJhc2ljRGVzY3JpcHRpb24gQXVkaW9GaWxlUmVhZGVyOjpjbGllbnREYXRhRm9ybWF0KGNv
bnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5Gb3JtYXQsIGZsb2F0IHNhbXBsZVJh
dGUpIGNvbnN0Cit7CiAgICAgLy8gTWFrZSBjbGllbnQgZm9ybWF0IHNhbWUgbnVtYmVyIG9mIGNo
YW5uZWxzIGFzIGZpbGUgZm9ybWF0LCBidXQgdHdlYWsgYSBmZXcgdGhpbmdzLgogICAgIC8vIENs
aWVudCBmb3JtYXQgd2lsbCBiZSBsaW5lYXIgUENNIChjYW5vbmljYWwpLCBhbmQgcG90ZW50aWFs
bHkgY2hhbmdlIHNhbXBsZS1yYXRlLgotICAgIG1fY2xpZW50RGF0YUZvcm1hdCA9IG1fZmlsZURh
dGFGb3JtYXQ7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIG91dEZvcm1hdCA9IGlu
Rm9ybWF0OwogCiAgICAgY29uc3QgaW50IGJ5dGVzUGVyRmxvYXQgPSBzaXplb2YoRmxvYXQzMik7
CiAgICAgY29uc3QgaW50IGJpdHNQZXJCeXRlID0gODsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQu
bUZvcm1hdElEID0ga0F1ZGlvRm9ybWF0TGluZWFyUENNOwotICAgIG1fY2xpZW50RGF0YUZvcm1h
dC5tRm9ybWF0RmxhZ3MgPSBrQXVkaW9Gb3JtYXRGbGFnc05hdGl2ZUZsb2F0UGFja2VkIHwga0F1
ZGlvRm9ybWF0RmxhZ0lzTm9uSW50ZXJsZWF2ZWQ7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1C
eXRlc1BlclBhY2tldCA9IGJ5dGVzUGVyRmxvYXQ7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1G
cmFtZXNQZXJQYWNrZXQgPSAxOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQnl0ZXNQZXJGcmFt
ZSA9IGJ5dGVzUGVyRmxvYXQ7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1DaGFubmVsc1BlckZy
YW1lID0gbnVtYmVyT2ZDaGFubmVsczsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJpdHNQZXJD
aGFubmVsID0gYml0c1BlckJ5dGUgKiBieXRlc1BlckZsb2F0OworICAgIG91dEZvcm1hdC5tRm9y
bWF0SUQgPSBrQXVkaW9Gb3JtYXRMaW5lYXJQQ007CisgICAgb3V0Rm9ybWF0Lm1Gb3JtYXRGbGFn
cyA9IGtBdWRpb0Zvcm1hdEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQgfCBrQXVkaW9Gb3JtYXRGbGFn
SXNOb25JbnRlcmxlYXZlZDsKKyAgICBvdXRGb3JtYXQubUJ5dGVzUGVyUGFja2V0ID0gb3V0Rm9y
bWF0Lm1CeXRlc1BlckZyYW1lID0gYnl0ZXNQZXJGbG9hdDsKKyAgICBvdXRGb3JtYXQubUZyYW1l
c1BlclBhY2tldCA9IDE7CisgICAgb3V0Rm9ybWF0Lm1CaXRzUGVyQ2hhbm5lbCA9IGJpdHNQZXJC
eXRlICogYnl0ZXNQZXJGbG9hdDsKIAogICAgIGlmIChzYW1wbGVSYXRlKQotICAgICAgICBtX2Ns
aWVudERhdGFGb3JtYXQubVNhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOworICAgICAgICBvdXRGb3Jt
YXQubVNhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOworCisgICAgcmV0dXJuIG91dEZvcm1hdDsKK30K
IAotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVm
LCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0YUZvcm1hdCwgc2l6ZW9mKEF1ZGlvU3Ry
ZWFtQmFzaWNEZXNjcmlwdGlvbiksICZtX2NsaWVudERhdGFGb3JtYXQpICE9IG5vRXJyKQorUmVm
UHRyPEF1ZGlvQnVzPiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRl
LCBib29sIG1peFRvTW9ubykKK3sKKyAgICBTSW50NjQgbnVtYmVyT2ZGcmFtZXNJbjY0ID0gbnVt
YmVyT2ZGcmFtZXMoKTsKKyAgICBpZiAobnVtYmVyT2ZGcmFtZXNJbjY0IDw9IDApCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogCi0gICAgLy8gQ2hhbmdlIG51bWJlck9mRnJhbWVzNjQgdG8gZGVz
dGluYXRpb24gc2FtcGxlLXJhdGUKLSAgICBudW1iZXJPZkZyYW1lczY0ID0gbnVtYmVyT2ZGcmFt
ZXM2NCAqIChtX2NsaWVudERhdGFGb3JtYXQubVNhbXBsZVJhdGUgLyBmaWxlU2FtcGxlUmF0ZSk7
Ci0gICAgc2l6ZV90IG51bWJlck9mRnJhbWVzID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihudW1iZXJP
ZkZyYW1lczY0KTsKKyAgICBhdXRvIGluRm9ybWF0ID0gZmlsZURhdGFGb3JtYXQoKTsKKyAgICBp
ZiAoIWluRm9ybWF0KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAgIEF1ZGlvU3RyZWFt
QmFzaWNEZXNjcmlwdGlvbiBvdXRGb3JtYXQgPSBjbGllbnREYXRhRm9ybWF0KCppbkZvcm1hdCwg
c2FtcGxlUmF0ZSk7CisgICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBpbkZvcm1hdC0+bUNo
YW5uZWxzUGVyRnJhbWU7CisgICAgZG91YmxlIGZpbGVTYW1wbGVSYXRlID0gaW5Gb3JtYXQtPm1T
YW1wbGVSYXRlOworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc091dDY0ID0gbnVtYmVyT2ZGcmFt
ZXNJbjY0ICogKG91dEZvcm1hdC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVSYXRlKTsKKyAgICBz
aXplX3QgbnVtYmVyT2ZGcmFtZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51bWJlck9mRnJhbWVz
T3V0NjQpOwogICAgIHNpemVfdCBidXNDaGFubmVsQ291bnQgPSBtaXhUb01vbm8gPyAxIDogbnVt
YmVyT2ZDaGFubmVsczsKIAogICAgIC8vIENyZWF0ZSBBdWRpb0J1cyB3aGVyZSB3ZSdsbCBwdXQg
dGhlIFBDTSBhdWRpbyBkYXRhCiAgICAgYXV0byBhdWRpb0J1cyA9IEF1ZGlvQnVzOjpjcmVhdGUo
YnVzQ2hhbm5lbENvdW50LCBudW1iZXJPZkZyYW1lcyk7Ci0gICAgYXVkaW9CdXMtPnNldFNhbXBs
ZVJhdGUobmFycm93UHJlY2lzaW9uVG9GbG9hdChtX2NsaWVudERhdGFGb3JtYXQubVNhbXBsZVJh
dGUpKTsgLy8gc2F2ZSBmb3IgbGF0ZXIKLQotICAgIC8vIE9ubHkgYWxsb2NhdGVkIGluIHRoZSBt
aXhUb01vbm8gY2FzZTsgZGVhbGxvY2F0ZWQgb24gZGVzdHJ1Y3Rpb24uCi0gICAgQXVkaW9GbG9h
dEFycmF5IGxlZnRDaGFubmVsOwotICAgIEF1ZGlvRmxvYXRBcnJheSByaWdodENoYW5uZWw7Cisg
ICAgYXVkaW9CdXMtPnNldFNhbXBsZVJhdGUobmFycm93UHJlY2lzaW9uVG9GbG9hdChvdXRGb3Jt
YXQubVNhbXBsZVJhdGUpKTsgLy8gc2F2ZSBmb3IgbGF0ZXIKIAotICAgIEF1ZGlvQnVmZmVyTGlz
dCogYnVmZmVyTGlzdCA9IHRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlzdChudW1iZXJPZkNoYW5uZWxz
KTsKKyAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgYnVmZmVyTGlzdChudW1iZXJPZkNoYW5uZWxz
KTsKICAgICBpZiAoIWJ1ZmZlckxpc3QpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2Vi
QXVkaW8sICJ0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QoJWxkKSByZXR1cm5lZCBudWxsIiwgbnVt
YmVyT2ZDaGFubmVscyk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KICAgICBjb25z
dCBzaXplX3QgYnVmZmVyU2l6ZSA9IG51bWJlck9mRnJhbWVzICogc2l6ZW9mKGZsb2F0KTsKIAor
ICAgIC8vIE9ubHkgYWxsb2NhdGVkIGluIHRoZSBtaXhUb01vbm8gY2FzZTsgZGVhbGxvY2F0ZWQg
b24gZGVzdHJ1Y3Rpb24uCisgICAgQXVkaW9GbG9hdEFycmF5IGxlZnRDaGFubmVsOworICAgIEF1
ZGlvRmxvYXRBcnJheSByaWdodENoYW5uZWw7CisKICAgICBSRUxFQVNFX0FTU0VSVChidWZmZXJM
aXN0LT5tTnVtYmVyQnVmZmVycyA9PSBudW1iZXJPZkNoYW5uZWxzKTsKICAgICBpZiAobWl4VG9N
b25vICYmIG51bWJlck9mQ2hhbm5lbHMgPT0gMikgewogICAgICAgICBsZWZ0Q2hhbm5lbC5yZXNp
emUobnVtYmVyT2ZGcmFtZXMpOwpAQCAtMjIyLDE4ICs0MjQsOTAgQEAgUmVmUHRyPEF1ZGlvQnVz
PiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRv
TW9ubykKICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICghdmFsaWRhdGVBdWRpb0J1ZmZlckxp
c3QoYnVmZmVyTGlzdCkpIHsKKyAgICBpZiAoIWJ1ZmZlckxpc3QuaXNWYWxpZCgpKSB7CiAgICAg
ICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiR2VuZXJhdGVkIGJ1ZmZlciBpbiBBdWRp
b0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cygpIGRpZCBub3QgcGFzcyB2YWxpZGF0aW9uIik7CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0
KGJ1ZmZlckxpc3QpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICAvLyBS
ZWFkIGZyb20gdGhlIGZpbGUgKG9yIGluLW1lbW9yeSB2ZXJzaW9uKQotICAgIFVJbnQzMiBmcmFt
ZXNUb1JlYWQgPSBudW1iZXJPZkZyYW1lczsKLSAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVSZWFk
KG1fZXh0QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCBidWZmZXJMaXN0KSAhPSBub0Vycikg
ewotICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpOwotICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAobV93ZWJtRGF0YSkgeworICAgICAgICBBdWRpb0NvbnZl
cnRlclJlZiBjb252ZXJ0ZXI7CisgICAgICAgIGlmIChQQUw6OkF1ZGlvQ29udmVydGVyTmV3KCYq
aW5Gb3JtYXQsICZvdXRGb3JtYXQsICZjb252ZXJ0ZXIpICE9IG5vRXJyKQorICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgICAgIGF1dG8gY2xlYW51cCA9IFsmXSgpIHsKKyAgICAgICAg
ICAgIGlmIChjb252ZXJ0ZXIpCisgICAgICAgICAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlckRp
c3Bvc2UoY29udmVydGVyKTsKKyAgICAgICAgfTsKKyAgICAgICAgVU5VU0VEX1ZBUklBQkxFKGNs
ZWFudXApOyAvLyBub3QgcmVhbGx5LCBidXQgd2UgbWFrZSB0aGUgY29tcGlsZXIgaGFwcHkuCisK
KyAgICAgICAgLy8gRGVzY3JpcHRpb25zIGZvciBfZGVjb21wcmVzc2VkXyBhdWRpbyBwYWNrZXRz
LiBpZ25vcmVkIGJ1dCBuZWVkZWQuCisgICAgICAgIGNvbnN0IHVpbnQzMl90IG1heEF1ZGlvRnJh
bWVzID0gMTI4OworICAgICAgICBhdXRvIHBhY2tldHMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxB
dWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPihtYXhBdWRpb0ZyYW1lcyk7CisKKyAgICAgICAg
c2l6ZV90IGRlY29kZWRGcmFtZXMgPSAwOworICAgICAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIg
ZGVjb2RlZEJ1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CisgICAgICAgIGlmICghZGVjb2Rl
ZEJ1ZmZlckxpc3QpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBPU1N0
YXR1cyBzdGF0dXM7CisgICAgICAgIGZvciAoYXV0byYgc2FtcGxlIDogbV93ZWJtRGF0YS0+bV9z
YW1wbGVzKSB7CisgICAgICAgICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIgPSBz
YW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICAgICAgYXV0byBidWZmZXIgPSBQQUw6OkNN
U2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlcihzYW1wbGVCdWZmZXIpOworICAgICAgICAgICAgQVNT
RVJUKFBBTDo6Q01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzKGJ1ZmZlciwgMCwgMCkpOwor
ICAgICAgICAgICAgaWYgKCFQQUw6OkNNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cyhidWZm
ZXIsIDAsIDApKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgICAg
ICBzaXplX3Qgc3JjU2l6ZSA9IFBBTDo6Q01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgoYnVmZmVy
KTsKKyAgICAgICAgICAgIGNoYXIqIHNyY0RhdGEgPSBudWxscHRyOworICAgICAgICAgICAgaWYg
KFBBTDo6Q01CbG9ja0J1ZmZlckdldERhdGFQb2ludGVyKGJ1ZmZlciwgMCwgbnVsbHB0ciwgbnVs
bHB0ciwgJnNyY0RhdGEpICE9IG5vRXJyKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgICAgICAgICBzaXplX3QgcGFja2V0RGVzY3JpcHRpb25zU2l6ZTsKKyAgICAgICAg
ICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
bnMoc2FtcGxlQnVmZmVyLCAwLCBudWxscHRyLCAmcGFja2V0RGVzY3JpcHRpb25zU2l6ZSkgIT0g
bm9FcnIpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBzaXpl
X3QgbnVtRGVzY3JpcHRpb25zID0gcGFja2V0RGVzY3JpcHRpb25zU2l6ZSAvIHNpemVvZihBdWRp
b1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKTsKKyAgICAgICAgICAgIGlmICghbnVtRGVzY3JpcHRp
b25zKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgYXV0byBk
ZXNjcmlwdGlvbnMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uPihudW1EZXNjcmlwdGlvbnMpOworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVC
dWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIHBhY2tl
dERlc2NyaXB0aW9uc1NpemUsIGRlc2NyaXB0aW9ucy5nZXQoKSwgbnVsbHB0cikgIT0gbm9FcnIp
CisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBQYXNzdGhyb3Vn
aFVzZXJEYXRhIHVzZXJEYXRhID0geyBVSW50MzIobnVtYmVyT2ZDaGFubmVscyksIFVJbnQzMihz
cmNTaXplKSwgc3JjRGF0YSwgMCwgVUludDMyKG51bURlc2NyaXB0aW9ucyksIGRlc2NyaXB0aW9u
cy5nZXQoKSB9OworCisgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBudW1iZXJPZkNoYW5uZWxzOyBpKyspIHsKKyAgICAgICAgICAgICAgICAg
ICAgZGVjb2RlZEJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1OdW1iZXJDaGFubmVscyA9IDE7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChidWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YUJ5dGVT
aXplIDw9IGRlY29kZWRGcmFtZXMgKiBzaXplb2YoZmxvYXQpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIkRlY29kZWQgbW9yZSBmcmFtZXMg
dGhhbiBmaXJzdCBjYWxjdWxhdGVkIik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBkZWNv
ZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGFCeXRlU2l6ZSA9IHN0ZDo6bWluPHVpbnQz
Ml90PihtYXhBdWRpb0ZyYW1lcyAqIHNpemVvZihmbG9hdCksIGJ1ZmZlckxpc3QtPm1CdWZmZXJz
W2ldLm1EYXRhQnl0ZVNpemUgLSBkZWNvZGVkRnJhbWVzICogc2l6ZW9mKGZsb2F0KSk7CisgICAg
ICAgICAgICAgICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YSA9IHN0
YXRpY19jYXN0PGZsb2F0Kj4oYnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGEpICsgZGVjb2Rl
ZEZyYW1lczsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBpbjogdGhl
IG1heCBudW1iZXIgb2YgcGFja2V0cyB3ZSBjYW4gaGFuZGxlIGZyb20gdGhlIGRlY29kZXIuCisg
ICAgICAgICAgICAgICAgLy8gb3V0OiB0aGUgbnVtYmVyIG9mIHBhY2tldHMgdGhlIGRlY29kZXIg
aXMgYWN0dWFsbHkgcmV0dXJuaW5nLgorICAgICAgICAgICAgICAgIFVJbnQzMiBudW1GcmFtZXMg
PSBudW1iZXJPZkZyYW1lcyAtIGRlY29kZWRGcmFtZXM7CisKKyAgICAgICAgICAgICAgICBzdGF0
dXMgPSBQQUw6OkF1ZGlvQ29udmVydGVyRmlsbENvbXBsZXhCdWZmZXIoY29udmVydGVyLCBwYXNz
dGhyb3VnaElucHV0RGF0YUNhbGxiYWNrLCAmdXNlckRhdGEsICZudW1GcmFtZXMsICpkZWNvZGVk
QnVmZmVyTGlzdCwgcGFja2V0cy5nZXQoKSk7CisKKyAgICAgICAgICAgICAgICBpZiAoc3RhdHVz
ICYmIHN0YXR1cyAhPSBrTm9Nb3JlRGF0YUVycikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgICAgICAgICAgICAgZGVjb2RlZEZyYW1lcyArPSBudW1GcmFtZXM7Cisg
ICAgICAgICAgICB9IHdoaWxlIChzdGF0dXMgIT0ga05vTW9yZURhdGFFcnIpOworICAgICAgICB9
CisKKyAgICAgICAgLy8gVGhlIGFjdHVhbCBkZWNvZGVkIG51bWJlciBvZiBmcmFtZXMgbWF5IG5v
dCBtYXRjaCB0aGUgbnVtYmVyIG9mIGZyYW1lcyBjYWxjdWxhdGVkCisgICAgICAgIC8vIHdoaWxl
IGRlbXV4aW5nLiBJdCB3aWxsIGFsd2F5cyBiZSBsb3dlci4KKyAgICAgICAgYXVkaW9CdXMtPnNl
dExlbmd0aChkZWNvZGVkRnJhbWVzKTsKKyAgICAgICAgbnVtYmVyT2ZGcmFtZXMgPSBkZWNvZGVk
RnJhbWVzOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFBy
b3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0
YUZvcm1hdCwgc2l6ZW9mKEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksICZvdXRGb3JtYXQp
ICE9IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgLy8gUmVh
ZCBmcm9tIHRoZSBmaWxlIChvciBpbi1tZW1vcnkgdmVyc2lvbikKKyAgICAgICAgVUludDMyIGZy
YW1lc1RvUmVhZCA9IG51bWJlck9mRnJhbWVzOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0Zp
bGVSZWFkKG1fZXh0QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCAqYnVmZmVyTGlzdCkgIT0g
bm9FcnIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAobWl4
VG9Nb25vICYmIG51bWJlck9mQ2hhbm5lbHMgPT0gMikgewpAQCAtMjQzLDkgKzUxNyw2IEBAIFJl
ZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0
ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAgICAgICAgICBkZXN0TFtpXSA9IDAuNWYgKiAobGVmdENo
YW5uZWxbaV0gKyByaWdodENoYW5uZWxbaV0pOwogICAgIH0KIAotICAgIC8vIENsZWFudXAKLSAg
ICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpOwotCiAgICAgcmV0dXJuIGF1ZGlv
QnVzOwogfQogCkBAIC0yNTUsNiArNTI2LDEzIEBAIFJlZlB0cjxBdWRpb0J1cz4gY3JlYXRlQnVz
RnJvbUluTWVtb3J5QXVkaW9GaWxlKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6CiAg
ICAgcmV0dXJuIHJlYWRlci5jcmVhdGVCdXMoc2FtcGxlUmF0ZSwgbWl4VG9Nb25vKTsKIH0KIAor
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hhbm5lbCYgQXVkaW9GaWxlUmVhZGVy
Ojpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTG9nTWVkaWE7Cit9CisjZW5kaWYK
KwogfSAvLyBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVRElPKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29j
b2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRl
ckNvY29hLmgKaW5kZXggMGJiYmJhMjc4NTdkOTc5ZWNjNjg4Zjg3ZjAzMzlmNjY1ZWY0MjUyOS4u
ZjYxNzMzNzllMDEzNGExZGE1YjM4MjM4ZWQzOGE1YWEyMmM5ZDkzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJD
b2NvYS5oCkBAIC0zMiw2ICszMiw4IEBACiAjaWYgRU5BQkxFKFdFQl9BVURJTykKIAogI2luY2x1
ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgorI2luY2x1ZGUgPG9wdGlvbmFsPgorI2lu
Y2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIHVz
aW5nIEV4dEF1ZGlvRmlsZVJlZiA9IHN0cnVjdCBPcGFxdWVFeHRBdWRpb0ZpbGUqOwpAQCAtNDAs
MTIgKzQyLDE4IEBAIHVzaW5nIEF1ZGlvRmlsZUlEID0gc3RydWN0IE9wYXF1ZUF1ZGlvRmlsZUlE
KjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXVkaW9CdXM7CitjbGFzcyBTb3VyY2VC
dWZmZXJQYXJzZXJXZWJNOworY2xhc3MgQXVkaW9GaWxlUmVhZGVyV2ViTURhdGE7CiAKIC8vIFdy
YXBwZXIgY2xhc3MgZm9yIEF1ZGlvRmlsZSBhbmQgRXh0QXVkaW9GaWxlIENvcmVBdWRpbyBBUElz
IGZvciByZWFkaW5nIGZpbGVzIGFuZCBpbi1tZW1vcnkgdmVyc2lvbnMgb2YgdGhlbS4uLgogCi1j
bGFzcyBBdWRpb0ZpbGVSZWFkZXIgeworY2xhc3MgQXVkaW9GaWxlUmVhZGVyCisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECisgICAgOiBwdWJsaWMgTG9nZ2VySGVscGVyCisjZW5kaWYKK3sKIHB1
YmxpYzoKLSAgICBleHBsaWNpdCBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6
ZV90IGRhdGFTaXplKTsKKyAgICBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6
ZV90IGRhdGFTaXplKTsKICAgICB+QXVkaW9GaWxlUmVhZGVyKCk7CiAKICAgICBSZWZQdHI8QXVk
aW9CdXM+IGNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRvTW9ubyk7IC8vIFJl
dHVybnMgbnVsbHB0ciBvbiBlcnJvcgpAQCAtNTMsOSArNjEsMjAgQEAgcHVibGljOgogICAgIGNv
bnN0IHZvaWQqIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2RhdGE7IH0KICAgICBzaXplX3QgZGF0
YVNpemUoKSBjb25zdCB7IHJldHVybiBtX2RhdGFTaXplOyB9CiAKKyNpZiAhUkVMRUFTRV9MT0df
RElTQUJMRUQKKyAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IG1fbG9nZ2VyLmdldCgpOyB9CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIFdURkxvZ0NoYW5uZWwmIGxv
Z0NoYW5uZWwoKSBjb25zdCBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBj
b25zdCBmaW5hbCB7IHJldHVybiAiQXVkaW9GaWxlUmVhZGVyQ29jb2EiOyB9CisjZW5kaWYKKwog
cHJpdmF0ZToKICAgICBzdGF0aWMgT1NTdGF0dXMgcmVhZFByb2Modm9pZCogY2xpZW50RGF0YSwg
U0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVzdENvdW50LCB2b2lkKiBidWZmZXIsIFVJbnQz
MiogYWN0dWFsQ291bnQpOwogICAgIHN0YXRpYyBTSW50NjQgZ2V0U2l6ZVByb2Modm9pZCogY2xp
ZW50RGF0YSk7CisgICAgYm9vbCBpc01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXpl
X3QgZGF0YVNpemUpIGNvbnN0OworICAgIHNzaXplX3QgbnVtYmVyT2ZGcmFtZXMoKSBjb25zdDsK
KyAgICBzdGQ6Om9wdGlvbmFsPEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gZmlsZURhdGFG
b3JtYXQoKSBjb25zdDsKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gY2xpZW50RGF0
YUZvcm1hdChjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9ybWF0LCBmbG9h
dCBzYW1wbGVSYXRlKSBjb25zdDsKIAogICAgIGNvbnN0IHZvaWQqIG1fZGF0YSA9IHsgbnVsbHB0
ciB9OwogICAgIHNpemVfdCBtX2RhdGFTaXplID0geyAwIH07CkBAIC02Myw4ICs4MiwxMyBAQCBw
cml2YXRlOgogICAgIEF1ZGlvRmlsZUlEIG1fYXVkaW9GaWxlSUQgPSB7IG51bGxwdHIgfTsKICAg
ICBFeHRBdWRpb0ZpbGVSZWYgbV9leHRBdWRpb0ZpbGVSZWYgPSB7IG51bGxwdHIgfTsKIAotICAg
IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2ZpbGVEYXRhRm9ybWF0OwotICAgIEF1ZGlv
U3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2NsaWVudERhdGFGb3JtYXQ7CisgICAgc3RkOjp1bmlx
dWVfcHRyPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPiBtX3dlYm1EYXRhOworCisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgUmVmPExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29u
c3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworI2VuZGlmCisKIH07CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJj
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRh
U291cmNlLmgKaW5kZXggYTFlNzFiZDUyMjMyMjQyNTcxNmM2YjllNWFjZWQwNmU1NTgyOTMzYS4u
NmFlM2I1Y2QxZjJlZmQ2MjM5ZmIzNGQwMTNhNTg3NzZmNDE4YzZmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRh
U291cmNlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNv
dW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdHlwZWRlZiBjb25z
dCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlwdGlvbiAqQ01Gb3JtYXREZXNjcmlwdGlvblJl
ZjsKIHR5cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2FtcGxlQnVmZmVyICpDTVNhbXBsZUJ1ZmZlclJl
ZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCmluZGV4IGQy
YjVhYzQ1ZjMwZmQ0YTNhZjUxYjQyMGRlMzc2NDliMTE1MWMyMjcuLjcwZGMyNDg0YTVlZDY2ODg5
ZmNhMzNlZTI5MWVjMTA2YTVmOWY5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KQEAgLTM5
LDYgKzM5LDcgQEAKICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5n
UHJpbnRTdHJlYW0uaD4KIAorI2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+
CiAjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNjcsNyArNjgsNyBAQCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OkF1ZGlvU2FtcGxl
RGF0YVNvdXJjZShzaXplX3QgbWF4aW11bVNhbXBsZUNvdW50LCBMb2dnZXJIZQogQXVkaW9TYW1w
bGVEYXRhU291cmNlOjp+QXVkaW9TYW1wbGVEYXRhU291cmNlKCkKIHsKICAgICBpZiAobV9jb252
ZXJ0ZXIpCi0gICAgICAgIEF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CisgICAg
ICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKIH0KIAogT1NTdGF0
dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCkBAIC03NSwxNCArNzYs
MTQgQEAgT1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCiAg
ICAgQVNTRVJUKG1faW5wdXREZXNjcmlwdGlvbiAmJiBtX291dHB1dERlc2NyaXB0aW9uKTsKIAog
ICAgIGlmIChtX2NvbnZlcnRlcikgewotICAgICAgICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9j
b252ZXJ0ZXIpOworICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRl
cik7CiAgICAgICAgIG1fY29udmVydGVyID0gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAoKm1f
aW5wdXREZXNjcmlwdGlvbiA9PSAqbV9vdXRwdXREZXNjcmlwdGlvbikKICAgICAgICAgcmV0dXJu
IDA7CiAKLSAgICBPU1N0YXR1cyBlcnIgPSBBdWRpb0NvbnZlcnRlck5ldygmbV9pbnB1dERlc2Ny
aXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9vdXRwdXREZXNjcmlwdGlvbi0+c3RyZWFt
RGVzY3JpcHRpb24oKSwgJm1fY29udmVydGVyKTsKKyAgICBPU1N0YXR1cyBlcnIgPSBQQUw6OkF1
ZGlvQ29udmVydGVyTmV3KCZtX2lucHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0aW9uKCks
ICZtX291dHB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9jb252ZXJ0ZXIp
OwogICAgIGlmIChlcnIpIHsKICAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cigqdGhpcyksIGVycl0gewogICAgICAgICAgICAg
RVJST1JfTE9HKCJBdWRpb0NvbnZlcnRlck5ldyByZXR1cm5lZCBlcnJvciAiLCBlcnIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFBy
b3ZpZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBh
ZFByb3ZpZGVyLm1tCmluZGV4IGUzZDZmYWM3MDQzNjk2ZmM3ZWUyYTkyMTVkYjIxYThmN2RmODI1
YTUuLmEzMmRmNjIwNDhkMzJkN2IxMzRkYmY1NmRhMDA3YjcwZWMyNDczZjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJv
dmlkZXIubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKSAmJiBQTEFU
Rk9STShNQUMpCiAKKyNpbXBvcnQgIkdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLmgiCiAj
aW1wb3J0ICJHYW1lcGFkUHJvdmlkZXJDbGllbnQuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNp
bXBvcnQgIlBsYXRmb3JtR2FtZXBhZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcAppbmRleCA0ZDhlZTYyZTAxYjhlYWVi
YWNjNmQyOGIzYTA5ODUyOTUyYzVkODBhLi5jMDY2YzJkNDg3OTdhNGFhYjNiOWJlMmEwZWRkNGQ4
MzhiNGJmNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9U
cmFja1ByaXZhdGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UcmFja1ByaXZhdGVCYXNlLmNwcApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShWSURF
TykKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNh
bXBsZUFWRk9iakMuaAppbmRleCBkMDNjZGM4ZGQ2MjU0MTYwOTlhNTM3MTM1ZWUxMWVjOTEwNzM2
YTAyLi5jY2Y5MGFmOGU0ODIxNGY2NzEwZGM5NDdiMTA5MDI0MmIwM2Q0ZGVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNhbXBsZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaApAQCAtMzQsNyArMzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBpeGVsQnVmZmVyOwogCi1jbGFzcyBXRUJDT1JF
X0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMgOiBwdWJsaWMgTWVkaWFTYW1wbGUgeworY2xhc3Mg
TWVkaWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2FtcGxlIHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNh
bXBsZSwgdWludDY0X3QgdHJhY2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBs
ZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0KICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxl
QVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFj
a0lEKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU2FtcGxlQVZGT2JqQyhzYW1wbGUsIHRy
YWNrSUQpKTsgfQpAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHZvaWQgc2V0QXNEaXNwbGF5SW1tZWRpYXRlbHkoTWVkaWFTYW1wbGUmKTsKICAgICBz
dGF0aWMgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBjbG9uZVNhbXBsZUJ1ZmZlckFuZFNl
dEFzRGlzcGxheUltbWVkaWF0ZWx5KENNU2FtcGxlQnVmZmVyUmVmKTsKIAotICAgIFJlZlB0cjxK
U0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEpTQzo6VWludDhDbGFtcGVkQXJyYXk+IGdldFJH
QkFJbWFnZURhdGEoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIE1lZGlhVGltZSBwcmVzZW50YXRp
b25UaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTWVkaWFUaW1lIGRlY29kZVRpbWUoKSBjb25z
dCBvdmVycmlkZTsKQEAgLTU5LDE2ICs1OSwxNiBAQCBwdWJsaWM6CiAgICAgU2FtcGxlRmxhZ3Mg
ZmxhZ3MoKSBjb25zdCBvdmVycmlkZTsKICAgICBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBs
ZSgpIG92ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9uYWw8Qnl0ZVJhbmdlPiBieXRlUmFuZ2UoKSBj
b25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlk
ZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2b2lkIG9mZnNldFRpbWVzdGFtcHNCeShjb25zdCBNZWRpYVRpbWUmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHNldFRpbWVzdGFtcHMoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVk
aWFUaW1lJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRl
OwotICAgIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+
PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVzZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBv
dmVycmlkZTsKLSAgICBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0RpdmlzYWJsZSgpIGNv
bnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFT
YW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVz
ZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBS
ZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7
CiAKICAgICBWaWRlb1JvdGF0aW9uIHZpZGVvUm90YXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBtX3JvdGF0aW9uOyB9CiAgICAgYm9vbCB2aWRlb01pcnJvcmVkKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV9taXJyb3JlZDsgfQotICAgIHVpbnQzMl90IHZpZGVvUGl4ZWxGb3JtYXQo
KSBjb25zdCBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB1aW50MzJfdCB2aWRlb1BpeGVsRm9y
bWF0KCkgY29uc3QgZmluYWw7CiAKICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIo
KSBjb25zdCB7IHJldHVybiBtX3NhbXBsZS5nZXQoKTsgfQogCkBAIC03NywzNSArNzcsMTggQEAg
cHVibGljOgogCiAgICAgdm9pZCBzZXRCeXRlUmFuZ2VPZmZzZXQoc2l6ZV90KTsKIAorICAgIGJv
b2wgaXNNZWRpYVNhbXBsZUFWRk9iakMoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlO30KKwog
cHJvdGVjdGVkOgotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZm
ZXJSZWY+JiYgc2FtcGxlKQotICAgICAgICA6IG1fc2FtcGxlKFdURk1vdmUoc2FtcGxlKSkKLSAg
ICB7Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1w
bGUpCi0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFT
YW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lE
KQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAgICAgLCBtX2lkKHRyYWNrSUQpCi0g
ICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2Ft
cGxlLCB1aW50NjRfdCB0cmFja0lEKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAg
ICAgLCBtX2lkKEF0b21TdHJpbmc6Om51bWJlcih0cmFja0lEKSkKLSAgICB7Ci0gICAgfQotICAg
IE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIFZpZGVvUm90YXRp
b24gcm90YXRpb24sIGJvb2wgbWlycm9yZWQpCi0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQot
ICAgICAgICAsIG1fcm90YXRpb24ocm90YXRpb24pCi0gICAgICAgICwgbV9taXJyb3JlZChtaXJy
b3JlZCkKLSAgICB7Ci0gICAgfQorICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2Jq
QyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIE1l
ZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZik7CisgICAgV0VCQ09SRV9FWFBPUlQg
TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmLCBBdG9tU3RyaW5nIHRyYWNrSUQp
OworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJl
ZiwgdWludDY0X3QgdHJhY2tJRCk7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZP
YmpDKENNU2FtcGxlQnVmZmVyUmVmLCBWaWRlb1JvdGF0aW9uLCBib29sIG1pcnJvcmVkKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5NZWRpYVNhbXBsZUFWRk9iakMoKTsKIAogICAgIHN0
ZDo6b3B0aW9uYWw8TWVkaWFTYW1wbGU6OkJ5dGVSYW5nZT4gYnl0ZVJhbmdlRm9yQXR0YWNobWVu
dChDRlN0cmluZ1JlZiBrZXkpIGNvbnN0OwogCi0gICAgdmlydHVhbCB+TWVkaWFTYW1wbGVBVkZP
YmpDKCkgPSBkZWZhdWx0OwogICAgIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gbV9zYW1w
bGU7CiAgICAgQXRvbVN0cmluZyBtX2lkOwogICAgIFZpZGVvUm90YXRpb24gbV9yb3RhdGlvbiB7
IFZpZGVvUm90YXRpb246Ok5vbmUgfTsKQEAgLTExNCwzICs5Nyw2IEBAIHByb3RlY3RlZDoKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdl
YkNvcmU6Ok1lZGlhU2FtcGxlQVZGT2JqQykKK3N0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJD
b3JlOjpNZWRpYVNhbXBsZSYgc2FtcGxlKSB7IHJldHVybiBzYW1wbGUuaXNNZWRpYVNhbXBsZUFW
Rk9iakMoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1w
bGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tCmluZGV4IGMwZjEzZDZlYTVjOTc1NzY3Y2U4
ZjYyYWI2ODQyZDdkNmYwZmJiNmIuLmNmM2MzNDEwYTM4YWRlYzQ5NTdjOTcxNDJiMzI0MjI0ZDVh
ZmQ4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0K
QEAgLTQ1LDYgKzQ1LDMzIEBAIHN0cnVjdCBXVEY6OkNGVHlwZVRyYWl0PENNU2FtcGxlQnVmZmVy
UmVmPiB7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRp
YVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmIHNhbXBsZSkKKyAg
ICA6IG1fc2FtcGxlKFdURk1vdmUoc2FtcGxlKSkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6
TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSkKKyAgICA6IG1fc2Ft
cGxlKHNhbXBsZSkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpD
KENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lEKQorICAgIDogbV9z
YW1wbGUoc2FtcGxlKQorICAgICwgbV9pZCh0cmFja0lEKQoreworfQorTWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCB1aW50NjRf
dCB0cmFja0lEKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9pZChBdG9tU3RyaW5n
OjpudW1iZXIodHJhY2tJRCkpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxl
QVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIFZpZGVvUm90YXRpb24gcm90YXRpb24s
IGJvb2wgbWlycm9yZWQpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCisgICAgLCBtX3JvdGF0aW9u
KHJvdGF0aW9uKQorICAgICwgbV9taXJyb3JlZChtaXJyb3JlZCkKK3sKK30KKworTWVkaWFTYW1w
bGVBVkZPYmpDOjp+TWVkaWFTYW1wbGVBVkZPYmpDKCkgPSBkZWZhdWx0OworCiBSZWZQdHI8TWVk
aWFTYW1wbGVBVkZPYmpDPiBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUltYWdlU2FtcGxlKFBp
eGVsQnVmZmVyJiYgcGl4ZWxCdWZmZXIpCiB7CiAgICAgYXV0byBzaXplID0gcGl4ZWxCdWZmZXIu
c2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCmluZGV4IDhl
ZWYzYjJlYTYwNGJkMTk4M2Q3N2QzOGJmNTIxYThkMjFmMjBlZDAuLmQxYzg0NDg4MzY3NDBmZGI3
NWM0MGFjOTNmN2RkMDlkNzhmMDMwMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lv
blNlc3Npb24ubW0KQEAgLTMxLDEwICszMSwxMCBAQAogI2ltcG9ydCA8Q29yZU1lZGlhL0NNQnVm
ZmVyUXVldWUuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERlc2NyaXB0aW9uLmg+CiAj
aW1wb3J0IDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgotI2ltcG9y
dCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5o
PgogI2ltcG9ydCA8d3RmL01lZGlhVGltZS5oPgogI2ltcG9ydCA8d3RmL01vbm90b25pY1RpbWUu
aD4KKyNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJl
YW0uaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi9XVEZTZW1hcGhvcmUu
aD4KQEAgLTQyLDYgKzQyLDcgQEAKIAogI2ltcG9ydCAiQ29yZVZpZGVvU29mdExpbmsuaCIKICNp
bXBvcnQgIlZpZGVvVG9vbGJveFNvZnRMaW5rLmgiCisjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaD4KIAogLy8gRXF1aXZhbGVudCB0byBXVEZfREVDTEFSRV9DRl9UWVBFX1RSQUlU
KENNU2FtcGxlQnVmZmVyKTsKIC8vIE5lZWRlZCBkdWUgdG8gcmVxdWlyZW1lbnQgb2Ygc3BlY2lm
eWluZyB0aGUgUEFMIG5hbWVzcGFjZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCmlu
ZGV4IGZlY2U4MTI5YmQ3ZjdmZGVkNmE4MDRiYTUyZjc5NTI2MWZlNjVkMzAuLjg3MTA0ZDhiN2Iz
NTdjMTYwYjZkY2NjNDFiZmUxZjg5ZTBhNmMyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVz
Q29jb2EuaApAQCAtMzQsNyArMzQsOCBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBvcGFxdWVDTUZv
cm1hdERlc2NyaXB0aW9uKiBDTUZvcm1hdERlc2NyaXB0aW9uUmVmOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWJvb2wgaXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9S
VCBib29sIGlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBy
ZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOwogUmV0YWluUHRyPENNRm9ybWF0RGVzY3Jp
cHRpb25SZWY+IGNyZWF0ZVZvcmJpc0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oc2l6ZV90LCBjb25z
dCB2b2lkKik7CiAKIHN0cnVjdCBPcHVzQ29va2llQ29udGVudHMgewpAQCAtNTIsNyArNTMsOCBA
QCBzdHJ1Y3QgT3B1c0Nvb2tpZUNvbnRlbnRzIHsKICAgICBib29sIGhhc1BhZGRpbmcgeyBmYWxz
ZSB9OwogfTsKIAotYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9S
VCBib29sIGlzT3B1c0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcmVn
aXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CiBib29sIHBhcnNlT3B1c1ByaXZhdGVEYXRhKHNp
emVfdCBwcml2YXRlRGF0YVNpemUsIGNvbnN0IHZvaWQqIHByaXZhdGVEYXRhLCBzaXplX3QgZnJh
bWVEYXRhU2l6ZSwgY29uc3Qgdm9pZCogZnJhbWVEYXRhLCBPcHVzQ29va2llQ29udGVudHMmKTsK
IFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVPcHVzQXVkaW9Gb3JtYXRE
ZXNjcmlwdGlvbihjb25zdCBPcHVzQ29va2llQ29udGVudHMmKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29j
b2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5tbQppbmRleCAwNmJkNDhhZTBkM2Q2OTEyNTBiOGEyNzU3ZDAyNTZkNDQ4
NTlmY2M0Li4wZTFlYjFiNzk4YTNjN2VhNjdlYWI3NWJhMzZlNTg1YWRkOGMxMGEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGls
aXRpZXNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbQpAQCAtMzIsMjIgKzMyLDI4IEBACiAjaW1wb3J0
ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJNZWRpYVV0aWxpdGllcy5oIgogI2ltcG9ydCAiUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCisjaW1wb3J0IDxBdWRpb1Rvb2xib3gvQXVkaW9Db2Rl
Yy5oPgogI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvQ29tcG9uZW50Lmg+CiAjaW1wb3J0IDxB
dWRpb1Rvb2xib3gvQXVkaW9Gb3JtYXQuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERl
c2NyaXB0aW9uLmg+CiAjaW1wb3J0IDxkbGZjbi5oPgogI2ltcG9ydCA8d3RmL0ZsaXBCeXRlcy5o
PgogI2ltcG9ydCA8d3RmL1NlY29uZHMuaD4KLQogI2lmIEVOQUJMRShPUFVTKQogI2ltcG9ydCA8
bGlid2VicnRjL29wdXNfZGVmaW5lcy5oPgogI2VuZGlmCisjaW1wb3J0IDxwYWwvY2YvQXVkaW9U
b29sYm94U29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgRU5BQkxFKFZP
UkJJUykgfHwgRU5BQkxFKE9QVVMpCiBzdGF0aWMgYm9vbCByZWdpc3RlckRlY29kZXJGYWN0b3J5
KGNvbnN0IGNoYXIqIGRlY29kZXJOYW1lLCBPU1R5cGUgZGVjb2RlclR5cGUpCiB7CisgICAgQXVk
aW9Db21wb25lbnREZXNjcmlwdGlvbiBkZXNjIHsga0F1ZGlvRGVjb2RlckNvbXBvbmVudFR5cGUs
IGRlY29kZXJUeXBlLCAnYXBwbCcsIGtBdWRpb0NvbXBvbmVudEZsYWdfU2FuZGJveFNhZmUsIDAg
fTsKKyAgICBBdWRpb0NvbXBvbmVudCBjb21wID0gUEFMOjpBdWRpb0NvbXBvbmVudEZpbmROZXh0
KDAsICZkZXNjKTsKKyAgICBpZiAoY29tcCkKKyAgICAgICAgcmV0dXJuIHRydWU7IC8vIEFscmVh
ZHkgcmVnaXN0ZXJlZC4KKwogICAgIGNvbnN0ZXhwciBjaGFyIGF1ZGlvQ29tcG9uZW50c0R5bGli
W10gPSAiL1N5c3RlbS9MaWJyYXJ5L0NvbXBvbmVudHMvQXVkaW9Db2RlY3MuY29tcG9uZW50L0Nv
bnRlbnRzL01hY09TL0F1ZGlvQ29kZWNzIjsKICAgICB2b2lkICpoYW5kbGUgPSBkbG9wZW4oYXVk
aW9Db21wb25lbnRzRHlsaWIsIFJUTERfTEFaWSB8IFJUTERfTE9DQUwpOwogICAgIGlmICghaGFu
ZGxlKQpAQCAtNTcsNyArNjMsNiBAQCBzdGF0aWMgYm9vbCByZWdpc3RlckRlY29kZXJGYWN0b3J5
KGNvbnN0IGNoYXIqIGRlY29kZXJOYW1lLCBPU1R5cGUgZGVjb2RlclR5cGUpCiAgICAgaWYgKCFk
ZWNvZGVyRmFjdG9yeSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgQXVkaW9Db21wb25l
bnREZXNjcmlwdGlvbiBkZXNjIHsgJ2FkZWMnLCBkZWNvZGVyVHlwZSwgJ2FwcGwnLCBrQXVkaW9D
b21wb25lbnRGbGFnX1NhbmRib3hTYWZlLCAwIH07CiAgICAgaWYgKCFBdWRpb0NvbXBvbmVudFJl
Z2lzdGVyKCZkZXNjLCBDRlNUUigiIiksIDAsIGRlY29kZXJGYWN0b3J5KSkgewogICAgICAgICBk
bGNsb3NlKGhhbmRsZSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTcxLDcgKzc2LDcgQEAg
c3RhdGljIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVBdWRpb0Zvcm1h
dERlc2NyaXB0aW9uRm9yRm9ybWF0KE8KICAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24g
YXNiZCB7IH07CiAgICAgYXNiZC5tRm9ybWF0SUQgPSBmb3JtYXRJRDsKICAgICB1aW50MzJfdCBz
aXplID0gc2l6ZW9mKGFzYmQpOwotICAgIGF1dG8gZXJyb3IgPSBBdWRpb0Zvcm1hdEdldFByb3Bl
cnR5KGtBdWRpb0Zvcm1hdFByb3BlcnR5X0Zvcm1hdEluZm8sIG1hZ2ljQ29va2llLnNpemUoKSwg
bWFnaWNDb29raWUuZGF0YSgpLCAmc2l6ZSwgJmFzYmQpOworICAgIGF1dG8gZXJyb3IgPSBQQUw6
OkF1ZGlvRm9ybWF0R2V0UHJvcGVydHkoa0F1ZGlvRm9ybWF0UHJvcGVydHlfRm9ybWF0SW5mbywg
bWFnaWNDb29raWUuc2l6ZSgpLCBtYWdpY0Nvb2tpZS5kYXRhKCksICZzaXplLCAmYXNiZCk7CiAg
ICAgaWYgKGVycm9yKSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAiY3JlYXRl
QXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCBmYWlsZWQgd2l0aCBlcnJvciAlZCAoJS40
cykiLCBlcnJvciwgKGNoYXIgKikmZXJyb3IpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAg
LTMyNiwxOSArMzMxLDMwIEBAIHN0YXRpYyBWZWN0b3I8dWludDhfdD4gY29va2llRnJvbU9wdXND
b29raWVDb250ZW50cyhjb25zdCBPcHVzQ29va2llQ29udGVudHMmIGNvCiAKIGJvb2wgaXNPcHVz
RGVjb2RlckF2YWlsYWJsZSgpCiB7Ci0gICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwotCiAjaWYg
RU5BQkxFKE9QVVMpICYmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIVBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6b3B1c0RlY29kZXJFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAorICAgIHJldHVybiByZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgcmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVl
ZGVkKCkKK3sKKyNpZiBFTkFCTEUoT1BVUykgJiYgUExBVEZPUk0oTUFDKQorICAgIHN0YXRpYyBi
b29sIGF2YWlsYWJsZTsKKwogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOwog
ICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKLSAgICAgICAgYXZhaWxhYmxlID0gcmVn
aXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNPcHVzRGVjb2RlckZhY3RvcnkiLCAnb3B1cycpOworICAg
ICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJBQ09wdXNEZWNvZGVyRmFj
dG9yeSIsIGtBdWRpb0Zvcm1hdE9wdXMpOwogICAgIH0pOwotI2VuZGlmCiAKICAgICByZXR1cm4g
YXZhaWxhYmxlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogUmV0YWlu
UHRyPENNRm9ybWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZU9wdXNBdWRpb0Zvcm1hdERlc2NyaXB0
aW9uKGNvbnN0IE9wdXNDb29raWVDb250ZW50cyYgY29va2llQ29udGVudHMpCkBAIC00MTgsMTkg
KzQzNCwzMCBAQCBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZyb21Wb3JiaXNDb2RlY1By
aXZhdGUoc2l6ZV90IGNvZGVjUHJpdmF0ZVNpemUsIGNvbgogCiBib29sIGlzVm9yYmlzRGVjb2Rl
ckF2YWlsYWJsZSgpCiB7Ci0gICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwotCiAjaWYgRU5BQkxF
KFZPUkJJUykgJiYgUExBVEZPUk0oTUFDKQogICAgIGlmICghUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjp2b3JiaXNEZWNvZGVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
KyAgICByZXR1cm4gcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZO
ZWVkZWQoKQoreworI2lmIEVOQUJMRShWT1JCSVMpICYmIFBMQVRGT1JNKE1BQykKKyAgICBzdGF0
aWMgYm9vbCBhdmFpbGFibGU7CisKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tl
bjsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CiAgICAgICAgIGF2YWlsYWJsZSA9
IHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDVm9yYmlzRGVjb2RlckZhY3RvcnkiLCAndm9yYicp
OwogICAgIH0pOwotI2VuZGlmCiAKICAgICByZXR1cm4gYXZhaWxhYmxlOworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogUmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25S
ZWY+IGNyZWF0ZVZvcmJpc0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oc2l6ZV90IHByaXZhdGVEYXRh
U2l6ZSwgY29uc3Qgdm9pZCogcHJpdmF0ZURhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0IGIvU291cmNlL1dlYktpdC9GZWF0
dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdAppbmRleCBhZTRlZTQ1N2EyMTMxMzM4ZjZh
NWI3NWVkNzVmNjM2ZjNhMGY1MjYwLi5lMjFiMDIzYjE0MjMwODcyM2M1OTdjMGYxY2Y5N2ExOGEz
MjY3YjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBw
bGV0dm9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBs
ZXR2b3MucGxpc3QKQEAgLTIsOTUgKzIsMTAwIEBACiA8IURPQ1RZUEUgcGxpc3QgUFVCTElDICIt
Ly9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1By
b3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlzdCB2ZXJzaW9uPSIxLjAiPgogPGRpY3Q+Ci0gICAg
PGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+Ci0gICAgPGRpY3Q+
Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0
PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0
PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8
a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNv
ZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8a2V5
PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVD
b21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgICAgICA8a2V5PkF0dHJpYnV0
ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwv
a2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5zd192cDlfZGVj
b2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PnZwOV9kZWNvZGVy
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViR1BVPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1fZm9ybWF0
X3JlYWRlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1fcGFyc2VyPC9rZXk+Ci0g
ICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAg
PC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5Pgor
CTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5
PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0Pgor
CQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGlj
dD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nf
bWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJ
PGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tl
eT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dl
YmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwv
ZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVu
YWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0
PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwv
ZGljdD4KKwk8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+aW5jcmVtZW50YWxfcGRm
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0
PgorCTxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT52cDlfZGVjb2Rlcjwv
a2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4K
Kwk8a2V5PldlYkdQVTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJYUjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8
L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+
CisJPGtleT53ZWJtX3BhcnNlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4K
KwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+UkJfZnVs
bF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8dHJ1ZS8+CisJPC9kaWN0PgogPC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Zl
YXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0CmluZGV4IDYyMWM5MjE2NmM4OTJjYjU0MWNmYTc2
YjYyMzgxNTY2OGExZWMyNzcuLmI4ZTVlMDljZjg5YjYwYzA4MmU2M2FhZWI1ZGY3MGQ5OTFhMzIw
MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxp
c3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdApAQCAt
Miw5NSArMiwxMDAgQEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJ
U1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5k
dGQiPgogPHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1l
X2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5F
bmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVf
cHJvY2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwv
a2V5PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+
Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAg
PGtleT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAg
IDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8
a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5
PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0g
ICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJv
Y2Vzc193ZWJydGM8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAg
IDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAg
IDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PkluQXBwQnJv
d3NlclByaXZhY3k8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+aW5jcmVtZW50YWxfcGRm
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZh
bHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT52cDlfZGVjb2Rlcjwva2V5PgotICAgIDxkaWN0
PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGlj
dD4KLSAgICA8a2V5PldlYkdQVTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJYUjwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZh
bHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX3BhcnNlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAg
ICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8
a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KKwk8a2V5PmFz
eW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19jYW52
YXNfcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1
ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBs
ZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJv
Y2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+CisJPGRp
Y3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwv
a2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJ
CTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgorCTxkaWN0
PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVf
cHJvY2Vzc193ZWJydGM8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0
cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29t
cGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PkluQXBw
QnJvd3NlclByaXZhY3k8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxm
YWxzZS8+CisJPC9kaWN0PgorCTxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+c3dfdnA5X2Rl
Y29kZXJfb25fYmF0dGVyeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT52cDlfZGVjb2Rlcjwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PldlYkdQVTwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJ
PGtleT5XZWJYUjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNl
Lz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNl
cjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGlj
dD4KKwk8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9r
ZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2Ft
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0
PgogPC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZs
YWdzL1dlYktpdC1tYWNvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktp
dC1tYWNvcy5wbGlzdAppbmRleCA2MjFjOTIxNjZjODkyY2I1NDFjZmE3NmI2MjM4MTU2NjhhMWVj
Mjc3Li5iOGU1ZTA5Y2Y4OWI2MGMwODJlNjNhYWViNWRmNzBkOTkxYTMyMDE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3QKKysrIGIvU291
cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0CkBAIC0yLDk1ICsyLDEw
MCBAQAogPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VO
IiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CiA8cGxp
c3QgdmVyc2lvbj0iMS4wIj4KIDxkaWN0PgotICAgIDxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJm
bG93X3Njcm9sbGluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2Nh
bnZhc19yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9r
ZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAg
ICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAg
ICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9w
cm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFi
bGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3By
b2Nlc3NfbWVkaWE8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAg
IDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAg
IDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9j
ZXNzX3dlYmdsPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0
Yzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0g
ICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgot
ICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFj
eTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PnZwOV9kZWNvZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAg
IDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxr
ZXk+V2ViR1BVPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PndlYm1fcGFyc2VyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVs
bF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVf
YW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tl
eT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJp
bmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtl
eT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4K
KwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9y
ZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+
CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxk
aWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0Pgor
CTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+
RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dl
YnJ0Yzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8
a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5
PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93c2VyUHJp
dmFjeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8
L2RpY3Q+CisJPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rlcl9vbl9i
YXR0ZXJ5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgor
CTwvZGljdD4KKwk8a2V5PnZwOV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PldlYlhS
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGlj
dD4KKwk8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+
d2VibV93ZWJhdWRpbzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8L2RpY3Q+
CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0
LXdhdGNob3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hv
cy5wbGlzdAppbmRleCBhZTRlZTQ1N2EyMTMxMzM4ZjZhNWI3NWVkNzVmNjM2ZjNhMGY1MjYwLi5l
MjFiMDIzYjE0MjMwODcyM2M1OTdjMGYxY2Y5N2ExOGEzMjY3YjU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdApAQCAtMiw5NSArMiwxMDAg
QEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIg
Imh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgogPHBsaXN0
IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxv
d19zY3JvbGxpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19jYW52
YXNfcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5
PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAg
ICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAg
ICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJv
Y2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9j
ZXNzX21lZGlhPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8
ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8
dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vz
c193ZWJnbDwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8
L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxm
YWxzZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAg
ICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0g
ICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+dnA5X2RlY29kZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAg
PGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5XZWJHUFU8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0g
ICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViWFI8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+d2VibV9wYXJzZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFi
bGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5SQl9mdWxs
X21hbmFnZV9XS19qZXRzYW08L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+CisJPGtleT5hc3luY19mcmFtZV9h
bmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5
PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmlu
Zzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5
PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5Pgor
CQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3Jl
bmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4K
Kwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRp
Y3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJ
PC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2Vi
cnRjPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCQk8
a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5
PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93c2VyUHJp
dmFjeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8
L2RpY3Q+CisJPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rlcl9vbl9i
YXR0ZXJ5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgor
CTwvZGljdD4KKwk8a2V5PnZwOV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PldlYlhS
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGlj
dD4KKwk8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+
d2VibV93ZWJhdWRpbzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8L2RpY3Q+
CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCmluZGV4IDQ0
YmE4ODU1NTlmMTFiMTJiOGE4NTFkNzY5OTEzMjlkM2IxOWZmMjguLjVhNDlmZWYwODk0ODMyMWY3
MGNjY2Y5NjY4NWE2NTcyNGE5MGEyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5jcHAKQEAgLTQ1MSw3ICs0NTEsNyBAQCB2b2lkIEdQVVByb2Nlc3M6OmVuYWJsZVZQOURl
Y29kZXJzKGJvb2wgc2hvdWxkRW5hYmxlVlA4RGVjb2RlciwgYm9vbCBzaG91bGRFbmFibAogfQog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCiB2b2lkIEdQVVByb2Nlc3M6OnNldFdlYk1QYXJzZXJFbmFibGVk
KGJvb2wgZW5hYmxlZCkKIHsKICAgICBpZiAobV93ZWJNUGFyc2VyRW5hYmxlZCA9PSBlbmFibGVk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKaW5kZXggNDljM2Q3NzFiZjE3NGQ4
ZjlmZGNjOGQyNDFiMzEwNzZiMGM1YjZhZi4uNTZkYmZlNDdjMjc4Y2JlZjRkZDU5OTlkNTU3Yzhi
ODU2NWJjNjJjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCkBAIC0xNDEs
NyArMTQxLDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBhZGRpdGlv
bmFsU3RhdGVGb3JEaWFnbm9zdGljUmVwb3J0KCkgY29uc3QgZmluYWw7CiAjZW5kaWYKIAotI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKICAgICB2b2lkIHNldFdlYk1QYXJzZXJFbmFibGVkKGJvb2wpOwogI2VuZGlmCiAKQEAg
LTE5NCw3ICsxOTQsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9lbmFibGVWUDlEZWNvZGVyIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fZW5hYmxlVlA5U1dEZWNvZGVyIHsgZmFsc2UgfTsKICNlbmRp
ZgotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKICAgICBib29sIG1fd2ViTVBhcnNlckVuYWJsZWQgeyBmYWxzZSB9OwogI2Vu
ZGlmCiAjaWYgRU5BQkxFKFdFQk1fRk9STUFUX1JFQURFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNjkxZGE3OGQyY2Y5MzI4ZWE3
OWUyNGMyZDY0NjIwMDM2YjVlNDI0OS4uNGYwMTk2NTQzYTNkMDU4ZTAxNmMzOTY2ZWRhMTY0N2Zh
NjFiYmIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3Mu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVz
c2FnZXMuaW4KQEAgLTUxLDcgKzUxLDcgQEAgbWVzc2FnZXMgLT4gR1BVUHJvY2VzcyBMZWdhY3lS
ZWNlaXZlciB7CiAgICAgRGlzcGxheUNvbmZpZ3VyYXRpb25DaGFuZ2VkKENHRGlyZWN0RGlzcGxh
eUlEIGRpc3BsYXlJRCwgQ0dEaXNwbGF5Q2hhbmdlU3VtbWFyeUZsYWdzIGZsYWdzKQogI2VuZGlm
CiAKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCiAgICAgU2V0V2ViTVBhcnNlckVuYWJsZWQoYm9vbCBlbmFibGVkKTsKICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0Rl
ZmF1bHRWYWx1ZXMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZh
dWx0VmFsdWVzLmNwcAppbmRleCAzMjEyZTdhZTEwMTk1NTI2Nzg3ZmViOWQzNjBjZjYwNGZjODMz
ZmI3Li4xYWZlNzY1MDc4Y2VmNTEzNGM4OWY1YjRmZGZiZTYxNmIyZmNlYTIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAK
QEAgLTMyOCw2ICszMjgsMTUgQEAgYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKQogICAg
IHJldHVybiB0cnVlOwogfQogCitib29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCkKK3sK
KyNpZiBIQVZFKFNZU1RFTV9GRUFUVVJFX0ZMQUdTKQorICAgIHJldHVybiBpc0ZlYXR1cmVGbGFn
RW5hYmxlZCgid2VibV93ZWJhdWRpbyIpOworI2VuZGlmCisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU09VUkNFKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVs
dFZhbHVlcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLmgKaW5kZXggOTAyNDdlOGMxZDEyMmNhNmZhNWQ4N2U2ZmZkNmI3Mjc5NjM3M2Q1NS4uMjlh
NDAxZDdhNDNmOTQzYWM4ZjRhMDcyODM4ZDczNWVlNjk2OGE2ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTExMSw2ICsx
MTEsNyBAQCBib29sIGRlZmF1bHRWUDlTV0RlY29kZXJFbmFibGVkT25CYXR0ZXJ5KCk7CiAKICNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQogYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKTsK
K2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKTsKICNlbmRpZgogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Byb3h5Q29jb2EubW0KaW5kZXggZWY1NTE4YWFkYjAyZDViZjVjYmYxNjdlMTI0MDdl
ZTkwNzQ3MTVlNy4uZWIyY2Q4MjZkMzczYWU1YWQ5ODM0MDM1OGJkOWNmYWIyOGRiNGMzZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5
Q29jb2EubW0KQEAgLTM4LDYgKzM4LDcgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5o
IgogI2ltcG9ydCAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFw
cGxpY2F0aW9uQ2hlY2tzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1dlYk1BdWRpb1V0aWxpdGllc0Nv
Y29hLmg+CiAjaW1wb3J0IDxzeXMvc3lzY3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29wZS5oPgpAQCAtMjk1LDYgKzI5Niw5IEBAIHZvaWQgV2Vi
UHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKCkKIAogICAgIGRp
c3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJ
T1JJVFlfREVGQVVMVCwgMCksIFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldICgpIG11
dGFibGUgewogICAgICAgICBDRkRhdGFSZWYgcmVnaXN0cmF0aW9ucyB7IG51bGxwdHIgfTsKKwor
ICAgICAgICBXZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyAgICAgICAg
V2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKICAgICAgICAgaWYgKG5v
RXJyICE9IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zKCZyZWdpc3RyYXRp
b25zKSB8fCAhcmVnaXN0cmF0aW9ucykKICAgICAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLmgKaW5kZXggYTU5Mjk3YWYzZmRhNTVjZjUzZDlkOTA4MWFiOTk3YzRmN2Jl
NTQ5Yy4uNzFhY2Q4MDg4NjgzNTlmZTE2ODFiNzA0ZGE1ZWE1MDc5ZTM2NDk2MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzRGVmYXVsdFZhbHVlcy5oCkBAIC04Nyw2ICs4Nyw3IEBAIGJvb2wgZGVmYXVsdFdoZWVsRXZl
bnRHZXN0dXJlc0JlY29tZU5vbkJsb2NraW5nKCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNF
KQogYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKTsKK2Jvb2wgZGVmYXVsdFdlYk1XZWJB
dWRpb0VuYWJsZWQoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFZQOSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVz
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1
bHRWYWx1ZXMubW0KaW5kZXggMzUyZmRjNWUxOGFmMmM1OGI0MmZlNGUwZTdjZjY3MzcxZDY4Y2U2
Yy4uMTZjNTk3MjI5MTk3MWYxOTkxYzQwYWVhODFkMGZmYmQ2ZjY1OWQzYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1
ZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMubW0KQEAgLTI5OCw2ICsyOTgsMTUgQEAgYm9vbCBkZWZhdWx0V2ViTVBh
cnNlckVuYWJsZWQoKQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIGRlZmF1bHRXZWJNV2Vi
QXVkaW9FbmFibGVkKCkKK3sKKyNpZiBIQVZFKFNZU1RFTV9GRUFUVVJFX0ZMQUdTKQorICAgIHJl
dHVybiBpc0ZlYXR1cmVGbGFnRW5hYmxlZCgid2VibV93ZWJhdWRpbyIpOworI2VuZGlmCisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU09VUkNFKQogCiAj
aWYgRU5BQkxFKFZQOSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwY2U1OTkxODkxYTgzM2MwMDI2NjAxYTQwNzQ1ZTYxZmZm
ZGVlZWM0Li40NmEyMzYxNTAxZTQ0MzFiNmQyMDUwNzAyMjBmNmU5N2JmNzNhMzE0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxl
LmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBv
cnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzEx
MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9uczogT25seSBlbmFibGUgdGVzdCBvbiBtYWNPUyBNb250ZXJleQorICAgICAgICAqIHdlYmF1
ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWw6IGZpeCB3aGl0ZXNwYWNlCisgICAgICAg
ICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9vcHVzLndlYm06IEFk
ZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibTogQWRk
ZWQuCisKIDIwMjEtMDctMjEgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAg
ICAgICAgVXBkYXRlIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgZm9yIGltcG9ydGVkIHcz
YyBJbmRleGVkREIgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggODk3OWIxNzg5MmYyN2YxNGFiZjY5NjRhYTA1YmQ1NDliNDA5YzhiYy4uZGU3MmEx
YzhhNmMxMzFmMGMyNmU0NzYwNzkxNTVkNWJmNzM3N2YyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3NjcsNiArMTc2Nyw3IEBAIHdlYmtpdC5vcmcv
Yi8yMTQxNTUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdp
bi1lbWJlZGRlci1wCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSBtZWRpYS9tZWRpYS1zb3Vy
Y2UvbWVkaWEtc291cmNlLXdlYm0tdm9yYmlzLXBhcnRpYWwuaHRtbCBbIFNraXAgXQogWyBDYXRh
bGluYSBNb2phdmUgQmlnU3VyIF0gbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXdlYm0tb3B1cy1w
YXJ0aWFsLmh0bWwgWyBTa2lwIF0KIFsgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIG1lZGlhL21l
ZGlhLXNvdXJjZS9tZWRpYS13ZWJtLW9wdXMtcGFydGlhbC1hYm9ydC5odG1sIFsgU2tpcCBdCitb
IENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJt
LW9wdXMuaHRtbCBbIFNraXAgXQogCiB3ZWJraXQub3JnL2IvMjE0NDIyIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW9jb250ZXh0
LWludGVyZmFjZS9zdXNwZW5kLWFmdGVyLWNvbnN0cnVjdC5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFz
aWMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0
bWwKaW5kZXggYTMzM2I2NWFhZWY5ZGI2NGVkNTNmY2IwNTYzMWNmYzE1MTQwNTBkMS4uN2YwOGIy
OTA1OTJjYzJmMzQ0ZmE1NjVmYjBkYWE0YjI2NmY4ODI5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sCkBAIC03LDcgKzcsNyBAQAog
PGJvZHk+CiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIkJhc2ljIHRlc3RzIGZvciBkZWNvZGVBdWRp
b0RhdGEgZnVuY3Rpb24uIik7Ci0gICAgCisKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
IAogdmFyIGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7CkBAIC0zNCwxOSArMzQsMTkgQEAg
ZnVuY3Rpb24gcnVuRGVjb2RlVGVzdChpbmRleCkgewogICAgIHZhciByZXF1ZXN0ID0gbmV3IFhN
TEh0dHBSZXF1ZXN0KCk7CiAgICAgcmVxdWVzdC5vcGVuKCJHRVQiLCBkZWNvZGVDYXNlQXJyYXlb
aW5kZXhdLnVybCwgdHJ1ZSk7CiAgICAgcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAiYXJyYXlidWZm
ZXIiOwotICAgIAorCiAgICAgcmVxdWVzdC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAg
Y29udGV4dC5kZWNvZGVBdWRpb0RhdGEocmVxdWVzdC5yZXNwb25zZSwgc3VjY2Vzc0NhbGxiYWNr
LCBlcnJvckNhbGxiYWNrKTsKLSAgICAgICAgCisKICAgICAgICAgZnVuY3Rpb24gc3VjY2Vzc0Nh
bGxiYWNrKCkgewogICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VBcnJheVtpbmRleF0ucmVzdWx0
KQogICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5W2lu
ZGV4XS51cmwgKyAgIiB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJl
Y3RseS4iKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJU
aGUgIiArIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsICsgIiB0ZXN0OiBzdWNjZXNzQ2FsbGJh
Y2sgd2FzIG5vdCBjYWxsZWQuIik7Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgcnVuRGVj
b2RlVGVzdCgrK2luZGV4KTsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBmdW5jdGlv
biBlcnJvckNhbGxiYWNrKCkgewogICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VBcnJheVtpbmRl
eF0ucmVzdWx0KQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoZSAiICsgZGVjb2RlQ2Fz
ZUFycmF5W2luZGV4XS51cmwgKyAiIHRlc3Q6IGVycm9yQ2FsbGJhY2sgd2FzIGNhbGxlZCBpbmNv
cnJlY3RseS4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRp
by1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNv
ZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0YmMwMTA4
ZDQ0Y2Q1ZjQ3NDZmNjk5N2U2MGM1ZTQ3MzU2ZmE0ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgdGhhdCBkZWNvZGluZyBhbiBvcHVzIHdlYm0gZmlsZSBz
dWNjZWVkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBTdWNjZXNzZnVs
bHkgZGVjb2RlZCBjb250ZW50CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1
ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVk
aW8tZGF0YS13ZWJtLW9wdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTc3MjgwMTI3MDBhZjNkNjgyNGUy
MDkwODVmNGRjZWUzNzhjNzBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgZGVjb2RpbmcgYW4gb3B1cyB3ZWJtIGZp
bGUgc3VjY2VlZHMiKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgY29u
dGV4dCA9IG5ldyB3aW5kb3cuQXVkaW9Db250ZXh0KCk7Cit2YXIgcmVxdWVzdCA9IG5ldyBYTUxI
dHRwUmVxdWVzdCgpOworcmVxdWVzdC5vcGVuKCJHRVQiLCAncmVzb3VyY2VzL21lZGlhL29wdXMu
d2VibScsIHRydWUpOworcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAiYXJyYXlidWZmZXIiOworCity
ZXF1ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGNvbnRleHQuZGVjb2RlQXVkaW9EYXRh
KHJlcXVlc3QucmVzcG9uc2UsIChidWZmZXIpID0+IHsKKyAgICAgICAgdGVzdFBhc3NlZCgiU3Vj
Y2Vzc2Z1bGx5IGRlY29kZWQgY29udGVudCIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgIH0sICgpID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiRmFpbGVkIHRvIGRlY29kZSBmaWxl
Iik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgfSk7Cit9CityZXF1ZXN0LnNlbmQo
KTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433995</attachid>
            <date>2021-07-22 00:31:54 -0700</date>
            <delta_ts>2021-07-22 05:06:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210722173152.patch</filename>
            <type>text/plain</type>
            <size>135112</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLjczMzdlYjM2ZTI3NjEzNmNlMWE4MzczMTFjNjkyNTk3ZjEzYzk4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHdlYm1fd2ViYXVkaW8g
cHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3IgbWltZXR5
cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlzYWJsZWQg
YnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8bWFnb21l
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIgdG8gY29u
ZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJvY2Vzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0MTMuLjhm
MzNlN2ZjNWUxY2MyMTQ0MjA3ZGFjZDY3NjA0ZDhhYTU5ZDA1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4gV2ViIEF1
ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4gdGhlIHdl
YiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgZGVj
b2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJlYXNvbnMs
IGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxzIGFyZSBi
bG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1ZGlvIGNv
bXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkgcHJvY2Vz
cyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisgICAgICAg
IFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAg
ICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWlscyBmb3Ig
Vm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11eCB0aGUg
d2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0g
dG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVyYXRlIG92
ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3JtaW5nCisg
ICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRoZXJlIGFy
ZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVuY29kZXIg
ZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGlibGUKKyAg
ICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIu
CisgICAgICAgIC0gSWdub3JpbmcgdGhlIHNhbmRib3hpbmcgaXNzdWUsIFZvcmJpcyBjb250ZW50
IGZhaWwgdG8gZGVjb2RlLgorICAgICAgICAtIFdlIGNhbiBvbmx5IGRlY29kZSBtb25vIGFuZCBz
dGVyZW8gY29udGVudC4gT3B1cyBhbmQgVm9yYmlzIGxldCB5b3UgZGVmaW5lIGEKKyAgICAgICAg
Y3VzdG9tIGNoYW5uZWwgb3JkZXJpbmcsIHRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWQgd2l0aCBh
bWJpc29uaWMgYXVkaW8gKHdpdGggb3B1cyAyNTUgbW9kZSkuCisgICAgICAgIENvcmVNZWRpYSBk
b2Vzbid0IGVhc2lseSBkZWFsIHdpdGggc3VjaCByZS1vcmRlcmluZyBhcyBpdCBhcHBlYXJzIHRv
IGJlIGVzc2VudGlhbGx5CisgICAgICAgIGRlc2lnbmVkIGZvciBhdWRpYmxlIGNvbnRlbnQuIFdp
dGggbW9yZSB0aGFuIDIgY2hhbm5lbHMsIGRlY29kaW5nIHdpbGwgZWl0aGVyIGZhaWwKKyAgICAg
ICAgb3IgcHJvZHVjZSBjaGFubmVscyBpbiB0aGUgd3Jvbmcgb3JkZXIuCisKKyAgICAgICAgVGVz
dDogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKKworICAgICAgICAq
IEhlYWRlcnMuY21ha2U6IEV4cG9ydCBoZWFkZXIgc28gdGhhdCB3ZSBjYW4gcmVnaXN0ZXIgdGhl
IGRlY29kZXIgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBzYW1lIGFzIGFib3ZlLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5
VHlwZSBjb25zdCk6IE1ha2UgY2FuUGxheVR5cGUod2VibS9hdWRpbzsgY29kZWNzPW9wdXMpCisg
ICAgICAgIHdvcmsgaWYgZmVhdHVyZXMgaXMgc2V0LgorICAgICAgICAqIHBhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0V2ViTVdlYkF1ZGlvRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjp3ZWJNV2ViQXVkaW9FbmFibGVkIGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9NZWRpYVNhbXBsZS5oOiBBZGQgbmV3IGlzTWVkaWFTYW1wbGVBVkZPYmpDLCB3aWxsIGJl
IHVzZWQgdG8gYWxsb3cgc2FmZQorICAgICAgICBkb3duY2FzdGluZy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1czo6c2V0
TGVuZ3RoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oOiBBZGQgc2V0TGVu
Z3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhlIHJlcG9ydGVkIGxlbmd0aAorICAgICAgICB3aXRo
b3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmg6IEFkZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0
aGUgcmVwb3J0ZWQKKyAgICAgICAgbGVuZ3RoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlp
bmcgc3RvcmFnZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFk
ZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3Qp
OiBGaXggY2hlY2tlZEludCB1c2UgdG8gY2F0Y2ggcG90ZW50aWFsIG92ZXJmbG93CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6
IEFkZCBjb252ZW5pZW5jZSBjbGFzcyB0aGF0CisgICAgICAgIGZyZWUgd3JhcHBlZCBBdWRpb0J1
ZmZlckxpc3Qgb2JqZWN0IG9uIGV4aXQuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxp
c3RIb2xkZXI6On5BdWRpb0J1ZmZlckxpc3RIb2xkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvciBib29sIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3ItPiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yKiBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OmlzVmFsaWQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjppc01heWJlV2ViTSBjb25zdCk6IE1ldGhvZCB0byBj
aGVjayBpZiB0aGUgYnVmZmVyCisgICAgICAgIGNvbnRhaW5zIFdlYk0gZGF0YS4KKyAgICAgICAg
KFdlYkNvcmU6OnBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2spOiBSZXF1aXJlZCBmb3IgQXVk
aW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlci4KKyAgICAgICAgV2lsbCBmZWVkIHRoZSBkZWNv
ZGVyIHRoZSBkYXRhIHRvIGRlY29kZSwgc3BsaXR0aW5nIHRoZSBtdWx0aXBsZSBwYWNrZXRzIGZv
dW5kCisgICAgICAgIGluIHRoZSBDTVNhbXBsZUJ1ZmZlci4KKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMgY29uc3QpOiBSZXR1cm4gdGhlIHRvdGFsIG51
bWJlciBvZgorICAgICAgICBkZWNvZGVkIGZyYW1lcyBpbiB0aGUgcGFja2V0cy4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQgY29uc3QpOiBDcmVhdGUg
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uCisgICAgICAgIHJlbGF0ZWQgdG8gdGhlIGRlbXV4
ZWQgYXVkaW8gdHJhY2suIG51bGxvcHQgaWYgdW5zdXBwb3J0ZWQgY29udGVudC4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y2xpZW50RGF0YUZvcm1hdCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyk6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmg6CisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmg6IFJlbW92ZSB1bnVzZWQgdHlw
ZWRlZi4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UubW06CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6On5BdWRpb1Nh
bXBsZURhdGFTb3VyY2UpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZQorICAgICAgICBQQUwgc29m
dGxpbmtzCisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnNldHVwQ29u
dmVydGVyKTogRmx5LWJ5IGZpeCwgbWFrZSBpdCB1c2UgUEFMCisgICAgICAgIHNvZnRsaW5rcwor
ICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbTogRmx5
LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L1RyYWNrUHJpdmF0ZUJhc2UuY3BwOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVB
VkZPYmpDLmg6CisgICAgICAgIEZseS1ieSBmaXggcmVxdWlyZWQgYnkgd2Via2l0LXByZXBhcmUg
OiBkb24ndCB0YWcgdGhlIHdob2xlIGNsYXNzIGFzIFdFQkNPUkVfRVhQT1JULgorICAgICAgICBN
b3ZlIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIGZ1bmN0aW9uIGRlZmluaXRpb25zIG91dC1v
Zi1saW5lIHRvIHByZXZlbnQKKyAgICAgICAgbGlua2FnZSBlcnJvcnMuCisgICAgICAgIChpc1R5
cGUpOiBBZGQgdGVtcGxhdGUgc3BlY2lhbGl6YXRpb24gZm9yIHN0YXRpY19yZWZlcmVuY2VfY2Fz
dDxNZWRpYVNhbXBsZUFWRk9iakM+CisgICAgICAgIGFuZCBpczxNZWRpYVNhbXBsZUFWRk9iakM+
IHRvIHdvcmsuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMpOiBNb3ZlIGNvZGUKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06IEZseS1ieSBmaXgs
IGFkZCBtaXNzaW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oOiBFeHBvcnQgc29tZSBzeW1ib2xzLCBhZGQgbmV3Cisg
ICAgICAgIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lz
dGVyRGVjb2RlckZhY3RvcnkpOiBJbnN0ZWFkIG9mIGF0dGVtcHRpbmcgdG8gcmVnaXN0ZXIgdGhl
IGRlY29kZXIKKyAgICAgICAgYnkgZGwtb3BlbmluZyB0aGUgcmVxdWlyZWQgbGlicmFyeSwgZmly
c3QgYXR0ZW1wdGluZyB0byBzZWUgaWYgdGhlIGRlY29kZXIgaXMKKyAgICAgICAgYWxyZWFkeSBh
dmFpbGFibGUuIENhbGxpbmcgQXVkaW9Db21wb25lbnRSZWdpc3RlciBpbiB0aGUgd2ViIGNvbnRl
bnQgcHJvY2VzcworICAgICAgICB3aGVuIHRoZSBHUFUgcHJvY2VzcyBpcyBlbmFibGVkIHdpbGwg
ZmFpbCBkdWUgdG8gc2FuZGJveCBzZXR0aW5ncy4gV2hpY2ggd291bGQKKyAgICAgICAgaW5jb3Jy
ZWN0bHkgcmVwb3J0IHRoZSBjb2RlYyB0byBub3QgYmUgYXZhaWxhYmxlIHdoZW4gaXQgd2FzLgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCk6
CisgICAgICAgIChXZWJDb3JlOjppc09wdXNEZWNvZGVyQXZhaWxhYmxlKTogRmx5LWJ5IGZpeCwg
c2hvdWxkIHRoZSBtZXRob2QgYmUgY2FsbGVkCisgICAgICAgIG9uIG5vbi1tYWMgcGxhdGZvcm0g
aXQgd291bGQgaGF2ZSByZXR1cm4gdGhlIHVuaXRpYWxpemVkIHZhbHVlIG9mIHRoZSBhdmFpbGFi
bGUKKyAgICAgICAgc3RhdGljIHZhcmlhYmxlLgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJP
cHVzRGVjb2RlcklmTmVlZGVkKTogQWRkZWQKKyAgICAgICAgKFdlYkNvcmU6OmlzVm9yYmlzRGVj
b2RlckF2YWlsYWJsZSk6IFNhbWUgYXMgaXNPcHVzRGVjb2RlckF2YWlsYWJsZQorICAgICAgICAo
V2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQpOiBBZGRlZAorCiAyMDIxLTA3
LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQWRkIGxpbmtlZE9uT3JBZnRlciBjaGVjayBmb3IgcjI2OTE2MgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggZjAxOWQzY2UxMjAzZjNmYTEwNGVmOWZhYzRmZmE0MDZhYjkwMmY2MC4uZjJhYWNiYjg0
MDJkMGM0MTYxYTNmNmZiZjk5Mzk0ZjU4Y2M1M2RhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHZhcmlvdXMgQVZGb3VuZGF0aW9uIChBVkF1
ZGlvQ29udmVydGVyKSByZWxhdGVkIG1ldGhvZHMgYW5kCisgICAgICAgIENvcmVNZWRpYSB0byBh
Y2Nlc3MgcmVxdWlyZWQgQ01TYW1wbGVCdWZmZXIgcmVsYXRlZCBtZXRob2RzLgorCisgICAgICAg
ICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsu
aDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06CisKIDIwMjEt
MDctMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI4MDEyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTg3NjI1ODQyNjFiYWE5ZTMyMmU5
YTcwY2Y4ZDJhNmYwN2IwOTA5Ni4uYzM2MmU2NjNlNGNjZGUyZmMzYTc4ZWE0MjJlZmNiMWNhNzdh
NmQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2
ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1
cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZGVmYXVs
dCB2YWx1ZSBmb3Igd2VibV93ZWJhdWRpbyBwcmVmIGZvciB0aGUgZGlmZmVyZW50IHBsYXRmb3Jt
cy4KKyAgICAgICAgRGlzYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgcGxhdGZvcm1zLgorICAgICAg
ICBGbHktYnkgZml4OiBkb24ndCBtYWtlIHdlYm0gcGFyc2VyIGRlcGVuZGVudCBvbiBWUDkgc3Vw
cG9ydC4KKworICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0Ogor
ICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0OgorICAgICAgICAqIEZlYXR1
cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktp
dC13YXRjaG9zLnBsaXN0OgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZGVm
YXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlv
Q29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisKIDIwMjEtMDctMjEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSdW5uaW5nQm9hcmQga2lsbHMgdGhlIG5ldHdvcmsg
cHJvY2VzcyBpZiBpdCBpcyBzdGlsbCBob2xkaW5nIHRoZSAiaG9sZGluZyBsb2NrZWQgZmlsZSIg
YXNzZXJ0aW9uIHVwb24gc3VzcGVuc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRl
eCBjNDJlYmViYTA2N2MxNWQ3ZjVkYzBlOTBhYjNkYjQ1MmU5MjJhNGVkLi5iNDExODY0NGFiZjhi
NmUxMzhlM2U2NDk0NzU0ODA4M2M5OTNkYmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFt
bApAQCAtMTI2MSw2ICsxMjYxLDE4IEBAIFdlYk1QYXJzZXJFbmFibGVkOgogICAgIFdlYktpdDoK
ICAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCkKIAorV2Vi
TVdlYkF1ZGlvRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcworICBodW1hblJlYWRhYmxlTmFtZTogIldlYk0gV2ViIEF1ZGlvIgor
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgV2ViTSBXZWIgQXVkaW8iCisgIGNv
bmRpdGlvbjogRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktp
dExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJs
ZWQoKQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJB
dWRpb0VuYWJsZWQoKQorCiAjIEZJWE1FOiBJcyB0aGlzIGltcGxlbWVudGVkIGZvciBXZWJLaXRM
ZWdhY3k/IElmIG5vdCwgdGhpcyBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBXZWJLaXRMZWdhY3kg
ZW50aXJlbHkuCiBXZWJSVENIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkOgogICB0eXBlOiBi
b29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCAzYjFiYjU1MGY1NjgxYTRmNWRkMjM2MGExNDE4OWE4
ZWNhZDA1N2I5Li45YTYxZWVmZjU0YjdjNjUwMjBhMjhlOTRjNmJlZTNkNTQzYzc0NTlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0hlYWRlcnMuY21ha2UKQEAgLTEzMzUsNiArMTMzNSw4IEBAIHNldChXZWJDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9FeHRlbnNpb25z
R0xBTkdMRS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xB
TkdMRVV0aWxpdGllcy5oCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5oCisKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3QuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dERyYXdHbHlwaHNSZWNvcmRlci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCBmYzA2NjhhNGE5MWFmZTEwYjY1MTU5Y2Ew
ODJlMTgyODFmZDUwMzU3Li4zNGI3ZmM2ODYzYjI1ZDI1MGMzZGQ2MDhiZmQ5MGM5YmJhYmE0NzFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNw
cApAQCAtNDcsMTEgKzQ3LDE0IEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5
RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYgdGhlU291cmNlQnVmZmVyLCBz
aXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgdm9pZCogZGVzdGluYXRpb24p
LCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGRlc3RpbmF0aW9u
KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01C
bG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwgUEFMX0VYUE9SVCkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJs
b2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRo
ZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNl
dCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJ
VEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpLCBQQUxfRVhQT1JUKQog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNv
dXJjZUJ5dGVzLCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zm
c2V0SW50b0Rlc3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVz
dGluYXRpb25CdWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCksIFBBTF9F
WFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENv
cmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldEV4dGVuc2lvbnMsIENGRGljdGlvbmFyeVJl
ZiwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBD
TVNhbXBsZUJ1ZmZlckdldFR5cGVJRCwgQ0ZUeXBlSUQsICh2b2lkKSwgKCksIFBBTF9FWFBPUlQp
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsb2NrQnVmZmVyUmVmLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdl
dEZvcm1hdERlc2NyaXB0aW9uLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmLCAoQ01TYW1wbGVCdWZm
ZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVzY3JpcHRpb25z
U2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBwYWNrZXREZXNj
cmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCBQQUxfRVhQT1JU
KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVk
aWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywgT1NTdGF0dXMsIChDTVNhbXBs
ZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRleCwgQ01TYW1wbGVUaW1pbmdJ
bmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4LCB0aW1pbmdJbmZvT3V0KSwg
UEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFmYzU2ZGJmYjA1
ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLmRjMmQ4ZTBiZTkzNmJiMmRiZmQ1MmFjMmVkY2I1NWM4
ZjI1MTRjMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmgKQEAgLTQ5LDYgKzQ5LDEwIEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcywgT1NTdGF0CiAjZGVmaW5l
IENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVm
ZmVyQ29weURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoLCBzaXplX3QsIChDTUJsb2NrQnVmZmVy
UmVmIHRoZUJ1ZmZlciksICh0aGVCdWZmZXIpKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyR2V0RGF0
YUxlbmd0aCBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgKK1NP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
SXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwg
c2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3Ro
KSkKKyNkZWZpbmUgQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVN
ZWRpYV9DTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMKK1NPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpKQorI2RlZmluZSBDTUJs
b2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZl
ckNyZWF0ZUNvbnRpZ3VvdXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29y
ZU1lZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2
b2lkKiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6
ZV90IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0
ZXMsIGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgp
KQogI2RlZmluZSBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcyBzb2Z0TGlua19Db3JlTWVk
aWFfQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
SEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0RXh0ZW5zaW9ucywg
Q0ZEaWN0aW9uYXJ5UmVmLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2MpKQpA
QCAtNTksNiArNjMsOCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVN
ZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsbwogI2RlZmluZSBDTVNhbXBs
ZUJ1ZmZlckdldERhdGFCdWZmZXIgc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0
RGF0YUJ1ZmZlcgogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEs
IENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24sIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQogI2RlZmluZSBDTVNhbXBsZUJ1
ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZl
ckdldEZvcm1hdERlc2NyaXB0aW9uCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUws
IENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
cywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0RGVzY3JpcHRp
b25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCAoc2J1Ziwg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBwYWNrZXREZXNj
cmlwdGlvbnNTaXplTmVlZGVkT3V0KSkKKyNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0
cmVhbVBhY2tldERlc2NyaXB0aW9ucyBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJH
ZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywg
T1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRl
eCwgQ01TYW1wbGVUaW1pbmdJbmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4
LCB0aW1pbmdJbmZvT3V0KSkKICNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJ
bmZvIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8K
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiksIChzYnVm
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9u
U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29m
dExpbmsuaAppbmRleCBiMzI0MTU5YmUxZWZlN2E1ZTVmZTJiMjY0ZDQxYTZhMGM4NGZkNDliLi43
MDBlOWMzMmM0Y2ZiMWJkYzMwZWNmNDdhMDAwNjMwNzIwNTI2OTBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCkBAIC0zMjQs
NCArMzI0LDExIEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQVZGb3VuZGF0
aW9uLCBBVk91dHB1dENvbnRleHRPdXRwdXREZXZpY2VzRGlkCiAjZGVmaW5lIEFWT3V0cHV0Q29u
dGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24gUEFMOjpnZXRfQVZGb3VuZGF0
aW9uX0FWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24oKQog
I2VuZGlmIC8vIEhBVkUoQVZST1VURVBJQ0tFUlZJRVcpCiAKKyNpZiBQTEFURk9STShDT0NPQSkK
K1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbnZlcnRlcikKK1NPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0Zvcm1hdCkKK1NPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbXByZXNzZWRCdWZmZXIpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9QQ01CdWZmZXIpCisjZW5kaWYgLy8gUExBVEZPUk0o
Q09DT0EpCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggMzdjOGIx
ZmFmZDU4Y2NiYzZlODUwYzZmMzAxMTc2N2M3ZGEzMTY0NS4uNzMzOTg0NWUwNzI2NTgwMWUwNjQw
MzAzYjJlMjkxYTAxMjRlODcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCkBAIC0yMzAsNyArMjMwLDcgQEAgU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9TZXNzaW9uUm91dGUKIAogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRIVFRQQ29va2llc0tl
eSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0UmVxdWly
ZXNDdXN0b21VUkxMb2FkaW5nS2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQotI2VuZGlmCisj
ZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uU2V0
QXV0aG9yaXplZFRvVXNlQ2FtZXJhSW5NdWx0aXBsZUZvcmVncm91bmRBcHBMYXlvdXQsIHZvaWQs
IChBVkNhcHR1cmVTZXNzaW9uICpzZXNzaW9uKSwgKHNlc3Npb24pKQpAQCAtMjQ0LDQgKzI0NCwx
MSBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91
bmRhdGlvbiwgQVZSb3V0ZURldGVjdG9yTXVsdAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERl
dmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24sIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiAjZW5k
aWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9Db252ZXJ0ZXIsIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0Zvcm1hdCwgUEFMX0VYUE9SVCkK
K1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvUENNQnVmZmVy
LCBQQUxfRVhQT1JUKQorI2VuZGlmCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGYwMWI5OTI3ZTNjYzYyMmU5Y2NjMDBiMTFlYjJhMmNkZDAzZjc1MzcuLjRmNDk1N2Y1MGU4ZWI0
NGY2ZjA1ODE5MDcyZGMwYTUxNzNiZTFjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzMiw3ICsyMzIsNyBAQAogCQkwN0VF
NzZFQzFCRTk2REIwMDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RUU3NkVBMUJFOTZEQjAw
MEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAv
KiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUQxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFs
dGltZVZpZGVvU291cmNlTWFjLmggKi87IH07CiAJCTA3RjRFOTMzMjBCMzU4N0YwMDJFMzgwMyAv
KiBBVkFzc2V0TUlNRVR5cGVDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDdDOEFEMTIxRDA3M0Q2MzAwODdDNUNFIC8qIEFWQXNzZXRNSU1FVHlw
ZUNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJMDdGNUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1
ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgfTsKKwkJMDdG
NUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1ODJBNEY4
MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0Y1Q0ZGNjI1ODJBNTI5MDA2NjJFRjUg
LyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGMjI1ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EubW0gKi87IH07CiAJCTA3Rjg3Njg0MUFENTgwRjkwMDkwNTg0OSAvKiBN
ZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDdGODc2ODMxQUQ0QTk0NTAwOTA1ODQ5IC8qIE1lZGlhUGxheWJh
Y2tUYXJnZXRDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDdGOTQ0MTYxODY0RDA0NjAwNUQzMUNCIC8qIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RBRThDMDgxNzQ2Qjk1NzAwNTMyRDc4IC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBhM2IzYTJmMTE1N2MyYjdl
NTAwYjJhMDRlNDY4ZWQ1NmFkMjA0NGJjLi43ZDdjZDJjZTFkZWZiOGMwNTEwM2I0MzgxZGE3NWY3
MGI3MjgzNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAg
LTEwNTUsNyArMTA1NSw3IEBAIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogICAgIC8vIFRlbXBvcmFyaWx5IHdvcmsgYXJv
dW5kIGJ1ZyAyMjY5MjIuIEZvciBub3cgY2xhaW0gdGhhdCB0aGUgb3B1cyBhbmQgdm9yYmlzIGNv
ZGVjcyBhcmVuJ3Qgc3VwcG9ydGVkCiAgICAgLy8gc28gdGhhdCBzaXRlcyByZWx5aW5nIG9uIHRo
aXMgdGVzdCB0byBkZXRlcm1pbmUgaWYgd2ViYXVkaW8gdXNlIG9mIG9wdXMgb3Igdm9yYmlzIHdv
bid0IGVycm9yLgogICAgIGF1dG8gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0gICAg
aWYgKHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYg
KGNvZGVjcy5jb250YWlucygib3B1cyIpIHx8IGNvZGVjcy5jb250YWlucygidm9yYmlzIikpKQor
ICAgIGlmIChzdXBwb3J0ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVk
ICYmICgoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikgJiYgIXdlYk1XZWJBdWRpb0VuYWJsZWQoKSkg
fHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCiAgICAgICAgIHN1cHBvcnQgPSBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZDsKICNlbmRpZgogCkBAIC04MTc1LDYg
KzgxNzUsMTUgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNNZWRpYVN0cmVhbVNvdXJjZSgp
IGNvbnN0CiAjZW5kaWYKIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJNV2ViQXVkaW9F
bmFibGVkKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHJldHVybiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYk1XZWJBdWRpb0VuYWJs
ZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVN0cmVhbUNhcHR1cmVT
dGFydGVkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMTA1
MWMwNTg1M2ZjMDEyZWRkYWNkOGI3NGM5NDVhYmJhYzJkNTMyMC4uZjkyNmVkNjI3MzAxMWQ1MTY0
OGFkZWY1Nzk3ZGJlZGZhNmRiODJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTkzOSw2ICs5MzksOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IExvZ2dlciYgbWVk
aWFQbGF5ZXJMb2dnZXIoKSBmaW5hbCB7IHJldHVybiBsb2dnZXIoKTsgfQogI2VuZGlmCiAKKyAg
ICBib29sIHdlYk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdDsKKwogICAgIFRpbWVyIG1fcHJvZ3Jl
c3NFdmVudFRpbWVyOwogICAgIFRpbWVyIG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFRp
bWVyIG1fc2NhblRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaAppbmRleCBhMGQzY2VhNzlkN2UwYWUwNzQ4MjQwZGQyMmVlZTJkNTU3NTA0NGE2Li42
ODVhMGEyYWQ3NTQ3MjY5OWFlYmYyMTlmYTBjMjUxNTIxYmViMGI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMjM1LDYgKzIzNSw4IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2ViTVBhcnNlckVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJNUGFyc2VyRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQogICAgIGJvb2wgd2ViTVBhcnNlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYk1QYXJz
ZXJFbmFibGVkOyB9CisgICAgdm9pZCBzZXRXZWJNV2ViQXVkaW9FbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fd2ViTVdlYkF1ZGlvRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgd2Vi
TVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVdlYkF1ZGlvRW5hYmxlZDsg
fQogI2VuZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKQEAgLTM3MSw2ICszNzMsNyBAQCBwcml2
YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBib29sIG1fd2ViTVBhcnNlckVu
YWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV93ZWJNV2ViQXVkaW9FbmFibGVkIHsgZmFsc2Ug
fTsKICNlbmRpZgogCiAjaWYgSEFWRShDRUxFU1RJQUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaAppbmRleCA4ZGE2MDM3Nzg4MjQzMzMwYWUyNTBkOWMxMGM3MmVlMDU4OGU3NjBj
Li4wMjU4ZTVlYjRmM2Q2ODgzODE4YjNiNzFlMDljMGY4OTBmMDM0M2Y1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKQEAgLTU3LDcgKzU3LDcgQEAgc3RydWN0IFBsYXRmb3Jt
U2FtcGxlIHsKICAgICB9IHNhbXBsZTsKIH07CiAKLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlh
U2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CitjbGFz
cyBNZWRpYVNhbXBsZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4g
ewogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlKCkgPSBkZWZhdWx0OwogCkBAIC0x
MjUsNiArMTI1LDggQEAgcHVibGljOgogCiAgICAgICAgIHJldHVybiBvYmplY3QtPnRvSlNPTlN0
cmluZygpOwogICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhU2FtcGxlQVZGT2JqQygp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKaW5kZXggMjQzZTEwNmI5
ZTMzZGE5M2RlOWEwY2FkMzNiYzA4ZTkyMDY1MzIwMC4uN2YwM2MzMzFlZTIwMTBjOTg5MjlhMDMy
NGRjYWM5NTVkNjVmOGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9CdXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
QnVzLmNwcApAQCAtNzMsNiArNzMsMTYgQEAgdm9pZCBBdWRpb0J1czo6c2V0Q2hhbm5lbE1lbW9y
eSh1bnNpZ25lZCBjaGFubmVsSW5kZXgsIGZsb2F0KiBzdG9yYWdlLCBzaXplX3QgbGUKICAgICB9
CiB9CiAKK3ZvaWQgQXVkaW9CdXM6OnNldExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKQoreworICAg
IFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IG1f
bGVuZ3RoKTsKKyAgICBpZiAobmV3TGVuZ3RoID09IG1fbGVuZ3RoKQorICAgICAgICByZXR1cm47
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhbm5lbHMuc2l6ZSgpOyArK2kpCisg
ICAgICAgIG1fY2hhbm5lbHNbaV0tPnNldExlbmd0aChuZXdMZW5ndGgpOworICAgIG1fbGVuZ3Ro
ID0gbmV3TGVuZ3RoOworfQorCiB2b2lkIEF1ZGlvQnVzOjp6ZXJvKCkKIHsKICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQwZTgxMTIxMWI0ZGEyY2E4YzY3MGI1OGIz
Mjk2YjM1Y2U2OWNkNGEuLmVhNTg1Yzg0OGVhOTQxMjI3NDAyOWE4ODY3YWI5Y2NhYzcwNzRkNjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtODMsNiArODMs
OSBAQCBwdWJsaWM6CiAgICAgLy8gTnVtYmVyIG9mIHNhbXBsZS1mcmFtZXMKICAgICBzaXplX3Qg
bGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFJlZHVjZSB0aGUg
bnVtYmVyIG9mIGZyYW1lcyBhdmFpbGFibGUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYWxsb2NhdGVk
IG1lbW9yeSBzaXplLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpOworCiAg
ICAgLy8gU2FtcGxlLXJhdGUgOiAwLjAgaWYgdW5rbm93biBvciAiZG9uJ3QgY2FyZSIKICAgICBm
bG9hdCBzYW1wbGVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVSYXRlOyB9CiAgICAgdm9p
ZCBzZXRTYW1wbGVSYXRlKGZsb2F0IHNhbXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxl
UmF0ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9D
aGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApp
bmRleCA5NzViZDBiNWFiZDhmNzI1NWEwNWE3ZGQ3MGY5NjUwYjFkNDk0NjY3Li5jOTc2MTVmMGRh
MTUxYzIzZDQzM2NiNTYwNjdiYjU0Nzk0NjJhMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtNzQsNiArNzQsMTQgQEAgcHVibGljOgogICAg
IC8vIEhvdyBtYW55IHNhbXBsZS1mcmFtZXMgZG8gd2UgY29udGFpbj8KICAgICBzaXplX3QgbGVu
Z3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFNldCBuZXcgbGVuZ3Ro
LiBDYW4gb25seSBiZSBzZXQgdG8gYSB2YWx1ZSBsb3dlciB0aGFuIHRoZSBjdXJyZW50bHkKKyAg
ICAvLyBzZXQgbGVuZ3RoLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCisg
ICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG5l
d0xlbmd0aCA8PSBsZW5ndGgoKSk7CisgICAgICAgIG1fbGVuZ3RoID0gbmV3TGVuZ3RoOworICAg
IH0KKwogICAgIC8vIERpcmVjdCBhY2Nlc3MgdG8gUENNIHNhbXBsZSBkYXRhLiBOb24tY29uc3Qg
YWNjZXNzb3IgY2xlYXJzIHNpbGVudCBmbGFnLgogICAgIGZsb2F0KiBtdXRhYmxlRGF0YSgpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9GaWxlUmVhZGVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCmluZGV4IDVkNTZiOWVlMWEwZDNkNjdhNzljMzA3
NjFkMTM4MTVkN2MwNjQ0Y2UuLjFmMzIwYzM0NWNmNjE1OThmOTk4MjhkZjQ5NGUzMDlhNjc5NjU0
YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
RmlsZVJlYWRlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKQEAgLTM0LDIxICszNCwzNCBAQAogCiAjaW5j
bHVkZSAiQXVkaW9CdXMuaCIKICNpbmNsdWRlICJBdWRpb0ZpbGVSZWFkZXIuaCIKKyNpbmNsdWRl
ICJBdWRpb1NhbXBsZURhdGFTb3VyY2UuaCIKKyNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5o
IgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIkluYmFuZFRleHRUcmFj
a1ByaXZhdGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTYW1wbGVB
VkZPYmpDLmgiCisjaW5jbHVkZSAiVmlkZW9UcmFja1ByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJN
QXVkaW9VdGlsaXRpZXNDb2NvYS5oIgorI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbnZl
cnRlci5oPgogI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9FeHRlbmRlZEF1ZGlvRmlsZS5oPgogI2lu
Y2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8cGFsL2Nm
L0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CisjaW5jbHVkZSA8U291cmNlQnVmZmVyUGFyc2VyV2Vi
TS5oPgogI2luY2x1ZGUgPHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9G
YXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQXVk
aW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIEF1
ZGlvQnVmZmVyTGlzdCogdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KHNpemVfdCBudW1iZXJPZkJ1
ZmZlcnMpCiB7CisgICAgaWYgKCFudW1iZXJPZkJ1ZmZlcnMpCisgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIENoZWNrZWRTaXplIGJ1ZmZlckxpc3RTaXplID0gc2l6ZW9mKEF1ZGlvQnVmZmVy
TGlzdCkgLSBzaXplb2YoQXVkaW9CdWZmZXIpOwotICAgIGJ1ZmZlckxpc3RTaXplICs9IG51bWJl
ck9mQnVmZmVycyAqIHNpemVvZihBdWRpb0J1ZmZlcik7CisgICAgYnVmZmVyTGlzdFNpemUgKz0g
V1RGOjpjaGVja2VkUHJvZHVjdDxzaXplX3Q+KG51bWJlck9mQnVmZmVycywgc2l6ZW9mKEF1ZGlv
QnVmZmVyKSk7CiAgICAgaWYgKGJ1ZmZlckxpc3RTaXplLmhhc092ZXJmbG93ZWQoKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTg3LDEwICsxMDAsOTAgQEAgc3RhdGljIGJvb2wgdmFs
aWRhdGVBdWRpb0J1ZmZlckxpc3QoQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0KQogICAgIHJl
dHVybiB0cnVlOwogfQogCisvLyBPbiBzdGFjayBSQUlJIGNsYXNzIHRoYXQgd2lsbCBmcmVlIHRo
ZSBhbGxvY2F0ZWQgQXVkaW9CdWZmZXJMaXN0IGFzIG5lZWRlZC4KK2NsYXNzIEF1ZGlvQnVmZmVy
TGlzdEhvbGRlciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQXVkaW9CdWZmZXJMaXN0SG9sZGVy
KHNpemVfdCBudW1iZXJPZkNoYW5uZWxzKQorICAgICAgICA6IG1fYnVmZmVyTGlzdCh0cnlDcmVh
dGVBdWRpb0J1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscykpCisgICAgeworICAgIH0KKworICAg
IH5BdWRpb0J1ZmZlckxpc3RIb2xkZXIoKQorICAgIHsKKyAgICAgICAgaWYgKG1fYnVmZmVyTGlz
dCkKKyAgICAgICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QobV9idWZmZXJMaXN0KTsKKyAg
ICB9CisKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gISFtX2J1
ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3QqIG9wZXJhdG9yLT4oKSBjb25zdCB7IHJl
dHVybiBtX2J1ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3QqIG9wZXJhdG9yKigpIGNv
bnN0IHsgcmV0dXJuIG1fYnVmZmVyTGlzdDsgfQorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsg
cmV0dXJuIHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7IH0KK3ByaXZhdGU6
CisgICAgQXVkaW9CdWZmZXJMaXN0KiBtX2J1ZmZlckxpc3Q7Cit9OworCitzdGF0aWMgY29uc3Rl
eHByIHVpbnQzMl90IGtPcHVzTWF4RnJhbWVMZW5ndGggPSA5NDsKK3N0YXRpYyBjb25zdGV4cHIg
dWludDMyX3Qga1ZvcmJpc01heEZyYW1lTGVuZ3RoID0gNDA5NjsKKworY2xhc3MgQXVkaW9GaWxl
UmVhZGVyV2ViTURhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworCitwdWJsaWM6
CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJ
bml0aWFsaXphdGlvblNlZ21lbnQgbV9pbml0U2VnbWVudDsKKyNlbmRpZgorICAgIE1lZGlhVGlt
ZSBtX2R1cmF0aW9uOworICAgIFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPj4gbV9zYW1w
bGVzOworfTsKKwogQXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCog
ZGF0YSwgc2l6ZV90IGRhdGFTaXplKQogICAgIDogbV9kYXRhKGRhdGEpCiAgICAgLCBtX2RhdGFT
aXplKGRhdGFTaXplKQorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgbV9sb2dnZXIo
TG9nZ2VyOjpjcmVhdGUodGhpcykpCisgICAgLCBtX2xvZ0lkZW50aWZpZXIoTG9nZ2VySGVscGVy
Ojp1bmlxdWVMb2dJZGVudGlmaWVyKCkpCisjZW5kaWYKIHsKKyNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKQorICAgIGlmIChpc01heWJlV2ViTShzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oZGF0
YSksIGRhdGFTaXplKSkgeworICAgICAgICBhdXRvIHBhcnNlciA9IGFkb3B0UmVmKG5ldyBTb3Vy
Y2VCdWZmZXJQYXJzZXJXZWJNKCkpOworICAgICAgICBib29sIGVycm9yID0gZmFsc2U7CisgICAg
ICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IGF1ZGlvVHJhY2tJZDsKKyAgICAgICAgTWVkaWFU
aW1lIGR1cmF0aW9uOworICAgICAgICBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJbml0aWFsaXph
dGlvblNlZ21lbnQgaW5pdFNlZ21lbnQ7CisgICAgICAgIFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVB
VkZPYmpDPj4gc2FtcGxlczsKKyAgICAgICAgcGFyc2VyLT5zZXREaWRFbmNvdW50ZXJFcnJvckR1
cmluZ1BhcnNpbmdDYWxsYmFjayhbJl0odWludDY0X3QpIHsKKyAgICAgICAgICAgIGVycm9yID0g
dHJ1ZTsKKyAgICAgICAgfSk7CisgICAgICAgIHBhcnNlci0+c2V0RGlkUGFyc2VJbml0aWFsaXph
dGlvbkRhdGFDYWxsYmFjayhbJl0oU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRp
b25TZWdtZW50JiYgaW5pdCkgeworICAgICAgICAgICAgZm9yIChhdXRvJiBhdWRpb1RyYWNrIDog
aW5pdC5hdWRpb1RyYWNrcykgeworICAgICAgICAgICAgICAgIGlmIChhdWRpb1RyYWNrLnRyYWNr
ICYmIGF1ZGlvVHJhY2sudHJhY2stPnRyYWNrVUlEKCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
ZHVyYXRpb24gPSBpbml0LmR1cmF0aW9uOworICAgICAgICAgICAgICAgICAgICBhdWRpb1RyYWNr
SWQgPSBhdWRpb1RyYWNrLnRyYWNrLT50cmFja1VJRCgpOworICAgICAgICAgICAgICAgICAgICBp
bml0U2VnbWVudCA9IFdURk1vdmUoaW5pdCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworICAgICAgICBw
YXJzZXItPnNldERpZFByb3ZpZGVNZWRpYURhdGFDYWxsYmFjayhbJl0oUmVmPE1lZGlhU2FtcGxl
PiYmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCwgY29uc3QgU3RyaW5nJikgeworICAgICAgICAg
ICAgaWYgKCFhdWRpb1RyYWNrSWQgfHwgdHJhY2tJRCAhPSAqYXVkaW9UcmFja0lkKQorICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJ
VFlfSU1QTElDQVRJT04oaXM8TWVkaWFTYW1wbGVBVkZPYmpDPihzYW1wbGUuZ2V0KCkpKTsKKyAg
ICAgICAgICAgIHNhbXBsZXMuYXBwZW5kKHN0YXRpY19yZWZlcmVuY2VfY2FzdDxNZWRpYVNhbXBs
ZUFWRk9iakM+KFdURk1vdmUoc2FtcGxlKSkpOworICAgICAgICB9KTsKKyAgICAgICAgcGFyc2Vy
LT5zZXRDYWxsT25DbGllbnRUaHJlYWRDYWxsYmFjayhbXShXVEY6OkZ1bmN0aW9uPHZvaWQoKT4m
JiBmdW5jdGlvbikgeworICAgICAgICAgICAgZnVuY3Rpb24oKTsKKyAgICAgICAgfSk7CisgICAg
ICAgIFZlY3Rvcjx1aW50OF90PiB2ZWN0b3Ioc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRh
dGEpLCBkYXRhU2l6ZSk7CisgICAgICAgIFNvdXJjZUJ1ZmZlclBhcnNlcjo6U2VnbWVudCBzZWdt
ZW50KFdURk1vdmUodmVjdG9yKSk7CisgICAgICAgIHBhcnNlci0+YXBwZW5kRGF0YShXVEZNb3Zl
KHNlZ21lbnQpKTsKKyAgICAgICAgaWYgKGF1ZGlvVHJhY2tJZCkgeworICAgICAgICAgICAgcGFy
c2VyLT5mbHVzaFBlbmRpbmdBdWRpb0J1ZmZlcnMoKTsKKyAgICAgICAgICAgIG1fd2VibURhdGEg
PSBtYWtlVW5pcXVlPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPihBdWRpb0ZpbGVSZWFkZXJXZWJN
RGF0YSB7IFdURk1vdmUoaW5pdFNlZ21lbnQpLCBXVEZNb3ZlKGR1cmF0aW9uKSwgV1RGTW92ZShz
YW1wbGVzKSB9KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCiAg
ICAgaWYgKFBBTDo6QXVkaW9GaWxlT3BlbldpdGhDYWxsYmFja3ModGhpcywgcmVhZFByb2MsIDAs
IGdldFNpemVQcm9jLCAwLCAwLCAmbV9hdWRpb0ZpbGVJRCkgIT0gbm9FcnIpCiAgICAgICAgIHJl
dHVybjsKIApAQCAtMTExLDYgKzIwNCwxMiBAQCBBdWRpb0ZpbGVSZWFkZXI6On5BdWRpb0ZpbGVS
ZWFkZXIoKQogICAgIG1fYXVkaW9GaWxlSUQgPSAwOwogfQogCitib29sIEF1ZGlvRmlsZVJlYWRl
cjo6aXNNYXliZVdlYk0oY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKSBjb25z
dAoreworICAgIC8vIEZyb20gaHR0cHM6Ly9taW1lc25pZmYuc3BlYy53aGF0d2cub3JnLyNzaWdu
YXR1cmUtZm9yLXdlYm0KKyAgICByZXR1cm4gZGF0YVNpemUgPj0gNCAmJiBkYXRhWzBdID09IDB4
MUEgJiYgZGF0YVsxXSA9PSAweDQ1ICYmIGRhdGFbMl0gPT0gMHhERiAmJiBkYXRhWzNdID09IDB4
QTM7Cit9CisKIE9TU3RhdHVzIEF1ZGlvRmlsZVJlYWRlcjo6cmVhZFByb2Modm9pZCogY2xpZW50
RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVzdENvdW50LCB2b2lkKiBidWZmZXIs
IFVJbnQzMiogYWN0dWFsQ291bnQpCiB7CiAgICAgYXV0byogYXVkaW9GaWxlUmVhZGVyID0gc3Rh
dGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50RGF0YSk7CkBAIC0xMzYsNjcgKzIzNSwx
NzAgQEAgU0ludDY0IEF1ZGlvRmlsZVJlYWRlcjo6Z2V0U2l6ZVByb2Modm9pZCogY2xpZW50RGF0
YSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50RGF0YSkt
PmRhdGFTaXplKCk7CiB9CiAKLVJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVh
dGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCitzdHJ1Y3QgUGFzc3Rocm91
Z2hVc2VyRGF0YSB7CisgICAgVUludDMyIG1fY2hhbm5lbHM7CisgICAgVUludDMyIG1fZGF0YVNp
emU7CisgICAgY29uc3Qgdm9pZCogbV9kYXRhOworICAgIFVJbnQzMiBtX2luZGV4OworICAgIFVJ
bnQzMiBtX251bVBhY2tldHM7CisgICAgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogbV9w
YWNrZXRzOworfTsKKworLy8gRXJyb3IgdmFsdWUgd2UgcGFzcyB0aHJvdWdoIHRoZSBkZWNvZGVy
IHRvIHNpZ25hbCB0aGF0IG5vdGhpbmcKKy8vIGhhcyBnb25lIHdyb25nIGR1cmluZyBkZWNvZGlu
ZyBhbmQgd2UncmUgZG9uZSBwcm9jZXNzaW5nIHRoZSBwYWNrZXQuCitjb25zdCB1aW50MzJfdCBr
Tm9Nb3JlRGF0YUVyciA9ICdNT0FSJzsKKworc3RhdGljIE9TU3RhdHVzIHBhc3N0aHJvdWdoSW5w
dXREYXRhQ2FsbGJhY2soCisgICAgQXVkaW9Db252ZXJ0ZXJSZWYsIFVJbnQzMiogbnVtRGF0YVBh
Y2tldHMsIEF1ZGlvQnVmZmVyTGlzdCogZGF0YSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
bioqIHBhY2tldERlc2MsIHZvaWQqIGluVXNlckRhdGEpCit7CisgICAgUGFzc3Rocm91Z2hVc2Vy
RGF0YSogdXNlckRhdGEgPSAoUGFzc3Rocm91Z2hVc2VyRGF0YSopaW5Vc2VyRGF0YTsKKyAgICBp
ZiAodXNlckRhdGEtPm1faW5kZXggPT0gdXNlckRhdGEtPm1fbnVtUGFja2V0cykgeworICAgICAg
ICAqbnVtRGF0YVBhY2tldHMgPSAwOworICAgICAgICByZXR1cm4ga05vTW9yZURhdGFFcnI7Cisg
ICAgfQorCisgICAgaWYgKHBhY2tldERlc2MpIHsKKyAgICAgICAgaWYgKHVzZXJEYXRhLT5tX2lu
ZGV4ID49IHVzZXJEYXRhLT5tX251bVBhY2tldHMpIHsKKyAgICAgICAgICAgICpudW1EYXRhUGFj
a2V0cyA9IDA7CisgICAgICAgICAgICByZXR1cm4ga0F1ZGlvQ29udmVydGVyRXJyX1JlcXVpcmVz
UGFja2V0RGVzY3JpcHRpb25zRXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgKnBhY2tldERlc2Mg
PSAmdXNlckRhdGEtPm1fcGFja2V0c1t1c2VyRGF0YS0+bV9pbmRleF07CisgICAgfQorCisgICAg
ZGF0YS0+bUJ1ZmZlcnNbMF0ubU51bWJlckNoYW5uZWxzID0gdXNlckRhdGEtPm1fY2hhbm5lbHM7
CisgICAgZGF0YS0+bUJ1ZmZlcnNbMF0ubURhdGFCeXRlU2l6ZSA9IHVzZXJEYXRhLT5tX2RhdGFT
aXplOworICAgIGRhdGEtPm1CdWZmZXJzWzBdLm1EYXRhID0gY29uc3RfY2FzdDx2b2lkKj4odXNl
ckRhdGEtPm1fZGF0YSk7CisKKyAgICAqbnVtRGF0YVBhY2tldHMgPSAxOworICAgIHVzZXJEYXRh
LT5tX2luZGV4Kys7CisKKyAgICByZXR1cm4gbm9FcnI7Cit9CisKK3NzaXplX3QgQXVkaW9GaWxl
UmVhZGVyOjpudW1iZXJPZkZyYW1lcygpIGNvbnN0CiB7CisgICAgU0ludDY0IG51bWJlck9mRnJh
bWVzSW42NCA9IDA7CisKKyAgICBpZiAobV93ZWJtRGF0YSkgeworICAgICAgICBpZiAobV93ZWJt
RGF0YS0+bV9zYW1wbGVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKworICAg
ICAgICAvLyBDYWxjdWxhdGUgdGhlIHRvdGFsIG51bWJlciBvZiBkZWNvZGVkIHNhbXBsZXMgdGhh
dCB3ZXJlIGRlbXV4ZWQuCisgICAgICAgIC8vIFRoaXMgY29kZSBvbmx5IGhhbmRsZSB0aGUgQ01T
YW1wbGVCdWZmZXIgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNCisg
ICAgICAgIC8vIHdoZXJlIGEgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMgYXJyYXkgaXMg
YWx3YXlzIHByb3ZpZGVkIGV2ZW4gd2l0aAorICAgICAgICAvLyBDb25zdGFudCBiaXRyYXRlIGFu
ZCBjb25zdGFudCBmcmFtZXMtcGVyLXBhY2tldCBhdWRpby4KKyAgICAgICAgZm9yIChhdXRvJiBz
YW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgICAgIENNU2FtcGxlQnVm
ZmVyUmVmIHNhbXBsZUJ1ZmZlciA9IHNhbXBsZS0+c2FtcGxlQnVmZmVyKCk7CisgICAgICAgICAg
ICBjb25zdCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0gUEFMOjpD
TVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKHNhbXBsZUJ1ZmZlcik7CisgICAgICAg
ICAgICBpZiAoIWZvcm1hdERlc2NyaXB0aW9uKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsK
KyAgICAgICAgICAgIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiogY29uc3QgYXNi
ZCA9IFBBTDo6Q01BdWRpb0Zvcm1hdERlc2NyaXB0aW9uR2V0U3RyZWFtQmFzaWNEZXNjcmlwdGlv
bihmb3JtYXREZXNjcmlwdGlvbik7CisgICAgICAgICAgICBpZiAoIWFzYmQpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIC0xOworCisgICAgICAgICAgICBzaXplX3QgcGFja2V0RGVzY3JpcHRpb25z
U2l6ZTsKKyAgICAgICAgICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1Q
YWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCAwLCBudWxscHRyLCAmcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZSkgIT0gbm9FcnIpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAg
ICAgICAgc2l6ZV90IG51bURlc2NyaXB0aW9ucyA9IHBhY2tldERlc2NyaXB0aW9uc1NpemUgLyBz
aXplb2YoQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbik7CisgICAgICAgICAgICBpZiAoIW51
bURlc2NyaXB0aW9ucykKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBh
dXRvIGRlc2NyaXB0aW9ucyA9IFdURjo6bWFrZVVuaXF1ZUFycmF5PEF1ZGlvU3RyZWFtUGFja2V0
RGVzY3JpcHRpb24+KG51bURlc2NyaXB0aW9ucyk7CisgICAgICAgICAgICBpZiAoUEFMOjpDTVNh
bXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1ZmZlciwg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3JpcHRpb25zLmdldCgpLCBudWxscHRyKSAhPSBu
b0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBDTUl0ZW1Db3Vu
dCBudW1QYWNrZXRzID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2FtcGxlQnVm
ZmVyKTsKKyAgICAgICAgICAgIGlmIChudW1EZXNjcmlwdGlvbnMgIT0gc2l6ZV90KG51bVBhY2tl
dHMpKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmhh
bmRsZWQgQ01TYW1wbGVCdWZmZXIgc3RydWN0dXJlIik7CisgICAgICAgICAgICAgICAgcmV0dXJu
IC0xOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBu
dW1EZXNjcmlwdGlvbnM7IGkrKykgeworICAgICAgICAgICAgICAgIHVpbnQzMl90IGZwcCA9IGRl
c2NyaXB0aW9uc1tpXS5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA/IGRlc2NyaXB0aW9uc1tpXS5t
VmFyaWFibGVGcmFtZXNJblBhY2tldCA6IGFzYmQtPm1GcmFtZXNQZXJQYWNrZXQ7CisgICAgICAg
ICAgICAgICAgbnVtYmVyT2ZGcmFtZXNJbjY0ICs9IGZwcDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICByZXR1cm4gbnVtYmVyT2ZGcmFtZXNJbjY0OworICAgIH0KKwogICAgIGlm
ICghbV9leHRBdWRpb0ZpbGVSZWYpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBy
ZXR1cm4gLTE7CiAKLSAgICAvLyBHZXQgZmlsZSdzIGRhdGEgZm9ybWF0Ci0gICAgVUludDMyIHNp
emUgPSBzaXplb2YobV9maWxlRGF0YUZvcm1hdCk7Ci0gICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxl
R2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxl
RGF0YUZvcm1hdCwgJnNpemUsICZtX2ZpbGVEYXRhRm9ybWF0KSAhPSBub0VycikKLSAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgVUludDMyIHNpemUgPSBzaXplb2YobnVtYmVyT2ZGcmFtZXNJ
bjY0KTsKKyAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmls
ZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVMZW5ndGhGcmFtZXMsICZzaXplLCAmbnVt
YmVyT2ZGcmFtZXNJbjY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lc0luNjQgPD0gMCkKKyAg
ICAgICAgcmV0dXJuIC0xOwogCi0gICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBtX2ZpbGVE
YXRhRm9ybWF0Lm1DaGFubmVsc1BlckZyYW1lOworICAgIHJldHVybiBudW1iZXJPZkZyYW1lc0lu
NjQ7Cit9CiAKLSAgICAvLyBOdW1iZXIgb2YgZnJhbWVzCi0gICAgU0ludDY0IG51bWJlck9mRnJh
bWVzNjQgPSAwOwotICAgIHNpemUgPSBzaXplb2YobnVtYmVyT2ZGcmFtZXM2NCk7Ci0gICAgaWYg
KFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRp
b0ZpbGVQcm9wZXJ0eV9GaWxlTGVuZ3RoRnJhbWVzLCAmc2l6ZSwgJm51bWJlck9mRnJhbWVzNjQp
ICE9IG5vRXJyIHx8IG51bWJlck9mRnJhbWVzNjQgPD0gMCkKLSAgICAgICAgcmV0dXJuIG51bGxw
dHI7CitzdGQ6Om9wdGlvbmFsPEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gQXVkaW9GaWxl
UmVhZGVyOjpmaWxlRGF0YUZvcm1hdCgpIGNvbnN0Cit7CisgICAgaWYgKG1fd2VibURhdGEpIHsK
KyAgICAgICAgaWYgKG1fd2VibURhdGEtPm1fc2FtcGxlcy5pc0VtcHR5KCkpCisgICAgICAgICAg
ICByZXR1cm4geyB9OworCisgICAgICAgIENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0RGVz
Y3JpcHRpb24gPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24obV93ZWJt
RGF0YS0+bV9zYW1wbGVzWzBdLT5zYW1wbGVCdWZmZXIoKSk7CisKKyAgICAgICAgY29uc3QgQXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25zdCBhc2JkID0gUEFMOjpDTUF1ZGlvRm9ybWF0
RGVzY3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKGZvcm1hdERlc2NyaXB0aW9uKTsK
KyAgICAgICAgcmV0dXJuICphc2JkOworICAgIH0KIAotICAgIGRvdWJsZSBmaWxlU2FtcGxlUmF0
ZSA9IG1fZmlsZURhdGFGb3JtYXQubVNhbXBsZVJhdGU7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rl
c2NyaXB0aW9uIGZvcm1hdDsKKyAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihmb3JtYXQpOworICAg
IGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0
QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZzaXplLCAmZm9ybWF0KSAhPSBub0Vy
cikKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gZm9ybWF0OworfQogCitBdWRpb1N0
cmVhbUJhc2ljRGVzY3JpcHRpb24gQXVkaW9GaWxlUmVhZGVyOjpjbGllbnREYXRhRm9ybWF0KGNv
bnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5Gb3JtYXQsIGZsb2F0IHNhbXBsZVJh
dGUpIGNvbnN0Cit7CiAgICAgLy8gTWFrZSBjbGllbnQgZm9ybWF0IHNhbWUgbnVtYmVyIG9mIGNo
YW5uZWxzIGFzIGZpbGUgZm9ybWF0LCBidXQgdHdlYWsgYSBmZXcgdGhpbmdzLgogICAgIC8vIENs
aWVudCBmb3JtYXQgd2lsbCBiZSBsaW5lYXIgUENNIChjYW5vbmljYWwpLCBhbmQgcG90ZW50aWFs
bHkgY2hhbmdlIHNhbXBsZS1yYXRlLgotICAgIG1fY2xpZW50RGF0YUZvcm1hdCA9IG1fZmlsZURh
dGFGb3JtYXQ7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIG91dEZvcm1hdCA9IGlu
Rm9ybWF0OwogCiAgICAgY29uc3QgaW50IGJ5dGVzUGVyRmxvYXQgPSBzaXplb2YoRmxvYXQzMik7
CiAgICAgY29uc3QgaW50IGJpdHNQZXJCeXRlID0gODsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQu
bUZvcm1hdElEID0ga0F1ZGlvRm9ybWF0TGluZWFyUENNOwotICAgIG1fY2xpZW50RGF0YUZvcm1h
dC5tRm9ybWF0RmxhZ3MgPSBrQXVkaW9Gb3JtYXRGbGFnc05hdGl2ZUZsb2F0UGFja2VkIHwga0F1
ZGlvRm9ybWF0RmxhZ0lzTm9uSW50ZXJsZWF2ZWQ7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1C
eXRlc1BlclBhY2tldCA9IGJ5dGVzUGVyRmxvYXQ7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1G
cmFtZXNQZXJQYWNrZXQgPSAxOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQnl0ZXNQZXJGcmFt
ZSA9IGJ5dGVzUGVyRmxvYXQ7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1DaGFubmVsc1BlckZy
YW1lID0gbnVtYmVyT2ZDaGFubmVsczsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJpdHNQZXJD
aGFubmVsID0gYml0c1BlckJ5dGUgKiBieXRlc1BlckZsb2F0OworICAgIG91dEZvcm1hdC5tRm9y
bWF0SUQgPSBrQXVkaW9Gb3JtYXRMaW5lYXJQQ007CisgICAgb3V0Rm9ybWF0Lm1Gb3JtYXRGbGFn
cyA9IGtBdWRpb0Zvcm1hdEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQgfCBrQXVkaW9Gb3JtYXRGbGFn
SXNOb25JbnRlcmxlYXZlZDsKKyAgICBvdXRGb3JtYXQubUJ5dGVzUGVyUGFja2V0ID0gb3V0Rm9y
bWF0Lm1CeXRlc1BlckZyYW1lID0gYnl0ZXNQZXJGbG9hdDsKKyAgICBvdXRGb3JtYXQubUZyYW1l
c1BlclBhY2tldCA9IDE7CisgICAgb3V0Rm9ybWF0Lm1CaXRzUGVyQ2hhbm5lbCA9IGJpdHNQZXJC
eXRlICogYnl0ZXNQZXJGbG9hdDsKIAogICAgIGlmIChzYW1wbGVSYXRlKQotICAgICAgICBtX2Ns
aWVudERhdGFGb3JtYXQubVNhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOworICAgICAgICBvdXRGb3Jt
YXQubVNhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOworCisgICAgcmV0dXJuIG91dEZvcm1hdDsKK30K
IAotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVm
LCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0YUZvcm1hdCwgc2l6ZW9mKEF1ZGlvU3Ry
ZWFtQmFzaWNEZXNjcmlwdGlvbiksICZtX2NsaWVudERhdGFGb3JtYXQpICE9IG5vRXJyKQorUmVm
UHRyPEF1ZGlvQnVzPiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRl
LCBib29sIG1peFRvTW9ubykKK3sKKyAgICBTSW50NjQgbnVtYmVyT2ZGcmFtZXNJbjY0ID0gbnVt
YmVyT2ZGcmFtZXMoKTsKKyAgICBpZiAobnVtYmVyT2ZGcmFtZXNJbjY0IDw9IDApCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogCi0gICAgLy8gQ2hhbmdlIG51bWJlck9mRnJhbWVzNjQgdG8gZGVz
dGluYXRpb24gc2FtcGxlLXJhdGUKLSAgICBudW1iZXJPZkZyYW1lczY0ID0gbnVtYmVyT2ZGcmFt
ZXM2NCAqIChtX2NsaWVudERhdGFGb3JtYXQubVNhbXBsZVJhdGUgLyBmaWxlU2FtcGxlUmF0ZSk7
Ci0gICAgc2l6ZV90IG51bWJlck9mRnJhbWVzID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihudW1iZXJP
ZkZyYW1lczY0KTsKKyAgICBhdXRvIGluRm9ybWF0ID0gZmlsZURhdGFGb3JtYXQoKTsKKyAgICBp
ZiAoIWluRm9ybWF0KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAgIEF1ZGlvU3RyZWFt
QmFzaWNEZXNjcmlwdGlvbiBvdXRGb3JtYXQgPSBjbGllbnREYXRhRm9ybWF0KCppbkZvcm1hdCwg
c2FtcGxlUmF0ZSk7CisgICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBpbkZvcm1hdC0+bUNo
YW5uZWxzUGVyRnJhbWU7CisgICAgZG91YmxlIGZpbGVTYW1wbGVSYXRlID0gaW5Gb3JtYXQtPm1T
YW1wbGVSYXRlOworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc091dDY0ID0gbnVtYmVyT2ZGcmFt
ZXNJbjY0ICogKG91dEZvcm1hdC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVSYXRlKTsKKyAgICBz
aXplX3QgbnVtYmVyT2ZGcmFtZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51bWJlck9mRnJhbWVz
T3V0NjQpOwogICAgIHNpemVfdCBidXNDaGFubmVsQ291bnQgPSBtaXhUb01vbm8gPyAxIDogbnVt
YmVyT2ZDaGFubmVsczsKIAogICAgIC8vIENyZWF0ZSBBdWRpb0J1cyB3aGVyZSB3ZSdsbCBwdXQg
dGhlIFBDTSBhdWRpbyBkYXRhCiAgICAgYXV0byBhdWRpb0J1cyA9IEF1ZGlvQnVzOjpjcmVhdGUo
YnVzQ2hhbm5lbENvdW50LCBudW1iZXJPZkZyYW1lcyk7Ci0gICAgYXVkaW9CdXMtPnNldFNhbXBs
ZVJhdGUobmFycm93UHJlY2lzaW9uVG9GbG9hdChtX2NsaWVudERhdGFGb3JtYXQubVNhbXBsZVJh
dGUpKTsgLy8gc2F2ZSBmb3IgbGF0ZXIKLQotICAgIC8vIE9ubHkgYWxsb2NhdGVkIGluIHRoZSBt
aXhUb01vbm8gY2FzZTsgZGVhbGxvY2F0ZWQgb24gZGVzdHJ1Y3Rpb24uCi0gICAgQXVkaW9GbG9h
dEFycmF5IGxlZnRDaGFubmVsOwotICAgIEF1ZGlvRmxvYXRBcnJheSByaWdodENoYW5uZWw7Cisg
ICAgYXVkaW9CdXMtPnNldFNhbXBsZVJhdGUobmFycm93UHJlY2lzaW9uVG9GbG9hdChvdXRGb3Jt
YXQubVNhbXBsZVJhdGUpKTsgLy8gc2F2ZSBmb3IgbGF0ZXIKIAotICAgIEF1ZGlvQnVmZmVyTGlz
dCogYnVmZmVyTGlzdCA9IHRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlzdChudW1iZXJPZkNoYW5uZWxz
KTsKKyAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgYnVmZmVyTGlzdChudW1iZXJPZkNoYW5uZWxz
KTsKICAgICBpZiAoIWJ1ZmZlckxpc3QpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2Vi
QXVkaW8sICJ0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QoJWxkKSByZXR1cm5lZCBudWxsIiwgbnVt
YmVyT2ZDaGFubmVscyk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KICAgICBjb25z
dCBzaXplX3QgYnVmZmVyU2l6ZSA9IG51bWJlck9mRnJhbWVzICogc2l6ZW9mKGZsb2F0KTsKIAor
ICAgIC8vIE9ubHkgYWxsb2NhdGVkIGluIHRoZSBtaXhUb01vbm8gY2FzZTsgZGVhbGxvY2F0ZWQg
b24gZGVzdHJ1Y3Rpb24uCisgICAgQXVkaW9GbG9hdEFycmF5IGxlZnRDaGFubmVsOworICAgIEF1
ZGlvRmxvYXRBcnJheSByaWdodENoYW5uZWw7CisKICAgICBSRUxFQVNFX0FTU0VSVChidWZmZXJM
aXN0LT5tTnVtYmVyQnVmZmVycyA9PSBudW1iZXJPZkNoYW5uZWxzKTsKICAgICBpZiAobWl4VG9N
b25vICYmIG51bWJlck9mQ2hhbm5lbHMgPT0gMikgewogICAgICAgICBsZWZ0Q2hhbm5lbC5yZXNp
emUobnVtYmVyT2ZGcmFtZXMpOwpAQCAtMjIyLDE4ICs0MjQsOTAgQEAgUmVmUHRyPEF1ZGlvQnVz
PiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRv
TW9ubykKICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICghdmFsaWRhdGVBdWRpb0J1ZmZlckxp
c3QoYnVmZmVyTGlzdCkpIHsKKyAgICBpZiAoIWJ1ZmZlckxpc3QuaXNWYWxpZCgpKSB7CiAgICAg
ICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiR2VuZXJhdGVkIGJ1ZmZlciBpbiBBdWRp
b0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cygpIGRpZCBub3QgcGFzcyB2YWxpZGF0aW9uIik7CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0
KGJ1ZmZlckxpc3QpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICAvLyBS
ZWFkIGZyb20gdGhlIGZpbGUgKG9yIGluLW1lbW9yeSB2ZXJzaW9uKQotICAgIFVJbnQzMiBmcmFt
ZXNUb1JlYWQgPSBudW1iZXJPZkZyYW1lczsKLSAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVSZWFk
KG1fZXh0QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCBidWZmZXJMaXN0KSAhPSBub0Vycikg
ewotICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpOwotICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAobV93ZWJtRGF0YSkgeworICAgICAgICBBdWRpb0NvbnZl
cnRlclJlZiBjb252ZXJ0ZXI7CisgICAgICAgIGlmIChQQUw6OkF1ZGlvQ29udmVydGVyTmV3KCYq
aW5Gb3JtYXQsICZvdXRGb3JtYXQsICZjb252ZXJ0ZXIpICE9IG5vRXJyKQorICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgICAgIGF1dG8gY2xlYW51cCA9IFsmXSgpIHsKKyAgICAgICAg
ICAgIGlmIChjb252ZXJ0ZXIpCisgICAgICAgICAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlckRp
c3Bvc2UoY29udmVydGVyKTsKKyAgICAgICAgfTsKKyAgICAgICAgVU5VU0VEX1ZBUklBQkxFKGNs
ZWFudXApOyAvLyBub3QgcmVhbGx5LCBidXQgd2UgbWFrZSB0aGUgY29tcGlsZXIgaGFwcHkuCisK
KyAgICAgICAgLy8gRGVzY3JpcHRpb25zIGZvciBfZGVjb21wcmVzc2VkXyBhdWRpbyBwYWNrZXRz
LiBpZ25vcmVkIGJ1dCBuZWVkZWQuCisgICAgICAgIGNvbnN0IHVpbnQzMl90IG1heEF1ZGlvRnJh
bWVzID0gMTI4OworICAgICAgICBhdXRvIHBhY2tldHMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxB
dWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPihtYXhBdWRpb0ZyYW1lcyk7CisKKyAgICAgICAg
c2l6ZV90IGRlY29kZWRGcmFtZXMgPSAwOworICAgICAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIg
ZGVjb2RlZEJ1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CisgICAgICAgIGlmICghZGVjb2Rl
ZEJ1ZmZlckxpc3QpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBPU1N0
YXR1cyBzdGF0dXM7CisgICAgICAgIGZvciAoYXV0byYgc2FtcGxlIDogbV93ZWJtRGF0YS0+bV9z
YW1wbGVzKSB7CisgICAgICAgICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIgPSBz
YW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICAgICAgYXV0byBidWZmZXIgPSBQQUw6OkNN
U2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlcihzYW1wbGVCdWZmZXIpOworICAgICAgICAgICAgQVNT
RVJUKFBBTDo6Q01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzKGJ1ZmZlciwgMCwgMCkpOwor
ICAgICAgICAgICAgaWYgKCFQQUw6OkNNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cyhidWZm
ZXIsIDAsIDApKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgICAg
ICBzaXplX3Qgc3JjU2l6ZSA9IFBBTDo6Q01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgoYnVmZmVy
KTsKKyAgICAgICAgICAgIGNoYXIqIHNyY0RhdGEgPSBudWxscHRyOworICAgICAgICAgICAgaWYg
KFBBTDo6Q01CbG9ja0J1ZmZlckdldERhdGFQb2ludGVyKGJ1ZmZlciwgMCwgbnVsbHB0ciwgbnVs
bHB0ciwgJnNyY0RhdGEpICE9IG5vRXJyKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgICAgICAgICBzaXplX3QgcGFja2V0RGVzY3JpcHRpb25zU2l6ZTsKKyAgICAgICAg
ICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
bnMoc2FtcGxlQnVmZmVyLCAwLCBudWxscHRyLCAmcGFja2V0RGVzY3JpcHRpb25zU2l6ZSkgIT0g
bm9FcnIpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBzaXpl
X3QgbnVtRGVzY3JpcHRpb25zID0gcGFja2V0RGVzY3JpcHRpb25zU2l6ZSAvIHNpemVvZihBdWRp
b1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKTsKKyAgICAgICAgICAgIGlmICghbnVtRGVzY3JpcHRp
b25zKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgYXV0byBk
ZXNjcmlwdGlvbnMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uPihudW1EZXNjcmlwdGlvbnMpOworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVC
dWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIHBhY2tl
dERlc2NyaXB0aW9uc1NpemUsIGRlc2NyaXB0aW9ucy5nZXQoKSwgbnVsbHB0cikgIT0gbm9FcnIp
CisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBQYXNzdGhyb3Vn
aFVzZXJEYXRhIHVzZXJEYXRhID0geyBVSW50MzIobnVtYmVyT2ZDaGFubmVscyksIFVJbnQzMihz
cmNTaXplKSwgc3JjRGF0YSwgMCwgVUludDMyKG51bURlc2NyaXB0aW9ucyksIGRlc2NyaXB0aW9u
cy5nZXQoKSB9OworCisgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBudW1iZXJPZkNoYW5uZWxzOyBpKyspIHsKKyAgICAgICAgICAgICAgICAg
ICAgZGVjb2RlZEJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1OdW1iZXJDaGFubmVscyA9IDE7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChidWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YUJ5dGVT
aXplIDw9IGRlY29kZWRGcmFtZXMgKiBzaXplb2YoZmxvYXQpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIkRlY29kZWQgbW9yZSBmcmFtZXMg
dGhhbiBmaXJzdCBjYWxjdWxhdGVkIik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBkZWNv
ZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGFCeXRlU2l6ZSA9IHN0ZDo6bWluPHVpbnQz
Ml90PihtYXhBdWRpb0ZyYW1lcyAqIHNpemVvZihmbG9hdCksIGJ1ZmZlckxpc3QtPm1CdWZmZXJz
W2ldLm1EYXRhQnl0ZVNpemUgLSBkZWNvZGVkRnJhbWVzICogc2l6ZW9mKGZsb2F0KSk7CisgICAg
ICAgICAgICAgICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YSA9IHN0
YXRpY19jYXN0PGZsb2F0Kj4oYnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGEpICsgZGVjb2Rl
ZEZyYW1lczsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBpbjogdGhl
IG1heCBudW1iZXIgb2YgcGFja2V0cyB3ZSBjYW4gaGFuZGxlIGZyb20gdGhlIGRlY29kZXIuCisg
ICAgICAgICAgICAgICAgLy8gb3V0OiB0aGUgbnVtYmVyIG9mIHBhY2tldHMgdGhlIGRlY29kZXIg
aXMgYWN0dWFsbHkgcmV0dXJuaW5nLgorICAgICAgICAgICAgICAgIFVJbnQzMiBudW1GcmFtZXMg
PSBudW1iZXJPZkZyYW1lcyAtIGRlY29kZWRGcmFtZXM7CisKKyAgICAgICAgICAgICAgICBzdGF0
dXMgPSBQQUw6OkF1ZGlvQ29udmVydGVyRmlsbENvbXBsZXhCdWZmZXIoY29udmVydGVyLCBwYXNz
dGhyb3VnaElucHV0RGF0YUNhbGxiYWNrLCAmdXNlckRhdGEsICZudW1GcmFtZXMsICpkZWNvZGVk
QnVmZmVyTGlzdCwgcGFja2V0cy5nZXQoKSk7CisKKyAgICAgICAgICAgICAgICBpZiAoc3RhdHVz
ICYmIHN0YXR1cyAhPSBrTm9Nb3JlRGF0YUVycikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgICAgICAgICAgICAgZGVjb2RlZEZyYW1lcyArPSBudW1GcmFtZXM7Cisg
ICAgICAgICAgICB9IHdoaWxlIChzdGF0dXMgIT0ga05vTW9yZURhdGFFcnIpOworICAgICAgICB9
CisKKyAgICAgICAgLy8gVGhlIGFjdHVhbCBkZWNvZGVkIG51bWJlciBvZiBmcmFtZXMgbWF5IG5v
dCBtYXRjaCB0aGUgbnVtYmVyIG9mIGZyYW1lcyBjYWxjdWxhdGVkCisgICAgICAgIC8vIHdoaWxl
IGRlbXV4aW5nLiBJdCB3aWxsIGFsd2F5cyBiZSBsb3dlci4KKyAgICAgICAgYXVkaW9CdXMtPnNl
dExlbmd0aChkZWNvZGVkRnJhbWVzKTsKKyAgICAgICAgbnVtYmVyT2ZGcmFtZXMgPSBkZWNvZGVk
RnJhbWVzOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFBy
b3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0
YUZvcm1hdCwgc2l6ZW9mKEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksICZvdXRGb3JtYXQp
ICE9IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgLy8gUmVh
ZCBmcm9tIHRoZSBmaWxlIChvciBpbi1tZW1vcnkgdmVyc2lvbikKKyAgICAgICAgVUludDMyIGZy
YW1lc1RvUmVhZCA9IG51bWJlck9mRnJhbWVzOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0Zp
bGVSZWFkKG1fZXh0QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCAqYnVmZmVyTGlzdCkgIT0g
bm9FcnIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAobWl4
VG9Nb25vICYmIG51bWJlck9mQ2hhbm5lbHMgPT0gMikgewpAQCAtMjQzLDkgKzUxNyw2IEBAIFJl
ZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0
ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAgICAgICAgICBkZXN0TFtpXSA9IDAuNWYgKiAobGVmdENo
YW5uZWxbaV0gKyByaWdodENoYW5uZWxbaV0pOwogICAgIH0KIAotICAgIC8vIENsZWFudXAKLSAg
ICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpOwotCiAgICAgcmV0dXJuIGF1ZGlv
QnVzOwogfQogCkBAIC0yNTUsNiArNTI2LDEzIEBAIFJlZlB0cjxBdWRpb0J1cz4gY3JlYXRlQnVz
RnJvbUluTWVtb3J5QXVkaW9GaWxlKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6CiAg
ICAgcmV0dXJuIHJlYWRlci5jcmVhdGVCdXMoc2FtcGxlUmF0ZSwgbWl4VG9Nb25vKTsKIH0KIAor
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hhbm5lbCYgQXVkaW9GaWxlUmVhZGVy
Ojpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTG9nTWVkaWE7Cit9CisjZW5kaWYK
KwogfSAvLyBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVRElPKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29j
b2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRl
ckNvY29hLmgKaW5kZXggMGJiYmJhMjc4NTdkOTc5ZWNjNjg4Zjg3ZjAzMzlmNjY1ZWY0MjUyOS4u
ZjYxNzMzNzllMDEzNGExZGE1YjM4MjM4ZWQzOGE1YWEyMmM5ZDkzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJD
b2NvYS5oCkBAIC0zMiw2ICszMiw4IEBACiAjaWYgRU5BQkxFKFdFQl9BVURJTykKIAogI2luY2x1
ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgorI2luY2x1ZGUgPG9wdGlvbmFsPgorI2lu
Y2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIHVz
aW5nIEV4dEF1ZGlvRmlsZVJlZiA9IHN0cnVjdCBPcGFxdWVFeHRBdWRpb0ZpbGUqOwpAQCAtNDAs
MTIgKzQyLDE4IEBAIHVzaW5nIEF1ZGlvRmlsZUlEID0gc3RydWN0IE9wYXF1ZUF1ZGlvRmlsZUlE
KjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXVkaW9CdXM7CitjbGFzcyBTb3VyY2VC
dWZmZXJQYXJzZXJXZWJNOworY2xhc3MgQXVkaW9GaWxlUmVhZGVyV2ViTURhdGE7CiAKIC8vIFdy
YXBwZXIgY2xhc3MgZm9yIEF1ZGlvRmlsZSBhbmQgRXh0QXVkaW9GaWxlIENvcmVBdWRpbyBBUElz
IGZvciByZWFkaW5nIGZpbGVzIGFuZCBpbi1tZW1vcnkgdmVyc2lvbnMgb2YgdGhlbS4uLgogCi1j
bGFzcyBBdWRpb0ZpbGVSZWFkZXIgeworY2xhc3MgQXVkaW9GaWxlUmVhZGVyCisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECisgICAgOiBwdWJsaWMgTG9nZ2VySGVscGVyCisjZW5kaWYKK3sKIHB1
YmxpYzoKLSAgICBleHBsaWNpdCBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6
ZV90IGRhdGFTaXplKTsKKyAgICBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6
ZV90IGRhdGFTaXplKTsKICAgICB+QXVkaW9GaWxlUmVhZGVyKCk7CiAKICAgICBSZWZQdHI8QXVk
aW9CdXM+IGNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRvTW9ubyk7IC8vIFJl
dHVybnMgbnVsbHB0ciBvbiBlcnJvcgpAQCAtNTMsOSArNjEsMjAgQEAgcHVibGljOgogICAgIGNv
bnN0IHZvaWQqIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2RhdGE7IH0KICAgICBzaXplX3QgZGF0
YVNpemUoKSBjb25zdCB7IHJldHVybiBtX2RhdGFTaXplOyB9CiAKKyNpZiAhUkVMRUFTRV9MT0df
RElTQUJMRUQKKyAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IG1fbG9nZ2VyLmdldCgpOyB9CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIFdURkxvZ0NoYW5uZWwmIGxv
Z0NoYW5uZWwoKSBjb25zdCBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBj
b25zdCBmaW5hbCB7IHJldHVybiAiQXVkaW9GaWxlUmVhZGVyQ29jb2EiOyB9CisjZW5kaWYKKwog
cHJpdmF0ZToKICAgICBzdGF0aWMgT1NTdGF0dXMgcmVhZFByb2Modm9pZCogY2xpZW50RGF0YSwg
U0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVzdENvdW50LCB2b2lkKiBidWZmZXIsIFVJbnQz
MiogYWN0dWFsQ291bnQpOwogICAgIHN0YXRpYyBTSW50NjQgZ2V0U2l6ZVByb2Modm9pZCogY2xp
ZW50RGF0YSk7CisgICAgYm9vbCBpc01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXpl
X3QgZGF0YVNpemUpIGNvbnN0OworICAgIHNzaXplX3QgbnVtYmVyT2ZGcmFtZXMoKSBjb25zdDsK
KyAgICBzdGQ6Om9wdGlvbmFsPEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gZmlsZURhdGFG
b3JtYXQoKSBjb25zdDsKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gY2xpZW50RGF0
YUZvcm1hdChjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9ybWF0LCBmbG9h
dCBzYW1wbGVSYXRlKSBjb25zdDsKIAogICAgIGNvbnN0IHZvaWQqIG1fZGF0YSA9IHsgbnVsbHB0
ciB9OwogICAgIHNpemVfdCBtX2RhdGFTaXplID0geyAwIH07CkBAIC02Myw4ICs4MiwxMyBAQCBw
cml2YXRlOgogICAgIEF1ZGlvRmlsZUlEIG1fYXVkaW9GaWxlSUQgPSB7IG51bGxwdHIgfTsKICAg
ICBFeHRBdWRpb0ZpbGVSZWYgbV9leHRBdWRpb0ZpbGVSZWYgPSB7IG51bGxwdHIgfTsKIAotICAg
IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2ZpbGVEYXRhRm9ybWF0OwotICAgIEF1ZGlv
U3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2NsaWVudERhdGFGb3JtYXQ7CisgICAgc3RkOjp1bmlx
dWVfcHRyPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPiBtX3dlYm1EYXRhOworCisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgUmVmPExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29u
c3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworI2VuZGlmCisKIH07CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJj
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRh
U291cmNlLmgKaW5kZXggYTFlNzFiZDUyMjMyMjQyNTcxNmM2YjllNWFjZWQwNmU1NTgyOTMzYS4u
NmFlM2I1Y2QxZjJlZmQ2MjM5ZmIzNGQwMTNhNTg3NzZmNDE4YzZmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRh
U291cmNlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNv
dW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdHlwZWRlZiBjb25z
dCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlwdGlvbiAqQ01Gb3JtYXREZXNjcmlwdGlvblJl
ZjsKIHR5cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2FtcGxlQnVmZmVyICpDTVNhbXBsZUJ1ZmZlclJl
ZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCmluZGV4IGQy
YjVhYzQ1ZjMwZmQ0YTNhZjUxYjQyMGRlMzc2NDliMTE1MWMyMjcuLjcwZGMyNDg0YTVlZDY2ODg5
ZmNhMzNlZTI5MWVjMTA2YTVmOWY5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KQEAgLTM5
LDYgKzM5LDcgQEAKICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5n
UHJpbnRTdHJlYW0uaD4KIAorI2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+
CiAjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNjcsNyArNjgsNyBAQCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OkF1ZGlvU2FtcGxl
RGF0YVNvdXJjZShzaXplX3QgbWF4aW11bVNhbXBsZUNvdW50LCBMb2dnZXJIZQogQXVkaW9TYW1w
bGVEYXRhU291cmNlOjp+QXVkaW9TYW1wbGVEYXRhU291cmNlKCkKIHsKICAgICBpZiAobV9jb252
ZXJ0ZXIpCi0gICAgICAgIEF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CisgICAg
ICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKIH0KIAogT1NTdGF0
dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCkBAIC03NSwxNCArNzYs
MTQgQEAgT1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCiAg
ICAgQVNTRVJUKG1faW5wdXREZXNjcmlwdGlvbiAmJiBtX291dHB1dERlc2NyaXB0aW9uKTsKIAog
ICAgIGlmIChtX2NvbnZlcnRlcikgewotICAgICAgICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9j
b252ZXJ0ZXIpOworICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRl
cik7CiAgICAgICAgIG1fY29udmVydGVyID0gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAoKm1f
aW5wdXREZXNjcmlwdGlvbiA9PSAqbV9vdXRwdXREZXNjcmlwdGlvbikKICAgICAgICAgcmV0dXJu
IDA7CiAKLSAgICBPU1N0YXR1cyBlcnIgPSBBdWRpb0NvbnZlcnRlck5ldygmbV9pbnB1dERlc2Ny
aXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9vdXRwdXREZXNjcmlwdGlvbi0+c3RyZWFt
RGVzY3JpcHRpb24oKSwgJm1fY29udmVydGVyKTsKKyAgICBPU1N0YXR1cyBlcnIgPSBQQUw6OkF1
ZGlvQ29udmVydGVyTmV3KCZtX2lucHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0aW9uKCks
ICZtX291dHB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9jb252ZXJ0ZXIp
OwogICAgIGlmIChlcnIpIHsKICAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cigqdGhpcyksIGVycl0gewogICAgICAgICAgICAg
RVJST1JfTE9HKCJBdWRpb0NvbnZlcnRlck5ldyByZXR1cm5lZCBlcnJvciAiLCBlcnIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFBy
b3ZpZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBh
ZFByb3ZpZGVyLm1tCmluZGV4IGUzZDZmYWM3MDQzNjk2ZmM3ZWUyYTkyMTVkYjIxYThmN2RmODI1
YTUuLmEzMmRmNjIwNDhkMzJkN2IxMzRkYmY1NmRhMDA3YjcwZWMyNDczZjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJv
dmlkZXIubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKSAmJiBQTEFU
Rk9STShNQUMpCiAKKyNpbXBvcnQgIkdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLmgiCiAj
aW1wb3J0ICJHYW1lcGFkUHJvdmlkZXJDbGllbnQuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNp
bXBvcnQgIlBsYXRmb3JtR2FtZXBhZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcAppbmRleCA0ZDhlZTYyZTAxYjhlYWVi
YWNjNmQyOGIzYTA5ODUyOTUyYzVkODBhLi5jMDY2YzJkNDg3OTdhNGFhYjNiOWJlMmEwZWRkNGQ4
MzhiNGJmNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9U
cmFja1ByaXZhdGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UcmFja1ByaXZhdGVCYXNlLmNwcApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShWSURF
TykKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNh
bXBsZUFWRk9iakMuaAppbmRleCBkMDNjZGM4ZGQ2MjU0MTYwOTlhNTM3MTM1ZWUxMWVjOTEwNzM2
YTAyLi5jY2Y5MGFmOGU0ODIxNGY2NzEwZGM5NDdiMTA5MDI0MmIwM2Q0ZGVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNhbXBsZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaApAQCAtMzQsNyArMzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBpeGVsQnVmZmVyOwogCi1jbGFzcyBXRUJDT1JF
X0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMgOiBwdWJsaWMgTWVkaWFTYW1wbGUgeworY2xhc3Mg
TWVkaWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2FtcGxlIHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNh
bXBsZSwgdWludDY0X3QgdHJhY2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBs
ZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0KICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxl
QVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFj
a0lEKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU2FtcGxlQVZGT2JqQyhzYW1wbGUsIHRy
YWNrSUQpKTsgfQpAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHZvaWQgc2V0QXNEaXNwbGF5SW1tZWRpYXRlbHkoTWVkaWFTYW1wbGUmKTsKICAgICBz
dGF0aWMgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBjbG9uZVNhbXBsZUJ1ZmZlckFuZFNl
dEFzRGlzcGxheUltbWVkaWF0ZWx5KENNU2FtcGxlQnVmZmVyUmVmKTsKIAotICAgIFJlZlB0cjxK
U0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEpTQzo6VWludDhDbGFtcGVkQXJyYXk+IGdldFJH
QkFJbWFnZURhdGEoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIE1lZGlhVGltZSBwcmVzZW50YXRp
b25UaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTWVkaWFUaW1lIGRlY29kZVRpbWUoKSBjb25z
dCBvdmVycmlkZTsKQEAgLTU5LDE2ICs1OSwxNiBAQCBwdWJsaWM6CiAgICAgU2FtcGxlRmxhZ3Mg
ZmxhZ3MoKSBjb25zdCBvdmVycmlkZTsKICAgICBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBs
ZSgpIG92ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9uYWw8Qnl0ZVJhbmdlPiBieXRlUmFuZ2UoKSBj
b25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlk
ZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2b2lkIG9mZnNldFRpbWVzdGFtcHNCeShjb25zdCBNZWRpYVRpbWUmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHNldFRpbWVzdGFtcHMoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVk
aWFUaW1lJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRl
OwotICAgIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+
PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVzZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBv
dmVycmlkZTsKLSAgICBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0RpdmlzYWJsZSgpIGNv
bnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFT
YW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVz
ZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBS
ZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7
CiAKICAgICBWaWRlb1JvdGF0aW9uIHZpZGVvUm90YXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBtX3JvdGF0aW9uOyB9CiAgICAgYm9vbCB2aWRlb01pcnJvcmVkKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV9taXJyb3JlZDsgfQotICAgIHVpbnQzMl90IHZpZGVvUGl4ZWxGb3JtYXQo
KSBjb25zdCBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB1aW50MzJfdCB2aWRlb1BpeGVsRm9y
bWF0KCkgY29uc3QgZmluYWw7CiAKICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIo
KSBjb25zdCB7IHJldHVybiBtX3NhbXBsZS5nZXQoKTsgfQogCkBAIC03NywzNSArNzcsMTggQEAg
cHVibGljOgogCiAgICAgdm9pZCBzZXRCeXRlUmFuZ2VPZmZzZXQoc2l6ZV90KTsKIAorICAgIGJv
b2wgaXNNZWRpYVNhbXBsZUFWRk9iakMoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlO30KKwog
cHJvdGVjdGVkOgotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZm
ZXJSZWY+JiYgc2FtcGxlKQotICAgICAgICA6IG1fc2FtcGxlKFdURk1vdmUoc2FtcGxlKSkKLSAg
ICB7Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1w
bGUpCi0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFT
YW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lE
KQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAgICAgLCBtX2lkKHRyYWNrSUQpCi0g
ICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2Ft
cGxlLCB1aW50NjRfdCB0cmFja0lEKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAg
ICAgLCBtX2lkKEF0b21TdHJpbmc6Om51bWJlcih0cmFja0lEKSkKLSAgICB7Ci0gICAgfQotICAg
IE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIFZpZGVvUm90YXRp
b24gcm90YXRpb24sIGJvb2wgbWlycm9yZWQpCi0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQot
ICAgICAgICAsIG1fcm90YXRpb24ocm90YXRpb24pCi0gICAgICAgICwgbV9taXJyb3JlZChtaXJy
b3JlZCkKLSAgICB7Ci0gICAgfQorICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2Jq
QyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIE1l
ZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZik7CisgICAgV0VCQ09SRV9FWFBPUlQg
TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmLCBBdG9tU3RyaW5nIHRyYWNrSUQp
OworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJl
ZiwgdWludDY0X3QgdHJhY2tJRCk7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZP
YmpDKENNU2FtcGxlQnVmZmVyUmVmLCBWaWRlb1JvdGF0aW9uLCBib29sIG1pcnJvcmVkKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5NZWRpYVNhbXBsZUFWRk9iakMoKTsKIAogICAgIHN0
ZDo6b3B0aW9uYWw8TWVkaWFTYW1wbGU6OkJ5dGVSYW5nZT4gYnl0ZVJhbmdlRm9yQXR0YWNobWVu
dChDRlN0cmluZ1JlZiBrZXkpIGNvbnN0OwogCi0gICAgdmlydHVhbCB+TWVkaWFTYW1wbGVBVkZP
YmpDKCkgPSBkZWZhdWx0OwogICAgIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gbV9zYW1w
bGU7CiAgICAgQXRvbVN0cmluZyBtX2lkOwogICAgIFZpZGVvUm90YXRpb24gbV9yb3RhdGlvbiB7
IFZpZGVvUm90YXRpb246Ok5vbmUgfTsKQEAgLTExNCwzICs5Nyw2IEBAIHByb3RlY3RlZDoKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdl
YkNvcmU6Ok1lZGlhU2FtcGxlQVZGT2JqQykKK3N0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJD
b3JlOjpNZWRpYVNhbXBsZSYgc2FtcGxlKSB7IHJldHVybiBzYW1wbGUuaXNNZWRpYVNhbXBsZUFW
Rk9iakMoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1w
bGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tCmluZGV4IGMwZjEzZDZlYTVjOTc1NzY3Y2U4
ZjYyYWI2ODQyZDdkNmYwZmJiNmIuLmNmM2MzNDEwYTM4YWRlYzQ5NTdjOTcxNDJiMzI0MjI0ZDVh
ZmQ4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0K
QEAgLTQ1LDYgKzQ1LDMzIEBAIHN0cnVjdCBXVEY6OkNGVHlwZVRyYWl0PENNU2FtcGxlQnVmZmVy
UmVmPiB7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRp
YVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmIHNhbXBsZSkKKyAg
ICA6IG1fc2FtcGxlKFdURk1vdmUoc2FtcGxlKSkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6
TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSkKKyAgICA6IG1fc2Ft
cGxlKHNhbXBsZSkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpD
KENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lEKQorICAgIDogbV9z
YW1wbGUoc2FtcGxlKQorICAgICwgbV9pZCh0cmFja0lEKQoreworfQorTWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCB1aW50NjRf
dCB0cmFja0lEKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9pZChBdG9tU3RyaW5n
OjpudW1iZXIodHJhY2tJRCkpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxl
QVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIFZpZGVvUm90YXRpb24gcm90YXRpb24s
IGJvb2wgbWlycm9yZWQpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCisgICAgLCBtX3JvdGF0aW9u
KHJvdGF0aW9uKQorICAgICwgbV9taXJyb3JlZChtaXJyb3JlZCkKK3sKK30KKworTWVkaWFTYW1w
bGVBVkZPYmpDOjp+TWVkaWFTYW1wbGVBVkZPYmpDKCkgPSBkZWZhdWx0OworCiBSZWZQdHI8TWVk
aWFTYW1wbGVBVkZPYmpDPiBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUltYWdlU2FtcGxlKFBp
eGVsQnVmZmVyJiYgcGl4ZWxCdWZmZXIpCiB7CiAgICAgYXV0byBzaXplID0gcGl4ZWxCdWZmZXIu
c2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCmluZGV4IDhl
ZWYzYjJlYTYwNGJkMTk4M2Q3N2QzOGJmNTIxYThkMjFmMjBlZDAuLmQxYzg0NDg4MzY3NDBmZGI3
NWM0MGFjOTNmN2RkMDlkNzhmMDMwMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lv
blNlc3Npb24ubW0KQEAgLTMxLDEwICszMSwxMCBAQAogI2ltcG9ydCA8Q29yZU1lZGlhL0NNQnVm
ZmVyUXVldWUuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERlc2NyaXB0aW9uLmg+CiAj
aW1wb3J0IDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgotI2ltcG9y
dCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5o
PgogI2ltcG9ydCA8d3RmL01lZGlhVGltZS5oPgogI2ltcG9ydCA8d3RmL01vbm90b25pY1RpbWUu
aD4KKyNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJl
YW0uaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi9XVEZTZW1hcGhvcmUu
aD4KQEAgLTQyLDYgKzQyLDcgQEAKIAogI2ltcG9ydCAiQ29yZVZpZGVvU29mdExpbmsuaCIKICNp
bXBvcnQgIlZpZGVvVG9vbGJveFNvZnRMaW5rLmgiCisjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaD4KIAogLy8gRXF1aXZhbGVudCB0byBXVEZfREVDTEFSRV9DRl9UWVBFX1RSQUlU
KENNU2FtcGxlQnVmZmVyKTsKIC8vIE5lZWRlZCBkdWUgdG8gcmVxdWlyZW1lbnQgb2Ygc3BlY2lm
eWluZyB0aGUgUEFMIG5hbWVzcGFjZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCmlu
ZGV4IGZlY2U4MTI5YmQ3ZjdmZGVkNmE4MDRiYTUyZjc5NTI2MWZlNjVkMzAuLjg3MTA0ZDhiN2Iz
NTdjMTYwYjZkY2NjNDFiZmUxZjg5ZTBhNmMyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVz
Q29jb2EuaApAQCAtMzQsNyArMzQsOCBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBvcGFxdWVDTUZv
cm1hdERlc2NyaXB0aW9uKiBDTUZvcm1hdERlc2NyaXB0aW9uUmVmOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWJvb2wgaXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9S
VCBib29sIGlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBy
ZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOwogUmV0YWluUHRyPENNRm9ybWF0RGVzY3Jp
cHRpb25SZWY+IGNyZWF0ZVZvcmJpc0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oc2l6ZV90LCBjb25z
dCB2b2lkKik7CiAKIHN0cnVjdCBPcHVzQ29va2llQ29udGVudHMgewpAQCAtNTIsNyArNTMsOCBA
QCBzdHJ1Y3QgT3B1c0Nvb2tpZUNvbnRlbnRzIHsKICAgICBib29sIGhhc1BhZGRpbmcgeyBmYWxz
ZSB9OwogfTsKIAotYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9S
VCBib29sIGlzT3B1c0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcmVn
aXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CiBib29sIHBhcnNlT3B1c1ByaXZhdGVEYXRhKHNp
emVfdCBwcml2YXRlRGF0YVNpemUsIGNvbnN0IHZvaWQqIHByaXZhdGVEYXRhLCBzaXplX3QgZnJh
bWVEYXRhU2l6ZSwgY29uc3Qgdm9pZCogZnJhbWVEYXRhLCBPcHVzQ29va2llQ29udGVudHMmKTsK
IFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVPcHVzQXVkaW9Gb3JtYXRE
ZXNjcmlwdGlvbihjb25zdCBPcHVzQ29va2llQ29udGVudHMmKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29j
b2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5tbQppbmRleCAwNmJkNDhhZTBkM2Q2OTEyNTBiOGEyNzU3ZDAyNTZkNDQ4
NTlmY2M0Li4wZTFlYjFiNzk4YTNjN2VhNjdlYWI3NWJhMzZlNTg1YWRkOGMxMGEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGls
aXRpZXNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbQpAQCAtMzIsMjIgKzMyLDI4IEBACiAjaW1wb3J0
ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJNZWRpYVV0aWxpdGllcy5oIgogI2ltcG9ydCAiUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCisjaW1wb3J0IDxBdWRpb1Rvb2xib3gvQXVkaW9Db2Rl
Yy5oPgogI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvQ29tcG9uZW50Lmg+CiAjaW1wb3J0IDxB
dWRpb1Rvb2xib3gvQXVkaW9Gb3JtYXQuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERl
c2NyaXB0aW9uLmg+CiAjaW1wb3J0IDxkbGZjbi5oPgogI2ltcG9ydCA8d3RmL0ZsaXBCeXRlcy5o
PgogI2ltcG9ydCA8d3RmL1NlY29uZHMuaD4KLQogI2lmIEVOQUJMRShPUFVTKQogI2ltcG9ydCA8
bGlid2VicnRjL29wdXNfZGVmaW5lcy5oPgogI2VuZGlmCisjaW1wb3J0IDxwYWwvY2YvQXVkaW9U
b29sYm94U29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgRU5BQkxFKFZP
UkJJUykgfHwgRU5BQkxFKE9QVVMpCiBzdGF0aWMgYm9vbCByZWdpc3RlckRlY29kZXJGYWN0b3J5
KGNvbnN0IGNoYXIqIGRlY29kZXJOYW1lLCBPU1R5cGUgZGVjb2RlclR5cGUpCiB7CisgICAgQXVk
aW9Db21wb25lbnREZXNjcmlwdGlvbiBkZXNjIHsga0F1ZGlvRGVjb2RlckNvbXBvbmVudFR5cGUs
IGRlY29kZXJUeXBlLCAnYXBwbCcsIGtBdWRpb0NvbXBvbmVudEZsYWdfU2FuZGJveFNhZmUsIDAg
fTsKKyAgICBBdWRpb0NvbXBvbmVudCBjb21wID0gUEFMOjpBdWRpb0NvbXBvbmVudEZpbmROZXh0
KDAsICZkZXNjKTsKKyAgICBpZiAoY29tcCkKKyAgICAgICAgcmV0dXJuIHRydWU7IC8vIEFscmVh
ZHkgcmVnaXN0ZXJlZC4KKwogICAgIGNvbnN0ZXhwciBjaGFyIGF1ZGlvQ29tcG9uZW50c0R5bGli
W10gPSAiL1N5c3RlbS9MaWJyYXJ5L0NvbXBvbmVudHMvQXVkaW9Db2RlY3MuY29tcG9uZW50L0Nv
bnRlbnRzL01hY09TL0F1ZGlvQ29kZWNzIjsKICAgICB2b2lkICpoYW5kbGUgPSBkbG9wZW4oYXVk
aW9Db21wb25lbnRzRHlsaWIsIFJUTERfTEFaWSB8IFJUTERfTE9DQUwpOwogICAgIGlmICghaGFu
ZGxlKQpAQCAtNTcsNyArNjMsNiBAQCBzdGF0aWMgYm9vbCByZWdpc3RlckRlY29kZXJGYWN0b3J5
KGNvbnN0IGNoYXIqIGRlY29kZXJOYW1lLCBPU1R5cGUgZGVjb2RlclR5cGUpCiAgICAgaWYgKCFk
ZWNvZGVyRmFjdG9yeSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgQXVkaW9Db21wb25l
bnREZXNjcmlwdGlvbiBkZXNjIHsgJ2FkZWMnLCBkZWNvZGVyVHlwZSwgJ2FwcGwnLCBrQXVkaW9D
b21wb25lbnRGbGFnX1NhbmRib3hTYWZlLCAwIH07CiAgICAgaWYgKCFBdWRpb0NvbXBvbmVudFJl
Z2lzdGVyKCZkZXNjLCBDRlNUUigiIiksIDAsIGRlY29kZXJGYWN0b3J5KSkgewogICAgICAgICBk
bGNsb3NlKGhhbmRsZSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTcxLDcgKzc2LDcgQEAg
c3RhdGljIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVBdWRpb0Zvcm1h
dERlc2NyaXB0aW9uRm9yRm9ybWF0KE8KICAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24g
YXNiZCB7IH07CiAgICAgYXNiZC5tRm9ybWF0SUQgPSBmb3JtYXRJRDsKICAgICB1aW50MzJfdCBz
aXplID0gc2l6ZW9mKGFzYmQpOwotICAgIGF1dG8gZXJyb3IgPSBBdWRpb0Zvcm1hdEdldFByb3Bl
cnR5KGtBdWRpb0Zvcm1hdFByb3BlcnR5X0Zvcm1hdEluZm8sIG1hZ2ljQ29va2llLnNpemUoKSwg
bWFnaWNDb29raWUuZGF0YSgpLCAmc2l6ZSwgJmFzYmQpOworICAgIGF1dG8gZXJyb3IgPSBQQUw6
OkF1ZGlvRm9ybWF0R2V0UHJvcGVydHkoa0F1ZGlvRm9ybWF0UHJvcGVydHlfRm9ybWF0SW5mbywg
bWFnaWNDb29raWUuc2l6ZSgpLCBtYWdpY0Nvb2tpZS5kYXRhKCksICZzaXplLCAmYXNiZCk7CiAg
ICAgaWYgKGVycm9yKSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAiY3JlYXRl
QXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCBmYWlsZWQgd2l0aCBlcnJvciAlZCAoJS40
cykiLCBlcnJvciwgKGNoYXIgKikmZXJyb3IpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAg
LTMyNiwxOSArMzMxLDMwIEBAIHN0YXRpYyBWZWN0b3I8dWludDhfdD4gY29va2llRnJvbU9wdXND
b29raWVDb250ZW50cyhjb25zdCBPcHVzQ29va2llQ29udGVudHMmIGNvCiAKIGJvb2wgaXNPcHVz
RGVjb2RlckF2YWlsYWJsZSgpCiB7Ci0gICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwotCiAjaWYg
RU5BQkxFKE9QVVMpICYmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIVBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6b3B1c0RlY29kZXJFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAorICAgIHJldHVybiByZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgcmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVl
ZGVkKCkKK3sKKyNpZiBFTkFCTEUoT1BVUykgJiYgUExBVEZPUk0oTUFDKQorICAgIHN0YXRpYyBi
b29sIGF2YWlsYWJsZTsKKwogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOwog
ICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKLSAgICAgICAgYXZhaWxhYmxlID0gcmVn
aXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNPcHVzRGVjb2RlckZhY3RvcnkiLCAnb3B1cycpOworICAg
ICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJBQ09wdXNEZWNvZGVyRmFj
dG9yeSIsIGtBdWRpb0Zvcm1hdE9wdXMpOwogICAgIH0pOwotI2VuZGlmCiAKICAgICByZXR1cm4g
YXZhaWxhYmxlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogUmV0YWlu
UHRyPENNRm9ybWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZU9wdXNBdWRpb0Zvcm1hdERlc2NyaXB0
aW9uKGNvbnN0IE9wdXNDb29raWVDb250ZW50cyYgY29va2llQ29udGVudHMpCkBAIC00MTgsMTkg
KzQzNCwzMCBAQCBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZyb21Wb3JiaXNDb2RlY1By
aXZhdGUoc2l6ZV90IGNvZGVjUHJpdmF0ZVNpemUsIGNvbgogCiBib29sIGlzVm9yYmlzRGVjb2Rl
ckF2YWlsYWJsZSgpCiB7Ci0gICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwotCiAjaWYgRU5BQkxF
KFZPUkJJUykgJiYgUExBVEZPUk0oTUFDKQogICAgIGlmICghUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjp2b3JiaXNEZWNvZGVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
KyAgICByZXR1cm4gcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZO
ZWVkZWQoKQoreworI2lmIEVOQUJMRShWT1JCSVMpICYmIFBMQVRGT1JNKE1BQykKKyAgICBzdGF0
aWMgYm9vbCBhdmFpbGFibGU7CisKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tl
bjsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CiAgICAgICAgIGF2YWlsYWJsZSA9
IHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDVm9yYmlzRGVjb2RlckZhY3RvcnkiLCAndm9yYicp
OwogICAgIH0pOwotI2VuZGlmCiAKICAgICByZXR1cm4gYXZhaWxhYmxlOworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogUmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25S
ZWY+IGNyZWF0ZVZvcmJpc0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oc2l6ZV90IHByaXZhdGVEYXRh
U2l6ZSwgY29uc3Qgdm9pZCogcHJpdmF0ZURhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0IGIvU291cmNlL1dlYktpdC9GZWF0
dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdAppbmRleCBhZTRlZTQ1N2EyMTMxMzM4ZjZh
NWI3NWVkNzVmNjM2ZjNhMGY1MjYwLi5lMjFiMDIzYjE0MjMwODcyM2M1OTdjMGYxY2Y5N2ExOGEz
MjY3YjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBw
bGV0dm9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBs
ZXR2b3MucGxpc3QKQEAgLTIsOTUgKzIsMTAwIEBACiA8IURPQ1RZUEUgcGxpc3QgUFVCTElDICIt
Ly9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1By
b3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlzdCB2ZXJzaW9uPSIxLjAiPgogPGRpY3Q+Ci0gICAg
PGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+Ci0gICAgPGRpY3Q+
Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0
PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0
PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8
a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNv
ZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8a2V5
PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVD
b21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgICAgICA8a2V5PkF0dHJpYnV0
ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwv
a2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5zd192cDlfZGVj
b2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PnZwOV9kZWNvZGVy
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViR1BVPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1fZm9ybWF0
X3JlYWRlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1fcGFyc2VyPC9rZXk+Ci0g
ICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAg
PC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5Pgor
CTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5
PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0Pgor
CQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGlj
dD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nf
bWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJ
PGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tl
eT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dl
YmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwv
ZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVu
YWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0
PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwv
ZGljdD4KKwk8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+aW5jcmVtZW50YWxfcGRm
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0
PgorCTxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT52cDlfZGVjb2Rlcjwv
a2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4K
Kwk8a2V5PldlYkdQVTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJYUjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8
L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+
CisJPGtleT53ZWJtX3BhcnNlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4K
KwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+UkJfZnVs
bF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8dHJ1ZS8+CisJPC9kaWN0PgogPC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Zl
YXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0CmluZGV4IDYyMWM5MjE2NmM4OTJjYjU0MWNmYTc2
YjYyMzgxNTY2OGExZWMyNzcuLmI4ZTVlMDljZjg5YjYwYzA4MmU2M2FhZWI1ZGY3MGQ5OTFhMzIw
MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxp
c3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdApAQCAt
Miw5NSArMiwxMDAgQEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJ
U1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5k
dGQiPgogPHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1l
X2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5F
bmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVf
cHJvY2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwv
a2V5PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+
Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAg
PGtleT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAg
IDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8
a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5
PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0g
ICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJv
Y2Vzc193ZWJydGM8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAg
IDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAg
IDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PkluQXBwQnJv
d3NlclByaXZhY3k8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+aW5jcmVtZW50YWxfcGRm
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZh
bHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT52cDlfZGVjb2Rlcjwva2V5PgotICAgIDxkaWN0
PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGlj
dD4KLSAgICA8a2V5PldlYkdQVTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJYUjwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZh
bHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX3BhcnNlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAg
ICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8
a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KKwk8a2V5PmFz
eW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19jYW52
YXNfcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1
ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBs
ZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJv
Y2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+CisJPGRp
Y3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwv
a2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJ
CTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgorCTxkaWN0
PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVf
cHJvY2Vzc193ZWJydGM8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0
cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29t
cGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PkluQXBw
QnJvd3NlclByaXZhY3k8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxm
YWxzZS8+CisJPC9kaWN0PgorCTxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+c3dfdnA5X2Rl
Y29kZXJfb25fYmF0dGVyeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT52cDlfZGVjb2Rlcjwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PldlYkdQVTwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJ
PGtleT5XZWJYUjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNl
Lz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNl
cjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGlj
dD4KKwk8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9r
ZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2Ft
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0
PgogPC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZs
YWdzL1dlYktpdC1tYWNvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktp
dC1tYWNvcy5wbGlzdAppbmRleCA2MjFjOTIxNjZjODkyY2I1NDFjZmE3NmI2MjM4MTU2NjhhMWVj
Mjc3Li5iOGU1ZTA5Y2Y4OWI2MGMwODJlNjNhYWViNWRmNzBkOTkxYTMyMDE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3QKKysrIGIvU291
cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0CkBAIC0yLDk1ICsyLDEw
MCBAQAogPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VO
IiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CiA8cGxp
c3QgdmVyc2lvbj0iMS4wIj4KIDxkaWN0PgotICAgIDxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJm
bG93X3Njcm9sbGluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2Nh
bnZhc19yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9r
ZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAg
ICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAg
ICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9w
cm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFi
bGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3By
b2Nlc3NfbWVkaWE8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAg
IDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAg
IDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9j
ZXNzX3dlYmdsPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0
Yzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0g
ICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgot
ICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFj
eTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PnZwOV9kZWNvZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAg
IDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxr
ZXk+V2ViR1BVPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PndlYm1fcGFyc2VyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVs
bF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVf
YW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tl
eT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJp
bmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtl
eT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4K
KwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9y
ZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+
CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxk
aWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0Pgor
CTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+
RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dl
YnJ0Yzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8
a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5
PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93c2VyUHJp
dmFjeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8
L2RpY3Q+CisJPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rlcl9vbl9i
YXR0ZXJ5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgor
CTwvZGljdD4KKwk8a2V5PnZwOV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PldlYlhS
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGlj
dD4KKwk8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+
d2VibV93ZWJhdWRpbzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8L2RpY3Q+
CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0
LXdhdGNob3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hv
cy5wbGlzdAppbmRleCBhZTRlZTQ1N2EyMTMxMzM4ZjZhNWI3NWVkNzVmNjM2ZjNhMGY1MjYwLi5l
MjFiMDIzYjE0MjMwODcyM2M1OTdjMGYxY2Y5N2ExOGEzMjY3YjU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdApAQCAtMiw5NSArMiwxMDAg
QEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIg
Imh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgogPHBsaXN0
IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxv
d19zY3JvbGxpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19jYW52
YXNfcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5
PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAg
ICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAg
ICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJv
Y2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9j
ZXNzX21lZGlhPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8
ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8
dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vz
c193ZWJnbDwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8
L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxm
YWxzZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAg
ICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0g
ICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+dnA5X2RlY29kZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAg
PGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5XZWJHUFU8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0g
ICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViWFI8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+d2VibV9wYXJzZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFi
bGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5SQl9mdWxs
X21hbmFnZV9XS19qZXRzYW08L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+CisJPGtleT5hc3luY19mcmFtZV9h
bmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5
PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmlu
Zzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5
PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5Pgor
CQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3Jl
bmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4K
Kwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRp
Y3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJ
PC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2Vi
cnRjPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCQk8
a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5
PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93c2VyUHJp
dmFjeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8
L2RpY3Q+CisJPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rlcl9vbl9i
YXR0ZXJ5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgor
CTwvZGljdD4KKwk8a2V5PnZwOV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PldlYlhS
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGlj
dD4KKwk8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+
d2VibV93ZWJhdWRpbzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8L2RpY3Q+
CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCmluZGV4IDQ0
YmE4ODU1NTlmMTFiMTJiOGE4NTFkNzY5OTEzMjlkM2IxOWZmMjguLjVhNDlmZWYwODk0ODMyMWY3
MGNjY2Y5NjY4NWE2NTcyNGE5MGEyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5jcHAKQEAgLTQ1MSw3ICs0NTEsNyBAQCB2b2lkIEdQVVByb2Nlc3M6OmVuYWJsZVZQOURl
Y29kZXJzKGJvb2wgc2hvdWxkRW5hYmxlVlA4RGVjb2RlciwgYm9vbCBzaG91bGRFbmFibAogfQog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCiB2b2lkIEdQVVByb2Nlc3M6OnNldFdlYk1QYXJzZXJFbmFibGVk
KGJvb2wgZW5hYmxlZCkKIHsKICAgICBpZiAobV93ZWJNUGFyc2VyRW5hYmxlZCA9PSBlbmFibGVk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKaW5kZXggNDljM2Q3NzFiZjE3NGQ4
ZjlmZGNjOGQyNDFiMzEwNzZiMGM1YjZhZi4uNTZkYmZlNDdjMjc4Y2JlZjRkZDU5OTlkNTU3Yzhi
ODU2NWJjNjJjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCkBAIC0xNDEs
NyArMTQxLDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBhZGRpdGlv
bmFsU3RhdGVGb3JEaWFnbm9zdGljUmVwb3J0KCkgY29uc3QgZmluYWw7CiAjZW5kaWYKIAotI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKICAgICB2b2lkIHNldFdlYk1QYXJzZXJFbmFibGVkKGJvb2wpOwogI2VuZGlmCiAKQEAg
LTE5NCw3ICsxOTQsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9lbmFibGVWUDlEZWNvZGVyIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fZW5hYmxlVlA5U1dEZWNvZGVyIHsgZmFsc2UgfTsKICNlbmRp
ZgotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKICAgICBib29sIG1fd2ViTVBhcnNlckVuYWJsZWQgeyBmYWxzZSB9OwogI2Vu
ZGlmCiAjaWYgRU5BQkxFKFdFQk1fRk9STUFUX1JFQURFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNjkxZGE3OGQyY2Y5MzI4ZWE3
OWUyNGMyZDY0NjIwMDM2YjVlNDI0OS4uNGYwMTk2NTQzYTNkMDU4ZTAxNmMzOTY2ZWRhMTY0N2Zh
NjFiYmIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3Mu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVz
c2FnZXMuaW4KQEAgLTUxLDcgKzUxLDcgQEAgbWVzc2FnZXMgLT4gR1BVUHJvY2VzcyBMZWdhY3lS
ZWNlaXZlciB7CiAgICAgRGlzcGxheUNvbmZpZ3VyYXRpb25DaGFuZ2VkKENHRGlyZWN0RGlzcGxh
eUlEIGRpc3BsYXlJRCwgQ0dEaXNwbGF5Q2hhbmdlU3VtbWFyeUZsYWdzIGZsYWdzKQogI2VuZGlm
CiAKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCiAgICAgU2V0V2ViTVBhcnNlckVuYWJsZWQoYm9vbCBlbmFibGVkKTsKICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0Rl
ZmF1bHRWYWx1ZXMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZh
dWx0VmFsdWVzLmNwcAppbmRleCAzMjEyZTdhZTEwMTk1NTI2Nzg3ZmViOWQzNjBjZjYwNGZjODMz
ZmI3Li4xYWZlNzY1MDc4Y2VmNTEzNGM4OWY1YjRmZGZiZTYxNmIyZmNlYTIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAK
QEAgLTMyOCw2ICszMjgsMTUgQEAgYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKQogICAg
IHJldHVybiB0cnVlOwogfQogCitib29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCkKK3sK
KyNpZiBIQVZFKFNZU1RFTV9GRUFUVVJFX0ZMQUdTKQorICAgIHJldHVybiBpc0ZlYXR1cmVGbGFn
RW5hYmxlZCgid2VibV93ZWJhdWRpbyIpOworI2VuZGlmCisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU09VUkNFKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVs
dFZhbHVlcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLmgKaW5kZXggOTAyNDdlOGMxZDEyMmNhNmZhNWQ4N2U2ZmZkNmI3Mjc5NjM3M2Q1NS4uMjlh
NDAxZDdhNDNmOTQzYWM4ZjRhMDcyODM4ZDczNWVlNjk2OGE2ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTExMSw2ICsx
MTEsNyBAQCBib29sIGRlZmF1bHRWUDlTV0RlY29kZXJFbmFibGVkT25CYXR0ZXJ5KCk7CiAKICNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQogYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKTsK
K2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKTsKICNlbmRpZgogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Byb3h5Q29jb2EubW0KaW5kZXggZWY1NTE4YWFkYjAyZDViZjVjYmYxNjdlMTI0MDdl
ZTkwNzQ3MTVlNy4uZWIyY2Q4MjZkMzczYWU1YWQ5ODM0MDM1OGJkOWNmYWIyOGRiNGMzZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5
Q29jb2EubW0KQEAgLTM4LDYgKzM4LDcgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5o
IgogI2ltcG9ydCAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFw
cGxpY2F0aW9uQ2hlY2tzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1dlYk1BdWRpb1V0aWxpdGllc0Nv
Y29hLmg+CiAjaW1wb3J0IDxzeXMvc3lzY3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29wZS5oPgpAQCAtMjk1LDYgKzI5Niw5IEBAIHZvaWQgV2Vi
UHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKCkKIAogICAgIGRp
c3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJ
T1JJVFlfREVGQVVMVCwgMCksIFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldICgpIG11
dGFibGUgewogICAgICAgICBDRkRhdGFSZWYgcmVnaXN0cmF0aW9ucyB7IG51bGxwdHIgfTsKKwor
ICAgICAgICBXZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyAgICAgICAg
V2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKICAgICAgICAgaWYgKG5v
RXJyICE9IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zKCZyZWdpc3RyYXRp
b25zKSB8fCAhcmVnaXN0cmF0aW9ucykKICAgICAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLmgKaW5kZXggYTU5Mjk3YWYzZmRhNTVjZjUzZDlkOTA4MWFiOTk3YzRmN2Jl
NTQ5Yy4uNzFhY2Q4MDg4NjgzNTlmZTE2ODFiNzA0ZGE1ZWE1MDc5ZTM2NDk2MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzRGVmYXVsdFZhbHVlcy5oCkBAIC04Nyw2ICs4Nyw3IEBAIGJvb2wgZGVmYXVsdFdoZWVsRXZl
bnRHZXN0dXJlc0JlY29tZU5vbkJsb2NraW5nKCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNF
KQogYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKTsKK2Jvb2wgZGVmYXVsdFdlYk1XZWJB
dWRpb0VuYWJsZWQoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFZQOSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVz
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1
bHRWYWx1ZXMubW0KaW5kZXggMzUyZmRjNWUxOGFmMmM1OGI0MmZlNGUwZTdjZjY3MzcxZDY4Y2U2
Yy4uMTZjNTk3MjI5MTk3MWYxOTkxYzQwYWVhODFkMGZmYmQ2ZjY1OWQzYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1
ZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMubW0KQEAgLTI5OCw2ICsyOTgsMTUgQEAgYm9vbCBkZWZhdWx0V2ViTVBh
cnNlckVuYWJsZWQoKQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIGRlZmF1bHRXZWJNV2Vi
QXVkaW9FbmFibGVkKCkKK3sKKyNpZiBIQVZFKFNZU1RFTV9GRUFUVVJFX0ZMQUdTKQorICAgIHJl
dHVybiBpc0ZlYXR1cmVGbGFnRW5hYmxlZCgid2VibV93ZWJhdWRpbyIpOworI2VuZGlmCisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU09VUkNFKQogCiAj
aWYgRU5BQkxFKFZQOSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwY2U1OTkxODkxYTgzM2MwMDI2NjAxYTQwNzQ1ZTYxZmZm
ZGVlZWM0Li40NmEyMzYxNTAxZTQ0MzFiNmQyMDUwNzAyMjBmNmU5N2JmNzNhMzE0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxl
LmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBv
cnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzEx
MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9uczogT25seSBlbmFibGUgdGVzdCBvbiBtYWNPUyBNb250ZXJleQorICAgICAgICAqIHdlYmF1
ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWw6IGZpeCB3aGl0ZXNwYWNlCisgICAgICAg
ICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9vcHVzLndlYm06IEFk
ZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibTogQWRk
ZWQuCisKIDIwMjEtMDctMjEgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAg
ICAgICAgVXBkYXRlIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgZm9yIGltcG9ydGVkIHcz
YyBJbmRleGVkREIgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggODk3OWIxNzg5MmYyN2YxNGFiZjY5NjRhYTA1YmQ1NDliNDA5YzhiYy4uZGU3MmEx
YzhhNmMxMzFmMGMyNmU0NzYwNzkxNTVkNWJmNzM3N2YyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3NjcsNiArMTc2Nyw3IEBAIHdlYmtpdC5vcmcv
Yi8yMTQxNTUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdp
bi1lbWJlZGRlci1wCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSBtZWRpYS9tZWRpYS1zb3Vy
Y2UvbWVkaWEtc291cmNlLXdlYm0tdm9yYmlzLXBhcnRpYWwuaHRtbCBbIFNraXAgXQogWyBDYXRh
bGluYSBNb2phdmUgQmlnU3VyIF0gbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXdlYm0tb3B1cy1w
YXJ0aWFsLmh0bWwgWyBTa2lwIF0KIFsgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIG1lZGlhL21l
ZGlhLXNvdXJjZS9tZWRpYS13ZWJtLW9wdXMtcGFydGlhbC1hYm9ydC5odG1sIFsgU2tpcCBdCitb
IENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJt
LW9wdXMuaHRtbCBbIFNraXAgXQogCiB3ZWJraXQub3JnL2IvMjE0NDIyIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW9jb250ZXh0
LWludGVyZmFjZS9zdXNwZW5kLWFmdGVyLWNvbnN0cnVjdC5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFz
aWMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0
bWwKaW5kZXggYTMzM2I2NWFhZWY5ZGI2NGVkNTNmY2IwNTYzMWNmYzE1MTQwNTBkMS4uN2YwOGIy
OTA1OTJjYzJmMzQ0ZmE1NjVmYjBkYWE0YjI2NmY4ODI5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sCkBAIC03LDcgKzcsNyBAQAog
PGJvZHk+CiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIkJhc2ljIHRlc3RzIGZvciBkZWNvZGVBdWRp
b0RhdGEgZnVuY3Rpb24uIik7Ci0gICAgCisKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
IAogdmFyIGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7CkBAIC0zNCwxOSArMzQsMTkgQEAg
ZnVuY3Rpb24gcnVuRGVjb2RlVGVzdChpbmRleCkgewogICAgIHZhciByZXF1ZXN0ID0gbmV3IFhN
TEh0dHBSZXF1ZXN0KCk7CiAgICAgcmVxdWVzdC5vcGVuKCJHRVQiLCBkZWNvZGVDYXNlQXJyYXlb
aW5kZXhdLnVybCwgdHJ1ZSk7CiAgICAgcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAiYXJyYXlidWZm
ZXIiOwotICAgIAorCiAgICAgcmVxdWVzdC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAg
Y29udGV4dC5kZWNvZGVBdWRpb0RhdGEocmVxdWVzdC5yZXNwb25zZSwgc3VjY2Vzc0NhbGxiYWNr
LCBlcnJvckNhbGxiYWNrKTsKLSAgICAgICAgCisKICAgICAgICAgZnVuY3Rpb24gc3VjY2Vzc0Nh
bGxiYWNrKCkgewogICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VBcnJheVtpbmRleF0ucmVzdWx0
KQogICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5W2lu
ZGV4XS51cmwgKyAgIiB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJl
Y3RseS4iKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJU
aGUgIiArIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsICsgIiB0ZXN0OiBzdWNjZXNzQ2FsbGJh
Y2sgd2FzIG5vdCBjYWxsZWQuIik7Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgcnVuRGVj
b2RlVGVzdCgrK2luZGV4KTsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBmdW5jdGlv
biBlcnJvckNhbGxiYWNrKCkgewogICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VBcnJheVtpbmRl
eF0ucmVzdWx0KQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoZSAiICsgZGVjb2RlQ2Fz
ZUFycmF5W2luZGV4XS51cmwgKyAiIHRlc3Q6IGVycm9yQ2FsbGJhY2sgd2FzIGNhbGxlZCBpbmNv
cnJlY3RseS4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRp
by1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNv
ZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0YmMwMTA4
ZDQ0Y2Q1ZjQ3NDZmNjk5N2U2MGM1ZTQ3MzU2ZmE0ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgdGhhdCBkZWNvZGluZyBhbiBvcHVzIHdlYm0gZmlsZSBz
dWNjZWVkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBTdWNjZXNzZnVs
bHkgZGVjb2RlZCBjb250ZW50CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1
ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVk
aW8tZGF0YS13ZWJtLW9wdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTc3MjgwMTI3MDBhZjNkNjgyNGUy
MDkwODVmNGRjZWUzNzhjNzBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgZGVjb2RpbmcgYW4gb3B1cyB3ZWJtIGZp
bGUgc3VjY2VlZHMiKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgY29u
dGV4dCA9IG5ldyB3aW5kb3cuQXVkaW9Db250ZXh0KCk7Cit2YXIgcmVxdWVzdCA9IG5ldyBYTUxI
dHRwUmVxdWVzdCgpOworcmVxdWVzdC5vcGVuKCJHRVQiLCAncmVzb3VyY2VzL21lZGlhL29wdXMu
d2VibScsIHRydWUpOworcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAiYXJyYXlidWZmZXIiOworCity
ZXF1ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGNvbnRleHQuZGVjb2RlQXVkaW9EYXRh
KHJlcXVlc3QucmVzcG9uc2UsIChidWZmZXIpID0+IHsKKyAgICAgICAgdGVzdFBhc3NlZCgiU3Vj
Y2Vzc2Z1bGx5IGRlY29kZWQgY29udGVudCIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgIH0sICgpID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiRmFpbGVkIHRvIGRlY29kZSBmaWxl
Iik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgfSk7Cit9CityZXF1ZXN0LnNlbmQo
KTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJtIGIvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vcmVzb3VyY2VzL21lZGlhL29wdXMud2VibQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODQ5NGNiOTE0YTdkODc0
Y2IwMmViMDFkN2Y3YjYzNTkwMWM5ZDFjCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNTkxMwp6
Y21jSiQxOXhPaylXI2R6Iz5CUjUrblUoNmpnRD5HIz42JXpIWVQ9aENwWjgxejVEPzh0bk9aYFJg
b2YoPnNRYS0KelVBM3pVTXtLKCZQZEYzK0VkMmNRejV7Pj4tdmdrODFCMmE3amNrUihldV5PZzVH
PDdkYjZ9d1ZGMX1ZfXhoJDZzCnp4eX5xK3MkZ2BmM053e3pLKjlmKEZqUS07ZUBnJTRJLWBIO1Aq
ZXhhUmpMRGwxXiYxQU9Rckx0R0xVY287KHduNQp6cjE/TE9gflR6UEtkVHozU0wlWmhnJDNtVFZx
Xns3JS1BXlRJb1JvJDcjVEgkez1hMz5oO1lGOyReV3Q5S2xBciQKenwxYXhTMEttP307aXhqWGRx
UntvYU09Skw7XnlvaVMzOHI/UCQ3SzxNS3UtbSR7PUk8ZUQlJj91JVJaUEFPT2cyCnpMTExDNUli
ODdBO2VRQHhXQzk+R0U9KkV6YUNNZTZIOGNTUjtSRnVve0dYY3R4Q214QkpPN19RTH1BPClVX1Ni
UAp6N0k0SWghbz1pNzZoeV84TVpeQlRoV182LTcjUjBPOFVIXyl7b25WSntKLXhfe2J7dUVQb3RT
d1NwUkRecF5jQEgKentme1o7cWxJRWM7aTc4RkxhSV48QH1nbk1qRXZtPnlfbzEzOEdwWF4tdnRD
akFreU9Ne2RvKWtEaVZxVjAwOU1qCnpffCpEZU1UPmxAS1lzTio5VzZoeGtCUSpHd0s8VXxIP311
NklQNFc9VVV+Y2k8OzhGOSZFX25mbiZoUyZlb0VEeAp6YGYkJDNEc3J8NUhQbSMhTF42UGU/QTA3
NXhlUipvXktGNk1iT0QofnZRVnZpUmo7Xmx5IT95SUByfWheWSp+ZWoKelZtIWJrbj5FNGZnRlJA
U05WeVlBNVlRYlVEeDxyaW5SVGttLTIrc2A4QTBBNSFRNVJhKFJnazR1XjheOWA0U2xnCnp2WEp9
aGYyZCs8aD92YERMbykjTUpjPWBEPXw/TXEqT0NsUW1qPXZSRkElJkY3M3BLfjY8MEA0Mik2aHBf
c29DXgp6ZVN2Rn0rZEdpTlFiUnApKENtWHFFb1M4Wm95V0tHO1l5UVFSTns/JnNiaHcpY0l4dTJq
TmpRMlElKkB9aXBOLVoKenJAND99bz1zPShfekpSQHFffE9raykhKGdrWmZyYnE4eU9JaUUhaVR4
KDdLJiplPyMhJUtaaE90V01ZK3UqZGIjCnpZNnwkaEV0dlNJOzV3eCkrLSEqdTs3RT9qI2J7I2lI
VXtJYXUpMSpjXylpRFgxX2A2VntESD4tKl5YSlhZVD4lJAp6Z1RuV2lhNm8yRz9uTGlabmxLI2ZG
c2pSV1chWWFObENOd3d3QEJ+fDBFOGEhQT87aGckOCNyNmkyNSN1KkYreTgKemtZX1JnN21gfn45
dkRRcTkyM0t5Um91VHI9ckd6Sl5fME5WX3BhWntFYzE9b2xgfVNndmFYe28kez1iZ0U4ST1JCnpL
UGFJIXMxRyZ9eW9wTXtYSV51akJRcypJWWR9U2lZIVg2NE44VFckR2wkdzJxKzIkPEopRlgoWClA
dDxiV2MrSAp6WEZETX1ZYiZtMlF9cGx6MTw8Zip3UkxOKiZIZ1UlVUpANzsoQGtldEpCIypDNClz
eyg+WT9CYj1sPW9hQ1N4PU8KeiY5TTgyMWIhKVczfl96Xmg+XjklR3E/KW81Tj5uJWI+ezhSYHdO
eVBFfHFxJmVeTkVtME99ciUrLWJ4PmJ7SmQjCnpudFJ4bGtFS1dtOVJOZlhAYk5HRDhFbX5nZmt8
WWFvdkVZVlBVcD4ydzNPP2VRZFhwJXJ2OCpnfEVpSS1BYUVhagp6R35tWTZae3tJans9PHpGJlk2
M3NLQmlWcnJyJVdMam05RHtWTWlyR2B5ayU7WWU+KDdia1oqYHZHKHR7PiljWFEKejV0TmMwNUJi
b1VHbnRibXpvXkZ8PFMwODlyKWN4OFJmO2d2RE1mVGZrfTttT3JlZ2VII0Jqcj4haCFKd3VHaklV
Cno3cnxBcTwkaS03Mjx7R2A/Rn44QGo5c0U/QUBGYHZXKnpnPjNZPjV9KzRPPDhCaFVJbGo8RlMx
TnU2TVVrQiQ8Xgp6dy13QGhHeCtjRmlMX0FTVGdCKFVJcTBoPyo4VjN5ZUFUUHdYfUV4Qj4tWVho
Mj1mKU8kS3QqaWMreXtySk1ldy0Kekh8TlF8X0FDQ3VWc1gkTVpSbE5VQ2k3WDNSYT93clE4cTxG
WGFGRi1mUjl5ezBHOClEeDYmaER1NDd7aTVqUnRlCnokMFJrUTx3dTg/KyhEbHI4I3ROLXlad2df
RUw4PDwod3QqXmRNak54blQ1Qz0meWphZ29pPEdtKlg2cXApbTsoPwp6Rm5AKWAyO1YhMktXK0di
bHVTZ3E+IXF5ZE9sQjd8aHF+JT43QHE0X2BFbH1MSVZyV0xvUVRScGp2aSktX0slMT0KeipmcD9k
YHQtMHxDNXFDb01QZnNlRz5oNkZqZUJYdnNFUlNCKDQ3O2BIeDdJe0w8X2wyZlpWZyVpKldYNTlC
MGo3Cnp4NEl8anpDUzxtYk0yX1UwLXtPeU4jNG4/N2l9Km8/KWQoc1hNbTxWTz1PZlpGdUE/XnF+
JXpvWmIqK21HZD9oZgp6NDljXkc+MyVhY2Y3eyRKPG9AQWZ7cXhxc3FhfUJVXyEjS1RRITUkUGwh
dFdtJWU9ZHlYaC11JSNreG9jNCo7YX0KemdONWxJRWZyOHF0bW8jNSpFU2cxTX5DTE82SzFBYXRW
JWVeanZgYDY8NDhrN0syb0hreilXdnNnfnBqRWlXNlZnCnp5YUNNajc8SGh3a3lYMDFoTCQpWkpL
M1kqOUpvYVhiMHpxKlJCNkI/QSMwaVB3NVNZXmU2P19POzlmRX1tdUJfJAp6VjcoYGcoOUBCKjYh
e1RTSW5yM3VfMChUPnQjZUJVTmZLfE1leSk4NTlKIyVZOE43JVpUV1RyNnhhcE88KHxMQWoKekww
Tzt9VnliPklQRjVjSXhDIzwjNWIjPUxQZWBOU2NMWkMxUjckTHtnaGVabCV6JT1oRmwyamMrT3Zq
NSNDO3deCno8NiVBeVJ3Xip9I1diQVktNTNhe2h0bCpDKjVVYSNjYGhyY28jK0JBRUBST2JSKzc3
ejc5JG8hOUtvVFRiVX4jWAp6NGZ2PzVkeHBKTT4oTWVhbEdnVT9YNyk/bUEzaV9zV2NuWVU+MlJS
NGFqS1drSkM0MyRFZGB6amFVPmRYVWFpIzcKeiRsc3B3JCNSXiMzO1ljcTA0ZTgwdWZZU08tPl53
Mk54PUFaaG0yQDtQZzhzMjAkMjBGRzh8YXVUeHZrVz9wcTckCnpTOHg+blFhe0NBPVZURFFQZ2gw
aEFxekB1UUprNEslbWViej5Ddm5kYVZXZ1gpbSlTUVBWTXM4VyNUTG9uVlkpcgp6O0R8SlZHbjhT
VGdmUUdGbkF4JTMhfkM9R2dMTGI3XkhsM3wqWW5pZkl6Pzd4WjJ8TV5xZW97SFR5cFc9PFVvVGkK
entNSzJaJWZXNz1wWUF2UUpBSTBZPWI8ZVZpO3E8T2BYYzlJWEp8NWZkSjFNR2IwT341RiY0RSh7
JSRPRyZTPHN4Cno0MCgkRWtOcm0xVGItN3lPQHxINmRHUmFxNWl3YVdjfS0wWkJlMislO1VBX1NQ
TGZyVDVIPGtGXlM+fjJvYCglaQp6JndvODVuNmJxRD9eNGtUdWhAMmA4Yj50aC1HP3N+THBjNGJI
OXJeZTQpX3IoY0J8Pm4haSpneClQfjtEcnl2cGsKektWelBxMUY1aGU9bFNrSWdvRzJBYm5TWjJZ
UiVzXzl3ZD9pXlVXJUFTSyl7THZMZHFVPyEoYVlUMyU8bnktU1hfCnpVS0k+Mzw9R2spcEx2O3p7
NHd5dFdgIUZLUllTRlIqb31fTG5ZTVdnMDF6JmApemZPZE08VT9jSnkkaURAIWAlQAp6RTxxSjNe
P1hZbElhdjA7RkF9S3pOQk4zTEE2KngldT48eVNWYWYtJWAhPE8kOyU/Qy1kQkFpLXF+P21vIUNC
N3UKei0oPHloNmw7XnxFeFJpUU1jKU1SVStCQGQlbkJ3ezcjRHRSQHhPTnZaO3lMcTdVVnNVNiFI
e307QEpGP2klQk12Cno4aFpKbHdqbnt0Q1ZuKTczam03d1Bjc0xNWlIldzcwcmY7TGY5U2s3RzF8
ZWJyaUY7RVBiNkpTeVF1el92eCVEVwp6KS0jQHZfN0c/KSVlZzJSUD5CT2BCbVIhIVpIezRBJl41
X15NXnhLRiNrJGpUejQ1TypLJlVuWEtvcDM1NF5CaEMKelpwdDF4I3I/c34tME9WSXhsdGw3aH1T
LTw0el5wXzItfHV7KkdxdzBQfXMlSDJidnYjO0AyfHRWbWhEWG0lWWh3CnozVmV5aUxfJWppYTQ3
LTFsfjBFe2N+fF5HaHEkWGFMYiFBYSM9UnFWWnZmK2hTODZgaSp1N3BVUUBGa1M2PDVJPgp6azso
UmwmRDB5WF9KaUVNR0JoMz5QcnNFZzN3V1VsTSNVSjJUPVhwbl5HaS13TzdZVFlhTFZHbUAwTVdx
QVlSfCQKek5meXlaK3QqYkRLXzY/RSN7UHpxY0k+fEl0Z2N1anQpUUhMbzB5I1dWRTshc0tYZUx5
PXJGdEJlMnMmSzReSlN8CnpOKjZjRXhxM247QWxTVTxuTF82ME93fnR5NnEpYTJ5fjVJSlorUSlV
c0htJnI1PEZhcj1jY28yU14xe3pJc2hwcwp6SV9HPTAwaFFsezIycFJ5UF50al5MREFaXz02JXFj
Q3MleU1kaUdIKilIfXJAR0tCQlVOZ201a01HUUF0QUVURVcKejk/bFVXUkdGSVNAVFVJZXlKZi02
R1RpR29jRWRpVWt0X35Mdi0/ZkQjRSllUmhvY2dfOzZBeW9HNiFJYV9jU0VkCnpJUnlRWHhOSmZL
VGAtJjNNN3ByNz9uIW94Rn1IQnp5TWEoM204SzBiU2k/MW1hMTVoM3Y3ZX1NJGc1TmokNGlFbwp6
MiFVdXkhVFNvTz8pVkxfT0Z9WGVwKj9OUWc3cTZlU1V7O2VjUUpeRyg5NkhiWD85U008PVd3cWNQ
b2NKe1NUOXEKejBYcUI9MkM5OUw1SFNGI2BOeXdmbnkzbldZWiNyIUBnNmk1Y0p9entRaztqfTAq
RE5uKHVGaVpaPFdRKHohIWdVCnojT25pNXoydiNpckpXJipCVC12JitqTGpRT3JsUV9XSHd6MCk7
dkYwPipLK1dTfiVMRSlsdXdnb31BeGhBPUtgewp6KWZ8bT9PUDdaI1NqcjQhYEF4WEEmfmpZWjYh
Rm8wYH4wYjJ6d18wTm5yeX1xQklMdEVqUUkyQ2ErQDs0UXMoVUEKeiRzZVFadkt3UWNeKSl0aUBL
fndVQ2U1eFohaV4/UFNEQXd7ak8jZkxxQmoxXnIpUTIjI0ZpeHdrQk54ZnYxKSk9CnpOJUM2S2h1
NUZBMiYtTSpXQj5+QypPV2dwTWImRzghZHJQajxYQjk8OWAxbTZfRD9pLVVSSnk4OUxaMGhNYUV9
Jgp6JUUyK05kWXVDO0coWm80ZVc5T3omYnY9bCpGdjZmOXU2cjhEMXpCQyFaMzI8cjwkLVc1fjJu
R2pSa3p7ZSVKa0IKeklRYnk0SVBlZjQlJFE5PCgjVjduQkBpYE05KkUyUEwrO2ZCJnJNKnhXVzFY
Xz97VTdtPU97e3lnQU5fS050IXBNCno/SjcjOG1wPTk0bCFPIV90aHI4UEtINkl+WUo/YHxmIUhi
M0UtU2EpSkNPZnpaWnAka0VpXzg/TGZlfTNtcCs7MQp6aDJzJVJAYXgleDxtemFWRXJoTiQkJVc7
VXBtOyQ+YHhVcExpYT0wK1dmcGp9RkRgfT9ffmhLTkdVI09gN2JifWkKekJKWlhEJmljYXU1dD1t
Wk9AdmUhTHZ6aGc4SSRwSzFfYDRidyE5VXBwVit1T2Q2PUtnQVhZNFdOU3cpdl4yVUsrCnpaU34+
c2dEfGclRl5QPUpOTkNiNnFMWj0zRiM+Z0BXX2RKRXUxa058X19QbTlVKnxPTEpPM21IbzQxdyt4
cClxagp6IysoRGwzfjJsRUlqNEx6VTtXT2tVJEAoQmYyeFl2ZXU2c2RYVyZCdDBOTT1ySUZeaFEh
eW9DRElfeWcqVm1eNzgKejlgXkp+LUZrc29KJktodCpQcUNyR2pnUm43Y3UkRFNvSzxtNyFATEpQ
amRlYjs8Vmd3PDA3YDJCQWchKkh5PGptCno7c3RRKW9Fa31oYH1IMFFtSHk+ZEpaRHZuKnNGbEhM
XkZjP1Vfcmc3NnJhclY9fj9EJUxfeXZzUSZTaCNtbWVjIwp6KWtRcE9WQilHTCN2cEN8bTw1a1gt
Y0NCczdGMFUwdDdkR3RFIShhXm1rPytqe3t9bEgqRkc0clh7aGNAUkVZMjIKempxQlljJGkrYUFf
ZkBNI15KTFgxOz1UR2NKWVNTZ3lIeVZnQ18qXzh7UGcxfEEjT0dxS0c9e3dsUnZ+SURDVWNJCno8
VGgjV3I+cSZReCZRUVFIVFh+eHV1Un5wWiV7a2U8Sm5LTXVOO0hGNlVGQUZ3c2Z8JCZMPnl0PXhj
JVZEZDNhPgp6SVdeP0ByZGxOWHtXfWMhMU5EYSNCPj9DKTtOJDI8WHNLVDxpTmpiNVl7JXZBRn4t
OFAqYWlzY2V4Kkc0T1B9azgKelBOTFV2YnczbSlUYFAqTnFlPD1WbElqcUBpOHY9NW8hdjZCWDFe
XkxNcHxwRlJ5ZGozSCVvMTY8ZnJ+KnU/Wjs8CnpiRF4rRUB9ST1WYnlNY056UU8kJnpuQUhFSFJW
VHgrVUluWllGTTJAViNGK3sxKzRqVFJJdjhQQ3Faei08eXE+JQp6UGdgUz1wKCl9PyZeZl9mU2Rq
aTVPKG5TTHlpI2VLbCRobGdnMyNqaCNGQ0xPcFFJMEM4MVMlQT4lb3BXJWNCQ08KekReNUx0MG9o
P3RAeFR7VEU+N3NeJUA4JV92QFN0PlZfYTt8IyEpRmFnVW4hOWRsUSRLI3RTI2FiZD1ZWl8pNk9F
CnpLVjJIJT51cTNhNWJLOVBLMCg/JlY7Qm41NHJ0bGcmdjJ2WXtNVTFncExiV2dSKEJIUy08aDxe
dEw1VUs3RERaVgp6S1M3KVowMVc7a0R2aWFkLW99WXIrZ21PVzBjWkBgV2tCbGdjPSlIU1E7a2Fa
UENlSzEkQ1Y0XjE2R0NhMXtPLVIKellfJjhTamtSfGNRS007fDtje2JXUGVfaVFCbzJ8S3deUlkq
VXJBTEBjcWlBMTRVSncoYzNJe0NvKCVuQTRINnk2CnomVylqTDA9NCNPJH55NVAyUFRtQDFuZVU7
S0RNYEVNX1c8a3FvXzFxPE0mWTRtJkJ5PjsxYFdXbzhrNDlOWWctRQp6P3dZaHpKUWFna0tAbTk/
SU4lVEB5cTJgQDJwKlJUZ1ZLVlNqdCM0cHtxXn5sMzxRUkNeIT1TbFNQVi1tKSlLSnUKekpOT3pB
QStyMnMrSUkpJmlPbH01ZTAwQ3dQPCh0KGhCRGcjb3NoViVDUWdPUTI/K3dlJiVlelhFekJQamhV
THxBCnokOWVJPFlMZnolOVpUP2pSRD9QezZjSXM5TE94SHRPbyNSQ3dXZTYqPnB+cUpZMm91ZXVz
YHZOMzs+TSVMcmNWKQp6YEdtSG8qcVd9ant6OUh0SE1nKWBnU2Nud3RMaSktRCpvRjF1ZnoxZFFq
NEI8TFBtYEVGXjNQd0xKeWpQYj5MZTUKemxUKn4kX3AyUzlwcDNoZXBgRn1AQmAkMHF0OX12KGpw
KXBCN3wtJENWZVBQSzh0Xk8/c3pOTmo9UT9sNSFUI2prCnorPShZZHc3MD9mclB2RDdBN3hVdHdw
a0h2MlUmeiVNRkNhP1oxeHFhbE1AeDQ/eUB9PmBuUihpTz87dF9uMkdwXwp6UmI7V1hgU09rU1Im
WSo9THVUdz8mKjtRPF4pTEg3a1olSUl2Qk90fVBxalMqRG1GblpVeVZhWnVkb1NDbTZtLTMKelIx
PWR6anhaSVI1Pio2NXdlRjlBWH11QXFXOXw1fkpFP3I3PmhxU0BAbj8hclp7ezNNWCNCbjVyYkU4
ZT4tZ1V+CnpOTkh2I3ckKGRMbGV6SlpjJWFgISQleSl2bk5HJDNJVXEzcm5DP0dMMjNGelE8N0ty
bGUoOH5KczA+byFjakZXMgp6PDReKHdKa2JJRnsrdDZqa3ojdjZEZWYoV2RrUWFWRkNAcjxRU1Nt
eiNXMmRlcUx+fShEMUkxWGpkSWduKnBpNioKeko4NT8mUHtjfm8+Unp9KUohalVmPyR0eXdmZVZz
U2FXYUhfeiRZcT9KYkM2WSMjbiV7TSQjeSYmaSEtJHNgTH10Cnpgd0pDcC1uNGIrTCNtNi0+YE91
cGM4eUczeHFGNXFQQmx6IzZYV242THozfDZqPWB6KilxampTS31ybmApZTdHMwp6TXJKeXtYTnh8
QExATWtLaTghazc/WiFRdjV7LUs/bkV7Mn5QRVQ9WFdBSEN+VDY4SExfd2dvIWtXWFdBTVVjU2cK
el5XRzZmPCpkMlg9VjtfenFeRWdjWHFWUn4/LURHPiRoJSR9YH5pWWJ4WXctRmdnaERPWHQqMjVH
T3ZtJkl4ZSheCnp0cX1CbyNVJTchSlRITXZsST4xeShpUFdwOU0kbHJKNilYekZKSyU+bG40SX4m
bVJsPytVUSt1K3VpMGdrezs3Mwp6I0hIcEshVHlSJHpzRjVHdDUjc0Y8R1ZnfmtEU1FzTEo2U2Jn
eiZ6WnJ0MHR+PGM2dypoYnZtNEhUTj8pI1FSN24Kek9AI153aGNPY05TV2tqR1ZrOyhzU1IoQ3M2
QlVBKTl8P2BmU3dyRzZ2KEpCWE1XQntvYHZSM34oP3ZWKmg7P0tFCnp3X2RVYjR8SDsrJFIlY2Q0
VSRyYGVENUE1TSk0bSEjKGd0dC1QcXZzRDdEJWdsaUEwbUdXUyRWdWpaVXc8bXtmVAp6e3lQTTY8
aHBhdEhlTnBjO2BfS3pKel9WKndQJW58QEc7JS17dHRTbDB0TGRjOU57IW5zR3NiJWNtdzQwT242
UnwKemQmISlqS2gmeyQmSHwre1Y7TW43KDMte1ZSUSlTaHM1QVk+cylSezYjXmdWekJMQEpoe1RJ
ejY5SGFMOEc0OV47Cnolaj1JdEBLK1ZqbTZXMVdoJHw3I3grfVcmN0cjP21mVlltfVF0NE5fX0l7
flJ7PEZsLS1naUtnVkZIPjNXWV50aQp6KG9+NHlKWFNhX2dDc25pUG17cTw2Q2IwZilhdiM4OD0p
S3hYN3w0ITc5PUJpRHsyMXMzQFIlYjRadz5JS0AjfUQKektSdm0qMkFRVXw0SzwyTG9Rakw0NiZ1
MSVSRH5IT2lmTjdqQlZTOFghQFh4RnIzU2FTTys5TTgkZmxNamNXU193CnpJPFolPkZmUHhmdEYx
KnV5NkI7PDFTTWIoWGJLcT9xKCRxfTlPbmhidFBtRjxqdDlTYmhHZitKUSpVV0hCcm5+Jgp6WXc3
WDJ0YlNoJHkkbllENVZaYGFGT00yeThpeXJNX1h3SDRPe348X2cxcV5RSW1Ha3p0T2otZ3RlMUJP
SlM1KkgKemg3dzwlMihuSkBAQnwofHd4UHtBPSljaHYyPntzZzJoPncxN0VrbXxmJVhnKG1eUnRw
TGd5Pno/PlQka0k4dVY/CnpXWVl4KFgoRjl6cCU/QGU7TTU+e0k+eX45QXxIVnVFenYpWT5PKW5L
K3ojPk1wRXgxUm5OI3AkWG8tfilzekxtUgp6WnpIUFApJXxFcXllYHJ1TEohaCZ1OX5oYlY7NiFN
bSV6SChva1Zvdm8jSGBnI2djT2soeXR8Rms/NVBHUHxOWlcKenprITdFNHcxKkd6VktQYi0jNFRE
SkN6RWFDMF9jTit8elU1eDFRUXpXdG8leEx4NUM1TVFiIURDSmFRKTVmalFuCnpCXkwjdGlQNyVn
aTYrNEYkNCM/c0goIUdLdk99IXMkdTtINzB+eEB2eEh1Qm5oVDJITjIzPUpXbGpEbFE2XlgmQQp6
RXxQPksjQiFpVTtmczRmJCNhTl5xUDxqeWk/aiNzQSFiclZVcXxveEJQTCNDSUlacD5yajdKejVI
ZURNcDlnO14KejtSMWt0ZTwrPTl1WUAxcnJgQEJuYVQtTWgtUlVAZSpBTkU7Nl9ESURCYXIkKCR9
Ujl9TVVCSz4zVFRqa0x8SDNCCnpMS2c7QWltcDYlTThPZWRHY1pIUEF9czI7I2kqK0JUYU1eODZK
KjNDdWFPPVVtVytoYnRgSyZ8KlkjQkZFemUqUQp6SGt2dzd6ZWxJU29CTUo8IW1mSH1ePz9hNWYk
aUZALVU4a3otK3JRezg4cGQmQ3JrfUNfLWdwS0pZbykpbEJVNHUKekt9WHNIeU9QQkcqQ2BOdUx7
SihEdVhRZ0FMYjlwN3N2Pj5YOFVnO2lCKThLSDhvTT19eF9wYH1kN1ApYl9faElGCnowYi0wPnUt
WjRQSkt6cmFQPT1TZldGeUc2QTVDQFRXPGZrPGx8MDQ8dlRrWCZaT1F7UldpYnNCX2p1U1dtMC1B
Owp6dm5xJUM0SUlyVTlwJlM3ZDVheDNyOT9YYV4xdGpfSXstTjBDK1ZIRm10IztYI0hEJH5Pdkx9
Pj9Uc1N+Ti1HNkkKel90QHN+YFo2TnBkS1NMaG9ed3o0Ny1JRGc7Uj5LPTVaY2FQMi1eOHdOTDBI
dVhhK3B6ViFycTI3TXpDRiZ3ZF9aCnpJTiFRJXdXWEplWll3RjtLWWBUKi19elBuSl9PTWc+ejkw
Mj5wMEg/eWNUREgtPHtyOGJCUHNjdHI0QldqeXxDMgp6Jk8pek1EanFJLTA7ZGQmTWA4NFpRIWhp
ST9WUF84K1p9dyRvSTglNGhnO247Sl91TTw3JTk8Rk0lMyU7SF9DViQKejI5SiNkYWpHY35aKSho
ckdUWCsjYWhFa1J4VD45bnNObFh7NjtkbDR3P1kwK185TUx8dGBjS35TRDBJfk9IejMmCnpkX19p
RHc/OE1DRWoqSjYmODcjUmx1Sys2UDhGR0lsVG9CaVBrYXxvYEFwcm5AdnpoZiQ8b0YhUn12NEQ8
aU97aAp6PUF4RkZINGNvbEIofiZVNUh4eTwxJXtuNnZKdThHXlpEanJQTj5CN0k7aG92WWcxNTwq
VTBSUTg5KFo0MD9NPmkKekc0RExRIy1AI3V5aUpnKmg9I1E7d0QhWD47OFB9KGR4Tnh0I2ZuVnpm
OUE1YzAodSFmNW5nfk5WJTNtNSllVjtOCnokMWBHem45KFdJSiUwcG5ZVCEhIVgya0pwRjhnLVg/
cDVKPkFveHB0aWRAaXMtdXd6eihzQ3ZabFhtT2BJI3dpOQp6MDAxdWVROHVuKjF2THYpQlJoQGZe
RF49PnhvJmhkIUBHP2BNYytYKVhVOTlTUipDdD5KUX1Qd041Vn1RV08zYFEKeio5PFpIdXMrTmlt
LTw2MFNDIytBVHJgPEBFSW09cnVVQyg0SHpLczJCT1lpMDYpMjlgOWdZfWJMZCFlKSp8RyhqCnpO
ZSF7U1d7QkNWQ3JwQF9KMXM9LSlIUV9QIzhQekJSJnQjeUUjQnNKRmxJfXQqek13JXptUjhlViNh
NUBmQDk1QQp6Ykc3dkUxdT4oTnpEIzMyUmxMbDtvMV5XN3hlQytadiQ9ZCo+QT5DZUJzalhpbV5j
NT5xXy1BJXpAfjxXPCNhJSUKelNyREN0S3NiYFg+P1QkRHNLdzNiWX4jfWc/b0l9cSVTKXU8MzRP
a09sS1NiYSRnKXh0UyZrTS1YRTtwam9jcV9uCnomOHB5NVRpTysjPXF1cWtKZllobjQzSlZfKHBT
N3dweGdCQzxCMHkhK3pGXks1eG8+YV4lQVc7MXRvKjd2QGMzeQp6SV4rPjghYytGYXNGanp1ODBr
Xz5ESm17dlhKMnJRclpgWH1BJmozS0VMZW4zX0t1clU2PWFEZko7cV5RaD52d2YKenJwMGYlM1Nn
KXk5b3swRUgpcmp5O1ZEQmFTbT1lPUIkNGpsOEdCYFkqdEpBNkVQdUFPRTEyPVJ6TiU4X0YwX1Zr
CnpgYmpCfjApWDNwYHNqPndZbnZyUSkmbGRSXkZ+NklaM2xFMkxgMyN9c15ETWB8NXV7ZT03USlx
RzxKVCVpTUFfbgp6RFpAWnY/RH5FPWRneTNEJDBEZExiKTF1dm5waXNfYUNydlNQU0hZQ3M7TE4z
KzlqQE4/e3kyel50WUo9UHsqZEkKenckenVLZXE7ZERXYWllJCklbnwjJiFmRFM2WF99ayRsd3M3
IzNsIyZMVVpIe0cpMGtXeVI2YUcoe1FGdjNWUjVFCnp2WVUoPTdBUjtnIylIOyE7dG5VMXB7RDlg
LTFzYkFuKzIzbzJwbF51ME1qZHUjPiYyRXhxezdpMjk0dzI0Y0pgUgp6Nm4lfCFpKERqIUpOcUo+
TVE3eXxObm56c3k1YnsjJiF4VFZLVkFIeEBtOG0qJDY+PlVKODhfI2xlQUtYUmVNX2gKelokWE1Z
clhmejxXPkxGaipOTTttWEhWZEpKdWU/Xz8mITgqZHg0PCo5PjxVVyNXV1QwYWNIXmVRU0MobSsq
Qj9MCnpsRj9HVXNYc3x4b3JZZWVhYDUwYmwkS0EtUn11Kk1GdUtoMio1RF9UX3Yje0dZUENhYl8l
Q0R1Z0xAcHhaYCF9dQp6JU1iWSUrfnhvZzBiek9OMDgoU0l2TGNlZ3k0KzdjLVlVbFNWYHxTUWdv
NyNZTm4/fkctNWJQIyVORHRJWX1rOXAKelZCXnIwSFdKOGlwQFc0UUcrJnpzaWwweHlLKWUlJChR
alFma1c9VWhvcn1GPnQpSmZQQHVvfDhOREJBYnlKWXdeCno9Z0pscy1BTClnKE4xcSMwTVZ0TFpH
fXQ9IWRpbEFWVz1SNlc4Q0F2RkUxc2BKQ0QqRzUpaDUwcCsjKTszTCMzaQp6N3tRWShsTUhDUVpG
RX1AcTx8MlNHOCVmM2FRSkxDcFA2IzF6OGx5X2VZM3s1cStoWnBfITB8NHA7LVp9KlVSekAKekpX
WH1mOF54Z187e3hzdklsNnVAe3J1emF7LT50MjIoeVc/UkI1KT1JWSRzPXRQKHFRQ05nYEw2XkFw
PHlqRTJlCnpFUXQqeGR2bFJla2B6KXFaSmJuayZBZ1Jodzc3Unc1ej03QFIjdUJfVTlgTkxQKH1r
aypMcUh6XmRfX31tP05JYQp6OWMocGwkJjxqfXlTMj85Mz9Kd2VPc2lTX3FicTFvX2J0PztKei1i
RXlsWXp7JlMtZmA+MGhPQUg/NEs0JHMpYioKel54WVpyISlOTTFadU5DUj0lNSUjbnhiLXt2Smlf
b0Z7VCNRNGxgIzYkP15jWm1GKnw1P0cmZUFqNFlvZnhPci1DCnpDbUJRYlg5Q2lVKzZZO356bk44
eThhYmRXVW5fe2NWbCVRbShWbjM3YktVRDk1NGVGVEpaZHBQIVN4PTdpRyM8Swp6U094NCQ+TGkk
KEx1KCk1JUFTO05oMUAjRjtqeFUyQGUwRy00NSNUUzBgQnQtKGJ5KyY0a0pHQ004UTlsN3khVkoK
ektWczdQP1kjVTU9ZlMmQFY4c2o7MW9rYTBKeU9HUyV3eDlxU1chJXE0aWA1MipZNTZrUXg9bn1n
dk9EbkdVKCpwCnp0YHxFbihxWiRuWlBQb1VfKVFnS0NVYmA9ditQZjQtZXpgZ0BZNUNLZm1JU1I1
ai0wUUhWdXB+ZUB4VDJiK0hZQwp6ITRubTQ0SXlRS3d7c3p0cl4yKjRvc0N3aV9NQ1lUNWN0Y1dL
MFFDMDNtYmRYKFRKem03T0AweV90QUFEe21QKUsKektMbVVWME5EP2RBPnBCQ0M2Nklve3EqU3FI
cERsa15rQjI1Z2ppcDk5UjRDYi1mPDw1c3Q8elRrK1IyfHU/djhZCnotbyhaSTE8R0pQbzVxKyRN
bEchJUY4KkhRZ1klalVfP0pKfDgtSFVobnM+YTBFRFgtVyVaZVowVVV3YihMZ24jbQp6NjImc0dR
NE1RcEFyRl5wc2BUc01NQHxgdiFmfCp9UERXOW0lLSpEc1NgSk4yVDxZV3hGPV93Xl5wQ0Q/RGgp
QSEKej9rKVpMVmA8STt1ajd0fWlYekFiNkcrJiFfcl5ycE1ST1RQUUh7S0hHfHIweTYhfXc2JmJh
Xjk5O1FuJiRvNHEzCno0Z2p0dWA3XjxeSlQoaEdVd3dJYD9qOFMkUWRNU0J7eGFtZE0md19sU2NF
UlhlRUIlKV5mJUJMVUJCYX14NTk3Ygp6RTltTENYOGJhJG5PeFomVy1ASWpgKnRLRnBPQU4/O21a
QTx5cmlBdGt6YGZLSGJEKSp7c20yeUJGQmhDe2Z4KDgKejVlRjEzQk1iKWI5THcoWXQwQDRkSykk
YHFGZFkhZFFqKUNWYFJFMENqVnlsP2JfYz1kTSFpPWpCUU5XO0RqV15SCnpxc1EySyVGQ3Z5MkB3
Z0BgTlY+KTV2THY9WH1oTWBjfH5QR1hnM1gkekx3Qj42NTlwOGViMXp8JW9pVHNtNi18cwp6KXQ+
U1Q0PTNNVTRtdzM/dzZTJFZaPFp6ezgmQXc3R2h5UnIkbiptWEA0dEU2S2VjS08ofj1Bfl80fEhG
KEx8JFUKejtjekhzYTkxWDIkKmkranBWayNkWFZDTjcjbnwzTypzM15odTJKZyh7dkFLcFlwbE5g
dyVsdmRTNXd2TDx+YnFRCnpBWTg8V3crRzQrKlRGTDNJOXVAWnYoVVJYWjE8RFdXckxQKTBrfFQ5
Kkg7UWd7VyVjSGE+dGxrWkttfmxANiRQVAp6Q24rITxkOylkYy04JDk+JERGJFR1RV9vLUU9P1Zm
TzkocVo4OEdJVEIqa0Qle3xXR19yVzw2fis7YEpJJEJvTWMKelU/O2xoRipiKndfWDsxVUJpITxj
dWckTUI5ZnBlbDQ/JE9MKmA+TUFCI2Ved19gM243NE9qTTU4UzVaOChlUThhCnpSZHp7WWhRajFY
K3tNfmxmIzMkWF9fPjtJZmswe2NaY1NHNEspSTJgRlh8Wm5pRnR4PmpxSHAlYXRkM0BxSlBaXgp6
JjBMa1p0PFBtRlVhJk87UHMlXn1DUG59Vih+bUQmSTllcUAoJWRaZTRLPmk4QXgzPk1EeG5zRndE
MWc5SzZQTnUKemRAKXkqbmEkajRWP1ZjUWx2aWt1fEZLYzdhcThKc05veT5nS1pIJG1SPz9sN0N3
V3NkdT5NQyp7amUpa0A3Qz9hCnpsI1g3aEhYfWJ6NDchRGlZKmxnP3VITG9XN1Z1eWhLd09iZVE8
Z1VVVGVSdH1TVzB5K2kme2E4d2dhXiFsWWV0Qwp6aTtNJkFnWGpkaUlGMjRLKClNcztkOHx0Zl5I
N0lFelMjQWBTKVcoe199PkFUaE5uKCRXdU1JblpQQTdAWDx9XmkKej5mRDhsbWEhciFJXy1kZjth
VzJQUUJAI30hMXk/dEVxVHszISpwJnpMekReYUI7Wl5HdzBnZlpmbDlGR1VBLWdECnpiP3lgSSRy
WGAyWDZmQXxwfW5RRTdxblNTYWdASVRAbjBBZV5uRiVoVih2V3ArX0J0KGJ0Z204JWpqWEJVQmoz
ZAp6JHZ4MDhgekxPe09AOCNuM0lHeE5MMXZTJXtHNiVQSEc2KHQxUnZ3cDVRQUIxPCM5SnBBS0xY
QHYjdFNlU0lxMF8Kend5PmhZPm9QSFcqMGBoPHZJNyQ0QD1gcUh6JkJhcHQ7bU1gdEhXYz9ATTA7
UEAqX2MxeUMjamomaiVrcUstUW1PCnphZH5rSV5ndlU2NDh0JWA/OTFGUSlUcXJ1VjNxOyVSNUQh
dUVgeHlfUmR4JVNgLXh9c0E1SjxkNlZuZDJtKTc2YQp6R0V8USVNIWVHek1iZF9WN3poZSg3KVpS
Q2lvKV9UMC1wbSoqR1pXbyFoN1hOMHptQGFyTlZ+PE56KW9JJHdeZEoKejFuJDw1WjhaU2N0QjJv
PmdQMCpgX0B3RXE2TDV4PlBIQiZ7Y0E7RTBGUCskS0MpZk45V00pdDRCOVBRZzEoSnc3Cnowenpz
JCNfTz03R35TdyhwaVEle25mX2NyeGl8SDZDNWd3NHFWXnh1Q292XnAtSTUjXjdxVShiSitBWnNR
bTgzJAp6bXx1ZHo5PSRGPF5FQGc1aH5eSkE0Y2o/UCUpWCRsPlV6REpQeHImWjRwYHtTMk5ZZ0xu
QTZCU0o1RDw+MzYmTGMKemBlSWt+by1fNjhPQT1haTdJUWtDNCY9ZVFHakBBZzQhZT9NMlpVQ0VA
NmB9JnByPktrQH1gJGFQMl9DdkMxe3NtCnpCPzY1ajcmcypqVSt5VUN6UXNucWU5TF8xNHFudVlz
fSNWWEx2RmMqUS1AX2Urd0lmdXBacm85KSNUYmlsdUBkcwp6dzUyXjlKNTQzb3ZfT0N4Z3poO1Vt
ITtRTjNDWWI0e0ohJmRGeGpeVXdhcihfMiM4cTZGWGdMSyY8bmNyJHNFIXAKenBrR3xIaCR5VzV5
WX58T1lDe15rQ2lYYEdybU43aj8pcz9waUVVOzlUTUNJcDNpe2Y8enxOWis9VllLSUB3OGRsCnpU
TE0tazFkS0k3KDdKWjB5PXtiVTdqMUE+cmleMjc4YXFaZWs9NGglZHpWTVRNPzI1cSM4cz9CNDZI
d2tSZGZJbAp6K3lCTjlJT1NXJTJXYj9iKDxlMzwoKD5jJlc8Y1k+aztRU34hPSo2U2VOX2ozcEhe
KTFxRDtkZVFSeX01Q1hFO3cKelUhe15eXkUqZHpCJlZJWFc/aUtkJDx1UH0hVlJ9VHd+cHVRUSF8
JV88VUxSNl9vP3BUN1YyfTdaRComJntzQzM7CnpeYnNSM3RNSiNJaCRvJX1QdV5fQ2lsdzh3ezlf
K3JjNE1seFBGR3AreFhfaEtZezMtTGpHPXJEVWpScnMjOXAkUQp6Tndmc0taeGdOOyl5WXkxNVVo
RCZBXkRiYFpYUX43cGMjNG1gezBoN1Z1en5WQ3N7c3l3a2xOcWk5dXNpV1IrWFAKellpLXpGOVpT
OUVIJXdmV3ZJXk10KVI2KURTY2E8LUU9cm8tVUNwXjtLcmIqRHBfZ09vKF40U2pAOWplZWUpVEZL
CnpeR0I/dGBKbz5IeG1JKmkmQVJyUDg8JnwpQHA2RnJNPj9fNjZQT1FfMjQmKXo9cFVEKTElTHA0
dn1OR2lBZj5SMAp6QUtnc3VxclA/ZGtJa1JSeHI8SnExanhjPysyYS1hXjx2cjlBP1p3Yno8O3Qx
cSVTeHRDeUBofWF0I1U4MTZUN2sKeldua25PKT4/dlpRR0laQ3JKZWo1QTdSYl5lWFUpQHAzYUVZ
NmJPfih6VlZwfFJyaXVZVH5EZHdLbXRCc08kMXpNCnpReHkwMVdhPlI7VTNnbSZrJXQ8KnEtNDQk
SyVsbXZCRkhyUmVLUyk0ZE8xfk1nZWIhWCYkKE84UlQ0VURwSGE9IQp6Qmw3WE1QNW9yaUh+XkVU
Qn5xamUmfkI9a2YmeUUpUElGdXY9dnhoankoY1A2X0pFRExSMXRnPTx0OXUjTjkkR2sKejdDI15h
YkRqQmlSUGB6ezRubXpGKEU9bUxHclZWcU1xQ0kyQ0V+Y05SZWJzU0pGeil0TD5hNz97VDNaY3ZA
dXxRCnpyRm5ffU5KYXlfVCtOcT0mQ3A7bHlubyl4TEE5ZTlaVCNRfCpCU3NNQ0UlbFhvUlIwdnZu
fXB4aHh3N2NfS1lUNAp6MG1YdlloRW88dVFIMnk9N3kmQSVvVXIwNk5SI1JCWSlgdkJ4I2o3QjE9
WEFxKXxgdFlaMVhEV2taPStLSzZiMFoKekpNMk56M0h8dmpCKGp5cz0jJUxtRiRNU1o2T0JOamts
OFpwc00yJWchcWk2eVFAKV5jJkR2UlpkQ2xOaG5lQ2wyCnpVcV9ZMig5VlhUVGdQZ3gmfEp2SWJ8
YiF3TzBIa094YnZWWD4xNSMqSUolSkU2I01tc0NncD1lQzZkMlQtUGtTMQp6N1p2PTQpUj9jPiNV
YDZ+Sy1wdVhhPm5POEgrbHRPSXxXbmNuSX0ybGd9ZXtuSjBzfmpDX3JxeVJ6PCFEI2l1XkAKejJE
cHRCcEIqOSU1KChNdD9Qdmxwd2RQajIzTThAJj1JdGtRbGllWmVaIXZwO2t7QlooYzJMWH14ZEQx
RTw7SmlKCnoxMWtZMzUlRUpaRDsobW9FRHthQ0NBbiQrNWJxNjFRIUstQkw8RH1DWEVMJl4jZlZM
YXZzMXNLYjBZT1dBYThxUAp6JGI1MU56eTdrSGo5NTJ7YipxaUZuKiFgIWg7TTk8aW80YDcjISN5
YVRPQERjKWA1YDQmbzxZP0Qzb2AyTk5LQHoKel8rSylyOGVTMGJhSGJJcm9hY1ZGTXd3TTsyMms0
cD4mNXg+VX19QXpHMD8lfGJoQjV+SXY5cG17RiNURDMhcXFqCnpWNnB5IWZ3SjtHbSRGS0sqPm05
QTVCNTtfI2tJXkoqQll3PyQlVko2Jm9vUWBUX2w3TDBJM04wPSpvQDJ3YVN6bQp6TFhgZTlMa0NN
RUsteWRUa14pSUJkYHd3UkFiZVJOeXViX1I5OVkzbXQtOzEjTDZaWUthWmZ9enQxMCVrRVQ4ZjAK
em1lbGB9Vmtqc2J4ZyVScSpZNkwqI34zZXNQYDx+SkkhcEtKZiEhMlB6dUg/VnMxWlJuI089V187
clREYlUtbHBaCno/TjU1JnFJZmpjaWs9WSFJS2J7fWpaVDd9cmVRVXNIYStLT19rNT0yTV5zZWRj
Nj5CTWwqPEVoJHdRe08wdC1tewp6b0NgOTZqe2ZvITNxZVc2QHZPKVRhKU4oVz98YlVCUXIpQX11
VHR7NXVzMSlLWDRENUkzPUM9ZzYpNHEwbilvM1cKemxBREU5OEk8UTNMVEhEMFAtNnNtX2g/flNr
aWN0KUIrUXopXk1sQjUmUihuIz9nQk85c0B0eDRFVHArJGNWRD9hCnpUQk0+dm00MDg5WCRsZV9m
a3BoY1hhdiQ3QFhedVJ2OH5YZWshdkUmX3c0dEg9eGZ8QyFSUXlaaiQldWJBZyZgeAp6TCRpQUpl
VTQla3soRFNOYldPMkVDWikpdyZhJGthLUxSIyY8bSt0XnshZmc7bm5vYEBtaDRkMUNsKHJJQTg4
Z3kKeiEhZXxfQTRjIUQ9LX53MXtUSDBHNTNWd3tTV0glJWdyX211ayErNF9rWlloKURCVEsqUiND
UzNpaDJNKXEzd0hZCnp8RFpVQW00JStmJGE9Njl8OFNCfWRWYGtDLSt3QTA+UjQkX180JV9hbDVt
I2Fxc3EmbVo5OWoxM202QjJtPnBpUwp6Snc/Sz4jTlk+TjA0Q1hPUE5wJm5oNHFxIXpLRSZLXmB8
MFFSUUlhOGBAdyYyK0g1OStlNFg9M0IoeCNaV0E0TX0KejZ5ZVFNI0ZTQ1JwT3FIMm9Wbyt+JSlJ
XntZfjdMc090c09KVkhCUElObEA3K093KnxkX3hTWF8zK0ZEaGRPd18pCnowVSZjZm9Fa3VKQ3du
ODdTdEQ8Sihha3U2LVBUclQlJGR3PSt7QjFOMUo9QW9zM1U0X2xwfSh3Sj5xWjtYaClrMwp6Q24l
XlRrZTJyZlJJP3l+MGYmP2dLQ3ImYStrYSpfZEMwfDExNnQzTkFEJj52dCZrV1BmWTR+RUBXTksm
ISVKa1gKem5kIS1CYk8+WDdBMCk0PlFmcl9RcDxsdmNQPlBkb1paMzNzMmp3Kj8qK21KP2Z5bHF6
cmFLcE4/K2A5ckV9Q0c9CnpJdm8+RXZXcFB3e2pvWHElbyN9WkRVR3tQYkkyZTxxNmF+NmMlRGJz
MStFTHNrbUx5YFQrcjZxeFF5bnwwUV5hawp6bFlOKV8lZXZGO0FyfXA2cCoka2tndmRAQ3FuRklF
P0ozbW4/O0JtSCUtRz1QNUkzMS1vWFRDbGdKbURLTGdJRHgKelpvdDNwYX5mTEQkSXs5eXNKZzUt
NygzUVdaTCFpXldCOXZrMFRaTzd3cl9Dbk56d0wtemtRdGlleFV2QXlGVURICnpsdy0landkTEc2
Y3U4aTZwMGkhcTc7RjcrRFdNXjBnUk1mXzErMmw/SyFnNjNOSypgJFlyRitZJGJ1KUYwJmdGegp6
ck93VEM1Xn5xc3ZkPypqazlOZGxvJCoweW88Slh8dUR+UUdEb315X0NNX1U3dFp8cWBANEV+ODco
V1JTaDlPPiMKenR+dXxIU1lrNTVjb1UoRmE/RCNjNismWVh6ZHozZlo3KTBvbl9JKXchSTJxMFVy
UTs4YjZZalhFY01heiZrNGtECnpgKF5pSjxTaFkrWmR1Vmd5TThVeE13b0hZUzd+P0hva2N2SGgw
TkA+bjFUI2h5fm52dm1WWnp2QnFHYkQlMzxuOAp6N3N2S0BXOXUla1lQKHJBXiNfWHJHV1h9KElm
UDBGQG53RkJBU3BDPDs9MkJ2MUB3P3sodz9BeSpHQXBRQTdUMVcKemxuJCspUTdgYDVESldfbSE8
QiRgVFBOa0FfbGMyNWcld3ZBb0tzMyZZZEtsJXBNSyNDZXI7S0pJeWBfKDhrJWxUCnpvZyF7a2lv
cXFLRV9LNXdvNiZmWG5OMW92YWtMbjRPb0c/bFpWVUcmY1RkYEstfUw8ZmYpam59TEtuWDMlJHch
YAp6ZCRwQ3UrKnVlanhjY1FZYzBPdVdAaT49ZmR5VCFoK3MrfTA4aV82d2x5TnNHe0ZLVkMxZD1P
SkVjIUUtPF5oMWIKentgOFFRT0coRFY4RDJSYDhUPE1LY3Z+MTBjLVV1dFZtKHVJUEFGQFRsPGZN
YlZnZDJkUmY3RFU/UE1iUCRGQUBsCnpFdSo7JWM0bCs/YFJUcU1GcSZTb2N0ZSU5aVNaYTl4a2J6
bT9YcmtuVVg8NWcwRytSUi13Vjt+PH1FIVU8Qy0wQQp6WkV4MER1MD9seUQ2Y3BfPzV5M0t2R0VC
JTRQaWR4VC17Vz9VKWlTRUI8QEhhKjVIenVBTldDY3tOSyVWMFp8Q1oKensoLWcqVmlDYnIrXl9A
cnB4R0ZxS0EpTFNYR2ZjWkxwPXk5ZGs5KzlLUGgkVGM/NFdHISluN2t7PUY1UnM/IVNACnopdVB8
KGNQJiV2ZUpkYkw3YWg/SG58eGJOR2FHQm1DYWlHb2BLPlJrOUVoPmMoeGh4MktzbXBPd0sre1cz
YH56ZAp6ZVRDNypjaDNXZnB4fWk0KypNKlBXX1lRQk4+TFV2ZkJpbFA7ayFXOEhxQjZVNHY7PXJL
KF5eOVJrOGxFbjBxPy0KenArXnFAaDV3PGF6TH1TJm55OGFGT1ZOWjthV3ZNZ3VIbj5FT0J8TEVi
Q3d3VGRzYWolRVU7fmsjakVULXpuMUJzCno0R1I7ZWhfYlNPd2tAR2BmI1pCLTxicFpQUDFSPVFV
P3BoJWZARkNJVj83RCZ6IX4lPGAwQHhGMDE4KVIlaT07cgp6bkdDYiotQHQqZFNwfG04O2k4Q0tv
ZVRIdStybU1paykkR0YhSkNjciVKbjM8KkMmKHZvQSVuVXJsfnJ3aXJ7KF4KekhQUVROcU5KYEpj
U0o9ZiNxbjFtVTR6TFVnRyU7bkhpMjFvVVVUU2BUVGhuMGpjOWE/WTIpV1BkTHJVOW9JKj9rCnoo
Km40bjxtS2d7RGN7I1pZTWB1I3wyZzhwKTM5emNVd1hxdGdwTyZhS0ohcnFTUU5zRGFZNG1HWU1y
bzhwUiN+PAp6JT5HfChSKT8qRCl2YkR8Wis3WiZKYkU7TDlHIStEY05qaFA7bHhPT3ItJXRed2xF
T19zaCNRe1V7bkI1cTkwKCEKejBna19hMU9LVkBkMW93Qz5obU1HUmk8R0BNJjViSiVWRGExaVcp
eWJpdTJyYThTSkVgaSRwQTtFaU5kd0FNaSVNCnpkUFFwJiM8RktZe1FIYmdHRDRsNlEpJmRfaFRS
WWJ7T1ppMDd4eSYmcUhWdTxSUVcqJlpJeUZqbE5lOExKZkdwRAp6KFMoQ3tea3hRXktefkE3I2pJ
Zj4tX0d2WFhld15salpNaS1YQ2FFfFVxVDt7UXg3S0NaN2YjYlhjbkZqVUYlMjcKekgxbk0xJUYl
KDg+Nl92NlkxRlByNDNBSHgra3thPiY1ITMtMUR5KFhiPmAybXtZRHVWYklJMGdOS0hQKHVUaHE5
CnpZPFVBRih2Ni14SHNFa2l6WUhmX2ljUiNCdXp3Z2FXbGxqME8zXz1We0ZofnVscG44bXRGQ24h
OD5fP0A/ezluawp6I1hZJkNLezZOfHtHZm1EKndXKnRpbF5JZy1NMyN1VSFtWk5fd2Q3dDZhZFFo
IV4qcnElTXUrYDQxYjklaTZlKyoKemRrS0teYWd8QyVfd1leLTFWdi1qQzVPTW9tcG8zO2ZBOD9e
Mkd4VC0+dCU+S1ZIemdJeSRidUdIQFVsKnc3cl5kCnpDZjIqOy18fnFJSTdPekZ0NTJFOFZrWEhA
OHRwKkdZelUpVj9MRjZmO3dnUGReNnVSTillX3R0enclOWNgaWkhbgp6dEBMfGlnN190ZyhVdXx4
Mmx4JUtRWXtQQztUJW4zfDBjWUM4Xlc4TCRvcCNHNXo9dDU4R2ptTHtKRWd0bGRkUD4KejQjaTtt
QEFlenRDRU08Q2NkJW1wPz8pWVNSfG8kfUxiazMqQyQoPF5UXkBsc0UyUiF2Nnw2RTtgMncxNndm
RTZmCnoyYGo4TFMzNiVCKV49TGEtRVdKT3hud1dwenlTI3thIXo2Zm5EYE5ATEY0Y2VCPFBzfWxC
bnlzd1Ihb0A7JlBzcwp6eyomV20+TXkkTmg1P3IhT2F1VD5zaGA+NXY4cUhJSDRmNmZ3KWBlTE5a
NUpRNU9PZUFXXndRM3t1JiVVRGpWdlcKeikkbTJsakd9NUN6QiVgWj5+JExrTXhFR1NSfVFkbjJj
bXlOUlZ0dGgtbklRXmY3Zk9xai1Ia1hWcEswQS1fM0VICno8ZUdzYkV5cUhkKzhjaklQOVp1anMr
bmcrKURLNXhSNz48bDdTOGI1UEUpdGktKDg5VHhlUj5UTW1NcXN4XztXawp6Kn57UDY2VmN3KU4h
MTxBPDtaPjxKeTZAflNOXi1kaWdCNmFMZm1BIW1tdTtkRkYhe0JyfXVhV0FwcHRfKV5EKXAKekND
K19aKTF5JUxIVE5nYF5wZzVhPHNFI2NZZHdaRDB1SDt+SHNNZU9xTSFZcClLZlM7bGN2d3BCSjg+
eVczY2lFCnpTI0haaSUxQGVxdHI0NENLfElHNlpSelI7ZCs2OExyQF45Zz16eiooO01uPURGRGIl
KXB2OFppczZsbXFncnQzMwp6ezhBWnI7bVI0WDRkK1k8QUluJiVobWJiWW5SVDhLbyRxeHdyQ0cx
WiZZT2ZycDkmNmV5Rk52Pj05WlVOJShuTCMKelNHWlh3WE1xPjdvYnFaQVd3dl9vI0I4aSQrV0FB
aD0jYXprN20janlpSmtjUUV2bik9cG0jVmY1TDxSSCVmQ2lPCnpjfkxZbXdIJlElPWVeSmtPWkUw
dHded04xUHJgNzRAYD9sN1hKe15rI0ZraSFzRFo4MUxxMWVeO3ZKQUVSJXF0dAp6e14+SiMkTWVT
d2pkYjlHNXhwSkJRNmU5bm9oKj9VTjR0LXBfWDhoKEI2fn01TyhRNTRvNzJBNXJAQXNnQTkzOygK
ejtLTS1SOGJYMTZXTDYkKTc8YD4jPXNUMSY5dHArX3tSRHBJT1hBZ2xNVDRZNmRIX3lzR25WO34h
dXdrcTRiby1wCnpOfUBCYjMwZzZYPj48a2ZNP0Z7b1B7JHVPbihAeHVEQG5HaUM5Yzx6bF5AV245
I2FIdnlUYTE4TkhoOEFNZmEmeAp6Ul5aMChHZUMzaFkoT0UhXlJGMlhYJmt+cFk8P0l8aW5uaTFn
S2c8YDshSmdgIUpSWXhyT3Qoe3EtSHRpY2ooZUwKenpLSypWUCl3RjQjQipTeXFDcElDYz5YODlD
fjNBKT9JYTApZGwyOUIwJU9vTyRjbUFIP1YhNmhsMWdNfFBecHplCnpWNE0xT3h1fXs/aSkoO2tT
XiVFPzcxIUF4dW9pR1plP0tDb1k0X3YySTJPPXxoIXZiSjgqNnBXVXJZYSlFJGk0cgp6NlUlXiYr
MjEzZ3Y+OXpXWT81NjYjVWZ6R1RrcT91dVh+NF9eeEc7a2Q7X295c3BLV3xSb0hnJFdyOzM3aldX
QVEKenZiMDByYWZuO3xWJGkjMUMqRFlxVERPKks5KjJJcUdleyNMMkd4dyFhe2U8ZiNzYDNne0dj
KFo4d1NUTi0/aldhCnpDPSkhaUgyellOXj5jPUU1PyFvPWJeeyM7TUdpNn4qPTcoTVJaTDxlM0Y9
O3U3V1FZZj5waCRnNSpaY0BxNGBhVQp6Qmc8YnZtJVBDampjUT1RX2dZZjw0YnVxRWF+ZDNaQigj
emtkNWl1RUFPdl5GLUNscT5SJUt+ZyQ/UE8jNns9JWMKem07WD5gNWBOVDIpNDYmQV5MbVomUVBe
Z3IycypDOGshdDNnKWxeY1otQG9xTzNRKTgrNTNKe2BwRUdSSDhgN1NMCnpFNFpxfE1UPVFIMjNj
LThsUkM1Yk9UMVI/Y2Y4bDhuJVpHYkpAOW5FTlcxLUAxZWcqJUEkJUhtP2JnbTN5TnxVcAp6ZyhV
VVgldzJ2RkVyantIbXF1R1J7MTwqemY/bV5vOThWc2FhfDZIKzMqcFo3aU0rbD1BZXJedGw4UHtm
ZmZ8XjMKeitad2kwcWpIeVdfV3NHP3tRJTFOMGk7UjtVSyQ/cilnfUZHe0ROSU1gRSRJaD5gJUM2
aiM8VmkhZU5Zb3hFY3pHCnpIaiV1TjdAYyRnPng4WSg3YEMpSExwNW5kVGdiP0Q3WWZANUhsMkhr
YzVafUhHVFo8dEglPklrbTxSNi01TFMjMgp6MlhVNWEwMHl+ZytOfUYtQD5mJXNeNWU3Yk8/Knor
akBLe2lecDQpSXFsUVpAbSs7M2c0QGhAQmdII35xdU5SJTEKemNVdnxtWmFzZWN7SEhwczF+U2h3
PSppPVdETlp3NVVqelMtdDxEbWZxYH53IVQxTHpoWSU5VHJJPj9oV3g0PUtsCnp5b01vUXc2X1Uh
UCQzMl5ZbHtfdiRhNF40ZVItI1FeKlM8Z1omU2ZuLXs+V1pIYWR3bEsxMytxKlJsUzUqWG1ZVAp6
UVkxe3UhS1JMOUd1NzctdWlEWXIrODBKM0Y3RFAtN2BXcVFMNkMwNiE0MytFTUwmUjAwSDhITHA7
PTYmdyhse1oKekkqdzgrQ2VCaGhfLWVzN1VpPC05NW9taSt5Xj4xbjA3RkI+OF5UcmBUOSh5aWd7
c3BqI2RWV21eOTBgblpNYkopCnpnMUVRR3dMM2A0ZzJAKFFvT29LeT9AQUleclVkVjEmKlVMUylX
fT1TYz4penxkdXA0JCEkKWNHMD9jVUZZY21CRwp6NitPSXVWZFRJSlV1UiR3TTI+SjtyMDJOP3Ep
dkd9IzBzfTFPa1MyJG89JiNxQEIpbTQ1c3NqMCQ8UClhUmAkQmEKelotY0tOSTQmWHtZfTteZnAp
QiRNQCR1Mn0/QX5CV2xiaExaJjlgJExzNjUlT19tVGR9enBoaChAREAze0RKN3ZVCnpxTEVHKyt2
Q345QGFiVE14Z2dZZHRfYEZROE5RTVFYfDVqQ19AeTRsYklhPlElYDFCNFJ3KHtmcyk5bXckUH1Y
Zwp6e2x+M3YwaWdYcVAleHxfcmxNfnpQLU9WK2ZVfkNUcVIyfFJENGBrUz1sZlB0emY8NWNpU0Rf
WiZnK01Ncn04fGkKek80dDVkYHp3SCQkTm1Rdnl3JUBZVEJYLU9LWWg5TURHMzQoTWRZTThMdVY7
X0JnQEdVZUNqKiVHVSlJd1M2YD8+CnopU0dXVzBoWktyY2k3SShuaCQpS3hJISpCeXFZUGJea1pE
YktpNyNAQDloTSljREdGTF5iVExKcl4tZzhSYC15Ngp6MUExPWAocnkjcGJpVTIkUDd3VnxoNlk+
JV89K2RFbEc9SXppYj97ek9mY1lHTWVmK1U9NXQ/e0g8SGdXR0g7KUkKeipiKUo8byUyZFE3bSlT
I3VROHBtYE1DJnA7e2BEeGIxZng/O2ZYWUpzITlwVXQ3UX0jeW5afmVRQ01wQFdwKWZoCno7Snw+
O0tsMmdsRVJNeGwrTDt7KE5TKlhvX09HX25LJU81dWdhRldgQTNFZUQxcTR1YGUhJCVINChIO1ZR
PVpRRgp6JWJPUiFFRFZ8VzNVM2MrJHYzU3ViZDBfYzJlND9wdVpUWnVjd0diOGlsTTxwX3Yhb15S
NClqM1RJZFNFbXlRfDQKenhPVyRMZTNwbyoyQGlgZWZ2U2d2T19ibDxqOWZvJWk3Zn57PDFeT3xa
bnR6cmdNISomPTl3WGdKK3t6REcoczVGCnpMSXpQd3lKWDleTSo5Pm02YkZaY0heTlYxeThXdntG
Rnw9YTcyUGVSUTY8I3NFTFgxWm9ifXM+eUJBKXhBQmMzYgp6YSF+YWloPCl2YDshYGRSRSZvUUBV
TUwtVzJJbE1mQ3EyWGBwMnxyZEkpX3Y/NH53RndAc3laX3NuN3FOWVN8VVcKejs7Zmh6SnRWN0Mr
JCRgUGwhTSFDSFMqZj9rNCUhdHZQSSZ1PUxZPCYyMVViPl4qVDE5PXpsWSEjKDJ1b1ljQnY8CmZe
V1preHsmIWVBcCk7LSMwTXJgIWIxM3thNVAwVlgwUSFGYmowa2I+CgpsaXRlcmFsIDAKSGNtVj9k
MDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEv
dm9yYmlzLndlYm0gYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvdm9yYmlz
LndlYm0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDYwYTdlMjE4NTZjZTQ5ZDdhMzNhMzQzYjc4OWU1ZDhiYzU5ZDc5
OQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTgxNjEKemNtZUlhY3tvK3l7fENERUlVTXNtJnF0
WU9BflQwNUx2cWFYUHpWdHNwJHoqTk4rYC11QSZ2fjgzQEt4Vih9O3tJCno1a2gxcldKPF96PyQr
bn5gK2RLXmBfSH00XlNrJC1gYHJFUHYjbnZUPjl5VyN5QCZQUWNudjJDXll5UDFBcEszYAp6dz8/
NFFVbmZ4TyRIcz93b2pJPzZqZXljbUFmVUxkVX5kUTxUKnFJcW5CYG4tR0pCcUVeKGRhaHhhX1Jl
Vj94MHsKekY7NDRCS097RDZfQjtqMlczXyhlWlNePm8rMk5sa3p0d1hqR3hxcVMjZWVEbjR1N2xy
Zjgla2BzflZ9SEN2aTtyCnpJNVlVaCQ8dnE0cztKNFM5K2d2NlBfV2JjcEsqaWhpTVo2RHpyOHI8
eldKNVBmNGF2TUpWYnkoLVh5WGQkdDRPWgp6PjdDM2FmSjMjcGFpSWE4Un09TnpZfFNuOGpqaUdj
c0lSeTMzOD5tYyspTl5UUHskY2gwQG1ZIWBCOVhoMENYdVoKel8+NkRKS2BQNE5AeGRQZTtNI3ZH
Wi1DSk08VDQ8TWY0aXFEcipgQ15kazFlcGw+Y09rPkwwVSgwMWcwPTVOQGdDCnojVVkmVyUpSSh8
b0BzdmxVY1deaXtnVylRezdOVUN4PG9fTGdvfXYhaUIxeFB7eGxuS1B+ZShnSUQzNE85PF59MQp6
c0o4dj5JQnsoeGwmRnJSYDV2Uyg+O0tvb1B+OFd+KXVSQE9wSEAoI2tERjIzOypVMn13YFdHdT1D
U2NpYFZIQX0KemtKWFd2TU8yTE5hVHhWXntgaStONT1wVkk2Jmc2PkRPNG08ViF0VkxlMms7aFB0
MS1wUkB2Zj5fdHAjTntIRn5PCnpKKV5XWmo5diRLe0JiPmAyTj9BUl9WX05uUXI+dGViIXdxX3Rn
PEh1TkNTWlFLcUJkWjFUOGFmNEszJlpmRWoxTwp6LWhQMzxeQT47UzZNaX5zMV93JDYzX3kqJVhP
dldBYm5+MGhaNHJtdHFKUXQlPipYP0NIR2dsVnpyfkZKeisyRTgKelVTT3lDVGgwPnpZTkE/RnYz
KmpwUHRzaUNQM3Jpb2s1Sz55ZkM2Ym9gSXdjfmk0MjIyWW4hM0VeUH5UOUo3c3pDCnp7NElgUCRV
TllDd2hXVn5mYWJ5Y29kPXtGRmlWb2NZeHV1RmhQaDFgQUo5fiZQdmxNJDlUPkFzb35SNHQ4cjRT
Sgp6JlBpJWlwVVZ5RD9WUWIzPl90S2thdmtXaWtAeDB1VWxTY0B7fFNqZGlSak9rSSFMP0ZgYHRh
NDx0LTh0dEI2UjsKenpFTypXQ0BYdyNXfTd9aUxQbWBkbU59KmVYKDB6eXtlQXArXlBOQUo/STJw
KCh3TFJne3t7KH16eF9VKiVsek4zCnp7QykyKSRqRXFjJXZXIW05K1JYVm5EZkNOWEYwPkdeaiZY
clVWKC07RT81N0BgKzErRDM9TH0wJW5PeiM7e08xUwp6MHl0e24xYT9jS3w5WUhCNnUhekd7NyYq
QUcxZiQ/dG5AKk9Ra1Rycj8hT08+I203JD5IUiU7IUdhcisjY3hgRVEKelVnZVgkLSVzX3E/Nl95
UGooISFqbUxgKEw4SjR0dkB4dm42PnRsRjQoPH1+Wks5ZVo8RmdLVzFzYE1XP3U/SkhGCnpmY1lC
I2RsckZ6LT5kdzZFVFJeeSRTd09wTiMlbztwLXJnUVAqJGl6ZVUjSTFnM0QmcTd2JGF3SiNDLW08
P3VpNQp6ZX07fCUwRS1hJktMZTNgJU5eM0tKfTs4Tns5blVGQ0tMcCpwWkg1fSN4KXxRMTBwPkdH
VW5eYj00eyMpPzFtcWQKelpRZ1VaU2c0LTJJT19GNSNsYEJWaTtlQWh5UjdxMGIpbG5veWhiO3BD
alI0Z3E1MztTUnNifF5BQ3xtKk5iPmZ5CnorRCNFLW9LSkBveituem5XWVV6eCYxdHBVQkY0OHhl
USRlNVdSPjJfeyhkaHtze0hST2ZjZkIrZ0RhXmRKZ0Y9Xgp6c1drbE5lQnkxTmRzKEdyKzB5U3k3
TW0mO3s7ekpqelhVRDx6KHRXMCE2R0x0TUdQJkd6K1pHPmBVNzxOVW56PGgKejJGcjh9REV+OVlf
aVdrLXBtckRrKik7dyYwUllmPFI8bjEjPVFtPiY5a2k2U3Y2M0NNRyNzP0RgTTxpJUp9OF45CnpB
Ozhqckd6Zz9JVGdsNDQmOEE1ZklXdXRYNXomTCphPFRZe2soNzZCe1g0fTM/cGp5Z1laKF5JU0lS
XkBsSnZTfAp6aX4xJFNEbjQyM0MkSmFZXl5vR1FXVkEja0Y5OSVUTHo2LUx4RWRNY3spLUYlWTAz
PSFUMT9mLU8jaDBEbjR4OU4KeihhTEAzZjVyYmRle2NpSnhPRlkkeyNQWVBMbn5TPUQrVm44aXAl
dCZtRVdWYUVSZnlmZXxgTyorcDAjfEdHT1Z+CnpgajU3ZGhQMi1RS1FYVFZiIVkkbzNqVioyMDVp
aHNDWHRgSkZndEl9QSZ8JWhme2EqMlhsXyZWcHBDTDkmRWlVNAp6Q199ZnNeZ2EtTTcwbXZQZyRS
PE5fV18jKGpGRjZmPC18aygmYnAwYzVQZ3txO1VYbCVoeGZuTjVie1EhdlR6YyEKejtheEcoNXdw
WlkxfXI1c3wxUn5QQSFLTGZNbnAxZGcjIUJqP3ZxLVE3WDt2R3dKYnk/eEgpYWwzNG5jO1hjN1NL
Cno0JXJnT00qcUxOeyUzPSVBUTEoRUIjO0slcFU2eGlFc0F2M2ZHbzs+RXd9X2lNdVdVOGFuUVNK
Sip6VnBVfVdQKgp6MFNmPnlaPVQ0UXVeSFlqXjM0YGM1OzZYdVd6TyFLSnJ8TVpgKkwwRFZBdjBR
dlk4RG5sK0Vzel8/QW00bkF2YjMKel4yKzFePn5TVHByJEVCaCN9cSZ4MV5BUUJJQXFVODxjVE1o
bHg2PUBpe1gxXkdiPGI4K2EoY3NoX0t8RlR+Yn5uCnpXNDVrIXpAbl5lWSFkI0pUd2VZSVh+Pikl
ZER+XyVeeUAobE5RPm5ebipLS1chUD85dylDSFNWOyt0SndVUzNJTwp6Vjl0KXo9YHN7Ym43alZL
eDRpc09sTl9fekwzTj1uNHchPTttTV4/aCFyMzQteCE3ZXYyU3BafFlVdUdjTHI4dj4KejdkVks/
YlJub1NAKn4xKzNOYnhKRCFLWjdKUks5Ukt2KV9ETzhgTFBFQDhLTnJ5d1I9I0xXOXZCJVdQZ090
ZzV3Cnp2Syg3dlgoYERPWiozd2FUOXsjWlBTUz9pUW5EPEFSJG9kcSgtTUdUMHZoPXg7Qyh0dzBH
MHtCM2Rhd2FfTmhaZgp6Pj5qPTk7dytYKWlnVVQ/Q1deQyY3LVRIVGdLK2I/cUt2O0hrRU97JG4h
MDUxVSU0bTQoZ2N4fFBNSnVHI2BvJXAKejdpU0QwQCh+KlYpXz43MT8za3JFdG9JamdPOTteNF5m
LVZVS2BLays/YCVuQW14dmt2R1hkcUR8QWw4SkdLfmsmCnptckQoQ0FhYTQzamczbzwld0heakck
fGF3aFFSVTxYaWFrZFA2dyFZQHpobHlHbEYyfEpRVjhuSWcyM2t5bUUxKgp6MjduYWBEbkxaPipg
ODM3PGZXNVFfN3B3Zm1wSmFZRyg7ciNWJURiPmo/Yns5TXBuZ3RrVXVMaExQJFI0JCleSz4Kej5K
IWN6Y18xT1VgKX5CJDU2Z3F4ZUBGanNnPTcpbz81fjlPOX1pMEskM19pbz0/KyhHeWZsN3E/fmNx
VTFTOH41Cno7eDZWNnExVHJ6d3gmakE7RyhyLUApUHw7I1d8NnBrQjxJdExWRVFpZ2ZsOyNrO3d+
VClSJlplVzl3bGQ4RTxLNgp6QjNveWxZKko4byt0UT9CJl58QDZ0bXU8dGE+ZCYtRGFNa3xKfn0y
VmF2dF9LRTJ8d29fdmlfP2hvNit9R2o1TlIKekhgSCNQezwwK189TlI1bkE5aitGOWR6X2xjKzM2
OERZPntWSjZUYUBZczZBVUBzbCRFVlIyfCs1UFJkdVcwQ3RECnpIISluaUhMTCleNGE8eFcyfF9h
blJUTnBLczNUT3RzODN5QmppbWh6MzFfNG5QfHNpZSRJPTh6YHh7RUx7UEN8NAp6dngoJldnQXha
U2w0Tm4qLSZ8JUJpUSojbWVgIW8qTUh2U25PTVBVdCRWQn5wUHFZWTthMVlYYDN5e2Uoa3hXMn0K
ejY9eHRybU1tczlwJUlOfHdVbUBCVztkWjBNbHo4IVlaSUQrY3ZnZnM1M29sbkZwKSVObXRQR0xq
PUE7M2QyQmRPCno3dChNRXs8RXVpQX5NZnwzYDxFXyFgTVRgKyhxMWAkMm1ncWohQzcjXnAtdGtt
YzdfbmsqcXw7Xz42UkdyQ0R9Owp6ZGlAeyNwKGlDVnZZRmlhWkBHKHhnR34hVTc/RTkzNTVSQzUw
QjghekJZLXBzekpAU2dMe1hnSjEyRVIkWUApI3sKentoKTk+NEtzQHNnZ1g8ZkY5KXBjb3JfJFlh
ZCNsT2BLZH5ARm9pSStvKHYtcXJyXiZGZGNfdFB7KnZLVHpvYitzCno3TzU4aTJDI3kzJj42Nj55
emY1az5Faj1DRiszOEVQZlNUZUhifl4rMGc7STJEdkMyT1AhOGVkO3BPOE81RVF9Kwp6QTM3fDhZ
fiRlWGoqVyFAMTtzeFMpal56czs9cDJueUJgd3JGOVUoTjJNUEE+XyphRDJ1PClBVXNibDVfaEwj
NGAKenstK0I2LXYhUWlrZGkoQXQrTX1qUzwoTTJkbCU4U0p5Y1c/VyY3WiNmYzV1MV5OK2dpLVNO
UCVGd3d4cVFxUzdoCnp7Rks0OTM8VSpeZ0lpSGZMRSkmdi13T2J0VnxBZ1NXcGV+al9AMDAkZ2Zq
MX5HejMrOXVvMUJ2bTR6QShDNWQ8VQp6bGpfQmVmVkcoOSZpIz5eQHRpQUNiMm5jI0tKZEQpKnQ/
WTQqNkpEUGs7fnc7Tmo5d2hNaW0kKUBOe0JBK3JURXUKejtnb05HZmpUSmNBXjxlKGBFe3crXnd7
cVQ/JG8xd3BJX0JTZTBFNCZaQCN8V2EpOVk7dz1JNjVAKUs9I2NIZWd6CnpQc2d6TkpaSHBVTXdh
JUQ0ISpsO0MrKWlNdE5xSlZPXztBOGQ1XlBEUG5pSFBGdDFlSWQrODNFQFZFKDQpbmkoNQp6NEtQ
REFgSmc1eVFIWGhEYy0oPyFlMS1HYz9YVTROTUYxI1ZJaTJlaGM4UHVeb1JSZEpkfE9TaUtjTU8y
PHJ2PlMKejspfFlFUUA2KUNmLUpTZ3R2a09TWmE/M3NwRlZlfkhGVlEoQ34jKWc+R0lGSl48MUdq
OGJUZXQpPlJ7T3lQOUdwCnplRWVjRUY4RGBLZmA7dTRGcjBiQXdDM3NFQGN+VnE7Rz8td3ApVj1k
V0o1bW5WQis+QitJZXctVWpWN25NVSFibAp6citIO1JYektTU19DJlVUJmQ8eEFEKndPfDh9dEQ4
d29OZHVOV3RYYHZxJmFNOGZGWF4yNT88QjRUMW1Kd3hjZXEKekcwRkJReDZDbm5ocERyQlcpa3dU
LVhiRXZfPnwyS2ZVYE0tdkJ5TEo4XnN6bCUxJFZNYDImd3tsUFdpe3MwTl5eCnpgbXJ1PVp1Q2hF
MFBgKUJmWkZTe0orUChOTE1YT1NQbFcqMztCayQmVzczQXs5UlZ2Pm1NbktxJk9ASiVGWWQldgp6
SnlTQXApXn16N0chKTwmN0o4cXVQWE5feSh5TTA5ZlJrezAmTV5LPl9fI2cyaTRqN30/elc2PmNZ
YztpP0pLRH0KekVDPXdfSUgyfVAtYG5ZclFiYHYpY0dTYEBuVUQ0LSNFK2haYWtLI0Y8bDY7a15g
IWVqZUhgRislejBlZHNsJE80CnpOKShwS3ZMcHtPR2E+UyVOWHlPYno1MXNGJT0qclFHamkxcCFQ
R2Y+U3JCJmF3fDYpSGtraWJwRWRBWnpfM2gwcQp6djc9PzArJCp+Uzc2cmRYPXEyUmF6fm5pZzMl
fl94Vjg1QkNje3lHJF5KOEM5QiM4MnwhZzx8V3lIKlY7aHIzVkMKekJxWWRTWCREalhRdHB+NEl1
UzBMMitGY1p1LSFzeSEzblR2KSNARW8wfFF7UnJROXtLYUE+WnE7JWNFZHdedFRMCnoxKjljbT9p
SW5mUisyNG5MWSk4elpkd0UmMS1FTDViQGF0XlBMQCUoUzw4VmNITDdQOT8oVmZ4Jm1IfiFNaW17
dwp6Jl9AbXllWkU4N2gmcDY0RUlSTXNQQjs7aSN8eCVae1lMMyVmc3A2Wmx9UXRRZVN9TjRlWChQ
RW4mMCpGPiFtSl8KeilHdkw5cFJQcG0oQUZ3U0U/TypXQ3pocG9fZUlmQzI1VnQtTWtrOCNTNUd5
aUtAfjZuTWxfRkdgb3IhI0Joa3xMCnpSQ1RfbzE7a2ZMYz5CeGZBZFFRZkp4MnFGbU0wQnh2TWxo
K0JHdChAKkNeJGo/a2A2WVBFZ1V+MiowQHxBRnZYQgp6Xm49UWYtV0JaKWtOZ3UyOUtTYT8wKUhL
RXFwJlohdU5CfEJkel87UiopcjNnZGpkcCZJXl5hQWdWeHVlYVBZWF4Kemp9cThhWl8xUndabkc/
RGd4NiltVSlPSSZNWDFYWnZKeGwoN2QwOWVFaDxVUFFPOH48Pmo0VT0/JUJYdTxUaVRICnpnVVBs
VystRlJxbTY1WHdMVH1SYEBNI2MkOS1PQ3ZgUjR0U3taTjQ2bVNiYWZZcGckc1pNVGozO2hwUUY/
WExxfgp6RVc3SFNLQyVBZCllZkhuPH0kLTRiKj9jOUVlMjN8V3c5PmNFfmZMOWYtUE08dmE7dmZH
NlJISWI9TDNPLWZuVD0Kej56bW85WkVyTmdLRCkxISswI1NNK3hTZj52KEBPZHI5YENwe3Ezbitm
Z3pDKEtzWHc3Z2h3aCVDTkU2PDQ5eGtPCnpNfmlEKl5AVEVJcDZSUTZ7MnBQWDBVK0VIO25lKngm
MGpPN1hgNX1eTjgjeWQzYXgtU1AyOS0wbk0zTig3b05QSQp6a3hnK0kwdyNDakh7MSZKb1dlQmp0
cXkramNneXA+SDZkUHxUK09zKmU0K3pYbENAYEsmdX1vYDBjamVkZDsjP1cKelNRfnQxMkp3ZlUz
UiQ7V05QbE8mTn5mUHdoTCQqVXkkUGApJGl9Pyl3Kj04PTBNM15HNUdUc1I2UExLczBLbWlqCnpk
digtNjJtbTw8PzhRSkp3Ym56clExMilLSUtZQlp2bWNpIWpEPEJPSE5XV1peMy01THFGSl9MVVRD
TVRvWmA0bAp6c2lSdlR5WmBNJXpBPklxY1BXNDhKc2Y/TyVObnBuZXlxbDFpX2p4SG09eW0oPHly
N2ZqaUozIWZUWjJFKyshc2YKeiVnZTBRUmhuXyooWk4pdWxvRXI8QyheY1R3UXZmTVI8cmVzVElh
KGtFUlZlTjxnJXU8RjFwczE+ZW9kaF5rd2tPCnpsVS0/QXlsMVQ5bmEkcSVoVVBycTxjcTNpKUd0
ZTI8KSEmbVlZYmMkTDUrKkxfVT55RzdnXlU/XmA9RnJ3b01yUwp6KSNodHVsSkd8eyhSbnR1VSNr
O0U2dTs8KlIjKX5HMEI7cmdwNSp5Wl5mfFVPUC08VjwpeXc8NXVuZFRKJkhBYXgKel9HZ0YjWUxh
PHBTTWYwX1FReClBMEg7XlhZcVlqfU8mK20meSNkdUBATClTQ3Y7ZkIrWn5fUU1xbHNDJVRvN09m
CnpNRSVISldQX1VXT30hdD5VWl5LZTA3MDs7KWJUTzlCK05edVIwfjxHUE1pLXliVFAwLVlQWEJ8
UTVyQ3J5d0A5eAp6VDJsbHN4clJmNkphdHVvXns/U1lsSmVVT3gpYT5VU19PQkhpZ2Z1fWsjOE8l
eG0xSXwmMSVWSSE1MkEjVDFHIXQKem8tJEUoZF9zSy0yQGBieFhvbWBLTWl7PyVgSE1kJSkrYnlm
e1VfISlGRXZENUpia2FIPTdeJE4jQ15pVTlaKTNRCno4PVFUYD9hSHcqVU9XQGtjWlZJRDBZQHNx
e1RZMTVTbGVMdHVLKHN8d1ZQeSZ1S2lFJTlreXkkdWZiTGRRZUhoPQp6Um1IRyF6OEZMV3tiWSN6
ViM2IUNleDVqPUYyR1B+a2A4dWRjMEl9TnFqMlBZIT9XeysjYmBiTnM7XnBTVTh1ZFQKelB3T0JI
SUA7X0M9JitQKXNUcUBuZkU1QjFzblM5blhkKUVfVGYwMX09U2xFUU4kbHxuZUU8KH0wKWAzKjxu
Yld1CnpSR1I+PCFMRU5xR25PLWFFWl5BNHdoemRYQ2lLYFAjdU44aWlNX15DWWpIc3JNOS0yWHBO
eT14NTMwPWJ7PDxITQp6Y0xKTEg/S29vN0EyaipGTGZ+fnFKUjxZZDlJcmhLZyprVSNkKjhpQWNT
Wkxsdz5kVmFobTUrdU0ta2grTkpmZU4KeilXNnNDe1lpaCZkM0w2WVZnUnQ4K3NsPWd8OFdPUGhA
TG9oYGotSVF5fj4hTjJ8a3V7eGVKPTxkKDNnMCg0Y1hgCnpIe0wkO2kjXyRuUWhaP3tATkw0VVBx
K1pgVztNRHE9OHlZU3g8fCZUWXZiPTYzZURiMWQ7Tz9AbmpJe1RkVmBLVgp6enBII0oza3l3UHNk
KmVNKkx+MyNwMWt2NVUrN2FYRWxLWi00JVpZMTlUcVZ8KSExRm1EbV9tRFAlREVNVXMqbWoKekRV
ZyFIJDMhS1Y9d1FqVnhXVDVmKlZHQG5YKEJYRz8zMmd2VGcqV2w+eThscj4qSWlXa2JFM2pTNFJR
bXlBI0MjCnpUKyNyRFIzYj9MZDJsckUpekBLJVJQZk8mRWFqQipuc2BffnlwMCZtQHB9aX5YdU8t
ODxMeFl2IXtqKDJtY2gmcwp6ZXQmfjlkc1BgVWJrKms0Z3Q7cmN4JDI0TXojKE0hZjsyYzdRcDRZ
O3NIcFdMOS1sSndEbypxOVY/KjFIeH5uKWIKejJkJDRAN25TVmZofUBgV2ViPkdvVlohQkw7TV5u
WiRFMykxYSN7Tip7NUZfZXolWFo+Mz02bHpWfE50KnkmNSV+Cno7c1Y+ZkNiIzt9YHM/enp7dDFJ
NlZxUWl6ZSFNOX5SVUFzKCRQeExLMzdrWFpOZjNpWCZSaT0tNCU1cHc+NmdIJAp6LTc8R09mX3Qz
fWx6QUpzc29nI1hfUVE/Iz9JTyhwNiN6eCM7dkEhPlZyO14+YVdxYnBaWDZYNEJ+PGJBVXtCSCEK
emUjYSs3KldWRGl0U1NWSUxDfDY2JnxrU1YjST5DfT8xfDwxZmUyKUdeaWVRV3NIYUsqYnFIM052
OW81TWYhMDBBCno5e3BZRUx7dWppVlV6Q00mRmhnfE5scShXZXRnclBzVFFzWUE1bWI5b1hlJCkm
TT5DfHFCbU9sPygqfVQlJUJsUQp6a2l3PTxZZjRKI2R7TSsqQC1PRVB0ZEhCLTc1VG5IbFkzVVVL
NCU8ZVhJdU03KkpwKXxvQTdmKk9QRzZIO1k5JXMKenokNVlJSlo7Q2xsU301YjI4Xjk2SnJxUmlZ
ZFY1KmdPV0wzUEJfPGRffX5mRCRRNn1ZKUVYOzNJKmdqTXlWaiZ5CnpMTiMzJXZBeTZMP1clU0t0
S3Y+OF9gJHRSOEdkdV49VXFHVVpeZyQjTD83UVRvbDg/WUxSNkNyKCpVJWwzMnUrNAp6QChQU2BV
b2FLaThZP0VEYUlKX3FfRzNYO2M9clFod3tPd0xYdnExRk85UHdtb3k7bWtQNjl4RkFlaj1UKSZ0
bEoKemJmQzE1ZW1lM3AwNVdtc0xBWHA4dE15KGMzYiljRDBLcFVvc30hTks5QHpETyU5S3JzeVlB
aVJkXnJkNUMrViowCnpQRXdWczZWe04xUWdfKChYbjByWXlWU2t3N2xeMFJPPGBwYj03VXlmOWxQ
cEFDIS1QfU1iWmBHQVZ5Jjgrb3t6Sgp6TDs0cWVAN1ZGWU1mZ05JNUUwJEA0KENDfEprb0pESHVr
d1NOLWREd0Zlfj13X3JPeHUqSUFYIS0tR3FERTIrQlQKejdtWlk0TE1UKmM/JVBjS0ZhVz1pN0ok
ZCQ8akt5P2d4eGB3dHRjV1I9eSU8bj9MRmo4UjBXc09yRlkmNj9Pd0FKCno+YUViKnpJZ3BsLXE0
Mzh3QVglMml6PVdHLSRpWH1uKXptUUByNCZiK2NmUmlNa0EhM3JaVzN5c34rV2heZ3B6Mgp6QXp1
fW5xeWo0JiFYYDNrbX0wajVFOzE1UUUtSFgpUCVPPnkjPzZWVF8+TDszKCgrSUlGbHRLKU1MUGFA
VXtNekwKemxAajFpQXlqc1YwS1VRZEpoS2AzJUImKFdvVnYlS0dSSUs0cSlxQVdacENIfjV1KyZX
S0NKdjhhfCFQMyN7Q3tECno2aDhGYzUzazlFMyZ9JFBJVGBRb0F8VyhTRmJNbFo0KFladiYpRWZq
cCZtUFhFPkUkWXs/RX14KW1MJU1IfUlSXgp6SEhmYCgtX0hHdCFXe3c3JThCK3IzRGxyNzlmZW4j
Uk19RERuLTcjYEB8c2xSYEZTfVR4K2FDNjhKdDE2bCFURm4KemhaSX09LTlLbjx6cHJ8diQ8X0Jo
aGF7Z35mb305MTtyVGlBPD9HPFA4ZWl+QTtueFM/b1N+VEptZDhRLTU8Y0VoCnp7NCFQWkdXekU2
dGcqWHVHbVdJUEV0RUswUVA+UyNEemZxTlE3QypQa0JiXnxYOWNCI1pqVlp0ZVpEJCpmaXgxVQp6
ajVgRiZ6UHl1OU9BQk5gSHxsKnxXfDRWZksreExaViN8YipHPFlwRj0wTGc/Q1YoQVNoeGhwRmUw
TVo7JXJ8bFUKenJ5IWNqRXA3TTJKMF51dCVufkpsbmRCejs1K1NNVFMoI3lSTDJIPjFqNzxDWlpD
aUdPenRGc0g1KllwM1l+TmBWCnp7KTRZPnJvUGN1PFhWN21HaGd7Nml6NEJ8OXQrQ0hwKlFKSEVz
cm9lYVpZdWxHTklaRG1OYEFBMlI/dEZXOE9PIwp6UVMkZ31Zdyl8OVRae2dEey0/bFY2YjNJd2Zu
VUp3RTEkaj4/bUc0TDRYO2xOYGU5JjBFIVlpST5FTmhgZzUrMTgKeipQRld1VnRPJXdILTY3VXpW
ZkVlMHE5VlRJMTZBYyUqWSlUYUx1ek1hIWc/O2RLZCNRbHY4d307Ozl+Z2koI2t7Cnpqa35wRW89
fUhqQVRmfmVkaz1CYXI1dG5zXypZNkxOTXkyLVpwNzM7by02Nit1O2F4S218P1laMW5VPkNoRGkz
Tgp6ZmNfNG1xITtTKDUrR0sxb00tbDlQaihpe043d28lTTIrbE4wKzl1aCRAazwtbjs4UjgwUnJm
QEBmfHBQO25JRWMKelVeKTFsdHwralVTcWRsK3FfOEdRI2JYYmtPOGVBWU9LXjJVZEJfSFRfQiU9
fjdPSkJyOSZrK0o/MUJfTTNsbHR4CnohbmYoTXUzM1UlUz5ROHdZdHBpSWN9aEdUVkNfcm5BcDV3
c0dLJX41OHZjUyZoYkVvR3AmfkxiSGpeU2FtYWheJQp6PV5VdWdYX2RTa2g0VHx3JWhjWDtEZmU3
KzxENl5PQXElTn0wMyNQM1pLT01uYFU5LXlBcVdKZ0txMDVKQkI2TzIKenJrX21KKGJlWVlmbmVJ
Qk9YTW18UWxWYXlGP2pVO20lcF54RXNaOG9veHtxTj92UWVYdW5vU0ZfSCtPTSF0NXB4CnpGNWBr
MDJnI2g4UUhvbiVUemR0QClGMFg1azFve1hCUzJDSTszVnFtaUJXJk93ISlHYHh1dDErakVkKGZM
U0cyPQp6T3Z3a1FwLX1QYT13MWVuVWU+PFkqMy1fWCpCPXZFNW4mQ3ZuNURVKSYtIUdPO2JZaXVK
S0R7NmZzJVBXe01OWisKeiZGTFhmN2duYTVGUWlMQEYzRFEzUTsmOX5wT217WTRKTk5aO01SfT4y
TUpHVXB6eCZuQiNDY2t0JDwheWdQV1ZSCnp3SSEoaU1nUjhpdFQqNGQjNmZIemRgaERYXigrOXA/
MEJuU15DQzE7JiY2PjA7YSZ6S1hlM3JgOUVUZDUoRiYpYQp6VmpHIz11VWY3ajIoNz1tMmN8blV7
SmB3akRfJSFIa3omeUoqX0c2SyQ7fFBqejJFQmAhQFFGUzhecHVBQCt7MlEKekpWKHk5QjM5eW5l
cUAzTz8jRDYxQHxCKD5ORWJwYV5fNlNgdGkja3tecyROazAjdTxNR1hjX3IkN3pvTHNDdzN8CnpD
I3lSZ0RhTXtXWntEQktkO0U1JHlvNCoyOWFsamxtRnhaO0tEKkNhS1ItfD41aWs1Xjs3RTltTipQ
d2V6bnJ4dgp6RyN2VTFRXigpfmJBZ3lSeUkpR3JyTitLUEVnYThjZip3K3p4QGNNTHRQRUxNZy1U
cU1NUE9ueUxwNj9kSiZvcG8KemNXOGhXOzIqPCtxQztEaUtmcWBrcmoheSNeR0krV3VXUWRSaU9P
KU1ZTiZaNkZ4PyNGTEVvbCV2ODBiNTAoYyp1CnpxKz1JYG1TQFpnenBtOzs/Pk1oUC1GKzx7QVZ1
Y34ySzx5a1l5QSRZe195I2tDKmU9eml8RC14SzVuKWQyZ3E3cgp6TiV3c2I2KUloQmg0PU8qSEI2
Q0IzMnM5JWQtTW8qRShUM2MwPXFffmpHVWxUdzx0bTZefHlRfTQjO1ghQVZCdTsKelE1eEhkd2hN
Z05od0Amd2EjajMpNzxDRz1KOGJ0NFkrfmFMOCFwUSgxYGpAOHhzRGR5JD1HSEN3Rik4ViZxO1NG
Cno0c3NJe1JlVXIodWVEIzgre3p5SCtNaFVMLTA/QDBJV2Y0ZSVYI1JPI0k/aD1uY0MwNzNWPyh9
cjxyTHYoTXNqRwp6JUV1SiM0RTJmKFUqbjsrRDNPfFRyJDVSe145cGg1NCFyMlJiJHhpLXEybG5e
UG9BcVlqNSRCQGAjLXVLRihPcGwKelh+N3gycmZjYWQ5PjNnKjtzZ1orQXV8VEEwPnJpVXttPk9F
eTspTWAwPSt8Q1p+diRPe0JDYiR7TVd0cmMpRCpXCno5bWJxY2JvWjAzTjRqY017bG1FQnc5ZT96
NT1EOHxpP0U9SzJeN0lQOCRrdVN3ZCV+bEwhbD1GYHxBJTReeWJtawp6cnRyaSN7IVZAaCFxbD9i
eUFlSU5gdyhyJVgjbGhhNUFsNGppKFB1cG5PSU5ZRV5IKH41d1A8X2FsNnhwT1YzQV8KejkrXzlR
WD5YYG9pNlRQM1NDOTdRY0d1cG8oO0dWTjluKylqIT1GPnpEQH1CbXgxQCE/RGB2X1QpKUFtYypt
RkFjCnomYVVeQns4Mis4Nz1zKmQ7NjdtNUpFWGwjT2x+IUokUUY0PTJhUzUwZ0RYeU41M2g9fU5E
WjNNZjVJRno4M1F8aQp6LVNkQ1opfGZaMlJKREcwdjI3Oz9sWUlzUCp3NCY7S2ZoTE84Ul5zeXp1
STR1UndeQ3x7UEN3TV48fll0KGhAdVMKekxENSptKms9fHtVJFBYU3h8eW9EdXt1bWBDQ1V1emVI
cCVWKi1eWHI8Nko4RD58RHMqYH5iVlRxTiY0MG5LMllSCnpLX3x8OGcyR3c/bG1Qb3JHeFJOM3tI
fnNFeHc1KileQGYrM1FpZDZ4RmZxP3Q+Z3JEMF8jQiVudCF3PFdmN0NyTAp6PG5oR3A7XjdDTkBI
cWlXTURRYCY5R2NEZV4xSGR8THclbChrUCRiWDclKj87aTVePSZ6cSlAKCkjSiN3YkBLOXQKeiZn
QEF0ZHdVSiRWJCp1cXl2WmNHdXo+KDIhPTRefmUrK2QtVS1pRCRqaDxmeytHIUZ2Ty1uKCVIPUM+
MytjZWF4CnpyckZtZVNINjVZeGE4S0cyTnpaVUctK1YzU3dlKiExbjRHJFpBPCVVdkNyT2J4VzQ/
OUtTPmdLMHYtI0ZaVCQkMQp6ZWN1eEdmZ0lXek99NmsobmMzWGpuMHdNKnl3fnZmJCV9IUh0THgx
Vlc8NTZfT1N3STJ7Y31RO3ZhcGk/LUdaSEcKek1vWlh1PnNQWmNEfTtTc14mTF44Sz1wNDtFQTBN
fHkpemxXaHx2KStQeUprXzhAPUQ/PmFUOHw5T3hAZTlfKyhiCnorcUtlcj5LYk9iRXU+QUdtQSs+
dilIX2FxR1Q7JlF4PnIjfEFAfHRsWjJhK35FXmo9RmVHR3k9WjZSa2cre2U0Zwp6TT5XciFjJTBL
dEEpKXVsb0FLUDReQz1kV0BfJVokYGBhTWctZElzTFk3cmolSn4wd0txTi18TVNMcipoIyVnUyYK
elYlfH52bmtgaDRtYzdNZ0E4MktsX3dmYWNGUUE0OHp0NzBrMV47Pj8+NztXKmthd15tLU1HYGNZ
fH5ZVjhYSERpCnpLQFBnKkA2dmAyd3czPiFRc3YxRlBsQz4oY0loZzl0Rjx3bXl9cD5TJEd0ayY7
YFRQJF8/Uj5ISkM8aVo5dFN2OQp6Tmh4KVJecX5KYHpUZCpXKGQlMXBpS3UkdFJQfFkqQSkhPW09
Rl5QU0xHSEZUNzNXU1hiSXVRe0k+M0xwSyNkJTEKelFrKW0kMkB1TE8xPWh+UylkRnlKZyN9cCNV
RU0qOERnIXJZbXA4dWh6I1RoQkFqd0J9bm0kPHFlNWRYc2l8MkIlCnpYS25RTm5JY1FjY05tSmRO
ODx4aE10Pl85ZUdHV3xXZGhvS2s4SXVjMWdIUzlgKGZUNG9uY0QkSnA2VVUqWT8kdwp6R2A1c2dX
dmFTTyR9al4mPnZzY2kkWWh1cCUzZTFkbEB5KSg0UHo0MEFHZFpJYUVtP3NAUlpTcUAjTlFkeTw0
O1oKem0kPmBvJElxOGJeJFg8Xk1CVWc8MHczVVN2JSRleTdyMU5QZlhKKXNVdUFeOURhNSFedCp3
UXpBdEVRTjczUFFuCnpwODE3dVJIY1RAZiFkNyZVYTNkJVMhRD4zWS1OZXE/fXJJRHBEUj1eQ1Zo
VnhlZFR3fFVBMFJFeUFAXnsqdkU5agp6QDJDd2F8RDthaihAb01WTHRFeG08XmVuRnJvPjsmY2p3
SHpKZFYxWSF1eWlPJFRoek5lUjtyVG5vQ3VQZklHNXcKejZkQjNYY1hfaD9BVnBkWV48SXlleCt1
JFkoNUhZWCRPQkpNKypvWXxAS31rUjBsQDFtcnQlbXgxUkpabDE5JXdHCnpIMn5PRmJCOVBqREN8
VElBe1E/WF89MGJ5TS1sZlVJXkRYMzMrVDUxV1h7YyYjbT4zTlhNKWxpKG8lZCs5UGxzSAp6dm1g
KGJAVksjVSRmZ1ZAKlledE5oOTVnSms2dVUqcFlgcEhlc29Vd2l+TygjVmt+VktDOT0oQHNqRlI4
QTlLNkQKeiZaNFlecXZSZHFDUXxHOHpMdntrRSZSIWNaQCZkJU9aM1g5VlFOKitzTCEoVEdyemo4
Zm5uNyZDZEpNXzQqSGZFCno/KztPKTU3ditiSlhwOEkjYylfRVJRT0l3Mj99SmR6UDchMkxPWEF9
bjEkKSVJa1hPUHJVUT0rVWpgKDNhbUd0JAp6SjMrRGFFVXA7QVQoRXo8ZEFVKXphTHYpP3U0Sk1P
SjVhdWFCfkUzYXZje15JMFpnakFSc0NwckxQK3lIJnF9P1EKengpKihhdjxXfTxSc0FlfDFBNXo1
MUlNWCMwWU1Qd21jcCFsYmc4cH40OFVjTFF3Sj1wZUIkPl9pYXtubD9UNFUyCnpjXlFjNGojej53
VEd4UEJZZkkxcmAxZipkRDNEQ2E1PHAxdDBNeDhETikhbWN0WHhMQnUmbTwmZmQpV1BacVJ5VAp6
KiElcGQxbnR3PXF4fEo4XztOO3N1aV48JUFNQVNXXz1eeXlucmhiOHYteUQ7Xm92Nz48b2BWQUsx
TilSKCVaPEoKemM3TSRJSUcoJmNETCVEMm9AekpCYWBHYWA4fHtBNFYqc1hlWVR2dVUxMjxxSWwo
S3RhXjZ7JTEte1Y2dHhvRDQ5CnpYP1d5N1UrUj5WK2dCTWFhaVp7ITNZK2EtKi1ZZnYhJUpATnk2
SDBtNmlnU2YqVzRXZW1XSEl0JGMzRXlJfVd2QAp6NU88QEJEMkYyXkcrKS03bFh3dm4jOUdeU0pC
Xit5IXAkemRuPmNwZCs9MDc7eSl0YWhXYHF4SilMTWw3ViNgYFEKentxTj5NMzFxY00yOGtXPFBy
eUJWWEpLRktFbj9kVz1KMWtLVmItRHBudlF8cmtRRVkpZmR2b2s3fSNJfTVRT2M/CnplaDRGRW9P
R1olbE1sZmNrd2VHa24jRy1DXnVTJTRhWX5qdENnVDhldSV+cW52NGxRcW54STBRKkAjK3VtQEV2
fAp6LVBNNTt0b1hePWNtZ28waWt0Z2BINSoycG01NnhRR1liUEZ2YUtscm51U3soVz95PnEtbXN3
fFEoRyZ3OH5rTVAKekNrJXstPz91Q0Y4RzJMKiU+V1ZfSCM5cGJZZXVvTUl9VDBwOHtERzlIe04y
VihzfWVvUEVQOGluemt1Rm96Y0RjCnoxSnpkaiZiZkpCSDxnUFIoJXtwWjRKSk0pX2l0TSRFSC0q
ST5TO0szYn49cngoR01iMHRxbEVPUzx4SHRPbjdXKAp6M0oyMUdFJmwzWDlre2FScj5haUdKXjs5
cWVpcyFQSShSPit3MWxnYTIkJHc4UHk/S2txaj5OK15Ebj1DTCRxYmAKejZnJFBIT1JTLV51aVd2
ZFYjIVc9KntXMDJAVGVCX2lAS2tqYCVXMmBrTjlZZUYzb3d3RUR0P31mUDJHKzw+Pm1oCnpLSF4x
cyk7K3IhRCYrP2YtWT1VNzMzfmd0ZmMxfjkyQEAzUENKK2B7Wi1hWnYhemVJVzxyO35JOXcpQXU5
enhJYAp6SzFSQ0o2fT5ObG9RV2RXMXYpZzI0TT1VUSl6O3hEaU1laVFrZD9naXhGWUV4M0wjSiYw
b3NGSU9eKk5lJU5lKCkKemgpTFkkWFM9c0tUTypTNEl9X1dgRCYpU0ZPQUdfUisyc3JBS0VVUnl1
fGR3ezBaYkJTSUx5aShyMDFQVDZ+b09YCnpAI0xoTV9YfkUkYlNzZnFXKzApcnB0Und+NHsqXz40
JWRpI3I9c2liYmU4QlY9ZVE2c0tFPE14Y3ROLUt4d0l0TAp6USo4UGomNWx3T0NKPi0pam5TWTky
TnskUHN2a0NqciNfUjwxb2ItKkArMjxXPnVtQ0h5SG1kWm9DR0FgaEg/T1UKenlXYnlHVEJ3KGV4
RjloIW1QPThGJTZMKHJvQ2NoWTtyO1JEVGkrKj8wY0Z9OGNedT8reGh1M15VRUtjbCM3IUE9CnpV
byhBaU0qU3E5Q298bS07Rlp5cSFyM3JIPSkofW1FI1hGdG8hcSM/VEZqdTlnZ0JWRUJ6UGcpQj0h
NlVyI1Y1PQp6VHxuemYpK3N6VlVuY3BzP0pjVXU4fjhBJXtRNSZjJk1wQm5vckZeZGo0cD18MiMq
bV45QmBobz9hTmVVM3Y3PlcKenRsN2k2Xmc1aH1edihyN2VZOHc8SGBsbWQ2UnwrdVBma2EoOSlG
Sl93eilIb1RsTkQrLVFud002LTZXc3luNHRBCnopd3xLMjh7ZU91ZjEzYGo4WUNKcDE3ZCZXZSZ1
P3tRODQqXj1JWCt7WjJMT2ZIP2hnfU94a2o5dG8oQiZjIVYtSQp6e0ImaEZzSWluPlpxVzhAYnFv
SzYreE1lRylUb2E1Ozx4aFY1Wkx0JGR2ZEZWVVRRUDtGJjJkLSU5TnZNZnhZJigKekdiRU1pMlRt
bzFPRmhvSTclJXc4UGBrVX1rMGFrKSRFd0JeNz1DR2s4REZzVkd4U0NsKU55dWlSTlJWXzJSWGtD
CnpaVjMpTj9aezZKVT9xeWR7MHFwYCljOEdgelZWSWg/MVUpI2skWkg9WlY7MnZANHBoSDMqbVkm
P0M+QVc/S1R1SAp6ZnZBTTZUa0dRUkUzNENwMlVYYzBIez44aWZSKEJQZ198N2lOUn54VEJmKEw2
amAmJFhMTzhvMzBWTTxMc01tJEsKei1FJD1OIzg0fHIrOCZ3RXFzdiRrT0l0JnlUK3lkTylZazdP
PTRoQ3w7SmlaPWltIXc1eWYjZGQ0dyFxRWFpdGJACnpHSkk9SDQoPWRnRFhAcU9hYDYxWEd9QWc0
NnZUcyROPEd1cHNgfjVQcXs9Ny10KSE+JUJXKTxNSXxhTTIlbnZlNgp6aUsjc3BWbl8zdmp7WkV1
V25BVDY2MCtRNigwLXFDSnt8KEYkN1NjP2ltMylXamY1WXFHQEp1dmRfPUApYS05LSgKejlGfDxs
eGpjSkRgV1o1OHRMO0NoTCh1VHt7cFlKXy1mSGNrTjRzZj00RmVTWVAqPXBeSWdVO2E+OGIrVV5k
fX5CCno5ZER6b2FZNGs0YUF7elo/O31NQGw7Xn5EWUZuTkViVXFEU00zSE91QCZrM2hFaktTJXV+
PjRsbEw0ZnxqMGg+dAp6eU1JSztaKTlVZTd6NilLbCpBXjMqSCQqU0AwZFdPc344O3AhQVRWQTgw
QE0oYD5Lazk9OSFURGsmezteKEJ7blYKel8+OFgkNW5ZJiZUe25FfUElV3Q/NWY8RmBHUEZ2O0Z8
OXtPM1lHe3djSFFnY2RBaD8mNT9FeHQ0dj1+aytqRzZgCnpCX2BMRistblRwLUgoWEdKfmNtWCpW
fjZ5dXB1Z314dU9BT1YwMW9EUUZuYE8xb2Y/KzBrMj9FZHFfaEI7XllMRAp6VXg7Z1ptQlQtdENw
fDdOckthfClGVFkpfUBBSkw+Jmd2cSRiR2xjOUNQVHBkMFVEKXIwcUFUQCV5LVoyMEkjJigKelVz
K09XVntORiQyfVhFeiZyTks4QjQ4KFpsXm9LK0xqZ1lLTHM8MHNsQ0khOUkzfGUoVipPdl5HQGRp
T1c3P2BrCnpfQlBINS1nQyZ0WG8/KG84P3lkUmJLKWRqSGI0bGh2d2VYVDQwMz12WlYwfmlkcUVT
OTgyRE5xPSFvPFY1YURISgp6M0wzYVBrUyNNY3VvUUlQSm98KV9MUDd2cHZRaCs7QmI+KTBfOXw3
fGxNdThJPCt2Wig8KiVmKSsmKj9VMX1PK0wKejE7fHxqKUE1dFpOM018LSs0bSVQTEtMMjVjIVda
MWJ4I2lRV0V8QUpnNndlM3JrPChKMTBGWnNPJGhzWWw0K3JxCnojSms+U3A/LUdIQ2skNUxVM1Fj
Y0RMP0JEIWw7UyU7P1F1a1NVRz9idjQjPkpQSTdgSDJ8bSpYUjFKZlZkMTx7VAp6PUU7e2xIbWU7
ZXY/K2ZUSmlKODAqcWN5LStMKCt9NSMjYzNKd2ZMU2JvQFAoaj1zQXg1eWtHPWBiRnJeJnQoczsK
emBIK3orZXtuPD5hYklsJS1RWVl+Y2R0QXY9VlVkMjdhIWB6UjtJKTRWd3NuQmtLek9HJWUmRnhZ
JD4me08tSTReCnpIZGE3dnQpSzwtPjsodGtmLXQ2ZEkwKyRFMGkrZmszPmVyTCpDe35gP2VoNXlE
MmM1WkhROEQwQWlOJnxPTk18Nwp6aEpTQ195Yyt1Y2ZVcVdYY1R3djEhZlFLLXRoWHdKNnJEVzB7
UmdISDx2dUpwMyhsKntkYzxlU0NJc21wUjBeK1YKej0/aF5lUzQjP0l1bGw+bChpej1hSj4zS3FY
SCFjWVI7fWsqdjVmNTZuZClfNyY9YUZBelU/PyhCUjZBeWJLQUd4CnprWiopaitiUWI4MlF3UzhY
YFBeQiUlYSh4ZUM1dmAhQX50aUE9TEFteWA0WUZaS3FuSXo2OXxvP3VNeX5ONTxeYQp6ck0kbm14
XmJmOCFgNTcmWVNJRyFWJVhIWmM3QVRKPSpEeThuOW9ufDJIal5HciR4akd4UV9BYUR+VDhlIz50
USkKejgzcEtQK2dFKUBMMW1LQGNvPU9HVTtnZ1VsKTZwQUgkVFhSUVdqWnRgPCFRRFFJVDRyUGVB
aCg1TVN5I2Z9IUFrCnpEdEZtajFoVkQ8d3JIQEBxO3hBQDNQQigoKT5RMm0yaSN9QkxCWXhtNVkt
aXhqd3REJjMjVlBESGBhTHJDdHxpPQp6PiZOTH4wWmBzTmBFYVNhRFF8ZnZheVJhZ3tLeForITNG
bEdVWWYxPHNgIylgZng8VGdSMkoreFE1Kzt4em5UfXQKemJMczV2WGZuJU5ZZn44amVnIXwoNzQ/
cVZFJX1iIW40YUUkPlh2K3NKVGo2MEowaj93V3VIa09TIzszJCVfJW93CnpiJVUoRykhYWltYURJ
bjNYWmROciR8OXh4OGpMdmtlVGdHb0Z9RyolJmZgaEVLZUg1OHlLNX1IUXgjQE1DcFIpaQp6KSlX
blc2dUU5I1NHKWgqeTRMMlJNKklyemZ0LWNQZyZsYyU2SDx2KDg1Zi01X2pKMkIkLWBGOUU/VEBC
ZGJ+KEoKemFFeENXIyNtMWR5XlVNR2ojaGNYP1p0MU88JT9mfTZAQnJ9KVFGP3Vkem4hUE9iczVG
empVPFJCQ2tSPFVERDt6CnoqVVAkRGdLQEZxcFNRN1dLNkxtfj1SWWtLTnh3MF90JmpVYypkbyZN
MEJoXipCRmp3dD5qOEBBYCtzSnxHelk2Mgp6WEl8UjctfXtLKE9ZYShXPHx3WnpeZmA4V09tJSZL
WVZgYj52Kyh1dGxJYHo+JCg0UWtPJXQ9OT4hMHU2JWRmfEQKentMcktXdE5efk9ufnN4dkhYLXdi
PWQtVD5JMiY1bGZ6QS1nJUd1UGhffkMjQyshOGY0YCt3UkBSSFQqPSpXUE56Cnpec3dLN0VsT0xA
aV9ZVF5hZGJfNT5tNmIrcWhta1U1PjAxKWpjNkdZeHBkMH0hbV40ZTB+fT1lWkR6a08jdElPaAp6
YnEpTH4kdT1xMDA+cTh9b2VXd2I+I3lkcnA+fGlTQm13RHUxXjdIZFU/THVQVHBUQiQkYEdka0Z7
UkN1ako5UmAKejs/flU0X3N7ND04YWk8SD9xKDsrMilQfC1iYHgoX0U3NzF7OV55OXRmKSt5YV5N
Ji1eQkJ+cDRQbj1nPGIrP2xkCnpebF41IUY0Y1E7I1FoYVRJJElIaGUwfktJV1h3OV8lK0dKPm42
RjU8SF53JmYjVGhXPHkmSTYpYGdqNWd3cVFTMgp6bF9FYlcmZEBjRGUzYzxUeHdraTg1RCM4fShn
MkA3bisycGpqKmIjPkNkOXM9OFJYRys7U3k3dGMjVSsrX0VtMksKej47NCEkVW1IYmhPNDglVVM3
fHxGUWY/QiR7M1dFPUtIRyVtQ0czdWcxPmN4REpSNmVfPUZAZ2t5YHhfN09mTStGCnpqMF8tblo0
fV5xK3NIJEU/cXdUe0pIZUhsK09yXiE+b3c5KCNRM0p3dnszSi1iaGQ1bzYqdCZeNG9ZWTNBbHk0
KAp6KE4rUDtUWjJ3cjFhdDhBUHJtckJLU0RjS3NMdngmcG5vYnRmcjZkXzRAQkhyWnZnQ0w8TiEm
UmZGaS1JLSlDeTcKeldJbyRWeEc3b0REeURhUD5wb0M2P2Y7IUJqPW1AVDBkPW8/SnltP0BUWUZW
aDN6TVM/NFlZQCQoKFZfU0d6bj9ZCno1aih9anxCfk9OYHZzMU5ZVyRmV1VOeFdyVm1PSiVhQVk3
JFVMclBQZjs9fCZiakU+Y3hOIWRGX0krbzBgaWMpUAp6YisxbCY8M3NCMkdHVGY4VXUwZ3ZkZzU0
aDN4T2JqTSNoNDI9cys+N0ktUERVO2d2SGl1VmQ5KSgmfmhHSjhDRWgKejV8R1dnS2t3ZTc3UjJu
RVZuYVdAe2d4WEFwVjluWWkwbmZXO09wdjIxT14wY1o9Nk04Y1clPGI1RTEkbnZGWmVXCno4b2Mh
VUhVdUJZNUh+KX52VTRhPWF2S0lCJTx1YiNOWWxFSUVBVEM4PHBrRHlPaEFmKGVxJkQqLXo1Y0pF
PSUocgp6Yy0wX2M+U2whe3ZheXIkOEhecXdgVn0oZTB3P3pCbyRkNGhUc35uTElkRG9fITV0dyox
aT5NTWBPUGtkSEY0U3cKejR0PXsoLUtSKkttLUNNRzZZK2w0cDEkYG82YUU5UTAzekpqZUdxNkMw
e242akxeeyROMUYpQlJCNV9eOCs4R3s9CnohO28wMXFHI1JoWWIpMGs/KkY3Xl5IZjEoUl93WS1T
NENHNkpLej5kaT5ta1NSYUtLI210eytRSyFsM2VpSyhDQgp6KnMqR2hsbkBIZWhXcElTYyRsITFV
OC1kRXlaKzdVN3ZWLXVHJWNWNjxGfmMoQ2VKUSpRek0lLTIrSGVpajc3MGEKenM2VCNvUnRWcT55
PDg2MkZuP2o1QV5ZJUpRfnJgWk0qRGQ9WnxUe0l2ck53fm1oWnBnITdZRVFreXszNz4kUzZ4Cnpk
K2ZGeWRBVmgzY1ozaElLPUZ2Q2FqNiEwMHhUaER3ZHtjSmpsT0QqJF4tNnJqMVpgZkErdn5wYFBF
MkRQJiVYXgp6UlpmPEtJVnpOYzV0VXYrTGdaP1NwQTxRZTY+TzFPamZmQzxqUjc/UDUwbm45PCox
KnEmZ1lxQGVmKjZMKy1fcy0Keld7VDlob0YldyhmbGZsWUJ1V2pfYnAoNkY0d1hJYHJAcXlnS2RE
a3IocVZzKmBIb1dSPGlpV31yNlRjPF5idVJkCnpzU25lfkQpdHo3TlI4dEBvM0pGZmN0cHQ+U0Re
U3kzQVNLJjQ9O0xrRXNUcHU4N3oxYGVzVFgpQ2NTVlM3ZEQoXgp6MmNGQStscHIyNWQzR0IpZ24w
UXQ0RHB4ZnlvYDdfWVJ+QEdyVT18I0pmeFQ4dG1eZH5iKGs8MjVya2VOSX0yZ2EKemk1ZHlJUTRA
fC1mT3FNJmxAakckMnVTU2l4QXBMUm9jaHsjKj5UcW9YYSgrJW1vRmZxS0ZHSDZ7a3AlZ00xaXw2
CnorVTxnSDRLPDZocmNkbTtgeGR9RGRTP15pTTFUYWhCXj8yRXEtdXluJU40QH5oPnx7UVUoc3Bz
cFdpS3JDM0QhNwp6byVMbiYhZm5VJVhjfUlCQTM+fjBINjw0NkRBV0BucGZQWT4rMDVnPGl8XmV0
Z2I+SVNwMCNsdiFrdShXejlWblkKejZVciloSSY1bj5sVFMlIWFYV3BpQGQkKSVCMjMoaXlCY3p3
fDFRU2s8aW0lZ3ZycX5SQ0RNVjh5Q1VjM09qQFJlCnpHc0RUJlZJRTtxU0M2V0ZgZiVsaVItc0Z7
I0JFYFpnKWxaYT9RJW82OX1ubV80e2N2UWVOaCVKeT1qTm8oO1RuJQp6JlEmNzU1fHU/S0h6JnFN
WCt4Zn5rWWJoZ2hVa0dUKHtfYXQ0e2hzcT5sTGJvIy05fl4kbENxV3cpZFBLY3RzNSoKenp1M0Uw
dGY9NWR7dTZULXRXNTgwRGFQITVIYkE3bkg4JFFSY1dBTV5XODw4fjI0eU19UT4rTiRTRC0hO2h4
OEsyCnotSElgS2phbiUhS3Z0c29BdGdZJXgjTiFqM1BfbCl6N3EpUmd6IztkSUNjXkBzRStlX2F1
Jm5LN21VX0FhM3ckcwp6ejxHX0xrQyFqOUszaEI1NzxKRnRHZkd+c2ZNIz4zRXtNZX57IWhqMD09
ZCtPeF9mOy1KfjchX2xjeituTF83Q3EKekE+bW93cTB8azhjUT5nNSYqVzt7SURnbU9OQ0lnTFBt
dj1NO2lCPmkjY2pJIy1BODxMQHlHP1c3alFIb3QtQV9ECnptPUZlcExKekAwYl9IOWghRSNfYHF4
VHJZbiZvclphN1FNOSkyd25waz5vUFEpTjI9QnpTbyZALVZ0RU9VQUQmVQp6a1QrMyNVWEJvVGhr
cXwwPW9jakdGITBfPGhsfldadzFwTz9CQmo5aVZwRz5vNUVRclMqdFhBfiUqNzVtTjkmKEYKellY
RTcqQ1Zge1cxK292blltek9GenVuZDAxaDkpWG41PnxuLSNYdjswJiZocEtGOFNnMHhTMitQYXVl
YVlNSUVHCnpDPF40YDtfXj5PPzN1KShKcVBGbCptbXRNPj9sPS1sTWtYWDNLUClFQGM4d0ZaJmtg
cWFYVjkxckRLTnt5dShjRgp6NigmNXskVmVkfGx3eUxXZDsxK2MpWlJIeDslfi1SPkwpblBqYlpP
KmReXlltV2BIX34ob35gQUx3NHNnSnhKfmMKektLUGhxVDJGaWl7a09GO21PY29rd3w+dVV1ZTZE
RT1QajMhRWBiNGotYm9VMXtQZiNvK313SmJ5VkIhI2lYIVo/CnpYMkYrRjk8TjlTWXBIMVN4QyM7
QzhVYERSdCYjQzYtQ08oU3RSfjtlWHJEa24zT0JqOD8mJV8xUHMhKyZKbUprVAp6cFJhRFcxdHUk
MWBoNVh0WjA+bDk1eiZwX1RFRFBRMHEpOE4lQTIxSj9uVHozUGFoP0BmQz59XlRsaWNVRUNgUj0K
ekBwYn1JcHRZUFZPTD08PXAoTDNieGA7V0g4PHNid0BeUG0mYlRXVGI0NnhNMF9IUGV5N0BZbmJt
Sjd5XnkmbDJICno2cHI/IyslKyNUTSFYaUhaYUpMVkpLfig0VT5XZXBic3c/b151Mjc/e2khfF8q
ZEA8YyZuQ14qcWwmeyN6SyU9IQp6YVB3RyFTZH1jeFZSalRpYllkfHpkfF9UV2M2fXVOZVM1PEUl
VTc0PnIrMGpgT1VieHxOPkZTSUQ9JCQ9czVMQkYKejFuIXZKKTRVWUhtPW5vXm5pPTUmWGJFd0p7
PHEmX1NKd21fVCFlSHw0LXtxSE1Pej84eUJ8S31hUmZnKmlmU0Y1CnplRVZ1NUNqVU88X0BudW1s
UzYpJVBKfT8/ZWt1VDskZ1VlMkxLRGdEMEpJZUN0OHJuO2l6d35qPG5kS1lHe183cwp6aCZuJj1G
PVN1ciNUNzgkNCFGfi1xamZVejV5dF9YO2coNFlVa28oe1ZEVEpjM1g/en1gc01fdlVvSjNzR1hw
djAKejIhdV9NUW9ubWtlQn5CNCF0aEh7QjchYjAwZXVGfV5MPk5Sa3BuRDU5SDRFT0lJT0k8UWNE
czdAYiFuVS1LSlQ0CnpWcF9KfFVUSHM/KFo4cyE3Sk8rcjwlTjI0ZGVWV2QwcjxxQ2hrNSk0Z0M+
JGNuQ1YpYGhrMGUjKEsxWXlmYEB+Vgp6NWNMenoxO0h3bChNRUNHZ2tvSk5xTCFjfHF2c2JTJkF8
SVNZTE1VYHpCK0pDaSpXPUMqWmNjME1OYDF0Y2ArdX0KejJQfDhEamdWRX55YntOVUp1TWRqdD1E
ZEJZZUQ3UT5QR2FlPkVXRkdHUSh3ZTZrdVAhJmYwVz81OUcpMmZlSjIoCnozaCtfUEhjc0U3JjlZ
I1BiWmpqJUcyaElEaCF7YkUpNUVLUkVldlg8dmYkJH5heGBFQkk+YCl4OH1UeFBMWUh7MAp6M3I9
UUg3Mjd2TUk9enhRVz9Mc1kwSjVrVTI8WGYzeE5xamBXI3gyTzZ8ZXMwVGJSQ0JQLXxBX2okdnVj
TnEjUXQKek80al9BJmtnMGptQDNId0NZQ3NjJWV7XjZRajE+d2ReV0xJXj59OClxNXpDYTA+JFVC
K1l4Rm5ASkd6QHVsczNFCnpGLS0oU3pTaHMma2NrdHFXP3lAP2lnPntmdCY4R0BTc0R+YUIrZlVx
cF9xWl8oenE/amwjOW42TCVQZkBATSpgNwp6TmJpaHUtUThxakJrZTI3VF5rKnUoP1lmYiZjMjkj
KHhDR3dje3taQihicl49VzJYMXowNC1LTDxebUxpUioyQ04KekQyPF90b0N4RjJGUUF5RC1hWFBS
akN6PkJPVnlrTko9Jjk/MW40YjBUPDYxPXFec3FTZX5iZGE3QHEtez5VfVU3CnpCZUdPKGlPTElA
Y2VgOGViXzxfYyRqUlMqKWN4diNlVXklWHo2SXkwYkcqKikmY0l6eEthcTZIIWY0Oyo0Jl5pWAp6
Zlkhdl5AfFBGJUYzPlQ/QFRvYlVpdGRqbF5VflVqWmNWMHlvPWoqQl5YMGZ7Sml8O09qQSkyO1A3
RmYzOUZOeDAKekQrT3paKyFgQmFCLT9za0VJaHl9Xk1tKVZkMXpEUmVKfillUDg0VTEtcGQwKVc3
b3o+b0MtXl87OGliaW8rRGh7CnphRjAkLVhsb1MjVigyLXIkdFBTODB3THM/R3E0KUFXI0t3fndN
Sio9MzxDI256dURLOClxWnw0WVpDJktRK31fTwp6ZSgwIUkkcU4jPGZPMHgwT3RDaUpOQjEweHUt
JUl0dXRCNnQ4Z3ZpeUJIbWRzeytkX3Y4MHMjMG1sO0N3WWgrM1AKekl0KnRQUkhCU25sJkAhN003
ckI1Nnt1PV5ybDZIKiRIb3UqTj5+VyFRYUdBTlduTnJjRyE1ZkFeaX5gantaSW4kCnpfQHY+QlRn
UCpnMFVjX19ecXs/bnhEd2FFbHc8KUdudm0qbHkmZyliajR2Uyk0b34jJFNwWkRgLXVGZG88fTFA
Owp6TmkkSjNhKlNuTHtmNXF4b09gPERGbklMbCplIURuaThTQk0mSXJsUW05ISgyNT97bHN6S3hr
KGppUzc5Jkk8UiUKej5oT15AKT4xPHVzKmR9b2l3UmYjJiozaEYxJSVZQzQ5UUlJQjIraTQ8Qis2
bTxHcilObFdrdFZwUFRtQGE4dTVHCnpVMDs0NDk4M0BMX0kwN1chMVFuWHheJjJnN3U8K2xhK3A7
WXtWayt5d34kdDw/SURPKUs1MHVieXU7YW0tQWEwPQp6YC11SEl3SXVFOHF2bjB5QCNaVXlecHdQ
JFlmbHFUMj5JNy11QXAoJF5DVDx8SWAtKTBVMjgta2ZlN2R9Y3puS1MKelkqezh9VWVZWThZVCpJ
ZnRyI307K2xwN3llYH5+JDNeS25nSzc0VisjYUJ9Jm0ocX5BKlkpeGhacGl3SFJKeWVvCnohc3c+
TFolLWBjZGBoQlFrYChUb3V6bTlaP28rPzgtRGhRYTEkNXN5aT47Tnk9RylQM3pvcmxXPEhUIV5R
Oyk9eQp6eTNqI09MMmBIQDx9fV4yaSRoKVJFYDl5THI+KlQhMXhVU2x5My1OZnleSnxHQTsjU2gh
PW5obFJuX2lOaD99QE4KellsKW9xdHA2R2xrfU82fWopMisoVyZnWUhHKWlyfnBfNkNAKCRYU05y
Y2V5c3RxU2hhMzBtK0Q2KSN+S2FtVV9lCnpuMktmWDdBSTw2K1V4QFZveiltWjEtTVRRdzc5N1N7
SzJweTY7QHJhKylkVzduNXpJZS09LXY+aHYzJFJxU3hqKAp6b2diJFo5OEVSeUtRa3FNaWxCYVQj
UTlRI2w1dm1QJWt9NGFUMD1yWXVrWGpsaXtVKEV1SD9ST1Bmfk1FaCVaUDIKeiNLfSoyNjs8eyNT
MWpje2pIR0F6dVdxN1N3dU5aIV5iejx8c0tedGBUQld9NStTdFhuJk57Z0RpTVJIb1pNeHJrCno5
dyVpdlA+bmhuJDFVPk0mVHtsT0dKeVcwUlVoOHMlcnpDYj9yWT58S21GYHxHTkBoMVpFaj5UPCZJ
Z2NBSUg0WQp6b0t8eTsjbGU/TnglRU9aT3RoZXllOHBMKVN2dyQ3WEhLOW5XKWdNZXUqcnxqS0V3
RUNJe2oyTXpgKSEmcSMqZnsKejdxYGskVGtXSFdMe2J2YmtHPURRa14tOWI8NCtjNDJFK0JKREhZ
MSQ7MTdiOG0jfkolTEMzKkFvd0BacV4oZ189ClFDdjZnLSltWX07NiQxTUkwUVhZbTNqaEVCCgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCg==
</data>
<flag name="commit-queue"
          id="456400"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434003</attachid>
            <date>2021-07-22 03:49:28 -0700</date>
            <delta_ts>2021-07-22 04:00:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210722204926.patch</filename>
            <type>text/plain</type>
            <size>135173</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLjczMzdlYjM2ZTI3NjEzNmNlMWE4MzczMTFjNjkyNTk3ZjEzYzk4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHdlYm1fd2ViYXVkaW8g
cHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3IgbWltZXR5
cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlzYWJsZWQg
YnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8bWFnb21l
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIgdG8gY29u
ZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJvY2Vzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0MTMuLjhm
MzNlN2ZjNWUxY2MyMTQ0MjA3ZGFjZDY3NjA0ZDhhYTU5ZDA1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4gV2ViIEF1
ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4gdGhlIHdl
YiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgZGVj
b2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJlYXNvbnMs
IGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxzIGFyZSBi
bG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1ZGlvIGNv
bXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkgcHJvY2Vz
cyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisgICAgICAg
IFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAg
ICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWlscyBmb3Ig
Vm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11eCB0aGUg
d2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0g
dG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVyYXRlIG92
ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3JtaW5nCisg
ICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRoZXJlIGFy
ZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVuY29kZXIg
ZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGlibGUKKyAg
ICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIu
CisgICAgICAgIC0gSWdub3JpbmcgdGhlIHNhbmRib3hpbmcgaXNzdWUsIFZvcmJpcyBjb250ZW50
IGZhaWwgdG8gZGVjb2RlLgorICAgICAgICAtIFdlIGNhbiBvbmx5IGRlY29kZSBtb25vIGFuZCBz
dGVyZW8gY29udGVudC4gT3B1cyBhbmQgVm9yYmlzIGxldCB5b3UgZGVmaW5lIGEKKyAgICAgICAg
Y3VzdG9tIGNoYW5uZWwgb3JkZXJpbmcsIHRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWQgd2l0aCBh
bWJpc29uaWMgYXVkaW8gKHdpdGggb3B1cyAyNTUgbW9kZSkuCisgICAgICAgIENvcmVNZWRpYSBk
b2Vzbid0IGVhc2lseSBkZWFsIHdpdGggc3VjaCByZS1vcmRlcmluZyBhcyBpdCBhcHBlYXJzIHRv
IGJlIGVzc2VudGlhbGx5CisgICAgICAgIGRlc2lnbmVkIGZvciBhdWRpYmxlIGNvbnRlbnQuIFdp
dGggbW9yZSB0aGFuIDIgY2hhbm5lbHMsIGRlY29kaW5nIHdpbGwgZWl0aGVyIGZhaWwKKyAgICAg
ICAgb3IgcHJvZHVjZSBjaGFubmVscyBpbiB0aGUgd3Jvbmcgb3JkZXIuCisKKyAgICAgICAgVGVz
dDogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKKworICAgICAgICAq
IEhlYWRlcnMuY21ha2U6IEV4cG9ydCBoZWFkZXIgc28gdGhhdCB3ZSBjYW4gcmVnaXN0ZXIgdGhl
IGRlY29kZXIgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBzYW1lIGFzIGFib3ZlLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5
VHlwZSBjb25zdCk6IE1ha2UgY2FuUGxheVR5cGUod2VibS9hdWRpbzsgY29kZWNzPW9wdXMpCisg
ICAgICAgIHdvcmsgaWYgZmVhdHVyZXMgaXMgc2V0LgorICAgICAgICAqIHBhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0V2ViTVdlYkF1ZGlvRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjp3ZWJNV2ViQXVkaW9FbmFibGVkIGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9NZWRpYVNhbXBsZS5oOiBBZGQgbmV3IGlzTWVkaWFTYW1wbGVBVkZPYmpDLCB3aWxsIGJl
IHVzZWQgdG8gYWxsb3cgc2FmZQorICAgICAgICBkb3duY2FzdGluZy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1czo6c2V0
TGVuZ3RoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oOiBBZGQgc2V0TGVu
Z3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhlIHJlcG9ydGVkIGxlbmd0aAorICAgICAgICB3aXRo
b3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmg6IEFkZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0
aGUgcmVwb3J0ZWQKKyAgICAgICAgbGVuZ3RoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlp
bmcgc3RvcmFnZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFk
ZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3Qp
OiBGaXggY2hlY2tlZEludCB1c2UgdG8gY2F0Y2ggcG90ZW50aWFsIG92ZXJmbG93CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6
IEFkZCBjb252ZW5pZW5jZSBjbGFzcyB0aGF0CisgICAgICAgIGZyZWUgd3JhcHBlZCBBdWRpb0J1
ZmZlckxpc3Qgb2JqZWN0IG9uIGV4aXQuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxp
c3RIb2xkZXI6On5BdWRpb0J1ZmZlckxpc3RIb2xkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvciBib29sIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3ItPiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yKiBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OmlzVmFsaWQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjppc01heWJlV2ViTSBjb25zdCk6IE1ldGhvZCB0byBj
aGVjayBpZiB0aGUgYnVmZmVyCisgICAgICAgIGNvbnRhaW5zIFdlYk0gZGF0YS4KKyAgICAgICAg
KFdlYkNvcmU6OnBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2spOiBSZXF1aXJlZCBmb3IgQXVk
aW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlci4KKyAgICAgICAgV2lsbCBmZWVkIHRoZSBkZWNv
ZGVyIHRoZSBkYXRhIHRvIGRlY29kZSwgc3BsaXR0aW5nIHRoZSBtdWx0aXBsZSBwYWNrZXRzIGZv
dW5kCisgICAgICAgIGluIHRoZSBDTVNhbXBsZUJ1ZmZlci4KKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMgY29uc3QpOiBSZXR1cm4gdGhlIHRvdGFsIG51
bWJlciBvZgorICAgICAgICBkZWNvZGVkIGZyYW1lcyBpbiB0aGUgcGFja2V0cy4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQgY29uc3QpOiBDcmVhdGUg
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uCisgICAgICAgIHJlbGF0ZWQgdG8gdGhlIGRlbXV4
ZWQgYXVkaW8gdHJhY2suIG51bGxvcHQgaWYgdW5zdXBwb3J0ZWQgY29udGVudC4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y2xpZW50RGF0YUZvcm1hdCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyk6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmg6CisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmg6IFJlbW92ZSB1bnVzZWQgdHlw
ZWRlZi4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UubW06CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6On5BdWRpb1Nh
bXBsZURhdGFTb3VyY2UpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZQorICAgICAgICBQQUwgc29m
dGxpbmtzCisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnNldHVwQ29u
dmVydGVyKTogRmx5LWJ5IGZpeCwgbWFrZSBpdCB1c2UgUEFMCisgICAgICAgIHNvZnRsaW5rcwor
ICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbTogRmx5
LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L1RyYWNrUHJpdmF0ZUJhc2UuY3BwOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVB
VkZPYmpDLmg6CisgICAgICAgIEZseS1ieSBmaXggcmVxdWlyZWQgYnkgd2Via2l0LXByZXBhcmUg
OiBkb24ndCB0YWcgdGhlIHdob2xlIGNsYXNzIGFzIFdFQkNPUkVfRVhQT1JULgorICAgICAgICBN
b3ZlIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIGZ1bmN0aW9uIGRlZmluaXRpb25zIG91dC1v
Zi1saW5lIHRvIHByZXZlbnQKKyAgICAgICAgbGlua2FnZSBlcnJvcnMuCisgICAgICAgIChpc1R5
cGUpOiBBZGQgdGVtcGxhdGUgc3BlY2lhbGl6YXRpb24gZm9yIHN0YXRpY19yZWZlcmVuY2VfY2Fz
dDxNZWRpYVNhbXBsZUFWRk9iakM+CisgICAgICAgIGFuZCBpczxNZWRpYVNhbXBsZUFWRk9iakM+
IHRvIHdvcmsuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMpOiBNb3ZlIGNvZGUKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06IEZseS1ieSBmaXgs
IGFkZCBtaXNzaW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oOiBFeHBvcnQgc29tZSBzeW1ib2xzLCBhZGQgbmV3Cisg
ICAgICAgIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lz
dGVyRGVjb2RlckZhY3RvcnkpOiBJbnN0ZWFkIG9mIGF0dGVtcHRpbmcgdG8gcmVnaXN0ZXIgdGhl
IGRlY29kZXIKKyAgICAgICAgYnkgZGwtb3BlbmluZyB0aGUgcmVxdWlyZWQgbGlicmFyeSwgZmly
c3QgYXR0ZW1wdGluZyB0byBzZWUgaWYgdGhlIGRlY29kZXIgaXMKKyAgICAgICAgYWxyZWFkeSBh
dmFpbGFibGUuIENhbGxpbmcgQXVkaW9Db21wb25lbnRSZWdpc3RlciBpbiB0aGUgd2ViIGNvbnRl
bnQgcHJvY2VzcworICAgICAgICB3aGVuIHRoZSBHUFUgcHJvY2VzcyBpcyBlbmFibGVkIHdpbGwg
ZmFpbCBkdWUgdG8gc2FuZGJveCBzZXR0aW5ncy4gV2hpY2ggd291bGQKKyAgICAgICAgaW5jb3Jy
ZWN0bHkgcmVwb3J0IHRoZSBjb2RlYyB0byBub3QgYmUgYXZhaWxhYmxlIHdoZW4gaXQgd2FzLgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCk6
CisgICAgICAgIChXZWJDb3JlOjppc09wdXNEZWNvZGVyQXZhaWxhYmxlKTogRmx5LWJ5IGZpeCwg
c2hvdWxkIHRoZSBtZXRob2QgYmUgY2FsbGVkCisgICAgICAgIG9uIG5vbi1tYWMgcGxhdGZvcm0g
aXQgd291bGQgaGF2ZSByZXR1cm4gdGhlIHVuaXRpYWxpemVkIHZhbHVlIG9mIHRoZSBhdmFpbGFi
bGUKKyAgICAgICAgc3RhdGljIHZhcmlhYmxlLgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJP
cHVzRGVjb2RlcklmTmVlZGVkKTogQWRkZWQKKyAgICAgICAgKFdlYkNvcmU6OmlzVm9yYmlzRGVj
b2RlckF2YWlsYWJsZSk6IFNhbWUgYXMgaXNPcHVzRGVjb2RlckF2YWlsYWJsZQorICAgICAgICAo
V2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQpOiBBZGRlZAorCiAyMDIxLTA3
LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQWRkIGxpbmtlZE9uT3JBZnRlciBjaGVjayBmb3IgcjI2OTE2MgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggZjAxOWQzY2UxMjAzZjNmYTEwNGVmOWZhYzRmZmE0MDZhYjkwMmY2MC4uZjJhYWNiYjg0
MDJkMGM0MTYxYTNmNmZiZjk5Mzk0ZjU4Y2M1M2RhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHZhcmlvdXMgQVZGb3VuZGF0aW9uIChBVkF1
ZGlvQ29udmVydGVyKSByZWxhdGVkIG1ldGhvZHMgYW5kCisgICAgICAgIENvcmVNZWRpYSB0byBh
Y2Nlc3MgcmVxdWlyZWQgQ01TYW1wbGVCdWZmZXIgcmVsYXRlZCBtZXRob2RzLgorCisgICAgICAg
ICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsu
aDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06CisKIDIwMjEt
MDctMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI4MDEyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTg3NjI1ODQyNjFiYWE5ZTMyMmU5
YTcwY2Y4ZDJhNmYwN2IwOTA5Ni4uYzM2MmU2NjNlNGNjZGUyZmMzYTc4ZWE0MjJlZmNiMWNhNzdh
NmQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2
ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1
cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZGVmYXVs
dCB2YWx1ZSBmb3Igd2VibV93ZWJhdWRpbyBwcmVmIGZvciB0aGUgZGlmZmVyZW50IHBsYXRmb3Jt
cy4KKyAgICAgICAgRGlzYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgcGxhdGZvcm1zLgorICAgICAg
ICBGbHktYnkgZml4OiBkb24ndCBtYWtlIHdlYm0gcGFyc2VyIGRlcGVuZGVudCBvbiBWUDkgc3Vw
cG9ydC4KKworICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0Ogor
ICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0OgorICAgICAgICAqIEZlYXR1
cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktp
dC13YXRjaG9zLnBsaXN0OgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZGVm
YXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlv
Q29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisKIDIwMjEtMDctMjEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSdW5uaW5nQm9hcmQga2lsbHMgdGhlIG5ldHdvcmsg
cHJvY2VzcyBpZiBpdCBpcyBzdGlsbCBob2xkaW5nIHRoZSAiaG9sZGluZyBsb2NrZWQgZmlsZSIg
YXNzZXJ0aW9uIHVwb24gc3VzcGVuc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRl
eCBjNDJlYmViYTA2N2MxNWQ3ZjVkYzBlOTBhYjNkYjQ1MmU5MjJhNGVkLi5iNDExODY0NGFiZjhi
NmUxMzhlM2U2NDk0NzU0ODA4M2M5OTNkYmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFt
bApAQCAtMTI2MSw2ICsxMjYxLDE4IEBAIFdlYk1QYXJzZXJFbmFibGVkOgogICAgIFdlYktpdDoK
ICAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCkKIAorV2Vi
TVdlYkF1ZGlvRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcworICBodW1hblJlYWRhYmxlTmFtZTogIldlYk0gV2ViIEF1ZGlvIgor
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgV2ViTSBXZWIgQXVkaW8iCisgIGNv
bmRpdGlvbjogRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktp
dExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJs
ZWQoKQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJB
dWRpb0VuYWJsZWQoKQorCiAjIEZJWE1FOiBJcyB0aGlzIGltcGxlbWVudGVkIGZvciBXZWJLaXRM
ZWdhY3k/IElmIG5vdCwgdGhpcyBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBXZWJLaXRMZWdhY3kg
ZW50aXJlbHkuCiBXZWJSVENIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkOgogICB0eXBlOiBi
b29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCAzYjFiYjU1MGY1NjgxYTRmNWRkMjM2MGExNDE4OWE4
ZWNhZDA1N2I5Li45YTYxZWVmZjU0YjdjNjUwMjBhMjhlOTRjNmJlZTNkNTQzYzc0NTlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0hlYWRlcnMuY21ha2UKQEAgLTEzMzUsNiArMTMzNSw4IEBAIHNldChXZWJDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9FeHRlbnNpb25z
R0xBTkdMRS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xB
TkdMRVV0aWxpdGllcy5oCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5oCisKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3QuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dERyYXdHbHlwaHNSZWNvcmRlci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCBmYzA2NjhhNGE5MWFmZTEwYjY1MTU5Y2Ew
ODJlMTgyODFmZDUwMzU3Li4zNGI3ZmM2ODYzYjI1ZDI1MGMzZGQ2MDhiZmQ5MGM5YmJhYmE0NzFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNw
cApAQCAtNDcsMTEgKzQ3LDE0IEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5
RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYgdGhlU291cmNlQnVmZmVyLCBz
aXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgdm9pZCogZGVzdGluYXRpb24p
LCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGRlc3RpbmF0aW9u
KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01C
bG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwgUEFMX0VYUE9SVCkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJs
b2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRo
ZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNl
dCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJ
VEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpLCBQQUxfRVhQT1JUKQog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNv
dXJjZUJ5dGVzLCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zm
c2V0SW50b0Rlc3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVz
dGluYXRpb25CdWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCksIFBBTF9F
WFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENv
cmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldEV4dGVuc2lvbnMsIENGRGljdGlvbmFyeVJl
ZiwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBD
TVNhbXBsZUJ1ZmZlckdldFR5cGVJRCwgQ0ZUeXBlSUQsICh2b2lkKSwgKCksIFBBTF9FWFBPUlQp
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsb2NrQnVmZmVyUmVmLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdl
dEZvcm1hdERlc2NyaXB0aW9uLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmLCAoQ01TYW1wbGVCdWZm
ZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVzY3JpcHRpb25z
U2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBwYWNrZXREZXNj
cmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCBQQUxfRVhQT1JU
KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVk
aWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywgT1NTdGF0dXMsIChDTVNhbXBs
ZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRleCwgQ01TYW1wbGVUaW1pbmdJ
bmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4LCB0aW1pbmdJbmZvT3V0KSwg
UEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFmYzU2ZGJmYjA1
ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLmRjMmQ4ZTBiZTkzNmJiMmRiZmQ1MmFjMmVkY2I1NWM4
ZjI1MTRjMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmgKQEAgLTQ5LDYgKzQ5LDEwIEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcywgT1NTdGF0CiAjZGVmaW5l
IENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVm
ZmVyQ29weURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoLCBzaXplX3QsIChDTUJsb2NrQnVmZmVy
UmVmIHRoZUJ1ZmZlciksICh0aGVCdWZmZXIpKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyR2V0RGF0
YUxlbmd0aCBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgKK1NP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
SXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwg
c2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3Ro
KSkKKyNkZWZpbmUgQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVN
ZWRpYV9DTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMKK1NPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpKQorI2RlZmluZSBDTUJs
b2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZl
ckNyZWF0ZUNvbnRpZ3VvdXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29y
ZU1lZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2
b2lkKiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6
ZV90IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0
ZXMsIGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgp
KQogI2RlZmluZSBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcyBzb2Z0TGlua19Db3JlTWVk
aWFfQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
SEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0RXh0ZW5zaW9ucywg
Q0ZEaWN0aW9uYXJ5UmVmLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2MpKQpA
QCAtNTksNiArNjMsOCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVN
ZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsbwogI2RlZmluZSBDTVNhbXBs
ZUJ1ZmZlckdldERhdGFCdWZmZXIgc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0
RGF0YUJ1ZmZlcgogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEs
IENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24sIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQogI2RlZmluZSBDTVNhbXBsZUJ1
ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZl
ckdldEZvcm1hdERlc2NyaXB0aW9uCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUws
IENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
cywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0RGVzY3JpcHRp
b25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCAoc2J1Ziwg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBwYWNrZXREZXNj
cmlwdGlvbnNTaXplTmVlZGVkT3V0KSkKKyNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0
cmVhbVBhY2tldERlc2NyaXB0aW9ucyBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJH
ZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywg
T1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRl
eCwgQ01TYW1wbGVUaW1pbmdJbmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4
LCB0aW1pbmdJbmZvT3V0KSkKICNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJ
bmZvIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8K
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiksIChzYnVm
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9u
U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29m
dExpbmsuaAppbmRleCBiMzI0MTU5YmUxZWZlN2E1ZTVmZTJiMjY0ZDQxYTZhMGM4NGZkNDliLi43
MDBlOWMzMmM0Y2ZiMWJkYzMwZWNmNDdhMDAwNjMwNzIwNTI2OTBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCkBAIC0zMjQs
NCArMzI0LDExIEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQVZGb3VuZGF0
aW9uLCBBVk91dHB1dENvbnRleHRPdXRwdXREZXZpY2VzRGlkCiAjZGVmaW5lIEFWT3V0cHV0Q29u
dGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24gUEFMOjpnZXRfQVZGb3VuZGF0
aW9uX0FWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24oKQog
I2VuZGlmIC8vIEhBVkUoQVZST1VURVBJQ0tFUlZJRVcpCiAKKyNpZiBQTEFURk9STShDT0NPQSkK
K1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbnZlcnRlcikKK1NPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0Zvcm1hdCkKK1NPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbXByZXNzZWRCdWZmZXIpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9QQ01CdWZmZXIpCisjZW5kaWYgLy8gUExBVEZPUk0o
Q09DT0EpCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggMzdjOGIx
ZmFmZDU4Y2NiYzZlODUwYzZmMzAxMTc2N2M3ZGEzMTY0NS4uNzMzOTg0NWUwNzI2NTgwMWUwNjQw
MzAzYjJlMjkxYTAxMjRlODcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCkBAIC0yMzAsNyArMjMwLDcgQEAgU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9TZXNzaW9uUm91dGUKIAogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRIVFRQQ29va2llc0tl
eSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0UmVxdWly
ZXNDdXN0b21VUkxMb2FkaW5nS2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQotI2VuZGlmCisj
ZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uU2V0
QXV0aG9yaXplZFRvVXNlQ2FtZXJhSW5NdWx0aXBsZUZvcmVncm91bmRBcHBMYXlvdXQsIHZvaWQs
IChBVkNhcHR1cmVTZXNzaW9uICpzZXNzaW9uKSwgKHNlc3Npb24pKQpAQCAtMjQ0LDQgKzI0NCwx
MSBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91
bmRhdGlvbiwgQVZSb3V0ZURldGVjdG9yTXVsdAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERl
dmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24sIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiAjZW5k
aWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9Db252ZXJ0ZXIsIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0Zvcm1hdCwgUEFMX0VYUE9SVCkK
K1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvUENNQnVmZmVy
LCBQQUxfRVhQT1JUKQorI2VuZGlmCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGYwMWI5OTI3ZTNjYzYyMmU5Y2NjMDBiMTFlYjJhMmNkZDAzZjc1MzcuLjRmNDk1N2Y1MGU4ZWI0
NGY2ZjA1ODE5MDcyZGMwYTUxNzNiZTFjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzMiw3ICsyMzIsNyBAQAogCQkwN0VF
NzZFQzFCRTk2REIwMDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RUU3NkVBMUJFOTZEQjAw
MEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAv
KiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUQxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFs
dGltZVZpZGVvU291cmNlTWFjLmggKi87IH07CiAJCTA3RjRFOTMzMjBCMzU4N0YwMDJFMzgwMyAv
KiBBVkFzc2V0TUlNRVR5cGVDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDdDOEFEMTIxRDA3M0Q2MzAwODdDNUNFIC8qIEFWQXNzZXRNSU1FVHlw
ZUNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJMDdGNUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1
ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgfTsKKwkJMDdG
NUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1ODJBNEY4
MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0Y1Q0ZGNjI1ODJBNTI5MDA2NjJFRjUg
LyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGMjI1ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EubW0gKi87IH07CiAJCTA3Rjg3Njg0MUFENTgwRjkwMDkwNTg0OSAvKiBN
ZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDdGODc2ODMxQUQ0QTk0NTAwOTA1ODQ5IC8qIE1lZGlhUGxheWJh
Y2tUYXJnZXRDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDdGOTQ0MTYxODY0RDA0NjAwNUQzMUNCIC8qIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RBRThDMDgxNzQ2Qjk1NzAwNTMyRDc4IC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBhM2IzYTJmMTE1N2MyYjdl
NTAwYjJhMDRlNDY4ZWQ1NmFkMjA0NGJjLi43ZDdjZDJjZTFkZWZiOGMwNTEwM2I0MzgxZGE3NWY3
MGI3MjgzNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAg
LTEwNTUsNyArMTA1NSw3IEBAIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogICAgIC8vIFRlbXBvcmFyaWx5IHdvcmsgYXJv
dW5kIGJ1ZyAyMjY5MjIuIEZvciBub3cgY2xhaW0gdGhhdCB0aGUgb3B1cyBhbmQgdm9yYmlzIGNv
ZGVjcyBhcmVuJ3Qgc3VwcG9ydGVkCiAgICAgLy8gc28gdGhhdCBzaXRlcyByZWx5aW5nIG9uIHRo
aXMgdGVzdCB0byBkZXRlcm1pbmUgaWYgd2ViYXVkaW8gdXNlIG9mIG9wdXMgb3Igdm9yYmlzIHdv
bid0IGVycm9yLgogICAgIGF1dG8gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0gICAg
aWYgKHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYg
KGNvZGVjcy5jb250YWlucygib3B1cyIpIHx8IGNvZGVjcy5jb250YWlucygidm9yYmlzIikpKQor
ICAgIGlmIChzdXBwb3J0ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVk
ICYmICgoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikgJiYgIXdlYk1XZWJBdWRpb0VuYWJsZWQoKSkg
fHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCiAgICAgICAgIHN1cHBvcnQgPSBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZDsKICNlbmRpZgogCkBAIC04MTc1LDYg
KzgxNzUsMTUgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNNZWRpYVN0cmVhbVNvdXJjZSgp
IGNvbnN0CiAjZW5kaWYKIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJNV2ViQXVkaW9F
bmFibGVkKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHJldHVybiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYk1XZWJBdWRpb0VuYWJs
ZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVN0cmVhbUNhcHR1cmVT
dGFydGVkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMTA1
MWMwNTg1M2ZjMDEyZWRkYWNkOGI3NGM5NDVhYmJhYzJkNTMyMC4uZjkyNmVkNjI3MzAxMWQ1MTY0
OGFkZWY1Nzk3ZGJlZGZhNmRiODJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTkzOSw2ICs5MzksOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IExvZ2dlciYgbWVk
aWFQbGF5ZXJMb2dnZXIoKSBmaW5hbCB7IHJldHVybiBsb2dnZXIoKTsgfQogI2VuZGlmCiAKKyAg
ICBib29sIHdlYk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdDsKKwogICAgIFRpbWVyIG1fcHJvZ3Jl
c3NFdmVudFRpbWVyOwogICAgIFRpbWVyIG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFRp
bWVyIG1fc2NhblRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaAppbmRleCBhMGQzY2VhNzlkN2UwYWUwNzQ4MjQwZGQyMmVlZTJkNTU3NTA0NGE2Li42
ODVhMGEyYWQ3NTQ3MjY5OWFlYmYyMTlmYTBjMjUxNTIxYmViMGI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMjM1LDYgKzIzNSw4IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2ViTVBhcnNlckVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJNUGFyc2VyRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQogICAgIGJvb2wgd2ViTVBhcnNlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYk1QYXJz
ZXJFbmFibGVkOyB9CisgICAgdm9pZCBzZXRXZWJNV2ViQXVkaW9FbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fd2ViTVdlYkF1ZGlvRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgd2Vi
TVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVdlYkF1ZGlvRW5hYmxlZDsg
fQogI2VuZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKQEAgLTM3MSw2ICszNzMsNyBAQCBwcml2
YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBib29sIG1fd2ViTVBhcnNlckVu
YWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV93ZWJNV2ViQXVkaW9FbmFibGVkIHsgZmFsc2Ug
fTsKICNlbmRpZgogCiAjaWYgSEFWRShDRUxFU1RJQUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaAppbmRleCA4ZGE2MDM3Nzg4MjQzMzMwYWUyNTBkOWMxMGM3MmVlMDU4OGU3NjBj
Li4wMjU4ZTVlYjRmM2Q2ODgzODE4YjNiNzFlMDljMGY4OTBmMDM0M2Y1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKQEAgLTU3LDcgKzU3LDcgQEAgc3RydWN0IFBsYXRmb3Jt
U2FtcGxlIHsKICAgICB9IHNhbXBsZTsKIH07CiAKLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlh
U2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CitjbGFz
cyBNZWRpYVNhbXBsZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4g
ewogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlKCkgPSBkZWZhdWx0OwogCkBAIC0x
MjUsNiArMTI1LDggQEAgcHVibGljOgogCiAgICAgICAgIHJldHVybiBvYmplY3QtPnRvSlNPTlN0
cmluZygpOwogICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhU2FtcGxlQVZGT2JqQygp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKaW5kZXggMjQzZTEwNmI5
ZTMzZGE5M2RlOWEwY2FkMzNiYzA4ZTkyMDY1MzIwMC4uN2YwM2MzMzFlZTIwMTBjOTg5MjlhMDMy
NGRjYWM5NTVkNjVmOGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9CdXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
QnVzLmNwcApAQCAtNzMsNiArNzMsMTYgQEAgdm9pZCBBdWRpb0J1czo6c2V0Q2hhbm5lbE1lbW9y
eSh1bnNpZ25lZCBjaGFubmVsSW5kZXgsIGZsb2F0KiBzdG9yYWdlLCBzaXplX3QgbGUKICAgICB9
CiB9CiAKK3ZvaWQgQXVkaW9CdXM6OnNldExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKQoreworICAg
IFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IG1f
bGVuZ3RoKTsKKyAgICBpZiAobmV3TGVuZ3RoID09IG1fbGVuZ3RoKQorICAgICAgICByZXR1cm47
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhbm5lbHMuc2l6ZSgpOyArK2kpCisg
ICAgICAgIG1fY2hhbm5lbHNbaV0tPnNldExlbmd0aChuZXdMZW5ndGgpOworICAgIG1fbGVuZ3Ro
ID0gbmV3TGVuZ3RoOworfQorCiB2b2lkIEF1ZGlvQnVzOjp6ZXJvKCkKIHsKICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQwZTgxMTIxMWI0ZGEyY2E4YzY3MGI1OGIz
Mjk2YjM1Y2U2OWNkNGEuLmVhNTg1Yzg0OGVhOTQxMjI3NDAyOWE4ODY3YWI5Y2NhYzcwNzRkNjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtODMsNiArODMs
OSBAQCBwdWJsaWM6CiAgICAgLy8gTnVtYmVyIG9mIHNhbXBsZS1mcmFtZXMKICAgICBzaXplX3Qg
bGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFJlZHVjZSB0aGUg
bnVtYmVyIG9mIGZyYW1lcyBhdmFpbGFibGUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYWxsb2NhdGVk
IG1lbW9yeSBzaXplLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpOworCiAg
ICAgLy8gU2FtcGxlLXJhdGUgOiAwLjAgaWYgdW5rbm93biBvciAiZG9uJ3QgY2FyZSIKICAgICBm
bG9hdCBzYW1wbGVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVSYXRlOyB9CiAgICAgdm9p
ZCBzZXRTYW1wbGVSYXRlKGZsb2F0IHNhbXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxl
UmF0ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9D
aGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApp
bmRleCA5NzViZDBiNWFiZDhmNzI1NWEwNWE3ZGQ3MGY5NjUwYjFkNDk0NjY3Li5jOTc2MTVmMGRh
MTUxYzIzZDQzM2NiNTYwNjdiYjU0Nzk0NjJhMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtNzQsNiArNzQsMTQgQEAgcHVibGljOgogICAg
IC8vIEhvdyBtYW55IHNhbXBsZS1mcmFtZXMgZG8gd2UgY29udGFpbj8KICAgICBzaXplX3QgbGVu
Z3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFNldCBuZXcgbGVuZ3Ro
LiBDYW4gb25seSBiZSBzZXQgdG8gYSB2YWx1ZSBsb3dlciB0aGFuIHRoZSBjdXJyZW50bHkKKyAg
ICAvLyBzZXQgbGVuZ3RoLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCisg
ICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG5l
d0xlbmd0aCA8PSBsZW5ndGgoKSk7CisgICAgICAgIG1fbGVuZ3RoID0gbmV3TGVuZ3RoOworICAg
IH0KKwogICAgIC8vIERpcmVjdCBhY2Nlc3MgdG8gUENNIHNhbXBsZSBkYXRhLiBOb24tY29uc3Qg
YWNjZXNzb3IgY2xlYXJzIHNpbGVudCBmbGFnLgogICAgIGZsb2F0KiBtdXRhYmxlRGF0YSgpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9GaWxlUmVhZGVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCmluZGV4IDVkNTZiOWVlMWEwZDNkNjdhNzljMzA3
NjFkMTM4MTVkN2MwNjQ0Y2UuLmJiMTg1MDY0OGE4MWExODkzYjcyNjc3Yjc3MDYyMTA1MTA0Mjlh
YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
RmlsZVJlYWRlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKQEAgLTM0LDIxICszNCwzNSBAQAogCiAjaW5j
bHVkZSAiQXVkaW9CdXMuaCIKICNpbmNsdWRlICJBdWRpb0ZpbGVSZWFkZXIuaCIKKyNpbmNsdWRl
ICJBdWRpb1NhbXBsZURhdGFTb3VyY2UuaCIKKyNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5o
IgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIkluYmFuZFRleHRUcmFj
a1ByaXZhdGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTYW1wbGVB
VkZPYmpDLmgiCisjaW5jbHVkZSAiVmlkZW9UcmFja1ByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJN
QXVkaW9VdGlsaXRpZXNDb2NvYS5oIgorI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbnZl
cnRlci5oPgogI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9FeHRlbmRlZEF1ZGlvRmlsZS5oPgogI2lu
Y2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8cGFsL2Nm
L0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CisjaW5jbHVkZSA8U291cmNlQnVmZmVyUGFyc2VyV2Vi
TS5oPgogI2luY2x1ZGUgPHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9G
YXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9TY29wZS5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KKyNpbmNsdWRlIDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxw
YWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0
aWMgV0FSTl9VTlVTRURfUkVUVVJOIEF1ZGlvQnVmZmVyTGlzdCogdHJ5Q3JlYXRlQXVkaW9CdWZm
ZXJMaXN0KHNpemVfdCBudW1iZXJPZkJ1ZmZlcnMpCiB7CisgICAgaWYgKCFudW1iZXJPZkJ1ZmZl
cnMpCisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIENoZWNrZWRTaXplIGJ1ZmZlckxpc3RT
aXplID0gc2l6ZW9mKEF1ZGlvQnVmZmVyTGlzdCkgLSBzaXplb2YoQXVkaW9CdWZmZXIpOwotICAg
IGJ1ZmZlckxpc3RTaXplICs9IG51bWJlck9mQnVmZmVycyAqIHNpemVvZihBdWRpb0J1ZmZlcik7
CisgICAgYnVmZmVyTGlzdFNpemUgKz0gV1RGOjpjaGVja2VkUHJvZHVjdDxzaXplX3Q+KG51bWJl
ck9mQnVmZmVycywgc2l6ZW9mKEF1ZGlvQnVmZmVyKSk7CiAgICAgaWYgKGJ1ZmZlckxpc3RTaXpl
Lmhhc092ZXJmbG93ZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTg3LDEwICsx
MDEsOTAgQEAgc3RhdGljIGJvb2wgdmFsaWRhdGVBdWRpb0J1ZmZlckxpc3QoQXVkaW9CdWZmZXJM
aXN0KiBidWZmZXJMaXN0KQogICAgIHJldHVybiB0cnVlOwogfQogCisvLyBPbiBzdGFjayBSQUlJ
IGNsYXNzIHRoYXQgd2lsbCBmcmVlIHRoZSBhbGxvY2F0ZWQgQXVkaW9CdWZmZXJMaXN0IGFzIG5l
ZWRlZC4KK2NsYXNzIEF1ZGlvQnVmZmVyTGlzdEhvbGRlciB7CitwdWJsaWM6CisgICAgZXhwbGlj
aXQgQXVkaW9CdWZmZXJMaXN0SG9sZGVyKHNpemVfdCBudW1iZXJPZkNoYW5uZWxzKQorICAgICAg
ICA6IG1fYnVmZmVyTGlzdCh0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVs
cykpCisgICAgeworICAgIH0KKworICAgIH5BdWRpb0J1ZmZlckxpc3RIb2xkZXIoKQorICAgIHsK
KyAgICAgICAgaWYgKG1fYnVmZmVyTGlzdCkKKyAgICAgICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZl
ckxpc3QobV9idWZmZXJMaXN0KTsKKyAgICB9CisKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29s
KCkgY29uc3QgeyByZXR1cm4gISFtX2J1ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3Qq
IG9wZXJhdG9yLT4oKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1
ZmZlckxpc3QqIG9wZXJhdG9yKigpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyTGlzdDsgfQorICAg
IGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KG1f
YnVmZmVyTGlzdCk7IH0KK3ByaXZhdGU6CisgICAgQXVkaW9CdWZmZXJMaXN0KiBtX2J1ZmZlckxp
c3Q7Cit9OworCitzdGF0aWMgY29uc3RleHByIHVpbnQzMl90IGtPcHVzTWF4RnJhbWVMZW5ndGgg
PSA5NDsKK3N0YXRpYyBjb25zdGV4cHIgdWludDMyX3Qga1ZvcmJpc01heEZyYW1lTGVuZ3RoID0g
NDA5NjsKKworY2xhc3MgQXVkaW9GaWxlUmVhZGVyV2ViTURhdGEgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworCitwdWJsaWM6CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBT
b3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJbml0aWFsaXphdGlvblNlZ21lbnQgbV9pbml0U2VnbWVu
dDsKKyNlbmRpZgorICAgIE1lZGlhVGltZSBtX2R1cmF0aW9uOworICAgIFZlY3RvcjxSZWY8TWVk
aWFTYW1wbGVBVkZPYmpDPj4gbV9zYW1wbGVzOworfTsKKwogQXVkaW9GaWxlUmVhZGVyOjpBdWRp
b0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKQogICAgIDogbV9k
YXRhKGRhdGEpCiAgICAgLCBtX2RhdGFTaXplKGRhdGFTaXplKQorI2lmICFSRUxFQVNFX0xPR19E
SVNBQkxFRAorICAgICwgbV9sb2dnZXIoTG9nZ2VyOjpjcmVhdGUodGhpcykpCisgICAgLCBtX2xv
Z0lkZW50aWZpZXIoTG9nZ2VySGVscGVyOjp1bmlxdWVMb2dJZGVudGlmaWVyKCkpCisjZW5kaWYK
IHsKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIGlmIChpc01heWJlV2ViTShzdGF0aWNf
Y2FzdDxjb25zdCB1aW50OF90Kj4oZGF0YSksIGRhdGFTaXplKSkgeworICAgICAgICBhdXRvIHBh
cnNlciA9IGFkb3B0UmVmKG5ldyBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNKCkpOworICAgICAgICBi
b29sIGVycm9yID0gZmFsc2U7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IGF1ZGlv
VHJhY2tJZDsKKyAgICAgICAgTWVkaWFUaW1lIGR1cmF0aW9uOworICAgICAgICBTb3VyY2VCdWZm
ZXJQYXJzZXJXZWJNOjpJbml0aWFsaXphdGlvblNlZ21lbnQgaW5pdFNlZ21lbnQ7CisgICAgICAg
IFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPj4gc2FtcGxlczsKKyAgICAgICAgcGFyc2Vy
LT5zZXREaWRFbmNvdW50ZXJFcnJvckR1cmluZ1BhcnNpbmdDYWxsYmFjayhbJl0odWludDY0X3Qp
IHsKKyAgICAgICAgICAgIGVycm9yID0gdHJ1ZTsKKyAgICAgICAgfSk7CisgICAgICAgIHBhcnNl
ci0+c2V0RGlkUGFyc2VJbml0aWFsaXphdGlvbkRhdGFDYWxsYmFjayhbJl0oU291cmNlQnVmZmVy
UGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25TZWdtZW50JiYgaW5pdCkgeworICAgICAgICAgICAg
Zm9yIChhdXRvJiBhdWRpb1RyYWNrIDogaW5pdC5hdWRpb1RyYWNrcykgeworICAgICAgICAgICAg
ICAgIGlmIChhdWRpb1RyYWNrLnRyYWNrICYmIGF1ZGlvVHJhY2sudHJhY2stPnRyYWNrVUlEKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgZHVyYXRpb24gPSBpbml0LmR1cmF0aW9uOworICAgICAg
ICAgICAgICAgICAgICBhdWRpb1RyYWNrSWQgPSBhdWRpb1RyYWNrLnRyYWNrLT50cmFja1VJRCgp
OworICAgICAgICAgICAgICAgICAgICBpbml0U2VnbWVudCA9IFdURk1vdmUoaW5pdCk7CisgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
CisgICAgICAgIH0pOworICAgICAgICBwYXJzZXItPnNldERpZFByb3ZpZGVNZWRpYURhdGFDYWxs
YmFjayhbJl0oUmVmPE1lZGlhU2FtcGxlPiYmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCwgY29u
c3QgU3RyaW5nJikgeworICAgICAgICAgICAgaWYgKCFhdWRpb1RyYWNrSWQgfHwgdHJhY2tJRCAh
PSAqYXVkaW9UcmFja0lkKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIFJF
TEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oaXM8TWVkaWFTYW1wbGVBVkZP
YmpDPihzYW1wbGUuZ2V0KCkpKTsKKyAgICAgICAgICAgIHNhbXBsZXMuYXBwZW5kKHN0YXRpY19y
ZWZlcmVuY2VfY2FzdDxNZWRpYVNhbXBsZUFWRk9iakM+KFdURk1vdmUoc2FtcGxlKSkpOworICAg
ICAgICB9KTsKKyAgICAgICAgcGFyc2VyLT5zZXRDYWxsT25DbGllbnRUaHJlYWRDYWxsYmFjayhb
XShXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikgeworICAgICAgICAgICAgZnVuY3Rp
b24oKTsKKyAgICAgICAgfSk7CisgICAgICAgIFZlY3Rvcjx1aW50OF90PiB2ZWN0b3Ioc3RhdGlj
X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEpLCBkYXRhU2l6ZSk7CisgICAgICAgIFNvdXJjZUJ1
ZmZlclBhcnNlcjo6U2VnbWVudCBzZWdtZW50KFdURk1vdmUodmVjdG9yKSk7CisgICAgICAgIHBh
cnNlci0+YXBwZW5kRGF0YShXVEZNb3ZlKHNlZ21lbnQpKTsKKyAgICAgICAgaWYgKGF1ZGlvVHJh
Y2tJZCkgeworICAgICAgICAgICAgcGFyc2VyLT5mbHVzaFBlbmRpbmdBdWRpb0J1ZmZlcnMoKTsK
KyAgICAgICAgICAgIG1fd2VibURhdGEgPSBtYWtlVW5pcXVlPEF1ZGlvRmlsZVJlYWRlcldlYk1E
YXRhPihBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YSB7IFdURk1vdmUoaW5pdFNlZ21lbnQpLCBXVEZN
b3ZlKGR1cmF0aW9uKSwgV1RGTW92ZShzYW1wbGVzKSB9KTsKKyAgICAgICAgfQorICAgICAgICBy
ZXR1cm47CisgICAgfQorI2VuZGlmCiAgICAgaWYgKFBBTDo6QXVkaW9GaWxlT3BlbldpdGhDYWxs
YmFja3ModGhpcywgcmVhZFByb2MsIDAsIGdldFNpemVQcm9jLCAwLCAwLCAmbV9hdWRpb0ZpbGVJ
RCkgIT0gbm9FcnIpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTExLDYgKzIwNSwxMiBAQCBBdWRp
b0ZpbGVSZWFkZXI6On5BdWRpb0ZpbGVSZWFkZXIoKQogICAgIG1fYXVkaW9GaWxlSUQgPSAwOwog
fQogCitib29sIEF1ZGlvRmlsZVJlYWRlcjo6aXNNYXliZVdlYk0oY29uc3QgdWludDhfdCogZGF0
YSwgc2l6ZV90IGRhdGFTaXplKSBjb25zdAoreworICAgIC8vIEZyb20gaHR0cHM6Ly9taW1lc25p
ZmYuc3BlYy53aGF0d2cub3JnLyNzaWduYXR1cmUtZm9yLXdlYm0KKyAgICByZXR1cm4gZGF0YVNp
emUgPj0gNCAmJiBkYXRhWzBdID09IDB4MUEgJiYgZGF0YVsxXSA9PSAweDQ1ICYmIGRhdGFbMl0g
PT0gMHhERiAmJiBkYXRhWzNdID09IDB4QTM7Cit9CisKIE9TU3RhdHVzIEF1ZGlvRmlsZVJlYWRl
cjo6cmVhZFByb2Modm9pZCogY2xpZW50RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVx
dWVzdENvdW50LCB2b2lkKiBidWZmZXIsIFVJbnQzMiogYWN0dWFsQ291bnQpCiB7CiAgICAgYXV0
byogYXVkaW9GaWxlUmVhZGVyID0gc3RhdGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50
RGF0YSk7CkBAIC0xMzYsNjcgKzIzNiwxNzIgQEAgU0ludDY0IEF1ZGlvRmlsZVJlYWRlcjo6Z2V0
U2l6ZVByb2Modm9pZCogY2xpZW50RGF0YSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXVkaW9G
aWxlUmVhZGVyKj4oY2xpZW50RGF0YSktPmRhdGFTaXplKCk7CiB9CiAKLVJlZlB0cjxBdWRpb0J1
cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhU
b01vbm8pCitzdHJ1Y3QgUGFzc3Rocm91Z2hVc2VyRGF0YSB7CisgICAgVUludDMyIG1fY2hhbm5l
bHM7CisgICAgVUludDMyIG1fZGF0YVNpemU7CisgICAgY29uc3Qgdm9pZCogbV9kYXRhOworICAg
IFVJbnQzMiBtX2luZGV4OworICAgIFVJbnQzMiBtX251bVBhY2tldHM7CisgICAgQXVkaW9TdHJl
YW1QYWNrZXREZXNjcmlwdGlvbiogbV9wYWNrZXRzOworfTsKKworLy8gRXJyb3IgdmFsdWUgd2Ug
cGFzcyB0aHJvdWdoIHRoZSBkZWNvZGVyIHRvIHNpZ25hbCB0aGF0IG5vdGhpbmcKKy8vIGhhcyBn
b25lIHdyb25nIGR1cmluZyBkZWNvZGluZyBhbmQgd2UncmUgZG9uZSBwcm9jZXNzaW5nIHRoZSBw
YWNrZXQuCitjb25zdCB1aW50MzJfdCBrTm9Nb3JlRGF0YUVyciA9ICdNT0FSJzsKKworc3RhdGlj
IE9TU3RhdHVzIHBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2soCisgICAgQXVkaW9Db252ZXJ0
ZXJSZWYsIFVJbnQzMiogbnVtRGF0YVBhY2tldHMsIEF1ZGlvQnVmZmVyTGlzdCogZGF0YSwgQXVk
aW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbioqIHBhY2tldERlc2MsIHZvaWQqIGluVXNlckRhdGEp
Cit7CisgICAgUGFzc3Rocm91Z2hVc2VyRGF0YSogdXNlckRhdGEgPSAoUGFzc3Rocm91Z2hVc2Vy
RGF0YSopaW5Vc2VyRGF0YTsKKyAgICBpZiAodXNlckRhdGEtPm1faW5kZXggPT0gdXNlckRhdGEt
Pm1fbnVtUGFja2V0cykgeworICAgICAgICAqbnVtRGF0YVBhY2tldHMgPSAwOworICAgICAgICBy
ZXR1cm4ga05vTW9yZURhdGFFcnI7CisgICAgfQorCisgICAgaWYgKHBhY2tldERlc2MpIHsKKyAg
ICAgICAgaWYgKHVzZXJEYXRhLT5tX2luZGV4ID49IHVzZXJEYXRhLT5tX251bVBhY2tldHMpIHsK
KyAgICAgICAgICAgICpudW1EYXRhUGFja2V0cyA9IDA7CisgICAgICAgICAgICByZXR1cm4ga0F1
ZGlvQ29udmVydGVyRXJyX1JlcXVpcmVzUGFja2V0RGVzY3JpcHRpb25zRXJyb3I7CisgICAgICAg
IH0KKyAgICAgICAgKnBhY2tldERlc2MgPSAmdXNlckRhdGEtPm1fcGFja2V0c1t1c2VyRGF0YS0+
bV9pbmRleF07CisgICAgfQorCisgICAgZGF0YS0+bUJ1ZmZlcnNbMF0ubU51bWJlckNoYW5uZWxz
ID0gdXNlckRhdGEtPm1fY2hhbm5lbHM7CisgICAgZGF0YS0+bUJ1ZmZlcnNbMF0ubURhdGFCeXRl
U2l6ZSA9IHVzZXJEYXRhLT5tX2RhdGFTaXplOworICAgIGRhdGEtPm1CdWZmZXJzWzBdLm1EYXRh
ID0gY29uc3RfY2FzdDx2b2lkKj4odXNlckRhdGEtPm1fZGF0YSk7CisKKyAgICAqbnVtRGF0YVBh
Y2tldHMgPSAxOworICAgIHVzZXJEYXRhLT5tX2luZGV4Kys7CisKKyAgICByZXR1cm4gbm9FcnI7
Cit9CisKK3NzaXplX3QgQXVkaW9GaWxlUmVhZGVyOjpudW1iZXJPZkZyYW1lcygpIGNvbnN0CiB7
CisgICAgU0ludDY0IG51bWJlck9mRnJhbWVzSW42NCA9IDA7CisKKyAgICBpZiAobV93ZWJtRGF0
YSkgeworICAgICAgICBpZiAobV93ZWJtRGF0YS0+bV9zYW1wbGVzLmlzRW1wdHkoKSkKKyAgICAg
ICAgICAgIHJldHVybiAtMTsKKworICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHRvdGFsIG51bWJl
ciBvZiBkZWNvZGVkIHNhbXBsZXMgdGhhdCB3ZXJlIGRlbXV4ZWQuCisgICAgICAgIC8vIFRoaXMg
Y29kZSBvbmx5IGhhbmRsZSB0aGUgQ01TYW1wbGVCdWZmZXIgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBT
b3VyY2VCdWZmZXJQYXJzZXJXZWJNCisgICAgICAgIC8vIHdoZXJlIGEgQXVkaW9TdHJlYW1QYWNr
ZXREZXNjcmlwdGlvbnMgYXJyYXkgaXMgYWx3YXlzIHByb3ZpZGVkIGV2ZW4gd2l0aAorICAgICAg
ICAvLyBDb25zdGFudCBiaXRyYXRlIGFuZCBjb25zdGFudCBmcmFtZXMtcGVyLXBhY2tldCBhdWRp
by4KKyAgICAgICAgZm9yIChhdXRvJiBzYW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsK
KyAgICAgICAgICAgIENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZUJ1ZmZlciA9IHNhbXBsZS0+c2Ft
cGxlQnVmZmVyKCk7CisgICAgICAgICAgICBjb25zdCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZv
cm1hdERlc2NyaXB0aW9uID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9u
KHNhbXBsZUJ1ZmZlcik7CisgICAgICAgICAgICBpZiAoIWZvcm1hdERlc2NyaXB0aW9uKQorICAg
ICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIGNvbnN0IEF1ZGlvU3RyZWFtQmFz
aWNEZXNjcmlwdGlvbiogY29uc3QgYXNiZCA9IFBBTDo6Q01BdWRpb0Zvcm1hdERlc2NyaXB0aW9u
R2V0U3RyZWFtQmFzaWNEZXNjcmlwdGlvbihmb3JtYXREZXNjcmlwdGlvbik7CisgICAgICAgICAg
ICBpZiAoIWFzYmQpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworCisgICAgICAgICAgICBz
aXplX3QgcGFja2V0RGVzY3JpcHRpb25zU2l6ZTsKKyAgICAgICAgICAgIGlmIChQQUw6OkNNU2Ft
cGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCAw
LCBudWxscHRyLCAmcGFja2V0RGVzY3JpcHRpb25zU2l6ZSkgIT0gbm9FcnIpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgc2l6ZV90IG51bURlc2NyaXB0aW9ucyA9IHBh
Y2tldERlc2NyaXB0aW9uc1NpemUgLyBzaXplb2YoQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
bik7CisgICAgICAgICAgICBpZiAoIW51bURlc2NyaXB0aW9ucykKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gLTE7CisgICAgICAgICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IFdURjo6bWFrZVVuaXF1
ZUFycmF5PEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24+KG51bURlc2NyaXB0aW9ucyk7Cisg
ICAgICAgICAgICBpZiAoUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVz
Y3JpcHRpb25zKHNhbXBsZUJ1ZmZlciwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3JpcHRp
b25zLmdldCgpLCBudWxscHRyKSAhPSBub0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7
CisgICAgICAgICAgICBDTUl0ZW1Db3VudCBudW1QYWNrZXRzID0gUEFMOjpDTVNhbXBsZUJ1ZmZl
ckdldE51bVNhbXBsZXMoc2FtcGxlQnVmZmVyKTsKKyAgICAgICAgICAgIGlmIChudW1EZXNjcmlw
dGlvbnMgIT0gc2l6ZV90KG51bVBhY2tldHMpKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9M
T0dfRkFVTFQoV2ViQXVkaW8sICJVbmhhbmRsZWQgQ01TYW1wbGVCdWZmZXIgc3RydWN0dXJlIik7
CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1EZXNjcmlwdGlvbnM7IGkrKykgeworICAgICAgICAg
ICAgICAgIHVpbnQzMl90IGZwcCA9IGRlc2NyaXB0aW9uc1tpXS5tVmFyaWFibGVGcmFtZXNJblBh
Y2tldCA/IGRlc2NyaXB0aW9uc1tpXS5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA6IGFzYmQtPm1G
cmFtZXNQZXJQYWNrZXQ7CisgICAgICAgICAgICAgICAgbnVtYmVyT2ZGcmFtZXNJbjY0ICs9IGZw
cDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm4gbnVtYmVyT2ZGcmFt
ZXNJbjY0OworICAgIH0KKwogICAgIGlmICghbV9leHRBdWRpb0ZpbGVSZWYpCi0gICAgICAgIHJl
dHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gLTE7CiAKLSAgICAvLyBHZXQgZmlsZSdzIGRh
dGEgZm9ybWF0Ci0gICAgVUludDMyIHNpemUgPSBzaXplb2YobV9maWxlRGF0YUZvcm1hdCk7Ci0g
ICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtF
eHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxlRGF0YUZvcm1hdCwgJnNpemUsICZtX2ZpbGVEYXRhRm9y
bWF0KSAhPSBub0VycikKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgVUludDMyIHNpemUg
PSBzaXplb2YobnVtYmVyT2ZGcmFtZXNJbjY0KTsKKyAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVH
ZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVM
ZW5ndGhGcmFtZXMsICZzaXplLCAmbnVtYmVyT2ZGcmFtZXNJbjY0KSAhPSBub0VyciB8fCBudW1i
ZXJPZkZyYW1lc0luNjQgPD0gMCkKKyAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgc2l6ZV90IG51
bWJlck9mQ2hhbm5lbHMgPSBtX2ZpbGVEYXRhRm9ybWF0Lm1DaGFubmVsc1BlckZyYW1lOworICAg
IHJldHVybiBudW1iZXJPZkZyYW1lc0luNjQ7Cit9CiAKLSAgICAvLyBOdW1iZXIgb2YgZnJhbWVz
Ci0gICAgU0ludDY0IG51bWJlck9mRnJhbWVzNjQgPSAwOwotICAgIHNpemUgPSBzaXplb2YobnVt
YmVyT2ZGcmFtZXM2NCk7Ci0gICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9l
eHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxlTGVuZ3RoRnJhbWVzLCAm
c2l6ZSwgJm51bWJlck9mRnJhbWVzNjQpICE9IG5vRXJyIHx8IG51bWJlck9mRnJhbWVzNjQgPD0g
MCkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CitzdGQ6Om9wdGlvbmFsPEF1ZGlvU3RyZWFtQmFz
aWNEZXNjcmlwdGlvbj4gQXVkaW9GaWxlUmVhZGVyOjpmaWxlRGF0YUZvcm1hdCgpIGNvbnN0Cit7
CisgICAgaWYgKG1fd2VibURhdGEpIHsKKyAgICAgICAgaWYgKG1fd2VibURhdGEtPm1fc2FtcGxl
cy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4geyB9OworCisgICAgICAgIENNRm9ybWF0
RGVzY3JpcHRpb25SZWYgZm9ybWF0RGVzY3JpcHRpb24gPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0
Rm9ybWF0RGVzY3JpcHRpb24obV93ZWJtRGF0YS0+bV9zYW1wbGVzWzBdLT5zYW1wbGVCdWZmZXIo
KSk7CisgICAgICAgIGlmICghZm9ybWF0RGVzY3JpcHRpb24pCisgICAgICAgICAgICByZXR1cm4g
eyB9OworCisgICAgICAgIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiogY29uc3Qg
YXNiZCA9IFBBTDo6Q01BdWRpb0Zvcm1hdERlc2NyaXB0aW9uR2V0U3RyZWFtQmFzaWNEZXNjcmlw
dGlvbihmb3JtYXREZXNjcmlwdGlvbik7CisgICAgICAgIHJldHVybiAqYXNiZDsKKyAgICB9CiAK
LSAgICBkb3VibGUgZmlsZVNhbXBsZVJhdGUgPSBtX2ZpbGVEYXRhRm9ybWF0Lm1TYW1wbGVSYXRl
OworICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBmb3JtYXQ7CisgICAgVUludDMyIHNp
emUgPSBzaXplb2YoZm9ybWF0KTsKKyAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0
eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVEYXRhRm9ybWF0
LCAmc2l6ZSwgJmZvcm1hdCkgIT0gbm9FcnIpCisgICAgICAgIHJldHVybiB7IH07CisgICAgcmV0
dXJuIGZvcm1hdDsKK30KIAorQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIEF1ZGlvRmlsZVJl
YWRlcjo6Y2xpZW50RGF0YUZvcm1hdChjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24m
IGluRm9ybWF0LCBmbG9hdCBzYW1wbGVSYXRlKSBjb25zdAorewogICAgIC8vIE1ha2UgY2xpZW50
IGZvcm1hdCBzYW1lIG51bWJlciBvZiBjaGFubmVscyBhcyBmaWxlIGZvcm1hdCwgYnV0IHR3ZWFr
IGEgZmV3IHRoaW5ncy4KICAgICAvLyBDbGllbnQgZm9ybWF0IHdpbGwgYmUgbGluZWFyIFBDTSAo
Y2Fub25pY2FsKSwgYW5kIHBvdGVudGlhbGx5IGNoYW5nZSBzYW1wbGUtcmF0ZS4KLSAgICBtX2Ns
aWVudERhdGFGb3JtYXQgPSBtX2ZpbGVEYXRhRm9ybWF0OworICAgIEF1ZGlvU3RyZWFtQmFzaWNE
ZXNjcmlwdGlvbiBvdXRGb3JtYXQgPSBpbkZvcm1hdDsKIAogICAgIGNvbnN0IGludCBieXRlc1Bl
ckZsb2F0ID0gc2l6ZW9mKEZsb2F0MzIpOwogICAgIGNvbnN0IGludCBiaXRzUGVyQnl0ZSA9IDg7
Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1Gb3JtYXRJRCA9IGtBdWRpb0Zvcm1hdExpbmVhclBD
TTsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUZvcm1hdEZsYWdzID0ga0F1ZGlvRm9ybWF0Rmxh
Z3NOYXRpdmVGbG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1hdEZsYWdJc05vbkludGVybGVhdmVkOwot
ICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQnl0ZXNQZXJQYWNrZXQgPSBieXRlc1BlckZsb2F0Owot
ICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tRnJhbWVzUGVyUGFja2V0ID0gMTsKLSAgICBtX2NsaWVu
dERhdGFGb3JtYXQubUJ5dGVzUGVyRnJhbWUgPSBieXRlc1BlckZsb2F0OwotICAgIG1fY2xpZW50
RGF0YUZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZSA9IG51bWJlck9mQ2hhbm5lbHM7Ci0gICAgbV9j
bGllbnREYXRhRm9ybWF0Lm1CaXRzUGVyQ2hhbm5lbCA9IGJpdHNQZXJCeXRlICogYnl0ZXNQZXJG
bG9hdDsKKyAgICBvdXRGb3JtYXQubUZvcm1hdElEID0ga0F1ZGlvRm9ybWF0TGluZWFyUENNOwor
ICAgIG91dEZvcm1hdC5tRm9ybWF0RmxhZ3MgPSBrQXVkaW9Gb3JtYXRGbGFnc05hdGl2ZUZsb2F0
UGFja2VkIHwga0F1ZGlvRm9ybWF0RmxhZ0lzTm9uSW50ZXJsZWF2ZWQ7CisgICAgb3V0Rm9ybWF0
Lm1CeXRlc1BlclBhY2tldCA9IG91dEZvcm1hdC5tQnl0ZXNQZXJGcmFtZSA9IGJ5dGVzUGVyRmxv
YXQ7CisgICAgb3V0Rm9ybWF0Lm1GcmFtZXNQZXJQYWNrZXQgPSAxOworICAgIG91dEZvcm1hdC5t
Qml0c1BlckNoYW5uZWwgPSBiaXRzUGVyQnl0ZSAqIGJ5dGVzUGVyRmxvYXQ7CiAKICAgICBpZiAo
c2FtcGxlUmF0ZSkKLSAgICAgICAgbV9jbGllbnREYXRhRm9ybWF0Lm1TYW1wbGVSYXRlID0gc2Ft
cGxlUmF0ZTsKKyAgICAgICAgb3V0Rm9ybWF0Lm1TYW1wbGVSYXRlID0gc2FtcGxlUmF0ZTsKKwor
ICAgIHJldHVybiBvdXRGb3JtYXQ7Cit9CiAKLSAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVTZXRQ
cm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0NsaWVudERh
dGFGb3JtYXQsIHNpemVvZihBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24pLCAmbV9jbGllbnRE
YXRhRm9ybWF0KSAhPSBub0VycikKK1JlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpj
cmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCit7CisgICAgU0ludDY0
IG51bWJlck9mRnJhbWVzSW42NCA9IG51bWJlck9mRnJhbWVzKCk7CisgICAgaWYgKG51bWJlck9m
RnJhbWVzSW42NCA8PSAwKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIC8vIENoYW5n
ZSBudW1iZXJPZkZyYW1lczY0IHRvIGRlc3RpbmF0aW9uIHNhbXBsZS1yYXRlCi0gICAgbnVtYmVy
T2ZGcmFtZXM2NCA9IG51bWJlck9mRnJhbWVzNjQgKiAobV9jbGllbnREYXRhRm9ybWF0Lm1TYW1w
bGVSYXRlIC8gZmlsZVNhbXBsZVJhdGUpOwotICAgIHNpemVfdCBudW1iZXJPZkZyYW1lcyA9IHN0
YXRpY19jYXN0PHNpemVfdD4obnVtYmVyT2ZGcmFtZXM2NCk7CisgICAgYXV0byBpbkZvcm1hdCA9
IGZpbGVEYXRhRm9ybWF0KCk7CisgICAgaWYgKCFpbkZvcm1hdCkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gb3V0Rm9ybWF0ID0gY2xp
ZW50RGF0YUZvcm1hdCgqaW5Gb3JtYXQsIHNhbXBsZVJhdGUpOworICAgIHNpemVfdCBudW1iZXJP
ZkNoYW5uZWxzID0gaW5Gb3JtYXQtPm1DaGFubmVsc1BlckZyYW1lOworICAgIGRvdWJsZSBmaWxl
U2FtcGxlUmF0ZSA9IGluRm9ybWF0LT5tU2FtcGxlUmF0ZTsKKyAgICBTSW50NjQgbnVtYmVyT2ZG
cmFtZXNPdXQ2NCA9IG51bWJlck9mRnJhbWVzSW42NCAqIChvdXRGb3JtYXQubVNhbXBsZVJhdGUg
LyBmaWxlU2FtcGxlUmF0ZSk7CisgICAgc2l6ZV90IG51bWJlck9mRnJhbWVzID0gc3RhdGljX2Nh
c3Q8c2l6ZV90PihudW1iZXJPZkZyYW1lc091dDY0KTsKICAgICBzaXplX3QgYnVzQ2hhbm5lbENv
dW50ID0gbWl4VG9Nb25vID8gMSA6IG51bWJlck9mQ2hhbm5lbHM7CiAKICAgICAvLyBDcmVhdGUg
QXVkaW9CdXMgd2hlcmUgd2UnbGwgcHV0IHRoZSBQQ00gYXVkaW8gZGF0YQogICAgIGF1dG8gYXVk
aW9CdXMgPSBBdWRpb0J1czo6Y3JlYXRlKGJ1c0NoYW5uZWxDb3VudCwgbnVtYmVyT2ZGcmFtZXMp
OwotICAgIGF1ZGlvQnVzLT5zZXRTYW1wbGVSYXRlKG5hcnJvd1ByZWNpc2lvblRvRmxvYXQobV9j
bGllbnREYXRhRm9ybWF0Lm1TYW1wbGVSYXRlKSk7IC8vIHNhdmUgZm9yIGxhdGVyCi0KLSAgICAv
LyBPbmx5IGFsbG9jYXRlZCBpbiB0aGUgbWl4VG9Nb25vIGNhc2U7IGRlYWxsb2NhdGVkIG9uIGRl
c3RydWN0aW9uLgotICAgIEF1ZGlvRmxvYXRBcnJheSBsZWZ0Q2hhbm5lbDsKLSAgICBBdWRpb0Zs
b2F0QXJyYXkgcmlnaHRDaGFubmVsOworICAgIGF1ZGlvQnVzLT5zZXRTYW1wbGVSYXRlKG5hcnJv
d1ByZWNpc2lvblRvRmxvYXQob3V0Rm9ybWF0Lm1TYW1wbGVSYXRlKSk7IC8vIHNhdmUgZm9yIGxh
dGVyCiAKLSAgICBBdWRpb0J1ZmZlckxpc3QqIGJ1ZmZlckxpc3QgPSB0cnlDcmVhdGVBdWRpb0J1
ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CisgICAgQXVkaW9CdWZmZXJMaXN0SG9sZGVyIGJ1
ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CiAgICAgaWYgKCFidWZmZXJMaXN0KSB7CiAgICAg
ICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAidHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0
KCVsZCkgcmV0dXJuZWQgbnVsbCIsIG51bWJlck9mQ2hhbm5lbHMpOwogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICB9CiAgICAgY29uc3Qgc2l6ZV90IGJ1ZmZlclNpemUgPSBudW1iZXJPZkZy
YW1lcyAqIHNpemVvZihmbG9hdCk7CiAKKyAgICAvLyBPbmx5IGFsbG9jYXRlZCBpbiB0aGUgbWl4
VG9Nb25vIGNhc2U7IGRlYWxsb2NhdGVkIG9uIGRlc3RydWN0aW9uLgorICAgIEF1ZGlvRmxvYXRB
cnJheSBsZWZ0Q2hhbm5lbDsKKyAgICBBdWRpb0Zsb2F0QXJyYXkgcmlnaHRDaGFubmVsOworCiAg
ICAgUkVMRUFTRV9BU1NFUlQoYnVmZmVyTGlzdC0+bU51bWJlckJ1ZmZlcnMgPT0gbnVtYmVyT2ZD
aGFubmVscyk7CiAgICAgaWYgKG1peFRvTW9ubyAmJiBudW1iZXJPZkNoYW5uZWxzID09IDIpIHsK
ICAgICAgICAgbGVmdENoYW5uZWwucmVzaXplKG51bWJlck9mRnJhbWVzKTsKQEAgLTIyMiwxOCAr
NDI3LDg3IEBAIFJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxv
YXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBp
ZiAoIXZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpKSB7CisgICAgaWYgKCFidWZm
ZXJMaXN0LmlzVmFsaWQoKSkgewogICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywg
IkdlbmVyYXRlZCBidWZmZXIgaW4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoKSBkaWQgbm90
IHBhc3MgdmFsaWRhdGlvbiIpOwogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAg
ICAgZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KTsKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgfQogCi0gICAgLy8gUmVhZCBmcm9tIHRoZSBmaWxlIChvciBpbi1tZW1vcnkg
dmVyc2lvbikKLSAgICBVSW50MzIgZnJhbWVzVG9SZWFkID0gbnVtYmVyT2ZGcmFtZXM7Ci0gICAg
aWYgKFBBTDo6RXh0QXVkaW9GaWxlUmVhZChtX2V4dEF1ZGlvRmlsZVJlZiwgJmZyYW1lc1RvUmVh
ZCwgYnVmZmVyTGlzdCkgIT0gbm9FcnIpIHsKLSAgICAgICAgZGVzdHJveUF1ZGlvQnVmZmVyTGlz
dChidWZmZXJMaXN0KTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKG1fd2VibURh
dGEpIHsKKyAgICAgICAgQXVkaW9Db252ZXJ0ZXJSZWYgY29udmVydGVyOworICAgICAgICBpZiAo
UEFMOjpBdWRpb0NvbnZlcnRlck5ldygmKmluRm9ybWF0LCAmb3V0Rm9ybWF0LCAmY29udmVydGVy
KSAhPSBub0VycikKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBhdXRvIGNs
ZWFudXAgPSBtYWtlU2NvcGVFeGl0KFsmXSB7CisgICAgICAgICAgICBQQUw6OkF1ZGlvQ29udmVy
dGVyRGlzcG9zZShjb252ZXJ0ZXIpOworICAgICAgICB9KTsKKyAgICAgICAgQ01Gb3JtYXREZXNj
cmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbiA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRGb3Jt
YXREZXNjcmlwdGlvbihtX3dlYm1EYXRhLT5tX3NhbXBsZXNbMF0tPnNhbXBsZUJ1ZmZlcigpKTsK
KyAgICAgICAgc2l6ZV90IG1hZ2ljQ29va2llU2l6ZSA9IDA7CisgICAgICAgIGNvbnN0IHZvaWQq
IG1hZ2ljQ29va2llID0gUEFMOjpDTUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25HZXRNYWdpY0Nvb2tp
ZShmb3JtYXREZXNjcmlwdGlvbiwgJm1hZ2ljQ29va2llU2l6ZSk7CisgICAgICAgIGlmIChtYWdp
Y0Nvb2tpZSAmJiBtYWdpY0Nvb2tpZVNpemUpCisgICAgICAgICAgICBQQUw6OkF1ZGlvQ29udmVy
dGVyU2V0UHJvcGVydHkoY29udmVydGVyLCBrQXVkaW9Db252ZXJ0ZXJEZWNvbXByZXNzaW9uTWFn
aWNDb29raWUsIG1hZ2ljQ29va2llU2l6ZSwgbWFnaWNDb29raWUpOworCisgICAgICAgIEF1ZGlv
QnVmZmVyTGlzdEhvbGRlciBkZWNvZGVkQnVmZmVyTGlzdChudW1iZXJPZkNoYW5uZWxzKTsKKyAg
ICAgICAgaWYgKCFkZWNvZGVkQnVmZmVyTGlzdCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgICAgIHNpemVfdCBkZWNvZGVkRnJhbWVzID0gMDsKKyAgICAgICAgT1NTdGF0dXMg
c3RhdHVzOworICAgICAgICBmb3IgKGF1dG8mIHNhbXBsZSA6IG1fd2VibURhdGEtPm1fc2FtcGxl
cykgeworICAgICAgICAgICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyID0gc2FtcGxl
LT5zYW1wbGVCdWZmZXIoKTsKKyAgICAgICAgICAgIGF1dG8gYnVmZmVyID0gUEFMOjpDTVNhbXBs
ZUJ1ZmZlckdldERhdGFCdWZmZXIoc2FtcGxlQnVmZmVyKTsKKyAgICAgICAgICAgIEFTU0VSVChQ
QUw6OkNNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cyhidWZmZXIsIDAsIDApKTsKKyAgICAg
ICAgICAgIGlmICghUEFMOjpDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMoYnVmZmVyLCAw
LCAwKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgc2l6
ZV90IHNyY1NpemUgPSBQQUw6OkNNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoKGJ1ZmZlcik7Cisg
ICAgICAgICAgICBjaGFyKiBzcmNEYXRhID0gbnVsbHB0cjsKKyAgICAgICAgICAgIGlmIChQQUw6
OkNNQmxvY2tCdWZmZXJHZXREYXRhUG9pbnRlcihidWZmZXIsIDAsIG51bGxwdHIsIG51bGxwdHIs
ICZzcmNEYXRhKSAhPSBub0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgICAgICAgICAgc2l6ZV90IHBhY2tldERlc2NyaXB0aW9uc1NpemU7CisgICAgICAgICAgICBp
ZiAoUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNh
bXBsZUJ1ZmZlciwgMCwgbnVsbHB0ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUpICE9IG5vRXJy
KQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgc2l6ZV90IG51
bURlc2NyaXB0aW9ucyA9IHBhY2tldERlc2NyaXB0aW9uc1NpemUgLyBzaXplb2YoQXVkaW9TdHJl
YW1QYWNrZXREZXNjcmlwdGlvbik7CisgICAgICAgICAgICBpZiAoIW51bURlc2NyaXB0aW9ucykK
KyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgIGF1dG8gZGVzY3Jp
cHRpb25zID0gV1RGOjptYWtlVW5pcXVlQXJyYXk8QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
bj4obnVtRGVzY3JpcHRpb25zKTsKKyAgICAgICAgICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVy
R2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCBwYWNrZXREZXNj
cmlwdGlvbnNTaXplLCBkZXNjcmlwdGlvbnMuZ2V0KCksIG51bGxwdHIpICE9IG5vRXJyKQorICAg
ICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgUGFzc3Rocm91Z2hVc2Vy
RGF0YSB1c2VyRGF0YSA9IHsgVUludDMyKG51bWJlck9mQ2hhbm5lbHMpLCBVSW50MzIoc3JjU2l6
ZSksIHNyY0RhdGEsIDAsIFVJbnQzMihudW1EZXNjcmlwdGlvbnMpLCBkZXNjcmlwdGlvbnMuZ2V0
KCkgfTsKKworICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgIGlmIChudW1iZXJPZkZy
YW1lcyA8IGRlY29kZWRGcmFtZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0df
RkFVTFQoV2ViQXVkaW8sICJEZWNvZGVkIG1vcmUgZnJhbWVzIHRoYW4gZmlyc3QgY2FsY3VsYXRl
ZCIpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgLy8gaW46IHRoZSBtYXggbnVtYmVyIG9mIHBhY2tldHMgd2Ug
Y2FuIGhhbmRsZSBmcm9tIHRoZSBkZWNvZGVyLgorICAgICAgICAgICAgICAgIC8vIG91dDogdGhl
IG51bWJlciBvZiBwYWNrZXRzIHRoZSBkZWNvZGVyIGlzIGFjdHVhbGx5IHJldHVybmluZy4KKyAg
ICAgICAgICAgICAgICBVSW50MzIgbnVtRnJhbWVzID0gbnVtYmVyT2ZGcmFtZXMgLSBkZWNvZGVk
RnJhbWVzOworCisgICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1iZXJP
ZkNoYW5uZWxzOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICAgZGVjb2RlZEJ1ZmZlckxpc3Qt
Pm1CdWZmZXJzW2ldLm1OdW1iZXJDaGFubmVscyA9IDE7CisgICAgICAgICAgICAgICAgICAgIGRl
Y29kZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YUJ5dGVTaXplID0gbnVtRnJhbWVzICog
c2l6ZW9mKGZsb2F0KTsKKyAgICAgICAgICAgICAgICAgICAgZGVjb2RlZEJ1ZmZlckxpc3QtPm1C
dWZmZXJzW2ldLm1EYXRhID0gc3RhdGljX2Nhc3Q8ZmxvYXQqPihidWZmZXJMaXN0LT5tQnVmZmVy
c1tpXS5tRGF0YSkgKyBkZWNvZGVkRnJhbWVzOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICBzdGF0dXMgPSBQQUw6OkF1ZGlvQ29udmVydGVyRmlsbENvbXBsZXhCdWZmZXIoY29u
dmVydGVyLCBwYXNzdGhyb3VnaElucHV0RGF0YUNhbGxiYWNrLCAmdXNlckRhdGEsICZudW1GcmFt
ZXMsICpkZWNvZGVkQnVmZmVyTGlzdCwgbnVsbHB0cik7CisgICAgICAgICAgICAgICAgaWYgKHN0
YXR1cyAmJiBzdGF0dXMgIT0ga05vTW9yZURhdGFFcnIpCisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgICAgICAgICAgICAgIGRlY29kZWRGcmFtZXMgKz0gbnVtRnJhbWVz
OworICAgICAgICAgICAgfSB3aGlsZSAoc3RhdHVzICE9IGtOb01vcmVEYXRhRXJyKTsKKyAgICAg
ICAgfQorCisgICAgICAgIC8vIFRoZSBhY3R1YWwgZGVjb2RlZCBudW1iZXIgb2YgZnJhbWVzIG1h
eSBub3QgbWF0Y2ggdGhlIG51bWJlciBvZiBmcmFtZXMgY2FsY3VsYXRlZAorICAgICAgICAvLyB3
aGlsZSBkZW11eGluZy4gSXQgd2lsbCBhbHdheXMgYmUgbG93ZXIuCisgICAgICAgIGF1ZGlvQnVz
LT5zZXRMZW5ndGgoZGVjb2RlZEZyYW1lcyk7CisgICAgICAgIG51bWJlck9mRnJhbWVzID0gZGVj
b2RlZEZyYW1lczsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVT
ZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0NsaWVu
dERhdGFGb3JtYXQsIHNpemVvZihBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24pLCAmb3V0Rm9y
bWF0KSAhPSBub0VycikKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIC8v
IFJlYWQgZnJvbSB0aGUgZmlsZSAob3IgaW4tbWVtb3J5IHZlcnNpb24pCisgICAgICAgIFVJbnQz
MiBmcmFtZXNUb1JlYWQgPSBudW1iZXJPZkZyYW1lczsKKyAgICAgICAgaWYgKFBBTDo6RXh0QXVk
aW9GaWxlUmVhZChtX2V4dEF1ZGlvRmlsZVJlZiwgJmZyYW1lc1RvUmVhZCwgKmJ1ZmZlckxpc3Qp
ICE9IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYg
KG1peFRvTW9ubyAmJiBudW1iZXJPZkNoYW5uZWxzID09IDIpIHsKQEAgLTI0Myw5ICs1MTcsNiBA
QCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBs
ZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQogICAgICAgICAgICAgZGVzdExbaV0gPSAwLjVmICogKGxl
ZnRDaGFubmVsW2ldICsgcmlnaHRDaGFubmVsW2ldKTsKICAgICB9CiAKLSAgICAvLyBDbGVhbnVw
Ci0gICAgZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KTsKLQogICAgIHJldHVybiBh
dWRpb0J1czsKIH0KIApAQCAtMjU1LDYgKzUyNiwxMyBAQCBSZWZQdHI8QXVkaW9CdXM+IGNyZWF0
ZUJ1c0Zyb21Jbk1lbW9yeUF1ZGlvRmlsZShjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNp
egogICAgIHJldHVybiByZWFkZXIuY3JlYXRlQnVzKHNhbXBsZVJhdGUsIG1peFRvTW9ubyk7CiB9
CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dURkxvZ0NoYW5uZWwmIEF1ZGlvRmlsZVJl
YWRlcjo6bG9nQ2hhbm5lbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIExvZ01lZGlhOworfQorI2Vu
ZGlmCisKIH0gLy8gV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVURJTykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRl
ckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVS
ZWFkZXJDb2NvYS5oCmluZGV4IDBiYmJiYTI3ODU3ZDk3OWVjYzY4OGY4N2YwMzM5ZjY2NWVmNDI1
MjkuLmY2MTczMzc5ZTAxMzRhMWRhNWIzODIzOGVkMzhhNWFhMjJjOWQ5M2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29h
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVh
ZGVyQ29jb2EuaApAQCAtMzIsNiArMzIsOCBAQAogI2lmIEVOQUJMRShXRUJfQVVESU8pCiAKICNp
bmNsdWRlIDxDb3JlQXVkaW8vQ29yZUF1ZGlvVHlwZXMuaD4KKyNpbmNsdWRlIDxvcHRpb25hbD4K
KyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgog
CiB1c2luZyBFeHRBdWRpb0ZpbGVSZWYgPSBzdHJ1Y3QgT3BhcXVlRXh0QXVkaW9GaWxlKjsKQEAg
LTQwLDEyICs0MiwxOCBAQCB1c2luZyBBdWRpb0ZpbGVJRCA9IHN0cnVjdCBPcGFxdWVBdWRpb0Zp
bGVJRCo7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEF1ZGlvQnVzOworY2xhc3MgU291
cmNlQnVmZmVyUGFyc2VyV2ViTTsKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhOwogCiAv
LyBXcmFwcGVyIGNsYXNzIGZvciBBdWRpb0ZpbGUgYW5kIEV4dEF1ZGlvRmlsZSBDb3JlQXVkaW8g
QVBJcyBmb3IgcmVhZGluZyBmaWxlcyBhbmQgaW4tbWVtb3J5IHZlcnNpb25zIG9mIHRoZW0uLi4K
IAotY2xhc3MgQXVkaW9GaWxlUmVhZGVyIHsKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcgorI2lmICFS
RUxFQVNFX0xPR19ESVNBQkxFRAorICAgIDogcHVibGljIExvZ2dlckhlbHBlcgorI2VuZGlmCit7
CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgQXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEs
IHNpemVfdCBkYXRhU2l6ZSk7CisgICAgQXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEs
IHNpemVfdCBkYXRhU2l6ZSk7CiAgICAgfkF1ZGlvRmlsZVJlYWRlcigpOwogCiAgICAgUmVmUHRy
PEF1ZGlvQnVzPiBjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pOyAv
LyBSZXR1cm5zIG51bGxwdHIgb24gZXJyb3IKQEAgLTUzLDkgKzYxLDIwIEBAIHB1YmxpYzoKICAg
ICBjb25zdCB2b2lkKiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhOyB9CiAgICAgc2l6ZV90
IGRhdGFTaXplKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhU2l6ZTsgfQogCisjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECisgICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX2xvZ2dlci5nZXQoKTsgfQorICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZpZXIoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KKyAgICBXVEZMb2dDaGFubmVs
JiBsb2dDaGFubmVsKCkgY29uc3QgZmluYWw7CisgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1l
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gIkF1ZGlvRmlsZVJlYWRlckNvY29hIjsgfQorI2VuZGlm
CisKIHByaXZhdGU6CiAgICAgc3RhdGljIE9TU3RhdHVzIHJlYWRQcm9jKHZvaWQqIGNsaWVudERh
dGEsIFNJbnQ2NCBwb3NpdGlvbiwgVUludDMyIHJlcXVlc3RDb3VudCwgdm9pZCogYnVmZmVyLCBV
SW50MzIqIGFjdHVhbENvdW50KTsKICAgICBzdGF0aWMgU0ludDY0IGdldFNpemVQcm9jKHZvaWQq
IGNsaWVudERhdGEpOworICAgIGJvb2wgaXNNYXliZVdlYk0oY29uc3QgdWludDhfdCogZGF0YSwg
c2l6ZV90IGRhdGFTaXplKSBjb25zdDsKKyAgICBzc2l6ZV90IG51bWJlck9mRnJhbWVzKCkgY29u
c3Q7CisgICAgc3RkOjpvcHRpb25hbDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+IGZpbGVE
YXRhRm9ybWF0KCkgY29uc3Q7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIGNsaWVu
dERhdGFGb3JtYXQoY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwg
ZmxvYXQgc2FtcGxlUmF0ZSkgY29uc3Q7CiAKICAgICBjb25zdCB2b2lkKiBtX2RhdGEgPSB7IG51
bGxwdHIgfTsKICAgICBzaXplX3QgbV9kYXRhU2l6ZSA9IHsgMCB9OwpAQCAtNjMsOCArODIsMTMg
QEAgcHJpdmF0ZToKICAgICBBdWRpb0ZpbGVJRCBtX2F1ZGlvRmlsZUlEID0geyBudWxscHRyIH07
CiAgICAgRXh0QXVkaW9GaWxlUmVmIG1fZXh0QXVkaW9GaWxlUmVmID0geyBudWxscHRyIH07CiAK
LSAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gbV9maWxlRGF0YUZvcm1hdDsKLSAgICBB
dWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gbV9jbGllbnREYXRhRm9ybWF0OworICAgIHN0ZDo6
dW5pcXVlX3B0cjxBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YT4gbV93ZWJtRGF0YTsKKworI2lmICFS
RUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IFJlZjxMb2dnZXI+IG1fbG9nZ2VyOworICAg
IGNvbnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsKKyNlbmRpZgorCiB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFT
b3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxl
RGF0YVNvdXJjZS5oCmluZGV4IGExZTcxYmQ1MjIzMjI0MjU3MTZjNmI5ZTVhY2VkMDZlNTU4Mjkz
M2EuLjZhZTNiNWNkMWYyZWZkNjIzOWZiMzRkMDEzYTU4Nzc2ZjQxOGM2ZjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJj
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxl
RGF0YVNvdXJjZS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVS
ZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLXR5cGVkZWYg
Y29uc3Qgc3RydWN0IG9wYXF1ZUNNRm9ybWF0RGVzY3JpcHRpb24gKkNNRm9ybWF0RGVzY3JpcHRp
b25SZWY7CiB0eXBlZGVmIHN0cnVjdCBvcGFxdWVDTVNhbXBsZUJ1ZmZlciAqQ01TYW1wbGVCdWZm
ZXJSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQppbmRl
eCBkMmI1YWM0NWYzMGZkNGEzYWY1MWI0MjBkZTM3NjQ5YjExNTFjMjI3Li43MGRjMjQ4NGE1ZWQ2
Njg4OWZjYTMzZWUyOTFlYzEwNmE1ZjlmOWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCkBA
IC0zOSw2ICszOSw3IEBACiAjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3RmL1N0
cmluZ1ByaW50U3RyZWFtLmg+CiAKKyNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGlu
ay5oPgogI2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTY3LDcgKzY4LDcgQEAgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpBdWRpb1Nh
bXBsZURhdGFTb3VyY2Uoc2l6ZV90IG1heGltdW1TYW1wbGVDb3VudCwgTG9nZ2VySGUKIEF1ZGlv
U2FtcGxlRGF0YVNvdXJjZTo6fkF1ZGlvU2FtcGxlRGF0YVNvdXJjZSgpCiB7CiAgICAgaWYgKG1f
Y29udmVydGVyKQotICAgICAgICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOwor
ICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CiB9CiAKIE9T
U3RhdHVzIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6c2V0dXBDb252ZXJ0ZXIoKQpAQCAtNzUsMTQg
Kzc2LDE0IEBAIE9TU3RhdHVzIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6c2V0dXBDb252ZXJ0ZXIo
KQogICAgIEFTU0VSVChtX2lucHV0RGVzY3JpcHRpb24gJiYgbV9vdXRwdXREZXNjcmlwdGlvbik7
CiAKICAgICBpZiAobV9jb252ZXJ0ZXIpIHsKLSAgICAgICAgQXVkaW9Db252ZXJ0ZXJEaXNwb3Nl
KG1fY29udmVydGVyKTsKKyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252
ZXJ0ZXIpOwogICAgICAgICBtX2NvbnZlcnRlciA9IG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYg
KCptX2lucHV0RGVzY3JpcHRpb24gPT0gKm1fb3V0cHV0RGVzY3JpcHRpb24pCiAgICAgICAgIHJl
dHVybiAwOwogCi0gICAgT1NTdGF0dXMgZXJyID0gQXVkaW9Db252ZXJ0ZXJOZXcoJm1faW5wdXRE
ZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fb3V0cHV0RGVzY3JpcHRpb24tPnN0
cmVhbURlc2NyaXB0aW9uKCksICZtX2NvbnZlcnRlcik7CisgICAgT1NTdGF0dXMgZXJyID0gUEFM
OjpBdWRpb0NvbnZlcnRlck5ldygmbV9pbnB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlv
bigpLCAmbV9vdXRwdXREZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fY29udmVy
dGVyKTsKICAgICBpZiAoZXJyKSB7CiAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChb
dGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBlcnJdIHsKICAgICAgICAg
ICAgIEVSUk9SX0xPRygiQXVkaW9Db252ZXJ0ZXJOZXcgcmV0dXJuZWQgZXJyb3IgIiwgZXJyKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVw
YWRQcm92aWRlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdh
bWVwYWRQcm92aWRlci5tbQppbmRleCBlM2Q2ZmFjNzA0MzY5NmZjN2VlMmE5MjE1ZGIyMWE4Zjdk
ZjgyNWE1Li5hMzJkZjYyMDQ4ZDMyZDdiMTM0ZGJmNTZkYTAwN2I3MGVjMjQ3M2Y0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlk
ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBh
ZFByb3ZpZGVyLm1tCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoR0FNRVBBRCkgJiYg
UExBVEZPUk0oTUFDKQogCisjaW1wb3J0ICJHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5o
IgogI2ltcG9ydCAiR2FtZXBhZFByb3ZpZGVyQ2xpZW50LmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgi
CiAjaW1wb3J0ICJQbGF0Zm9ybUdhbWVwYWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAKaW5kZXggNGQ4ZWU2MmUwMWI4
ZWFlYmFjYzZkMjhiM2EwOTg1Mjk1MmM1ZDgwYS4uYzA2NmMyZDQ4Nzk3YTRhYWIzYjliZTJhMGVk
ZDRkODM4YjRiZjVjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVHJhY2tQcml2YXRlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUo
VklERU8pCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBl
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFTYW1wbGVBVkZPYmpDLmgKaW5kZXggZDAzY2RjOGRkNjI1NDE2MDk5YTUzNzEzNWVlMTFlYzkx
MDczNmEwMi4uY2NmOTBhZjhlNDgyMTRmNjcxMGRjOTQ3YjEwOTAyNDJiMDNkNGRlYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmgKQEAgLTM0LDcgKzM0LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQaXhlbEJ1ZmZlcjsKIAotY2xhc3MgV0VC
Q09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2FtcGxlIHsKK2Ns
YXNzIE1lZGlhU2FtcGxlQVZGT2JqQyA6IHB1YmxpYyBNZWRpYVNhbXBsZSB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZShDTVNhbXBsZUJ1ZmZlclJl
ZiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFT
YW1wbGVBVkZPYmpDKHNhbXBsZSwgdHJhY2tJRCkpOyB9CiAgICAgc3RhdGljIFJlZjxNZWRpYVNh
bXBsZUFWRk9iakM+IGNyZWF0ZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcg
dHJhY2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxl
LCB0cmFja0lEKSk7IH0KQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyB2b2lkIHNldEFzRGlzcGxheUltbWVkaWF0ZWx5KE1lZGlhU2FtcGxlJik7CiAg
ICAgc3RhdGljIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gY2xvbmVTYW1wbGVCdWZmZXJB
bmRTZXRBc0Rpc3BsYXlJbW1lZGlhdGVseShDTVNhbXBsZUJ1ZmZlclJlZik7CiAKLSAgICBSZWZQ
dHI8SlNDOjpVaW50OENsYW1wZWRBcnJheT4gZ2V0UkdCQUltYWdlRGF0YSgpIGNvbnN0IG92ZXJy
aWRlOworICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBn
ZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBNZWRpYVRpbWUgcHJlc2Vu
dGF0aW9uVGltZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIE1lZGlhVGltZSBkZWNvZGVUaW1lKCkg
Y29uc3Qgb3ZlcnJpZGU7CkBAIC01OSwxNiArNTksMTYgQEAgcHVibGljOgogICAgIFNhbXBsZUZs
YWdzIGZsYWdzKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1TYW1wbGUgcGxhdGZvcm1T
YW1wbGUoKSBvdmVycmlkZTsKICAgICBzdGQ6Om9wdGlvbmFsPEJ5dGVSYW5nZT4gYnl0ZVJhbmdl
KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Qgb3Zl
cnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgdm9pZCBvZmZzZXRUaW1lc3RhbXBzQnkoY29uc3QgTWVkaWFUaW1lJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRUaW1lc3RhbXBzKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0
IE1lZGlhVGltZSYpIG92ZXJyaWRlOwotICAgIGJvb2wgaXNEaXZpc2FibGUoKSBjb25zdCBvdmVy
cmlkZTsKLSAgICBzdGQ6OnBhaXI8UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVmUHRyPE1lZGlhU2Ft
cGxlPj4gZGl2aWRlKGNvbnN0IE1lZGlhVGltZSYgcHJlc2VudGF0aW9uVGltZSwgVXNlRW5kVGlt
ZSkgb3ZlcnJpZGU7Ci0gICAgUmVmPE1lZGlhU2FtcGxlPiBjcmVhdGVOb25EaXNwbGF5aW5nQ29w
eSgpIGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNEaXZpc2FibGUo
KSBjb25zdCBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6OnBhaXI8UmVmUHRyPE1l
ZGlhU2FtcGxlPiwgUmVmUHRyPE1lZGlhU2FtcGxlPj4gZGl2aWRlKGNvbnN0IE1lZGlhVGltZSYg
cHJlc2VudGF0aW9uVGltZSwgVXNlRW5kVGltZSkgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBP
UlQgUmVmPE1lZGlhU2FtcGxlPiBjcmVhdGVOb25EaXNwbGF5aW5nQ29weSgpIGNvbnN0IG92ZXJy
aWRlOwogCiAgICAgVmlkZW9Sb3RhdGlvbiB2aWRlb1JvdGF0aW9uKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gbV9yb3RhdGlvbjsgfQogICAgIGJvb2wgdmlkZW9NaXJyb3JlZCgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1fbWlycm9yZWQ7IH0KLSAgICB1aW50MzJfdCB2aWRlb1BpeGVsRm9y
bWF0KCkgY29uc3QgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdWludDMyX3QgdmlkZW9QaXhl
bEZvcm1hdCgpIGNvbnN0IGZpbmFsOwogCiAgICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVm
ZmVyKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGUuZ2V0KCk7IH0KIApAQCAtNzcsMzUgKzc3LDE4
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0Qnl0ZVJhbmdlT2Zmc2V0KHNpemVfdCk7CiAKKyAg
ICBib29sIGlzTWVkaWFTYW1wbGVBVkZPYmpDKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTt9
CisKIHByb3RlY3RlZDoKLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxl
QnVmZmVyUmVmPiYmIHNhbXBsZSkKLSAgICAgICAgOiBtX3NhbXBsZShXVEZNb3ZlKHNhbXBsZSkp
Ci0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYg
c2FtcGxlKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICB7Ci0gICAgfQotICAgIE1l
ZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJh
Y2tJRCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9pZCh0cmFja0lE
KQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVm
IHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0g
ICAgICAgICwgbV9pZChBdG9tU3RyaW5nOjpudW1iZXIodHJhY2tJRCkpCi0gICAgewotICAgIH0K
LSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBWaWRlb1Jv
dGF0aW9uIHJvdGF0aW9uLCBib29sIG1pcnJvcmVkKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBs
ZSkKLSAgICAgICAgLCBtX3JvdGF0aW9uKHJvdGF0aW9uKQotICAgICAgICAsIG1fbWlycm9yZWQo
bWlycm9yZWQpCi0gICAgewotICAgIH0KKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFW
Rk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYpOworICAgIFdFQkNPUkVfRVhQ
T1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiwgQXRvbVN0cmluZyB0cmFj
a0lEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZm
ZXJSZWYsIHVpbnQ2NF90IHRyYWNrSUQpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxl
QVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiwgVmlkZW9Sb3RhdGlvbiwgYm9vbCBtaXJyb3JlZCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+TWVkaWFTYW1wbGVBVkZPYmpDKCk7CiAKICAg
ICBzdGQ6Om9wdGlvbmFsPE1lZGlhU2FtcGxlOjpCeXRlUmFuZ2U+IGJ5dGVSYW5nZUZvckF0dGFj
aG1lbnQoQ0ZTdHJpbmdSZWYga2V5KSBjb25zdDsKIAotICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxl
QVZGT2JqQygpID0gZGVmYXVsdDsKICAgICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IG1f
c2FtcGxlOwogICAgIEF0b21TdHJpbmcgbV9pZDsKICAgICBWaWRlb1JvdGF0aW9uIG1fcm90YXRp
b24geyBWaWRlb1JvdGF0aW9uOjpOb25lIH07CkBAIC0xMTQsMyArOTcsNiBAQCBwcm90ZWN0ZWQ6
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJ
TihXZWJDb3JlOjpNZWRpYVNhbXBsZUFWRk9iakMpCitzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3Qg
V2ViQ29yZTo6TWVkaWFTYW1wbGUmIHNhbXBsZSkgeyByZXR1cm4gc2FtcGxlLmlzTWVkaWFTYW1w
bGVBVkZPYmpDKCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
U2FtcGxlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQppbmRleCBjMGYxM2Q2ZWE1Yzk3NTc2
N2NlOGY2MmFiNjg0MmQ3ZDZmMGZiYjZiLi5jZjNjMzQxMGEzOGFkZWM0OTU3Yzk3MTQyYjMyNDIy
NGQ1YWZkODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpD
Lm1tCkBAIC00NSw2ICs0NSwzMyBAQCBzdHJ1Y3QgV1RGOjpDRlR5cGVUcmFpdDxDTVNhbXBsZUJ1
ZmZlclJlZj4gewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK01lZGlhU2FtcGxlQVZGT2JqQzo6
TWVkaWFTYW1wbGVBVkZPYmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4mJiBzYW1wbGUp
CisgICAgOiBtX3NhbXBsZShXVEZNb3ZlKHNhbXBsZSkpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9i
akM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUpCisgICAgOiBt
X3NhbXBsZShzYW1wbGUpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZG
T2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkKKyAgICA6
IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1faWQodHJhY2tJRCkKK3sKK30KK01lZGlhU2FtcGxl
QVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWlu
dDY0X3QgdHJhY2tJRCkKKyAgICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1faWQoQXRvbVN0
cmluZzo6bnVtYmVyKHRyYWNrSUQpKQoreworfQorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNh
bXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJvdGF0
aW9uLCBib29sIG1pcnJvcmVkKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9yb3Rh
dGlvbihyb3RhdGlvbikKKyAgICAsIG1fbWlycm9yZWQobWlycm9yZWQpCit7Cit9CisKK01lZGlh
U2FtcGxlQVZGT2JqQzo6fk1lZGlhU2FtcGxlQVZGT2JqQygpID0gZGVmYXVsdDsKKwogUmVmUHRy
PE1lZGlhU2FtcGxlQVZGT2JqQz4gTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGVJbWFnZVNhbXBs
ZShQaXhlbEJ1ZmZlciYmIHBpeGVsQnVmZmVyKQogewogICAgIGF1dG8gc2l6ZSA9IHBpeGVsQnVm
ZmVyLnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQppbmRl
eCA4ZWVmM2IyZWE2MDRiZDE5ODNkNzdkMzhiZjUyMWE4ZDIxZjIwZWQwLi5kMWM4NDQ4ODM2NzQw
ZmRiNzVjNDBhYzkzZjdkZDA5ZDc4ZjAzMDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJl
c3Npb25TZXNzaW9uLm1tCkBAIC0zMSwxMCArMzEsMTAgQEAKICNpbXBvcnQgPENvcmVNZWRpYS9D
TUJ1ZmZlclF1ZXVlLmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlvbi5o
PgogI2ltcG9ydCA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4KLSNp
bXBvcnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJl
YWQuaD4KICNpbXBvcnQgPHd0Zi9NZWRpYVRpbWUuaD4KICNpbXBvcnQgPHd0Zi9Nb25vdG9uaWNU
aW1lLmg+CisjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3RmL1N0cmluZ1ByaW50
U3RyZWFtLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1wb3J0IDx3dGYvV1RGU2VtYXBo
b3JlLmg+CkBAIC00Miw2ICs0Miw3IEBACiAKICNpbXBvcnQgIkNvcmVWaWRlb1NvZnRMaW5rLmgi
CiAjaW1wb3J0ICJWaWRlb1Rvb2xib3hTb2Z0TGluay5oIgorI2ltcG9ydCA8cGFsL2NmL0NvcmVN
ZWRpYVNvZnRMaW5rLmg+CiAKIC8vIEVxdWl2YWxlbnQgdG8gV1RGX0RFQ0xBUkVfQ0ZfVFlQRV9U
UkFJVChDTVNhbXBsZUJ1ZmZlcik7CiAvLyBOZWVkZWQgZHVlIHRvIHJlcXVpcmVtZW50IG9mIHNw
ZWNpZnlpbmcgdGhlIFBBTCBuYW1lc3BhY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2Eu
aAppbmRleCBmZWNlODEyOWJkN2Y3ZmRlZDZhODA0YmE1MmY3OTUyNjFmZTY1ZDMwLi44NzEwNGQ4
YjdiMzU3YzE2MGI2ZGNjYzQxYmZlMWY4OWUwYTZjMjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxp
dGllc0NvY29hLmgKQEAgLTM0LDcgKzM0LDggQEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3BhcXVl
Q01Gb3JtYXREZXNjcmlwdGlvbiogQ01Gb3JtYXREZXNjcmlwdGlvblJlZjsKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1ib29sIGlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9F
WFBPUlQgYm9vbCBpc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJv
b2wgcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKIFJldGFpblB0cjxDTUZvcm1hdERl
c2NyaXB0aW9uUmVmPiBjcmVhdGVWb3JiaXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKHNpemVfdCwg
Y29uc3Qgdm9pZCopOwogCiBzdHJ1Y3QgT3B1c0Nvb2tpZUNvbnRlbnRzIHsKQEAgLTUyLDcgKzUz
LDggQEAgc3RydWN0IE9wdXNDb29raWVDb250ZW50cyB7CiAgICAgYm9vbCBoYXNQYWRkaW5nIHsg
ZmFsc2UgfTsKIH07CiAKLWJvb2wgaXNPcHVzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9F
WFBPUlQgYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9SVCBib29s
IHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOwogYm9vbCBwYXJzZU9wdXNQcml2YXRlRGF0
YShzaXplX3QgcHJpdmF0ZURhdGFTaXplLCBjb25zdCB2b2lkKiBwcml2YXRlRGF0YSwgc2l6ZV90
IGZyYW1lRGF0YVNpemUsIGNvbnN0IHZvaWQqIGZyYW1lRGF0YSwgT3B1c0Nvb2tpZUNvbnRlbnRz
Jik7CiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlT3B1c0F1ZGlvRm9y
bWF0RGVzY3JpcHRpb24oY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGll
c0NvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1
ZGlvVXRpbGl0aWVzQ29jb2EubW0KaW5kZXggMDZiZDQ4YWUwZDNkNjkxMjUwYjhhMjc1N2QwMjU2
ZDQ0ODU5ZmNjNC4uMGUxZWIxYjc5OGEzYzdlYTY3ZWFiNzViYTM2ZTU4NWFkZDhjMTBhMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0KQEAgLTMyLDIyICszMiwyOCBAQAogI2lt
cG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTWVkaWFVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlBs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgorI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlv
Q29kZWMuaD4KICNpbXBvcnQgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbXBvbmVudC5oPgogI2ltcG9y
dCA8QXVkaW9Ub29sYm94L0F1ZGlvRm9ybWF0Lmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3Jt
YXREZXNjcmlwdGlvbi5oPgogI2ltcG9ydCA8ZGxmY24uaD4KICNpbXBvcnQgPHd0Zi9GbGlwQnl0
ZXMuaD4KICNpbXBvcnQgPHd0Zi9TZWNvbmRzLmg+Ci0KICNpZiBFTkFCTEUoT1BVUykKICNpbXBv
cnQgPGxpYndlYnJ0Yy9vcHVzX2RlZmluZXMuaD4KICNlbmRpZgorI2ltcG9ydCA8cGFsL2NmL0F1
ZGlvVG9vbGJveFNvZnRMaW5rLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJM
RShWT1JCSVMpIHx8IEVOQUJMRShPUFVTKQogc3RhdGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVyRmFj
dG9yeShjb25zdCBjaGFyKiBkZWNvZGVyTmFtZSwgT1NUeXBlIGRlY29kZXJUeXBlKQogeworICAg
IEF1ZGlvQ29tcG9uZW50RGVzY3JpcHRpb24gZGVzYyB7IGtBdWRpb0RlY29kZXJDb21wb25lbnRU
eXBlLCBkZWNvZGVyVHlwZSwgJ2FwcGwnLCBrQXVkaW9Db21wb25lbnRGbGFnX1NhbmRib3hTYWZl
LCAwIH07CisgICAgQXVkaW9Db21wb25lbnQgY29tcCA9IFBBTDo6QXVkaW9Db21wb25lbnRGaW5k
TmV4dCgwLCAmZGVzYyk7CisgICAgaWYgKGNvbXApCisgICAgICAgIHJldHVybiB0cnVlOyAvLyBB
bHJlYWR5IHJlZ2lzdGVyZWQuCisKICAgICBjb25zdGV4cHIgY2hhciBhdWRpb0NvbXBvbmVudHNE
eWxpYltdID0gIi9TeXN0ZW0vTGlicmFyeS9Db21wb25lbnRzL0F1ZGlvQ29kZWNzLmNvbXBvbmVu
dC9Db250ZW50cy9NYWNPUy9BdWRpb0NvZGVjcyI7CiAgICAgdm9pZCAqaGFuZGxlID0gZGxvcGVu
KGF1ZGlvQ29tcG9uZW50c0R5bGliLCBSVExEX0xBWlkgfCBSVExEX0xPQ0FMKTsKICAgICBpZiAo
IWhhbmRsZSkKQEAgLTU3LDcgKzYzLDYgQEAgc3RhdGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVyRmFj
dG9yeShjb25zdCBjaGFyKiBkZWNvZGVyTmFtZSwgT1NUeXBlIGRlY29kZXJUeXBlKQogICAgIGlm
ICghZGVjb2RlckZhY3RvcnkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEF1ZGlvQ29t
cG9uZW50RGVzY3JpcHRpb24gZGVzYyB7ICdhZGVjJywgZGVjb2RlclR5cGUsICdhcHBsJywga0F1
ZGlvQ29tcG9uZW50RmxhZ19TYW5kYm94U2FmZSwgMCB9OwogICAgIGlmICghQXVkaW9Db21wb25l
bnRSZWdpc3RlcigmZGVzYywgQ0ZTVFIoIiIpLCAwLCBkZWNvZGVyRmFjdG9yeSkpIHsKICAgICAg
ICAgZGxjbG9zZShoYW5kbGUpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC03MSw3ICs3Niw3
IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlQXVkaW9G
b3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdChPCiAgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0
aW9uIGFzYmQgeyB9OwogICAgIGFzYmQubUZvcm1hdElEID0gZm9ybWF0SUQ7CiAgICAgdWludDMy
X3Qgc2l6ZSA9IHNpemVvZihhc2JkKTsKLSAgICBhdXRvIGVycm9yID0gQXVkaW9Gb3JtYXRHZXRQ
cm9wZXJ0eShrQXVkaW9Gb3JtYXRQcm9wZXJ0eV9Gb3JtYXRJbmZvLCBtYWdpY0Nvb2tpZS5zaXpl
KCksIG1hZ2ljQ29va2llLmRhdGEoKSwgJnNpemUsICZhc2JkKTsKKyAgICBhdXRvIGVycm9yID0g
UEFMOjpBdWRpb0Zvcm1hdEdldFByb3BlcnR5KGtBdWRpb0Zvcm1hdFByb3BlcnR5X0Zvcm1hdElu
Zm8sIG1hZ2ljQ29va2llLnNpemUoKSwgbWFnaWNDb29raWUuZGF0YSgpLCAmc2l6ZSwgJmFzYmQp
OwogICAgIGlmIChlcnJvcikgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYSwgImNy
ZWF0ZUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25Gb3JGb3JtYXQgZmFpbGVkIHdpdGggZXJyb3IgJWQg
KCUuNHMpIiwgZXJyb3IsIChjaGFyICopJmVycm9yKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CkBAIC0zMjYsMTkgKzMzMSwzMCBAQCBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZyb21P
cHVzQ29va2llQ29udGVudHMoY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJiBjbwogCiBib29sIGlz
T3B1c0RlY29kZXJBdmFpbGFibGUoKQogewotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKLQog
I2lmIEVOQUJMRShPUFVTKSAmJiBQTEFURk9STShNQUMpCiAgICAgaWYgKCFQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXI6Om9wdXNEZWNvZGVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKKyAgICByZXR1cm4gcmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CisjZWxzZQor
ICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitib29sIHJlZ2lzdGVyT3B1c0RlY29kZXJJ
Zk5lZWRlZCgpCit7CisjaWYgRU5BQkxFKE9QVVMpICYmIFBMQVRGT1JNKE1BQykKKyAgICBzdGF0
aWMgYm9vbCBhdmFpbGFibGU7CisKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tl
bjsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57Ci0gICAgICAgIGF2YWlsYWJsZSA9
IHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDT3B1c0RlY29kZXJGYWN0b3J5IiwgJ29wdXMnKTsK
KyAgICAgICAgYXZhaWxhYmxlID0gcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNPcHVzRGVjb2Rl
ckZhY3RvcnkiLCBrQXVkaW9Gb3JtYXRPcHVzKTsKICAgICB9KTsKLSNlbmRpZgogCiAgICAgcmV0
dXJuIGF2YWlsYWJsZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIFJl
dGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVPcHVzQXVkaW9Gb3JtYXREZXNj
cmlwdGlvbihjb25zdCBPcHVzQ29va2llQ29udGVudHMmIGNvb2tpZUNvbnRlbnRzKQpAQCAtNDE4
LDE5ICs0MzQsMzAgQEAgc3RhdGljIFZlY3Rvcjx1aW50OF90PiBjb29raWVGcm9tVm9yYmlzQ29k
ZWNQcml2YXRlKHNpemVfdCBjb2RlY1ByaXZhdGVTaXplLCBjb24KIAogYm9vbCBpc1ZvcmJpc0Rl
Y29kZXJBdmFpbGFibGUoKQogewotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKLQogI2lmIEVO
QUJMRShWT1JCSVMpICYmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIVBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6dm9yYmlzRGVjb2RlckVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCisgICAgcmV0dXJuIHJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7CisjZWxzZQor
ICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitib29sIHJlZ2lzdGVyVm9yYmlzRGVjb2Rl
cklmTmVlZGVkKCkKK3sKKyNpZiBFTkFCTEUoVk9SQklTKSAmJiBQTEFURk9STShNQUMpCisgICAg
c3RhdGljIGJvb2wgYXZhaWxhYmxlOworCiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNl
VG9rZW47CiAgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewogICAgICAgICBhdmFpbGFi
bGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJBQ1ZvcmJpc0RlY29kZXJGYWN0b3J5IiwgJ3Zv
cmInKTsKICAgICB9KTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGF2YWlsYWJsZTsKKyNlbHNlCisg
ICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0
aW9uUmVmPiBjcmVhdGVWb3JiaXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKHNpemVfdCBwcml2YXRl
RGF0YVNpemUsIGNvbnN0IHZvaWQqIHByaXZhdGVEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQv
RmVhdHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3MucGxpc3QKaW5kZXggYWU0ZWU0NTdhMjEzMTMz
OGY2YTViNzVlZDc1ZjYzNmYzYTBmNTI2MC4uZTIxYjAyM2IxNDIzMDg3MjNjNTk3YzBmMWNmOTdh
MThhMzI2N2I1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0
LWFwcGxldHZvcy5wbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQt
YXBwbGV0dm9zLnBsaXN0CkBAIC0yLDk1ICsyLDEwMCBAQAogPCFET0NUWVBFIHBsaXN0IFBVQkxJ
QyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFRE
cy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CiA8cGxpc3QgdmVyc2lvbj0iMS4wIj4KIDxkaWN0Pgot
ICAgIDxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5PgotICAgIDxk
aWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwv
ZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAg
ICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtl
eT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0
PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4K
LSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+
Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KLSAgICA8ZGlj
dD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAg
PGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5D
b2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0Pgot
ICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+Ci0gICAgPGRpY3Q+
Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGlj
dD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5PgotICAgIDxkaWN0PgotICAgICAg
ICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICAgICAgPGtleT5BdHRy
aWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxl
dGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGlj
dD4KLSAgICA8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4KLSAgICA8ZGljdD4KLSAgICAg
ICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAg
IDxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+c3dfdnA5
X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT52cDlfZGVj
b2Rlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAg
ICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYkdQVTwva2V5PgotICAgIDxkaWN0
PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2Rp
Y3Q+Ci0gICAgPGtleT5XZWJYUjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX2Zv
cm1hdF9yZWFkZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX3BhcnNlcjwva2V5
PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUv
PgotICAgIDwvZGljdD4KLSAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5Pgot
ICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgot
ICAgIDwvZGljdD4KKwk8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tl
eT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJ
PGtleT5ncHVfcHJvY2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+
RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGlj
dD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8
L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9j
ZXNzX21lZGlhPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+
CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRl
PC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vz
c193ZWJnbDwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4K
Kwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8
ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4K
Kwk8L2RpY3Q+CisJPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5PC9rZXk+CisJPGRpY3Q+CisJCTxr
ZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmluY3JlbWVudGFs
X3BkZjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwv
ZGljdD4KKwk8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+dnA5X2RlY29k
ZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2Rp
Y3Q+CisJPGtleT5XZWJHUFU8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJ
CTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViWFI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV9mb3JtYXRfcmVh
ZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9k
aWN0PgorCTxrZXk+d2VibV9wYXJzZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9r
ZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+CisJPGRp
Y3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PlJC
X2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tl
eT4KKwkJPHRydWUvPgorCTwvZGljdD4KIDwvZGljdD4KIDwvcGxpc3Q+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0IGIvU291cmNlL1dlYktp
dC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdAppbmRleCA2MjFjOTIxNjZjODkyY2I1NDFj
ZmE3NmI2MjM4MTU2NjhhMWVjMjc3Li5iOGU1ZTA5Y2Y4OWI2MGMwODJlNjNhYWViNWRmNzBkOTkx
YTMyMDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtaW9z
LnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxpc3QK
QEAgLTIsOTUgKzIsMTAwIEBACiA8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFRE
IFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0x
LjAuZHRkIj4KIDxwbGlzdCB2ZXJzaW9uPSIxLjAiPgogPGRpY3Q+Ci0gICAgPGtleT5hc3luY19m
cmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+
Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0
ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwv
a2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0PgotICAg
ICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0g
ICAgPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8
L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5
PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAg
IDxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5F
bmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1
X3Byb2Nlc3Nfd2VicnRjPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAg
ICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAg
ICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5JbkFw
cEJyb3dzZXJQcml2YWN5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmluY3JlbWVudGFs
X3BkZjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAg
ICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRl
cnk8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAg
IDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+dnA5X2RlY29kZXI8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8
L2RpY3Q+Ci0gICAgPGtleT5XZWJHUFU8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5F
bmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2Vi
WFI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAg
IDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+
Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+
Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+d2VibV9wYXJzZXI8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0g
ICAgPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KLSAgICA8ZGljdD4KLSAgICAg
ICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+CisJPGtl
eT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxr
ZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nf
Y2FudmFzX3JlbmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVD
b21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1
X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tl
eT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5Pgor
CTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0
ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUv
PgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+
Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29k
ZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5J
bkFwcEJyb3dzZXJQcml2YWN5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgorCTxkaWN0
PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PnN3X3Zw
OV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+
CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+dnA5X2RlY29kZXI8L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJHUFU8
L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0
PgorCTxrZXk+V2ViWFI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxm
YWxzZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV9w
YXJzZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8
L2RpY3Q+CisJPGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pl
dHNhbTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwv
ZGljdD4KIDwvZGljdD4KIDwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1
cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9X
ZWJLaXQtbWFjb3MucGxpc3QKaW5kZXggNjIxYzkyMTY2Yzg5MmNiNTQxY2ZhNzZiNjIzODE1NjY4
YTFlYzI3Ny4uYjhlNWUwOWNmODliNjBjMDgyZTYzYWFlYjVkZjcwZDk5MWEzMjAxNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0CisrKyBi
L1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdApAQCAtMiw5NSAr
MiwxMDAgQEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4w
Ly9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgog
PHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1lX2FuZF9v
dmVyZmxvd19zY3JvbGxpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vz
c19jYW52YXNfcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5Pgot
ICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAg
ICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5n
cHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5Pmdw
dV9wcm9jZXNzX21lZGlhPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAg
ICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAg
ICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVf
cHJvY2Vzc193ZWJnbDwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193
ZWJydGM8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAg
ICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0
PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVl
Lz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PkluQXBwQnJvd3NlclBy
aXZhY3k8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAg
ICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+
Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+
Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5Pgot
ICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4K
LSAgICA8L2RpY3Q+Ci0gICAgPGtleT52cDlfZGVjb2Rlcjwva2V5PgotICAgIDxkaWN0PgotICAg
ICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAg
ICA8a2V5PldlYkdQVTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJYUjwva2V5Pgot
ICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4K
LSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KLSAgICA8ZGlj
dD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2Rp
Y3Q+Ci0gICAgPGtleT53ZWJtX3BhcnNlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PlJC
X2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVu
YWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KKwk8a2V5PmFzeW5jX2Zy
YW1lX2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVk
PC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19jYW52YXNfcmVu
ZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJ
CTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9r
ZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19k
b21fcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFs
c2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5Pgor
CQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGlj
dD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vz
c193ZWJydGM8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4K
KwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8
L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PkluQXBwQnJvd3Nl
clByaXZhY3k8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+
CisJPC9kaWN0PgorCTxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+
RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+c3dfdnA5X2RlY29kZXJf
b25fYmF0dGVyeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNl
Lz4KKwk8L2RpY3Q+CisJPGtleT52cDlfZGVjb2Rlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVu
YWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PldlYkdQVTwva2V5PgorCTxk
aWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5X
ZWJYUjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8
L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNlcjwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8
a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJ
CTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+
CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgogPC9k
aWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dl
YktpdC13YXRjaG9zLnBsaXN0IGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LXdh
dGNob3MucGxpc3QKaW5kZXggYWU0ZWU0NTdhMjEzMTMzOGY2YTViNzVlZDc1ZjYzNmYzYTBmNTI2
MC4uZTIxYjAyM2IxNDIzMDg3MjNjNTk3YzBmMWNmOTdhMThhMzI2N2I1OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3QKKysrIGIvU291
cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3QKQEAgLTIsOTUgKzIs
MTAwIEBACiA8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8v
RU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxw
bGlzdCB2ZXJzaW9uPSIxLjAiPgogPGRpY3Q+Ci0gICAgPGtleT5hc3luY19mcmFtZV9hbmRfb3Zl
cmZsb3dfc2Nyb2xsaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nf
Y2FudmFzX3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8
L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAg
ICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAg
ICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1
X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVu
YWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVf
cHJvY2Vzc19tZWRpYTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAg
ICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAg
ICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3By
b2Nlc3Nfd2ViZ2w8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2Vi
cnRjPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAg
ICA8ZmFsc2UvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+
Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUv
PgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+SW5BcHBCcm93c2VyUHJp
dmFjeTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAg
ICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4K
LSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4K
LSAgICA8L2RpY3Q+Ci0gICAgPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0g
ICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgot
ICAgIDwvZGljdD4KLSAgICA8a2V5PnZwOV9kZWNvZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAg
ICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAg
IDxrZXk+V2ViR1BVPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5
PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYlhSPC9rZXk+Ci0g
ICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgot
ICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgotICAgIDxkaWN0
PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGlj
dD4KLSAgICA8a2V5PndlYm1fcGFyc2VyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+UkJf
ZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgorCTxrZXk+YXN5bmNfZnJh
bWVfYW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8
L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5k
ZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJ
PGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tl
eT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2Rv
bV9yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxz
ZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJ
CTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0
PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+CisJPGRpY3Q+CisJCTxr
ZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNz
X3dlYnJ0Yzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4K
KwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8
L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PkluQXBwQnJvd3Nl
clByaXZhY3k8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+
CisJPC9kaWN0PgorCTxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+
RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+c3dfdnA5X2RlY29kZXJf
b25fYmF0dGVyeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNl
Lz4KKwk8L2RpY3Q+CisJPGtleT52cDlfZGVjb2Rlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVu
YWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PldlYkdQVTwva2V5PgorCTxk
aWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5X
ZWJYUjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8
L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNlcjwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8
a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJ
CTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+
CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgogPC9k
aWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRl
eCA0NGJhODg1NTU5ZjExYjEyYjhhODUxZDc2OTkxMzI5ZDNiMTlmZjI4Li41YTQ5ZmVmMDg5NDgz
MjFmNzBjY2NmOTY2ODVhNjU3MjRhOTBhMjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3MuY3BwCkBAIC00NTEsNyArNDUxLDcgQEAgdm9pZCBHUFVQcm9jZXNzOjplbmFibGVW
UDlEZWNvZGVycyhib29sIHNob3VsZEVuYWJsZVZQOERlY29kZXIsIGJvb2wgc2hvdWxkRW5hYmwK
IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgRU5BQkxFKFZQOSkKKyNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQogdm9pZCBHUFVQcm9jZXNzOjpzZXRXZWJNUGFyc2VyRW5h
YmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgaWYgKG1fd2ViTVBhcnNlckVuYWJsZWQgPT0gZW5h
YmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCmluZGV4IDQ5YzNkNzcxYmYx
NzRkOGY5ZmRjYzhkMjQxYjMxMDc2YjBjNWI2YWYuLjU2ZGJmZTQ3YzI3OGNiZWY0ZGQ1OTk5ZDU1
N2M4Yjg1NjViYzYyYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaApAQCAt
MTQxLDcgKzE0MSw3IEBAIHByaXZhdGU6CiAgICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gYWRk
aXRpb25hbFN0YXRlRm9yRGlhZ25vc3RpY1JlcG9ydCgpIGNvbnN0IGZpbmFsOwogI2VuZGlmCiAK
LSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJMRShNRURJ
QV9TT1VSQ0UpCiAgICAgdm9pZCBzZXRXZWJNUGFyc2VyRW5hYmxlZChib29sKTsKICNlbmRpZgog
CkBAIC0xOTQsNyArMTk0LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fZW5hYmxlVlA5RGVjb2Rl
ciB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2VuYWJsZVZQOVNXRGVjb2RlciB7IGZhbHNlIH07CiAj
ZW5kaWYKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCiAgICAgYm9vbCBtX3dlYk1QYXJzZXJFbmFibGVkIHsgZmFsc2UgfTsK
ICNlbmRpZgogI2lmIEVOQUJMRShXRUJNX0ZPUk1BVF9SRUFERVIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDY5MWRhNzhkMmNmOTMy
OGVhNzllMjRjMmQ2NDYyMDAzNmI1ZTQyNDkuLjRmMDE5NjU0M2EzZDA1OGUwMTZjMzk2NmVkYTE2
NDdmYTYxYmJiMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9j
ZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNz
Lm1lc3NhZ2VzLmluCkBAIC01MSw3ICs1MSw3IEBAIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3MgTGVn
YWN5UmVjZWl2ZXIgewogICAgIERpc3BsYXlDb25maWd1cmF0aW9uQ2hhbmdlZChDR0RpcmVjdERp
c3BsYXlJRCBkaXNwbGF5SUQsIENHRGlzcGxheUNoYW5nZVN1bW1hcnlGbGFncyBmbGFncykKICNl
bmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgRU5BQkxFKFZQOSkKKyNpZiBFTkFC
TEUoTUVESUFfU09VUkNFKQogICAgIFNldFdlYk1QYXJzZXJFbmFibGVkKGJvb2wgZW5hYmxlZCk7
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXNEZWZhdWx0VmFsdWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlcy5jcHAKaW5kZXggMzIxMmU3YWUxMDE5NTUyNjc4N2ZlYjlkMzYwY2Y2MDRm
YzgzM2ZiNy4uMWFmZTc2NTA3OGNlZjUxMzRjODlmNWI0ZmRmYmU2MTZiMmZjZWEyMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMu
Y3BwCkBAIC0zMjgsNiArMzI4LDE1IEBAIGJvb2wgZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCkK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgp
Cit7CisjaWYgSEFWRShTWVNURU1fRkVBVFVSRV9GTEFHUykKKyAgICByZXR1cm4gaXNGZWF0dXJl
RmxhZ0VuYWJsZWQoIndlYm1fd2ViYXVkaW8iKTsKKyNlbmRpZgorCisgICAgcmV0dXJuIGZhbHNl
OworfQorCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NPVVJDRSkKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0Rl
ZmF1bHRWYWx1ZXMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVs
dFZhbHVlcy5oCmluZGV4IDkwMjQ3ZThjMWQxMjJjYTZmYTVkODdlNmZmZDZiNzI3OTYzNzNkNTUu
LjI5YTQwMWQ3YTQzZjk0M2FjOGY0YTA3MjgzOGQ3MzVlZTY5NjhhNmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCkBAIC0xMTEs
NiArMTExLDcgQEAgYm9vbCBkZWZhdWx0VlA5U1dEZWNvZGVyRW5hYmxlZE9uQmF0dGVyeSgpOwog
CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIGJvb2wgZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVk
KCk7Citib29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCk7CiAjZW5kaWYKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IGVmNTUxOGFhZGIwMmQ1YmY1Y2JmMTY3ZTEy
NDA3ZWU5MDc0NzE1ZTcuLmViMmNkODI2ZDM3M2FlNWFkOTgzNDAzNThiZDljZmFiMjhkYjRjM2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94
eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
cm94eUNvY29hLm1tCkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0ICJXZWJQcm9jZXNzTWVzc2Fn
ZXMuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQb29sLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRp
bWVBcHBsaWNhdGlvbkNoZWNrcy5oPgorI2ltcG9ydCA8V2ViQ29yZS9XZWJNQXVkaW9VdGlsaXRp
ZXNDb2NvYS5oPgogI2ltcG9ydCA8c3lzL3N5c2N0bC5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVz
dHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvU2NvcGUuaD4KQEAgLTI5NSw2ICsyOTYsOSBAQCB2b2lk
IFdlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygpCiAKICAg
ICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BBVENIX1FVRVVF
X1BSSU9SSVRZX0RFRkFVTFQsIDApLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAo
KSBtdXRhYmxlIHsKICAgICAgICAgQ0ZEYXRhUmVmIHJlZ2lzdHJhdGlvbnMgeyBudWxscHRyIH07
CisKKyAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CisgICAg
ICAgIFdlYkNvcmU6OnJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7CiAgICAgICAgIGlm
IChub0VyciAhPSBBdWRpb0NvbXBvbmVudEZldGNoU2VydmVyUmVnaXN0cmF0aW9ucygmcmVnaXN0
cmF0aW9ucykgfHwgIXJlZ2lzdHJhdGlvbnMpCiAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZh
dWx0VmFsdWVzLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzRGVmYXVsdFZhbHVlcy5oCmluZGV4IGE1OTI5N2FmM2ZkYTU1Y2Y1M2Q5ZDkwODFhYjk5N2M0
ZjdiZTU0OWMuLjcxYWNkODA4ODY4MzU5ZmUxNjgxYjcwNGRhNWVhNTA3OWUzNjQ5NjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZh
dWx0VmFsdWVzLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaApAQCAtODcsNiArODcsNyBAQCBib29sIGRlZmF1bHRXaGVl
bEV2ZW50R2VzdHVyZXNCZWNvbWVOb25CbG9ja2luZygpOwogCiAjaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKIGJvb2wgZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCk7Citib29sIGRlZmF1bHRXZWJN
V2ViQXVkaW9FbmFibGVkKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShWUDkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZh
bHVlcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLm1tCmluZGV4IDM1MmZkYzVlMThhZjJjNThiNDJmZTRlMGU3Y2Y2NzM3MWQ2
OGNlNmMuLjE2YzU5NzIyOTE5NzFmMTk5MWM0MGFlYTgxZDBmZmJkNmY2NTlkM2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0
VmFsdWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNEZWZhdWx0VmFsdWVzLm1tCkBAIC0yOTgsNiArMjk4LDE1IEBAIGJvb2wgZGVmYXVsdFdl
Yk1QYXJzZXJFbmFibGVkKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBkZWZhdWx0V2Vi
TVdlYkF1ZGlvRW5hYmxlZCgpCit7CisjaWYgSEFWRShTWVNURU1fRkVBVFVSRV9GTEFHUykKKyAg
ICByZXR1cm4gaXNGZWF0dXJlRmxhZ0VuYWJsZWQoIndlYm1fd2ViYXVkaW8iKTsKKyNlbmRpZgor
CisgICAgcmV0dXJuIGZhbHNlOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NPVVJDRSkK
IAogI2lmIEVOQUJMRShWUDkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGNlNTk5MTg5MWE4MzNjMDAyNjYwMWE0MDc0NWU2
MWZmZmRlZWVjNC4uNDZhMjM2MTUwMWU0NDMxYjZkMjA1MDcwMjIwZjZlOTdiZjczYTMxNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA3LTIxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBh
cHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1ZGlvXSBBZGQgd2VibS9vcHVzIGNvbnRhaW5lciBz
dXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjcxMTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5NDM3MDY3PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBl
Y3RhdGlvbnM6IE9ubHkgZW5hYmxlIHRlc3Qgb24gbWFjT1MgTW9udGVyZXkKKyAgICAgICAgKiB3
ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sOiBmaXggd2hpdGVzcGFjZQorICAg
ICAgICAqIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJt
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvdm9yYmlzLndlYm06
IEFkZGVkLgorCiAyMDIxLTA3LTIxICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgog
CiAgICAgICAgIFVwZGF0ZSBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGZvciBpbXBvcnRl
ZCB3M2MgSW5kZXhlZERCIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDg5NzliMTc4OTJmMjdmMTRhYmY2OTY0YWEwNWJkNTQ5YjQwOWM4YmMuLmRl
NzJhMWM4YTZjMTMxZjBjMjZlNDc2MDc5MTU1ZDViZjczNzdmMmYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNzY3LDYgKzE3NjcsNyBAQCB3ZWJraXQu
b3JnL2IvMjE0MTU1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1v
cmlnaW4tZW1iZWRkZXItcAogWyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gbWVkaWEvbWVkaWEt
c291cmNlL21lZGlhLXNvdXJjZS13ZWJtLXZvcmJpcy1wYXJ0aWFsLmh0bWwgWyBTa2lwIF0KIFsg
Q2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS13ZWJtLW9w
dXMtcGFydGlhbC5odG1sIFsgU2tpcCBdCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSBtZWRp
YS9tZWRpYS1zb3VyY2UvbWVkaWEtd2VibS1vcHVzLXBhcnRpYWwtYWJvcnQuaHRtbCBbIFNraXAg
XQorWyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEt
d2VibS1vcHVzLmh0bWwgWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9iLzIxNDQyMiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1ZGlvY29u
dGV4dC1pbnRlcmZhY2Uvc3VzcGVuZC1hZnRlci1jb25zdHJ1Y3QuaHRtbCBbIFBhc3MgRmFpbHVy
ZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRh
LWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNp
Yy5odG1sCmluZGV4IGEzMzNiNjVhYWVmOWRiNjRlZDUzZmNiMDU2MzFjZmMxNTE0MDUwZDEuLjdm
MDhiMjkwNTkyY2MyZjM0NGZhNTY1ZmIwZGFhNGIyNjZmODgyOWQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApAQCAtNyw3ICs3LDcg
QEAKIDxib2R5PgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJCYXNpYyB0ZXN0cyBmb3IgZGVjb2Rl
QXVkaW9EYXRhIGZ1bmN0aW9uLiIpOwotICAgIAorCiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CiAKIHZhciBjb250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgpOwpAQCAtMzQsMTkgKzM0LDE5
IEBAIGZ1bmN0aW9uIHJ1bkRlY29kZVRlc3QoaW5kZXgpIHsKICAgICB2YXIgcmVxdWVzdCA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOwogICAgIHJlcXVlc3Qub3BlbigiR0VUIiwgZGVjb2RlQ2FzZUFy
cmF5W2luZGV4XS51cmwsIHRydWUpOwogICAgIHJlcXVlc3QucmVzcG9uc2VUeXBlID0gImFycmF5
YnVmZmVyIjsKLSAgICAKKwogICAgIHJlcXVlc3Qub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAg
ICAgIGNvbnRleHQuZGVjb2RlQXVkaW9EYXRhKHJlcXVlc3QucmVzcG9uc2UsIHN1Y2Nlc3NDYWxs
YmFjaywgZXJyb3JDYWxsYmFjayk7Ci0gICAgICAgIAorCiAgICAgICAgIGZ1bmN0aW9uIHN1Y2Nl
c3NDYWxsYmFjaygpIHsKICAgICAgICAgICAgIGlmIChkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnJl
c3VsdCkKICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJUaGUgIiArIGRlY29kZUNhc2VBcnJh
eVtpbmRleF0udXJsICsgICIgdGVzdDogc3VjY2Vzc0NhbGxiYWNrIGhhcyBiZWVuIGNhbGxlZCBj
b3JyZWN0bHkuIik7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCArICIgdGVzdDogc3VjY2Vzc0Nh
bGxiYWNrIHdhcyBub3QgY2FsbGVkLiIpOwotICAgICAgICAgICAgCisKICAgICAgICAgICAgIHJ1
bkRlY29kZVRlc3QoKytpbmRleCk7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgZnVu
Y3Rpb24gZXJyb3JDYWxsYmFjaygpIHsKICAgICAgICAgICAgIGlmIChkZWNvZGVDYXNlQXJyYXlb
aW5kZXhdLnJlc3VsdCkKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaGUgIiArIGRlY29k
ZUNhc2VBcnJheVtpbmRleF0udXJsICsgIiB0ZXN0OiBlcnJvckNhbGxiYWNrIHdhcyBjYWxsZWQg
aW5jb3JyZWN0bHkuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUt
YXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8v
ZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NGJj
MDEwOGQ0NGNkNWY0NzQ2ZjY5OTdlNjBjNWU0NzM1NmZhNGU0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0IHRoYXQgZGVjb2RpbmcgYW4gb3B1cyB3ZWJtIGZp
bGUgc3VjY2VlZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgU3VjY2Vz
c2Z1bGx5IGRlY29kZWQgY29udGVudAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29k
ZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2Rl
LWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjU3NzI4MDEyNzAwYWYzZDY4
MjRlMjA5MDg1ZjRkY2VlMzc4YzcwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sCkBAIC0wLDAgKzEsMzEgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJyZXNvdXJjZXMvYXVkaW8tdGVzdGluZy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGRlY29kaW5nIGFuIG9wdXMgd2Vi
bSBmaWxlIHN1Y2NlZWRzIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFy
IGNvbnRleHQgPSBuZXcgd2luZG93LkF1ZGlvQ29udGV4dCgpOwordmFyIHJlcXVlc3QgPSBuZXcg
WE1MSHR0cFJlcXVlc3QoKTsKK3JlcXVlc3Qub3BlbigiR0VUIiwgJ3Jlc291cmNlcy9tZWRpYS9v
cHVzLndlYm0nLCB0cnVlKTsKK3JlcXVlc3QucmVzcG9uc2VUeXBlID0gImFycmF5YnVmZmVyIjsK
KworcmVxdWVzdC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBjb250ZXh0LmRlY29kZUF1ZGlv
RGF0YShyZXF1ZXN0LnJlc3BvbnNlLCAoYnVmZmVyKSA9PiB7CisgICAgICAgIHRlc3RQYXNzZWQo
IlN1Y2Nlc3NmdWxseSBkZWNvZGVkIGNvbnRlbnQiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICB9LCAoKSA9PiB7CisgICAgICAgIHRlc3RGYWlsZWQoIkZhaWxlZCB0byBkZWNvZGUg
ZmlsZSIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgIH0pOworfQorcmVxdWVzdC5z
ZW5kKCk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL29wdXMud2VibSBiL0xheW91dFRlc3RzL3dl
YmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9vcHVzLndlYm0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTg0OTRjYjkxNGE3
ZDg3NGNiMDJlYjAxZDdmN2I2MzU5MDFjOWQxYwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTU5
MTMKemNtY0okMTl4T2spVyNkeiM+QlI1K25VKDZqZ0Q+RyM+NiV6SFlUPWhDcFo4MXo1RD84dG5P
WmBSYG9mKD5zUWEtCnpVQTN6VU17SygmUGRGMytFZDJjUXo1ez4+LXZnazgxQjJhN2pja1IoZXVe
T2c1Rzw3ZGI2fXdWRjF9WX14aCQ2cwp6eHl+cStzJGdgZjNOd3t6Syo5ZihGalEtO2VAZyU0SS1g
SDtQKmV4YVJqTERsMV4mMUFPUXJMdEdMVWNvOyh3bjUKenIxP0xPYH5UelBLZFR6M1NMJVpoZyQz
bVRWcV57NyUtQV5USW9SbyQ3I1RIJHs9YTM+aDtZRjskXld0OUtsQXIkCnp8MWF4UzBLbT99O2l4
alhkcVJ7b2FNPUpMO155b2lTMzhyP1AkN0s8TUt1LW0kez1JPGVEJSY/dSVSWlBBT09nMgp6TExM
QzVJYjg3QTtlUUB4V0M5PkdFPSpFemFDTWU2SDhjU1I7UkZ1b3tHWGN0eENteEJKTzdfUUx9QTwp
VV9TYlAKejdJNEloIW89aTc2aHlfOE1aXkJUaFdfNi03I1IwTzhVSF8pe29uVkp7Si14X3tie3VF
UG90U3dTcFJEXnBeY0BICnp7ZntaO3FsSUVjO2k3OEZMYUlePEB9Z25NakV2bT55X28xMzhHcFhe
LXZ0Q2pBa3lPTXtkbylrRGlWcVYwMDlNagp6X3wqRGVNVD5sQEtZc04qOVc2aHhrQlEqR3dLPFV8
SD99dTZJUDRXPVVVfmNpPDs4RjkmRV9uZm4maFMmZW9FRHgKemBmJCQzRHNyfDVIUG0jIUxeNlBl
P0EwNzV4ZVIqb15LRjZNYk9EKH52UVZ2aVJqO15seSE/eUlAcn1oXlkqfmVqCnpWbSFia24+RTRm
Z0ZSQFNOVnlZQTVZUWJVRHg8cmluUlRrbS0yK3NgOEEwQTUhUTVSYShSZ2s0dV44XjlgNFNsZwp6
dlhKfWhmMmQrPGg/dmBETG8pI01KYz1gRD18P01xKk9DbFFtaj12UkZBJSZGNzNwS342PDBANDIp
NmhwX3NvQ14KemVTdkZ9K2RHaU5RYlJwKShDbVhxRW9TOFpveVdLRztZeVFRUk57PyZzYmh3KWNJ
eHUyak5qUTJRJSpAfWlwTi1aCnpyQDQ/fW89cz0oX3pKUkBxX3xPa2spIShna1pmcmJxOHlPSWlF
IWlUeCg3SyYqZT8jISVLWmhPdFdNWSt1KmRiIwp6WTZ8JGhFdHZTSTs1d3gpKy0hKnU7N0U/aiNi
eyNpSFV7SWF1KTEqY18paURYMV9gNlZ7REg+LSpeWEpYWVQ+JSQKemdUbldpYTZvMkc/bkxpWm5s
SyNmRnNqUldXIVlhTmxDTnd3d0BCfnwwRThhIUE/O2hnJDgjcjZpMjUjdSpGK3k4CnprWV9SZzdt
YH5+OXZEUXE5MjNLeVJvdVRyPXJHekpeXzBOVl9wYVp7RWMxPW9sYH1TZ3ZhWHtvJHs9YmdFOEk9
SQp6S1BhSSFzMUcmfXlvcE17WEledWpCUXMqSVlkfVNpWSFYNjROOFRXJEdsJHcycSsyJDxKKUZY
KFgpQHQ8YldjK0gKelhGRE19WWImbTJRfXBsejE8PGYqd1JMTiomSGdVJVVKQDc7KEBrZXRKQiMq
QzQpc3soPlk/QmI9bD1vYUNTeD1PCnomOU04MjFiISlXM35fel5oPl45JUdxPylvNU4+biViPns4
UmB3TnlQRXxxcSZlXk5FbTBPfXIlKy1ieD5ie0pkIwp6bnRSeGxrRUtXbTlSTmZYQGJOR0Q4RW1+
Z2ZrfFlhb3ZFWVZQVXA+MnczTz9lUWRYcCVydjgqZ3xFaUktQWFFYWoKekd+bVk2Wnt7SWp7PTx6
RiZZNjNzS0JpVnJyciVXTGptOUR7Vk1pckdgeWslO1llPig3YmtaKmB2Ryh0ez4pY1hRCno1dE5j
MDVCYm9VR250Ym16b15GfDxTMDg5ciljeDhSZjtndkRNZlRma307bU9yZWdlSCNCanI+IWghSnd1
R2pJVQp6N3J8QXE8JGktNzI8e0dgP0Z+OEBqOXNFP0FARmB2Vyp6Zz4zWT41fSs0Tzw4QmhVSWxq
PEZTMU51Nk1Va0IkPF4Kenctd0BoR3grY0ZpTF9BU1RnQihVSXEwaD8qOFYzeWVBVFB3WH1FeEI+
LVlYaDI9ZilPJEt0KmljK3l7ckpNZXctCnpIfE5RfF9BQ0N1VnNYJE1aUmxOVUNpN1gzUmE/d3JR
OHE8RlhhRkYtZlI5eXswRzgpRHg2JmhEdTQ3e2k1alJ0ZQp6JDBSa1E8d3U4PysoRGxyOCN0Ti15
WndnX0VMODw8KHd0Kl5kTWpOeG5UNUM9JnlqYWdvaTxHbSpYNnFwKW07KD8KekZuQClgMjtWITJL
VytHYmx1U2dxPiFxeWRPbEI3fGhxfiU+N0BxNF9gRWx9TElWcldMb1FUUnBqdmkpLV9LJTE9Cnoq
ZnA/ZGB0LTB8QzVxQ29NUGZzZUc+aDZGamVCWHZzRVJTQig0NztgSHg3SXtMPF9sMmZaVmclaSpX
WDU5QjBqNwp6eDRJfGp6Q1M8bWJNMl9VMC17T3lOIzRuPzdpfSpvPylkKHNYTW08Vk89T2ZaRnVB
P15xfiV6b1piKittR2Q/aGYKejQ5Y15HPjMlYWNmN3skSjxvQEFme3F4cXNxYX1CVV8hI0tUUSE1
JFBsIXRXbSVlPWR5WGgtdSUja3hvYzQqO2F9CnpnTjVsSUVmcjhxdG1vIzUqRVNnMU1+Q0xPNksx
QWF0ViVlXmp2YGA2PDQ4azdLMm9Ia3opV3ZzZ35wakVpVzZWZwp6eWFDTWo3PEhod2t5WDAxaEwk
KVpKSzNZKjlKb2FYYjB6cSpSQjZCP0EjMGlQdzVTWV5lNj9fTzs5ZkV9bXVCXyQKelY3KGBnKDlA
Qio2IXtUU0lucjN1XzAoVD50I2VCVU5mS3xNZXkpODU5SiMlWThONyVaVFdUcjZ4YXBPPCh8TEFq
CnpMME87fVZ5Yj5JUEY1Y0l4QyM8IzViIz1MUGVgTlNjTFpDMVI3JEx7Z2hlWmwleiU9aEZsMmpj
K092ajUjQzt3Xgp6PDYlQXlSd14qfSNXYkFZLTUzYXtodGwqQyo1VWEjY2BocmNvIytCQUVAUk9i
Uis3N3o3OSRvITlLb1RUYlV+I1gKejRmdj81ZHhwSk0+KE1lYWxHZ1U/WDcpP21BM2lfc1djbllV
PjJSUjRhaktXa0pDNDMkRWRgemphVT5kWFVhaSM3CnokbHNwdyQjUl4jMztZY3EwNGU4MHVmWVNP
LT5edzJOeD1BWmhtMkA7UGc4czIwJDIwRkc4fGF1VHh2a1c/cHE3JAp6Uzh4Pm5RYXtDQT1WVERR
UGdoMGhBcXpAdVFKazRLJW1lYno+Q3ZuZGFWV2dYKW0pU1FQVk1zOFcjVExvblZZKXIKejtEfEpW
R244U1RnZlFHRm5BeCUzIX5DPUdnTExiN15IbDN8KlluaWZJej83eFoyfE1ecWVve0hUeXBXPTxV
b1RpCnp7TUsyWiVmVzc9cFlBdlFKQUkwWT1iPGVWaTtxPE9gWGM5SVhKfDVmZEoxTUdiME9+NUYm
NEUoeyUkT0cmUzxzeAp6NDAoJEVrTnJtMVRiLTd5T0B8SDZkR1JhcTVpd2FXY30tMFpCZTIrJTtV
QV9TUExmclQ1SDxrRl5TPn4yb2AoJWkKeiZ3bzg1bjZicUQ/XjRrVHVoQDJgOGI+dGgtRz9zfkxw
YzRiSDlyXmU0KV9yKGNCfD5uIWkqZ3gpUH47RHJ5dnBrCnpLVnpQcTFGNWhlPWxTa0lnb0cyQWJu
U1oyWVIlc185d2Q/aV5VVyVBU0spe0x2TGRxVT8hKGFZVDMlPG55LVNYXwp6VUtJPjM8PUdrKXBM
djt6ezR3eXRXYCFGS1JZU0ZSKm99X0xuWU1XZzAxeiZgKXpmT2RNPFU/Y0p5JGlEQCFgJUAKekU8
cUozXj9YWWxJYXYwO0ZBfUt6TkJOM0xBNip4JXU+PHlTVmFmLSVgITxPJDslP0MtZEJBaS1xfj9t
byFDQjd1CnotKDx5aDZsO158RXhSaVFNYylNUlUrQkBkJW5Cd3s3I0R0UkB4T052Wjt5THE3VVZz
VTYhSHt9O0BKRj9pJUJNdgp6OGhaSmx3am57dENWbik3M2ptN3dQY3NMTVpSJXc3MHJmO0xmOVNr
N0cxfGVicmlGO0VQYjZKU3lRdXpfdnglRFcKeiktI0B2XzdHPyklZWcyUlA+Qk9gQm1SISFaSHs0
QSZeNV9eTV54S0YjayRqVHo0NU8qSyZVblhLb3AzNTReQmhDCnpacHQxeCNyP3N+LTBPVkl4bHRs
N2h9Uy08NHpecF8yLXx1eypHcXcwUH1zJUgyYnZ2IztAMnx0Vm1oRFhtJVlodwp6M1ZleWlMXyVq
aWE0Ny0xbH4wRXtjfnxeR2hxJFhhTGIhQWEjPVJxVlp2ZitoUzg2YGkqdTdwVVFARmtTNjw1ST4K
ems7KFJsJkQweVhfSmlFTUdCaDM+UHJzRWczd1dVbE0jVUoyVD1YcG5eR2ktd083WVRZYUxWR21A
ME1XcUFZUnwkCnpOZnl5Wit0KmJES182P0Uje1B6cWNJPnxJdGdjdWp0KVFITG8weSNXVkU7IXNL
WGVMeT1yRnRCZTJzJks0XkpTfAp6Tio2Y0V4cTNuO0FsU1U8bkxfNjBPd350eTZxKWEyeX41SUpa
K1EpVXNIbSZyNTxGYXI9Y2NvMlNeMXt6SXNocHMKeklfRz0wMGhRbHsyMnBSeVBedGpeTERBWl89
NiVxY0NzJXlNZGlHSCopSH1yQEdLQkJVTmdtNWtNR1FBdEFFVEVXCno5P2xVV1JHRklTQFRVSWV5
SmYtNkdUaUdvY0VkaVVrdF9+THYtP2ZEI0UpZVJob2NnXzs2QXlvRzYhSWFfY1NFZAp6SVJ5UVh4
TkpmS1RgLSYzTTdwcjc/biFveEZ9SEJ6eU1hKDNtOEswYlNpPzFtYTE1aDN2N2V9TSRnNU5qJDRp
RW8KejIhVXV5IVRTb08/KVZMX09GfVhlcCo/TlFnN3E2ZVNVeztlY1FKXkcoOTZIYlg/OVNNPD1X
d3FjUG9jSntTVDlxCnowWHFCPTJDOTlMNUhTRiNgTnl3Zm55M25XWVojciFAZzZpNWNKfXp7UWs7
an0wKkRObih1RmlaWjxXUSh6ISFnVQp6I09uaTV6MnYjaXJKVyYqQlQtdiYrakxqUU9ybFFfV0h3
ejApO3ZGMD4qSytXU34lTEUpbHV3Z299QXhoQT1LYHsKeilmfG0/T1A3WiNTanI0IWBBeFhBJn5q
WVo2IUZvMGB+MGIyendfME5ucnl9cUJJTHRFalFJMkNhK0A7NFFzKFVBCnokc2VRWnZLd1FjXikp
dGlAS353VUNlNXhaIWleP1BTREF3e2pPI2ZMcUJqMV5yKVEyIyNGaXh3a0JOeGZ2MSkpPQp6TiVD
NktodTVGQTImLU0qV0I+fkMqT1dncE1iJkc4IWRyUGo8WEI5PDlgMW02X0Q/aS1VUkp5ODlMWjBo
TWFFfSYKeiVFMitOZFl1QztHKFpvNGVXOU96JmJ2PWwqRnY2Zjl1NnI4RDF6QkMhWjMyPHI8JC1X
NX4ybkdqUmt6e2UlSmtCCnpJUWJ5NElQZWY0JSRROTwoI1Y3bkJAaWBNOSpFMlBMKztmQiZyTSp4
V1cxWF8/e1U3bT1Pe3t5Z0FOX0tOdCFwTQp6P0o3IzhtcD05NGwhTyFfdGhyOFBLSDZJfllKP2B8
ZiFIYjNFLVNhKUpDT2Z6WlpwJGtFaV84P0xmZX0zbXArOzEKemgycyVSQGF4JXg8bXphVkVyaE4k
JCVXO1VwbTskPmB4VXBMaWE9MCtXZnBqfUZEYH0/X35oS05HVSNPYDdiYn1pCnpCSlpYRCZpY2F1
NXQ9bVpPQHZlIUx2emhnOEkkcEsxX2A0YnchOVVwcFYrdU9kNj1LZ0FYWTRXTlN3KXZeMlVLKwp6
WlN+PnNnRHxnJUZeUD1KTk5DYjZxTFo9M0YjPmdAV19kSkV1MWtOfF9fUG05VSp8T0xKTzNtSG80
MXcreHApcWoKeiMrKERsM34ybEVJajRMelU7V09rVSRAKEJmMnhZdmV1NnNkWFcmQnQwTk09cklG
XmhRIXlvQ0RJX3lnKlZtXjc4Cno5YF5Kfi1Ga3NvSiZLaHQqUHFDckdqZ1JuN2N1JERTb0s8bTch
QExKUGpkZWI7PFZndzwwN2AyQkFnISpIeTxqbQp6O3N0USlvRWt9aGB9SDBRbUh5PmRKWkR2bipz
RmxITF5GYz9VX3JnNzZyYXJWPX4/RCVMX3l2c1EmU2gjbW1lYyMKeilrUXBPVkIpR0wjdnBDfG08
NWtYLWNDQnM3RjBVMHQ3ZEd0RSEoYV5taz8rant7fWxIKkZHNHJYe2hjQFJFWTIyCnpqcUJZYyRp
K2FBX2ZATSNeSkxYMTs9VEdjSllTU2d5SHlWZ0NfKl84e1BnMXxBI09HcUtHPXt3bFJ2fklEQ1Vj
SQp6PFRoI1dyPnEmUXgmUVFRSFRYfnh1dVJ+cFole2tlPEpuS011TjtIRjZVRkFGd3NmfCQmTD55
dD14YyVWRGQzYT4KeklXXj9AcmRsTlh7V31jITFORGEjQj4/Qyk7TiQyPFhzS1Q8aU5qYjVZeyV2
QUZ+LThQKmFpc2NleCpHNE9QfWs4CnpQTkxVdmJ3M20pVGBQKk5xZTw9VmxJanFAaTh2PTVvIXY2
QlgxXl5MTXB8cEZSeWRqM0glbzE2PGZyfip1P1o7PAp6YkReK0VAfUk9VmJ5TWNOelFPJCZ6bkFI
RUhSVlR4K1VJblpZRk0yQFYjRit7MSs0alRSSXY4UENxWnotPHlxPiUKelBnYFM9cCgpfT8mXmZf
ZlNkamk1TyhuU0x5aSNlS2wkaGxnZzMjamgjRkNMT3BRSTBDODFTJUE+JW9wVyVjQkNPCnpEXjVM
dDBvaD90QHhUe1RFPjdzXiVAOCVfdkBTdD5WX2E7fCMhKUZhZ1VuITlkbFEkSyN0UyNhYmQ9WVpf
KTZPRQp6S1YySCU+dXEzYTViSzlQSzAoPyZWO0JuNTRydGxnJnYydll7TVUxZ3BMYldnUihCSFMt
PGg8XnRMNVVLN0REWlYKektTNylaMDFXO2tEdmlhZC1vfVlyK2dtT1cwY1pAYFdrQmxnYz0pSFNR
O2thWlBDZUsxJENWNF4xNkdDYTF7Ty1SCnpZXyY4U2prUnxjUUtNO3w7Y3tiV1BlX2lRQm8yfEt3
XlJZKlVyQUxAY3FpQTE0VUp3KGMzSXtDbyglbkE0SDZ5Ngp6JlcpakwwPTQjTyR+eTVQMlBUbUAx
bmVVO0tETWBFTV9XPGtxb18xcTxNJlk0bSZCeT47MWBXV284azQ5TllnLUUKej93WWh6SlFhZ2tL
QG05P0lOJVRAeXEyYEAycCpSVGdWS1ZTanQjNHB7cV5+bDM8UVJDXiE9U2xTUFYtbSkpS0p1CnpK
Tk96QUErcjJzK0lJKSZpT2x9NWUwMEN3UDwodChoQkRnI29zaFYlQ1FnT1EyPyt3ZSYlZXpYRXpC
UGpoVUx8QQp6JDllSTxZTGZ6JTlaVD9qUkQ/UHs2Y0lzOUxPeEh0T28jUkN3V2U2Kj5wfnFKWTJv
dWV1c2B2TjM7Pk0lTHJjVikKemBHbUhvKnFXfWp7ejlIdEhNZylgZ1Njbnd0TGkpLUQqb0YxdWZ6
MWRRajRCPExQbWBFRl4zUHdMSnlqUGI+TGU1CnpsVCp+JF9wMlM5cHAzaGVwYEZ9QEJgJDBxdDl9
dihqcClwQjd8LSRDVmVQUEs4dF5PP3N6Tk5qPVE/bDUhVCNqawp6Kz0oWWR3NzA/ZnJQdkQ3QTd4
VXR3cGtIdjJVJnolTUZDYT9aMXhxYWxNQHg0P3lAfT5gblIoaU8/O3RfbjJHcF8KelJiO1dYYFNP
a1NSJlkqPUx1VHc/Jio7UTxeKUxIN2taJUlJdkJPdH1QcWpTKkRtRm5aVXlWYVp1ZG9TQ202bS0z
CnpSMT1kemp4WklSNT4qNjV3ZUY5QVh9dUFxVzl8NX5KRT9yNz5ocVNAQG4/IXJae3szTVgjQm41
cmJFOGU+LWdVfgp6Tk5IdiN3JChkTGxlekpaYyVhYCEkJXkpdm5ORyQzSVVxM3JuQz9HTDIzRnpR
PDdLcmxlKDh+SnMwPm8hY2pGVzIKejw0Xih3SmtiSUZ7K3Q2amt6I3Y2RGVmKFdka1FhVkZDQHI8
UVNTbXojVzJkZXFMfn0oRDFJMVhqZElnbipwaTYqCnpKODU/JlB7Y35vPlJ6fSlKIWpVZj8kdHl3
ZmVWc1NhV2FIX3okWXE/SmJDNlkjI24le00kI3kmJmkhLSRzYEx9dAp6YHdKQ3AtbjRiK0wjbTYt
PmBPdXBjOHlHM3hxRjVxUEJseiM2WFduNkx6M3w2aj1geiopcWpqU0t9cm5gKWU3RzMKek1ySnl7
WE54fEBMQE1rS2k4IWs3P1ohUXY1ey1LP25FezJ+UEVUPVhXQUhDflQ2OEhMX3dnbyFrV1hXQU1V
Y1NnCnpeV0c2ZjwqZDJYPVY7X3pxXkVnY1hxVlJ+Py1ERz4kaCUkfWB+aVlieFl3LUZnZ2hET1h0
KjI1R092bSZJeGUoXgp6dHF9Qm8jVSU3IUpUSE12bEk+MXkoaVBXcDlNJGxySjYpWHpGSkslPmxu
NEl+Jm1SbD8rVVErdSt1aTBna3s7NzMKeiNISHBLIVR5UiR6c0Y1R3Q1I3NGPEdWZ35rRFNRc0xK
NlNiZ3omelpydDB0fjxjNncqaGJ2bTRIVE4/KSNRUjduCnpPQCNed2hjT2NOU1drakdWazsoc1NS
KENzNkJVQSk5fD9gZlN3ckc2dihKQlhNV0J7b2B2UjN+KD92VipoOz9LRQp6d19kVWI0fEg7KyRS
JWNkNFUkcmBlRDVBNU0pNG0hIyhndHQtUHF2c0Q3RCVnbGlBMG1HV1MkVnVqWlV3PG17ZlQKent5
UE02PGhwYXRIZU5wYztgX0t6SnpfVip3UCVufEBHOyUte3R0U2wwdExkYzlOeyFuc0dzYiVjbXc0
ME9uNlJ8CnpkJiEpaktoJnskJkh8K3tWO01uNygzLXtWUlEpU2hzNUFZPnMpUns2I15nVnpCTEBK
aHtUSXo2OUhhTDhHNDleOwp6JWo9SXRASytWam02VzFXaCR8NyN4K31XJjdHIz9tZlZZbX1RdDRO
X19Je35SezxGbC0tZ2lLZ1ZGSD4zV1ledGkKeihvfjR5SlhTYV9nQ3NuaVBte3E8NkNiMGYpYXYj
ODg9KUt4WDd8NCE3OT1CaUR7MjFzM0BSJWI0Wnc+SUtAI31ECnpLUnZtKjJBUVV8NEs8MkxvUWpM
NDYmdTElUkR+SE9pZk43akJWUzhYIUBYeEZyM1NhU08rOU04JGZsTWpjV1Nfdwp6STxaJT5GZlB4
ZnRGMSp1eTZCOzwxU01iKFhiS3E/cSgkcX05T25oYnRQbUY8anQ5U2JoR2YrSlEqVVdIQnJufiYK
ell3N1gydGJTaCR5JG5ZRDVWWmBhRk9NMnk4aXlyTV9Yd0g0T3t+PF9nMXFeUUltR2t6dE9qLWd0
ZTFCT0pTNSpICnpoN3c8JTIobkpAQEJ8KHx3eFB7QT0pY2h2Mj57c2cyaD53MTdFa218ZiVYZyht
XlJ0cExneT56Pz5UJGtJOHVWPwp6V1lZeChYKEY5enAlP0BlO001PntJPnl+OUF8SFZ1RXp2KVk+
TyluSyt6Iz5NcEV4MVJuTiNwJFhvLX4pc3pMbVIKelp6SFBQKSV8RXF5ZWBydUxKIWgmdTl+aGJW
OzYhTW0lekgob2tWb3ZvI0hgZyNnY09rKHl0fEZrPzVQR1B8TlpXCnp6ayE3RTR3MSpHelZLUGIt
IzRUREpDekVhQzBfY04rfHpVNXgxUVF6V3RvJXhMeDVDNU1RYiFEQ0phUSk1ZmpRbgp6Ql5MI3Rp
UDclZ2k2KzRGJDQjP3NIKCFHS3ZPfSFzJHU7SDcwfnhAdnhIdUJuaFQySE4yMz1KV2xqRGxRNl5Y
JkEKekV8UD5LI0IhaVU7ZnM0ZiQjYU5ecVA8anlpP2ojc0EhYnJWVXF8b3hCUEwjQ0lJWnA+cmo3
Sno1SGVETXA5ZzteCno7UjFrdGU8Kz05dVlAMXJyYEBCbmFULU1oLVJVQGUqQU5FOzZfRElEQmFy
JCgkfVI5fU1VQks+M1RUamtMfEgzQgp6TEtnO0FpbXA2JU04T2VkR2NaSFBBfXMyOyNpKitCVGFN
Xjg2SiozQ3VhTz1VbVcraGJ0YEsmfCpZI0JGRXplKlEKekhrdnc3emVsSVNvQk1KPCFtZkh9Xj8/
YTVmJGlGQC1VOGt6LStyUXs4OHBkJkNya31DXy1ncEtKWW8pKWxCVTR1CnpLfVhzSHlPUEJHKkNg
TnVMe0ooRHVYUWdBTGI5cDdzdj4+WDhVZztpQik4S0g4b009fXhfcGB9ZDdQKWJfX2hJRgp6MGIt
MD51LVo0UEpLenJhUD09U2ZXRnlHNkE1Q0BUVzxmazxsfDA0PHZUa1gmWk9Re1JXaWJzQl9qdVNX
bTAtQTsKenZucSVDNElJclU5cCZTN2Q1YXgzcjk/WGFeMXRqX0l7LU4wQytWSEZtdCM7WCNIRCR+
T3ZMfT4/VHNTfk4tRzZJCnpfdEBzfmBaNk5wZEtTTGhvXnd6NDctSURnO1I+Sz01WmNhUDItXjh3
TkwwSHVYYStwelYhcnEyN016Q0Ymd2RfWgp6SU4hUSV3V1hKZVpZd0Y7S1lgVCotfXpQbkpfT01n
Pno5MDI+cDBIP3ljVERILTx7cjhiQlBzY3RyNEJXanl8QzIKeiZPKXpNRGpxSS0wO2RkJk1gODRa
USFoaUk/VlBfOCtafXckb0k4JTRoZztuO0pfdU08NyU5PEZNJTMlO0hfQ1YkCnoyOUojZGFqR2N+
WikoaHJHVFgrI2FoRWtSeFQ+OW5zTmxYezY7ZGw0dz9ZMCtfOU1MfHRgY0t+U0QwSX5PSHozJgp6
ZF9faUR3PzhNQ0VqKko2Jjg3I1JsdUsrNlA4RkdJbFRvQmlQa2F8b2BBcHJuQHZ6aGYkPG9GIVJ9
djREPGlPe2gKej1BeEZGSDRjb2xCKH4mVTVIeHk8MSV7bjZ2SnU4R15aRGpyUE4+QjdJO2hvdlln
MTU8KlUwUlE4OShaNDA/TT5pCnpHNERMUSMtQCN1eWlKZypoPSNRO3dEIVg+OzhQfShkeE54dCNm
blZ6ZjlBNWMwKHUhZjVuZ35OViUzbTUpZVY7Tgp6JDFgR3puOShXSUolMHBuWVQhISFYMmtKcEY4
Zy1YP3A1Sj5Bb3hwdGlkQGlzLXV3enooc0N2WmxYbU9gSSN3aTkKejAwMXVlUTh1bioxdkx2KUJS
aEBmXkRePT54byZoZCFARz9gTWMrWClYVTk5U1IqQ3Q+SlF9UHdONVZ9UVdPM2BRCnoqOTxaSHVz
K05pbS08NjBTQyMrQVRyYDxARUltPXJ1VUMoNEh6S3MyQk9ZaTA2KTI5YDlnWX1iTGQhZSkqfEco
agp6TmUhe1NXe0JDVkNycEBfSjFzPS0pSFFfUCM4UHpCUiZ0I3lFI0JzSkZsSX10KnpNdyV6bVI4
ZVYjYTVAZkA5NUEKemJHN3ZFMXU+KE56RCMzMlJsTGw7bzFeVzd4ZUMrWnYkPWQqPkE+Q2VCc2pY
aW1eYzU+cV8tQSV6QH48VzwjYSUlCnpTckRDdEtzYmBYPj9UJERzS3czYll+I31nP29JfXElUyl1
PDM0T2tPbEtTYmEkZyl4dFMma00tWEU7cGpvY3Ffbgp6JjhweTVUaU8rIz1xdXFrSmZZaG40M0pW
XyhwUzd3cHhnQkM8QjB5ISt6Rl5LNXhvPmFeJUFXOzF0byo3dkBjM3kKekleKz44IWMrRmFzRmp6
dTgwa18+REpte3ZYSjJyUXJaYFh9QSZqM0tFTGVuM19LdXJVNj1hRGZKO3FeUWg+dndmCnpycDBm
JTNTZyl5OW97MEVIKXJqeTtWREJhU209ZT1CJDRqbDhHQmBZKnRKQTZFUHVBT0UxMj1Sek4lOF9G
MF9Wawp6YGJqQn4wKVgzcGBzaj53WW52clEpJmxkUl5GfjZJWjNsRTJMYDMjfXNeRE1gfDV1e2U9
N1EpcUc8SlQlaU1BX24KekRaQFp2P0R+RT1kZ3kzRCQwRGRMYikxdXZucGlzX2FDcnZTUFNIWUNz
O0xOMys5akBOP3t5MnpedFlKPVB7KmRJCnp3JHp1S2VxO2REV2FpZSQpJW58IyYhZkRTNlhffWsk
bHdzNyMzbCMmTFVaSHtHKTBrV3lSNmFHKHtRRnYzVlI1RQp6dllVKD03QVI7ZyMpSDshO3RuVTFw
e0Q5YC0xc2JBbisyM28ycGxedTBNamR1Iz4mMkV4cXs3aTI5NHcyNGNKYFIKejZuJXwhaShEaiFK
TnFKPk1RN3l8Tm5uenN5NWJ7IyYheFRWS1ZBSHhAbThtKiQ2Pj5VSjg4XyNsZUFLWFJlTV9oCnpa
JFhNWXJYZno8Vz5MRmoqTk07bVhIVmRKSnVlP18/JiE4KmR4NDwqOT48VVcjV1dUMGFjSF5lUVND
KG0rKkI/TAp6bEY/R1VzWHN8eG9yWWVlYWA1MGJsJEtBLVJ9dSpNRnVLaDIqNURfVF92I3tHWVBD
YWJfJUNEdWdMQHB4WmAhfXUKeiVNYlklK354b2cwYnpPTjA4KFNJdkxjZWd5NCs3Yy1ZVWxTVmB8
U1FnbzcjWU5uP35HLTViUCMlTkR0SVl9azlwCnpWQl5yMEhXSjhpcEBXNFFHKyZ6c2lsMHh5Syll
JSQoUWpRZmtXPVVob3J9Rj50KUpmUEB1b3w4TkRCQWJ5Sll3Xgp6PWdKbHMtQUwpZyhOMXEjME1W
dExaR310PSFkaWxBVlc9UjZXOENBdkZFMXNgSkNEKkc1KWg1MHArIyk7M0wjM2kKejd7UVkobE1I
Q1FaRkV9QHE8fDJTRzglZjNhUUpMQ3BQNiMxejhseV9lWTN7NXEraFpwXyEwfDRwOy1afSpVUnpA
CnpKV1h9ZjheeGdfO3t4c3ZJbDZ1QHtydXphey0+dDIyKHlXP1JCNSk9SVkkcz10UChxUUNOZ2BM
Nl5BcDx5akUyZQp6RVF0KnhkdmxSZWtgeilxWkpibmsmQWdSaHc3N1J3NXo9N0BSI3VCX1U5YE5M
UCh9a2sqTHFIel5kX199bT9OSWEKejljKHBsJCY8an15UzI/OTM/SndlT3NpU19xYnExb19idD87
SnotYkV5bFl6eyZTLWZgPjBoT0FIPzRLNCRzKWIqCnpeeFlaciEpTk0xWnVOQ1I9JTUlI254Yi17
dkppX29Ge1QjUTRsYCM2JD9eY1ptRip8NT9HJmVBajRZb2Z4T3ItQwp6Q21CUWJYOUNpVSs2WTt+
em5OOHk4YWJkV1VuX3tjVmwlUW0oVm4zN2JLVUQ5NTRlRlRKWmRwUCFTeD03aUcjPEsKelNPeDQk
PkxpJChMdSgpNSVBUztOaDFAI0Y7anhVMkBlMEctNDUjVFMwYEJ0LShieSsmNGtKR0NNOFE5bDd5
IVZKCnpLVnM3UD9ZI1U1PWZTJkBWOHNqOzFva2EwSnlPR1Mld3g5cVNXISVxNGlgNTIqWTU2a1F4
PW59Z3ZPRG5HVSgqcAp6dGB8RW4ocVokblpQUG9VXylRZ0tDVWJgPXYrUGY0LWV6YGdAWTVDS2Zt
SVNSNWotMFFIVnVwfmVAeFQyYitIWUMKeiE0bm00NEl5UUt3e3N6dHJeMio0b3NDd2lfTUNZVDVj
dGNXSzBRQzAzbWJkWChUSnptN09AMHlfdEFBRHttUClLCnpLTG1VVjBORD9kQT5wQkNDNjZJb3tx
KlNxSHBEbGtea0IyNWdqaXA5OVI0Q2ItZjw8NXN0PHpUaytSMnx1P3Y4WQp6LW8oWkkxPEdKUG81
cSskTWxHISVGOCpIUWdZJWpVXz9KSnw4LUhVaG5zPmEwRURYLVclWmVaMFVVd2IoTGduI20KejYy
JnNHUTRNUXBBckZecHNgVHNNTUB8YHYhZnwqfVBEVzltJS0qRHNTYEpOMlQ8WVd4Rj1fd15ecENE
P0RoKUEhCno/aylaTFZgPEk7dWo3dH1pWHpBYjZHKyYhX3JecnBNUk9UUFFIe0tIR3xyMHk2IX13
NiZiYV45OTtRbiYkbzRxMwp6NGdqdHVgN148XkpUKGhHVXd3SWA/ajhTJFFkTVNCe3hhbWRNJndf
bFNjRVJYZUVCJSleZiVCTFVCQmF9eDU5N2IKekU5bUxDWDhiYSRuT3haJlctQElqYCp0S0ZwT0FO
PzttWkE8eXJpQXRremBmS0hiRCkqe3NtMnlCRkJoQ3tmeCg4Cno1ZUYxM0JNYiliOUx3KFl0MEA0
ZEspJGBxRmRZIWRRailDVmBSRTBDalZ5bD9iX2M9ZE0haT1qQlFOVztEaldeUgp6cXNRMkslRkN2
eTJAd2dAYE5WPik1dkx2PVh9aE1gY3x+UEdYZzNYJHpMd0I+NjU5cDhlYjF6fCVvaVRzbTYtfHMK
eil0PlNUND0zTVU0bXczP3c2UyRWWjxaens4JkF3N0doeVJyJG4qbVhANHRFNktlY0tPKH49QX5f
NHxIRihMfCRVCno7Y3pIc2E5MVgyJCppK2pwVmsjZFhWQ043I258M08qczNeaHUySmcoe3ZBS3BZ
cGxOYHclbHZkUzV3dkw8fmJxUQp6QVk4PFd3K0c0KypURkwzSTl1QFp2KFVSWFoxPERXV3JMUCkw
a3xUOSpIO1Fne1clY0hhPnRsa1pLbX5sQDYkUFQKekNuKyE8ZDspZGMtOCQ5PiRERiRUdUVfby1F
PT9WZk85KHFaODhHSVRCKmtEJXt8V0dfclc8Nn4rO2BKSSRCb01jCnpVPztsaEYqYip3X1g7MVVC
aSE8Y3VnJE1COWZwZWw0PyRPTCpgPk1BQiNlXndfYDNuNzRPak01OFM1WjgoZVE4YQp6UmR6e1lo
UWoxWCt7TX5sZiMzJFhfXz47SWZrMHtjWmNTRzRLKUkyYEZYfFpuaUZ0eD5qcUhwJWF0ZDNAcUpQ
Wl4KeiYwTGtadDxQbUZVYSZPO1BzJV59Q1BufVYofm1EJkk5ZXFAKCVkWmU0Sz5pOEF4Mz5NRHhu
c0Z3RDFnOUs2UE51CnpkQCl5Km5hJGo0Vj9WY1FsdmlrdXxGS2M3YXE4SnNOb3k+Z0taSCRtUj8/
bDdDd1dzZHU+TUMqe2plKWtAN0M/YQp6bCNYN2hIWH1iejQ3IURpWSpsZz91SExvVzdWdXloS3dP
YmVRPGdVVVRlUnR9U1cweStpJnthOHdnYV4hbFlldEMKemk7TSZBZ1hqZGlJRjI0SygpTXM7ZDh8
dGZeSDdJRXpTI0FgUylXKHtffT5BVGhObigkV3VNSW5aUEE3QFg8fV5pCno+ZkQ4bG1hIXIhSV8t
ZGY7YVcyUFFCQCN9ITF5P3RFcVR7MyEqcCZ6THpEXmFCO1peR3cwZ2ZaZmw5RkdVQS1nRAp6Yj95
YEkkclhgMlg2ZkF8cH1uUUU3cW5TU2FnQElUQG4wQWVebkYlaFYodldwK19CdChidGdtOCVqalhC
VUJqM2QKeiR2eDA4YHpMT3tPQDgjbjNJR3hOTDF2UyV7RzYlUEhHNih0MVJ2d3A1UUFCMTwjOUpw
QUtMWEB2I3RTZVNJcTBfCnp3eT5oWT5vUEhXKjBgaDx2STckNEA9YHFIeiZCYXB0O21NYHRIV2M/
QE0wO1BAKl9jMXlDI2pqJmola3FLLVFtTwp6YWR+a0leZ3ZVNjQ4dCVgPzkxRlEpVHFydVYzcTsl
UjVEIXVFYHh5X1JkeCVTYC14fXNBNUo8ZDZWbmQybSk3NmEKekdFfFElTSFlR3pNYmRfVjd6aGUo
NylaUkNpbylfVDAtcG0qKkdaV28haDdYTjB6bUBhck5WfjxOeilvSSR3XmRKCnoxbiQ8NVo4WlNj
dEIybz5nUDAqYF9Ad0VxNkw1eD5QSEIme2NBO0UwRlArJEtDKWZOOVdNKXQ0QjlQUWcxKEp3Nwp6
MHp6cyQjX089N0d+U3cocGlRJXtuZl9jcnhpfEg2QzVndzRxVl54dUNvdl5wLUk1I143cVUoYkor
QVpzUW04MyQKem18dWR6OT0kRjxeRUBnNWh+XkpBNGNqP1AlKVgkbD5VekRKUHhyJlo0cGB7UzJO
WWdMbkE2QlNKNUQ8PjM2JkxjCnpgZUlrfm8tXzY4T0E9YWk3SVFrQzQmPWVRR2pAQWc0IWU/TTJa
VUNFQDZgfSZwcj5La0B9YCRhUDJfQ3ZDMXtzbQp6Qj82NWo3JnMqalUreVVDelFzbnFlOUxfMTRx
bnVZc30jVlhMdkZjKlEtQF9lK3dJZnVwWnJvOSkjVGJpbHVAZHMKenc1Ml45SjU0M292X09DeGd6
aDtVbSE7UU4zQ1liNHtKISZkRnhqXlV3YXIoXzIjOHE2RlhnTEsmPG5jciRzRSFwCnpwa0d8SGgk
eVc1eVl+fE9ZQ3tea0NpWGBHcm1ON2o/KXM/cGlFVTs5VE1DSXAzaXtmPHp8TlorPVZZS0lAdzhk
bAp6VExNLWsxZEtJNyg3SloweT17YlU3ajFBPnJpXjI3OGFxWmVrPTRoJWR6Vk1UTT8yNXEjOHM/
QjQ2SHdrUmRmSWwKeit5Qk45SU9TVyUyV2I/Yig8ZTM8KCg+YyZXPGNZPms7UVN+IT0qNlNlTl9q
M3BIXikxcUQ7ZGVRUnl9NUNYRTt3CnpVIXteXl5FKmR6QiZWSVhXP2lLZCQ8dVB9IVZSfVR3fnB1
UVEhfCVfPFVMUjZfbz9wVDdWMn03WkQqJiZ7c0MzOwp6XmJzUjN0TUojSWgkbyV9UHVeX0NpbHc4
d3s5XytyYzRNbHhQRkdwK3hYX2hLWXszLUxqRz1yRFVqUnJzIzlwJFEKek53ZnNLWnhnTjspeVl5
MTVVaEQmQV5EYmBaWFF+N3BjIzRtYHswaDdWdXp+VkNze3N5d2tsTnFpOXVzaVdSK1hQCnpZaS16
RjlaUzlFSCV3Zld2SV5NdClSNilEU2NhPC1FPXJvLVVDcF47S3JiKkRwX2dPbyheNFNqQDlqZWVl
KVRGSwp6XkdCP3RgSm8+SHhtSSppJkFSclA4PCZ8KUBwNkZyTT4/XzY2UE9RXzI0Jil6PXBVRCkx
JUxwNHZ9TkdpQWY+UjAKekFLZ3N1cXJQP2RrSWtSUnhyPEpxMWp4Yz8rMmEtYV48dnI5QT9ad2J6
PDt0MXElU3h0Q3lAaH1hdCNVODE2VDdrCnpXbmtuTyk+P3ZaUUdJWkNySmVqNUE3UmJeZVhVKUBw
M2FFWTZiT34oelZWcHxScml1WVR+RGR3S210QnNPJDF6TQp6UXh5MDFXYT5SO1UzZ20mayV0PCpx
LTQ0JEslbG12QkZIclJlS1MpNGRPMX5NZ2ViIVgmJChPOFJUNFVEcEhhPSEKekJsN1hNUDVvcmlI
fl5FVEJ+cWplJn5CPWtmJnlFKVBJRnV2PXZ4aGp5KGNQNl9KRURMUjF0Zz08dDl1I045JEdrCno3
QyNeYWJEakJpUlBgens0bm16RihFPW1MR3JWVnFNcUNJMkNFfmNOUmVic1NKRnopdEw+YTc/e1Qz
WmN2QHV8UQp6ckZuX31OSmF5X1QrTnE9JkNwO2x5bm8peExBOWU5WlQjUXwqQlNzTUNFJWxYb1JS
MHZ2bn1weGh4dzdjX0tZVDQKejBtWHZZaEVvPHVRSDJ5PTd5JkElb1VyMDZOUiNSQlkpYHZCeCNq
N0IxPVhBcSl8YHRZWjFYRFdrWj0rS0s2YjBaCnpKTTJOejNIfHZqQihqeXM9IyVMbUYkTVNaNk9C
TmprbDhacHNNMiVnIXFpNnlRQCleYyZEdlJaZENsTmhuZUNsMgp6VXFfWTIoOVZYVFRnUGd4JnxK
dklifGIhd08wSGtPeGJ2Vlg+MTUjKklKJUpFNiNNbXNDZ3A9ZUM2ZDJULVBrUzEKejdadj00KVI/
Yz4jVWA2fkstcHVYYT5uTzhIK2x0T0l8V25jbkl9MmxnfWV7bkowc35qQ19ycXlSejwhRCNpdV5A
CnoyRHB0QnBCKjklNSgoTXQ/UHZscHdkUGoyM004QCY9SXRrUWxpZVplWiF2cDtre0JaKGMyTFh9
eGREMUU8O0ppSgp6MTFrWTM1JUVKWkQ7KG1vRUR7YUNDQW4kKzVicTYxUSFLLUJMPER9Q1hFTCZe
I2ZWTGF2czFzS2IwWU9XQWE4cVAKeiRiNTFOenk3a0hqOTUye2IqcWlGbiohYCFoO005PGlvNGA3
IyEjeWFUT0BEYylgNWA0Jm88WT9EM29gMk5OS0B6CnpfK0spcjhlUzBiYUhiSXJvYWNWRk13d007
MjJrNHA+JjV4PlV9fUF6RzA/JXxiaEI1fkl2OXBte0YjVEQzIXFxagp6VjZweSFmd0o7R20kRktL
Kj5tOUE1QjU7XyNrSV5KKkJZdz8kJVZKNiZvb1FgVF9sN0wwSTNOMD0qb0Ayd2FTem0KekxYYGU5
TGtDTUVLLXlkVGteKUlCZGB3d1JBYmVSTnl1Yl9SOTlZM210LTsxI0w2WllLYVpmfXp0MTAla0VU
OGYwCnptZWxgfVZranNieGclUnEqWTZMKiN+M2VzUGA8fkpJIXBLSmYhITJQenVIP1ZzMVpSbiNP
PVdfO3JURGJVLWxwWgp6P041NSZxSWZqY2lrPVkhSUtie31qWlQ3fXJlUVVzSGErS09fazU9Mk1e
c2VkYzY+Qk1sKjxFaCR3UXtPMHQtbXsKem9DYDk2antmbyEzcWVXNkB2TylUYSlOKFc/fGJVQlFy
KUF9dVR0ezV1czEpS1g0RDVJMz1DPWc2KTRxMG4pbzNXCnpsQURFOThJPFEzTFRIRDBQLTZzbV9o
P35Ta2ljdClCK1F6KV5NbEI1JlIobiM/Z0JPOXNAdHg0RVRwKyRjVkQ/YQp6VEJNPnZtNDA4OVgk
bGVfZmtwaGNYYXYkN0BYXnVSdjh+WGVrIXZFJl93NHRIPXhmfEMhUlF5WmokJXViQWcmYHgKekwk
aUFKZVU0JWt7KERTTmJXTzJFQ1opKXcmYSRrYS1MUiMmPG0rdF57IWZnO25ub2BAbWg0ZDFDbChy
SUE4OGd5CnohIWV8X0E0YyFEPS1+dzF7VEgwRzUzVnd7U1dIJSVncl9tdWshKzRfa1pZaClEQlRL
KlIjQ1MzaWgyTSlxM3dIWQp6fERaVUFtNCUrZiRhPTY5fDhTQn1kVmBrQy0rd0EwPlI0JF9fNCVf
YWw1bSNhcXNxJm1aOTlqMTNtNkIybT5waVMKekp3P0s+I05ZPk4wNENYT1BOcCZuaDRxcSF6S0Um
S15gfDBRUlFJYThgQHcmMitINTkrZTRYPTNCKHgjWldBNE19Cno2eWVRTSNGU0NScE9xSDJvVm8r
fiUpSV57WX43THNPdHNPSlZIQlBJTmxANytPdyp8ZF94U1hfMytGRGhkT3dfKQp6MFUmY2ZvRWt1
SkN3bjg3U3REPEooYWt1Ni1QVHJUJSRkdz0re0IxTjFKPUFvczNVNF9scH0od0o+cVo7WGgpazMK
ekNuJV5Ua2UycmZSST95fjBmJj9nS0NyJmEra2EqX2RDMHwxMTZ0M05BRCY+dnQma1dQZlk0fkVA
V05LJiElSmtYCnpuZCEtQmJPPlg3QTApND5RZnJfUXA8bHZjUD5QZG9aWjMzczJqdyo/KittSj9m
eWxxenJhS3BOPytgOXJFfUNHPQp6SXZvPkV2V3BQd3tqb1hxJW8jfVpEVUd7UGJJMmU8cTZhfjZj
JURiczErRUxza21MeWBUK3I2cXhReW58MFFeYWsKemxZTilfJWV2RjtBcn1wNnAqJGtrZ3ZkQENx
bkZJRT9KM21uPztCbUglLUc9UDVJMzEtb1hUQ2xnSm1ES0xnSUR4Cnpab3QzcGF+ZkxEJEl7OXlz
Smc1LTcoM1FXWkwhaV5XQjl2azBUWk83d3JfQ25OendMLXprUXRpZXhVdkF5RlVESAp6bHctJWp3
ZExHNmN1OGk2cDBpIXE3O0Y3K0RXTV4wZ1JNZl8xKzJsP0shZzYzTksqYCRZckYrWSRidSlGMCZn
RnoKenJPd1RDNV5+cXN2ZD8qams5TmRsbyQqMHlvPEpYfHVEflFHRG99eV9DTV9VN3RafHFgQDRF
fjg3KFdSU2g5Tz4jCnp0fnV8SFNZazU1Y29VKEZhP0QjYzYrJllYemR6M2ZaNykwb25fSSl3IUky
cTBVclE7OGI2WWpYRWNNYXomazRrRAp6YCheaUo8U2hZK1pkdVZneU04VXhNd29IWVM3fj9Ib2tj
dkhoME5APm4xVCNoeX5udnZtVlp6dkJxR2JEJTM8bjgKejdzdktAVzl1JWtZUChyQV4jX1hyR1dY
fShJZlAwRkBud0ZCQVNwQzw7PTJCdjFAdz97KHc/QXkqR0FwUUE3VDFXCnpsbiQrKVE3YGA1REpX
X20hPEIkYFRQTmtBX2xjMjVnJXd2QW9LczMmWWRLbCVwTUsjQ2VyO0tKSXlgXyg4ayVsVAp6b2ch
e2tpb3FxS0VfSzV3bzYmZlhuTjFvdmFrTG40T29HP2xaVlVHJmNUZGBLLX1MPGZmKWpufUxLblgz
JSR3IWAKemQkcEN1Kyp1ZWp4Y2NRWWMwT3VXQGk+PWZkeVQhaCtzK30wOGlfNndseU5zR3tGS1ZD
MWQ9T0pFYyFFLTxeaDFiCnp7YDhRUU9HKERWOEQyUmA4VDxNS2N2fjEwYy1VdXRWbSh1SVBBRkBU
bDxmTWJWZ2QyZFJmN0RVP1BNYlAkRkFAbAp6RXUqOyVjNGwrP2BSVHFNRnEmU29jdGUlOWlTWmE5
eGtiem0/WHJrblVYPDVnMEcrUlItd1Y7fjx9RSFVPEMtMEEKelpFeDBEdTA/bHlENmNwXz81eTNL
dkdFQiU0UGlkeFQte1c/VSlpU0VCPEBIYSo1SHp1QU5XQ2N7TkslVjBafENaCnp7KC1nKlZpQ2Jy
K15fQHJweEdGcUtBKUxTWEdmY1pMcD15OWRrOSs5S1BoJFRjPzRXRyEpbjdrez1GNVJzPyFTQAp6
KXVQfChjUCYldmVKZGJMN2FoP0hufHhiTkdhR0JtQ2FpR29gSz5SazlFaD5jKHhoeDJLc21wT3dL
K3tXM2B+emQKemVUQzcqY2gzV2ZweH1pNCsqTSpQV19ZUUJOPkxVdmZCaWxQO2shVzhIcUI2VTR2
Oz1ySyheXjlSazhsRW4wcT8tCnpwK15xQGg1dzxhekx9UyZueThhRk9WTlo7YVd2TWd1SG4+RU9C
fExFYkN3d1Rkc2FqJUVVO35rI2pFVC16bjFCcwp6NEdSO2VoX2JTT3drQEdgZiNaQi08YnBaUFAx
Uj1RVT9waCVmQEZDSVY/N0QmeiF+JTxgMEB4RjAxOClSJWk9O3IKem5HQ2IqLUB0KmRTcHxtODtp
OENLb2VUSHUrcm1NaWspJEdGIUpDY3IlSm4zPCpDJih2b0ElblVybH5yd2lyeyheCnpIUFFUTnFO
SmBKY1NKPWYjcW4xbVU0ekxVZ0clO25IaTIxb1VVVFNgVFRobjBqYzlhP1kyKVdQZExyVTlvSSo/
awp6KCpuNG48bUtne0RjeyNaWU1gdSN8Mmc4cCkzOXpjVXdYcXRncE8mYUtKIXJxU1FOc0RhWTRt
R1lNcm84cFIjfjwKeiU+R3woUik/KkQpdmJEfForN1omSmJFO0w5RyErRGNOamhQO2x4T09yLSV0
XndsRU9fc2gjUXtVe25CNXE5MCghCnowZ2tfYTFPS1ZAZDFvd0M+aG1NR1JpPEdATSY1YkolVkRh
MWlXKXliaXUycmE4U0pFYGkkcEE7RWlOZHdBTWklTQp6ZFBRcCYjPEZLWXtRSGJnR0Q0bDZRKSZk
X2hUUllie09aaTA3eHkmJnFIVnU8UlFXKiZaSXlGamxOZThMSmZHcEQKeihTKEN7Xmt4UV5LXn5B
NyNqSWY+LV9HdlhYZXdebGpaTWktWENhRXxVcVQ7e1F4N0tDWjdmI2JYY25GalVGJTI3CnpIMW5N
MSVGJSg4PjZfdjZZMUZQcjQzQUh4K2t7YT4mNSEzLTFEeShYYj5gMm17WUR1VmJJSTBnTktIUCh1
VGhxOQp6WTxVQUYodjYteEhzRWtpellIZl9pY1IjQnV6d2dhV2xsajBPM189VntGaH51bHBuOG10
RkNuITg+Xz9AP3s5bmsKeiNYWSZDS3s2Tnx7R2ZtRCp3Vyp0aWxeSWctTTMjdVUhbVpOX3dkN3Q2
YWRRaCFeKnJxJU11K2A0MWI5JWk2ZSsqCnpka0tLXmFnfEMlX3dZXi0xVnYtakM1T01vbXBvMztm
QTg/XjJHeFQtPnQlPktWSHpnSXkkYnVHSEBVbCp3N3JeZAp6Q2YyKjstfH5xSUk3T3pGdDUyRThW
a1hIQDh0cCpHWXpVKVY/TEY2Zjt3Z1BkXjZ1Uk4pZV90dHp3JTljYGlpIW4KenRATHxpZzdfdGco
VXV8eDJseCVLUVl7UEM7VCVuM3wwY1lDOF5XOEwkb3AjRzV6PXQ1OEdqbUx7SkVndGxkZFA+Cno0
I2k7bUBBZXp0Q0VNPENjZCVtcD8/KVlTUnxvJH1MYmszKkMkKDxeVF5AbHNFMlIhdjZ8NkU7YDJ3
MTZ3ZkU2Zgp6MmBqOExTMzYlQilePUxhLUVXSk94bndXcHp5UyN7YSF6NmZuRGBOQExGNGNlQjxQ
c31sQm55c3dSIW9AOyZQc3MKensqJldtPk15JE5oNT9yIU9hdVQ+c2hgPjV2OHFISUg0ZjZmdylg
ZUxOWjVKUTVPT2VBV153UTN7dSYlVURqVnZXCnopJG0ybGpHfTVDekIlYFo+fiRMa014RUdTUn1R
ZG4yY215TlJWdHRoLW5JUV5mN2ZPcWotSGtYVnBLMEEtXzNFSAp6PGVHc2JFeXFIZCs4Y2pJUDla
dWpzK25nKylESzV4Ujc+PGw3UzhiNVBFKXRpLSg4OVR4ZVI+VE1tTXFzeF87V2sKeip+e1A2NlZj
dylOITE8QTw7Wj48Snk2QH5TTl4tZGlnQjZhTGZtQSFtbXU7ZEZGIXtCcn11YVdBcHB0XyleRClw
CnpDQytfWikxeSVMSFROZ2BecGc1YTxzRSNjWWR3WkQwdUg7fkhzTWVPcU0hWXApS2ZTO2xjdndw
Qko4PnlXM2NpRQp6UyNIWmklMUBlcXRyNDRDS3xJRzZaUnpSO2QrNjhMckBeOWc9enoqKDtNbj1E
RkRiJSlwdjhaaXM2bG1xZ3J0MzMKens4QVpyO21SNFg0ZCtZPEFJbiYlaG1iYlluUlQ4S28kcXh3
ckNHMVomWU9mcnA5JjZleUZOdj49OVpVTiUobkwjCnpTR1pYd1hNcT43b2JxWkFXd3ZfbyNCOGkk
K1dBQWg9I2F6azdtI2p5aUprY1FFdm4pPXBtI1ZmNUw8UkglZkNpTwp6Y35MWW13SCZRJT1lXkpr
T1pFMHR3XndOMVByYDc0QGA/bDdYSnteayNGa2khc0RaODFMcTFlXjt2SkFFUiVxdHQKentePkoj
JE1lU3dqZGI5RzV4cEpCUTZlOW5vaCo/VU40dC1wX1g4aChCNn59NU8oUTU0bzcyQTVyQEFzZ0E5
MzsoCno7S00tUjhiWDE2V0w2JCk3PGA+Iz1zVDEmOXRwK197UkRwSU9YQWdsTVQ0WTZkSF95c0du
Vjt+IXV3a3E0Ym8tcAp6Tn1AQmIzMGc2WD4+PGtmTT9Ge29QeyR1T24oQHh1REBuR2lDOWM8emxe
QFduOSNhSHZ5VGExOE5IaDhBTWZhJngKelJeWjAoR2VDM2hZKE9FIV5SRjJYWCZrfnBZPD9JfGlu
bmkxZ0tnPGA7IUpnYCFKUll4ck90KHtxLUh0aWNqKGVMCnp6S0sqVlApd0Y0I0IqU3lxQ3BJQ2M+
WDg5Q34zQSk/SWEwKWRsMjlCMCVPb08kY21BSD9WITZobDFnTXxQXnB6ZQp6VjRNMU94dX17P2kp
KDtrU14lRT83MSFBeHVvaUdaZT9LQ29ZNF92MkkyTz18aCF2Yko4KjZwV1VyWWEpRSRpNHIKejZV
JV4mKzIxM2d2Pjl6V1k/NTY2I1VmekdUa3E/dXVYfjRfXnhHO2tkO19veXNwS1d8Um9IZyRXcjsz
N2pXV0FRCnp2YjAwcmFmbjt8ViRpIzFDKkRZcVRETypLOSoySXFHZXsjTDJHeHchYXtlPGYjc2Az
Z3tHYyhaOHdTVE4tP2pXYQp6Qz0pIWlIMnpZTl4+Yz1FNT8hbz1iXnsjO01HaTZ+Kj03KE1SWkw8
ZTNGPTt1N1dRWWY+cGgkZzUqWmNAcTRgYVUKekJnPGJ2bSVQQ2pqY1E9UV9nWWY8NGJ1cUVhfmQz
WkIoI3prZDVpdUVBT3ZeRi1DbHE+UiVLfmckP1BPIzZ7PSVjCnptO1g+YDVgTlQyKTQ2JkFeTG1a
JlFQXmdyMnMqQzhrIXQzZylsXmNaLUBvcU8zUSk4KzUzSntgcEVHUkg4YDdTTAp6RTRacXxNVD1R
SDIzYy04bFJDNWJPVDFSP2NmOGw4biVaR2JKQDluRU5XMS1AMWVnKiVBJCVIbT9iZ20zeU58VXAK
emcoVVVYJXcydkZFcmp7SG1xdUdSezE8KnpmP21ebzk4VnNhYXw2SCszKnBaN2lNK2w9QWVyXnRs
OFB7ZmZmfF4zCnorWndpMHFqSHlXX1dzRz97USUxTjBpO1I7VUskP3IpZ31GR3tETklNYEUkSWg+
YCVDNmojPFZpIWVOWW94RWN6Rwp6SGoldU43QGMkZz54OFkoN2BDKUhMcDVuZFRnYj9EN1lmQDVI
bDJIa2M1Wn1IR1RaPHRIJT5Ja208UjYtNUxTIzIKejJYVTVhMDB5fmcrTn1GLUA+ZiVzXjVlN2JP
Pyp6K2pAS3tpXnA0KUlxbFFaQG0rOzNnNEBoQEJnSCN+cXVOUiUxCnpjVXZ8bVphc2Vje0hIcHMx
flNodz0qaT1XRE5adzVVanpTLXQ8RG1mcWB+dyFUMUx6aFklOVRyST4/aFd4ND1LbAp6eW9Nb1F3
Nl9VIVAkMzJeWWx7X3YkYTReNGVSLSNRXipTPGdaJlNmbi17PldaSGFkd2xLMTMrcSpSbFM1Klht
WVQKelFZMXt1IUtSTDlHdTc3LXVpRFlyKzgwSjNGN0RQLTdgV3FRTDZDMDYhNDMrRU1MJlIwMEg4
SExwOz02JncobHtaCnpJKnc4K0NlQmhoXy1lczdVaTwtOTVvbWkreV4+MW4wN0ZCPjheVHJgVDko
eWlne3NwaiNkVldtXjkwYG5aTWJKKQp6ZzFFUUd3TDNgNGcyQChRb09vS3k/QEFJXnJVZFYxJipV
TFMpV309U2M+KXp8ZHVwNCQhJCljRzA/Y1VGWWNtQkcKejYrT0l1VmRUSUpVdVIkd00yPko7cjAy
Tj9xKXZHfSMwc30xT2tTMiRvPSYjcUBCKW00NXNzajAkPFApYVJgJEJhCnpaLWNLTkk0Jlh7WX07
XmZwKUIkTUAkdTJ9P0F+QldsYmhMWiY5YCRMczY1JU9fbVRkfXpwaGgoQERAM3tESjd2VQp6cUxF
RysrdkN+OUBhYlRNeGdnWWR0X2BGUThOUU1RWHw1akNfQHk0bGJJYT5RJWAxQjRSdyh7ZnMpOW13
JFB9WGcKentsfjN2MGlnWHFQJXh8X3JsTX56UC1PVitmVX5DVHFSMnxSRDRga1M9bGZQdHpmPDVj
aVNEX1omZytNTXJ9OHxpCnpPNHQ1ZGB6d0gkJE5tUXZ5dyVAWVRCWC1PS1loOU1ERzM0KE1kWU04
THVWO19CZ0BHVWVDaiolR1UpSXdTNmA/Pgp6KVNHV1cwaFpLcmNpN0kobmgkKUt4SSEqQnlxWVBi
XmtaRGJLaTcjQEA5aE0pY0RHRkxeYlRMSnJeLWc4UmAteTYKejFBMT1gKHJ5I3BiaVUyJFA3d1Z8
aDZZPiVfPStkRWxHPUl6aWI/e3pPZmNZR01lZitVPTV0P3tIPEhnV0dIOylJCnoqYilKPG8lMmRR
N20pUyN1UThwbWBNQyZwO3tgRHhiMWZ4PztmWFlKcyE5cFV0N1F9I3luWn5lUUNNcEBXcClmaAp6
O0p8PjtLbDJnbEVSTXhsK0w7eyhOUypYb19PR19uSyVPNXVnYUZXYEEzRWVEMXE0dWBlISQlSDQo
SDtWUT1aUUYKeiViT1IhRURWfFczVTNjKyR2M1N1YmQwX2MyZTQ/cHVaVFp1Y3dHYjhpbE08cF92
IW9eUjQpajNUSWRTRW15UXw0Cnp4T1ckTGUzcG8qMkBpYGVmdlNndk9fYmw8ajlmbyVpN2Z+ezwx
Xk98Wm50enJnTSEqJj05d1hnSit7ekRHKHM1Rgp6TEl6UHd5Slg5Xk0qOT5tNmJGWmNIXk5WMXk4
V3Z7RkZ8PWE3MlBlUlE2PCNzRUxYMVpvYn1zPnlCQSl4QUJjM2IKemEhfmFpaDwpdmA7IWBkUkUm
b1FAVU1MLVcySWxNZkNxMlhgcDJ8cmRJKV92PzR+d0Z3QHN5Wl9zbjdxTllTfFVXCno7O2Zoekp0
VjdDKyQkYFBsIU0hQ0hTKmY/azQlIXR2UEkmdT1MWTwmMjFVYj5eKlQxOT16bFkhIygydW9ZY0J2
PApmXldaa3h7JiFlQXApOy0jME1yYCFiMTN7YTVQMFZYMFEhRmJqMGtiPgoKbGl0ZXJhbCAwCkhj
bVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2VzL21l
ZGlhL3ZvcmJpcy53ZWJtIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL3Zv
cmJpcy53ZWJtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2MGE3ZTIxODU2Y2U0OWQ3YTMzYTM0M2I3ODllNWQ4YmM1
OWQ3OTkKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE4MTYxCnpjbWVJYWN7byt5e3xDREVJVU1z
bSZxdFlPQX5UMDVMdnFhWFB6VnRzcCR6Kk5OK2AtdUEmdn44M0BLeFYofTt7SQp6NWtoMXJXSjxf
ej8kK25+YCtkS15gX0h9NF5TayQtYGByRVB2I252VD45eVcjeUAmUFFjbnYyQ15ZeVAxQXBLM2AK
enc/PzRRVW5meE8kSHM/d29qST82amV5Y21BZlVMZFV+ZFE8VCpxSXFuQmBuLUdKQnFFXihkYWh4
YV9SZVY/eDB7CnpGOzQ0QktPe0Q2X0I7ajJXM18oZVpTXj5vKzJObGt6dHdYakd4cXFTI2VlRG40
dTdscmY4JWtgc35WfUhDdmk7cgp6STVZVWgkPHZxNHM7SjRTOStndjZQX1diY3BLKmloaU1aNkR6
cjhyPHpXSjVQZjRhdk1KVmJ5KC1YeVhkJHQ0T1oKej43QzNhZkozI3BhaUlhOFJ9PU56WXxTbjhq
amlHY3NJUnkzMzg+bWMrKU5eVFB7JGNoMEBtWSFgQjlYaDBDWHVaCnpfPjZESktgUDROQHhkUGU7
TSN2R1otQ0pNPFQ0PE1mNGlxRHIqYENeZGsxZXBsPmNPaz5MMFUoMDFnMD01TkBnQwp6I1VZJlcl
KUkofG9Ac3ZsVWNXXml7Z1cpUXs3TlVDeDxvX0xnb312IWlCMXhQe3hsbktQfmUoZ0lEMzRPOTxe
fTEKenNKOHY+SUJ7KHhsJkZyUmA1dlMoPjtLb29QfjhXfil1UkBPcEhAKCNrREYyMzsqVTJ9d2BX
R3U9Q1NjaWBWSEF9CnprSlhXdk1PMkxOYVR4Vl57YGkrTjU9cFZJNiZnNj5ETzRtPFYhdFZMZTJr
O2hQdDEtcFJAdmY+X3RwI057SEZ+Twp6SileV1pqOXYkS3tCYj5gMk4/QVJfVl9OblFyPnRlYiF3
cV90ZzxIdU5DU1pRS3FCZFoxVDhhZjRLMyZaZkVqMU8Kei1oUDM8XkE+O1M2TWl+czFfdyQ2M195
KiVYT3ZXQWJufjBoWjRybXRxSlF0JT4qWD9DSEdnbFZ6cn5GSnorMkU4CnpVU095Q1RoMD56WU5B
P0Z2MypqcFB0c2lDUDNyaW9rNUs+eWZDNmJvYEl3Y35pNDIyMlluITNFXlB+VDlKN3N6Qwp6ezRJ
YFAkVU5ZQ3doV1Z+ZmFieWNvZD17RkZpVm9jWXh1dUZoUGgxYEFKOX4mUHZsTSQ5VD5Bc29+UjR0
OHI0U0oKeiZQaSVpcFVWeUQ/VlFiMz5fdEtrYXZrV2lrQHgwdVVsU2NAe3xTamRpUmpPa0khTD9G
YGB0YTQ8dC04dHRCNlI7Cnp6RU8qV0NAWHcjV303fWlMUG1gZG1OfSplWCgwenl7ZUFwK15QTkFK
P0kycCgod0xSZ3t7eyh9enhfVSolbHpOMwp6e0MpMikkakVxYyV2VyFtOStSWFZuRGZDTlhGMD5H
XmomWHJVVigtO0U/NTdAYCsxK0QzPUx9MCVuT3ojO3tPMVMKejB5dHtuMWE/Y0t8OVlIQjZ1IXpH
ezcmKkFHMWYkP3RuQCpPUWtUcnI/IU9PPiNtNyQ+SFIlOyFHYXIrI2N4YEVRCnpVZ2VYJC0lc19x
PzZfeVBqKCEham1MYChMOEo0dHZAeHZuNj50bEY0KDx9flpLOWVaPEZnS1cxc2BNVz91P0pIRgp6
ZmNZQiNkbHJGei0+ZHc2RVRSXnkkU3dPcE4jJW87cC1yZ1FQKiRpemVVI0kxZzNEJnE3diRhd0oj
Qy1tPD91aTUKemV9O3wlMEUtYSZLTGUzYCVOXjNLSn07OE57OW5VRkNLTHAqcFpINX0jeCl8UTEw
cD5HR1VuXmI9NHsjKT8xbXFkCnpaUWdVWlNnNC0ySU9fRjUjbGBCVmk7ZUFoeVI3cTBiKWxub3lo
YjtwQ2pSNGdxNTM7U1JzYnxeQUN8bSpOYj5meQp6K0QjRS1vS0pAb3orbnpuV1lVengmMXRwVUJG
NDh4ZVEkZTVXUj4yX3soZGh7c3tIUk9mY2ZCK2dEYV5kSmdGPV4KenNXa2xOZUJ5MU5kcyhHcisw
eVN5N01tJjt7O3pKanpYVUQ8eih0VzAhNkdMdE1HUCZHeitaRz5gVTc8TlVuejxoCnoyRnI4fURF
fjlZX2lXay1wbXJEayopO3cmMFJZZjxSPG4xIz1RbT4mOWtpNlN2NjNDTUcjcz9EYE08aSVKfThe
OQp6QTs4anJHemc/SVRnbDQ0JjhBNWZJV3V0WDV6JkwqYTxUWXtrKDc2QntYNH0zP3BqeWdZWihe
SVNJUl5AbEp2U3wKeml+MSRTRG40MjNDJEphWV5eb0dRV1ZBI2tGOTklVEx6Ni1MeEVkTWN7KS1G
JVkwMz0hVDE/Zi1PI2gwRG40eDlOCnooYUxAM2Y1cmJkZXtjaUp4T0ZZJHsjUFlQTG5+Uz1EK1Zu
OGlwJXQmbUVXVmFFUmZ5ZmV8YE8qK3AwI3xHR09Wfgp6YGo1N2RoUDItUUtRWFRWYiFZJG8zalYq
MjA1aWhzQ1h0YEpGZ3RJfUEmfCVoZnthKjJYbF8mVnBwQ0w5JkVpVTQKekNffWZzXmdhLU03MG12
UGckUjxOX1dfIyhqRkY2ZjwtfGsoJmJwMGM1UGd7cTtVWGwlaHhmbk41YntRIXZUemMhCno7YXhH
KDV3cFpZMX1yNXN8MVJ+UEEhS0xmTW5wMWRnIyFCaj92cS1RN1g7dkd3SmJ5P3hIKWFsMzRuYztY
YzdTSwp6NCVyZ09NKnFMTnslMz0lQVExKEVCIztLJXBVNnhpRXNBdjNmR287PkV3fV9pTXVXVThh
blFTSkoqelZwVX1XUCoKejBTZj55Wj1UNFF1XkhZal4zNGBjNTs2WHVXek8hS0pyfE1aYCpMMERW
QXYwUXZZOERubCtFc3pfP0FtNG5BdmIzCnpeMisxXj5+U1RwciRFQmgjfXEmeDFeQVFCSUFxVTg8
Y1RNaGx4Nj1AaXtYMV5HYjxiOCthKGNzaF9LfEZUfmJ+bgp6VzQ1ayF6QG5eZVkhZCNKVHdlWUlY
fj4pJWREfl8lXnlAKGxOUT5uXm4qS0tXIVA/OXcpQ0hTVjsrdEp3VVMzSU8KelY5dCl6PWBze2Ju
N2pWS3g0aXNPbE5fX3pMM049bjR3IT07bU1eP2ghcjM0LXghN2V2MlNwWnxZVXVHY0xyOHY+Cno3
ZFZLP2JSbm9TQCp+MSszTmJ4SkQhS1o3SlJLOVJLdilfRE84YExQRUA4S05yeXdSPSNMVzl2QiVX
UGdPdGc1dwp6dksoN3ZYKGBET1oqM3dhVDl7I1pQU1M/aVFuRDxBUiRvZHEoLU1HVDB2aD14O0Mo
dHcwRzB7QjNkYXdhX05oWmYKej4+aj05O3crWClpZ1VUP0NXXkMmNy1USFRnSytiP3FLdjtIa0VP
eyRuITA1MVUlNG00KGdjeHxQTUp1RyNgbyVwCno3aVNEMEAofipWKV8+NzE/M2tyRXRvSWpnTzk7
XjReZi1WVUtgS2srP2AlbkFteHZrdkdYZHFEfEFsOEpHS35rJgp6bXJEKENBYWE0M2pnM288JXdI
XmpHJHxhd2hRUlU8WGlha2RQNnchWUB6aGx5R2xGMnxKUVY4bklnMjNreW1FMSoKejI3bmFgRG5M
Wj4qYDgzNzxmVzVRXzdwd2ZtcEphWUcoO3IjViVEYj5qP2J7OU1wbmd0a1V1TGhMUCRSNCQpXks+
Cno+SiFjemNfMU9VYCl+QiQ1NmdxeGVARmpzZz03KW8/NX45Tzl9aTBLJDNfaW89PysoR3lmbDdx
P35jcVUxUzh+NQp6O3g2VjZxMVRyend4JmpBO0coci1AKVB8OyNXfDZwa0I8SXRMVkVRaWdmbDsj
azt3flQpUiZaZVc5d2xkOEU8SzYKekIzb3lsWSpKOG8rdFE/QiZefEA2dG11PHRhPmQmLURhTWt8
Sn59MlZhdnRfS0UyfHdvX3ZpXz9obzYrfUdqNU5SCnpIYEgjUHs8MCtfPU5SNW5BOWorRjlkel9s
YyszNjhEWT57Vko2VGFAWXM2QVVAc2wkRVZSMnwrNVBSZHVXMEN0RAp6SCEpbmlITEwpXjRhPHhX
MnxfYW5SVE5wS3MzVE90czgzeUJqaW1oejMxXzRuUHxzaWUkST04emB4e0VMe1BDfDQKenZ4KCZX
Z0F4WlNsNE5uKi0mfCVCaVEqI21lYCFvKk1IdlNuT01QVXQkVkJ+cFBxWVk7YTFZWGAzeXtlKGt4
VzJ9Cno2PXh0cm1NbXM5cCVJTnx3VW1AQlc7ZFowTWx6OCFZWklEK2N2Z2ZzNTNvbG5GcCklTm10
UEdMaj1BOzNkMkJkTwp6N3QoTUV7PEV1aUF+TWZ8M2A8RV8hYE1UYCsocTFgJDJtZ3FqIUM3I15w
LXRrbWM3X25rKnF8O18+NlJHckNEfTsKemRpQHsjcChpQ1Z2WUZpYVpARyh4Z0d+IVU3P0U5MzU1
UkM1MEI4IXpCWS1wc3pKQFNnTHtYZ0oxMkVSJFlAKSN7Cnp7aCk5PjRLc0BzZ2dYPGZGOSlwY29y
XyRZYWQjbE9gS2R+QEZvaUkrbyh2LXFycl4mRmRjX3RQeyp2S1R6b2Ircwp6N081OGkyQyN5MyY+
NjY+eXpmNWs+RWo9Q0YrMzhFUGZTVGVIYn5eKzBnO0kyRHZDMk9QIThlZDtwTzhPNUVRfSsKekEz
N3w4WX4kZVhqKlchQDE7c3hTKWpeenM7PXAybnlCYHdyRjlVKE4yTVBBPl8qYUQydTwpQVVzYmw1
X2hMIzRgCnp7LStCNi12IVFpa2RpKEF0K019alM8KE0yZGwlOFNKeWNXP1cmN1ojZmM1dTFeTitn
aS1TTlAlRnd3eHFRcVM3aAp6e0ZLNDkzPFUqXmdJaUhmTEUpJnYtd09idFZ8QWdTV3BlfmpfQDAw
JGdmajF+R3ozKzl1bzFCdm00ekEoQzVkPFUKemxqX0JlZlZHKDkmaSM+XkB0aUFDYjJuYyNLSmRE
KSp0P1k0KjZKRFBrO353O05qOXdoTWltJClATntCQStyVEV1Cno7Z29OR2ZqVEpjQV48ZShgRXt3
K153e3FUPyRvMXdwSV9CU2UwRTQmWkAjfFdhKTlZO3c9STY1QClLPSNjSGVnegp6UHNnek5KWkhw
VU13YSVENCEqbDtDKylpTXROcUpWT187QThkNV5QRFBuaUhQRnQxZUlkKzgzRUBWRSg0KW5pKDUK
ejRLUERBYEpnNXlRSFhoRGMtKD8hZTEtR2M/WFU0Tk1GMSNWSWkyZWhjOFB1Xm9SUmRKZHxPU2lL
Y01PMjxydj5TCno7KXxZRVFANilDZi1KU2d0dmtPU1phPzNzcEZWZX5IRlZRKEN+IylnPkdJRkpe
PDFHajhiVGV0KT5Se095UDlHcAp6ZUVlY0VGOERgS2ZgO3U0RnIwYkF3QzNzRUBjflZxO0c/LXdw
KVY9ZFdKNW1uVkIrPkIrSWV3LVVqVjduTVUhYmwKenIrSDtSWHpLU1NfQyZVVCZkPHhBRCp3T3w4
fXREOHdvTmR1Tld0WGB2cSZhTThmRlheMjU/PEI0VDFtSnd4Y2VxCnpHMEZCUXg2Q25uaHBEckJX
KWt3VC1YYkV2Xz58MktmVWBNLXZCeUxKOF5zemwlMSRWTWAyJnd7bFBXaXtzME5eXgp6YG1ydT1a
dUNoRTBQYClCZlpGU3tKK1AoTkxNWE9TUGxXKjM7QmskJlc3M0F7OVJWdj5tTW5LcSZPQEolRllk
JXYKekp5U0FwKV59ejdHISk8JjdKOHF1UFhOX3koeU0wOWZSa3swJk1eSz5fXyNnMmk0ajd9P3pX
Nj5jWWM7aT9KS0R9CnpFQz13X0lIMn1QLWBuWXJRYmB2KWNHU2BAblVENC0jRStoWmFrSyNGPGw2
O2teYCFlamVIYEYrJXowZWRzbCRPNAp6TikocEt2THB7T0dhPlMlTlh5T2J6NTFzRiU9KnJRR2pp
MXAhUEdmPlNyQiZhd3w2KUhra2licEVkQVp6XzNoMHEKenY3PT8wKyQqflM3NnJkWD1xMlJhen5u
aWczJX5feFY4NUJDY3t5RyReSjhDOUIjODJ8IWc8fFd5SCpWO2hyM1ZDCnpCcVlkU1gkRGpYUXRw
fjRJdVMwTDIrRmNadS0hc3khM25UdikjQEVvMHxRe1JyUTl7S2FBPlpxOyVjRWR3XnRUTAp6MSo5
Y20/aUluZlIrMjRuTFkpOHpaZHdFJjEtRUw1YkBhdF5QTEAlKFM8OFZjSEw3UDk/KFZmeCZtSH4h
TWlte3cKeiZfQG15ZVpFODdoJnA2NEVJUk1zUEI7O2kjfHglWntZTDMlZnNwNlpsfVF0UWVTfU40
ZVgoUEVuJjAqRj4hbUpfCnopR3ZMOXBSUHBtKEFGd1NFP08qV0N6aHBvX2VJZkMyNVZ0LU1razgj
UzVHeWlLQH42bk1sX0ZHYG9yISNCaGt8TAp6UkNUX28xO2tmTGM+QnhmQWRRUWZKeDJxRm1NMEJ4
dk1saCtCR3QoQCpDXiRqP2tgNllQRWdVfjIqMEB8QUZ2WEIKel5uPVFmLVdCWilrTmd1MjlLU2E/
MClIS0VxcCZaIXVOQnxCZHpfO1IqKXIzZ2RqZHAmSV5eYUFnVnh1ZWFQWVheCnpqfXE4YVpfMVJ3
Wm5HP0RneDYpbVUpT0kmTVgxWFp2SnhsKDdkMDllRWg8VVBRTzh+PD5qNFU9PyVCWHU8VGlUSAp6
Z1VQbFcrLUZScW02NVh3TFR9UmBATSNjJDktT0N2YFI0dFN7Wk40Nm1TYmFmWXBnJHNaTVRqMzto
cFFGP1hMcX4KekVXN0hTS0MlQWQpZWZIbjx9JC00Yio/YzlFZTIzfFd3OT5jRX5mTDlmLVBNPHZh
O3ZmRzZSSEliPUwzTy1mblQ9Cno+em1vOVpFck5nS0QpMSErMCNTTSt4U2Y+dihAT2RyOWBDcHtx
M24rZmd6QyhLc1h3N2dod2glQ05FNjw0OXhrTwp6TX5pRCpeQFRFSXA2UlE2ezJwUFgwVStFSDtu
ZSp4JjBqTzdYYDV9Xk44I3lkM2F4LVNQMjktMG5NM04oN29OUEkKemt4ZytJMHcjQ2pIezEmSm9X
ZUJqdHF5K2pjZ3lwPkg2ZFB8VCtPcyplNCt6WGxDQGBLJnV9b2AwY2plZGQ7Iz9XCnpTUX50MTJK
d2ZVM1IkO1dOUGxPJk5+ZlB3aEwkKlV5JFBgKSRpfT8pdyo9OD0wTTNeRzVHVHNSNlBMS3MwS21p
agp6ZHYoLTYybW08PD84UUpKd2JuenJRMTIpS0lLWUJadm1jaSFqRDxCT0hOV1daXjMtNUxxRkpf
TFVUQ01Ub1pgNGwKenNpUnZUeVpgTSV6QT5JcWNQVzQ4SnNmP08lTm5wbmV5cWwxaV9qeEhtPXlt
KDx5cjdmamlKMyFmVFoyRSsrIXNmCnolZ2UwUVJobl8qKFpOKXVsb0VyPEMoXmNUd1F2Zk1SPHJl
c1RJYShrRVJWZU48ZyV1PEYxcHMxPmVvZGhea3drTwp6bFUtP0F5bDFUOW5hJHElaFVQcnE8Y3Ez
aSlHdGUyPCkhJm1ZWWJjJEw1KypMX1U+eUc3Z15VP15gPUZyd29NclMKeikjaHR1bEpHfHsoUm50
dVUjaztFNnU7PCpSIyl+RzBCO3JncDUqeVpeZnxVT1AtPFY8KXl3PDV1bmRUSiZIQWF4CnpfR2dG
I1lMYTxwU01mMF9RUXgpQTBIO15YWXFZan1PJittJnkjZHVAQEwpU0N2O2ZCK1p+X1FNcWxzQyVU
bzdPZgp6TUUlSEpXUF9VV099IXQ+VVpeS2UwNzA7OyliVE85QitOXnVSMH48R1BNaS15YlRQMC1Z
UFhCfFE1ckNyeXdAOXgKelQybGxzeHJSZjZKYXR1b157P1NZbEplVU94KWE+VVNfT0JIaWdmdX1r
IzhPJXhtMUl8JjElVkkhNTJBI1QxRyF0CnpvLSRFKGRfc0stMkBgYnhYb21gS01pez8lYEhNZCUp
K2J5ZntVXyEpRkV2RDVKYmthSD03XiROI0NeaVU5WikzUQp6OD1RVGA/YUh3KlVPV0BrY1pWSUQw
WUBzcXtUWTE1U2xlTHR1SyhzfHdWUHkmdUtpRSU5a3l5JHVmYkxkUWVIaD0KelJtSEchejhGTFd7
YlkjelYjNiFDZXg1aj1GMkdQfmtgOHVkYzBJfU5xajJQWSE/V3srI2JgYk5zO15wU1U4dWRUCnpQ
d09CSElAO19DPSYrUClzVHFAbmZFNUIxc25TOW5YZClFX1RmMDF9PVNsRVFOJGx8bmVFPCh9MClg
Myo8bmJXdQp6UkdSPjwhTEVOcUduTy1hRVpeQTR3aHpkWENpS2BQI3VOOGlpTV9eQ1lqSHNyTTkt
MlhwTnk9eDUzMD1iezw8SE0KemNMSkxIP0tvbzdBMmoqRkxmfn5xSlI8WWQ5SXJoS2cqa1UjZCo4
aUFjU1pMbHc+ZFZhaG01K3VNLWtoK05KZmVOCnopVzZzQ3tZaWgmZDNMNllWZ1J0OCtzbD1nfDhX
T1BoQExvaGBqLUlReX4+IU4yfGt1e3hlSj08ZCgzZzAoNGNYYAp6SHtMJDtpI18kblFoWj97QE5M
NFVQcStaYFc7TURxPTh5WVN4PHwmVFl2Yj02M2VEYjFkO08/QG5qSXtUZFZgS1YKenpwSCNKM2t5
d1BzZCplTSpMfjMjcDFrdjVVKzdhWEVsS1otNCVaWTE5VHFWfCkhMUZtRG1fbURQJURFTVVzKm1q
CnpEVWchSCQzIUtWPXdRalZ4V1Q1ZipWR0BuWChCWEc/MzJndlRnKldsPnk4bHI+KklpV2tiRTNq
UzRSUW15QSNDIwp6VCsjckRSM2I/TGQybHJFKXpASyVSUGZPJkVhakIqbnNgX355cDAmbUBwfWl+
WHVPLTg8THhZdiF7aigybWNoJnMKemV0Jn45ZHNQYFViayprNGd0O3JjeCQyNE16IyhNIWY7MmM3
UXA0WTtzSHBXTDktbEp3RG8qcTlWPyoxSHh+biliCnoyZCQ0QDduU1ZmaH1AYFdlYj5Hb1ZaIUJM
O01eblokRTMpMWEje04qezVGX2V6JVhaPjM9Nmx6VnxOdCp5JjUlfgp6O3NWPmZDYiM7fWBzP3p6
e3QxSTZWcVFpemUhTTl+UlVBcygkUHhMSzM3a1haTmYzaVgmUmk9LTQlNXB3PjZnSCQKei03PEdP
Zl90M31sekFKc3NvZyNYX1FRPyM/SU8ocDYjengjO3ZBIT5WcjtePmFXcWJwWlg2WDRCfjxiQVV7
QkghCnplI2ErNypXVkRpdFNTVklMQ3w2NiZ8a1NWI0k+Q30/MXw8MWZlMilHXmllUVdzSGFLKmJx
SDNOdjlvNU1mITAwQQp6OXtwWUVMe3VqaVZVekNNJkZoZ3xObHEoV2V0Z3JQc1RRc1lBNW1iOW9Y
ZSQpJk0+Q3xxQm1PbD8oKn1UJSVCbFEKemtpdz08WWY0SiNke00rKkAtT0VQdGRIQi03NVRuSGxZ
M1VVSzQlPGVYSXVNNypKcCl8b0E3ZipPUEc2SDtZOSVzCnp6JDVZSUpaO0NsbFN9NWIyOF45Nkpy
cVJpWWRWNSpnT1dMM1BCXzxkX31+ZkQkUTZ9WSlFWDszSSpnak15VmomeQp6TE4jMyV2QXk2TD9X
JVNLdEt2PjhfYCR0UjhHZHVePVVxR1VaXmckI0w/N1FUb2w4P1lMUjZDcigqVSVsMzJ1KzQKekAo
UFNgVW9hS2k4WT9FRGFJSl9xX0czWDtjPXJRaHd7T3dMWHZxMUZPOVB3bW95O21rUDY5eEZBZWo9
VCkmdGxKCnpiZkMxNWVtZTNwMDVXbXNMQVhwOHRNeShjM2IpY0QwS3BVb3N9IU5LOUB6RE8lOUty
c3lZQWlSZF5yZDVDK1YqMAp6UEV3VnM2VntOMVFnXygoWG4wcll5VlNrdzdsXjBSTzxgcGI9N1V5
ZjlsUHBBQyEtUH1NYlpgR0FWeSY4K297ekoKekw7NHFlQDdWRllNZmdOSTVFMCRANChDQ3xKa29K
REh1a3dTTi1kRHdGZX49d19yT3h1KklBWCEtLUdxREUyK0JUCno3bVpZNExNVCpjPyVQY0tGYVc9
aTdKJGQkPGpLeT9neHhgd3R0Y1dSPXklPG4/TEZqOFIwV3NPckZZJjY/T3dBSgp6PmFFYip6SWdw
bC1xNDM4d0FYJTJpej1XRy0kaVh9bil6bVFAcjQmYitjZlJpTWtBITNyWlczeXN+K1doXmdwejIK
ekF6dX1ucXlqNCYhWGAza219MGo1RTsxNVFFLUhYKVAlTz55Iz82VlRfPkw7MygoK0lJRmx0SylN
TFBhQFV7TXpMCnpsQGoxaUF5anNWMEtVUWRKaEtgMyVCJihXb1Z2JUtHUklLNHEpcUFXWnBDSH41
dSsmV0tDSnY4YXwhUDMje0N7RAp6Nmg4RmM1M2s5RTMmfSRQSVRgUW9BfFcoU0ZiTWxaNChZWnYm
KUVmanAmbVBYRT5FJFl7P0V9eCltTCVNSH1JUl4KekhIZmAoLV9IR3QhV3t3NyU4QityM0Rscjc5
ZmVuI1JNfUREbi03I2BAfHNsUmBGU31UeCthQzY4SnQxNmwhVEZuCnpoWkl9PS05S248enByfHYk
PF9CaGhhe2d+Zm99OTE7clRpQTw/RzxQOGVpfkE7bnhTP29TflRKbWQ4US01PGNFaAp6ezQhUFpH
V3pFNnRnKlh1R21XSVBFdEVLMFFQPlMjRHpmcU5RN0MqUGtCYl58WDljQiNaalZadGVaRCQqZml4
MVUKemo1YEYmelB5dTlPQUJOYEh8bCp8V3w0VmZLK3hMWlYjfGIqRzxZcEY9MExnP0NWKEFTaHho
cEZlME1aOyVyfGxVCnpyeSFjakVwN00ySjBedXQlbn5KbG5kQno7NStTTVRTKCN5UkwySD4xajc8
Q1paQ2lHT3p0RnNINSpZcDNZfk5gVgp6eyk0WT5yb1BjdTxYVjdtR2hnezZpejRCfDl0K0NIcCpR
SkhFc3JvZWFaWXVsR05JWkRtTmBBQTJSP3RGVzhPTyMKelFTJGd9WXcpfDlUWntnRHstP2xWNmIz
SXdmblVKd0UxJGo+P21HNEw0WDtsTmBlOSYwRSFZaUk+RU5oYGc1KzE4CnoqUEZXdVZ0TyV3SC02
N1V6VmZFZTBxOVZUSTE2QWMlKlkpVGFMdXpNYSFnPztkS2QjUWx2OHd9Ozs5fmdpKCNrewp6amt+
cEVvPX1IakFUZn5lZGs9QmFyNXRuc18qWTZMTk15Mi1acDczO28tNjYrdTtheEttfD9ZWjFuVT5D
aERpM04KemZjXzRtcSE7Uyg1K0dLMW9NLWw5UGooaXtON3dvJU0yK2xOMCs5dWgkQGs8LW47OFI4
MFJyZkBAZnxwUDtuSUVjCnpVXikxbHR8K2pVU3FkbCtxXzhHUSNiWGJrTzhlQVlPS14yVWRCX0hU
X0IlPX43T0pCcjkmaytKPzFCX00zbGx0eAp6IW5mKE11MzNVJVM+UTh3WXRwaUljfWhHVFZDX3Ju
QXA1d3NHSyV+NTh2Y1MmaGJFb0dwJn5MYkhqXlNhbWFoXiUKej1eVXVnWF9kU2toNFR8dyVoY1g7
RGZlNys8RDZeT0FxJU59MDMjUDNaS09NbmBVOS15QXFXSmdLcTA1SkJCNk8yCnpya19tSihiZVlZ
Zm5lSUJPWE1tfFFsVmF5Rj9qVTttJXBeeEVzWjhvb3h7cU4/dlFlWHVub1NGX0grT00hdDVweAp6
RjVgazAyZyNoOFFIb24lVHpkdEApRjBYNWsxb3tYQlMyQ0k7M1ZxbWlCVyZPdyEpR2B4dXQxK2pF
ZChmTFNHMj0Kek92d2tRcC19UGE9dzFlblVlPjxZKjMtX1gqQj12RTVuJkN2bjVEVSkmLSFHTzti
WWl1SktEezZmcyVQV3tNTlorCnomRkxYZjdnbmE1RlFpTEBGM0RRM1E7Jjl+cE9te1k0Sk5OWjtN
Un0+Mk1KR1VwengmbkIjQ2NrdCQ8IXlnUFdWUgp6d0khKGlNZ1I4aXRUKjRkIzZmSHpkYGhEWF4o
KzlwPzBCblNeQ0MxOyYmNj4wO2EmektYZTNyYDlFVGQ1KEYmKWEKelZqRyM9dVVmN2oyKDc9bTJj
fG5Ve0pgd2pEXyUhSGt6JnlKKl9HNkskO3xQanoyRUJgIUBRRlM4XnB1QUArezJRCnpKVih5OUIz
OXluZXFAM08/I0Q2MUB8Qig+TkVicGFeXzZTYHRpI2t7XnMkTmswI3U8TUdYY19yJDd6b0xzQ3cz
fAp6QyN5UmdEYU17V1p7REJLZDtFNSR5bzQqMjlhbGpsbUZ4WjtLRCpDYUtSLXw+NWlrNV47N0U5
bU4qUHdlem5yeHYKekcjdlUxUV4oKX5iQWd5UnlJKUdyck4rS1BFZ2E4Y2Yqdyt6eEBjTUx0UEVM
TWctVHFNTVBPbnlMcDY/ZEomb3BvCnpjVzhoVzsyKjwrcUM7RGlLZnFga3JqIXkjXkdJK1d1V1Fk
UmlPTylNWU4mWjZGeD8jRkxFb2wldjgwYjUwKGMqdQp6cSs9SWBtU0BaZ3pwbTs7Pz5NaFAtRis8
e0FWdWN+Mks8eWtZeUEkWXtfeSNrQyplPXppfEQteEs1bilkMmdxN3IKek4ld3NiNilJaEJoND1P
KkhCNkNCMzJzOSVkLU1vKkUoVDNjMD1xX35qR1VsVHc8dG02Xnx5UX00IztYIUFWQnU7CnpRNXhI
ZHdoTWdOaHdAJndhI2ozKTc8Q0c9SjhidDRZK35hTDghcFEoMWBqQDh4c0RkeSQ9R0hDd0YpOFYm
cTtTRgp6NHNzSXtSZVVyKHVlRCM4K3t6eUgrTWhVTC0wP0AwSVdmNGUlWCNSTyNJP2g9bmNDMDcz
Vj8ofXI8ckx2KE1zakcKeiVFdUojNEUyZihVKm47K0QzT3xUciQ1UnteOXBoNTQhcjJSYiR4aS1x
MmxuXlBvQXFZajUkQkBgIy11S0YoT3BsCnpYfjd4MnJmY2FkOT4zZyo7c2daK0F1fFRBMD5yaVV7
bT5PRXk7KU1gMD0rfENafnYkT3tCQ2Ike01XdHJjKUQqVwp6OW1icWNib1owM040amNNe2xtRUJ3
OWU/ejU9RDh8aT9FPUsyXjdJUDgka3VTd2QlfmxMIWw9RmB8QSU0XnlibWsKenJ0cmkjeyFWQGgh
cWw/YnlBZUlOYHcociVYI2xoYTVBbDRqaShQdXBuT0lOWUVeSCh+NXdQPF9hbDZ4cE9WM0FfCno5
K185UVg+WGBvaTZUUDNTQzk3UWNHdXBvKDtHVk45bispaiE9Rj56REB9Qm14MUAhP0Rgdl9UKSlB
bWMqbUZBYwp6JmFVXkJ7ODIrODc9cypkOzY3bTVKRVhsI09sfiFKJFFGND0yYVM1MGdEWHlONTNo
PX1ORFozTWY1SUZ6ODNRfGkKei1TZENaKXxmWjJSSkRHMHYyNzs/bFlJc1AqdzQmO0tmaExPOFJe
c3l6dUk0dVJ3XkN8e1BDd01ePH5ZdChoQHVTCnpMRDUqbSprPXx7VSRQWFN4fHlvRHV7dW1gQ0NV
dXplSHAlViotXlhyPDZKOEQ+fERzKmB+YlZUcU4mNDBuSzJZUgp6S198fDhnMkd3P2xtUG9yR3hS
TjN7SH5zRXh3NSopXkBmKzNRaWQ2eEZmcT90PmdyRDBfI0IlbnQhdzxXZjdDckwKejxuaEdwO143
Q05ASHFpV01EUWAmOUdjRGVeMUhkfEx3JWwoa1AkYlg3JSo/O2k1Xj0menEpQCgpI0ojd2JASzl0
CnomZ0BBdGR3VUokViQqdXF5dlpjR3V6PigyIT00Xn5lKytkLVUtaUQkamg8ZnsrRyFGdk8tbigl
SD1DPjMrY2VheAp6cnJGbWVTSDY1WXhhOEtHMk56WlVHLStWM1N3ZSohMW40RyRaQTwlVXZDck9i
eFc0PzlLUz5nSzB2LSNGWlQkJDEKemVjdXhHZmdJV3pPfTZrKG5jM1hqbjB3TSp5d352ZiQlfSFI
dEx4MVZXPDU2X09Td0kye2N9UTt2YXBpPy1HWkhHCnpNb1pYdT5zUFpjRH07U3NeJkxeOEs9cDQ7
RUEwTXx5KXpsV2h8dikrUHlKa184QD1EPz5hVDh8OU94QGU5XysoYgp6K3FLZXI+S2JPYkV1PkFH
bUErPnYpSF9hcUdUOyZReD5yI3xBQHx0bFoyYSt+RV5qPUZlR0d5PVo2UmtnK3tlNGcKek0+V3Ih
YyUwS3RBKSl1bG9BS1A0XkM9ZFdAXyVaJGBgYU1nLWRJc0xZN3JqJUp+MHdLcU4tfE1TTHIqaCMl
Z1MmCnpWJXx+dm5rYGg0bWM3TWdBODJLbF93ZmFjRlFBNDh6dDcwazFeOz4/Pjc7VyprYXdebS1N
R2BjWXx+WVY4WEhEaQp6S0BQZypANnZgMnd3Mz4hUXN2MUZQbEM+KGNJaGc5dEY8d215fXA+UyRH
dGsmO2BUUCRfP1I+SEpDPGlaOXRTdjkKek5oeClSXnF+SmB6VGQqVyhkJTFwaUt1JHRSUHxZKkEp
IT1tPUZeUFNMR0hGVDczV1NYYkl1UXtJPjNMcEsjZCUxCnpRayltJDJAdUxPMT1oflMpZEZ5Smcj
fXAjVUVNKjhEZyFyWW1wOHVoeiNUaEJBandCfW5tJDxxZTVkWHNpfDJCJQp6WEtuUU5uSWNRY2NO
bUpkTjg8eGhNdD5fOWVHR1d8V2Rob0trOEl1YzFnSFM5YChmVDRvbmNEJEpwNlVVKlk/JHcKekdg
NXNnV3ZhU08kfWpeJj52c2NpJFlodXAlM2UxZGxAeSkoNFB6NDBBR2RaSWFFbT9zQFJaU3FAI05R
ZHk8NDtaCnptJD5gbyRJcThiXiRYPF5NQlVnPDB3M1VTdiUkZXk3cjFOUGZYSilzVXVBXjlEYTUh
XnQqd1F6QXRFUU43M1BRbgp6cDgxN3VSSGNUQGYhZDcmVWEzZCVTIUQ+M1ktTmVxP31ySURwRFI9
XkNWaFZ4ZWRUd3xVQTBSRXlBQF57KnZFOWoKekAyQ3dhfEQ7YWooQG9NVkx0RXhtPF5lbkZybz47
JmNqd0h6SmRWMVkhdXlpTyRUaHpOZVI7clRub0N1UGZJRzV3Cno2ZEIzWGNYX2g/QVZwZFlePEl5
ZXgrdSRZKDVIWVgkT0JKTSsqb1l8QEt9a1IwbEAxbXJ0JW14MVJKWmwxOSV3Rwp6SDJ+T0ZiQjlQ
akRDfFRJQXtRP1hfPTBieU0tbGZVSV5EWDMzK1Q1MVdYe2MmI20+M05YTSlsaShvJWQrOVBsc0gK
enZtYChiQFZLI1UkZmdWQCpZXnROaDk1Z0prNnVVKnBZYHBIZXNvVXdpfk8oI1ZrflZLQzk9KEBz
akZSOEE5SzZECnomWjRZXnF2UmRxQ1F8Rzh6THZ7a0UmUiFjWkAmZCVPWjNYOVZRTiorc0whKFRH
cnpqOGZubjcmQ2RKTV80KkhmRQp6Pys7Tyk1N3YrYkpYcDhJI2MpX0VSUU9JdzI/fUpkelA3ITJM
T1hBfW4xJCklSWtYT1ByVVE9K1VqYCgzYW1HdCQKekozK0RhRVVwO0FUKEV6PGRBVSl6YUx2KT91
NEpNT0o1YXVhQn5FM2F2Y3teSTBaZ2pBUnNDcHJMUCt5SCZxfT9RCnp4KSooYXY8V308UnNBZXwx
QTV6NTFJTVgjMFlNUHdtY3AhbGJnOHB+NDhVY0xRd0o9cGVCJD5faWF7bmw/VDRVMgp6Y15RYzRq
I3o+d1RHeFBCWWZJMXJgMWYqZEQzRENhNTxwMXQwTXg4RE4pIW1jdFh4TEJ1Jm08JmZkKVdQWnFS
eVQKeiohJXBkMW50dz1xeHxKOF87TjtzdWlePCVBTUFTV189Xnl5bnJoYjh2LXlEO15vdjc+PG9g
VkFLMU4pUiglWjxKCnpjN00kSUlHKCZjREwlRDJvQHpKQmFgR2FgOHx7QTRWKnNYZVlUdnVVMTI8
cUlsKEt0YV42eyUxLXtWNnR4b0Q0OQp6WD9XeTdVK1I+VitnQk1hYWlaeyEzWSthLSotWWZ2ISVK
QE55NkgwbTZpZ1NmKlc0V2VtV0hJdCRjM0V5SX1XdkAKejVPPEBCRDJGMl5HKyktN2xYd3ZuIzlH
XlNKQl4reSFwJHpkbj5jcGQrPTA3O3kpdGFoV2BxeEopTE1sN1YjYGBRCnp7cU4+TTMxcWNNMjhr
VzxQcnlCVlhKS0ZLRW4/ZFc9SjFrS1ZiLURwbnZRfHJrUUVZKWZkdm9rN30jSX01UU9jPwp6ZWg0
RkVvT0daJWxNbGZja3dlR2tuI0ctQ151UyU0YVl+anRDZ1Q4ZXUlfnFudjRsUXFueEkwUSpAIyt1
bUBFdnwKei1QTTU7dG9YXj1jbWdvMGlrdGdgSDUqMnBtNTZ4UUdZYlBGdmFLbHJudVN7KFc/eT5x
LW1zd3xRKEcmdzh+a01QCnpDayV7LT8/dUNGOEcyTColPldWX0gjOXBiWWV1b01JfVQwcDh7REc5
SHtOMlYoc31lb1BFUDhpbnprdUZvemNEYwp6MUp6ZGomYmZKQkg8Z1BSKCV7cFo0SkpNKV9pdE0k
RUgtKkk+UztLM2J+PXJ4KEdNYjB0cWxFT1M8eEh0T243VygKejNKMjFHRSZsM1g5a3thUnI+YWlH
Sl47OXFlaXMhUEkoUj4rdzFsZ2EyJCR3OFB5P0trcWo+TiteRG49Q0wkcWJgCno2ZyRQSE9SUy1e
dWlXdmRWIyFXPSp7VzAyQFRlQl9pQEtramAlVzJga045WWVGM293d0VEdD99ZlAyRys8Pj5taAp6
S0heMXMpOytyIUQmKz9mLVk9VTczM35ndGZjMX45MkBAM1BDSitge1otYVp2IXplSVc8cjt+STl3
KUF1OXp4SWAKeksxUkNKNn0+TmxvUVdkVzF2KWcyNE09VVEpejt4RGlNZWlRa2Q/Z2l4RllFeDNM
I0omMG9zRklPXipOZSVOZSgpCnpoKUxZJFhTPXNLVE8qUzRJfV9XYEQmKVNGT0FHX1IrMnNyQUtF
VVJ5dXxkd3swWmJCU0lMeWkocjAxUFQ2fm9PWAp6QCNMaE1fWH5FJGJTc2ZxVyswKXJwdFJ3fjR7
Kl8+NCVkaSNyPXNpYmJlOEJWPWVRNnNLRTxNeGN0Ti1LeHdJdEwKelEqOFBqJjVsd09DSj4tKWpu
U1k5Mk57JFBzdmtDanIjX1I8MW9iLSpAKzI8Vz51bUNIeUhtZFpvQ0dBYGhIP09VCnp5V2J5R1RC
dyhleEY5aCFtUD04RiU2TChyb0NjaFk7cjtSRFRpKyo/MGNGfThjXnU/K3hodTNeVUVLY2wjNyFB
PQp6VW8oQWlNKlNxOUNvfG0tO0ZaeXEhcjNySD0pKH1tRSNYRnRvIXEjP1RGanU5Z2dCVkVCelBn
KUI9ITZVciNWNT0KelR8bnpmKStzelZVbmNwcz9KY1V1OH44QSV7UTUmYyZNcEJub3JGXmRqNHA9
fDIjKm1eOUJgaG8/YU5lVTN2Nz5XCnp0bDdpNl5nNWh9XnYocjdlWTh3PEhgbG1kNlJ8K3VQZmth
KDkpRkpfd3opSG9UbE5EKy1RbndNNi02V3N5bjR0QQp6KXd8SzI4e2VPdWYxM2BqOFlDSnAxN2Qm
V2UmdT97UTg0Kl49SVgre1oyTE9mSD9oZ31PeGtqOXRvKEImYyFWLUkKentCJmhGc0lpbj5acVc4
QGJxb0s2K3hNZUcpVG9hNTs8eGhWNVpMdCRkdmRGVlVUUVA7RiYyZC0lOU52TWZ4WSYoCnpHYkVN
aTJUbW8xT0Zob0k3JSV3OFBga1V9azBhaykkRXdCXjc9Q0drOERGc1ZHeFNDbClOeXVpUk5SVl8y
UlhrQwp6WlYzKU4/Wns2SlU/cXlkezBxcGApYzhHYHpWVkloPzFVKSNrJFpIPVpWOzJ2QDRwaEgz
Km1ZJj9DPkFXP0tUdUgKemZ2QU02VGtHUVJFMzRDcDJVWGMwSHs+OGlmUihCUGdffDdpTlJ+eFRC
ZihMNmpgJiRYTE84bzMwVk08THNNbSRLCnotRSQ9TiM4NHxyKzgmd0Vxc3Yka09JdCZ5VCt5ZE8p
WWs3Tz00aEN8O0ppWj1pbSF3NXlmI2RkNHchcUVhaXRiQAp6R0pJPUg0KD1kZ0RYQHFPYWA2MVhH
fUFnNDZ2VHMkTjxHdXBzYH41UHF7PTctdCkhPiVCVyk8TUl8YU0yJW52ZTYKemlLI3NwVm5fM3Zq
e1pFdVduQVQ2NjArUTYoMC1xQ0p7fChGJDdTYz9pbTMpV2pmNVlxR0BKdXZkXz1AKWEtOS0oCno5
Rnw8bHhqY0pEYFdaNTh0TDtDaEwodVR7e3BZSl8tZkhja040c2Y9NEZlU1lQKj1wXklnVTthPjhi
K1VeZH1+Qgp6OWREem9hWTRrNGFBe3paPzt9TUBsO15+RFlGbk5FYlVxRFNNM0hPdUAmazNoRWpL
UyV1fj40bGxMNGZ8ajBoPnQKenlNSUs7Wik5VWU3ejYpS2wqQV4zKkgkKlNAMGRXT3N+ODtwIUFU
VkE4MEBNKGA+S2s5PTkhVERrJns7XihCe25WCnpfPjhYJDVuWSYmVHtuRX1BJVd0PzVmPEZgR1BG
djtGfDl7TzNZR3t3Y0hRZ2NkQWg/JjU/RXh0NHY9fmsrakc2YAp6Ql9gTEYrLW5UcC1IKFhHSn5j
bVgqVn42eXVwdWd9eHVPQU9WMDFvRFFGbmBPMW9mPyswazI/RWRxX2hCO15ZTEQKelV4O2dabUJU
LXRDcHw3TnJLYXwpRlRZKX1AQUpMPiZndnEkYkdsYzlDUFRwZDBVRClyMHFBVEAleS1aMjBJIyYo
CnpVcytPV1Z7TkYkMn1YRXomck5LOEI0OChabF5vSytMamdZS0xzPDBzbENJITlJM3xlKFYqT3Ze
R0BkaU9XNz9gawp6X0JQSDUtZ0MmdFhvPyhvOD95ZFJiSylkakhiNGxodndlWFQ0MDM9dlpWMH5p
ZHFFUzk4MkROcT0hbzxWNWFESEoKejNMM2FQa1MjTWN1b1FJUEpvfClfTFA3dnB2UWgrO0JiPikw
Xzl8N3xsTXU4STwrdlooPColZikrJio/VTF9TytMCnoxO3x8ailBNXRaTjNNfC0rNG0lUExLTDI1
YyFXWjFieCNpUVdFfEFKZzZ3ZTNyazwoSjEwRlpzTyRoc1lsNCtycQp6I0prPlNwPy1HSENrJDVM
VTNRY2NETD9CRCFsO1MlOz9RdWtTVUc/YnY0Iz5KUEk3YEgyfG0qWFIxSmZWZDE8e1QKej1FO3ts
SG1lO2V2PytmVEppSjgwKnFjeS0rTCgrfTUjI2MzSndmTFNib0BQKGo9c0F4NXlrRz1gYkZyXiZ0
KHM7CnpgSCt6K2V7bjw+YWJJbCUtUVlZfmNkdEF2PVZVZDI3YSFgelI7SSk0VndzbkJrS3pPRyVl
JkZ4WSQ+JntPLUk0Xgp6SGRhN3Z0KUs8LT47KHRrZi10NmRJMCskRTBpK2ZrMz5lckwqQ3t+YD9l
aDV5RDJjNVpIUThEMEFpTiZ8T05NfDcKemhKU0NfeWMrdWNmVXFXWGNUd3YxIWZRSy10aFh3SjZy
RFcwe1JnSEg8dnVKcDMobCp7ZGM8ZVNDSXNtcFIwXitWCno9P2heZVM0Iz9JdWxsPmwoaXo9YUo+
M0txWEghY1lSO31rKnY1ZjU2bmQpXzcmPWFGQXpVPz8oQlI2QXliS0FHeAp6a1oqKWorYlFiODJR
d1M4WGBQXkIlJWEoeGVDNXZgIUF+dGlBPUxBbXlgNFlGWktxbkl6Njl8bz91TXl+TjU8XmEKenJN
JG5teF5iZjghYDU3JllTSUchViVYSFpjN0FUSj0qRHk4bjlvbnwySGpeR3IkeGpHeFFfQWFEflQ4
ZSM+dFEpCno4M3BLUCtnRSlATDFtS0Bjbz1PR1U7Z2dVbCk2cEFIJFRYUlFXalp0YDwhUURRSVQ0
clBlQWgoNU1TeSNmfSFBawp6RHRGbWoxaFZEPHdySEBAcTt4QUAzUEIoKCk+UTJtMmkjfUJMQll4
bTVZLWl4and0RCYzI1ZQREhgYUxyQ3R8aT0Kej4mTkx+MFpgc05gRWFTYURRfGZ2YXlSYWd7S3ha
KyEzRmxHVVlmMTxzYCMpYGZ4PFRnUjJKK3hRNSs7eHpuVH10CnpiTHM1dlhmbiVOWWZ+OGplZyF8
KDc0P3FWRSV9YiFuNGFFJD5YditzSlRqNjBKMGo/d1d1SGtPUyM7MyQlXyVvdwp6YiVVKEcpIWFp
bWFESW4zWFpkTnIkfDl4eDhqTHZrZVRnR29GfUcqJSZmYGhFS2VINTh5SzV9SFF4I0BNQ3BSKWkK
eikpV25XNnVFOSNTRyloKnk0TDJSTSpJcnpmdC1jUGcmbGMlNkg8dig4NWYtNV9qSjJCJC1gRjlF
P1RAQmRifihKCnphRXhDVyMjbTFkeV5VTUdqI2hjWD9adDFPPCU/Zn02QEJyfSlRRj91ZHpuIVBP
YnM1RnpqVTxSQkNrUjxVREQ7egp6KlVQJERnS0BGcXBTUTdXSzZMbX49UllrS054dzBfdCZqVWMq
ZG8mTTBCaF4qQkZqd3Q+ajhAQWArc0p8R3pZNjIKelhJfFI3LX17SyhPWWEoVzx8d1p6XmZgOFdP
bSUmS1lWYGI+disodXRsSWB6PiQoNFFrTyV0PTk+ITB1NiVkZnxECnp7THJLV3ROXn5Pbn5zeHZI
WC13Yj1kLVQ+STImNWxmekEtZyVHdVBoX35DI0MrIThmNGArd1JAUkhUKj0qV1BOegp6XnN3SzdF
bE9MQGlfWVReYWRiXzU+bTZiK3FobWtVNT4wMSlqYzZHWXhwZDB9IW1eNGUwfn09ZVpEemtPI3RJ
T2gKemJxKUx+JHU9cTAwPnE4fW9lV3diPiN5ZHJwPnxpU0Jtd0R1MV43SGRVP0x1UFRwVEIkJGBH
ZGtGe1JDdWpKOVJgCno7P35VNF9zezQ9OGFpPEg/cSg7KzIpUHwtYmB4KF9FNzcxezleeTl0Zikr
eWFeTSYtXkJCfnA0UG49ZzxiKz9sZAp6XmxeNSFGNGNROyNRaGFUSSRJSGhlMH5LSVdYdzlfJStH
Sj5uNkY1PEhedyZmI1RoVzx5Jkk2KWBnajVnd3FRUzIKemxfRWJXJmRAY0RlM2M8VHh3a2k4NUQj
OH0oZzJAN24rMnBqaipiIz5DZDlzPThSWEcrO1N5N3RjI1UrK19FbTJLCno+OzQhJFVtSGJoTzQ4
JVVTN3x8RlFmP0IkezNXRT1LSEclbUNHM3VnMT5jeERKUjZlXz1GQGdreWB4XzdPZk0rRgp6ajBf
LW5aNH1ecStzSCRFP3F3VHtKSGVIbCtPcl4hPm93OSgjUTNKd3Z7M0otYmhkNW82KnQmXjRvWVkz
QWx5NCgKeihOK1A7VFoyd3IxYXQ4QVBybXJCS1NEY0tzTHZ4JnBub2J0ZnI2ZF80QEJIclp2Z0NM
PE4hJlJmRmktSS0pQ3k3CnpXSW8kVnhHN29ERHlEYVA+cG9DNj9mOyFCaj1tQFQwZD1vP0p5bT9A
VFlGVmgzek1TPzRZWUAkKChWX1NHem4/WQp6NWoofWp8Qn5PTmB2czFOWVckZldVTnhXclZtT0ol
YUFZNyRVTHJQUGY7PXwmYmpFPmN4TiFkRl9JK28wYGljKVAKemIrMWwmPDNzQjJHR1RmOFV1MGd2
ZGc1NGgzeE9iak0jaDQyPXMrPjdJLVBEVTtndkhpdVZkOSkoJn5oR0o4Q0VoCno1fEdXZ0trd2U3
N1IybkVWbmFXQHtneFhBcFY5bllpMG5mVztPcHYyMU9eMGNaPTZNOGNXJTxiNUUxJG52RlplVwp6
OG9jIVVIVXVCWTVIfil+dlU0YT1hdktJQiU8dWIjTllsRUlFQVRDODxwa0R5T2hBZihlcSZEKi16
NWNKRT0lKHIKemMtMF9jPlNsIXt2YXlyJDhIXnF3YFZ9KGUwdz96Qm8kZDRoVHN+bkxJZERvXyE1
dHcqMWk+TU1gT1BrZEhGNFN3Cno0dD17KC1LUipLbS1DTUc2WStsNHAxJGBvNmFFOVEwM3pKamVH
cTZDMHtuNmpMXnskTjFGKUJSQjVfXjgrOEd7PQp6ITtvMDFxRyNSaFliKTBrPypGN15eSGYxKFJf
d1ktUzRDRzZKS3o+ZGk+bWtTUmFLSyNtdHsrUUshbDNlaUsoQ0IKeipzKkdobG5ASGVoV3BJU2Mk
bCExVTgtZEV5Wis3VTd2Vi11RyVjVjY8Rn5jKENlSlEqUXpNJS0yK0hlaWo3NzBhCnpzNlQjb1J0
VnE+eTw4NjJGbj9qNUFeWSVKUX5yYFpNKkRkPVp8VHtJdnJOd35taFpwZyE3WUVRa3l7Mzc+JFM2
eAp6ZCtmRnlkQVZoM2NaM2hJSz1GdkNhajYhMDB4VGhEd2R7Y0pqbE9EKiReLTZyajFaYGZBK3Z+
cGBQRTJEUCYlWF4KelJaZjxLSVZ6TmM1dFV2K0xnWj9TcEE8UWU2Pk8xT2pmZkM8alI3P1A1MG5u
OTwqMSpxJmdZcUBlZio2TCstX3MtCnpXe1Q5aG9GJXcoZmxmbFlCdVdqX2JwKDZGNHdYSWByQHF5
Z0tkRGtyKHFWcypgSG9XUjxpaVd9cjZUYzxeYnVSZAp6c1NuZX5EKXR6N05SOHRAbzNKRmZjdHB0
PlNEXlN5M0FTSyY0PTtMa0VzVHB1ODd6MWBlc1RYKUNjU1ZTN2REKF4KejJjRkErbHByMjVkM0dC
KWduMFF0NERweGZ5b2A3X1lSfkBHclU9fCNKZnhUOHRtXmR+YihrPDI1cmtlTkl9MmdhCnppNWR5
SVE0QHwtZk9xTSZsQGpHJDJ1U1NpeEFwTFJvY2h7Iyo+VHFvWGEoKyVtb0ZmcUtGR0g2e2twJWdN
MWl8Ngp6K1U8Z0g0Szw2aHJjZG07YHhkfURkUz9eaU0xVGFoQl4/MkVxLXV5biVONEB+aD58e1FV
KHNwc3BXaUtyQzNEITcKem8lTG4mIWZuVSVYY31JQkEzPn4wSDY8NDZEQVdAbnBmUFk+KzA1Zzxp
fF5ldGdiPklTcDAjbHYha3UoV3o5Vm5ZCno2VXIpaEkmNW4+bFRTJSFhWFdwaUBkJCklQjIzKGl5
QmN6d3wxUVNrPGltJWd2cnF+UkNETVY4eUNVYzNPakBSZQp6R3NEVCZWSUU7cVNDNldGYGYlbGlS
LXNGeyNCRWBaZylsWmE/USVvNjl9bm1fNHtjdlFlTmglSnk9ak5vKDtUbiUKeiZRJjc1NXx1P0tI
eiZxTVgreGZ+a1liaGdoVWtHVCh7X2F0NHtoc3E+bExibyMtOX5eJGxDcVd3KWRQS2N0czUqCnp6
dTNFMHRmPTVke3U2VC10VzU4MERhUCE1SGJBN25IOCRRUmNXQU1eVzg8OH4yNHlNfVE+K04kU0Qt
ITtoeDhLMgp6LUhJYEtqYW4lIUt2dHNvQXRnWSV4I04hajNQX2wpejdxKVJneiM7ZElDY15Ac0Ur
ZV9hdSZuSzdtVV9BYTN3JHMKeno8R19Ma0MhajlLM2hCNTc8SkZ0R2ZHfnNmTSM+M0V7TWV+eyFo
ajA9PWQrT3hfZjstSn43IV9sY3orbkxfN0NxCnpBPm1vd3EwfGs4Y1E+ZzUmKlc7e0lEZ21PTkNJ
Z0xQbXY9TTtpQj5pI2NqSSMtQTg8TEB5Rz9XN2pRSG90LUFfRAp6bT1GZXBMSnpAMGJfSDloIUUj
X2BxeFRyWW4mb3JaYTdRTTkpMnducGs+b1BRKU4yPUJ6U28mQC1WdEVPVUFEJlUKemtUKzMjVVhC
b1Roa3F8MD1vY2pHRiEwXzxobH5XWncxcE8/QkJqOWlWcEc+bzVFUXJTKnRYQX4lKjc1bU45JihG
CnpZWEU3KkNWYHtXMStvdm5ZbXpPRnp1bmQwMWg5KVhuNT58bi0jWHY7MCYmaHBLRjhTZzB4UzIr
UGF1ZWFZTUlFRwp6QzxeNGA7X14+Tz8zdSkoSnFQRmwqbW10TT4/bD0tbE1rWFgzS1ApRUBjOHdG
WiZrYHFhWFY5MXJES057eXUoY0YKejYoJjV7JFZlZHxsd3lMV2Q7MStjKVpSSHg7JX4tUj5MKW5Q
amJaTypkXl5ZbVdgSF9+KG9+YEFMdzRzZ0p4Sn5jCnpLS1BocVQyRmlpe2tPRjttT2Nva3d8PnVV
dWU2REU9UGozIUVgYjRqLWJvVTF7UGYjbyt9d0pieVZCISNpWCFaPwp6WDJGK0Y5PE45U1lwSDFT
eEMjO0M4VWBEUnQmI0M2LUNPKFN0Un47ZVhyRGtuM09Cajg/JiVfMVBzISsmSm1Ka1QKenBSYURX
MXR1JDFgaDVYdFowPmw5NXomcF9URURQUTBxKThOJUEyMUo/blR6M1BhaD9AZkM+fV5UbGljVUVD
YFI9CnpAcGJ9SXB0WVBWT0w9PD1wKEwzYnhgO1dIODxzYndAXlBtJmJUV1RiNDZ4TTBfSFBleTdA
WW5ibUo3eV55JmwySAp6NnByPyMrJSsjVE0hWGlIWmFKTFZKS34oNFU+V2VwYnN3P29edTI3P3tp
IXxfKmRAPGMmbkNeKnFsJnsjekslPSEKemFQd0chU2R9Y3hWUmpUaWJZZHx6ZHxfVFdjNn11TmVT
NTxFJVU3ND5yKzBqYE9VYnh8Tj5GU0lEPSQkPXM1TEJGCnoxbiF2Sik0VVlIbT1ub15uaT01Jlhi
RXdKezxxJl9TSndtX1QhZUh8NC17cUhNT3o/OHlCfEt9YVJmZyppZlNGNQp6ZUVWdTVDalVPPF9A
bnVtbFM2KSVQSn0/P2VrdVQ7JGdVZTJMS0RnRDBKSWVDdDhybjtpend+ajxuZEtZR3tfN3MKemgm
biY9Rj1TdXIjVDc4JDQhRn4tcWpmVXo1eXRfWDtnKDRZVWtvKHtWRFRKYzNYP3p9YHNNX3ZVb0oz
c0dYcHYwCnoyIXVfTVFvbm1rZUJ+QjQhdGhIe0I3IWIwMGV1Rn1eTD5OUmtwbkQ1OUg0RU9JSU9J
PFFjRHM3QGIhblUtS0pUNAp6VnBfSnxVVEhzPyhaOHMhN0pPK3I8JU4yNGRlVldkMHI8cUNoazUp
NGdDPiRjbkNWKWBoazBlIyhLMVl5ZmBAflYKejVjTHp6MTtId2woTUVDR2drb0pOcUwhY3xxdnNi
UyZBfElTWUxNVWB6QitKQ2kqVz1DKlpjYzBNTmAxdGNgK3V9CnoyUHw4RGpnVkV+eWJ7TlVKdU1k
anQ9RGRCWWVEN1E+UEdhZT5FV0ZHR1Eod2U2a3VQISZmMFc/NTlHKTJmZUoyKAp6M2grX1BIY3NF
NyY5WSNQYlpqaiVHMmhJRGghe2JFKTVFS1JFZXZYPHZmJCR+YXhgRUJJPmApeDh9VHhQTFlIezAK
ejNyPVFINzI3dk1JPXp4UVc/THNZMEo1a1UyPFhmM3hOcWpgVyN4Mk82fGVzMFRiUkNCUC18QV9q
JHZ1Y05xI1F0CnpPNGpfQSZrZzBqbUAzSHdDWUNzYyVle142UWoxPndkXldMSV4+fTgpcTV6Q2Ew
PiRVQitZeEZuQEpHekB1bHMzRQp6Ri0tKFN6U2hzJmtja3RxVz95QD9pZz57ZnQmOEdAU3NEfmFC
K2ZVcXBfcVpfKHpxP2psIzluNkwlUGZAQE0qYDcKek5iaWh1LVE4cWpCa2UyN1Reayp1KD9ZZmIm
YzI5Iyh4Q0d3Y3t7WkIoYnJePVcyWDF6MDQtS0w8Xm1MaVIqMkNOCnpEMjxfdG9DeEYyRlFBeUQt
YVhQUmpDej5CT1Z5a05KPSY5PzFuNGIwVDw2MT1xXnNxU2V+YmRhN0BxLXs+VX1VNwp6QmVHTyhp
T0xJQGNlYDhlYl88X2MkalJTKiljeHYjZVV5JVh6Nkl5MGJHKiopJmNJenhLYXE2SCFmNDsqNCZe
aVgKemZZIXZeQHxQRiVGMz5UP0BUb2JVaXRkamxeVX5ValpjVjB5bz1qKkJeWDBme0ppfDtPakEp
MjtQN0ZmMzlGTngwCnpEK096WishYEJhQi0/c2tFSWh5fV5NbSlWZDF6RFJlSn4pZVA4NFUxLXBk
MClXN296Pm9DLV5fOzhpYmlvK0Roewp6YUYwJC1YbG9TI1YoMi1yJHRQUzgwd0xzP0dxNClBVyNL
d353TUoqPTM8QyNuenVESzgpcVp8NFlaQyZLUSt9X08KemUoMCFJJHFOIzxmTzB4ME90Q2lKTkIx
MHh1LSVJdHV0QjZ0OGd2aXlCSG1kc3srZF92ODBzIzBtbDtDd1loKzNQCnpJdCp0UFJIQlNubCZA
ITdNN3JCNTZ7dT1ecmw2SCokSG91Kk4+flchUWFHQU5Xbk5yY0chNWZBXml+YGp7WkluJAp6X0B2
PkJUZ1AqZzBVY19fXnF7P254RHdhRWx3PClHbnZtKmx5JmcpYmo0dlMpNG9+IyRTcFpEYC11RmRv
PH0xQDsKek5pJEozYSpTbkx7ZjVxeG9PYDxERm5JTGwqZSFEbmk4U0JNJklybFFtOSEoMjU/e2xz
ekt4ayhqaVM3OSZJPFIlCno+aE9eQCk+MTx1cypkfW9pd1JmIyYqM2hGMSUlWUM0OVFJSUIyK2k0
PEIrNm08R3IpTmxXa3RWcFBUbUBhOHU1Rwp6VTA7NDQ5ODNATF9JMDdXITFRblh4XiYyZzd1PCts
YStwO1l7VmsreXd+JHQ8P0lETylLNTB1Ynl1O2FtLUFhMD0KemAtdUhJd0l1RThxdm4weUAjWlV5
XnB3UCRZZmxxVDI+STctdUFwKCReQ1Q8fElgLSkwVTI4LWtmZTdkfWN6bktTCnpZKns4fVVlWVk4
WVQqSWZ0ciN9OytscDd5ZWB+fiQzXktuZ0s3NFYrI2FCfSZtKHF+QSpZKXhoWnBpd0hSSnllbwp6
IXN3PkxaJS1gY2RgaEJRa2AoVG91em05Wj9vKz84LURoUWExJDVzeWk+O055PUcpUDN6b3JsVzxI
VCFeUTspPXkKenkzaiNPTDJgSEA8fX1eMmkkaClSRWA5eUxyPipUITF4VVNseTMtTmZ5Xkp8R0E7
I1NoIT1uaGxSbl9pTmg/fUBOCnpZbClvcXRwNkdsa31PNn1qKTIrKFcmZ1lIRylpcn5wXzZDQCgk
WFNOcmNleXN0cVNoYTMwbStENikjfkthbVVfZQp6bjJLZlg3QUk8NitVeEBWb3opbVoxLU1UUXc3
OTdTe0sycHk2O0ByYSspZFc3bjV6SWUtPS12Pmh2MyRScVN4aigKem9nYiRaOThFUnlLUWtxTWls
QmFUI1E5USNsNXZtUCVrfTRhVDA9cll1a1hqbGl7VShFdUg/Uk9QZn5NRWglWlAyCnojS30qMjY7
PHsjUzFqY3tqSEdBenVXcTdTd3VOWiFeYno8fHNLXnRgVEJXfTUrU3RYbiZOe2dEaU1SSG9aTXhy
awp6OXclaXZQPm5obiQxVT5NJlR7bE9HSnlXMFJVaDhzJXJ6Q2I/clk+fEttRmB8R05AaDFaRWo+
VDwmSWdjQUlINFkKem9LfHk7I2xlP054JUVPWk90aGV5ZThwTClTdnckN1hISzluVylnTWV1KnJ8
aktFd0VDSXtqMk16YCkhJnEjKmZ7Cno3cWBrJFRrV0hXTHtidmJrRz1EUWteLTliPDQrYzQyRStC
SkRIWTEkOzE3YjhtI35KJUxDMypBb3dAWnFeKGdfPQpRQ3Y2Zy0pbVl9OzYkMU1JMFFYWW0zamhF
QgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434005</attachid>
            <date>2021-07-22 04:00:53 -0700</date>
            <delta_ts>2021-07-22 04:50:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210722210052.patch</filename>
            <type>text/plain</type>
            <size>135261</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLjczMzdlYjM2ZTI3NjEzNmNlMWE4MzczMTFjNjkyNTk3ZjEzYzk4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHdlYm1fd2ViYXVkaW8g
cHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3IgbWltZXR5
cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlzYWJsZWQg
YnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8bWFnb21l
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIgdG8gY29u
ZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJvY2Vzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0MTMuLjhm
MzNlN2ZjNWUxY2MyMTQ0MjA3ZGFjZDY3NjA0ZDhhYTU5ZDA1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4gV2ViIEF1
ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4gdGhlIHdl
YiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgZGVj
b2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJlYXNvbnMs
IGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxzIGFyZSBi
bG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1ZGlvIGNv
bXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkgcHJvY2Vz
cyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisgICAgICAg
IFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAg
ICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWlscyBmb3Ig
Vm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11eCB0aGUg
d2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0g
dG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVyYXRlIG92
ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3JtaW5nCisg
ICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRoZXJlIGFy
ZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVuY29kZXIg
ZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGlibGUKKyAg
ICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIu
CisgICAgICAgIC0gSWdub3JpbmcgdGhlIHNhbmRib3hpbmcgaXNzdWUsIFZvcmJpcyBjb250ZW50
IGZhaWwgdG8gZGVjb2RlLgorICAgICAgICAtIFdlIGNhbiBvbmx5IGRlY29kZSBtb25vIGFuZCBz
dGVyZW8gY29udGVudC4gT3B1cyBhbmQgVm9yYmlzIGxldCB5b3UgZGVmaW5lIGEKKyAgICAgICAg
Y3VzdG9tIGNoYW5uZWwgb3JkZXJpbmcsIHRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWQgd2l0aCBh
bWJpc29uaWMgYXVkaW8gKHdpdGggb3B1cyAyNTUgbW9kZSkuCisgICAgICAgIENvcmVNZWRpYSBk
b2Vzbid0IGVhc2lseSBkZWFsIHdpdGggc3VjaCByZS1vcmRlcmluZyBhcyBpdCBhcHBlYXJzIHRv
IGJlIGVzc2VudGlhbGx5CisgICAgICAgIGRlc2lnbmVkIGZvciBhdWRpYmxlIGNvbnRlbnQuIFdp
dGggbW9yZSB0aGFuIDIgY2hhbm5lbHMsIGRlY29kaW5nIHdpbGwgZWl0aGVyIGZhaWwKKyAgICAg
ICAgb3IgcHJvZHVjZSBjaGFubmVscyBpbiB0aGUgd3Jvbmcgb3JkZXIuCisKKyAgICAgICAgVGVz
dDogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKKworICAgICAgICAq
IEhlYWRlcnMuY21ha2U6IEV4cG9ydCBoZWFkZXIgc28gdGhhdCB3ZSBjYW4gcmVnaXN0ZXIgdGhl
IGRlY29kZXIgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBzYW1lIGFzIGFib3ZlLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5
VHlwZSBjb25zdCk6IE1ha2UgY2FuUGxheVR5cGUod2VibS9hdWRpbzsgY29kZWNzPW9wdXMpCisg
ICAgICAgIHdvcmsgaWYgZmVhdHVyZXMgaXMgc2V0LgorICAgICAgICAqIHBhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0V2ViTVdlYkF1ZGlvRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjp3ZWJNV2ViQXVkaW9FbmFibGVkIGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9NZWRpYVNhbXBsZS5oOiBBZGQgbmV3IGlzTWVkaWFTYW1wbGVBVkZPYmpDLCB3aWxsIGJl
IHVzZWQgdG8gYWxsb3cgc2FmZQorICAgICAgICBkb3duY2FzdGluZy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1czo6c2V0
TGVuZ3RoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oOiBBZGQgc2V0TGVu
Z3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhlIHJlcG9ydGVkIGxlbmd0aAorICAgICAgICB3aXRo
b3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmg6IEFkZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0
aGUgcmVwb3J0ZWQKKyAgICAgICAgbGVuZ3RoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlp
bmcgc3RvcmFnZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFk
ZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3Qp
OiBGaXggY2hlY2tlZEludCB1c2UgdG8gY2F0Y2ggcG90ZW50aWFsIG92ZXJmbG93CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6
IEFkZCBjb252ZW5pZW5jZSBjbGFzcyB0aGF0CisgICAgICAgIGZyZWUgd3JhcHBlZCBBdWRpb0J1
ZmZlckxpc3Qgb2JqZWN0IG9uIGV4aXQuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxp
c3RIb2xkZXI6On5BdWRpb0J1ZmZlckxpc3RIb2xkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvciBib29sIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3ItPiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yKiBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OmlzVmFsaWQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjppc01heWJlV2ViTSBjb25zdCk6IE1ldGhvZCB0byBj
aGVjayBpZiB0aGUgYnVmZmVyCisgICAgICAgIGNvbnRhaW5zIFdlYk0gZGF0YS4KKyAgICAgICAg
KFdlYkNvcmU6OnBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2spOiBSZXF1aXJlZCBmb3IgQXVk
aW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlci4KKyAgICAgICAgV2lsbCBmZWVkIHRoZSBkZWNv
ZGVyIHRoZSBkYXRhIHRvIGRlY29kZSwgc3BsaXR0aW5nIHRoZSBtdWx0aXBsZSBwYWNrZXRzIGZv
dW5kCisgICAgICAgIGluIHRoZSBDTVNhbXBsZUJ1ZmZlci4KKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMgY29uc3QpOiBSZXR1cm4gdGhlIHRvdGFsIG51
bWJlciBvZgorICAgICAgICBkZWNvZGVkIGZyYW1lcyBpbiB0aGUgcGFja2V0cy4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQgY29uc3QpOiBDcmVhdGUg
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uCisgICAgICAgIHJlbGF0ZWQgdG8gdGhlIGRlbXV4
ZWQgYXVkaW8gdHJhY2suIG51bGxvcHQgaWYgdW5zdXBwb3J0ZWQgY29udGVudC4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y2xpZW50RGF0YUZvcm1hdCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyk6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmg6CisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmg6IFJlbW92ZSB1bnVzZWQgdHlw
ZWRlZi4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UubW06CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6On5BdWRpb1Nh
bXBsZURhdGFTb3VyY2UpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZQorICAgICAgICBQQUwgc29m
dGxpbmtzCisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnNldHVwQ29u
dmVydGVyKTogRmx5LWJ5IGZpeCwgbWFrZSBpdCB1c2UgUEFMCisgICAgICAgIHNvZnRsaW5rcwor
ICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbTogRmx5
LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L1RyYWNrUHJpdmF0ZUJhc2UuY3BwOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVB
VkZPYmpDLmg6CisgICAgICAgIEZseS1ieSBmaXggcmVxdWlyZWQgYnkgd2Via2l0LXByZXBhcmUg
OiBkb24ndCB0YWcgdGhlIHdob2xlIGNsYXNzIGFzIFdFQkNPUkVfRVhQT1JULgorICAgICAgICBN
b3ZlIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIGZ1bmN0aW9uIGRlZmluaXRpb25zIG91dC1v
Zi1saW5lIHRvIHByZXZlbnQKKyAgICAgICAgbGlua2FnZSBlcnJvcnMuCisgICAgICAgIChpc1R5
cGUpOiBBZGQgdGVtcGxhdGUgc3BlY2lhbGl6YXRpb24gZm9yIHN0YXRpY19yZWZlcmVuY2VfY2Fz
dDxNZWRpYVNhbXBsZUFWRk9iakM+CisgICAgICAgIGFuZCBpczxNZWRpYVNhbXBsZUFWRk9iakM+
IHRvIHdvcmsuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMpOiBNb3ZlIGNvZGUKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06IEZseS1ieSBmaXgs
IGFkZCBtaXNzaW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oOiBFeHBvcnQgc29tZSBzeW1ib2xzLCBhZGQgbmV3Cisg
ICAgICAgIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lz
dGVyRGVjb2RlckZhY3RvcnkpOiBJbnN0ZWFkIG9mIGF0dGVtcHRpbmcgdG8gcmVnaXN0ZXIgdGhl
IGRlY29kZXIKKyAgICAgICAgYnkgZGwtb3BlbmluZyB0aGUgcmVxdWlyZWQgbGlicmFyeSwgZmly
c3QgYXR0ZW1wdGluZyB0byBzZWUgaWYgdGhlIGRlY29kZXIgaXMKKyAgICAgICAgYWxyZWFkeSBh
dmFpbGFibGUuIENhbGxpbmcgQXVkaW9Db21wb25lbnRSZWdpc3RlciBpbiB0aGUgd2ViIGNvbnRl
bnQgcHJvY2VzcworICAgICAgICB3aGVuIHRoZSBHUFUgcHJvY2VzcyBpcyBlbmFibGVkIHdpbGwg
ZmFpbCBkdWUgdG8gc2FuZGJveCBzZXR0aW5ncy4gV2hpY2ggd291bGQKKyAgICAgICAgaW5jb3Jy
ZWN0bHkgcmVwb3J0IHRoZSBjb2RlYyB0byBub3QgYmUgYXZhaWxhYmxlIHdoZW4gaXQgd2FzLgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCk6
CisgICAgICAgIChXZWJDb3JlOjppc09wdXNEZWNvZGVyQXZhaWxhYmxlKTogRmx5LWJ5IGZpeCwg
c2hvdWxkIHRoZSBtZXRob2QgYmUgY2FsbGVkCisgICAgICAgIG9uIG5vbi1tYWMgcGxhdGZvcm0g
aXQgd291bGQgaGF2ZSByZXR1cm4gdGhlIHVuaXRpYWxpemVkIHZhbHVlIG9mIHRoZSBhdmFpbGFi
bGUKKyAgICAgICAgc3RhdGljIHZhcmlhYmxlLgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJP
cHVzRGVjb2RlcklmTmVlZGVkKTogQWRkZWQKKyAgICAgICAgKFdlYkNvcmU6OmlzVm9yYmlzRGVj
b2RlckF2YWlsYWJsZSk6IFNhbWUgYXMgaXNPcHVzRGVjb2RlckF2YWlsYWJsZQorICAgICAgICAo
V2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQpOiBBZGRlZAorCiAyMDIxLTA3
LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQWRkIGxpbmtlZE9uT3JBZnRlciBjaGVjayBmb3IgcjI2OTE2MgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggZjAxOWQzY2UxMjAzZjNmYTEwNGVmOWZhYzRmZmE0MDZhYjkwMmY2MC4uZjJhYWNiYjg0
MDJkMGM0MTYxYTNmNmZiZjk5Mzk0ZjU4Y2M1M2RhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHZhcmlvdXMgQVZGb3VuZGF0aW9uIChBVkF1
ZGlvQ29udmVydGVyKSByZWxhdGVkIG1ldGhvZHMgYW5kCisgICAgICAgIENvcmVNZWRpYSB0byBh
Y2Nlc3MgcmVxdWlyZWQgQ01TYW1wbGVCdWZmZXIgcmVsYXRlZCBtZXRob2RzLgorCisgICAgICAg
ICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsu
aDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06CisKIDIwMjEt
MDctMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI4MDEyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTg3NjI1ODQyNjFiYWE5ZTMyMmU5
YTcwY2Y4ZDJhNmYwN2IwOTA5Ni4uYzM2MmU2NjNlNGNjZGUyZmMzYTc4ZWE0MjJlZmNiMWNhNzdh
NmQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2
ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1
cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZGVmYXVs
dCB2YWx1ZSBmb3Igd2VibV93ZWJhdWRpbyBwcmVmIGZvciB0aGUgZGlmZmVyZW50IHBsYXRmb3Jt
cy4KKyAgICAgICAgRGlzYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgcGxhdGZvcm1zLgorICAgICAg
ICBGbHktYnkgZml4OiBkb24ndCBtYWtlIHdlYm0gcGFyc2VyIGRlcGVuZGVudCBvbiBWUDkgc3Vw
cG9ydC4KKworICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0Ogor
ICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0OgorICAgICAgICAqIEZlYXR1
cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktp
dC13YXRjaG9zLnBsaXN0OgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZGVm
YXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlv
Q29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisKIDIwMjEtMDctMjEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSdW5uaW5nQm9hcmQga2lsbHMgdGhlIG5ldHdvcmsg
cHJvY2VzcyBpZiBpdCBpcyBzdGlsbCBob2xkaW5nIHRoZSAiaG9sZGluZyBsb2NrZWQgZmlsZSIg
YXNzZXJ0aW9uIHVwb24gc3VzcGVuc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRl
eCBjNDJlYmViYTA2N2MxNWQ3ZjVkYzBlOTBhYjNkYjQ1MmU5MjJhNGVkLi5iNDExODY0NGFiZjhi
NmUxMzhlM2U2NDk0NzU0ODA4M2M5OTNkYmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFt
bApAQCAtMTI2MSw2ICsxMjYxLDE4IEBAIFdlYk1QYXJzZXJFbmFibGVkOgogICAgIFdlYktpdDoK
ICAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCkKIAorV2Vi
TVdlYkF1ZGlvRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcworICBodW1hblJlYWRhYmxlTmFtZTogIldlYk0gV2ViIEF1ZGlvIgor
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgV2ViTSBXZWIgQXVkaW8iCisgIGNv
bmRpdGlvbjogRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktp
dExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJs
ZWQoKQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJB
dWRpb0VuYWJsZWQoKQorCiAjIEZJWE1FOiBJcyB0aGlzIGltcGxlbWVudGVkIGZvciBXZWJLaXRM
ZWdhY3k/IElmIG5vdCwgdGhpcyBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBXZWJLaXRMZWdhY3kg
ZW50aXJlbHkuCiBXZWJSVENIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkOgogICB0eXBlOiBi
b29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCAzYjFiYjU1MGY1NjgxYTRmNWRkMjM2MGExNDE4OWE4
ZWNhZDA1N2I5Li45YTYxZWVmZjU0YjdjNjUwMjBhMjhlOTRjNmJlZTNkNTQzYzc0NTlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0hlYWRlcnMuY21ha2UKQEAgLTEzMzUsNiArMTMzNSw4IEBAIHNldChXZWJDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9FeHRlbnNpb25z
R0xBTkdMRS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xB
TkdMRVV0aWxpdGllcy5oCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5oCisKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3QuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dERyYXdHbHlwaHNSZWNvcmRlci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCBmYzA2NjhhNGE5MWFmZTEwYjY1MTU5Y2Ew
ODJlMTgyODFmZDUwMzU3Li4zNGI3ZmM2ODYzYjI1ZDI1MGMzZGQ2MDhiZmQ5MGM5YmJhYmE0NzFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNw
cApAQCAtNDcsMTEgKzQ3LDE0IEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5
RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYgdGhlU291cmNlQnVmZmVyLCBz
aXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgdm9pZCogZGVzdGluYXRpb24p
LCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGRlc3RpbmF0aW9u
KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01C
bG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwgUEFMX0VYUE9SVCkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJs
b2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRo
ZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNl
dCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJ
VEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpLCBQQUxfRVhQT1JUKQog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNv
dXJjZUJ5dGVzLCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zm
c2V0SW50b0Rlc3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVz
dGluYXRpb25CdWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCksIFBBTF9F
WFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENv
cmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldEV4dGVuc2lvbnMsIENGRGljdGlvbmFyeVJl
ZiwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBD
TVNhbXBsZUJ1ZmZlckdldFR5cGVJRCwgQ0ZUeXBlSUQsICh2b2lkKSwgKCksIFBBTF9FWFBPUlQp
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsb2NrQnVmZmVyUmVmLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdl
dEZvcm1hdERlc2NyaXB0aW9uLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmLCAoQ01TYW1wbGVCdWZm
ZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVzY3JpcHRpb25z
U2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBwYWNrZXREZXNj
cmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCBQQUxfRVhQT1JU
KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVk
aWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywgT1NTdGF0dXMsIChDTVNhbXBs
ZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRleCwgQ01TYW1wbGVUaW1pbmdJ
bmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4LCB0aW1pbmdJbmZvT3V0KSwg
UEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFmYzU2ZGJmYjA1
ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLmRjMmQ4ZTBiZTkzNmJiMmRiZmQ1MmFjMmVkY2I1NWM4
ZjI1MTRjMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmgKQEAgLTQ5LDYgKzQ5LDEwIEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcywgT1NTdGF0CiAjZGVmaW5l
IENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVm
ZmVyQ29weURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoLCBzaXplX3QsIChDTUJsb2NrQnVmZmVy
UmVmIHRoZUJ1ZmZlciksICh0aGVCdWZmZXIpKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyR2V0RGF0
YUxlbmd0aCBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgKK1NP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
SXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwg
c2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3Ro
KSkKKyNkZWZpbmUgQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVN
ZWRpYV9DTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMKK1NPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpKQorI2RlZmluZSBDTUJs
b2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZl
ckNyZWF0ZUNvbnRpZ3VvdXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29y
ZU1lZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2
b2lkKiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6
ZV90IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0
ZXMsIGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgp
KQogI2RlZmluZSBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcyBzb2Z0TGlua19Db3JlTWVk
aWFfQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
SEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0RXh0ZW5zaW9ucywg
Q0ZEaWN0aW9uYXJ5UmVmLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2MpKQpA
QCAtNTksNiArNjMsOCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVN
ZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsbwogI2RlZmluZSBDTVNhbXBs
ZUJ1ZmZlckdldERhdGFCdWZmZXIgc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0
RGF0YUJ1ZmZlcgogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEs
IENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24sIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQogI2RlZmluZSBDTVNhbXBsZUJ1
ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZl
ckdldEZvcm1hdERlc2NyaXB0aW9uCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUws
IENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
cywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0RGVzY3JpcHRp
b25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCAoc2J1Ziwg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBwYWNrZXREZXNj
cmlwdGlvbnNTaXplTmVlZGVkT3V0KSkKKyNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0
cmVhbVBhY2tldERlc2NyaXB0aW9ucyBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJH
ZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywg
T1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRl
eCwgQ01TYW1wbGVUaW1pbmdJbmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4
LCB0aW1pbmdJbmZvT3V0KSkKICNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJ
bmZvIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8K
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiksIChzYnVm
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9u
U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29m
dExpbmsuaAppbmRleCBiMzI0MTU5YmUxZWZlN2E1ZTVmZTJiMjY0ZDQxYTZhMGM4NGZkNDliLi43
MDBlOWMzMmM0Y2ZiMWJkYzMwZWNmNDdhMDAwNjMwNzIwNTI2OTBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCkBAIC0zMjQs
NCArMzI0LDExIEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQVZGb3VuZGF0
aW9uLCBBVk91dHB1dENvbnRleHRPdXRwdXREZXZpY2VzRGlkCiAjZGVmaW5lIEFWT3V0cHV0Q29u
dGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24gUEFMOjpnZXRfQVZGb3VuZGF0
aW9uX0FWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24oKQog
I2VuZGlmIC8vIEhBVkUoQVZST1VURVBJQ0tFUlZJRVcpCiAKKyNpZiBQTEFURk9STShDT0NPQSkK
K1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbnZlcnRlcikKK1NPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0Zvcm1hdCkKK1NPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbXByZXNzZWRCdWZmZXIpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9QQ01CdWZmZXIpCisjZW5kaWYgLy8gUExBVEZPUk0o
Q09DT0EpCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggMzdjOGIx
ZmFmZDU4Y2NiYzZlODUwYzZmMzAxMTc2N2M3ZGEzMTY0NS4uNzMzOTg0NWUwNzI2NTgwMWUwNjQw
MzAzYjJlMjkxYTAxMjRlODcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCkBAIC0yMzAsNyArMjMwLDcgQEAgU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9TZXNzaW9uUm91dGUKIAogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRIVFRQQ29va2llc0tl
eSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0UmVxdWly
ZXNDdXN0b21VUkxMb2FkaW5nS2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQotI2VuZGlmCisj
ZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uU2V0
QXV0aG9yaXplZFRvVXNlQ2FtZXJhSW5NdWx0aXBsZUZvcmVncm91bmRBcHBMYXlvdXQsIHZvaWQs
IChBVkNhcHR1cmVTZXNzaW9uICpzZXNzaW9uKSwgKHNlc3Npb24pKQpAQCAtMjQ0LDQgKzI0NCwx
MSBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91
bmRhdGlvbiwgQVZSb3V0ZURldGVjdG9yTXVsdAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERl
dmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24sIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiAjZW5k
aWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9Db252ZXJ0ZXIsIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0Zvcm1hdCwgUEFMX0VYUE9SVCkK
K1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvUENNQnVmZmVy
LCBQQUxfRVhQT1JUKQorI2VuZGlmCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGYwMWI5OTI3ZTNjYzYyMmU5Y2NjMDBiMTFlYjJhMmNkZDAzZjc1MzcuLjRmNDk1N2Y1MGU4ZWI0
NGY2ZjA1ODE5MDcyZGMwYTUxNzNiZTFjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzMiw3ICsyMzIsNyBAQAogCQkwN0VF
NzZFQzFCRTk2REIwMDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RUU3NkVBMUJFOTZEQjAw
MEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAv
KiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUQxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFs
dGltZVZpZGVvU291cmNlTWFjLmggKi87IH07CiAJCTA3RjRFOTMzMjBCMzU4N0YwMDJFMzgwMyAv
KiBBVkFzc2V0TUlNRVR5cGVDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDdDOEFEMTIxRDA3M0Q2MzAwODdDNUNFIC8qIEFWQXNzZXRNSU1FVHlw
ZUNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJMDdGNUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1
ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgfTsKKwkJMDdG
NUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1ODJBNEY4
MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0Y1Q0ZGNjI1ODJBNTI5MDA2NjJFRjUg
LyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGMjI1ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EubW0gKi87IH07CiAJCTA3Rjg3Njg0MUFENTgwRjkwMDkwNTg0OSAvKiBN
ZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDdGODc2ODMxQUQ0QTk0NTAwOTA1ODQ5IC8qIE1lZGlhUGxheWJh
Y2tUYXJnZXRDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDdGOTQ0MTYxODY0RDA0NjAwNUQzMUNCIC8qIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RBRThDMDgxNzQ2Qjk1NzAwNTMyRDc4IC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBhM2IzYTJmMTE1N2MyYjdl
NTAwYjJhMDRlNDY4ZWQ1NmFkMjA0NGJjLi43ZDdjZDJjZTFkZWZiOGMwNTEwM2I0MzgxZGE3NWY3
MGI3MjgzNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAg
LTEwNTUsNyArMTA1NSw3IEBAIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogICAgIC8vIFRlbXBvcmFyaWx5IHdvcmsgYXJv
dW5kIGJ1ZyAyMjY5MjIuIEZvciBub3cgY2xhaW0gdGhhdCB0aGUgb3B1cyBhbmQgdm9yYmlzIGNv
ZGVjcyBhcmVuJ3Qgc3VwcG9ydGVkCiAgICAgLy8gc28gdGhhdCBzaXRlcyByZWx5aW5nIG9uIHRo
aXMgdGVzdCB0byBkZXRlcm1pbmUgaWYgd2ViYXVkaW8gdXNlIG9mIG9wdXMgb3Igdm9yYmlzIHdv
bid0IGVycm9yLgogICAgIGF1dG8gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0gICAg
aWYgKHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYg
KGNvZGVjcy5jb250YWlucygib3B1cyIpIHx8IGNvZGVjcy5jb250YWlucygidm9yYmlzIikpKQor
ICAgIGlmIChzdXBwb3J0ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVk
ICYmICgoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikgJiYgIXdlYk1XZWJBdWRpb0VuYWJsZWQoKSkg
fHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCiAgICAgICAgIHN1cHBvcnQgPSBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZDsKICNlbmRpZgogCkBAIC04MTc1LDYg
KzgxNzUsMTUgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNNZWRpYVN0cmVhbVNvdXJjZSgp
IGNvbnN0CiAjZW5kaWYKIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJNV2ViQXVkaW9F
bmFibGVkKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHJldHVybiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYk1XZWJBdWRpb0VuYWJs
ZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVN0cmVhbUNhcHR1cmVT
dGFydGVkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMTA1
MWMwNTg1M2ZjMDEyZWRkYWNkOGI3NGM5NDVhYmJhYzJkNTMyMC4uZjkyNmVkNjI3MzAxMWQ1MTY0
OGFkZWY1Nzk3ZGJlZGZhNmRiODJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTkzOSw2ICs5MzksOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IExvZ2dlciYgbWVk
aWFQbGF5ZXJMb2dnZXIoKSBmaW5hbCB7IHJldHVybiBsb2dnZXIoKTsgfQogI2VuZGlmCiAKKyAg
ICBib29sIHdlYk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdDsKKwogICAgIFRpbWVyIG1fcHJvZ3Jl
c3NFdmVudFRpbWVyOwogICAgIFRpbWVyIG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFRp
bWVyIG1fc2NhblRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaAppbmRleCBhMGQzY2VhNzlkN2UwYWUwNzQ4MjQwZGQyMmVlZTJkNTU3NTA0NGE2Li42
ODVhMGEyYWQ3NTQ3MjY5OWFlYmYyMTlmYTBjMjUxNTIxYmViMGI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMjM1LDYgKzIzNSw4IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2ViTVBhcnNlckVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJNUGFyc2VyRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQogICAgIGJvb2wgd2ViTVBhcnNlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYk1QYXJz
ZXJFbmFibGVkOyB9CisgICAgdm9pZCBzZXRXZWJNV2ViQXVkaW9FbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fd2ViTVdlYkF1ZGlvRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgd2Vi
TVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVdlYkF1ZGlvRW5hYmxlZDsg
fQogI2VuZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKQEAgLTM3MSw2ICszNzMsNyBAQCBwcml2
YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBib29sIG1fd2ViTVBhcnNlckVu
YWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV93ZWJNV2ViQXVkaW9FbmFibGVkIHsgZmFsc2Ug
fTsKICNlbmRpZgogCiAjaWYgSEFWRShDRUxFU1RJQUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaAppbmRleCA4ZGE2MDM3Nzg4MjQzMzMwYWUyNTBkOWMxMGM3MmVlMDU4OGU3NjBj
Li4wMjU4ZTVlYjRmM2Q2ODgzODE4YjNiNzFlMDljMGY4OTBmMDM0M2Y1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKQEAgLTU3LDcgKzU3LDcgQEAgc3RydWN0IFBsYXRmb3Jt
U2FtcGxlIHsKICAgICB9IHNhbXBsZTsKIH07CiAKLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlh
U2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CitjbGFz
cyBNZWRpYVNhbXBsZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4g
ewogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlKCkgPSBkZWZhdWx0OwogCkBAIC0x
MjUsNiArMTI1LDggQEAgcHVibGljOgogCiAgICAgICAgIHJldHVybiBvYmplY3QtPnRvSlNPTlN0
cmluZygpOwogICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhU2FtcGxlQVZGT2JqQygp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKaW5kZXggMjQzZTEwNmI5
ZTMzZGE5M2RlOWEwY2FkMzNiYzA4ZTkyMDY1MzIwMC4uN2YwM2MzMzFlZTIwMTBjOTg5MjlhMDMy
NGRjYWM5NTVkNjVmOGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9CdXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
QnVzLmNwcApAQCAtNzMsNiArNzMsMTYgQEAgdm9pZCBBdWRpb0J1czo6c2V0Q2hhbm5lbE1lbW9y
eSh1bnNpZ25lZCBjaGFubmVsSW5kZXgsIGZsb2F0KiBzdG9yYWdlLCBzaXplX3QgbGUKICAgICB9
CiB9CiAKK3ZvaWQgQXVkaW9CdXM6OnNldExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKQoreworICAg
IFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IG1f
bGVuZ3RoKTsKKyAgICBpZiAobmV3TGVuZ3RoID09IG1fbGVuZ3RoKQorICAgICAgICByZXR1cm47
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhbm5lbHMuc2l6ZSgpOyArK2kpCisg
ICAgICAgIG1fY2hhbm5lbHNbaV0tPnNldExlbmd0aChuZXdMZW5ndGgpOworICAgIG1fbGVuZ3Ro
ID0gbmV3TGVuZ3RoOworfQorCiB2b2lkIEF1ZGlvQnVzOjp6ZXJvKCkKIHsKICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQwZTgxMTIxMWI0ZGEyY2E4YzY3MGI1OGIz
Mjk2YjM1Y2U2OWNkNGEuLmVhNTg1Yzg0OGVhOTQxMjI3NDAyOWE4ODY3YWI5Y2NhYzcwNzRkNjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtODMsNiArODMs
OSBAQCBwdWJsaWM6CiAgICAgLy8gTnVtYmVyIG9mIHNhbXBsZS1mcmFtZXMKICAgICBzaXplX3Qg
bGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFJlZHVjZSB0aGUg
bnVtYmVyIG9mIGZyYW1lcyBhdmFpbGFibGUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYWxsb2NhdGVk
IG1lbW9yeSBzaXplLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpOworCiAg
ICAgLy8gU2FtcGxlLXJhdGUgOiAwLjAgaWYgdW5rbm93biBvciAiZG9uJ3QgY2FyZSIKICAgICBm
bG9hdCBzYW1wbGVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVSYXRlOyB9CiAgICAgdm9p
ZCBzZXRTYW1wbGVSYXRlKGZsb2F0IHNhbXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxl
UmF0ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9D
aGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApp
bmRleCA5NzViZDBiNWFiZDhmNzI1NWEwNWE3ZGQ3MGY5NjUwYjFkNDk0NjY3Li5jOTc2MTVmMGRh
MTUxYzIzZDQzM2NiNTYwNjdiYjU0Nzk0NjJhMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtNzQsNiArNzQsMTQgQEAgcHVibGljOgogICAg
IC8vIEhvdyBtYW55IHNhbXBsZS1mcmFtZXMgZG8gd2UgY29udGFpbj8KICAgICBzaXplX3QgbGVu
Z3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFNldCBuZXcgbGVuZ3Ro
LiBDYW4gb25seSBiZSBzZXQgdG8gYSB2YWx1ZSBsb3dlciB0aGFuIHRoZSBjdXJyZW50bHkKKyAg
ICAvLyBzZXQgbGVuZ3RoLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCisg
ICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG5l
d0xlbmd0aCA8PSBsZW5ndGgoKSk7CisgICAgICAgIG1fbGVuZ3RoID0gbmV3TGVuZ3RoOworICAg
IH0KKwogICAgIC8vIERpcmVjdCBhY2Nlc3MgdG8gUENNIHNhbXBsZSBkYXRhLiBOb24tY29uc3Qg
YWNjZXNzb3IgY2xlYXJzIHNpbGVudCBmbGFnLgogICAgIGZsb2F0KiBtdXRhYmxlRGF0YSgpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9GaWxlUmVhZGVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCmluZGV4IDVkNTZiOWVlMWEwZDNkNjdhNzljMzA3
NjFkMTM4MTVkN2MwNjQ0Y2UuLjRjYzhhMzkwNDA2MmU5ZmY5OWY3Y2EzN2Y4YjI0NmU3OTA0Yjdk
OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
RmlsZVJlYWRlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKQEAgLTM0LDIxICszNCwzNiBAQAogCiAjaW5j
bHVkZSAiQXVkaW9CdXMuaCIKICNpbmNsdWRlICJBdWRpb0ZpbGVSZWFkZXIuaCIKKyNpbmNsdWRl
ICJBdWRpb1NhbXBsZURhdGFTb3VyY2UuaCIKKyNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5o
IgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIkluYmFuZFRleHRUcmFj
a1ByaXZhdGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTYW1wbGVB
VkZPYmpDLmgiCisjaW5jbHVkZSAiVmlkZW9UcmFja1ByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJN
QXVkaW9VdGlsaXRpZXNDb2NvYS5oIgorI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbnZl
cnRlci5oPgogI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9FeHRlbmRlZEF1ZGlvRmlsZS5oPgogI2lu
Y2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8cGFsL2Nm
L0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CisjaW5jbHVkZSA8U291cmNlQnVmZmVyUGFyc2VyV2Vi
TS5oPgorI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMu
aD4KICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5o
PgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvU2NvcGUuaD4KKyNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRM
aW5rLmg+CisjaW5jbHVkZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBBdWRpb0J1ZmZlckxpc3Qq
IHRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlzdChzaXplX3QgbnVtYmVyT2ZCdWZmZXJzKQogeworICAg
IGlmICghbnVtYmVyT2ZCdWZmZXJzKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBDaGVj
a2VkU2l6ZSBidWZmZXJMaXN0U2l6ZSA9IHNpemVvZihBdWRpb0J1ZmZlckxpc3QpIC0gc2l6ZW9m
KEF1ZGlvQnVmZmVyKTsKLSAgICBidWZmZXJMaXN0U2l6ZSArPSBudW1iZXJPZkJ1ZmZlcnMgKiBz
aXplb2YoQXVkaW9CdWZmZXIpOworICAgIGJ1ZmZlckxpc3RTaXplICs9IFdURjo6Y2hlY2tlZFBy
b2R1Y3Q8c2l6ZV90PihudW1iZXJPZkJ1ZmZlcnMsIHNpemVvZihBdWRpb0J1ZmZlcikpOwogICAg
IGlmIChidWZmZXJMaXN0U2l6ZS5oYXNPdmVyZmxvd2VkKCkpCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogCkBAIC04NywxMCArMTAyLDkwIEBAIHN0YXRpYyBib29sIHZhbGlkYXRlQXVkaW9CdWZm
ZXJMaXN0KEF1ZGlvQnVmZmVyTGlzdCogYnVmZmVyTGlzdCkKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAorLy8gT24gc3RhY2sgUkFJSSBjbGFzcyB0aGF0IHdpbGwgZnJlZSB0aGUgYWxsb2NhdGVkIEF1
ZGlvQnVmZmVyTGlzdCBhcyBuZWVkZWQuCitjbGFzcyBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgewor
cHVibGljOgorICAgIGV4cGxpY2l0IEF1ZGlvQnVmZmVyTGlzdEhvbGRlcihzaXplX3QgbnVtYmVy
T2ZDaGFubmVscykKKyAgICAgICAgOiBtX2J1ZmZlckxpc3QodHJ5Q3JlYXRlQXVkaW9CdWZmZXJM
aXN0KG51bWJlck9mQ2hhbm5lbHMpKQorICAgIHsKKyAgICB9CisKKyAgICB+QXVkaW9CdWZmZXJM
aXN0SG9sZGVyKCkKKyAgICB7CisgICAgICAgIGlmIChtX2J1ZmZlckxpc3QpCisgICAgICAgICAg
ICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7CisgICAgfQorCisgICAgZXhw
bGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuICEhbV9idWZmZXJMaXN0OyB9Cisg
ICAgQXVkaW9CdWZmZXJMaXN0KiBvcGVyYXRvci0+KCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXJM
aXN0OyB9CisgICAgQXVkaW9CdWZmZXJMaXN0KiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVybiBt
X2J1ZmZlckxpc3Q7IH0KKyAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiB2YWxpZGF0
ZUF1ZGlvQnVmZmVyTGlzdChtX2J1ZmZlckxpc3QpOyB9Citwcml2YXRlOgorICAgIEF1ZGlvQnVm
ZmVyTGlzdCogbV9idWZmZXJMaXN0OworfTsKKworc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBr
T3B1c01heEZyYW1lTGVuZ3RoID0gOTQ7CitzdGF0aWMgY29uc3RleHByIHVpbnQzMl90IGtWb3Ji
aXNNYXhGcmFtZUxlbmd0aCA9IDQwOTY7CisKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRh
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKworcHVibGljOgorI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCisgICAgU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25T
ZWdtZW50IG1faW5pdFNlZ21lbnQ7CisjZW5kaWYKKyAgICBNZWRpYVRpbWUgbV9kdXJhdGlvbjsK
KyAgICBWZWN0b3I8UmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4+IG1fc2FtcGxlczsKK307CisKIEF1
ZGlvRmlsZVJlYWRlcjo6QXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBk
YXRhU2l6ZSkKICAgICA6IG1fZGF0YShkYXRhKQogICAgICwgbV9kYXRhU2l6ZShkYXRhU2l6ZSkK
KyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIG1fbG9nZ2VyKExvZ2dlcjo6Y3JlYXRl
KHRoaXMpKQorICAgICwgbV9sb2dJZGVudGlmaWVyKExvZ2dlckhlbHBlcjo6dW5pcXVlTG9nSWRl
bnRpZmllcigpKQorI2VuZGlmCiB7CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBpZiAo
aXNNYXliZVdlYk0oc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEpLCBkYXRhU2l6ZSkp
IHsKKyAgICAgICAgYXV0byBwYXJzZXIgPSBhZG9wdFJlZihuZXcgU291cmNlQnVmZmVyUGFyc2Vy
V2ViTSgpKTsKKyAgICAgICAgYm9vbCBlcnJvciA9IGZhbHNlOworICAgICAgICBzdGQ6Om9wdGlv
bmFsPHVpbnQ2NF90PiBhdWRpb1RyYWNrSWQ7CisgICAgICAgIE1lZGlhVGltZSBkdXJhdGlvbjsK
KyAgICAgICAgU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25TZWdtZW50IGlu
aXRTZWdtZW50OworICAgICAgICBWZWN0b3I8UmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4+IHNhbXBs
ZXM7CisgICAgICAgIHBhcnNlci0+c2V0RGlkRW5jb3VudGVyRXJyb3JEdXJpbmdQYXJzaW5nQ2Fs
bGJhY2soWyZdKHVpbnQ2NF90KSB7CisgICAgICAgICAgICBlcnJvciA9IHRydWU7CisgICAgICAg
IH0pOworICAgICAgICBwYXJzZXItPnNldERpZFBhcnNlSW5pdGlhbGl6YXRpb25EYXRhQ2FsbGJh
Y2soWyZdKFNvdXJjZUJ1ZmZlclBhcnNlcldlYk06OkluaXRpYWxpemF0aW9uU2VnbWVudCYmIGlu
aXQpIHsKKyAgICAgICAgICAgIGZvciAoYXV0byYgYXVkaW9UcmFjayA6IGluaXQuYXVkaW9UcmFj
a3MpIHsKKyAgICAgICAgICAgICAgICBpZiAoYXVkaW9UcmFjay50cmFjayAmJiBhdWRpb1RyYWNr
LnRyYWNrLT50cmFja1VJRCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uID0gaW5p
dC5kdXJhdGlvbjsKKyAgICAgICAgICAgICAgICAgICAgYXVkaW9UcmFja0lkID0gYXVkaW9UcmFj
ay50cmFjay0+dHJhY2tVSUQoKTsKKyAgICAgICAgICAgICAgICAgICAgaW5pdFNlZ21lbnQgPSBX
VEZNb3ZlKGluaXQpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9KTsKKyAgICAgICAgcGFyc2VyLT5zZXREaWRQ
cm92aWRlTWVkaWFEYXRhQ2FsbGJhY2soWyZdKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUsIHVp
bnQ2NF90IHRyYWNrSUQsIGNvbnN0IFN0cmluZyYpIHsKKyAgICAgICAgICAgIGlmICghYXVkaW9U
cmFja0lkIHx8IHRyYWNrSUQgIT0gKmF1ZGlvVHJhY2tJZCkKKyAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9O
KGlzPE1lZGlhU2FtcGxlQVZGT2JqQz4oc2FtcGxlLmdldCgpKSk7CisgICAgICAgICAgICBzYW1w
bGVzLmFwcGVuZChzdGF0aWNfcmVmZXJlbmNlX2Nhc3Q8TWVkaWFTYW1wbGVBVkZPYmpDPihXVEZN
b3ZlKHNhbXBsZSkpKTsKKyAgICAgICAgfSk7CisgICAgICAgIHBhcnNlci0+c2V0Q2FsbE9uQ2xp
ZW50VGhyZWFkQ2FsbGJhY2soW10oV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rpb24pIHsK
KyAgICAgICAgICAgIGZ1bmN0aW9uKCk7CisgICAgICAgIH0pOworICAgICAgICBWZWN0b3I8dWlu
dDhfdD4gdmVjdG9yKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwgZGF0YVNpemUp
OworICAgICAgICBTb3VyY2VCdWZmZXJQYXJzZXI6OlNlZ21lbnQgc2VnbWVudChXVEZNb3ZlKHZl
Y3RvcikpOworICAgICAgICBwYXJzZXItPmFwcGVuZERhdGEoV1RGTW92ZShzZWdtZW50KSk7Cisg
ICAgICAgIGlmIChhdWRpb1RyYWNrSWQpIHsKKyAgICAgICAgICAgIHBhcnNlci0+Zmx1c2hQZW5k
aW5nQXVkaW9CdWZmZXJzKCk7CisgICAgICAgICAgICBtX3dlYm1EYXRhID0gbWFrZVVuaXF1ZTxB
dWRpb0ZpbGVSZWFkZXJXZWJNRGF0YT4oQXVkaW9GaWxlUmVhZGVyV2ViTURhdGEgeyBXVEZNb3Zl
KGluaXRTZWdtZW50KSwgV1RGTW92ZShkdXJhdGlvbiksIFdURk1vdmUoc2FtcGxlcykgfSk7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgogICAgIGlmIChQQUw6OkF1
ZGlvRmlsZU9wZW5XaXRoQ2FsbGJhY2tzKHRoaXMsIHJlYWRQcm9jLCAwLCBnZXRTaXplUHJvYywg
MCwgMCwgJm1fYXVkaW9GaWxlSUQpICE9IG5vRXJyKQogICAgICAgICByZXR1cm47CiAKQEAgLTEx
MSw2ICsyMDYsMTIgQEAgQXVkaW9GaWxlUmVhZGVyOjp+QXVkaW9GaWxlUmVhZGVyKCkKICAgICBt
X2F1ZGlvRmlsZUlEID0gMDsKIH0KIAorYm9vbCBBdWRpb0ZpbGVSZWFkZXI6OmlzTWF5YmVXZWJN
KGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkgY29uc3QKK3sKKyAgICAvLyBG
cm9tIGh0dHBzOi8vbWltZXNuaWZmLnNwZWMud2hhdHdnLm9yZy8jc2lnbmF0dXJlLWZvci13ZWJt
CisgICAgcmV0dXJuIGRhdGFTaXplID49IDQgJiYgZGF0YVswXSA9PSAweDFBICYmIGRhdGFbMV0g
PT0gMHg0NSAmJiBkYXRhWzJdID09IDB4REYgJiYgZGF0YVszXSA9PSAweEEzOworfQorCiBPU1N0
YXR1cyBBdWRpb0ZpbGVSZWFkZXI6OnJlYWRQcm9jKHZvaWQqIGNsaWVudERhdGEsIFNJbnQ2NCBw
b3NpdGlvbiwgVUludDMyIHJlcXVlc3RDb3VudCwgdm9pZCogYnVmZmVyLCBVSW50MzIqIGFjdHVh
bENvdW50KQogewogICAgIGF1dG8qIGF1ZGlvRmlsZVJlYWRlciA9IHN0YXRpY19jYXN0PEF1ZGlv
RmlsZVJlYWRlcio+KGNsaWVudERhdGEpOwpAQCAtMTM2LDY3ICsyMzcsMTcyIEBAIFNJbnQ2NCBB
dWRpb0ZpbGVSZWFkZXI6OmdldFNpemVQcm9jKHZvaWQqIGNsaWVudERhdGEpCiAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PEF1ZGlvRmlsZVJlYWRlcio+KGNsaWVudERhdGEpLT5kYXRhU2l6ZSgpOwog
fQogCi1SZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNh
bXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQorc3RydWN0IFBhc3N0aHJvdWdoVXNlckRhdGEgewor
ICAgIFVJbnQzMiBtX2NoYW5uZWxzOworICAgIFVJbnQzMiBtX2RhdGFTaXplOworICAgIGNvbnN0
IHZvaWQqIG1fZGF0YTsKKyAgICBVSW50MzIgbV9pbmRleDsKKyAgICBVSW50MzIgbV9udW1QYWNr
ZXRzOworICAgIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24qIG1fcGFja2V0czsKK307CisK
Ky8vIEVycm9yIHZhbHVlIHdlIHBhc3MgdGhyb3VnaCB0aGUgZGVjb2RlciB0byBzaWduYWwgdGhh
dCBub3RoaW5nCisvLyBoYXMgZ29uZSB3cm9uZyBkdXJpbmcgZGVjb2RpbmcgYW5kIHdlJ3JlIGRv
bmUgcHJvY2Vzc2luZyB0aGUgcGFja2V0LgorY29uc3QgdWludDMyX3Qga05vTW9yZURhdGFFcnIg
PSAnTU9BUic7CisKK3N0YXRpYyBPU1N0YXR1cyBwYXNzdGhyb3VnaElucHV0RGF0YUNhbGxiYWNr
KAorICAgIEF1ZGlvQ29udmVydGVyUmVmLCBVSW50MzIqIG51bURhdGFQYWNrZXRzLCBBdWRpb0J1
ZmZlckxpc3QqIGRhdGEsIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24qKiBwYWNrZXREZXNj
LCB2b2lkKiBpblVzZXJEYXRhKQoreworICAgIFBhc3N0aHJvdWdoVXNlckRhdGEqIHVzZXJEYXRh
ID0gKFBhc3N0aHJvdWdoVXNlckRhdGEqKWluVXNlckRhdGE7CisgICAgaWYgKHVzZXJEYXRhLT5t
X2luZGV4ID09IHVzZXJEYXRhLT5tX251bVBhY2tldHMpIHsKKyAgICAgICAgKm51bURhdGFQYWNr
ZXRzID0gMDsKKyAgICAgICAgcmV0dXJuIGtOb01vcmVEYXRhRXJyOworICAgIH0KKworICAgIGlm
IChwYWNrZXREZXNjKSB7CisgICAgICAgIGlmICh1c2VyRGF0YS0+bV9pbmRleCA+PSB1c2VyRGF0
YS0+bV9udW1QYWNrZXRzKSB7CisgICAgICAgICAgICAqbnVtRGF0YVBhY2tldHMgPSAwOworICAg
ICAgICAgICAgcmV0dXJuIGtBdWRpb0NvbnZlcnRlckVycl9SZXF1aXJlc1BhY2tldERlc2NyaXB0
aW9uc0Vycm9yOworICAgICAgICB9CisgICAgICAgICpwYWNrZXREZXNjID0gJnVzZXJEYXRhLT5t
X3BhY2tldHNbdXNlckRhdGEtPm1faW5kZXhdOworICAgIH0KKworICAgIGRhdGEtPm1CdWZmZXJz
WzBdLm1OdW1iZXJDaGFubmVscyA9IHVzZXJEYXRhLT5tX2NoYW5uZWxzOworICAgIGRhdGEtPm1C
dWZmZXJzWzBdLm1EYXRhQnl0ZVNpemUgPSB1c2VyRGF0YS0+bV9kYXRhU2l6ZTsKKyAgICBkYXRh
LT5tQnVmZmVyc1swXS5tRGF0YSA9IGNvbnN0X2Nhc3Q8dm9pZCo+KHVzZXJEYXRhLT5tX2RhdGEp
OworCisgICAgKm51bURhdGFQYWNrZXRzID0gMTsKKyAgICB1c2VyRGF0YS0+bV9pbmRleCsrOwor
CisgICAgcmV0dXJuIG5vRXJyOworfQorCitzc2l6ZV90IEF1ZGlvRmlsZVJlYWRlcjo6bnVtYmVy
T2ZGcmFtZXMoKSBjb25zdAogeworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSAwOwor
CisgICAgaWYgKG1fd2VibURhdGEpIHsKKyAgICAgICAgaWYgKG1fd2VibURhdGEtPm1fc2FtcGxl
cy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgLy8gQ2FsY3Vs
YXRlIHRoZSB0b3RhbCBudW1iZXIgb2YgZGVjb2RlZCBzYW1wbGVzIHRoYXQgd2VyZSBkZW11eGVk
LgorICAgICAgICAvLyBUaGlzIGNvZGUgb25seSBoYW5kbGUgdGhlIENNU2FtcGxlQnVmZmVyIGFz
IGdlbmVyYXRlZCBieSB0aGUgU291cmNlQnVmZmVyUGFyc2VyV2ViTQorICAgICAgICAvLyB3aGVy
ZSBhIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zIGFycmF5IGlzIGFsd2F5cyBwcm92aWRl
ZCBldmVuIHdpdGgKKyAgICAgICAgLy8gQ29uc3RhbnQgYml0cmF0ZSBhbmQgY29uc3RhbnQgZnJh
bWVzLXBlci1wYWNrZXQgYXVkaW8uCisgICAgICAgIGZvciAoYXV0byYgc2FtcGxlIDogbV93ZWJt
RGF0YS0+bV9zYW1wbGVzKSB7CisgICAgICAgICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVC
dWZmZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICAgICAgY29uc3QgQ01Gb3Jt
YXREZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbiA9IFBBTDo6Q01TYW1wbGVCdWZmZXJH
ZXRGb3JtYXREZXNjcmlwdGlvbihzYW1wbGVCdWZmZXIpOworICAgICAgICAgICAgaWYgKCFmb3Jt
YXREZXNjcmlwdGlvbikKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBj
b25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNNQXVk
aW9Gb3JtYXREZXNjcmlwdGlvbkdldFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3Jp
cHRpb24pOworICAgICAgICAgICAgaWYgKCFhc2JkKQorICAgICAgICAgICAgICAgIHJldHVybiAt
MTsKKworICAgICAgICAgICAgc2l6ZV90IHBhY2tldERlc2NyaXB0aW9uc1NpemU7CisgICAgICAg
ICAgICBpZiAoUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRp
b25zKHNhbXBsZUJ1ZmZlciwgMCwgbnVsbHB0ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUpICE9
IG5vRXJyKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIHNpemVfdCBu
dW1EZXNjcmlwdGlvbnMgPSBwYWNrZXREZXNjcmlwdGlvbnNTaXplIC8gc2l6ZW9mKEF1ZGlvU3Ry
ZWFtUGFja2V0RGVzY3JpcHRpb24pOworICAgICAgICAgICAgaWYgKCFudW1EZXNjcmlwdGlvbnMp
CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgYXV0byBkZXNjcmlwdGlv
bnMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPihu
dW1EZXNjcmlwdGlvbnMpOworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRB
dWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIHBhY2tldERlc2NyaXB0
aW9uc1NpemUsIGRlc2NyaXB0aW9ucy5nZXQoKSwgbnVsbHB0cikgIT0gbm9FcnIpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgQ01JdGVtQ291bnQgbnVtUGFja2V0cyA9
IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXROdW1TYW1wbGVzKHNhbXBsZUJ1ZmZlcik7CisgICAgICAg
ICAgICBpZiAobnVtRGVzY3JpcHRpb25zICE9IHNpemVfdChudW1QYWNrZXRzKSkgeworICAgICAg
ICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5oYW5kbGVkIENNU2FtcGxl
QnVmZmVyIHN0cnVjdHVyZSIpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtRGVzY3JpcHRpb25z
OyBpKyspIHsKKyAgICAgICAgICAgICAgICB1aW50MzJfdCBmcHAgPSBkZXNjcmlwdGlvbnNbaV0u
bVZhcmlhYmxlRnJhbWVzSW5QYWNrZXQgPyBkZXNjcmlwdGlvbnNbaV0ubVZhcmlhYmxlRnJhbWVz
SW5QYWNrZXQgOiBhc2JkLT5tRnJhbWVzUGVyUGFja2V0OworICAgICAgICAgICAgICAgIG51bWJl
ck9mRnJhbWVzSW42NCArPSBmcHA7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAg
cmV0dXJuIG51bWJlck9mRnJhbWVzSW42NDsKKyAgICB9CisKICAgICBpZiAoIW1fZXh0QXVkaW9G
aWxlUmVmKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIC0xOwogCi0g
ICAgLy8gR2V0IGZpbGUncyBkYXRhIGZvcm1hdAotICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKG1f
ZmlsZURhdGFGb3JtYXQpOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1f
ZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZz
aXplLCAmbV9maWxlRGF0YUZvcm1hdCkgIT0gbm9FcnIpCi0gICAgICAgIHJldHVybiBudWxscHRy
OworICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKG51bWJlck9mRnJhbWVzSW42NCk7CisgICAgaWYg
KFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRp
b0ZpbGVQcm9wZXJ0eV9GaWxlTGVuZ3RoRnJhbWVzLCAmc2l6ZSwgJm51bWJlck9mRnJhbWVzSW42
NCkgIT0gbm9FcnIgfHwgbnVtYmVyT2ZGcmFtZXNJbjY0IDw9IDApCisgICAgICAgIHJldHVybiAt
MTsKIAotICAgIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzID0gbV9maWxlRGF0YUZvcm1hdC5tQ2hh
bm5lbHNQZXJGcmFtZTsKKyAgICByZXR1cm4gbnVtYmVyT2ZGcmFtZXNJbjY0OworfQogCi0gICAg
Ly8gTnVtYmVyIG9mIGZyYW1lcwotICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lczY0ID0gMDsKLSAg
ICBzaXplID0gc2l6ZW9mKG51bWJlck9mRnJhbWVzNjQpOwotICAgIGlmIChQQUw6OkV4dEF1ZGlv
RmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlf
RmlsZUxlbmd0aEZyYW1lcywgJnNpemUsICZudW1iZXJPZkZyYW1lczY0KSAhPSBub0VyciB8fCBu
dW1iZXJPZkZyYW1lczY0IDw9IDApCi0gICAgICAgIHJldHVybiBudWxscHRyOworc3RkOjpvcHRp
b25hbDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+IEF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURh
dGFGb3JtYXQoKSBjb25zdAoreworICAgIGlmIChtX3dlYm1EYXRhKSB7CisgICAgICAgIGlmICht
X3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsK
KworICAgICAgICBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0gUEFM
OjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKG1fd2VibURhdGEtPm1fc2FtcGxl
c1swXS0+c2FtcGxlQnVmZmVyKCkpOworICAgICAgICBpZiAoIWZvcm1hdERlc2NyaXB0aW9uKQor
ICAgICAgICAgICAgcmV0dXJuIHsgfTsKKworICAgICAgICBjb25zdCBBdWRpb1N0cmVhbUJhc2lj
RGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNNQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkdl
dFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3JpcHRpb24pOworICAgICAgICByZXR1
cm4gKmFzYmQ7CisgICAgfQogCi0gICAgZG91YmxlIGZpbGVTYW1wbGVSYXRlID0gbV9maWxlRGF0
YUZvcm1hdC5tU2FtcGxlUmF0ZTsKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gZm9y
bWF0OworICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKGZvcm1hdCk7CisgICAgaWYgKFBBTDo6RXh0
QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9w
ZXJ0eV9GaWxlRGF0YUZvcm1hdCwgJnNpemUsICZmb3JtYXQpICE9IG5vRXJyKQorICAgICAgICBy
ZXR1cm4geyB9OworICAgIHJldHVybiBmb3JtYXQ7Cit9CiAKK0F1ZGlvU3RyZWFtQmFzaWNEZXNj
cmlwdGlvbiBBdWRpb0ZpbGVSZWFkZXI6OmNsaWVudERhdGFGb3JtYXQoY29uc3QgQXVkaW9TdHJl
YW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwgZmxvYXQgc2FtcGxlUmF0ZSkgY29uc3QKK3sK
ICAgICAvLyBNYWtlIGNsaWVudCBmb3JtYXQgc2FtZSBudW1iZXIgb2YgY2hhbm5lbHMgYXMgZmls
ZSBmb3JtYXQsIGJ1dCB0d2VhayBhIGZldyB0aGluZ3MuCiAgICAgLy8gQ2xpZW50IGZvcm1hdCB3
aWxsIGJlIGxpbmVhciBQQ00gKGNhbm9uaWNhbCksIGFuZCBwb3RlbnRpYWxseSBjaGFuZ2Ugc2Ft
cGxlLXJhdGUuCi0gICAgbV9jbGllbnREYXRhRm9ybWF0ID0gbV9maWxlRGF0YUZvcm1hdDsKKyAg
ICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gb3V0Rm9ybWF0ID0gaW5Gb3JtYXQ7CiAKICAg
ICBjb25zdCBpbnQgYnl0ZXNQZXJGbG9hdCA9IHNpemVvZihGbG9hdDMyKTsKICAgICBjb25zdCBp
bnQgYml0c1BlckJ5dGUgPSA4OwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tRm9ybWF0SUQgPSBr
QXVkaW9Gb3JtYXRMaW5lYXJQQ007Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1Gb3JtYXRGbGFn
cyA9IGtBdWRpb0Zvcm1hdEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQgfCBrQXVkaW9Gb3JtYXRGbGFn
SXNOb25JbnRlcmxlYXZlZDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJ5dGVzUGVyUGFja2V0
ID0gYnl0ZXNQZXJGbG9hdDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUZyYW1lc1BlclBhY2tl
dCA9IDE7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1CeXRlc1BlckZyYW1lID0gYnl0ZXNQZXJG
bG9hdDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUNoYW5uZWxzUGVyRnJhbWUgPSBudW1iZXJP
ZkNoYW5uZWxzOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQml0c1BlckNoYW5uZWwgPSBiaXRz
UGVyQnl0ZSAqIGJ5dGVzUGVyRmxvYXQ7CisgICAgb3V0Rm9ybWF0Lm1Gb3JtYXRJRCA9IGtBdWRp
b0Zvcm1hdExpbmVhclBDTTsKKyAgICBvdXRGb3JtYXQubUZvcm1hdEZsYWdzID0ga0F1ZGlvRm9y
bWF0RmxhZ3NOYXRpdmVGbG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1hdEZsYWdJc05vbkludGVybGVh
dmVkOworICAgIG91dEZvcm1hdC5tQnl0ZXNQZXJQYWNrZXQgPSBvdXRGb3JtYXQubUJ5dGVzUGVy
RnJhbWUgPSBieXRlc1BlckZsb2F0OworICAgIG91dEZvcm1hdC5tRnJhbWVzUGVyUGFja2V0ID0g
MTsKKyAgICBvdXRGb3JtYXQubUJpdHNQZXJDaGFubmVsID0gYml0c1BlckJ5dGUgKiBieXRlc1Bl
ckZsb2F0OwogCiAgICAgaWYgKHNhbXBsZVJhdGUpCi0gICAgICAgIG1fY2xpZW50RGF0YUZvcm1h
dC5tU2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7CisgICAgICAgIG91dEZvcm1hdC5tU2FtcGxlUmF0
ZSA9IHNhbXBsZVJhdGU7CisKKyAgICByZXR1cm4gb3V0Rm9ybWF0OworfQogCi0gICAgaWYgKFBB
TDo6RXh0QXVkaW9GaWxlU2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0Zp
bGVQcm9wZXJ0eV9DbGllbnREYXRhRm9ybWF0LCBzaXplb2YoQXVkaW9TdHJlYW1CYXNpY0Rlc2Ny
aXB0aW9uKSwgJm1fY2xpZW50RGF0YUZvcm1hdCkgIT0gbm9FcnIpCitSZWZQdHI8QXVkaW9CdXM+
IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9N
b25vKQoreworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSBudW1iZXJPZkZyYW1lcygp
OworICAgIGlmIChudW1iZXJPZkZyYW1lc0luNjQgPD0gMCkKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAKLSAgICAvLyBDaGFuZ2UgbnVtYmVyT2ZGcmFtZXM2NCB0byBkZXN0aW5hdGlvbiBzYW1w
bGUtcmF0ZQotICAgIG51bWJlck9mRnJhbWVzNjQgPSBudW1iZXJPZkZyYW1lczY0ICogKG1fY2xp
ZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVSYXRlKTsKLSAgICBzaXplX3Qg
bnVtYmVyT2ZGcmFtZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51bWJlck9mRnJhbWVzNjQpOwor
ICAgIGF1dG8gaW5Gb3JtYXQgPSBmaWxlRGF0YUZvcm1hdCgpOworICAgIGlmICghaW5Gb3JtYXQp
CisgICAgICAgIHJldHVybiBudWxscHRyOwogCisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0
aW9uIG91dEZvcm1hdCA9IGNsaWVudERhdGFGb3JtYXQoKmluRm9ybWF0LCBzYW1wbGVSYXRlKTsK
KyAgICBzaXplX3QgbnVtYmVyT2ZDaGFubmVscyA9IGluRm9ybWF0LT5tQ2hhbm5lbHNQZXJGcmFt
ZTsKKyAgICBkb3VibGUgZmlsZVNhbXBsZVJhdGUgPSBpbkZvcm1hdC0+bVNhbXBsZVJhdGU7Cisg
ICAgU0ludDY0IG51bWJlck9mRnJhbWVzT3V0NjQgPSBudW1iZXJPZkZyYW1lc0luNjQgKiAob3V0
Rm9ybWF0Lm1TYW1wbGVSYXRlIC8gZmlsZVNhbXBsZVJhdGUpOworICAgIHNpemVfdCBudW1iZXJP
ZkZyYW1lcyA9IHN0YXRpY19jYXN0PHNpemVfdD4obnVtYmVyT2ZGcmFtZXNPdXQ2NCk7CiAgICAg
c2l6ZV90IGJ1c0NoYW5uZWxDb3VudCA9IG1peFRvTW9ubyA/IDEgOiBudW1iZXJPZkNoYW5uZWxz
OwogCiAgICAgLy8gQ3JlYXRlIEF1ZGlvQnVzIHdoZXJlIHdlJ2xsIHB1dCB0aGUgUENNIGF1ZGlv
IGRhdGEKICAgICBhdXRvIGF1ZGlvQnVzID0gQXVkaW9CdXM6OmNyZWF0ZShidXNDaGFubmVsQ291
bnQsIG51bWJlck9mRnJhbWVzKTsKLSAgICBhdWRpb0J1cy0+c2V0U2FtcGxlUmF0ZShuYXJyb3dQ
cmVjaXNpb25Ub0Zsb2F0KG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSkpOyAvLyBzYXZl
IGZvciBsYXRlcgotCi0gICAgLy8gT25seSBhbGxvY2F0ZWQgaW4gdGhlIG1peFRvTW9ubyBjYXNl
OyBkZWFsbG9jYXRlZCBvbiBkZXN0cnVjdGlvbi4KLSAgICBBdWRpb0Zsb2F0QXJyYXkgbGVmdENo
YW5uZWw7Ci0gICAgQXVkaW9GbG9hdEFycmF5IHJpZ2h0Q2hhbm5lbDsKKyAgICBhdWRpb0J1cy0+
c2V0U2FtcGxlUmF0ZShuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KG91dEZvcm1hdC5tU2FtcGxlUmF0
ZSkpOyAvLyBzYXZlIGZvciBsYXRlcgogCi0gICAgQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0
ID0gdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOworICAgIEF1ZGlv
QnVmZmVyTGlzdEhvbGRlciBidWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmICgh
YnVmZmVyTGlzdCkgewogICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgInRyeUNy
ZWF0ZUF1ZGlvQnVmZmVyTGlzdCglbGQpIHJldHVybmVkIG51bGwiLCBudW1iZXJPZkNoYW5uZWxz
KTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogICAgIGNvbnN0IHNpemVfdCBidWZm
ZXJTaXplID0gbnVtYmVyT2ZGcmFtZXMgKiBzaXplb2YoZmxvYXQpOwogCisgICAgLy8gT25seSBh
bGxvY2F0ZWQgaW4gdGhlIG1peFRvTW9ubyBjYXNlOyBkZWFsbG9jYXRlZCBvbiBkZXN0cnVjdGlv
bi4KKyAgICBBdWRpb0Zsb2F0QXJyYXkgbGVmdENoYW5uZWw7CisgICAgQXVkaW9GbG9hdEFycmF5
IHJpZ2h0Q2hhbm5lbDsKKwogICAgIFJFTEVBU0VfQVNTRVJUKGJ1ZmZlckxpc3QtPm1OdW1iZXJC
dWZmZXJzID09IG51bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmIChtaXhUb01vbm8gJiYgbnVtYmVy
T2ZDaGFubmVscyA9PSAyKSB7CiAgICAgICAgIGxlZnRDaGFubmVsLnJlc2l6ZShudW1iZXJPZkZy
YW1lcyk7CkBAIC0yMjIsMTggKzQyOCw4NyBAQCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJl
YWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQogICAgICAg
ICB9CiAgICAgfQogCi0gICAgaWYgKCF2YWxpZGF0ZUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0
KSkgeworICAgIGlmICghYnVmZmVyTGlzdC5pc1ZhbGlkKCkpIHsKICAgICAgICAgUkVMRUFTRV9M
T0dfRkFVTFQoV2ViQXVkaW8sICJHZW5lcmF0ZWQgYnVmZmVyIGluIEF1ZGlvRmlsZVJlYWRlcjo6
Y3JlYXRlQnVzKCkgZGlkIG5vdCBwYXNzIHZhbGlkYXRpb24iKTsKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIC8vIFJlYWQgZnJvbSB0aGUg
ZmlsZSAob3IgaW4tbWVtb3J5IHZlcnNpb24pCi0gICAgVUludDMyIGZyYW1lc1RvUmVhZCA9IG51
bWJlck9mRnJhbWVzOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVJlYWQobV9leHRBdWRpb0Zp
bGVSZWYsICZmcmFtZXNUb1JlYWQsIGJ1ZmZlckxpc3QpICE9IG5vRXJyKSB7Ci0gICAgICAgIGRl
c3Ryb3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7Ci0gICAgICAgIHJldHVybiBudWxscHRy
OworICAgIGlmIChtX3dlYm1EYXRhKSB7CisgICAgICAgIEF1ZGlvQ29udmVydGVyUmVmIGNvbnZl
cnRlcjsKKyAgICAgICAgaWYgKFBBTDo6QXVkaW9Db252ZXJ0ZXJOZXcoJippbkZvcm1hdCwgJm91
dEZvcm1hdCwgJmNvbnZlcnRlcikgIT0gbm9FcnIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICAgICAgYXV0byBjbGVhbnVwID0gbWFrZVNjb3BlRXhpdChbJl0geworICAgICAgICAg
ICAgUEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bvc2UoY29udmVydGVyKTsKKyAgICAgICAgfSk7Cisg
ICAgICAgIENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0RGVzY3JpcHRpb24gPSBQQUw6OkNN
U2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24obV93ZWJtRGF0YS0+bV9zYW1wbGVzWzBd
LT5zYW1wbGVCdWZmZXIoKSk7CisgICAgICAgIHNpemVfdCBtYWdpY0Nvb2tpZVNpemUgPSAwOwor
ICAgICAgICBjb25zdCB2b2lkKiBtYWdpY0Nvb2tpZSA9IFBBTDo6Q01BdWRpb0Zvcm1hdERlc2Ny
aXB0aW9uR2V0TWFnaWNDb29raWUoZm9ybWF0RGVzY3JpcHRpb24sICZtYWdpY0Nvb2tpZVNpemUp
OworICAgICAgICBpZiAobWFnaWNDb29raWUgJiYgbWFnaWNDb29raWVTaXplKQorICAgICAgICAg
ICAgUEFMOjpBdWRpb0NvbnZlcnRlclNldFByb3BlcnR5KGNvbnZlcnRlciwga0F1ZGlvQ29udmVy
dGVyRGVjb21wcmVzc2lvbk1hZ2ljQ29va2llLCBtYWdpY0Nvb2tpZVNpemUsIG1hZ2ljQ29va2ll
KTsKKworICAgICAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgZGVjb2RlZEJ1ZmZlckxpc3QobnVt
YmVyT2ZDaGFubmVscyk7CisgICAgICAgIGlmICghZGVjb2RlZEJ1ZmZlckxpc3QpCisgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBzaXplX3QgZGVjb2RlZEZyYW1lcyA9IDA7
CisgICAgICAgIE9TU3RhdHVzIHN0YXR1czsKKyAgICAgICAgZm9yIChhdXRvJiBzYW1wbGUgOiBt
X3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgICAgIENNU2FtcGxlQnVmZmVyUmVmIHNh
bXBsZUJ1ZmZlciA9IHNhbXBsZS0+c2FtcGxlQnVmZmVyKCk7CisgICAgICAgICAgICBhdXRvIGJ1
ZmZlciA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyKHNhbXBsZUJ1ZmZlcik7Cisg
ICAgICAgICAgICBBU1NFUlQoUEFMOjpDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMoYnVm
ZmVyLCAwLCAwKSk7CisgICAgICAgICAgICBpZiAoIVBBTDo6Q01CbG9ja0J1ZmZlcklzUmFuZ2VD
b250aWd1b3VzKGJ1ZmZlciwgMCwgMCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisKKyAgICAgICAgICAgIHNpemVfdCBzcmNTaXplID0gUEFMOjpDTUJsb2NrQnVmZmVyR2V0RGF0
YUxlbmd0aChidWZmZXIpOworICAgICAgICAgICAgY2hhciogc3JjRGF0YSA9IG51bGxwdHI7Cisg
ICAgICAgICAgICBpZiAoUEFMOjpDTUJsb2NrQnVmZmVyR2V0RGF0YVBvaW50ZXIoYnVmZmVyLCAw
LCBudWxscHRyLCBudWxscHRyLCAmc3JjRGF0YSkgIT0gbm9FcnIpCisgICAgICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAgIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNT
aXplOworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBh
Y2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIDAsIG51bGxwdHIsICZwYWNrZXREZXNjcmlw
dGlvbnNTaXplKSAhPSBub0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICAgICAgICAgIHNpemVfdCBudW1EZXNjcmlwdGlvbnMgPSBwYWNrZXREZXNjcmlwdGlvbnNTaXpl
IC8gc2l6ZW9mKEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24pOworICAgICAgICAgICAgaWYg
KCFudW1EZXNjcmlwdGlvbnMpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAg
ICAgICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IFdURjo6bWFrZVVuaXF1ZUFycmF5PEF1ZGlvU3Ry
ZWFtUGFja2V0RGVzY3JpcHRpb24+KG51bURlc2NyaXB0aW9ucyk7CisgICAgICAgICAgICBpZiAo
UEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBs
ZUJ1ZmZlciwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3JpcHRpb25zLmdldCgpLCBudWxs
cHRyKSAhPSBub0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAg
ICAgIFBhc3N0aHJvdWdoVXNlckRhdGEgdXNlckRhdGEgPSB7IFVJbnQzMihudW1iZXJPZkNoYW5u
ZWxzKSwgVUludDMyKHNyY1NpemUpLCBzcmNEYXRhLCAwLCBVSW50MzIobnVtRGVzY3JpcHRpb25z
KSwgZGVzY3JpcHRpb25zLmdldCgpIH07CisKKyAgICAgICAgICAgIGRvIHsKKyAgICAgICAgICAg
ICAgICBpZiAobnVtYmVyT2ZGcmFtZXMgPCBkZWNvZGVkRnJhbWVzKSB7CisgICAgICAgICAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiRGVjb2RlZCBtb3JlIGZyYW1lcyB0
aGFuIGZpcnN0IGNhbGN1bGF0ZWQiKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIC8vIGluOiB0aGUgbWF4IG51
bWJlciBvZiBwYWNrZXRzIHdlIGNhbiBoYW5kbGUgZnJvbSB0aGUgZGVjb2Rlci4KKyAgICAgICAg
ICAgICAgICAvLyBvdXQ6IHRoZSBudW1iZXIgb2YgcGFja2V0cyB0aGUgZGVjb2RlciBpcyBhY3R1
YWxseSByZXR1cm5pbmcuCisgICAgICAgICAgICAgICAgVUludDMyIG51bUZyYW1lcyA9IHN0ZDo6
bWluPHVpbnQzMl90PihudW1lcmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpIC8gc2l6ZW9mKGZs
b2F0KSwgbnVtYmVyT2ZGcmFtZXMgLSBkZWNvZGVkRnJhbWVzKTsKKworICAgICAgICAgICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtYmVyT2ZDaGFubmVsczsgaSsrKSB7CisgICAgICAg
ICAgICAgICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tTnVtYmVyQ2hhbm5l
bHMgPSAxOworICAgICAgICAgICAgICAgICAgICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNb
aV0ubURhdGFCeXRlU2l6ZSA9IG51bUZyYW1lcyAqIHNpemVvZihmbG9hdCk7CisgICAgICAgICAg
ICAgICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YSA9IHN0YXRpY19j
YXN0PGZsb2F0Kj4oYnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGEpICsgZGVjb2RlZEZyYW1l
czsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgc3RhdHVzID0gUEFMOjpBdWRp
b0NvbnZlcnRlckZpbGxDb21wbGV4QnVmZmVyKGNvbnZlcnRlciwgcGFzc3Rocm91Z2hJbnB1dERh
dGFDYWxsYmFjaywgJnVzZXJEYXRhLCAmbnVtRnJhbWVzLCAqZGVjb2RlZEJ1ZmZlckxpc3QsIG51
bGxwdHIpOworICAgICAgICAgICAgICAgIGlmIChzdGF0dXMgJiYgc3RhdHVzICE9IGtOb01vcmVE
YXRhRXJyKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAg
ICAgICBkZWNvZGVkRnJhbWVzICs9IG51bUZyYW1lczsKKyAgICAgICAgICAgIH0gd2hpbGUgKHN0
YXR1cyAhPSBrTm9Nb3JlRGF0YUVycik7CisgICAgICAgIH0KKworICAgICAgICAvLyBUaGUgYWN0
dWFsIGRlY29kZWQgbnVtYmVyIG9mIGZyYW1lcyBtYXkgbm90IG1hdGNoIHRoZSBudW1iZXIgb2Yg
ZnJhbWVzIGNhbGN1bGF0ZWQKKyAgICAgICAgLy8gd2hpbGUgZGVtdXhpbmcuIEl0IHdpbGwgYWx3
YXlzIGJlIGxvd2VyLgorICAgICAgICBhdWRpb0J1cy0+c2V0TGVuZ3RoKGRlY29kZWRGcmFtZXMp
OworICAgICAgICBudW1iZXJPZkZyYW1lcyA9IGRlY29kZWRGcmFtZXM7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlU2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVS
ZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9DbGllbnREYXRhRm9ybWF0LCBzaXplb2YoQXVkaW9T
dHJlYW1CYXNpY0Rlc2NyaXB0aW9uKSwgJm91dEZvcm1hdCkgIT0gbm9FcnIpCisgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAvLyBSZWFkIGZyb20gdGhlIGZpbGUgKG9yIGlu
LW1lbW9yeSB2ZXJzaW9uKQorICAgICAgICBVSW50MzIgZnJhbWVzVG9SZWFkID0gbnVtYmVyT2ZG
cmFtZXM7CisgICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVJlYWQobV9leHRBdWRpb0ZpbGVS
ZWYsICZmcmFtZXNUb1JlYWQsICpidWZmZXJMaXN0KSAhPSBub0VycikKKyAgICAgICAgICAgIHJl
dHVybiBudWxscHRyOwogICAgIH0KIAogICAgIGlmIChtaXhUb01vbm8gJiYgbnVtYmVyT2ZDaGFu
bmVscyA9PSAyKSB7CkBAIC0yNDMsOSArNTE4LDYgQEAgUmVmUHRyPEF1ZGlvQnVzPiBBdWRpb0Zp
bGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRvTW9ubykKICAg
ICAgICAgICAgIGRlc3RMW2ldID0gMC41ZiAqIChsZWZ0Q2hhbm5lbFtpXSArIHJpZ2h0Q2hhbm5l
bFtpXSk7CiAgICAgfQogCi0gICAgLy8gQ2xlYW51cAotICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxp
c3QoYnVmZmVyTGlzdCk7Ci0KICAgICByZXR1cm4gYXVkaW9CdXM7CiB9CiAKQEAgLTI1NSw2ICs1
MjcsMTMgQEAgUmVmUHRyPEF1ZGlvQnVzPiBjcmVhdGVCdXNGcm9tSW5NZW1vcnlBdWRpb0ZpbGUo
Y29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGRhdGFTaXoKICAgICByZXR1cm4gcmVhZGVyLmNyZWF0
ZUJ1cyhzYW1wbGVSYXRlLCBtaXhUb01vbm8pOwogfQogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FC
TEVECitXVEZMb2dDaGFubmVsJiBBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwoKSBjb25zdAor
eworICAgIHJldHVybiBMb2dNZWRpYTsKK30KKyNlbmRpZgorCiB9IC8vIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShXRUJfQVVESU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaAppbmRleCAwYmJiYmEy
Nzg1N2Q5NzllY2M2ODhmODdmMDMzOWY2NjVlZjQyNTI5Li5mNjE3MzM3OWUwMTM0YTFkYTViMzgy
MzhlZDM4YTVhYTIyYzlkOTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmgKQEAgLTMyLDYgKzMyLDgg
QEAKICNpZiBFTkFCTEUoV0VCX0FVRElPKQogCiAjaW5jbHVkZSA8Q29yZUF1ZGlvL0NvcmVBdWRp
b1R5cGVzLmg+CisjaW5jbHVkZSA8b3B0aW9uYWw+CisjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBl
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogdXNpbmcgRXh0QXVkaW9GaWxlUmVmID0g
c3RydWN0IE9wYXF1ZUV4dEF1ZGlvRmlsZSo7CkBAIC00MCwxMiArNDIsMTggQEAgdXNpbmcgQXVk
aW9GaWxlSUQgPSBzdHJ1Y3QgT3BhcXVlQXVkaW9GaWxlSUQqOwogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBBdWRpb0J1czsKK2NsYXNzIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk07CitjbGFz
cyBBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YTsKIAogLy8gV3JhcHBlciBjbGFzcyBmb3IgQXVkaW9G
aWxlIGFuZCBFeHRBdWRpb0ZpbGUgQ29yZUF1ZGlvIEFQSXMgZm9yIHJlYWRpbmcgZmlsZXMgYW5k
IGluLW1lbW9yeSB2ZXJzaW9ucyBvZiB0aGVtLi4uCiAKLWNsYXNzIEF1ZGlvRmlsZVJlYWRlciB7
CitjbGFzcyBBdWRpb0ZpbGVSZWFkZXIKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICA6
IHB1YmxpYyBMb2dnZXJIZWxwZXIKKyNlbmRpZgorewogcHVibGljOgotICAgIGV4cGxpY2l0IEF1
ZGlvRmlsZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpemUpOworICAgIEF1
ZGlvRmlsZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpemUpOwogICAgIH5B
dWRpb0ZpbGVSZWFkZXIoKTsKIAogICAgIFJlZlB0cjxBdWRpb0J1cz4gY3JlYXRlQnVzKGZsb2F0
IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKTsgLy8gUmV0dXJucyBudWxscHRyIG9uIGVycm9y
CkBAIC01Myw5ICs2MSwyMCBAQCBwdWJsaWM6CiAgICAgY29uc3Qgdm9pZCogZGF0YSgpIGNvbnN0
IHsgcmV0dXJuIG1fZGF0YTsgfQogICAgIHNpemVfdCBkYXRhU2l6ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZGF0YVNpemU7IH0KIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IExv
Z2dlciYgbG9nZ2VyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAg
ICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dJ
ZGVudGlmaWVyOyB9CisgICAgV1RGTG9nQ2hhbm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0IGZpbmFs
OworICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJB
dWRpb0ZpbGVSZWFkZXJDb2NvYSI7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIHN0YXRpYyBP
U1N0YXR1cyByZWFkUHJvYyh2b2lkKiBjbGllbnREYXRhLCBTSW50NjQgcG9zaXRpb24sIFVJbnQz
MiByZXF1ZXN0Q291bnQsIHZvaWQqIGJ1ZmZlciwgVUludDMyKiBhY3R1YWxDb3VudCk7CiAgICAg
c3RhdGljIFNJbnQ2NCBnZXRTaXplUHJvYyh2b2lkKiBjbGllbnREYXRhKTsKKyAgICBib29sIGlz
TWF5YmVXZWJNKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkgY29uc3Q7Cisg
ICAgc3NpemVfdCBudW1iZXJPZkZyYW1lcygpIGNvbnN0OworICAgIHN0ZDo6b3B0aW9uYWw8QXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uPiBmaWxlRGF0YUZvcm1hdCgpIGNvbnN0OworICAgIEF1
ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBjbGllbnREYXRhRm9ybWF0KGNvbnN0IEF1ZGlvU3Ry
ZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5Gb3JtYXQsIGZsb2F0IHNhbXBsZVJhdGUpIGNvbnN0Owog
CiAgICAgY29uc3Qgdm9pZCogbV9kYXRhID0geyBudWxscHRyIH07CiAgICAgc2l6ZV90IG1fZGF0
YVNpemUgPSB7IDAgfTsKQEAgLTYzLDggKzgyLDEzIEBAIHByaXZhdGU6CiAgICAgQXVkaW9GaWxl
SUQgbV9hdWRpb0ZpbGVJRCA9IHsgbnVsbHB0ciB9OwogICAgIEV4dEF1ZGlvRmlsZVJlZiBtX2V4
dEF1ZGlvRmlsZVJlZiA9IHsgbnVsbHB0ciB9OwogCi0gICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2Ny
aXB0aW9uIG1fZmlsZURhdGFGb3JtYXQ7Ci0gICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9u
IG1fY2xpZW50RGF0YUZvcm1hdDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9GaWxlUmVhZGVy
V2ViTURhdGE+IG1fd2VibURhdGE7CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBj
b25zdCBSZWY8TG9nZ2VyPiBtX2xvZ2dlcjsKKyAgICBjb25zdCB2b2lkKiBtX2xvZ0lkZW50aWZp
ZXI7CisjZW5kaWYKKwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaAppbmRleCBhMWU3MWJk
NTIyMzIyNDI1NzE2YzZiOWU1YWNlZDA2ZTU1ODI5MzNhLi42YWUzYjVjZDFmMmVmZDYyMzlmYjM0
ZDAxM2E1ODc3NmY0MThjNmY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaApAQCAtMzMsNyArMzMs
NiBAQAogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCi10eXBlZGVmIGNvbnN0IHN0cnVjdCBvcGFxdWVDTUZvcm1h
dERlc2NyaXB0aW9uICpDTUZvcm1hdERlc2NyaXB0aW9uUmVmOwogdHlwZWRlZiBzdHJ1Y3Qgb3Bh
cXVlQ01TYW1wbGVCdWZmZXIgKkNNU2FtcGxlQnVmZmVyUmVmOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRp
b1NhbXBsZURhdGFTb3VyY2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2Nv
YS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KaW5kZXggZDJiNWFjNDVmMzBmZDRhM2FmNTFiNDIw
ZGUzNzY0OWIxMTUxYzIyNy4uNzBkYzI0ODRhNWVkNjY4ODlmY2EzM2VlMjkxZWMxMDZhNWY5Zjlh
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9T
YW1wbGVEYXRhU291cmNlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2Nv
Y29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQpAQCAtMzksNiArMzksNyBAQAogI2ltcG9ydCA8
d3RmL1J1bkxvb3AuaD4KICNpbXBvcnQgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogCisjaW1w
b3J0IDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4KICNpbXBvcnQgPHBhbC9jZi9Db3Jl
TWVkaWFTb2Z0TGluay5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Nyw3ICs2OCw3IEBA
IEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6QXVkaW9TYW1wbGVEYXRhU291cmNlKHNpemVfdCBtYXhp
bXVtU2FtcGxlQ291bnQsIExvZ2dlckhlCiBBdWRpb1NhbXBsZURhdGFTb3VyY2U6On5BdWRpb1Nh
bXBsZURhdGFTb3VyY2UoKQogewogICAgIGlmIChtX2NvbnZlcnRlcikKLSAgICAgICAgQXVkaW9D
b252ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKKyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRl
ckRpc3Bvc2UobV9jb252ZXJ0ZXIpOwogfQogCiBPU1N0YXR1cyBBdWRpb1NhbXBsZURhdGFTb3Vy
Y2U6OnNldHVwQ29udmVydGVyKCkKQEAgLTc1LDE0ICs3NiwxNCBAQCBPU1N0YXR1cyBBdWRpb1Nh
bXBsZURhdGFTb3VyY2U6OnNldHVwQ29udmVydGVyKCkKICAgICBBU1NFUlQobV9pbnB1dERlc2Ny
aXB0aW9uICYmIG1fb3V0cHV0RGVzY3JpcHRpb24pOwogCiAgICAgaWYgKG1fY29udmVydGVyKSB7
Ci0gICAgICAgIEF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CisgICAgICAgIFBB
TDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKICAgICAgICAgbV9jb252ZXJ0
ZXIgPSBudWxscHRyOwogICAgIH0KIAogICAgIGlmICgqbV9pbnB1dERlc2NyaXB0aW9uID09ICpt
X291dHB1dERlc2NyaXB0aW9uKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIE9TU3RhdHVzIGVy
ciA9IEF1ZGlvQ29udmVydGVyTmV3KCZtX2lucHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0
aW9uKCksICZtX291dHB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9jb252
ZXJ0ZXIpOworICAgIE9TU3RhdHVzIGVyciA9IFBBTDo6QXVkaW9Db252ZXJ0ZXJOZXcoJm1faW5w
dXREZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fb3V0cHV0RGVzY3JpcHRpb24t
PnN0cmVhbURlc2NyaXB0aW9uKCksICZtX2NvbnZlcnRlcik7CiAgICAgaWYgKGVycikgewogICAg
ICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtl
UmVmUHRyKCp0aGlzKSwgZXJyXSB7CiAgICAgICAgICAgICBFUlJPUl9MT0coIkF1ZGlvQ29udmVy
dGVyTmV3IHJldHVybmVkIGVycm9yICIsIGVycik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW0KaW5kZXggZTNk
NmZhYzcwNDM2OTZmYzdlZTJhOTIxNWRiMjFhOGY3ZGY4MjVhNS4uYTMyZGY2MjA0OGQzMmQ3YjEz
NGRiZjU2ZGEwMDdiNzBlYzI0NzNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbQpAQCAtMjgsNiArMjgs
NyBAQAogCiAjaWYgRU5BQkxFKEdBTUVQQUQpICYmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCAi
R2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIuaCIKICNpbXBvcnQgIkdhbWVwYWRQcm92aWRl
ckNsaWVudC5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiUGxhdGZvcm1HYW1lcGFk
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1By
aXZhdGVCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJp
dmF0ZUJhc2UuY3BwCmluZGV4IDRkOGVlNjJlMDFiOGVhZWJhY2M2ZDI4YjNhMDk4NTI5NTJjNWQ4
MGEuLmMwNjZjMmQ0ODc5N2E0YWFiM2I5YmUyYTBlZGQ0ZDgzOGI0YmY1YzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0ZUJhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0ZUJhc2UuY3Bw
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFZJREVPKQogCiAjaW5jbHVkZSAiTG9nZ2lu
Zy5oIgotI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oCmluZGV4IGQw
M2NkYzhkZDYyNTQxNjA5OWE1MzcxMzVlZTExZWM5MTA3MzZhMDIuLmNjZjkwYWY4ZTQ4MjE0ZjY3
MTBkYzk0N2IxMDkwMjQyYjAzZDRkZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
U2FtcGxlQVZGT2JqQy5oCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgUGl4ZWxCdWZmZXI7CiAKLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZG
T2JqQyA6IHB1YmxpYyBNZWRpYVNhbXBsZSB7CitjbGFzcyBNZWRpYVNhbXBsZUFWRk9iakMgOiBw
dWJsaWMgTWVkaWFTYW1wbGUgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8TWVkaWFTYW1wbGVB
VkZPYmpDPiBjcmVhdGUoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCB1aW50NjRfdCB0cmFja0lE
KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU2FtcGxlQVZGT2JqQyhzYW1wbGUsIHRyYWNr
SUQpKTsgfQogICAgIHN0YXRpYyBSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPiBjcmVhdGUoQ01TYW1w
bGVCdWZmZXJSZWYgc2FtcGxlLCBBdG9tU3RyaW5nIHRyYWNrSUQpIHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgTWVkaWFTYW1wbGVBVkZPYmpDKHNhbXBsZSwgdHJhY2tJRCkpOyB9CkBAIC00NCw3ICs0
NCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRBc0Rpc3Bs
YXlJbW1lZGlhdGVseShNZWRpYVNhbXBsZSYpOwogICAgIHN0YXRpYyBSZXRhaW5QdHI8Q01TYW1w
bGVCdWZmZXJSZWY+IGNsb25lU2FtcGxlQnVmZmVyQW5kU2V0QXNEaXNwbGF5SW1tZWRpYXRlbHko
Q01TYW1wbGVCdWZmZXJSZWYpOwogCi0gICAgUmVmUHRyPEpTQzo6VWludDhDbGFtcGVkQXJyYXk+
IGdldFJHQkFJbWFnZURhdGEoKSBjb25zdCBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBS
ZWZQdHI8SlNDOjpVaW50OENsYW1wZWRBcnJheT4gZ2V0UkdCQUltYWdlRGF0YSgpIGNvbnN0IG92
ZXJyaWRlOwogCiAgICAgTWVkaWFUaW1lIHByZXNlbnRhdGlvblRpbWUoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBNZWRpYVRpbWUgZGVjb2RlVGltZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNTksMTYg
KzU5LDE2IEBAIHB1YmxpYzoKICAgICBTYW1wbGVGbGFncyBmbGFncygpIGNvbnN0IG92ZXJyaWRl
OwogICAgIFBsYXRmb3JtU2FtcGxlIHBsYXRmb3JtU2FtcGxlKCkgb3ZlcnJpZGU7CiAgICAgc3Rk
OjpvcHRpb25hbDxCeXRlUmFuZ2U+IGJ5dGVSYW5nZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZv
aWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgb2Zmc2V0
VGltZXN0YW1wc0J5KGNvbnN0IE1lZGlhVGltZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0VGlt
ZXN0YW1wcyhjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZTsKLSAg
ICBib29sIGlzRGl2aXNhYmxlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgc3RkOjpwYWlyPFJlZlB0
cjxNZWRpYVNhbXBsZT4sIFJlZlB0cjxNZWRpYVNhbXBsZT4+IGRpdmlkZShjb25zdCBNZWRpYVRp
bWUmIHByZXNlbnRhdGlvblRpbWUsIFVzZUVuZFRpbWUpIG92ZXJyaWRlOwotICAgIFJlZjxNZWRp
YVNhbXBsZT4gY3JlYXRlTm9uRGlzcGxheWluZ0NvcHkoKSBjb25zdCBvdmVycmlkZTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBib29sIGlzRGl2aXNhYmxlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VC
Q09SRV9FWFBPUlQgc3RkOjpwYWlyPFJlZlB0cjxNZWRpYVNhbXBsZT4sIFJlZlB0cjxNZWRpYVNh
bXBsZT4+IGRpdmlkZShjb25zdCBNZWRpYVRpbWUmIHByZXNlbnRhdGlvblRpbWUsIFVzZUVuZFRp
bWUpIG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIFJlZjxNZWRpYVNhbXBsZT4gY3JlYXRl
Tm9uRGlzcGxheWluZ0NvcHkoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIFZpZGVvUm90YXRpb24g
dmlkZW9Sb3RhdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fcm90YXRpb247IH0KICAg
ICBib29sIHZpZGVvTWlycm9yZWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX21pcnJvcmVk
OyB9Ci0gICAgdWludDMyX3QgdmlkZW9QaXhlbEZvcm1hdCgpIGNvbnN0IGZpbmFsOworICAgIFdF
QkNPUkVfRVhQT1JUIHVpbnQzMl90IHZpZGVvUGl4ZWxGb3JtYXQoKSBjb25zdCBmaW5hbDsKIAog
ICAgIENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZUJ1ZmZlcigpIGNvbnN0IHsgcmV0dXJuIG1fc2Ft
cGxlLmdldCgpOyB9CiAKQEAgLTc3LDM1ICs3NywxOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNl
dEJ5dGVSYW5nZU9mZnNldChzaXplX3QpOwogCisgICAgYm9vbCBpc01lZGlhU2FtcGxlQVZGT2Jq
QygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7fQorCiBwcm90ZWN0ZWQ6Ci0gICAgTWVkaWFT
YW1wbGVBVkZPYmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4mJiBzYW1wbGUpCi0gICAg
ICAgIDogbV9zYW1wbGUoV1RGTW92ZShzYW1wbGUpKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFT
YW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSkKLSAgICAgICAgOiBtX3NhbXBs
ZShzYW1wbGUpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVC
dWZmZXJSZWYgc2FtcGxlLCBBdG9tU3RyaW5nIHRyYWNrSUQpCi0gICAgICAgIDogbV9zYW1wbGUo
c2FtcGxlKQotICAgICAgICAsIG1faWQodHJhY2tJRCkKLSAgICB7Ci0gICAgfQotICAgIE1lZGlh
U2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQp
Ci0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgICAgICAsIG1faWQoQXRvbVN0cmluZzo6
bnVtYmVyKHRyYWNrSUQpKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENN
U2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgVmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgYm9vbCBtaXJy
b3JlZCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9yb3RhdGlvbihy
b3RhdGlvbikKLSAgICAgICAgLCBtX21pcnJvcmVkKG1pcnJvcmVkKQotICAgIHsKLSAgICB9Cisg
ICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1
ZmZlclJlZj4mJik7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2Ft
cGxlQnVmZmVyUmVmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01T
YW1wbGVCdWZmZXJSZWYsIEF0b21TdHJpbmcgdHJhY2tJRCk7CisgICAgV0VCQ09SRV9FWFBPUlQg
TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmLCB1aW50NjRfdCB0cmFja0lEKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYs
IFZpZGVvUm90YXRpb24sIGJvb2wgbWlycm9yZWQpOworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1
YWwgfk1lZGlhU2FtcGxlQVZGT2JqQygpOwogCiAgICAgc3RkOjpvcHRpb25hbDxNZWRpYVNhbXBs
ZTo6Qnl0ZVJhbmdlPiBieXRlUmFuZ2VGb3JBdHRhY2htZW50KENGU3RyaW5nUmVmIGtleSkgY29u
c3Q7CiAKLSAgICB2aXJ0dWFsIH5NZWRpYVNhbXBsZUFWRk9iakMoKSA9IGRlZmF1bHQ7CiAgICAg
UmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBtX3NhbXBsZTsKICAgICBBdG9tU3RyaW5nIG1f
aWQ7CiAgICAgVmlkZW9Sb3RhdGlvbiBtX3JvdGF0aW9uIHsgVmlkZW9Sb3RhdGlvbjo6Tm9uZSB9
OwpAQCAtMTE0LDMgKzk3LDYgQEAgcHJvdGVjdGVkOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZP
YmpDKQorc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6Ok1lZGlhU2FtcGxlJiBzYW1w
bGUpIHsgcmV0dXJuIHNhbXBsZS5pc01lZGlhU2FtcGxlQVZGT2JqQygpOyB9CitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFW
Rk9iakMubW0KaW5kZXggYzBmMTNkNmVhNWM5NzU3NjdjZThmNjJhYjY4NDJkN2Q2ZjBmYmI2Yi4u
Y2YzYzM0MTBhMzhhZGVjNDk1N2M5NzE0MmIzMjQyMjRkNWFmZDgxMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1w
bGVBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQpAQCAtNDUsNiArNDUsMzMgQEAgc3Ry
dWN0IFdURjo6Q0ZUeXBlVHJhaXQ8Q01TYW1wbGVCdWZmZXJSZWY+IHsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhSZXRhaW5Q
dHI8Q01TYW1wbGVCdWZmZXJSZWY+JiYgc2FtcGxlKQorICAgIDogbV9zYW1wbGUoV1RGTW92ZShz
YW1wbGUpKQoreworfQorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01T
YW1wbGVCdWZmZXJSZWYgc2FtcGxlKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQoreworfQorTWVk
aWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2Ft
cGxlLCBBdG9tU3RyaW5nIHRyYWNrSUQpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCisgICAgLCBt
X2lkKHRyYWNrSUQpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2Jq
QyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQpCisgICAgOiBtX3Nh
bXBsZShzYW1wbGUpCisgICAgLCBtX2lkKEF0b21TdHJpbmc6Om51bWJlcih0cmFja0lEKSkKK3sK
K30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVy
UmVmIHNhbXBsZSwgVmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgYm9vbCBtaXJyb3JlZCkKKyAgICA6
IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1fcm90YXRpb24ocm90YXRpb24pCisgICAgLCBtX21p
cnJvcmVkKG1pcnJvcmVkKQoreworfQorCitNZWRpYVNhbXBsZUFWRk9iakM6On5NZWRpYVNhbXBs
ZUFWRk9iakMoKSA9IGRlZmF1bHQ7CisKIFJlZlB0cjxNZWRpYVNhbXBsZUFWRk9iakM+IE1lZGlh
U2FtcGxlQVZGT2JqQzo6Y3JlYXRlSW1hZ2VTYW1wbGUoUGl4ZWxCdWZmZXImJiBwaXhlbEJ1ZmZl
cikKIHsKICAgICBhdXRvIHNpemUgPSBwaXhlbEJ1ZmZlci5zaXplKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lv
blNlc3Npb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJD
b3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0KaW5kZXggOGVlZjNiMmVhNjA0YmQxOTgzZDc3ZDM4
YmY1MjFhOGQyMWYyMGVkMC4uZDFjODQ0ODgzNjc0MGZkYjc1YzQwYWM5M2Y3ZGQwOWQ3OGYwMzAw
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2Vi
Q29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQpAQCAtMzEsMTAg
KzMxLDEwIEBACiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01CdWZmZXJRdWV1ZS5oPgogI2ltcG9ydCA8
Q29yZU1lZGlhL0NNRm9ybWF0RGVzY3JpcHRpb24uaD4KICNpbXBvcnQgPHBhbC9hdmZvdW5kYXRp
b24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+Ci0jaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29m
dExpbmsuaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvTWVkaWFU
aW1lLmg+CiAjaW1wb3J0IDx3dGYvTW9ub3RvbmljVGltZS5oPgorI2ltcG9ydCA8d3RmL1J1bkxv
b3AuaD4KICNpbXBvcnQgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogI2ltcG9ydCA8d3RmL1Zl
Y3Rvci5oPgogI2ltcG9ydCA8d3RmL1dURlNlbWFwaG9yZS5oPgpAQCAtNDIsNiArNDIsNyBAQAog
CiAjaW1wb3J0ICJDb3JlVmlkZW9Tb2Z0TGluay5oIgogI2ltcG9ydCAiVmlkZW9Ub29sYm94U29m
dExpbmsuaCIKKyNpbXBvcnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogCiAvLyBFcXVp
dmFsZW50IHRvIFdURl9ERUNMQVJFX0NGX1RZUEVfVFJBSVQoQ01TYW1wbGVCdWZmZXIpOwogLy8g
TmVlZGVkIGR1ZSB0byByZXF1aXJlbWVudCBvZiBzcGVjaWZ5aW5nIHRoZSBQQUwgbmFtZXNwYWNl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2Vi
TUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgKaW5kZXggZmVjZTgxMjliZDdmN2ZkZWQ2
YTgwNGJhNTJmNzk1MjYxZmU2NWQzMC4uODcxMDRkOGI3YjM1N2MxNjBiNmRjY2M0MWJmZTFmODll
MGE2YzI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCkBAIC0zNCw3ICszNCw4
IEBAIHR5cGVkZWYgY29uc3Qgc3RydWN0IG9wYXF1ZUNNRm9ybWF0RGVzY3JpcHRpb24qIENNRm9y
bWF0RGVzY3JpcHRpb25SZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCBpc1ZvcmJp
c0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgaXNWb3JiaXNEZWNvZGVy
QXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9SVCBib29sIHJlZ2lzdGVyVm9yYmlzRGVjb2Rlcklm
TmVlZGVkKCk7CiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlVm9yYmlz
QXVkaW9Gb3JtYXREZXNjcmlwdGlvbihzaXplX3QsIGNvbnN0IHZvaWQqKTsKIAogc3RydWN0IE9w
dXNDb29raWVDb250ZW50cyB7CkBAIC01Miw3ICs1Myw4IEBAIHN0cnVjdCBPcHVzQ29va2llQ29u
dGVudHMgewogICAgIGJvb2wgaGFzUGFkZGluZyB7IGZhbHNlIH07CiB9OwogCi1ib29sIGlzT3B1
c0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgaXNPcHVzRGVjb2RlckF2
YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCByZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVk
ZWQoKTsKIGJvb2wgcGFyc2VPcHVzUHJpdmF0ZURhdGEoc2l6ZV90IHByaXZhdGVEYXRhU2l6ZSwg
Y29uc3Qgdm9pZCogcHJpdmF0ZURhdGEsIHNpemVfdCBmcmFtZURhdGFTaXplLCBjb25zdCB2b2lk
KiBmcmFtZURhdGEsIE9wdXNDb29raWVDb250ZW50cyYpOwogUmV0YWluUHRyPENNRm9ybWF0RGVz
Y3JpcHRpb25SZWY+IGNyZWF0ZU9wdXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKGNvbnN0IE9wdXND
b29raWVDb250ZW50cyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tCmluZGV4
IDA2YmQ0OGFlMGQzZDY5MTI1MGI4YTI3NTdkMDI1NmQ0NDg1OWZjYzQuLjBlMWViMWI3OThhM2M3
ZWE2N2VhYjc1YmEzNmU1ODVhZGQ4YzEwYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0Nv
Y29hLm1tCkBAIC0zMiwyMiArMzIsMjggQEAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQg
Ik1lZGlhVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIu
aCIKKyNpbXBvcnQgPEF1ZGlvVG9vbGJveC9BdWRpb0NvZGVjLmg+CiAjaW1wb3J0IDxBdWRpb1Rv
b2xib3gvQXVkaW9Db21wb25lbnQuaD4KICNpbXBvcnQgPEF1ZGlvVG9vbGJveC9BdWRpb0Zvcm1h
dC5oPgogI2ltcG9ydCA8Q29yZU1lZGlhL0NNRm9ybWF0RGVzY3JpcHRpb24uaD4KICNpbXBvcnQg
PGRsZmNuLmg+CiAjaW1wb3J0IDx3dGYvRmxpcEJ5dGVzLmg+CiAjaW1wb3J0IDx3dGYvU2Vjb25k
cy5oPgotCiAjaWYgRU5BQkxFKE9QVVMpCiAjaW1wb3J0IDxsaWJ3ZWJydGMvb3B1c19kZWZpbmVz
Lmg+CiAjZW5kaWYKKyNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiBFTkFCTEUoVk9SQklTKSB8fCBFTkFCTEUoT1BVUykK
IHN0YXRpYyBib29sIHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoY29uc3QgY2hhciogZGVjb2Rlck5h
bWUsIE9TVHlwZSBkZWNvZGVyVHlwZSkKIHsKKyAgICBBdWRpb0NvbXBvbmVudERlc2NyaXB0aW9u
IGRlc2MgeyBrQXVkaW9EZWNvZGVyQ29tcG9uZW50VHlwZSwgZGVjb2RlclR5cGUsICdhcHBsJywg
a0F1ZGlvQ29tcG9uZW50RmxhZ19TYW5kYm94U2FmZSwgMCB9OworICAgIEF1ZGlvQ29tcG9uZW50
IGNvbXAgPSBQQUw6OkF1ZGlvQ29tcG9uZW50RmluZE5leHQoMCwgJmRlc2MpOworICAgIGlmIChj
b21wKQorICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gQWxyZWFkeSByZWdpc3RlcmVkLgorCiAgICAg
Y29uc3RleHByIGNoYXIgYXVkaW9Db21wb25lbnRzRHlsaWJbXSA9ICIvU3lzdGVtL0xpYnJhcnkv
Q29tcG9uZW50cy9BdWRpb0NvZGVjcy5jb21wb25lbnQvQ29udGVudHMvTWFjT1MvQXVkaW9Db2Rl
Y3MiOwogICAgIHZvaWQgKmhhbmRsZSA9IGRsb3BlbihhdWRpb0NvbXBvbmVudHNEeWxpYiwgUlRM
RF9MQVpZIHwgUlRMRF9MT0NBTCk7CiAgICAgaWYgKCFoYW5kbGUpCkBAIC01Nyw3ICs2Myw2IEBA
IHN0YXRpYyBib29sIHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoY29uc3QgY2hhciogZGVjb2Rlck5h
bWUsIE9TVHlwZSBkZWNvZGVyVHlwZSkKICAgICBpZiAoIWRlY29kZXJGYWN0b3J5KQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICBBdWRpb0NvbXBvbmVudERlc2NyaXB0aW9uIGRlc2MgeyAn
YWRlYycsIGRlY29kZXJUeXBlLCAnYXBwbCcsIGtBdWRpb0NvbXBvbmVudEZsYWdfU2FuZGJveFNh
ZmUsIDAgfTsKICAgICBpZiAoIUF1ZGlvQ29tcG9uZW50UmVnaXN0ZXIoJmRlc2MsIENGU1RSKCIi
KSwgMCwgZGVjb2RlckZhY3RvcnkpKSB7CiAgICAgICAgIGRsY2xvc2UoaGFuZGxlKTsKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwpAQCAtNzEsNyArNzYsNyBAQCBzdGF0aWMgUmV0YWluUHRyPENNRm9y
bWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25Gb3JGb3JtYXQo
TwogICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBhc2JkIHsgfTsKICAgICBhc2JkLm1G
b3JtYXRJRCA9IGZvcm1hdElEOwogICAgIHVpbnQzMl90IHNpemUgPSBzaXplb2YoYXNiZCk7Ci0g
ICAgYXV0byBlcnJvciA9IEF1ZGlvRm9ybWF0R2V0UHJvcGVydHkoa0F1ZGlvRm9ybWF0UHJvcGVy
dHlfRm9ybWF0SW5mbywgbWFnaWNDb29raWUuc2l6ZSgpLCBtYWdpY0Nvb2tpZS5kYXRhKCksICZz
aXplLCAmYXNiZCk7CisgICAgYXV0byBlcnJvciA9IFBBTDo6QXVkaW9Gb3JtYXRHZXRQcm9wZXJ0
eShrQXVkaW9Gb3JtYXRQcm9wZXJ0eV9Gb3JtYXRJbmZvLCBtYWdpY0Nvb2tpZS5zaXplKCksIG1h
Z2ljQ29va2llLmRhdGEoKSwgJnNpemUsICZhc2JkKTsKICAgICBpZiAoZXJyb3IpIHsKICAgICAg
ICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWEsICJjcmVhdGVBdWRpb0Zvcm1hdERlc2NyaXB0aW9u
Rm9yRm9ybWF0IGZhaWxlZCB3aXRoIGVycm9yICVkICglLjRzKSIsIGVycm9yLCAoY2hhciAqKSZl
cnJvcik7CiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtMzI2LDE5ICszMzEsMzAgQEAgc3Rh
dGljIFZlY3Rvcjx1aW50OF90PiBjb29raWVGcm9tT3B1c0Nvb2tpZUNvbnRlbnRzKGNvbnN0IE9w
dXNDb29raWVDb250ZW50cyYgY28KIAogYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCkKIHsK
LSAgICBzdGF0aWMgYm9vbCBhdmFpbGFibGU7Ci0KICNpZiBFTkFCTEUoT1BVUykgJiYgUExBVEZP
Uk0oTUFDKQogICAgIGlmICghUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpvcHVzRGVjb2Rl
ckVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgcmV0dXJuIHJlZ2lzdGVy
T3B1c0RlY29kZXJJZk5lZWRlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYK
K30KKworYm9vbCByZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKQoreworI2lmIEVOQUJMRShP
UFVTKSAmJiBQTEFURk9STShNQUMpCisgICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOworCiAgICAg
c3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47CiAgICAgZGlzcGF0Y2hfb25jZSgmb25j
ZVRva2VuLCBeewotICAgICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJB
Q09wdXNEZWNvZGVyRmFjdG9yeSIsICdvcHVzJyk7CisgICAgICAgIGF2YWlsYWJsZSA9IHJlZ2lz
dGVyRGVjb2RlckZhY3RvcnkoIkFDT3B1c0RlY29kZXJGYWN0b3J5Iiwga0F1ZGlvRm9ybWF0T3B1
cyk7CiAgICAgfSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBhdmFpbGFibGU7CisjZWxzZQorICAg
IHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlv
blJlZj4gY3JlYXRlT3B1c0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oY29uc3QgT3B1c0Nvb2tpZUNv
bnRlbnRzJiBjb29raWVDb250ZW50cykKQEAgLTQxOCwxOSArNDM0LDMwIEBAIHN0YXRpYyBWZWN0
b3I8dWludDhfdD4gY29va2llRnJvbVZvcmJpc0NvZGVjUHJpdmF0ZShzaXplX3QgY29kZWNQcml2
YXRlU2l6ZSwgY29uCiAKIGJvb2wgaXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKCkKIHsKLSAgICBz
dGF0aWMgYm9vbCBhdmFpbGFibGU7Ci0KICNpZiBFTkFCTEUoVk9SQklTKSAmJiBQTEFURk9STShN
QUMpCiAgICAgaWYgKCFQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnZvcmJpc0RlY29kZXJF
bmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIHJldHVybiByZWdpc3RlclZv
cmJpc0RlY29kZXJJZk5lZWRlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYK
K30KKworYm9vbCByZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpCit7CisjaWYgRU5BQkxF
KFZPUkJJUykgJiYgUExBVEZPUk0oTUFDKQorICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKKwog
ICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOwogICAgIGRpc3BhdGNoX29uY2Uo
Jm9uY2VUb2tlbiwgXnsKICAgICAgICAgYXZhaWxhYmxlID0gcmVnaXN0ZXJEZWNvZGVyRmFjdG9y
eSgiQUNWb3JiaXNEZWNvZGVyRmFjdG9yeSIsICd2b3JiJyk7CiAgICAgfSk7Ci0jZW5kaWYKIAog
ICAgIHJldHVybiBhdmFpbGFibGU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgog
fQogCiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlVm9yYmlzQXVkaW9G
b3JtYXREZXNjcmlwdGlvbihzaXplX3QgcHJpdmF0ZURhdGFTaXplLCBjb25zdCB2b2lkKiBwcml2
YXRlRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1h
cHBsZXR2b3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0
dm9zLnBsaXN0CmluZGV4IGFlNGVlNDU3YTIxMzEzMzhmNmE1Yjc1ZWQ3NWY2MzZmM2EwZjUyNjAu
LmUyMWIwMjNiMTQyMzA4NzIzYzU5N2MwZjFjZjk3YTE4YTMyNjdiNTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3MucGxpc3QKKysrIGIvU291
cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdApAQCAtMiw5NSAr
MiwxMDAgQEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4w
Ly9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgog
PHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1lX2FuZF9v
dmVyZmxvd19zY3JvbGxpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vz
c19jYW52YXNfcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5Pgot
ICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAg
ICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5n
cHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5Pmdw
dV9wcm9jZXNzX21lZGlhPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAg
ICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAg
ICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVf
cHJvY2Vzc193ZWJnbDwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193
ZWJydGM8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAg
ICAgIDxmYWxzZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGlj
dD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1
ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5JbkFwcEJyb3dzZXJQ
cml2YWN5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAg
ICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5
PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUv
PgotICAgIDwvZGljdD4KLSAgICA8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4K
LSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+
Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+dnA5X2RlY29kZXI8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0g
ICAgPGtleT5XZWJHUFU8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9r
ZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViWFI8L2tleT4K
LSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+
Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+Ci0gICAgPGRp
Y3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9k
aWN0PgotICAgIDxrZXk+d2VibV9wYXJzZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5S
Ql9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5F
bmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+CisJPGtleT5hc3luY19m
cmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3Jl
bmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgor
CQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwv
a2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nf
ZG9tX3JlbmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgorCTxkaWN0Pgor
CQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4K
KwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2Rp
Y3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nl
c3Nfd2VicnRjPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2Uv
PgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0
ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93
c2VyUHJpdmFjeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNl
Lz4KKwk8L2RpY3Q+CisJPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rl
cl9vbl9iYXR0ZXJ5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFs
c2UvPgorCTwvZGljdD4KKwk8a2V5PnZwOV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+
RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5
PldlYlhSPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgor
CTwvZGljdD4KKwk8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9r
ZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0Pgor
CTxrZXk+d2VibV93ZWJhdWRpbzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4K
KwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tl
eT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8
L2RpY3Q+CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3Mv
V2ViS2l0LWlvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3Mu
cGxpc3QKaW5kZXggNjIxYzkyMTY2Yzg5MmNiNTQxY2ZhNzZiNjIzODE1NjY4YTFlYzI3Ny4uYjhl
NWUwOWNmODliNjBjMDgyZTYzYWFlYjVkZjcwZDk5MWEzMjAxNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0
L0ZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0CkBAIC0yLDk1ICsyLDEwMCBAQAogPCFET0NU
WVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3
dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CiA8cGxpc3QgdmVyc2lvbj0i
MS4wIj4KIDxkaWN0PgotICAgIDxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGlu
Zzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJp
bmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAg
IDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0Pgot
ICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4K
LSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2RvbV9y
ZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0g
ICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8
L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0
cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAg
ICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAg
ICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9r
ZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFs
c2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
ICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8
a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2Rp
Y3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0g
ICAgPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAg
ICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAg
ICA8a2V5PnZwOV9kZWNvZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViR1BVPC9r
ZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFs
c2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAg
ICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAg
ICA8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5Pndl
Ym1fcGFyc2VyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tf
amV0c2FtPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAg
ICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93
X3Njcm9sbGluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUv
PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVz
PC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4K
KwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tl
eT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0Pgor
CTxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9r
ZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtl
eT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8
a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5
PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5Pgor
CTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0
ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUv
PgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5Pgor
CTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtl
eT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJ
CTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+
CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8
a2V5PnZwOV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8
dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5h
YmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PldlYlhSPC9rZXk+CisJPGRp
Y3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5Pndl
Ym1fZm9ybWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9rZXk+CisJPGRpY3Q+CisJCTxr
ZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV93ZWJhdWRp
bzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2Rp
Y3Q+CisJPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8L2RpY3Q+CiA8L3BsaXN0Pgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0
IGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0CmluZGV4IDYy
MWM5MjE2NmM4OTJjYjU0MWNmYTc2YjYyMzgxNTY2OGExZWMyNzcuLmI4ZTVlMDljZjg5YjYwYzA4
MmU2M2FhZWI1ZGY3MGQ5OTFhMzIwMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVhdHVy
ZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFn
cy9XZWJLaXQtbWFjb3MucGxpc3QKQEAgLTIsOTUgKzIsMTAwIEBACiA8IURPQ1RZUEUgcGxpc3Qg
UFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNv
bS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlzdCB2ZXJzaW9uPSIxLjAiPgogPGRp
Y3Q+Ci0gICAgPGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+Ci0g
ICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmluZzwva2V5Pgot
ICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgot
ICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAg
ICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8
L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZh
bHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
ICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8
a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2Rp
Y3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+
QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNv
bXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8
L2RpY3Q+Ci0gICAgPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PnN3
X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5F
bmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+dnA5
X2RlY29kZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0g
ICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJHUFU8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+V2ViWFI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5F
bmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+d2Vi
bV9mb3JtYXRfcmVhZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+d2VibV9wYXJzZXI8
L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0
cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tl
eT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVl
Lz4KLSAgICA8L2RpY3Q+CisJPGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5n
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0
PgorCTxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJ
PGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+
CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwva2V5PgorCTxkaWN0
PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVf
cHJvY2Vzc19tZWRpYTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRy
dWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21w
bGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3By
b2Nlc3Nfd2ViZ2w8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxz
ZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5Pgor
CQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGlj
dD4KKwk8L2RpY3Q+CisJPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5PC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmluY3JlbWVu
dGFsX3BkZjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgor
CTwvZGljdD4KKwk8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+dnA5X2Rl
Y29kZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8
L2RpY3Q+CisJPGtleT5XZWJHUFU8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+
CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViWFI8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV9mb3JtYXRf
cmVhZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJ
PC9kaWN0PgorCTxrZXk+d2VibV9wYXJzZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVk
PC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5
PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8
L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KIDwvZGljdD4KIDwvcGxpc3Q+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdCBiL1NvdXJj
ZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC13YXRjaG9zLnBsaXN0CmluZGV4IGFlNGVlNDU3
YTIxMzEzMzhmNmE1Yjc1ZWQ3NWY2MzZmM2EwZjUyNjAuLmUyMWIwMjNiMTQyMzA4NzIzYzU5N2Mw
ZjFjZjk3YTE4YTMyNjdiNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdz
L1dlYktpdC13YXRjaG9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dl
YktpdC13YXRjaG9zLnBsaXN0CkBAIC0yLDk1ICsyLDEwMCBAQAogPCFET0NUWVBFIHBsaXN0IFBV
QkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20v
RFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CiA8cGxpc3QgdmVyc2lvbj0iMS4wIj4KIDxkaWN0
PgotICAgIDxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAg
ICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAg
PGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9k
aWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tl
eT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxz
ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAg
ICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtl
eT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0
PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+Ci0gICAgPGRp
Y3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwv
ZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5PgotICAgIDxkaWN0PgotICAg
ICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICAgICAgPGtleT5B
dHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29t
cGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwv
ZGljdD4KLSAgICA8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+c3df
dnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVu
YWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT52cDlf
ZGVjb2Rlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYkdQVTwva2V5PgotICAgIDxk
aWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8
L2RpY3Q+Ci0gICAgPGtleT5XZWJYUjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVu
YWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJt
X2Zvcm1hdF9yZWFkZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9r
ZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX3BhcnNlcjwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRy
dWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5
PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUv
PgotICAgIDwvZGljdD4KKwk8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8
L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+
CisJPGtleT5ncHVfcHJvY2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxr
ZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8
ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4K
Kwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9w
cm9jZXNzX21lZGlhPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1
ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBs
ZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJv
Y2Vzc193ZWJnbDwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNl
Lz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5Pgor
CQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGlj
dD4KKwk8L2RpY3Q+CisJPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5PC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmluY3JlbWVu
dGFsX3BkZjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgor
CTwvZGljdD4KKwk8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+dnA5X2Rl
Y29kZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8
L2RpY3Q+CisJPGtleT5XZWJHUFU8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+
CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViWFI8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV9mb3JtYXRf
cmVhZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJ
PC9kaWN0PgorCTxrZXk+d2VibV9wYXJzZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVk
PC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5
PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8
L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KIDwvZGljdD4KIDwvcGxpc3Q+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXggNDRiYTg4NTU1OWYxMWIxMmI4YTg1MWQ3
Njk5MTMyOWQzYjE5ZmYyOC4uNWE0OWZlZjA4OTQ4MzIxZjcwY2NjZjk2Njg1YTY1NzI0YTkwYTI1
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAtNDUxLDcgKzQ1
MSw3IEBAIHZvaWQgR1BVUHJvY2Vzczo6ZW5hYmxlVlA5RGVjb2RlcnMoYm9vbCBzaG91bGRFbmFi
bGVWUDhEZWNvZGVyLCBib29sIHNob3VsZEVuYWJsCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIHZv
aWQgR1BVUHJvY2Vzczo6c2V0V2ViTVBhcnNlckVuYWJsZWQoYm9vbCBlbmFibGVkKQogewogICAg
IGlmIChtX3dlYk1QYXJzZXJFbmFibGVkID09IGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVVByb2Nlc3MuaAppbmRleCA0OWMzZDc3MWJmMTc0ZDhmOWZkY2M4ZDI0MWIzMTA3NmIwYzVi
NmFmLi41NmRiZmU0N2MyNzhjYmVmNGRkNTk5OWQ1NTdjOGI4NTY1YmM2MmM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKQEAgLTE0MSw3ICsxNDEsNyBAQCBwcml2YXRlOgog
ICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGFkZGl0aW9uYWxTdGF0ZUZvckRpYWdub3N0aWNS
ZXBvcnQoKSBjb25zdCBmaW5hbDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkg
JiYgRU5BQkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2Vi
TVBhcnNlckVuYWJsZWQoYm9vbCk7CiAjZW5kaWYKIApAQCAtMTk0LDcgKzE5NCw3IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBtX2VuYWJsZVZQOURlY29kZXIgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9l
bmFibGVWUDlTV0RlY29kZXIgeyBmYWxzZSB9OwogI2VuZGlmCi0jaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkgJiYgRU5BQkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIGJvb2wg
bV93ZWJNUGFyc2VyRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKICNpZiBFTkFCTEUoV0VCTV9G
T1JNQVRfUkVBREVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5t
ZXNzYWdlcy5pbgppbmRleCA2OTFkYTc4ZDJjZjkzMjhlYTc5ZTI0YzJkNjQ2MjAwMzZiNWU0MjQ5
Li40ZjAxOTY1NDNhM2QwNThlMDE2YzM5NjZlZGExNjQ3ZmE2MWJiYjI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNTEsNyArNTEs
NyBAQCBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEaXNwbGF5
Q29uZmlndXJhdGlvbkNoYW5nZWQoQ0dEaXJlY3REaXNwbGF5SUQgZGlzcGxheUlELCBDR0Rpc3Bs
YXlDaGFuZ2VTdW1tYXJ5RmxhZ3MgZmxhZ3MpCiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9T
T1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBTZXRX
ZWJNUGFyc2VyRW5hYmxlZChib29sIGVuYWJsZWQpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCmluZGV4IDMy
MTJlN2FlMTAxOTU1MjY3ODdmZWI5ZDM2MGNmNjA0ZmM4MzNmYjcuLjFhZmU3NjUwNzhjZWY1MTM0
Yzg5ZjViNGZkZmJlNjE2YjJmY2VhMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcApAQCAtMzI4LDYgKzMyOCwxNSBAQCBi
b29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jv
b2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKQoreworI2lmIEhBVkUoU1lTVEVNX0ZFQVRV
UkVfRkxBR1MpCisgICAgcmV0dXJuIGlzRmVhdHVyZUZsYWdFbmFibGVkKCJ3ZWJtX3dlYmF1ZGlv
Iik7CisjZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsKK30KKwogI2VuZGlmIC8vIEVOQUJMRShN
RURJQV9TT1VSQ0UpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmggYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCA5MDI0N2U4YzFk
MTIyY2E2ZmE1ZDg3ZTZmZmQ2YjcyNzk2MzczZDU1Li4yOWE0MDFkN2E0M2Y5NDNhYzhmNGEwNzI4
MzhkNzM1ZWU2OTY4YTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaApAQCAtMTExLDYgKzExMSw3IEBAIGJvb2wgZGVmYXVsdFZQ
OVNXRGVjb2RlckVuYWJsZWRPbkJhdHRlcnkoKTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CiBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpOworYm9vbCBkZWZhdWx0V2ViTVdlYkF1
ZGlvRW5hYmxlZCgpOwogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQpp
bmRleCBlZjU1MThhYWRiMDJkNWJmNWNiZjE2N2UxMjQwN2VlOTA3NDcxNWU3Li5lYjJjZDgyNmQz
NzNhZTVhZDk4MzQwMzU4YmQ5Y2ZhYjI4ZGI0YzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQpAQCAtMzgsNiArMzgs
NyBAQAogI2ltcG9ydCAiV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNz
UG9vbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KKyNp
bXBvcnQgPFdlYkNvcmUvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaD4KICNpbXBvcnQgPHN5cy9z
eXNjdGwuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3RmL1Nj
b3BlLmg+CkBAIC0yOTUsNiArMjk2LDkgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRp
b0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoKQogCiAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hf
Z2V0X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwgW3By
b3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgIENGRGF0
YVJlZiByZWdpc3RyYXRpb25zIHsgbnVsbHB0ciB9OworCisgICAgICAgIFdlYkNvcmU6OnJlZ2lz
dGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOworICAgICAgICBXZWJDb3JlOjpyZWdpc3RlclZvcmJp
c0RlY29kZXJJZk5lZWRlZCgpOwogICAgICAgICBpZiAobm9FcnIgIT0gQXVkaW9Db21wb25lbnRG
ZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMoJnJlZ2lzdHJhdGlvbnMpIHx8ICFyZWdpc3RyYXRpb25z
KQogICAgICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCBh
NTkyOTdhZjNmZGE1NWNmNTNkOWQ5MDgxYWI5OTdjNGY3YmU1NDljLi43MWFjZDgwODg2ODM1OWZl
MTY4MWI3MDRkYTVlYTUwNzllMzY0OTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAg
LTg3LDYgKzg3LDcgQEAgYm9vbCBkZWZhdWx0V2hlZWxFdmVudEdlc3R1cmVzQmVjb21lTm9uQmxv
Y2tpbmcoKTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiBib29sIGRlZmF1bHRXZWJNUGFy
c2VyRW5hYmxlZCgpOworYm9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpOwogI2VuZGlm
CiAKICNpZiBFTkFCTEUoVlA5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQppbmRleCAzNTJm
ZGM1ZTE4YWYyYzU4YjQyZmU0ZTBlN2NmNjczNzFkNjhjZTZjLi4xNmM1OTcyMjkxOTcxZjE5OTFj
NDBhZWE4MWQwZmZiZDZmNjU5ZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQpAQCAt
Mjk4LDYgKzI5OCwxNSBAQCBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKK2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKQoreworI2lm
IEhBVkUoU1lTVEVNX0ZFQVRVUkVfRkxBR1MpCisgICAgcmV0dXJuIGlzRmVhdHVyZUZsYWdFbmFi
bGVkKCJ3ZWJtX3dlYmF1ZGlvIik7CisjZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsKK30KKwog
I2VuZGlmIC8vIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAKICNpZiBFTkFCTEUoVlA5KQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDBjZTU5OTE4OTFhODMzYzAwMjY2MDFhNDA3NDVlNjFmZmZkZWVlYzQuLjQ2YTIzNjE1MDFlNDQz
MWI2ZDIwNTA3MDIyMGY2ZTk3YmY3M2EzMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0w
Ny0yMSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJB
dWRpb10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOiBPbmx5IGVuYWJsZSB0ZXN0
IG9uIG1hY09TIE1vbnRlcmV5CisgICAgICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEt
YmFzaWMuaHRtbDogZml4IHdoaXRlc3BhY2UKKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVk
aW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRp
by9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
YXVkaW8vcmVzb3VyY2VzL21lZGlhL29wdXMud2VibTogQWRkZWQuCisgICAgICAgICogd2ViYXVk
aW8vcmVzb3VyY2VzL21lZGlhL3ZvcmJpcy53ZWJtOiBBZGRlZC4KKwogMjAyMS0wNy0yMSAgU2lo
dWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucyBmb3IgaW1wb3J0ZWQgdzNjIEluZGV4ZWREQiB0ZXN0cwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4OTc5YjE3ODkyZjI3
ZjE0YWJmNjk2NGFhMDViZDU0OWI0MDljOGJjLi5kZTcyYTFjOGE2YzEzMWYwYzI2ZTQ3NjA3OTE1
NWQ1YmY3Mzc3ZjJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTc2Nyw2ICsxNzY3LDcgQEAgd2Via2l0Lm9yZy9iLzIxNDE1NSBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXAKIFsgQ2F0YWxp
bmEgTW9qYXZlIEJpZ1N1ciBdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Utd2VibS12
b3JiaXMtcGFydGlhbC5odG1sIFsgU2tpcCBdCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSBt
ZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtd2VibS1vcHVzLXBhcnRpYWwuaHRtbCBbIFNraXAgXQog
WyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXdlYm0t
b3B1cy1wYXJ0aWFsLWFib3J0Lmh0bWwgWyBTa2lwIF0KK1sgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1
ciBdIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sIFsgU2tpcCBdCiAK
IHdlYmtpdC5vcmcvYi8yMTQ0MjIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJh
dWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb2NvbnRleHQtaW50ZXJmYWNlL3N1c3BlbmQtYWZ0
ZXItY29uc3RydWN0Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbAppbmRleCBhMzMzYjY1YWFlZjlk
YjY0ZWQ1M2ZjYjA1NjMxY2ZjMTUxNDA1MGQxLi43ZjA4YjI5MDU5MmNjMmYzNDRmYTU2NWZiMGRh
YTRiMjY2Zjg4MjlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVk
aW8tZGF0YS1iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRp
by1kYXRhLWJhc2ljLmh0bWwKQEAgLTcsNyArNyw3IEBACiA8Ym9keT4KIDxzY3JpcHQ+CiBkZXNj
cmlwdGlvbigiQmFzaWMgdGVzdHMgZm9yIGRlY29kZUF1ZGlvRGF0YSBmdW5jdGlvbi4iKTsKLSAg
ICAKKwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCiB2YXIgY29udGV4dCA9IG5ldyBB
dWRpb0NvbnRleHQoKTsKQEAgLTM0LDE5ICszNCwxOSBAQCBmdW5jdGlvbiBydW5EZWNvZGVUZXN0
KGluZGV4KSB7CiAgICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICBy
ZXF1ZXN0Lm9wZW4oIkdFVCIsIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsLCB0cnVlKTsKICAg
ICByZXF1ZXN0LnJlc3BvbnNlVHlwZSA9ICJhcnJheWJ1ZmZlciI7Ci0gICAgCisKICAgICByZXF1
ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICBjb250ZXh0LmRlY29kZUF1ZGlvRGF0
YShyZXF1ZXN0LnJlc3BvbnNlLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwotICAg
ICAgICAKKwogICAgICAgICBmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soKSB7CiAgICAgICAgICAg
ICBpZiAoZGVjb2RlQ2FzZUFycmF5W2luZGV4XS5yZXN1bHQpCiAgICAgICAgICAgICAgICAgdGVz
dFBhc3NlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCArICAiIHRlc3Q6IHN1
Y2Nlc3NDYWxsYmFjayBoYXMgYmVlbiBjYWxsZWQgY29ycmVjdGx5LiIpOwogICAgICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5
W2luZGV4XS51cmwgKyAiIHRlc3Q6IHN1Y2Nlc3NDYWxsYmFjayB3YXMgbm90IGNhbGxlZC4iKTsK
LSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBydW5EZWNvZGVUZXN0KCsraW5kZXgpOwogICAg
ICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIGZ1bmN0aW9uIGVycm9yQ2FsbGJhY2soKSB7CiAg
ICAgICAgICAgICBpZiAoZGVjb2RlQ2FzZUFycmF5W2luZGV4XS5yZXN1bHQpCiAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCArICIg
dGVzdDogZXJyb3JDYWxsYmFjayB3YXMgY2FsbGVkIGluY29ycmVjdGx5LiIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRiYzAxMDhkNDRjZDVmNDc0NmY2OTk3ZTYwYzVl
NDczNTZmYTRlNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29k
ZS1hdWRpby1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVz
dCB0aGF0IGRlY29kaW5nIGFuIG9wdXMgd2VibSBmaWxlIHN1Y2NlZWRzCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIFN1Y2Nlc3NmdWxseSBkZWNvZGVkIGNvbnRlbnQKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY1NzcyODAxMjcwMGFmM2Q2ODI0ZTIwOTA4NWY0ZGNlZTM3OGM3MGQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13
ZWJtLW9wdXMuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVzb3VyY2VzL2F1ZGlvLXRlc3Rp
bmcuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3QgdGhhdCBkZWNvZGluZyBhbiBvcHVzIHdlYm0gZmlsZSBzdWNjZWVkcyIpOworCit3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBjb250ZXh0ID0gbmV3IHdpbmRvdy5BdWRp
b0NvbnRleHQoKTsKK3ZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CityZXF1ZXN0
Lm9wZW4oIkdFVCIsICdyZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJtJywgdHJ1ZSk7CityZXF1ZXN0
LnJlc3BvbnNlVHlwZSA9ICJhcnJheWJ1ZmZlciI7CisKK3JlcXVlc3Qub25sb2FkID0gZnVuY3Rp
b24oKSB7CisgICAgY29udGV4dC5kZWNvZGVBdWRpb0RhdGEocmVxdWVzdC5yZXNwb25zZSwgKGJ1
ZmZlcikgPT4geworICAgICAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgZGVjb2RlZCBjb250
ZW50Iik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgfSwgKCkgPT4geworICAgICAg
ICB0ZXN0RmFpbGVkKCJGYWlsZWQgdG8gZGVjb2RlIGZpbGUiKTsKKyAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICB9KTsKK30KK3JlcXVlc3Quc2VuZCgpOworCis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9t
ZWRpYS9vcHVzLndlYm0gYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvb3B1
cy53ZWJtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE4NDk0Y2I5MTRhN2Q4NzRjYjAyZWIwMWQ3ZjdiNjM1OTAxYzlk
MWMKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE1OTEzCnpjbWNKJDE5eE9rKVcjZHojPkJSNStu
VSg2amdEPkcjPjYlekhZVD1oQ3BaODF6NUQ/OHRuT1pgUmBvZig+c1FhLQp6VUEzelVNe0soJlBk
RjMrRWQyY1F6NXs+Pi12Z2s4MUIyYTdqY2tSKGV1Xk9nNUc8N2RiNn13VkYxfVl9eGgkNnMKenh5
fnErcyRnYGYzTnd7eksqOWYoRmpRLTtlQGclNEktYEg7UCpleGFSakxEbDFeJjFBT1FyTHRHTFVj
bzsod241CnpyMT9MT2B+VHpQS2RUejNTTCVaaGckM21UVnFeezclLUFeVElvUm8kNyNUSCR7PWEz
Pmg7WUY7JF5XdDlLbEFyJAp6fDFheFMwS20/fTtpeGpYZHFSe29hTT1KTDteeW9pUzM4cj9QJDdL
PE1LdS1tJHs9STxlRCUmP3UlUlpQQU9PZzIKekxMTEM1SWI4N0E7ZVFAeFdDOT5HRT0qRXphQ01l
Nkg4Y1NSO1JGdW97R1hjdHhDbXhCSk83X1FMfUE8KVVfU2JQCno3STRJaCFvPWk3Nmh5XzhNWl5C
VGhXXzYtNyNSME84VUhfKXtvblZKe0oteF97Ynt1RVBvdFN3U3BSRF5wXmNASAp6e2Z7WjtxbElF
YztpNzhGTGFJXjxAfWduTWpFdm0+eV9vMTM4R3BYXi12dENqQWt5T017ZG8pa0RpVnFWMDA5TWoK
el98KkRlTVQ+bEBLWXNOKjlXNmh4a0JRKkd3SzxVfEg/fXU2SVA0Vz1VVX5jaTw7OEY5JkVfbmZu
JmhTJmVvRUR4CnpgZiQkM0Rzcnw1SFBtIyFMXjZQZT9BMDc1eGVSKm9eS0Y2TWJPRCh+dlFWdmlS
ajtebHkhP3lJQHJ9aF5ZKn5lagp6Vm0hYmtuPkU0ZmdGUkBTTlZ5WUE1WVFiVUR4PHJpblJUa20t
MitzYDhBMEE1IVE1UmEoUmdrNHVeOF45YDRTbGcKenZYSn1oZjJkKzxoP3ZgRExvKSNNSmM9YEQ9
fD9NcSpPQ2xRbWo9dlJGQSUmRjczcEt+NjwwQDQyKTZocF9zb0NeCnplU3ZGfStkR2lOUWJScCko
Q21YcUVvUzhab3lXS0c7WXlRUVJOez8mc2JodyljSXh1MmpOalEyUSUqQH1pcE4tWgp6ckA0P31v
PXM9KF96SlJAcV98T2trKSEoZ2taZnJicTh5T0lpRSFpVHgoN0smKmU/IyElS1poT3RXTVkrdSpk
YiMKelk2fCRoRXR2U0k7NXd4KSstISp1OzdFP2ojYnsjaUhVe0lhdSkxKmNfKWlEWDFfYDZWe0RI
Pi0qXlhKWFlUPiUkCnpnVG5XaWE2bzJHP25MaVpubEsjZkZzalJXVyFZYU5sQ053d3dAQn58MEU4
YSFBPztoZyQ4I3I2aTI1I3UqRit5OAp6a1lfUmc3bWB+fjl2RFFxOTIzS3lSb3VUcj1yR3pKXl8w
TlZfcGFae0VjMT1vbGB9U2d2YVh7byR7PWJnRThJPUkKektQYUkhczFHJn15b3BNe1hJXnVqQlFz
KklZZH1TaVkhWDY0TjhUVyRHbCR3MnErMiQ8SilGWChYKUB0PGJXYytICnpYRkRNfVliJm0yUX1w
bHoxPDxmKndSTE4qJkhnVSVVSkA3OyhAa2V0SkIjKkM0KXN7KD5ZP0JiPWw9b2FDU3g9Twp6JjlN
ODIxYiEpVzN+X3peaD5eOSVHcT8pbzVOPm4lYj57OFJgd055UEV8cXEmZV5ORW0wT31yJSstYng+
YntKZCMKem50Unhsa0VLV205Uk5mWEBiTkdEOEVtfmdma3xZYW92RVlWUFVwPjJ3M08/ZVFkWHAl
cnY4Kmd8RWlJLUFhRWFqCnpHfm1ZNlp7e0lqez08ekYmWTYzc0tCaVZycnIlV0xqbTlEe1ZNaXJH
YHlrJTtZZT4oN2JrWipgdkcodHs+KWNYUQp6NXROYzA1QmJvVUdudGJtem9eRnw8UzA4OXIpY3g4
UmY7Z3ZETWZUZmt9O21PcmVnZUgjQmpyPiFoIUp3dUdqSVUKejdyfEFxPCRpLTcyPHtHYD9GfjhA
ajlzRT9BQEZgdlcqemc+M1k+NX0rNE88OEJoVUlsajxGUzFOdTZNVWtCJDxeCnp3LXdAaEd4K2NG
aUxfQVNUZ0IoVUlxMGg/KjhWM3llQVRQd1h9RXhCPi1ZWGgyPWYpTyRLdCppYyt5e3JKTWV3LQp6
SHxOUXxfQUNDdVZzWCRNWlJsTlVDaTdYM1JhP3dyUThxPEZYYUZGLWZSOXl7MEc4KUR4NiZoRHU0
N3tpNWpSdGUKeiQwUmtRPHd1OD8rKERscjgjdE4teVp3Z19FTDg8PCh3dCpeZE1qTnhuVDVDPSZ5
amFnb2k8R20qWDZxcCltOyg/CnpGbkApYDI7ViEyS1crR2JsdVNncT4hcXlkT2xCN3xocX4lPjdA
cTRfYEVsfUxJVnJXTG9RVFJwanZpKS1fSyUxPQp6KmZwP2RgdC0wfEM1cUNvTVBmc2VHPmg2Rmpl
Qlh2c0VSU0IoNDc7YEh4N0l7TDxfbDJmWlZnJWkqV1g1OUIwajcKeng0SXxqekNTPG1iTTJfVTAt
e095TiM0bj83aX0qbz8pZChzWE1tPFZPPU9mWkZ1QT9ecX4lem9aYiorbUdkP2hmCno0OWNeRz4z
JWFjZjd7JEo8b0BBZntxeHFzcWF9QlVfISNLVFEhNSRQbCF0V20lZT1keVhoLXUlI2t4b2M0Kjth
fQp6Z041bElFZnI4cXRtbyM1KkVTZzFNfkNMTzZLMUFhdFYlZV5qdmBgNjw0OGs3SzJvSGt6KVd2
c2d+cGpFaVc2VmcKenlhQ01qNzxIaHdreVgwMWhMJClaSkszWSo5Sm9hWGIwenEqUkI2Qj9BIzBp
UHc1U1leZTY/X087OWZFfW11Ql8kCnpWNyhgZyg5QEIqNiF7VFNJbnIzdV8wKFQ+dCNlQlVOZkt8
TWV5KTg1OUojJVk4TjclWlRXVHI2eGFwTzwofExBagp6TDBPO31WeWI+SVBGNWNJeEMjPCM1YiM9
TFBlYE5TY0xaQzFSNyRMe2doZVpsJXolPWhGbDJqYytPdmo1I0M7d14Kejw2JUF5UndeKn0jV2JB
WS01M2F7aHRsKkMqNVVhI2NgaHJjbyMrQkFFQFJPYlIrNzd6NzkkbyE5S29UVGJVfiNYCno0ZnY/
NWR4cEpNPihNZWFsR2dVP1g3KT9tQTNpX3NXY25ZVT4yUlI0YWpLV2tKQzQzJEVkYHpqYVU+ZFhV
YWkjNwp6JGxzcHckI1JeIzM7WWNxMDRlODB1ZllTTy0+XncyTng9QVpobTJAO1BnOHMyMCQyMEZH
OHxhdVR4dmtXP3BxNyQKelM4eD5uUWF7Q0E9VlREUVBnaDBoQXF6QHVRSms0SyVtZWJ6PkN2bmRh
VldnWCltKVNRUFZNczhXI1RMb25WWSlyCno7RHxKVkduOFNUZ2ZRR0ZuQXglMyF+Qz1HZ0xMYjde
SGwzfCpZbmlmSXo/N3haMnxNXnFlb3tIVHlwVz08VW9UaQp6e01LMlolZlc3PXBZQXZRSkFJMFk9
YjxlVmk7cTxPYFhjOUlYSnw1ZmRKMU1HYjBPfjVGJjRFKHslJE9HJlM8c3gKejQwKCRFa05ybTFU
Yi03eU9AfEg2ZEdSYXE1aXdhV2N9LTBaQmUyKyU7VUFfU1BMZnJUNUg8a0ZeUz5+Mm9gKCVpCnom
d284NW42YnFEP140a1R1aEAyYDhiPnRoLUc/c35McGM0Ykg5cl5lNClfcihjQnw+biFpKmd4KVB+
O0RyeXZwawp6S1Z6UHExRjVoZT1sU2tJZ29HMkFiblNaMllSJXNfOXdkP2leVVclQVNLKXtMdkxk
cVU/IShhWVQzJTxueS1TWF8KelVLST4zPD1HaylwTHY7ens0d3l0V2AhRktSWVNGUipvfV9MbllN
V2cwMXomYCl6Zk9kTTxVP2NKeSRpREAhYCVACnpFPHFKM14/WFlsSWF2MDtGQX1Lek5CTjNMQTYq
eCV1Pjx5U1ZhZi0lYCE8TyQ7JT9DLWRCQWktcX4/bW8hQ0I3dQp6LSg8eWg2bDtefEV4UmlRTWMp
TVJVK0JAZCVuQnd7NyNEdFJAeE9Odlo7eUxxN1VWc1U2IUh7fTtASkY/aSVCTXYKejhoWkpsd2pu
e3RDVm4pNzNqbTd3UGNzTE1aUiV3NzByZjtMZjlTazdHMXxlYnJpRjtFUGI2SlN5UXV6X3Z4JURX
CnopLSNAdl83Rz8pJWVnMlJQPkJPYEJtUiEhWkh7NEEmXjVfXk1eeEtGI2skalR6NDVPKksmVW5Y
S29wMzU0XkJoQwp6WnB0MXgjcj9zfi0wT1ZJeGx0bDdofVMtPDR6XnBfMi18dXsqR3F3MFB9cyVI
MmJ2diM7QDJ8dFZtaERYbSVZaHcKejNWZXlpTF8lamlhNDctMWx+MEV7Y358XkdocSRYYUxiIUFh
Iz1ScVZadmYraFM4NmBpKnU3cFVRQEZrUzY8NUk+CnprOyhSbCZEMHlYX0ppRU1HQmgzPlByc0Vn
M3dXVWxNI1VKMlQ9WHBuXkdpLXdPN1lUWWFMVkdtQDBNV3FBWVJ8JAp6TmZ5eVordCpiREtfNj9F
I3tQenFjST58SXRnY3VqdClRSExvMHkjV1ZFOyFzS1hlTHk9ckZ0QmUycyZLNF5KU3wKek4qNmNF
eHEzbjtBbFNVPG5MXzYwT3d+dHk2cSlhMnl+NUlKWitRKVVzSG0mcjU8RmFyPWNjbzJTXjF7eklz
aHBzCnpJX0c9MDBoUWx7MjJwUnlQXnRqXkxEQVpfPTYlcWNDcyV5TWRpR0gqKUh9ckBHS0JCVU5n
bTVrTUdRQXRBRVRFVwp6OT9sVVdSR0ZJU0BUVUlleUpmLTZHVGlHb2NFZGlVa3Rffkx2LT9mRCNF
KWVSaG9jZ187NkF5b0c2IUlhX2NTRWQKeklSeVFYeE5KZktUYC0mM003cHI3P24hb3hGfUhCenlN
YSgzbThLMGJTaT8xbWExNWgzdjdlfU0kZzVOaiQ0aUVvCnoyIVV1eSFUU29PPylWTF9PRn1YZXAq
P05RZzdxNmVTVXs7ZWNRSl5HKDk2SGJYPzlTTTw9V3dxY1BvY0p7U1Q5cQp6MFhxQj0yQzk5TDVI
U0YjYE55d2ZueTNuV1laI3IhQGc2aTVjSn16e1FrO2p9MCpETm4odUZpWlo8V1EoeiEhZ1UKeiNP
bmk1ejJ2I2lySlcmKkJULXYmK2pMalFPcmxRX1dId3owKTt2RjA+KksrV1N+JUxFKWx1d2dvfUF4
aEE9S2B7CnopZnxtP09QN1ojU2pyNCFgQXhYQSZ+allaNiFGbzBgfjBiMnp3XzBObnJ5fXFCSUx0
RWpRSTJDYStAOzRRcyhVQQp6JHNlUVp2S3dRY14pKXRpQEt+d1VDZTV4WiFpXj9QU0RBd3tqTyNm
THFCajFecilRMiMjRml4d2tCTnhmdjEpKT0Kek4lQzZLaHU1RkEyJi1NKldCPn5DKk9XZ3BNYiZH
OCFkclBqPFhCOTw5YDFtNl9EP2ktVVJKeTg5TFowaE1hRX0mCnolRTIrTmRZdUM7RyhabzRlVzlP
eiZidj1sKkZ2NmY5dTZyOEQxekJDIVozMjxyPCQtVzV+Mm5HalJrentlJUprQgp6SVFieTRJUGVm
NCUkUTk8KCNWN25CQGlgTTkqRTJQTCs7ZkImck0qeFdXMVhfP3tVN209T3t7eWdBTl9LTnQhcE0K
ej9KNyM4bXA9OTRsIU8hX3RocjhQS0g2SX5ZSj9gfGYhSGIzRS1TYSlKQ09melpacCRrRWlfOD9M
ZmV9M21wKzsxCnpoMnMlUkBheCV4PG16YVZFcmhOJCQlVztVcG07JD5geFVwTGlhPTArV2Zwan1G
RGB9P19+aEtOR1UjT2A3YmJ9aQp6QkpaWEQmaWNhdTV0PW1aT0B2ZSFMdnpoZzhJJHBLMV9gNGJ3
ITlVcHBWK3VPZDY9S2dBWFk0V05Tdyl2XjJVSysKelpTfj5zZ0R8ZyVGXlA9Sk5OQ2I2cUxaPTNG
Iz5nQFdfZEpFdTFrTnxfX1BtOVUqfE9MSk8zbUhvNDF3K3hwKXFqCnojKyhEbDN+MmxFSWo0THpV
O1dPa1UkQChCZjJ4WXZldTZzZFhXJkJ0ME5NPXJJRl5oUSF5b0NESV95ZypWbV43OAp6OWBeSn4t
Rmtzb0omS2h0KlBxQ3JHamdSbjdjdSREU29LPG03IUBMSlBqZGViOzxWZ3c8MDdgMkJBZyEqSHk8
am0KejtzdFEpb0VrfWhgfUgwUW1IeT5kSlpEdm4qc0ZsSExeRmM/VV9yZzc2cmFyVj1+P0QlTF95
dnNRJlNoI21tZWMjCnopa1FwT1ZCKUdMI3ZwQ3xtPDVrWC1jQ0JzN0YwVTB0N2RHdEUhKGFebWs/
K2p7e31sSCpGRzRyWHtoY0BSRVkyMgp6anFCWWMkaSthQV9mQE0jXkpMWDE7PVRHY0pZU1NneUh5
VmdDXypfOHtQZzF8QSNPR3FLRz17d2xSdn5JRENVY0kKejxUaCNXcj5xJlF4JlFRUUhUWH54dXVS
fnBaJXtrZTxKbktNdU47SEY2VUZBRndzZnwkJkw+eXQ9eGMlVkRkM2E+CnpJV14/QHJkbE5Ye1d9
YyExTkRhI0I+P0MpO04kMjxYc0tUPGlOamI1WXsldkFGfi04UCphaXNjZXgqRzRPUH1rOAp6UE5M
VXZidzNtKVRgUCpOcWU8PVZsSWpxQGk4dj01byF2NkJYMV5eTE1wfHBGUnlkajNIJW8xNjxmcn4q
dT9aOzwKemJEXitFQH1JPVZieU1jTnpRTyQmem5BSEVIUlZUeCtVSW5aWUZNMkBWI0YrezErNGpU
Ukl2OFBDcVp6LTx5cT4lCnpQZ2BTPXAoKX0/Jl5mX2ZTZGppNU8oblNMeWkjZUtsJGhsZ2czI2po
I0ZDTE9wUUkwQzgxUyVBPiVvcFclY0JDTwp6RF41THQwb2g/dEB4VHtURT43c14lQDglX3ZAU3Q+
Vl9hO3wjISlGYWdVbiE5ZGxRJEsjdFMjYWJkPVlaXyk2T0UKektWMkglPnVxM2E1Yks5UEswKD8m
VjtCbjU0cnRsZyZ2MnZZe01VMWdwTGJXZ1IoQkhTLTxoPF50TDVVSzdERFpWCnpLUzcpWjAxVztr
RHZpYWQtb31ZcitnbU9XMGNaQGBXa0JsZ2M9KUhTUTtrYVpQQ2VLMSRDVjReMTZHQ2Exe08tUgp6
WV8mOFNqa1J8Y1FLTTt8O2N7YldQZV9pUUJvMnxLd15SWSpVckFMQGNxaUExNFVKdyhjM0l7Q28o
JW5BNEg2eTYKeiZXKWpMMD00I08kfnk1UDJQVG1AMW5lVTtLRE1gRU1fVzxrcW9fMXE8TSZZNG0m
Qnk+OzFgV1dvOGs0OU5ZZy1FCno/d1loekpRYWdrS0BtOT9JTiVUQHlxMmBAMnAqUlRnVktWU2p0
IzRwe3FefmwzPFFSQ14hPVNsU1BWLW0pKUtKdQp6Sk5PekFBK3IycytJSSkmaU9sfTVlMDBDd1A8
KHQoaEJEZyNvc2hWJUNRZ09RMj8rd2UmJWV6WEV6QlBqaFVMfEEKeiQ5ZUk8WUxmeiU5WlQ/alJE
P1B7NmNJczlMT3hIdE9vI1JDd1dlNio+cH5xSlkyb3VldXNgdk4zOz5NJUxyY1YpCnpgR21Ibypx
V31qe3o5SHRITWcpYGdTY253dExpKS1EKm9GMXVmejFkUWo0QjxMUG1gRUZeM1B3TEp5alBiPkxl
NQp6bFQqfiRfcDJTOXBwM2hlcGBGfUBCYCQwcXQ5fXYoanApcEI3fC0kQ1ZlUFBLOHReTz9zek5O
aj1RP2w1IVQjamsKeis9KFlkdzcwP2ZyUHZEN0E3eFV0d3BrSHYyVSZ6JU1GQ2E/WjF4cWFsTUB4
ND95QH0+YG5SKGlPPzt0X24yR3BfCnpSYjtXWGBTT2tTUiZZKj1MdVR3PyYqO1E8XilMSDdrWiVJ
SXZCT3R9UHFqUypEbUZuWlV5VmFadWRvU0NtNm0tMwp6UjE9ZHpqeFpJUjU+KjY1d2VGOUFYfXVB
cVc5fDV+SkU/cjc+aHFTQEBuPyFyWnt7M01YI0JuNXJiRThlPi1nVX4Kek5OSHYjdyQoZExsZXpK
WmMlYWAhJCV5KXZuTkckM0lVcTNybkM/R0wyM0Z6UTw3S3JsZSg4fkpzMD5vIWNqRlcyCno8NF4o
d0prYklGeyt0NmpreiN2NkRlZihXZGtRYVZGQ0ByPFFTU216I1cyZGVxTH59KEQxSTFYamRJZ24q
cGk2Kgp6Sjg1PyZQe2N+bz5Sen0pSiFqVWY/JHR5d2ZlVnNTYVdhSF96JFlxP0piQzZZIyNuJXtN
JCN5JiZpIS0kc2BMfXQKemB3SkNwLW40YitMI202LT5gT3VwYzh5RzN4cUY1cVBCbHojNlhXbjZM
ejN8Nmo9YHoqKXFqalNLfXJuYCllN0czCnpNckp5e1hOeHxATEBNa0tpOCFrNz9aIVF2NXstSz9u
RXsyflBFVD1YV0FIQ35UNjhITF93Z28ha1dYV0FNVWNTZwp6XldHNmY8KmQyWD1WO196cV5FZ2NY
cVZSfj8tREc+JGglJH1gfmlZYnhZdy1GZ2doRE9YdCoyNUdPdm0mSXhlKF4KenRxfUJvI1UlNyFK
VEhNdmxJPjF5KGlQV3A5TSRscko2KVh6RkpLJT5sbjRJfiZtUmw/K1VRK3UrdWkwZ2t7OzczCnoj
SEhwSyFUeVIkenNGNUd0NSNzRjxHVmd+a0RTUXNMSjZTYmd6JnpacnQwdH48YzZ3Kmhidm00SFRO
PykjUVI3bgp6T0AjXndoY09jTlNXa2pHVms7KHNTUihDczZCVUEpOXw/YGZTd3JHNnYoSkJYTVdC
e29gdlIzfig/dlYqaDs/S0UKendfZFViNHxIOyskUiVjZDRVJHJgZUQ1QTVNKTRtISMoZ3R0LVBx
dnNEN0QlZ2xpQTBtR1dTJFZ1alpVdzxte2ZUCnp7eVBNNjxocGF0SGVOcGM7YF9Lekp6X1Yqd1Al
bnxARzslLXt0dFNsMHRMZGM5TnshbnNHc2IlY213NDBPbjZSfAp6ZCYhKWpLaCZ7JCZIfCt7VjtN
bjcoMy17VlJRKVNoczVBWT5zKVJ7NiNeZ1Z6QkxASmh7VEl6NjlIYUw4RzQ5XjsKeiVqPUl0QEsr
VmptNlcxV2gkfDcjeCt9VyY3RyM/bWZWWW19UXQ0Tl9fSXt+Uns8RmwtLWdpS2dWRkg+M1dZXnRp
Cnoob340eUpYU2FfZ0NzbmlQbXtxPDZDYjBmKWF2Izg4PSlLeFg3fDQhNzk9QmlEezIxczNAUiVi
NFp3PklLQCN9RAp6S1J2bSoyQVFVfDRLPDJMb1FqTDQ2JnUxJVJEfkhPaWZON2pCVlM4WCFAWHhG
cjNTYVNPKzlNOCRmbE1qY1dTX3cKekk8WiU+RmZQeGZ0RjEqdXk2Qjs8MVNNYihYYktxP3EoJHF9
OU9uaGJ0UG1GPGp0OVNiaEdmK0pRKlVXSEJybn4mCnpZdzdYMnRiU2gkeSRuWUQ1VlpgYUZPTTJ5
OGl5ck1fWHdINE97fjxfZzFxXlFJbUdrenRPai1ndGUxQk9KUzUqSAp6aDd3PCUyKG5KQEBCfCh8
d3hQe0E9KWNodjI+e3NnMmg+dzE3RWttfGYlWGcobV5SdHBMZ3k+ej8+VCRrSTh1Vj8KeldZWXgo
WChGOXpwJT9AZTtNNT57ST55fjlBfEhWdUV6dilZPk8pbksreiM+TXBFeDFSbk4jcCRYby1+KXN6
TG1SCnpaekhQUCklfEVxeWVgcnVMSiFoJnU5fmhiVjs2IU1tJXpIKG9rVm92byNIYGcjZ2NPayh5
dHxGaz81UEdQfE5aVwp6emshN0U0dzEqR3pWS1BiLSM0VERKQ3pFYUMwX2NOK3x6VTV4MVFReld0
byV4THg1QzVNUWIhRENKYVEpNWZqUW4KekJeTCN0aVA3JWdpNis0RiQ0Iz9zSCghR0t2T30hcyR1
O0g3MH54QHZ4SHVCbmhUMkhOMjM9SldsakRsUTZeWCZBCnpFfFA+SyNCIWlVO2ZzNGYkI2FOXnFQ
PGp5aT9qI3NBIWJyVlVxfG94QlBMI0NJSVpwPnJqN0p6NUhlRE1wOWc7Xgp6O1Ixa3RlPCs9OXVZ
QDFycmBAQm5hVC1NaC1SVUBlKkFORTs2X0RJREJhciQoJH1SOX1NVUJLPjNUVGprTHxIM0IKekxL
ZztBaW1wNiVNOE9lZEdjWkhQQX1zMjsjaSorQlRhTV44NkoqM0N1YU89VW1XK2hidGBLJnwqWSNC
RkV6ZSpRCnpIa3Z3N3plbElTb0JNSjwhbWZIfV4/P2E1ZiRpRkAtVThrei0rclF7ODhwZCZDcmt9
Q18tZ3BLSllvKSlsQlU0dQp6S31Yc0h5T1BCRypDYE51THtKKER1WFFnQUxiOXA3c3Y+Plg4VWc7
aUIpOEtIOG9NPX14X3BgfWQ3UCliX19oSUYKejBiLTA+dS1aNFBKS3pyYVA9PVNmV0Z5RzZBNUNA
VFc8Zms8bHwwNDx2VGtYJlpPUXtSV2lic0JfanVTV20wLUE7Cnp2bnElQzRJSXJVOXAmUzdkNWF4
M3I5P1hhXjF0al9Jey1OMEMrVkhGbXQjO1gjSEQkfk92TH0+P1RzU35OLUc2SQp6X3RAc35gWjZO
cGRLU0xob153ejQ3LUlEZztSPks9NVpjYVAyLV44d05MMEh1WGErcHpWIXJxMjdNekNGJndkX1oK
eklOIVEld1dYSmVaWXdGO0tZYFQqLX16UG5KX09NZz56OTAyPnAwSD95Y1RESC08e3I4YkJQc2N0
cjRCV2p5fEMyCnomTyl6TURqcUktMDtkZCZNYDg0WlEhaGlJP1ZQXzgrWn13JG9JOCU0aGc7bjtK
X3VNPDclOTxGTSUzJTtIX0NWJAp6MjlKI2RhakdjflopKGhyR1RYKyNhaEVrUnhUPjluc05sWHs2
O2RsNHc/WTArXzlNTHx0YGNLflNEMEl+T0h6MyYKemRfX2lEdz84TUNFaipKNiY4NyNSbHVLKzZQ
OEZHSWxUb0JpUGthfG9gQXBybkB2emhmJDxvRiFSfXY0RDxpT3toCno9QXhGRkg0Y29sQih+JlU1
SHh5PDEle242dkp1OEdeWkRqclBOPkI3STtob3ZZZzE1PCpVMFJRODkoWjQwP00+aQp6RzRETFEj
LUAjdXlpSmcqaD0jUTt3RCFYPjs4UH0oZHhOeHQjZm5WemY5QTVjMCh1IWY1bmd+TlYlM201KWVW
O04KeiQxYEd6bjkoV0lKJTBwbllUISEhWDJrSnBGOGctWD9wNUo+QW94cHRpZEBpcy11d3p6KHND
dlpsWG1PYEkjd2k5CnowMDF1ZVE4dW4qMXZMdilCUmhAZl5EXj0+eG8maGQhQEc/YE1jK1gpWFU5
OVNSKkN0PkpRfVB3TjVWfVFXTzNgUQp6Kjk8Wkh1cytOaW0tPDYwU0MjK0FUcmA8QEVJbT1ydVVD
KDRIektzMkJPWWkwNikyOWA5Z1l9YkxkIWUpKnxHKGoKek5lIXtTV3tCQ1ZDcnBAX0oxcz0tKUhR
X1AjOFB6QlImdCN5RSNCc0pGbEl9dCp6TXclem1SOGVWI2E1QGZAOTVBCnpiRzd2RTF1PihOekQj
MzJSbExsO28xXlc3eGVDK1p2JD1kKj5BPkNlQnNqWGltXmM1PnFfLUElekB+PFc8I2ElJQp6U3JE
Q3RLc2JgWD4/VCREc0t3M2JZfiN9Zz9vSX1xJVMpdTwzNE9rT2xLU2JhJGcpeHRTJmtNLVhFO3Bq
b2NxX24KeiY4cHk1VGlPKyM9cXVxa0pmWWhuNDNKVl8ocFM3d3B4Z0JDPEIweSErekZeSzV4bz5h
XiVBVzsxdG8qN3ZAYzN5CnpJXis+OCFjK0Zhc0ZqenU4MGtfPkRKbXt2WEoyclFyWmBYfUEmajNL
RUxlbjNfS3VyVTY9YURmSjtxXlFoPnZ3Zgp6cnAwZiUzU2cpeTlvezBFSClyank7VkRCYVNtPWU9
QiQ0amw4R0JgWSp0SkE2RVB1QU9FMTI9UnpOJThfRjBfVmsKemBiakJ+MClYM3Bgc2o+d1ludnJR
KSZsZFJeRn42SVozbEUyTGAzI31zXkRNYHw1dXtlPTdRKXFHPEpUJWlNQV9uCnpEWkBadj9EfkU9
ZGd5M0QkMERkTGIpMXV2bnBpc19hQ3J2U1BTSFlDcztMTjMrOWpATj97eTJ6XnRZSj1QeypkSQp6
dyR6dUtlcTtkRFdhaWUkKSVufCMmIWZEUzZYX31rJGx3czcjM2wjJkxVWkh7Rykwa1d5UjZhRyh7
UUZ2M1ZSNUUKenZZVSg9N0FSO2cjKUg7ITt0blUxcHtEOWAtMXNiQW4rMjNvMnBsXnUwTWpkdSM+
JjJFeHF7N2kyOTR3MjRjSmBSCno2biV8IWkoRGohSk5xSj5NUTd5fE5ubnpzeTVieyMmIXhUVktW
QUh4QG04bSokNj4+VUo4OF8jbGVBS1hSZU1faAp6WiRYTVlyWGZ6PFc+TEZqKk5NO21YSFZkSkp1
ZT9fPyYhOCpkeDQ8Kjk+PFVXI1dXVDBhY0heZVFTQyhtKypCP0wKemxGP0dVc1hzfHhvclllZWFg
NTBibCRLQS1SfXUqTUZ1S2gyKjVEX1RfdiN7R1lQQ2FiXyVDRHVnTEBweFpgIX11CnolTWJZJSt+
eG9nMGJ6T04wOChTSXZMY2VneTQrN2MtWVVsU1ZgfFNRZ283I1lObj9+Ry01YlAjJU5EdElZfWs5
cAp6VkJecjBIV0o4aXBAVzRRRysmenNpbDB4eUspZSUkKFFqUWZrVz1VaG9yfUY+dClKZlBAdW98
OE5EQkFieUpZd14Kej1nSmxzLUFMKWcoTjFxIzBNVnRMWkd9dD0hZGlsQVZXPVI2VzhDQXZGRTFz
YEpDRCpHNSloNTBwKyMpOzNMIzNpCno3e1FZKGxNSENRWkZFfUBxPHwyU0c4JWYzYVFKTENwUDYj
MXo4bHlfZVkzezVxK2hacF8hMHw0cDstWn0qVVJ6QAp6SldYfWY4XnhnXzt7eHN2SWw2dUB7cnV6
YXstPnQyMih5Vz9SQjUpPUlZJHM9dFAocVFDTmdgTDZeQXA8eWpFMmUKekVRdCp4ZHZsUmVrYHop
cVpKYm5rJkFnUmh3NzdSdzV6PTdAUiN1Ql9VOWBOTFAofWtrKkxxSHpeZF9ffW0/TklhCno5Yyhw
bCQmPGp9eVMyPzkzP0p3ZU9zaVNfcWJxMW9fYnQ/O0p6LWJFeWxZensmUy1mYD4waE9BSD80SzQk
cyliKgp6XnhZWnIhKU5NMVp1TkNSPSU1JSNueGIte3ZKaV9vRntUI1E0bGAjNiQ/XmNabUYqfDU/
RyZlQWo0WW9meE9yLUMKekNtQlFiWDlDaVUrNlk7fnpuTjh5OGFiZFdVbl97Y1ZsJVFtKFZuMzdi
S1VEOTU0ZUZUSlpkcFAhU3g9N2lHIzxLCnpTT3g0JD5MaSQoTHUoKTUlQVM7TmgxQCNGO2p4VTJA
ZTBHLTQ1I1RTMGBCdC0oYnkrJjRrSkdDTThROWw3eSFWSgp6S1ZzN1A/WSNVNT1mUyZAVjhzajsx
b2thMEp5T0dTJXd4OXFTVyElcTRpYDUyKlk1NmtReD1ufWd2T0RuR1UoKnAKenRgfEVuKHFaJG5a
UFBvVV8pUWdLQ1ViYD12K1BmNC1lemBnQFk1Q0tmbUlTUjVqLTBRSFZ1cH5lQHhUMmIrSFlDCnoh
NG5tNDRJeVFLd3tzenRyXjIqNG9zQ3dpX01DWVQ1Y3RjV0swUUMwM21iZFgoVEp6bTdPQDB5X3RB
QUR7bVApSwp6S0xtVVYwTkQ/ZEE+cEJDQzY2SW97cSpTcUhwRGxrXmtCMjVnamlwOTlSNENiLWY8
PDVzdDx6VGsrUjJ8dT92OFkKei1vKFpJMTxHSlBvNXErJE1sRyElRjgqSFFnWSVqVV8/Skp8OC1I
VWhucz5hMEVEWC1XJVplWjBVVXdiKExnbiNtCno2MiZzR1E0TVFwQXJGXnBzYFRzTU1AfGB2IWZ8
Kn1QRFc5bSUtKkRzU2BKTjJUPFlXeEY9X3deXnBDRD9EaClBIQp6P2spWkxWYDxJO3VqN3R9aVh6
QWI2RysmIV9yXnJwTVJPVFBRSHtLSEd8cjB5NiF9dzYmYmFeOTk7UW4mJG80cTMKejRnanR1YDde
PF5KVChoR1V3d0lgP2o4UyRRZE1TQnt4YW1kTSZ3X2xTY0VSWGVFQiUpXmYlQkxVQkJhfXg1OTdi
CnpFOW1MQ1g4YmEkbk94WiZXLUBJamAqdEtGcE9BTj87bVpBPHlyaUF0a3pgZktIYkQpKntzbTJ5
QkZCaEN7ZngoOAp6NWVGMTNCTWIpYjlMdyhZdDBANGRLKSRgcUZkWSFkUWopQ1ZgUkUwQ2pWeWw/
Yl9jPWRNIWk9akJRTlc7RGpXXlIKenFzUTJLJUZDdnkyQHdnQGBOVj4pNXZMdj1YfWhNYGN8flBH
WGczWCR6THdCPjY1OXA4ZWIxenwlb2lUc202LXxzCnopdD5TVDQ9M01VNG13Mz93NlMkVlo8Wnp7
OCZBdzdHaHlSciRuKm1YQDR0RTZLZWNLTyh+PUF+XzR8SEYoTHwkVQp6O2N6SHNhOTFYMiQqaStq
cFZrI2RYVkNONyNufDNPKnMzXmh1MkpnKHt2QUtwWXBsTmB3JWx2ZFM1d3ZMPH5icVEKekFZODxX
dytHNCsqVEZMM0k5dUBadihVUlhaMTxEV1dyTFApMGt8VDkqSDtRZ3tXJWNIYT50bGtaS21+bEA2
JFBUCnpDbishPGQ7KWRjLTgkOT4kREYkVHVFX28tRT0/VmZPOShxWjg4R0lUQiprRCV7fFdHX3JX
PDZ+KztgSkkkQm9NYwp6VT87bGhGKmIqd19YOzFVQmkhPGN1ZyRNQjlmcGVsND8kT0wqYD5NQUIj
ZV53X2Azbjc0T2pNNThTNVo4KGVROGEKelJkentZaFFqMVgre01+bGYjMyRYX18+O0lmazB7Y1pj
U0c0SylJMmBGWHxabmlGdHg+anFIcCVhdGQzQHFKUFpeCnomMExrWnQ8UG1GVWEmTztQcyVefUNQ
bn1WKH5tRCZJOWVxQCglZFplNEs+aThBeDM+TUR4bnNGd0QxZzlLNlBOdQp6ZEApeSpuYSRqNFY/
VmNRbHZpa3V8RktjN2FxOEpzTm95PmdLWkgkbVI/P2w3Q3dXc2R1Pk1DKntqZSlrQDdDP2EKemwj
WDdoSFh9Yno0NyFEaVkqbGc/dUhMb1c3VnV5aEt3T2JlUTxnVVVUZVJ0fVNXMHkraSZ7YTh3Z2Fe
IWxZZXRDCnppO00mQWdYamRpSUYyNEsoKU1zO2Q4fHRmXkg3SUV6UyNBYFMpVyh7X30+QVRoTm4o
JFd1TUluWlBBN0BYPH1eaQp6PmZEOGxtYSFyIUlfLWRmO2FXMlBRQkAjfSExeT90RXFUezMhKnAm
ekx6RF5hQjtaXkd3MGdmWmZsOUZHVUEtZ0QKemI/eWBJJHJYYDJYNmZBfHB9blFFN3FuU1NhZ0BJ
VEBuMEFlXm5GJWhWKHZXcCtfQnQoYnRnbTglampYQlVCajNkCnokdngwOGB6TE97T0A4I24zSUd4
TkwxdlMle0c2JVBIRzYodDFSdndwNVFBQjE8IzlKcEFLTFhAdiN0U2VTSXEwXwp6d3k+aFk+b1BI
VyowYGg8dkk3JDRAPWBxSHomQmFwdDttTWB0SFdjP0BNMDtQQCpfYzF5QyNqaiZqJWtxSy1RbU8K
emFkfmtJXmd2VTY0OHQlYD85MUZRKVRxcnVWM3E7JVI1RCF1RWB4eV9SZHglU2AteH1zQTVKPGQ2
Vm5kMm0pNzZhCnpHRXxRJU0hZUd6TWJkX1Y3emhlKDcpWlJDaW8pX1QwLXBtKipHWldvIWg3WE4w
em1AYXJOVn48Tnopb0kkd15kSgp6MW4kPDVaOFpTY3RCMm8+Z1AwKmBfQHdFcTZMNXg+UEhCJntj
QTtFMEZQKyRLQylmTjlXTSl0NEI5UFFnMShKdzcKejB6enMkI19PPTdHflN3KHBpUSV7bmZfY3J4
aXxINkM1Z3c0cVZeeHVDb3ZecC1JNSNeN3FVKGJKK0Fac1FtODMkCnptfHVkejk9JEY8XkVAZzVo
fl5KQTRjaj9QJSlYJGw+VXpESlB4ciZaNHBge1MyTllnTG5BNkJTSjVEPD4zNiZMYwp6YGVJa35v
LV82OE9BPWFpN0lRa0M0Jj1lUUdqQEFnNCFlP00yWlVDRUA2YH0mcHI+S2tAfWAkYVAyX0N2QzF7
c20KekI/NjVqNyZzKmpVK3lVQ3pRc25xZTlMXzE0cW51WXN9I1ZYTHZGYypRLUBfZSt3SWZ1cFpy
bzkpI1RiaWx1QGRzCnp3NTJeOUo1NDNvdl9PQ3hnemg7VW0hO1FOM0NZYjR7SiEmZEZ4al5Vd2Fy
KF8yIzhxNkZYZ0xLJjxuY3Ikc0UhcAp6cGtHfEhoJHlXNXlZfnxPWUN7XmtDaVhgR3JtTjdqPylz
P3BpRVU7OVRNQ0lwM2l7Zjx6fE5aKz1WWUtJQHc4ZGwKelRMTS1rMWRLSTcoN0paMHk9e2JVN2ox
QT5yaV4yNzhhcVplaz00aCVkelZNVE0/MjVxIzhzP0I0Nkh3a1JkZklsCnoreUJOOUlPU1clMldi
P2IoPGUzPCgoPmMmVzxjWT5rO1FTfiE9KjZTZU5fajNwSF4pMXFEO2RlUVJ5fTVDWEU7dwp6VSF7
Xl5eRSpkekImVklYVz9pS2QkPHVQfSFWUn1Ud35wdVFRIXwlXzxVTFI2X28/cFQ3VjJ9N1pEKiYm
e3NDMzsKel5ic1IzdE1KI0loJG8lfVB1Xl9DaWx3OHd7OV8rcmM0TWx4UEZHcCt4WF9oS1l7My1M
akc9ckRValJycyM5cCRRCnpOd2ZzS1p4Z047KXlZeTE1VWhEJkFeRGJgWlhRfjdwYyM0bWB7MGg3
VnV6flZDc3tzeXdrbE5xaTl1c2lXUitYUAp6WWktekY5WlM5RUgld2ZXdkleTXQpUjYpRFNjYTwt
RT1yby1VQ3BeO0tyYipEcF9nT28oXjRTakA5amVlZSlURksKel5HQj90YEpvPkh4bUkqaSZBUnJQ
ODwmfClAcDZGck0+P182NlBPUV8yNCYpej1wVUQpMSVMcDR2fU5HaUFmPlIwCnpBS2dzdXFyUD9k
a0lrUlJ4cjxKcTFqeGM/KzJhLWFePHZyOUE/Wndiejw7dDFxJVN4dEN5QGh9YXQjVTgxNlQ3awp6
V25rbk8pPj92WlFHSVpDckplajVBN1JiXmVYVSlAcDNhRVk2Yk9+KHpWVnB8UnJpdVlUfkRkd0tt
dEJzTyQxek0KelF4eTAxV2E+UjtVM2dtJmsldDwqcS00NCRLJWxtdkJGSHJSZUtTKTRkTzF+TWdl
YiFYJiQoTzhSVDRVRHBIYT0hCnpCbDdYTVA1b3JpSH5eRVRCfnFqZSZ+Qj1rZiZ5RSlQSUZ1dj12
eGhqeShjUDZfSkVETFIxdGc9PHQ5dSNOOSRHawp6N0MjXmFiRGpCaVJQYHp7NG5tekYoRT1tTEdy
VlZxTXFDSTJDRX5jTlJlYnNTSkZ6KXRMPmE3P3tUM1pjdkB1fFEKenJGbl99TkpheV9UK05xPSZD
cDtseW5vKXhMQTllOVpUI1F8KkJTc01DRSVsWG9SUjB2dm59cHhoeHc3Y19LWVQ0CnowbVh2WWhF
bzx1UUgyeT03eSZBJW9VcjA2TlIjUkJZKWB2QngjajdCMT1YQXEpfGB0WVoxWERXa1o9K0tLNmIw
Wgp6Sk0yTnozSHx2akIoanlzPSMlTG1GJE1TWjZPQk5qa2w4WnBzTTIlZyFxaTZ5UUApXmMmRHZS
WmRDbE5obmVDbDIKelVxX1kyKDlWWFRUZ1BneCZ8SnZJYnxiIXdPMEhrT3hidlZYPjE1IypJSiVK
RTYjTW1zQ2dwPWVDNmQyVC1Qa1MxCno3WnY9NClSP2M+I1VgNn5LLXB1WGE+bk84SCtsdE9JfFdu
Y25JfTJsZ31le25KMHN+akNfcnF5Uno8IUQjaXVeQAp6MkRwdEJwQio5JTUoKE10P1B2bHB3ZFBq
MjNNOEAmPUl0a1FsaWVaZVohdnA7a3tCWihjMkxYfXhkRDFFPDtKaUoKejExa1kzNSVFSlpEOyht
b0VEe2FDQ0FuJCs1YnE2MVEhSy1CTDxEfUNYRUwmXiNmVkxhdnMxc0tiMFlPV0FhOHFQCnokYjUx
Tnp5N2tIajk1MntiKnFpRm4qIWAhaDtNOTxpbzRgNyMhI3lhVE9ARGMpYDVgNCZvPFk/RDNvYDJO
TktAegp6XytLKXI4ZVMwYmFIYklyb2FjVkZNd3dNOzIyazRwPiY1eD5VfX1BekcwPyV8YmhCNX5J
djlwbXtGI1REMyFxcWoKelY2cHkhZndKO0dtJEZLSyo+bTlBNUI1O18ja0leSipCWXc/JCVWSjYm
b29RYFRfbDdMMEkzTjA9Km9AMndhU3ptCnpMWGBlOUxrQ01FSy15ZFRrXilJQmRgd3dSQWJlUk55
dWJfUjk5WTNtdC07MSNMNlpZS2FaZn16dDEwJWtFVDhmMAp6bWVsYH1Wa2pzYnhnJVJxKlk2TCoj
fjNlc1BgPH5KSSFwS0pmISEyUHp1SD9WczFaUm4jTz1XXztyVERiVS1scFoKej9ONTUmcUlmamNp
az1ZIUlLYnt9alpUN31yZVFVc0hhK0tPX2s1PTJNXnNlZGM2PkJNbCo8RWgkd1F7TzB0LW17Cnpv
Q2A5Nmp7Zm8hM3FlVzZAdk8pVGEpTihXP3xiVUJRcilBfXVUdHs1dXMxKUtYNEQ1STM9Qz1nNik0
cTBuKW8zVwp6bEFERTk4STxRM0xUSEQwUC02c21faD9+U2tpY3QpQitReileTWxCNSZSKG4jP2dC
TzlzQHR4NEVUcCskY1ZEP2EKelRCTT52bTQwODlYJGxlX2ZrcGhjWGF2JDdAWF51UnY4flhlayF2
RSZfdzR0SD14ZnxDIVJReVpqJCV1YkFnJmB4CnpMJGlBSmVVNCVreyhEU05iV08yRUNaKSl3JmEk
a2EtTFIjJjxtK3ReeyFmZztubm9gQG1oNGQxQ2wocklBODhneQp6ISFlfF9BNGMhRD0tfncxe1RI
MEc1M1Z3e1NXSCUlZ3JfbXVrISs0X2taWWgpREJUSypSI0NTM2loMk0pcTN3SFkKenxEWlVBbTQl
K2YkYT02OXw4U0J9ZFZga0MtK3dBMD5SNCRfXzQlX2FsNW0jYXFzcSZtWjk5ajEzbTZCMm0+cGlT
CnpKdz9LPiNOWT5OMDRDWE9QTnAmbmg0cXEhektFJkteYHwwUVJRSWE4YEB3JjIrSDU5K2U0WD0z
Qih4I1pXQTRNfQp6NnllUU0jRlNDUnBPcUgyb1ZvK34lKUlee1l+N0xzT3RzT0pWSEJQSU5sQDcr
T3cqfGRfeFNYXzMrRkRoZE93XykKejBVJmNmb0VrdUpDd244N1N0RDxKKGFrdTYtUFRyVCUkZHc9
K3tCMU4xSj1Bb3MzVTRfbHB9KHdKPnFaO1hoKWszCnpDbiVeVGtlMnJmUkk/eX4wZiY/Z0tDciZh
K2thKl9kQzB8MTE2dDNOQUQmPnZ0JmtXUGZZNH5FQFdOSyYhJUprWAp6bmQhLUJiTz5YN0EwKTQ+
UWZyX1FwPGx2Y1A+UGRvWlozM3MyancqPyorbUo/ZnlscXpyYUtwTj8rYDlyRX1DRz0Kekl2bz5F
dldwUHd7am9YcSVvI31aRFVHe1BiSTJlPHE2YX42YyVEYnMxK0VMc2ttTHlgVCtyNnF4UXlufDBR
XmFrCnpsWU4pXyVldkY7QXJ9cDZwKiRra2d2ZEBDcW5GSUU/SjNtbj87Qm1IJS1HPVA1STMxLW9Y
VENsZ0ptREtMZ0lEeAp6Wm90M3BhfmZMRCRJezl5c0pnNS03KDNRV1pMIWleV0I5dmswVFpPN3dy
X0NuTnp3TC16a1F0aWV4VXZBeUZVREgKemx3LSVqd2RMRzZjdThpNnAwaSFxNztGNytEV01eMGdS
TWZfMSsybD9LIWc2M05LKmAkWXJGK1kkYnUpRjAmZ0Z6CnpyT3dUQzVefnFzdmQ/KmprOU5kbG8k
KjB5bzxKWHx1RH5RR0RvfXlfQ01fVTd0WnxxYEA0RX44NyhXUlNoOU8+Iwp6dH51fEhTWWs1NWNv
VShGYT9EI2M2KyZZWHpkejNmWjcpMG9uX0kpdyFJMnEwVXJROzhiNllqWEVjTWF6Jms0a0QKemAo
XmlKPFNoWStaZHVWZ3lNOFV4TXdvSFlTN34/SG9rY3ZIaDBOQD5uMVQjaHl+bnZ2bVZaenZCcUdi
RCUzPG44Cno3c3ZLQFc5dSVrWVAockFeI19YckdXWH0oSWZQMEZAbndGQkFTcEM8Oz0yQnYxQHc/
eyh3P0F5KkdBcFFBN1QxVwp6bG4kKylRN2BgNURKV19tITxCJGBUUE5rQV9sYzI1ZyV3dkFvS3Mz
JllkS2wlcE1LI0NlcjtLSkl5YF8oOGslbFQKem9nIXtraW9xcUtFX0s1d282JmZYbk4xb3Zha0xu
NE9vRz9sWlZVRyZjVGRgSy19TDxmZilqbn1MS25YMyUkdyFgCnpkJHBDdSsqdWVqeGNjUVljME91
V0BpPj1mZHlUIWgrcyt9MDhpXzZ3bHlOc0d7RktWQzFkPU9KRWMhRS08XmgxYgp6e2A4UVFPRyhE
VjhEMlJgOFQ8TUtjdn4xMGMtVXV0Vm0odUlQQUZAVGw8Zk1iVmdkMmRSZjdEVT9QTWJQJEZBQGwK
ekV1KjslYzRsKz9gUlRxTUZxJlNvY3RlJTlpU1phOXhrYnptP1hya25VWDw1ZzBHK1JSLXdWO348
fUUhVTxDLTBBCnpaRXgwRHUwP2x5RDZjcF8/NXkzS3ZHRUIlNFBpZHhULXtXP1UpaVNFQjxASGEq
NUh6dUFOV0Nje05LJVYwWnxDWgp6eygtZypWaUNiciteX0BycHhHRnFLQSlMU1hHZmNaTHA9eTlk
azkrOUtQaCRUYz80V0chKW43a3s9RjVScz8hU0AKeil1UHwoY1AmJXZlSmRiTDdhaD9Ibnx4Yk5H
YUdCbUNhaUdvYEs+Ums5RWg+Yyh4aHgyS3NtcE93Syt7VzNgfnpkCnplVEM3KmNoM1dmcHh9aTQr
Kk0qUFdfWVFCTj5MVXZmQmlsUDtrIVc4SHFCNlU0djs9cksoXl45Ums4bEVuMHE/LQp6cCtecUBo
NXc8YXpMfVMmbnk4YUZPVk5aO2FXdk1ndUhuPkVPQnxMRWJDd3dUZHNhaiVFVTt+ayNqRVQtem4x
QnMKejRHUjtlaF9iU093a0BHYGYjWkItPGJwWlBQMVI9UVU/cGglZkBGQ0lWPzdEJnohfiU8YDBA
eEYwMTgpUiVpPTtyCnpuR0NiKi1AdCpkU3B8bTg7aThDS29lVEh1K3JtTWlrKSRHRiFKQ2NyJUpu
MzwqQyYodm9BJW5Vcmx+cndpcnsoXgp6SFBRVE5xTkpgSmNTSj1mI3FuMW1VNHpMVWdHJTtuSGky
MW9VVVRTYFRUaG4wamM5YT9ZMilXUGRMclU5b0kqP2sKeigqbjRuPG1LZ3tEY3sjWllNYHUjfDJn
OHApMzl6Y1V3WHF0Z3BPJmFLSiFycVNRTnNEYVk0bUdZTXJvOHBSI348CnolPkd8KFIpPypEKXZi
RHxaKzdaJkpiRTtMOUchK0RjTmpoUDtseE9Pci0ldF53bEVPX3NoI1F7VXtuQjVxOTAoIQp6MGdr
X2ExT0tWQGQxb3dDPmhtTUdSaTxHQE0mNWJKJVZEYTFpVyl5Yml1MnJhOFNKRWBpJHBBO0VpTmR3
QU1pJU0KemRQUXAmIzxGS1l7UUhiZ0dENGw2USkmZF9oVFJZYntPWmkwN3h5JiZxSFZ1PFJRVyom
Wkl5RmpsTmU4TEpmR3BECnooUyhDe15reFFeS15+QTcjaklmPi1fR3ZYWGV3XmxqWk1pLVhDYUV8
VXFUO3tReDdLQ1o3ZiNiWGNuRmpVRiUyNwp6SDFuTTElRiUoOD42X3Y2WTFGUHI0M0FIeCtre2E+
JjUhMy0xRHkoWGI+YDJte1lEdVZiSUkwZ05LSFAodVRocTkKelk8VUFGKHY2LXhIc0VraXpZSGZf
aWNSI0J1endnYVdsbGowTzNfPVZ7Rmh+dWxwbjhtdEZDbiE4Pl8/QD97OW5rCnojWFkmQ0t7Nk58
e0dmbUQqd1cqdGlsXklnLU0zI3VVIW1aTl93ZDd0NmFkUWghXipycSVNdStgNDFiOSVpNmUrKgp6
ZGtLS15hZ3xDJV93WV4tMVZ2LWpDNU9Nb21wbzM7ZkE4P14yR3hULT50JT5LVkh6Z0l5JGJ1R0hA
VWwqdzdyXmQKekNmMio7LXx+cUlJN096RnQ1MkU4VmtYSEA4dHAqR1l6VSlWP0xGNmY7d2dQZF42
dVJOKWVfdHR6dyU5Y2BpaSFuCnp0QEx8aWc3X3RnKFV1fHgybHglS1FZe1BDO1QlbjN8MGNZQzhe
VzhMJG9wI0c1ej10NThHam1Me0pFZ3RsZGRQPgp6NCNpO21AQWV6dENFTTxDY2QlbXA/PylZU1J8
byR9TGJrMypDJCg8XlReQGxzRTJSIXY2fDZFO2AydzE2d2ZFNmYKejJgajhMUzM2JUIpXj1MYS1F
V0pPeG53V3B6eVMje2EhejZmbkRgTkBMRjRjZUI8UHN9bEJueXN3UiFvQDsmUHNzCnp7KiZXbT5N
eSROaDU/ciFPYXVUPnNoYD41djhxSElINGY2ZncpYGVMTlo1SlE1T09lQVded1Eze3UmJVVEalZ2
Vwp6KSRtMmxqR301Q3pCJWBaPn4kTGtNeEVHU1J9UWRuMmNteU5SVnR0aC1uSVFeZjdmT3FqLUhr
WFZwSzBBLV8zRUgKejxlR3NiRXlxSGQrOGNqSVA5WnVqcytuZyspREs1eFI3PjxsN1M4YjVQRSl0
aS0oODlUeGVSPlRNbU1xc3hfO1drCnoqfntQNjZWY3cpTiExPEE8O1o+PEp5NkB+U05eLWRpZ0I2
YUxmbUEhbW11O2RGRiF7QnJ9dWFXQXBwdF8pXkQpcAp6Q0MrX1opMXklTEhUTmdgXnBnNWE8c0Uj
Y1lkd1pEMHVIO35Ic01lT3FNIVlwKUtmUztsY3Z3cEJKOD55VzNjaUUKelMjSFppJTFAZXF0cjQ0
Q0t8SUc2WlJ6UjtkKzY4THJAXjlnPXp6Kig7TW49REZEYiUpcHY4WmlzNmxtcWdydDMzCnp7OEFa
cjttUjRYNGQrWTxBSW4mJWhtYmJZblJUOEtvJHF4d3JDRzFaJllPZnJwOSY2ZXlGTnY+PTlaVU4l
KG5MIwp6U0daWHdYTXE+N29icVpBV3d2X28jQjhpJCtXQUFoPSNhems3bSNqeWlKa2NRRXZuKT1w
bSNWZjVMPFJIJWZDaU8KemN+TFltd0gmUSU9ZV5Ka09aRTB0d153TjFQcmA3NEBgP2w3WEp7Xmsj
RmtpIXNEWjgxTHExZV47dkpBRVIlcXR0Cnp7Xj5KIyRNZVN3amRiOUc1eHBKQlE2ZTlub2gqP1VO
NHQtcF9YOGgoQjZ+fTVPKFE1NG83MkE1ckBBc2dBOTM7KAp6O0tNLVI4YlgxNldMNiQpNzxgPiM9
c1QxJjl0cCtfe1JEcElPWEFnbE1UNFk2ZEhfeXNHblY7fiF1d2txNGJvLXAKek59QEJiMzBnNlg+
PjxrZk0/RntvUHskdU9uKEB4dURAbkdpQzljPHpsXkBXbjkjYUh2eVRhMThOSGg4QU1mYSZ4CnpS
XlowKEdlQzNoWShPRSFeUkYyWFgma35wWTw/SXxpbm5pMWdLZzxgOyFKZ2AhSlJZeHJPdCh7cS1I
dGljaihlTAp6ektLKlZQKXdGNCNCKlN5cUNwSUNjPlg4OUN+M0EpP0lhMClkbDI5QjAlT29PJGNt
QUg/ViE2aGwxZ018UF5wemUKelY0TTFPeHV9ez9pKSg7a1NeJUU/NzEhQXh1b2lHWmU/S0NvWTRf
djJJMk89fGghdmJKOCo2cFdVcllhKUUkaTRyCno2VSVeJisyMTNndj45eldZPzU2NiNVZnpHVGtx
P3V1WH40X154RztrZDtfb3lzcEtXfFJvSGckV3I7MzdqV1dBUQp6dmIwMHJhZm47fFYkaSMxQypE
WXFURE8qSzkqMklxR2V7I0wyR3h3IWF7ZTxmI3NgM2d7R2MoWjh3U1ROLT9qV2EKekM9KSFpSDJ6
WU5ePmM9RTU/IW89Yl57IztNR2k2fio9NyhNUlpMPGUzRj07dTdXUVlmPnBoJGc1KlpjQHE0YGFV
CnpCZzxidm0lUENqamNRPVFfZ1lmPDRidXFFYX5kM1pCKCN6a2Q1aXVFQU92XkYtQ2xxPlIlS35n
JD9QTyM2ez0lYwp6bTtYPmA1YE5UMik0NiZBXkxtWiZRUF5ncjJzKkM4ayF0M2cpbF5jWi1Ab3FP
M1EpOCs1M0p7YHBFR1JIOGA3U0wKekU0WnF8TVQ9UUgyM2MtOGxSQzViT1QxUj9jZjhsOG4lWkdi
SkA5bkVOVzEtQDFlZyolQSQlSG0/YmdtM3lOfFVwCnpnKFVVWCV3MnZGRXJqe0htcXVHUnsxPCp6
Zj9tXm85OFZzYWF8NkgrMypwWjdpTStsPUFlcl50bDhQe2ZmZnxeMwp6K1p3aTBxakh5V19Xc0c/
e1ElMU4waTtSO1VLJD9yKWd9Rkd7RE5JTWBFJEloPmAlQzZqIzxWaSFlTllveEVjekcKekhqJXVO
N0BjJGc+eDhZKDdgQylITHA1bmRUZ2I/RDdZZkA1SGwySGtjNVp9SEdUWjx0SCU+SWttPFI2LTVM
UyMyCnoyWFU1YTAweX5nK059Ri1APmYlc141ZTdiTz8qeitqQEt7aV5wNClJcWxRWkBtKzszZzRA
aEBCZ0gjfnF1TlIlMQp6Y1V2fG1aYXNlY3tISHBzMX5TaHc9Kmk9V0ROWnc1VWp6Uy10PERtZnFg
fnchVDFMemhZJTlUckk+P2hXeDQ9S2wKenlvTW9RdzZfVSFQJDMyXllse192JGE0XjRlUi0jUV4q
UzxnWiZTZm4tez5XWkhhZHdsSzEzK3EqUmxTNSpYbVlUCnpRWTF7dSFLUkw5R3U3Ny11aURZcis4
MEozRjdEUC03YFdxUUw2QzA2ITQzK0VNTCZSMDBIOEhMcDs9NiZ3KGx7Wgp6SSp3OCtDZUJoaF8t
ZXM3VWk8LTk1b21pK3lePjFuMDdGQj44XlRyYFQ5KHlpZ3tzcGojZFZXbV45MGBuWk1iSikKemcx
RVFHd0wzYDRnMkAoUW9Pb0t5P0BBSV5yVWRWMSYqVUxTKVd9PVNjPil6fGR1cDQkISQpY0cwP2NV
RlljbUJHCno2K09JdVZkVElKVXVSJHdNMj5KO3IwMk4/cSl2R30jMHN9MU9rUzIkbz0mI3FAQilt
NDVzc2owJDxQKWFSYCRCYQp6Wi1jS05JNCZYe1l9O15mcClCJE1AJHUyfT9BfkJXbGJoTFomOWAk
THM2NSVPX21UZH16cGhoKEBEQDN7REo3dlUKenFMRUcrK3ZDfjlAYWJUTXhnZ1lkdF9gRlE4TlFN
UVh8NWpDX0B5NGxiSWE+USVgMUI0Uncoe2ZzKTltdyRQfVhnCnp7bH4zdjBpZ1hxUCV4fF9ybE1+
elAtT1YrZlV+Q1RxUjJ8UkQ0YGtTPWxmUHR6Zjw1Y2lTRF9aJmcrTU1yfTh8aQp6TzR0NWRgendI
JCRObVF2eXclQFlUQlgtT0tZaDlNREczNChNZFlNOEx1VjtfQmdAR1VlQ2oqJUdVKUl3UzZgPz4K
eilTR1dXMGhaS3JjaTdJKG5oJClLeEkhKkJ5cVlQYl5rWkRiS2k3I0BAOWhNKWNER0ZMXmJUTEpy
Xi1nOFJgLXk2CnoxQTE9YChyeSNwYmlVMiRQN3dWfGg2WT4lXz0rZEVsRz1JemliP3t6T2ZjWUdN
ZWYrVT01dD97SDxIZ1dHSDspSQp6KmIpSjxvJTJkUTdtKVMjdVE4cG1gTUMmcDt7YER4YjFmeD87
ZlhZSnMhOXBVdDdRfSN5blp+ZVFDTXBAV3ApZmgKejtKfD47S2wyZ2xFUk14bCtMO3soTlMqWG9f
T0dfbkslTzV1Z2FGV2BBM0VlRDFxNHVgZSEkJUg0KEg7VlE9WlFGCnolYk9SIUVEVnxXM1UzYysk
djNTdWJkMF9jMmU0P3B1WlRadWN3R2I4aWxNPHBfdiFvXlI0KWozVElkU0VteVF8NAp6eE9XJExl
M3BvKjJAaWBlZnZTZ3ZPX2JsPGo5Zm8laTdmfns8MV5PfFpudHpyZ00hKiY9OXdYZ0ore3pERyhz
NUYKekxJelB3eUpYOV5NKjk+bTZiRlpjSF5OVjF5OFd2e0ZGfD1hNzJQZVJRNjwjc0VMWDFab2J9
cz55QkEpeEFCYzNiCnphIX5haWg8KXZgOyFgZFJFJm9RQFVNTC1XMklsTWZDcTJYYHAyfHJkSSlf
dj80fndGd0BzeVpfc243cU5ZU3xVVwp6OztmaHpKdFY3QyskJGBQbCFNIUNIUypmP2s0JSF0dlBJ
JnU9TFk8JjIxVWI+XipUMTk9emxZISMoMnVvWWNCdjwKZl5XWmt4eyYhZUFwKTstIzBNcmAhYjEz
e2E1UDBWWDBRIUZiajBrYj4KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibSBiL0xheW91dFRl
c3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NjBh
N2UyMTg1NmNlNDlkN2EzM2EzNDNiNzg5ZTVkOGJjNTlkNzk5CkdJVCBiaW5hcnkgcGF0Y2gKbGl0
ZXJhbCAxODE2MQp6Y21lSWFje28reXt8Q0RFSVVNc20mcXRZT0F+VDA1THZxYVhQelZ0c3AkeipO
TitgLXVBJnZ+ODNAS3hWKH07e0kKejVraDFyV0o8X3o/JCtufmArZEteYF9IfTReU2skLWBgckVQ
diNudlQ+OXlXI3lAJlBRY252MkNeWXlQMUFwSzNgCnp3Pz80UVVuZnhPJEhzP3dvakk/NmpleWNt
QWZVTGRVfmRRPFQqcUlxbkJgbi1HSkJxRV4oZGFoeGFfUmVWP3gwewp6Rjs0NEJLT3tENl9CO2oy
VzNfKGVaU14+bysyTmxrenR3WGpHeHFxUyNlZURuNHU3bHJmOCVrYHN+Vn1IQ3ZpO3IKekk1WVVo
JDx2cTRzO0o0UzkrZ3Y2UF9XYmNwSyppaGlNWjZEenI4cjx6V0o1UGY0YXZNSlZieSgtWHlYZCR0
NE9aCno+N0MzYWZKMyNwYWlJYThSfT1Oell8U244amppR2NzSVJ5MzM4Pm1jKylOXlRQeyRjaDBA
bVkhYEI5WGgwQ1h1Wgp6Xz42REpLYFA0TkB4ZFBlO00jdkdaLUNKTTxUNDxNZjRpcURyKmBDXmRr
MWVwbD5jT2s+TDBVKDAxZzA9NU5AZ0MKeiNVWSZXJSlJKHxvQHN2bFVjV15pe2dXKVF7N05VQ3g8
b19MZ299diFpQjF4UHt4bG5LUH5lKGdJRDM0Tzk8Xn0xCnpzSjh2PklCeyh4bCZGclJgNXZTKD47
S29vUH44V34pdVJAT3BIQCgja0RGMjM7KlUyfXdgV0d1PUNTY2lgVkhBfQp6a0pYV3ZNTzJMTmFU
eFZee2BpK041PXBWSTYmZzY+RE80bTxWIXRWTGUyaztoUHQxLXBSQHZmPl90cCNOe0hGfk8Kekop
Xldaajl2JEt7QmI+YDJOP0FSX1ZfTm5Rcj50ZWIhd3FfdGc8SHVOQ1NaUUtxQmRaMVQ4YWY0SzMm
WmZFajFPCnotaFAzPF5BPjtTNk1pfnMxX3ckNjNfeSolWE92V0Fibn4waFo0cm10cUpRdCU+Klg/
Q0hHZ2xWenJ+Rkp6KzJFOAp6VVNPeUNUaDA+ellOQT9GdjMqanBQdHNpQ1AzcmlvazVLPnlmQzZi
b2BJd2N+aTQyMjJZbiEzRV5QflQ5SjdzekMKens0SWBQJFVOWUN3aFdWfmZhYnljb2Q9e0ZGaVZv
Y1l4dXVGaFBoMWBBSjl+JlB2bE0kOVQ+QXNvflI0dDhyNFNKCnomUGklaXBVVnlEP1ZRYjM+X3RL
a2F2a1dpa0B4MHVVbFNjQHt8U2pkaVJqT2tJIUw/RmBgdGE0PHQtOHR0QjZSOwp6ekVPKldDQFh3
I1d9N31pTFBtYGRtTn0qZVgoMHp5e2VBcCteUE5BSj9JMnAoKHdMUmd7e3sofXp4X1UqJWx6TjMK
entDKTIpJGpFcWMldlchbTkrUlhWbkRmQ05YRjA+R15qJlhyVVYoLTtFPzU3QGArMStEMz1MfTAl
bk96Izt7TzFTCnoweXR7bjFhP2NLfDlZSEI2dSF6R3s3JipBRzFmJD90bkAqT1FrVHJyPyFPTz4j
bTckPkhSJTshR2FyKyNjeGBFUQp6VWdlWCQtJXNfcT82X3lQaighIWptTGAoTDhKNHR2QHh2bjY+
dGxGNCg8fX5aSzllWjxGZ0tXMXNgTVc/dT9KSEYKemZjWUIjZGxyRnotPmR3NkVUUl55JFN3T3BO
IyVvO3AtcmdRUCokaXplVSNJMWczRCZxN3YkYXdKI0MtbTw/dWk1CnplfTt8JTBFLWEmS0xlM2Al
Tl4zS0p9OzhOezluVUZDS0xwKnBaSDV9I3gpfFExMHA+R0dVbl5iPTR7Iyk/MW1xZAp6WlFnVVpT
ZzQtMklPX0Y1I2xgQlZpO2VBaHlSN3EwYilsbm95aGI7cENqUjRncTUzO1NSc2J8XkFDfG0qTmI+
ZnkKeitEI0Utb0tKQG96K256bldZVXp4JjF0cFVCRjQ4eGVRJGU1V1I+Ml97KGRoe3N7SFJPZmNm
QitnRGFeZEpnRj1eCnpzV2tsTmVCeTFOZHMoR3IrMHlTeTdNbSY7ezt6Smp6WFVEPHoodFcwITZH
THRNR1AmR3orWkc+YFU3PE5Vbno8aAp6MkZyOH1ERX45WV9pV2stcG1yRGsqKTt3JjBSWWY8Ujxu
MSM9UW0+JjlraTZTdjYzQ01HI3M/RGBNPGklSn04XjkKekE7OGpyR3pnP0lUZ2w0NCY4QTVmSVd1
dFg1eiZMKmE8VFl7ayg3NkJ7WDR9Mz9wanlnWVooXklTSVJeQGxKdlN8CnppfjEkU0RuNDIzQyRK
YVleXm9HUVdWQSNrRjk5JVRMejYtTHhFZE1jeyktRiVZMDM9IVQxP2YtTyNoMERuNHg5Tgp6KGFM
QDNmNXJiZGV7Y2lKeE9GWSR7I1BZUExuflM9RCtWbjhpcCV0Jm1FV1ZhRVJmeWZlfGBPKitwMCN8
R0dPVn4KemBqNTdkaFAyLVFLUVhUVmIhWSRvM2pWKjIwNWloc0NYdGBKRmd0SX1BJnwlaGZ7YSoy
WGxfJlZwcENMOSZFaVU0CnpDX31mc15nYS1NNzBtdlBnJFI8Tl9XXyMoakZGNmY8LXxrKCZicDBj
NVBne3E7VVhsJWh4Zm5ONWJ7USF2VHpjIQp6O2F4Ryg1d3BaWTF9cjVzfDFSflBBIUtMZk1ucDFk
ZyMhQmo/dnEtUTdYO3ZHd0pieT94SClhbDM0bmM7WGM3U0sKejQlcmdPTSpxTE57JTM9JUFRMShF
QiM7SyVwVTZ4aUVzQXYzZkdvOz5Fd31faU11V1U4YW5RU0pKKnpWcFV9V1AqCnowU2Y+eVo9VDRR
dV5IWWpeMzRgYzU7Nlh1V3pPIUtKcnxNWmAqTDBEVkF2MFF2WThEbmwrRXN6Xz9BbTRuQXZiMwp6
XjIrMV4+flNUcHIkRUJoI31xJngxXkFRQklBcVU4PGNUTWhseDY9QGl7WDFeR2I8YjgrYShjc2hf
S3xGVH5ifm4Kelc0NWshekBuXmVZIWQjSlR3ZVlJWH4+KSVkRH5fJV55QChsTlE+bl5uKktLVyFQ
Pzl3KUNIU1Y7K3RKd1VTM0lPCnpWOXQpej1gc3tibjdqVkt4NGlzT2xOX196TDNOPW40dyE9O21N
Xj9oIXIzNC14ITdldjJTcFp8WVV1R2NMcjh2Pgp6N2RWSz9iUm5vU0AqfjErM05ieEpEIUtaN0pS
SzlSS3YpX0RPOGBMUEVAOEtOcnl3Uj0jTFc5dkIlV1BnT3RnNXcKenZLKDd2WChgRE9aKjN3YVQ5
eyNaUFNTP2lRbkQ8QVIkb2RxKC1NR1Qwdmg9eDtDKHR3MEcwe0IzZGF3YV9OaFpmCno+Pmo9OTt3
K1gpaWdVVD9DV15DJjctVEhUZ0srYj9xS3Y7SGtFT3skbiEwNTFVJTRtNChnY3h8UE1KdUcjYG8l
cAp6N2lTRDBAKH4qVilfPjcxPzNrckV0b0lqZ085O140XmYtVlVLYEtrKz9gJW5BbXh2a3ZHWGRx
RHxBbDhKR0t+ayYKem1yRChDQWFhNDNqZzNvPCV3SF5qRyR8YXdoUVJVPFhpYWtkUDZ3IVlAemhs
eUdsRjJ8SlFWOG5JZzIza3ltRTEqCnoyN25hYERuTFo+KmA4Mzc8Zlc1UV83cHdmbXBKYVlHKDty
I1YlRGI+aj9iezlNcG5ndGtVdUxoTFAkUjQkKV5LPgp6PkohY3pjXzFPVWApfkIkNTZncXhlQEZq
c2c9NylvPzV+OU85fWkwSyQzX2lvPT8rKEd5Zmw3cT9+Y3FVMVM4fjUKejt4NlY2cTFUcnp3eCZq
QTtHKHItQClQfDsjV3w2cGtCPEl0TFZFUWlnZmw7I2s7d35UKVImWmVXOXdsZDhFPEs2CnpCM295
bFkqSjhvK3RRP0ImXnxANnRtdTx0YT5kJi1EYU1rfEp+fTJWYXZ0X0tFMnx3b192aV8/aG82K31H
ajVOUgp6SGBII1B7PDArXz1OUjVuQTlqK0Y5ZHpfbGMrMzY4RFk+e1ZKNlRhQFlzNkFVQHNsJEVW
UjJ8KzVQUmR1VzBDdEQKekghKW5pSExMKV40YTx4VzJ8X2FuUlROcEtzM1RPdHM4M3lCamltaHoz
MV80blB8c2llJEk9OHpgeHtFTHtQQ3w0Cnp2eCgmV2dBeFpTbDRObiotJnwlQmlRKiNtZWAhbypN
SHZTbk9NUFV0JFZCfnBQcVlZO2ExWVhgM3l7ZShreFcyfQp6Nj14dHJtTW1zOXAlSU58d1VtQEJX
O2RaME1sejghWVpJRCtjdmdmczUzb2xuRnApJU5tdFBHTGo9QTszZDJCZE8Kejd0KE1FezxFdWlB
fk1mfDNgPEVfIWBNVGArKHExYCQybWdxaiFDNyNecC10a21jN19uaypxfDtfPjZSR3JDRH07Cnpk
aUB7I3AoaUNWdllGaWFaQEcoeGdHfiFVNz9FOTM1NVJDNTBCOCF6QlktcHN6SkBTZ0x7WGdKMTJF
UiRZQCkjewp6e2gpOT40S3NAc2dnWDxmRjkpcGNvcl8kWWFkI2xPYEtkfkBGb2lJK28odi1xcnJe
JkZkY190UHsqdktUem9iK3MKejdPNThpMkMjeTMmPjY2Pnl6ZjVrPkVqPUNGKzM4RVBmU1RlSGJ+
XiswZztJMkR2QzJPUCE4ZWQ7cE84TzVFUX0rCnpBMzd8OFl+JGVYaipXIUAxO3N4UylqXnpzOz1w
Mm55QmB3ckY5VShOMk1QQT5fKmFEMnU8KUFVc2JsNV9oTCM0YAp6ey0rQjYtdiFRaWtkaShBdCtN
fWpTPChNMmRsJThTSnljVz9XJjdaI2ZjNXUxXk4rZ2ktU05QJUZ3d3hxUXFTN2gKentGSzQ5MzxV
Kl5nSWlIZkxFKSZ2LXdPYnRWfEFnU1dwZX5qX0AwMCRnZmoxfkd6Mys5dW8xQnZtNHpBKEM1ZDxV
Cnpsal9CZWZWRyg5JmkjPl5AdGlBQ2IybmMjS0pkRCkqdD9ZNCo2SkRQazt+dztOajl3aE1pbSQp
QE57QkErclRFdQp6O2dvTkdmalRKY0FePGUoYEV7dyted3txVD8kbzF3cElfQlNlMEU0JlpAI3xX
YSk5WTt3PUk2NUApSz0jY0hlZ3oKelBzZ3pOSlpIcFVNd2ElRDQhKmw7QyspaU10TnFKVk9fO0E4
ZDVeUERQbmlIUEZ0MWVJZCs4M0VAVkUoNCluaSg1Cno0S1BEQWBKZzV5UUhYaERjLSg/IWUxLUdj
P1hVNE5NRjEjVklpMmVoYzhQdV5vUlJkSmR8T1NpS2NNTzI8cnY+Uwp6Oyl8WUVRQDYpQ2YtSlNn
dHZrT1NaYT8zc3BGVmV+SEZWUShDfiMpZz5HSUZKXjwxR2o4YlRldCk+UntPeVA5R3AKemVFZWNF
RjhEYEtmYDt1NEZyMGJBd0Mzc0VAY35WcTtHPy13cClWPWRXSjVtblZCKz5CK0lldy1ValY3bk1V
IWJsCnpyK0g7Ulh6S1NTX0MmVVQmZDx4QUQqd098OH10RDh3b05kdU5XdFhgdnEmYU04ZkZYXjI1
PzxCNFQxbUp3eGNlcQp6RzBGQlF4NkNubmhwRHJCVylrd1QtWGJFdl8+fDJLZlVgTS12QnlMSjhe
c3psJTEkVk1gMiZ3e2xQV2l7czBOXl4KemBtcnU9WnVDaEUwUGApQmZaRlN7SitQKE5MTVhPU1Bs
VyozO0JrJCZXNzNBezlSVnY+bU1uS3EmT0BKJUZZZCV2CnpKeVNBcClefXo3RyEpPCY3SjhxdVBY
Tl95KHlNMDlmUmt7MCZNXks+X18jZzJpNGo3fT96VzY+Y1ljO2k/SktEfQp6RUM9d19JSDJ9UC1g
bllyUWJgdiljR1NgQG5VRDQtI0UraFpha0sjRjxsNjtrXmAhZWplSGBGKyV6MGVkc2wkTzQKek4p
KHBLdkxwe09HYT5TJU5YeU9iejUxc0YlPSpyUUdqaTFwIVBHZj5TckImYXd8NilIa2tpYnBFZEFa
el8zaDBxCnp2Nz0/MCskKn5TNzZyZFg9cTJSYXp+bmlnMyV+X3hWODVCQ2N7eUckXko4QzlCIzgy
fCFnPHxXeUgqVjtocjNWQwp6QnFZZFNYJERqWFF0cH40SXVTMEwyK0ZjWnUtIXN5ITNuVHYpI0BF
bzB8UXtSclE5e0thQT5acTslY0Vkd150VEwKejEqOWNtP2lJbmZSKzI0bkxZKTh6WmR3RSYxLUVM
NWJAYXReUExAJShTPDhWY0hMN1A5PyhWZngmbUh+IU1pbXt3CnomX0BteWVaRTg3aCZwNjRFSVJN
c1BCOztpI3x4JVp7WUwzJWZzcDZabH1RdFFlU31ONGVYKFBFbiYwKkY+IW1KXwp6KUd2TDlwUlBw
bShBRndTRT9PKldDemhwb19lSWZDMjVWdC1Na2s4I1M1R3lpS0B+Nm5NbF9GR2BvciEjQmhrfEwK
elJDVF9vMTtrZkxjPkJ4ZkFkUVFmSngycUZtTTBCeHZNbGgrQkd0KEAqQ14kaj9rYDZZUEVnVX4y
KjBAfEFGdlhCCnpebj1RZi1XQlopa05ndTI5S1NhPzApSEtFcXAmWiF1TkJ8QmR6XztSKilyM2dk
amRwJkleXmFBZ1Z4dWVhUFlYXgp6an1xOGFaXzFSd1puRz9EZ3g2KW1VKU9JJk1YMVhadkp4bCg3
ZDA5ZUVoPFVQUU84fjw+ajRVPT8lQlh1PFRpVEgKemdVUGxXKy1GUnFtNjVYd0xUfVJgQE0jYyQ5
LU9DdmBSNHRTe1pONDZtU2JhZllwZyRzWk1UajM7aHBRRj9YTHF+CnpFVzdIU0tDJUFkKWVmSG48
fSQtNGIqP2M5RWUyM3xXdzk+Y0V+Zkw5Zi1QTTx2YTt2Zkc2UkhJYj1MM08tZm5UPQp6Pnptbzla
RXJOZ0tEKTEhKzAjU00reFNmPnYoQE9kcjlgQ3B7cTNuK2ZnekMoS3NYdzdnaHdoJUNORTY8NDl4
a08Kek1+aUQqXkBURUlwNlJRNnsycFBYMFUrRUg7bmUqeCYwak83WGA1fV5OOCN5ZDNheC1TUDI5
LTBuTTNOKDdvTlBJCnpreGcrSTB3I0NqSHsxJkpvV2VCanRxeStqY2d5cD5INmRQfFQrT3MqZTQr
elhsQ0BgSyZ1fW9gMGNqZWRkOyM/Vwp6U1F+dDEySndmVTNSJDtXTlBsTyZOfmZQd2hMJCpVeSRQ
YCkkaX0/KXcqPTg9ME0zXkc1R1RzUjZQTEtzMEttaWoKemR2KC02Mm1tPDw/OFFKSndibnpyUTEy
KUtJS1lCWnZtY2khakQ8Qk9ITldXWl4zLTVMcUZKX0xVVENNVG9aYDRsCnpzaVJ2VHlaYE0lekE+
SXFjUFc0OEpzZj9PJU5ucG5leXFsMWlfanhIbT15bSg8eXI3ZmppSjMhZlRaMkUrKyFzZgp6JWdl
MFFSaG5fKihaTil1bG9FcjxDKF5jVHdRdmZNUjxyZXNUSWEoa0VSVmVOPGcldTxGMXBzMT5lb2Ro
Xmt3a08KemxVLT9BeWwxVDluYSRxJWhVUHJxPGNxM2kpR3RlMjwpISZtWVliYyRMNSsqTF9VPnlH
N2deVT9eYD1GcndvTXJTCnopI2h0dWxKR3x7KFJudHVVI2s7RTZ1OzwqUiMpfkcwQjtyZ3A1Knla
XmZ8VU9QLTxWPCl5dzw1dW5kVEomSEFheAp6X0dnRiNZTGE8cFNNZjBfUVF4KUEwSDteWFlxWWp9
TyYrbSZ5I2R1QEBMKVNDdjtmQitafl9RTXFsc0MlVG83T2YKek1FJUhKV1BfVVdPfSF0PlVaXktl
MDcwOzspYlRPOUIrTl51UjB+PEdQTWkteWJUUDAtWVBYQnxRNXJDcnl3QDl4CnpUMmxsc3hyUmY2
SmF0dW9eez9TWWxKZVVPeClhPlVTX09CSGlnZnV9ayM4TyV4bTFJfCYxJVZJITUyQSNUMUchdAp6
by0kRShkX3NLLTJAYGJ4WG9tYEtNaXs/JWBITWQlKStieWZ7VV8hKUZFdkQ1SmJrYUg9N14kTiND
XmlVOVopM1EKejg9UVRgP2FIdypVT1dAa2NaVklEMFlAc3F7VFkxNVNsZUx0dUsoc3x3VlB5JnVL
aUUlOWt5eSR1ZmJMZFFlSGg9CnpSbUhHIXo4RkxXe2JZI3pWIzYhQ2V4NWo9RjJHUH5rYDh1ZGMw
SX1OcWoyUFkhP1d7KyNiYGJOcztecFNVOHVkVAp6UHdPQkhJQDtfQz0mK1Apc1RxQG5mRTVCMXNu
UzluWGQpRV9UZjAxfT1TbEVRTiRsfG5lRTwofTApYDMqPG5iV3UKelJHUj48IUxFTnFHbk8tYUVa
XkE0d2h6ZFhDaUtgUCN1TjhpaU1fXkNZakhzck05LTJYcE55PXg1MzA9Yns8PEhNCnpjTEpMSD9L
b283QTJqKkZMZn5+cUpSPFlkOUlyaEtnKmtVI2QqOGlBY1NaTGx3PmRWYWhtNSt1TS1raCtOSmZl
Tgp6KVc2c0N7WWloJmQzTDZZVmdSdDgrc2w9Z3w4V09QaEBMb2hgai1JUXl+PiFOMnxrdXt4ZUo9
PGQoM2cwKDRjWGAKekh7TCQ7aSNfJG5RaFo/e0BOTDRVUHErWmBXO01EcT04eVlTeDx8JlRZdmI9
NjNlRGIxZDtPP0Buakl7VGRWYEtWCnp6cEgjSjNreXdQc2QqZU0qTH4zI3Axa3Y1VSs3YVhFbEta
LTQlWlkxOVRxVnwpITFGbURtX21EUCVERU1Vcyptagp6RFVnIUgkMyFLVj13UWpWeFdUNWYqVkdA
blgoQlhHPzMyZ3ZUZypXbD55OGxyPipJaVdrYkUzalM0UlFteUEjQyMKelQrI3JEUjNiP0xkMmxy
RSl6QEslUlBmTyZFYWpCKm5zYF9+eXAwJm1AcH1pflh1Ty04PEx4WXYhe2ooMm1jaCZzCnpldCZ+
OWRzUGBVYmsqazRndDtyY3gkMjRNeiMoTSFmOzJjN1FwNFk7c0hwV0w5LWxKd0RvKnE5Vj8qMUh4
fm4pYgp6MmQkNEA3blNWZmh9QGBXZWI+R29WWiFCTDtNXm5aJEUzKTFhI3tOKns1Rl9leiVYWj4z
PTZselZ8TnQqeSY1JX4KejtzVj5mQ2IjO31gcz96ent0MUk2VnFRaXplIU05flJVQXMoJFB4TEsz
N2tYWk5mM2lYJlJpPS00JTVwdz42Z0gkCnotNzxHT2ZfdDN9bHpBSnNzb2cjWF9RUT8jP0lPKHA2
I3p4Izt2QSE+VnI7Xj5hV3FicFpYNlg0Qn48YkFVe0JIIQp6ZSNhKzcqV1ZEaXRTU1ZJTEN8NjYm
fGtTViNJPkN9PzF8PDFmZTIpR15pZVFXc0hhSypicUgzTnY5bzVNZiEwMEEKejl7cFlFTHt1amlW
VXpDTSZGaGd8TmxxKFdldGdyUHNUUXNZQTVtYjlvWGUkKSZNPkN8cUJtT2w/KCp9VCUlQmxRCnpr
aXc9PFlmNEojZHtNKypALU9FUHRkSEItNzVUbkhsWTNVVUs0JTxlWEl1TTcqSnApfG9BN2YqT1BH
Nkg7WTklcwp6eiQ1WUlKWjtDbGxTfTViMjheOTZKcnFSaVlkVjUqZ09XTDNQQl88ZF99fmZEJFE2
fVkpRVg7M0kqZ2pNeVZqJnkKekxOIzMldkF5Nkw/VyVTS3RLdj44X2AkdFI4R2R1Xj1VcUdVWl5n
JCNMPzdRVG9sOD9ZTFI2Q3IoKlUlbDMydSs0CnpAKFBTYFVvYUtpOFk/RURhSUpfcV9HM1g7Yz1y
UWh3e093TFh2cTFGTzlQd21veTtta1A2OXhGQWVqPVQpJnRsSgp6YmZDMTVlbWUzcDA1V21zTEFY
cDh0TXkoYzNiKWNEMEtwVW9zfSFOSzlAekRPJTlLcnN5WUFpUmRecmQ1QytWKjAKelBFd1ZzNlZ7
TjFRZ18oKFhuMHJZeVZTa3c3bF4wUk88YHBiPTdVeWY5bFBwQUMhLVB9TWJaYEdBVnkmOCtve3pK
CnpMOzRxZUA3VkZZTWZnTkk1RTAkQDQoQ0N8SmtvSkRIdWt3U04tZER3RmV+PXdfck94dSpJQVgh
LS1HcURFMitCVAp6N21aWTRMTVQqYz8lUGNLRmFXPWk3SiRkJDxqS3k/Z3h4YHd0dGNXUj15JTxu
P0xGajhSMFdzT3JGWSY2P093QUoKej5hRWIqeklncGwtcTQzOHdBWCUyaXo9V0ctJGlYfW4pem1R
QHI0JmIrY2ZSaU1rQSEzclpXM3lzfitXaF5ncHoyCnpBenV9bnF5ajQmIVhgM2ttfTBqNUU7MTVR
RS1IWClQJU8+eSM/NlZUXz5MOzMoKCtJSUZsdEspTUxQYUBVe016TAp6bEBqMWlBeWpzVjBLVVFk
SmhLYDMlQiYoV29WdiVLR1JJSzRxKXFBV1pwQ0h+NXUrJldLQ0p2OGF8IVAzI3tDe0QKejZoOEZj
NTNrOUUzJn0kUElUYFFvQXxXKFNGYk1sWjQoWVp2JilFZmpwJm1QWEU+RSRZez9FfXgpbUwlTUh9
SVJeCnpISGZgKC1fSEd0IVd7dzclOEIrcjNEbHI3OWZlbiNSTX1ERG4tNyNgQHxzbFJgRlN9VHgr
YUM2OEp0MTZsIVRGbgp6aFpJfT0tOUtuPHpwcnx2JDxfQmhoYXtnfmZvfTkxO3JUaUE8P0c8UDhl
aX5BO254Uz9vU35USm1kOFEtNTxjRWgKens0IVBaR1d6RTZ0ZypYdUdtV0lQRXRFSzBRUD5TI0R6
ZnFOUTdDKlBrQmJefFg5Y0IjWmpWWnRlWkQkKmZpeDFVCnpqNWBGJnpQeXU5T0FCTmBIfGwqfFd8
NFZmSyt4TFpWI3xiKkc8WXBGPTBMZz9DVihBU2h4aHBGZTBNWjslcnxsVQp6cnkhY2pFcDdNMkow
XnV0JW5+SmxuZEJ6OzUrU01UUygjeVJMMkg+MWo3PENaWkNpR096dEZzSDUqWXAzWX5OYFYKensp
NFk+cm9QY3U8WFY3bUdoZ3s2aXo0Qnw5dCtDSHAqUUpIRXNyb2VhWll1bEdOSVpEbU5gQUEyUj90
Rlc4T08jCnpRUyRnfVl3KXw5VFp7Z0R7LT9sVjZiM0l3Zm5VSndFMSRqPj9tRzRMNFg7bE5gZTkm
MEUhWWlJPkVOaGBnNSsxOAp6KlBGV3VWdE8ld0gtNjdVelZmRWUwcTlWVEkxNkFjJSpZKVRhTHV6
TWEhZz87ZEtkI1Fsdjh3fTs7OX5naSgja3sKemprfnBFbz19SGpBVGZ+ZWRrPUJhcjV0bnNfKlk2
TE5NeTItWnA3MztvLTY2K3U7YXhLbXw/WVoxblU+Q2hEaTNOCnpmY180bXEhO1MoNStHSzFvTS1s
OVBqKGl7Tjd3byVNMitsTjArOXVoJEBrPC1uOzhSODBScmZAQGZ8cFA7bklFYwp6VV4pMWx0fCtq
VVNxZGwrcV84R1EjYlhia084ZUFZT0teMlVkQl9IVF9CJT1+N09KQnI5JmsrSj8xQl9NM2xsdHgK
eiFuZihNdTMzVSVTPlE4d1l0cGlJY31oR1RWQ19ybkFwNXdzR0slfjU4dmNTJmhiRW9HcCZ+TGJI
al5TYW1haF4lCno9XlV1Z1hfZFNraDRUfHclaGNYO0RmZTcrPEQ2Xk9BcSVOfTAzI1AzWktPTW5g
VTkteUFxV0pnS3EwNUpCQjZPMgp6cmtfbUooYmVZWWZuZUlCT1hNbXxRbFZheUY/alU7bSVwXnhF
c1o4b294e3FOP3ZRZVh1bm9TRl9IK09NIXQ1cHgKekY1YGswMmcjaDhRSG9uJVR6ZHRAKUYwWDVr
MW97WEJTMkNJOzNWcW1pQlcmT3chKUdgeHV0MStqRWQoZkxTRzI9CnpPdndrUXAtfVBhPXcxZW5V
ZT48WSozLV9YKkI9dkU1biZDdm41RFUpJi0hR087YllpdUpLRHs2ZnMlUFd7TU5aKwp6JkZMWGY3
Z25hNUZRaUxARjNEUTNROyY5fnBPbXtZNEpOTlo7TVJ9PjJNSkdVcHp4Jm5CI0Nja3QkPCF5Z1BX
VlIKendJIShpTWdSOGl0VCo0ZCM2Zkh6ZGBoRFheKCs5cD8wQm5TXkNDMTsmJjY+MDthJnpLWGUz
cmA5RVRkNShGJilhCnpWakcjPXVVZjdqMig3PW0yY3xuVXtKYHdqRF8lIUhreiZ5SipfRzZLJDt8
UGp6MkVCYCFAUUZTOF5wdUFAK3syUQp6SlYoeTlCMzl5bmVxQDNPPyNENjFAfEIoPk5FYnBhXl82
U2B0aSNre15zJE5rMCN1PE1HWGNfciQ3em9Mc0N3M3wKekMjeVJnRGFNe1dae0RCS2Q7RTUkeW80
KjI5YWxqbG1GeFo7S0QqQ2FLUi18PjVpazVeOzdFOW1OKlB3ZXpucnh2CnpHI3ZVMVFeKCl+YkFn
eVJ5SSlHcnJOK0tQRWdhOGNmKncrenhAY01MdFBFTE1nLVRxTU1QT255THA2P2RKJm9wbwp6Y1c4
aFc7Mio8K3FDO0RpS2ZxYGtyaiF5I15HSStXdVdRZFJpT08pTVlOJlo2Rng/I0ZMRW9sJXY4MGI1
MChjKnUKenErPUlgbVNAWmd6cG07Oz8+TWhQLUYrPHtBVnVjfjJLPHlrWXlBJFl7X3kja0MqZT16
aXxELXhLNW4pZDJncTdyCnpOJXdzYjYpSWhCaDQ9TypIQjZDQjMyczklZC1NbypFKFQzYzA9cV9+
akdVbFR3PHRtNl58eVF9NCM7WCFBVkJ1Owp6UTV4SGR3aE1nTmh3QCZ3YSNqMyk3PENHPUo4YnQ0
WSt+YUw4IXBRKDFgakA4eHNEZHkkPUdIQ3dGKThWJnE7U0YKejRzc0l7UmVVcih1ZUQjOCt7enlI
K01oVUwtMD9AMElXZjRlJVgjUk8jST9oPW5jQzA3M1Y/KH1yPHJMdihNc2pHCnolRXVKIzRFMmYo
VSpuOytEM098VHIkNVJ7XjlwaDU0IXIyUmIkeGktcTJsbl5Qb0FxWWo1JEJAYCMtdUtGKE9wbAp6
WH43eDJyZmNhZDk+M2cqO3NnWitBdXxUQTA+cmlVe20+T0V5OylNYDA9K3xDWn52JE97QkNiJHtN
V3RyYylEKlcKejltYnFjYm9aMDNONGpjTXtsbUVCdzllP3o1PUQ4fGk/RT1LMl43SVA4JGt1U3dk
JX5sTCFsPUZgfEElNF55Ym1rCnpydHJpI3shVkBoIXFsP2J5QWVJTmB3KHIlWCNsaGE1QWw0amko
UHVwbk9JTllFXkgofjV3UDxfYWw2eHBPVjNBXwp6OStfOVFYPlhgb2k2VFAzU0M5N1FjR3Vwbyg7
R1ZOOW4rKWohPUY+ekRAfUJteDFAIT9EYHZfVCkpQW1jKm1GQWMKeiZhVV5CezgyKzg3PXMqZDs2
N201SkVYbCNPbH4hSiRRRjQ9MmFTNTBnRFh5TjUzaD19TkRaM01mNUlGejgzUXxpCnotU2RDWil8
ZloyUkpERzB2Mjc7P2xZSXNQKnc0JjtLZmhMTzhSXnN5enVJNHVSd15DfHtQQ3dNXjx+WXQoaEB1
Uwp6TEQ1Km0qaz18e1UkUFhTeHx5b0R1e3VtYENDVXV6ZUhwJVYqLV5Ycjw2SjhEPnxEcypgfmJW
VHFOJjQwbksyWVIKektffHw4ZzJHdz9sbVBvckd4Uk4ze0h+c0V4dzUqKV5AZiszUWlkNnhGZnE/
dD5nckQwXyNCJW50IXc8V2Y3Q3JMCno8bmhHcDteN0NOQEhxaVdNRFFgJjlHY0RlXjFIZHxMdyVs
KGtQJGJYNyUqPztpNV49JnpxKUAoKSNKI3diQEs5dAp6JmdAQXRkd1VKJFYkKnVxeXZaY0d1ej4o
MiE9NF5+ZSsrZC1VLWlEJGpoPGZ7K0chRnZPLW4oJUg9Qz4zK2NlYXgKenJyRm1lU0g2NVl4YThL
RzJOelpVRy0rVjNTd2UqITFuNEckWkE8JVV2Q3JPYnhXND85S1M+Z0swdi0jRlpUJCQxCnplY3V4
R2ZnSVd6T302ayhuYzNYam4wd00qeXd+dmYkJX0hSHRMeDFWVzw1Nl9PU3dJMntjfVE7dmFwaT8t
R1pIRwp6TW9aWHU+c1BaY0R9O1NzXiZMXjhLPXA0O0VBME18eSl6bFdofHYpK1B5SmtfOEA9RD8+
YVQ4fDlPeEBlOV8rKGIKeitxS2VyPktiT2JFdT5BR21BKz52KUhfYXFHVDsmUXg+ciN8QUB8dGxa
MmErfkVeaj1GZUdHeT1aNlJrZyt7ZTRnCnpNPldyIWMlMEt0QSkpdWxvQUtQNF5DPWRXQF8lWiRg
YGFNZy1kSXNMWTdyaiVKfjB3S3FOLXxNU0xyKmgjJWdTJgp6ViV8fnZua2BoNG1jN01nQTgyS2xf
d2ZhY0ZRQTQ4enQ3MGsxXjs+Pz43O1cqa2F3Xm0tTUdgY1l8fllWOFhIRGkKektAUGcqQDZ2YDJ3
dzM+IVFzdjFGUGxDPihjSWhnOXRGPHdteX1wPlMkR3RrJjtgVFAkXz9SPkhKQzxpWjl0U3Y5CnpO
aHgpUl5xfkpgelRkKlcoZCUxcGlLdSR0UlB8WSpBKSE9bT1GXlBTTEdIRlQ3M1dTWGJJdVF7ST4z
THBLI2QlMQp6UWspbSQyQHVMTzE9aH5TKWRGeUpnI31wI1VFTSo4RGchclltcDh1aHojVGhCQWp3
Qn1ubSQ8cWU1ZFhzaXwyQiUKelhLblFObkljUWNjTm1KZE44PHhoTXQ+XzllR0dXfFdkaG9LazhJ
dWMxZ0hTOWAoZlQ0b25jRCRKcDZVVSpZPyR3CnpHYDVzZ1d2YVNPJH1qXiY+dnNjaSRZaHVwJTNl
MWRsQHkpKDRQejQwQUdkWklhRW0/c0BSWlNxQCNOUWR5PDQ7Wgp6bSQ+YG8kSXE4Yl4kWDxeTUJV
ZzwwdzNVU3YlJGV5N3IxTlBmWEopc1V1QV45RGE1IV50KndRekF0RVFONzNQUW4KenA4MTd1Ukhj
VEBmIWQ3JlVhM2QlUyFEPjNZLU5lcT99cklEcERSPV5DVmhWeGVkVHd8VUEwUkV5QUBeeyp2RTlq
CnpAMkN3YXxEO2FqKEBvTVZMdEV4bTxeZW5Gcm8+OyZjandIekpkVjFZIXV5aU8kVGh6TmVSO3JU
bm9DdVBmSUc1dwp6NmRCM1hjWF9oP0FWcGRZXjxJeWV4K3UkWSg1SFlYJE9CSk0rKm9ZfEBLfWtS
MGxAMW1ydCVteDFSSlpsMTkld0cKekgyfk9GYkI5UGpEQ3xUSUF7UT9YXz0wYnlNLWxmVUleRFgz
MytUNTFXWHtjJiNtPjNOWE0pbGkobyVkKzlQbHNICnp2bWAoYkBWSyNVJGZnVkAqWV50Tmg5NWdK
azZ1VSpwWWBwSGVzb1V3aX5PKCNWa35WS0M5PShAc2pGUjhBOUs2RAp6Jlo0WV5xdlJkcUNRfEc4
ekx2e2tFJlIhY1pAJmQlT1ozWDlWUU4qK3NMIShUR3J6ajhmbm43JkNkSk1fNCpIZkUKej8rO08p
NTd2K2JKWHA4SSNjKV9FUlFPSXcyP31KZHpQNyEyTE9YQX1uMSQpJUlrWE9QclVRPStVamAoM2Ft
R3QkCnpKMytEYUVVcDtBVChFejxkQVUpemFMdik/dTRKTU9KNWF1YUJ+RTNhdmN7XkkwWmdqQVJz
Q3ByTFAreUgmcX0/UQp6eCkqKGF2PFd9PFJzQWV8MUE1ejUxSU1YIzBZTVB3bWNwIWxiZzhwfjQ4
VWNMUXdKPXBlQiQ+X2lhe25sP1Q0VTIKemNeUWM0aiN6PndUR3hQQllmSTFyYDFmKmREM0RDYTU8
cDF0ME14OEROKSFtY3RYeExCdSZtPCZmZClXUFpxUnlUCnoqISVwZDFudHc9cXh8SjhfO047c3Vp
XjwlQU1BU1dfPV55eW5yaGI4di15RDteb3Y3PjxvYFZBSzFOKVIoJVo8Sgp6YzdNJElJRygmY0RM
JUQyb0B6SkJhYEdhYDh8e0E0VipzWGVZVHZ1VTEyPHFJbChLdGFeNnslMS17VjZ0eG9ENDkKelg/
V3k3VStSPlYrZ0JNYWFpWnshM1krYS0qLVlmdiElSkBOeTZIMG02aWdTZipXNFdlbVdISXQkYzNF
eUl9V3ZACno1TzxAQkQyRjJeRyspLTdsWHd2biM5R15TSkJeK3khcCR6ZG4+Y3BkKz0wNzt5KXRh
aFdgcXhKKUxNbDdWI2BgUQp6e3FOPk0zMXFjTTI4a1c8UHJ5QlZYSktGS0VuP2RXPUoxa0tWYi1E
cG52UXxya1FFWSlmZHZvazd9I0l9NVFPYz8KemVoNEZFb09HWiVsTWxmY2t3ZUdrbiNHLUNedVMl
NGFZfmp0Q2dUOGV1JX5xbnY0bFFxbnhJMFEqQCMrdW1ARXZ8CnotUE01O3RvWF49Y21nbzBpa3Rn
YEg1KjJwbTU2eFFHWWJQRnZhS2xybnVTeyhXP3k+cS1tc3d8UShHJnc4fmtNUAp6Q2sley0/P3VD
RjhHMkwqJT5XVl9IIzlwYllldW9NSX1UMHA4e0RHOUh7TjJWKHN9ZW9QRVA4aW56a3VGb3pjRGMK
ejFKemRqJmJmSkJIPGdQUigle3BaNEpKTSlfaXRNJEVILSpJPlM7SzNifj1yeChHTWIwdHFsRU9T
PHhIdE9uN1coCnozSjIxR0UmbDNYOWt7YVJyPmFpR0peOzlxZWlzIVBJKFI+K3cxbGdhMiQkdzhQ
eT9La3FqPk4rXkRuPUNMJHFiYAp6NmckUEhPUlMtXnVpV3ZkViMhVz0qe1cwMkBUZUJfaUBLa2pg
JVcyYGtOOVllRjNvd3dFRHQ/fWZQMkcrPD4+bWgKektIXjFzKTsrciFEJis/Zi1ZPVU3MzN+Z3Rm
YzF+OTJAQDNQQ0orYHtaLWFadiF6ZUlXPHI7fkk5dylBdTl6eElgCnpLMVJDSjZ9Pk5sb1FXZFcx
dilnMjRNPVVRKXo7eERpTWVpUWtkP2dpeEZZRXgzTCNKJjBvc0ZJT14qTmUlTmUoKQp6aClMWSRY
Uz1zS1RPKlM0SX1fV2BEJilTRk9BR19SKzJzckFLRVVSeXV8ZHd7MFpiQlNJTHlpKHIwMVBUNn5v
T1gKekAjTGhNX1h+RSRiU3NmcVcrMClycHRSd340eypfPjQlZGkjcj1zaWJiZThCVj1lUTZzS0U8
TXhjdE4tS3h3SXRMCnpRKjhQaiY1bHdPQ0o+LSlqblNZOTJOeyRQc3ZrQ2pyI19SPDFvYi0qQCsy
PFc+dW1DSHlIbWRab0NHQWBoSD9PVQp6eVdieUdUQncoZXhGOWghbVA9OEYlNkwocm9DY2hZO3I7
UkRUaSsqPzBjRn04Y151Pyt4aHUzXlVFS2NsIzchQT0KelVvKEFpTSpTcTlDb3xtLTtGWnlxIXIz
ckg9KSh9bUUjWEZ0byFxIz9URmp1OWdnQlZFQnpQZylCPSE2VXIjVjU9CnpUfG56Zikrc3pWVW5j
cHM/SmNVdTh+OEEle1E1JmMmTXBCbm9yRl5kajRwPXwyIyptXjlCYGhvP2FOZVUzdjc+Vwp6dGw3
aTZeZzVofV52KHI3ZVk4dzxIYGxtZDZSfCt1UGZrYSg5KUZKX3d6KUhvVGxORCstUW53TTYtNldz
eW40dEEKeil3fEsyOHtlT3VmMTNgajhZQ0pwMTdkJldlJnU/e1E4NCpePUlYK3taMkxPZkg/aGd9
T3hrajl0byhCJmMhVi1JCnp7QiZoRnNJaW4+WnFXOEBicW9LNit4TWVHKVRvYTU7PHhoVjVaTHQk
ZHZkRlZVVFFQO0YmMmQtJTlOdk1meFkmKAp6R2JFTWkyVG1vMU9GaG9JNyUldzhQYGtVfWswYWsp
JEV3Ql43PUNHazhERnNWR3hTQ2wpTnl1aVJOUlZfMlJYa0MKelpWMylOP1p7NkpVP3F5ZHswcXBg
KWM4R2B6VlZJaD8xVSkjayRaSD1aVjsydkA0cGhIMyptWSY/Qz5BVz9LVHVICnpmdkFNNlRrR1FS
RTM0Q3AyVVhjMEh7PjhpZlIoQlBnX3w3aU5SfnhUQmYoTDZqYCYkWExPOG8zMFZNPExzTW0kSwp6
LUUkPU4jODR8cis4JndFcXN2JGtPSXQmeVQreWRPKVlrN089NGhDfDtKaVo9aW0hdzV5ZiNkZDR3
IXFFYWl0YkAKekdKST1INCg9ZGdEWEBxT2FgNjFYR31BZzQ2dlRzJE48R3Vwc2B+NVBxez03LXQp
IT4lQlcpPE1JfGFNMiVudmU2CnppSyNzcFZuXzN2antaRXVXbkFUNjYwK1E2KDAtcUNKe3woRiQ3
U2M/aW0zKVdqZjVZcUdASnV2ZF89QClhLTktKAp6OUZ8PGx4amNKRGBXWjU4dEw7Q2hMKHVUe3tw
WUpfLWZIY2tONHNmPTRGZVNZUCo9cF5JZ1U7YT44YitVXmR9fkIKejlkRHpvYVk0azRhQXt6Wj87
fU1AbDtefkRZRm5ORWJVcURTTTNIT3VAJmszaEVqS1MldX4+NGxsTDRmfGowaD50Cnp5TUlLO1op
OVVlN3o2KUtsKkFeMypIJCpTQDBkV09zfjg7cCFBVFZBODBATShgPktrOT05IVREayZ7O14oQntu
Vgp6Xz44WCQ1blkmJlR7bkV9QSVXdD81ZjxGYEdQRnY7Rnw5e08zWUd7d2NIUWdjZEFoPyY1P0V4
dDR2PX5rK2pHNmAKekJfYExGKy1uVHAtSChYR0p+Y21YKlZ+Nnl1cHVnfXh1T0FPVjAxb0RRRm5g
TzFvZj8rMGsyP0VkcV9oQjteWUxECnpVeDtnWm1CVC10Q3B8N05yS2F8KUZUWSl9QEFKTD4mZ3Zx
JGJHbGM5Q1BUcGQwVUQpcjBxQVRAJXktWjIwSSMmKAp6VXMrT1dWe05GJDJ9WEV6JnJOSzhCNDgo
Wmxeb0srTGpnWUtMczwwc2xDSSE5STN8ZShWKk92XkdAZGlPVzc/YGsKel9CUEg1LWdDJnRYbz8o
bzg/eWRSYkspZGpIYjRsaHZ3ZVhUNDAzPXZaVjB+aWRxRVM5ODJETnE9IW88VjVhREhKCnozTDNh
UGtTI01jdW9RSVBKb3wpX0xQN3ZwdlFoKztCYj4pMF85fDd8bE11OEk8K3ZaKDwqJWYpKyYqP1Ux
fU8rTAp6MTt8fGopQTV0Wk4zTXwtKzRtJVBMS0wyNWMhV1oxYngjaVFXRXxBSmc2d2Uzcms8KEox
MEZac08kaHNZbDQrcnEKeiNKaz5TcD8tR0hDayQ1TFUzUWNjREw/QkQhbDtTJTs/UXVrU1VHP2J2
NCM+SlBJN2BIMnxtKlhSMUpmVmQxPHtUCno9RTt7bEhtZTtldj8rZlRKaUo4MCpxY3ktK0woK301
IyNjM0p3ZkxTYm9AUChqPXNBeDV5a0c9YGJGcl4mdChzOwp6YEgreitle248PmFiSWwlLVFZWX5j
ZHRBdj1WVWQyN2EhYHpSO0kpNFZ3c25Ca0t6T0clZSZGeFkkPiZ7Ty1JNF4KekhkYTd2dClLPC0+
Oyh0a2YtdDZkSTArJEUwaStmazM+ZXJMKkN7fmA/ZWg1eUQyYzVaSFE4RDBBaU4mfE9OTXw3Cnpo
SlNDX3ljK3VjZlVxV1hjVHd2MSFmUUstdGhYd0o2ckRXMHtSZ0hIPHZ1SnAzKGwqe2RjPGVTQ0lz
bXBSMF4rVgp6PT9oXmVTNCM/SXVsbD5sKGl6PWFKPjNLcVhIIWNZUjt9ayp2NWY1Nm5kKV83Jj1h
RkF6VT8/KEJSNkF5YktBR3gKemtaKilqK2JRYjgyUXdTOFhgUF5CJSVhKHhlQzV2YCFBfnRpQT1M
QW15YDRZRlpLcW5JejY5fG8/dU15fk41PF5hCnpyTSRubXheYmY4IWA1NyZZU0lHIVYlWEhaYzdB
VEo9KkR5OG45b258MkhqXkdyJHhqR3hRX0FhRH5UOGUjPnRRKQp6ODNwS1ArZ0UpQEwxbUtAY289
T0dVO2dnVWwpNnBBSCRUWFJRV2padGA8IVFEUUlUNHJQZUFoKDVNU3kjZn0hQWsKekR0Rm1qMWhW
RDx3ckhAQHE7eEFAM1BCKCgpPlEybTJpI31CTEJZeG01WS1peGp3dEQmMyNWUERIYGFMckN0fGk9
Cno+Jk5MfjBaYHNOYEVhU2FEUXxmdmF5UmFne0t4WishM0ZsR1VZZjE8c2AjKWBmeDxUZ1IySit4
UTUrO3h6blR9dAp6YkxzNXZYZm4lTllmfjhqZWchfCg3ND9xVkUlfWIhbjRhRSQ+WHYrc0pUajYw
SjBqP3dXdUhrT1MjOzMkJV8lb3cKemIlVShHKSFhaW1hREluM1haZE5yJHw5eHg4akx2a2VUZ0dv
Rn1HKiUmZmBoRUtlSDU4eUs1fUhReCNATUNwUilpCnopKVduVzZ1RTkjU0cpaCp5NEwyUk0qSXJ6
ZnQtY1BnJmxjJTZIPHYoODVmLTVfakoyQiQtYEY5RT9UQEJkYn4oSgp6YUV4Q1cjI20xZHleVU1H
aiNoY1g/WnQxTzwlP2Z9NkBCcn0pUUY/dWR6biFQT2JzNUZ6alU8UkJDa1I8VUREO3oKeipVUCRE
Z0tARnFwU1E3V0s2TG1+PVJZa0tOeHcwX3QmalVjKmRvJk0wQmheKkJGand0Pmo4QEFgK3NKfEd6
WTYyCnpYSXxSNy19e0soT1lhKFc8fHdael5mYDhXT20lJktZVmBiPnYrKHV0bElgej4kKDRRa08l
dD05PiEwdTYlZGZ8RAp6e0xyS1d0Tl5+T25+c3h2SFgtd2I9ZC1UPkkyJjVsZnpBLWclR3VQaF9+
QyNDKyE4ZjRgK3dSQFJIVCo9KldQTnoKel5zd0s3RWxPTEBpX1lUXmFkYl81Pm02YitxaG1rVTU+
MDEpamM2R1l4cGQwfSFtXjRlMH59PWVaRHprTyN0SU9oCnpicSlMfiR1PXEwMD5xOH1vZVd3Yj4j
eWRycD58aVNCbXdEdTFeN0hkVT9MdVBUcFRCJCRgR2RrRntSQ3VqSjlSYAp6Oz9+VTRfc3s0PThh
aTxIP3EoOysyKVB8LWJgeChfRTc3MXs5Xnk5dGYpK3lhXk0mLV5CQn5wNFBuPWc8Yis/bGQKel5s
XjUhRjRjUTsjUWhhVEkkSUhoZTB+S0lXWHc5XyUrR0o+bjZGNTxIXncmZiNUaFc8eSZJNilgZ2o1
Z3dxUVMyCnpsX0ViVyZkQGNEZTNjPFR4d2tpODVEIzh9KGcyQDduKzJwamoqYiM+Q2Q5cz04UlhH
KztTeTd0YyNVKytfRW0ySwp6Pjs0ISRVbUhiaE80OCVVUzd8fEZRZj9CJHszV0U9S0hHJW1DRzN1
ZzE+Y3hESlI2ZV89RkBna3lgeF83T2ZNK0YKemowXy1uWjR9XnErc0gkRT9xd1R7SkhlSGwrT3Je
IT5vdzkoI1EzSnd2ezNKLWJoZDVvNip0Jl40b1lZM0FseTQoCnooTitQO1RaMndyMWF0OEFQcm1y
QktTRGNLc0x2eCZwbm9idGZyNmRfNEBCSHJadmdDTDxOISZSZkZpLUktKUN5Nwp6V0lvJFZ4Rzdv
RER5RGFQPnBvQzY/ZjshQmo9bUBUMGQ9bz9KeW0/QFRZRlZoM3pNUz80WVlAJCgoVl9TR3puP1kK
ejVqKH1qfEJ+T05gdnMxTllXJGZXVU54V3JWbU9KJWFBWTckVUxyUFBmOz18JmJqRT5jeE4hZEZf
SStvMGBpYylQCnpiKzFsJjwzc0IyR0dUZjhVdTBndmRnNTRoM3hPYmpNI2g0Mj1zKz43SS1QRFU7
Z3ZIaXVWZDkpKCZ+aEdKOENFaAp6NXxHV2dLa3dlNzdSMm5FVm5hV0B7Z3hYQXBWOW5ZaTBuZlc7
T3B2MjFPXjBjWj02TThjVyU8YjVFMSRudkZaZVcKejhvYyFVSFV1Qlk1SH4pfnZVNGE9YXZLSUIl
PHViI05ZbEVJRUFUQzg8cGtEeU9oQWYoZXEmRCotejVjSkU9JShyCnpjLTBfYz5TbCF7dmF5ciQ4
SF5xd2BWfShlMHc/ekJvJGQ0aFRzfm5MSWREb18hNXR3KjFpPk1NYE9Qa2RIRjRTdwp6NHQ9eygt
S1IqS20tQ01HNlkrbDRwMSRgbzZhRTlRMDN6SmplR3E2QzB7bjZqTF57JE4xRilCUkI1X144KzhH
ez0KeiE7bzAxcUcjUmhZYikwaz8qRjdeXkhmMShSX3dZLVM0Q0c2Skt6PmRpPm1rU1JhS0sjbXR7
K1FLIWwzZWlLKENCCnoqcypHaGxuQEhlaFdwSVNjJGwhMVU4LWRFeVorN1U3dlYtdUclY1Y2PEZ+
YyhDZUpRKlF6TSUtMitIZWlqNzcwYQp6czZUI29SdFZxPnk8ODYyRm4/ajVBXlklSlF+cmBaTSpE
ZD1afFR7SXZyTnd+bWhacGchN1lFUWt5ezM3PiRTNngKemQrZkZ5ZEFWaDNjWjNoSUs9RnZDYWo2
ITAweFRoRHdke2NKamxPRCokXi02cmoxWmBmQSt2fnBgUEUyRFAmJVheCnpSWmY8S0lWek5jNXRV
ditMZ1o/U3BBPFFlNj5PMU9qZmZDPGpSNz9QNTBubjk8KjEqcSZnWXFAZWYqNkwrLV9zLQp6V3tU
OWhvRiV3KGZsZmxZQnVXal9icCg2RjR3WElgckBxeWdLZERrcihxVnMqYEhvV1I8aWlXfXI2VGM8
XmJ1UmQKenNTbmV+RCl0ejdOUjh0QG8zSkZmY3RwdD5TRF5TeTNBU0smND07TGtFc1RwdTg3ejFg
ZXNUWClDY1NWUzdkRCheCnoyY0ZBK2xwcjI1ZDNHQilnbjBRdDREcHhmeW9gN19ZUn5AR3JVPXwj
SmZ4VDh0bV5kfmIoazwyNXJrZU5JfTJnYQp6aTVkeUlRNEB8LWZPcU0mbEBqRyQydVNTaXhBcExS
b2NoeyMqPlRxb1hhKCslbW9GZnFLRkdINntrcCVnTTFpfDYKeitVPGdINEs8NmhyY2RtO2B4ZH1E
ZFM/XmlNMVRhaEJePzJFcS11eW4lTjRAfmg+fHtRVShzcHNwV2lLckMzRCE3CnpvJUxuJiFmblUl
WGN9SUJBMz5+MEg2PDQ2REFXQG5wZlBZPiswNWc8aXxeZXRnYj5JU3AwI2x2IWt1KFd6OVZuWQp6
NlVyKWhJJjVuPmxUUyUhYVhXcGlAZCQpJUIyMyhpeUJjend8MVFTazxpbSVndnJxflJDRE1WOHlD
VWMzT2pAUmUKekdzRFQmVklFO3FTQzZXRmBmJWxpUi1zRnsjQkVgWmcpbFphP1ElbzY5fW5tXzR7
Y3ZRZU5oJUp5PWpObyg7VG4lCnomUSY3NTV8dT9LSHomcU1YK3hmfmtZYmhnaFVrR1Qoe19hdDR7
aHNxPmxMYm8jLTl+XiRsQ3FXdylkUEtjdHM1Kgp6enUzRTB0Zj01ZHt1NlQtdFc1ODBEYVAhNUhi
QTduSDgkUVJjV0FNXlc4PDh+MjR5TX1RPitOJFNELSE7aHg4SzIKei1ISWBLamFuJSFLdnRzb0F0
Z1kleCNOIWozUF9sKXo3cSlSZ3ojO2RJQ2NeQHNFK2VfYXUmbks3bVVfQWEzdyRzCnp6PEdfTGtD
IWo5SzNoQjU3PEpGdEdmR35zZk0jPjNFe01lfnshaGowPT1kK094X2Y7LUp+NyFfbGN6K25MXzdD
cQp6QT5tb3dxMHxrOGNRPmc1JipXO3tJRGdtT05DSWdMUG12PU07aUI+aSNjakkjLUE4PExAeUc/
VzdqUUhvdC1BX0QKem09RmVwTEp6QDBiX0g5aCFFI19gcXhUclluJm9yWmE3UU05KTJ3bnBrPm9Q
USlOMj1CelNvJkAtVnRFT1VBRCZVCnprVCszI1VYQm9UaGtxfDA9b2NqR0YhMF88aGx+V1p3MXBP
P0JCajlpVnBHPm81RVFyUyp0WEF+JSo3NW1OOSYoRgp6WVhFNypDVmB7VzErb3ZuWW16T0Z6dW5k
MDFoOSlYbjU+fG4tI1h2OzAmJmhwS0Y4U2cweFMyK1BhdWVhWU1JRUcKekM8XjRgO19ePk8/M3Up
KEpxUEZsKm1tdE0+P2w9LWxNa1hYM0tQKUVAYzh3Rloma2BxYVhWOTFyREtOe3l1KGNGCno2KCY1
eyRWZWR8bHd5TFdkOzErYylaUkh4OyV+LVI+TCluUGpiWk8qZF5eWW1XYEhffihvfmBBTHc0c2dK
eEp+Ywp6S0tQaHFUMkZpaXtrT0Y7bU9jb2t3fD51VXVlNkRFPVBqMyFFYGI0ai1ib1Uxe1BmI28r
fXdKYnlWQiEjaVghWj8KelgyRitGOTxOOVNZcEgxU3hDIztDOFVgRFJ0JiNDNi1DTyhTdFJ+O2VY
ckRrbjNPQmo4PyYlXzFQcyErJkptSmtUCnpwUmFEVzF0dSQxYGg1WHRaMD5sOTV6JnBfVEVEUFEw
cSk4TiVBMjFKP25UejNQYWg/QGZDPn1eVGxpY1VFQ2BSPQp6QHBifUlwdFlQVk9MPTw9cChMM2J4
YDtXSDg8c2J3QF5QbSZiVFdUYjQ2eE0wX0hQZXk3QFluYm1KN3leeSZsMkgKejZwcj8jKyUrI1RN
IVhpSFphSkxWSkt+KDRVPldlcGJzdz9vXnUyNz97aSF8XypkQDxjJm5DXipxbCZ7I3pLJT0hCnph
UHdHIVNkfWN4VlJqVGliWWR8emR8X1RXYzZ9dU5lUzU8RSVVNzQ+ciswamBPVWJ4fE4+RlNJRD0k
JD1zNUxCRgp6MW4hdkopNFVZSG09bm9ebmk9NSZYYkV3Sns8cSZfU0p3bV9UIWVIfDQte3FITU96
Pzh5QnxLfWFSZmcqaWZTRjUKemVFVnU1Q2pVTzxfQG51bWxTNiklUEp9Pz9la3VUOyRnVWUyTEtE
Z0QwSkllQ3Q4cm47aXp3fmo8bmRLWUd7XzdzCnpoJm4mPUY9U3VyI1Q3OCQ0IUZ+LXFqZlV6NXl0
X1g7Zyg0WVVrbyh7VkRUSmMzWD96fWBzTV92VW9KM3NHWHB2MAp6MiF1X01Rb25ta2VCfkI0IXRo
SHtCNyFiMDBldUZ9Xkw+TlJrcG5ENTlINEVPSUlPSTxRY0RzN0BiIW5VLUtKVDQKelZwX0p8VVRI
cz8oWjhzITdKTytyPCVOMjRkZVZXZDByPHFDaGs1KTRnQz4kY25DVilgaGswZSMoSzFZeWZgQH5W
Cno1Y0x6ejE7SHdsKE1FQ0dna29KTnFMIWN8cXZzYlMmQXxJU1lMTVVgekIrSkNpKlc9QypaY2Mw
TU5gMXRjYCt1fQp6MlB8OERqZ1ZFfnlie05VSnVNZGp0PURkQlllRDdRPlBHYWU+RVdGR0dRKHdl
Nmt1UCEmZjBXPzU5RykyZmVKMigKejNoK19QSGNzRTcmOVkjUGJaamolRzJoSURoIXtiRSk1RUtS
RWV2WDx2ZiQkfmF4YEVCST5gKXg4fVR4UExZSHswCnozcj1RSDcyN3ZNST16eFFXP0xzWTBKNWtV
MjxYZjN4TnFqYFcjeDJPNnxlczBUYlJDQlAtfEFfaiR2dWNOcSNRdAp6TzRqX0Ema2cwam1AM0h3
Q1lDc2MlZXteNlFqMT53ZF5XTElePn04KXE1ekNhMD4kVUIrWXhGbkBKR3pAdWxzM0UKekYtLShT
elNocyZrY2t0cVc/eUA/aWc+e2Z0JjhHQFNzRH5hQitmVXFwX3FaXyh6cT9qbCM5bjZMJVBmQEBN
KmA3CnpOYmlodS1ROHFqQmtlMjdUXmsqdSg/WWZiJmMyOSMoeENHd2N7e1pCKGJyXj1XMlgxejA0
LUtMPF5tTGlSKjJDTgp6RDI8X3RvQ3hGMkZRQXlELWFYUFJqQ3o+Qk9WeWtOSj0mOT8xbjRiMFQ8
NjE9cV5zcVNlfmJkYTdAcS17PlV9VTcKekJlR08oaU9MSUBjZWA4ZWJfPF9jJGpSUyopY3h2I2VV
eSVYejZJeTBiRyoqKSZjSXp4S2FxNkghZjQ7KjQmXmlYCnpmWSF2XkB8UEYlRjM+VD9AVG9iVWl0
ZGpsXlV+VWpaY1YweW89aipCXlgwZntKaXw7T2pBKTI7UDdGZjM5Rk54MAp6RCtPelorIWBCYUIt
P3NrRUloeX1eTW0pVmQxekRSZUp+KWVQODRVMS1wZDApVzdvej5vQy1eXzs4aWJpbytEaHsKemFG
MCQtWGxvUyNWKDItciR0UFM4MHdMcz9HcTQpQVcjS3d+d01KKj0zPEMjbnp1REs4KXFafDRZWkMm
S1ErfV9PCnplKDAhSSRxTiM8Zk8weDBPdENpSk5CMTB4dS0lSXR1dEI2dDhndml5QkhtZHN7K2Rf
djgwcyMwbWw7Q3dZaCszUAp6SXQqdFBSSEJTbmwmQCE3TTdyQjU2e3U9XnJsNkgqJEhvdSpOPn5X
IVFhR0FOV25OcmNHITVmQV5pfmBqe1pJbiQKel9Adj5CVGdQKmcwVWNfX15xez9ueER3YUVsdzwp
R252bSpseSZnKWJqNHZTKTRvfiMkU3BaRGAtdUZkbzx9MUA7CnpOaSRKM2EqU25Me2Y1cXhvT2A8
REZuSUxsKmUhRG5pOFNCTSZJcmxRbTkhKDI1P3tsc3pLeGsoamlTNzkmSTxSJQp6PmhPXkApPjE8
dXMqZH1vaXdSZiMmKjNoRjElJVlDNDlRSUlCMitpNDxCKzZtPEdyKU5sV2t0VnBQVG1AYTh1NUcK
elUwOzQ0OTgzQExfSTA3VyExUW5YeF4mMmc3dTwrbGErcDtZe1ZrK3l3fiR0PD9JRE8pSzUwdWJ5
dTthbS1BYTA9CnpgLXVISXdJdUU4cXZuMHlAI1pVeV5wd1AkWWZscVQyPkk3LXVBcCgkXkNUPHxJ
YC0pMFUyOC1rZmU3ZH1jem5LUwp6WSp7OH1VZVlZOFlUKklmdHIjfTsrbHA3eWVgfn4kM15LbmdL
NzRWKyNhQn0mbShxfkEqWSl4aFpwaXdIUkp5ZW8KeiFzdz5MWiUtYGNkYGhCUWtgKFRvdXptOVo/
bys/OC1EaFFhMSQ1c3lpPjtOeT1HKVAzem9ybFc8SFQhXlE7KT15Cnp5M2ojT0wyYEhAPH19XjJp
JGgpUkVgOXlMcj4qVCExeFVTbHkzLU5meV5KfEdBOyNTaCE9bmhsUm5faU5oP31ATgp6WWwpb3F0
cDZHbGt9TzZ9aikyKyhXJmdZSEcpaXJ+cF82Q0AoJFhTTnJjZXlzdHFTaGEzMG0rRDYpI35LYW1V
X2UKem4yS2ZYN0FJPDYrVXhAVm96KW1aMS1NVFF3Nzk3U3tLMnB5NjtAcmErKWRXN241ekllLT0t
dj5odjMkUnFTeGooCnpvZ2IkWjk4RVJ5S1FrcU1pbEJhVCNROVEjbDV2bVAla300YVQwPXJZdWtY
amxpe1UoRXVIP1JPUGZ+TUVoJVpQMgp6I0t9KjI2Ozx7I1MxamN7akhHQXp1V3E3U3d1TlohXmJ6
PHxzS150YFRCV301K1N0WG4mTntnRGlNUkhvWk14cmsKejl3JWl2UD5uaG4kMVU+TSZUe2xPR0p5
VzBSVWg4cyVyekNiP3JZPnxLbUZgfEdOQGgxWkVqPlQ8JklnY0FJSDRZCnpvS3x5OyNsZT9OeCVF
T1pPdGhleWU4cEwpU3Z3JDdYSEs5blcpZ01ldSpyfGpLRXdFQ0l7ajJNemApISZxIypmewp6N3Fg
ayRUa1dIV0x7YnZia0c9RFFrXi05Yjw0K2M0MkUrQkpESFkxJDsxN2I4bSN+SiVMQzMqQW93QFpx
XihnXz0KUUN2NmctKW1ZfTs2JDFNSTBRWFltM2poRUIKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoK
</data>
<flag name="commit-queue"
          id="456399"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434006</attachid>
            <date>2021-07-22 04:49:07 -0700</date>
            <delta_ts>2021-07-22 05:47:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210722214905.patch</filename>
            <type>text/plain</type>
            <size>135265</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLjczMzdlYjM2ZTI3NjEzNmNlMWE4MzczMTFjNjkyNTk3ZjEzYzk4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHdlYm1fd2ViYXVkaW8g
cHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3IgbWltZXR5
cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlzYWJsZWQg
YnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8bWFnb21l
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIgdG8gY29u
ZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJvY2Vzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0MTMuLjhm
MzNlN2ZjNWUxY2MyMTQ0MjA3ZGFjZDY3NjA0ZDhhYTU5ZDA1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4gV2ViIEF1
ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4gdGhlIHdl
YiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgZGVj
b2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJlYXNvbnMs
IGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxzIGFyZSBi
bG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1ZGlvIGNv
bXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkgcHJvY2Vz
cyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisgICAgICAg
IFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAg
ICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWlscyBmb3Ig
Vm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11eCB0aGUg
d2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0g
dG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVyYXRlIG92
ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3JtaW5nCisg
ICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRoZXJlIGFy
ZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVuY29kZXIg
ZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGlibGUKKyAg
ICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIu
CisgICAgICAgIC0gSWdub3JpbmcgdGhlIHNhbmRib3hpbmcgaXNzdWUsIFZvcmJpcyBjb250ZW50
IGZhaWwgdG8gZGVjb2RlLgorICAgICAgICAtIFdlIGNhbiBvbmx5IGRlY29kZSBtb25vIGFuZCBz
dGVyZW8gY29udGVudC4gT3B1cyBhbmQgVm9yYmlzIGxldCB5b3UgZGVmaW5lIGEKKyAgICAgICAg
Y3VzdG9tIGNoYW5uZWwgb3JkZXJpbmcsIHRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWQgd2l0aCBh
bWJpc29uaWMgYXVkaW8gKHdpdGggb3B1cyAyNTUgbW9kZSkuCisgICAgICAgIENvcmVNZWRpYSBk
b2Vzbid0IGVhc2lseSBkZWFsIHdpdGggc3VjaCByZS1vcmRlcmluZyBhcyBpdCBhcHBlYXJzIHRv
IGJlIGVzc2VudGlhbGx5CisgICAgICAgIGRlc2lnbmVkIGZvciBhdWRpYmxlIGNvbnRlbnQuIFdp
dGggbW9yZSB0aGFuIDIgY2hhbm5lbHMsIGRlY29kaW5nIHdpbGwgZWl0aGVyIGZhaWwKKyAgICAg
ICAgb3IgcHJvZHVjZSBjaGFubmVscyBpbiB0aGUgd3Jvbmcgb3JkZXIuCisKKyAgICAgICAgVGVz
dDogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKKworICAgICAgICAq
IEhlYWRlcnMuY21ha2U6IEV4cG9ydCBoZWFkZXIgc28gdGhhdCB3ZSBjYW4gcmVnaXN0ZXIgdGhl
IGRlY29kZXIgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBzYW1lIGFzIGFib3ZlLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5
VHlwZSBjb25zdCk6IE1ha2UgY2FuUGxheVR5cGUod2VibS9hdWRpbzsgY29kZWNzPW9wdXMpCisg
ICAgICAgIHdvcmsgaWYgZmVhdHVyZXMgaXMgc2V0LgorICAgICAgICAqIHBhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0V2ViTVdlYkF1ZGlvRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjp3ZWJNV2ViQXVkaW9FbmFibGVkIGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9NZWRpYVNhbXBsZS5oOiBBZGQgbmV3IGlzTWVkaWFTYW1wbGVBVkZPYmpDLCB3aWxsIGJl
IHVzZWQgdG8gYWxsb3cgc2FmZQorICAgICAgICBkb3duY2FzdGluZy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1czo6c2V0
TGVuZ3RoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oOiBBZGQgc2V0TGVu
Z3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhlIHJlcG9ydGVkIGxlbmd0aAorICAgICAgICB3aXRo
b3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmg6IEFkZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0
aGUgcmVwb3J0ZWQKKyAgICAgICAgbGVuZ3RoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlp
bmcgc3RvcmFnZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFk
ZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3Qp
OiBGaXggY2hlY2tlZEludCB1c2UgdG8gY2F0Y2ggcG90ZW50aWFsIG92ZXJmbG93CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6
IEFkZCBjb252ZW5pZW5jZSBjbGFzcyB0aGF0CisgICAgICAgIGZyZWUgd3JhcHBlZCBBdWRpb0J1
ZmZlckxpc3Qgb2JqZWN0IG9uIGV4aXQuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxp
c3RIb2xkZXI6On5BdWRpb0J1ZmZlckxpc3RIb2xkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvciBib29sIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3ItPiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yKiBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6OmlzVmFsaWQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjppc01heWJlV2ViTSBjb25zdCk6IE1ldGhvZCB0byBj
aGVjayBpZiB0aGUgYnVmZmVyCisgICAgICAgIGNvbnRhaW5zIFdlYk0gZGF0YS4KKyAgICAgICAg
KFdlYkNvcmU6OnBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2spOiBSZXF1aXJlZCBmb3IgQXVk
aW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlci4KKyAgICAgICAgV2lsbCBmZWVkIHRoZSBkZWNv
ZGVyIHRoZSBkYXRhIHRvIGRlY29kZSwgc3BsaXR0aW5nIHRoZSBtdWx0aXBsZSBwYWNrZXRzIGZv
dW5kCisgICAgICAgIGluIHRoZSBDTVNhbXBsZUJ1ZmZlci4KKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMgY29uc3QpOiBSZXR1cm4gdGhlIHRvdGFsIG51
bWJlciBvZgorICAgICAgICBkZWNvZGVkIGZyYW1lcyBpbiB0aGUgcGFja2V0cy4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQgY29uc3QpOiBDcmVhdGUg
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uCisgICAgICAgIHJlbGF0ZWQgdG8gdGhlIGRlbXV4
ZWQgYXVkaW8gdHJhY2suIG51bGxvcHQgaWYgdW5zdXBwb3J0ZWQgY29udGVudC4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y2xpZW50RGF0YUZvcm1hdCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyk6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmg6CisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmg6IFJlbW92ZSB1bnVzZWQgdHlw
ZWRlZi4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UubW06CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6On5BdWRpb1Nh
bXBsZURhdGFTb3VyY2UpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZQorICAgICAgICBQQUwgc29m
dGxpbmtzCisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnNldHVwQ29u
dmVydGVyKTogRmx5LWJ5IGZpeCwgbWFrZSBpdCB1c2UgUEFMCisgICAgICAgIHNvZnRsaW5rcwor
ICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbTogRmx5
LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L1RyYWNrUHJpdmF0ZUJhc2UuY3BwOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVB
VkZPYmpDLmg6CisgICAgICAgIEZseS1ieSBmaXggcmVxdWlyZWQgYnkgd2Via2l0LXByZXBhcmUg
OiBkb24ndCB0YWcgdGhlIHdob2xlIGNsYXNzIGFzIFdFQkNPUkVfRVhQT1JULgorICAgICAgICBN
b3ZlIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIGZ1bmN0aW9uIGRlZmluaXRpb25zIG91dC1v
Zi1saW5lIHRvIHByZXZlbnQKKyAgICAgICAgbGlua2FnZSBlcnJvcnMuCisgICAgICAgIChpc1R5
cGUpOiBBZGQgdGVtcGxhdGUgc3BlY2lhbGl6YXRpb24gZm9yIHN0YXRpY19yZWZlcmVuY2VfY2Fz
dDxNZWRpYVNhbXBsZUFWRk9iakM+CisgICAgICAgIGFuZCBpczxNZWRpYVNhbXBsZUFWRk9iakM+
IHRvIHdvcmsuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMpOiBNb3ZlIGNvZGUKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06IEZseS1ieSBmaXgs
IGFkZCBtaXNzaW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oOiBFeHBvcnQgc29tZSBzeW1ib2xzLCBhZGQgbmV3Cisg
ICAgICAgIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lz
dGVyRGVjb2RlckZhY3RvcnkpOiBJbnN0ZWFkIG9mIGF0dGVtcHRpbmcgdG8gcmVnaXN0ZXIgdGhl
IGRlY29kZXIKKyAgICAgICAgYnkgZGwtb3BlbmluZyB0aGUgcmVxdWlyZWQgbGlicmFyeSwgZmly
c3QgYXR0ZW1wdGluZyB0byBzZWUgaWYgdGhlIGRlY29kZXIgaXMKKyAgICAgICAgYWxyZWFkeSBh
dmFpbGFibGUuIENhbGxpbmcgQXVkaW9Db21wb25lbnRSZWdpc3RlciBpbiB0aGUgd2ViIGNvbnRl
bnQgcHJvY2VzcworICAgICAgICB3aGVuIHRoZSBHUFUgcHJvY2VzcyBpcyBlbmFibGVkIHdpbGwg
ZmFpbCBkdWUgdG8gc2FuZGJveCBzZXR0aW5ncy4gV2hpY2ggd291bGQKKyAgICAgICAgaW5jb3Jy
ZWN0bHkgcmVwb3J0IHRoZSBjb2RlYyB0byBub3QgYmUgYXZhaWxhYmxlIHdoZW4gaXQgd2FzLgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCk6
CisgICAgICAgIChXZWJDb3JlOjppc09wdXNEZWNvZGVyQXZhaWxhYmxlKTogRmx5LWJ5IGZpeCwg
c2hvdWxkIHRoZSBtZXRob2QgYmUgY2FsbGVkCisgICAgICAgIG9uIG5vbi1tYWMgcGxhdGZvcm0g
aXQgd291bGQgaGF2ZSByZXR1cm4gdGhlIHVuaXRpYWxpemVkIHZhbHVlIG9mIHRoZSBhdmFpbGFi
bGUKKyAgICAgICAgc3RhdGljIHZhcmlhYmxlLgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJP
cHVzRGVjb2RlcklmTmVlZGVkKTogQWRkZWQKKyAgICAgICAgKFdlYkNvcmU6OmlzVm9yYmlzRGVj
b2RlckF2YWlsYWJsZSk6IFNhbWUgYXMgaXNPcHVzRGVjb2RlckF2YWlsYWJsZQorICAgICAgICAo
V2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQpOiBBZGRlZAorCiAyMDIxLTA3
LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQWRkIGxpbmtlZE9uT3JBZnRlciBjaGVjayBmb3IgcjI2OTE2MgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggZjAxOWQzY2UxMjAzZjNmYTEwNGVmOWZhYzRmZmE0MDZhYjkwMmY2MC4uZjJhYWNiYjg0
MDJkMGM0MTYxYTNmNmZiZjk5Mzk0ZjU4Y2M1M2RhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHZhcmlvdXMgQVZGb3VuZGF0aW9uIChBVkF1
ZGlvQ29udmVydGVyKSByZWxhdGVkIG1ldGhvZHMgYW5kCisgICAgICAgIENvcmVNZWRpYSB0byBh
Y2Nlc3MgcmVxdWlyZWQgQ01TYW1wbGVCdWZmZXIgcmVsYXRlZCBtZXRob2RzLgorCisgICAgICAg
ICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsu
aDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06CisKIDIwMjEt
MDctMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI4MDEyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTg3NjI1ODQyNjFiYWE5ZTMyMmU5
YTcwY2Y4ZDJhNmYwN2IwOTA5Ni4uYzM2MmU2NjNlNGNjZGUyZmMzYTc4ZWE0MjJlZmNiMWNhNzdh
NmQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2
ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1
cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZGVmYXVs
dCB2YWx1ZSBmb3Igd2VibV93ZWJhdWRpbyBwcmVmIGZvciB0aGUgZGlmZmVyZW50IHBsYXRmb3Jt
cy4KKyAgICAgICAgRGlzYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgcGxhdGZvcm1zLgorICAgICAg
ICBGbHktYnkgZml4OiBkb24ndCBtYWtlIHdlYm0gcGFyc2VyIGRlcGVuZGVudCBvbiBWUDkgc3Vw
cG9ydC4KKworICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0Ogor
ICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0OgorICAgICAgICAqIEZlYXR1
cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktp
dC13YXRjaG9zLnBsaXN0OgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZGVm
YXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlv
Q29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisKIDIwMjEtMDctMjEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSdW5uaW5nQm9hcmQga2lsbHMgdGhlIG5ldHdvcmsg
cHJvY2VzcyBpZiBpdCBpcyBzdGlsbCBob2xkaW5nIHRoZSAiaG9sZGluZyBsb2NrZWQgZmlsZSIg
YXNzZXJ0aW9uIHVwb24gc3VzcGVuc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRl
eCBjNDJlYmViYTA2N2MxNWQ3ZjVkYzBlOTBhYjNkYjQ1MmU5MjJhNGVkLi5iNDExODY0NGFiZjhi
NmUxMzhlM2U2NDk0NzU0ODA4M2M5OTNkYmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFt
bApAQCAtMTI2MSw2ICsxMjYxLDE4IEBAIFdlYk1QYXJzZXJFbmFibGVkOgogICAgIFdlYktpdDoK
ICAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCkKIAorV2Vi
TVdlYkF1ZGlvRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcworICBodW1hblJlYWRhYmxlTmFtZTogIldlYk0gV2ViIEF1ZGlvIgor
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgV2ViTSBXZWIgQXVkaW8iCisgIGNv
bmRpdGlvbjogRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktp
dExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJs
ZWQoKQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJB
dWRpb0VuYWJsZWQoKQorCiAjIEZJWE1FOiBJcyB0aGlzIGltcGxlbWVudGVkIGZvciBXZWJLaXRM
ZWdhY3k/IElmIG5vdCwgdGhpcyBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBXZWJLaXRMZWdhY3kg
ZW50aXJlbHkuCiBXZWJSVENIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkOgogICB0eXBlOiBi
b29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCAzYjFiYjU1MGY1NjgxYTRmNWRkMjM2MGExNDE4OWE4
ZWNhZDA1N2I5Li45YTYxZWVmZjU0YjdjNjUwMjBhMjhlOTRjNmJlZTNkNTQzYzc0NTlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0hlYWRlcnMuY21ha2UKQEAgLTEzMzUsNiArMTMzNSw4IEBAIHNldChXZWJDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9FeHRlbnNpb25z
R0xBTkdMRS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xB
TkdMRVV0aWxpdGllcy5oCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5oCisKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3QuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dERyYXdHbHlwaHNSZWNvcmRlci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCBmYzA2NjhhNGE5MWFmZTEwYjY1MTU5Y2Ew
ODJlMTgyODFmZDUwMzU3Li4zNGI3ZmM2ODYzYjI1ZDI1MGMzZGQ2MDhiZmQ5MGM5YmJhYmE0NzFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNw
cApAQCAtNDcsMTEgKzQ3LDE0IEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5
RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYgdGhlU291cmNlQnVmZmVyLCBz
aXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgdm9pZCogZGVzdGluYXRpb24p
LCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGRlc3RpbmF0aW9u
KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01C
bG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwgUEFMX0VYUE9SVCkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJs
b2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRo
ZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNl
dCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJ
VEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpLCBQQUxfRVhQT1JUKQog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNv
dXJjZUJ5dGVzLCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zm
c2V0SW50b0Rlc3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVz
dGluYXRpb25CdWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCksIFBBTF9F
WFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENv
cmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldEV4dGVuc2lvbnMsIENGRGljdGlvbmFyeVJl
ZiwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBD
TVNhbXBsZUJ1ZmZlckdldFR5cGVJRCwgQ0ZUeXBlSUQsICh2b2lkKSwgKCksIFBBTF9FWFBPUlQp
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsb2NrQnVmZmVyUmVmLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdl
dEZvcm1hdERlc2NyaXB0aW9uLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmLCAoQ01TYW1wbGVCdWZm
ZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVzY3JpcHRpb25z
U2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBwYWNrZXREZXNj
cmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCBQQUxfRVhQT1JU
KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVk
aWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywgT1NTdGF0dXMsIChDTVNhbXBs
ZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRleCwgQ01TYW1wbGVUaW1pbmdJ
bmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4LCB0aW1pbmdJbmZvT3V0KSwg
UEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFmYzU2ZGJmYjA1
ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLmRjMmQ4ZTBiZTkzNmJiMmRiZmQ1MmFjMmVkY2I1NWM4
ZjI1MTRjMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmgKQEAgLTQ5LDYgKzQ5LDEwIEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcywgT1NTdGF0CiAjZGVmaW5l
IENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVm
ZmVyQ29weURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoLCBzaXplX3QsIChDTUJsb2NrQnVmZmVy
UmVmIHRoZUJ1ZmZlciksICh0aGVCdWZmZXIpKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyR2V0RGF0
YUxlbmd0aCBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgKK1NP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
SXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwg
c2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3Ro
KSkKKyNkZWZpbmUgQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVN
ZWRpYV9DTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMKK1NPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpKQorI2RlZmluZSBDTUJs
b2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZl
ckNyZWF0ZUNvbnRpZ3VvdXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29y
ZU1lZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2
b2lkKiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6
ZV90IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0
ZXMsIGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgp
KQogI2RlZmluZSBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcyBzb2Z0TGlua19Db3JlTWVk
aWFfQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
SEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0RXh0ZW5zaW9ucywg
Q0ZEaWN0aW9uYXJ5UmVmLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2MpKQpA
QCAtNTksNiArNjMsOCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVN
ZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsbwogI2RlZmluZSBDTVNhbXBs
ZUJ1ZmZlckdldERhdGFCdWZmZXIgc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0
RGF0YUJ1ZmZlcgogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEs
IENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24sIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQogI2RlZmluZSBDTVNhbXBsZUJ1
ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZl
ckdldEZvcm1hdERlc2NyaXB0aW9uCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUws
IENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
cywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0RGVzY3JpcHRp
b25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCAoc2J1Ziwg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBwYWNrZXREZXNj
cmlwdGlvbnNTaXplTmVlZGVkT3V0KSkKKyNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0
cmVhbVBhY2tldERlc2NyaXB0aW9ucyBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJH
ZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywg
T1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRl
eCwgQ01TYW1wbGVUaW1pbmdJbmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4
LCB0aW1pbmdJbmZvT3V0KSkKICNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJ
bmZvIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8K
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiksIChzYnVm
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9u
U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29m
dExpbmsuaAppbmRleCBiMzI0MTU5YmUxZWZlN2E1ZTVmZTJiMjY0ZDQxYTZhMGM4NGZkNDliLi43
MDBlOWMzMmM0Y2ZiMWJkYzMwZWNmNDdhMDAwNjMwNzIwNTI2OTBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCkBAIC0zMjQs
NCArMzI0LDExIEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQVZGb3VuZGF0
aW9uLCBBVk91dHB1dENvbnRleHRPdXRwdXREZXZpY2VzRGlkCiAjZGVmaW5lIEFWT3V0cHV0Q29u
dGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24gUEFMOjpnZXRfQVZGb3VuZGF0
aW9uX0FWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24oKQog
I2VuZGlmIC8vIEhBVkUoQVZST1VURVBJQ0tFUlZJRVcpCiAKKyNpZiBQTEFURk9STShDT0NPQSkK
K1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbnZlcnRlcikKK1NPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0Zvcm1hdCkKK1NPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbXByZXNzZWRCdWZmZXIpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9QQ01CdWZmZXIpCisjZW5kaWYgLy8gUExBVEZPUk0o
Q09DT0EpCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggMzdjOGIx
ZmFmZDU4Y2NiYzZlODUwYzZmMzAxMTc2N2M3ZGEzMTY0NS4uNzMzOTg0NWUwNzI2NTgwMWUwNjQw
MzAzYjJlMjkxYTAxMjRlODcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCkBAIC0yMzAsNyArMjMwLDcgQEAgU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9TZXNzaW9uUm91dGUKIAogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRIVFRQQ29va2llc0tl
eSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0UmVxdWly
ZXNDdXN0b21VUkxMb2FkaW5nS2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQotI2VuZGlmCisj
ZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uU2V0
QXV0aG9yaXplZFRvVXNlQ2FtZXJhSW5NdWx0aXBsZUZvcmVncm91bmRBcHBMYXlvdXQsIHZvaWQs
IChBVkNhcHR1cmVTZXNzaW9uICpzZXNzaW9uKSwgKHNlc3Npb24pKQpAQCAtMjQ0LDQgKzI0NCwx
MSBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91
bmRhdGlvbiwgQVZSb3V0ZURldGVjdG9yTXVsdAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERl
dmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24sIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiAjZW5k
aWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9Db252ZXJ0ZXIsIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0Zvcm1hdCwgUEFMX0VYUE9SVCkK
K1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvUENNQnVmZmVy
LCBQQUxfRVhQT1JUKQorI2VuZGlmCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGYwMWI5OTI3ZTNjYzYyMmU5Y2NjMDBiMTFlYjJhMmNkZDAzZjc1MzcuLjRmNDk1N2Y1MGU4ZWI0
NGY2ZjA1ODE5MDcyZGMwYTUxNzNiZTFjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzMiw3ICsyMzIsNyBAQAogCQkwN0VF
NzZFQzFCRTk2REIwMDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RUU3NkVBMUJFOTZEQjAw
MEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAv
KiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUQxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFs
dGltZVZpZGVvU291cmNlTWFjLmggKi87IH07CiAJCTA3RjRFOTMzMjBCMzU4N0YwMDJFMzgwMyAv
KiBBVkFzc2V0TUlNRVR5cGVDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDdDOEFEMTIxRDA3M0Q2MzAwODdDNUNFIC8qIEFWQXNzZXRNSU1FVHlw
ZUNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJMDdGNUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1
ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgfTsKKwkJMDdG
NUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1ODJBNEY4
MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0Y1Q0ZGNjI1ODJBNTI5MDA2NjJFRjUg
LyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGMjI1ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EubW0gKi87IH07CiAJCTA3Rjg3Njg0MUFENTgwRjkwMDkwNTg0OSAvKiBN
ZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDdGODc2ODMxQUQ0QTk0NTAwOTA1ODQ5IC8qIE1lZGlhUGxheWJh
Y2tUYXJnZXRDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDdGOTQ0MTYxODY0RDA0NjAwNUQzMUNCIC8qIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RBRThDMDgxNzQ2Qjk1NzAwNTMyRDc4IC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBhM2IzYTJmMTE1N2MyYjdl
NTAwYjJhMDRlNDY4ZWQ1NmFkMjA0NGJjLi43ZDdjZDJjZTFkZWZiOGMwNTEwM2I0MzgxZGE3NWY3
MGI3MjgzNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAg
LTEwNTUsNyArMTA1NSw3IEBAIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogICAgIC8vIFRlbXBvcmFyaWx5IHdvcmsgYXJv
dW5kIGJ1ZyAyMjY5MjIuIEZvciBub3cgY2xhaW0gdGhhdCB0aGUgb3B1cyBhbmQgdm9yYmlzIGNv
ZGVjcyBhcmVuJ3Qgc3VwcG9ydGVkCiAgICAgLy8gc28gdGhhdCBzaXRlcyByZWx5aW5nIG9uIHRo
aXMgdGVzdCB0byBkZXRlcm1pbmUgaWYgd2ViYXVkaW8gdXNlIG9mIG9wdXMgb3Igdm9yYmlzIHdv
bid0IGVycm9yLgogICAgIGF1dG8gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0gICAg
aWYgKHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYg
KGNvZGVjcy5jb250YWlucygib3B1cyIpIHx8IGNvZGVjcy5jb250YWlucygidm9yYmlzIikpKQor
ICAgIGlmIChzdXBwb3J0ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVk
ICYmICgoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikgJiYgIXdlYk1XZWJBdWRpb0VuYWJsZWQoKSkg
fHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCiAgICAgICAgIHN1cHBvcnQgPSBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZDsKICNlbmRpZgogCkBAIC04MTc1LDYg
KzgxNzUsMTUgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNNZWRpYVN0cmVhbVNvdXJjZSgp
IGNvbnN0CiAjZW5kaWYKIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJNV2ViQXVkaW9F
bmFibGVkKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHJldHVybiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYk1XZWJBdWRpb0VuYWJs
ZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVN0cmVhbUNhcHR1cmVT
dGFydGVkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMTA1
MWMwNTg1M2ZjMDEyZWRkYWNkOGI3NGM5NDVhYmJhYzJkNTMyMC4uZjkyNmVkNjI3MzAxMWQ1MTY0
OGFkZWY1Nzk3ZGJlZGZhNmRiODJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTkzOSw2ICs5MzksOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IExvZ2dlciYgbWVk
aWFQbGF5ZXJMb2dnZXIoKSBmaW5hbCB7IHJldHVybiBsb2dnZXIoKTsgfQogI2VuZGlmCiAKKyAg
ICBib29sIHdlYk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdDsKKwogICAgIFRpbWVyIG1fcHJvZ3Jl
c3NFdmVudFRpbWVyOwogICAgIFRpbWVyIG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFRp
bWVyIG1fc2NhblRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaAppbmRleCBhMGQzY2VhNzlkN2UwYWUwNzQ4MjQwZGQyMmVlZTJkNTU3NTA0NGE2Li42
ODVhMGEyYWQ3NTQ3MjY5OWFlYmYyMTlmYTBjMjUxNTIxYmViMGI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMjM1LDYgKzIzNSw4IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2ViTVBhcnNlckVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJNUGFyc2VyRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQogICAgIGJvb2wgd2ViTVBhcnNlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYk1QYXJz
ZXJFbmFibGVkOyB9CisgICAgdm9pZCBzZXRXZWJNV2ViQXVkaW9FbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fd2ViTVdlYkF1ZGlvRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgd2Vi
TVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVdlYkF1ZGlvRW5hYmxlZDsg
fQogI2VuZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKQEAgLTM3MSw2ICszNzMsNyBAQCBwcml2
YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBib29sIG1fd2ViTVBhcnNlckVu
YWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV93ZWJNV2ViQXVkaW9FbmFibGVkIHsgZmFsc2Ug
fTsKICNlbmRpZgogCiAjaWYgSEFWRShDRUxFU1RJQUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaAppbmRleCA4ZGE2MDM3Nzg4MjQzMzMwYWUyNTBkOWMxMGM3MmVlMDU4OGU3NjBj
Li4wMjU4ZTVlYjRmM2Q2ODgzODE4YjNiNzFlMDljMGY4OTBmMDM0M2Y1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKQEAgLTU3LDcgKzU3LDcgQEAgc3RydWN0IFBsYXRmb3Jt
U2FtcGxlIHsKICAgICB9IHNhbXBsZTsKIH07CiAKLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlh
U2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CitjbGFz
cyBNZWRpYVNhbXBsZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4g
ewogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlKCkgPSBkZWZhdWx0OwogCkBAIC0x
MjUsNiArMTI1LDggQEAgcHVibGljOgogCiAgICAgICAgIHJldHVybiBvYmplY3QtPnRvSlNPTlN0
cmluZygpOwogICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhU2FtcGxlQVZGT2JqQygp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKaW5kZXggMjQzZTEwNmI5
ZTMzZGE5M2RlOWEwY2FkMzNiYzA4ZTkyMDY1MzIwMC4uN2YwM2MzMzFlZTIwMTBjOTg5MjlhMDMy
NGRjYWM5NTVkNjVmOGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9CdXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
QnVzLmNwcApAQCAtNzMsNiArNzMsMTYgQEAgdm9pZCBBdWRpb0J1czo6c2V0Q2hhbm5lbE1lbW9y
eSh1bnNpZ25lZCBjaGFubmVsSW5kZXgsIGZsb2F0KiBzdG9yYWdlLCBzaXplX3QgbGUKICAgICB9
CiB9CiAKK3ZvaWQgQXVkaW9CdXM6OnNldExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKQoreworICAg
IFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IG1f
bGVuZ3RoKTsKKyAgICBpZiAobmV3TGVuZ3RoID09IG1fbGVuZ3RoKQorICAgICAgICByZXR1cm47
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhbm5lbHMuc2l6ZSgpOyArK2kpCisg
ICAgICAgIG1fY2hhbm5lbHNbaV0tPnNldExlbmd0aChuZXdMZW5ndGgpOworICAgIG1fbGVuZ3Ro
ID0gbmV3TGVuZ3RoOworfQorCiB2b2lkIEF1ZGlvQnVzOjp6ZXJvKCkKIHsKICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQwZTgxMTIxMWI0ZGEyY2E4YzY3MGI1OGIz
Mjk2YjM1Y2U2OWNkNGEuLmVhNTg1Yzg0OGVhOTQxMjI3NDAyOWE4ODY3YWI5Y2NhYzcwNzRkNjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtODMsNiArODMs
OSBAQCBwdWJsaWM6CiAgICAgLy8gTnVtYmVyIG9mIHNhbXBsZS1mcmFtZXMKICAgICBzaXplX3Qg
bGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFJlZHVjZSB0aGUg
bnVtYmVyIG9mIGZyYW1lcyBhdmFpbGFibGUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYWxsb2NhdGVk
IG1lbW9yeSBzaXplLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpOworCiAg
ICAgLy8gU2FtcGxlLXJhdGUgOiAwLjAgaWYgdW5rbm93biBvciAiZG9uJ3QgY2FyZSIKICAgICBm
bG9hdCBzYW1wbGVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVSYXRlOyB9CiAgICAgdm9p
ZCBzZXRTYW1wbGVSYXRlKGZsb2F0IHNhbXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxl
UmF0ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9D
aGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApp
bmRleCA5NzViZDBiNWFiZDhmNzI1NWEwNWE3ZGQ3MGY5NjUwYjFkNDk0NjY3Li5jOTc2MTVmMGRh
MTUxYzIzZDQzM2NiNTYwNjdiYjU0Nzk0NjJhMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtNzQsNiArNzQsMTQgQEAgcHVibGljOgogICAg
IC8vIEhvdyBtYW55IHNhbXBsZS1mcmFtZXMgZG8gd2UgY29udGFpbj8KICAgICBzaXplX3QgbGVu
Z3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFNldCBuZXcgbGVuZ3Ro
LiBDYW4gb25seSBiZSBzZXQgdG8gYSB2YWx1ZSBsb3dlciB0aGFuIHRoZSBjdXJyZW50bHkKKyAg
ICAvLyBzZXQgbGVuZ3RoLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCisg
ICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG5l
d0xlbmd0aCA8PSBsZW5ndGgoKSk7CisgICAgICAgIG1fbGVuZ3RoID0gbmV3TGVuZ3RoOworICAg
IH0KKwogICAgIC8vIERpcmVjdCBhY2Nlc3MgdG8gUENNIHNhbXBsZSBkYXRhLiBOb24tY29uc3Qg
YWNjZXNzb3IgY2xlYXJzIHNpbGVudCBmbGFnLgogICAgIGZsb2F0KiBtdXRhYmxlRGF0YSgpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9GaWxlUmVhZGVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCmluZGV4IDVkNTZiOWVlMWEwZDNkNjdhNzljMzA3
NjFkMTM4MTVkN2MwNjQ0Y2UuLjk0MDM5OGM2NzA3MzQ0ZTJjOWNhMjQzNzI2MmMxM2EyYzU0N2Zm
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
RmlsZVJlYWRlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKQEAgLTM0LDIxICszNCwzNiBAQAogCiAjaW5j
bHVkZSAiQXVkaW9CdXMuaCIKICNpbmNsdWRlICJBdWRpb0ZpbGVSZWFkZXIuaCIKKyNpbmNsdWRl
ICJBdWRpb1NhbXBsZURhdGFTb3VyY2UuaCIKKyNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5o
IgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIkluYmFuZFRleHRUcmFj
a1ByaXZhdGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTYW1wbGVB
VkZPYmpDLmgiCisjaW5jbHVkZSAiVmlkZW9UcmFja1ByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJN
QXVkaW9VdGlsaXRpZXNDb2NvYS5oIgorI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbnZl
cnRlci5oPgogI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9FeHRlbmRlZEF1ZGlvRmlsZS5oPgogI2lu
Y2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8cGFsL2Nm
L0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CisjaW5jbHVkZSA8U291cmNlQnVmZmVyUGFyc2VyV2Vi
TS5oPgorI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMu
aD4KICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5o
PgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvU2NvcGUuaD4KKyNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRM
aW5rLmg+CisjaW5jbHVkZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBBdWRpb0J1ZmZlckxpc3Qq
IHRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlzdChzaXplX3QgbnVtYmVyT2ZCdWZmZXJzKQogeworICAg
IGlmICghbnVtYmVyT2ZCdWZmZXJzKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBDaGVj
a2VkU2l6ZSBidWZmZXJMaXN0U2l6ZSA9IHNpemVvZihBdWRpb0J1ZmZlckxpc3QpIC0gc2l6ZW9m
KEF1ZGlvQnVmZmVyKTsKLSAgICBidWZmZXJMaXN0U2l6ZSArPSBudW1iZXJPZkJ1ZmZlcnMgKiBz
aXplb2YoQXVkaW9CdWZmZXIpOworICAgIGJ1ZmZlckxpc3RTaXplICs9IFdURjo6Y2hlY2tlZFBy
b2R1Y3Q8c2l6ZV90PihudW1iZXJPZkJ1ZmZlcnMsIHNpemVvZihBdWRpb0J1ZmZlcikpOwogICAg
IGlmIChidWZmZXJMaXN0U2l6ZS5oYXNPdmVyZmxvd2VkKCkpCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogCkBAIC04NywxMCArMTAyLDkwIEBAIHN0YXRpYyBib29sIHZhbGlkYXRlQXVkaW9CdWZm
ZXJMaXN0KEF1ZGlvQnVmZmVyTGlzdCogYnVmZmVyTGlzdCkKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAorLy8gT24gc3RhY2sgUkFJSSBjbGFzcyB0aGF0IHdpbGwgZnJlZSB0aGUgYWxsb2NhdGVkIEF1
ZGlvQnVmZmVyTGlzdCBhcyBuZWVkZWQuCitjbGFzcyBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgewor
cHVibGljOgorICAgIGV4cGxpY2l0IEF1ZGlvQnVmZmVyTGlzdEhvbGRlcihzaXplX3QgbnVtYmVy
T2ZDaGFubmVscykKKyAgICAgICAgOiBtX2J1ZmZlckxpc3QodHJ5Q3JlYXRlQXVkaW9CdWZmZXJM
aXN0KG51bWJlck9mQ2hhbm5lbHMpKQorICAgIHsKKyAgICB9CisKKyAgICB+QXVkaW9CdWZmZXJM
aXN0SG9sZGVyKCkKKyAgICB7CisgICAgICAgIGlmIChtX2J1ZmZlckxpc3QpCisgICAgICAgICAg
ICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7CisgICAgfQorCisgICAgZXhw
bGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuICEhbV9idWZmZXJMaXN0OyB9Cisg
ICAgQXVkaW9CdWZmZXJMaXN0KiBvcGVyYXRvci0+KCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXJM
aXN0OyB9CisgICAgQXVkaW9CdWZmZXJMaXN0KiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVybiBt
X2J1ZmZlckxpc3Q7IH0KKyAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiB2YWxpZGF0
ZUF1ZGlvQnVmZmVyTGlzdChtX2J1ZmZlckxpc3QpOyB9Citwcml2YXRlOgorICAgIEF1ZGlvQnVm
ZmVyTGlzdCogbV9idWZmZXJMaXN0OworfTsKKworc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBr
T3B1c01heEZyYW1lTGVuZ3RoID0gOTQ7CitzdGF0aWMgY29uc3RleHByIHVpbnQzMl90IGtWb3Ji
aXNNYXhGcmFtZUxlbmd0aCA9IDQwOTY7CisKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRh
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKworcHVibGljOgorI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCisgICAgU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25T
ZWdtZW50IG1faW5pdFNlZ21lbnQ7CisjZW5kaWYKKyAgICBNZWRpYVRpbWUgbV9kdXJhdGlvbjsK
KyAgICBWZWN0b3I8UmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4+IG1fc2FtcGxlczsKK307CisKIEF1
ZGlvRmlsZVJlYWRlcjo6QXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBk
YXRhU2l6ZSkKICAgICA6IG1fZGF0YShkYXRhKQogICAgICwgbV9kYXRhU2l6ZShkYXRhU2l6ZSkK
KyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIG1fbG9nZ2VyKExvZ2dlcjo6Y3JlYXRl
KHRoaXMpKQorICAgICwgbV9sb2dJZGVudGlmaWVyKExvZ2dlckhlbHBlcjo6dW5pcXVlTG9nSWRl
bnRpZmllcigpKQorI2VuZGlmCiB7CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBpZiAo
aXNNYXliZVdlYk0oc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEpLCBkYXRhU2l6ZSkp
IHsKKyAgICAgICAgYXV0byBwYXJzZXIgPSBhZG9wdFJlZihuZXcgU291cmNlQnVmZmVyUGFyc2Vy
V2ViTSgpKTsKKyAgICAgICAgYm9vbCBlcnJvciA9IGZhbHNlOworICAgICAgICBzdGQ6Om9wdGlv
bmFsPHVpbnQ2NF90PiBhdWRpb1RyYWNrSWQ7CisgICAgICAgIE1lZGlhVGltZSBkdXJhdGlvbjsK
KyAgICAgICAgU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25TZWdtZW50IGlu
aXRTZWdtZW50OworICAgICAgICBWZWN0b3I8UmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4+IHNhbXBs
ZXM7CisgICAgICAgIHBhcnNlci0+c2V0RGlkRW5jb3VudGVyRXJyb3JEdXJpbmdQYXJzaW5nQ2Fs
bGJhY2soWyZdKHVpbnQ2NF90KSB7CisgICAgICAgICAgICBlcnJvciA9IHRydWU7CisgICAgICAg
IH0pOworICAgICAgICBwYXJzZXItPnNldERpZFBhcnNlSW5pdGlhbGl6YXRpb25EYXRhQ2FsbGJh
Y2soWyZdKFNvdXJjZUJ1ZmZlclBhcnNlcldlYk06OkluaXRpYWxpemF0aW9uU2VnbWVudCYmIGlu
aXQpIHsKKyAgICAgICAgICAgIGZvciAoYXV0byYgYXVkaW9UcmFjayA6IGluaXQuYXVkaW9UcmFj
a3MpIHsKKyAgICAgICAgICAgICAgICBpZiAoYXVkaW9UcmFjay50cmFjayAmJiBhdWRpb1RyYWNr
LnRyYWNrLT50cmFja1VJRCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uID0gaW5p
dC5kdXJhdGlvbjsKKyAgICAgICAgICAgICAgICAgICAgYXVkaW9UcmFja0lkID0gYXVkaW9UcmFj
ay50cmFjay0+dHJhY2tVSUQoKTsKKyAgICAgICAgICAgICAgICAgICAgaW5pdFNlZ21lbnQgPSBX
VEZNb3ZlKGluaXQpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9KTsKKyAgICAgICAgcGFyc2VyLT5zZXREaWRQ
cm92aWRlTWVkaWFEYXRhQ2FsbGJhY2soWyZdKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUsIHVp
bnQ2NF90IHRyYWNrSUQsIGNvbnN0IFN0cmluZyYpIHsKKyAgICAgICAgICAgIGlmICghYXVkaW9U
cmFja0lkIHx8IHRyYWNrSUQgIT0gKmF1ZGlvVHJhY2tJZCkKKyAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9O
KGlzPE1lZGlhU2FtcGxlQVZGT2JqQz4oc2FtcGxlLmdldCgpKSk7CisgICAgICAgICAgICBzYW1w
bGVzLmFwcGVuZChzdGF0aWNfcmVmZXJlbmNlX2Nhc3Q8TWVkaWFTYW1wbGVBVkZPYmpDPihXVEZN
b3ZlKHNhbXBsZSkpKTsKKyAgICAgICAgfSk7CisgICAgICAgIHBhcnNlci0+c2V0Q2FsbE9uQ2xp
ZW50VGhyZWFkQ2FsbGJhY2soW10oV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rpb24pIHsK
KyAgICAgICAgICAgIGZ1bmN0aW9uKCk7CisgICAgICAgIH0pOworICAgICAgICBWZWN0b3I8dWlu
dDhfdD4gdmVjdG9yKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwgZGF0YVNpemUp
OworICAgICAgICBTb3VyY2VCdWZmZXJQYXJzZXI6OlNlZ21lbnQgc2VnbWVudChXVEZNb3ZlKHZl
Y3RvcikpOworICAgICAgICBwYXJzZXItPmFwcGVuZERhdGEoV1RGTW92ZShzZWdtZW50KSk7Cisg
ICAgICAgIGlmIChhdWRpb1RyYWNrSWQpIHsKKyAgICAgICAgICAgIHBhcnNlci0+Zmx1c2hQZW5k
aW5nQXVkaW9CdWZmZXJzKCk7CisgICAgICAgICAgICBtX3dlYm1EYXRhID0gbWFrZVVuaXF1ZTxB
dWRpb0ZpbGVSZWFkZXJXZWJNRGF0YT4oQXVkaW9GaWxlUmVhZGVyV2ViTURhdGEgeyBXVEZNb3Zl
KGluaXRTZWdtZW50KSwgV1RGTW92ZShkdXJhdGlvbiksIFdURk1vdmUoc2FtcGxlcykgfSk7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgogICAgIGlmIChQQUw6OkF1
ZGlvRmlsZU9wZW5XaXRoQ2FsbGJhY2tzKHRoaXMsIHJlYWRQcm9jLCAwLCBnZXRTaXplUHJvYywg
MCwgMCwgJm1fYXVkaW9GaWxlSUQpICE9IG5vRXJyKQogICAgICAgICByZXR1cm47CiAKQEAgLTEx
MSw2ICsyMDYsMTIgQEAgQXVkaW9GaWxlUmVhZGVyOjp+QXVkaW9GaWxlUmVhZGVyKCkKICAgICBt
X2F1ZGlvRmlsZUlEID0gMDsKIH0KIAorYm9vbCBBdWRpb0ZpbGVSZWFkZXI6OmlzTWF5YmVXZWJN
KGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkgY29uc3QKK3sKKyAgICAvLyBG
cm9tIGh0dHBzOi8vbWltZXNuaWZmLnNwZWMud2hhdHdnLm9yZy8jc2lnbmF0dXJlLWZvci13ZWJt
CisgICAgcmV0dXJuIGRhdGFTaXplID49IDQgJiYgZGF0YVswXSA9PSAweDFBICYmIGRhdGFbMV0g
PT0gMHg0NSAmJiBkYXRhWzJdID09IDB4REYgJiYgZGF0YVszXSA9PSAweEEzOworfQorCiBPU1N0
YXR1cyBBdWRpb0ZpbGVSZWFkZXI6OnJlYWRQcm9jKHZvaWQqIGNsaWVudERhdGEsIFNJbnQ2NCBw
b3NpdGlvbiwgVUludDMyIHJlcXVlc3RDb3VudCwgdm9pZCogYnVmZmVyLCBVSW50MzIqIGFjdHVh
bENvdW50KQogewogICAgIGF1dG8qIGF1ZGlvRmlsZVJlYWRlciA9IHN0YXRpY19jYXN0PEF1ZGlv
RmlsZVJlYWRlcio+KGNsaWVudERhdGEpOwpAQCAtMTM2LDY3ICsyMzcsMTcyIEBAIFNJbnQ2NCBB
dWRpb0ZpbGVSZWFkZXI6OmdldFNpemVQcm9jKHZvaWQqIGNsaWVudERhdGEpCiAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PEF1ZGlvRmlsZVJlYWRlcio+KGNsaWVudERhdGEpLT5kYXRhU2l6ZSgpOwog
fQogCi1SZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNh
bXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQorc3RydWN0IFBhc3N0aHJvdWdoVXNlckRhdGEgewor
ICAgIFVJbnQzMiBtX2NoYW5uZWxzOworICAgIFVJbnQzMiBtX2RhdGFTaXplOworICAgIGNvbnN0
IHZvaWQqIG1fZGF0YTsKKyAgICBVSW50MzIgbV9pbmRleDsKKyAgICBVSW50MzIgbV9udW1QYWNr
ZXRzOworICAgIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24qIG1fcGFja2V0czsKK307CisK
Ky8vIEVycm9yIHZhbHVlIHdlIHBhc3MgdGhyb3VnaCB0aGUgZGVjb2RlciB0byBzaWduYWwgdGhh
dCBub3RoaW5nCisvLyBoYXMgZ29uZSB3cm9uZyBkdXJpbmcgZGVjb2RpbmcgYW5kIHdlJ3JlIGRv
bmUgcHJvY2Vzc2luZyB0aGUgcGFja2V0LgorY29uc3QgdWludDMyX3Qga05vTW9yZURhdGFFcnIg
PSAnTU9BUic7CisKK3N0YXRpYyBPU1N0YXR1cyBwYXNzdGhyb3VnaElucHV0RGF0YUNhbGxiYWNr
KAorICAgIEF1ZGlvQ29udmVydGVyUmVmLCBVSW50MzIqIG51bURhdGFQYWNrZXRzLCBBdWRpb0J1
ZmZlckxpc3QqIGRhdGEsIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24qKiBwYWNrZXREZXNj
LCB2b2lkKiBpblVzZXJEYXRhKQoreworICAgIFBhc3N0aHJvdWdoVXNlckRhdGEqIHVzZXJEYXRh
ID0gKFBhc3N0aHJvdWdoVXNlckRhdGEqKWluVXNlckRhdGE7CisgICAgaWYgKHVzZXJEYXRhLT5t
X2luZGV4ID09IHVzZXJEYXRhLT5tX251bVBhY2tldHMpIHsKKyAgICAgICAgKm51bURhdGFQYWNr
ZXRzID0gMDsKKyAgICAgICAgcmV0dXJuIGtOb01vcmVEYXRhRXJyOworICAgIH0KKworICAgIGlm
IChwYWNrZXREZXNjKSB7CisgICAgICAgIGlmICh1c2VyRGF0YS0+bV9pbmRleCA+PSB1c2VyRGF0
YS0+bV9udW1QYWNrZXRzKSB7CisgICAgICAgICAgICAqbnVtRGF0YVBhY2tldHMgPSAwOworICAg
ICAgICAgICAgcmV0dXJuIGtBdWRpb0NvbnZlcnRlckVycl9SZXF1aXJlc1BhY2tldERlc2NyaXB0
aW9uc0Vycm9yOworICAgICAgICB9CisgICAgICAgICpwYWNrZXREZXNjID0gJnVzZXJEYXRhLT5t
X3BhY2tldHNbdXNlckRhdGEtPm1faW5kZXhdOworICAgIH0KKworICAgIGRhdGEtPm1CdWZmZXJz
WzBdLm1OdW1iZXJDaGFubmVscyA9IHVzZXJEYXRhLT5tX2NoYW5uZWxzOworICAgIGRhdGEtPm1C
dWZmZXJzWzBdLm1EYXRhQnl0ZVNpemUgPSB1c2VyRGF0YS0+bV9kYXRhU2l6ZTsKKyAgICBkYXRh
LT5tQnVmZmVyc1swXS5tRGF0YSA9IGNvbnN0X2Nhc3Q8dm9pZCo+KHVzZXJEYXRhLT5tX2RhdGEp
OworCisgICAgKm51bURhdGFQYWNrZXRzID0gMTsKKyAgICB1c2VyRGF0YS0+bV9pbmRleCsrOwor
CisgICAgcmV0dXJuIG5vRXJyOworfQorCitzc2l6ZV90IEF1ZGlvRmlsZVJlYWRlcjo6bnVtYmVy
T2ZGcmFtZXMoKSBjb25zdAogeworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSAwOwor
CisgICAgaWYgKG1fd2VibURhdGEpIHsKKyAgICAgICAgaWYgKG1fd2VibURhdGEtPm1fc2FtcGxl
cy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgLy8gQ2FsY3Vs
YXRlIHRoZSB0b3RhbCBudW1iZXIgb2YgZGVjb2RlZCBzYW1wbGVzIHRoYXQgd2VyZSBkZW11eGVk
LgorICAgICAgICAvLyBUaGlzIGNvZGUgb25seSBoYW5kbGUgdGhlIENNU2FtcGxlQnVmZmVyIGFz
IGdlbmVyYXRlZCBieSB0aGUgU291cmNlQnVmZmVyUGFyc2VyV2ViTQorICAgICAgICAvLyB3aGVy
ZSBhIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zIGFycmF5IGlzIGFsd2F5cyBwcm92aWRl
ZCBldmVuIHdpdGgKKyAgICAgICAgLy8gQ29uc3RhbnQgYml0cmF0ZSBhbmQgY29uc3RhbnQgZnJh
bWVzLXBlci1wYWNrZXQgYXVkaW8uCisgICAgICAgIGZvciAoYXV0byYgc2FtcGxlIDogbV93ZWJt
RGF0YS0+bV9zYW1wbGVzKSB7CisgICAgICAgICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVC
dWZmZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICAgICAgY29uc3QgQ01Gb3Jt
YXREZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbiA9IFBBTDo6Q01TYW1wbGVCdWZmZXJH
ZXRGb3JtYXREZXNjcmlwdGlvbihzYW1wbGVCdWZmZXIpOworICAgICAgICAgICAgaWYgKCFmb3Jt
YXREZXNjcmlwdGlvbikKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBj
b25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNNQXVk
aW9Gb3JtYXREZXNjcmlwdGlvbkdldFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3Jp
cHRpb24pOworICAgICAgICAgICAgaWYgKCFhc2JkKQorICAgICAgICAgICAgICAgIHJldHVybiAt
MTsKKworICAgICAgICAgICAgc2l6ZV90IHBhY2tldERlc2NyaXB0aW9uc1NpemU7CisgICAgICAg
ICAgICBpZiAoUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRp
b25zKHNhbXBsZUJ1ZmZlciwgMCwgbnVsbHB0ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUpICE9
IG5vRXJyKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIHNpemVfdCBu
dW1EZXNjcmlwdGlvbnMgPSBwYWNrZXREZXNjcmlwdGlvbnNTaXplIC8gc2l6ZW9mKEF1ZGlvU3Ry
ZWFtUGFja2V0RGVzY3JpcHRpb24pOworICAgICAgICAgICAgaWYgKCFudW1EZXNjcmlwdGlvbnMp
CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgYXV0byBkZXNjcmlwdGlv
bnMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPihu
dW1EZXNjcmlwdGlvbnMpOworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRB
dWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIHBhY2tldERlc2NyaXB0
aW9uc1NpemUsIGRlc2NyaXB0aW9ucy5nZXQoKSwgbnVsbHB0cikgIT0gbm9FcnIpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgQ01JdGVtQ291bnQgbnVtUGFja2V0cyA9
IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXROdW1TYW1wbGVzKHNhbXBsZUJ1ZmZlcik7CisgICAgICAg
ICAgICBpZiAobnVtRGVzY3JpcHRpb25zICE9IHNpemVfdChudW1QYWNrZXRzKSkgeworICAgICAg
ICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5oYW5kbGVkIENNU2FtcGxl
QnVmZmVyIHN0cnVjdHVyZSIpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtRGVzY3JpcHRpb25z
OyBpKyspIHsKKyAgICAgICAgICAgICAgICB1aW50MzJfdCBmcHAgPSBkZXNjcmlwdGlvbnNbaV0u
bVZhcmlhYmxlRnJhbWVzSW5QYWNrZXQgPyBkZXNjcmlwdGlvbnNbaV0ubVZhcmlhYmxlRnJhbWVz
SW5QYWNrZXQgOiBhc2JkLT5tRnJhbWVzUGVyUGFja2V0OworICAgICAgICAgICAgICAgIG51bWJl
ck9mRnJhbWVzSW42NCArPSBmcHA7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAg
cmV0dXJuIG51bWJlck9mRnJhbWVzSW42NDsKKyAgICB9CisKICAgICBpZiAoIW1fZXh0QXVkaW9G
aWxlUmVmKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIC0xOwogCi0g
ICAgLy8gR2V0IGZpbGUncyBkYXRhIGZvcm1hdAotICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKG1f
ZmlsZURhdGFGb3JtYXQpOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1f
ZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZz
aXplLCAmbV9maWxlRGF0YUZvcm1hdCkgIT0gbm9FcnIpCi0gICAgICAgIHJldHVybiBudWxscHRy
OworICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKG51bWJlck9mRnJhbWVzSW42NCk7CisgICAgaWYg
KFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRp
b0ZpbGVQcm9wZXJ0eV9GaWxlTGVuZ3RoRnJhbWVzLCAmc2l6ZSwgJm51bWJlck9mRnJhbWVzSW42
NCkgIT0gbm9FcnIgfHwgbnVtYmVyT2ZGcmFtZXNJbjY0IDw9IDApCisgICAgICAgIHJldHVybiAt
MTsKIAotICAgIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzID0gbV9maWxlRGF0YUZvcm1hdC5tQ2hh
bm5lbHNQZXJGcmFtZTsKKyAgICByZXR1cm4gbnVtYmVyT2ZGcmFtZXNJbjY0OworfQogCi0gICAg
Ly8gTnVtYmVyIG9mIGZyYW1lcwotICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lczY0ID0gMDsKLSAg
ICBzaXplID0gc2l6ZW9mKG51bWJlck9mRnJhbWVzNjQpOwotICAgIGlmIChQQUw6OkV4dEF1ZGlv
RmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlf
RmlsZUxlbmd0aEZyYW1lcywgJnNpemUsICZudW1iZXJPZkZyYW1lczY0KSAhPSBub0VyciB8fCBu
dW1iZXJPZkZyYW1lczY0IDw9IDApCi0gICAgICAgIHJldHVybiBudWxscHRyOworc3RkOjpvcHRp
b25hbDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+IEF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURh
dGFGb3JtYXQoKSBjb25zdAoreworICAgIGlmIChtX3dlYm1EYXRhKSB7CisgICAgICAgIGlmICht
X3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsK
KworICAgICAgICBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0gUEFM
OjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKG1fd2VibURhdGEtPm1fc2FtcGxl
c1swXS0+c2FtcGxlQnVmZmVyKCkpOworICAgICAgICBpZiAoIWZvcm1hdERlc2NyaXB0aW9uKQor
ICAgICAgICAgICAgcmV0dXJuIHsgfTsKKworICAgICAgICBjb25zdCBBdWRpb1N0cmVhbUJhc2lj
RGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNNQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkdl
dFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3JpcHRpb24pOworICAgICAgICByZXR1
cm4gKmFzYmQ7CisgICAgfQogCi0gICAgZG91YmxlIGZpbGVTYW1wbGVSYXRlID0gbV9maWxlRGF0
YUZvcm1hdC5tU2FtcGxlUmF0ZTsKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gZm9y
bWF0OworICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKGZvcm1hdCk7CisgICAgaWYgKFBBTDo6RXh0
QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9w
ZXJ0eV9GaWxlRGF0YUZvcm1hdCwgJnNpemUsICZmb3JtYXQpICE9IG5vRXJyKQorICAgICAgICBy
ZXR1cm4geyB9OworICAgIHJldHVybiBmb3JtYXQ7Cit9CiAKK0F1ZGlvU3RyZWFtQmFzaWNEZXNj
cmlwdGlvbiBBdWRpb0ZpbGVSZWFkZXI6OmNsaWVudERhdGFGb3JtYXQoY29uc3QgQXVkaW9TdHJl
YW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwgZmxvYXQgc2FtcGxlUmF0ZSkgY29uc3QKK3sK
ICAgICAvLyBNYWtlIGNsaWVudCBmb3JtYXQgc2FtZSBudW1iZXIgb2YgY2hhbm5lbHMgYXMgZmls
ZSBmb3JtYXQsIGJ1dCB0d2VhayBhIGZldyB0aGluZ3MuCiAgICAgLy8gQ2xpZW50IGZvcm1hdCB3
aWxsIGJlIGxpbmVhciBQQ00gKGNhbm9uaWNhbCksIGFuZCBwb3RlbnRpYWxseSBjaGFuZ2Ugc2Ft
cGxlLXJhdGUuCi0gICAgbV9jbGllbnREYXRhRm9ybWF0ID0gbV9maWxlRGF0YUZvcm1hdDsKKyAg
ICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gb3V0Rm9ybWF0ID0gaW5Gb3JtYXQ7CiAKICAg
ICBjb25zdCBpbnQgYnl0ZXNQZXJGbG9hdCA9IHNpemVvZihGbG9hdDMyKTsKICAgICBjb25zdCBp
bnQgYml0c1BlckJ5dGUgPSA4OwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tRm9ybWF0SUQgPSBr
QXVkaW9Gb3JtYXRMaW5lYXJQQ007Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1Gb3JtYXRGbGFn
cyA9IGtBdWRpb0Zvcm1hdEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQgfCBrQXVkaW9Gb3JtYXRGbGFn
SXNOb25JbnRlcmxlYXZlZDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJ5dGVzUGVyUGFja2V0
ID0gYnl0ZXNQZXJGbG9hdDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUZyYW1lc1BlclBhY2tl
dCA9IDE7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1CeXRlc1BlckZyYW1lID0gYnl0ZXNQZXJG
bG9hdDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUNoYW5uZWxzUGVyRnJhbWUgPSBudW1iZXJP
ZkNoYW5uZWxzOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQml0c1BlckNoYW5uZWwgPSBiaXRz
UGVyQnl0ZSAqIGJ5dGVzUGVyRmxvYXQ7CisgICAgb3V0Rm9ybWF0Lm1Gb3JtYXRJRCA9IGtBdWRp
b0Zvcm1hdExpbmVhclBDTTsKKyAgICBvdXRGb3JtYXQubUZvcm1hdEZsYWdzID0ga0F1ZGlvRm9y
bWF0RmxhZ3NOYXRpdmVGbG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1hdEZsYWdJc05vbkludGVybGVh
dmVkOworICAgIG91dEZvcm1hdC5tQnl0ZXNQZXJQYWNrZXQgPSBvdXRGb3JtYXQubUJ5dGVzUGVy
RnJhbWUgPSBieXRlc1BlckZsb2F0OworICAgIG91dEZvcm1hdC5tRnJhbWVzUGVyUGFja2V0ID0g
MTsKKyAgICBvdXRGb3JtYXQubUJpdHNQZXJDaGFubmVsID0gYml0c1BlckJ5dGUgKiBieXRlc1Bl
ckZsb2F0OwogCiAgICAgaWYgKHNhbXBsZVJhdGUpCi0gICAgICAgIG1fY2xpZW50RGF0YUZvcm1h
dC5tU2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7CisgICAgICAgIG91dEZvcm1hdC5tU2FtcGxlUmF0
ZSA9IHNhbXBsZVJhdGU7CisKKyAgICByZXR1cm4gb3V0Rm9ybWF0OworfQogCi0gICAgaWYgKFBB
TDo6RXh0QXVkaW9GaWxlU2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0Zp
bGVQcm9wZXJ0eV9DbGllbnREYXRhRm9ybWF0LCBzaXplb2YoQXVkaW9TdHJlYW1CYXNpY0Rlc2Ny
aXB0aW9uKSwgJm1fY2xpZW50RGF0YUZvcm1hdCkgIT0gbm9FcnIpCitSZWZQdHI8QXVkaW9CdXM+
IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9N
b25vKQoreworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSBudW1iZXJPZkZyYW1lcygp
OworICAgIGlmIChudW1iZXJPZkZyYW1lc0luNjQgPD0gMCkKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAKLSAgICAvLyBDaGFuZ2UgbnVtYmVyT2ZGcmFtZXM2NCB0byBkZXN0aW5hdGlvbiBzYW1w
bGUtcmF0ZQotICAgIG51bWJlck9mRnJhbWVzNjQgPSBudW1iZXJPZkZyYW1lczY0ICogKG1fY2xp
ZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVSYXRlKTsKLSAgICBzaXplX3Qg
bnVtYmVyT2ZGcmFtZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51bWJlck9mRnJhbWVzNjQpOwor
ICAgIGF1dG8gaW5Gb3JtYXQgPSBmaWxlRGF0YUZvcm1hdCgpOworICAgIGlmICghaW5Gb3JtYXQp
CisgICAgICAgIHJldHVybiBudWxscHRyOwogCisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0
aW9uIG91dEZvcm1hdCA9IGNsaWVudERhdGFGb3JtYXQoKmluRm9ybWF0LCBzYW1wbGVSYXRlKTsK
KyAgICBzaXplX3QgbnVtYmVyT2ZDaGFubmVscyA9IGluRm9ybWF0LT5tQ2hhbm5lbHNQZXJGcmFt
ZTsKKyAgICBkb3VibGUgZmlsZVNhbXBsZVJhdGUgPSBpbkZvcm1hdC0+bVNhbXBsZVJhdGU7Cisg
ICAgU0ludDY0IG51bWJlck9mRnJhbWVzT3V0NjQgPSBudW1iZXJPZkZyYW1lc0luNjQgKiAob3V0
Rm9ybWF0Lm1TYW1wbGVSYXRlIC8gZmlsZVNhbXBsZVJhdGUpOworICAgIHNpemVfdCBudW1iZXJP
ZkZyYW1lcyA9IHN0YXRpY19jYXN0PHNpemVfdD4obnVtYmVyT2ZGcmFtZXNPdXQ2NCk7CiAgICAg
c2l6ZV90IGJ1c0NoYW5uZWxDb3VudCA9IG1peFRvTW9ubyA/IDEgOiBudW1iZXJPZkNoYW5uZWxz
OwogCiAgICAgLy8gQ3JlYXRlIEF1ZGlvQnVzIHdoZXJlIHdlJ2xsIHB1dCB0aGUgUENNIGF1ZGlv
IGRhdGEKICAgICBhdXRvIGF1ZGlvQnVzID0gQXVkaW9CdXM6OmNyZWF0ZShidXNDaGFubmVsQ291
bnQsIG51bWJlck9mRnJhbWVzKTsKLSAgICBhdWRpb0J1cy0+c2V0U2FtcGxlUmF0ZShuYXJyb3dQ
cmVjaXNpb25Ub0Zsb2F0KG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSkpOyAvLyBzYXZl
IGZvciBsYXRlcgotCi0gICAgLy8gT25seSBhbGxvY2F0ZWQgaW4gdGhlIG1peFRvTW9ubyBjYXNl
OyBkZWFsbG9jYXRlZCBvbiBkZXN0cnVjdGlvbi4KLSAgICBBdWRpb0Zsb2F0QXJyYXkgbGVmdENo
YW5uZWw7Ci0gICAgQXVkaW9GbG9hdEFycmF5IHJpZ2h0Q2hhbm5lbDsKKyAgICBhdWRpb0J1cy0+
c2V0U2FtcGxlUmF0ZShuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KG91dEZvcm1hdC5tU2FtcGxlUmF0
ZSkpOyAvLyBzYXZlIGZvciBsYXRlcgogCi0gICAgQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0
ID0gdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOworICAgIEF1ZGlv
QnVmZmVyTGlzdEhvbGRlciBidWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmICgh
YnVmZmVyTGlzdCkgewogICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgInRyeUNy
ZWF0ZUF1ZGlvQnVmZmVyTGlzdCglbGQpIHJldHVybmVkIG51bGwiLCBudW1iZXJPZkNoYW5uZWxz
KTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogICAgIGNvbnN0IHNpemVfdCBidWZm
ZXJTaXplID0gbnVtYmVyT2ZGcmFtZXMgKiBzaXplb2YoZmxvYXQpOwogCisgICAgLy8gT25seSBh
bGxvY2F0ZWQgaW4gdGhlIG1peFRvTW9ubyBjYXNlOyBkZWFsbG9jYXRlZCBvbiBkZXN0cnVjdGlv
bi4KKyAgICBBdWRpb0Zsb2F0QXJyYXkgbGVmdENoYW5uZWw7CisgICAgQXVkaW9GbG9hdEFycmF5
IHJpZ2h0Q2hhbm5lbDsKKwogICAgIFJFTEVBU0VfQVNTRVJUKGJ1ZmZlckxpc3QtPm1OdW1iZXJC
dWZmZXJzID09IG51bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmIChtaXhUb01vbm8gJiYgbnVtYmVy
T2ZDaGFubmVscyA9PSAyKSB7CiAgICAgICAgIGxlZnRDaGFubmVsLnJlc2l6ZShudW1iZXJPZkZy
YW1lcyk7CkBAIC0yMjIsMTggKzQyOCw4NyBAQCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJl
YWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQogICAgICAg
ICB9CiAgICAgfQogCi0gICAgaWYgKCF2YWxpZGF0ZUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0
KSkgeworICAgIGlmICghYnVmZmVyTGlzdC5pc1ZhbGlkKCkpIHsKICAgICAgICAgUkVMRUFTRV9M
T0dfRkFVTFQoV2ViQXVkaW8sICJHZW5lcmF0ZWQgYnVmZmVyIGluIEF1ZGlvRmlsZVJlYWRlcjo6
Y3JlYXRlQnVzKCkgZGlkIG5vdCBwYXNzIHZhbGlkYXRpb24iKTsKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIC8vIFJlYWQgZnJvbSB0aGUg
ZmlsZSAob3IgaW4tbWVtb3J5IHZlcnNpb24pCi0gICAgVUludDMyIGZyYW1lc1RvUmVhZCA9IG51
bWJlck9mRnJhbWVzOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVJlYWQobV9leHRBdWRpb0Zp
bGVSZWYsICZmcmFtZXNUb1JlYWQsIGJ1ZmZlckxpc3QpICE9IG5vRXJyKSB7Ci0gICAgICAgIGRl
c3Ryb3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7Ci0gICAgICAgIHJldHVybiBudWxscHRy
OworICAgIGlmIChtX3dlYm1EYXRhKSB7CisgICAgICAgIEF1ZGlvQ29udmVydGVyUmVmIGNvbnZl
cnRlcjsKKyAgICAgICAgaWYgKFBBTDo6QXVkaW9Db252ZXJ0ZXJOZXcoJippbkZvcm1hdCwgJm91
dEZvcm1hdCwgJmNvbnZlcnRlcikgIT0gbm9FcnIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICAgICAgYXV0byBjbGVhbnVwID0gbWFrZVNjb3BlRXhpdChbJl0geworICAgICAgICAg
ICAgUEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bvc2UoY29udmVydGVyKTsKKyAgICAgICAgfSk7Cisg
ICAgICAgIENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0RGVzY3JpcHRpb24gPSBQQUw6OkNN
U2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24obV93ZWJtRGF0YS0+bV9zYW1wbGVzWzBd
LT5zYW1wbGVCdWZmZXIoKSk7CisgICAgICAgIHNpemVfdCBtYWdpY0Nvb2tpZVNpemUgPSAwOwor
ICAgICAgICBjb25zdCB2b2lkKiBtYWdpY0Nvb2tpZSA9IFBBTDo6Q01BdWRpb0Zvcm1hdERlc2Ny
aXB0aW9uR2V0TWFnaWNDb29raWUoZm9ybWF0RGVzY3JpcHRpb24sICZtYWdpY0Nvb2tpZVNpemUp
OworICAgICAgICBpZiAobWFnaWNDb29raWUgJiYgbWFnaWNDb29raWVTaXplKQorICAgICAgICAg
ICAgUEFMOjpBdWRpb0NvbnZlcnRlclNldFByb3BlcnR5KGNvbnZlcnRlciwga0F1ZGlvQ29udmVy
dGVyRGVjb21wcmVzc2lvbk1hZ2ljQ29va2llLCBtYWdpY0Nvb2tpZVNpemUsIG1hZ2ljQ29va2ll
KTsKKworICAgICAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgZGVjb2RlZEJ1ZmZlckxpc3QobnVt
YmVyT2ZDaGFubmVscyk7CisgICAgICAgIGlmICghZGVjb2RlZEJ1ZmZlckxpc3QpCisgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBzaXplX3QgZGVjb2RlZEZyYW1lcyA9IDA7
CisgICAgICAgIE9TU3RhdHVzIHN0YXR1czsKKyAgICAgICAgZm9yIChhdXRvJiBzYW1wbGUgOiBt
X3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgICAgIENNU2FtcGxlQnVmZmVyUmVmIHNh
bXBsZUJ1ZmZlciA9IHNhbXBsZS0+c2FtcGxlQnVmZmVyKCk7CisgICAgICAgICAgICBhdXRvIGJ1
ZmZlciA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyKHNhbXBsZUJ1ZmZlcik7Cisg
ICAgICAgICAgICBBU1NFUlQoUEFMOjpDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMoYnVm
ZmVyLCAwLCAwKSk7CisgICAgICAgICAgICBpZiAoIVBBTDo6Q01CbG9ja0J1ZmZlcklzUmFuZ2VD
b250aWd1b3VzKGJ1ZmZlciwgMCwgMCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisKKyAgICAgICAgICAgIHNpemVfdCBzcmNTaXplID0gUEFMOjpDTUJsb2NrQnVmZmVyR2V0RGF0
YUxlbmd0aChidWZmZXIpOworICAgICAgICAgICAgY2hhciogc3JjRGF0YSA9IG51bGxwdHI7Cisg
ICAgICAgICAgICBpZiAoUEFMOjpDTUJsb2NrQnVmZmVyR2V0RGF0YVBvaW50ZXIoYnVmZmVyLCAw
LCBudWxscHRyLCBudWxscHRyLCAmc3JjRGF0YSkgIT0gbm9FcnIpCisgICAgICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAgIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNT
aXplOworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBh
Y2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIDAsIG51bGxwdHIsICZwYWNrZXREZXNjcmlw
dGlvbnNTaXplKSAhPSBub0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICAgICAgICAgIHNpemVfdCBudW1EZXNjcmlwdGlvbnMgPSBwYWNrZXREZXNjcmlwdGlvbnNTaXpl
IC8gc2l6ZW9mKEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24pOworICAgICAgICAgICAgaWYg
KCFudW1EZXNjcmlwdGlvbnMpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAg
ICAgICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IFdURjo6bWFrZVVuaXF1ZUFycmF5PEF1ZGlvU3Ry
ZWFtUGFja2V0RGVzY3JpcHRpb24+KG51bURlc2NyaXB0aW9ucyk7CisgICAgICAgICAgICBpZiAo
UEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBs
ZUJ1ZmZlciwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3JpcHRpb25zLmdldCgpLCBudWxs
cHRyKSAhPSBub0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAg
ICAgIFBhc3N0aHJvdWdoVXNlckRhdGEgdXNlckRhdGEgPSB7IFVJbnQzMihudW1iZXJPZkNoYW5u
ZWxzKSwgVUludDMyKHNyY1NpemUpLCBzcmNEYXRhLCAwLCBVSW50MzIobnVtRGVzY3JpcHRpb25z
KSwgZGVzY3JpcHRpb25zLmdldCgpIH07CisKKyAgICAgICAgICAgIGRvIHsKKyAgICAgICAgICAg
ICAgICBpZiAobnVtYmVyT2ZGcmFtZXMgPCBkZWNvZGVkRnJhbWVzKSB7CisgICAgICAgICAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiRGVjb2RlZCBtb3JlIGZyYW1lcyB0
aGFuIGZpcnN0IGNhbGN1bGF0ZWQiKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIC8vIGluOiB0aGUgbWF4IG51
bWJlciBvZiBwYWNrZXRzIHdlIGNhbiBoYW5kbGUgZnJvbSB0aGUgZGVjb2Rlci4KKyAgICAgICAg
ICAgICAgICAvLyBvdXQ6IHRoZSBudW1iZXIgb2YgcGFja2V0cyB0aGUgZGVjb2RlciBpcyBhY3R1
YWxseSByZXR1cm5pbmcuCisgICAgICAgICAgICAgICAgVUludDMyIG51bUZyYW1lcyA9IHN0ZDo6
bWluPHVpbnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptYXgoKSAvIHNpemVv
ZihmbG9hdCksIG51bWJlck9mRnJhbWVzIC0gZGVjb2RlZEZyYW1lcyk7CisKKyAgICAgICAgICAg
ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bWJlck9mQ2hhbm5lbHM7IGkrKykgeworICAg
ICAgICAgICAgICAgICAgICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubU51bWJlckNo
YW5uZWxzID0gMTsKKyAgICAgICAgICAgICAgICAgICAgZGVjb2RlZEJ1ZmZlckxpc3QtPm1CdWZm
ZXJzW2ldLm1EYXRhQnl0ZVNpemUgPSBudW1GcmFtZXMgKiBzaXplb2YoZmxvYXQpOworICAgICAg
ICAgICAgICAgICAgICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGEgPSBzdGF0
aWNfY2FzdDxmbG9hdCo+KGJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1EYXRhKSArIGRlY29kZWRG
cmFtZXM7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHN0YXR1cyA9IFBBTDo6
QXVkaW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlcihjb252ZXJ0ZXIsIHBhc3N0aHJvdWdoSW5w
dXREYXRhQ2FsbGJhY2ssICZ1c2VyRGF0YSwgJm51bUZyYW1lcywgKmRlY29kZWRCdWZmZXJMaXN0
LCBudWxscHRyKTsKKyAgICAgICAgICAgICAgICBpZiAoc3RhdHVzICYmIHN0YXR1cyAhPSBrTm9N
b3JlRGF0YUVycikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAg
ICAgICAgICAgZGVjb2RlZEZyYW1lcyArPSBudW1GcmFtZXM7CisgICAgICAgICAgICB9IHdoaWxl
IChzdGF0dXMgIT0ga05vTW9yZURhdGFFcnIpOworICAgICAgICB9CisKKyAgICAgICAgLy8gVGhl
IGFjdHVhbCBkZWNvZGVkIG51bWJlciBvZiBmcmFtZXMgbWF5IG5vdCBtYXRjaCB0aGUgbnVtYmVy
IG9mIGZyYW1lcyBjYWxjdWxhdGVkCisgICAgICAgIC8vIHdoaWxlIGRlbXV4aW5nLiBJdCB3aWxs
IGFsd2F5cyBiZSBsb3dlci4KKyAgICAgICAgYXVkaW9CdXMtPnNldExlbmd0aChkZWNvZGVkRnJh
bWVzKTsKKyAgICAgICAgbnVtYmVyT2ZGcmFtZXMgPSBkZWNvZGVkRnJhbWVzOworICAgIH0gZWxz
ZSB7CisgICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFByb3BlcnR5KG1fZXh0QXVkaW9G
aWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0YUZvcm1hdCwgc2l6ZW9mKEF1
ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksICZvdXRGb3JtYXQpICE9IG5vRXJyKQorICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgLy8gUmVhZCBmcm9tIHRoZSBmaWxlIChv
ciBpbi1tZW1vcnkgdmVyc2lvbikKKyAgICAgICAgVUludDMyIGZyYW1lc1RvUmVhZCA9IG51bWJl
ck9mRnJhbWVzOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVSZWFkKG1fZXh0QXVkaW9G
aWxlUmVmLCAmZnJhbWVzVG9SZWFkLCAqYnVmZmVyTGlzdCkgIT0gbm9FcnIpCisgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAobWl4VG9Nb25vICYmIG51bWJlck9m
Q2hhbm5lbHMgPT0gMikgewpAQCAtMjQzLDkgKzUxOCw2IEBAIFJlZlB0cjxBdWRpb0J1cz4gQXVk
aW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8p
CiAgICAgICAgICAgICBkZXN0TFtpXSA9IDAuNWYgKiAobGVmdENoYW5uZWxbaV0gKyByaWdodENo
YW5uZWxbaV0pOwogICAgIH0KIAotICAgIC8vIENsZWFudXAKLSAgICBkZXN0cm95QXVkaW9CdWZm
ZXJMaXN0KGJ1ZmZlckxpc3QpOwotCiAgICAgcmV0dXJuIGF1ZGlvQnVzOwogfQogCkBAIC0yNTUs
NiArNTI3LDEzIEBAIFJlZlB0cjxBdWRpb0J1cz4gY3JlYXRlQnVzRnJvbUluTWVtb3J5QXVkaW9G
aWxlKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6CiAgICAgcmV0dXJuIHJlYWRlci5j
cmVhdGVCdXMoc2FtcGxlUmF0ZSwgbWl4VG9Nb25vKTsKIH0KIAorI2lmICFSRUxFQVNFX0xPR19E
SVNBQkxFRAorV1RGTG9nQ2hhbm5lbCYgQXVkaW9GaWxlUmVhZGVyOjpsb2dDaGFubmVsKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gTG9nTWVkaWE7Cit9CisjZW5kaWYKKwogfSAvLyBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVRElPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmgKaW5kZXggMGJi
YmJhMjc4NTdkOTc5ZWNjNjg4Zjg3ZjAzMzlmNjY1ZWY0MjUyOS4uZjYxNzMzNzllMDEzNGExZGE1
YjM4MjM4ZWQzOGE1YWEyMmM5ZDkzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oCkBAIC0zMiw2ICsz
Miw4IEBACiAjaWYgRU5BQkxFKFdFQl9BVURJTykKIAogI2luY2x1ZGUgPENvcmVBdWRpby9Db3Jl
QXVkaW9UeXBlcy5oPgorI2luY2x1ZGUgPG9wdGlvbmFsPgorI2luY2x1ZGUgPHd0Zi9Mb2dnZXJI
ZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIHVzaW5nIEV4dEF1ZGlvRmlsZVJl
ZiA9IHN0cnVjdCBPcGFxdWVFeHRBdWRpb0ZpbGUqOwpAQCAtNDAsMTIgKzQyLDE4IEBAIHVzaW5n
IEF1ZGlvRmlsZUlEID0gc3RydWN0IE9wYXF1ZUF1ZGlvRmlsZUlEKjsKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgQXVkaW9CdXM7CitjbGFzcyBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOwor
Y2xhc3MgQXVkaW9GaWxlUmVhZGVyV2ViTURhdGE7CiAKIC8vIFdyYXBwZXIgY2xhc3MgZm9yIEF1
ZGlvRmlsZSBhbmQgRXh0QXVkaW9GaWxlIENvcmVBdWRpbyBBUElzIGZvciByZWFkaW5nIGZpbGVz
IGFuZCBpbi1tZW1vcnkgdmVyc2lvbnMgb2YgdGhlbS4uLgogCi1jbGFzcyBBdWRpb0ZpbGVSZWFk
ZXIgeworY2xhc3MgQXVkaW9GaWxlUmVhZGVyCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisg
ICAgOiBwdWJsaWMgTG9nZ2VySGVscGVyCisjZW5kaWYKK3sKIHB1YmxpYzoKLSAgICBleHBsaWNp
dCBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKTsKKyAg
ICBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKTsKICAg
ICB+QXVkaW9GaWxlUmVhZGVyKCk7CiAKICAgICBSZWZQdHI8QXVkaW9CdXM+IGNyZWF0ZUJ1cyhm
bG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRvTW9ubyk7IC8vIFJldHVybnMgbnVsbHB0ciBvbiBl
cnJvcgpAQCAtNTMsOSArNjEsMjAgQEAgcHVibGljOgogICAgIGNvbnN0IHZvaWQqIGRhdGEoKSBj
b25zdCB7IHJldHVybiBtX2RhdGE7IH0KICAgICBzaXplX3QgZGF0YVNpemUoKSBjb25zdCB7IHJl
dHVybiBtX2RhdGFTaXplOyB9CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBjb25z
dCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9
CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
bG9nSWRlbnRpZmllcjsgfQorICAgIFdURkxvZ0NoYW5uZWwmIGxvZ0NoYW5uZWwoKSBjb25zdCBm
aW5hbDsKKyAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBmaW5hbCB7IHJldHVy
biAiQXVkaW9GaWxlUmVhZGVyQ29jb2EiOyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBzdGF0
aWMgT1NTdGF0dXMgcmVhZFByb2Modm9pZCogY2xpZW50RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBV
SW50MzIgcmVxdWVzdENvdW50LCB2b2lkKiBidWZmZXIsIFVJbnQzMiogYWN0dWFsQ291bnQpOwog
ICAgIHN0YXRpYyBTSW50NjQgZ2V0U2l6ZVByb2Modm9pZCogY2xpZW50RGF0YSk7CisgICAgYm9v
bCBpc01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUpIGNvbnN0
OworICAgIHNzaXplX3QgbnVtYmVyT2ZGcmFtZXMoKSBjb25zdDsKKyAgICBzdGQ6Om9wdGlvbmFs
PEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gZmlsZURhdGFGb3JtYXQoKSBjb25zdDsKKyAg
ICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gY2xpZW50RGF0YUZvcm1hdChjb25zdCBBdWRp
b1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9ybWF0LCBmbG9hdCBzYW1wbGVSYXRlKSBjb25z
dDsKIAogICAgIGNvbnN0IHZvaWQqIG1fZGF0YSA9IHsgbnVsbHB0ciB9OwogICAgIHNpemVfdCBt
X2RhdGFTaXplID0geyAwIH07CkBAIC02Myw4ICs4MiwxMyBAQCBwcml2YXRlOgogICAgIEF1ZGlv
RmlsZUlEIG1fYXVkaW9GaWxlSUQgPSB7IG51bGxwdHIgfTsKICAgICBFeHRBdWRpb0ZpbGVSZWYg
bV9leHRBdWRpb0ZpbGVSZWYgPSB7IG51bGxwdHIgfTsKIAotICAgIEF1ZGlvU3RyZWFtQmFzaWNE
ZXNjcmlwdGlvbiBtX2ZpbGVEYXRhRm9ybWF0OwotICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlw
dGlvbiBtX2NsaWVudERhdGFGb3JtYXQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvRmlsZVJl
YWRlcldlYk1EYXRhPiBtX3dlYm1EYXRhOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisg
ICAgY29uc3QgUmVmPExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVu
dGlmaWVyOworI2VuZGlmCisKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKaW5kZXggYTFl
NzFiZDUyMjMyMjQyNTcxNmM2YjllNWFjZWQwNmU1NTgyOTMzYS4uNmFlM2I1Y2QxZjJlZmQ2MjM5
ZmIzNGQwMTNhNTg3NzZmNDE4YzZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKQEAgLTMzLDcg
KzMzLDYgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3BhcXVlQ01G
b3JtYXREZXNjcmlwdGlvbiAqQ01Gb3JtYXREZXNjcmlwdGlvblJlZjsKIHR5cGVkZWYgc3RydWN0
IG9wYXF1ZUNNU2FtcGxlQnVmZmVyICpDTVNhbXBsZUJ1ZmZlclJlZjsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2Ev
QXVkaW9TYW1wbGVEYXRhU291cmNlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
Y29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCmluZGV4IGQyYjVhYzQ1ZjMwZmQ0YTNhZjUx
YjQyMGRlMzc2NDliMTE1MWMyMjcuLjcwZGMyNDg0YTVlZDY2ODg5ZmNhMzNlZTI5MWVjMTA2YTVm
OWY5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1
ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KQEAgLTM5LDYgKzM5LDcgQEAKICNpbXBv
cnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KIAor
I2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CiAjaW1wb3J0IDxwYWwvY2Yv
Q29yZU1lZGlhU29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjcsNyArNjgs
NyBAQCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OkF1ZGlvU2FtcGxlRGF0YVNvdXJjZShzaXplX3Qg
bWF4aW11bVNhbXBsZUNvdW50LCBMb2dnZXJIZQogQXVkaW9TYW1wbGVEYXRhU291cmNlOjp+QXVk
aW9TYW1wbGVEYXRhU291cmNlKCkKIHsKICAgICBpZiAobV9jb252ZXJ0ZXIpCi0gICAgICAgIEF1
ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CisgICAgICAgIFBBTDo6QXVkaW9Db252
ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKIH0KIAogT1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRh
U291cmNlOjpzZXR1cENvbnZlcnRlcigpCkBAIC03NSwxNCArNzYsMTQgQEAgT1NTdGF0dXMgQXVk
aW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCiAgICAgQVNTRVJUKG1faW5wdXRE
ZXNjcmlwdGlvbiAmJiBtX291dHB1dERlc2NyaXB0aW9uKTsKIAogICAgIGlmIChtX2NvbnZlcnRl
cikgewotICAgICAgICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOworICAgICAg
ICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CiAgICAgICAgIG1fY29u
dmVydGVyID0gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAoKm1faW5wdXREZXNjcmlwdGlvbiA9
PSAqbV9vdXRwdXREZXNjcmlwdGlvbikKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBPU1N0YXR1
cyBlcnIgPSBBdWRpb0NvbnZlcnRlck5ldygmbV9pbnB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNj
cmlwdGlvbigpLCAmbV9vdXRwdXREZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1f
Y29udmVydGVyKTsKKyAgICBPU1N0YXR1cyBlcnIgPSBQQUw6OkF1ZGlvQ29udmVydGVyTmV3KCZt
X2lucHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0aW9uKCksICZtX291dHB1dERlc2NyaXB0
aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9jb252ZXJ0ZXIpOwogICAgIGlmIChlcnIpIHsK
ICAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0g
bWFrZVJlZlB0cigqdGhpcyksIGVycl0gewogICAgICAgICAgICAgRVJST1JfTE9HKCJBdWRpb0Nv
bnZlcnRlck5ldyByZXR1cm5lZCBlcnJvciAiLCBlcnIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tCmluZGV4
IGUzZDZmYWM3MDQzNjk2ZmM3ZWUyYTkyMTVkYjIxYThmN2RmODI1YTUuLmEzMmRmNjIwNDhkMzJk
N2IxMzRkYmY1NmRhMDA3YjcwZWMyNDczZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW0KQEAgLTI4LDYg
KzI4LDcgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKSAmJiBQTEFURk9STShNQUMpCiAKKyNpbXBv
cnQgIkdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLmgiCiAjaW1wb3J0ICJHYW1lcGFkUHJv
dmlkZXJDbGllbnQuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIlBsYXRmb3JtR2Ft
ZXBhZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJh
Y2tQcml2YXRlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFj
a1ByaXZhdGVCYXNlLmNwcAppbmRleCA0ZDhlZTYyZTAxYjhlYWViYWNjNmQyOGIzYTA5ODUyOTUy
YzVkODBhLi5jMDY2YzJkNDg3OTdhNGFhYjNiOWJlMmEwZWRkNGQ4MzhiNGJmNWMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNl
LmNwcApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShWSURFTykKIAogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaAppbmRl
eCBkMDNjZGM4ZGQ2MjU0MTYwOTlhNTM3MTM1ZWUxMWVjOTEwNzM2YTAyLi5jY2Y5MGFmOGU0ODIx
NGY2NzEwZGM5NDdiMTA5MDI0MmIwM2Q0ZGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVNhbXBsZUFWRk9iakMuaApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIFBpeGVsQnVmZmVyOwogCi1jbGFzcyBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBs
ZUFWRk9iakMgOiBwdWJsaWMgTWVkaWFTYW1wbGUgeworY2xhc3MgTWVkaWFTYW1wbGVBVkZPYmpD
IDogcHVibGljIE1lZGlhU2FtcGxlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPE1lZGlhU2Ft
cGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0X3QgdHJh
Y2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0
cmFja0lEKSk7IH0KICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlKENN
U2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lEKSB7IHJldHVybiBhZG9w
dFJlZigqbmV3IE1lZGlhU2FtcGxlQVZGT2JqQyhzYW1wbGUsIHRyYWNrSUQpKTsgfQpAQCAtNDQs
NyArNDQsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0QXNE
aXNwbGF5SW1tZWRpYXRlbHkoTWVkaWFTYW1wbGUmKTsKICAgICBzdGF0aWMgUmV0YWluUHRyPENN
U2FtcGxlQnVmZmVyUmVmPiBjbG9uZVNhbXBsZUJ1ZmZlckFuZFNldEFzRGlzcGxheUltbWVkaWF0
ZWx5KENNU2FtcGxlQnVmZmVyUmVmKTsKIAotICAgIFJlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFy
cmF5PiBnZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBP
UlQgUmVmUHRyPEpTQzo6VWludDhDbGFtcGVkQXJyYXk+IGdldFJHQkFJbWFnZURhdGEoKSBjb25z
dCBvdmVycmlkZTsKIAogICAgIE1lZGlhVGltZSBwcmVzZW50YXRpb25UaW1lKCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgTWVkaWFUaW1lIGRlY29kZVRpbWUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTU5
LDE2ICs1OSwxNiBAQCBwdWJsaWM6CiAgICAgU2FtcGxlRmxhZ3MgZmxhZ3MoKSBjb25zdCBvdmVy
cmlkZTsKICAgICBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBsZSgpIG92ZXJyaWRlOwogICAg
IHN0ZDo6b3B0aW9uYWw8Qnl0ZVJhbmdlPiBieXRlUmFuZ2UoKSBjb25zdCBvdmVycmlkZTsKLSAg
ICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIG9m
ZnNldFRpbWVzdGFtcHNCeShjb25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZTsKICAgICB2b2lkIHNl
dFRpbWVzdGFtcHMoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7
Ci0gICAgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHN0ZDo6cGFpcjxS
ZWZQdHI8TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBkaXZpZGUoY29uc3QgTWVk
aWFUaW1lJiBwcmVzZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBvdmVycmlkZTsKLSAgICBSZWY8
TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRlOworICAg
IFdFQkNPUkVfRVhQT1JUIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVk
aWFTYW1wbGU+PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVzZW50YXRpb25UaW1lLCBVc2VF
bmRUaW1lKSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBSZWY8TWVkaWFTYW1wbGU+IGNy
ZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBWaWRlb1JvdGF0
aW9uIHZpZGVvUm90YXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3JvdGF0aW9uOyB9
CiAgICAgYm9vbCB2aWRlb01pcnJvcmVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9taXJy
b3JlZDsgfQotICAgIHVpbnQzMl90IHZpZGVvUGl4ZWxGb3JtYXQoKSBjb25zdCBmaW5hbDsKKyAg
ICBXRUJDT1JFX0VYUE9SVCB1aW50MzJfdCB2aWRlb1BpeGVsRm9ybWF0KCkgY29uc3QgZmluYWw7
CiAKICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIoKSBjb25zdCB7IHJldHVybiBt
X3NhbXBsZS5nZXQoKTsgfQogCkBAIC03NywzNSArNzcsMTggQEAgcHVibGljOgogCiAgICAgdm9p
ZCBzZXRCeXRlUmFuZ2VPZmZzZXQoc2l6ZV90KTsKIAorICAgIGJvb2wgaXNNZWRpYVNhbXBsZUFW
Rk9iakMoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlO30KKwogcHJvdGVjdGVkOgotICAgIE1l
ZGlhU2FtcGxlQVZGT2JqQyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+JiYgc2FtcGxlKQot
ICAgICAgICA6IG1fc2FtcGxlKFdURk1vdmUoc2FtcGxlKSkKLSAgICB7Ci0gICAgfQotICAgIE1l
ZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUpCi0gICAgICAgIDogbV9z
YW1wbGUoc2FtcGxlKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2Ft
cGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lEKQotICAgICAgICA6IG1fc2Ft
cGxlKHNhbXBsZSkKLSAgICAgICAgLCBtX2lkKHRyYWNrSUQpCi0gICAgewotICAgIH0KLSAgICBN
ZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCB1aW50NjRfdCB0cmFj
a0lEKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAgICAgLCBtX2lkKEF0b21TdHJp
bmc6Om51bWJlcih0cmFja0lEKSkKLSAgICB7Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2Jq
QyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIFZpZGVvUm90YXRpb24gcm90YXRpb24sIGJvb2wg
bWlycm9yZWQpCi0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgICAgICAsIG1fcm90YXRp
b24ocm90YXRpb24pCi0gICAgICAgICwgbV9taXJyb3JlZChtaXJyb3JlZCkKLSAgICB7Ci0gICAg
fQorICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhSZXRhaW5QdHI8Q01TYW1w
bGVCdWZmZXJSZWY+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhD
TVNhbXBsZUJ1ZmZlclJlZik7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpD
KENNU2FtcGxlQnVmZmVyUmVmLCBBdG9tU3RyaW5nIHRyYWNrSUQpOworICAgIFdFQkNPUkVfRVhQ
T1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiwgdWludDY0X3QgdHJhY2tJ
RCk7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVy
UmVmLCBWaWRlb1JvdGF0aW9uLCBib29sIG1pcnJvcmVkKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2
aXJ0dWFsIH5NZWRpYVNhbXBsZUFWRk9iakMoKTsKIAogICAgIHN0ZDo6b3B0aW9uYWw8TWVkaWFT
YW1wbGU6OkJ5dGVSYW5nZT4gYnl0ZVJhbmdlRm9yQXR0YWNobWVudChDRlN0cmluZ1JlZiBrZXkp
IGNvbnN0OwogCi0gICAgdmlydHVhbCB+TWVkaWFTYW1wbGVBVkZPYmpDKCkgPSBkZWZhdWx0Owog
ICAgIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gbV9zYW1wbGU7CiAgICAgQXRvbVN0cmlu
ZyBtX2lkOwogICAgIFZpZGVvUm90YXRpb24gbV9yb3RhdGlvbiB7IFZpZGVvUm90YXRpb246Ok5v
bmUgfTsKQEAgLTExNCwzICs5Nyw2IEBAIHByb3RlY3RlZDoKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6Ok1lZGlhU2FtcGxl
QVZGT2JqQykKK3N0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpNZWRpYVNhbXBsZSYg
c2FtcGxlKSB7IHJldHVybiBzYW1wbGUuaXNNZWRpYVNhbXBsZUFWRk9iakMoKTsgfQorU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1w
bGVBVkZPYmpDLm1tCmluZGV4IGMwZjEzZDZlYTVjOTc1NzY3Y2U4ZjYyYWI2ODQyZDdkNmYwZmJi
NmIuLmNmM2MzNDEwYTM4YWRlYzQ5NTdjOTcxNDJiMzI0MjI0ZDVhZmQ4MTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
U2FtcGxlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0KQEAgLTQ1LDYgKzQ1LDMzIEBA
IHN0cnVjdCBXVEY6OkNGVHlwZVRyYWl0PENNU2FtcGxlQnVmZmVyUmVmPiB7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoUmV0
YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmIHNhbXBsZSkKKyAgICA6IG1fc2FtcGxlKFdURk1v
dmUoc2FtcGxlKSkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpD
KENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSkKKyAgICA6IG1fc2FtcGxlKHNhbXBsZSkKK3sKK30K
K01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVm
IHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lEKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQorICAg
ICwgbV9pZCh0cmFja0lEKQoreworfQorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFW
Rk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCB1aW50NjRfdCB0cmFja0lEKQorICAgIDog
bV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9pZChBdG9tU3RyaW5nOjpudW1iZXIodHJhY2tJRCkp
Cit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1
ZmZlclJlZiBzYW1wbGUsIFZpZGVvUm90YXRpb24gcm90YXRpb24sIGJvb2wgbWlycm9yZWQpCisg
ICAgOiBtX3NhbXBsZShzYW1wbGUpCisgICAgLCBtX3JvdGF0aW9uKHJvdGF0aW9uKQorICAgICwg
bV9taXJyb3JlZChtaXJyb3JlZCkKK3sKK30KKworTWVkaWFTYW1wbGVBVkZPYmpDOjp+TWVkaWFT
YW1wbGVBVkZPYmpDKCkgPSBkZWZhdWx0OworCiBSZWZQdHI8TWVkaWFTYW1wbGVBVkZPYmpDPiBN
ZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUltYWdlU2FtcGxlKFBpeGVsQnVmZmVyJiYgcGl4ZWxC
dWZmZXIpCiB7CiAgICAgYXV0byBzaXplID0gcGl4ZWxCdWZmZXIuc2l6ZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJl
c3Npb25TZXNzaW9uLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
V2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCmluZGV4IDhlZWYzYjJlYTYwNGJkMTk4M2Q3
N2QzOGJmNTIxYThkMjFmMjBlZDAuLmQxYzg0NDg4MzY3NDBmZGI3NWM0MGFjOTNmN2RkMDlkNzhm
MDMwMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0KQEAgLTMx
LDEwICszMSwxMCBAQAogI2ltcG9ydCA8Q29yZU1lZGlhL0NNQnVmZmVyUXVldWUuaD4KICNpbXBv
cnQgPENvcmVNZWRpYS9DTUZvcm1hdERlc2NyaXB0aW9uLmg+CiAjaW1wb3J0IDxwYWwvYXZmb3Vu
ZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgotI2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRp
YVNvZnRMaW5rLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL01l
ZGlhVGltZS5oPgogI2ltcG9ydCA8d3RmL01vbm90b25pY1RpbWUuaD4KKyNpbXBvcnQgPHd0Zi9S
dW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KICNpbXBvcnQgPHd0
Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi9XVEZTZW1hcGhvcmUuaD4KQEAgLTQyLDYgKzQyLDcg
QEAKIAogI2ltcG9ydCAiQ29yZVZpZGVvU29mdExpbmsuaCIKICNpbXBvcnQgIlZpZGVvVG9vbGJv
eFNvZnRMaW5rLmgiCisjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KIAogLy8g
RXF1aXZhbGVudCB0byBXVEZfREVDTEFSRV9DRl9UWVBFX1RSQUlUKENNU2FtcGxlQnVmZmVyKTsK
IC8vIE5lZWRlZCBkdWUgdG8gcmVxdWlyZW1lbnQgb2Ygc3BlY2lmeWluZyB0aGUgUEFMIG5hbWVz
cGFjZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCmluZGV4IGZlY2U4MTI5YmQ3Zjdm
ZGVkNmE4MDRiYTUyZjc5NTI2MWZlNjVkMzAuLjg3MTA0ZDhiN2IzNTdjMTYwYjZkY2NjNDFiZmUx
Zjg5ZTBhNmMyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaApAQCAtMzQsNyAr
MzQsOCBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBvcGFxdWVDTUZvcm1hdERlc2NyaXB0aW9uKiBD
TUZvcm1hdERlc2NyaXB0aW9uUmVmOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWJvb2wgaXNW
b3JiaXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9SVCBib29sIGlzVm9yYmlzRGVj
b2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCByZWdpc3RlclZvcmJpc0RlY29k
ZXJJZk5lZWRlZCgpOwogUmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZVZv
cmJpc0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oc2l6ZV90LCBjb25zdCB2b2lkKik7CiAKIHN0cnVj
dCBPcHVzQ29va2llQ29udGVudHMgewpAQCAtNTIsNyArNTMsOCBAQCBzdHJ1Y3QgT3B1c0Nvb2tp
ZUNvbnRlbnRzIHsKICAgICBib29sIGhhc1BhZGRpbmcgeyBmYWxzZSB9OwogfTsKIAotYm9vbCBp
c09wdXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9SVCBib29sIGlzT3B1c0RlY29k
ZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcmVnaXN0ZXJPcHVzRGVjb2Rlcklm
TmVlZGVkKCk7CiBib29sIHBhcnNlT3B1c1ByaXZhdGVEYXRhKHNpemVfdCBwcml2YXRlRGF0YVNp
emUsIGNvbnN0IHZvaWQqIHByaXZhdGVEYXRhLCBzaXplX3QgZnJhbWVEYXRhU2l6ZSwgY29uc3Qg
dm9pZCogZnJhbWVEYXRhLCBPcHVzQ29va2llQ29udGVudHMmKTsKIFJldGFpblB0cjxDTUZvcm1h
dERlc2NyaXB0aW9uUmVmPiBjcmVhdGVPcHVzQXVkaW9Gb3JtYXREZXNjcmlwdGlvbihjb25zdCBP
cHVzQ29va2llQ29udGVudHMmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbQpp
bmRleCAwNmJkNDhhZTBkM2Q2OTEyNTBiOGEyNzU3ZDAyNTZkNDQ4NTlmY2M0Li4wZTFlYjFiNzk4
YTNjN2VhNjdlYWI3NWJhMzZlNTg1YWRkOGMxMGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRp
ZXNDb2NvYS5tbQpAQCAtMzIsMjIgKzMyLDI4IEBACiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1w
b3J0ICJNZWRpYVV0aWxpdGllcy5oIgogI2ltcG9ydCAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLmgiCisjaW1wb3J0IDxBdWRpb1Rvb2xib3gvQXVkaW9Db2RlYy5oPgogI2ltcG9ydCA8QXVk
aW9Ub29sYm94L0F1ZGlvQ29tcG9uZW50Lmg+CiAjaW1wb3J0IDxBdWRpb1Rvb2xib3gvQXVkaW9G
b3JtYXQuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERlc2NyaXB0aW9uLmg+CiAjaW1w
b3J0IDxkbGZjbi5oPgogI2ltcG9ydCA8d3RmL0ZsaXBCeXRlcy5oPgogI2ltcG9ydCA8d3RmL1Nl
Y29uZHMuaD4KLQogI2lmIEVOQUJMRShPUFVTKQogI2ltcG9ydCA8bGlid2VicnRjL29wdXNfZGVm
aW5lcy5oPgogI2VuZGlmCisjaW1wb3J0IDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgRU5BQkxFKFZPUkJJUykgfHwgRU5BQkxFKE9Q
VVMpCiBzdGF0aWMgYm9vbCByZWdpc3RlckRlY29kZXJGYWN0b3J5KGNvbnN0IGNoYXIqIGRlY29k
ZXJOYW1lLCBPU1R5cGUgZGVjb2RlclR5cGUpCiB7CisgICAgQXVkaW9Db21wb25lbnREZXNjcmlw
dGlvbiBkZXNjIHsga0F1ZGlvRGVjb2RlckNvbXBvbmVudFR5cGUsIGRlY29kZXJUeXBlLCAnYXBw
bCcsIGtBdWRpb0NvbXBvbmVudEZsYWdfU2FuZGJveFNhZmUsIDAgfTsKKyAgICBBdWRpb0NvbXBv
bmVudCBjb21wID0gUEFMOjpBdWRpb0NvbXBvbmVudEZpbmROZXh0KDAsICZkZXNjKTsKKyAgICBp
ZiAoY29tcCkKKyAgICAgICAgcmV0dXJuIHRydWU7IC8vIEFscmVhZHkgcmVnaXN0ZXJlZC4KKwog
ICAgIGNvbnN0ZXhwciBjaGFyIGF1ZGlvQ29tcG9uZW50c0R5bGliW10gPSAiL1N5c3RlbS9MaWJy
YXJ5L0NvbXBvbmVudHMvQXVkaW9Db2RlY3MuY29tcG9uZW50L0NvbnRlbnRzL01hY09TL0F1ZGlv
Q29kZWNzIjsKICAgICB2b2lkICpoYW5kbGUgPSBkbG9wZW4oYXVkaW9Db21wb25lbnRzRHlsaWIs
IFJUTERfTEFaWSB8IFJUTERfTE9DQUwpOwogICAgIGlmICghaGFuZGxlKQpAQCAtNTcsNyArNjMs
NiBAQCBzdGF0aWMgYm9vbCByZWdpc3RlckRlY29kZXJGYWN0b3J5KGNvbnN0IGNoYXIqIGRlY29k
ZXJOYW1lLCBPU1R5cGUgZGVjb2RlclR5cGUpCiAgICAgaWYgKCFkZWNvZGVyRmFjdG9yeSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgQXVkaW9Db21wb25lbnREZXNjcmlwdGlvbiBkZXNj
IHsgJ2FkZWMnLCBkZWNvZGVyVHlwZSwgJ2FwcGwnLCBrQXVkaW9Db21wb25lbnRGbGFnX1NhbmRi
b3hTYWZlLCAwIH07CiAgICAgaWYgKCFBdWRpb0NvbXBvbmVudFJlZ2lzdGVyKCZkZXNjLCBDRlNU
UigiIiksIDAsIGRlY29kZXJGYWN0b3J5KSkgewogICAgICAgICBkbGNsb3NlKGhhbmRsZSk7CiAg
ICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTcxLDcgKzc2LDcgQEAgc3RhdGljIFJldGFpblB0cjxD
TUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVBdWRpb0Zvcm1hdERlc2NyaXB0aW9uRm9yRm9y
bWF0KE8KICAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gYXNiZCB7IH07CiAgICAgYXNi
ZC5tRm9ybWF0SUQgPSBmb3JtYXRJRDsKICAgICB1aW50MzJfdCBzaXplID0gc2l6ZW9mKGFzYmQp
OwotICAgIGF1dG8gZXJyb3IgPSBBdWRpb0Zvcm1hdEdldFByb3BlcnR5KGtBdWRpb0Zvcm1hdFBy
b3BlcnR5X0Zvcm1hdEluZm8sIG1hZ2ljQ29va2llLnNpemUoKSwgbWFnaWNDb29raWUuZGF0YSgp
LCAmc2l6ZSwgJmFzYmQpOworICAgIGF1dG8gZXJyb3IgPSBQQUw6OkF1ZGlvRm9ybWF0R2V0UHJv
cGVydHkoa0F1ZGlvRm9ybWF0UHJvcGVydHlfRm9ybWF0SW5mbywgbWFnaWNDb29raWUuc2l6ZSgp
LCBtYWdpY0Nvb2tpZS5kYXRhKCksICZzaXplLCAmYXNiZCk7CiAgICAgaWYgKGVycm9yKSB7CiAg
ICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAiY3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlw
dGlvbkZvckZvcm1hdCBmYWlsZWQgd2l0aCBlcnJvciAlZCAoJS40cykiLCBlcnJvciwgKGNoYXIg
KikmZXJyb3IpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTMyNiwxOSArMzMxLDMwIEBA
IHN0YXRpYyBWZWN0b3I8dWludDhfdD4gY29va2llRnJvbU9wdXNDb29raWVDb250ZW50cyhjb25z
dCBPcHVzQ29va2llQ29udGVudHMmIGNvCiAKIGJvb2wgaXNPcHVzRGVjb2RlckF2YWlsYWJsZSgp
CiB7Ci0gICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwotCiAjaWYgRU5BQkxFKE9QVVMpICYmIFBM
QVRGT1JNKE1BQykKICAgICBpZiAoIVBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6b3B1c0Rl
Y29kZXJFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIHJldHVybiByZWdp
c3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2Vu
ZGlmCit9CisKK2Jvb2wgcmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCkKK3sKKyNpZiBFTkFC
TEUoT1BVUykgJiYgUExBVEZPUk0oTUFDKQorICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKKwog
ICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOwogICAgIGRpc3BhdGNoX29uY2Uo
Jm9uY2VUb2tlbiwgXnsKLSAgICAgICAgYXZhaWxhYmxlID0gcmVnaXN0ZXJEZWNvZGVyRmFjdG9y
eSgiQUNPcHVzRGVjb2RlckZhY3RvcnkiLCAnb3B1cycpOworICAgICAgICBhdmFpbGFibGUgPSBy
ZWdpc3RlckRlY29kZXJGYWN0b3J5KCJBQ09wdXNEZWNvZGVyRmFjdG9yeSIsIGtBdWRpb0Zvcm1h
dE9wdXMpOwogICAgIH0pOwotI2VuZGlmCiAKICAgICByZXR1cm4gYXZhaWxhYmxlOworI2Vsc2UK
KyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogUmV0YWluUHRyPENNRm9ybWF0RGVzY3Jp
cHRpb25SZWY+IGNyZWF0ZU9wdXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKGNvbnN0IE9wdXNDb29r
aWVDb250ZW50cyYgY29va2llQ29udGVudHMpCkBAIC00MTgsMTkgKzQzNCwzMCBAQCBzdGF0aWMg
VmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZyb21Wb3JiaXNDb2RlY1ByaXZhdGUoc2l6ZV90IGNvZGVj
UHJpdmF0ZVNpemUsIGNvbgogCiBib29sIGlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSgpCiB7Ci0g
ICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwotCiAjaWYgRU5BQkxFKFZPUkJJUykgJiYgUExBVEZP
Uk0oTUFDKQogICAgIGlmICghUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjp2b3JiaXNEZWNv
ZGVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICByZXR1cm4gcmVnaXN0
ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2Vu
ZGlmCit9CisKK2Jvb2wgcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKQoreworI2lmIEVO
QUJMRShWT1JCSVMpICYmIFBMQVRGT1JNKE1BQykKKyAgICBzdGF0aWMgYm9vbCBhdmFpbGFibGU7
CisKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsKICAgICBkaXNwYXRjaF9v
bmNlKCZvbmNlVG9rZW4sIF57CiAgICAgICAgIGF2YWlsYWJsZSA9IHJlZ2lzdGVyRGVjb2RlckZh
Y3RvcnkoIkFDVm9yYmlzRGVjb2RlckZhY3RvcnkiLCAndm9yYicpOwogICAgIH0pOwotI2VuZGlm
CiAKICAgICByZXR1cm4gYXZhaWxhYmxlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5k
aWYKIH0KIAogUmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZVZvcmJpc0F1
ZGlvRm9ybWF0RGVzY3JpcHRpb24oc2l6ZV90IHByaXZhdGVEYXRhU2l6ZSwgY29uc3Qgdm9pZCog
cHJpdmF0ZURhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJL
aXQtYXBwbGV0dm9zLnBsaXN0IGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWFw
cGxldHZvcy5wbGlzdAppbmRleCBhZTRlZTQ1N2EyMTMxMzM4ZjZhNWI3NWVkNzVmNjM2ZjNhMGY1
MjYwLi5lMjFiMDIzYjE0MjMwODcyM2M1OTdjMGYxY2Y5N2ExOGEzMjY3YjU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0CisrKyBi
L1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3MucGxpc3QKQEAgLTIs
OTUgKzIsMTAwIEBACiA8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNU
IDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRk
Ij4KIDxwbGlzdCB2ZXJzaW9uPSIxLjAiPgogPGRpY3Q+Ci0gICAgPGtleT5hc3luY19mcmFtZV9h
bmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3By
b2Nlc3NfY2FudmFzX3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVu
YWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tl
eT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5Pgot
ICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxr
ZXk+Z3B1X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4K
LSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAg
ICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+
Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nl
c3Nfd2VicnRjPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8ZmFsc2UvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAg
PGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAg
PHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+SW5BcHBCcm93
c2VyUHJpdmFjeTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4K
LSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5pbmNyZW1lbnRhbF9wZGY8
L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0
cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9r
ZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFs
c2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PnZwOV9kZWNvZGVyPC9rZXk+Ci0gICAgPGRpY3Q+
Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0
PgotICAgIDxrZXk+V2ViR1BVPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYlhSPC9r
ZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFs
c2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PndlYm1fcGFyc2VyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAg
IDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxr
ZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgorCTxrZXk+YXN5
bmNfZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVu
YWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2NhbnZh
c19yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVl
Lz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxl
dGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9j
ZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJ
CTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KKwk8ZGlj
dD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9r
ZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJ
PC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9w
cm9jZXNzX3dlYnJ0Yzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29t
cGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PkluQXBw
QnJvd3NlclByaXZhY3k8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxm
YWxzZS8+CisJPC9kaWN0PgorCTxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+c3dfdnA5X2Rl
Y29kZXJfb25fYmF0dGVyeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT52cDlfZGVjb2Rlcjwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PldlYkdQVTwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJ
PGtleT5XZWJYUjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNl
Lz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNl
cjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGlj
dD4KKwk8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9r
ZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2Ft
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0
PgogPC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZs
YWdzL1dlYktpdC1pb3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQt
aW9zLnBsaXN0CmluZGV4IDYyMWM5MjE2NmM4OTJjYjU0MWNmYTc2YjYyMzgxNTY2OGExZWMyNzcu
LmI4ZTVlMDljZjg5YjYwYzA4MmU2M2FhZWI1ZGY3MGQ5OTFhMzIwMTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxpc3QKKysrIGIvU291cmNlL1dl
YktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdApAQCAtMiw5NSArMiwxMDAgQEAKIDwh
RE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6
Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgogPHBsaXN0IHZlcnNp
b249IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3Jv
bGxpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAg
ICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19jYW52YXNfcmVu
ZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAg
ICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGlj
dD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1
ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19k
b21fcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5
PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX21l
ZGlhPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAg
ICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4K
LSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+
Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193ZWJn
bDwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8L2tleT4K
LSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4K
LSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAg
ICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAg
PC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4K
LSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+
Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+Ci0gICAgPGRpY3Q+
Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0
PgotICAgIDxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+
Ci0gICAgPGtleT52cDlfZGVjb2Rlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVu
YWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYkdQ
VTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJYUjwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+
Ci0gICAgPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAg
PGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT53ZWJtX3BhcnNlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PlJCX2Z1bGxfbWFuYWdl
X1dLX2pldHNhbTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4K
LSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KKwk8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVy
Zmxvd19zY3JvbGxpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0
cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+
CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmli
dXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1
ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5n
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGlj
dD4KKwk8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJ
CTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+
CisJPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8
L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8L2tl
eT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRy
aWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0
cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tl
eT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0Pgor
CTxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5
PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwv
a2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+
CisJPGtleT52cDlfZGVjb2Rlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4K
KwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PldlYkdQVTwva2V5PgorCTxkaWN0PgorCQk8a2V5
PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJYUjwva2V5Pgor
CTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtl
eT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+
CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNlcjwva2V5PgorCTxkaWN0Pgor
CQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fd2Vi
YXVkaW88L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJ
PC9kaWN0PgorCTxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgogPC9kaWN0PgogPC9wbGlz
dD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1tYWNvcy5w
bGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdAppbmRl
eCA2MjFjOTIxNjZjODkyY2I1NDFjZmE3NmI2MjM4MTU2NjhhMWVjMjc3Li5iOGU1ZTA5Y2Y4OWI2
MGMwODJlNjNhYWViNWRmNzBkOTkxYTMyMDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Zl
YXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0dXJl
RmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0CkBAIC0yLDk1ICsyLDEwMCBAQAogPCFET0NUWVBFIHBs
aXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBs
ZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CiA8cGxpc3QgdmVyc2lvbj0iMS4wIj4K
IDxkaWN0PgotICAgIDxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5
PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUv
PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tl
eT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVl
Lz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAg
ICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAg
ICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJp
bmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAg
IDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4K
LSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4K
LSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAg
ICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAg
PC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+Ci0g
ICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgot
ICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5PgotICAgIDxkaWN0
PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgICAgICA8
a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNv
ZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5PgotICAgIDxkaWN0
PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2Rp
Y3Q+Ci0gICAgPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAg
PGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5
PnZwOV9kZWNvZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5
PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViR1BVPC9rZXk+Ci0g
ICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgot
ICAgIDwvZGljdD4KLSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5
PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1fcGFy
c2VyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAg
ICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2Ft
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgPC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93X3Njcm9s
bGluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwv
ZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+
CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9k
aWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+
Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJ
CTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2Rl
Q29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5Pmdw
dV9wcm9jZXNzX3dlYmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8
ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5PgorCTxkaWN0
PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tl
eT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8
L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5PgorCTxkaWN0
PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5pbmNy
ZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVl
Lz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+CisJPGRp
Y3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PnZw
OV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+
CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwv
a2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PldlYlhSPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fZm9y
bWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUv
PgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5h
YmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV93ZWJhdWRpbzwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJ
PGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8L2RpY3Q+CiA8L3BsaXN0PgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3QgYi9T
b3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdAppbmRleCBhZTRl
ZTQ1N2EyMTMxMzM4ZjZhNWI3NWVkNzVmNjM2ZjNhMGY1MjYwLi5lMjFiMDIzYjE0MjMwODcyM2M1
OTdjMGYxY2Y5N2ExOGEzMjY3YjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVG
bGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFn
cy9XZWJLaXQtd2F0Y2hvcy5wbGlzdApAQCAtMiw5NSArMiwxMDAgQEAKIDwhRE9DVFlQRSBwbGlz
dCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUu
Y29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgogPHBsaXN0IHZlcnNpb249IjEuMCI+CiA8
ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4K
LSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4K
LSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+
Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+
Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAgICAgICAg
ICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAg
IDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5n
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+Ci0g
ICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0g
ICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAg
IDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwv
ZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8L2tleT4KLSAgICA8ZGljdD4K
LSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgICAgIDxr
ZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29k
ZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5PC9rZXk+Ci0gICAgPGRpY3Q+
Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGlj
dD4KLSAgICA8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5
PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+
dnA5X2RlY29kZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJHUFU8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+V2ViWFI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+
d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+d2VibV9wYXJz
ZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAg
IDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08
L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0
cnVlLz4KLSAgICA8L2RpY3Q+CisJPGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xs
aW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9k
aWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmluZzwva2V5PgorCTxkaWN0Pgor
CQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4K
KwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2Rp
Y3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwva2V5PgorCTxk
aWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5n
cHVfcHJvY2Vzc19tZWRpYTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVD
b21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1
X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxm
YWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tl
eT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8
L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5PgorCTxkaWN0
PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5pbmNy
ZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVl
Lz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+CisJPGRp
Y3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PnZw
OV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+
CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwv
a2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PldlYlhSPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fZm9y
bWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUv
PgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5h
YmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV93ZWJhdWRpbzwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJ
PGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8L2RpY3Q+CiA8L3BsaXN0PgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCmluZGV4IDQ0YmE4ODU1NTlmMTFiMTJiOGE4
NTFkNzY5OTEzMjlkM2IxOWZmMjguLjVhNDlmZWYwODk0ODMyMWY3MGNjY2Y5NjY4NWE2NTcyNGE5
MGEyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKQEAgLTQ1MSw3
ICs0NTEsNyBAQCB2b2lkIEdQVVByb2Nlc3M6OmVuYWJsZVZQOURlY29kZXJzKGJvb2wgc2hvdWxk
RW5hYmxlVlA4RGVjb2RlciwgYm9vbCBzaG91bGRFbmFibAogfQogI2VuZGlmCiAKLSNpZiBFTkFC
TEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CiB2b2lkIEdQVVByb2Nlc3M6OnNldFdlYk1QYXJzZXJFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsK
ICAgICBpZiAobV93ZWJNUGFyc2VyRW5hYmxlZCA9PSBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzLmgKaW5kZXggNDljM2Q3NzFiZjE3NGQ4ZjlmZGNjOGQyNDFiMzEwNzZi
MGM1YjZhZi4uNTZkYmZlNDdjMjc4Y2JlZjRkZDU5OTlkNTU3YzhiODU2NWJjNjJjNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCkBAIC0xNDEsNyArMTQxLDcgQEAgcHJpdmF0
ZToKICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBhZGRpdGlvbmFsU3RhdGVGb3JEaWFnbm9z
dGljUmVwb3J0KCkgY29uc3QgZmluYWw7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICB2b2lkIHNl
dFdlYk1QYXJzZXJFbmFibGVkKGJvb2wpOwogI2VuZGlmCiAKQEAgLTE5NCw3ICsxOTQsNyBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9lbmFibGVWUDlEZWNvZGVyIHsgZmFsc2UgfTsKICAgICBib29s
IG1fZW5hYmxlVlA5U1dEZWNvZGVyIHsgZmFsc2UgfTsKICNlbmRpZgotI2lmIEVOQUJMRShNRURJ
QV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBi
b29sIG1fd2ViTVBhcnNlckVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAjaWYgRU5BQkxFKFdF
Qk1fRk9STUFUX1JFQURFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MubWVzc2FnZXMuaW4KaW5kZXggNjkxZGE3OGQyY2Y5MzI4ZWE3OWUyNGMyZDY0NjIwMDM2YjVl
NDI0OS4uNGYwMTk2NTQzYTNkMDU4ZTAxNmMzOTY2ZWRhMTY0N2ZhNjFiYmIyNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTUxLDcg
KzUxLDcgQEAgbWVzc2FnZXMgLT4gR1BVUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGlz
cGxheUNvbmZpZ3VyYXRpb25DaGFuZ2VkKENHRGlyZWN0RGlzcGxheUlEIGRpc3BsYXlJRCwgQ0dE
aXNwbGF5Q2hhbmdlU3VtbWFyeUZsYWdzIGZsYWdzKQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAg
U2V0V2ViTVBhcnNlckVuYWJsZWQoYm9vbCBlbmFibGVkKTsKICNlbmRpZgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcAppbmRl
eCAzMjEyZTdhZTEwMTk1NTI2Nzg3ZmViOWQzNjBjZjYwNGZjODMzZmI3Li4xYWZlNzY1MDc4Y2Vm
NTEzNGM4OWY1YjRmZGZiZTYxNmIyZmNlYTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKQEAgLTMyOCw2ICszMjgsMTUg
QEAgYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKQogICAgIHJldHVybiB0cnVlOwogfQog
Citib29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCkKK3sKKyNpZiBIQVZFKFNZU1RFTV9G
RUFUVVJFX0ZMQUdTKQorICAgIHJldHVybiBpc0ZlYXR1cmVGbGFnRW5hYmxlZCgid2VibV93ZWJh
dWRpbyIpOworI2VuZGlmCisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKICNlbmRpZiAvLyBFTkFC
TEUoTUVESUFfU09VUkNFKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKaW5kZXggOTAyNDdl
OGMxZDEyMmNhNmZhNWQ4N2U2ZmZkNmI3Mjc5NjM3M2Q1NS4uMjlhNDAxZDdhNDNmOTQzYWM4ZjRh
MDcyODM4ZDczNWVlNjk2OGE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTExMSw2ICsxMTEsNyBAQCBib29sIGRlZmF1
bHRWUDlTV0RlY29kZXJFbmFibGVkT25CYXR0ZXJ5KCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKQogYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKTsKK2Jvb2wgZGVmYXVsdFdlYk1X
ZWJBdWRpb0VuYWJsZWQoKTsKICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29h
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2Eu
bW0KaW5kZXggZWY1NTE4YWFkYjAyZDViZjVjYmYxNjdlMTI0MDdlZTkwNzQ3MTVlNy4uZWIyY2Q4
MjZkMzczYWU1YWQ5ODM0MDM1OGJkOWNmYWIyOGRiNGMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KQEAgLTM4LDYg
KzM4LDcgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJv
Y2Vzc1Bvb2wuaCIKICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+
CisjaW1wb3J0IDxXZWJDb3JlL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmg+CiAjaW1wb3J0IDxz
eXMvc3lzY3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0
Zi9TY29wZS5oPgpAQCAtMjk1LDYgKzI5Niw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzZW5k
QXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKCkKIAogICAgIGRpc3BhdGNoX2FzeW5jKGRpc3Bh
dGNoX2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJT1JJVFlfREVGQVVMVCwgMCks
IFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldICgpIG11dGFibGUgewogICAgICAgICBD
RkRhdGFSZWYgcmVnaXN0cmF0aW9ucyB7IG51bGxwdHIgfTsKKworICAgICAgICBXZWJDb3JlOjpy
ZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyAgICAgICAgV2ViQ29yZTo6cmVnaXN0ZXJW
b3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKICAgICAgICAgaWYgKG5vRXJyICE9IEF1ZGlvQ29tcG9u
ZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zKCZyZWdpc3RyYXRpb25zKSB8fCAhcmVnaXN0cmF0
aW9ucykKICAgICAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaCBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKaW5k
ZXggYTU5Mjk3YWYzZmRhNTVjZjUzZDlkOTA4MWFiOTk3YzRmN2JlNTQ5Yy4uNzFhY2Q4MDg4Njgz
NTlmZTE2ODFiNzA0ZGE1ZWE1MDc5ZTM2NDk2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5o
CkBAIC04Nyw2ICs4Nyw3IEBAIGJvb2wgZGVmYXVsdFdoZWVsRXZlbnRHZXN0dXJlc0JlY29tZU5v
bkJsb2NraW5nKCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogYm9vbCBkZWZhdWx0V2Vi
TVBhcnNlckVuYWJsZWQoKTsKK2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKTsKICNl
bmRpZgogCiAjaWYgRU5BQkxFKFZQOSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLm1tIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0KaW5kZXgg
MzUyZmRjNWUxOGFmMmM1OGI0MmZlNGUwZTdjZjY3MzcxZDY4Y2U2Yy4uMTZjNTk3MjI5MTk3MWYx
OTkxYzQwYWVhODFkMGZmYmQ2ZjY1OWQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0KKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0K
QEAgLTI5OCw2ICsyOTgsMTUgQEAgYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKQogICAg
IHJldHVybiB0cnVlOwogfQogCitib29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCkKK3sK
KyNpZiBIQVZFKFNZU1RFTV9GRUFUVVJFX0ZMQUdTKQorICAgIHJldHVybiBpc0ZlYXR1cmVGbGFn
RW5hYmxlZCgid2VibV93ZWJhdWRpbyIpOworI2VuZGlmCisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU09VUkNFKQogCiAjaWYgRU5BQkxFKFZQOSkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCAwY2U1OTkxODkxYTgzM2MwMDI2NjAxYTQwNzQ1ZTYxZmZmZGVlZWM0Li40NmEyMzYxNTAx
ZTQ0MzFiNmQyMDUwNzAyMjBmNmU5N2JmNzNhMzE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIw
MjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNvbT4KKworICAgICAgICBb
V2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczogT25seSBlbmFibGUg
dGVzdCBvbiBtYWNPUyBNb250ZXJleQorICAgICAgICAqIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1k
YXRhLWJhc2ljLmh0bWw6IGZpeCB3aGl0ZXNwYWNlCisgICAgICAgICogd2ViYXVkaW8vZGVjb2Rl
LWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
YXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9vcHVzLndlYm06IEFkZGVkLgorICAgICAgICAqIHdl
YmF1ZGlvL3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibTogQWRkZWQuCisKIDIwMjEtMDctMjEg
IFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIExheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgZm9yIGltcG9ydGVkIHczYyBJbmRleGVkREIgdGVzdHMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODk3OWIxNzg5
MmYyN2YxNGFiZjY5NjRhYTA1YmQ1NDliNDA5YzhiYy4uZGU3MmExYzhhNmMxMzFmMGMyNmU0NzYw
NzkxNTVkNWJmNzM3N2YyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTE3NjcsNiArMTc2Nyw3IEBAIHdlYmtpdC5vcmcvYi8yMTQxNTUgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wCiBbIENh
dGFsaW5hIE1vamF2ZSBCaWdTdXIgXSBtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXdl
Ym0tdm9yYmlzLXBhcnRpYWwuaHRtbCBbIFNraXAgXQogWyBDYXRhbGluYSBNb2phdmUgQmlnU3Vy
IF0gbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXdlYm0tb3B1cy1wYXJ0aWFsLmh0bWwgWyBTa2lw
IF0KIFsgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS13
ZWJtLW9wdXMtcGFydGlhbC1hYm9ydC5odG1sIFsgU2tpcCBdCitbIENhdGFsaW5hIE1vamF2ZSBC
aWdTdXIgXSB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbCBbIFNraXAg
XQogCiB3ZWJraXQub3JnL2IvMjE0NDIyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW9jb250ZXh0LWludGVyZmFjZS9zdXNwZW5k
LWFmdGVyLWNvbnN0cnVjdC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWwKaW5kZXggYTMzM2I2NWFh
ZWY5ZGI2NGVkNTNmY2IwNTYzMWNmYzE1MTQwNTBkMS4uN2YwOGIyOTA1OTJjYzJmMzQ0ZmE1NjVm
YjBkYWE0YjI2NmY4ODI5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2Rl
LWF1ZGlvLWRhdGEtYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUt
YXVkaW8tZGF0YS1iYXNpYy5odG1sCkBAIC03LDcgKzcsNyBAQAogPGJvZHk+CiA8c2NyaXB0Pgog
ZGVzY3JpcHRpb24oIkJhc2ljIHRlc3RzIGZvciBkZWNvZGVBdWRpb0RhdGEgZnVuY3Rpb24uIik7
Ci0gICAgCisKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAogdmFyIGNvbnRleHQgPSBu
ZXcgQXVkaW9Db250ZXh0KCk7CkBAIC0zNCwxOSArMzQsMTkgQEAgZnVuY3Rpb24gcnVuRGVjb2Rl
VGVzdChpbmRleCkgewogICAgIHZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAg
ICAgcmVxdWVzdC5vcGVuKCJHRVQiLCBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCwgdHJ1ZSk7
CiAgICAgcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAiYXJyYXlidWZmZXIiOwotICAgIAorCiAgICAg
cmVxdWVzdC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgY29udGV4dC5kZWNvZGVBdWRp
b0RhdGEocmVxdWVzdC5yZXNwb25zZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsK
LSAgICAgICAgCisKICAgICAgICAgZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrKCkgewogICAgICAg
ICAgICAgaWYgKGRlY29kZUNhc2VBcnJheVtpbmRleF0ucmVzdWx0KQogICAgICAgICAgICAgICAg
IHRlc3RQYXNzZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5W2luZGV4XS51cmwgKyAgIiB0ZXN0
OiBzdWNjZXNzQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4iKTsKICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaGUgIiArIGRlY29kZUNhc2VB
cnJheVtpbmRleF0udXJsICsgIiB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgd2FzIG5vdCBjYWxsZWQu
Iik7Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgcnVuRGVjb2RlVGVzdCgrK2luZGV4KTsK
ICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBmdW5jdGlvbiBlcnJvckNhbGxiYWNrKCkg
ewogICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VBcnJheVtpbmRleF0ucmVzdWx0KQogICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5W2luZGV4XS51cmwg
KyAiIHRlc3Q6IGVycm9yQ2FsbGJhY2sgd2FzIGNhbGxlZCBpbmNvcnJlY3RseS4iKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJt
LW9wdXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0YmMwMTA4ZDQ0Y2Q1ZjQ3NDZmNjk5N2U2
MGM1ZTQ3MzU2ZmE0ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9k
ZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAK
K1Rlc3QgdGhhdCBkZWNvZGluZyBhbiBvcHVzIHdlYm0gZmlsZSBzdWNjZWVkcworCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBTdWNjZXNzZnVsbHkgZGVjb2RlZCBjb250ZW50
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVz
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42NTc3MjgwMTI3MDBhZjNkNjgyNGUyMDkwODVmNGRjZWUzNzhjNzBk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRh
dGEtd2VibS1vcHVzLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InJlc291cmNlcy9hdWRpby10
ZXN0aW5nLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCJUZXN0IHRoYXQgZGVjb2RpbmcgYW4gb3B1cyB3ZWJtIGZpbGUgc3VjY2VlZHMiKTsKKwor
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgY29udGV4dCA9IG5ldyB3aW5kb3cu
QXVkaW9Db250ZXh0KCk7Cit2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworcmVx
dWVzdC5vcGVuKCJHRVQiLCAncmVzb3VyY2VzL21lZGlhL29wdXMud2VibScsIHRydWUpOworcmVx
dWVzdC5yZXNwb25zZVR5cGUgPSAiYXJyYXlidWZmZXIiOworCityZXF1ZXN0Lm9ubG9hZCA9IGZ1
bmN0aW9uKCkgeworICAgIGNvbnRleHQuZGVjb2RlQXVkaW9EYXRhKHJlcXVlc3QucmVzcG9uc2Us
IChidWZmZXIpID0+IHsKKyAgICAgICAgdGVzdFBhc3NlZCgiU3VjY2Vzc2Z1bGx5IGRlY29kZWQg
Y29udGVudCIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgIH0sICgpID0+IHsKKyAg
ICAgICAgdGVzdEZhaWxlZCgiRmFpbGVkIHRvIGRlY29kZSBmaWxlIik7CisgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgfSk7Cit9CityZXF1ZXN0LnNlbmQoKTsKKworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJj
ZXMvbWVkaWEvb3B1cy53ZWJtIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlh
L29wdXMud2VibQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODQ5NGNiOTE0YTdkODc0Y2IwMmViMDFkN2Y3YjYzNTkw
MWM5ZDFjCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNTkxMwp6Y21jSiQxOXhPaylXI2R6Iz5C
UjUrblUoNmpnRD5HIz42JXpIWVQ9aENwWjgxejVEPzh0bk9aYFJgb2YoPnNRYS0KelVBM3pVTXtL
KCZQZEYzK0VkMmNRejV7Pj4tdmdrODFCMmE3amNrUihldV5PZzVHPDdkYjZ9d1ZGMX1ZfXhoJDZz
Cnp4eX5xK3MkZ2BmM053e3pLKjlmKEZqUS07ZUBnJTRJLWBIO1AqZXhhUmpMRGwxXiYxQU9Rckx0
R0xVY287KHduNQp6cjE/TE9gflR6UEtkVHozU0wlWmhnJDNtVFZxXns3JS1BXlRJb1JvJDcjVEgk
ez1hMz5oO1lGOyReV3Q5S2xBciQKenwxYXhTMEttP307aXhqWGRxUntvYU09Skw7XnlvaVMzOHI/
UCQ3SzxNS3UtbSR7PUk8ZUQlJj91JVJaUEFPT2cyCnpMTExDNUliODdBO2VRQHhXQzk+R0U9KkV6
YUNNZTZIOGNTUjtSRnVve0dYY3R4Q214QkpPN19RTH1BPClVX1NiUAp6N0k0SWghbz1pNzZoeV84
TVpeQlRoV182LTcjUjBPOFVIXyl7b25WSntKLXhfe2J7dUVQb3RTd1NwUkRecF5jQEgKentme1o7
cWxJRWM7aTc4RkxhSV48QH1nbk1qRXZtPnlfbzEzOEdwWF4tdnRDakFreU9Ne2RvKWtEaVZxVjAw
OU1qCnpffCpEZU1UPmxAS1lzTio5VzZoeGtCUSpHd0s8VXxIP311NklQNFc9VVV+Y2k8OzhGOSZF
X25mbiZoUyZlb0VEeAp6YGYkJDNEc3J8NUhQbSMhTF42UGU/QTA3NXhlUipvXktGNk1iT0QofnZR
VnZpUmo7Xmx5IT95SUByfWheWSp+ZWoKelZtIWJrbj5FNGZnRlJAU05WeVlBNVlRYlVEeDxyaW5S
VGttLTIrc2A4QTBBNSFRNVJhKFJnazR1XjheOWA0U2xnCnp2WEp9aGYyZCs8aD92YERMbykjTUpj
PWBEPXw/TXEqT0NsUW1qPXZSRkElJkY3M3BLfjY8MEA0Mik2aHBfc29DXgp6ZVN2Rn0rZEdpTlFi
UnApKENtWHFFb1M4Wm95V0tHO1l5UVFSTns/JnNiaHcpY0l4dTJqTmpRMlElKkB9aXBOLVoKenJA
ND99bz1zPShfekpSQHFffE9raykhKGdrWmZyYnE4eU9JaUUhaVR4KDdLJiplPyMhJUtaaE90V01Z
K3UqZGIjCnpZNnwkaEV0dlNJOzV3eCkrLSEqdTs3RT9qI2J7I2lIVXtJYXUpMSpjXylpRFgxX2A2
VntESD4tKl5YSlhZVD4lJAp6Z1RuV2lhNm8yRz9uTGlabmxLI2ZGc2pSV1chWWFObENOd3d3QEJ+
fDBFOGEhQT87aGckOCNyNmkyNSN1KkYreTgKemtZX1JnN21gfn45dkRRcTkyM0t5Um91VHI9ckd6
Sl5fME5WX3BhWntFYzE9b2xgfVNndmFYe28kez1iZ0U4ST1JCnpLUGFJIXMxRyZ9eW9wTXtYSV51
akJRcypJWWR9U2lZIVg2NE44VFckR2wkdzJxKzIkPEopRlgoWClAdDxiV2MrSAp6WEZETX1ZYiZt
MlF9cGx6MTw8Zip3UkxOKiZIZ1UlVUpANzsoQGtldEpCIypDNClzeyg+WT9CYj1sPW9hQ1N4PU8K
eiY5TTgyMWIhKVczfl96Xmg+XjklR3E/KW81Tj5uJWI+ezhSYHdOeVBFfHFxJmVeTkVtME99ciUr
LWJ4PmJ7SmQjCnpudFJ4bGtFS1dtOVJOZlhAYk5HRDhFbX5nZmt8WWFvdkVZVlBVcD4ydzNPP2VR
ZFhwJXJ2OCpnfEVpSS1BYUVhagp6R35tWTZae3tJans9PHpGJlk2M3NLQmlWcnJyJVdMam05RHtW
TWlyR2B5ayU7WWU+KDdia1oqYHZHKHR7PiljWFEKejV0TmMwNUJib1VHbnRibXpvXkZ8PFMwODly
KWN4OFJmO2d2RE1mVGZrfTttT3JlZ2VII0Jqcj4haCFKd3VHaklVCno3cnxBcTwkaS03Mjx7R2A/
Rn44QGo5c0U/QUBGYHZXKnpnPjNZPjV9KzRPPDhCaFVJbGo8RlMxTnU2TVVrQiQ8Xgp6dy13QGhH
eCtjRmlMX0FTVGdCKFVJcTBoPyo4VjN5ZUFUUHdYfUV4Qj4tWVhoMj1mKU8kS3QqaWMreXtySk1l
dy0Kekh8TlF8X0FDQ3VWc1gkTVpSbE5VQ2k3WDNSYT93clE4cTxGWGFGRi1mUjl5ezBHOClEeDYm
aER1NDd7aTVqUnRlCnokMFJrUTx3dTg/KyhEbHI4I3ROLXlad2dfRUw4PDwod3QqXmRNak54blQ1
Qz0meWphZ29pPEdtKlg2cXApbTsoPwp6Rm5AKWAyO1YhMktXK0dibHVTZ3E+IXF5ZE9sQjd8aHF+
JT43QHE0X2BFbH1MSVZyV0xvUVRScGp2aSktX0slMT0KeipmcD9kYHQtMHxDNXFDb01QZnNlRz5o
NkZqZUJYdnNFUlNCKDQ3O2BIeDdJe0w8X2wyZlpWZyVpKldYNTlCMGo3Cnp4NEl8anpDUzxtYk0y
X1UwLXtPeU4jNG4/N2l9Km8/KWQoc1hNbTxWTz1PZlpGdUE/XnF+JXpvWmIqK21HZD9oZgp6NDlj
Xkc+MyVhY2Y3eyRKPG9AQWZ7cXhxc3FhfUJVXyEjS1RRITUkUGwhdFdtJWU9ZHlYaC11JSNreG9j
NCo7YX0KemdONWxJRWZyOHF0bW8jNSpFU2cxTX5DTE82SzFBYXRWJWVeanZgYDY8NDhrN0syb0hr
eilXdnNnfnBqRWlXNlZnCnp5YUNNajc8SGh3a3lYMDFoTCQpWkpLM1kqOUpvYVhiMHpxKlJCNkI/
QSMwaVB3NVNZXmU2P19POzlmRX1tdUJfJAp6VjcoYGcoOUBCKjYhe1RTSW5yM3VfMChUPnQjZUJV
TmZLfE1leSk4NTlKIyVZOE43JVpUV1RyNnhhcE88KHxMQWoKekwwTzt9VnliPklQRjVjSXhDIzwj
NWIjPUxQZWBOU2NMWkMxUjckTHtnaGVabCV6JT1oRmwyamMrT3ZqNSNDO3deCno8NiVBeVJ3Xip9
I1diQVktNTNhe2h0bCpDKjVVYSNjYGhyY28jK0JBRUBST2JSKzc3ejc5JG8hOUtvVFRiVX4jWAp6
NGZ2PzVkeHBKTT4oTWVhbEdnVT9YNyk/bUEzaV9zV2NuWVU+MlJSNGFqS1drSkM0MyRFZGB6amFV
PmRYVWFpIzcKeiRsc3B3JCNSXiMzO1ljcTA0ZTgwdWZZU08tPl53Mk54PUFaaG0yQDtQZzhzMjAk
MjBGRzh8YXVUeHZrVz9wcTckCnpTOHg+blFhe0NBPVZURFFQZ2gwaEFxekB1UUprNEslbWViej5D
dm5kYVZXZ1gpbSlTUVBWTXM4VyNUTG9uVlkpcgp6O0R8SlZHbjhTVGdmUUdGbkF4JTMhfkM9R2dM
TGI3XkhsM3wqWW5pZkl6Pzd4WjJ8TV5xZW97SFR5cFc9PFVvVGkKentNSzJaJWZXNz1wWUF2UUpB
STBZPWI8ZVZpO3E8T2BYYzlJWEp8NWZkSjFNR2IwT341RiY0RSh7JSRPRyZTPHN4Cno0MCgkRWtO
cm0xVGItN3lPQHxINmRHUmFxNWl3YVdjfS0wWkJlMislO1VBX1NQTGZyVDVIPGtGXlM+fjJvYCgl
aQp6JndvODVuNmJxRD9eNGtUdWhAMmA4Yj50aC1HP3N+THBjNGJIOXJeZTQpX3IoY0J8Pm4haSpn
eClQfjtEcnl2cGsKektWelBxMUY1aGU9bFNrSWdvRzJBYm5TWjJZUiVzXzl3ZD9pXlVXJUFTSyl7
THZMZHFVPyEoYVlUMyU8bnktU1hfCnpVS0k+Mzw9R2spcEx2O3p7NHd5dFdgIUZLUllTRlIqb31f
TG5ZTVdnMDF6JmApemZPZE08VT9jSnkkaURAIWAlQAp6RTxxSjNeP1hZbElhdjA7RkF9S3pOQk4z
TEE2KngldT48eVNWYWYtJWAhPE8kOyU/Qy1kQkFpLXF+P21vIUNCN3UKei0oPHloNmw7XnxFeFJp
UU1jKU1SVStCQGQlbkJ3ezcjRHRSQHhPTnZaO3lMcTdVVnNVNiFIe307QEpGP2klQk12Cno4aFpK
bHdqbnt0Q1ZuKTczam03d1Bjc0xNWlIldzcwcmY7TGY5U2s3RzF8ZWJyaUY7RVBiNkpTeVF1el92
eCVEVwp6KS0jQHZfN0c/KSVlZzJSUD5CT2BCbVIhIVpIezRBJl41X15NXnhLRiNrJGpUejQ1TypL
JlVuWEtvcDM1NF5CaEMKelpwdDF4I3I/c34tME9WSXhsdGw3aH1TLTw0el5wXzItfHV7KkdxdzBQ
fXMlSDJidnYjO0AyfHRWbWhEWG0lWWh3CnozVmV5aUxfJWppYTQ3LTFsfjBFe2N+fF5HaHEkWGFM
YiFBYSM9UnFWWnZmK2hTODZgaSp1N3BVUUBGa1M2PDVJPgp6azsoUmwmRDB5WF9KaUVNR0JoMz5Q
cnNFZzN3V1VsTSNVSjJUPVhwbl5HaS13TzdZVFlhTFZHbUAwTVdxQVlSfCQKek5meXlaK3QqYkRL
XzY/RSN7UHpxY0k+fEl0Z2N1anQpUUhMbzB5I1dWRTshc0tYZUx5PXJGdEJlMnMmSzReSlN8CnpO
KjZjRXhxM247QWxTVTxuTF82ME93fnR5NnEpYTJ5fjVJSlorUSlVc0htJnI1PEZhcj1jY28yU14x
e3pJc2hwcwp6SV9HPTAwaFFsezIycFJ5UF50al5MREFaXz02JXFjQ3MleU1kaUdIKilIfXJAR0tC
QlVOZ201a01HUUF0QUVURVcKejk/bFVXUkdGSVNAVFVJZXlKZi02R1RpR29jRWRpVWt0X35Mdi0/
ZkQjRSllUmhvY2dfOzZBeW9HNiFJYV9jU0VkCnpJUnlRWHhOSmZLVGAtJjNNN3ByNz9uIW94Rn1I
Qnp5TWEoM204SzBiU2k/MW1hMTVoM3Y3ZX1NJGc1TmokNGlFbwp6MiFVdXkhVFNvTz8pVkxfT0Z9
WGVwKj9OUWc3cTZlU1V7O2VjUUpeRyg5NkhiWD85U008PVd3cWNQb2NKe1NUOXEKejBYcUI9MkM5
OUw1SFNGI2BOeXdmbnkzbldZWiNyIUBnNmk1Y0p9entRaztqfTAqRE5uKHVGaVpaPFdRKHohIWdV
CnojT25pNXoydiNpckpXJipCVC12JitqTGpRT3JsUV9XSHd6MCk7dkYwPipLK1dTfiVMRSlsdXdn
b31BeGhBPUtgewp6KWZ8bT9PUDdaI1NqcjQhYEF4WEEmfmpZWjYhRm8wYH4wYjJ6d18wTm5yeX1x
QklMdEVqUUkyQ2ErQDs0UXMoVUEKeiRzZVFadkt3UWNeKSl0aUBLfndVQ2U1eFohaV4/UFNEQXd7
ak8jZkxxQmoxXnIpUTIjI0ZpeHdrQk54ZnYxKSk9CnpOJUM2S2h1NUZBMiYtTSpXQj5+QypPV2dw
TWImRzghZHJQajxYQjk8OWAxbTZfRD9pLVVSSnk4OUxaMGhNYUV9Jgp6JUUyK05kWXVDO0coWm80
ZVc5T3omYnY9bCpGdjZmOXU2cjhEMXpCQyFaMzI8cjwkLVc1fjJuR2pSa3p7ZSVKa0IKeklRYnk0
SVBlZjQlJFE5PCgjVjduQkBpYE05KkUyUEwrO2ZCJnJNKnhXVzFYXz97VTdtPU97e3lnQU5fS050
IXBNCno/SjcjOG1wPTk0bCFPIV90aHI4UEtINkl+WUo/YHxmIUhiM0UtU2EpSkNPZnpaWnAka0Vp
Xzg/TGZlfTNtcCs7MQp6aDJzJVJAYXgleDxtemFWRXJoTiQkJVc7VXBtOyQ+YHhVcExpYT0wK1dm
cGp9RkRgfT9ffmhLTkdVI09gN2JifWkKekJKWlhEJmljYXU1dD1tWk9AdmUhTHZ6aGc4SSRwSzFf
YDRidyE5VXBwVit1T2Q2PUtnQVhZNFdOU3cpdl4yVUsrCnpaU34+c2dEfGclRl5QPUpOTkNiNnFM
Wj0zRiM+Z0BXX2RKRXUxa058X19QbTlVKnxPTEpPM21IbzQxdyt4cClxagp6IysoRGwzfjJsRUlq
NEx6VTtXT2tVJEAoQmYyeFl2ZXU2c2RYVyZCdDBOTT1ySUZeaFEheW9DRElfeWcqVm1eNzgKejlg
Xkp+LUZrc29KJktodCpQcUNyR2pnUm43Y3UkRFNvSzxtNyFATEpQamRlYjs8Vmd3PDA3YDJCQWch
Kkh5PGptCno7c3RRKW9Fa31oYH1IMFFtSHk+ZEpaRHZuKnNGbEhMXkZjP1Vfcmc3NnJhclY9fj9E
JUxfeXZzUSZTaCNtbWVjIwp6KWtRcE9WQilHTCN2cEN8bTw1a1gtY0NCczdGMFUwdDdkR3RFIShh
Xm1rPytqe3t9bEgqRkc0clh7aGNAUkVZMjIKempxQlljJGkrYUFfZkBNI15KTFgxOz1UR2NKWVNT
Z3lIeVZnQ18qXzh7UGcxfEEjT0dxS0c9e3dsUnZ+SURDVWNJCno8VGgjV3I+cSZReCZRUVFIVFh+
eHV1Un5wWiV7a2U8Sm5LTXVOO0hGNlVGQUZ3c2Z8JCZMPnl0PXhjJVZEZDNhPgp6SVdeP0ByZGxO
WHtXfWMhMU5EYSNCPj9DKTtOJDI8WHNLVDxpTmpiNVl7JXZBRn4tOFAqYWlzY2V4Kkc0T1B9azgK
elBOTFV2YnczbSlUYFAqTnFlPD1WbElqcUBpOHY9NW8hdjZCWDFeXkxNcHxwRlJ5ZGozSCVvMTY8
ZnJ+KnU/Wjs8CnpiRF4rRUB9ST1WYnlNY056UU8kJnpuQUhFSFJWVHgrVUluWllGTTJAViNGK3sx
KzRqVFJJdjhQQ3Faei08eXE+JQp6UGdgUz1wKCl9PyZeZl9mU2RqaTVPKG5TTHlpI2VLbCRobGdn
MyNqaCNGQ0xPcFFJMEM4MVMlQT4lb3BXJWNCQ08KekReNUx0MG9oP3RAeFR7VEU+N3NeJUA4JV92
QFN0PlZfYTt8IyEpRmFnVW4hOWRsUSRLI3RTI2FiZD1ZWl8pNk9FCnpLVjJIJT51cTNhNWJLOVBL
MCg/JlY7Qm41NHJ0bGcmdjJ2WXtNVTFncExiV2dSKEJIUy08aDxedEw1VUs3RERaVgp6S1M3KVow
MVc7a0R2aWFkLW99WXIrZ21PVzBjWkBgV2tCbGdjPSlIU1E7a2FaUENlSzEkQ1Y0XjE2R0NhMXtP
LVIKellfJjhTamtSfGNRS007fDtje2JXUGVfaVFCbzJ8S3deUlkqVXJBTEBjcWlBMTRVSncoYzNJ
e0NvKCVuQTRINnk2CnomVylqTDA9NCNPJH55NVAyUFRtQDFuZVU7S0RNYEVNX1c8a3FvXzFxPE0m
WTRtJkJ5PjsxYFdXbzhrNDlOWWctRQp6P3dZaHpKUWFna0tAbTk/SU4lVEB5cTJgQDJwKlJUZ1ZL
VlNqdCM0cHtxXn5sMzxRUkNeIT1TbFNQVi1tKSlLSnUKekpOT3pBQStyMnMrSUkpJmlPbH01ZTAw
Q3dQPCh0KGhCRGcjb3NoViVDUWdPUTI/K3dlJiVlelhFekJQamhVTHxBCnokOWVJPFlMZnolOVpU
P2pSRD9QezZjSXM5TE94SHRPbyNSQ3dXZTYqPnB+cUpZMm91ZXVzYHZOMzs+TSVMcmNWKQp6YEdt
SG8qcVd9ant6OUh0SE1nKWBnU2Nud3RMaSktRCpvRjF1ZnoxZFFqNEI8TFBtYEVGXjNQd0xKeWpQ
Yj5MZTUKemxUKn4kX3AyUzlwcDNoZXBgRn1AQmAkMHF0OX12KGpwKXBCN3wtJENWZVBQSzh0Xk8/
c3pOTmo9UT9sNSFUI2prCnorPShZZHc3MD9mclB2RDdBN3hVdHdwa0h2MlUmeiVNRkNhP1oxeHFh
bE1AeDQ/eUB9PmBuUihpTz87dF9uMkdwXwp6UmI7V1hgU09rU1ImWSo9THVUdz8mKjtRPF4pTEg3
a1olSUl2Qk90fVBxalMqRG1GblpVeVZhWnVkb1NDbTZtLTMKelIxPWR6anhaSVI1Pio2NXdlRjlB
WH11QXFXOXw1fkpFP3I3PmhxU0BAbj8hclp7ezNNWCNCbjVyYkU4ZT4tZ1V+CnpOTkh2I3ckKGRM
bGV6SlpjJWFgISQleSl2bk5HJDNJVXEzcm5DP0dMMjNGelE8N0tybGUoOH5KczA+byFjakZXMgp6
PDReKHdKa2JJRnsrdDZqa3ojdjZEZWYoV2RrUWFWRkNAcjxRU1NteiNXMmRlcUx+fShEMUkxWGpk
SWduKnBpNioKeko4NT8mUHtjfm8+Unp9KUohalVmPyR0eXdmZVZzU2FXYUhfeiRZcT9KYkM2WSMj
biV7TSQjeSYmaSEtJHNgTH10Cnpgd0pDcC1uNGIrTCNtNi0+YE91cGM4eUczeHFGNXFQQmx6IzZY
V242THozfDZqPWB6KilxampTS31ybmApZTdHMwp6TXJKeXtYTnh8QExATWtLaTghazc/WiFRdjV7
LUs/bkV7Mn5QRVQ9WFdBSEN+VDY4SExfd2dvIWtXWFdBTVVjU2cKel5XRzZmPCpkMlg9VjtfenFe
RWdjWHFWUn4/LURHPiRoJSR9YH5pWWJ4WXctRmdnaERPWHQqMjVHT3ZtJkl4ZSheCnp0cX1CbyNV
JTchSlRITXZsST4xeShpUFdwOU0kbHJKNilYekZKSyU+bG40SX4mbVJsPytVUSt1K3VpMGdrezs3
Mwp6I0hIcEshVHlSJHpzRjVHdDUjc0Y8R1ZnfmtEU1FzTEo2U2JneiZ6WnJ0MHR+PGM2dypoYnZt
NEhUTj8pI1FSN24Kek9AI153aGNPY05TV2tqR1ZrOyhzU1IoQ3M2QlVBKTl8P2BmU3dyRzZ2KEpC
WE1XQntvYHZSM34oP3ZWKmg7P0tFCnp3X2RVYjR8SDsrJFIlY2Q0VSRyYGVENUE1TSk0bSEjKGd0
dC1QcXZzRDdEJWdsaUEwbUdXUyRWdWpaVXc8bXtmVAp6e3lQTTY8aHBhdEhlTnBjO2BfS3pKel9W
KndQJW58QEc7JS17dHRTbDB0TGRjOU57IW5zR3NiJWNtdzQwT242UnwKemQmISlqS2gmeyQmSHwr
e1Y7TW43KDMte1ZSUSlTaHM1QVk+cylSezYjXmdWekJMQEpoe1RJejY5SGFMOEc0OV47Cnolaj1J
dEBLK1ZqbTZXMVdoJHw3I3grfVcmN0cjP21mVlltfVF0NE5fX0l7flJ7PEZsLS1naUtnVkZIPjNX
WV50aQp6KG9+NHlKWFNhX2dDc25pUG17cTw2Q2IwZilhdiM4OD0pS3hYN3w0ITc5PUJpRHsyMXMz
QFIlYjRadz5JS0AjfUQKektSdm0qMkFRVXw0SzwyTG9Rakw0NiZ1MSVSRH5IT2lmTjdqQlZTOFgh
QFh4RnIzU2FTTys5TTgkZmxNamNXU193CnpJPFolPkZmUHhmdEYxKnV5NkI7PDFTTWIoWGJLcT9x
KCRxfTlPbmhidFBtRjxqdDlTYmhHZitKUSpVV0hCcm5+Jgp6WXc3WDJ0YlNoJHkkbllENVZaYGFG
T00yeThpeXJNX1h3SDRPe348X2cxcV5RSW1Ha3p0T2otZ3RlMUJPSlM1KkgKemg3dzwlMihuSkBA
QnwofHd4UHtBPSljaHYyPntzZzJoPncxN0VrbXxmJVhnKG1eUnRwTGd5Pno/PlQka0k4dVY/CnpX
WVl4KFgoRjl6cCU/QGU7TTU+e0k+eX45QXxIVnVFenYpWT5PKW5LK3ojPk1wRXgxUm5OI3AkWG8t
filzekxtUgp6WnpIUFApJXxFcXllYHJ1TEohaCZ1OX5oYlY7NiFNbSV6SChva1Zvdm8jSGBnI2dj
T2soeXR8Rms/NVBHUHxOWlcKenprITdFNHcxKkd6VktQYi0jNFRESkN6RWFDMF9jTit8elU1eDFR
UXpXdG8leEx4NUM1TVFiIURDSmFRKTVmalFuCnpCXkwjdGlQNyVnaTYrNEYkNCM/c0goIUdLdk99
IXMkdTtINzB+eEB2eEh1Qm5oVDJITjIzPUpXbGpEbFE2XlgmQQp6RXxQPksjQiFpVTtmczRmJCNh
Tl5xUDxqeWk/aiNzQSFiclZVcXxveEJQTCNDSUlacD5yajdKejVIZURNcDlnO14KejtSMWt0ZTwr
PTl1WUAxcnJgQEJuYVQtTWgtUlVAZSpBTkU7Nl9ESURCYXIkKCR9Ujl9TVVCSz4zVFRqa0x8SDNC
CnpMS2c7QWltcDYlTThPZWRHY1pIUEF9czI7I2kqK0JUYU1eODZKKjNDdWFPPVVtVytoYnRgSyZ8
KlkjQkZFemUqUQp6SGt2dzd6ZWxJU29CTUo8IW1mSH1ePz9hNWYkaUZALVU4a3otK3JRezg4cGQm
Q3JrfUNfLWdwS0pZbykpbEJVNHUKekt9WHNIeU9QQkcqQ2BOdUx7SihEdVhRZ0FMYjlwN3N2Pj5Y
OFVnO2lCKThLSDhvTT19eF9wYH1kN1ApYl9faElGCnowYi0wPnUtWjRQSkt6cmFQPT1TZldGeUc2
QTVDQFRXPGZrPGx8MDQ8dlRrWCZaT1F7UldpYnNCX2p1U1dtMC1BOwp6dm5xJUM0SUlyVTlwJlM3
ZDVheDNyOT9YYV4xdGpfSXstTjBDK1ZIRm10IztYI0hEJH5Pdkx9Pj9Uc1N+Ti1HNkkKel90QHN+
YFo2TnBkS1NMaG9ed3o0Ny1JRGc7Uj5LPTVaY2FQMi1eOHdOTDBIdVhhK3B6ViFycTI3TXpDRiZ3
ZF9aCnpJTiFRJXdXWEplWll3RjtLWWBUKi19elBuSl9PTWc+ejkwMj5wMEg/eWNUREgtPHtyOGJC
UHNjdHI0QldqeXxDMgp6Jk8pek1EanFJLTA7ZGQmTWA4NFpRIWhpST9WUF84K1p9dyRvSTglNGhn
O247Sl91TTw3JTk8Rk0lMyU7SF9DViQKejI5SiNkYWpHY35aKShockdUWCsjYWhFa1J4VD45bnNO
bFh7NjtkbDR3P1kwK185TUx8dGBjS35TRDBJfk9IejMmCnpkX19pRHc/OE1DRWoqSjYmODcjUmx1
Sys2UDhGR0lsVG9CaVBrYXxvYEFwcm5AdnpoZiQ8b0YhUn12NEQ8aU97aAp6PUF4RkZINGNvbEIo
fiZVNUh4eTwxJXtuNnZKdThHXlpEanJQTj5CN0k7aG92WWcxNTwqVTBSUTg5KFo0MD9NPmkKekc0
RExRIy1AI3V5aUpnKmg9I1E7d0QhWD47OFB9KGR4Tnh0I2ZuVnpmOUE1YzAodSFmNW5nfk5WJTNt
NSllVjtOCnokMWBHem45KFdJSiUwcG5ZVCEhIVgya0pwRjhnLVg/cDVKPkFveHB0aWRAaXMtdXd6
eihzQ3ZabFhtT2BJI3dpOQp6MDAxdWVROHVuKjF2THYpQlJoQGZeRF49PnhvJmhkIUBHP2BNYytY
KVhVOTlTUipDdD5KUX1Qd041Vn1RV08zYFEKeio5PFpIdXMrTmltLTw2MFNDIytBVHJgPEBFSW09
cnVVQyg0SHpLczJCT1lpMDYpMjlgOWdZfWJMZCFlKSp8RyhqCnpOZSF7U1d7QkNWQ3JwQF9KMXM9
LSlIUV9QIzhQekJSJnQjeUUjQnNKRmxJfXQqek13JXptUjhlViNhNUBmQDk1QQp6Ykc3dkUxdT4o
TnpEIzMyUmxMbDtvMV5XN3hlQytadiQ9ZCo+QT5DZUJzalhpbV5jNT5xXy1BJXpAfjxXPCNhJSUK
elNyREN0S3NiYFg+P1QkRHNLdzNiWX4jfWc/b0l9cSVTKXU8MzRPa09sS1NiYSRnKXh0UyZrTS1Y
RTtwam9jcV9uCnomOHB5NVRpTysjPXF1cWtKZllobjQzSlZfKHBTN3dweGdCQzxCMHkhK3pGXks1
eG8+YV4lQVc7MXRvKjd2QGMzeQp6SV4rPjghYytGYXNGanp1ODBrXz5ESm17dlhKMnJRclpgWH1B
JmozS0VMZW4zX0t1clU2PWFEZko7cV5RaD52d2YKenJwMGYlM1NnKXk5b3swRUgpcmp5O1ZEQmFT
bT1lPUIkNGpsOEdCYFkqdEpBNkVQdUFPRTEyPVJ6TiU4X0YwX1ZrCnpgYmpCfjApWDNwYHNqPndZ
bnZyUSkmbGRSXkZ+NklaM2xFMkxgMyN9c15ETWB8NXV7ZT03USlxRzxKVCVpTUFfbgp6RFpAWnY/
RH5FPWRneTNEJDBEZExiKTF1dm5waXNfYUNydlNQU0hZQ3M7TE4zKzlqQE4/e3kyel50WUo9UHsq
ZEkKenckenVLZXE7ZERXYWllJCklbnwjJiFmRFM2WF99ayRsd3M3IzNsIyZMVVpIe0cpMGtXeVI2
YUcoe1FGdjNWUjVFCnp2WVUoPTdBUjtnIylIOyE7dG5VMXB7RDlgLTFzYkFuKzIzbzJwbF51ME1q
ZHUjPiYyRXhxezdpMjk0dzI0Y0pgUgp6Nm4lfCFpKERqIUpOcUo+TVE3eXxObm56c3k1YnsjJiF4
VFZLVkFIeEBtOG0qJDY+PlVKODhfI2xlQUtYUmVNX2gKelokWE1ZclhmejxXPkxGaipOTTttWEhW
ZEpKdWU/Xz8mITgqZHg0PCo5PjxVVyNXV1QwYWNIXmVRU0MobSsqQj9MCnpsRj9HVXNYc3x4b3JZ
ZWVhYDUwYmwkS0EtUn11Kk1GdUtoMio1RF9UX3Yje0dZUENhYl8lQ0R1Z0xAcHhaYCF9dQp6JU1i
WSUrfnhvZzBiek9OMDgoU0l2TGNlZ3k0KzdjLVlVbFNWYHxTUWdvNyNZTm4/fkctNWJQIyVORHRJ
WX1rOXAKelZCXnIwSFdKOGlwQFc0UUcrJnpzaWwweHlLKWUlJChRalFma1c9VWhvcn1GPnQpSmZQ
QHVvfDhOREJBYnlKWXdeCno9Z0pscy1BTClnKE4xcSMwTVZ0TFpHfXQ9IWRpbEFWVz1SNlc4Q0F2
RkUxc2BKQ0QqRzUpaDUwcCsjKTszTCMzaQp6N3tRWShsTUhDUVpGRX1AcTx8MlNHOCVmM2FRSkxD
cFA2IzF6OGx5X2VZM3s1cStoWnBfITB8NHA7LVp9KlVSekAKekpXWH1mOF54Z187e3hzdklsNnVA
e3J1emF7LT50MjIoeVc/UkI1KT1JWSRzPXRQKHFRQ05nYEw2XkFwPHlqRTJlCnpFUXQqeGR2bFJl
a2B6KXFaSmJuayZBZ1Jodzc3Unc1ej03QFIjdUJfVTlgTkxQKH1raypMcUh6XmRfX31tP05JYQp6
OWMocGwkJjxqfXlTMj85Mz9Kd2VPc2lTX3FicTFvX2J0PztKei1iRXlsWXp7JlMtZmA+MGhPQUg/
NEs0JHMpYioKel54WVpyISlOTTFadU5DUj0lNSUjbnhiLXt2Smlfb0Z7VCNRNGxgIzYkP15jWm1G
Knw1P0cmZUFqNFlvZnhPci1DCnpDbUJRYlg5Q2lVKzZZO356bk44eThhYmRXVW5fe2NWbCVRbShW
bjM3YktVRDk1NGVGVEpaZHBQIVN4PTdpRyM8Swp6U094NCQ+TGkkKEx1KCk1JUFTO05oMUAjRjtq
eFUyQGUwRy00NSNUUzBgQnQtKGJ5KyY0a0pHQ004UTlsN3khVkoKektWczdQP1kjVTU9ZlMmQFY4
c2o7MW9rYTBKeU9HUyV3eDlxU1chJXE0aWA1MipZNTZrUXg9bn1ndk9EbkdVKCpwCnp0YHxFbihx
WiRuWlBQb1VfKVFnS0NVYmA9ditQZjQtZXpgZ0BZNUNLZm1JU1I1ai0wUUhWdXB+ZUB4VDJiK0hZ
Qwp6ITRubTQ0SXlRS3d7c3p0cl4yKjRvc0N3aV9NQ1lUNWN0Y1dLMFFDMDNtYmRYKFRKem03T0Aw
eV90QUFEe21QKUsKektMbVVWME5EP2RBPnBCQ0M2Nklve3EqU3FIcERsa15rQjI1Z2ppcDk5UjRD
Yi1mPDw1c3Q8elRrK1IyfHU/djhZCnotbyhaSTE8R0pQbzVxKyRNbEchJUY4KkhRZ1klalVfP0pK
fDgtSFVobnM+YTBFRFgtVyVaZVowVVV3YihMZ24jbQp6NjImc0dRNE1RcEFyRl5wc2BUc01NQHxg
diFmfCp9UERXOW0lLSpEc1NgSk4yVDxZV3hGPV93Xl5wQ0Q/RGgpQSEKej9rKVpMVmA8STt1ajd0
fWlYekFiNkcrJiFfcl5ycE1ST1RQUUh7S0hHfHIweTYhfXc2JmJhXjk5O1FuJiRvNHEzCno0Z2p0
dWA3XjxeSlQoaEdVd3dJYD9qOFMkUWRNU0J7eGFtZE0md19sU2NFUlhlRUIlKV5mJUJMVUJCYX14
NTk3Ygp6RTltTENYOGJhJG5PeFomVy1ASWpgKnRLRnBPQU4/O21aQTx5cmlBdGt6YGZLSGJEKSp7
c20yeUJGQmhDe2Z4KDgKejVlRjEzQk1iKWI5THcoWXQwQDRkSykkYHFGZFkhZFFqKUNWYFJFMENq
VnlsP2JfYz1kTSFpPWpCUU5XO0RqV15SCnpxc1EySyVGQ3Z5MkB3Z0BgTlY+KTV2THY9WH1oTWBj
fH5QR1hnM1gkekx3Qj42NTlwOGViMXp8JW9pVHNtNi18cwp6KXQ+U1Q0PTNNVTRtdzM/dzZTJFZa
PFp6ezgmQXc3R2h5UnIkbiptWEA0dEU2S2VjS08ofj1Bfl80fEhGKEx8JFUKejtjekhzYTkxWDIk
KmkranBWayNkWFZDTjcjbnwzTypzM15odTJKZyh7dkFLcFlwbE5gdyVsdmRTNXd2TDx+YnFRCnpB
WTg8V3crRzQrKlRGTDNJOXVAWnYoVVJYWjE8RFdXckxQKTBrfFQ5Kkg7UWd7VyVjSGE+dGxrWktt
fmxANiRQVAp6Q24rITxkOylkYy04JDk+JERGJFR1RV9vLUU9P1ZmTzkocVo4OEdJVEIqa0Qle3xX
R19yVzw2fis7YEpJJEJvTWMKelU/O2xoRipiKndfWDsxVUJpITxjdWckTUI5ZnBlbDQ/JE9MKmA+
TUFCI2Ved19gM243NE9qTTU4UzVaOChlUThhCnpSZHp7WWhRajFYK3tNfmxmIzMkWF9fPjtJZmsw
e2NaY1NHNEspSTJgRlh8Wm5pRnR4PmpxSHAlYXRkM0BxSlBaXgp6JjBMa1p0PFBtRlVhJk87UHMl
Xn1DUG59Vih+bUQmSTllcUAoJWRaZTRLPmk4QXgzPk1EeG5zRndEMWc5SzZQTnUKemRAKXkqbmEk
ajRWP1ZjUWx2aWt1fEZLYzdhcThKc05veT5nS1pIJG1SPz9sN0N3V3NkdT5NQyp7amUpa0A3Qz9h
CnpsI1g3aEhYfWJ6NDchRGlZKmxnP3VITG9XN1Z1eWhLd09iZVE8Z1VVVGVSdH1TVzB5K2kme2E4
d2dhXiFsWWV0Qwp6aTtNJkFnWGpkaUlGMjRLKClNcztkOHx0Zl5IN0lFelMjQWBTKVcoe199PkFU
aE5uKCRXdU1JblpQQTdAWDx9XmkKej5mRDhsbWEhciFJXy1kZjthVzJQUUJAI30hMXk/dEVxVHsz
ISpwJnpMekReYUI7Wl5HdzBnZlpmbDlGR1VBLWdECnpiP3lgSSRyWGAyWDZmQXxwfW5RRTdxblNT
YWdASVRAbjBBZV5uRiVoVih2V3ArX0J0KGJ0Z204JWpqWEJVQmozZAp6JHZ4MDhgekxPe09AOCNu
M0lHeE5MMXZTJXtHNiVQSEc2KHQxUnZ3cDVRQUIxPCM5SnBBS0xYQHYjdFNlU0lxMF8Kend5PmhZ
Pm9QSFcqMGBoPHZJNyQ0QD1gcUh6JkJhcHQ7bU1gdEhXYz9ATTA7UEAqX2MxeUMjamomaiVrcUst
UW1PCnphZH5rSV5ndlU2NDh0JWA/OTFGUSlUcXJ1VjNxOyVSNUQhdUVgeHlfUmR4JVNgLXh9c0E1
SjxkNlZuZDJtKTc2YQp6R0V8USVNIWVHek1iZF9WN3poZSg3KVpSQ2lvKV9UMC1wbSoqR1pXbyFo
N1hOMHptQGFyTlZ+PE56KW9JJHdeZEoKejFuJDw1WjhaU2N0QjJvPmdQMCpgX0B3RXE2TDV4PlBI
QiZ7Y0E7RTBGUCskS0MpZk45V00pdDRCOVBRZzEoSnc3CnowenpzJCNfTz03R35TdyhwaVEle25m
X2NyeGl8SDZDNWd3NHFWXnh1Q292XnAtSTUjXjdxVShiSitBWnNRbTgzJAp6bXx1ZHo5PSRGPF5F
QGc1aH5eSkE0Y2o/UCUpWCRsPlV6REpQeHImWjRwYHtTMk5ZZ0xuQTZCU0o1RDw+MzYmTGMKemBl
SWt+by1fNjhPQT1haTdJUWtDNCY9ZVFHakBBZzQhZT9NMlpVQ0VANmB9JnByPktrQH1gJGFQMl9D
dkMxe3NtCnpCPzY1ajcmcypqVSt5VUN6UXNucWU5TF8xNHFudVlzfSNWWEx2RmMqUS1AX2Urd0lm
dXBacm85KSNUYmlsdUBkcwp6dzUyXjlKNTQzb3ZfT0N4Z3poO1VtITtRTjNDWWI0e0ohJmRGeGpe
VXdhcihfMiM4cTZGWGdMSyY8bmNyJHNFIXAKenBrR3xIaCR5VzV5WX58T1lDe15rQ2lYYEdybU43
aj8pcz9waUVVOzlUTUNJcDNpe2Y8enxOWis9VllLSUB3OGRsCnpUTE0tazFkS0k3KDdKWjB5PXti
VTdqMUE+cmleMjc4YXFaZWs9NGglZHpWTVRNPzI1cSM4cz9CNDZId2tSZGZJbAp6K3lCTjlJT1NX
JTJXYj9iKDxlMzwoKD5jJlc8Y1k+aztRU34hPSo2U2VOX2ozcEheKTFxRDtkZVFSeX01Q1hFO3cK
elUhe15eXkUqZHpCJlZJWFc/aUtkJDx1UH0hVlJ9VHd+cHVRUSF8JV88VUxSNl9vP3BUN1YyfTda
RComJntzQzM7CnpeYnNSM3RNSiNJaCRvJX1QdV5fQ2lsdzh3ezlfK3JjNE1seFBGR3AreFhfaEtZ
ezMtTGpHPXJEVWpScnMjOXAkUQp6Tndmc0taeGdOOyl5WXkxNVVoRCZBXkRiYFpYUX43cGMjNG1g
ezBoN1Z1en5WQ3N7c3l3a2xOcWk5dXNpV1IrWFAKellpLXpGOVpTOUVIJXdmV3ZJXk10KVI2KURT
Y2E8LUU9cm8tVUNwXjtLcmIqRHBfZ09vKF40U2pAOWplZWUpVEZLCnpeR0I/dGBKbz5IeG1JKmkm
QVJyUDg8JnwpQHA2RnJNPj9fNjZQT1FfMjQmKXo9cFVEKTElTHA0dn1OR2lBZj5SMAp6QUtnc3Vx
clA/ZGtJa1JSeHI8SnExanhjPysyYS1hXjx2cjlBP1p3Yno8O3QxcSVTeHRDeUBofWF0I1U4MTZU
N2sKeldua25PKT4/dlpRR0laQ3JKZWo1QTdSYl5lWFUpQHAzYUVZNmJPfih6VlZwfFJyaXVZVH5E
ZHdLbXRCc08kMXpNCnpReHkwMVdhPlI7VTNnbSZrJXQ8KnEtNDQkSyVsbXZCRkhyUmVLUyk0ZE8x
fk1nZWIhWCYkKE84UlQ0VURwSGE9IQp6Qmw3WE1QNW9yaUh+XkVUQn5xamUmfkI9a2YmeUUpUElG
dXY9dnhoankoY1A2X0pFRExSMXRnPTx0OXUjTjkkR2sKejdDI15hYkRqQmlSUGB6ezRubXpGKEU9
bUxHclZWcU1xQ0kyQ0V+Y05SZWJzU0pGeil0TD5hNz97VDNaY3ZAdXxRCnpyRm5ffU5KYXlfVCtO
cT0mQ3A7bHlubyl4TEE5ZTlaVCNRfCpCU3NNQ0UlbFhvUlIwdnZufXB4aHh3N2NfS1lUNAp6MG1Y
dlloRW88dVFIMnk9N3kmQSVvVXIwNk5SI1JCWSlgdkJ4I2o3QjE9WEFxKXxgdFlaMVhEV2taPStL
SzZiMFoKekpNMk56M0h8dmpCKGp5cz0jJUxtRiRNU1o2T0JOamtsOFpwc00yJWchcWk2eVFAKV5j
JkR2UlpkQ2xOaG5lQ2wyCnpVcV9ZMig5VlhUVGdQZ3gmfEp2SWJ8YiF3TzBIa094YnZWWD4xNSMq
SUolSkU2I01tc0NncD1lQzZkMlQtUGtTMQp6N1p2PTQpUj9jPiNVYDZ+Sy1wdVhhPm5POEgrbHRP
SXxXbmNuSX0ybGd9ZXtuSjBzfmpDX3JxeVJ6PCFEI2l1XkAKejJEcHRCcEIqOSU1KChNdD9Qdmxw
d2RQajIzTThAJj1JdGtRbGllWmVaIXZwO2t7QlooYzJMWH14ZEQxRTw7SmlKCnoxMWtZMzUlRUpa
RDsobW9FRHthQ0NBbiQrNWJxNjFRIUstQkw8RH1DWEVMJl4jZlZMYXZzMXNLYjBZT1dBYThxUAp6
JGI1MU56eTdrSGo5NTJ7YipxaUZuKiFgIWg7TTk8aW80YDcjISN5YVRPQERjKWA1YDQmbzxZP0Qz
b2AyTk5LQHoKel8rSylyOGVTMGJhSGJJcm9hY1ZGTXd3TTsyMms0cD4mNXg+VX19QXpHMD8lfGJo
QjV+SXY5cG17RiNURDMhcXFqCnpWNnB5IWZ3SjtHbSRGS0sqPm05QTVCNTtfI2tJXkoqQll3PyQl
Vko2Jm9vUWBUX2w3TDBJM04wPSpvQDJ3YVN6bQp6TFhgZTlMa0NNRUsteWRUa14pSUJkYHd3UkFi
ZVJOeXViX1I5OVkzbXQtOzEjTDZaWUthWmZ9enQxMCVrRVQ4ZjAKem1lbGB9Vmtqc2J4ZyVScSpZ
NkwqI34zZXNQYDx+SkkhcEtKZiEhMlB6dUg/VnMxWlJuI089V187clREYlUtbHBaCno/TjU1JnFJ
ZmpjaWs9WSFJS2J7fWpaVDd9cmVRVXNIYStLT19rNT0yTV5zZWRjNj5CTWwqPEVoJHdRe08wdC1t
ewp6b0NgOTZqe2ZvITNxZVc2QHZPKVRhKU4oVz98YlVCUXIpQX11VHR7NXVzMSlLWDRENUkzPUM9
ZzYpNHEwbilvM1cKemxBREU5OEk8UTNMVEhEMFAtNnNtX2g/flNraWN0KUIrUXopXk1sQjUmUihu
Iz9nQk85c0B0eDRFVHArJGNWRD9hCnpUQk0+dm00MDg5WCRsZV9ma3BoY1hhdiQ3QFhedVJ2OH5Y
ZWshdkUmX3c0dEg9eGZ8QyFSUXlaaiQldWJBZyZgeAp6TCRpQUplVTQla3soRFNOYldPMkVDWikp
dyZhJGthLUxSIyY8bSt0XnshZmc7bm5vYEBtaDRkMUNsKHJJQTg4Z3kKeiEhZXxfQTRjIUQ9LX53
MXtUSDBHNTNWd3tTV0glJWdyX211ayErNF9rWlloKURCVEsqUiNDUzNpaDJNKXEzd0hZCnp8RFpV
QW00JStmJGE9Njl8OFNCfWRWYGtDLSt3QTA+UjQkX180JV9hbDVtI2Fxc3EmbVo5OWoxM202QjJt
PnBpUwp6Snc/Sz4jTlk+TjA0Q1hPUE5wJm5oNHFxIXpLRSZLXmB8MFFSUUlhOGBAdyYyK0g1OStl
NFg9M0IoeCNaV0E0TX0KejZ5ZVFNI0ZTQ1JwT3FIMm9Wbyt+JSlJXntZfjdMc090c09KVkhCUElO
bEA3K093KnxkX3hTWF8zK0ZEaGRPd18pCnowVSZjZm9Fa3VKQ3duODdTdEQ8Sihha3U2LVBUclQl
JGR3PSt7QjFOMUo9QW9zM1U0X2xwfSh3Sj5xWjtYaClrMwp6Q24lXlRrZTJyZlJJP3l+MGYmP2dL
Q3ImYStrYSpfZEMwfDExNnQzTkFEJj52dCZrV1BmWTR+RUBXTksmISVKa1gKem5kIS1CYk8+WDdB
MCk0PlFmcl9RcDxsdmNQPlBkb1paMzNzMmp3Kj8qK21KP2Z5bHF6cmFLcE4/K2A5ckV9Q0c9CnpJ
dm8+RXZXcFB3e2pvWHElbyN9WkRVR3tQYkkyZTxxNmF+NmMlRGJzMStFTHNrbUx5YFQrcjZxeFF5
bnwwUV5hawp6bFlOKV8lZXZGO0FyfXA2cCoka2tndmRAQ3FuRklFP0ozbW4/O0JtSCUtRz1QNUkz
MS1vWFRDbGdKbURLTGdJRHgKelpvdDNwYX5mTEQkSXs5eXNKZzUtNygzUVdaTCFpXldCOXZrMFRa
Tzd3cl9Dbk56d0wtemtRdGlleFV2QXlGVURICnpsdy0landkTEc2Y3U4aTZwMGkhcTc7RjcrRFdN
XjBnUk1mXzErMmw/SyFnNjNOSypgJFlyRitZJGJ1KUYwJmdGegp6ck93VEM1Xn5xc3ZkPypqazlO
ZGxvJCoweW88Slh8dUR+UUdEb315X0NNX1U3dFp8cWBANEV+ODcoV1JTaDlPPiMKenR+dXxIU1lr
NTVjb1UoRmE/RCNjNismWVh6ZHozZlo3KTBvbl9JKXchSTJxMFVyUTs4YjZZalhFY01heiZrNGtE
CnpgKF5pSjxTaFkrWmR1Vmd5TThVeE13b0hZUzd+P0hva2N2SGgwTkA+bjFUI2h5fm52dm1WWnp2
QnFHYkQlMzxuOAp6N3N2S0BXOXUla1lQKHJBXiNfWHJHV1h9KElmUDBGQG53RkJBU3BDPDs9MkJ2
MUB3P3sodz9BeSpHQXBRQTdUMVcKemxuJCspUTdgYDVESldfbSE8QiRgVFBOa0FfbGMyNWcld3ZB
b0tzMyZZZEtsJXBNSyNDZXI7S0pJeWBfKDhrJWxUCnpvZyF7a2lvcXFLRV9LNXdvNiZmWG5OMW92
YWtMbjRPb0c/bFpWVUcmY1RkYEstfUw8ZmYpam59TEtuWDMlJHchYAp6ZCRwQ3UrKnVlanhjY1FZ
YzBPdVdAaT49ZmR5VCFoK3MrfTA4aV82d2x5TnNHe0ZLVkMxZD1PSkVjIUUtPF5oMWIKentgOFFR
T0coRFY4RDJSYDhUPE1LY3Z+MTBjLVV1dFZtKHVJUEFGQFRsPGZNYlZnZDJkUmY3RFU/UE1iUCRG
QUBsCnpFdSo7JWM0bCs/YFJUcU1GcSZTb2N0ZSU5aVNaYTl4a2J6bT9YcmtuVVg8NWcwRytSUi13
Vjt+PH1FIVU8Qy0wQQp6WkV4MER1MD9seUQ2Y3BfPzV5M0t2R0VCJTRQaWR4VC17Vz9VKWlTRUI8
QEhhKjVIenVBTldDY3tOSyVWMFp8Q1oKensoLWcqVmlDYnIrXl9AcnB4R0ZxS0EpTFNYR2ZjWkxw
PXk5ZGs5KzlLUGgkVGM/NFdHISluN2t7PUY1UnM/IVNACnopdVB8KGNQJiV2ZUpkYkw3YWg/SG58
eGJOR2FHQm1DYWlHb2BLPlJrOUVoPmMoeGh4MktzbXBPd0sre1czYH56ZAp6ZVRDNypjaDNXZnB4
fWk0KypNKlBXX1lRQk4+TFV2ZkJpbFA7ayFXOEhxQjZVNHY7PXJLKF5eOVJrOGxFbjBxPy0KenAr
XnFAaDV3PGF6TH1TJm55OGFGT1ZOWjthV3ZNZ3VIbj5FT0J8TEViQ3d3VGRzYWolRVU7fmsjakVU
LXpuMUJzCno0R1I7ZWhfYlNPd2tAR2BmI1pCLTxicFpQUDFSPVFVP3BoJWZARkNJVj83RCZ6IX4l
PGAwQHhGMDE4KVIlaT07cgp6bkdDYiotQHQqZFNwfG04O2k4Q0tvZVRIdStybU1paykkR0YhSkNj
ciVKbjM8KkMmKHZvQSVuVXJsfnJ3aXJ7KF4KekhQUVROcU5KYEpjU0o9ZiNxbjFtVTR6TFVnRyU7
bkhpMjFvVVVUU2BUVGhuMGpjOWE/WTIpV1BkTHJVOW9JKj9rCnooKm40bjxtS2d7RGN7I1pZTWB1
I3wyZzhwKTM5emNVd1hxdGdwTyZhS0ohcnFTUU5zRGFZNG1HWU1ybzhwUiN+PAp6JT5HfChSKT8q
RCl2YkR8Wis3WiZKYkU7TDlHIStEY05qaFA7bHhPT3ItJXRed2xFT19zaCNRe1V7bkI1cTkwKCEK
ejBna19hMU9LVkBkMW93Qz5obU1HUmk8R0BNJjViSiVWRGExaVcpeWJpdTJyYThTSkVgaSRwQTtF
aU5kd0FNaSVNCnpkUFFwJiM8RktZe1FIYmdHRDRsNlEpJmRfaFRSWWJ7T1ppMDd4eSYmcUhWdTxS
UVcqJlpJeUZqbE5lOExKZkdwRAp6KFMoQ3tea3hRXktefkE3I2pJZj4tX0d2WFhld15salpNaS1Y
Q2FFfFVxVDt7UXg3S0NaN2YjYlhjbkZqVUYlMjcKekgxbk0xJUYlKDg+Nl92NlkxRlByNDNBSHgr
a3thPiY1ITMtMUR5KFhiPmAybXtZRHVWYklJMGdOS0hQKHVUaHE5CnpZPFVBRih2Ni14SHNFa2l6
WUhmX2ljUiNCdXp3Z2FXbGxqME8zXz1We0ZofnVscG44bXRGQ24hOD5fP0A/ezluawp6I1hZJkNL
ezZOfHtHZm1EKndXKnRpbF5JZy1NMyN1VSFtWk5fd2Q3dDZhZFFoIV4qcnElTXUrYDQxYjklaTZl
KyoKemRrS0teYWd8QyVfd1leLTFWdi1qQzVPTW9tcG8zO2ZBOD9eMkd4VC0+dCU+S1ZIemdJeSRi
dUdIQFVsKnc3cl5kCnpDZjIqOy18fnFJSTdPekZ0NTJFOFZrWEhAOHRwKkdZelUpVj9MRjZmO3dn
UGReNnVSTillX3R0enclOWNgaWkhbgp6dEBMfGlnN190ZyhVdXx4Mmx4JUtRWXtQQztUJW4zfDBj
WUM4Xlc4TCRvcCNHNXo9dDU4R2ptTHtKRWd0bGRkUD4KejQjaTttQEFlenRDRU08Q2NkJW1wPz8p
WVNSfG8kfUxiazMqQyQoPF5UXkBsc0UyUiF2Nnw2RTtgMncxNndmRTZmCnoyYGo4TFMzNiVCKV49
TGEtRVdKT3hud1dwenlTI3thIXo2Zm5EYE5ATEY0Y2VCPFBzfWxCbnlzd1Ihb0A7JlBzcwp6eyom
V20+TXkkTmg1P3IhT2F1VD5zaGA+NXY4cUhJSDRmNmZ3KWBlTE5aNUpRNU9PZUFXXndRM3t1JiVV
RGpWdlcKeikkbTJsakd9NUN6QiVgWj5+JExrTXhFR1NSfVFkbjJjbXlOUlZ0dGgtbklRXmY3Zk9x
ai1Ia1hWcEswQS1fM0VICno8ZUdzYkV5cUhkKzhjaklQOVp1anMrbmcrKURLNXhSNz48bDdTOGI1
UEUpdGktKDg5VHhlUj5UTW1NcXN4XztXawp6Kn57UDY2VmN3KU4hMTxBPDtaPjxKeTZAflNOXi1k
aWdCNmFMZm1BIW1tdTtkRkYhe0JyfXVhV0FwcHRfKV5EKXAKekNDK19aKTF5JUxIVE5nYF5wZzVh
PHNFI2NZZHdaRDB1SDt+SHNNZU9xTSFZcClLZlM7bGN2d3BCSjg+eVczY2lFCnpTI0haaSUxQGVx
dHI0NENLfElHNlpSelI7ZCs2OExyQF45Zz16eiooO01uPURGRGIlKXB2OFppczZsbXFncnQzMwp6
ezhBWnI7bVI0WDRkK1k8QUluJiVobWJiWW5SVDhLbyRxeHdyQ0cxWiZZT2ZycDkmNmV5Rk52Pj05
WlVOJShuTCMKelNHWlh3WE1xPjdvYnFaQVd3dl9vI0I4aSQrV0FBaD0jYXprN20janlpSmtjUUV2
bik9cG0jVmY1TDxSSCVmQ2lPCnpjfkxZbXdIJlElPWVeSmtPWkUwdHded04xUHJgNzRAYD9sN1hK
e15rI0ZraSFzRFo4MUxxMWVeO3ZKQUVSJXF0dAp6e14+SiMkTWVTd2pkYjlHNXhwSkJRNmU5bm9o
Kj9VTjR0LXBfWDhoKEI2fn01TyhRNTRvNzJBNXJAQXNnQTkzOygKejtLTS1SOGJYMTZXTDYkKTc8
YD4jPXNUMSY5dHArX3tSRHBJT1hBZ2xNVDRZNmRIX3lzR25WO34hdXdrcTRiby1wCnpOfUBCYjMw
ZzZYPj48a2ZNP0Z7b1B7JHVPbihAeHVEQG5HaUM5Yzx6bF5AV245I2FIdnlUYTE4TkhoOEFNZmEm
eAp6Ul5aMChHZUMzaFkoT0UhXlJGMlhYJmt+cFk8P0l8aW5uaTFnS2c8YDshSmdgIUpSWXhyT3Qo
e3EtSHRpY2ooZUwKenpLSypWUCl3RjQjQipTeXFDcElDYz5YODlDfjNBKT9JYTApZGwyOUIwJU9v
TyRjbUFIP1YhNmhsMWdNfFBecHplCnpWNE0xT3h1fXs/aSkoO2tTXiVFPzcxIUF4dW9pR1plP0tD
b1k0X3YySTJPPXxoIXZiSjgqNnBXVXJZYSlFJGk0cgp6NlUlXiYrMjEzZ3Y+OXpXWT81NjYjVWZ6
R1RrcT91dVh+NF9eeEc7a2Q7X295c3BLV3xSb0hnJFdyOzM3aldXQVEKenZiMDByYWZuO3xWJGkj
MUMqRFlxVERPKks5KjJJcUdleyNMMkd4dyFhe2U8ZiNzYDNne0djKFo4d1NUTi0/aldhCnpDPSkh
aUgyellOXj5jPUU1PyFvPWJeeyM7TUdpNn4qPTcoTVJaTDxlM0Y9O3U3V1FZZj5waCRnNSpaY0Bx
NGBhVQp6Qmc8YnZtJVBDampjUT1RX2dZZjw0YnVxRWF+ZDNaQigjemtkNWl1RUFPdl5GLUNscT5S
JUt+ZyQ/UE8jNns9JWMKem07WD5gNWBOVDIpNDYmQV5MbVomUVBeZ3IycypDOGshdDNnKWxeY1ot
QG9xTzNRKTgrNTNKe2BwRUdSSDhgN1NMCnpFNFpxfE1UPVFIMjNjLThsUkM1Yk9UMVI/Y2Y4bDhu
JVpHYkpAOW5FTlcxLUAxZWcqJUEkJUhtP2JnbTN5TnxVcAp6ZyhVVVgldzJ2RkVyantIbXF1R1J7
MTwqemY/bV5vOThWc2FhfDZIKzMqcFo3aU0rbD1BZXJedGw4UHtmZmZ8XjMKeitad2kwcWpIeVdf
V3NHP3tRJTFOMGk7UjtVSyQ/cilnfUZHe0ROSU1gRSRJaD5gJUM2aiM8VmkhZU5Zb3hFY3pHCnpI
aiV1TjdAYyRnPng4WSg3YEMpSExwNW5kVGdiP0Q3WWZANUhsMkhrYzVafUhHVFo8dEglPklrbTxS
Ni01TFMjMgp6MlhVNWEwMHl+ZytOfUYtQD5mJXNeNWU3Yk8/KnorakBLe2lecDQpSXFsUVpAbSs7
M2c0QGhAQmdII35xdU5SJTEKemNVdnxtWmFzZWN7SEhwczF+U2h3PSppPVdETlp3NVVqelMtdDxE
bWZxYH53IVQxTHpoWSU5VHJJPj9oV3g0PUtsCnp5b01vUXc2X1UhUCQzMl5ZbHtfdiRhNF40ZVIt
I1FeKlM8Z1omU2ZuLXs+V1pIYWR3bEsxMytxKlJsUzUqWG1ZVAp6UVkxe3UhS1JMOUd1NzctdWlE
WXIrODBKM0Y3RFAtN2BXcVFMNkMwNiE0MytFTUwmUjAwSDhITHA7PTYmdyhse1oKekkqdzgrQ2VC
aGhfLWVzN1VpPC05NW9taSt5Xj4xbjA3RkI+OF5UcmBUOSh5aWd7c3BqI2RWV21eOTBgblpNYkop
CnpnMUVRR3dMM2A0ZzJAKFFvT29LeT9AQUleclVkVjEmKlVMUylXfT1TYz4penxkdXA0JCEkKWNH
MD9jVUZZY21CRwp6NitPSXVWZFRJSlV1UiR3TTI+SjtyMDJOP3Epdkd9IzBzfTFPa1MyJG89JiNx
QEIpbTQ1c3NqMCQ8UClhUmAkQmEKelotY0tOSTQmWHtZfTteZnApQiRNQCR1Mn0/QX5CV2xiaExa
JjlgJExzNjUlT19tVGR9enBoaChAREAze0RKN3ZVCnpxTEVHKyt2Q345QGFiVE14Z2dZZHRfYEZR
OE5RTVFYfDVqQ19AeTRsYklhPlElYDFCNFJ3KHtmcyk5bXckUH1YZwp6e2x+M3YwaWdYcVAleHxf
cmxNfnpQLU9WK2ZVfkNUcVIyfFJENGBrUz1sZlB0emY8NWNpU0RfWiZnK01Ncn04fGkKek80dDVk
YHp3SCQkTm1Rdnl3JUBZVEJYLU9LWWg5TURHMzQoTWRZTThMdVY7X0JnQEdVZUNqKiVHVSlJd1M2
YD8+CnopU0dXVzBoWktyY2k3SShuaCQpS3hJISpCeXFZUGJea1pEYktpNyNAQDloTSljREdGTF5i
VExKcl4tZzhSYC15Ngp6MUExPWAocnkjcGJpVTIkUDd3VnxoNlk+JV89K2RFbEc9SXppYj97ek9m
Y1lHTWVmK1U9NXQ/e0g8SGdXR0g7KUkKeipiKUo8byUyZFE3bSlTI3VROHBtYE1DJnA7e2BEeGIx
Zng/O2ZYWUpzITlwVXQ3UX0jeW5afmVRQ01wQFdwKWZoCno7Snw+O0tsMmdsRVJNeGwrTDt7KE5T
KlhvX09HX25LJU81dWdhRldgQTNFZUQxcTR1YGUhJCVINChIO1ZRPVpRRgp6JWJPUiFFRFZ8VzNV
M2MrJHYzU3ViZDBfYzJlND9wdVpUWnVjd0diOGlsTTxwX3Yhb15SNClqM1RJZFNFbXlRfDQKenhP
VyRMZTNwbyoyQGlgZWZ2U2d2T19ibDxqOWZvJWk3Zn57PDFeT3xabnR6cmdNISomPTl3WGdKK3t6
REcoczVGCnpMSXpQd3lKWDleTSo5Pm02YkZaY0heTlYxeThXdntGRnw9YTcyUGVSUTY8I3NFTFgx
Wm9ifXM+eUJBKXhBQmMzYgp6YSF+YWloPCl2YDshYGRSRSZvUUBVTUwtVzJJbE1mQ3EyWGBwMnxy
ZEkpX3Y/NH53RndAc3laX3NuN3FOWVN8VVcKejs7Zmh6SnRWN0MrJCRgUGwhTSFDSFMqZj9rNCUh
dHZQSSZ1PUxZPCYyMVViPl4qVDE5PXpsWSEjKDJ1b1ljQnY8CmZeV1preHsmIWVBcCk7LSMwTXJg
IWIxM3thNVAwVlgwUSFGYmowa2I+CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvdm9yYmlzLndlYm0gYi9MYXlv
dXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvdm9yYmlzLndlYm0KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDYwYTdlMjE4NTZjZTQ5ZDdhMzNhMzQzYjc4OWU1ZDhiYzU5ZDc5OQpHSVQgYmluYXJ5IHBhdGNo
CmxpdGVyYWwgMTgxNjEKemNtZUlhY3tvK3l7fENERUlVTXNtJnF0WU9BflQwNUx2cWFYUHpWdHNw
JHoqTk4rYC11QSZ2fjgzQEt4Vih9O3tJCno1a2gxcldKPF96PyQrbn5gK2RLXmBfSH00XlNrJC1g
YHJFUHYjbnZUPjl5VyN5QCZQUWNudjJDXll5UDFBcEszYAp6dz8/NFFVbmZ4TyRIcz93b2pJPzZq
ZXljbUFmVUxkVX5kUTxUKnFJcW5CYG4tR0pCcUVeKGRhaHhhX1JlVj94MHsKekY7NDRCS097RDZf
QjtqMlczXyhlWlNePm8rMk5sa3p0d1hqR3hxcVMjZWVEbjR1N2xyZjgla2BzflZ9SEN2aTtyCnpJ
NVlVaCQ8dnE0cztKNFM5K2d2NlBfV2JjcEsqaWhpTVo2RHpyOHI8eldKNVBmNGF2TUpWYnkoLVh5
WGQkdDRPWgp6PjdDM2FmSjMjcGFpSWE4Un09TnpZfFNuOGpqaUdjc0lSeTMzOD5tYyspTl5UUHsk
Y2gwQG1ZIWBCOVhoMENYdVoKel8+NkRKS2BQNE5AeGRQZTtNI3ZHWi1DSk08VDQ8TWY0aXFEcipg
Q15kazFlcGw+Y09rPkwwVSgwMWcwPTVOQGdDCnojVVkmVyUpSSh8b0BzdmxVY1deaXtnVylRezdO
VUN4PG9fTGdvfXYhaUIxeFB7eGxuS1B+ZShnSUQzNE85PF59MQp6c0o4dj5JQnsoeGwmRnJSYDV2
Uyg+O0tvb1B+OFd+KXVSQE9wSEAoI2tERjIzOypVMn13YFdHdT1DU2NpYFZIQX0KemtKWFd2TU8y
TE5hVHhWXntgaStONT1wVkk2Jmc2PkRPNG08ViF0VkxlMms7aFB0MS1wUkB2Zj5fdHAjTntIRn5P
CnpKKV5XWmo5diRLe0JiPmAyTj9BUl9WX05uUXI+dGViIXdxX3RnPEh1TkNTWlFLcUJkWjFUOGFm
NEszJlpmRWoxTwp6LWhQMzxeQT47UzZNaX5zMV93JDYzX3kqJVhPdldBYm5+MGhaNHJtdHFKUXQl
PipYP0NIR2dsVnpyfkZKeisyRTgKelVTT3lDVGgwPnpZTkE/RnYzKmpwUHRzaUNQM3Jpb2s1Sz55
ZkM2Ym9gSXdjfmk0MjIyWW4hM0VeUH5UOUo3c3pDCnp7NElgUCRVTllDd2hXVn5mYWJ5Y29kPXtG
RmlWb2NZeHV1RmhQaDFgQUo5fiZQdmxNJDlUPkFzb35SNHQ4cjRTSgp6JlBpJWlwVVZ5RD9WUWIz
Pl90S2thdmtXaWtAeDB1VWxTY0B7fFNqZGlSak9rSSFMP0ZgYHRhNDx0LTh0dEI2UjsKenpFTypX
Q0BYdyNXfTd9aUxQbWBkbU59KmVYKDB6eXtlQXArXlBOQUo/STJwKCh3TFJne3t7KH16eF9VKiVs
ek4zCnp7QykyKSRqRXFjJXZXIW05K1JYVm5EZkNOWEYwPkdeaiZYclVWKC07RT81N0BgKzErRDM9
TH0wJW5PeiM7e08xUwp6MHl0e24xYT9jS3w5WUhCNnUhekd7NyYqQUcxZiQ/dG5AKk9Ra1Rycj8h
T08+I203JD5IUiU7IUdhcisjY3hgRVEKelVnZVgkLSVzX3E/Nl95UGooISFqbUxgKEw4SjR0dkB4
dm42PnRsRjQoPH1+Wks5ZVo8RmdLVzFzYE1XP3U/SkhGCnpmY1lCI2RsckZ6LT5kdzZFVFJeeSRT
d09wTiMlbztwLXJnUVAqJGl6ZVUjSTFnM0QmcTd2JGF3SiNDLW08P3VpNQp6ZX07fCUwRS1hJktM
ZTNgJU5eM0tKfTs4Tns5blVGQ0tMcCpwWkg1fSN4KXxRMTBwPkdHVW5eYj00eyMpPzFtcWQKelpR
Z1VaU2c0LTJJT19GNSNsYEJWaTtlQWh5UjdxMGIpbG5veWhiO3BDalI0Z3E1MztTUnNifF5BQ3xt
Kk5iPmZ5CnorRCNFLW9LSkBveituem5XWVV6eCYxdHBVQkY0OHhlUSRlNVdSPjJfeyhkaHtze0hS
T2ZjZkIrZ0RhXmRKZ0Y9Xgp6c1drbE5lQnkxTmRzKEdyKzB5U3k3TW0mO3s7ekpqelhVRDx6KHRX
MCE2R0x0TUdQJkd6K1pHPmBVNzxOVW56PGgKejJGcjh9REV+OVlfaVdrLXBtckRrKik7dyYwUllm
PFI8bjEjPVFtPiY5a2k2U3Y2M0NNRyNzP0RgTTxpJUp9OF45CnpBOzhqckd6Zz9JVGdsNDQmOEE1
ZklXdXRYNXomTCphPFRZe2soNzZCe1g0fTM/cGp5Z1laKF5JU0lSXkBsSnZTfAp6aX4xJFNEbjQy
M0MkSmFZXl5vR1FXVkEja0Y5OSVUTHo2LUx4RWRNY3spLUYlWTAzPSFUMT9mLU8jaDBEbjR4OU4K
eihhTEAzZjVyYmRle2NpSnhPRlkkeyNQWVBMbn5TPUQrVm44aXAldCZtRVdWYUVSZnlmZXxgTyor
cDAjfEdHT1Z+CnpgajU3ZGhQMi1RS1FYVFZiIVkkbzNqVioyMDVpaHNDWHRgSkZndEl9QSZ8JWhm
e2EqMlhsXyZWcHBDTDkmRWlVNAp6Q199ZnNeZ2EtTTcwbXZQZyRSPE5fV18jKGpGRjZmPC18aygm
YnAwYzVQZ3txO1VYbCVoeGZuTjVie1EhdlR6YyEKejtheEcoNXdwWlkxfXI1c3wxUn5QQSFLTGZN
bnAxZGcjIUJqP3ZxLVE3WDt2R3dKYnk/eEgpYWwzNG5jO1hjN1NLCno0JXJnT00qcUxOeyUzPSVB
UTEoRUIjO0slcFU2eGlFc0F2M2ZHbzs+RXd9X2lNdVdVOGFuUVNKSip6VnBVfVdQKgp6MFNmPnla
PVQ0UXVeSFlqXjM0YGM1OzZYdVd6TyFLSnJ8TVpgKkwwRFZBdjBRdlk4RG5sK0Vzel8/QW00bkF2
YjMKel4yKzFePn5TVHByJEVCaCN9cSZ4MV5BUUJJQXFVODxjVE1obHg2PUBpe1gxXkdiPGI4K2Eo
Y3NoX0t8RlR+Yn5uCnpXNDVrIXpAbl5lWSFkI0pUd2VZSVh+PiklZER+XyVeeUAobE5RPm5ebipL
S1chUD85dylDSFNWOyt0SndVUzNJTwp6Vjl0KXo9YHN7Ym43alZLeDRpc09sTl9fekwzTj1uNHch
PTttTV4/aCFyMzQteCE3ZXYyU3BafFlVdUdjTHI4dj4KejdkVks/YlJub1NAKn4xKzNOYnhKRCFL
WjdKUks5Ukt2KV9ETzhgTFBFQDhLTnJ5d1I9I0xXOXZCJVdQZ090ZzV3Cnp2Syg3dlgoYERPWioz
d2FUOXsjWlBTUz9pUW5EPEFSJG9kcSgtTUdUMHZoPXg7Qyh0dzBHMHtCM2Rhd2FfTmhaZgp6Pj5q
PTk7dytYKWlnVVQ/Q1deQyY3LVRIVGdLK2I/cUt2O0hrRU97JG4hMDUxVSU0bTQoZ2N4fFBNSnVH
I2BvJXAKejdpU0QwQCh+KlYpXz43MT8za3JFdG9JamdPOTteNF5mLVZVS2BLays/YCVuQW14dmt2
R1hkcUR8QWw4SkdLfmsmCnptckQoQ0FhYTQzamczbzwld0heakckfGF3aFFSVTxYaWFrZFA2dyFZ
QHpobHlHbEYyfEpRVjhuSWcyM2t5bUUxKgp6MjduYWBEbkxaPipgODM3PGZXNVFfN3B3Zm1wSmFZ
Ryg7ciNWJURiPmo/Yns5TXBuZ3RrVXVMaExQJFI0JCleSz4Kej5KIWN6Y18xT1VgKX5CJDU2Z3F4
ZUBGanNnPTcpbz81fjlPOX1pMEskM19pbz0/KyhHeWZsN3E/fmNxVTFTOH41Cno7eDZWNnExVHJ6
d3gmakE7RyhyLUApUHw7I1d8NnBrQjxJdExWRVFpZ2ZsOyNrO3d+VClSJlplVzl3bGQ4RTxLNgp6
QjNveWxZKko4byt0UT9CJl58QDZ0bXU8dGE+ZCYtRGFNa3xKfn0yVmF2dF9LRTJ8d29fdmlfP2hv
Nit9R2o1TlIKekhgSCNQezwwK189TlI1bkE5aitGOWR6X2xjKzM2OERZPntWSjZUYUBZczZBVUBz
bCRFVlIyfCs1UFJkdVcwQ3RECnpIISluaUhMTCleNGE8eFcyfF9hblJUTnBLczNUT3RzODN5Qmpp
bWh6MzFfNG5QfHNpZSRJPTh6YHh7RUx7UEN8NAp6dngoJldnQXhaU2w0Tm4qLSZ8JUJpUSojbWVg
IW8qTUh2U25PTVBVdCRWQn5wUHFZWTthMVlYYDN5e2Uoa3hXMn0KejY9eHRybU1tczlwJUlOfHdV
bUBCVztkWjBNbHo4IVlaSUQrY3ZnZnM1M29sbkZwKSVObXRQR0xqPUE7M2QyQmRPCno3dChNRXs8
RXVpQX5NZnwzYDxFXyFgTVRgKyhxMWAkMm1ncWohQzcjXnAtdGttYzdfbmsqcXw7Xz42UkdyQ0R9
Owp6ZGlAeyNwKGlDVnZZRmlhWkBHKHhnR34hVTc/RTkzNTVSQzUwQjghekJZLXBzekpAU2dMe1hn
SjEyRVIkWUApI3sKentoKTk+NEtzQHNnZ1g8ZkY5KXBjb3JfJFlhZCNsT2BLZH5ARm9pSStvKHYt
cXJyXiZGZGNfdFB7KnZLVHpvYitzCno3TzU4aTJDI3kzJj42Nj55emY1az5Faj1DRiszOEVQZlNU
ZUhifl4rMGc7STJEdkMyT1AhOGVkO3BPOE81RVF9Kwp6QTM3fDhZfiRlWGoqVyFAMTtzeFMpal56
czs9cDJueUJgd3JGOVUoTjJNUEE+XyphRDJ1PClBVXNibDVfaEwjNGAKenstK0I2LXYhUWlrZGko
QXQrTX1qUzwoTTJkbCU4U0p5Y1c/VyY3WiNmYzV1MV5OK2dpLVNOUCVGd3d4cVFxUzdoCnp7Rks0
OTM8VSpeZ0lpSGZMRSkmdi13T2J0VnxBZ1NXcGV+al9AMDAkZ2ZqMX5HejMrOXVvMUJ2bTR6QShD
NWQ8VQp6bGpfQmVmVkcoOSZpIz5eQHRpQUNiMm5jI0tKZEQpKnQ/WTQqNkpEUGs7fnc7Tmo5d2hN
aW0kKUBOe0JBK3JURXUKejtnb05HZmpUSmNBXjxlKGBFe3crXnd7cVQ/JG8xd3BJX0JTZTBFNCZa
QCN8V2EpOVk7dz1JNjVAKUs9I2NIZWd6CnpQc2d6TkpaSHBVTXdhJUQ0ISpsO0MrKWlNdE5xSlZP
XztBOGQ1XlBEUG5pSFBGdDFlSWQrODNFQFZFKDQpbmkoNQp6NEtQREFgSmc1eVFIWGhEYy0oPyFl
MS1HYz9YVTROTUYxI1ZJaTJlaGM4UHVeb1JSZEpkfE9TaUtjTU8yPHJ2PlMKejspfFlFUUA2KUNm
LUpTZ3R2a09TWmE/M3NwRlZlfkhGVlEoQ34jKWc+R0lGSl48MUdqOGJUZXQpPlJ7T3lQOUdwCnpl
RWVjRUY4RGBLZmA7dTRGcjBiQXdDM3NFQGN+VnE7Rz8td3ApVj1kV0o1bW5WQis+QitJZXctVWpW
N25NVSFibAp6citIO1JYektTU19DJlVUJmQ8eEFEKndPfDh9dEQ4d29OZHVOV3RYYHZxJmFNOGZG
WF4yNT88QjRUMW1Kd3hjZXEKekcwRkJReDZDbm5ocERyQlcpa3dULVhiRXZfPnwyS2ZVYE0tdkJ5
TEo4XnN6bCUxJFZNYDImd3tsUFdpe3MwTl5eCnpgbXJ1PVp1Q2hFMFBgKUJmWkZTe0orUChOTE1Y
T1NQbFcqMztCayQmVzczQXs5UlZ2Pm1NbktxJk9ASiVGWWQldgp6SnlTQXApXn16N0chKTwmN0o4
cXVQWE5feSh5TTA5ZlJrezAmTV5LPl9fI2cyaTRqN30/elc2PmNZYztpP0pLRH0KekVDPXdfSUgy
fVAtYG5ZclFiYHYpY0dTYEBuVUQ0LSNFK2haYWtLI0Y8bDY7a15gIWVqZUhgRislejBlZHNsJE80
CnpOKShwS3ZMcHtPR2E+UyVOWHlPYno1MXNGJT0qclFHamkxcCFQR2Y+U3JCJmF3fDYpSGtraWJw
RWRBWnpfM2gwcQp6djc9PzArJCp+Uzc2cmRYPXEyUmF6fm5pZzMlfl94Vjg1QkNje3lHJF5KOEM5
QiM4MnwhZzx8V3lIKlY7aHIzVkMKekJxWWRTWCREalhRdHB+NEl1UzBMMitGY1p1LSFzeSEzblR2
KSNARW8wfFF7UnJROXtLYUE+WnE7JWNFZHdedFRMCnoxKjljbT9pSW5mUisyNG5MWSk4elpkd0Um
MS1FTDViQGF0XlBMQCUoUzw4VmNITDdQOT8oVmZ4Jm1IfiFNaW17dwp6Jl9AbXllWkU4N2gmcDY0
RUlSTXNQQjs7aSN8eCVae1lMMyVmc3A2Wmx9UXRRZVN9TjRlWChQRW4mMCpGPiFtSl8KeilHdkw5
cFJQcG0oQUZ3U0U/TypXQ3pocG9fZUlmQzI1VnQtTWtrOCNTNUd5aUtAfjZuTWxfRkdgb3IhI0Jo
a3xMCnpSQ1RfbzE7a2ZMYz5CeGZBZFFRZkp4MnFGbU0wQnh2TWxoK0JHdChAKkNeJGo/a2A2WVBF
Z1V+MiowQHxBRnZYQgp6Xm49UWYtV0JaKWtOZ3UyOUtTYT8wKUhLRXFwJlohdU5CfEJkel87Uiop
cjNnZGpkcCZJXl5hQWdWeHVlYVBZWF4Kemp9cThhWl8xUndabkc/RGd4NiltVSlPSSZNWDFYWnZK
eGwoN2QwOWVFaDxVUFFPOH48Pmo0VT0/JUJYdTxUaVRICnpnVVBsVystRlJxbTY1WHdMVH1SYEBN
I2MkOS1PQ3ZgUjR0U3taTjQ2bVNiYWZZcGckc1pNVGozO2hwUUY/WExxfgp6RVc3SFNLQyVBZCll
ZkhuPH0kLTRiKj9jOUVlMjN8V3c5PmNFfmZMOWYtUE08dmE7dmZHNlJISWI9TDNPLWZuVD0Kej56
bW85WkVyTmdLRCkxISswI1NNK3hTZj52KEBPZHI5YENwe3EzbitmZ3pDKEtzWHc3Z2h3aCVDTkU2
PDQ5eGtPCnpNfmlEKl5AVEVJcDZSUTZ7MnBQWDBVK0VIO25lKngmMGpPN1hgNX1eTjgjeWQzYXgt
U1AyOS0wbk0zTig3b05QSQp6a3hnK0kwdyNDakh7MSZKb1dlQmp0cXkramNneXA+SDZkUHxUK09z
KmU0K3pYbENAYEsmdX1vYDBjamVkZDsjP1cKelNRfnQxMkp3ZlUzUiQ7V05QbE8mTn5mUHdoTCQq
VXkkUGApJGl9Pyl3Kj04PTBNM15HNUdUc1I2UExLczBLbWlqCnpkdigtNjJtbTw8PzhRSkp3Ym56
clExMilLSUtZQlp2bWNpIWpEPEJPSE5XV1peMy01THFGSl9MVVRDTVRvWmA0bAp6c2lSdlR5WmBN
JXpBPklxY1BXNDhKc2Y/TyVObnBuZXlxbDFpX2p4SG09eW0oPHlyN2ZqaUozIWZUWjJFKyshc2YK
eiVnZTBRUmhuXyooWk4pdWxvRXI8QyheY1R3UXZmTVI8cmVzVElhKGtFUlZlTjxnJXU8RjFwczE+
ZW9kaF5rd2tPCnpsVS0/QXlsMVQ5bmEkcSVoVVBycTxjcTNpKUd0ZTI8KSEmbVlZYmMkTDUrKkxf
VT55RzdnXlU/XmA9RnJ3b01yUwp6KSNodHVsSkd8eyhSbnR1VSNrO0U2dTs8KlIjKX5HMEI7cmdw
NSp5Wl5mfFVPUC08VjwpeXc8NXVuZFRKJkhBYXgKel9HZ0YjWUxhPHBTTWYwX1FReClBMEg7XlhZ
cVlqfU8mK20meSNkdUBATClTQ3Y7ZkIrWn5fUU1xbHNDJVRvN09mCnpNRSVISldQX1VXT30hdD5V
Wl5LZTA3MDs7KWJUTzlCK05edVIwfjxHUE1pLXliVFAwLVlQWEJ8UTVyQ3J5d0A5eAp6VDJsbHN4
clJmNkphdHVvXns/U1lsSmVVT3gpYT5VU19PQkhpZ2Z1fWsjOE8leG0xSXwmMSVWSSE1MkEjVDFH
IXQKem8tJEUoZF9zSy0yQGBieFhvbWBLTWl7PyVgSE1kJSkrYnlme1VfISlGRXZENUpia2FIPTde
JE4jQ15pVTlaKTNRCno4PVFUYD9hSHcqVU9XQGtjWlZJRDBZQHNxe1RZMTVTbGVMdHVLKHN8d1ZQ
eSZ1S2lFJTlreXkkdWZiTGRRZUhoPQp6Um1IRyF6OEZMV3tiWSN6ViM2IUNleDVqPUYyR1B+a2A4
dWRjMEl9TnFqMlBZIT9XeysjYmBiTnM7XnBTVTh1ZFQKelB3T0JISUA7X0M9JitQKXNUcUBuZkU1
QjFzblM5blhkKUVfVGYwMX09U2xFUU4kbHxuZUU8KH0wKWAzKjxuYld1CnpSR1I+PCFMRU5xR25P
LWFFWl5BNHdoemRYQ2lLYFAjdU44aWlNX15DWWpIc3JNOS0yWHBOeT14NTMwPWJ7PDxITQp6Y0xK
TEg/S29vN0EyaipGTGZ+fnFKUjxZZDlJcmhLZyprVSNkKjhpQWNTWkxsdz5kVmFobTUrdU0ta2gr
TkpmZU4KeilXNnNDe1lpaCZkM0w2WVZnUnQ4K3NsPWd8OFdPUGhATG9oYGotSVF5fj4hTjJ8a3V7
eGVKPTxkKDNnMCg0Y1hgCnpIe0wkO2kjXyRuUWhaP3tATkw0VVBxK1pgVztNRHE9OHlZU3g8fCZU
WXZiPTYzZURiMWQ7Tz9AbmpJe1RkVmBLVgp6enBII0oza3l3UHNkKmVNKkx+MyNwMWt2NVUrN2FY
RWxLWi00JVpZMTlUcVZ8KSExRm1EbV9tRFAlREVNVXMqbWoKekRVZyFIJDMhS1Y9d1FqVnhXVDVm
KlZHQG5YKEJYRz8zMmd2VGcqV2w+eThscj4qSWlXa2JFM2pTNFJRbXlBI0MjCnpUKyNyRFIzYj9M
ZDJsckUpekBLJVJQZk8mRWFqQipuc2BffnlwMCZtQHB9aX5YdU8tODxMeFl2IXtqKDJtY2gmcwp6
ZXQmfjlkc1BgVWJrKms0Z3Q7cmN4JDI0TXojKE0hZjsyYzdRcDRZO3NIcFdMOS1sSndEbypxOVY/
KjFIeH5uKWIKejJkJDRAN25TVmZofUBgV2ViPkdvVlohQkw7TV5uWiRFMykxYSN7Tip7NUZfZXol
WFo+Mz02bHpWfE50KnkmNSV+Cno7c1Y+ZkNiIzt9YHM/enp7dDFJNlZxUWl6ZSFNOX5SVUFzKCRQ
eExLMzdrWFpOZjNpWCZSaT0tNCU1cHc+NmdIJAp6LTc8R09mX3QzfWx6QUpzc29nI1hfUVE/Iz9J
TyhwNiN6eCM7dkEhPlZyO14+YVdxYnBaWDZYNEJ+PGJBVXtCSCEKemUjYSs3KldWRGl0U1NWSUxD
fDY2JnxrU1YjST5DfT8xfDwxZmUyKUdeaWVRV3NIYUsqYnFIM052OW81TWYhMDBBCno5e3BZRUx7
dWppVlV6Q00mRmhnfE5scShXZXRnclBzVFFzWUE1bWI5b1hlJCkmTT5DfHFCbU9sPygqfVQlJUJs
UQp6a2l3PTxZZjRKI2R7TSsqQC1PRVB0ZEhCLTc1VG5IbFkzVVVLNCU8ZVhJdU03KkpwKXxvQTdm
Kk9QRzZIO1k5JXMKenokNVlJSlo7Q2xsU301YjI4Xjk2SnJxUmlZZFY1KmdPV0wzUEJfPGRffX5m
RCRRNn1ZKUVYOzNJKmdqTXlWaiZ5CnpMTiMzJXZBeTZMP1clU0t0S3Y+OF9gJHRSOEdkdV49VXFH
VVpeZyQjTD83UVRvbDg/WUxSNkNyKCpVJWwzMnUrNAp6QChQU2BVb2FLaThZP0VEYUlKX3FfRzNY
O2M9clFod3tPd0xYdnExRk85UHdtb3k7bWtQNjl4RkFlaj1UKSZ0bEoKemJmQzE1ZW1lM3AwNVdt
c0xBWHA4dE15KGMzYiljRDBLcFVvc30hTks5QHpETyU5S3JzeVlBaVJkXnJkNUMrViowCnpQRXdW
czZWe04xUWdfKChYbjByWXlWU2t3N2xeMFJPPGBwYj03VXlmOWxQcEFDIS1QfU1iWmBHQVZ5Jjgr
b3t6Sgp6TDs0cWVAN1ZGWU1mZ05JNUUwJEA0KENDfEprb0pESHVrd1NOLWREd0Zlfj13X3JPeHUq
SUFYIS0tR3FERTIrQlQKejdtWlk0TE1UKmM/JVBjS0ZhVz1pN0okZCQ8akt5P2d4eGB3dHRjV1I9
eSU8bj9MRmo4UjBXc09yRlkmNj9Pd0FKCno+YUViKnpJZ3BsLXE0Mzh3QVglMml6PVdHLSRpWH1u
KXptUUByNCZiK2NmUmlNa0EhM3JaVzN5c34rV2heZ3B6Mgp6QXp1fW5xeWo0JiFYYDNrbX0wajVF
OzE1UUUtSFgpUCVPPnkjPzZWVF8+TDszKCgrSUlGbHRLKU1MUGFAVXtNekwKemxAajFpQXlqc1Yw
S1VRZEpoS2AzJUImKFdvVnYlS0dSSUs0cSlxQVdacENIfjV1KyZXS0NKdjhhfCFQMyN7Q3tECno2
aDhGYzUzazlFMyZ9JFBJVGBRb0F8VyhTRmJNbFo0KFladiYpRWZqcCZtUFhFPkUkWXs/RX14KW1M
JU1IfUlSXgp6SEhmYCgtX0hHdCFXe3c3JThCK3IzRGxyNzlmZW4jUk19RERuLTcjYEB8c2xSYEZT
fVR4K2FDNjhKdDE2bCFURm4KemhaSX09LTlLbjx6cHJ8diQ8X0JoaGF7Z35mb305MTtyVGlBPD9H
PFA4ZWl+QTtueFM/b1N+VEptZDhRLTU8Y0VoCnp7NCFQWkdXekU2dGcqWHVHbVdJUEV0RUswUVA+
UyNEemZxTlE3QypQa0JiXnxYOWNCI1pqVlp0ZVpEJCpmaXgxVQp6ajVgRiZ6UHl1OU9BQk5gSHxs
KnxXfDRWZksreExaViN8YipHPFlwRj0wTGc/Q1YoQVNoeGhwRmUwTVo7JXJ8bFUKenJ5IWNqRXA3
TTJKMF51dCVufkpsbmRCejs1K1NNVFMoI3lSTDJIPjFqNzxDWlpDaUdPenRGc0g1KllwM1l+TmBW
Cnp7KTRZPnJvUGN1PFhWN21HaGd7Nml6NEJ8OXQrQ0hwKlFKSEVzcm9lYVpZdWxHTklaRG1OYEFB
MlI/dEZXOE9PIwp6UVMkZ31Zdyl8OVRae2dEey0/bFY2YjNJd2ZuVUp3RTEkaj4/bUc0TDRYO2xO
YGU5JjBFIVlpST5FTmhgZzUrMTgKeipQRld1VnRPJXdILTY3VXpWZkVlMHE5VlRJMTZBYyUqWSlU
YUx1ek1hIWc/O2RLZCNRbHY4d307Ozl+Z2koI2t7Cnpqa35wRW89fUhqQVRmfmVkaz1CYXI1dG5z
XypZNkxOTXkyLVpwNzM7by02Nit1O2F4S218P1laMW5VPkNoRGkzTgp6ZmNfNG1xITtTKDUrR0sx
b00tbDlQaihpe043d28lTTIrbE4wKzl1aCRAazwtbjs4UjgwUnJmQEBmfHBQO25JRWMKelVeKTFs
dHwralVTcWRsK3FfOEdRI2JYYmtPOGVBWU9LXjJVZEJfSFRfQiU9fjdPSkJyOSZrK0o/MUJfTTNs
bHR4CnohbmYoTXUzM1UlUz5ROHdZdHBpSWN9aEdUVkNfcm5BcDV3c0dLJX41OHZjUyZoYkVvR3Am
fkxiSGpeU2FtYWheJQp6PV5VdWdYX2RTa2g0VHx3JWhjWDtEZmU3KzxENl5PQXElTn0wMyNQM1pL
T01uYFU5LXlBcVdKZ0txMDVKQkI2TzIKenJrX21KKGJlWVlmbmVJQk9YTW18UWxWYXlGP2pVO20l
cF54RXNaOG9veHtxTj92UWVYdW5vU0ZfSCtPTSF0NXB4CnpGNWBrMDJnI2g4UUhvbiVUemR0QClG
MFg1azFve1hCUzJDSTszVnFtaUJXJk93ISlHYHh1dDErakVkKGZMU0cyPQp6T3Z3a1FwLX1QYT13
MWVuVWU+PFkqMy1fWCpCPXZFNW4mQ3ZuNURVKSYtIUdPO2JZaXVKS0R7NmZzJVBXe01OWisKeiZG
TFhmN2duYTVGUWlMQEYzRFEzUTsmOX5wT217WTRKTk5aO01SfT4yTUpHVXB6eCZuQiNDY2t0JDwh
eWdQV1ZSCnp3SSEoaU1nUjhpdFQqNGQjNmZIemRgaERYXigrOXA/MEJuU15DQzE7JiY2PjA7YSZ6
S1hlM3JgOUVUZDUoRiYpYQp6VmpHIz11VWY3ajIoNz1tMmN8blV7SmB3akRfJSFIa3omeUoqX0c2
SyQ7fFBqejJFQmAhQFFGUzhecHVBQCt7MlEKekpWKHk5QjM5eW5lcUAzTz8jRDYxQHxCKD5ORWJw
YV5fNlNgdGkja3tecyROazAjdTxNR1hjX3IkN3pvTHNDdzN8CnpDI3lSZ0RhTXtXWntEQktkO0U1
JHlvNCoyOWFsamxtRnhaO0tEKkNhS1ItfD41aWs1Xjs3RTltTipQd2V6bnJ4dgp6RyN2VTFRXigp
fmJBZ3lSeUkpR3JyTitLUEVnYThjZip3K3p4QGNNTHRQRUxNZy1UcU1NUE9ueUxwNj9kSiZvcG8K
emNXOGhXOzIqPCtxQztEaUtmcWBrcmoheSNeR0krV3VXUWRSaU9PKU1ZTiZaNkZ4PyNGTEVvbCV2
ODBiNTAoYyp1CnpxKz1JYG1TQFpnenBtOzs/Pk1oUC1GKzx7QVZ1Y34ySzx5a1l5QSRZe195I2tD
KmU9eml8RC14SzVuKWQyZ3E3cgp6TiV3c2I2KUloQmg0PU8qSEI2Q0IzMnM5JWQtTW8qRShUM2Mw
PXFffmpHVWxUdzx0bTZefHlRfTQjO1ghQVZCdTsKelE1eEhkd2hNZ05od0Amd2EjajMpNzxDRz1K
OGJ0NFkrfmFMOCFwUSgxYGpAOHhzRGR5JD1HSEN3Rik4ViZxO1NGCno0c3NJe1JlVXIodWVEIzgr
e3p5SCtNaFVMLTA/QDBJV2Y0ZSVYI1JPI0k/aD1uY0MwNzNWPyh9cjxyTHYoTXNqRwp6JUV1SiM0
RTJmKFUqbjsrRDNPfFRyJDVSe145cGg1NCFyMlJiJHhpLXEybG5eUG9BcVlqNSRCQGAjLXVLRihP
cGwKelh+N3gycmZjYWQ5PjNnKjtzZ1orQXV8VEEwPnJpVXttPk9FeTspTWAwPSt8Q1p+diRPe0JD
YiR7TVd0cmMpRCpXCno5bWJxY2JvWjAzTjRqY017bG1FQnc5ZT96NT1EOHxpP0U9SzJeN0lQOCRr
dVN3ZCV+bEwhbD1GYHxBJTReeWJtawp6cnRyaSN7IVZAaCFxbD9ieUFlSU5gdyhyJVgjbGhhNUFs
NGppKFB1cG5PSU5ZRV5IKH41d1A8X2FsNnhwT1YzQV8KejkrXzlRWD5YYG9pNlRQM1NDOTdRY0d1
cG8oO0dWTjluKylqIT1GPnpEQH1CbXgxQCE/RGB2X1QpKUFtYyptRkFjCnomYVVeQns4Mis4Nz1z
KmQ7NjdtNUpFWGwjT2x+IUokUUY0PTJhUzUwZ0RYeU41M2g9fU5EWjNNZjVJRno4M1F8aQp6LVNk
Q1opfGZaMlJKREcwdjI3Oz9sWUlzUCp3NCY7S2ZoTE84Ul5zeXp1STR1UndeQ3x7UEN3TV48fll0
KGhAdVMKekxENSptKms9fHtVJFBYU3h8eW9EdXt1bWBDQ1V1emVIcCVWKi1eWHI8Nko4RD58RHMq
YH5iVlRxTiY0MG5LMllSCnpLX3x8OGcyR3c/bG1Qb3JHeFJOM3tIfnNFeHc1KileQGYrM1FpZDZ4
RmZxP3Q+Z3JEMF8jQiVudCF3PFdmN0NyTAp6PG5oR3A7XjdDTkBIcWlXTURRYCY5R2NEZV4xSGR8
THclbChrUCRiWDclKj87aTVePSZ6cSlAKCkjSiN3YkBLOXQKeiZnQEF0ZHdVSiRWJCp1cXl2WmNH
dXo+KDIhPTRefmUrK2QtVS1pRCRqaDxmeytHIUZ2Ty1uKCVIPUM+MytjZWF4CnpyckZtZVNINjVZ
eGE4S0cyTnpaVUctK1YzU3dlKiExbjRHJFpBPCVVdkNyT2J4VzQ/OUtTPmdLMHYtI0ZaVCQkMQp6
ZWN1eEdmZ0lXek99NmsobmMzWGpuMHdNKnl3fnZmJCV9IUh0THgxVlc8NTZfT1N3STJ7Y31RO3Zh
cGk/LUdaSEcKek1vWlh1PnNQWmNEfTtTc14mTF44Sz1wNDtFQTBNfHkpemxXaHx2KStQeUprXzhA
PUQ/PmFUOHw5T3hAZTlfKyhiCnorcUtlcj5LYk9iRXU+QUdtQSs+dilIX2FxR1Q7JlF4PnIjfEFA
fHRsWjJhK35FXmo9RmVHR3k9WjZSa2cre2U0Zwp6TT5XciFjJTBLdEEpKXVsb0FLUDReQz1kV0Bf
JVokYGBhTWctZElzTFk3cmolSn4wd0txTi18TVNMcipoIyVnUyYKelYlfH52bmtgaDRtYzdNZ0E4
MktsX3dmYWNGUUE0OHp0NzBrMV47Pj8+NztXKmthd15tLU1HYGNZfH5ZVjhYSERpCnpLQFBnKkA2
dmAyd3czPiFRc3YxRlBsQz4oY0loZzl0Rjx3bXl9cD5TJEd0ayY7YFRQJF8/Uj5ISkM8aVo5dFN2
OQp6Tmh4KVJecX5KYHpUZCpXKGQlMXBpS3UkdFJQfFkqQSkhPW09Rl5QU0xHSEZUNzNXU1hiSXVR
e0k+M0xwSyNkJTEKelFrKW0kMkB1TE8xPWh+UylkRnlKZyN9cCNVRU0qOERnIXJZbXA4dWh6I1Ro
QkFqd0J9bm0kPHFlNWRYc2l8MkIlCnpYS25RTm5JY1FjY05tSmROODx4aE10Pl85ZUdHV3xXZGhv
S2s4SXVjMWdIUzlgKGZUNG9uY0QkSnA2VVUqWT8kdwp6R2A1c2dXdmFTTyR9al4mPnZzY2kkWWh1
cCUzZTFkbEB5KSg0UHo0MEFHZFpJYUVtP3NAUlpTcUAjTlFkeTw0O1oKem0kPmBvJElxOGJeJFg8
Xk1CVWc8MHczVVN2JSRleTdyMU5QZlhKKXNVdUFeOURhNSFedCp3UXpBdEVRTjczUFFuCnpwODE3
dVJIY1RAZiFkNyZVYTNkJVMhRD4zWS1OZXE/fXJJRHBEUj1eQ1ZoVnhlZFR3fFVBMFJFeUFAXnsq
dkU5agp6QDJDd2F8RDthaihAb01WTHRFeG08XmVuRnJvPjsmY2p3SHpKZFYxWSF1eWlPJFRoek5l
UjtyVG5vQ3VQZklHNXcKejZkQjNYY1hfaD9BVnBkWV48SXlleCt1JFkoNUhZWCRPQkpNKypvWXxA
S31rUjBsQDFtcnQlbXgxUkpabDE5JXdHCnpIMn5PRmJCOVBqREN8VElBe1E/WF89MGJ5TS1sZlVJ
XkRYMzMrVDUxV1h7YyYjbT4zTlhNKWxpKG8lZCs5UGxzSAp6dm1gKGJAVksjVSRmZ1ZAKlledE5o
OTVnSms2dVUqcFlgcEhlc29Vd2l+TygjVmt+VktDOT0oQHNqRlI4QTlLNkQKeiZaNFlecXZSZHFD
UXxHOHpMdntrRSZSIWNaQCZkJU9aM1g5VlFOKitzTCEoVEdyemo4Zm5uNyZDZEpNXzQqSGZFCno/
KztPKTU3ditiSlhwOEkjYylfRVJRT0l3Mj99SmR6UDchMkxPWEF9bjEkKSVJa1hPUHJVUT0rVWpg
KDNhbUd0JAp6SjMrRGFFVXA7QVQoRXo8ZEFVKXphTHYpP3U0Sk1PSjVhdWFCfkUzYXZje15JMFpn
akFSc0NwckxQK3lIJnF9P1EKengpKihhdjxXfTxSc0FlfDFBNXo1MUlNWCMwWU1Qd21jcCFsYmc4
cH40OFVjTFF3Sj1wZUIkPl9pYXtubD9UNFUyCnpjXlFjNGojej53VEd4UEJZZkkxcmAxZipkRDNE
Q2E1PHAxdDBNeDhETikhbWN0WHhMQnUmbTwmZmQpV1BacVJ5VAp6KiElcGQxbnR3PXF4fEo4XztO
O3N1aV48JUFNQVNXXz1eeXlucmhiOHYteUQ7Xm92Nz48b2BWQUsxTilSKCVaPEoKemM3TSRJSUco
JmNETCVEMm9AekpCYWBHYWA4fHtBNFYqc1hlWVR2dVUxMjxxSWwoS3RhXjZ7JTEte1Y2dHhvRDQ5
CnpYP1d5N1UrUj5WK2dCTWFhaVp7ITNZK2EtKi1ZZnYhJUpATnk2SDBtNmlnU2YqVzRXZW1XSEl0
JGMzRXlJfVd2QAp6NU88QEJEMkYyXkcrKS03bFh3dm4jOUdeU0pCXit5IXAkemRuPmNwZCs9MDc7
eSl0YWhXYHF4SilMTWw3ViNgYFEKentxTj5NMzFxY00yOGtXPFByeUJWWEpLRktFbj9kVz1KMWtL
VmItRHBudlF8cmtRRVkpZmR2b2s3fSNJfTVRT2M/CnplaDRGRW9PR1olbE1sZmNrd2VHa24jRy1D
XnVTJTRhWX5qdENnVDhldSV+cW52NGxRcW54STBRKkAjK3VtQEV2fAp6LVBNNTt0b1hePWNtZ28w
aWt0Z2BINSoycG01NnhRR1liUEZ2YUtscm51U3soVz95PnEtbXN3fFEoRyZ3OH5rTVAKekNrJXst
Pz91Q0Y4RzJMKiU+V1ZfSCM5cGJZZXVvTUl9VDBwOHtERzlIe04yVihzfWVvUEVQOGluemt1Rm96
Y0RjCnoxSnpkaiZiZkpCSDxnUFIoJXtwWjRKSk0pX2l0TSRFSC0qST5TO0szYn49cngoR01iMHRx
bEVPUzx4SHRPbjdXKAp6M0oyMUdFJmwzWDlre2FScj5haUdKXjs5cWVpcyFQSShSPit3MWxnYTIk
JHc4UHk/S2txaj5OK15Ebj1DTCRxYmAKejZnJFBIT1JTLV51aVd2ZFYjIVc9KntXMDJAVGVCX2lA
S2tqYCVXMmBrTjlZZUYzb3d3RUR0P31mUDJHKzw+Pm1oCnpLSF4xcyk7K3IhRCYrP2YtWT1VNzMz
fmd0ZmMxfjkyQEAzUENKK2B7Wi1hWnYhemVJVzxyO35JOXcpQXU5enhJYAp6SzFSQ0o2fT5ObG9R
V2RXMXYpZzI0TT1VUSl6O3hEaU1laVFrZD9naXhGWUV4M0wjSiYwb3NGSU9eKk5lJU5lKCkKemgp
TFkkWFM9c0tUTypTNEl9X1dgRCYpU0ZPQUdfUisyc3JBS0VVUnl1fGR3ezBaYkJTSUx5aShyMDFQ
VDZ+b09YCnpAI0xoTV9YfkUkYlNzZnFXKzApcnB0Und+NHsqXz40JWRpI3I9c2liYmU4QlY9ZVE2
c0tFPE14Y3ROLUt4d0l0TAp6USo4UGomNWx3T0NKPi0pam5TWTkyTnskUHN2a0NqciNfUjwxb2It
KkArMjxXPnVtQ0h5SG1kWm9DR0FgaEg/T1UKenlXYnlHVEJ3KGV4RjloIW1QPThGJTZMKHJvQ2No
WTtyO1JEVGkrKj8wY0Z9OGNedT8reGh1M15VRUtjbCM3IUE9CnpVbyhBaU0qU3E5Q298bS07Rlp5
cSFyM3JIPSkofW1FI1hGdG8hcSM/VEZqdTlnZ0JWRUJ6UGcpQj0hNlVyI1Y1PQp6VHxuemYpK3N6
VlVuY3BzP0pjVXU4fjhBJXtRNSZjJk1wQm5vckZeZGo0cD18MiMqbV45QmBobz9hTmVVM3Y3PlcK
enRsN2k2Xmc1aH1edihyN2VZOHc8SGBsbWQ2UnwrdVBma2EoOSlGSl93eilIb1RsTkQrLVFud002
LTZXc3luNHRBCnopd3xLMjh7ZU91ZjEzYGo4WUNKcDE3ZCZXZSZ1P3tRODQqXj1JWCt7WjJMT2ZI
P2hnfU94a2o5dG8oQiZjIVYtSQp6e0ImaEZzSWluPlpxVzhAYnFvSzYreE1lRylUb2E1Ozx4aFY1
Wkx0JGR2ZEZWVVRRUDtGJjJkLSU5TnZNZnhZJigKekdiRU1pMlRtbzFPRmhvSTclJXc4UGBrVX1r
MGFrKSRFd0JeNz1DR2s4REZzVkd4U0NsKU55dWlSTlJWXzJSWGtDCnpaVjMpTj9aezZKVT9xeWR7
MHFwYCljOEdgelZWSWg/MVUpI2skWkg9WlY7MnZANHBoSDMqbVkmP0M+QVc/S1R1SAp6ZnZBTTZU
a0dRUkUzNENwMlVYYzBIez44aWZSKEJQZ198N2lOUn54VEJmKEw2amAmJFhMTzhvMzBWTTxMc01t
JEsKei1FJD1OIzg0fHIrOCZ3RXFzdiRrT0l0JnlUK3lkTylZazdPPTRoQ3w7SmlaPWltIXc1eWYj
ZGQ0dyFxRWFpdGJACnpHSkk9SDQoPWRnRFhAcU9hYDYxWEd9QWc0NnZUcyROPEd1cHNgfjVQcXs9
Ny10KSE+JUJXKTxNSXxhTTIlbnZlNgp6aUsjc3BWbl8zdmp7WkV1V25BVDY2MCtRNigwLXFDSnt8
KEYkN1NjP2ltMylXamY1WXFHQEp1dmRfPUApYS05LSgKejlGfDxseGpjSkRgV1o1OHRMO0NoTCh1
VHt7cFlKXy1mSGNrTjRzZj00RmVTWVAqPXBeSWdVO2E+OGIrVV5kfX5CCno5ZER6b2FZNGs0YUF7
elo/O31NQGw7Xn5EWUZuTkViVXFEU00zSE91QCZrM2hFaktTJXV+PjRsbEw0ZnxqMGg+dAp6eU1J
SztaKTlVZTd6NilLbCpBXjMqSCQqU0AwZFdPc344O3AhQVRWQTgwQE0oYD5Lazk9OSFURGsmezte
KEJ7blYKel8+OFgkNW5ZJiZUe25FfUElV3Q/NWY8RmBHUEZ2O0Z8OXtPM1lHe3djSFFnY2RBaD8m
NT9FeHQ0dj1+aytqRzZgCnpCX2BMRistblRwLUgoWEdKfmNtWCpWfjZ5dXB1Z314dU9BT1YwMW9E
UUZuYE8xb2Y/KzBrMj9FZHFfaEI7XllMRAp6VXg7Z1ptQlQtdENwfDdOckthfClGVFkpfUBBSkw+
Jmd2cSRiR2xjOUNQVHBkMFVEKXIwcUFUQCV5LVoyMEkjJigKelVzK09XVntORiQyfVhFeiZyTks4
QjQ4KFpsXm9LK0xqZ1lLTHM8MHNsQ0khOUkzfGUoVipPdl5HQGRpT1c3P2BrCnpfQlBINS1nQyZ0
WG8/KG84P3lkUmJLKWRqSGI0bGh2d2VYVDQwMz12WlYwfmlkcUVTOTgyRE5xPSFvPFY1YURISgp6
M0wzYVBrUyNNY3VvUUlQSm98KV9MUDd2cHZRaCs7QmI+KTBfOXw3fGxNdThJPCt2Wig8KiVmKSsm
Kj9VMX1PK0wKejE7fHxqKUE1dFpOM018LSs0bSVQTEtMMjVjIVdaMWJ4I2lRV0V8QUpnNndlM3Jr
PChKMTBGWnNPJGhzWWw0K3JxCnojSms+U3A/LUdIQ2skNUxVM1FjY0RMP0JEIWw7UyU7P1F1a1NV
Rz9idjQjPkpQSTdgSDJ8bSpYUjFKZlZkMTx7VAp6PUU7e2xIbWU7ZXY/K2ZUSmlKODAqcWN5LStM
KCt9NSMjYzNKd2ZMU2JvQFAoaj1zQXg1eWtHPWBiRnJeJnQoczsKemBIK3orZXtuPD5hYklsJS1R
WVl+Y2R0QXY9VlVkMjdhIWB6UjtJKTRWd3NuQmtLek9HJWUmRnhZJD4me08tSTReCnpIZGE3dnQp
SzwtPjsodGtmLXQ2ZEkwKyRFMGkrZmszPmVyTCpDe35gP2VoNXlEMmM1WkhROEQwQWlOJnxPTk18
Nwp6aEpTQ195Yyt1Y2ZVcVdYY1R3djEhZlFLLXRoWHdKNnJEVzB7UmdISDx2dUpwMyhsKntkYzxl
U0NJc21wUjBeK1YKej0/aF5lUzQjP0l1bGw+bChpej1hSj4zS3FYSCFjWVI7fWsqdjVmNTZuZClf
NyY9YUZBelU/PyhCUjZBeWJLQUd4CnprWiopaitiUWI4MlF3UzhYYFBeQiUlYSh4ZUM1dmAhQX50
aUE9TEFteWA0WUZaS3FuSXo2OXxvP3VNeX5ONTxeYQp6ck0kbm14XmJmOCFgNTcmWVNJRyFWJVhI
WmM3QVRKPSpEeThuOW9ufDJIal5HciR4akd4UV9BYUR+VDhlIz50USkKejgzcEtQK2dFKUBMMW1L
QGNvPU9HVTtnZ1VsKTZwQUgkVFhSUVdqWnRgPCFRRFFJVDRyUGVBaCg1TVN5I2Z9IUFrCnpEdEZt
ajFoVkQ8d3JIQEBxO3hBQDNQQigoKT5RMm0yaSN9QkxCWXhtNVktaXhqd3REJjMjVlBESGBhTHJD
dHxpPQp6PiZOTH4wWmBzTmBFYVNhRFF8ZnZheVJhZ3tLeForITNGbEdVWWYxPHNgIylgZng8VGdS
MkoreFE1Kzt4em5UfXQKemJMczV2WGZuJU5ZZn44amVnIXwoNzQ/cVZFJX1iIW40YUUkPlh2K3NK
VGo2MEowaj93V3VIa09TIzszJCVfJW93CnpiJVUoRykhYWltYURJbjNYWmROciR8OXh4OGpMdmtl
VGdHb0Z9RyolJmZgaEVLZUg1OHlLNX1IUXgjQE1DcFIpaQp6KSlXblc2dUU5I1NHKWgqeTRMMlJN
KklyemZ0LWNQZyZsYyU2SDx2KDg1Zi01X2pKMkIkLWBGOUU/VEBCZGJ+KEoKemFFeENXIyNtMWR5
XlVNR2ojaGNYP1p0MU88JT9mfTZAQnJ9KVFGP3Vkem4hUE9iczVGempVPFJCQ2tSPFVERDt6Cnoq
VVAkRGdLQEZxcFNRN1dLNkxtfj1SWWtLTnh3MF90JmpVYypkbyZNMEJoXipCRmp3dD5qOEBBYCtz
SnxHelk2Mgp6WEl8UjctfXtLKE9ZYShXPHx3WnpeZmA4V09tJSZLWVZgYj52Kyh1dGxJYHo+JCg0
UWtPJXQ9OT4hMHU2JWRmfEQKentMcktXdE5efk9ufnN4dkhYLXdiPWQtVD5JMiY1bGZ6QS1nJUd1
UGhffkMjQyshOGY0YCt3UkBSSFQqPSpXUE56Cnpec3dLN0VsT0xAaV9ZVF5hZGJfNT5tNmIrcWht
a1U1PjAxKWpjNkdZeHBkMH0hbV40ZTB+fT1lWkR6a08jdElPaAp6YnEpTH4kdT1xMDA+cTh9b2VX
d2I+I3lkcnA+fGlTQm13RHUxXjdIZFU/THVQVHBUQiQkYEdka0Z7UkN1ako5UmAKejs/flU0X3N7
ND04YWk8SD9xKDsrMilQfC1iYHgoX0U3NzF7OV55OXRmKSt5YV5NJi1eQkJ+cDRQbj1nPGIrP2xk
CnpebF41IUY0Y1E7I1FoYVRJJElIaGUwfktJV1h3OV8lK0dKPm42RjU8SF53JmYjVGhXPHkmSTYp
YGdqNWd3cVFTMgp6bF9FYlcmZEBjRGUzYzxUeHdraTg1RCM4fShnMkA3bisycGpqKmIjPkNkOXM9
OFJYRys7U3k3dGMjVSsrX0VtMksKej47NCEkVW1IYmhPNDglVVM3fHxGUWY/QiR7M1dFPUtIRyVt
Q0czdWcxPmN4REpSNmVfPUZAZ2t5YHhfN09mTStGCnpqMF8tblo0fV5xK3NIJEU/cXdUe0pIZUhs
K09yXiE+b3c5KCNRM0p3dnszSi1iaGQ1bzYqdCZeNG9ZWTNBbHk0KAp6KE4rUDtUWjJ3cjFhdDhB
UHJtckJLU0RjS3NMdngmcG5vYnRmcjZkXzRAQkhyWnZnQ0w8TiEmUmZGaS1JLSlDeTcKeldJbyRW
eEc3b0REeURhUD5wb0M2P2Y7IUJqPW1AVDBkPW8/SnltP0BUWUZWaDN6TVM/NFlZQCQoKFZfU0d6
bj9ZCno1aih9anxCfk9OYHZzMU5ZVyRmV1VOeFdyVm1PSiVhQVk3JFVMclBQZjs9fCZiakU+Y3hO
IWRGX0krbzBgaWMpUAp6YisxbCY8M3NCMkdHVGY4VXUwZ3ZkZzU0aDN4T2JqTSNoNDI9cys+N0kt
UERVO2d2SGl1VmQ5KSgmfmhHSjhDRWgKejV8R1dnS2t3ZTc3UjJuRVZuYVdAe2d4WEFwVjluWWkw
bmZXO09wdjIxT14wY1o9Nk04Y1clPGI1RTEkbnZGWmVXCno4b2MhVUhVdUJZNUh+KX52VTRhPWF2
S0lCJTx1YiNOWWxFSUVBVEM4PHBrRHlPaEFmKGVxJkQqLXo1Y0pFPSUocgp6Yy0wX2M+U2whe3Zh
eXIkOEhecXdgVn0oZTB3P3pCbyRkNGhUc35uTElkRG9fITV0dyoxaT5NTWBPUGtkSEY0U3cKejR0
PXsoLUtSKkttLUNNRzZZK2w0cDEkYG82YUU5UTAzekpqZUdxNkMwe242akxeeyROMUYpQlJCNV9e
OCs4R3s9CnohO28wMXFHI1JoWWIpMGs/KkY3Xl5IZjEoUl93WS1TNENHNkpLej5kaT5ta1NSYUtL
I210eytRSyFsM2VpSyhDQgp6KnMqR2hsbkBIZWhXcElTYyRsITFVOC1kRXlaKzdVN3ZWLXVHJWNW
NjxGfmMoQ2VKUSpRek0lLTIrSGVpajc3MGEKenM2VCNvUnRWcT55PDg2MkZuP2o1QV5ZJUpRfnJg
Wk0qRGQ9WnxUe0l2ck53fm1oWnBnITdZRVFreXszNz4kUzZ4CnpkK2ZGeWRBVmgzY1ozaElLPUZ2
Q2FqNiEwMHhUaER3ZHtjSmpsT0QqJF4tNnJqMVpgZkErdn5wYFBFMkRQJiVYXgp6UlpmPEtJVnpO
YzV0VXYrTGdaP1NwQTxRZTY+TzFPamZmQzxqUjc/UDUwbm45PCoxKnEmZ1lxQGVmKjZMKy1fcy0K
eld7VDlob0YldyhmbGZsWUJ1V2pfYnAoNkY0d1hJYHJAcXlnS2REa3IocVZzKmBIb1dSPGlpV31y
NlRjPF5idVJkCnpzU25lfkQpdHo3TlI4dEBvM0pGZmN0cHQ+U0ReU3kzQVNLJjQ9O0xrRXNUcHU4
N3oxYGVzVFgpQ2NTVlM3ZEQoXgp6MmNGQStscHIyNWQzR0IpZ24wUXQ0RHB4ZnlvYDdfWVJ+QEdy
VT18I0pmeFQ4dG1eZH5iKGs8MjVya2VOSX0yZ2EKemk1ZHlJUTRAfC1mT3FNJmxAakckMnVTU2l4
QXBMUm9jaHsjKj5UcW9YYSgrJW1vRmZxS0ZHSDZ7a3AlZ00xaXw2CnorVTxnSDRLPDZocmNkbTtg
eGR9RGRTP15pTTFUYWhCXj8yRXEtdXluJU40QH5oPnx7UVUoc3BzcFdpS3JDM0QhNwp6byVMbiYh
Zm5VJVhjfUlCQTM+fjBINjw0NkRBV0BucGZQWT4rMDVnPGl8XmV0Z2I+SVNwMCNsdiFrdShXejlW
blkKejZVciloSSY1bj5sVFMlIWFYV3BpQGQkKSVCMjMoaXlCY3p3fDFRU2s8aW0lZ3ZycX5SQ0RN
Vjh5Q1VjM09qQFJlCnpHc0RUJlZJRTtxU0M2V0ZgZiVsaVItc0Z7I0JFYFpnKWxaYT9RJW82OX1u
bV80e2N2UWVOaCVKeT1qTm8oO1RuJQp6JlEmNzU1fHU/S0h6JnFNWCt4Zn5rWWJoZ2hVa0dUKHtf
YXQ0e2hzcT5sTGJvIy05fl4kbENxV3cpZFBLY3RzNSoKenp1M0UwdGY9NWR7dTZULXRXNTgwRGFQ
ITVIYkE3bkg4JFFSY1dBTV5XODw4fjI0eU19UT4rTiRTRC0hO2h4OEsyCnotSElgS2phbiUhS3Z0
c29BdGdZJXgjTiFqM1BfbCl6N3EpUmd6IztkSUNjXkBzRStlX2F1Jm5LN21VX0FhM3ckcwp6ejxH
X0xrQyFqOUszaEI1NzxKRnRHZkd+c2ZNIz4zRXtNZX57IWhqMD09ZCtPeF9mOy1KfjchX2xjeitu
TF83Q3EKekE+bW93cTB8azhjUT5nNSYqVzt7SURnbU9OQ0lnTFBtdj1NO2lCPmkjY2pJIy1BODxM
QHlHP1c3alFIb3QtQV9ECnptPUZlcExKekAwYl9IOWghRSNfYHF4VHJZbiZvclphN1FNOSkyd25w
az5vUFEpTjI9QnpTbyZALVZ0RU9VQUQmVQp6a1QrMyNVWEJvVGhrcXwwPW9jakdGITBfPGhsflda
dzFwTz9CQmo5aVZwRz5vNUVRclMqdFhBfiUqNzVtTjkmKEYKellYRTcqQ1Zge1cxK292blltek9G
enVuZDAxaDkpWG41PnxuLSNYdjswJiZocEtGOFNnMHhTMitQYXVlYVlNSUVHCnpDPF40YDtfXj5P
PzN1KShKcVBGbCptbXRNPj9sPS1sTWtYWDNLUClFQGM4d0ZaJmtgcWFYVjkxckRLTnt5dShjRgp6
NigmNXskVmVkfGx3eUxXZDsxK2MpWlJIeDslfi1SPkwpblBqYlpPKmReXlltV2BIX34ob35gQUx3
NHNnSnhKfmMKektLUGhxVDJGaWl7a09GO21PY29rd3w+dVV1ZTZERT1QajMhRWBiNGotYm9VMXtQ
ZiNvK313SmJ5VkIhI2lYIVo/CnpYMkYrRjk8TjlTWXBIMVN4QyM7QzhVYERSdCYjQzYtQ08oU3RS
fjtlWHJEa24zT0JqOD8mJV8xUHMhKyZKbUprVAp6cFJhRFcxdHUkMWBoNVh0WjA+bDk1eiZwX1RF
RFBRMHEpOE4lQTIxSj9uVHozUGFoP0BmQz59XlRsaWNVRUNgUj0KekBwYn1JcHRZUFZPTD08PXAo
TDNieGA7V0g4PHNid0BeUG0mYlRXVGI0NnhNMF9IUGV5N0BZbmJtSjd5XnkmbDJICno2cHI/Iysl
KyNUTSFYaUhaYUpMVkpLfig0VT5XZXBic3c/b151Mjc/e2khfF8qZEA8YyZuQ14qcWwmeyN6SyU9
IQp6YVB3RyFTZH1jeFZSalRpYllkfHpkfF9UV2M2fXVOZVM1PEUlVTc0PnIrMGpgT1VieHxOPkZT
SUQ9JCQ9czVMQkYKejFuIXZKKTRVWUhtPW5vXm5pPTUmWGJFd0p7PHEmX1NKd21fVCFlSHw0LXtx
SE1Pej84eUJ8S31hUmZnKmlmU0Y1CnplRVZ1NUNqVU88X0BudW1sUzYpJVBKfT8/ZWt1VDskZ1Vl
MkxLRGdEMEpJZUN0OHJuO2l6d35qPG5kS1lHe183cwp6aCZuJj1GPVN1ciNUNzgkNCFGfi1xamZV
ejV5dF9YO2coNFlVa28oe1ZEVEpjM1g/en1gc01fdlVvSjNzR1hwdjAKejIhdV9NUW9ubWtlQn5C
NCF0aEh7QjchYjAwZXVGfV5MPk5Sa3BuRDU5SDRFT0lJT0k8UWNEczdAYiFuVS1LSlQ0CnpWcF9K
fFVUSHM/KFo4cyE3Sk8rcjwlTjI0ZGVWV2QwcjxxQ2hrNSk0Z0M+JGNuQ1YpYGhrMGUjKEsxWXlm
YEB+Vgp6NWNMenoxO0h3bChNRUNHZ2tvSk5xTCFjfHF2c2JTJkF8SVNZTE1VYHpCK0pDaSpXPUMq
WmNjME1OYDF0Y2ArdX0KejJQfDhEamdWRX55YntOVUp1TWRqdD1EZEJZZUQ3UT5QR2FlPkVXRkdH
USh3ZTZrdVAhJmYwVz81OUcpMmZlSjIoCnozaCtfUEhjc0U3JjlZI1BiWmpqJUcyaElEaCF7YkUp
NUVLUkVldlg8dmYkJH5heGBFQkk+YCl4OH1UeFBMWUh7MAp6M3I9UUg3Mjd2TUk9enhRVz9Mc1kw
SjVrVTI8WGYzeE5xamBXI3gyTzZ8ZXMwVGJSQ0JQLXxBX2okdnVjTnEjUXQKek80al9BJmtnMGpt
QDNId0NZQ3NjJWV7XjZRajE+d2ReV0xJXj59OClxNXpDYTA+JFVCK1l4Rm5ASkd6QHVsczNFCnpG
LS0oU3pTaHMma2NrdHFXP3lAP2lnPntmdCY4R0BTc0R+YUIrZlVxcF9xWl8oenE/amwjOW42TCVQ
ZkBATSpgNwp6TmJpaHUtUThxakJrZTI3VF5rKnUoP1lmYiZjMjkjKHhDR3dje3taQihicl49VzJY
MXowNC1LTDxebUxpUioyQ04KekQyPF90b0N4RjJGUUF5RC1hWFBSakN6PkJPVnlrTko9Jjk/MW40
YjBUPDYxPXFec3FTZX5iZGE3QHEtez5VfVU3CnpCZUdPKGlPTElAY2VgOGViXzxfYyRqUlMqKWN4
diNlVXklWHo2SXkwYkcqKikmY0l6eEthcTZIIWY0Oyo0Jl5pWAp6Zlkhdl5AfFBGJUYzPlQ/QFRv
YlVpdGRqbF5VflVqWmNWMHlvPWoqQl5YMGZ7Sml8O09qQSkyO1A3RmYzOUZOeDAKekQrT3paKyFg
QmFCLT9za0VJaHl9Xk1tKVZkMXpEUmVKfillUDg0VTEtcGQwKVc3b3o+b0MtXl87OGliaW8rRGh7
CnphRjAkLVhsb1MjVigyLXIkdFBTODB3THM/R3E0KUFXI0t3fndNSio9MzxDI256dURLOClxWnw0
WVpDJktRK31fTwp6ZSgwIUkkcU4jPGZPMHgwT3RDaUpOQjEweHUtJUl0dXRCNnQ4Z3ZpeUJIbWRz
eytkX3Y4MHMjMG1sO0N3WWgrM1AKekl0KnRQUkhCU25sJkAhN003ckI1Nnt1PV5ybDZIKiRIb3Uq
Tj5+VyFRYUdBTlduTnJjRyE1ZkFeaX5gantaSW4kCnpfQHY+QlRnUCpnMFVjX19ecXs/bnhEd2FF
bHc8KUdudm0qbHkmZyliajR2Uyk0b34jJFNwWkRgLXVGZG88fTFAOwp6TmkkSjNhKlNuTHtmNXF4
b09gPERGbklMbCplIURuaThTQk0mSXJsUW05ISgyNT97bHN6S3hrKGppUzc5Jkk8UiUKej5oT15A
KT4xPHVzKmR9b2l3UmYjJiozaEYxJSVZQzQ5UUlJQjIraTQ8Qis2bTxHcilObFdrdFZwUFRtQGE4
dTVHCnpVMDs0NDk4M0BMX0kwN1chMVFuWHheJjJnN3U8K2xhK3A7WXtWayt5d34kdDw/SURPKUs1
MHVieXU7YW0tQWEwPQp6YC11SEl3SXVFOHF2bjB5QCNaVXlecHdQJFlmbHFUMj5JNy11QXAoJF5D
VDx8SWAtKTBVMjgta2ZlN2R9Y3puS1MKelkqezh9VWVZWThZVCpJZnRyI307K2xwN3llYH5+JDNe
S25nSzc0VisjYUJ9Jm0ocX5BKlkpeGhacGl3SFJKeWVvCnohc3c+TFolLWBjZGBoQlFrYChUb3V6
bTlaP28rPzgtRGhRYTEkNXN5aT47Tnk9RylQM3pvcmxXPEhUIV5ROyk9eQp6eTNqI09MMmBIQDx9
fV4yaSRoKVJFYDl5THI+KlQhMXhVU2x5My1OZnleSnxHQTsjU2ghPW5obFJuX2lOaD99QE4Kells
KW9xdHA2R2xrfU82fWopMisoVyZnWUhHKWlyfnBfNkNAKCRYU05yY2V5c3RxU2hhMzBtK0Q2KSN+
S2FtVV9lCnpuMktmWDdBSTw2K1V4QFZveiltWjEtTVRRdzc5N1N7SzJweTY7QHJhKylkVzduNXpJ
ZS09LXY+aHYzJFJxU3hqKAp6b2diJFo5OEVSeUtRa3FNaWxCYVQjUTlRI2w1dm1QJWt9NGFUMD1y
WXVrWGpsaXtVKEV1SD9ST1Bmfk1FaCVaUDIKeiNLfSoyNjs8eyNTMWpje2pIR0F6dVdxN1N3dU5a
IV5iejx8c0tedGBUQld9NStTdFhuJk57Z0RpTVJIb1pNeHJrCno5dyVpdlA+bmhuJDFVPk0mVHts
T0dKeVcwUlVoOHMlcnpDYj9yWT58S21GYHxHTkBoMVpFaj5UPCZJZ2NBSUg0WQp6b0t8eTsjbGU/
TnglRU9aT3RoZXllOHBMKVN2dyQ3WEhLOW5XKWdNZXUqcnxqS0V3RUNJe2oyTXpgKSEmcSMqZnsK
ejdxYGskVGtXSFdMe2J2YmtHPURRa14tOWI8NCtjNDJFK0JKREhZMSQ7MTdiOG0jfkolTEMzKkFv
d0BacV4oZ189ClFDdjZnLSltWX07NiQxTUkwUVhZbTNqaEVCCgpsaXRlcmFsIDAKSGNtVj9kMDAw
MDEKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434007</attachid>
            <date>2021-07-22 05:48:05 -0700</date>
            <delta_ts>2021-07-22 17:27:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210722224801.patch</filename>
            <type>text/plain</type>
            <size>134579</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLjczMzdlYjM2ZTI3NjEzNmNlMWE4MzczMTFjNjkyNTk3ZjEzYzk4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHdlYm1fd2ViYXVkaW8g
cHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3IgbWltZXR5
cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlzYWJsZWQg
YnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8bWFnb21l
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIgdG8gY29u
ZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJvY2Vzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0MTMuLjVl
M2EyMmZiNDQ0ODJkZmM4NThhYjkxYWZkNDcxZTliMjIzODQ4NjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDQgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4gV2ViIEF1
ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4gdGhlIHdl
YiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgZGVj
b2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJlYXNvbnMs
IGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxzIGFyZSBi
bG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1ZGlvIGNv
bXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkgcHJvY2Vz
cyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisgICAgICAg
IFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAg
ICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWlscyBmb3Ig
Vm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11eCB0aGUg
d2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0g
dG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVyYXRlIG92
ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3JtaW5nCisg
ICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRoZXJlIGFy
ZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVuY29kZXIg
ZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGlibGUKKyAg
ICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIu
CisgICAgICAgIC0gSWdub3JpbmcgdGhlIHNhbmRib3hpbmcgaXNzdWUsIFZvcmJpcyBjb250ZW50
IGZhaWwgdG8gZGVjb2RlLgorICAgICAgICAtIFdlIGNhbiBvbmx5IGRlY29kZSBtb25vIGFuZCBz
dGVyZW8gY29udGVudC4gT3B1cyBhbmQgVm9yYmlzIGxldCB5b3UgZGVmaW5lIGEKKyAgICAgICAg
Y3VzdG9tIGNoYW5uZWwgb3JkZXJpbmcsIHRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWQgd2l0aCBh
bWJpc29uaWMgYXVkaW8gKHdpdGggb3B1cyAyNTUgbW9kZSkuCisgICAgICAgIENvcmVNZWRpYSBk
b2Vzbid0IGVhc2lseSBkZWFsIHdpdGggc3VjaCByZS1vcmRlcmluZyBhcyBpdCBhcHBlYXJzIHRv
IGJlIGVzc2VudGlhbGx5CisgICAgICAgIGRlc2lnbmVkIGZvciBhdWRpYmxlIGNvbnRlbnQuIFdp
dGggbW9yZSB0aGFuIDIgY2hhbm5lbHMsIGRlY29kaW5nIHdpbGwgZWl0aGVyIGZhaWwKKyAgICAg
ICAgb3IgcHJvZHVjZSBjaGFubmVscyBpbiB0aGUgd3Jvbmcgb3JkZXIuCisKKyAgICAgICAgVGVz
dDogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKKworICAgICAgICAq
IEhlYWRlcnMuY21ha2U6IEV4cG9ydCBoZWFkZXIgc28gdGhhdCB3ZSBjYW4gcmVnaXN0ZXIgdGhl
IGRlY29kZXIgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBzYW1lIGFzIGFib3ZlLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5
VHlwZSBjb25zdCk6IE1ha2UgY2FuUGxheVR5cGUod2VibS9hdWRpbzsgY29kZWNzPW9wdXMpCisg
ICAgICAgIHdvcmsgaWYgZmVhdHVyZXMgaXMgc2V0LgorICAgICAgICAqIHBhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0V2ViTVdlYkF1ZGlvRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjp3ZWJNV2ViQXVkaW9FbmFibGVkIGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9NZWRpYVNhbXBsZS5oOiBGbHktYnkgZml4OiByZW1vdmUgdW5uZWNlc3NhcnkgV0VCQ09S
RV9FWFBPUlQKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1czo6c2V0TGVuZ3RoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9BdWRpb0J1cy5oOiBBZGQgc2V0TGVuZ3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhlIHJlcG9y
dGVkIGxlbmd0aAorICAgICAgICB3aXRob3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5nIHN0b3Jh
Z2UuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmg6IEFkZCBzZXRMZW5n
dGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0aGUgcmVwb3J0ZWQKKyAgICAgICAgbGVuZ3RoIHdpdGhv
dXQgdG91Y2hpbmcgdGhlIHVuZGVybHlpbmcgc3RvcmFnZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9h
dWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0
cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QpOiBGaXggY2hlY2tlZEludCB1c2UgdG8gY2F0Y2ggcG90
ZW50aWFsIG92ZXJmbG93CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6
OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6IEFkZCBjb252ZW5pZW5jZSBjbGFzcyB0aGF0CisgICAg
ICAgIGZyZWUgd3JhcHBlZCBBdWRpb0J1ZmZlckxpc3Qgb2JqZWN0IG9uIGV4aXQuCisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6On5BdWRpb0J1ZmZlckxpc3RIb2xkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvciBib29s
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0
b3ItPiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9w
ZXJhdG9yKiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6
OmlzVmFsaWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpBdWRp
b0ZpbGVSZWFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjppc01heWJl
V2ViTSBjb25zdCk6IE1ldGhvZCB0byBjaGVjayBpZiB0aGUgYnVmZmVyCisgICAgICAgIGNvbnRh
aW5zIFdlYk0gZGF0YS4KKyAgICAgICAgKFdlYkNvcmU6OnBhc3N0aHJvdWdoSW5wdXREYXRhQ2Fs
bGJhY2spOiBSZXF1aXJlZCBmb3IgQXVkaW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlci4KKyAg
ICAgICAgV2lsbCBmZWVkIHRoZSBkZWNvZGVyIHRoZSBkYXRhIHRvIGRlY29kZSwgc3BsaXR0aW5n
IHRoZSBtdWx0aXBsZSBwYWNrZXRzIGZvdW5kCisgICAgICAgIGluIHRoZSBDTVNhbXBsZUJ1ZmZl
ci4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMgY29u
c3QpOiBSZXR1cm4gdGhlIHRvdGFsIG51bWJlciBvZgorICAgICAgICBkZWNvZGVkIGZyYW1lcyBp
biB0aGUgcGFja2V0cy4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURh
dGFGb3JtYXQgY29uc3QpOiBDcmVhdGUgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uCisgICAg
ICAgIHJlbGF0ZWQgdG8gdGhlIGRlbXV4ZWQgYXVkaW8gdHJhY2suIG51bGxvcHQgaWYgdW5zdXBw
b3J0ZWQgY29udGVudC4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y2xpZW50
RGF0YUZvcm1hdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNy
ZWF0ZUJ1cyk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwg
Y29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNv
Y29hLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291
cmNlLmg6IFJlbW92ZSB1bnVzZWQgdHlwZWRlZi4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW06CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nh
bXBsZURhdGFTb3VyY2U6On5BdWRpb1NhbXBsZURhdGFTb3VyY2UpOiBGbHktYnkgZml4LCBtYWtl
IGl0IHVzZQorICAgICAgICBQQUwgc29mdGxpbmtzCisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nh
bXBsZURhdGFTb3VyY2U6OnNldHVwQ29udmVydGVyKTogRmx5LWJ5IGZpeCwgbWFrZSBpdCB1c2Ug
UEFMCisgICAgICAgIHNvZnRsaW5rcworICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJ
REdhbWVwYWRQcm92aWRlci5tbTogRmx5LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0ZUJhc2UuY3BwOiBGbHktYnkgZml4
LCBhZGQgbWlzc2luZyBoZWFkZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmg6CisgICAgICAgIEZseS1ieSBmaXggcmVx
dWlyZWQgYnkgd2Via2l0LXByZXBhcmUgOiBkb24ndCB0YWcgdGhlIHdob2xlIGNsYXNzIGFzIFdF
QkNPUkVfRVhQT1JULgorICAgICAgICBNb3ZlIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIGZ1
bmN0aW9uIGRlZmluaXRpb25zIG91dC1vZi1saW5lIHRvIHByZXZlbnQKKyAgICAgICAgbGlua2Fn
ZSBlcnJvcnMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMpOiBNb3ZlIGNvZGUKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06IEZseS1ieSBmaXgs
IGFkZCBtaXNzaW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oOiBFeHBvcnQgc29tZSBzeW1ib2xzLCBhZGQgbmV3Cisg
ICAgICAgIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lz
dGVyRGVjb2RlckZhY3RvcnkpOiBJbnN0ZWFkIG9mIGF0dGVtcHRpbmcgdG8gcmVnaXN0ZXIgdGhl
IGRlY29kZXIKKyAgICAgICAgYnkgZGwtb3BlbmluZyB0aGUgcmVxdWlyZWQgbGlicmFyeSwgZmly
c3QgYXR0ZW1wdGluZyB0byBzZWUgaWYgdGhlIGRlY29kZXIgaXMKKyAgICAgICAgYWxyZWFkeSBh
dmFpbGFibGUuIENhbGxpbmcgQXVkaW9Db21wb25lbnRSZWdpc3RlciBpbiB0aGUgd2ViIGNvbnRl
bnQgcHJvY2VzcworICAgICAgICB3aGVuIHRoZSBHUFUgcHJvY2VzcyBpcyBlbmFibGVkIHdpbGwg
ZmFpbCBkdWUgdG8gc2FuZGJveCBzZXR0aW5ncy4gV2hpY2ggd291bGQKKyAgICAgICAgaW5jb3Jy
ZWN0bHkgcmVwb3J0IHRoZSBjb2RlYyB0byBub3QgYmUgYXZhaWxhYmxlIHdoZW4gaXQgd2FzLgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCk6
CisgICAgICAgIChXZWJDb3JlOjppc09wdXNEZWNvZGVyQXZhaWxhYmxlKTogRmx5LWJ5IGZpeCwg
c2hvdWxkIHRoZSBtZXRob2QgYmUgY2FsbGVkCisgICAgICAgIG9uIG5vbi1tYWMgcGxhdGZvcm0g
aXQgd291bGQgaGF2ZSByZXR1cm4gdGhlIHVuaXRpYWxpemVkIHZhbHVlIG9mIHRoZSBhdmFpbGFi
bGUKKyAgICAgICAgc3RhdGljIHZhcmlhYmxlLgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJP
cHVzRGVjb2RlcklmTmVlZGVkKTogQWRkZWQKKyAgICAgICAgKFdlYkNvcmU6OmlzVm9yYmlzRGVj
b2RlckF2YWlsYWJsZSk6IFNhbWUgYXMgaXNPcHVzRGVjb2RlckF2YWlsYWJsZQorICAgICAgICAo
V2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQpOiBBZGRlZAorCiAyMDIxLTA3
LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQWRkIGxpbmtlZE9uT3JBZnRlciBjaGVjayBmb3IgcjI2OTE2MgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggZjAxOWQzY2UxMjAzZjNmYTEwNGVmOWZhYzRmZmE0MDZhYjkwMmY2MC4uZjJhYWNiYjg0
MDJkMGM0MTYxYTNmNmZiZjk5Mzk0ZjU4Y2M1M2RhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHZhcmlvdXMgQVZGb3VuZGF0aW9uIChBVkF1
ZGlvQ29udmVydGVyKSByZWxhdGVkIG1ldGhvZHMgYW5kCisgICAgICAgIENvcmVNZWRpYSB0byBh
Y2Nlc3MgcmVxdWlyZWQgQ01TYW1wbGVCdWZmZXIgcmVsYXRlZCBtZXRob2RzLgorCisgICAgICAg
ICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsu
aDoKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06CisKIDIwMjEt
MDctMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI4MDEyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTg3NjI1ODQyNjFiYWE5ZTMyMmU5
YTcwY2Y4ZDJhNmYwN2IwOTA5Ni4uYzM2MmU2NjNlNGNjZGUyZmMzYTc4ZWE0MjJlZmNiMWNhNzdh
NmQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2
ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1
cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZGVmYXVs
dCB2YWx1ZSBmb3Igd2VibV93ZWJhdWRpbyBwcmVmIGZvciB0aGUgZGlmZmVyZW50IHBsYXRmb3Jt
cy4KKyAgICAgICAgRGlzYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgcGxhdGZvcm1zLgorICAgICAg
ICBGbHktYnkgZml4OiBkb24ndCBtYWtlIHdlYm0gcGFyc2VyIGRlcGVuZGVudCBvbiBWUDkgc3Vw
cG9ydC4KKworICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0Ogor
ICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0OgorICAgICAgICAqIEZlYXR1
cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktp
dC13YXRjaG9zLnBsaXN0OgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZGVm
YXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlv
Q29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisKIDIwMjEtMDctMjEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSdW5uaW5nQm9hcmQga2lsbHMgdGhlIG5ldHdvcmsg
cHJvY2VzcyBpZiBpdCBpcyBzdGlsbCBob2xkaW5nIHRoZSAiaG9sZGluZyBsb2NrZWQgZmlsZSIg
YXNzZXJ0aW9uIHVwb24gc3VzcGVuc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRl
eCBjNDJlYmViYTA2N2MxNWQ3ZjVkYzBlOTBhYjNkYjQ1MmU5MjJhNGVkLi5iNDExODY0NGFiZjhi
NmUxMzhlM2U2NDk0NzU0ODA4M2M5OTNkYmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1Njcmlw
dHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFt
bApAQCAtMTI2MSw2ICsxMjYxLDE4IEBAIFdlYk1QYXJzZXJFbmFibGVkOgogICAgIFdlYktpdDoK
ICAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCkKIAorV2Vi
TVdlYkF1ZGlvRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcworICBodW1hblJlYWRhYmxlTmFtZTogIldlYk0gV2ViIEF1ZGlvIgor
ICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgV2ViTSBXZWIgQXVkaW8iCisgIGNv
bmRpdGlvbjogRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktp
dExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJs
ZWQoKQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYk1XZWJB
dWRpb0VuYWJsZWQoKQorCiAjIEZJWE1FOiBJcyB0aGlzIGltcGxlbWVudGVkIGZvciBXZWJLaXRM
ZWdhY3k/IElmIG5vdCwgdGhpcyBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBXZWJLaXRMZWdhY3kg
ZW50aXJlbHkuCiBXZWJSVENIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkOgogICB0eXBlOiBi
b29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCAzYjFiYjU1MGY1NjgxYTRmNWRkMjM2MGExNDE4OWE4
ZWNhZDA1N2I5Li45YTYxZWVmZjU0YjdjNjUwMjBhMjhlOTRjNmJlZTNkNTQzYzc0NTlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0hlYWRlcnMuY21ha2UKQEAgLTEzMzUsNiArMTMzNSw4IEBAIHNldChXZWJDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9FeHRlbnNpb25z
R0xBTkdMRS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xB
TkdMRVV0aWxpdGllcy5oCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5oCisKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3QuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dERyYXdHbHlwaHNSZWNvcmRlci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0RHJhd2luZ0NvbnRleHQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCBmYzA2NjhhNGE5MWFmZTEwYjY1MTU5Y2Ew
ODJlMTgyODFmZDUwMzU3Li4zNGI3ZmM2ODYzYjI1ZDI1MGMzZGQ2MDhiZmQ5MGM5YmJhYmE0NzFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNw
cApAQCAtNDcsMTEgKzQ3LDE0IEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5
RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYgdGhlU291cmNlQnVmZmVyLCBz
aXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgdm9pZCogZGVzdGluYXRpb24p
LCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGRlc3RpbmF0aW9u
KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01C
bG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwgUEFMX0VYUE9SVCkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJs
b2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRo
ZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNl
dCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJ
VEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpLCBQQUxfRVhQT1JUKQog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNv
dXJjZUJ5dGVzLCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zm
c2V0SW50b0Rlc3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVz
dGluYXRpb25CdWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCksIFBBTF9F
WFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENv
cmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldEV4dGVuc2lvbnMsIENGRGljdGlvbmFyeVJl
ZiwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBD
TVNhbXBsZUJ1ZmZlckdldFR5cGVJRCwgQ0ZUeXBlSUQsICh2b2lkKSwgKCksIFBBTF9FWFBPUlQp
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsb2NrQnVmZmVyUmVmLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdl
dEZvcm1hdERlc2NyaXB0aW9uLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmLCAoQ01TYW1wbGVCdWZm
ZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVzY3JpcHRpb25z
U2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBwYWNrZXREZXNj
cmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCBQQUxfRVhQT1JU
KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVk
aWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywgT1NTdGF0dXMsIChDTVNhbXBs
ZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRleCwgQ01TYW1wbGVUaW1pbmdJ
bmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4LCB0aW1pbmdJbmZvT3V0KSwg
UEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFmYzU2ZGJmYjA1
ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLmRjMmQ4ZTBiZTkzNmJiMmRiZmQ1MmFjMmVkY2I1NWM4
ZjI1MTRjMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmgKQEAgLTQ5LDYgKzQ5LDEwIEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcywgT1NTdGF0CiAjZGVmaW5l
IENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVm
ZmVyQ29weURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoLCBzaXplX3QsIChDTUJsb2NrQnVmZmVy
UmVmIHRoZUJ1ZmZlciksICh0aGVCdWZmZXIpKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyR2V0RGF0
YUxlbmd0aCBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgKK1NP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
SXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwg
c2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3Ro
KSkKKyNkZWZpbmUgQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVN
ZWRpYV9DTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMKK1NPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpKQorI2RlZmluZSBDTUJs
b2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZl
ckNyZWF0ZUNvbnRpZ3VvdXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29y
ZU1lZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2
b2lkKiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6
ZV90IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0
ZXMsIGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgp
KQogI2RlZmluZSBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcyBzb2Z0TGlua19Db3JlTWVk
aWFfQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
SEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0RXh0ZW5zaW9ucywg
Q0ZEaWN0aW9uYXJ5UmVmLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2MpKQpA
QCAtNTksNiArNjMsOCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVN
ZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsbwogI2RlZmluZSBDTVNhbXBs
ZUJ1ZmZlckdldERhdGFCdWZmZXIgc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0
RGF0YUJ1ZmZlcgogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEs
IENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24sIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQogI2RlZmluZSBDTVNhbXBsZUJ1
ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZl
ckdldEZvcm1hdERlc2NyaXB0aW9uCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUws
IENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
cywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0RGVzY3JpcHRp
b25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCAoc2J1Ziwg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBwYWNrZXREZXNj
cmlwdGlvbnNTaXplTmVlZGVkT3V0KSkKKyNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0
cmVhbVBhY2tldERlc2NyaXB0aW9ucyBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJH
ZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywg
T1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRl
eCwgQ01TYW1wbGVUaW1pbmdJbmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4
LCB0aW1pbmdJbmZvT3V0KSkKICNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJ
bmZvIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8K
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiksIChzYnVm
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9u
U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29m
dExpbmsuaAppbmRleCBiMzI0MTU5YmUxZWZlN2E1ZTVmZTJiMjY0ZDQxYTZhMGM4NGZkNDliLi43
MDBlOWMzMmM0Y2ZiMWJkYzMwZWNmNDdhMDAwNjMwNzIwNTI2OTBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCkBAIC0zMjQs
NCArMzI0LDExIEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQVZGb3VuZGF0
aW9uLCBBVk91dHB1dENvbnRleHRPdXRwdXREZXZpY2VzRGlkCiAjZGVmaW5lIEFWT3V0cHV0Q29u
dGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24gUEFMOjpnZXRfQVZGb3VuZGF0
aW9uX0FWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24oKQog
I2VuZGlmIC8vIEhBVkUoQVZST1VURVBJQ0tFUlZJRVcpCiAKKyNpZiBQTEFURk9STShDT0NPQSkK
K1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbnZlcnRlcikKK1NPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0Zvcm1hdCkKK1NPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbXByZXNzZWRCdWZmZXIpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9QQ01CdWZmZXIpCisjZW5kaWYgLy8gUExBVEZPUk0o
Q09DT0EpCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggMzdjOGIx
ZmFmZDU4Y2NiYzZlODUwYzZmMzAxMTc2N2M3ZGEzMTY0NS4uNzMzOTg0NWUwNzI2NTgwMWUwNjQw
MzAzYjJlMjkxYTAxMjRlODcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCkBAIC0yMzAsNyArMjMwLDcgQEAgU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9TZXNzaW9uUm91dGUKIAogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRIVFRQQ29va2llc0tl
eSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0UmVxdWly
ZXNDdXN0b21VUkxMb2FkaW5nS2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQotI2VuZGlmCisj
ZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uU2V0
QXV0aG9yaXplZFRvVXNlQ2FtZXJhSW5NdWx0aXBsZUZvcmVncm91bmRBcHBMYXlvdXQsIHZvaWQs
IChBVkNhcHR1cmVTZXNzaW9uICpzZXNzaW9uKSwgKHNlc3Npb24pKQpAQCAtMjQ0LDQgKzI0NCwx
MSBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91
bmRhdGlvbiwgQVZSb3V0ZURldGVjdG9yTXVsdAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERl
dmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24sIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiAjZW5k
aWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9Db252ZXJ0ZXIsIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0Zvcm1hdCwgUEFMX0VYUE9SVCkK
K1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvUENNQnVmZmVy
LCBQQUxfRVhQT1JUKQorI2VuZGlmCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGYwMWI5OTI3ZTNjYzYyMmU5Y2NjMDBiMTFlYjJhMmNkZDAzZjc1MzcuLjRmNDk1N2Y1MGU4ZWI0
NGY2ZjA1ODE5MDcyZGMwYTUxNzNiZTFjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzMiw3ICsyMzIsNyBAQAogCQkwN0VF
NzZFQzFCRTk2REIwMDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RUU3NkVBMUJFOTZEQjAw
MEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAv
KiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUQxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFs
dGltZVZpZGVvU291cmNlTWFjLmggKi87IH07CiAJCTA3RjRFOTMzMjBCMzU4N0YwMDJFMzgwMyAv
KiBBVkFzc2V0TUlNRVR5cGVDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDdDOEFEMTIxRDA3M0Q2MzAwODdDNUNFIC8qIEFWQXNzZXRNSU1FVHlw
ZUNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJMDdGNUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1
ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgfTsKKwkJMDdG
NUNGRjUyNTgyQTUxRDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1ODJBNEY4
MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0Y1Q0ZGNjI1ODJBNTI5MDA2NjJFRjUg
LyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGMjI1ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EubW0gKi87IH07CiAJCTA3Rjg3Njg0MUFENTgwRjkwMDkwNTg0OSAvKiBN
ZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDdGODc2ODMxQUQ0QTk0NTAwOTA1ODQ5IC8qIE1lZGlhUGxheWJh
Y2tUYXJnZXRDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDdGOTQ0MTYxODY0RDA0NjAwNUQzMUNCIC8qIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RBRThDMDgxNzQ2Qjk1NzAwNTMyRDc4IC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBhM2IzYTJmMTE1N2MyYjdl
NTAwYjJhMDRlNDY4ZWQ1NmFkMjA0NGJjLi43ZDdjZDJjZTFkZWZiOGMwNTEwM2I0MzgxZGE3NWY3
MGI3MjgzNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAg
LTEwNTUsNyArMTA1NSw3IEBAIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogICAgIC8vIFRlbXBvcmFyaWx5IHdvcmsgYXJv
dW5kIGJ1ZyAyMjY5MjIuIEZvciBub3cgY2xhaW0gdGhhdCB0aGUgb3B1cyBhbmQgdm9yYmlzIGNv
ZGVjcyBhcmVuJ3Qgc3VwcG9ydGVkCiAgICAgLy8gc28gdGhhdCBzaXRlcyByZWx5aW5nIG9uIHRo
aXMgdGVzdCB0byBkZXRlcm1pbmUgaWYgd2ViYXVkaW8gdXNlIG9mIG9wdXMgb3Igdm9yYmlzIHdv
bid0IGVycm9yLgogICAgIGF1dG8gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0gICAg
aWYgKHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYg
KGNvZGVjcy5jb250YWlucygib3B1cyIpIHx8IGNvZGVjcy5jb250YWlucygidm9yYmlzIikpKQor
ICAgIGlmIChzdXBwb3J0ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVk
ICYmICgoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikgJiYgIXdlYk1XZWJBdWRpb0VuYWJsZWQoKSkg
fHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCiAgICAgICAgIHN1cHBvcnQgPSBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZDsKICNlbmRpZgogCkBAIC04MTc1LDYg
KzgxNzUsMTUgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNNZWRpYVN0cmVhbVNvdXJjZSgp
IGNvbnN0CiAjZW5kaWYKIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJNV2ViQXVkaW9F
bmFibGVkKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHJldHVybiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYk1XZWJBdWRpb0VuYWJs
ZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVN0cmVhbUNhcHR1cmVT
dGFydGVkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMTA1
MWMwNTg1M2ZjMDEyZWRkYWNkOGI3NGM5NDVhYmJhYzJkNTMyMC4uZjkyNmVkNjI3MzAxMWQ1MTY0
OGFkZWY1Nzk3ZGJlZGZhNmRiODJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTkzOSw2ICs5MzksOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IExvZ2dlciYgbWVk
aWFQbGF5ZXJMb2dnZXIoKSBmaW5hbCB7IHJldHVybiBsb2dnZXIoKTsgfQogI2VuZGlmCiAKKyAg
ICBib29sIHdlYk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdDsKKwogICAgIFRpbWVyIG1fcHJvZ3Jl
c3NFdmVudFRpbWVyOwogICAgIFRpbWVyIG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFRp
bWVyIG1fc2NhblRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaAppbmRleCBhMGQzY2VhNzlkN2UwYWUwNzQ4MjQwZGQyMmVlZTJkNTU3NTA0NGE2Li42
ODVhMGEyYWQ3NTQ3MjY5OWFlYmYyMTlmYTBjMjUxNTIxYmViMGI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMjM1LDYgKzIzNSw4IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2ViTVBhcnNlckVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJNUGFyc2VyRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQogICAgIGJvb2wgd2ViTVBhcnNlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYk1QYXJz
ZXJFbmFibGVkOyB9CisgICAgdm9pZCBzZXRXZWJNV2ViQXVkaW9FbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fd2ViTVdlYkF1ZGlvRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgd2Vi
TVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVdlYkF1ZGlvRW5hYmxlZDsg
fQogI2VuZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKQEAgLTM3MSw2ICszNzMsNyBAQCBwcml2
YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBib29sIG1fd2ViTVBhcnNlckVu
YWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV93ZWJNV2ViQXVkaW9FbmFibGVkIHsgZmFsc2Ug
fTsKICNlbmRpZgogCiAjaWYgSEFWRShDRUxFU1RJQUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaAppbmRleCA4ZGE2MDM3Nzg4MjQzMzMwYWUyNTBkOWMxMGM3MmVlMDU4OGU3NjBj
Li4wODQ3Yjk3NGU5M2U4NzJhMjI5ZTdhMTYxMGYyZDQ0ZTkwMmNjMGJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKQEAgLTU3LDcgKzU3LDcgQEAgc3RydWN0IFBsYXRmb3Jt
U2FtcGxlIHsKICAgICB9IHNhbXBsZTsKIH07CiAKLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlh
U2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CitjbGFz
cyBNZWRpYVNhbXBsZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4g
ewogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlKCkgPSBkZWZhdWx0OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKaW5kZXggMjQzZTEwNmI5ZTMz
ZGE5M2RlOWEwY2FkMzNiYzA4ZTkyMDY1MzIwMC4uN2YwM2MzMzFlZTIwMTBjOTg5MjlhMDMyNGRj
YWM5NTVkNjVmOGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
QXVkaW9CdXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVz
LmNwcApAQCAtNzMsNiArNzMsMTYgQEAgdm9pZCBBdWRpb0J1czo6c2V0Q2hhbm5lbE1lbW9yeSh1
bnNpZ25lZCBjaGFubmVsSW5kZXgsIGZsb2F0KiBzdG9yYWdlLCBzaXplX3QgbGUKICAgICB9CiB9
CiAKK3ZvaWQgQXVkaW9CdXM6OnNldExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKQoreworICAgIFJF
TEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IG1fbGVu
Z3RoKTsKKyAgICBpZiAobmV3TGVuZ3RoID09IG1fbGVuZ3RoKQorICAgICAgICByZXR1cm47Cisg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhbm5lbHMuc2l6ZSgpOyArK2kpCisgICAg
ICAgIG1fY2hhbm5lbHNbaV0tPnNldExlbmd0aChuZXdMZW5ndGgpOworICAgIG1fbGVuZ3RoID0g
bmV3TGVuZ3RoOworfQorCiB2b2lkIEF1ZGlvQnVzOjp6ZXJvKCkKIHsKICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQwZTgxMTIxMWI0ZGEyY2E4YzY3MGI1OGIzMjk2
YjM1Y2U2OWNkNGEuLmVhNTg1Yzg0OGVhOTQxMjI3NDAyOWE4ODY3YWI5Y2NhYzcwNzRkNjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtODMsNiArODMsOSBA
QCBwdWJsaWM6CiAgICAgLy8gTnVtYmVyIG9mIHNhbXBsZS1mcmFtZXMKICAgICBzaXplX3QgbGVu
Z3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFJlZHVjZSB0aGUgbnVt
YmVyIG9mIGZyYW1lcyBhdmFpbGFibGUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYWxsb2NhdGVkIG1l
bW9yeSBzaXplLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpOworCiAgICAg
Ly8gU2FtcGxlLXJhdGUgOiAwLjAgaWYgdW5rbm93biBvciAiZG9uJ3QgY2FyZSIKICAgICBmbG9h
dCBzYW1wbGVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVSYXRlOyB9CiAgICAgdm9pZCBz
ZXRTYW1wbGVSYXRlKGZsb2F0IHNhbXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxlUmF0
ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFu
bmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAppbmRl
eCA5NzViZDBiNWFiZDhmNzI1NWEwNWE3ZGQ3MGY5NjUwYjFkNDk0NjY3Li5jOTc2MTVmMGRhMTUx
YzIzZDQzM2NiNTYwNjdiYjU0Nzk0NjJhMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtNzQsNiArNzQsMTQgQEAgcHVibGljOgogICAgIC8v
IEhvdyBtYW55IHNhbXBsZS1mcmFtZXMgZG8gd2UgY29udGFpbj8KICAgICBzaXplX3QgbGVuZ3Ro
KCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFNldCBuZXcgbGVuZ3RoLiBD
YW4gb25seSBiZSBzZXQgdG8gYSB2YWx1ZSBsb3dlciB0aGFuIHRoZSBjdXJyZW50bHkKKyAgICAv
LyBzZXQgbGVuZ3RoLgorICAgIHZvaWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCisgICAg
eworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG5ld0xl
bmd0aCA8PSBsZW5ndGgoKSk7CisgICAgICAgIG1fbGVuZ3RoID0gbmV3TGVuZ3RoOworICAgIH0K
KwogICAgIC8vIERpcmVjdCBhY2Nlc3MgdG8gUENNIHNhbXBsZSBkYXRhLiBOb24tY29uc3QgYWNj
ZXNzb3IgY2xlYXJzIHNpbGVudCBmbGFnLgogICAgIGZsb2F0KiBtdXRhYmxlRGF0YSgpCiAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9G
aWxlUmVhZGVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2Ev
QXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCmluZGV4IDVkNTZiOWVlMWEwZDNkNjdhNzljMzA3NjFk
MTM4MTVkN2MwNjQ0Y2UuLjViYzI0ZTM3YmYxNmU2NThiNTViODFjNWIyNmJlZmU0MTViODU3MzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmls
ZVJlYWRlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2Nv
YS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKQEAgLTM0LDIxICszNCwzNiBAQAogCiAjaW5jbHVk
ZSAiQXVkaW9CdXMuaCIKICNpbmNsdWRlICJBdWRpb0ZpbGVSZWFkZXIuaCIKKyNpbmNsdWRlICJB
dWRpb1NhbXBsZURhdGFTb3VyY2UuaCIKKyNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5oIgog
I2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIkluYmFuZFRleHRUcmFja1By
aXZhdGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTYW1wbGVBVkZP
YmpDLmgiCisjaW5jbHVkZSAiVmlkZW9UcmFja1ByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJNQXVk
aW9VdGlsaXRpZXNDb2NvYS5oIgorI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbnZlcnRl
ci5oPgogI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9FeHRlbmRlZEF1ZGlvRmlsZS5oPgogI2luY2x1
ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8cGFsL2NmL0F1
ZGlvVG9vbGJveFNvZnRMaW5rLmg+CisjaW5jbHVkZSA8U291cmNlQnVmZmVyUGFyc2VyV2ViTS5o
PgorI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMuaD4K
ICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgog
I2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvU2NvcGUuaD4KKyNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5r
Lmg+CisjaW5jbHVkZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBBdWRpb0J1ZmZlckxpc3QqIHRy
eUNyZWF0ZUF1ZGlvQnVmZmVyTGlzdChzaXplX3QgbnVtYmVyT2ZCdWZmZXJzKQogeworICAgIGlm
ICghbnVtYmVyT2ZCdWZmZXJzKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBDaGVja2Vk
U2l6ZSBidWZmZXJMaXN0U2l6ZSA9IHNpemVvZihBdWRpb0J1ZmZlckxpc3QpIC0gc2l6ZW9mKEF1
ZGlvQnVmZmVyKTsKLSAgICBidWZmZXJMaXN0U2l6ZSArPSBudW1iZXJPZkJ1ZmZlcnMgKiBzaXpl
b2YoQXVkaW9CdWZmZXIpOworICAgIGJ1ZmZlckxpc3RTaXplICs9IFdURjo6Y2hlY2tlZFByb2R1
Y3Q8c2l6ZV90PihudW1iZXJPZkJ1ZmZlcnMsIHNpemVvZihBdWRpb0J1ZmZlcikpOwogICAgIGlm
IChidWZmZXJMaXN0U2l6ZS5oYXNPdmVyZmxvd2VkKCkpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwogCkBAIC04NywxMCArMTAyLDg5IEBAIHN0YXRpYyBib29sIHZhbGlkYXRlQXVkaW9CdWZmZXJM
aXN0KEF1ZGlvQnVmZmVyTGlzdCogYnVmZmVyTGlzdCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAor
Ly8gT24gc3RhY2sgUkFJSSBjbGFzcyB0aGF0IHdpbGwgZnJlZSB0aGUgYWxsb2NhdGVkIEF1ZGlv
QnVmZmVyTGlzdCBhcyBuZWVkZWQuCitjbGFzcyBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgeworcHVi
bGljOgorICAgIGV4cGxpY2l0IEF1ZGlvQnVmZmVyTGlzdEhvbGRlcihzaXplX3QgbnVtYmVyT2ZD
aGFubmVscykKKyAgICAgICAgOiBtX2J1ZmZlckxpc3QodHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0
KG51bWJlck9mQ2hhbm5lbHMpKQorICAgIHsKKyAgICB9CisKKyAgICB+QXVkaW9CdWZmZXJMaXN0
SG9sZGVyKCkKKyAgICB7CisgICAgICAgIGlmIChtX2J1ZmZlckxpc3QpCisgICAgICAgICAgICBk
ZXN0cm95QXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7CisgICAgfQorCisgICAgZXhwbGlj
aXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuICEhbV9idWZmZXJMaXN0OyB9CisgICAg
QXVkaW9CdWZmZXJMaXN0KiBvcGVyYXRvci0+KCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXJMaXN0
OyB9CisgICAgQXVkaW9CdWZmZXJMaXN0KiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVybiBtX2J1
ZmZlckxpc3Q7IH0KKyAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiB2YWxpZGF0ZUF1
ZGlvQnVmZmVyTGlzdChtX2J1ZmZlckxpc3QpOyB9Citwcml2YXRlOgorICAgIEF1ZGlvQnVmZmVy
TGlzdCogbV9idWZmZXJMaXN0OworfTsKKworc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBrT3B1
c01heEZyYW1lTGVuZ3RoID0gOTQ7CitzdGF0aWMgY29uc3RleHByIHVpbnQzMl90IGtWb3JiaXNN
YXhGcmFtZUxlbmd0aCA9IDQwOTY7CisKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKworcHVibGljOgorI2lmIEVOQUJMRShNRURJ
QV9TT1VSQ0UpCisgICAgU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25TZWdt
ZW50IG1faW5pdFNlZ21lbnQ7CisjZW5kaWYKKyAgICBNZWRpYVRpbWUgbV9kdXJhdGlvbjsKKyAg
ICBWZWN0b3I8UmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4+IG1fc2FtcGxlczsKK307CisKIEF1ZGlv
RmlsZVJlYWRlcjo6QXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRh
U2l6ZSkKICAgICA6IG1fZGF0YShkYXRhKQogICAgICwgbV9kYXRhU2l6ZShkYXRhU2l6ZSkKKyNp
ZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIG1fbG9nZ2VyKExvZ2dlcjo6Y3JlYXRlKHRo
aXMpKQorICAgICwgbV9sb2dJZGVudGlmaWVyKExvZ2dlckhlbHBlcjo6dW5pcXVlTG9nSWRlbnRp
ZmllcigpKQorI2VuZGlmCiB7CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBpZiAoaXNN
YXliZVdlYk0oc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEpLCBkYXRhU2l6ZSkpIHsK
KyAgICAgICAgYXV0byBwYXJzZXIgPSBhZG9wdFJlZihuZXcgU291cmNlQnVmZmVyUGFyc2VyV2Vi
TSgpKTsKKyAgICAgICAgYm9vbCBlcnJvciA9IGZhbHNlOworICAgICAgICBzdGQ6Om9wdGlvbmFs
PHVpbnQ2NF90PiBhdWRpb1RyYWNrSWQ7CisgICAgICAgIE1lZGlhVGltZSBkdXJhdGlvbjsKKyAg
ICAgICAgU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25TZWdtZW50IGluaXRT
ZWdtZW50OworICAgICAgICBWZWN0b3I8UmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4+IHNhbXBsZXM7
CisgICAgICAgIHBhcnNlci0+c2V0RGlkRW5jb3VudGVyRXJyb3JEdXJpbmdQYXJzaW5nQ2FsbGJh
Y2soWyZdKHVpbnQ2NF90KSB7CisgICAgICAgICAgICBlcnJvciA9IHRydWU7CisgICAgICAgIH0p
OworICAgICAgICBwYXJzZXItPnNldERpZFBhcnNlSW5pdGlhbGl6YXRpb25EYXRhQ2FsbGJhY2so
WyZdKFNvdXJjZUJ1ZmZlclBhcnNlcldlYk06OkluaXRpYWxpemF0aW9uU2VnbWVudCYmIGluaXQp
IHsKKyAgICAgICAgICAgIGZvciAoYXV0byYgYXVkaW9UcmFjayA6IGluaXQuYXVkaW9UcmFja3Mp
IHsKKyAgICAgICAgICAgICAgICBpZiAoYXVkaW9UcmFjay50cmFjayAmJiBhdWRpb1RyYWNrLnRy
YWNrLT50cmFja1VJRCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uID0gaW5pdC5k
dXJhdGlvbjsKKyAgICAgICAgICAgICAgICAgICAgYXVkaW9UcmFja0lkID0gYXVkaW9UcmFjay50
cmFjay0+dHJhY2tVSUQoKTsKKyAgICAgICAgICAgICAgICAgICAgaW5pdFNlZ21lbnQgPSBXVEZN
b3ZlKGluaXQpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQorICAgICAgICB9KTsKKyAgICAgICAgcGFyc2VyLT5zZXREaWRQcm92
aWRlTWVkaWFEYXRhQ2FsbGJhY2soWyZdKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUsIHVpbnQ2
NF90IHRyYWNrSUQsIGNvbnN0IFN0cmluZyYpIHsKKyAgICAgICAgICAgIGlmICghYXVkaW9UcmFj
a0lkIHx8IHRyYWNrSUQgIT0gKmF1ZGlvVHJhY2tJZCkKKyAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICBzYW1wbGVzLmFwcGVuZChzdGF0aWNfcmVmZXJlbmNlX2Nhc3Q8TWVkaWFT
YW1wbGVBVkZPYmpDPihXVEZNb3ZlKHNhbXBsZSkpKTsKKyAgICAgICAgfSk7CisgICAgICAgIHBh
cnNlci0+c2V0Q2FsbE9uQ2xpZW50VGhyZWFkQ2FsbGJhY2soW10oV1RGOjpGdW5jdGlvbjx2b2lk
KCk+JiYgZnVuY3Rpb24pIHsKKyAgICAgICAgICAgIGZ1bmN0aW9uKCk7CisgICAgICAgIH0pOwor
ICAgICAgICBWZWN0b3I8dWludDhfdD4gdmVjdG9yKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3Qq
PihkYXRhKSwgZGF0YVNpemUpOworICAgICAgICBTb3VyY2VCdWZmZXJQYXJzZXI6OlNlZ21lbnQg
c2VnbWVudChXVEZNb3ZlKHZlY3RvcikpOworICAgICAgICBwYXJzZXItPmFwcGVuZERhdGEoV1RG
TW92ZShzZWdtZW50KSk7CisgICAgICAgIGlmIChhdWRpb1RyYWNrSWQpIHsKKyAgICAgICAgICAg
IHBhcnNlci0+Zmx1c2hQZW5kaW5nQXVkaW9CdWZmZXJzKCk7CisgICAgICAgICAgICBtX3dlYm1E
YXRhID0gbWFrZVVuaXF1ZTxBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YT4oQXVkaW9GaWxlUmVhZGVy
V2ViTURhdGEgeyBXVEZNb3ZlKGluaXRTZWdtZW50KSwgV1RGTW92ZShkdXJhdGlvbiksIFdURk1v
dmUoc2FtcGxlcykgfSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRp
ZgogICAgIGlmIChQQUw6OkF1ZGlvRmlsZU9wZW5XaXRoQ2FsbGJhY2tzKHRoaXMsIHJlYWRQcm9j
LCAwLCBnZXRTaXplUHJvYywgMCwgMCwgJm1fYXVkaW9GaWxlSUQpICE9IG5vRXJyKQogICAgICAg
ICByZXR1cm47CiAKQEAgLTExMSw2ICsyMDUsMTIgQEAgQXVkaW9GaWxlUmVhZGVyOjp+QXVkaW9G
aWxlUmVhZGVyKCkKICAgICBtX2F1ZGlvRmlsZUlEID0gMDsKIH0KIAorYm9vbCBBdWRpb0ZpbGVS
ZWFkZXI6OmlzTWF5YmVXZWJNKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkg
Y29uc3QKK3sKKyAgICAvLyBGcm9tIGh0dHBzOi8vbWltZXNuaWZmLnNwZWMud2hhdHdnLm9yZy8j
c2lnbmF0dXJlLWZvci13ZWJtCisgICAgcmV0dXJuIGRhdGFTaXplID49IDQgJiYgZGF0YVswXSA9
PSAweDFBICYmIGRhdGFbMV0gPT0gMHg0NSAmJiBkYXRhWzJdID09IDB4REYgJiYgZGF0YVszXSA9
PSAweEEzOworfQorCiBPU1N0YXR1cyBBdWRpb0ZpbGVSZWFkZXI6OnJlYWRQcm9jKHZvaWQqIGNs
aWVudERhdGEsIFNJbnQ2NCBwb3NpdGlvbiwgVUludDMyIHJlcXVlc3RDb3VudCwgdm9pZCogYnVm
ZmVyLCBVSW50MzIqIGFjdHVhbENvdW50KQogewogICAgIGF1dG8qIGF1ZGlvRmlsZVJlYWRlciA9
IHN0YXRpY19jYXN0PEF1ZGlvRmlsZVJlYWRlcio+KGNsaWVudERhdGEpOwpAQCAtMTM2LDY3ICsy
MzYsMTcyIEBAIFNJbnQ2NCBBdWRpb0ZpbGVSZWFkZXI6OmdldFNpemVQcm9jKHZvaWQqIGNsaWVu
dERhdGEpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF1ZGlvRmlsZVJlYWRlcio+KGNsaWVudERh
dGEpLT5kYXRhU2l6ZSgpOwogfQogCi1SZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6
Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQorc3RydWN0IFBhc3N0
aHJvdWdoVXNlckRhdGEgeworICAgIFVJbnQzMiBtX2NoYW5uZWxzOworICAgIFVJbnQzMiBtX2Rh
dGFTaXplOworICAgIGNvbnN0IHZvaWQqIG1fZGF0YTsKKyAgICBVSW50MzIgbV9pbmRleDsKKyAg
ICBVSW50MzIgbV9udW1QYWNrZXRzOworICAgIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24q
IG1fcGFja2V0czsKK307CisKKy8vIEVycm9yIHZhbHVlIHdlIHBhc3MgdGhyb3VnaCB0aGUgZGVj
b2RlciB0byBzaWduYWwgdGhhdCBub3RoaW5nCisvLyBoYXMgZ29uZSB3cm9uZyBkdXJpbmcgZGVj
b2RpbmcgYW5kIHdlJ3JlIGRvbmUgcHJvY2Vzc2luZyB0aGUgcGFja2V0LgorY29uc3QgdWludDMy
X3Qga05vTW9yZURhdGFFcnIgPSAnTU9BUic7CisKK3N0YXRpYyBPU1N0YXR1cyBwYXNzdGhyb3Vn
aElucHV0RGF0YUNhbGxiYWNrKAorICAgIEF1ZGlvQ29udmVydGVyUmVmLCBVSW50MzIqIG51bURh
dGFQYWNrZXRzLCBBdWRpb0J1ZmZlckxpc3QqIGRhdGEsIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3Jp
cHRpb24qKiBwYWNrZXREZXNjLCB2b2lkKiBpblVzZXJEYXRhKQoreworICAgIFBhc3N0aHJvdWdo
VXNlckRhdGEqIHVzZXJEYXRhID0gKFBhc3N0aHJvdWdoVXNlckRhdGEqKWluVXNlckRhdGE7Cisg
ICAgaWYgKHVzZXJEYXRhLT5tX2luZGV4ID09IHVzZXJEYXRhLT5tX251bVBhY2tldHMpIHsKKyAg
ICAgICAgKm51bURhdGFQYWNrZXRzID0gMDsKKyAgICAgICAgcmV0dXJuIGtOb01vcmVEYXRhRXJy
OworICAgIH0KKworICAgIGlmIChwYWNrZXREZXNjKSB7CisgICAgICAgIGlmICh1c2VyRGF0YS0+
bV9pbmRleCA+PSB1c2VyRGF0YS0+bV9udW1QYWNrZXRzKSB7CisgICAgICAgICAgICAqbnVtRGF0
YVBhY2tldHMgPSAwOworICAgICAgICAgICAgcmV0dXJuIGtBdWRpb0NvbnZlcnRlckVycl9SZXF1
aXJlc1BhY2tldERlc2NyaXB0aW9uc0Vycm9yOworICAgICAgICB9CisgICAgICAgICpwYWNrZXRE
ZXNjID0gJnVzZXJEYXRhLT5tX3BhY2tldHNbdXNlckRhdGEtPm1faW5kZXhdOworICAgIH0KKwor
ICAgIGRhdGEtPm1CdWZmZXJzWzBdLm1OdW1iZXJDaGFubmVscyA9IHVzZXJEYXRhLT5tX2NoYW5u
ZWxzOworICAgIGRhdGEtPm1CdWZmZXJzWzBdLm1EYXRhQnl0ZVNpemUgPSB1c2VyRGF0YS0+bV9k
YXRhU2l6ZTsKKyAgICBkYXRhLT5tQnVmZmVyc1swXS5tRGF0YSA9IGNvbnN0X2Nhc3Q8dm9pZCo+
KHVzZXJEYXRhLT5tX2RhdGEpOworCisgICAgKm51bURhdGFQYWNrZXRzID0gMTsKKyAgICB1c2Vy
RGF0YS0+bV9pbmRleCsrOworCisgICAgcmV0dXJuIG5vRXJyOworfQorCitzc2l6ZV90IEF1ZGlv
RmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMoKSBjb25zdAogeworICAgIFNJbnQ2NCBudW1iZXJP
ZkZyYW1lc0luNjQgPSAwOworCisgICAgaWYgKG1fd2VibURhdGEpIHsKKyAgICAgICAgaWYgKG1f
d2VibURhdGEtPm1fc2FtcGxlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gLTE7CisK
KyAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB0b3RhbCBudW1iZXIgb2YgZGVjb2RlZCBzYW1wbGVz
IHRoYXQgd2VyZSBkZW11eGVkLgorICAgICAgICAvLyBUaGlzIGNvZGUgb25seSBoYW5kbGUgdGhl
IENNU2FtcGxlQnVmZmVyIGFzIGdlbmVyYXRlZCBieSB0aGUgU291cmNlQnVmZmVyUGFyc2VyV2Vi
TQorICAgICAgICAvLyB3aGVyZSBhIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zIGFycmF5
IGlzIGFsd2F5cyBwcm92aWRlZCBldmVuIHdpdGgKKyAgICAgICAgLy8gQ29uc3RhbnQgYml0cmF0
ZSBhbmQgY29uc3RhbnQgZnJhbWVzLXBlci1wYWNrZXQgYXVkaW8uCisgICAgICAgIGZvciAoYXV0
byYgc2FtcGxlIDogbV93ZWJtRGF0YS0+bV9zYW1wbGVzKSB7CisgICAgICAgICAgICBDTVNhbXBs
ZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAg
ICAgICAgY29uc3QgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbiA9IFBB
TDo6Q01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbihzYW1wbGVCdWZmZXIpOworICAg
ICAgICAgICAgaWYgKCFmb3JtYXREZXNjcmlwdGlvbikKKyAgICAgICAgICAgICAgICByZXR1cm4g
LTE7CisgICAgICAgICAgICBjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qIGNvbnN0
IGFzYmQgPSBQQUw6OkNNQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkdldFN0cmVhbUJhc2ljRGVzY3Jp
cHRpb24oZm9ybWF0RGVzY3JpcHRpb24pOworICAgICAgICAgICAgaWYgKCFhc2JkKQorICAgICAg
ICAgICAgICAgIHJldHVybiAtMTsKKworICAgICAgICAgICAgc2l6ZV90IHBhY2tldERlc2NyaXB0
aW9uc1NpemU7CisgICAgICAgICAgICBpZiAoUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3Ry
ZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1ZmZlciwgMCwgbnVsbHB0ciwgJnBhY2tldERl
c2NyaXB0aW9uc1NpemUpICE9IG5vRXJyKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAg
ICAgICAgICAgIHNpemVfdCBudW1EZXNjcmlwdGlvbnMgPSBwYWNrZXREZXNjcmlwdGlvbnNTaXpl
IC8gc2l6ZW9mKEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24pOworICAgICAgICAgICAgaWYg
KCFudW1EZXNjcmlwdGlvbnMpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAg
ICAgYXV0byBkZXNjcmlwdGlvbnMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxBdWRpb1N0cmVhbVBh
Y2tldERlc2NyaXB0aW9uPihudW1EZXNjcmlwdGlvbnMpOworICAgICAgICAgICAgaWYgKFBBTDo6
Q01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZm
ZXIsIHBhY2tldERlc2NyaXB0aW9uc1NpemUsIGRlc2NyaXB0aW9ucy5nZXQoKSwgbnVsbHB0cikg
IT0gbm9FcnIpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgQ01JdGVt
Q291bnQgbnVtUGFja2V0cyA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXROdW1TYW1wbGVzKHNhbXBs
ZUJ1ZmZlcik7CisgICAgICAgICAgICBpZiAobnVtRGVzY3JpcHRpb25zICE9IHNpemVfdChudW1Q
YWNrZXRzKSkgeworICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAi
VW5oYW5kbGVkIENNU2FtcGxlQnVmZmVyIHN0cnVjdHVyZSIpOworICAgICAgICAgICAgICAgIHJl
dHVybiAtMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgbnVtRGVzY3JpcHRpb25zOyBpKyspIHsKKyAgICAgICAgICAgICAgICB1aW50MzJfdCBmcHAg
PSBkZXNjcmlwdGlvbnNbaV0ubVZhcmlhYmxlRnJhbWVzSW5QYWNrZXQgPyBkZXNjcmlwdGlvbnNb
aV0ubVZhcmlhYmxlRnJhbWVzSW5QYWNrZXQgOiBhc2JkLT5tRnJhbWVzUGVyUGFja2V0OworICAg
ICAgICAgICAgICAgIG51bWJlck9mRnJhbWVzSW42NCArPSBmcHA7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG51bWJlck9mRnJhbWVzSW42NDsKKyAgICB9CisKICAg
ICBpZiAoIW1fZXh0QXVkaW9GaWxlUmVmKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAg
ICAgcmV0dXJuIC0xOwogCi0gICAgLy8gR2V0IGZpbGUncyBkYXRhIGZvcm1hdAotICAgIFVJbnQz
MiBzaXplID0gc2l6ZW9mKG1fZmlsZURhdGFGb3JtYXQpOwotICAgIGlmIChQQUw6OkV4dEF1ZGlv
RmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlf
RmlsZURhdGFGb3JtYXQsICZzaXplLCAmbV9maWxlRGF0YUZvcm1hdCkgIT0gbm9FcnIpCi0gICAg
ICAgIHJldHVybiBudWxscHRyOworICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKG51bWJlck9mRnJh
bWVzSW42NCk7CisgICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRp
b0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxlTGVuZ3RoRnJhbWVzLCAmc2l6ZSwg
Jm51bWJlck9mRnJhbWVzSW42NCkgIT0gbm9FcnIgfHwgbnVtYmVyT2ZGcmFtZXNJbjY0IDw9IDAp
CisgICAgICAgIHJldHVybiAtMTsKIAotICAgIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzID0gbV9m
aWxlRGF0YUZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZTsKKyAgICByZXR1cm4gbnVtYmVyT2ZGcmFt
ZXNJbjY0OworfQogCi0gICAgLy8gTnVtYmVyIG9mIGZyYW1lcwotICAgIFNJbnQ2NCBudW1iZXJP
ZkZyYW1lczY0ID0gMDsKLSAgICBzaXplID0gc2l6ZW9mKG51bWJlck9mRnJhbWVzNjQpOwotICAg
IGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0
QXVkaW9GaWxlUHJvcGVydHlfRmlsZUxlbmd0aEZyYW1lcywgJnNpemUsICZudW1iZXJPZkZyYW1l
czY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lczY0IDw9IDApCi0gICAgICAgIHJldHVybiBu
dWxscHRyOworc3RkOjpvcHRpb25hbDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+IEF1ZGlv
RmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQoKSBjb25zdAoreworICAgIGlmIChtX3dlYm1EYXRh
KSB7CisgICAgICAgIGlmIChtX3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgpKQorICAgICAg
ICAgICAgcmV0dXJuIHsgfTsKKworICAgICAgICBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1h
dERlc2NyaXB0aW9uID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKG1f
d2VibURhdGEtPm1fc2FtcGxlc1swXS0+c2FtcGxlQnVmZmVyKCkpOworICAgICAgICBpZiAoIWZv
cm1hdERlc2NyaXB0aW9uKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKworICAgICAgICBjb25z
dCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNNQXVkaW9G
b3JtYXREZXNjcmlwdGlvbkdldFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3JpcHRp
b24pOworICAgICAgICByZXR1cm4gKmFzYmQ7CisgICAgfQogCi0gICAgZG91YmxlIGZpbGVTYW1w
bGVSYXRlID0gbV9maWxlRGF0YUZvcm1hdC5tU2FtcGxlUmF0ZTsKKyAgICBBdWRpb1N0cmVhbUJh
c2ljRGVzY3JpcHRpb24gZm9ybWF0OworICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKGZvcm1hdCk7
CisgICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYs
IGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxlRGF0YUZvcm1hdCwgJnNpemUsICZmb3JtYXQpICE9
IG5vRXJyKQorICAgICAgICByZXR1cm4geyB9OworICAgIHJldHVybiBmb3JtYXQ7Cit9CiAKK0F1
ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBBdWRpb0ZpbGVSZWFkZXI6OmNsaWVudERhdGFGb3Jt
YXQoY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwgZmxvYXQgc2Ft
cGxlUmF0ZSkgY29uc3QKK3sKICAgICAvLyBNYWtlIGNsaWVudCBmb3JtYXQgc2FtZSBudW1iZXIg
b2YgY2hhbm5lbHMgYXMgZmlsZSBmb3JtYXQsIGJ1dCB0d2VhayBhIGZldyB0aGluZ3MuCiAgICAg
Ly8gQ2xpZW50IGZvcm1hdCB3aWxsIGJlIGxpbmVhciBQQ00gKGNhbm9uaWNhbCksIGFuZCBwb3Rl
bnRpYWxseSBjaGFuZ2Ugc2FtcGxlLXJhdGUuCi0gICAgbV9jbGllbnREYXRhRm9ybWF0ID0gbV9m
aWxlRGF0YUZvcm1hdDsKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gb3V0Rm9ybWF0
ID0gaW5Gb3JtYXQ7CiAKICAgICBjb25zdCBpbnQgYnl0ZXNQZXJGbG9hdCA9IHNpemVvZihGbG9h
dDMyKTsKICAgICBjb25zdCBpbnQgYml0c1BlckJ5dGUgPSA4OwotICAgIG1fY2xpZW50RGF0YUZv
cm1hdC5tRm9ybWF0SUQgPSBrQXVkaW9Gb3JtYXRMaW5lYXJQQ007Ci0gICAgbV9jbGllbnREYXRh
Rm9ybWF0Lm1Gb3JtYXRGbGFncyA9IGtBdWRpb0Zvcm1hdEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQg
fCBrQXVkaW9Gb3JtYXRGbGFnSXNOb25JbnRlcmxlYXZlZDsKLSAgICBtX2NsaWVudERhdGFGb3Jt
YXQubUJ5dGVzUGVyUGFja2V0ID0gYnl0ZXNQZXJGbG9hdDsKLSAgICBtX2NsaWVudERhdGFGb3Jt
YXQubUZyYW1lc1BlclBhY2tldCA9IDE7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1CeXRlc1Bl
ckZyYW1lID0gYnl0ZXNQZXJGbG9hdDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUNoYW5uZWxz
UGVyRnJhbWUgPSBudW1iZXJPZkNoYW5uZWxzOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQml0
c1BlckNoYW5uZWwgPSBiaXRzUGVyQnl0ZSAqIGJ5dGVzUGVyRmxvYXQ7CisgICAgb3V0Rm9ybWF0
Lm1Gb3JtYXRJRCA9IGtBdWRpb0Zvcm1hdExpbmVhclBDTTsKKyAgICBvdXRGb3JtYXQubUZvcm1h
dEZsYWdzID0ga0F1ZGlvRm9ybWF0RmxhZ3NOYXRpdmVGbG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1h
dEZsYWdJc05vbkludGVybGVhdmVkOworICAgIG91dEZvcm1hdC5tQnl0ZXNQZXJQYWNrZXQgPSBv
dXRGb3JtYXQubUJ5dGVzUGVyRnJhbWUgPSBieXRlc1BlckZsb2F0OworICAgIG91dEZvcm1hdC5t
RnJhbWVzUGVyUGFja2V0ID0gMTsKKyAgICBvdXRGb3JtYXQubUJpdHNQZXJDaGFubmVsID0gYml0
c1BlckJ5dGUgKiBieXRlc1BlckZsb2F0OwogCiAgICAgaWYgKHNhbXBsZVJhdGUpCi0gICAgICAg
IG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7CisgICAgICAgIG91
dEZvcm1hdC5tU2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7CisKKyAgICByZXR1cm4gb3V0Rm9ybWF0
OworfQogCi0gICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlU2V0UHJvcGVydHkobV9leHRBdWRpb0Zp
bGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9DbGllbnREYXRhRm9ybWF0LCBzaXplb2YoQXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKSwgJm1fY2xpZW50RGF0YUZvcm1hdCkgIT0gbm9FcnIp
CitSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBs
ZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQoreworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQg
PSBudW1iZXJPZkZyYW1lcygpOworICAgIGlmIChudW1iZXJPZkZyYW1lc0luNjQgPD0gMCkKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICAvLyBDaGFuZ2UgbnVtYmVyT2ZGcmFtZXM2NCB0
byBkZXN0aW5hdGlvbiBzYW1wbGUtcmF0ZQotICAgIG51bWJlck9mRnJhbWVzNjQgPSBudW1iZXJP
ZkZyYW1lczY0ICogKG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVS
YXRlKTsKLSAgICBzaXplX3QgbnVtYmVyT2ZGcmFtZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51
bWJlck9mRnJhbWVzNjQpOworICAgIGF1dG8gaW5Gb3JtYXQgPSBmaWxlRGF0YUZvcm1hdCgpOwor
ICAgIGlmICghaW5Gb3JtYXQpCisgICAgICAgIHJldHVybiBudWxscHRyOwogCisgICAgQXVkaW9T
dHJlYW1CYXNpY0Rlc2NyaXB0aW9uIG91dEZvcm1hdCA9IGNsaWVudERhdGFGb3JtYXQoKmluRm9y
bWF0LCBzYW1wbGVSYXRlKTsKKyAgICBzaXplX3QgbnVtYmVyT2ZDaGFubmVscyA9IGluRm9ybWF0
LT5tQ2hhbm5lbHNQZXJGcmFtZTsKKyAgICBkb3VibGUgZmlsZVNhbXBsZVJhdGUgPSBpbkZvcm1h
dC0+bVNhbXBsZVJhdGU7CisgICAgU0ludDY0IG51bWJlck9mRnJhbWVzT3V0NjQgPSBudW1iZXJP
ZkZyYW1lc0luNjQgKiAob3V0Rm9ybWF0Lm1TYW1wbGVSYXRlIC8gZmlsZVNhbXBsZVJhdGUpOwor
ICAgIHNpemVfdCBudW1iZXJPZkZyYW1lcyA9IHN0YXRpY19jYXN0PHNpemVfdD4obnVtYmVyT2ZG
cmFtZXNPdXQ2NCk7CiAgICAgc2l6ZV90IGJ1c0NoYW5uZWxDb3VudCA9IG1peFRvTW9ubyA/IDEg
OiBudW1iZXJPZkNoYW5uZWxzOwogCiAgICAgLy8gQ3JlYXRlIEF1ZGlvQnVzIHdoZXJlIHdlJ2xs
IHB1dCB0aGUgUENNIGF1ZGlvIGRhdGEKICAgICBhdXRvIGF1ZGlvQnVzID0gQXVkaW9CdXM6OmNy
ZWF0ZShidXNDaGFubmVsQ291bnQsIG51bWJlck9mRnJhbWVzKTsKLSAgICBhdWRpb0J1cy0+c2V0
U2FtcGxlUmF0ZShuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KG1fY2xpZW50RGF0YUZvcm1hdC5tU2Ft
cGxlUmF0ZSkpOyAvLyBzYXZlIGZvciBsYXRlcgotCi0gICAgLy8gT25seSBhbGxvY2F0ZWQgaW4g
dGhlIG1peFRvTW9ubyBjYXNlOyBkZWFsbG9jYXRlZCBvbiBkZXN0cnVjdGlvbi4KLSAgICBBdWRp
b0Zsb2F0QXJyYXkgbGVmdENoYW5uZWw7Ci0gICAgQXVkaW9GbG9hdEFycmF5IHJpZ2h0Q2hhbm5l
bDsKKyAgICBhdWRpb0J1cy0+c2V0U2FtcGxlUmF0ZShuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KG91
dEZvcm1hdC5tU2FtcGxlUmF0ZSkpOyAvLyBzYXZlIGZvciBsYXRlcgogCi0gICAgQXVkaW9CdWZm
ZXJMaXN0KiBidWZmZXJMaXN0ID0gdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hh
bm5lbHMpOworICAgIEF1ZGlvQnVmZmVyTGlzdEhvbGRlciBidWZmZXJMaXN0KG51bWJlck9mQ2hh
bm5lbHMpOwogICAgIGlmICghYnVmZmVyTGlzdCkgewogICAgICAgICBSRUxFQVNFX0xPR19GQVVM
VChXZWJBdWRpbywgInRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlzdCglbGQpIHJldHVybmVkIG51bGwi
LCBudW1iZXJPZkNoYW5uZWxzKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogICAg
IGNvbnN0IHNpemVfdCBidWZmZXJTaXplID0gbnVtYmVyT2ZGcmFtZXMgKiBzaXplb2YoZmxvYXQp
OwogCisgICAgLy8gT25seSBhbGxvY2F0ZWQgaW4gdGhlIG1peFRvTW9ubyBjYXNlOyBkZWFsbG9j
YXRlZCBvbiBkZXN0cnVjdGlvbi4KKyAgICBBdWRpb0Zsb2F0QXJyYXkgbGVmdENoYW5uZWw7Cisg
ICAgQXVkaW9GbG9hdEFycmF5IHJpZ2h0Q2hhbm5lbDsKKwogICAgIFJFTEVBU0VfQVNTRVJUKGJ1
ZmZlckxpc3QtPm1OdW1iZXJCdWZmZXJzID09IG51bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmICht
aXhUb01vbm8gJiYgbnVtYmVyT2ZDaGFubmVscyA9PSAyKSB7CiAgICAgICAgIGxlZnRDaGFubmVs
LnJlc2l6ZShudW1iZXJPZkZyYW1lcyk7CkBAIC0yMjIsMTggKzQyNyw4NyBAQCBSZWZQdHI8QXVk
aW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wg
bWl4VG9Nb25vKQogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKCF2YWxpZGF0ZUF1ZGlvQnVm
ZmVyTGlzdChidWZmZXJMaXN0KSkgeworICAgIGlmICghYnVmZmVyTGlzdC5pc1ZhbGlkKCkpIHsK
ICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJHZW5lcmF0ZWQgYnVmZmVyIGlu
IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKCkgZGlkIG5vdCBwYXNzIHZhbGlkYXRpb24iKTsK
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZl
ckxpc3QoYnVmZmVyTGlzdCk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAg
IC8vIFJlYWQgZnJvbSB0aGUgZmlsZSAob3IgaW4tbWVtb3J5IHZlcnNpb24pCi0gICAgVUludDMy
IGZyYW1lc1RvUmVhZCA9IG51bWJlck9mRnJhbWVzOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmls
ZVJlYWQobV9leHRBdWRpb0ZpbGVSZWYsICZmcmFtZXNUb1JlYWQsIGJ1ZmZlckxpc3QpICE9IG5v
RXJyKSB7Ci0gICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7Ci0gICAg
ICAgIHJldHVybiBudWxscHRyOworICAgIGlmIChtX3dlYm1EYXRhKSB7CisgICAgICAgIEF1ZGlv
Q29udmVydGVyUmVmIGNvbnZlcnRlcjsKKyAgICAgICAgaWYgKFBBTDo6QXVkaW9Db252ZXJ0ZXJO
ZXcoJippbkZvcm1hdCwgJm91dEZvcm1hdCwgJmNvbnZlcnRlcikgIT0gbm9FcnIpCisgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgYXV0byBjbGVhbnVwID0gbWFrZVNjb3BlRXhp
dChbJl0geworICAgICAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bvc2UoY29udmVydGVy
KTsKKyAgICAgICAgfSk7CisgICAgICAgIENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0RGVz
Y3JpcHRpb24gPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24obV93ZWJt
RGF0YS0+bV9zYW1wbGVzWzBdLT5zYW1wbGVCdWZmZXIoKSk7CisgICAgICAgIHNpemVfdCBtYWdp
Y0Nvb2tpZVNpemUgPSAwOworICAgICAgICBjb25zdCB2b2lkKiBtYWdpY0Nvb2tpZSA9IFBBTDo6
Q01BdWRpb0Zvcm1hdERlc2NyaXB0aW9uR2V0TWFnaWNDb29raWUoZm9ybWF0RGVzY3JpcHRpb24s
ICZtYWdpY0Nvb2tpZVNpemUpOworICAgICAgICBpZiAobWFnaWNDb29raWUgJiYgbWFnaWNDb29r
aWVTaXplKQorICAgICAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlclNldFByb3BlcnR5KGNvbnZl
cnRlciwga0F1ZGlvQ29udmVydGVyRGVjb21wcmVzc2lvbk1hZ2ljQ29va2llLCBtYWdpY0Nvb2tp
ZVNpemUsIG1hZ2ljQ29va2llKTsKKworICAgICAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgZGVj
b2RlZEJ1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CisgICAgICAgIGlmICghZGVjb2RlZEJ1
ZmZlckxpc3QpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBzaXplX3Qg
ZGVjb2RlZEZyYW1lcyA9IDA7CisgICAgICAgIE9TU3RhdHVzIHN0YXR1czsKKyAgICAgICAgZm9y
IChhdXRvJiBzYW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgICAgIENN
U2FtcGxlQnVmZmVyUmVmIHNhbXBsZUJ1ZmZlciA9IHNhbXBsZS0+c2FtcGxlQnVmZmVyKCk7Cisg
ICAgICAgICAgICBhdXRvIGJ1ZmZlciA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVy
KHNhbXBsZUJ1ZmZlcik7CisgICAgICAgICAgICBBU1NFUlQoUEFMOjpDTUJsb2NrQnVmZmVySXNS
YW5nZUNvbnRpZ3VvdXMoYnVmZmVyLCAwLCAwKSk7CisgICAgICAgICAgICBpZiAoIVBBTDo6Q01C
bG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzKGJ1ZmZlciwgMCwgMCkpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAgIHNpemVfdCBzcmNTaXplID0gUEFMOjpD
TUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aChidWZmZXIpOworICAgICAgICAgICAgY2hhciogc3Jj
RGF0YSA9IG51bGxwdHI7CisgICAgICAgICAgICBpZiAoUEFMOjpDTUJsb2NrQnVmZmVyR2V0RGF0
YVBvaW50ZXIoYnVmZmVyLCAwLCBudWxscHRyLCBudWxscHRyLCAmc3JjRGF0YSkgIT0gbm9FcnIp
CisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAgIHNpemVfdCBw
YWNrZXREZXNjcmlwdGlvbnNTaXplOworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVCdWZm
ZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIDAsIG51bGxw
dHIsICZwYWNrZXREZXNjcmlwdGlvbnNTaXplKSAhPSBub0VycikKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgIHNpemVfdCBudW1EZXNjcmlwdGlvbnMgPSBwYWNr
ZXREZXNjcmlwdGlvbnNTaXplIC8gc2l6ZW9mKEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24p
OworICAgICAgICAgICAgaWYgKCFudW1EZXNjcmlwdGlvbnMpCisgICAgICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgICAgICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IFdURjo6bWFrZVVu
aXF1ZUFycmF5PEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24+KG51bURlc2NyaXB0aW9ucyk7
CisgICAgICAgICAgICBpZiAoUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0
RGVzY3JpcHRpb25zKHNhbXBsZUJ1ZmZlciwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3Jp
cHRpb25zLmdldCgpLCBudWxscHRyKSAhPSBub0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICAgICAgICAgIFBhc3N0aHJvdWdoVXNlckRhdGEgdXNlckRhdGEgPSB7IFVJ
bnQzMihudW1iZXJPZkNoYW5uZWxzKSwgVUludDMyKHNyY1NpemUpLCBzcmNEYXRhLCAwLCBVSW50
MzIobnVtRGVzY3JpcHRpb25zKSwgZGVzY3JpcHRpb25zLmdldCgpIH07CisKKyAgICAgICAgICAg
IGRvIHsKKyAgICAgICAgICAgICAgICBpZiAobnVtYmVyT2ZGcmFtZXMgPCBkZWNvZGVkRnJhbWVz
KSB7CisgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiRGVj
b2RlZCBtb3JlIGZyYW1lcyB0aGFuIGZpcnN0IGNhbGN1bGF0ZWQiKTsKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IC8vIGluOiB0aGUgbWF4IG51bWJlciBvZiBwYWNrZXRzIHdlIGNhbiBoYW5kbGUgZnJvbSB0aGUg
ZGVjb2Rlci4KKyAgICAgICAgICAgICAgICAvLyBvdXQ6IHRoZSBudW1iZXIgb2YgcGFja2V0cyB0
aGUgZGVjb2RlciBpcyBhY3R1YWxseSByZXR1cm5pbmcuCisgICAgICAgICAgICAgICAgVUludDMy
IG51bUZyYW1lcyA9IHN0ZDo6bWluPHVpbnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMy
X3Q+OjptYXgoKSAvIHNpemVvZihmbG9hdCksIG51bWJlck9mRnJhbWVzIC0gZGVjb2RlZEZyYW1l
cyk7CisKKyAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bWJlck9mQ2hh
bm5lbHM7IGkrKykgeworICAgICAgICAgICAgICAgICAgICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1
ZmZlcnNbaV0ubU51bWJlckNoYW5uZWxzID0gMTsKKyAgICAgICAgICAgICAgICAgICAgZGVjb2Rl
ZEJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1EYXRhQnl0ZVNpemUgPSBudW1GcmFtZXMgKiBzaXpl
b2YoZmxvYXQpOworICAgICAgICAgICAgICAgICAgICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1ZmZl
cnNbaV0ubURhdGEgPSBzdGF0aWNfY2FzdDxmbG9hdCo+KGJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ld
Lm1EYXRhKSArIGRlY29kZWRGcmFtZXM7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIHN0YXR1cyA9IFBBTDo6QXVkaW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlcihjb252ZXJ0
ZXIsIHBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2ssICZ1c2VyRGF0YSwgJm51bUZyYW1lcywg
KmRlY29kZWRCdWZmZXJMaXN0LCBudWxscHRyKTsKKyAgICAgICAgICAgICAgICBpZiAoc3RhdHVz
ICYmIHN0YXR1cyAhPSBrTm9Nb3JlRGF0YUVycikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgICAgICAgICAgICAgZGVjb2RlZEZyYW1lcyArPSBudW1GcmFtZXM7Cisg
ICAgICAgICAgICB9IHdoaWxlIChzdGF0dXMgIT0ga05vTW9yZURhdGFFcnIpOworICAgICAgICB9
CisKKyAgICAgICAgLy8gVGhlIGFjdHVhbCBkZWNvZGVkIG51bWJlciBvZiBmcmFtZXMgbWF5IG5v
dCBtYXRjaCB0aGUgbnVtYmVyIG9mIGZyYW1lcyBjYWxjdWxhdGVkCisgICAgICAgIC8vIHdoaWxl
IGRlbXV4aW5nLiBJdCB3aWxsIGFsd2F5cyBiZSBsb3dlci4KKyAgICAgICAgYXVkaW9CdXMtPnNl
dExlbmd0aChkZWNvZGVkRnJhbWVzKTsKKyAgICAgICAgbnVtYmVyT2ZGcmFtZXMgPSBkZWNvZGVk
RnJhbWVzOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFBy
b3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0
YUZvcm1hdCwgc2l6ZW9mKEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksICZvdXRGb3JtYXQp
ICE9IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgLy8gUmVh
ZCBmcm9tIHRoZSBmaWxlIChvciBpbi1tZW1vcnkgdmVyc2lvbikKKyAgICAgICAgVUludDMyIGZy
YW1lc1RvUmVhZCA9IG51bWJlck9mRnJhbWVzOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0Zp
bGVSZWFkKG1fZXh0QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCAqYnVmZmVyTGlzdCkgIT0g
bm9FcnIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAobWl4
VG9Nb25vICYmIG51bWJlck9mQ2hhbm5lbHMgPT0gMikgewpAQCAtMjQzLDkgKzUxNyw2IEBAIFJl
ZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0
ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAgICAgICAgICBkZXN0TFtpXSA9IDAuNWYgKiAobGVmdENo
YW5uZWxbaV0gKyByaWdodENoYW5uZWxbaV0pOwogICAgIH0KIAotICAgIC8vIENsZWFudXAKLSAg
ICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpOwotCiAgICAgcmV0dXJuIGF1ZGlv
QnVzOwogfQogCkBAIC0yNTUsNiArNTI2LDEzIEBAIFJlZlB0cjxBdWRpb0J1cz4gY3JlYXRlQnVz
RnJvbUluTWVtb3J5QXVkaW9GaWxlKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6CiAg
ICAgcmV0dXJuIHJlYWRlci5jcmVhdGVCdXMoc2FtcGxlUmF0ZSwgbWl4VG9Nb25vKTsKIH0KIAor
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hhbm5lbCYgQXVkaW9GaWxlUmVhZGVy
Ojpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTG9nTWVkaWE7Cit9CisjZW5kaWYK
KwogfSAvLyBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVRElPKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29j
b2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRl
ckNvY29hLmgKaW5kZXggMGJiYmJhMjc4NTdkOTc5ZWNjNjg4Zjg3ZjAzMzlmNjY1ZWY0MjUyOS4u
ZjYxNzMzNzllMDEzNGExZGE1YjM4MjM4ZWQzOGE1YWEyMmM5ZDkzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJD
b2NvYS5oCkBAIC0zMiw2ICszMiw4IEBACiAjaWYgRU5BQkxFKFdFQl9BVURJTykKIAogI2luY2x1
ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgorI2luY2x1ZGUgPG9wdGlvbmFsPgorI2lu
Y2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIHVz
aW5nIEV4dEF1ZGlvRmlsZVJlZiA9IHN0cnVjdCBPcGFxdWVFeHRBdWRpb0ZpbGUqOwpAQCAtNDAs
MTIgKzQyLDE4IEBAIHVzaW5nIEF1ZGlvRmlsZUlEID0gc3RydWN0IE9wYXF1ZUF1ZGlvRmlsZUlE
KjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXVkaW9CdXM7CitjbGFzcyBTb3VyY2VC
dWZmZXJQYXJzZXJXZWJNOworY2xhc3MgQXVkaW9GaWxlUmVhZGVyV2ViTURhdGE7CiAKIC8vIFdy
YXBwZXIgY2xhc3MgZm9yIEF1ZGlvRmlsZSBhbmQgRXh0QXVkaW9GaWxlIENvcmVBdWRpbyBBUElz
IGZvciByZWFkaW5nIGZpbGVzIGFuZCBpbi1tZW1vcnkgdmVyc2lvbnMgb2YgdGhlbS4uLgogCi1j
bGFzcyBBdWRpb0ZpbGVSZWFkZXIgeworY2xhc3MgQXVkaW9GaWxlUmVhZGVyCisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECisgICAgOiBwdWJsaWMgTG9nZ2VySGVscGVyCisjZW5kaWYKK3sKIHB1
YmxpYzoKLSAgICBleHBsaWNpdCBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6
ZV90IGRhdGFTaXplKTsKKyAgICBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6
ZV90IGRhdGFTaXplKTsKICAgICB+QXVkaW9GaWxlUmVhZGVyKCk7CiAKICAgICBSZWZQdHI8QXVk
aW9CdXM+IGNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRvTW9ubyk7IC8vIFJl
dHVybnMgbnVsbHB0ciBvbiBlcnJvcgpAQCAtNTMsOSArNjEsMjAgQEAgcHVibGljOgogICAgIGNv
bnN0IHZvaWQqIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2RhdGE7IH0KICAgICBzaXplX3QgZGF0
YVNpemUoKSBjb25zdCB7IHJldHVybiBtX2RhdGFTaXplOyB9CiAKKyNpZiAhUkVMRUFTRV9MT0df
RElTQUJMRUQKKyAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IG1fbG9nZ2VyLmdldCgpOyB9CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIFdURkxvZ0NoYW5uZWwmIGxv
Z0NoYW5uZWwoKSBjb25zdCBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBj
b25zdCBmaW5hbCB7IHJldHVybiAiQXVkaW9GaWxlUmVhZGVyQ29jb2EiOyB9CisjZW5kaWYKKwog
cHJpdmF0ZToKICAgICBzdGF0aWMgT1NTdGF0dXMgcmVhZFByb2Modm9pZCogY2xpZW50RGF0YSwg
U0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVzdENvdW50LCB2b2lkKiBidWZmZXIsIFVJbnQz
MiogYWN0dWFsQ291bnQpOwogICAgIHN0YXRpYyBTSW50NjQgZ2V0U2l6ZVByb2Modm9pZCogY2xp
ZW50RGF0YSk7CisgICAgYm9vbCBpc01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXpl
X3QgZGF0YVNpemUpIGNvbnN0OworICAgIHNzaXplX3QgbnVtYmVyT2ZGcmFtZXMoKSBjb25zdDsK
KyAgICBzdGQ6Om9wdGlvbmFsPEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gZmlsZURhdGFG
b3JtYXQoKSBjb25zdDsKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gY2xpZW50RGF0
YUZvcm1hdChjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9ybWF0LCBmbG9h
dCBzYW1wbGVSYXRlKSBjb25zdDsKIAogICAgIGNvbnN0IHZvaWQqIG1fZGF0YSA9IHsgbnVsbHB0
ciB9OwogICAgIHNpemVfdCBtX2RhdGFTaXplID0geyAwIH07CkBAIC02Myw4ICs4MiwxMyBAQCBw
cml2YXRlOgogICAgIEF1ZGlvRmlsZUlEIG1fYXVkaW9GaWxlSUQgPSB7IG51bGxwdHIgfTsKICAg
ICBFeHRBdWRpb0ZpbGVSZWYgbV9leHRBdWRpb0ZpbGVSZWYgPSB7IG51bGxwdHIgfTsKIAotICAg
IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2ZpbGVEYXRhRm9ybWF0OwotICAgIEF1ZGlv
U3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2NsaWVudERhdGFGb3JtYXQ7CisgICAgc3RkOjp1bmlx
dWVfcHRyPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPiBtX3dlYm1EYXRhOworCisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgUmVmPExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29u
c3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworI2VuZGlmCisKIH07CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJj
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRh
U291cmNlLmgKaW5kZXggYTFlNzFiZDUyMjMyMjQyNTcxNmM2YjllNWFjZWQwNmU1NTgyOTMzYS4u
NmFlM2I1Y2QxZjJlZmQ2MjM5ZmIzNGQwMTNhNTg3NzZmNDE4YzZmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRh
U291cmNlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNv
dW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdHlwZWRlZiBjb25z
dCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlwdGlvbiAqQ01Gb3JtYXREZXNjcmlwdGlvblJl
ZjsKIHR5cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2FtcGxlQnVmZmVyICpDTVNhbXBsZUJ1ZmZlclJl
ZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCmluZGV4IGQy
YjVhYzQ1ZjMwZmQ0YTNhZjUxYjQyMGRlMzc2NDliMTE1MWMyMjcuLjcwZGMyNDg0YTVlZDY2ODg5
ZmNhMzNlZTI5MWVjMTA2YTVmOWY5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KQEAgLTM5
LDYgKzM5LDcgQEAKICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5n
UHJpbnRTdHJlYW0uaD4KIAorI2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+
CiAjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNjcsNyArNjgsNyBAQCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OkF1ZGlvU2FtcGxl
RGF0YVNvdXJjZShzaXplX3QgbWF4aW11bVNhbXBsZUNvdW50LCBMb2dnZXJIZQogQXVkaW9TYW1w
bGVEYXRhU291cmNlOjp+QXVkaW9TYW1wbGVEYXRhU291cmNlKCkKIHsKICAgICBpZiAobV9jb252
ZXJ0ZXIpCi0gICAgICAgIEF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CisgICAg
ICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKIH0KIAogT1NTdGF0
dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCkBAIC03NSwxNCArNzYs
MTQgQEAgT1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCiAg
ICAgQVNTRVJUKG1faW5wdXREZXNjcmlwdGlvbiAmJiBtX291dHB1dERlc2NyaXB0aW9uKTsKIAog
ICAgIGlmIChtX2NvbnZlcnRlcikgewotICAgICAgICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9j
b252ZXJ0ZXIpOworICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRl
cik7CiAgICAgICAgIG1fY29udmVydGVyID0gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAoKm1f
aW5wdXREZXNjcmlwdGlvbiA9PSAqbV9vdXRwdXREZXNjcmlwdGlvbikKICAgICAgICAgcmV0dXJu
IDA7CiAKLSAgICBPU1N0YXR1cyBlcnIgPSBBdWRpb0NvbnZlcnRlck5ldygmbV9pbnB1dERlc2Ny
aXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9vdXRwdXREZXNjcmlwdGlvbi0+c3RyZWFt
RGVzY3JpcHRpb24oKSwgJm1fY29udmVydGVyKTsKKyAgICBPU1N0YXR1cyBlcnIgPSBQQUw6OkF1
ZGlvQ29udmVydGVyTmV3KCZtX2lucHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0aW9uKCks
ICZtX291dHB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9jb252ZXJ0ZXIp
OwogICAgIGlmIChlcnIpIHsKICAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cigqdGhpcyksIGVycl0gewogICAgICAgICAgICAg
RVJST1JfTE9HKCJBdWRpb0NvbnZlcnRlck5ldyByZXR1cm5lZCBlcnJvciAiLCBlcnIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFBy
b3ZpZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBh
ZFByb3ZpZGVyLm1tCmluZGV4IGUzZDZmYWM3MDQzNjk2ZmM3ZWUyYTkyMTVkYjIxYThmN2RmODI1
YTUuLmEzMmRmNjIwNDhkMzJkN2IxMzRkYmY1NmRhMDA3YjcwZWMyNDczZjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJv
dmlkZXIubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKSAmJiBQTEFU
Rk9STShNQUMpCiAKKyNpbXBvcnQgIkdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLmgiCiAj
aW1wb3J0ICJHYW1lcGFkUHJvdmlkZXJDbGllbnQuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNp
bXBvcnQgIlBsYXRmb3JtR2FtZXBhZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcAppbmRleCA0ZDhlZTYyZTAxYjhlYWVi
YWNjNmQyOGIzYTA5ODUyOTUyYzVkODBhLi5jMDY2YzJkNDg3OTdhNGFhYjNiOWJlMmEwZWRkNGQ4
MzhiNGJmNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9U
cmFja1ByaXZhdGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UcmFja1ByaXZhdGVCYXNlLmNwcApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShWSURF
TykKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNh
bXBsZUFWRk9iakMuaAppbmRleCBkMDNjZGM4ZGQ2MjU0MTYwOTlhNTM3MTM1ZWUxMWVjOTEwNzM2
YTAyLi41NDVmMGJlMWM1MGNiZmU0MTcwMTgwMzU2Zjg4Y2UzYzU1MmM4NmY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNhbXBsZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaApAQCAtMzQsNyArMzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBpeGVsQnVmZmVyOwogCi1jbGFzcyBXRUJDT1JF
X0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMgOiBwdWJsaWMgTWVkaWFTYW1wbGUgeworY2xhc3Mg
TWVkaWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2FtcGxlIHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNh
bXBsZSwgdWludDY0X3QgdHJhY2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBs
ZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0KICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxl
QVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFj
a0lEKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU2FtcGxlQVZGT2JqQyhzYW1wbGUsIHRy
YWNrSUQpKTsgfQpAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHZvaWQgc2V0QXNEaXNwbGF5SW1tZWRpYXRlbHkoTWVkaWFTYW1wbGUmKTsKICAgICBz
dGF0aWMgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBjbG9uZVNhbXBsZUJ1ZmZlckFuZFNl
dEFzRGlzcGxheUltbWVkaWF0ZWx5KENNU2FtcGxlQnVmZmVyUmVmKTsKIAotICAgIFJlZlB0cjxK
U0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEpTQzo6VWludDhDbGFtcGVkQXJyYXk+IGdldFJH
QkFJbWFnZURhdGEoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIE1lZGlhVGltZSBwcmVzZW50YXRp
b25UaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTWVkaWFUaW1lIGRlY29kZVRpbWUoKSBjb25z
dCBvdmVycmlkZTsKQEAgLTU5LDE2ICs1OSwxNiBAQCBwdWJsaWM6CiAgICAgU2FtcGxlRmxhZ3Mg
ZmxhZ3MoKSBjb25zdCBvdmVycmlkZTsKICAgICBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBs
ZSgpIG92ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9uYWw8Qnl0ZVJhbmdlPiBieXRlUmFuZ2UoKSBj
b25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlk
ZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2b2lkIG9mZnNldFRpbWVzdGFtcHNCeShjb25zdCBNZWRpYVRpbWUmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHNldFRpbWVzdGFtcHMoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVk
aWFUaW1lJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRl
OwotICAgIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+
PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVzZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBv
dmVycmlkZTsKLSAgICBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0RpdmlzYWJsZSgpIGNv
bnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFT
YW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVz
ZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBS
ZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7
CiAKICAgICBWaWRlb1JvdGF0aW9uIHZpZGVvUm90YXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBtX3JvdGF0aW9uOyB9CiAgICAgYm9vbCB2aWRlb01pcnJvcmVkKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV9taXJyb3JlZDsgfQotICAgIHVpbnQzMl90IHZpZGVvUGl4ZWxGb3JtYXQo
KSBjb25zdCBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB1aW50MzJfdCB2aWRlb1BpeGVsRm9y
bWF0KCkgY29uc3QgZmluYWw7CiAKICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIo
KSBjb25zdCB7IHJldHVybiBtX3NhbXBsZS5nZXQoKTsgfQogCkBAIC03OCwzNCArNzgsMTUgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0Qnl0ZVJhbmdlT2Zmc2V0KHNpemVfdCk7CiAKIHByb3RlY3Rl
ZDoKLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYm
IHNhbXBsZSkKLSAgICAgICAgOiBtX3NhbXBsZShXVEZNb3ZlKHNhbXBsZSkpCi0gICAgewotICAg
IH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlKQotICAg
ICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICB7Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZG
T2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkKLSAgICAg
ICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9pZCh0cmFja0lEKQotICAgIHsKLSAg
ICB9Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWlu
dDY0X3QgdHJhY2tJRCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9p
ZChBdG9tU3RyaW5nOjpudW1iZXIodHJhY2tJRCkpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNh
bXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJvdGF0
aW9uLCBib29sIG1pcnJvcmVkKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAgICAg
LCBtX3JvdGF0aW9uKHJvdGF0aW9uKQotICAgICAgICAsIG1fbWlycm9yZWQobWlycm9yZWQpCi0g
ICAgewotICAgIH0KKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoUmV0YWlu
UHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBs
ZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2Ft
cGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiwgQXRvbVN0cmluZyB0cmFja0lEKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYsIHVpbnQ2
NF90IHRyYWNrSUQpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNh
bXBsZUJ1ZmZlclJlZiwgVmlkZW9Sb3RhdGlvbiwgYm9vbCBtaXJyb3JlZCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgdmlydHVhbCB+TWVkaWFTYW1wbGVBVkZPYmpDKCk7CiAKICAgICBzdGQ6Om9wdGlv
bmFsPE1lZGlhU2FtcGxlOjpCeXRlUmFuZ2U+IGJ5dGVSYW5nZUZvckF0dGFjaG1lbnQoQ0ZTdHJp
bmdSZWYga2V5KSBjb25zdDsKIAotICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlQVZGT2JqQygpID0g
ZGVmYXVsdDsKICAgICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IG1fc2FtcGxlOwogICAg
IEF0b21TdHJpbmcgbV9pZDsKICAgICBWaWRlb1JvdGF0aW9uIG1fcm90YXRpb24geyBWaWRlb1Jv
dGF0aW9uOjpOb25lIH07CkBAIC0xMTMsNCArOTQsMyBAQCBwcm90ZWN0ZWQ6CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxl
QVZGT2JqQy5tbQppbmRleCBjMGYxM2Q2ZWE1Yzk3NTc2N2NlOGY2MmFiNjg0MmQ3ZDZmMGZiYjZi
Li5jZjNjMzQxMGEzOGFkZWM0OTU3Yzk3MTQyYjMyNDIyNGQ1YWZkODEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNh
bXBsZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tCkBAIC00NSw2ICs0NSwzMyBAQCBz
dHJ1Y3QgV1RGOjpDRlR5cGVUcmFpdDxDTVNhbXBsZUJ1ZmZlclJlZj4gewogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKFJldGFp
blB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4mJiBzYW1wbGUpCisgICAgOiBtX3NhbXBsZShXVEZNb3Zl
KHNhbXBsZSkpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhD
TVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCit7Cit9CitN
ZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBz
YW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkKKyAgICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAs
IG1faWQodHJhY2tJRCkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZP
YmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCkKKyAgICA6IG1f
c2FtcGxlKHNhbXBsZSkKKyAgICAsIG1faWQoQXRvbVN0cmluZzo6bnVtYmVyKHRyYWNrSUQpKQor
eworfQorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZm
ZXJSZWYgc2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJvdGF0aW9uLCBib29sIG1pcnJvcmVkKQorICAg
IDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9yb3RhdGlvbihyb3RhdGlvbikKKyAgICAsIG1f
bWlycm9yZWQobWlycm9yZWQpCit7Cit9CisKK01lZGlhU2FtcGxlQVZGT2JqQzo6fk1lZGlhU2Ft
cGxlQVZGT2JqQygpID0gZGVmYXVsdDsKKwogUmVmUHRyPE1lZGlhU2FtcGxlQVZGT2JqQz4gTWVk
aWFTYW1wbGVBVkZPYmpDOjpjcmVhdGVJbWFnZVNhbXBsZShQaXhlbEJ1ZmZlciYmIHBpeGVsQnVm
ZmVyKQogewogICAgIGF1dG8gc2l6ZSA9IHBpeGVsQnVmZmVyLnNpemUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNz
aW9uU2Vzc2lvbi5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dl
YkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQppbmRleCA4ZWVmM2IyZWE2MDRiZDE5ODNkNzdk
MzhiZjUyMWE4ZDIxZjIwZWQwLi5kMWM4NDQ4ODM2NzQwZmRiNzVjNDBhYzkzZjdkZDA5ZDc4ZjAz
MDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCkBAIC0zMSwx
MCArMzEsMTAgQEAKICNpbXBvcnQgPENvcmVNZWRpYS9DTUJ1ZmZlclF1ZXVlLmg+CiAjaW1wb3J0
IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlvbi5oPgogI2ltcG9ydCA8cGFsL2F2Zm91bmRh
dGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPHBhbC9jZi9Db3JlTWVkaWFT
b2Z0TGluay5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9NZWRp
YVRpbWUuaD4KICNpbXBvcnQgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CisjaW1wb3J0IDx3dGYvUnVu
TG9vcC5oPgogI2ltcG9ydCA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAjaW1wb3J0IDx3dGYv
VmVjdG9yLmg+CiAjaW1wb3J0IDx3dGYvV1RGU2VtYXBob3JlLmg+CkBAIC00Miw2ICs0Miw3IEBA
CiAKICNpbXBvcnQgIkNvcmVWaWRlb1NvZnRMaW5rLmgiCiAjaW1wb3J0ICJWaWRlb1Rvb2xib3hT
b2Z0TGluay5oIgorI2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIC8vIEVx
dWl2YWxlbnQgdG8gV1RGX0RFQ0xBUkVfQ0ZfVFlQRV9UUkFJVChDTVNhbXBsZUJ1ZmZlcik7CiAv
LyBOZWVkZWQgZHVlIHRvIHJlcXVpcmVtZW50IG9mIHNwZWNpZnlpbmcgdGhlIFBBTCBuYW1lc3Bh
Y2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaAppbmRleCBmZWNlODEyOWJkN2Y3ZmRl
ZDZhODA0YmE1MmY3OTUyNjFmZTY1ZDMwLi44NzEwNGQ4YjdiMzU3YzE2MGI2ZGNjYzQxYmZlMWY4
OWUwYTZjMjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgKQEAgLTM0LDcgKzM0
LDggQEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlwdGlvbiogQ01G
b3JtYXREZXNjcmlwdGlvblJlZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIGlzVm9y
YmlzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBpc1ZvcmJpc0RlY29k
ZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcmVnaXN0ZXJWb3JiaXNEZWNvZGVy
SWZOZWVkZWQoKTsKIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVWb3Ji
aXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKHNpemVfdCwgY29uc3Qgdm9pZCopOwogCiBzdHJ1Y3Qg
T3B1c0Nvb2tpZUNvbnRlbnRzIHsKQEAgLTUyLDcgKzUzLDggQEAgc3RydWN0IE9wdXNDb29raWVD
b250ZW50cyB7CiAgICAgYm9vbCBoYXNQYWRkaW5nIHsgZmFsc2UgfTsKIH07CiAKLWJvb2wgaXNP
cHVzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBpc09wdXNEZWNvZGVy
QXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9SVCBib29sIHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5l
ZWRlZCgpOwogYm9vbCBwYXJzZU9wdXNQcml2YXRlRGF0YShzaXplX3QgcHJpdmF0ZURhdGFTaXpl
LCBjb25zdCB2b2lkKiBwcml2YXRlRGF0YSwgc2l6ZV90IGZyYW1lRGF0YVNpemUsIGNvbnN0IHZv
aWQqIGZyYW1lRGF0YSwgT3B1c0Nvb2tpZUNvbnRlbnRzJik7CiBSZXRhaW5QdHI8Q01Gb3JtYXRE
ZXNjcmlwdGlvblJlZj4gY3JlYXRlT3B1c0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oY29uc3QgT3B1
c0Nvb2tpZUNvbnRlbnRzJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0KaW5k
ZXggMDZiZDQ4YWUwZDNkNjkxMjUwYjhhMjc1N2QwMjU2ZDQ0ODU5ZmNjNC4uMGUxZWIxYjc5OGEz
YzdlYTY3ZWFiNzViYTM2ZTU4NWFkZDhjMTBhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVz
Q29jb2EubW0KQEAgLTMyLDIyICszMiwyOCBAQAogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9y
dCAiTWVkaWFVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oIgorI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvQ29kZWMuaD4KICNpbXBvcnQgPEF1ZGlv
VG9vbGJveC9BdWRpb0NvbXBvbmVudC5oPgogI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvRm9y
bWF0Lmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlvbi5oPgogI2ltcG9y
dCA8ZGxmY24uaD4KICNpbXBvcnQgPHd0Zi9GbGlwQnl0ZXMuaD4KICNpbXBvcnQgPHd0Zi9TZWNv
bmRzLmg+Ci0KICNpZiBFTkFCTEUoT1BVUykKICNpbXBvcnQgPGxpYndlYnJ0Yy9vcHVzX2RlZmlu
ZXMuaD4KICNlbmRpZgorI2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShWT1JCSVMpIHx8IEVOQUJMRShPUFVT
KQogc3RhdGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeShjb25zdCBjaGFyKiBkZWNvZGVy
TmFtZSwgT1NUeXBlIGRlY29kZXJUeXBlKQogeworICAgIEF1ZGlvQ29tcG9uZW50RGVzY3JpcHRp
b24gZGVzYyB7IGtBdWRpb0RlY29kZXJDb21wb25lbnRUeXBlLCBkZWNvZGVyVHlwZSwgJ2FwcGwn
LCBrQXVkaW9Db21wb25lbnRGbGFnX1NhbmRib3hTYWZlLCAwIH07CisgICAgQXVkaW9Db21wb25l
bnQgY29tcCA9IFBBTDo6QXVkaW9Db21wb25lbnRGaW5kTmV4dCgwLCAmZGVzYyk7CisgICAgaWYg
KGNvbXApCisgICAgICAgIHJldHVybiB0cnVlOyAvLyBBbHJlYWR5IHJlZ2lzdGVyZWQuCisKICAg
ICBjb25zdGV4cHIgY2hhciBhdWRpb0NvbXBvbmVudHNEeWxpYltdID0gIi9TeXN0ZW0vTGlicmFy
eS9Db21wb25lbnRzL0F1ZGlvQ29kZWNzLmNvbXBvbmVudC9Db250ZW50cy9NYWNPUy9BdWRpb0Nv
ZGVjcyI7CiAgICAgdm9pZCAqaGFuZGxlID0gZGxvcGVuKGF1ZGlvQ29tcG9uZW50c0R5bGliLCBS
VExEX0xBWlkgfCBSVExEX0xPQ0FMKTsKICAgICBpZiAoIWhhbmRsZSkKQEAgLTU3LDcgKzYzLDYg
QEAgc3RhdGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeShjb25zdCBjaGFyKiBkZWNvZGVy
TmFtZSwgT1NUeXBlIGRlY29kZXJUeXBlKQogICAgIGlmICghZGVjb2RlckZhY3RvcnkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgIEF1ZGlvQ29tcG9uZW50RGVzY3JpcHRpb24gZGVzYyB7
ICdhZGVjJywgZGVjb2RlclR5cGUsICdhcHBsJywga0F1ZGlvQ29tcG9uZW50RmxhZ19TYW5kYm94
U2FmZSwgMCB9OwogICAgIGlmICghQXVkaW9Db21wb25lbnRSZWdpc3RlcigmZGVzYywgQ0ZTVFIo
IiIpLCAwLCBkZWNvZGVyRmFjdG9yeSkpIHsKICAgICAgICAgZGxjbG9zZShoYW5kbGUpOwogICAg
ICAgICByZXR1cm4gZmFsc2U7CkBAIC03MSw3ICs3Niw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q01G
b3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1h
dChPCiAgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIGFzYmQgeyB9OwogICAgIGFzYmQu
bUZvcm1hdElEID0gZm9ybWF0SUQ7CiAgICAgdWludDMyX3Qgc2l6ZSA9IHNpemVvZihhc2JkKTsK
LSAgICBhdXRvIGVycm9yID0gQXVkaW9Gb3JtYXRHZXRQcm9wZXJ0eShrQXVkaW9Gb3JtYXRQcm9w
ZXJ0eV9Gb3JtYXRJbmZvLCBtYWdpY0Nvb2tpZS5zaXplKCksIG1hZ2ljQ29va2llLmRhdGEoKSwg
JnNpemUsICZhc2JkKTsKKyAgICBhdXRvIGVycm9yID0gUEFMOjpBdWRpb0Zvcm1hdEdldFByb3Bl
cnR5KGtBdWRpb0Zvcm1hdFByb3BlcnR5X0Zvcm1hdEluZm8sIG1hZ2ljQ29va2llLnNpemUoKSwg
bWFnaWNDb29raWUuZGF0YSgpLCAmc2l6ZSwgJmFzYmQpOwogICAgIGlmIChlcnJvcikgewogICAg
ICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYSwgImNyZWF0ZUF1ZGlvRm9ybWF0RGVzY3JpcHRp
b25Gb3JGb3JtYXQgZmFpbGVkIHdpdGggZXJyb3IgJWQgKCUuNHMpIiwgZXJyb3IsIChjaGFyICop
JmVycm9yKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0zMjYsMTkgKzMzMSwzMCBAQCBz
dGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZyb21PcHVzQ29va2llQ29udGVudHMoY29uc3Qg
T3B1c0Nvb2tpZUNvbnRlbnRzJiBjbwogCiBib29sIGlzT3B1c0RlY29kZXJBdmFpbGFibGUoKQog
ewotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKLQogI2lmIEVOQUJMRShPUFVTKSAmJiBQTEFU
Rk9STShNQUMpCiAgICAgaWYgKCFQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6Om9wdXNEZWNv
ZGVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICByZXR1cm4gcmVnaXN0
ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRp
ZgorfQorCitib29sIHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpCit7CisjaWYgRU5BQkxF
KE9QVVMpICYmIFBMQVRGT1JNKE1BQykKKyAgICBzdGF0aWMgYm9vbCBhdmFpbGFibGU7CisKICAg
ICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsKICAgICBkaXNwYXRjaF9vbmNlKCZv
bmNlVG9rZW4sIF57Ci0gICAgICAgIGF2YWlsYWJsZSA9IHJlZ2lzdGVyRGVjb2RlckZhY3Rvcnko
IkFDT3B1c0RlY29kZXJGYWN0b3J5IiwgJ29wdXMnKTsKKyAgICAgICAgYXZhaWxhYmxlID0gcmVn
aXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNPcHVzRGVjb2RlckZhY3RvcnkiLCBrQXVkaW9Gb3JtYXRP
cHVzKTsKICAgICB9KTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGF2YWlsYWJsZTsKKyNlbHNlCisg
ICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0
aW9uUmVmPiBjcmVhdGVPcHVzQXVkaW9Gb3JtYXREZXNjcmlwdGlvbihjb25zdCBPcHVzQ29va2ll
Q29udGVudHMmIGNvb2tpZUNvbnRlbnRzKQpAQCAtNDE4LDE5ICs0MzQsMzAgQEAgc3RhdGljIFZl
Y3Rvcjx1aW50OF90PiBjb29raWVGcm9tVm9yYmlzQ29kZWNQcml2YXRlKHNpemVfdCBjb2RlY1By
aXZhdGVTaXplLCBjb24KIAogYm9vbCBpc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUoKQogewotICAg
IHN0YXRpYyBib29sIGF2YWlsYWJsZTsKLQogI2lmIEVOQUJMRShWT1JCSVMpICYmIFBMQVRGT1JN
KE1BQykKICAgICBpZiAoIVBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6dm9yYmlzRGVjb2Rl
ckVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgcmV0dXJuIHJlZ2lzdGVy
Vm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRp
ZgorfQorCitib29sIHJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCkKK3sKKyNpZiBFTkFC
TEUoVk9SQklTKSAmJiBQTEFURk9STShNQUMpCisgICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwor
CiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47CiAgICAgZGlzcGF0Y2hfb25j
ZSgmb25jZVRva2VuLCBeewogICAgICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0
b3J5KCJBQ1ZvcmJpc0RlY29kZXJGYWN0b3J5IiwgJ3ZvcmInKTsKICAgICB9KTsKLSNlbmRpZgog
CiAgICAgcmV0dXJuIGF2YWlsYWJsZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlm
CiB9CiAKIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVWb3JiaXNBdWRp
b0Zvcm1hdERlc2NyaXB0aW9uKHNpemVfdCBwcml2YXRlRGF0YVNpemUsIGNvbnN0IHZvaWQqIHBy
aXZhdGVEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0
LWFwcGxldHZvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBs
ZXR2b3MucGxpc3QKaW5kZXggYWU0ZWU0NTdhMjEzMTMzOGY2YTViNzVlZDc1ZjYzNmYzYTBmNTI2
MC4uZTIxYjAyM2IxNDIzMDg3MjNjNTk3YzBmMWNmOTdhMThhMzI2N2I1OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdAorKysgYi9T
b3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0CkBAIC0yLDk1
ICsyLDEwMCBAQAogPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAx
LjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+
CiA8cGxpc3QgdmVyc2lvbj0iMS4wIj4KIDxkaWN0PgotICAgIDxrZXk+YXN5bmNfZnJhbWVfYW5k
X292ZXJmbG93X3Njcm9sbGluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9j
ZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFi
bGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+
Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAg
ICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5
PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+
Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0g
ICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAg
ICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5Pmdw
dV9wcm9jZXNzX3dlYmdsPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNz
X3dlYnJ0Yzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAg
ICAgICAgPGZhbHNlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxk
aWN0PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0
cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PkluQXBwQnJvd3Nl
clByaXZhY3k8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0g
ICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+aW5jcmVtZW50YWxfcGRmPC9r
ZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1
ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5
PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNl
Lz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT52cDlfZGVjb2Rlcjwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PldlYkdQVTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8
L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJYUjwva2V5
PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNl
Lz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8
L2RpY3Q+Ci0gICAgPGtleT53ZWJtX3BhcnNlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5
PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KKwk8a2V5PmFzeW5j
X2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19jYW52YXNf
cmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+
CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRl
PC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vz
c19kb21fcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8
ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5
PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwv
ZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgorCTxkaWN0Pgor
CQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJv
Y2Vzc193ZWJydGM8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxz
ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBs
ZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5JbkFwcEJy
b3dzZXJQcml2YWN5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFs
c2UvPgorCTwvZGljdD4KKwk8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PnN3X3ZwOV9kZWNv
ZGVyX29uX2JhdHRlcnk8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxm
YWxzZS8+CisJPC9kaWN0PgorCTxrZXk+dnA5X2RlY29kZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtl
eT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJHUFU8L2tleT4K
Kwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxr
ZXk+V2ViWFI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+
CisJPC9kaWN0PgorCTxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxr
ZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV9wYXJzZXI8
L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+
CisJPGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5
PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwv
a2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4K
IDwvZGljdD4KIDwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFn
cy9XZWJLaXQtaW9zLnBsaXN0IGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlv
cy5wbGlzdAppbmRleCA2MjFjOTIxNjZjODkyY2I1NDFjZmE3NmI2MjM4MTU2NjhhMWVjMjc3Li5i
OGU1ZTA5Y2Y4OWI2MGMwODJlNjNhYWViNWRmNzBkOTkxYTMyMDE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJL
aXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxpc3QKQEAgLTIsOTUgKzIsMTAwIEBACiA8IURP
Q1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8v
d3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlzdCB2ZXJzaW9u
PSIxLjAiPgogPGRpY3Q+Ci0gICAgPGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xs
aW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAg
ICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRl
cmluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAg
ICAgPHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+
Ci0gICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUv
PgotICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfZG9t
X3JlbmRlcmluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4K
LSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19tZWRp
YTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PHRydWUvPgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0g
ICAgICAgICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgot
ICAgICAgICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8
L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxm
YWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+Ci0g
ICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0g
ICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAg
IDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwv
ZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5PC9rZXk+Ci0g
ICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgot
ICAgIDwvZGljdD4KLSAgICA8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+dnA5X2RlY29kZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFi
bGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJHUFU8
L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxm
YWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViWFI8L2tleT4KLSAgICA8ZGljdD4KLSAg
ICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0Pgot
ICAgIDxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+
d2VibV9wYXJzZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5SQl9mdWxsX21hbmFnZV9X
S19qZXRzYW08L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0g
ICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+CisJPGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZs
b3dfc2Nyb2xsaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1
ZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmluZzwva2V5Pgor
CTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0
ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUv
PgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwv
a2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+
CisJPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8
L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8
a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0Pgor
CTxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9r
ZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+
CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmli
dXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1
ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5PC9rZXk+
CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8
a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4K
KwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tl
eT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0Pgor
CTxrZXk+dnA5X2RlY29kZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJ
CTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJHUFU8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5F
bmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViWFI8L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+
d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV9wYXJzZXI8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3dlYmF1
ZGlvPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwv
ZGljdD4KKwk8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KIDwvZGljdD4KIDwvcGxpc3Q+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxp
c3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3QKaW5kZXgg
NjIxYzkyMTY2Yzg5MmNiNTQxY2ZhNzZiNjIzODE1NjY4YTFlYzI3Ny4uYjhlNWUwOWNmODliNjBj
MDgyZTYzYWFlYjVkZjcwZDk5MWEzMjAxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9GZWF0
dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZs
YWdzL1dlYktpdC1tYWNvcy5wbGlzdApAQCAtMiw5NSArMiwxMDAgQEAKIDwhRE9DVFlQRSBwbGlz
dCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUu
Y29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgogPHBsaXN0IHZlcnNpb249IjEuMCI+CiA8
ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4K
LSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4K
LSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+
Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+
Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAgICAgICAg
ICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAg
IDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5n
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+Ci0g
ICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0g
ICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAg
IDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwv
ZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193ZWJnbDwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8L2tleT4KLSAgICA8ZGljdD4K
LSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICAgICAgPGtl
eT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2Rl
Q29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAg
IDwvZGljdD4KLSAgICA8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4KLSAgICA8ZGljdD4K
LSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0
PgotICAgIDxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+
c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT52
cDlfZGVjb2Rlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4K
LSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYkdQVTwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJYUjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53
ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX3BhcnNl
cjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRy
dWUvPgotICAgIDwvZGljdD4KKwk8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxp
bmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2Rp
Y3Q+CisJPGtleT5ncHVfcHJvY2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5Pgor
CQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGlj
dD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+CisJPGRp
Y3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5Pmdw
dV9wcm9jZXNzX21lZGlhPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8
dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNv
bXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVf
cHJvY2Vzc193ZWJnbDwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+
CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9k
aWN0PgorCTwvZGljdD4KKwk8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+aW5jcmVt
ZW50YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+
CisJPC9kaWN0PgorCTxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgorCTxkaWN0
PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT52cDlf
ZGVjb2Rlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgor
CTwvZGljdD4KKwk8a2V5PldlYkdQVTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tl
eT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJYUjwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1h
dF9yZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4K
Kwk8L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fd2ViYXVkaW88L2tleT4K
Kwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxr
ZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgogPC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC13YXRjaG9zLnBsaXN0IGIvU291
cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3QKaW5kZXggYWU0ZWU0
NTdhMjEzMTMzOGY2YTViNzVlZDc1ZjYzNmYzYTBmNTI2MC4uZTIxYjAyM2IxNDIzMDg3MjNjNTk3
YzBmMWNmOTdhMThhMzI2N2I1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxh
Z3MvV2ViS2l0LXdhdGNob3MucGxpc3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3Mv
V2ViS2l0LXdhdGNob3MucGxpc3QKQEAgLTIsOTUgKzIsMTAwIEBACiA8IURPQ1RZUEUgcGxpc3Qg
UFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNv
bS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlzdCB2ZXJzaW9uPSIxLjAiPgogPGRp
Y3Q+Ci0gICAgPGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+Ci0g
ICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmluZzwva2V5Pgot
ICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgot
ICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAg
ICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8
L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZh
bHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAg
ICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8
a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2Rp
Y3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KLSAgICA8
ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgICAgICA8a2V5
PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAgICA8a2V5PkNvZGVD
b21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8L2RpY3Q+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+
Ci0gICAgPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5z
d192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PnZw
OV9kZWNvZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViR1BVPC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5Pndl
Ym1fZm9ybWF0X3JlYWRlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8
L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PndlYm1fcGFyc2Vy
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9r
ZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1
ZS8+Ci0gICAgPC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGlu
Zzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGlj
dD4KKwk8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJ
CTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0
PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8L2tleT4KKwk8ZGlj
dD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1
X3Byb2Nlc3NfbWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0
cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29t
cGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9w
cm9jZXNzX3dlYmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFs
c2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5PgorCTxkaWN0Pgor
CQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+
CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9k
aWN0PgorCTwvZGljdD4KKwk8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+aW5jcmVt
ZW50YWxfcGRmPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+
CisJPC9kaWN0PgorCTxrZXk+c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgorCTxkaWN0
PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT52cDlf
ZGVjb2Rlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgor
CTwvZGljdD4KKwk8a2V5PldlYkdQVTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tl
eT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5XZWJYUjwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX2Zvcm1h
dF9yZWFkZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4K
Kwk8L2RpY3Q+CisJPGtleT53ZWJtX3BhcnNlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fd2ViYXVkaW88L2tleT4K
Kwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxr
ZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxl
ZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgogPC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCA0NGJhODg1NTU5ZjExYjEyYjhhODUx
ZDc2OTkxMzI5ZDNiMTlmZjI4Li41YTQ5ZmVmMDg5NDgzMjFmNzBjY2NmOTY2ODVhNjU3MjRhOTBh
MjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCkBAIC00NTEsNyAr
NDUxLDcgQEAgdm9pZCBHUFVQcm9jZXNzOjplbmFibGVWUDlEZWNvZGVycyhib29sIHNob3VsZEVu
YWJsZVZQOERlY29kZXIsIGJvb2wgc2hvdWxkRW5hYmwKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkgJiYgRU5BQkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQog
dm9pZCBHUFVQcm9jZXNzOjpzZXRXZWJNUGFyc2VyRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAg
ICAgaWYgKG1fd2ViTVBhcnNlckVuYWJsZWQgPT0gZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVUHJvY2Vzcy5oCmluZGV4IDQ5YzNkNzcxYmYxNzRkOGY5ZmRjYzhkMjQxYjMxMDc2YjBj
NWI2YWYuLjU2ZGJmZTQ3YzI3OGNiZWY0ZGQ1OTk5ZDU1N2M4Yjg1NjViYzYyYzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaApAQCAtMTQxLDcgKzE0MSw3IEBAIHByaXZhdGU6
CiAgICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gYWRkaXRpb25hbFN0YXRlRm9yRGlhZ25vc3Rp
Y1JlcG9ydCgpIGNvbnN0IGZpbmFsOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNF
KSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgdm9pZCBzZXRX
ZWJNUGFyc2VyRW5hYmxlZChib29sKTsKICNlbmRpZgogCkBAIC0xOTQsNyArMTk0LDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1fZW5hYmxlVlA5RGVjb2RlciB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2VuYWJsZVZQOVNXRGVjb2RlciB7IGZhbHNlIH07CiAjZW5kaWYKLSNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgYm9v
bCBtX3dlYk1QYXJzZXJFbmFibGVkIHsgZmFsc2UgfTsKICNlbmRpZgogI2lmIEVOQUJMRShXRUJN
X0ZPUk1BVF9SRUFERVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
UHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNz
Lm1lc3NhZ2VzLmluCmluZGV4IDY5MWRhNzhkMmNmOTMyOGVhNzllMjRjMmQ2NDYyMDAzNmI1ZTQy
NDkuLjRmMDE5NjU0M2EzZDA1OGUwMTZjMzk2NmVkYTE2NDdmYTYxYmJiMjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC01MSw3ICs1
MSw3IEBAIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIERpc3Bs
YXlDb25maWd1cmF0aW9uQ2hhbmdlZChDR0RpcmVjdERpc3BsYXlJRCBkaXNwbGF5SUQsIENHRGlz
cGxheUNoYW5nZVN1bW1hcnlGbGFncyBmbGFncykKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkgJiYgRU5BQkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIFNl
dFdlYk1QYXJzZXJFbmFibGVkKGJvb2wgZW5hYmxlZCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKaW5kZXgg
MzIxMmU3YWUxMDE5NTUyNjc4N2ZlYjlkMzYwY2Y2MDRmYzgzM2ZiNy4uMWFmZTc2NTA3OGNlZjUx
MzRjODlmNWI0ZmRmYmU2MTZiMmZjZWEyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCkBAIC0zMjgsNiArMzI4LDE1IEBA
IGJvb2wgZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAor
Ym9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpCit7CisjaWYgSEFWRShTWVNURU1fRkVB
VFVSRV9GTEFHUykKKyAgICByZXR1cm4gaXNGZWF0dXJlRmxhZ0VuYWJsZWQoIndlYm1fd2ViYXVk
aW8iKTsKKyNlbmRpZgorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiAjZW5kaWYgLy8gRU5BQkxF
KE1FRElBX1NPVVJDRSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaCBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCmluZGV4IDkwMjQ3ZThj
MWQxMjJjYTZmYTVkODdlNmZmZDZiNzI3OTYzNzNkNTUuLjI5YTQwMWQ3YTQzZjk0M2FjOGY0YTA3
MjgzOGQ3MzVlZTY5NjhhNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCkBAIC0xMTEsNiArMTExLDcgQEAgYm9vbCBkZWZhdWx0
VlA5U1dEZWNvZGVyRW5hYmxlZE9uQmF0dGVyeSgpOwogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKIGJvb2wgZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCk7Citib29sIGRlZmF1bHRXZWJNV2Vi
QXVkaW9FbmFibGVkKCk7CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1t
CmluZGV4IGVmNTUxOGFhZGIwMmQ1YmY1Y2JmMTY3ZTEyNDA3ZWU5MDc0NzE1ZTcuLmViMmNkODI2
ZDM3M2FlNWFkOTgzNDAzNThiZDljZmFiMjhkYjRjM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCkBAIC0zOCw2ICsz
OCw3IEBACiAjaW1wb3J0ICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlByb2Nl
c3NQb29sLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgor
I2ltcG9ydCA8V2ViQ29yZS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oPgogI2ltcG9ydCA8c3lz
L3N5c2N0bC5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYv
U2NvcGUuaD4KQEAgLTI5NSw2ICsyOTYsOSBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6c2VuZEF1
ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygpCiAKICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRj
aF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BBVENIX1FVRVVFX1BSSU9SSVRZX0RFRkFVTFQsIDApLCBb
cHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAoKSBtdXRhYmxlIHsKICAgICAgICAgQ0ZE
YXRhUmVmIHJlZ2lzdHJhdGlvbnMgeyBudWxscHRyIH07CisKKyAgICAgICAgV2ViQ29yZTo6cmVn
aXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CisgICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyVm9y
YmlzRGVjb2RlcklmTmVlZGVkKCk7CiAgICAgICAgIGlmIChub0VyciAhPSBBdWRpb0NvbXBvbmVu
dEZldGNoU2VydmVyUmVnaXN0cmF0aW9ucygmcmVnaXN0cmF0aW9ucykgfHwgIXJlZ2lzdHJhdGlv
bnMpCiAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmggYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCmluZGV4
IGE1OTI5N2FmM2ZkYTU1Y2Y1M2Q5ZDkwODFhYjk5N2M0ZjdiZTU0OWMuLjcxYWNkODA4ODY4MzU5
ZmUxNjgxYjcwNGRhNWVhNTA3OWUzNjQ5NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaApA
QCAtODcsNiArODcsNyBAQCBib29sIGRlZmF1bHRXaGVlbEV2ZW50R2VzdHVyZXNCZWNvbWVOb25C
bG9ja2luZygpOwogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIGJvb2wgZGVmYXVsdFdlYk1Q
YXJzZXJFbmFibGVkKCk7Citib29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCk7CiAjZW5k
aWYKIAogI2lmIEVOQUJMRShWUDkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbSBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLm1tCmluZGV4IDM1
MmZkYzVlMThhZjJjNThiNDJmZTRlMGU3Y2Y2NzM3MWQ2OGNlNmMuLjE2YzU5NzIyOTE5NzFmMTk5
MWM0MGFlYTgxZDBmZmJkNmY2NTlkM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLm1tCkBA
IC0yOTgsNiArMjk4LDE1IEBAIGJvb2wgZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCkKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpCit7Cisj
aWYgSEFWRShTWVNURU1fRkVBVFVSRV9GTEFHUykKKyAgICByZXR1cm4gaXNGZWF0dXJlRmxhZ0Vu
YWJsZWQoIndlYm1fd2ViYXVkaW8iKTsKKyNlbmRpZgorCisgICAgcmV0dXJuIGZhbHNlOworfQor
CiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NPVVJDRSkKIAogI2lmIEVOQUJMRShWUDkpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMGNlNTk5MTg5MWE4MzNjMDAyNjYwMWE0MDc0NWU2MWZmZmRlZWVjNC4uNDZhMjM2MTUwMWU0
NDMxYjZkMjA1MDcwMjIwZjZlOTdiZjczYTMxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIx
LTA3LTIxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dl
YkF1ZGlvXSBBZGQgd2VibS9vcHVzIGNvbnRhaW5lciBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxMTAKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzc5NDM3MDY3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6IE9ubHkgZW5hYmxlIHRl
c3Qgb24gbWFjT1MgTW9udGVyZXkKKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0
YS1iYXNpYy5odG1sOiBmaXggd2hpdGVzcGFjZQorICAgICAgICAqIHdlYmF1ZGlvL2RlY29kZS1h
dWRpby1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmF1
ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJtOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJh
dWRpby9yZXNvdXJjZXMvbWVkaWEvdm9yYmlzLndlYm06IEFkZGVkLgorCiAyMDIxLTA3LTIxICBT
aWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBMYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zIGZvciBpbXBvcnRlZCB3M2MgSW5kZXhlZERCIHRlc3RzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDg5NzliMTc4OTJm
MjdmMTRhYmY2OTY0YWEwNWJkNTQ5YjQwOWM4YmMuLmRlNzJhMWM4YTZjMTMxZjBjMjZlNDc2MDc5
MTU1ZDViZjczNzdmMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xNzY3LDYgKzE3NjcsNyBAQCB3ZWJraXQub3JnL2IvMjE0MTU1IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcAogWyBDYXRh
bGluYSBNb2phdmUgQmlnU3VyIF0gbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS13ZWJt
LXZvcmJpcy1wYXJ0aWFsLmh0bWwgWyBTa2lwIF0KIFsgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBd
IG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS13ZWJtLW9wdXMtcGFydGlhbC5odG1sIFsgU2tpcCBd
CiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSBtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtd2Vi
bS1vcHVzLXBhcnRpYWwtYWJvcnQuaHRtbCBbIFNraXAgXQorWyBDYXRhbGluYSBNb2phdmUgQmln
U3VyIF0gd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwgWyBTa2lwIF0K
IAogd2Via2l0Lm9yZy9iLzIxNDQyMiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1ZGlvY29udGV4dC1pbnRlcmZhY2Uvc3VzcGVuZC1h
ZnRlci1jb25zdHJ1Y3QuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sCmluZGV4IGEzMzNiNjVhYWVm
OWRiNjRlZDUzZmNiMDU2MzFjZmMxNTE0MDUwZDEuLjdmMDhiMjkwNTkyY2MyZjM0NGZhNTY1ZmIw
ZGFhNGIyNjZmODgyOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1h
dWRpby1kYXRhLWJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1
ZGlvLWRhdGEtYmFzaWMuaHRtbApAQCAtNyw3ICs3LDcgQEAKIDxib2R5PgogPHNjcmlwdD4KIGRl
c2NyaXB0aW9uKCJCYXNpYyB0ZXN0cyBmb3IgZGVjb2RlQXVkaW9EYXRhIGZ1bmN0aW9uLiIpOwot
ICAgIAorCiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKIHZhciBjb250ZXh0ID0gbmV3
IEF1ZGlvQ29udGV4dCgpOwpAQCAtMzQsMTkgKzM0LDE5IEBAIGZ1bmN0aW9uIHJ1bkRlY29kZVRl
c3QoaW5kZXgpIHsKICAgICB2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAg
IHJlcXVlc3Qub3BlbigiR0VUIiwgZGVjb2RlQ2FzZUFycmF5W2luZGV4XS51cmwsIHRydWUpOwog
ICAgIHJlcXVlc3QucmVzcG9uc2VUeXBlID0gImFycmF5YnVmZmVyIjsKLSAgICAKKwogICAgIHJl
cXVlc3Qub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgIGNvbnRleHQuZGVjb2RlQXVkaW9E
YXRhKHJlcXVlc3QucmVzcG9uc2UsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Ci0g
ICAgICAgIAorCiAgICAgICAgIGZ1bmN0aW9uIHN1Y2Nlc3NDYWxsYmFjaygpIHsKICAgICAgICAg
ICAgIGlmIChkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnJlc3VsdCkKICAgICAgICAgICAgICAgICB0
ZXN0UGFzc2VkKCJUaGUgIiArIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsICsgICIgdGVzdDog
c3VjY2Vzc0NhbGxiYWNrIGhhcyBiZWVuIGNhbGxlZCBjb3JyZWN0bHkuIik7CiAgICAgICAgICAg
ICBlbHNlCiAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJy
YXlbaW5kZXhdLnVybCArICIgdGVzdDogc3VjY2Vzc0NhbGxiYWNrIHdhcyBub3QgY2FsbGVkLiIp
OwotICAgICAgICAgICAgCisKICAgICAgICAgICAgIHJ1bkRlY29kZVRlc3QoKytpbmRleCk7CiAg
ICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgZnVuY3Rpb24gZXJyb3JDYWxsYmFjaygpIHsK
ICAgICAgICAgICAgIGlmIChkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnJlc3VsdCkKICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJUaGUgIiArIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsICsg
IiB0ZXN0OiBlcnJvckNhbGxiYWNrIHdhcyBjYWxsZWQgaW5jb3JyZWN0bHkuIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1v
cHVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NGJjMDEwOGQ0NGNkNWY0NzQ2ZjY5OTdlNjBj
NWU0NzM1NmZhNGU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVj
b2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitU
ZXN0IHRoYXQgZGVjb2RpbmcgYW4gb3B1cyB3ZWJtIGZpbGUgc3VjY2VlZHMKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgU3VjY2Vzc2Z1bGx5IGRlY29kZWQgY29udGVudAor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjU3NzI4MDEyNzAwYWYzZDY4MjRlMjA5MDg1ZjRkY2VlMzc4YzcwZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRh
LXdlYm0tb3B1cy5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJyZXNvdXJjZXMvYXVkaW8tdGVz
dGluZy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlv
bigiVGVzdCB0aGF0IGRlY29kaW5nIGFuIG9wdXMgd2VibSBmaWxlIHN1Y2NlZWRzIik7CisKK3dp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGNvbnRleHQgPSBuZXcgd2luZG93LkF1
ZGlvQ29udGV4dCgpOwordmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKK3JlcXVl
c3Qub3BlbigiR0VUIiwgJ3Jlc291cmNlcy9tZWRpYS9vcHVzLndlYm0nLCB0cnVlKTsKK3JlcXVl
c3QucmVzcG9uc2VUeXBlID0gImFycmF5YnVmZmVyIjsKKworcmVxdWVzdC5vbmxvYWQgPSBmdW5j
dGlvbigpIHsKKyAgICBjb250ZXh0LmRlY29kZUF1ZGlvRGF0YShyZXF1ZXN0LnJlc3BvbnNlLCAo
YnVmZmVyKSA9PiB7CisgICAgICAgIHRlc3RQYXNzZWQoIlN1Y2Nlc3NmdWxseSBkZWNvZGVkIGNv
bnRlbnQiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICB9LCAoKSA9PiB7CisgICAg
ICAgIHRlc3RGYWlsZWQoIkZhaWxlZCB0byBkZWNvZGUgZmlsZSIpOworICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgIH0pOworfQorcmVxdWVzdC5zZW5kKCk7CisKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2Vz
L21lZGlhL29wdXMud2VibSBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9v
cHVzLndlYm0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTg0OTRjYjkxNGE3ZDg3NGNiMDJlYjAxZDdmN2I2MzU5MDFj
OWQxYwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTU5MTMKemNtY0okMTl4T2spVyNkeiM+QlI1
K25VKDZqZ0Q+RyM+NiV6SFlUPWhDcFo4MXo1RD84dG5PWmBSYG9mKD5zUWEtCnpVQTN6VU17Sygm
UGRGMytFZDJjUXo1ez4+LXZnazgxQjJhN2pja1IoZXVeT2c1Rzw3ZGI2fXdWRjF9WX14aCQ2cwp6
eHl+cStzJGdgZjNOd3t6Syo5ZihGalEtO2VAZyU0SS1gSDtQKmV4YVJqTERsMV4mMUFPUXJMdEdM
VWNvOyh3bjUKenIxP0xPYH5UelBLZFR6M1NMJVpoZyQzbVRWcV57NyUtQV5USW9SbyQ3I1RIJHs9
YTM+aDtZRjskXld0OUtsQXIkCnp8MWF4UzBLbT99O2l4alhkcVJ7b2FNPUpMO155b2lTMzhyP1Ak
N0s8TUt1LW0kez1JPGVEJSY/dSVSWlBBT09nMgp6TExMQzVJYjg3QTtlUUB4V0M5PkdFPSpFemFD
TWU2SDhjU1I7UkZ1b3tHWGN0eENteEJKTzdfUUx9QTwpVV9TYlAKejdJNEloIW89aTc2aHlfOE1a
XkJUaFdfNi03I1IwTzhVSF8pe29uVkp7Si14X3tie3VFUG90U3dTcFJEXnBeY0BICnp7ZntaO3Fs
SUVjO2k3OEZMYUlePEB9Z25NakV2bT55X28xMzhHcFheLXZ0Q2pBa3lPTXtkbylrRGlWcVYwMDlN
agp6X3wqRGVNVD5sQEtZc04qOVc2aHhrQlEqR3dLPFV8SD99dTZJUDRXPVVVfmNpPDs4RjkmRV9u
Zm4maFMmZW9FRHgKemBmJCQzRHNyfDVIUG0jIUxeNlBlP0EwNzV4ZVIqb15LRjZNYk9EKH52UVZ2
aVJqO15seSE/eUlAcn1oXlkqfmVqCnpWbSFia24+RTRmZ0ZSQFNOVnlZQTVZUWJVRHg8cmluUlRr
bS0yK3NgOEEwQTUhUTVSYShSZ2s0dV44XjlgNFNsZwp6dlhKfWhmMmQrPGg/dmBETG8pI01KYz1g
RD18P01xKk9DbFFtaj12UkZBJSZGNzNwS342PDBANDIpNmhwX3NvQ14KemVTdkZ9K2RHaU5RYlJw
KShDbVhxRW9TOFpveVdLRztZeVFRUk57PyZzYmh3KWNJeHUyak5qUTJRJSpAfWlwTi1aCnpyQDQ/
fW89cz0oX3pKUkBxX3xPa2spIShna1pmcmJxOHlPSWlFIWlUeCg3SyYqZT8jISVLWmhPdFdNWSt1
KmRiIwp6WTZ8JGhFdHZTSTs1d3gpKy0hKnU7N0U/aiNieyNpSFV7SWF1KTEqY18paURYMV9gNlZ7
REg+LSpeWEpYWVQ+JSQKemdUbldpYTZvMkc/bkxpWm5sSyNmRnNqUldXIVlhTmxDTnd3d0BCfnww
RThhIUE/O2hnJDgjcjZpMjUjdSpGK3k4CnprWV9SZzdtYH5+OXZEUXE5MjNLeVJvdVRyPXJHekpe
XzBOVl9wYVp7RWMxPW9sYH1TZ3ZhWHtvJHs9YmdFOEk9SQp6S1BhSSFzMUcmfXlvcE17WEledWpC
UXMqSVlkfVNpWSFYNjROOFRXJEdsJHcycSsyJDxKKUZYKFgpQHQ8YldjK0gKelhGRE19WWImbTJR
fXBsejE8PGYqd1JMTiomSGdVJVVKQDc7KEBrZXRKQiMqQzQpc3soPlk/QmI9bD1vYUNTeD1PCnom
OU04MjFiISlXM35fel5oPl45JUdxPylvNU4+biViPns4UmB3TnlQRXxxcSZlXk5FbTBPfXIlKy1i
eD5ie0pkIwp6bnRSeGxrRUtXbTlSTmZYQGJOR0Q4RW1+Z2ZrfFlhb3ZFWVZQVXA+MnczTz9lUWRY
cCVydjgqZ3xFaUktQWFFYWoKekd+bVk2Wnt7SWp7PTx6RiZZNjNzS0JpVnJyciVXTGptOUR7Vk1p
ckdgeWslO1llPig3YmtaKmB2Ryh0ez4pY1hRCno1dE5jMDVCYm9VR250Ym16b15GfDxTMDg5cilj
eDhSZjtndkRNZlRma307bU9yZWdlSCNCanI+IWghSnd1R2pJVQp6N3J8QXE8JGktNzI8e0dgP0Z+
OEBqOXNFP0FARmB2Vyp6Zz4zWT41fSs0Tzw4QmhVSWxqPEZTMU51Nk1Va0IkPF4Kenctd0BoR3gr
Y0ZpTF9BU1RnQihVSXEwaD8qOFYzeWVBVFB3WH1FeEI+LVlYaDI9ZilPJEt0KmljK3l7ckpNZXct
CnpIfE5RfF9BQ0N1VnNYJE1aUmxOVUNpN1gzUmE/d3JROHE8RlhhRkYtZlI5eXswRzgpRHg2JmhE
dTQ3e2k1alJ0ZQp6JDBSa1E8d3U4PysoRGxyOCN0Ti15WndnX0VMODw8KHd0Kl5kTWpOeG5UNUM9
JnlqYWdvaTxHbSpYNnFwKW07KD8KekZuQClgMjtWITJLVytHYmx1U2dxPiFxeWRPbEI3fGhxfiU+
N0BxNF9gRWx9TElWcldMb1FUUnBqdmkpLV9LJTE9CnoqZnA/ZGB0LTB8QzVxQ29NUGZzZUc+aDZG
amVCWHZzRVJTQig0NztgSHg3SXtMPF9sMmZaVmclaSpXWDU5QjBqNwp6eDRJfGp6Q1M8bWJNMl9V
MC17T3lOIzRuPzdpfSpvPylkKHNYTW08Vk89T2ZaRnVBP15xfiV6b1piKittR2Q/aGYKejQ5Y15H
PjMlYWNmN3skSjxvQEFme3F4cXNxYX1CVV8hI0tUUSE1JFBsIXRXbSVlPWR5WGgtdSUja3hvYzQq
O2F9CnpnTjVsSUVmcjhxdG1vIzUqRVNnMU1+Q0xPNksxQWF0ViVlXmp2YGA2PDQ4azdLMm9Ia3op
V3ZzZ35wakVpVzZWZwp6eWFDTWo3PEhod2t5WDAxaEwkKVpKSzNZKjlKb2FYYjB6cSpSQjZCP0Ej
MGlQdzVTWV5lNj9fTzs5ZkV9bXVCXyQKelY3KGBnKDlAQio2IXtUU0lucjN1XzAoVD50I2VCVU5m
S3xNZXkpODU5SiMlWThONyVaVFdUcjZ4YXBPPCh8TEFqCnpMME87fVZ5Yj5JUEY1Y0l4QyM8IzVi
Iz1MUGVgTlNjTFpDMVI3JEx7Z2hlWmwleiU9aEZsMmpjK092ajUjQzt3Xgp6PDYlQXlSd14qfSNX
YkFZLTUzYXtodGwqQyo1VWEjY2BocmNvIytCQUVAUk9iUis3N3o3OSRvITlLb1RUYlV+I1gKejRm
dj81ZHhwSk0+KE1lYWxHZ1U/WDcpP21BM2lfc1djbllVPjJSUjRhaktXa0pDNDMkRWRgemphVT5k
WFVhaSM3CnokbHNwdyQjUl4jMztZY3EwNGU4MHVmWVNPLT5edzJOeD1BWmhtMkA7UGc4czIwJDIw
Rkc4fGF1VHh2a1c/cHE3JAp6Uzh4Pm5RYXtDQT1WVERRUGdoMGhBcXpAdVFKazRLJW1lYno+Q3Zu
ZGFWV2dYKW0pU1FQVk1zOFcjVExvblZZKXIKejtEfEpWR244U1RnZlFHRm5BeCUzIX5DPUdnTExi
N15IbDN8KlluaWZJej83eFoyfE1ecWVve0hUeXBXPTxVb1RpCnp7TUsyWiVmVzc9cFlBdlFKQUkw
WT1iPGVWaTtxPE9gWGM5SVhKfDVmZEoxTUdiME9+NUYmNEUoeyUkT0cmUzxzeAp6NDAoJEVrTnJt
MVRiLTd5T0B8SDZkR1JhcTVpd2FXY30tMFpCZTIrJTtVQV9TUExmclQ1SDxrRl5TPn4yb2AoJWkK
eiZ3bzg1bjZicUQ/XjRrVHVoQDJgOGI+dGgtRz9zfkxwYzRiSDlyXmU0KV9yKGNCfD5uIWkqZ3gp
UH47RHJ5dnBrCnpLVnpQcTFGNWhlPWxTa0lnb0cyQWJuU1oyWVIlc185d2Q/aV5VVyVBU0spe0x2
TGRxVT8hKGFZVDMlPG55LVNYXwp6VUtJPjM8PUdrKXBMdjt6ezR3eXRXYCFGS1JZU0ZSKm99X0xu
WU1XZzAxeiZgKXpmT2RNPFU/Y0p5JGlEQCFgJUAKekU8cUozXj9YWWxJYXYwO0ZBfUt6TkJOM0xB
Nip4JXU+PHlTVmFmLSVgITxPJDslP0MtZEJBaS1xfj9tbyFDQjd1CnotKDx5aDZsO158RXhSaVFN
YylNUlUrQkBkJW5Cd3s3I0R0UkB4T052Wjt5THE3VVZzVTYhSHt9O0BKRj9pJUJNdgp6OGhaSmx3
am57dENWbik3M2ptN3dQY3NMTVpSJXc3MHJmO0xmOVNrN0cxfGVicmlGO0VQYjZKU3lRdXpfdngl
RFcKeiktI0B2XzdHPyklZWcyUlA+Qk9gQm1SISFaSHs0QSZeNV9eTV54S0YjayRqVHo0NU8qSyZV
blhLb3AzNTReQmhDCnpacHQxeCNyP3N+LTBPVkl4bHRsN2h9Uy08NHpecF8yLXx1eypHcXcwUH1z
JUgyYnZ2IztAMnx0Vm1oRFhtJVlodwp6M1ZleWlMXyVqaWE0Ny0xbH4wRXtjfnxeR2hxJFhhTGIh
QWEjPVJxVlp2ZitoUzg2YGkqdTdwVVFARmtTNjw1ST4Kems7KFJsJkQweVhfSmlFTUdCaDM+UHJz
RWczd1dVbE0jVUoyVD1YcG5eR2ktd083WVRZYUxWR21AME1XcUFZUnwkCnpOZnl5Wit0KmJES182
P0Uje1B6cWNJPnxJdGdjdWp0KVFITG8weSNXVkU7IXNLWGVMeT1yRnRCZTJzJks0XkpTfAp6Tio2
Y0V4cTNuO0FsU1U8bkxfNjBPd350eTZxKWEyeX41SUpaK1EpVXNIbSZyNTxGYXI9Y2NvMlNeMXt6
SXNocHMKeklfRz0wMGhRbHsyMnBSeVBedGpeTERBWl89NiVxY0NzJXlNZGlHSCopSH1yQEdLQkJV
TmdtNWtNR1FBdEFFVEVXCno5P2xVV1JHRklTQFRVSWV5SmYtNkdUaUdvY0VkaVVrdF9+THYtP2ZE
I0UpZVJob2NnXzs2QXlvRzYhSWFfY1NFZAp6SVJ5UVh4TkpmS1RgLSYzTTdwcjc/biFveEZ9SEJ6
eU1hKDNtOEswYlNpPzFtYTE1aDN2N2V9TSRnNU5qJDRpRW8KejIhVXV5IVRTb08/KVZMX09GfVhl
cCo/TlFnN3E2ZVNVeztlY1FKXkcoOTZIYlg/OVNNPD1Xd3FjUG9jSntTVDlxCnowWHFCPTJDOTlM
NUhTRiNgTnl3Zm55M25XWVojciFAZzZpNWNKfXp7UWs7an0wKkRObih1RmlaWjxXUSh6ISFnVQp6
I09uaTV6MnYjaXJKVyYqQlQtdiYrakxqUU9ybFFfV0h3ejApO3ZGMD4qSytXU34lTEUpbHV3Z299
QXhoQT1LYHsKeilmfG0/T1A3WiNTanI0IWBBeFhBJn5qWVo2IUZvMGB+MGIyendfME5ucnl9cUJJ
THRFalFJMkNhK0A7NFFzKFVBCnokc2VRWnZLd1FjXikpdGlAS353VUNlNXhaIWleP1BTREF3e2pP
I2ZMcUJqMV5yKVEyIyNGaXh3a0JOeGZ2MSkpPQp6TiVDNktodTVGQTImLU0qV0I+fkMqT1dncE1i
Jkc4IWRyUGo8WEI5PDlgMW02X0Q/aS1VUkp5ODlMWjBoTWFFfSYKeiVFMitOZFl1QztHKFpvNGVX
OU96JmJ2PWwqRnY2Zjl1NnI4RDF6QkMhWjMyPHI8JC1XNX4ybkdqUmt6e2UlSmtCCnpJUWJ5NElQ
ZWY0JSRROTwoI1Y3bkJAaWBNOSpFMlBMKztmQiZyTSp4V1cxWF8/e1U3bT1Pe3t5Z0FOX0tOdCFw
TQp6P0o3IzhtcD05NGwhTyFfdGhyOFBLSDZJfllKP2B8ZiFIYjNFLVNhKUpDT2Z6WlpwJGtFaV84
P0xmZX0zbXArOzEKemgycyVSQGF4JXg8bXphVkVyaE4kJCVXO1VwbTskPmB4VXBMaWE9MCtXZnBq
fUZEYH0/X35oS05HVSNPYDdiYn1pCnpCSlpYRCZpY2F1NXQ9bVpPQHZlIUx2emhnOEkkcEsxX2A0
YnchOVVwcFYrdU9kNj1LZ0FYWTRXTlN3KXZeMlVLKwp6WlN+PnNnRHxnJUZeUD1KTk5DYjZxTFo9
M0YjPmdAV19kSkV1MWtOfF9fUG05VSp8T0xKTzNtSG80MXcreHApcWoKeiMrKERsM34ybEVJajRM
elU7V09rVSRAKEJmMnhZdmV1NnNkWFcmQnQwTk09cklGXmhRIXlvQ0RJX3lnKlZtXjc4Cno5YF5K
fi1Ga3NvSiZLaHQqUHFDckdqZ1JuN2N1JERTb0s8bTchQExKUGpkZWI7PFZndzwwN2AyQkFnISpI
eTxqbQp6O3N0USlvRWt9aGB9SDBRbUh5PmRKWkR2bipzRmxITF5GYz9VX3JnNzZyYXJWPX4/RCVM
X3l2c1EmU2gjbW1lYyMKeilrUXBPVkIpR0wjdnBDfG08NWtYLWNDQnM3RjBVMHQ3ZEd0RSEoYV5t
az8rant7fWxIKkZHNHJYe2hjQFJFWTIyCnpqcUJZYyRpK2FBX2ZATSNeSkxYMTs9VEdjSllTU2d5
SHlWZ0NfKl84e1BnMXxBI09HcUtHPXt3bFJ2fklEQ1VjSQp6PFRoI1dyPnEmUXgmUVFRSFRYfnh1
dVJ+cFole2tlPEpuS011TjtIRjZVRkFGd3NmfCQmTD55dD14YyVWRGQzYT4KeklXXj9AcmRsTlh7
V31jITFORGEjQj4/Qyk7TiQyPFhzS1Q8aU5qYjVZeyV2QUZ+LThQKmFpc2NleCpHNE9QfWs4CnpQ
TkxVdmJ3M20pVGBQKk5xZTw9VmxJanFAaTh2PTVvIXY2QlgxXl5MTXB8cEZSeWRqM0glbzE2PGZy
fip1P1o7PAp6YkReK0VAfUk9VmJ5TWNOelFPJCZ6bkFIRUhSVlR4K1VJblpZRk0yQFYjRit7MSs0
alRSSXY4UENxWnotPHlxPiUKelBnYFM9cCgpfT8mXmZfZlNkamk1TyhuU0x5aSNlS2wkaGxnZzMj
amgjRkNMT3BRSTBDODFTJUE+JW9wVyVjQkNPCnpEXjVMdDBvaD90QHhUe1RFPjdzXiVAOCVfdkBT
dD5WX2E7fCMhKUZhZ1VuITlkbFEkSyN0UyNhYmQ9WVpfKTZPRQp6S1YySCU+dXEzYTViSzlQSzAo
PyZWO0JuNTRydGxnJnYydll7TVUxZ3BMYldnUihCSFMtPGg8XnRMNVVLN0REWlYKektTNylaMDFX
O2tEdmlhZC1vfVlyK2dtT1cwY1pAYFdrQmxnYz0pSFNRO2thWlBDZUsxJENWNF4xNkdDYTF7Ty1S
CnpZXyY4U2prUnxjUUtNO3w7Y3tiV1BlX2lRQm8yfEt3XlJZKlVyQUxAY3FpQTE0VUp3KGMzSXtD
byglbkE0SDZ5Ngp6JlcpakwwPTQjTyR+eTVQMlBUbUAxbmVVO0tETWBFTV9XPGtxb18xcTxNJlk0
bSZCeT47MWBXV284azQ5TllnLUUKej93WWh6SlFhZ2tLQG05P0lOJVRAeXEyYEAycCpSVGdWS1ZT
anQjNHB7cV5+bDM8UVJDXiE9U2xTUFYtbSkpS0p1CnpKTk96QUErcjJzK0lJKSZpT2x9NWUwMEN3
UDwodChoQkRnI29zaFYlQ1FnT1EyPyt3ZSYlZXpYRXpCUGpoVUx8QQp6JDllSTxZTGZ6JTlaVD9q
UkQ/UHs2Y0lzOUxPeEh0T28jUkN3V2U2Kj5wfnFKWTJvdWV1c2B2TjM7Pk0lTHJjVikKemBHbUhv
KnFXfWp7ejlIdEhNZylgZ1Njbnd0TGkpLUQqb0YxdWZ6MWRRajRCPExQbWBFRl4zUHdMSnlqUGI+
TGU1CnpsVCp+JF9wMlM5cHAzaGVwYEZ9QEJgJDBxdDl9dihqcClwQjd8LSRDVmVQUEs4dF5PP3N6
Tk5qPVE/bDUhVCNqawp6Kz0oWWR3NzA/ZnJQdkQ3QTd4VXR3cGtIdjJVJnolTUZDYT9aMXhxYWxN
QHg0P3lAfT5gblIoaU8/O3RfbjJHcF8KelJiO1dYYFNPa1NSJlkqPUx1VHc/Jio7UTxeKUxIN2ta
JUlJdkJPdH1QcWpTKkRtRm5aVXlWYVp1ZG9TQ202bS0zCnpSMT1kemp4WklSNT4qNjV3ZUY5QVh9
dUFxVzl8NX5KRT9yNz5ocVNAQG4/IXJae3szTVgjQm41cmJFOGU+LWdVfgp6Tk5IdiN3JChkTGxl
ekpaYyVhYCEkJXkpdm5ORyQzSVVxM3JuQz9HTDIzRnpRPDdLcmxlKDh+SnMwPm8hY2pGVzIKejw0
Xih3SmtiSUZ7K3Q2amt6I3Y2RGVmKFdka1FhVkZDQHI8UVNTbXojVzJkZXFMfn0oRDFJMVhqZEln
bipwaTYqCnpKODU/JlB7Y35vPlJ6fSlKIWpVZj8kdHl3ZmVWc1NhV2FIX3okWXE/SmJDNlkjI24l
e00kI3kmJmkhLSRzYEx9dAp6YHdKQ3AtbjRiK0wjbTYtPmBPdXBjOHlHM3hxRjVxUEJseiM2WFdu
Nkx6M3w2aj1geiopcWpqU0t9cm5gKWU3RzMKek1ySnl7WE54fEBMQE1rS2k4IWs3P1ohUXY1ey1L
P25FezJ+UEVUPVhXQUhDflQ2OEhMX3dnbyFrV1hXQU1VY1NnCnpeV0c2ZjwqZDJYPVY7X3pxXkVn
Y1hxVlJ+Py1ERz4kaCUkfWB+aVlieFl3LUZnZ2hET1h0KjI1R092bSZJeGUoXgp6dHF9Qm8jVSU3
IUpUSE12bEk+MXkoaVBXcDlNJGxySjYpWHpGSkslPmxuNEl+Jm1SbD8rVVErdSt1aTBna3s7NzMK
eiNISHBLIVR5UiR6c0Y1R3Q1I3NGPEdWZ35rRFNRc0xKNlNiZ3omelpydDB0fjxjNncqaGJ2bTRI
VE4/KSNRUjduCnpPQCNed2hjT2NOU1drakdWazsoc1NSKENzNkJVQSk5fD9gZlN3ckc2dihKQlhN
V0J7b2B2UjN+KD92VipoOz9LRQp6d19kVWI0fEg7KyRSJWNkNFUkcmBlRDVBNU0pNG0hIyhndHQt
UHF2c0Q3RCVnbGlBMG1HV1MkVnVqWlV3PG17ZlQKent5UE02PGhwYXRIZU5wYztgX0t6SnpfVip3
UCVufEBHOyUte3R0U2wwdExkYzlOeyFuc0dzYiVjbXc0ME9uNlJ8CnpkJiEpaktoJnskJkh8K3tW
O01uNygzLXtWUlEpU2hzNUFZPnMpUns2I15nVnpCTEBKaHtUSXo2OUhhTDhHNDleOwp6JWo9SXRA
SytWam02VzFXaCR8NyN4K31XJjdHIz9tZlZZbX1RdDROX19Je35SezxGbC0tZ2lLZ1ZGSD4zV1le
dGkKeihvfjR5SlhTYV9nQ3NuaVBte3E8NkNiMGYpYXYjODg9KUt4WDd8NCE3OT1CaUR7MjFzM0BS
JWI0Wnc+SUtAI31ECnpLUnZtKjJBUVV8NEs8MkxvUWpMNDYmdTElUkR+SE9pZk43akJWUzhYIUBY
eEZyM1NhU08rOU04JGZsTWpjV1Nfdwp6STxaJT5GZlB4ZnRGMSp1eTZCOzwxU01iKFhiS3E/cSgk
cX05T25oYnRQbUY8anQ5U2JoR2YrSlEqVVdIQnJufiYKell3N1gydGJTaCR5JG5ZRDVWWmBhRk9N
Mnk4aXlyTV9Yd0g0T3t+PF9nMXFeUUltR2t6dE9qLWd0ZTFCT0pTNSpICnpoN3c8JTIobkpAQEJ8
KHx3eFB7QT0pY2h2Mj57c2cyaD53MTdFa218ZiVYZyhtXlJ0cExneT56Pz5UJGtJOHVWPwp6V1lZ
eChYKEY5enAlP0BlO001PntJPnl+OUF8SFZ1RXp2KVk+TyluSyt6Iz5NcEV4MVJuTiNwJFhvLX4p
c3pMbVIKelp6SFBQKSV8RXF5ZWBydUxKIWgmdTl+aGJWOzYhTW0lekgob2tWb3ZvI0hgZyNnY09r
KHl0fEZrPzVQR1B8TlpXCnp6ayE3RTR3MSpHelZLUGItIzRUREpDekVhQzBfY04rfHpVNXgxUVF6
V3RvJXhMeDVDNU1RYiFEQ0phUSk1ZmpRbgp6Ql5MI3RpUDclZ2k2KzRGJDQjP3NIKCFHS3ZPfSFz
JHU7SDcwfnhAdnhIdUJuaFQySE4yMz1KV2xqRGxRNl5YJkEKekV8UD5LI0IhaVU7ZnM0ZiQjYU5e
cVA8anlpP2ojc0EhYnJWVXF8b3hCUEwjQ0lJWnA+cmo3Sno1SGVETXA5ZzteCno7UjFrdGU8Kz05
dVlAMXJyYEBCbmFULU1oLVJVQGUqQU5FOzZfRElEQmFyJCgkfVI5fU1VQks+M1RUamtMfEgzQgp6
TEtnO0FpbXA2JU04T2VkR2NaSFBBfXMyOyNpKitCVGFNXjg2SiozQ3VhTz1VbVcraGJ0YEsmfCpZ
I0JGRXplKlEKekhrdnc3emVsSVNvQk1KPCFtZkh9Xj8/YTVmJGlGQC1VOGt6LStyUXs4OHBkJkNy
a31DXy1ncEtKWW8pKWxCVTR1CnpLfVhzSHlPUEJHKkNgTnVMe0ooRHVYUWdBTGI5cDdzdj4+WDhV
ZztpQik4S0g4b009fXhfcGB9ZDdQKWJfX2hJRgp6MGItMD51LVo0UEpLenJhUD09U2ZXRnlHNkE1
Q0BUVzxmazxsfDA0PHZUa1gmWk9Re1JXaWJzQl9qdVNXbTAtQTsKenZucSVDNElJclU5cCZTN2Q1
YXgzcjk/WGFeMXRqX0l7LU4wQytWSEZtdCM7WCNIRCR+T3ZMfT4/VHNTfk4tRzZJCnpfdEBzfmBa
Nk5wZEtTTGhvXnd6NDctSURnO1I+Sz01WmNhUDItXjh3TkwwSHVYYStwelYhcnEyN016Q0Ymd2Rf
Wgp6SU4hUSV3V1hKZVpZd0Y7S1lgVCotfXpQbkpfT01nPno5MDI+cDBIP3ljVERILTx7cjhiQlBz
Y3RyNEJXanl8QzIKeiZPKXpNRGpxSS0wO2RkJk1gODRaUSFoaUk/VlBfOCtafXckb0k4JTRoZztu
O0pfdU08NyU5PEZNJTMlO0hfQ1YkCnoyOUojZGFqR2N+WikoaHJHVFgrI2FoRWtSeFQ+OW5zTmxY
ezY7ZGw0dz9ZMCtfOU1MfHRgY0t+U0QwSX5PSHozJgp6ZF9faUR3PzhNQ0VqKko2Jjg3I1JsdUsr
NlA4RkdJbFRvQmlQa2F8b2BBcHJuQHZ6aGYkPG9GIVJ9djREPGlPe2gKej1BeEZGSDRjb2xCKH4m
VTVIeHk8MSV7bjZ2SnU4R15aRGpyUE4+QjdJO2hvdllnMTU8KlUwUlE4OShaNDA/TT5pCnpHNERM
USMtQCN1eWlKZypoPSNRO3dEIVg+OzhQfShkeE54dCNmblZ6ZjlBNWMwKHUhZjVuZ35OViUzbTUp
ZVY7Tgp6JDFgR3puOShXSUolMHBuWVQhISFYMmtKcEY4Zy1YP3A1Sj5Bb3hwdGlkQGlzLXV3enoo
c0N2WmxYbU9gSSN3aTkKejAwMXVlUTh1bioxdkx2KUJSaEBmXkRePT54byZoZCFARz9gTWMrWClY
VTk5U1IqQ3Q+SlF9UHdONVZ9UVdPM2BRCnoqOTxaSHVzK05pbS08NjBTQyMrQVRyYDxARUltPXJ1
VUMoNEh6S3MyQk9ZaTA2KTI5YDlnWX1iTGQhZSkqfEcoagp6TmUhe1NXe0JDVkNycEBfSjFzPS0p
SFFfUCM4UHpCUiZ0I3lFI0JzSkZsSX10KnpNdyV6bVI4ZVYjYTVAZkA5NUEKemJHN3ZFMXU+KE56
RCMzMlJsTGw7bzFeVzd4ZUMrWnYkPWQqPkE+Q2VCc2pYaW1eYzU+cV8tQSV6QH48VzwjYSUlCnpT
ckRDdEtzYmBYPj9UJERzS3czYll+I31nP29JfXElUyl1PDM0T2tPbEtTYmEkZyl4dFMma00tWEU7
cGpvY3Ffbgp6JjhweTVUaU8rIz1xdXFrSmZZaG40M0pWXyhwUzd3cHhnQkM8QjB5ISt6Rl5LNXhv
PmFeJUFXOzF0byo3dkBjM3kKekleKz44IWMrRmFzRmp6dTgwa18+REpte3ZYSjJyUXJaYFh9QSZq
M0tFTGVuM19LdXJVNj1hRGZKO3FeUWg+dndmCnpycDBmJTNTZyl5OW97MEVIKXJqeTtWREJhU209
ZT1CJDRqbDhHQmBZKnRKQTZFUHVBT0UxMj1Sek4lOF9GMF9Wawp6YGJqQn4wKVgzcGBzaj53WW52
clEpJmxkUl5GfjZJWjNsRTJMYDMjfXNeRE1gfDV1e2U9N1EpcUc8SlQlaU1BX24KekRaQFp2P0R+
RT1kZ3kzRCQwRGRMYikxdXZucGlzX2FDcnZTUFNIWUNzO0xOMys5akBOP3t5MnpedFlKPVB7KmRJ
Cnp3JHp1S2VxO2REV2FpZSQpJW58IyYhZkRTNlhffWskbHdzNyMzbCMmTFVaSHtHKTBrV3lSNmFH
KHtRRnYzVlI1RQp6dllVKD03QVI7ZyMpSDshO3RuVTFwe0Q5YC0xc2JBbisyM28ycGxedTBNamR1
Iz4mMkV4cXs3aTI5NHcyNGNKYFIKejZuJXwhaShEaiFKTnFKPk1RN3l8Tm5uenN5NWJ7IyYheFRW
S1ZBSHhAbThtKiQ2Pj5VSjg4XyNsZUFLWFJlTV9oCnpaJFhNWXJYZno8Vz5MRmoqTk07bVhIVmRK
SnVlP18/JiE4KmR4NDwqOT48VVcjV1dUMGFjSF5lUVNDKG0rKkI/TAp6bEY/R1VzWHN8eG9yWWVl
YWA1MGJsJEtBLVJ9dSpNRnVLaDIqNURfVF92I3tHWVBDYWJfJUNEdWdMQHB4WmAhfXUKeiVNYlkl
K354b2cwYnpPTjA4KFNJdkxjZWd5NCs3Yy1ZVWxTVmB8U1FnbzcjWU5uP35HLTViUCMlTkR0SVl9
azlwCnpWQl5yMEhXSjhpcEBXNFFHKyZ6c2lsMHh5SyllJSQoUWpRZmtXPVVob3J9Rj50KUpmUEB1
b3w4TkRCQWJ5Sll3Xgp6PWdKbHMtQUwpZyhOMXEjME1WdExaR310PSFkaWxBVlc9UjZXOENBdkZF
MXNgSkNEKkc1KWg1MHArIyk7M0wjM2kKejd7UVkobE1IQ1FaRkV9QHE8fDJTRzglZjNhUUpMQ3BQ
NiMxejhseV9lWTN7NXEraFpwXyEwfDRwOy1afSpVUnpACnpKV1h9ZjheeGdfO3t4c3ZJbDZ1QHty
dXphey0+dDIyKHlXP1JCNSk9SVkkcz10UChxUUNOZ2BMNl5BcDx5akUyZQp6RVF0KnhkdmxSZWtg
eilxWkpibmsmQWdSaHc3N1J3NXo9N0BSI3VCX1U5YE5MUCh9a2sqTHFIel5kX199bT9OSWEKejlj
KHBsJCY8an15UzI/OTM/SndlT3NpU19xYnExb19idD87SnotYkV5bFl6eyZTLWZgPjBoT0FIPzRL
NCRzKWIqCnpeeFlaciEpTk0xWnVOQ1I9JTUlI254Yi17dkppX29Ge1QjUTRsYCM2JD9eY1ptRip8
NT9HJmVBajRZb2Z4T3ItQwp6Q21CUWJYOUNpVSs2WTt+em5OOHk4YWJkV1VuX3tjVmwlUW0oVm4z
N2JLVUQ5NTRlRlRKWmRwUCFTeD03aUcjPEsKelNPeDQkPkxpJChMdSgpNSVBUztOaDFAI0Y7anhV
MkBlMEctNDUjVFMwYEJ0LShieSsmNGtKR0NNOFE5bDd5IVZKCnpLVnM3UD9ZI1U1PWZTJkBWOHNq
OzFva2EwSnlPR1Mld3g5cVNXISVxNGlgNTIqWTU2a1F4PW59Z3ZPRG5HVSgqcAp6dGB8RW4ocVok
blpQUG9VXylRZ0tDVWJgPXYrUGY0LWV6YGdAWTVDS2ZtSVNSNWotMFFIVnVwfmVAeFQyYitIWUMK
eiE0bm00NEl5UUt3e3N6dHJeMio0b3NDd2lfTUNZVDVjdGNXSzBRQzAzbWJkWChUSnptN09AMHlf
dEFBRHttUClLCnpLTG1VVjBORD9kQT5wQkNDNjZJb3txKlNxSHBEbGtea0IyNWdqaXA5OVI0Q2It
Zjw8NXN0PHpUaytSMnx1P3Y4WQp6LW8oWkkxPEdKUG81cSskTWxHISVGOCpIUWdZJWpVXz9KSnw4
LUhVaG5zPmEwRURYLVclWmVaMFVVd2IoTGduI20KejYyJnNHUTRNUXBBckZecHNgVHNNTUB8YHYh
ZnwqfVBEVzltJS0qRHNTYEpOMlQ8WVd4Rj1fd15ecENEP0RoKUEhCno/aylaTFZgPEk7dWo3dH1p
WHpBYjZHKyYhX3JecnBNUk9UUFFIe0tIR3xyMHk2IX13NiZiYV45OTtRbiYkbzRxMwp6NGdqdHVg
N148XkpUKGhHVXd3SWA/ajhTJFFkTVNCe3hhbWRNJndfbFNjRVJYZUVCJSleZiVCTFVCQmF9eDU5
N2IKekU5bUxDWDhiYSRuT3haJlctQElqYCp0S0ZwT0FOPzttWkE8eXJpQXRremBmS0hiRCkqe3Nt
MnlCRkJoQ3tmeCg4Cno1ZUYxM0JNYiliOUx3KFl0MEA0ZEspJGBxRmRZIWRRailDVmBSRTBDalZ5
bD9iX2M9ZE0haT1qQlFOVztEaldeUgp6cXNRMkslRkN2eTJAd2dAYE5WPik1dkx2PVh9aE1gY3x+
UEdYZzNYJHpMd0I+NjU5cDhlYjF6fCVvaVRzbTYtfHMKeil0PlNUND0zTVU0bXczP3c2UyRWWjxa
ens4JkF3N0doeVJyJG4qbVhANHRFNktlY0tPKH49QX5fNHxIRihMfCRVCno7Y3pIc2E5MVgyJCpp
K2pwVmsjZFhWQ043I258M08qczNeaHUySmcoe3ZBS3BZcGxOYHclbHZkUzV3dkw8fmJxUQp6QVk4
PFd3K0c0KypURkwzSTl1QFp2KFVSWFoxPERXV3JMUCkwa3xUOSpIO1Fne1clY0hhPnRsa1pLbX5s
QDYkUFQKekNuKyE8ZDspZGMtOCQ5PiRERiRUdUVfby1FPT9WZk85KHFaODhHSVRCKmtEJXt8V0df
clc8Nn4rO2BKSSRCb01jCnpVPztsaEYqYip3X1g7MVVCaSE8Y3VnJE1COWZwZWw0PyRPTCpgPk1B
QiNlXndfYDNuNzRPak01OFM1WjgoZVE4YQp6UmR6e1loUWoxWCt7TX5sZiMzJFhfXz47SWZrMHtj
WmNTRzRLKUkyYEZYfFpuaUZ0eD5qcUhwJWF0ZDNAcUpQWl4KeiYwTGtadDxQbUZVYSZPO1BzJV59
Q1BufVYofm1EJkk5ZXFAKCVkWmU0Sz5pOEF4Mz5NRHhuc0Z3RDFnOUs2UE51CnpkQCl5Km5hJGo0
Vj9WY1FsdmlrdXxGS2M3YXE4SnNOb3k+Z0taSCRtUj8/bDdDd1dzZHU+TUMqe2plKWtAN0M/YQp6
bCNYN2hIWH1iejQ3IURpWSpsZz91SExvVzdWdXloS3dPYmVRPGdVVVRlUnR9U1cweStpJnthOHdn
YV4hbFlldEMKemk7TSZBZ1hqZGlJRjI0SygpTXM7ZDh8dGZeSDdJRXpTI0FgUylXKHtffT5BVGhO
bigkV3VNSW5aUEE3QFg8fV5pCno+ZkQ4bG1hIXIhSV8tZGY7YVcyUFFCQCN9ITF5P3RFcVR7MyEq
cCZ6THpEXmFCO1peR3cwZ2ZaZmw5RkdVQS1nRAp6Yj95YEkkclhgMlg2ZkF8cH1uUUU3cW5TU2Fn
QElUQG4wQWVebkYlaFYodldwK19CdChidGdtOCVqalhCVUJqM2QKeiR2eDA4YHpMT3tPQDgjbjNJ
R3hOTDF2UyV7RzYlUEhHNih0MVJ2d3A1UUFCMTwjOUpwQUtMWEB2I3RTZVNJcTBfCnp3eT5oWT5v
UEhXKjBgaDx2STckNEA9YHFIeiZCYXB0O21NYHRIV2M/QE0wO1BAKl9jMXlDI2pqJmola3FLLVFt
Twp6YWR+a0leZ3ZVNjQ4dCVgPzkxRlEpVHFydVYzcTslUjVEIXVFYHh5X1JkeCVTYC14fXNBNUo8
ZDZWbmQybSk3NmEKekdFfFElTSFlR3pNYmRfVjd6aGUoNylaUkNpbylfVDAtcG0qKkdaV28haDdY
TjB6bUBhck5WfjxOeilvSSR3XmRKCnoxbiQ8NVo4WlNjdEIybz5nUDAqYF9Ad0VxNkw1eD5QSEIm
e2NBO0UwRlArJEtDKWZOOVdNKXQ0QjlQUWcxKEp3Nwp6MHp6cyQjX089N0d+U3cocGlRJXtuZl9j
cnhpfEg2QzVndzRxVl54dUNvdl5wLUk1I143cVUoYkorQVpzUW04MyQKem18dWR6OT0kRjxeRUBn
NWh+XkpBNGNqP1AlKVgkbD5VekRKUHhyJlo0cGB7UzJOWWdMbkE2QlNKNUQ8PjM2JkxjCnpgZUlr
fm8tXzY4T0E9YWk3SVFrQzQmPWVRR2pAQWc0IWU/TTJaVUNFQDZgfSZwcj5La0B9YCRhUDJfQ3ZD
MXtzbQp6Qj82NWo3JnMqalUreVVDelFzbnFlOUxfMTRxbnVZc30jVlhMdkZjKlEtQF9lK3dJZnVw
WnJvOSkjVGJpbHVAZHMKenc1Ml45SjU0M292X09DeGd6aDtVbSE7UU4zQ1liNHtKISZkRnhqXlV3
YXIoXzIjOHE2RlhnTEsmPG5jciRzRSFwCnpwa0d8SGgkeVc1eVl+fE9ZQ3tea0NpWGBHcm1ON2o/
KXM/cGlFVTs5VE1DSXAzaXtmPHp8TlorPVZZS0lAdzhkbAp6VExNLWsxZEtJNyg3SloweT17YlU3
ajFBPnJpXjI3OGFxWmVrPTRoJWR6Vk1UTT8yNXEjOHM/QjQ2SHdrUmRmSWwKeit5Qk45SU9TVyUy
V2I/Yig8ZTM8KCg+YyZXPGNZPms7UVN+IT0qNlNlTl9qM3BIXikxcUQ7ZGVRUnl9NUNYRTt3CnpV
IXteXl5FKmR6QiZWSVhXP2lLZCQ8dVB9IVZSfVR3fnB1UVEhfCVfPFVMUjZfbz9wVDdWMn03WkQq
JiZ7c0MzOwp6XmJzUjN0TUojSWgkbyV9UHVeX0NpbHc4d3s5XytyYzRNbHhQRkdwK3hYX2hLWXsz
LUxqRz1yRFVqUnJzIzlwJFEKek53ZnNLWnhnTjspeVl5MTVVaEQmQV5EYmBaWFF+N3BjIzRtYHsw
aDdWdXp+VkNze3N5d2tsTnFpOXVzaVdSK1hQCnpZaS16RjlaUzlFSCV3Zld2SV5NdClSNilEU2Nh
PC1FPXJvLVVDcF47S3JiKkRwX2dPbyheNFNqQDlqZWVlKVRGSwp6XkdCP3RgSm8+SHhtSSppJkFS
clA4PCZ8KUBwNkZyTT4/XzY2UE9RXzI0Jil6PXBVRCkxJUxwNHZ9TkdpQWY+UjAKekFLZ3N1cXJQ
P2RrSWtSUnhyPEpxMWp4Yz8rMmEtYV48dnI5QT9ad2J6PDt0MXElU3h0Q3lAaH1hdCNVODE2VDdr
CnpXbmtuTyk+P3ZaUUdJWkNySmVqNUE3UmJeZVhVKUBwM2FFWTZiT34oelZWcHxScml1WVR+RGR3
S210QnNPJDF6TQp6UXh5MDFXYT5SO1UzZ20mayV0PCpxLTQ0JEslbG12QkZIclJlS1MpNGRPMX5N
Z2ViIVgmJChPOFJUNFVEcEhhPSEKekJsN1hNUDVvcmlIfl5FVEJ+cWplJn5CPWtmJnlFKVBJRnV2
PXZ4aGp5KGNQNl9KRURMUjF0Zz08dDl1I045JEdrCno3QyNeYWJEakJpUlBgens0bm16RihFPW1M
R3JWVnFNcUNJMkNFfmNOUmVic1NKRnopdEw+YTc/e1QzWmN2QHV8UQp6ckZuX31OSmF5X1QrTnE9
JkNwO2x5bm8peExBOWU5WlQjUXwqQlNzTUNFJWxYb1JSMHZ2bn1weGh4dzdjX0tZVDQKejBtWHZZ
aEVvPHVRSDJ5PTd5JkElb1VyMDZOUiNSQlkpYHZCeCNqN0IxPVhBcSl8YHRZWjFYRFdrWj0rS0s2
YjBaCnpKTTJOejNIfHZqQihqeXM9IyVMbUYkTVNaNk9CTmprbDhacHNNMiVnIXFpNnlRQCleYyZE
dlJaZENsTmhuZUNsMgp6VXFfWTIoOVZYVFRnUGd4JnxKdklifGIhd08wSGtPeGJ2Vlg+MTUjKklK
JUpFNiNNbXNDZ3A9ZUM2ZDJULVBrUzEKejdadj00KVI/Yz4jVWA2fkstcHVYYT5uTzhIK2x0T0l8
V25jbkl9MmxnfWV7bkowc35qQ19ycXlSejwhRCNpdV5ACnoyRHB0QnBCKjklNSgoTXQ/UHZscHdk
UGoyM004QCY9SXRrUWxpZVplWiF2cDtre0JaKGMyTFh9eGREMUU8O0ppSgp6MTFrWTM1JUVKWkQ7
KG1vRUR7YUNDQW4kKzVicTYxUSFLLUJMPER9Q1hFTCZeI2ZWTGF2czFzS2IwWU9XQWE4cVAKeiRi
NTFOenk3a0hqOTUye2IqcWlGbiohYCFoO005PGlvNGA3IyEjeWFUT0BEYylgNWA0Jm88WT9EM29g
Mk5OS0B6CnpfK0spcjhlUzBiYUhiSXJvYWNWRk13d007MjJrNHA+JjV4PlV9fUF6RzA/JXxiaEI1
fkl2OXBte0YjVEQzIXFxagp6VjZweSFmd0o7R20kRktLKj5tOUE1QjU7XyNrSV5KKkJZdz8kJVZK
NiZvb1FgVF9sN0wwSTNOMD0qb0Ayd2FTem0KekxYYGU5TGtDTUVLLXlkVGteKUlCZGB3d1JBYmVS
Tnl1Yl9SOTlZM210LTsxI0w2WllLYVpmfXp0MTAla0VUOGYwCnptZWxgfVZranNieGclUnEqWTZM
KiN+M2VzUGA8fkpJIXBLSmYhITJQenVIP1ZzMVpSbiNPPVdfO3JURGJVLWxwWgp6P041NSZxSWZq
Y2lrPVkhSUtie31qWlQ3fXJlUVVzSGErS09fazU9Mk1ec2VkYzY+Qk1sKjxFaCR3UXtPMHQtbXsK
em9DYDk2antmbyEzcWVXNkB2TylUYSlOKFc/fGJVQlFyKUF9dVR0ezV1czEpS1g0RDVJMz1DPWc2
KTRxMG4pbzNXCnpsQURFOThJPFEzTFRIRDBQLTZzbV9oP35Ta2ljdClCK1F6KV5NbEI1JlIobiM/
Z0JPOXNAdHg0RVRwKyRjVkQ/YQp6VEJNPnZtNDA4OVgkbGVfZmtwaGNYYXYkN0BYXnVSdjh+WGVr
IXZFJl93NHRIPXhmfEMhUlF5WmokJXViQWcmYHgKekwkaUFKZVU0JWt7KERTTmJXTzJFQ1opKXcm
YSRrYS1MUiMmPG0rdF57IWZnO25ub2BAbWg0ZDFDbChySUE4OGd5CnohIWV8X0E0YyFEPS1+dzF7
VEgwRzUzVnd7U1dIJSVncl9tdWshKzRfa1pZaClEQlRLKlIjQ1MzaWgyTSlxM3dIWQp6fERaVUFt
NCUrZiRhPTY5fDhTQn1kVmBrQy0rd0EwPlI0JF9fNCVfYWw1bSNhcXNxJm1aOTlqMTNtNkIybT5w
aVMKekp3P0s+I05ZPk4wNENYT1BOcCZuaDRxcSF6S0UmS15gfDBRUlFJYThgQHcmMitINTkrZTRY
PTNCKHgjWldBNE19Cno2eWVRTSNGU0NScE9xSDJvVm8rfiUpSV57WX43THNPdHNPSlZIQlBJTmxA
NytPdyp8ZF94U1hfMytGRGhkT3dfKQp6MFUmY2ZvRWt1SkN3bjg3U3REPEooYWt1Ni1QVHJUJSRk
dz0re0IxTjFKPUFvczNVNF9scH0od0o+cVo7WGgpazMKekNuJV5Ua2UycmZSST95fjBmJj9nS0Ny
JmEra2EqX2RDMHwxMTZ0M05BRCY+dnQma1dQZlk0fkVAV05LJiElSmtYCnpuZCEtQmJPPlg3QTAp
ND5RZnJfUXA8bHZjUD5QZG9aWjMzczJqdyo/KittSj9meWxxenJhS3BOPytgOXJFfUNHPQp6SXZv
PkV2V3BQd3tqb1hxJW8jfVpEVUd7UGJJMmU8cTZhfjZjJURiczErRUxza21MeWBUK3I2cXhReW58
MFFeYWsKemxZTilfJWV2RjtBcn1wNnAqJGtrZ3ZkQENxbkZJRT9KM21uPztCbUglLUc9UDVJMzEt
b1hUQ2xnSm1ES0xnSUR4Cnpab3QzcGF+ZkxEJEl7OXlzSmc1LTcoM1FXWkwhaV5XQjl2azBUWk83
d3JfQ25OendMLXprUXRpZXhVdkF5RlVESAp6bHctJWp3ZExHNmN1OGk2cDBpIXE3O0Y3K0RXTV4w
Z1JNZl8xKzJsP0shZzYzTksqYCRZckYrWSRidSlGMCZnRnoKenJPd1RDNV5+cXN2ZD8qams5TmRs
byQqMHlvPEpYfHVEflFHRG99eV9DTV9VN3RafHFgQDRFfjg3KFdSU2g5Tz4jCnp0fnV8SFNZazU1
Y29VKEZhP0QjYzYrJllYemR6M2ZaNykwb25fSSl3IUkycTBVclE7OGI2WWpYRWNNYXomazRrRAp6
YCheaUo8U2hZK1pkdVZneU04VXhNd29IWVM3fj9Ib2tjdkhoME5APm4xVCNoeX5udnZtVlp6dkJx
R2JEJTM8bjgKejdzdktAVzl1JWtZUChyQV4jX1hyR1dYfShJZlAwRkBud0ZCQVNwQzw7PTJCdjFA
dz97KHc/QXkqR0FwUUE3VDFXCnpsbiQrKVE3YGA1REpXX20hPEIkYFRQTmtBX2xjMjVnJXd2QW9L
czMmWWRLbCVwTUsjQ2VyO0tKSXlgXyg4ayVsVAp6b2che2tpb3FxS0VfSzV3bzYmZlhuTjFvdmFr
TG40T29HP2xaVlVHJmNUZGBLLX1MPGZmKWpufUxLblgzJSR3IWAKemQkcEN1Kyp1ZWp4Y2NRWWMw
T3VXQGk+PWZkeVQhaCtzK30wOGlfNndseU5zR3tGS1ZDMWQ9T0pFYyFFLTxeaDFiCnp7YDhRUU9H
KERWOEQyUmA4VDxNS2N2fjEwYy1VdXRWbSh1SVBBRkBUbDxmTWJWZ2QyZFJmN0RVP1BNYlAkRkFA
bAp6RXUqOyVjNGwrP2BSVHFNRnEmU29jdGUlOWlTWmE5eGtiem0/WHJrblVYPDVnMEcrUlItd1Y7
fjx9RSFVPEMtMEEKelpFeDBEdTA/bHlENmNwXz81eTNLdkdFQiU0UGlkeFQte1c/VSlpU0VCPEBI
YSo1SHp1QU5XQ2N7TkslVjBafENaCnp7KC1nKlZpQ2JyK15fQHJweEdGcUtBKUxTWEdmY1pMcD15
OWRrOSs5S1BoJFRjPzRXRyEpbjdrez1GNVJzPyFTQAp6KXVQfChjUCYldmVKZGJMN2FoP0hufHhi
TkdhR0JtQ2FpR29gSz5SazlFaD5jKHhoeDJLc21wT3dLK3tXM2B+emQKemVUQzcqY2gzV2ZweH1p
NCsqTSpQV19ZUUJOPkxVdmZCaWxQO2shVzhIcUI2VTR2Oz1ySyheXjlSazhsRW4wcT8tCnpwK15x
QGg1dzxhekx9UyZueThhRk9WTlo7YVd2TWd1SG4+RU9CfExFYkN3d1Rkc2FqJUVVO35rI2pFVC16
bjFCcwp6NEdSO2VoX2JTT3drQEdgZiNaQi08YnBaUFAxUj1RVT9waCVmQEZDSVY/N0QmeiF+JTxg
MEB4RjAxOClSJWk9O3IKem5HQ2IqLUB0KmRTcHxtODtpOENLb2VUSHUrcm1NaWspJEdGIUpDY3Il
Sm4zPCpDJih2b0ElblVybH5yd2lyeyheCnpIUFFUTnFOSmBKY1NKPWYjcW4xbVU0ekxVZ0clO25I
aTIxb1VVVFNgVFRobjBqYzlhP1kyKVdQZExyVTlvSSo/awp6KCpuNG48bUtne0RjeyNaWU1gdSN8
Mmc4cCkzOXpjVXdYcXRncE8mYUtKIXJxU1FOc0RhWTRtR1lNcm84cFIjfjwKeiU+R3woUik/KkQp
dmJEfForN1omSmJFO0w5RyErRGNOamhQO2x4T09yLSV0XndsRU9fc2gjUXtVe25CNXE5MCghCnow
Z2tfYTFPS1ZAZDFvd0M+aG1NR1JpPEdATSY1YkolVkRhMWlXKXliaXUycmE4U0pFYGkkcEE7RWlO
ZHdBTWklTQp6ZFBRcCYjPEZLWXtRSGJnR0Q0bDZRKSZkX2hUUllie09aaTA3eHkmJnFIVnU8UlFX
KiZaSXlGamxOZThMSmZHcEQKeihTKEN7Xmt4UV5LXn5BNyNqSWY+LV9HdlhYZXdebGpaTWktWENh
RXxVcVQ7e1F4N0tDWjdmI2JYY25GalVGJTI3CnpIMW5NMSVGJSg4PjZfdjZZMUZQcjQzQUh4K2t7
YT4mNSEzLTFEeShYYj5gMm17WUR1VmJJSTBnTktIUCh1VGhxOQp6WTxVQUYodjYteEhzRWtpellI
Zl9pY1IjQnV6d2dhV2xsajBPM189VntGaH51bHBuOG10RkNuITg+Xz9AP3s5bmsKeiNYWSZDS3s2
Tnx7R2ZtRCp3Vyp0aWxeSWctTTMjdVUhbVpOX3dkN3Q2YWRRaCFeKnJxJU11K2A0MWI5JWk2ZSsq
Cnpka0tLXmFnfEMlX3dZXi0xVnYtakM1T01vbXBvMztmQTg/XjJHeFQtPnQlPktWSHpnSXkkYnVH
SEBVbCp3N3JeZAp6Q2YyKjstfH5xSUk3T3pGdDUyRThWa1hIQDh0cCpHWXpVKVY/TEY2Zjt3Z1Bk
XjZ1Uk4pZV90dHp3JTljYGlpIW4KenRATHxpZzdfdGcoVXV8eDJseCVLUVl7UEM7VCVuM3wwY1lD
OF5XOEwkb3AjRzV6PXQ1OEdqbUx7SkVndGxkZFA+Cno0I2k7bUBBZXp0Q0VNPENjZCVtcD8/KVlT
UnxvJH1MYmszKkMkKDxeVF5AbHNFMlIhdjZ8NkU7YDJ3MTZ3ZkU2Zgp6MmBqOExTMzYlQilePUxh
LUVXSk94bndXcHp5UyN7YSF6NmZuRGBOQExGNGNlQjxQc31sQm55c3dSIW9AOyZQc3MKensqJldt
Pk15JE5oNT9yIU9hdVQ+c2hgPjV2OHFISUg0ZjZmdylgZUxOWjVKUTVPT2VBV153UTN7dSYlVURq
VnZXCnopJG0ybGpHfTVDekIlYFo+fiRMa014RUdTUn1RZG4yY215TlJWdHRoLW5JUV5mN2ZPcWot
SGtYVnBLMEEtXzNFSAp6PGVHc2JFeXFIZCs4Y2pJUDladWpzK25nKylESzV4Ujc+PGw3UzhiNVBF
KXRpLSg4OVR4ZVI+VE1tTXFzeF87V2sKeip+e1A2NlZjdylOITE8QTw7Wj48Snk2QH5TTl4tZGln
QjZhTGZtQSFtbXU7ZEZGIXtCcn11YVdBcHB0XyleRClwCnpDQytfWikxeSVMSFROZ2BecGc1YTxz
RSNjWWR3WkQwdUg7fkhzTWVPcU0hWXApS2ZTO2xjdndwQko4PnlXM2NpRQp6UyNIWmklMUBlcXRy
NDRDS3xJRzZaUnpSO2QrNjhMckBeOWc9enoqKDtNbj1ERkRiJSlwdjhaaXM2bG1xZ3J0MzMKens4
QVpyO21SNFg0ZCtZPEFJbiYlaG1iYlluUlQ4S28kcXh3ckNHMVomWU9mcnA5JjZleUZOdj49OVpV
TiUobkwjCnpTR1pYd1hNcT43b2JxWkFXd3ZfbyNCOGkkK1dBQWg9I2F6azdtI2p5aUprY1FFdm4p
PXBtI1ZmNUw8UkglZkNpTwp6Y35MWW13SCZRJT1lXkprT1pFMHR3XndOMVByYDc0QGA/bDdYSnte
ayNGa2khc0RaODFMcTFlXjt2SkFFUiVxdHQKentePkojJE1lU3dqZGI5RzV4cEpCUTZlOW5vaCo/
VU40dC1wX1g4aChCNn59NU8oUTU0bzcyQTVyQEFzZ0E5MzsoCno7S00tUjhiWDE2V0w2JCk3PGA+
Iz1zVDEmOXRwK197UkRwSU9YQWdsTVQ0WTZkSF95c0duVjt+IXV3a3E0Ym8tcAp6Tn1AQmIzMGc2
WD4+PGtmTT9Ge29QeyR1T24oQHh1REBuR2lDOWM8emxeQFduOSNhSHZ5VGExOE5IaDhBTWZhJngK
elJeWjAoR2VDM2hZKE9FIV5SRjJYWCZrfnBZPD9JfGlubmkxZ0tnPGA7IUpnYCFKUll4ck90KHtx
LUh0aWNqKGVMCnp6S0sqVlApd0Y0I0IqU3lxQ3BJQ2M+WDg5Q34zQSk/SWEwKWRsMjlCMCVPb08k
Y21BSD9WITZobDFnTXxQXnB6ZQp6VjRNMU94dX17P2kpKDtrU14lRT83MSFBeHVvaUdaZT9LQ29Z
NF92MkkyTz18aCF2Yko4KjZwV1VyWWEpRSRpNHIKejZVJV4mKzIxM2d2Pjl6V1k/NTY2I1VmekdU
a3E/dXVYfjRfXnhHO2tkO19veXNwS1d8Um9IZyRXcjszN2pXV0FRCnp2YjAwcmFmbjt8ViRpIzFD
KkRZcVRETypLOSoySXFHZXsjTDJHeHchYXtlPGYjc2AzZ3tHYyhaOHdTVE4tP2pXYQp6Qz0pIWlI
MnpZTl4+Yz1FNT8hbz1iXnsjO01HaTZ+Kj03KE1SWkw8ZTNGPTt1N1dRWWY+cGgkZzUqWmNAcTRg
YVUKekJnPGJ2bSVQQ2pqY1E9UV9nWWY8NGJ1cUVhfmQzWkIoI3prZDVpdUVBT3ZeRi1DbHE+UiVL
fmckP1BPIzZ7PSVjCnptO1g+YDVgTlQyKTQ2JkFeTG1aJlFQXmdyMnMqQzhrIXQzZylsXmNaLUBv
cU8zUSk4KzUzSntgcEVHUkg4YDdTTAp6RTRacXxNVD1RSDIzYy04bFJDNWJPVDFSP2NmOGw4biVa
R2JKQDluRU5XMS1AMWVnKiVBJCVIbT9iZ20zeU58VXAKemcoVVVYJXcydkZFcmp7SG1xdUdSezE8
KnpmP21ebzk4VnNhYXw2SCszKnBaN2lNK2w9QWVyXnRsOFB7ZmZmfF4zCnorWndpMHFqSHlXX1dz
Rz97USUxTjBpO1I7VUskP3IpZ31GR3tETklNYEUkSWg+YCVDNmojPFZpIWVOWW94RWN6Rwp6SGol
dU43QGMkZz54OFkoN2BDKUhMcDVuZFRnYj9EN1lmQDVIbDJIa2M1Wn1IR1RaPHRIJT5Ja208UjYt
NUxTIzIKejJYVTVhMDB5fmcrTn1GLUA+ZiVzXjVlN2JPPyp6K2pAS3tpXnA0KUlxbFFaQG0rOzNn
NEBoQEJnSCN+cXVOUiUxCnpjVXZ8bVphc2Vje0hIcHMxflNodz0qaT1XRE5adzVVanpTLXQ8RG1m
cWB+dyFUMUx6aFklOVRyST4/aFd4ND1LbAp6eW9Nb1F3Nl9VIVAkMzJeWWx7X3YkYTReNGVSLSNR
XipTPGdaJlNmbi17PldaSGFkd2xLMTMrcSpSbFM1KlhtWVQKelFZMXt1IUtSTDlHdTc3LXVpRFly
KzgwSjNGN0RQLTdgV3FRTDZDMDYhNDMrRU1MJlIwMEg4SExwOz02JncobHtaCnpJKnc4K0NlQmho
Xy1lczdVaTwtOTVvbWkreV4+MW4wN0ZCPjheVHJgVDkoeWlne3NwaiNkVldtXjkwYG5aTWJKKQp6
ZzFFUUd3TDNgNGcyQChRb09vS3k/QEFJXnJVZFYxJipVTFMpV309U2M+KXp8ZHVwNCQhJCljRzA/
Y1VGWWNtQkcKejYrT0l1VmRUSUpVdVIkd00yPko7cjAyTj9xKXZHfSMwc30xT2tTMiRvPSYjcUBC
KW00NXNzajAkPFApYVJgJEJhCnpaLWNLTkk0Jlh7WX07XmZwKUIkTUAkdTJ9P0F+QldsYmhMWiY5
YCRMczY1JU9fbVRkfXpwaGgoQERAM3tESjd2VQp6cUxFRysrdkN+OUBhYlRNeGdnWWR0X2BGUThO
UU1RWHw1akNfQHk0bGJJYT5RJWAxQjRSdyh7ZnMpOW13JFB9WGcKentsfjN2MGlnWHFQJXh8X3Js
TX56UC1PVitmVX5DVHFSMnxSRDRga1M9bGZQdHpmPDVjaVNEX1omZytNTXJ9OHxpCnpPNHQ1ZGB6
d0gkJE5tUXZ5dyVAWVRCWC1PS1loOU1ERzM0KE1kWU04THVWO19CZ0BHVWVDaiolR1UpSXdTNmA/
Pgp6KVNHV1cwaFpLcmNpN0kobmgkKUt4SSEqQnlxWVBiXmtaRGJLaTcjQEA5aE0pY0RHRkxeYlRM
SnJeLWc4UmAteTYKejFBMT1gKHJ5I3BiaVUyJFA3d1Z8aDZZPiVfPStkRWxHPUl6aWI/e3pPZmNZ
R01lZitVPTV0P3tIPEhnV0dIOylJCnoqYilKPG8lMmRRN20pUyN1UThwbWBNQyZwO3tgRHhiMWZ4
PztmWFlKcyE5cFV0N1F9I3luWn5lUUNNcEBXcClmaAp6O0p8PjtLbDJnbEVSTXhsK0w7eyhOUypY
b19PR19uSyVPNXVnYUZXYEEzRWVEMXE0dWBlISQlSDQoSDtWUT1aUUYKeiViT1IhRURWfFczVTNj
KyR2M1N1YmQwX2MyZTQ/cHVaVFp1Y3dHYjhpbE08cF92IW9eUjQpajNUSWRTRW15UXw0Cnp4T1ck
TGUzcG8qMkBpYGVmdlNndk9fYmw8ajlmbyVpN2Z+ezwxXk98Wm50enJnTSEqJj05d1hnSit7ekRH
KHM1Rgp6TEl6UHd5Slg5Xk0qOT5tNmJGWmNIXk5WMXk4V3Z7RkZ8PWE3MlBlUlE2PCNzRUxYMVpv
Yn1zPnlCQSl4QUJjM2IKemEhfmFpaDwpdmA7IWBkUkUmb1FAVU1MLVcySWxNZkNxMlhgcDJ8cmRJ
KV92PzR+d0Z3QHN5Wl9zbjdxTllTfFVXCno7O2Zoekp0VjdDKyQkYFBsIU0hQ0hTKmY/azQlIXR2
UEkmdT1MWTwmMjFVYj5eKlQxOT16bFkhIygydW9ZY0J2PApmXldaa3h7JiFlQXApOy0jME1yYCFi
MTN7YTVQMFZYMFEhRmJqMGtiPgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL3ZvcmJpcy53ZWJtIGIvTGF5b3V0
VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL3ZvcmJpcy53ZWJtCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2
MGE3ZTIxODU2Y2U0OWQ3YTMzYTM0M2I3ODllNWQ4YmM1OWQ3OTkKR0lUIGJpbmFyeSBwYXRjaAps
aXRlcmFsIDE4MTYxCnpjbWVJYWN7byt5e3xDREVJVU1zbSZxdFlPQX5UMDVMdnFhWFB6VnRzcCR6
Kk5OK2AtdUEmdn44M0BLeFYofTt7SQp6NWtoMXJXSjxfej8kK25+YCtkS15gX0h9NF5TayQtYGBy
RVB2I252VD45eVcjeUAmUFFjbnYyQ15ZeVAxQXBLM2AKenc/PzRRVW5meE8kSHM/d29qST82amV5
Y21BZlVMZFV+ZFE8VCpxSXFuQmBuLUdKQnFFXihkYWh4YV9SZVY/eDB7CnpGOzQ0QktPe0Q2X0I7
ajJXM18oZVpTXj5vKzJObGt6dHdYakd4cXFTI2VlRG40dTdscmY4JWtgc35WfUhDdmk7cgp6STVZ
VWgkPHZxNHM7SjRTOStndjZQX1diY3BLKmloaU1aNkR6cjhyPHpXSjVQZjRhdk1KVmJ5KC1YeVhk
JHQ0T1oKej43QzNhZkozI3BhaUlhOFJ9PU56WXxTbjhqamlHY3NJUnkzMzg+bWMrKU5eVFB7JGNo
MEBtWSFgQjlYaDBDWHVaCnpfPjZESktgUDROQHhkUGU7TSN2R1otQ0pNPFQ0PE1mNGlxRHIqYENe
ZGsxZXBsPmNPaz5MMFUoMDFnMD01TkBnQwp6I1VZJlclKUkofG9Ac3ZsVWNXXml7Z1cpUXs3TlVD
eDxvX0xnb312IWlCMXhQe3hsbktQfmUoZ0lEMzRPOTxefTEKenNKOHY+SUJ7KHhsJkZyUmA1dlMo
PjtLb29QfjhXfil1UkBPcEhAKCNrREYyMzsqVTJ9d2BXR3U9Q1NjaWBWSEF9CnprSlhXdk1PMkxO
YVR4Vl57YGkrTjU9cFZJNiZnNj5ETzRtPFYhdFZMZTJrO2hQdDEtcFJAdmY+X3RwI057SEZ+Twp6
SileV1pqOXYkS3tCYj5gMk4/QVJfVl9OblFyPnRlYiF3cV90ZzxIdU5DU1pRS3FCZFoxVDhhZjRL
MyZaZkVqMU8Kei1oUDM8XkE+O1M2TWl+czFfdyQ2M195KiVYT3ZXQWJufjBoWjRybXRxSlF0JT4q
WD9DSEdnbFZ6cn5GSnorMkU4CnpVU095Q1RoMD56WU5BP0Z2MypqcFB0c2lDUDNyaW9rNUs+eWZD
NmJvYEl3Y35pNDIyMlluITNFXlB+VDlKN3N6Qwp6ezRJYFAkVU5ZQ3doV1Z+ZmFieWNvZD17RkZp
Vm9jWXh1dUZoUGgxYEFKOX4mUHZsTSQ5VD5Bc29+UjR0OHI0U0oKeiZQaSVpcFVWeUQ/VlFiMz5f
dEtrYXZrV2lrQHgwdVVsU2NAe3xTamRpUmpPa0khTD9GYGB0YTQ8dC04dHRCNlI7Cnp6RU8qV0NA
WHcjV303fWlMUG1gZG1OfSplWCgwenl7ZUFwK15QTkFKP0kycCgod0xSZ3t7eyh9enhfVSolbHpO
Mwp6e0MpMikkakVxYyV2VyFtOStSWFZuRGZDTlhGMD5HXmomWHJVVigtO0U/NTdAYCsxK0QzPUx9
MCVuT3ojO3tPMVMKejB5dHtuMWE/Y0t8OVlIQjZ1IXpHezcmKkFHMWYkP3RuQCpPUWtUcnI/IU9P
PiNtNyQ+SFIlOyFHYXIrI2N4YEVRCnpVZ2VYJC0lc19xPzZfeVBqKCEham1MYChMOEo0dHZAeHZu
Nj50bEY0KDx9flpLOWVaPEZnS1cxc2BNVz91P0pIRgp6ZmNZQiNkbHJGei0+ZHc2RVRSXnkkU3dP
cE4jJW87cC1yZ1FQKiRpemVVI0kxZzNEJnE3diRhd0ojQy1tPD91aTUKemV9O3wlMEUtYSZLTGUz
YCVOXjNLSn07OE57OW5VRkNLTHAqcFpINX0jeCl8UTEwcD5HR1VuXmI9NHsjKT8xbXFkCnpaUWdV
WlNnNC0ySU9fRjUjbGBCVmk7ZUFoeVI3cTBiKWxub3loYjtwQ2pSNGdxNTM7U1JzYnxeQUN8bSpO
Yj5meQp6K0QjRS1vS0pAb3orbnpuV1lVengmMXRwVUJGNDh4ZVEkZTVXUj4yX3soZGh7c3tIUk9m
Y2ZCK2dEYV5kSmdGPV4KenNXa2xOZUJ5MU5kcyhHcisweVN5N01tJjt7O3pKanpYVUQ8eih0VzAh
NkdMdE1HUCZHeitaRz5gVTc8TlVuejxoCnoyRnI4fURFfjlZX2lXay1wbXJEayopO3cmMFJZZjxS
PG4xIz1RbT4mOWtpNlN2NjNDTUcjcz9EYE08aSVKfTheOQp6QTs4anJHemc/SVRnbDQ0JjhBNWZJ
V3V0WDV6JkwqYTxUWXtrKDc2QntYNH0zP3BqeWdZWiheSVNJUl5AbEp2U3wKeml+MSRTRG40MjND
JEphWV5eb0dRV1ZBI2tGOTklVEx6Ni1MeEVkTWN7KS1GJVkwMz0hVDE/Zi1PI2gwRG40eDlOCnoo
YUxAM2Y1cmJkZXtjaUp4T0ZZJHsjUFlQTG5+Uz1EK1ZuOGlwJXQmbUVXVmFFUmZ5ZmV8YE8qK3Aw
I3xHR09Wfgp6YGo1N2RoUDItUUtRWFRWYiFZJG8zalYqMjA1aWhzQ1h0YEpGZ3RJfUEmfCVoZnth
KjJYbF8mVnBwQ0w5JkVpVTQKekNffWZzXmdhLU03MG12UGckUjxOX1dfIyhqRkY2ZjwtfGsoJmJw
MGM1UGd7cTtVWGwlaHhmbk41YntRIXZUemMhCno7YXhHKDV3cFpZMX1yNXN8MVJ+UEEhS0xmTW5w
MWRnIyFCaj92cS1RN1g7dkd3SmJ5P3hIKWFsMzRuYztYYzdTSwp6NCVyZ09NKnFMTnslMz0lQVEx
KEVCIztLJXBVNnhpRXNBdjNmR287PkV3fV9pTXVXVThhblFTSkoqelZwVX1XUCoKejBTZj55Wj1U
NFF1XkhZal4zNGBjNTs2WHVXek8hS0pyfE1aYCpMMERWQXYwUXZZOERubCtFc3pfP0FtNG5BdmIz
CnpeMisxXj5+U1RwciRFQmgjfXEmeDFeQVFCSUFxVTg8Y1RNaGx4Nj1AaXtYMV5HYjxiOCthKGNz
aF9LfEZUfmJ+bgp6VzQ1ayF6QG5eZVkhZCNKVHdlWUlYfj4pJWREfl8lXnlAKGxOUT5uXm4qS0tX
IVA/OXcpQ0hTVjsrdEp3VVMzSU8KelY5dCl6PWBze2JuN2pWS3g0aXNPbE5fX3pMM049bjR3IT07
bU1eP2ghcjM0LXghN2V2MlNwWnxZVXVHY0xyOHY+Cno3ZFZLP2JSbm9TQCp+MSszTmJ4SkQhS1o3
SlJLOVJLdilfRE84YExQRUA4S05yeXdSPSNMVzl2QiVXUGdPdGc1dwp6dksoN3ZYKGBET1oqM3dh
VDl7I1pQU1M/aVFuRDxBUiRvZHEoLU1HVDB2aD14O0ModHcwRzB7QjNkYXdhX05oWmYKej4+aj05
O3crWClpZ1VUP0NXXkMmNy1USFRnSytiP3FLdjtIa0VPeyRuITA1MVUlNG00KGdjeHxQTUp1RyNg
byVwCno3aVNEMEAofipWKV8+NzE/M2tyRXRvSWpnTzk7XjReZi1WVUtgS2srP2AlbkFteHZrdkdY
ZHFEfEFsOEpHS35rJgp6bXJEKENBYWE0M2pnM288JXdIXmpHJHxhd2hRUlU8WGlha2RQNnchWUB6
aGx5R2xGMnxKUVY4bklnMjNreW1FMSoKejI3bmFgRG5MWj4qYDgzNzxmVzVRXzdwd2ZtcEphWUco
O3IjViVEYj5qP2J7OU1wbmd0a1V1TGhMUCRSNCQpXks+Cno+SiFjemNfMU9VYCl+QiQ1NmdxeGVA
RmpzZz03KW8/NX45Tzl9aTBLJDNfaW89PysoR3lmbDdxP35jcVUxUzh+NQp6O3g2VjZxMVRyend4
JmpBO0coci1AKVB8OyNXfDZwa0I8SXRMVkVRaWdmbDsjazt3flQpUiZaZVc5d2xkOEU8SzYKekIz
b3lsWSpKOG8rdFE/QiZefEA2dG11PHRhPmQmLURhTWt8Sn59MlZhdnRfS0UyfHdvX3ZpXz9obzYr
fUdqNU5SCnpIYEgjUHs8MCtfPU5SNW5BOWorRjlkel9sYyszNjhEWT57Vko2VGFAWXM2QVVAc2wk
RVZSMnwrNVBSZHVXMEN0RAp6SCEpbmlITEwpXjRhPHhXMnxfYW5SVE5wS3MzVE90czgzeUJqaW1o
ejMxXzRuUHxzaWUkST04emB4e0VMe1BDfDQKenZ4KCZXZ0F4WlNsNE5uKi0mfCVCaVEqI21lYCFv
Kk1IdlNuT01QVXQkVkJ+cFBxWVk7YTFZWGAzeXtlKGt4VzJ9Cno2PXh0cm1NbXM5cCVJTnx3VW1A
Qlc7ZFowTWx6OCFZWklEK2N2Z2ZzNTNvbG5GcCklTm10UEdMaj1BOzNkMkJkTwp6N3QoTUV7PEV1
aUF+TWZ8M2A8RV8hYE1UYCsocTFgJDJtZ3FqIUM3I15wLXRrbWM3X25rKnF8O18+NlJHckNEfTsK
emRpQHsjcChpQ1Z2WUZpYVpARyh4Z0d+IVU3P0U5MzU1UkM1MEI4IXpCWS1wc3pKQFNnTHtYZ0ox
MkVSJFlAKSN7Cnp7aCk5PjRLc0BzZ2dYPGZGOSlwY29yXyRZYWQjbE9gS2R+QEZvaUkrbyh2LXFy
cl4mRmRjX3RQeyp2S1R6b2Ircwp6N081OGkyQyN5MyY+NjY+eXpmNWs+RWo9Q0YrMzhFUGZTVGVI
Yn5eKzBnO0kyRHZDMk9QIThlZDtwTzhPNUVRfSsKekEzN3w4WX4kZVhqKlchQDE7c3hTKWpeenM7
PXAybnlCYHdyRjlVKE4yTVBBPl8qYUQydTwpQVVzYmw1X2hMIzRgCnp7LStCNi12IVFpa2RpKEF0
K019alM8KE0yZGwlOFNKeWNXP1cmN1ojZmM1dTFeTitnaS1TTlAlRnd3eHFRcVM3aAp6e0ZLNDkz
PFUqXmdJaUhmTEUpJnYtd09idFZ8QWdTV3BlfmpfQDAwJGdmajF+R3ozKzl1bzFCdm00ekEoQzVk
PFUKemxqX0JlZlZHKDkmaSM+XkB0aUFDYjJuYyNLSmREKSp0P1k0KjZKRFBrO353O05qOXdoTWlt
JClATntCQStyVEV1Cno7Z29OR2ZqVEpjQV48ZShgRXt3K153e3FUPyRvMXdwSV9CU2UwRTQmWkAj
fFdhKTlZO3c9STY1QClLPSNjSGVnegp6UHNnek5KWkhwVU13YSVENCEqbDtDKylpTXROcUpWT187
QThkNV5QRFBuaUhQRnQxZUlkKzgzRUBWRSg0KW5pKDUKejRLUERBYEpnNXlRSFhoRGMtKD8hZTEt
R2M/WFU0Tk1GMSNWSWkyZWhjOFB1Xm9SUmRKZHxPU2lLY01PMjxydj5TCno7KXxZRVFANilDZi1K
U2d0dmtPU1phPzNzcEZWZX5IRlZRKEN+IylnPkdJRkpePDFHajhiVGV0KT5Se095UDlHcAp6ZUVl
Y0VGOERgS2ZgO3U0RnIwYkF3QzNzRUBjflZxO0c/LXdwKVY9ZFdKNW1uVkIrPkIrSWV3LVVqVjdu
TVUhYmwKenIrSDtSWHpLU1NfQyZVVCZkPHhBRCp3T3w4fXREOHdvTmR1Tld0WGB2cSZhTThmRlhe
MjU/PEI0VDFtSnd4Y2VxCnpHMEZCUXg2Q25uaHBEckJXKWt3VC1YYkV2Xz58MktmVWBNLXZCeUxK
OF5zemwlMSRWTWAyJnd7bFBXaXtzME5eXgp6YG1ydT1adUNoRTBQYClCZlpGU3tKK1AoTkxNWE9T
UGxXKjM7QmskJlc3M0F7OVJWdj5tTW5LcSZPQEolRllkJXYKekp5U0FwKV59ejdHISk8JjdKOHF1
UFhOX3koeU0wOWZSa3swJk1eSz5fXyNnMmk0ajd9P3pXNj5jWWM7aT9KS0R9CnpFQz13X0lIMn1Q
LWBuWXJRYmB2KWNHU2BAblVENC0jRStoWmFrSyNGPGw2O2teYCFlamVIYEYrJXowZWRzbCRPNAp6
TikocEt2THB7T0dhPlMlTlh5T2J6NTFzRiU9KnJRR2ppMXAhUEdmPlNyQiZhd3w2KUhra2licEVk
QVp6XzNoMHEKenY3PT8wKyQqflM3NnJkWD1xMlJhen5uaWczJX5feFY4NUJDY3t5RyReSjhDOUIj
ODJ8IWc8fFd5SCpWO2hyM1ZDCnpCcVlkU1gkRGpYUXRwfjRJdVMwTDIrRmNadS0hc3khM25Udikj
QEVvMHxRe1JyUTl7S2FBPlpxOyVjRWR3XnRUTAp6MSo5Y20/aUluZlIrMjRuTFkpOHpaZHdFJjEt
RUw1YkBhdF5QTEAlKFM8OFZjSEw3UDk/KFZmeCZtSH4hTWlte3cKeiZfQG15ZVpFODdoJnA2NEVJ
Uk1zUEI7O2kjfHglWntZTDMlZnNwNlpsfVF0UWVTfU40ZVgoUEVuJjAqRj4hbUpfCnopR3ZMOXBS
UHBtKEFGd1NFP08qV0N6aHBvX2VJZkMyNVZ0LU1razgjUzVHeWlLQH42bk1sX0ZHYG9yISNCaGt8
TAp6UkNUX28xO2tmTGM+QnhmQWRRUWZKeDJxRm1NMEJ4dk1saCtCR3QoQCpDXiRqP2tgNllQRWdV
fjIqMEB8QUZ2WEIKel5uPVFmLVdCWilrTmd1MjlLU2E/MClIS0VxcCZaIXVOQnxCZHpfO1IqKXIz
Z2RqZHAmSV5eYUFnVnh1ZWFQWVheCnpqfXE4YVpfMVJ3Wm5HP0RneDYpbVUpT0kmTVgxWFp2Snhs
KDdkMDllRWg8VVBRTzh+PD5qNFU9PyVCWHU8VGlUSAp6Z1VQbFcrLUZScW02NVh3TFR9UmBATSNj
JDktT0N2YFI0dFN7Wk40Nm1TYmFmWXBnJHNaTVRqMztocFFGP1hMcX4KekVXN0hTS0MlQWQpZWZI
bjx9JC00Yio/YzlFZTIzfFd3OT5jRX5mTDlmLVBNPHZhO3ZmRzZSSEliPUwzTy1mblQ9Cno+em1v
OVpFck5nS0QpMSErMCNTTSt4U2Y+dihAT2RyOWBDcHtxM24rZmd6QyhLc1h3N2dod2glQ05FNjw0
OXhrTwp6TX5pRCpeQFRFSXA2UlE2ezJwUFgwVStFSDtuZSp4JjBqTzdYYDV9Xk44I3lkM2F4LVNQ
MjktMG5NM04oN29OUEkKemt4ZytJMHcjQ2pIezEmSm9XZUJqdHF5K2pjZ3lwPkg2ZFB8VCtPcypl
NCt6WGxDQGBLJnV9b2AwY2plZGQ7Iz9XCnpTUX50MTJKd2ZVM1IkO1dOUGxPJk5+ZlB3aEwkKlV5
JFBgKSRpfT8pdyo9OD0wTTNeRzVHVHNSNlBMS3MwS21pagp6ZHYoLTYybW08PD84UUpKd2JuenJR
MTIpS0lLWUJadm1jaSFqRDxCT0hOV1daXjMtNUxxRkpfTFVUQ01Ub1pgNGwKenNpUnZUeVpgTSV6
QT5JcWNQVzQ4SnNmP08lTm5wbmV5cWwxaV9qeEhtPXltKDx5cjdmamlKMyFmVFoyRSsrIXNmCnol
Z2UwUVJobl8qKFpOKXVsb0VyPEMoXmNUd1F2Zk1SPHJlc1RJYShrRVJWZU48ZyV1PEYxcHMxPmVv
ZGhea3drTwp6bFUtP0F5bDFUOW5hJHElaFVQcnE8Y3EzaSlHdGUyPCkhJm1ZWWJjJEw1KypMX1U+
eUc3Z15VP15gPUZyd29NclMKeikjaHR1bEpHfHsoUm50dVUjaztFNnU7PCpSIyl+RzBCO3JncDUq
eVpeZnxVT1AtPFY8KXl3PDV1bmRUSiZIQWF4CnpfR2dGI1lMYTxwU01mMF9RUXgpQTBIO15YWXFZ
an1PJittJnkjZHVAQEwpU0N2O2ZCK1p+X1FNcWxzQyVUbzdPZgp6TUUlSEpXUF9VV099IXQ+VVpe
S2UwNzA7OyliVE85QitOXnVSMH48R1BNaS15YlRQMC1ZUFhCfFE1ckNyeXdAOXgKelQybGxzeHJS
ZjZKYXR1b157P1NZbEplVU94KWE+VVNfT0JIaWdmdX1rIzhPJXhtMUl8JjElVkkhNTJBI1QxRyF0
CnpvLSRFKGRfc0stMkBgYnhYb21gS01pez8lYEhNZCUpK2J5ZntVXyEpRkV2RDVKYmthSD03XiRO
I0NeaVU5WikzUQp6OD1RVGA/YUh3KlVPV0BrY1pWSUQwWUBzcXtUWTE1U2xlTHR1SyhzfHdWUHkm
dUtpRSU5a3l5JHVmYkxkUWVIaD0KelJtSEchejhGTFd7YlkjelYjNiFDZXg1aj1GMkdQfmtgOHVk
YzBJfU5xajJQWSE/V3srI2JgYk5zO15wU1U4dWRUCnpQd09CSElAO19DPSYrUClzVHFAbmZFNUIx
c25TOW5YZClFX1RmMDF9PVNsRVFOJGx8bmVFPCh9MClgMyo8bmJXdQp6UkdSPjwhTEVOcUduTy1h
RVpeQTR3aHpkWENpS2BQI3VOOGlpTV9eQ1lqSHNyTTktMlhwTnk9eDUzMD1iezw8SE0KemNMSkxI
P0tvbzdBMmoqRkxmfn5xSlI8WWQ5SXJoS2cqa1UjZCo4aUFjU1pMbHc+ZFZhaG01K3VNLWtoK05K
ZmVOCnopVzZzQ3tZaWgmZDNMNllWZ1J0OCtzbD1nfDhXT1BoQExvaGBqLUlReX4+IU4yfGt1e3hl
Sj08ZCgzZzAoNGNYYAp6SHtMJDtpI18kblFoWj97QE5MNFVQcStaYFc7TURxPTh5WVN4PHwmVFl2
Yj02M2VEYjFkO08/QG5qSXtUZFZgS1YKenpwSCNKM2t5d1BzZCplTSpMfjMjcDFrdjVVKzdhWEVs
S1otNCVaWTE5VHFWfCkhMUZtRG1fbURQJURFTVVzKm1qCnpEVWchSCQzIUtWPXdRalZ4V1Q1ZipW
R0BuWChCWEc/MzJndlRnKldsPnk4bHI+KklpV2tiRTNqUzRSUW15QSNDIwp6VCsjckRSM2I/TGQy
bHJFKXpASyVSUGZPJkVhakIqbnNgX355cDAmbUBwfWl+WHVPLTg8THhZdiF7aigybWNoJnMKemV0
Jn45ZHNQYFViayprNGd0O3JjeCQyNE16IyhNIWY7MmM3UXA0WTtzSHBXTDktbEp3RG8qcTlWPyox
SHh+biliCnoyZCQ0QDduU1ZmaH1AYFdlYj5Hb1ZaIUJMO01eblokRTMpMWEje04qezVGX2V6JVha
PjM9Nmx6VnxOdCp5JjUlfgp6O3NWPmZDYiM7fWBzP3p6e3QxSTZWcVFpemUhTTl+UlVBcygkUHhM
SzM3a1haTmYzaVgmUmk9LTQlNXB3PjZnSCQKei03PEdPZl90M31sekFKc3NvZyNYX1FRPyM/SU8o
cDYjengjO3ZBIT5WcjtePmFXcWJwWlg2WDRCfjxiQVV7QkghCnplI2ErNypXVkRpdFNTVklMQ3w2
NiZ8a1NWI0k+Q30/MXw8MWZlMilHXmllUVdzSGFLKmJxSDNOdjlvNU1mITAwQQp6OXtwWUVMe3Vq
aVZVekNNJkZoZ3xObHEoV2V0Z3JQc1RRc1lBNW1iOW9YZSQpJk0+Q3xxQm1PbD8oKn1UJSVCbFEK
emtpdz08WWY0SiNke00rKkAtT0VQdGRIQi03NVRuSGxZM1VVSzQlPGVYSXVNNypKcCl8b0E3ZipP
UEc2SDtZOSVzCnp6JDVZSUpaO0NsbFN9NWIyOF45NkpycVJpWWRWNSpnT1dMM1BCXzxkX31+ZkQk
UTZ9WSlFWDszSSpnak15VmomeQp6TE4jMyV2QXk2TD9XJVNLdEt2PjhfYCR0UjhHZHVePVVxR1Va
XmckI0w/N1FUb2w4P1lMUjZDcigqVSVsMzJ1KzQKekAoUFNgVW9hS2k4WT9FRGFJSl9xX0czWDtj
PXJRaHd7T3dMWHZxMUZPOVB3bW95O21rUDY5eEZBZWo9VCkmdGxKCnpiZkMxNWVtZTNwMDVXbXNM
QVhwOHRNeShjM2IpY0QwS3BVb3N9IU5LOUB6RE8lOUtyc3lZQWlSZF5yZDVDK1YqMAp6UEV3VnM2
VntOMVFnXygoWG4wcll5VlNrdzdsXjBSTzxgcGI9N1V5ZjlsUHBBQyEtUH1NYlpgR0FWeSY4K297
ekoKekw7NHFlQDdWRllNZmdOSTVFMCRANChDQ3xKa29KREh1a3dTTi1kRHdGZX49d19yT3h1KklB
WCEtLUdxREUyK0JUCno3bVpZNExNVCpjPyVQY0tGYVc9aTdKJGQkPGpLeT9neHhgd3R0Y1dSPXkl
PG4/TEZqOFIwV3NPckZZJjY/T3dBSgp6PmFFYip6SWdwbC1xNDM4d0FYJTJpej1XRy0kaVh9bil6
bVFAcjQmYitjZlJpTWtBITNyWlczeXN+K1doXmdwejIKekF6dX1ucXlqNCYhWGAza219MGo1RTsx
NVFFLUhYKVAlTz55Iz82VlRfPkw7MygoK0lJRmx0SylNTFBhQFV7TXpMCnpsQGoxaUF5anNWMEtV
UWRKaEtgMyVCJihXb1Z2JUtHUklLNHEpcUFXWnBDSH41dSsmV0tDSnY4YXwhUDMje0N7RAp6Nmg4
RmM1M2s5RTMmfSRQSVRgUW9BfFcoU0ZiTWxaNChZWnYmKUVmanAmbVBYRT5FJFl7P0V9eCltTCVN
SH1JUl4KekhIZmAoLV9IR3QhV3t3NyU4QityM0Rscjc5ZmVuI1JNfUREbi03I2BAfHNsUmBGU31U
eCthQzY4SnQxNmwhVEZuCnpoWkl9PS05S248enByfHYkPF9CaGhhe2d+Zm99OTE7clRpQTw/RzxQ
OGVpfkE7bnhTP29TflRKbWQ4US01PGNFaAp6ezQhUFpHV3pFNnRnKlh1R21XSVBFdEVLMFFQPlMj
RHpmcU5RN0MqUGtCYl58WDljQiNaalZadGVaRCQqZml4MVUKemo1YEYmelB5dTlPQUJOYEh8bCp8
V3w0VmZLK3hMWlYjfGIqRzxZcEY9MExnP0NWKEFTaHhocEZlME1aOyVyfGxVCnpyeSFjakVwN00y
SjBedXQlbn5KbG5kQno7NStTTVRTKCN5UkwySD4xajc8Q1paQ2lHT3p0RnNINSpZcDNZfk5gVgp6
eyk0WT5yb1BjdTxYVjdtR2hnezZpejRCfDl0K0NIcCpRSkhFc3JvZWFaWXVsR05JWkRtTmBBQTJS
P3RGVzhPTyMKelFTJGd9WXcpfDlUWntnRHstP2xWNmIzSXdmblVKd0UxJGo+P21HNEw0WDtsTmBl
OSYwRSFZaUk+RU5oYGc1KzE4CnoqUEZXdVZ0TyV3SC02N1V6VmZFZTBxOVZUSTE2QWMlKlkpVGFM
dXpNYSFnPztkS2QjUWx2OHd9Ozs5fmdpKCNrewp6amt+cEVvPX1IakFUZn5lZGs9QmFyNXRuc18q
WTZMTk15Mi1acDczO28tNjYrdTtheEttfD9ZWjFuVT5DaERpM04KemZjXzRtcSE7Uyg1K0dLMW9N
LWw5UGooaXtON3dvJU0yK2xOMCs5dWgkQGs8LW47OFI4MFJyZkBAZnxwUDtuSUVjCnpVXikxbHR8
K2pVU3FkbCtxXzhHUSNiWGJrTzhlQVlPS14yVWRCX0hUX0IlPX43T0pCcjkmaytKPzFCX00zbGx0
eAp6IW5mKE11MzNVJVM+UTh3WXRwaUljfWhHVFZDX3JuQXA1d3NHSyV+NTh2Y1MmaGJFb0dwJn5M
YkhqXlNhbWFoXiUKej1eVXVnWF9kU2toNFR8dyVoY1g7RGZlNys8RDZeT0FxJU59MDMjUDNaS09N
bmBVOS15QXFXSmdLcTA1SkJCNk8yCnpya19tSihiZVlZZm5lSUJPWE1tfFFsVmF5Rj9qVTttJXBe
eEVzWjhvb3h7cU4/dlFlWHVub1NGX0grT00hdDVweAp6RjVgazAyZyNoOFFIb24lVHpkdEApRjBY
NWsxb3tYQlMyQ0k7M1ZxbWlCVyZPdyEpR2B4dXQxK2pFZChmTFNHMj0Kek92d2tRcC19UGE9dzFl
blVlPjxZKjMtX1gqQj12RTVuJkN2bjVEVSkmLSFHTztiWWl1SktEezZmcyVQV3tNTlorCnomRkxY
ZjdnbmE1RlFpTEBGM0RRM1E7Jjl+cE9te1k0Sk5OWjtNUn0+Mk1KR1VwengmbkIjQ2NrdCQ8IXln
UFdWUgp6d0khKGlNZ1I4aXRUKjRkIzZmSHpkYGhEWF4oKzlwPzBCblNeQ0MxOyYmNj4wO2EmektY
ZTNyYDlFVGQ1KEYmKWEKelZqRyM9dVVmN2oyKDc9bTJjfG5Ve0pgd2pEXyUhSGt6JnlKKl9HNksk
O3xQanoyRUJgIUBRRlM4XnB1QUArezJRCnpKVih5OUIzOXluZXFAM08/I0Q2MUB8Qig+TkVicGFe
XzZTYHRpI2t7XnMkTmswI3U8TUdYY19yJDd6b0xzQ3czfAp6QyN5UmdEYU17V1p7REJLZDtFNSR5
bzQqMjlhbGpsbUZ4WjtLRCpDYUtSLXw+NWlrNV47N0U5bU4qUHdlem5yeHYKekcjdlUxUV4oKX5i
QWd5UnlJKUdyck4rS1BFZ2E4Y2Yqdyt6eEBjTUx0UEVMTWctVHFNTVBPbnlMcDY/ZEomb3BvCnpj
VzhoVzsyKjwrcUM7RGlLZnFga3JqIXkjXkdJK1d1V1FkUmlPTylNWU4mWjZGeD8jRkxFb2wldjgw
YjUwKGMqdQp6cSs9SWBtU0BaZ3pwbTs7Pz5NaFAtRis8e0FWdWN+Mks8eWtZeUEkWXtfeSNrQypl
PXppfEQteEs1bilkMmdxN3IKek4ld3NiNilJaEJoND1PKkhCNkNCMzJzOSVkLU1vKkUoVDNjMD1x
X35qR1VsVHc8dG02Xnx5UX00IztYIUFWQnU7CnpRNXhIZHdoTWdOaHdAJndhI2ozKTc8Q0c9Sjhi
dDRZK35hTDghcFEoMWBqQDh4c0RkeSQ9R0hDd0YpOFYmcTtTRgp6NHNzSXtSZVVyKHVlRCM4K3t6
eUgrTWhVTC0wP0AwSVdmNGUlWCNSTyNJP2g9bmNDMDczVj8ofXI8ckx2KE1zakcKeiVFdUojNEUy
ZihVKm47K0QzT3xUciQ1UnteOXBoNTQhcjJSYiR4aS1xMmxuXlBvQXFZajUkQkBgIy11S0YoT3Bs
CnpYfjd4MnJmY2FkOT4zZyo7c2daK0F1fFRBMD5yaVV7bT5PRXk7KU1gMD0rfENafnYkT3tCQ2Ik
e01XdHJjKUQqVwp6OW1icWNib1owM040amNNe2xtRUJ3OWU/ejU9RDh8aT9FPUsyXjdJUDgka3VT
d2QlfmxMIWw9RmB8QSU0XnlibWsKenJ0cmkjeyFWQGghcWw/YnlBZUlOYHcociVYI2xoYTVBbDRq
aShQdXBuT0lOWUVeSCh+NXdQPF9hbDZ4cE9WM0FfCno5K185UVg+WGBvaTZUUDNTQzk3UWNHdXBv
KDtHVk45bispaiE9Rj56REB9Qm14MUAhP0Rgdl9UKSlBbWMqbUZBYwp6JmFVXkJ7ODIrODc9cypk
OzY3bTVKRVhsI09sfiFKJFFGND0yYVM1MGdEWHlONTNoPX1ORFozTWY1SUZ6ODNRfGkKei1TZENa
KXxmWjJSSkRHMHYyNzs/bFlJc1AqdzQmO0tmaExPOFJec3l6dUk0dVJ3XkN8e1BDd01ePH5ZdCho
QHVTCnpMRDUqbSprPXx7VSRQWFN4fHlvRHV7dW1gQ0NVdXplSHAlViotXlhyPDZKOEQ+fERzKmB+
YlZUcU4mNDBuSzJZUgp6S198fDhnMkd3P2xtUG9yR3hSTjN7SH5zRXh3NSopXkBmKzNRaWQ2eEZm
cT90PmdyRDBfI0IlbnQhdzxXZjdDckwKejxuaEdwO143Q05ASHFpV01EUWAmOUdjRGVeMUhkfEx3
JWwoa1AkYlg3JSo/O2k1Xj0menEpQCgpI0ojd2JASzl0CnomZ0BBdGR3VUokViQqdXF5dlpjR3V6
PigyIT00Xn5lKytkLVUtaUQkamg8ZnsrRyFGdk8tbiglSD1DPjMrY2VheAp6cnJGbWVTSDY1WXhh
OEtHMk56WlVHLStWM1N3ZSohMW40RyRaQTwlVXZDck9ieFc0PzlLUz5nSzB2LSNGWlQkJDEKemVj
dXhHZmdJV3pPfTZrKG5jM1hqbjB3TSp5d352ZiQlfSFIdEx4MVZXPDU2X09Td0kye2N9UTt2YXBp
Py1HWkhHCnpNb1pYdT5zUFpjRH07U3NeJkxeOEs9cDQ7RUEwTXx5KXpsV2h8dikrUHlKa184QD1E
Pz5hVDh8OU94QGU5XysoYgp6K3FLZXI+S2JPYkV1PkFHbUErPnYpSF9hcUdUOyZReD5yI3xBQHx0
bFoyYSt+RV5qPUZlR0d5PVo2UmtnK3tlNGcKek0+V3IhYyUwS3RBKSl1bG9BS1A0XkM9ZFdAXyVa
JGBgYU1nLWRJc0xZN3JqJUp+MHdLcU4tfE1TTHIqaCMlZ1MmCnpWJXx+dm5rYGg0bWM3TWdBODJL
bF93ZmFjRlFBNDh6dDcwazFeOz4/Pjc7VyprYXdebS1NR2BjWXx+WVY4WEhEaQp6S0BQZypANnZg
Mnd3Mz4hUXN2MUZQbEM+KGNJaGc5dEY8d215fXA+UyRHdGsmO2BUUCRfP1I+SEpDPGlaOXRTdjkK
ek5oeClSXnF+SmB6VGQqVyhkJTFwaUt1JHRSUHxZKkEpIT1tPUZeUFNMR0hGVDczV1NYYkl1UXtJ
PjNMcEsjZCUxCnpRayltJDJAdUxPMT1oflMpZEZ5SmcjfXAjVUVNKjhEZyFyWW1wOHVoeiNUaEJB
andCfW5tJDxxZTVkWHNpfDJCJQp6WEtuUU5uSWNRY2NObUpkTjg8eGhNdD5fOWVHR1d8V2Rob0tr
OEl1YzFnSFM5YChmVDRvbmNEJEpwNlVVKlk/JHcKekdgNXNnV3ZhU08kfWpeJj52c2NpJFlodXAl
M2UxZGxAeSkoNFB6NDBBR2RaSWFFbT9zQFJaU3FAI05RZHk8NDtaCnptJD5gbyRJcThiXiRYPF5N
QlVnPDB3M1VTdiUkZXk3cjFOUGZYSilzVXVBXjlEYTUhXnQqd1F6QXRFUU43M1BRbgp6cDgxN3VS
SGNUQGYhZDcmVWEzZCVTIUQ+M1ktTmVxP31ySURwRFI9XkNWaFZ4ZWRUd3xVQTBSRXlBQF57KnZF
OWoKekAyQ3dhfEQ7YWooQG9NVkx0RXhtPF5lbkZybz47JmNqd0h6SmRWMVkhdXlpTyRUaHpOZVI7
clRub0N1UGZJRzV3Cno2ZEIzWGNYX2g/QVZwZFlePEl5ZXgrdSRZKDVIWVgkT0JKTSsqb1l8QEt9
a1IwbEAxbXJ0JW14MVJKWmwxOSV3Rwp6SDJ+T0ZiQjlQakRDfFRJQXtRP1hfPTBieU0tbGZVSV5E
WDMzK1Q1MVdYe2MmI20+M05YTSlsaShvJWQrOVBsc0gKenZtYChiQFZLI1UkZmdWQCpZXnROaDk1
Z0prNnVVKnBZYHBIZXNvVXdpfk8oI1ZrflZLQzk9KEBzakZSOEE5SzZECnomWjRZXnF2UmRxQ1F8
Rzh6THZ7a0UmUiFjWkAmZCVPWjNYOVZRTiorc0whKFRHcnpqOGZubjcmQ2RKTV80KkhmRQp6Pys7
Tyk1N3YrYkpYcDhJI2MpX0VSUU9JdzI/fUpkelA3ITJMT1hBfW4xJCklSWtYT1ByVVE9K1VqYCgz
YW1HdCQKekozK0RhRVVwO0FUKEV6PGRBVSl6YUx2KT91NEpNT0o1YXVhQn5FM2F2Y3teSTBaZ2pB
UnNDcHJMUCt5SCZxfT9RCnp4KSooYXY8V308UnNBZXwxQTV6NTFJTVgjMFlNUHdtY3AhbGJnOHB+
NDhVY0xRd0o9cGVCJD5faWF7bmw/VDRVMgp6Y15RYzRqI3o+d1RHeFBCWWZJMXJgMWYqZEQzRENh
NTxwMXQwTXg4RE4pIW1jdFh4TEJ1Jm08JmZkKVdQWnFSeVQKeiohJXBkMW50dz1xeHxKOF87Tjtz
dWlePCVBTUFTV189Xnl5bnJoYjh2LXlEO15vdjc+PG9gVkFLMU4pUiglWjxKCnpjN00kSUlHKCZj
REwlRDJvQHpKQmFgR2FgOHx7QTRWKnNYZVlUdnVVMTI8cUlsKEt0YV42eyUxLXtWNnR4b0Q0OQp6
WD9XeTdVK1I+VitnQk1hYWlaeyEzWSthLSotWWZ2ISVKQE55NkgwbTZpZ1NmKlc0V2VtV0hJdCRj
M0V5SX1XdkAKejVPPEBCRDJGMl5HKyktN2xYd3ZuIzlHXlNKQl4reSFwJHpkbj5jcGQrPTA3O3kp
dGFoV2BxeEopTE1sN1YjYGBRCnp7cU4+TTMxcWNNMjhrVzxQcnlCVlhKS0ZLRW4/ZFc9SjFrS1Zi
LURwbnZRfHJrUUVZKWZkdm9rN30jSX01UU9jPwp6ZWg0RkVvT0daJWxNbGZja3dlR2tuI0ctQ151
UyU0YVl+anRDZ1Q4ZXUlfnFudjRsUXFueEkwUSpAIyt1bUBFdnwKei1QTTU7dG9YXj1jbWdvMGlr
dGdgSDUqMnBtNTZ4UUdZYlBGdmFLbHJudVN7KFc/eT5xLW1zd3xRKEcmdzh+a01QCnpDayV7LT8/
dUNGOEcyTColPldWX0gjOXBiWWV1b01JfVQwcDh7REc5SHtOMlYoc31lb1BFUDhpbnprdUZvemNE
Ywp6MUp6ZGomYmZKQkg8Z1BSKCV7cFo0SkpNKV9pdE0kRUgtKkk+UztLM2J+PXJ4KEdNYjB0cWxF
T1M8eEh0T243VygKejNKMjFHRSZsM1g5a3thUnI+YWlHSl47OXFlaXMhUEkoUj4rdzFsZ2EyJCR3
OFB5P0trcWo+TiteRG49Q0wkcWJgCno2ZyRQSE9SUy1edWlXdmRWIyFXPSp7VzAyQFRlQl9pQEtr
amAlVzJga045WWVGM293d0VEdD99ZlAyRys8Pj5taAp6S0heMXMpOytyIUQmKz9mLVk9VTczM35n
dGZjMX45MkBAM1BDSitge1otYVp2IXplSVc8cjt+STl3KUF1OXp4SWAKeksxUkNKNn0+TmxvUVdk
VzF2KWcyNE09VVEpejt4RGlNZWlRa2Q/Z2l4RllFeDNMI0omMG9zRklPXipOZSVOZSgpCnpoKUxZ
JFhTPXNLVE8qUzRJfV9XYEQmKVNGT0FHX1IrMnNyQUtFVVJ5dXxkd3swWmJCU0lMeWkocjAxUFQ2
fm9PWAp6QCNMaE1fWH5FJGJTc2ZxVyswKXJwdFJ3fjR7Kl8+NCVkaSNyPXNpYmJlOEJWPWVRNnNL
RTxNeGN0Ti1LeHdJdEwKelEqOFBqJjVsd09DSj4tKWpuU1k5Mk57JFBzdmtDanIjX1I8MW9iLSpA
KzI8Vz51bUNIeUhtZFpvQ0dBYGhIP09VCnp5V2J5R1RCdyhleEY5aCFtUD04RiU2TChyb0NjaFk7
cjtSRFRpKyo/MGNGfThjXnU/K3hodTNeVUVLY2wjNyFBPQp6VW8oQWlNKlNxOUNvfG0tO0ZaeXEh
cjNySD0pKH1tRSNYRnRvIXEjP1RGanU5Z2dCVkVCelBnKUI9ITZVciNWNT0KelR8bnpmKStzelZV
bmNwcz9KY1V1OH44QSV7UTUmYyZNcEJub3JGXmRqNHA9fDIjKm1eOUJgaG8/YU5lVTN2Nz5XCnp0
bDdpNl5nNWh9XnYocjdlWTh3PEhgbG1kNlJ8K3VQZmthKDkpRkpfd3opSG9UbE5EKy1RbndNNi02
V3N5bjR0QQp6KXd8SzI4e2VPdWYxM2BqOFlDSnAxN2QmV2UmdT97UTg0Kl49SVgre1oyTE9mSD9o
Z31PeGtqOXRvKEImYyFWLUkKentCJmhGc0lpbj5acVc4QGJxb0s2K3hNZUcpVG9hNTs8eGhWNVpM
dCRkdmRGVlVUUVA7RiYyZC0lOU52TWZ4WSYoCnpHYkVNaTJUbW8xT0Zob0k3JSV3OFBga1V9azBh
aykkRXdCXjc9Q0drOERGc1ZHeFNDbClOeXVpUk5SVl8yUlhrQwp6WlYzKU4/Wns2SlU/cXlkezBx
cGApYzhHYHpWVkloPzFVKSNrJFpIPVpWOzJ2QDRwaEgzKm1ZJj9DPkFXP0tUdUgKemZ2QU02VGtH
UVJFMzRDcDJVWGMwSHs+OGlmUihCUGdffDdpTlJ+eFRCZihMNmpgJiRYTE84bzMwVk08THNNbSRL
CnotRSQ9TiM4NHxyKzgmd0Vxc3Yka09JdCZ5VCt5ZE8pWWs3Tz00aEN8O0ppWj1pbSF3NXlmI2Rk
NHchcUVhaXRiQAp6R0pJPUg0KD1kZ0RYQHFPYWA2MVhHfUFnNDZ2VHMkTjxHdXBzYH41UHF7PTct
dCkhPiVCVyk8TUl8YU0yJW52ZTYKemlLI3NwVm5fM3Zqe1pFdVduQVQ2NjArUTYoMC1xQ0p7fChG
JDdTYz9pbTMpV2pmNVlxR0BKdXZkXz1AKWEtOS0oCno5Rnw8bHhqY0pEYFdaNTh0TDtDaEwodVR7
e3BZSl8tZkhja040c2Y9NEZlU1lQKj1wXklnVTthPjhiK1VeZH1+Qgp6OWREem9hWTRrNGFBe3pa
Pzt9TUBsO15+RFlGbk5FYlVxRFNNM0hPdUAmazNoRWpLUyV1fj40bGxMNGZ8ajBoPnQKenlNSUs7
Wik5VWU3ejYpS2wqQV4zKkgkKlNAMGRXT3N+ODtwIUFUVkE4MEBNKGA+S2s5PTkhVERrJns7XihC
e25WCnpfPjhYJDVuWSYmVHtuRX1BJVd0PzVmPEZgR1BGdjtGfDl7TzNZR3t3Y0hRZ2NkQWg/JjU/
RXh0NHY9fmsrakc2YAp6Ql9gTEYrLW5UcC1IKFhHSn5jbVgqVn42eXVwdWd9eHVPQU9WMDFvRFFG
bmBPMW9mPyswazI/RWRxX2hCO15ZTEQKelV4O2dabUJULXRDcHw3TnJLYXwpRlRZKX1AQUpMPiZn
dnEkYkdsYzlDUFRwZDBVRClyMHFBVEAleS1aMjBJIyYoCnpVcytPV1Z7TkYkMn1YRXomck5LOEI0
OChabF5vSytMamdZS0xzPDBzbENJITlJM3xlKFYqT3ZeR0BkaU9XNz9gawp6X0JQSDUtZ0MmdFhv
PyhvOD95ZFJiSylkakhiNGxodndlWFQ0MDM9dlpWMH5pZHFFUzk4MkROcT0hbzxWNWFESEoKejNM
M2FQa1MjTWN1b1FJUEpvfClfTFA3dnB2UWgrO0JiPikwXzl8N3xsTXU4STwrdlooPColZikrJio/
VTF9TytMCnoxO3x8ailBNXRaTjNNfC0rNG0lUExLTDI1YyFXWjFieCNpUVdFfEFKZzZ3ZTNyazwo
SjEwRlpzTyRoc1lsNCtycQp6I0prPlNwPy1HSENrJDVMVTNRY2NETD9CRCFsO1MlOz9RdWtTVUc/
YnY0Iz5KUEk3YEgyfG0qWFIxSmZWZDE8e1QKej1FO3tsSG1lO2V2PytmVEppSjgwKnFjeS0rTCgr
fTUjI2MzSndmTFNib0BQKGo9c0F4NXlrRz1gYkZyXiZ0KHM7CnpgSCt6K2V7bjw+YWJJbCUtUVlZ
fmNkdEF2PVZVZDI3YSFgelI7SSk0VndzbkJrS3pPRyVlJkZ4WSQ+JntPLUk0Xgp6SGRhN3Z0KUs8
LT47KHRrZi10NmRJMCskRTBpK2ZrMz5lckwqQ3t+YD9laDV5RDJjNVpIUThEMEFpTiZ8T05NfDcK
emhKU0NfeWMrdWNmVXFXWGNUd3YxIWZRSy10aFh3SjZyRFcwe1JnSEg8dnVKcDMobCp7ZGM8ZVND
SXNtcFIwXitWCno9P2heZVM0Iz9JdWxsPmwoaXo9YUo+M0txWEghY1lSO31rKnY1ZjU2bmQpXzcm
PWFGQXpVPz8oQlI2QXliS0FHeAp6a1oqKWorYlFiODJRd1M4WGBQXkIlJWEoeGVDNXZgIUF+dGlB
PUxBbXlgNFlGWktxbkl6Njl8bz91TXl+TjU8XmEKenJNJG5teF5iZjghYDU3JllTSUchViVYSFpj
N0FUSj0qRHk4bjlvbnwySGpeR3IkeGpHeFFfQWFEflQ4ZSM+dFEpCno4M3BLUCtnRSlATDFtS0Bj
bz1PR1U7Z2dVbCk2cEFIJFRYUlFXalp0YDwhUURRSVQ0clBlQWgoNU1TeSNmfSFBawp6RHRGbWox
aFZEPHdySEBAcTt4QUAzUEIoKCk+UTJtMmkjfUJMQll4bTVZLWl4and0RCYzI1ZQREhgYUxyQ3R8
aT0Kej4mTkx+MFpgc05gRWFTYURRfGZ2YXlSYWd7S3haKyEzRmxHVVlmMTxzYCMpYGZ4PFRnUjJK
K3hRNSs7eHpuVH10CnpiTHM1dlhmbiVOWWZ+OGplZyF8KDc0P3FWRSV9YiFuNGFFJD5YditzSlRq
NjBKMGo/d1d1SGtPUyM7MyQlXyVvdwp6YiVVKEcpIWFpbWFESW4zWFpkTnIkfDl4eDhqTHZrZVRn
R29GfUcqJSZmYGhFS2VINTh5SzV9SFF4I0BNQ3BSKWkKeikpV25XNnVFOSNTRyloKnk0TDJSTSpJ
cnpmdC1jUGcmbGMlNkg8dig4NWYtNV9qSjJCJC1gRjlFP1RAQmRifihKCnphRXhDVyMjbTFkeV5V
TUdqI2hjWD9adDFPPCU/Zn02QEJyfSlRRj91ZHpuIVBPYnM1RnpqVTxSQkNrUjxVREQ7egp6KlVQ
JERnS0BGcXBTUTdXSzZMbX49UllrS054dzBfdCZqVWMqZG8mTTBCaF4qQkZqd3Q+ajhAQWArc0p8
R3pZNjIKelhJfFI3LX17SyhPWWEoVzx8d1p6XmZgOFdPbSUmS1lWYGI+disodXRsSWB6PiQoNFFr
TyV0PTk+ITB1NiVkZnxECnp7THJLV3ROXn5Pbn5zeHZIWC13Yj1kLVQ+STImNWxmekEtZyVHdVBo
X35DI0MrIThmNGArd1JAUkhUKj0qV1BOegp6XnN3SzdFbE9MQGlfWVReYWRiXzU+bTZiK3FobWtV
NT4wMSlqYzZHWXhwZDB9IW1eNGUwfn09ZVpEemtPI3RJT2gKemJxKUx+JHU9cTAwPnE4fW9lV3di
PiN5ZHJwPnxpU0Jtd0R1MV43SGRVP0x1UFRwVEIkJGBHZGtGe1JDdWpKOVJgCno7P35VNF9zezQ9
OGFpPEg/cSg7KzIpUHwtYmB4KF9FNzcxezleeTl0ZikreWFeTSYtXkJCfnA0UG49ZzxiKz9sZAp6
XmxeNSFGNGNROyNRaGFUSSRJSGhlMH5LSVdYdzlfJStHSj5uNkY1PEhedyZmI1RoVzx5Jkk2KWBn
ajVnd3FRUzIKemxfRWJXJmRAY0RlM2M8VHh3a2k4NUQjOH0oZzJAN24rMnBqaipiIz5DZDlzPThS
WEcrO1N5N3RjI1UrK19FbTJLCno+OzQhJFVtSGJoTzQ4JVVTN3x8RlFmP0IkezNXRT1LSEclbUNH
M3VnMT5jeERKUjZlXz1GQGdreWB4XzdPZk0rRgp6ajBfLW5aNH1ecStzSCRFP3F3VHtKSGVIbCtP
cl4hPm93OSgjUTNKd3Z7M0otYmhkNW82KnQmXjRvWVkzQWx5NCgKeihOK1A7VFoyd3IxYXQ4QVBy
bXJCS1NEY0tzTHZ4JnBub2J0ZnI2ZF80QEJIclp2Z0NMPE4hJlJmRmktSS0pQ3k3CnpXSW8kVnhH
N29ERHlEYVA+cG9DNj9mOyFCaj1tQFQwZD1vP0p5bT9AVFlGVmgzek1TPzRZWUAkKChWX1NHem4/
WQp6NWoofWp8Qn5PTmB2czFOWVckZldVTnhXclZtT0olYUFZNyRVTHJQUGY7PXwmYmpFPmN4TiFk
Rl9JK28wYGljKVAKemIrMWwmPDNzQjJHR1RmOFV1MGd2ZGc1NGgzeE9iak0jaDQyPXMrPjdJLVBE
VTtndkhpdVZkOSkoJn5oR0o4Q0VoCno1fEdXZ0trd2U3N1IybkVWbmFXQHtneFhBcFY5bllpMG5m
VztPcHYyMU9eMGNaPTZNOGNXJTxiNUUxJG52RlplVwp6OG9jIVVIVXVCWTVIfil+dlU0YT1hdktJ
QiU8dWIjTllsRUlFQVRDODxwa0R5T2hBZihlcSZEKi16NWNKRT0lKHIKemMtMF9jPlNsIXt2YXly
JDhIXnF3YFZ9KGUwdz96Qm8kZDRoVHN+bkxJZERvXyE1dHcqMWk+TU1gT1BrZEhGNFN3Cno0dD17
KC1LUipLbS1DTUc2WStsNHAxJGBvNmFFOVEwM3pKamVHcTZDMHtuNmpMXnskTjFGKUJSQjVfXjgr
OEd7PQp6ITtvMDFxRyNSaFliKTBrPypGN15eSGYxKFJfd1ktUzRDRzZKS3o+ZGk+bWtTUmFLSyNt
dHsrUUshbDNlaUsoQ0IKeipzKkdobG5ASGVoV3BJU2MkbCExVTgtZEV5Wis3VTd2Vi11RyVjVjY8
Rn5jKENlSlEqUXpNJS0yK0hlaWo3NzBhCnpzNlQjb1J0VnE+eTw4NjJGbj9qNUFeWSVKUX5yYFpN
KkRkPVp8VHtJdnJOd35taFpwZyE3WUVRa3l7Mzc+JFM2eAp6ZCtmRnlkQVZoM2NaM2hJSz1GdkNh
ajYhMDB4VGhEd2R7Y0pqbE9EKiReLTZyajFaYGZBK3Z+cGBQRTJEUCYlWF4KelJaZjxLSVZ6TmM1
dFV2K0xnWj9TcEE8UWU2Pk8xT2pmZkM8alI3P1A1MG5uOTwqMSpxJmdZcUBlZio2TCstX3MtCnpX
e1Q5aG9GJXcoZmxmbFlCdVdqX2JwKDZGNHdYSWByQHF5Z0tkRGtyKHFWcypgSG9XUjxpaVd9cjZU
YzxeYnVSZAp6c1NuZX5EKXR6N05SOHRAbzNKRmZjdHB0PlNEXlN5M0FTSyY0PTtMa0VzVHB1ODd6
MWBlc1RYKUNjU1ZTN2REKF4KejJjRkErbHByMjVkM0dCKWduMFF0NERweGZ5b2A3X1lSfkBHclU9
fCNKZnhUOHRtXmR+YihrPDI1cmtlTkl9MmdhCnppNWR5SVE0QHwtZk9xTSZsQGpHJDJ1U1NpeEFw
TFJvY2h7Iyo+VHFvWGEoKyVtb0ZmcUtGR0g2e2twJWdNMWl8Ngp6K1U8Z0g0Szw2aHJjZG07YHhk
fURkUz9eaU0xVGFoQl4/MkVxLXV5biVONEB+aD58e1FVKHNwc3BXaUtyQzNEITcKem8lTG4mIWZu
VSVYY31JQkEzPn4wSDY8NDZEQVdAbnBmUFk+KzA1ZzxpfF5ldGdiPklTcDAjbHYha3UoV3o5Vm5Z
Cno2VXIpaEkmNW4+bFRTJSFhWFdwaUBkJCklQjIzKGl5QmN6d3wxUVNrPGltJWd2cnF+UkNETVY4
eUNVYzNPakBSZQp6R3NEVCZWSUU7cVNDNldGYGYlbGlSLXNGeyNCRWBaZylsWmE/USVvNjl9bm1f
NHtjdlFlTmglSnk9ak5vKDtUbiUKeiZRJjc1NXx1P0tIeiZxTVgreGZ+a1liaGdoVWtHVCh7X2F0
NHtoc3E+bExibyMtOX5eJGxDcVd3KWRQS2N0czUqCnp6dTNFMHRmPTVke3U2VC10VzU4MERhUCE1
SGJBN25IOCRRUmNXQU1eVzg8OH4yNHlNfVE+K04kU0QtITtoeDhLMgp6LUhJYEtqYW4lIUt2dHNv
QXRnWSV4I04hajNQX2wpejdxKVJneiM7ZElDY15Ac0UrZV9hdSZuSzdtVV9BYTN3JHMKeno8R19M
a0MhajlLM2hCNTc8SkZ0R2ZHfnNmTSM+M0V7TWV+eyFoajA9PWQrT3hfZjstSn43IV9sY3orbkxf
N0NxCnpBPm1vd3EwfGs4Y1E+ZzUmKlc7e0lEZ21PTkNJZ0xQbXY9TTtpQj5pI2NqSSMtQTg8TEB5
Rz9XN2pRSG90LUFfRAp6bT1GZXBMSnpAMGJfSDloIUUjX2BxeFRyWW4mb3JaYTdRTTkpMnducGs+
b1BRKU4yPUJ6U28mQC1WdEVPVUFEJlUKemtUKzMjVVhCb1Roa3F8MD1vY2pHRiEwXzxobH5XWncx
cE8/QkJqOWlWcEc+bzVFUXJTKnRYQX4lKjc1bU45JihGCnpZWEU3KkNWYHtXMStvdm5ZbXpPRnp1
bmQwMWg5KVhuNT58bi0jWHY7MCYmaHBLRjhTZzB4UzIrUGF1ZWFZTUlFRwp6QzxeNGA7X14+Tz8z
dSkoSnFQRmwqbW10TT4/bD0tbE1rWFgzS1ApRUBjOHdGWiZrYHFhWFY5MXJES057eXUoY0YKejYo
JjV7JFZlZHxsd3lMV2Q7MStjKVpSSHg7JX4tUj5MKW5QamJaTypkXl5ZbVdgSF9+KG9+YEFMdzRz
Z0p4Sn5jCnpLS1BocVQyRmlpe2tPRjttT2Nva3d8PnVVdWU2REU9UGozIUVgYjRqLWJvVTF7UGYj
byt9d0pieVZCISNpWCFaPwp6WDJGK0Y5PE45U1lwSDFTeEMjO0M4VWBEUnQmI0M2LUNPKFN0Un47
ZVhyRGtuM09Cajg/JiVfMVBzISsmSm1Ka1QKenBSYURXMXR1JDFgaDVYdFowPmw5NXomcF9URURQ
UTBxKThOJUEyMUo/blR6M1BhaD9AZkM+fV5UbGljVUVDYFI9CnpAcGJ9SXB0WVBWT0w9PD1wKEwz
YnhgO1dIODxzYndAXlBtJmJUV1RiNDZ4TTBfSFBleTdAWW5ibUo3eV55JmwySAp6NnByPyMrJSsj
VE0hWGlIWmFKTFZKS34oNFU+V2VwYnN3P29edTI3P3tpIXxfKmRAPGMmbkNeKnFsJnsjekslPSEK
emFQd0chU2R9Y3hWUmpUaWJZZHx6ZHxfVFdjNn11TmVTNTxFJVU3ND5yKzBqYE9VYnh8Tj5GU0lE
PSQkPXM1TEJGCnoxbiF2Sik0VVlIbT1ub15uaT01JlhiRXdKezxxJl9TSndtX1QhZUh8NC17cUhN
T3o/OHlCfEt9YVJmZyppZlNGNQp6ZUVWdTVDalVPPF9AbnVtbFM2KSVQSn0/P2VrdVQ7JGdVZTJM
S0RnRDBKSWVDdDhybjtpend+ajxuZEtZR3tfN3MKemgmbiY9Rj1TdXIjVDc4JDQhRn4tcWpmVXo1
eXRfWDtnKDRZVWtvKHtWRFRKYzNYP3p9YHNNX3ZVb0ozc0dYcHYwCnoyIXVfTVFvbm1rZUJ+QjQh
dGhIe0I3IWIwMGV1Rn1eTD5OUmtwbkQ1OUg0RU9JSU9JPFFjRHM3QGIhblUtS0pUNAp6VnBfSnxV
VEhzPyhaOHMhN0pPK3I8JU4yNGRlVldkMHI8cUNoazUpNGdDPiRjbkNWKWBoazBlIyhLMVl5ZmBA
flYKejVjTHp6MTtId2woTUVDR2drb0pOcUwhY3xxdnNiUyZBfElTWUxNVWB6QitKQ2kqVz1DKlpj
YzBNTmAxdGNgK3V9CnoyUHw4RGpnVkV+eWJ7TlVKdU1kanQ9RGRCWWVEN1E+UEdhZT5FV0ZHR1Eo
d2U2a3VQISZmMFc/NTlHKTJmZUoyKAp6M2grX1BIY3NFNyY5WSNQYlpqaiVHMmhJRGghe2JFKTVF
S1JFZXZYPHZmJCR+YXhgRUJJPmApeDh9VHhQTFlIezAKejNyPVFINzI3dk1JPXp4UVc/THNZMEo1
a1UyPFhmM3hOcWpgVyN4Mk82fGVzMFRiUkNCUC18QV9qJHZ1Y05xI1F0CnpPNGpfQSZrZzBqbUAz
SHdDWUNzYyVle142UWoxPndkXldMSV4+fTgpcTV6Q2EwPiRVQitZeEZuQEpHekB1bHMzRQp6Ri0t
KFN6U2hzJmtja3RxVz95QD9pZz57ZnQmOEdAU3NEfmFCK2ZVcXBfcVpfKHpxP2psIzluNkwlUGZA
QE0qYDcKek5iaWh1LVE4cWpCa2UyN1Reayp1KD9ZZmImYzI5Iyh4Q0d3Y3t7WkIoYnJePVcyWDF6
MDQtS0w8Xm1MaVIqMkNOCnpEMjxfdG9DeEYyRlFBeUQtYVhQUmpDej5CT1Z5a05KPSY5PzFuNGIw
VDw2MT1xXnNxU2V+YmRhN0BxLXs+VX1VNwp6QmVHTyhpT0xJQGNlYDhlYl88X2MkalJTKiljeHYj
ZVV5JVh6Nkl5MGJHKiopJmNJenhLYXE2SCFmNDsqNCZeaVgKemZZIXZeQHxQRiVGMz5UP0BUb2JV
aXRkamxeVX5ValpjVjB5bz1qKkJeWDBme0ppfDtPakEpMjtQN0ZmMzlGTngwCnpEK096WishYEJh
Qi0/c2tFSWh5fV5NbSlWZDF6RFJlSn4pZVA4NFUxLXBkMClXN296Pm9DLV5fOzhpYmlvK0Roewp6
YUYwJC1YbG9TI1YoMi1yJHRQUzgwd0xzP0dxNClBVyNLd353TUoqPTM8QyNuenVESzgpcVp8NFla
QyZLUSt9X08KemUoMCFJJHFOIzxmTzB4ME90Q2lKTkIxMHh1LSVJdHV0QjZ0OGd2aXlCSG1kc3sr
ZF92ODBzIzBtbDtDd1loKzNQCnpJdCp0UFJIQlNubCZAITdNN3JCNTZ7dT1ecmw2SCokSG91Kk4+
flchUWFHQU5Xbk5yY0chNWZBXml+YGp7WkluJAp6X0B2PkJUZ1AqZzBVY19fXnF7P254RHdhRWx3
PClHbnZtKmx5JmcpYmo0dlMpNG9+IyRTcFpEYC11RmRvPH0xQDsKek5pJEozYSpTbkx7ZjVxeG9P
YDxERm5JTGwqZSFEbmk4U0JNJklybFFtOSEoMjU/e2xzekt4ayhqaVM3OSZJPFIlCno+aE9eQCk+
MTx1cypkfW9pd1JmIyYqM2hGMSUlWUM0OVFJSUIyK2k0PEIrNm08R3IpTmxXa3RWcFBUbUBhOHU1
Rwp6VTA7NDQ5ODNATF9JMDdXITFRblh4XiYyZzd1PCtsYStwO1l7VmsreXd+JHQ8P0lETylLNTB1
Ynl1O2FtLUFhMD0KemAtdUhJd0l1RThxdm4weUAjWlV5XnB3UCRZZmxxVDI+STctdUFwKCReQ1Q8
fElgLSkwVTI4LWtmZTdkfWN6bktTCnpZKns4fVVlWVk4WVQqSWZ0ciN9OytscDd5ZWB+fiQzXktu
Z0s3NFYrI2FCfSZtKHF+QSpZKXhoWnBpd0hSSnllbwp6IXN3PkxaJS1gY2RgaEJRa2AoVG91em05
Wj9vKz84LURoUWExJDVzeWk+O055PUcpUDN6b3JsVzxIVCFeUTspPXkKenkzaiNPTDJgSEA8fX1e
MmkkaClSRWA5eUxyPipUITF4VVNseTMtTmZ5Xkp8R0E7I1NoIT1uaGxSbl9pTmg/fUBOCnpZbClv
cXRwNkdsa31PNn1qKTIrKFcmZ1lIRylpcn5wXzZDQCgkWFNOcmNleXN0cVNoYTMwbStENikjfkth
bVVfZQp6bjJLZlg3QUk8NitVeEBWb3opbVoxLU1UUXc3OTdTe0sycHk2O0ByYSspZFc3bjV6SWUt
PS12Pmh2MyRScVN4aigKem9nYiRaOThFUnlLUWtxTWlsQmFUI1E5USNsNXZtUCVrfTRhVDA9cll1
a1hqbGl7VShFdUg/Uk9QZn5NRWglWlAyCnojS30qMjY7PHsjUzFqY3tqSEdBenVXcTdTd3VOWiFe
Yno8fHNLXnRgVEJXfTUrU3RYbiZOe2dEaU1SSG9aTXhyawp6OXclaXZQPm5obiQxVT5NJlR7bE9H
SnlXMFJVaDhzJXJ6Q2I/clk+fEttRmB8R05AaDFaRWo+VDwmSWdjQUlINFkKem9LfHk7I2xlP054
JUVPWk90aGV5ZThwTClTdnckN1hISzluVylnTWV1KnJ8aktFd0VDSXtqMk16YCkhJnEjKmZ7Cno3
cWBrJFRrV0hXTHtidmJrRz1EUWteLTliPDQrYzQyRStCSkRIWTEkOzE3YjhtI35KJUxDMypBb3dA
WnFeKGdfPQpRQ3Y2Zy0pbVl9OzYkMU1JMFFYWW0zamhFQgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAx
Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434046</attachid>
            <date>2021-07-22 17:27:32 -0700</date>
            <delta_ts>2021-07-22 21:23:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210723102731.patch</filename>
            <type>text/plain</type>
            <size>135891</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLjczMzdlYjM2ZTI3NjEzNmNlMWE4MzczMTFjNjkyNTk3ZjEzYzk4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHdlYm1fd2ViYXVkaW8g
cHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3IgbWltZXR5
cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlzYWJsZWQg
YnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8bWFnb21l
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIgdG8gY29u
ZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJvY2Vzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0MTMuLmVi
NDliM2E3YzQxYjNmMDRiYzUzZWIzZjMyYmQxMzg5ZTc4NGE1YjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDMgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4gV2ViIEF1
ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4gdGhlIHdl
YiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgZGVj
b2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJlYXNvbnMs
IGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxzIGFyZSBi
bG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1ZGlvIGNv
bXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkgcHJvY2Vz
cyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisgICAgICAg
IFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAg
ICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWlscyBmb3Ig
Vm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11eCB0aGUg
d2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0g
dG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVyYXRlIG92
ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3JtaW5nCisg
ICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRoZXJlIGFy
ZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVuY29kZXIg
ZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGlibGUKKyAg
ICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIu
CisgICAgICAgIC0gV2UgY2FuIG9ubHkgZGVjb2RlIG1vbm8gYW5kIHN0ZXJlbyBjb250ZW50LiBP
cHVzIGFuZCBWb3JiaXMgbGV0IHlvdSBkZWZpbmUgYQorICAgICAgICBjdXN0b20gY2hhbm5lbCBv
cmRlcmluZywgdGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZCB3aXRoIGFtYmlzb25pYyBhdWRpbyAo
d2l0aCBvcHVzIDI1NSBtb2RlKS4KKyAgICAgICAgQ29yZU1lZGlhIGRvZXNuJ3QgZWFzaWx5IGRl
YWwgd2l0aCBzdWNoIHJlLW9yZGVyaW5nIGFzIGl0IGFwcGVhcnMgdG8gYmUgZXNzZW50aWFsbHkK
KyAgICAgICAgZGVzaWduZWQgZm9yIGF1ZGlibGUgY29udGVudC4gV2l0aCBtb3JlIHRoYW4gMiBj
aGFubmVscywgZGVjb2Rpbmcgd2lsbCBlaXRoZXIgZmFpbAorICAgICAgICBvciBwcm9kdWNlIGNo
YW5uZWxzIGluIHRoZSB3cm9uZyBvcmRlci4KKworICAgICAgICBUZXN0OiB3ZWJhdWRpby9kZWNv
ZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbAorCisgICAgICAgICogSGVhZGVycy5jbWFrZTog
RXhwb3J0IGhlYWRlciBzbyB0aGF0IHdlIGNhbiByZWdpc3RlciB0aGUgZGVjb2RlciBpbiB0aGUg
VUkgcHJvY2Vzcy4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
IHNhbWUgYXMgYWJvdmUuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNhblBsYXlUeXBlIGNvbnN0KTogTWFr
ZSBjYW5QbGF5VHlwZSh3ZWJtL2F1ZGlvOyBjb2RlY3M9b3B1cykKKyAgICAgICAgd29yayBpZiBm
ZWF0dXJlcyBpcyBzZXQuCisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6
CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRXZWJNV2ViQXVk
aW9FbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Ondl
Yk1XZWJBdWRpb0VuYWJsZWQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlhU2FtcGxl
Lmg6IEZseS1ieSBmaXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBXRUJDT1JFX0VYUE9SVAorICAgICAg
ICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
QnVzOjpzZXRMZW5ndGgpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmg6IEFk
ZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0aGUgcmVwb3J0ZWQgbGVuZ3RoCisgICAg
ICAgIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlpbmcgc3RvcmFnZS4KKyAgICAgICAgKiBw
bGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaDogQWRkIHNldExlbmd0aCBtZXRob2QuIFdpbGwg
Y2hhbmdlIHRoZSByZXBvcnRlZAorICAgICAgICBsZW5ndGggd2l0aG91dCB0b3VjaGluZyB0aGUg
dW5kZXJseWluZyBzdG9yYWdlLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
RmlsZVJlYWRlckNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRyeUNyZWF0ZUF1ZGlvQnVm
ZmVyTGlzdCk6IEZpeCBjaGVja2VkSW50IHVzZSB0byBjYXRjaCBwb3RlbnRpYWwgb3ZlcmZsb3cK
KyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6QXVkaW9CdWZmZXJMaXN0
SG9sZGVyKTogQWRkIGNvbnZlbmllbmNlIGNsYXNzIHRoYXQKKyAgICAgICAgZnJlZSB3cmFwcGVk
IEF1ZGlvQnVmZmVyTGlzdCBvYmplY3Qgb24gZXhpdC4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
QnVmZmVyTGlzdEhvbGRlcjo6fkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yIGJvb2wgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvci0+IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3IqIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6aXNWYWxpZCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmlzTWF5YmVXZWJNIGNvbnN0KTogTWV0
aG9kIHRvIGNoZWNrIGlmIHRoZSBidWZmZXIKKyAgICAgICAgY29udGFpbnMgV2ViTSBkYXRhLgor
ICAgICAgICAoV2ViQ29yZTo6cGFzc3Rocm91Z2hJbnB1dERhdGFDYWxsYmFjayk6IFJlcXVpcmVk
IGZvciBBdWRpb0NvbnZlcnRlckZpbGxDb21wbGV4QnVmZmVyLgorICAgICAgICBXaWxsIGZlZWQg
dGhlIGRlY29kZXIgdGhlIGRhdGEgdG8gZGVjb2RlLCBzcGxpdHRpbmcgdGhlIG11bHRpcGxlIHBh
Y2tldHMgZm91bmQKKyAgICAgICAgaW4gdGhlIENNU2FtcGxlQnVmZmVyLgorICAgICAgICAoV2Vi
Q29yZTo6QXVkaW9GaWxlUmVhZGVyOjpudW1iZXJPZkZyYW1lcyBjb25zdCk6IFJldHVybiB0aGUg
dG90YWwgbnVtYmVyIG9mCisgICAgICAgIGRlY29kZWQgZnJhbWVzIGluIHRoZSBwYWNrZXRzLgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpmaWxlRGF0YUZvcm1hdCBjb25zdCk6
IENyZWF0ZSBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24KKyAgICAgICAgcmVsYXRlZCB0byB0
aGUgZGVtdXhlZCBhdWRpbyB0cmFjay4gbnVsbG9wdCBpZiB1bnN1cHBvcnRlZCBjb250ZW50Lgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpjbGllbnREYXRhRm9ybWF0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaDogUmVtb3ZlIHVu
dXNlZCB0eXBlZGVmLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxl
RGF0YVNvdXJjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6
fkF1ZGlvU2FtcGxlRGF0YVNvdXJjZSk6IEZseS1ieSBmaXgsIG1ha2UgaXQgdXNlCisgICAgICAg
IFBBTCBzb2Z0bGlua3MKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6
c2V0dXBDb252ZXJ0ZXIpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZSBQQUwKKyAgICAgICAgc29m
dGxpbmtzCisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVy
Lm1tOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHA6IEZseS1ieSBmaXgsIGFkZCBtaXNzaW5nIGhl
YWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNhbXBsZUFWRk9iakMuaDoKKyAgICAgICAgRmx5LWJ5IGZpeCByZXF1aXJlZCBieSB3ZWJraXQt
cHJlcGFyZSA6IGRvbid0IHRhZyB0aGUgd2hvbGUgY2xhc3MgYXMgV0VCQ09SRV9FWFBPUlQuCisg
ICAgICAgIE1vdmUgY29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3IgZnVuY3Rpb24gZGVmaW5pdGlv
bnMgb3V0LW9mLWxpbmUgdG8gcHJldmVudAorICAgICAgICBsaW5rYWdlIGVycm9ycy4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9i
akMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxl
QVZGT2JqQyk6IE1vdmUgY29kZQorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dl
YkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbTogRmx5LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVh
ZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGll
c0NvY29hLmg6IEV4cG9ydCBzb21lIHN5bWJvbHMsIGFkZCBuZXcKKyAgICAgICAgbWV0aG9kIGRl
ZmluaXRpb25zLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0
aWxpdGllc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJEZWNvZGVyRmFjdG9y
eSk6IEluc3RlYWQgb2YgYXR0ZW1wdGluZyB0byByZWdpc3RlciB0aGUgZGVjb2RlcgorICAgICAg
ICBieSBkbC1vcGVuaW5nIHRoZSByZXF1aXJlZCBsaWJyYXJ5LCBmaXJzdCBhdHRlbXB0aW5nIHRv
IHNlZSBpZiB0aGUgZGVjb2RlciBpcworICAgICAgICBhbHJlYWR5IGF2YWlsYWJsZS4gQ2FsbGlu
ZyBBdWRpb0NvbXBvbmVudFJlZ2lzdGVyIGluIHRoZSB3ZWIgY29udGVudCBwcm9jZXNzCisgICAg
ICAgIHdoZW4gdGhlIEdQVSBwcm9jZXNzIGlzIGVuYWJsZWQgd2lsbCBmYWlsIGR1ZSB0byBzYW5k
Ym94IHNldHRpbmdzLiBXaGljaCB3b3VsZAorICAgICAgICBpbmNvcnJlY3RseSByZXBvcnQgdGhl
IGNvZGVjIHRvIG5vdCBiZSBhdmFpbGFibGUgd2hlbiBpdCB3YXMuCisgICAgICAgIChXZWJDb3Jl
OjpjcmVhdGVBdWRpb0Zvcm1hdERlc2NyaXB0aW9uRm9yRm9ybWF0KToKKyAgICAgICAgKFdlYkNv
cmU6OmlzT3B1c0RlY29kZXJBdmFpbGFibGUpOiBGbHktYnkgZml4LCBzaG91bGQgdGhlIG1ldGhv
ZCBiZSBjYWxsZWQKKyAgICAgICAgb24gbm9uLW1hYyBwbGF0Zm9ybSBpdCB3b3VsZCBoYXZlIHJl
dHVybiB0aGUgdW5pdGlhbGl6ZWQgdmFsdWUgb2YgdGhlIGF2YWlsYWJsZQorICAgICAgICBzdGF0
aWMgdmFyaWFibGUuCisgICAgICAgIChXZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVk
ZWQpOiBBZGRlZAorICAgICAgICAoV2ViQ29yZTo6aXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKTog
U2FtZSBhcyBpc09wdXNEZWNvZGVyQXZhaWxhYmxlCisgICAgICAgIChXZWJDb3JlOjpyZWdpc3Rl
clZvcmJpc0RlY29kZXJJZk5lZWRlZCk6IEFkZGVkCisKIDIwMjEtMDctMjEgIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgbGlua2VkT25P
ckFmdGVyIGNoZWNrIGZvciByMjY5MTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBmMDE5ZDNjZTEy
MDNmM2ZhMTA0ZWY5ZmFjNGZmYTQwNmFiOTAyZjYwLi5mMmFhY2JiODQwMmQwYzQxNjFhM2Y2ZmJm
OTkzOTRmNThjYzUzZGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAy
MS0wNy0yMSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtX
ZWJBdWRpb10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgdmFyaW91cyBBVkZvdW5kYXRpb24gKEFWQXVkaW9Db252ZXJ0ZXIpIHJl
bGF0ZWQgbWV0aG9kcyBhbmQKKyAgICAgICAgQ29yZU1lZGlhIHRvIGFjY2VzcyByZXF1aXJlZCBD
TVNhbXBsZUJ1ZmZlciByZWxhdGVkIG1ldGhvZHMuCisKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuY3BwOgorICAgICAgICAqIHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oOgor
ICAgICAgICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oOgorICAgICAgICAqIHBh
bC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbToKKwogMjAyMS0wNy0yMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyBy
MjgwMTI5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCAxODc2MjU4NDI2MWJhYTllMzIyZTlhNzBjZjhkMmE2ZjA3YjA5
MDk2Li5jMzYyZTY2M2U0Y2NkZTJmYzNhNzhlYTQyMmVmY2IxY2E3N2E2ZDkyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI3IEBACisyMDIxLTA3LTIxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBs
ZS5jb20+CisKKyAgICAgICAgW1dlYkF1ZGlvXSBBZGQgd2VibS9vcHVzIGNvbnRhaW5lciBzdXBw
b3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcx
MTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5NDM3MDY3PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkZWZhdWx0IHZhbHVlIGZvciB3ZWJt
X3dlYmF1ZGlvIHByZWYgZm9yIHRoZSBkaWZmZXJlbnQgcGxhdGZvcm1zLgorICAgICAgICBEaXNh
YmxlZCBieSBkZWZhdWx0IG9uIGFsbCBwbGF0Zm9ybXMuCisgICAgICAgIEZseS1ieSBmaXg6IGRv
bid0IG1ha2Ugd2VibSBwYXJzZXIgZGVwZW5kZW50IG9uIFZQOSBzdXBwb3J0LgorCisgICAgICAg
ICogRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3MucGxpc3Q6CisgICAgICAgICogRmVhdHVy
ZUZsYWdzL1dlYktpdC1pb3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktpdC1t
YWNvcy5wbGlzdDoKKyAgICAgICAgKiBGZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3Q6
CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpkZWZhdWx0V2ViTVdlYkF1ZGlv
RW5hYmxlZCk6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3Ry
YXRpb25zKToKKwogMjAyMS0wNy0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFJ1bm5pbmdCb2FyZCBraWxscyB0aGUgbmV0d29yayBwcm9jZXNzIGlmIGl0IGlz
IHN0aWxsIGhvbGRpbmcgdGhlICJob2xkaW5nIGxvY2tlZCBmaWxlIiBhc3NlcnRpb24gdXBvbiBz
dXNwZW5zaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCmluZGV4IGM0MmViZWJhMDY3YzE1
ZDdmNWRjMGU5MGFiM2RiNDUyZTkyMmE0ZWQuLmI0MTE4NjQ0YWJmOGI2ZTEzOGUzZTY0OTQ3NTQ4
MDgzYzk5M2RiYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC0xMjYxLDYgKzEy
NjEsMTggQEAgV2ViTVBhcnNlckVuYWJsZWQ6CiAgICAgV2ViS2l0OgogICAgICAgZGVmYXVsdDog
V2ViS2l0OjpkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKQogCitXZWJNV2ViQXVkaW9FbmFibGVk
OgorICB0eXBlOiBib29sCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
CisgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViTSBXZWIgQXVkaW8iCisgIGh1bWFuUmVhZGFibGVE
ZXNjcmlwdGlvbjogIkVuYWJsZSBXZWJNIFdlYiBBdWRpbyIKKyAgY29uZGl0aW9uOiBFTkFCTEUo
TUVESUFfU09VUkNFKQorICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5OgorICAgICAg
ZGVmYXVsdDogV2ViS2l0OjpkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpCisgICAgV2ViS2l0
OgorICAgICAgZGVmYXVsdDogV2ViS2l0OjpkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpCisK
ICMgRklYTUU6IElzIHRoaXMgaW1wbGVtZW50ZWQgZm9yIFdlYktpdExlZ2FjeT8gSWYgbm90LCB0
aGlzIHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIFdlYktpdExlZ2FjeSBlbnRpcmVseS4KIFdlYlJU
Q0gyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlCmluZGV4IDNiMWJiNTUwZjU2ODFhNGY1ZGQyMzYwYTE0MTg5YThlY2FkMDU3YjkuLjlhNjFl
ZWZmNTRiN2M2NTAyMGEyOGU5NGM2YmVlM2Q1NDNjNzQ1OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpA
QCAtMTMzNSw2ICsxMzM1LDggQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVS
UwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0V4dGVuc2lvbnNHTEFOR0xFLmgKICAgICBw
bGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgK
IAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgK
KwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5oCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0RHJhd0dseXBoc1JlY29y
ZGVyLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3
aW5nQ29udGV4dC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVN
ZWRpYVNvZnRMaW5rLmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29m
dExpbmsuY3BwCmluZGV4IGZjMDY2OGE0YTkxYWZlMTBiNjUxNTljYTA4MmUxODI4MWZkNTAzNTcu
LmNmZDFiZmRiODg1NDYzMzljMTRiMDQ2NzE3YTAyY2I3ZDYyYzBhMzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCkBAIC00NywxMSArNDcs
MTMgQEAgU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29y
ZU1lZGlhLCBQQUxfRVhQT1JUKQogCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckNvcHlEYXRhQnl0ZXMsIE9TU3Rh
dHVzLCAoQ01CbG9ja0J1ZmZlclJlZiB0aGVTb3VyY2VCdWZmZXIsIHNpemVfdCBvZmZzZXRUb0Rh
dGEsIHNpemVfdCBkYXRhTGVuZ3RoLCB2b2lkKiBkZXN0aW5hdGlvbiksICh0aGVTb3VyY2VCdWZm
ZXIsIG9mZnNldFRvRGF0YSwgZGF0YUxlbmd0aCwgZGVzdGluYXRpb24pLCBQQUxfRVhQT1JUKQog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoLCBzaXplX3QsIChDTUJsb2NrQnVmZmVyUmVmIHRo
ZUJ1ZmZlciksICh0aGVCdWZmZXIpLCBQQUxfRVhQT1JUKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJJc1Jhbmdl
Q29udGlndW91cywgQm9vbGVhbiwgKENNQmxvY2tCdWZmZXJSZWYgdGhlQnVmZmVyLCBzaXplX3Qg
b2Zmc2V0LCBzaXplX3QgbGVuZ3RoKSwgKHRoZUJ1ZmZlciwgb2Zmc2V0LCBsZW5ndGgpLCBQQUxf
RVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBD
b3JlTWVkaWEsIENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0
IHZvaWQqIHNvdXJjZUJ5dGVzLCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBz
aXplX3Qgb2Zmc2V0SW50b0Rlc3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VC
eXRlcywgZGVzdGluYXRpb25CdWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0
aCksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9S
VChQQUwsIENvcmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldEV4dGVuc2lvbnMsIENGRGlj
dGlvbmFyeVJlZiwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VY
UE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29y
ZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldFR5cGVJRCwgQ0ZUeXBlSUQsICh2b2lkKSwgKCksIFBB
TF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUws
IENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJsb2NrQnVmZmVyUmVm
LCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElO
S19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBs
ZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmLCAoQ01T
YW1wbGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZl
ckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVm
ZmVyUmVmIHNidWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBh
Y2tldERlc2NyaXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVz
Y3JpcHRpb25zU2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBw
YWNrZXREZXNjcmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCBQ
QUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFM
LCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbywgT1NTdGF0dXMs
IChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBDTUl0ZW1JbmRleCBzYW1wbGVJbmRleCwgQ01TYW1w
bGVUaW1pbmdJbmZvKiB0aW1pbmdJbmZvT3V0KSwgKHNidWYsIHNhbXBsZUluZGV4LCB0aW1pbmdJ
bmZvT3V0KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhf
RVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFu
LCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiksIChzYnVmKSwgUEFMX0VYUE9SVCkKIApAQCAtMTA4
LDYgKzExMCw3IEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBrQ01UZXh0VmVydGljYWxMYXlvdXRfCiBTT0ZUX0xJTktfQ09OU1RBTlRf
Rk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwga0NNVGV4dFZlcnRpY2FsTGF5
b3V0X1JpZ2h0VG9MZWZ0LCBDRlN0cmluZ1JlZiwgUEFMX0VYUE9SVCkKIAogI2lmIFBMQVRGT1JN
KENPQ09BKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBD
b3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDcmVhdGVDb250aWd1b3VzLCBPU1N0YXR1cywgKENGQWxs
b2NhdG9yUmVmIHN0cnVjdHVyZUFsbG9jYXRvciwgQ01CbG9ja0J1ZmZlclJlZiBzb3VyY2VCdWZm
ZXIsIENGQWxsb2NhdG9yUmVmIGJsb2NrQWxsb2NhdG9yLCBjb25zdCBDTUJsb2NrQnVmZmVyQ3Vz
dG9tQmxvY2tTb3VyY2UqIGN1c3RvbUJsb2NrU291cmNlLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBz
aXplX3QgZGF0YUxlbmd0aCwgQ01CbG9ja0J1ZmZlckZsYWdzIGZsYWdzLCBDTUJsb2NrQnVmZmVy
UmVmKiBibG9ja0J1ZmZlck91dCksIChzdHJ1Y3R1cmVBbGxvY2F0b3IsIHNvdXJjZUJ1ZmZlciwg
YmxvY2tBbGxvY2F0b3IsIGN1c3RvbUJsb2NrU291cmNlLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5n
dGgsIGZsYWdzLCBibG9ja0J1ZmZlck91dCksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlw
dGlvbkdldE1lZGlhU3ViVHlwZSwgRm91ckNoYXJDb2RlLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJl
ZiBkZXNjKSwgKGRlc2MpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRp
YVR5cGUsIENNTWVkaWFUeXBlLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2Mp
LCBQQUxfRVhQT1JUKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0Nv
cmVNZWRpYVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNv
ZnRMaW5rLmgKaW5kZXggMWRiNTE4MWZjNTZkYmZiMDVmYjlmM2FjYzM3NTk4ZTRiMDM3MDlmMC4u
OTlhYjc1YzBmNGQ2ZmY2NWU4ZDI3NWY5YzM1MzVhOTJiMDJiODFjOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaApAQCAtNDMsMTIgKzQzLDE2IEBA
CiAjZGVmaW5lIENNU0FNUExFQlVGRkVSQ0FMTF9OT0VTQ0FQRQogI2VuZGlmCiAKK3R5cGVkZWYg
c3RydWN0IEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24gQXVkaW9TdHJlYW1QYWNrZXREZXNj
cmlwdGlvbjsKKwogU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlh
KQogCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01CbG9j
a0J1ZmZlckNvcHlEYXRhQnl0ZXMsIE9TU3RhdHVzLCAoQ01CbG9ja0J1ZmZlclJlZiB0aGVTb3Vy
Y2VCdWZmZXIsIHNpemVfdCBvZmZzZXRUb0RhdGEsIHNpemVfdCBkYXRhTGVuZ3RoLCB2b2lkKiBk
ZXN0aW5hdGlvbiksICh0aGVTb3VyY2VCdWZmZXIsIG9mZnNldFRvRGF0YSwgZGF0YUxlbmd0aCwg
ZGVzdGluYXRpb24pKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcyBzb2Z0TGlu
a19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlckNvcHlEYXRhQnl0ZXMKIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCwg
c2l6ZV90LCAoQ01CbG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSkKICNkZWZp
bmUgQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGggc29mdExpbmtfQ29yZU1lZGlhX0NNQmxvY2tC
dWZmZXJHZXREYXRhTGVuZ3RoCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENv
cmVNZWRpYSwgQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzLCBCb29sZWFuLCAoQ01CbG9j
a0J1ZmZlclJlZiB0aGVCdWZmZXIsIHNpemVfdCBvZmZzZXQsIHNpemVfdCBsZW5ndGgpLCAodGhl
QnVmZmVyLCBvZmZzZXQsIGxlbmd0aCkpCisjZGVmaW5lIENNQmxvY2tCdWZmZXJJc1JhbmdlQ29u
dGlndW91cyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3Vz
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1
ZmZlclJlcGxhY2VEYXRhQnl0ZXMsIE9TU3RhdHVzLCAoY29uc3Qgdm9pZCogc291cmNlQnl0ZXMs
IENNQmxvY2tCdWZmZXJSZWYgZGVzdGluYXRpb25CdWZmZXIsIHNpemVfdCBvZmZzZXRJbnRvRGVz
dGluYXRpb24sIHNpemVfdCBkYXRhTGVuZ3RoKSwgKHNvdXJjZUJ5dGVzLCBkZXN0aW5hdGlvbkJ1
ZmZlciwgb2Zmc2V0SW50b0Rlc3RpbmF0aW9uLCBkYXRhTGVuZ3RoKSkKICNkZWZpbmUgQ01CbG9j
a0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMgc29mdExpbmtfQ29yZU1lZGlhX0NNQmxvY2tCdWZmZXJS
ZXBsYWNlRGF0YUJ5dGVzCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVN
ZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldEV4dGVuc2lvbnMsIENGRGljdGlvbmFyeVJlZiwg
KENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSkKQEAgLTU5LDYgKzYzLDggQEAg
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVm
ZmVyR2V0RGF0YUJ1ZmZlciwgQ01CbG8KICNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVm
ZmVyIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldERhdGFCdWZmZXIKIFNPRlRf
TElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdl
dEZvcm1hdERlc2NyaXB0aW9uLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmLCAoQ01TYW1wbGVCdWZm
ZXJSZWYgc2J1ZiksIChzYnVmKSkKICNkZWZpbmUgQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNj
cmlwdGlvbiBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlw
dGlvbgorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2Ft
cGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMsIE9TU3RhdHVzLCAoQ01T
YW1wbGVCdWZmZXJSZWYgc2J1Ziwgc2l6ZV90IHBhY2tldERlc2NyaXB0aW9uc1NpemUsIEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb24qIHBhY2tldERlc2NyaXB0aW9uc091dCwgc2l6ZV90KiBw
YWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0KSwgKHNidWYsIHBhY2tldERlc2NyaXB0aW9u
c1NpemUsIHBhY2tldERlc2NyaXB0aW9uc091dCwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZU5lZWRl
ZE91dCkpCisjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlw
dGlvbnMgc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNr
ZXREZXNjcmlwdGlvbnMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1l
ZGlhLCBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8sIE9TU3RhdHVzLCAoQ01TYW1w
bGVCdWZmZXJSZWYgc2J1ZiwgQ01JdGVtSW5kZXggc2FtcGxlSW5kZXgsIENNU2FtcGxlVGltaW5n
SW5mbyogdGltaW5nSW5mb091dCksIChzYnVmLCBzYW1wbGVJbmRleCwgdGltaW5nSW5mb091dCkp
CiAjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbyBzb2Z0TGlua19Db3Jl
TWVkaWFfQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZvCiBTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJEYXRhSXNSZWFkeSwg
Qm9vbGVhbiwgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYpLCAoc2J1ZikpCkBAIC0xNjgsNiArMTc0
LDggQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIGtDTVRl
eHRWZXJ0aWNhbExheW91dF9SaWdodFRvTGVmdCwKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogCitT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZl
ckNyZWF0ZUNvbnRpZ3VvdXMsIE9TU3RhdHVzLCAoQ0ZBbGxvY2F0b3JSZWYgc3RydWN0dXJlQWxs
b2NhdG9yLCBDTUJsb2NrQnVmZmVyUmVmIHNvdXJjZUJ1ZmZlciwgQ0ZBbGxvY2F0b3JSZWYgYmxv
Y2tBbGxvY2F0b3IsIGNvbnN0IENNQmxvY2tCdWZmZXJDdXN0b21CbG9ja1NvdXJjZSogY3VzdG9t
QmxvY2tTb3VyY2UsIHNpemVfdCBvZmZzZXRUb0RhdGEsIHNpemVfdCBkYXRhTGVuZ3RoLCBDTUJs
b2NrQnVmZmVyRmxhZ3MgZmxhZ3MsIENNQmxvY2tCdWZmZXJSZWYqIGJsb2NrQnVmZmVyT3V0KSwg
KHN0cnVjdHVyZUFsbG9jYXRvciwgc291cmNlQnVmZmVyLCBibG9ja0FsbG9jYXRvciwgY3VzdG9t
QmxvY2tTb3VyY2UsIG9mZnNldFRvRGF0YSwgZGF0YUxlbmd0aCwgZmxhZ3MsIGJsb2NrQnVmZmVy
T3V0KSkKKyNkZWZpbmUgQ01CbG9ja0J1ZmZlckNyZWF0ZUNvbnRpZ3VvdXMgc29mdExpbmtfQ29y
ZU1lZGlhX0NNQmxvY2tCdWZmZXJDcmVhdGVDb250aWd1b3VzCiBTT0ZUX0xJTktfRlVOQ1RJT05f
Rk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3Vi
VHlwZSwgRm91ckNoYXJDb2RlLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2Mp
KQogI2RlZmluZSBDTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFTdWJUeXBlIHNvZnRMaW5rX0Nv
cmVNZWRpYV9DTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFTdWJUeXBlCiBTT0ZUX0xJTktfRlVO
Q1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1l
ZGlhVHlwZSwgQ01NZWRpYVR5cGUsIChDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVz
YykpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlv
blNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNv
ZnRMaW5rLmgKaW5kZXggYjMyNDE1OWJlMWVmZTdhNWU1ZmUyYjI2NGQ0MWE2YTBjODRmZDQ5Yi4u
NzAwZTljMzJjNGNmYjFiZGMzMGVjZjQ3YTAwMDYzMDcyMDUyNjkwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaApAQCAtMzI0
LDQgKzMyNCwxMSBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihQQUwsIEFWRm91bmRh
dGlvbiwgQVZPdXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0RpZAogI2RlZmluZSBBVk91dHB1dENv
bnRleHRPdXRwdXREZXZpY2VzRGlkQ2hhbmdlTm90aWZpY2F0aW9uIFBBTDo6Z2V0X0FWRm91bmRh
dGlvbl9BVk91dHB1dENvbnRleHRPdXRwdXREZXZpY2VzRGlkQ2hhbmdlTm90aWZpY2F0aW9uKCkK
ICNlbmRpZiAvLyBIQVZFKEFWUk9VVEVQSUNLRVJWSUVXKQogCisjaWYgUExBVEZPUk0oQ09DT0Ep
CitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9Db252ZXJ0ZXIpCitTT0ZU
X0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9Gb3JtYXQpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIEFWQXVkaW9Db21wcmVzc2VkQnVmZmVyKQorU09GVF9MSU5LX0NM
QVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvUENNQnVmZmVyKQorI2VuZGlmIC8vIFBMQVRGT1JN
KENPQ09BKQorCiAjZW5kaWYgLy8gVVNFKEFWRk9VTkRBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCmluZGV4IDM3Yzhi
MWZhZmQ1OGNjYmM2ZTg1MGM2ZjMwMTE3NjdjN2RhMzE2NDUuLjczMzk4NDVlMDcyNjU4MDFlMDY0
MDMwM2IyZTI5MWEwMTI0ZTg3MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Y29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQpAQCAtMjMwLDcgKzIzMCw3IEBAIFNPRlRf
TElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBB
VkF1ZGlvU2Vzc2lvblJvdXRlCiAKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9GT1JfU09V
UkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0SFRUUENvb2tpZXNL
ZXksIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZBSUxf
Rk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZVUkxBc3NldFJlcXVp
cmVzQ3VzdG9tVVJMTG9hZGluZ0tleSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKLSNlbmRpZgor
I2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiBTT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIEFWRm91bmRhdGlvbiwgQVZDYXB0dXJlU2Vzc2lvblNl
dEF1dGhvcml6ZWRUb1VzZUNhbWVyYUluTXVsdGlwbGVGb3JlZ3JvdW5kQXBwTGF5b3V0LCB2b2lk
LCAoQVZDYXB0dXJlU2Vzc2lvbiAqc2Vzc2lvbiksIChzZXNzaW9uKSkKQEAgLTI0NCw0ICsyNDQs
MTEgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZv
dW5kYXRpb24sIEFWUm91dGVEZXRlY3Rvck11bHQKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09V
UkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVk91dHB1dENvbnRleHRPdXRwdXRE
ZXZpY2VzRGlkQ2hhbmdlTm90aWZpY2F0aW9uLCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQogI2Vu
ZGlmIC8vIEhBVkUoQVZST1VURVBJQ0tFUlZJRVcpCiAKKyNpZiBQTEFURk9STShDT0NPQSkKK1NP
RlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBB
VkF1ZGlvQ29udmVydGVyLCBQQUxfRVhQT1JUKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0Vf
V0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9Gb3JtYXQsIFBBTF9FWFBPUlQp
CitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlv
biwgQVZBdWRpb0NvbXByZXNzZWRCdWZmZXIsIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfQ0xBU1Nf
Rk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb1BDTUJ1ZmZl
ciwgUEFMX0VYUE9SVCkKKyNlbmRpZgorCiAjZW5kaWYgLy8gVVNFKEFWRk9VTkRBVElPTikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBmMDFiOTkyN2UzY2M2MjJlOWNjYzAwYjExZWIyYTJjZGQwM2Y3NTM3Li40ZjQ5NTdmNTBlOGVi
NDRmNmYwNTgxOTA3MmRjMGE1MTczYmUxYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzIsNyArMjMyLDcgQEAKIAkJMDdF
RTc2RUMxQkU5NkRCMDAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0VFNzZFQTFCRTk2REIw
MDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0VFNzZFRjFCRUE2MTk4MDBGODkxMzMg
LyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RUU3NkVEMUJFQTYxOTgwMEY4OTEzMyAvKiBNb2NrUmVh
bHRpbWVWaWRlb1NvdXJjZU1hYy5oICovOyB9OwogCQkwN0Y0RTkzMzIwQjM1ODdGMDAyRTM4MDMg
LyogQVZBc3NldE1JTUVUeXBlQ2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA3QzhBRDEyMUQwNzNENjMwMDg3QzVDRSAvKiBBVkFzc2V0TUlNRVR5
cGVDYWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
Ci0JCTA3RjVDRkY1MjU4MkE1MUQwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdGNUNGRjQy
NTgyQTRGODAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggKi87IH07CisJCTA3
RjVDRkY1MjU4MkE1MUQwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdGNUNGRjQyNTgyQTRG
ODAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDdGNUNGRjYyNTgyQTUyOTAwNjYyRUY1
IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDdGNUNGRjIyNTgyQTRGODAwNjYyRUY1IC8qIFdlYk1BdWRp
b1V0aWxpdGllc0NvY29hLm1tICovOyB9OwogCQkwN0Y4NzY4NDFBRDU4MEY5MDA5MDU4NDkgLyog
TWVkaWFQbGF5YmFja1RhcmdldENvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA3Rjg3NjgzMUFENEE5NDUwMDkwNTg0OSAvKiBNZWRpYVBsYXli
YWNrVGFyZ2V0Q29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTA3Rjk0NDE2MTg2NEQwNDYwMDVEMzFDQiAvKiBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEQUU4QzA4MTc0NkI5NTcwMDUzMkQ3OCAvKiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYTNiM2EyZjExNTdjMmI3
ZTUwMGIyYTA0ZTQ2OGVkNTZhZDIwNDRiYy4uN2Q3Y2QyY2UxZGVmYjhjMDUxMDNiNDM4MWRhNzVm
NzBiNzI4MzQ3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBA
IC0xMDU1LDcgKzEwNTUsNyBAQCBTdHJpbmcgSFRNTE1lZGlhRWxlbWVudDo6Y2FuUGxheVR5cGUo
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSkgY29uc3QKICAgICAvLyBUZW1wb3JhcmlseSB3b3JrIGFy
b3VuZCBidWcgMjI2OTIyLiBGb3Igbm93IGNsYWltIHRoYXQgdGhlIG9wdXMgYW5kIHZvcmJpcyBj
b2RlY3MgYXJlbid0IHN1cHBvcnRlZAogICAgIC8vIHNvIHRoYXQgc2l0ZXMgcmVseWluZyBvbiB0
aGlzIHRlc3QgdG8gZGV0ZXJtaW5lIGlmIHdlYmF1ZGlvIHVzZSBvZiBvcHVzIG9yIHZvcmJpcyB3
b24ndCBlcnJvci4KICAgICBhdXRvIGNvZGVjcyA9IGNvbnRlbnRUeXBlLmNvZGVjcygpOwotICAg
IGlmIChzdXBwb3J0ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVkICYm
IChjb2RlY3MuY29udGFpbnMoIm9wdXMiKSB8fCBjb2RlY3MuY29udGFpbnMoInZvcmJpcyIpKSkK
KyAgICBpZiAoc3VwcG9ydCA9PSBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc1N1cHBvcnRl
ZCAmJiAoKGNvZGVjcy5jb250YWlucygib3B1cyIpICYmICF3ZWJNV2ViQXVkaW9FbmFibGVkKCkp
IHx8IGNvZGVjcy5jb250YWlucygidm9yYmlzIikpKQogICAgICAgICBzdXBwb3J0ID0gTWVkaWFQ
bGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNOb3RTdXBwb3J0ZWQ7CiAjZW5kaWYKIApAQCAtODE3NSw2
ICs4MTc1LDE1IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6aGFzTWVkaWFTdHJlYW1Tb3VyY2Uo
KSBjb25zdAogI2VuZGlmCiB9CiAKK2Jvb2wgSFRNTE1lZGlhRWxlbWVudDo6d2ViTVdlYkF1ZGlv
RW5hYmxlZCgpIGNvbnN0Cit7CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICByZXR1cm4g
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJNV2ViQXVkaW9FbmFi
bGVkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFTdHJlYW1DYXB0dXJl
U3RhcnRlZCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDEw
NTFjMDU4NTNmYzAxMmVkZGFjZDhiNzRjOTQ1YWJiYWMyZDUzMjAuLmY5MjZlZDYyNzMwMTFkNTE2
NDhhZGVmNTc5N2RiZWRmYTZkYjgyZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oCkBAIC05MzksNiArOTM5LDggQEAgcHJpdmF0ZToKICAgICBjb25zdCBMb2dnZXImIG1l
ZGlhUGxheWVyTG9nZ2VyKCkgZmluYWwgeyByZXR1cm4gbG9nZ2VyKCk7IH0KICNlbmRpZgogCisg
ICAgYm9vbCB3ZWJNV2ViQXVkaW9FbmFibGVkKCkgY29uc3Q7CisKICAgICBUaW1lciBtX3Byb2dy
ZXNzRXZlbnRUaW1lcjsKICAgICBUaW1lciBtX3BsYXliYWNrUHJvZ3Jlc3NUaW1lcjsKICAgICBU
aW1lciBtX3NjYW5UaW1lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmgKaW5kZXggYTBkM2NlYTc5ZDdlMGFlMDc0ODI0MGRkMjJlZWUyZDU1NzUwNDRhNi4u
Njg1YTBhMmFkNzU0NzI2OTlhZWJmMjE5ZmEwYzI1MTUyMWJlYjBiOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTIzNSw2ICsyMzUsOCBAQCBw
dWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICB2b2lkIHNldFdlYk1QYXJzZXJF
bmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fd2ViTVBhcnNlckVuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KICAgICBib29sIHdlYk1QYXJzZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJNUGFy
c2VyRW5hYmxlZDsgfQorICAgIHZvaWQgc2V0V2ViTVdlYkF1ZGlvRW5hYmxlZChib29sIGlzRW5h
YmxlZCkgeyBtX3dlYk1XZWJBdWRpb0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBib29sIHdl
Yk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYk1XZWJBdWRpb0VuYWJsZWQ7
IH0KICNlbmRpZgogCiAjaWYgSEFWRShDRUxFU1RJQUwpCkBAIC0zNzEsNiArMzczLDcgQEAgcHJp
dmF0ZToKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgYm9vbCBtX3dlYk1QYXJzZXJF
bmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fd2ViTVdlYkF1ZGlvRW5hYmxlZCB7IGZhbHNl
IH07CiAjZW5kaWYKIAogI2lmIEhBVkUoQ0VMRVNUSUFMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01l
ZGlhU2FtcGxlLmgKaW5kZXggOGRhNjAzNzc4ODI0MzMzMGFlMjUwZDljMTBjNzJlZTA1ODhlNzYw
Yy4uMDg0N2I5NzRlOTNlODcyYTIyOWU3YTE2MTBmMmQ0NGU5MDJjYzBiZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCkBAIC01Nyw3ICs1Nyw3IEBAIHN0cnVjdCBQbGF0Zm9y
bVNhbXBsZSB7CiAgICAgfSBzYW1wbGU7CiB9OwogCi1jbGFzcyBXRUJDT1JFX0VYUE9SVCBNZWRp
YVNhbXBsZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4geworY2xh
c3MgTWVkaWFTYW1wbGUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TWVkaWFTYW1wbGU+
IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYVNhbXBsZSgpID0gZGVmYXVsdDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCmluZGV4IDI0M2UxMDZiOWUz
M2RhOTNkZTlhMGNhZDMzYmMwOGU5MjA2NTMyMDAuLjdmMDNjMzMxZWUyMDEwYzk4OTI5YTAzMjRk
Y2FjOTU1ZDY1ZjhiYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvQnVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1
cy5jcHAKQEAgLTczLDYgKzczLDE2IEBAIHZvaWQgQXVkaW9CdXM6OnNldENoYW5uZWxNZW1vcnko
dW5zaWduZWQgY2hhbm5lbEluZGV4LCBmbG9hdCogc3RvcmFnZSwgc2l6ZV90IGxlCiAgICAgfQog
fQogCit2b2lkIEF1ZGlvQnVzOjpzZXRMZW5ndGgoc2l6ZV90IG5ld0xlbmd0aCkKK3sKKyAgICBS
RUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG5ld0xlbmd0aCA8PSBtX2xl
bmd0aCk7CisgICAgaWYgKG5ld0xlbmd0aCA9PSBtX2xlbmd0aCkKKyAgICAgICAgcmV0dXJuOwor
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoYW5uZWxzLnNpemUoKTsgKytpKQorICAg
ICAgICBtX2NoYW5uZWxzW2ldLT5zZXRMZW5ndGgobmV3TGVuZ3RoKTsKKyAgICBtX2xlbmd0aCA9
IG5ld0xlbmd0aDsKK30KKwogdm9pZCBBdWRpb0J1czo6emVybygpCiB7CiAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IG1fY2hhbm5lbHMuc2l6ZSgpOyArK2kpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA0MGU4MTEyMTFiNGRhMmNhOGM2NzBiNThiMzI5
NmIzNWNlNjljZDRhLi5lYTU4NWM4NDhlYTk0MTIyNzQwMjlhODg2N2FiOWNjYWM3MDc0ZDY3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKQEAgLTgzLDYgKzgzLDkg
QEAgcHVibGljOgogICAgIC8vIE51bWJlciBvZiBzYW1wbGUtZnJhbWVzCiAgICAgc2l6ZV90IGxl
bmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CiAKKyAgICAvLyBSZWR1Y2UgdGhlIG51
bWJlciBvZiBmcmFtZXMgYXZhaWxhYmxlIHdpdGhvdXQgY2hhbmdpbmcgdGhlIGFsbG9jYXRlZCBt
ZW1vcnkgc2l6ZS4KKyAgICB2b2lkIHNldExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKTsKKwogICAg
IC8vIFNhbXBsZS1yYXRlIDogMC4wIGlmIHVua25vd24gb3IgImRvbid0IGNhcmUiCiAgICAgZmxv
YXQgc2FtcGxlUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxlUmF0ZTsgfQogICAgIHZvaWQg
c2V0U2FtcGxlUmF0ZShmbG9hdCBzYW1wbGVSYXRlKSB7IG1fc2FtcGxlUmF0ZSA9IHNhbXBsZVJh
dGU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hh
bm5lbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKaW5k
ZXggOTc1YmQwYjVhYmQ4ZjcyNTVhMDVhN2RkNzBmOTY1MGIxZDQ5NDY2Ny4uYzk3NjE1ZjBkYTE1
MWMyM2Q0MzNjYjU2MDY3YmI1NDc5NDYyYTBkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKQEAgLTc0LDYgKzc0LDE0IEBAIHB1YmxpYzoKICAgICAv
LyBIb3cgbWFueSBzYW1wbGUtZnJhbWVzIGRvIHdlIGNvbnRhaW4/CiAgICAgc2l6ZV90IGxlbmd0
aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CiAKKyAgICAvLyBTZXQgbmV3IGxlbmd0aC4g
Q2FuIG9ubHkgYmUgc2V0IHRvIGEgdmFsdWUgbG93ZXIgdGhhbiB0aGUgY3VycmVudGx5CisgICAg
Ly8gc2V0IGxlbmd0aC4KKyAgICB2b2lkIHNldExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKQorICAg
IHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihuZXdM
ZW5ndGggPD0gbGVuZ3RoKCkpOworICAgICAgICBtX2xlbmd0aCA9IG5ld0xlbmd0aDsKKyAgICB9
CisKICAgICAvLyBEaXJlY3QgYWNjZXNzIHRvIFBDTSBzYW1wbGUgZGF0YS4gTm9uLWNvbnN0IGFj
Y2Vzc29yIGNsZWFycyBzaWxlbnQgZmxhZy4KICAgICBmbG9hdCogbXV0YWJsZURhdGEoKQogICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
RmlsZVJlYWRlckNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29h
L0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcAppbmRleCA1ZDU2YjllZTFhMGQzZDY3YTc5YzMwNzYx
ZDEzODE1ZDdjMDY0NGNlLi41YmMyNGUzN2JmMTZlNjU4YjU1YjgxYzViMjZiZWZlNDE1Yjg1NzMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Zp
bGVSZWFkZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCkBAIC0zNCwyMSArMzQsMzYgQEAKIAogI2luY2x1
ZGUgIkF1ZGlvQnVzLmgiCiAjaW5jbHVkZSAiQXVkaW9GaWxlUmVhZGVyLmgiCisjaW5jbHVkZSAi
QXVkaW9TYW1wbGVEYXRhU291cmNlLmgiCisjaW5jbHVkZSAiQXVkaW9UcmFja1ByaXZhdGUuaCIK
ICNpbmNsdWRlICJGbG9hdENvbnZlcnNpb24uaCIKKyNpbmNsdWRlICJJbmJhbmRUZXh0VHJhY2tQ
cml2YXRlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIk1lZGlhU2FtcGxlQVZG
T2JqQy5oIgorI2luY2x1ZGUgIlZpZGVvVHJhY2tQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViTUF1
ZGlvVXRpbGl0aWVzQ29jb2EuaCIKKyNpbmNsdWRlIDxBdWRpb1Rvb2xib3gvQXVkaW9Db252ZXJ0
ZXIuaD4KICNpbmNsdWRlIDxBdWRpb1Rvb2xib3gvRXh0ZW5kZWRBdWRpb0ZpbGUuaD4KICNpbmNs
dWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgotI2luY2x1ZGUgPHBhbC9jZi9B
dWRpb1Rvb2xib3hTb2Z0TGluay5oPgorI2luY2x1ZGUgPFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0u
aD4KKyNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8d3RmL0NoZWNrZWRBcml0aG1ldGljLmg+
CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4K
ICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Njb3BlLmg+CisjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGlu
ay5oPgorI2luY2x1ZGUgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gQXVkaW9CdWZmZXJMaXN0KiB0
cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3Qoc2l6ZV90IG51bWJlck9mQnVmZmVycykKIHsKKyAgICBp
ZiAoIW51bWJlck9mQnVmZmVycykKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgQ2hlY2tl
ZFNpemUgYnVmZmVyTGlzdFNpemUgPSBzaXplb2YoQXVkaW9CdWZmZXJMaXN0KSAtIHNpemVvZihB
dWRpb0J1ZmZlcik7Ci0gICAgYnVmZmVyTGlzdFNpemUgKz0gbnVtYmVyT2ZCdWZmZXJzICogc2l6
ZW9mKEF1ZGlvQnVmZmVyKTsKKyAgICBidWZmZXJMaXN0U2l6ZSArPSBXVEY6OmNoZWNrZWRQcm9k
dWN0PHNpemVfdD4obnVtYmVyT2ZCdWZmZXJzLCBzaXplb2YoQXVkaW9CdWZmZXIpKTsKICAgICBp
ZiAoYnVmZmVyTGlzdFNpemUuaGFzT3ZlcmZsb3dlZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIApAQCAtODcsMTAgKzEwMiw4OSBAQCBzdGF0aWMgYm9vbCB2YWxpZGF0ZUF1ZGlvQnVmZmVy
TGlzdChBdWRpb0J1ZmZlckxpc3QqIGJ1ZmZlckxpc3QpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
Ky8vIE9uIHN0YWNrIFJBSUkgY2xhc3MgdGhhdCB3aWxsIGZyZWUgdGhlIGFsbG9jYXRlZCBBdWRp
b0J1ZmZlckxpc3QgYXMgbmVlZGVkLgorY2xhc3MgQXVkaW9CdWZmZXJMaXN0SG9sZGVyIHsKK3B1
YmxpYzoKKyAgICBleHBsaWNpdCBBdWRpb0J1ZmZlckxpc3RIb2xkZXIoc2l6ZV90IG51bWJlck9m
Q2hhbm5lbHMpCisgICAgICAgIDogbV9idWZmZXJMaXN0KHRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlz
dChudW1iZXJPZkNoYW5uZWxzKSkKKyAgICB7CisgICAgfQorCisgICAgfkF1ZGlvQnVmZmVyTGlz
dEhvbGRlcigpCisgICAgeworICAgICAgICBpZiAobV9idWZmZXJMaXN0KQorICAgICAgICAgICAg
ZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChtX2J1ZmZlckxpc3QpOworICAgIH0KKworICAgIGV4cGxp
Y2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiAhIW1fYnVmZmVyTGlzdDsgfQorICAg
IEF1ZGlvQnVmZmVyTGlzdCogb3BlcmF0b3ItPigpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyTGlz
dDsgfQorICAgIEF1ZGlvQnVmZmVyTGlzdCogb3BlcmF0b3IqKCkgY29uc3QgeyByZXR1cm4gbV9i
dWZmZXJMaXN0OyB9CisgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gdmFsaWRhdGVB
dWRpb0J1ZmZlckxpc3QobV9idWZmZXJMaXN0KTsgfQorcHJpdmF0ZToKKyAgICBBdWRpb0J1ZmZl
ckxpc3QqIG1fYnVmZmVyTGlzdDsKK307CisKK3N0YXRpYyBjb25zdGV4cHIgdWludDMyX3Qga09w
dXNNYXhGcmFtZUxlbmd0aCA9IDk0Oworc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBrVm9yYmlz
TWF4RnJhbWVMZW5ndGggPSA0MDk2OworCitjbGFzcyBBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisKK3B1YmxpYzoKKyNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQorICAgIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk06OkluaXRpYWxpemF0aW9uU2Vn
bWVudCBtX2luaXRTZWdtZW50OworI2VuZGlmCisgICAgTWVkaWFUaW1lIG1fZHVyYXRpb247Cisg
ICAgVmVjdG9yPFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+PiBtX3NhbXBsZXM7Cit9OworCiBBdWRp
b0ZpbGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0
YVNpemUpCiAgICAgOiBtX2RhdGEoZGF0YSkKICAgICAsIG1fZGF0YVNpemUoZGF0YVNpemUpCisj
aWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ2dlcihMb2dnZXI6OmNyZWF0ZSh0
aGlzKSkKKyAgICAsIG1fbG9nSWRlbnRpZmllcihMb2dnZXJIZWxwZXI6OnVuaXF1ZUxvZ0lkZW50
aWZpZXIoKSkKKyNlbmRpZgogeworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgaWYgKGlz
TWF5YmVXZWJNKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpKSB7
CisgICAgICAgIGF1dG8gcGFyc2VyID0gYWRvcHRSZWYobmV3IFNvdXJjZUJ1ZmZlclBhcnNlcldl
Yk0oKSk7CisgICAgICAgIGJvb2wgZXJyb3IgPSBmYWxzZTsKKyAgICAgICAgc3RkOjpvcHRpb25h
bDx1aW50NjRfdD4gYXVkaW9UcmFja0lkOworICAgICAgICBNZWRpYVRpbWUgZHVyYXRpb247Cisg
ICAgICAgIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk06OkluaXRpYWxpemF0aW9uU2VnbWVudCBpbml0
U2VnbWVudDsKKyAgICAgICAgVmVjdG9yPFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+PiBzYW1wbGVz
OworICAgICAgICBwYXJzZXItPnNldERpZEVuY291bnRlckVycm9yRHVyaW5nUGFyc2luZ0NhbGxi
YWNrKFsmXSh1aW50NjRfdCkgeworICAgICAgICAgICAgZXJyb3IgPSB0cnVlOworICAgICAgICB9
KTsKKyAgICAgICAgcGFyc2VyLT5zZXREaWRQYXJzZUluaXRpYWxpemF0aW9uRGF0YUNhbGxiYWNr
KFsmXShTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJbml0aWFsaXphdGlvblNlZ21lbnQmJiBpbml0
KSB7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGF1ZGlvVHJhY2sgOiBpbml0LmF1ZGlvVHJhY2tz
KSB7CisgICAgICAgICAgICAgICAgaWYgKGF1ZGlvVHJhY2sudHJhY2sgJiYgYXVkaW9UcmFjay50
cmFjay0+dHJhY2tVSUQoKSkgeworICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbiA9IGluaXQu
ZHVyYXRpb247CisgICAgICAgICAgICAgICAgICAgIGF1ZGlvVHJhY2tJZCA9IGF1ZGlvVHJhY2su
dHJhY2stPnRyYWNrVUlEKCk7CisgICAgICAgICAgICAgICAgICAgIGluaXRTZWdtZW50ID0gV1RG
TW92ZShpbml0KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSk7CisgICAgICAgIHBhcnNlci0+c2V0RGlkUHJv
dmlkZU1lZGlhRGF0YUNhbGxiYWNrKFsmXShSZWY8TWVkaWFTYW1wbGU+JiYgc2FtcGxlLCB1aW50
NjRfdCB0cmFja0lELCBjb25zdCBTdHJpbmcmKSB7CisgICAgICAgICAgICBpZiAoIWF1ZGlvVHJh
Y2tJZCB8fCB0cmFja0lEICE9ICphdWRpb1RyYWNrSWQpCisgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgc2FtcGxlcy5hcHBlbmQoc3RhdGljX3JlZmVyZW5jZV9jYXN0PE1lZGlh
U2FtcGxlQVZGT2JqQz4oV1RGTW92ZShzYW1wbGUpKSk7CisgICAgICAgIH0pOworICAgICAgICBw
YXJzZXItPnNldENhbGxPbkNsaWVudFRocmVhZENhbGxiYWNrKFtdKFdURjo6RnVuY3Rpb248dm9p
ZCgpPiYmIGZ1bmN0aW9uKSB7CisgICAgICAgICAgICBmdW5jdGlvbigpOworICAgICAgICB9KTsK
KyAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IHZlY3RvcihzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90
Kj4oZGF0YSksIGRhdGFTaXplKTsKKyAgICAgICAgU291cmNlQnVmZmVyUGFyc2VyOjpTZWdtZW50
IHNlZ21lbnQoV1RGTW92ZSh2ZWN0b3IpKTsKKyAgICAgICAgcGFyc2VyLT5hcHBlbmREYXRhKFdU
Rk1vdmUoc2VnbWVudCkpOworICAgICAgICBpZiAoYXVkaW9UcmFja0lkKSB7CisgICAgICAgICAg
ICBwYXJzZXItPmZsdXNoUGVuZGluZ0F1ZGlvQnVmZmVycygpOworICAgICAgICAgICAgbV93ZWJt
RGF0YSA9IG1ha2VVbmlxdWU8QXVkaW9GaWxlUmVhZGVyV2ViTURhdGE+KEF1ZGlvRmlsZVJlYWRl
cldlYk1EYXRhIHsgV1RGTW92ZShpbml0U2VnbWVudCksIFdURk1vdmUoZHVyYXRpb24pLCBXVEZN
b3ZlKHNhbXBsZXMpIH0pOworICAgICAgICB9CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5k
aWYKICAgICBpZiAoUEFMOjpBdWRpb0ZpbGVPcGVuV2l0aENhbGxiYWNrcyh0aGlzLCByZWFkUHJv
YywgMCwgZ2V0U2l6ZVByb2MsIDAsIDAsICZtX2F1ZGlvRmlsZUlEKSAhPSBub0VycikKICAgICAg
ICAgcmV0dXJuOwogCkBAIC0xMTEsNiArMjA1LDEyIEBAIEF1ZGlvRmlsZVJlYWRlcjo6fkF1ZGlv
RmlsZVJlYWRlcigpCiAgICAgbV9hdWRpb0ZpbGVJRCA9IDA7CiB9CiAKK2Jvb2wgQXVkaW9GaWxl
UmVhZGVyOjppc01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUp
IGNvbnN0Cit7CisgICAgLy8gRnJvbSBodHRwczovL21pbWVzbmlmZi5zcGVjLndoYXR3Zy5vcmcv
I3NpZ25hdHVyZS1mb3Itd2VibQorICAgIHJldHVybiBkYXRhU2l6ZSA+PSA0ICYmIGRhdGFbMF0g
PT0gMHgxQSAmJiBkYXRhWzFdID09IDB4NDUgJiYgZGF0YVsyXSA9PSAweERGICYmIGRhdGFbM10g
PT0gMHhBMzsKK30KKwogT1NTdGF0dXMgQXVkaW9GaWxlUmVhZGVyOjpyZWFkUHJvYyh2b2lkKiBj
bGllbnREYXRhLCBTSW50NjQgcG9zaXRpb24sIFVJbnQzMiByZXF1ZXN0Q291bnQsIHZvaWQqIGJ1
ZmZlciwgVUludDMyKiBhY3R1YWxDb3VudCkKIHsKICAgICBhdXRvKiBhdWRpb0ZpbGVSZWFkZXIg
PSBzdGF0aWNfY2FzdDxBdWRpb0ZpbGVSZWFkZXIqPihjbGllbnREYXRhKTsKQEAgLTEzNiw2NyAr
MjM2LDE3MiBAQCBTSW50NjQgQXVkaW9GaWxlUmVhZGVyOjpnZXRTaXplUHJvYyh2b2lkKiBjbGll
bnREYXRhKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxBdWRpb0ZpbGVSZWFkZXIqPihjbGllbnRE
YXRhKS0+ZGF0YVNpemUoKTsKIH0KIAotUmVmUHRyPEF1ZGlvQnVzPiBBdWRpb0ZpbGVSZWFkZXI6
OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRvTW9ubykKK3N0cnVjdCBQYXNz
dGhyb3VnaFVzZXJEYXRhIHsKKyAgICBVSW50MzIgbV9jaGFubmVsczsKKyAgICBVSW50MzIgbV9k
YXRhU2l6ZTsKKyAgICBjb25zdCB2b2lkKiBtX2RhdGE7CisgICAgVUludDMyIG1faW5kZXg7Cisg
ICAgVUludDMyIG1fbnVtUGFja2V0czsKKyAgICBBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
KiBtX3BhY2tldHM7Cit9OworCisvLyBFcnJvciB2YWx1ZSB3ZSBwYXNzIHRocm91Z2ggdGhlIGRl
Y29kZXIgdG8gc2lnbmFsIHRoYXQgbm90aGluZworLy8gaGFzIGdvbmUgd3JvbmcgZHVyaW5nIGRl
Y29kaW5nIGFuZCB3ZSdyZSBkb25lIHByb2Nlc3NpbmcgdGhlIHBhY2tldC4KK2NvbnN0IHVpbnQz
Ml90IGtOb01vcmVEYXRhRXJyID0gJ01PQVInOworCitzdGF0aWMgT1NTdGF0dXMgcGFzc3Rocm91
Z2hJbnB1dERhdGFDYWxsYmFjaygKKyAgICBBdWRpb0NvbnZlcnRlclJlZiwgVUludDMyKiBudW1E
YXRhUGFja2V0cywgQXVkaW9CdWZmZXJMaXN0KiBkYXRhLCBBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9uKiogcGFja2V0RGVzYywgdm9pZCogaW5Vc2VyRGF0YSkKK3sKKyAgICBQYXNzdGhyb3Vn
aFVzZXJEYXRhKiB1c2VyRGF0YSA9IChQYXNzdGhyb3VnaFVzZXJEYXRhKilpblVzZXJEYXRhOwor
ICAgIGlmICh1c2VyRGF0YS0+bV9pbmRleCA9PSB1c2VyRGF0YS0+bV9udW1QYWNrZXRzKSB7Cisg
ICAgICAgICpudW1EYXRhUGFja2V0cyA9IDA7CisgICAgICAgIHJldHVybiBrTm9Nb3JlRGF0YUVy
cjsKKyAgICB9CisKKyAgICBpZiAocGFja2V0RGVzYykgeworICAgICAgICBpZiAodXNlckRhdGEt
Pm1faW5kZXggPj0gdXNlckRhdGEtPm1fbnVtUGFja2V0cykgeworICAgICAgICAgICAgKm51bURh
dGFQYWNrZXRzID0gMDsKKyAgICAgICAgICAgIHJldHVybiBrQXVkaW9Db252ZXJ0ZXJFcnJfUmVx
dWlyZXNQYWNrZXREZXNjcmlwdGlvbnNFcnJvcjsKKyAgICAgICAgfQorICAgICAgICAqcGFja2V0
RGVzYyA9ICZ1c2VyRGF0YS0+bV9wYWNrZXRzW3VzZXJEYXRhLT5tX2luZGV4XTsKKyAgICB9CisK
KyAgICBkYXRhLT5tQnVmZmVyc1swXS5tTnVtYmVyQ2hhbm5lbHMgPSB1c2VyRGF0YS0+bV9jaGFu
bmVsczsKKyAgICBkYXRhLT5tQnVmZmVyc1swXS5tRGF0YUJ5dGVTaXplID0gdXNlckRhdGEtPm1f
ZGF0YVNpemU7CisgICAgZGF0YS0+bUJ1ZmZlcnNbMF0ubURhdGEgPSBjb25zdF9jYXN0PHZvaWQq
Pih1c2VyRGF0YS0+bV9kYXRhKTsKKworICAgICpudW1EYXRhUGFja2V0cyA9IDE7CisgICAgdXNl
ckRhdGEtPm1faW5kZXgrKzsKKworICAgIHJldHVybiBub0VycjsKK30KKworc3NpemVfdCBBdWRp
b0ZpbGVSZWFkZXI6Om51bWJlck9mRnJhbWVzKCkgY29uc3QKIHsKKyAgICBTSW50NjQgbnVtYmVy
T2ZGcmFtZXNJbjY0ID0gMDsKKworICAgIGlmIChtX3dlYm1EYXRhKSB7CisgICAgICAgIGlmICht
X3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIC0xOwor
CisgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdG90YWwgbnVtYmVyIG9mIGRlY29kZWQgc2FtcGxl
cyB0aGF0IHdlcmUgZGVtdXhlZC4KKyAgICAgICAgLy8gVGhpcyBjb2RlIG9ubHkgaGFuZGxlIHRo
ZSBDTVNhbXBsZUJ1ZmZlciBhcyBnZW5lcmF0ZWQgYnkgdGhlIFNvdXJjZUJ1ZmZlclBhcnNlcldl
Yk0KKyAgICAgICAgLy8gd2hlcmUgYSBBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyBhcnJh
eSBpcyBhbHdheXMgcHJvdmlkZWQgZXZlbiB3aXRoCisgICAgICAgIC8vIENvbnN0YW50IGJpdHJh
dGUgYW5kIGNvbnN0YW50IGZyYW1lcy1wZXItcGFja2V0IGF1ZGlvLgorICAgICAgICBmb3IgKGF1
dG8mIHNhbXBsZSA6IG1fd2VibURhdGEtPm1fc2FtcGxlcykgeworICAgICAgICAgICAgQ01TYW1w
bGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyID0gc2FtcGxlLT5zYW1wbGVCdWZmZXIoKTsKKyAgICAg
ICAgICAgIGNvbnN0IENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0RGVzY3JpcHRpb24gPSBQ
QUw6OkNNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24oc2FtcGxlQnVmZmVyKTsKKyAg
ICAgICAgICAgIGlmICghZm9ybWF0RGVzY3JpcHRpb24pCisgICAgICAgICAgICAgICAgcmV0dXJu
IC0xOworICAgICAgICAgICAgY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25z
dCBhc2JkID0gUEFMOjpDTUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2Ny
aXB0aW9uKGZvcm1hdERlc2NyaXB0aW9uKTsKKyAgICAgICAgICAgIGlmICghYXNiZCkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgICAgIHNpemVfdCBwYWNrZXREZXNjcmlw
dGlvbnNTaXplOworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0
cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIDAsIG51bGxwdHIsICZwYWNrZXRE
ZXNjcmlwdGlvbnNTaXplKSAhPSBub0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7Cisg
ICAgICAgICAgICBzaXplX3QgbnVtRGVzY3JpcHRpb25zID0gcGFja2V0RGVzY3JpcHRpb25zU2l6
ZSAvIHNpemVvZihBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKTsKKyAgICAgICAgICAgIGlm
ICghbnVtRGVzY3JpcHRpb25zKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAg
ICAgIGF1dG8gZGVzY3JpcHRpb25zID0gV1RGOjptYWtlVW5pcXVlQXJyYXk8QXVkaW9TdHJlYW1Q
YWNrZXREZXNjcmlwdGlvbj4obnVtRGVzY3JpcHRpb25zKTsKKyAgICAgICAgICAgIGlmIChQQUw6
OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVm
ZmVyLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBkZXNjcmlwdGlvbnMuZ2V0KCksIG51bGxwdHIp
ICE9IG5vRXJyKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIENNSXRl
bUNvdW50IG51bVBhY2tldHMgPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0TnVtU2FtcGxlcyhzYW1w
bGVCdWZmZXIpOworICAgICAgICAgICAgaWYgKG51bURlc2NyaXB0aW9ucyAhPSBzaXplX3QobnVt
UGFja2V0cykpIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywg
IlVuaGFuZGxlZCBDTVNhbXBsZUJ1ZmZlciBzdHJ1Y3R1cmUiKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gLTE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IG51bURlc2NyaXB0aW9uczsgaSsrKSB7CisgICAgICAgICAgICAgICAgdWludDMyX3QgZnBw
ID0gZGVzY3JpcHRpb25zW2ldLm1WYXJpYWJsZUZyYW1lc0luUGFja2V0ID8gZGVzY3JpcHRpb25z
W2ldLm1WYXJpYWJsZUZyYW1lc0luUGFja2V0IDogYXNiZC0+bUZyYW1lc1BlclBhY2tldDsKKyAg
ICAgICAgICAgICAgICBudW1iZXJPZkZyYW1lc0luNjQgKz0gZnBwOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICAgIHJldHVybiBudW1iZXJPZkZyYW1lc0luNjQ7CisgICAgfQorCiAg
ICAgaWYgKCFtX2V4dEF1ZGlvRmlsZVJlZikKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAg
ICAgIHJldHVybiAtMTsKIAotICAgIC8vIEdldCBmaWxlJ3MgZGF0YSBmb3JtYXQKLSAgICBVSW50
MzIgc2l6ZSA9IHNpemVvZihtX2ZpbGVEYXRhRm9ybWF0KTsKLSAgICBpZiAoUEFMOjpFeHRBdWRp
b0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5
X0ZpbGVEYXRhRm9ybWF0LCAmc2l6ZSwgJm1fZmlsZURhdGFGb3JtYXQpICE9IG5vRXJyKQotICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihudW1iZXJPZkZy
YW1lc0luNjQpOworICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVk
aW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmlsZUxlbmd0aEZyYW1lcywgJnNpemUs
ICZudW1iZXJPZkZyYW1lc0luNjQpICE9IG5vRXJyIHx8IG51bWJlck9mRnJhbWVzSW42NCA8PSAw
KQorICAgICAgICByZXR1cm4gLTE7CiAKLSAgICBzaXplX3QgbnVtYmVyT2ZDaGFubmVscyA9IG1f
ZmlsZURhdGFGb3JtYXQubUNoYW5uZWxzUGVyRnJhbWU7CisgICAgcmV0dXJuIG51bWJlck9mRnJh
bWVzSW42NDsKK30KIAotICAgIC8vIE51bWJlciBvZiBmcmFtZXMKLSAgICBTSW50NjQgbnVtYmVy
T2ZGcmFtZXM2NCA9IDA7Ci0gICAgc2l6ZSA9IHNpemVvZihudW1iZXJPZkZyYW1lczY0KTsKLSAg
ICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4
dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVMZW5ndGhGcmFtZXMsICZzaXplLCAmbnVtYmVyT2ZGcmFt
ZXM2NCkgIT0gbm9FcnIgfHwgbnVtYmVyT2ZGcmFtZXM2NCA8PSAwKQotICAgICAgICByZXR1cm4g
bnVsbHB0cjsKK3N0ZDo6b3B0aW9uYWw8QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uPiBBdWRp
b0ZpbGVSZWFkZXI6OmZpbGVEYXRhRm9ybWF0KCkgY29uc3QKK3sKKyAgICBpZiAobV93ZWJtRGF0
YSkgeworICAgICAgICBpZiAobV93ZWJtRGF0YS0+bV9zYW1wbGVzLmlzRW1wdHkoKSkKKyAgICAg
ICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBmb3Jt
YXREZXNjcmlwdGlvbiA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbiht
X3dlYm1EYXRhLT5tX3NhbXBsZXNbMF0tPnNhbXBsZUJ1ZmZlcigpKTsKKyAgICAgICAgaWYgKCFm
b3JtYXREZXNjcmlwdGlvbikKKyAgICAgICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgY29u
c3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25zdCBhc2JkID0gUEFMOjpDTUF1ZGlv
Rm9ybWF0RGVzY3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKGZvcm1hdERlc2NyaXB0
aW9uKTsKKyAgICAgICAgcmV0dXJuICphc2JkOworICAgIH0KIAotICAgIGRvdWJsZSBmaWxlU2Ft
cGxlUmF0ZSA9IG1fZmlsZURhdGFGb3JtYXQubVNhbXBsZVJhdGU7CisgICAgQXVkaW9TdHJlYW1C
YXNpY0Rlc2NyaXB0aW9uIGZvcm1hdDsKKyAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihmb3JtYXQp
OworICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVm
LCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZzaXplLCAmZm9ybWF0KSAh
PSBub0VycikKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gZm9ybWF0OworfQogCitB
dWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gQXVkaW9GaWxlUmVhZGVyOjpjbGllbnREYXRhRm9y
bWF0KGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5Gb3JtYXQsIGZsb2F0IHNh
bXBsZVJhdGUpIGNvbnN0Cit7CiAgICAgLy8gTWFrZSBjbGllbnQgZm9ybWF0IHNhbWUgbnVtYmVy
IG9mIGNoYW5uZWxzIGFzIGZpbGUgZm9ybWF0LCBidXQgdHdlYWsgYSBmZXcgdGhpbmdzLgogICAg
IC8vIENsaWVudCBmb3JtYXQgd2lsbCBiZSBsaW5lYXIgUENNIChjYW5vbmljYWwpLCBhbmQgcG90
ZW50aWFsbHkgY2hhbmdlIHNhbXBsZS1yYXRlLgotICAgIG1fY2xpZW50RGF0YUZvcm1hdCA9IG1f
ZmlsZURhdGFGb3JtYXQ7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIG91dEZvcm1h
dCA9IGluRm9ybWF0OwogCiAgICAgY29uc3QgaW50IGJ5dGVzUGVyRmxvYXQgPSBzaXplb2YoRmxv
YXQzMik7CiAgICAgY29uc3QgaW50IGJpdHNQZXJCeXRlID0gODsKLSAgICBtX2NsaWVudERhdGFG
b3JtYXQubUZvcm1hdElEID0ga0F1ZGlvRm9ybWF0TGluZWFyUENNOwotICAgIG1fY2xpZW50RGF0
YUZvcm1hdC5tRm9ybWF0RmxhZ3MgPSBrQXVkaW9Gb3JtYXRGbGFnc05hdGl2ZUZsb2F0UGFja2Vk
IHwga0F1ZGlvRm9ybWF0RmxhZ0lzTm9uSW50ZXJsZWF2ZWQ7Ci0gICAgbV9jbGllbnREYXRhRm9y
bWF0Lm1CeXRlc1BlclBhY2tldCA9IGJ5dGVzUGVyRmxvYXQ7Ci0gICAgbV9jbGllbnREYXRhRm9y
bWF0Lm1GcmFtZXNQZXJQYWNrZXQgPSAxOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQnl0ZXNQ
ZXJGcmFtZSA9IGJ5dGVzUGVyRmxvYXQ7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1DaGFubmVs
c1BlckZyYW1lID0gbnVtYmVyT2ZDaGFubmVsczsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJp
dHNQZXJDaGFubmVsID0gYml0c1BlckJ5dGUgKiBieXRlc1BlckZsb2F0OworICAgIG91dEZvcm1h
dC5tRm9ybWF0SUQgPSBrQXVkaW9Gb3JtYXRMaW5lYXJQQ007CisgICAgb3V0Rm9ybWF0Lm1Gb3Jt
YXRGbGFncyA9IGtBdWRpb0Zvcm1hdEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQgfCBrQXVkaW9Gb3Jt
YXRGbGFnSXNOb25JbnRlcmxlYXZlZDsKKyAgICBvdXRGb3JtYXQubUJ5dGVzUGVyUGFja2V0ID0g
b3V0Rm9ybWF0Lm1CeXRlc1BlckZyYW1lID0gYnl0ZXNQZXJGbG9hdDsKKyAgICBvdXRGb3JtYXQu
bUZyYW1lc1BlclBhY2tldCA9IDE7CisgICAgb3V0Rm9ybWF0Lm1CaXRzUGVyQ2hhbm5lbCA9IGJp
dHNQZXJCeXRlICogYnl0ZXNQZXJGbG9hdDsKIAogICAgIGlmIChzYW1wbGVSYXRlKQotICAgICAg
ICBtX2NsaWVudERhdGFGb3JtYXQubVNhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOworICAgICAgICBv
dXRGb3JtYXQubVNhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOworCisgICAgcmV0dXJuIG91dEZvcm1h
dDsKK30KIAotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFByb3BlcnR5KG1fZXh0QXVkaW9G
aWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0YUZvcm1hdCwgc2l6ZW9mKEF1
ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksICZtX2NsaWVudERhdGFGb3JtYXQpICE9IG5vRXJy
KQorUmVmUHRyPEF1ZGlvQnVzPiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1w
bGVSYXRlLCBib29sIG1peFRvTW9ubykKK3sKKyAgICBTSW50NjQgbnVtYmVyT2ZGcmFtZXNJbjY0
ID0gbnVtYmVyT2ZGcmFtZXMoKTsKKyAgICBpZiAobnVtYmVyT2ZGcmFtZXNJbjY0IDw9IDApCiAg
ICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgLy8gQ2hhbmdlIG51bWJlck9mRnJhbWVzNjQg
dG8gZGVzdGluYXRpb24gc2FtcGxlLXJhdGUKLSAgICBudW1iZXJPZkZyYW1lczY0ID0gbnVtYmVy
T2ZGcmFtZXM2NCAqIChtX2NsaWVudERhdGFGb3JtYXQubVNhbXBsZVJhdGUgLyBmaWxlU2FtcGxl
UmF0ZSk7Ci0gICAgc2l6ZV90IG51bWJlck9mRnJhbWVzID0gc3RhdGljX2Nhc3Q8c2l6ZV90Pihu
dW1iZXJPZkZyYW1lczY0KTsKKyAgICBhdXRvIGluRm9ybWF0ID0gZmlsZURhdGFGb3JtYXQoKTsK
KyAgICBpZiAoIWluRm9ybWF0KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAgIEF1ZGlv
U3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBvdXRGb3JtYXQgPSBjbGllbnREYXRhRm9ybWF0KCppbkZv
cm1hdCwgc2FtcGxlUmF0ZSk7CisgICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBpbkZvcm1h
dC0+bUNoYW5uZWxzUGVyRnJhbWU7CisgICAgZG91YmxlIGZpbGVTYW1wbGVSYXRlID0gaW5Gb3Jt
YXQtPm1TYW1wbGVSYXRlOworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc091dDY0ID0gbnVtYmVy
T2ZGcmFtZXNJbjY0ICogKG91dEZvcm1hdC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVSYXRlKTsK
KyAgICBzaXplX3QgbnVtYmVyT2ZGcmFtZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51bWJlck9m
RnJhbWVzT3V0NjQpOwogICAgIHNpemVfdCBidXNDaGFubmVsQ291bnQgPSBtaXhUb01vbm8gPyAx
IDogbnVtYmVyT2ZDaGFubmVsczsKIAogICAgIC8vIENyZWF0ZSBBdWRpb0J1cyB3aGVyZSB3ZSds
bCBwdXQgdGhlIFBDTSBhdWRpbyBkYXRhCiAgICAgYXV0byBhdWRpb0J1cyA9IEF1ZGlvQnVzOjpj
cmVhdGUoYnVzQ2hhbm5lbENvdW50LCBudW1iZXJPZkZyYW1lcyk7Ci0gICAgYXVkaW9CdXMtPnNl
dFNhbXBsZVJhdGUobmFycm93UHJlY2lzaW9uVG9GbG9hdChtX2NsaWVudERhdGFGb3JtYXQubVNh
bXBsZVJhdGUpKTsgLy8gc2F2ZSBmb3IgbGF0ZXIKLQotICAgIC8vIE9ubHkgYWxsb2NhdGVkIGlu
IHRoZSBtaXhUb01vbm8gY2FzZTsgZGVhbGxvY2F0ZWQgb24gZGVzdHJ1Y3Rpb24uCi0gICAgQXVk
aW9GbG9hdEFycmF5IGxlZnRDaGFubmVsOwotICAgIEF1ZGlvRmxvYXRBcnJheSByaWdodENoYW5u
ZWw7CisgICAgYXVkaW9CdXMtPnNldFNhbXBsZVJhdGUobmFycm93UHJlY2lzaW9uVG9GbG9hdChv
dXRGb3JtYXQubVNhbXBsZVJhdGUpKTsgLy8gc2F2ZSBmb3IgbGF0ZXIKIAotICAgIEF1ZGlvQnVm
ZmVyTGlzdCogYnVmZmVyTGlzdCA9IHRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlzdChudW1iZXJPZkNo
YW5uZWxzKTsKKyAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgYnVmZmVyTGlzdChudW1iZXJPZkNo
YW5uZWxzKTsKICAgICBpZiAoIWJ1ZmZlckxpc3QpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRkFV
TFQoV2ViQXVkaW8sICJ0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QoJWxkKSByZXR1cm5lZCBudWxs
IiwgbnVtYmVyT2ZDaGFubmVscyk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KICAg
ICBjb25zdCBzaXplX3QgYnVmZmVyU2l6ZSA9IG51bWJlck9mRnJhbWVzICogc2l6ZW9mKGZsb2F0
KTsKIAorICAgIC8vIE9ubHkgYWxsb2NhdGVkIGluIHRoZSBtaXhUb01vbm8gY2FzZTsgZGVhbGxv
Y2F0ZWQgb24gZGVzdHJ1Y3Rpb24uCisgICAgQXVkaW9GbG9hdEFycmF5IGxlZnRDaGFubmVsOwor
ICAgIEF1ZGlvRmxvYXRBcnJheSByaWdodENoYW5uZWw7CisKICAgICBSRUxFQVNFX0FTU0VSVChi
dWZmZXJMaXN0LT5tTnVtYmVyQnVmZmVycyA9PSBudW1iZXJPZkNoYW5uZWxzKTsKICAgICBpZiAo
bWl4VG9Nb25vICYmIG51bWJlck9mQ2hhbm5lbHMgPT0gMikgewogICAgICAgICBsZWZ0Q2hhbm5l
bC5yZXNpemUobnVtYmVyT2ZGcmFtZXMpOwpAQCAtMjIyLDE4ICs0MjcsODcgQEAgUmVmUHRyPEF1
ZGlvQnVzPiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29s
IG1peFRvTW9ubykKICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICghdmFsaWRhdGVBdWRpb0J1
ZmZlckxpc3QoYnVmZmVyTGlzdCkpIHsKKyAgICBpZiAoIWJ1ZmZlckxpc3QuaXNWYWxpZCgpKSB7
CiAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiR2VuZXJhdGVkIGJ1ZmZlciBp
biBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cygpIGRpZCBub3QgcGFzcyB2YWxpZGF0aW9uIik7
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBkZXN0cm95QXVkaW9CdWZm
ZXJMaXN0KGJ1ZmZlckxpc3QpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAg
ICAvLyBSZWFkIGZyb20gdGhlIGZpbGUgKG9yIGluLW1lbW9yeSB2ZXJzaW9uKQotICAgIFVJbnQz
MiBmcmFtZXNUb1JlYWQgPSBudW1iZXJPZkZyYW1lczsKLSAgICBpZiAoUEFMOjpFeHRBdWRpb0Zp
bGVSZWFkKG1fZXh0QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCBidWZmZXJMaXN0KSAhPSBu
b0VycikgewotICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpOwotICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAobV93ZWJtRGF0YSkgeworICAgICAgICBBdWRp
b0NvbnZlcnRlclJlZiBjb252ZXJ0ZXI7CisgICAgICAgIGlmIChQQUw6OkF1ZGlvQ29udmVydGVy
TmV3KCYqaW5Gb3JtYXQsICZvdXRGb3JtYXQsICZjb252ZXJ0ZXIpICE9IG5vRXJyKQorICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIGF1dG8gY2xlYW51cCA9IG1ha2VTY29wZUV4
aXQoWyZdIHsKKyAgICAgICAgICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3NlKGNvbnZlcnRl
cik7CisgICAgICAgIH0pOworICAgICAgICBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERl
c2NyaXB0aW9uID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKG1fd2Vi
bURhdGEtPm1fc2FtcGxlc1swXS0+c2FtcGxlQnVmZmVyKCkpOworICAgICAgICBzaXplX3QgbWFn
aWNDb29raWVTaXplID0gMDsKKyAgICAgICAgY29uc3Qgdm9pZCogbWFnaWNDb29raWUgPSBQQUw6
OkNNQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkdldE1hZ2ljQ29va2llKGZvcm1hdERlc2NyaXB0aW9u
LCAmbWFnaWNDb29raWVTaXplKTsKKyAgICAgICAgaWYgKG1hZ2ljQ29va2llICYmIG1hZ2ljQ29v
a2llU2l6ZSkKKyAgICAgICAgICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJTZXRQcm9wZXJ0eShjb252
ZXJ0ZXIsIGtBdWRpb0NvbnZlcnRlckRlY29tcHJlc3Npb25NYWdpY0Nvb2tpZSwgbWFnaWNDb29r
aWVTaXplLCBtYWdpY0Nvb2tpZSk7CisKKyAgICAgICAgQXVkaW9CdWZmZXJMaXN0SG9sZGVyIGRl
Y29kZWRCdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOworICAgICAgICBpZiAoIWRlY29kZWRC
dWZmZXJMaXN0KQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgc2l6ZV90
IGRlY29kZWRGcmFtZXMgPSAwOworICAgICAgICBPU1N0YXR1cyBzdGF0dXM7CisgICAgICAgIGZv
ciAoYXV0byYgc2FtcGxlIDogbV93ZWJtRGF0YS0+bV9zYW1wbGVzKSB7CisgICAgICAgICAgICBD
TVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOwor
ICAgICAgICAgICAgYXV0byBidWZmZXIgPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZl
cihzYW1wbGVCdWZmZXIpOworICAgICAgICAgICAgQVNTRVJUKFBBTDo6Q01CbG9ja0J1ZmZlcklz
UmFuZ2VDb250aWd1b3VzKGJ1ZmZlciwgMCwgMCkpOworICAgICAgICAgICAgaWYgKCFQQUw6OkNN
QmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cyhidWZmZXIsIDAsIDApKQorICAgICAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgICAgICBzaXplX3Qgc3JjU2l6ZSA9IFBBTDo6
Q01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgoYnVmZmVyKTsKKyAgICAgICAgICAgIGNoYXIqIHNy
Y0RhdGEgPSBudWxscHRyOworICAgICAgICAgICAgaWYgKFBBTDo6Q01CbG9ja0J1ZmZlckdldERh
dGFQb2ludGVyKGJ1ZmZlciwgMCwgbnVsbHB0ciwgbnVsbHB0ciwgJnNyY0RhdGEpICE9IG5vRXJy
KQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgICAgICBzaXplX3Qg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZTsKKyAgICAgICAgICAgIGlmIChQQUw6OkNNU2FtcGxlQnVm
ZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCAwLCBudWxs
cHRyLCAmcGFja2V0RGVzY3JpcHRpb25zU2l6ZSkgIT0gbm9FcnIpCisgICAgICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBzaXplX3QgbnVtRGVzY3JpcHRpb25zID0gcGFj
a2V0RGVzY3JpcHRpb25zU2l6ZSAvIHNpemVvZihBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
KTsKKyAgICAgICAgICAgIGlmICghbnVtRGVzY3JpcHRpb25zKQorICAgICAgICAgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgICAgICAgICAgYXV0byBkZXNjcmlwdGlvbnMgPSBXVEY6Om1ha2VV
bmlxdWVBcnJheTxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPihudW1EZXNjcmlwdGlvbnMp
OworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tl
dERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIHBhY2tldERlc2NyaXB0aW9uc1NpemUsIGRlc2Ny
aXB0aW9ucy5nZXQoKSwgbnVsbHB0cikgIT0gbm9FcnIpCisgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgICAgICAgICBQYXNzdGhyb3VnaFVzZXJEYXRhIHVzZXJEYXRhID0geyBV
SW50MzIobnVtYmVyT2ZDaGFubmVscyksIFVJbnQzMihzcmNTaXplKSwgc3JjRGF0YSwgMCwgVUlu
dDMyKG51bURlc2NyaXB0aW9ucyksIGRlc2NyaXB0aW9ucy5nZXQoKSB9OworCisgICAgICAgICAg
ICBkbyB7CisgICAgICAgICAgICAgICAgaWYgKG51bWJlck9mRnJhbWVzIDwgZGVjb2RlZEZyYW1l
cykgeworICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIkRl
Y29kZWQgbW9yZSBmcmFtZXMgdGhhbiBmaXJzdCBjYWxjdWxhdGVkIik7CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICAvLyBpbjogdGhlIG1heCBudW1iZXIgb2YgcGFja2V0cyB3ZSBjYW4gaGFuZGxlIGZyb20gdGhl
IGRlY29kZXIuCisgICAgICAgICAgICAgICAgLy8gb3V0OiB0aGUgbnVtYmVyIG9mIHBhY2tldHMg
dGhlIGRlY29kZXIgaXMgYWN0dWFsbHkgcmV0dXJuaW5nLgorICAgICAgICAgICAgICAgIFVJbnQz
MiBudW1GcmFtZXMgPSBzdGQ6Om1pbjx1aW50MzJfdD4oc3RkOjpudW1lcmljX2xpbWl0czxpbnQz
Ml90Pjo6bWF4KCkgLyBzaXplb2YoZmxvYXQpLCBudW1iZXJPZkZyYW1lcyAtIGRlY29kZWRGcmFt
ZXMpOworCisgICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1iZXJPZkNo
YW5uZWxzOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICAgZGVjb2RlZEJ1ZmZlckxpc3QtPm1C
dWZmZXJzW2ldLm1OdW1iZXJDaGFubmVscyA9IDE7CisgICAgICAgICAgICAgICAgICAgIGRlY29k
ZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YUJ5dGVTaXplID0gbnVtRnJhbWVzICogc2l6
ZW9mKGZsb2F0KTsKKyAgICAgICAgICAgICAgICAgICAgZGVjb2RlZEJ1ZmZlckxpc3QtPm1CdWZm
ZXJzW2ldLm1EYXRhID0gc3RhdGljX2Nhc3Q8ZmxvYXQqPihidWZmZXJMaXN0LT5tQnVmZmVyc1tp
XS5tRGF0YSkgKyBkZWNvZGVkRnJhbWVzOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBzdGF0dXMgPSBQQUw6OkF1ZGlvQ29udmVydGVyRmlsbENvbXBsZXhCdWZmZXIoY29udmVy
dGVyLCBwYXNzdGhyb3VnaElucHV0RGF0YUNhbGxiYWNrLCAmdXNlckRhdGEsICZudW1GcmFtZXMs
ICpkZWNvZGVkQnVmZmVyTGlzdCwgbnVsbHB0cik7CisgICAgICAgICAgICAgICAgaWYgKHN0YXR1
cyAmJiBzdGF0dXMgIT0ga05vTW9yZURhdGFFcnIpCisgICAgICAgICAgICAgICAgICAgIHJldHVy
biBudWxscHRyOworICAgICAgICAgICAgICAgIGRlY29kZWRGcmFtZXMgKz0gbnVtRnJhbWVzOwor
ICAgICAgICAgICAgfSB3aGlsZSAoc3RhdHVzICE9IGtOb01vcmVEYXRhRXJyKTsKKyAgICAgICAg
fQorCisgICAgICAgIC8vIFRoZSBhY3R1YWwgZGVjb2RlZCBudW1iZXIgb2YgZnJhbWVzIG1heSBu
b3QgbWF0Y2ggdGhlIG51bWJlciBvZiBmcmFtZXMgY2FsY3VsYXRlZAorICAgICAgICAvLyB3aGls
ZSBkZW11eGluZy4gSXQgd2lsbCBhbHdheXMgYmUgbG93ZXIuCisgICAgICAgIGF1ZGlvQnVzLT5z
ZXRMZW5ndGgoZGVjb2RlZEZyYW1lcyk7CisgICAgICAgIG51bWJlck9mRnJhbWVzID0gZGVjb2Rl
ZEZyYW1lczsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVTZXRQ
cm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0NsaWVudERh
dGFGb3JtYXQsIHNpemVvZihBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24pLCAmb3V0Rm9ybWF0
KSAhPSBub0VycikKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIC8vIFJl
YWQgZnJvbSB0aGUgZmlsZSAob3IgaW4tbWVtb3J5IHZlcnNpb24pCisgICAgICAgIFVJbnQzMiBm
cmFtZXNUb1JlYWQgPSBudW1iZXJPZkZyYW1lczsKKyAgICAgICAgaWYgKFBBTDo6RXh0QXVkaW9G
aWxlUmVhZChtX2V4dEF1ZGlvRmlsZVJlZiwgJmZyYW1lc1RvUmVhZCwgKmJ1ZmZlckxpc3QpICE9
IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKG1p
eFRvTW9ubyAmJiBudW1iZXJPZkNoYW5uZWxzID09IDIpIHsKQEAgLTI0Myw5ICs1MTcsNiBAQCBS
ZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJh
dGUsIGJvb2wgbWl4VG9Nb25vKQogICAgICAgICAgICAgZGVzdExbaV0gPSAwLjVmICogKGxlZnRD
aGFubmVsW2ldICsgcmlnaHRDaGFubmVsW2ldKTsKICAgICB9CiAKLSAgICAvLyBDbGVhbnVwCi0g
ICAgZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KTsKLQogICAgIHJldHVybiBhdWRp
b0J1czsKIH0KIApAQCAtMjU1LDYgKzUyNiwxMyBAQCBSZWZQdHI8QXVkaW9CdXM+IGNyZWF0ZUJ1
c0Zyb21Jbk1lbW9yeUF1ZGlvRmlsZShjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpegog
ICAgIHJldHVybiByZWFkZXIuY3JlYXRlQnVzKHNhbXBsZVJhdGUsIG1peFRvTW9ubyk7CiB9CiAK
KyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dURkxvZ0NoYW5uZWwmIEF1ZGlvRmlsZVJlYWRl
cjo6bG9nQ2hhbm5lbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIExvZ01lZGlhOworfQorI2VuZGlm
CisKIH0gLy8gV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVURJTykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNv
Y29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFk
ZXJDb2NvYS5oCmluZGV4IDBiYmJiYTI3ODU3ZDk3OWVjYzY4OGY4N2YwMzM5ZjY2NWVmNDI1Mjku
LmY2MTczMzc5ZTAxMzRhMWRhNWIzODIzOGVkMzhhNWFhMjJjOWQ5M2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVy
Q29jb2EuaApAQCAtMzIsNiArMzIsOCBAQAogI2lmIEVOQUJMRShXRUJfQVVESU8pCiAKICNpbmNs
dWRlIDxDb3JlQXVkaW8vQ29yZUF1ZGlvVHlwZXMuaD4KKyNpbmNsdWRlIDxvcHRpb25hbD4KKyNp
bmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiB1
c2luZyBFeHRBdWRpb0ZpbGVSZWYgPSBzdHJ1Y3QgT3BhcXVlRXh0QXVkaW9GaWxlKjsKQEAgLTQw
LDEyICs0MiwxOCBAQCB1c2luZyBBdWRpb0ZpbGVJRCA9IHN0cnVjdCBPcGFxdWVBdWRpb0ZpbGVJ
RCo7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEF1ZGlvQnVzOworY2xhc3MgU291cmNl
QnVmZmVyUGFyc2VyV2ViTTsKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhOwogCiAvLyBX
cmFwcGVyIGNsYXNzIGZvciBBdWRpb0ZpbGUgYW5kIEV4dEF1ZGlvRmlsZSBDb3JlQXVkaW8gQVBJ
cyBmb3IgcmVhZGluZyBmaWxlcyBhbmQgaW4tbWVtb3J5IHZlcnNpb25zIG9mIHRoZW0uLi4KIAot
Y2xhc3MgQXVkaW9GaWxlUmVhZGVyIHsKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcgorI2lmICFSRUxF
QVNFX0xPR19ESVNBQkxFRAorICAgIDogcHVibGljIExvZ2dlckhlbHBlcgorI2VuZGlmCit7CiBw
dWJsaWM6Ci0gICAgZXhwbGljaXQgQXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNp
emVfdCBkYXRhU2l6ZSk7CisgICAgQXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNp
emVfdCBkYXRhU2l6ZSk7CiAgICAgfkF1ZGlvRmlsZVJlYWRlcigpOwogCiAgICAgUmVmUHRyPEF1
ZGlvQnVzPiBjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pOyAvLyBS
ZXR1cm5zIG51bGxwdHIgb24gZXJyb3IKQEAgLTUzLDkgKzYxLDIwIEBAIHB1YmxpYzoKICAgICBj
b25zdCB2b2lkKiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhOyB9CiAgICAgc2l6ZV90IGRh
dGFTaXplKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhU2l6ZTsgfQogCisjaWYgIVJFTEVBU0VfTE9H
X0RJU0FCTEVECisgICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX2xvZ2dlci5nZXQoKTsgfQorICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZpZXIoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KKyAgICBXVEZMb2dDaGFubmVsJiBs
b2dDaGFubmVsKCkgY29uc3QgZmluYWw7CisgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gIkF1ZGlvRmlsZVJlYWRlckNvY29hIjsgfQorI2VuZGlmCisK
IHByaXZhdGU6CiAgICAgc3RhdGljIE9TU3RhdHVzIHJlYWRQcm9jKHZvaWQqIGNsaWVudERhdGEs
IFNJbnQ2NCBwb3NpdGlvbiwgVUludDMyIHJlcXVlc3RDb3VudCwgdm9pZCogYnVmZmVyLCBVSW50
MzIqIGFjdHVhbENvdW50KTsKICAgICBzdGF0aWMgU0ludDY0IGdldFNpemVQcm9jKHZvaWQqIGNs
aWVudERhdGEpOworICAgIGJvb2wgaXNNYXliZVdlYk0oY29uc3QgdWludDhfdCogZGF0YSwgc2l6
ZV90IGRhdGFTaXplKSBjb25zdDsKKyAgICBzc2l6ZV90IG51bWJlck9mRnJhbWVzKCkgY29uc3Q7
CisgICAgc3RkOjpvcHRpb25hbDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+IGZpbGVEYXRh
Rm9ybWF0KCkgY29uc3Q7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIGNsaWVudERh
dGFGb3JtYXQoY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwgZmxv
YXQgc2FtcGxlUmF0ZSkgY29uc3Q7CiAKICAgICBjb25zdCB2b2lkKiBtX2RhdGEgPSB7IG51bGxw
dHIgfTsKICAgICBzaXplX3QgbV9kYXRhU2l6ZSA9IHsgMCB9OwpAQCAtNjMsOCArODIsMTMgQEAg
cHJpdmF0ZToKICAgICBBdWRpb0ZpbGVJRCBtX2F1ZGlvRmlsZUlEID0geyBudWxscHRyIH07CiAg
ICAgRXh0QXVkaW9GaWxlUmVmIG1fZXh0QXVkaW9GaWxlUmVmID0geyBudWxscHRyIH07CiAKLSAg
ICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gbV9maWxlRGF0YUZvcm1hdDsKLSAgICBBdWRp
b1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gbV9jbGllbnREYXRhRm9ybWF0OworICAgIHN0ZDo6dW5p
cXVlX3B0cjxBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YT4gbV93ZWJtRGF0YTsKKworI2lmICFSRUxF
QVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IFJlZjxMb2dnZXI+IG1fbG9nZ2VyOworICAgIGNv
bnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsKKyNlbmRpZgorCiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0
YVNvdXJjZS5oCmluZGV4IGExZTcxYmQ1MjIzMjI0MjU3MTZjNmI5ZTVhY2VkMDZlNTU4MjkzM2Eu
LjZhZTNiNWNkMWYyZWZkNjIzOWZiMzRkMDEzYTU4Nzc2ZjQxOGM2ZjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0
YVNvdXJjZS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZD
b3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLXR5cGVkZWYgY29u
c3Qgc3RydWN0IG9wYXF1ZUNNRm9ybWF0RGVzY3JpcHRpb24gKkNNRm9ybWF0RGVzY3JpcHRpb25S
ZWY7CiB0eXBlZGVmIHN0cnVjdCBvcGFxdWVDTVNhbXBsZUJ1ZmZlciAqQ01TYW1wbGVCdWZmZXJS
ZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQppbmRleCBk
MmI1YWM0NWYzMGZkNGEzYWY1MWI0MjBkZTM3NjQ5YjExNTFjMjI3Li43MGRjMjQ4NGE1ZWQ2Njg4
OWZjYTMzZWUyOTFlYzEwNmE1ZjlmOWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCkBAIC0z
OSw2ICszOSw3IEBACiAjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3RmL1N0cmlu
Z1ByaW50U3RyZWFtLmg+CiAKKyNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5o
PgogI2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTY3LDcgKzY4LDcgQEAgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpBdWRpb1NhbXBs
ZURhdGFTb3VyY2Uoc2l6ZV90IG1heGltdW1TYW1wbGVDb3VudCwgTG9nZ2VySGUKIEF1ZGlvU2Ft
cGxlRGF0YVNvdXJjZTo6fkF1ZGlvU2FtcGxlRGF0YVNvdXJjZSgpCiB7CiAgICAgaWYgKG1fY29u
dmVydGVyKQotICAgICAgICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOworICAg
ICAgICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CiB9CiAKIE9TU3Rh
dHVzIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6c2V0dXBDb252ZXJ0ZXIoKQpAQCAtNzUsMTQgKzc2
LDE0IEBAIE9TU3RhdHVzIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6c2V0dXBDb252ZXJ0ZXIoKQog
ICAgIEFTU0VSVChtX2lucHV0RGVzY3JpcHRpb24gJiYgbV9vdXRwdXREZXNjcmlwdGlvbik7CiAK
ICAgICBpZiAobV9jb252ZXJ0ZXIpIHsKLSAgICAgICAgQXVkaW9Db252ZXJ0ZXJEaXNwb3NlKG1f
Y29udmVydGVyKTsKKyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0
ZXIpOwogICAgICAgICBtX2NvbnZlcnRlciA9IG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKCpt
X2lucHV0RGVzY3JpcHRpb24gPT0gKm1fb3V0cHV0RGVzY3JpcHRpb24pCiAgICAgICAgIHJldHVy
biAwOwogCi0gICAgT1NTdGF0dXMgZXJyID0gQXVkaW9Db252ZXJ0ZXJOZXcoJm1faW5wdXREZXNj
cmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fb3V0cHV0RGVzY3JpcHRpb24tPnN0cmVh
bURlc2NyaXB0aW9uKCksICZtX2NvbnZlcnRlcik7CisgICAgT1NTdGF0dXMgZXJyID0gUEFMOjpB
dWRpb0NvbnZlcnRlck5ldygmbV9pbnB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigp
LCAmbV9vdXRwdXREZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fY29udmVydGVy
KTsKICAgICBpZiAoZXJyKSB7CiAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbdGhp
cywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBlcnJdIHsKICAgICAgICAgICAg
IEVSUk9SX0xPRygiQXVkaW9Db252ZXJ0ZXJOZXcgcmV0dXJuZWQgZXJyb3IgIiwgZXJyKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQ
cm92aWRlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVw
YWRQcm92aWRlci5tbQppbmRleCBlM2Q2ZmFjNzA0MzY5NmZjN2VlMmE5MjE1ZGIyMWE4ZjdkZjgy
NWE1Li5hMzJkZjYyMDQ4ZDMyZDdiMTM0ZGJmNTZkYTAwN2I3MGVjMjQ3M2Y0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFBy
b3ZpZGVyLm1tCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoR0FNRVBBRCkgJiYgUExB
VEZPUk0oTUFDKQogCisjaW1wb3J0ICJHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5oIgog
I2ltcG9ydCAiR2FtZXBhZFByb3ZpZGVyQ2xpZW50LmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAj
aW1wb3J0ICJQbGF0Zm9ybUdhbWVwYWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAKaW5kZXggNGQ4ZWU2MmUwMWI4ZWFl
YmFjYzZkMjhiM2EwOTg1Mjk1MmM1ZDgwYS4uYzA2NmMyZDQ4Nzk3YTRhYWIzYjliZTJhMGVkZDRk
ODM4YjRiZjVjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
VHJhY2tQcml2YXRlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVHJhY2tQcml2YXRlQmFzZS5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoVklE
RU8pCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFT
YW1wbGVBVkZPYmpDLmgKaW5kZXggZDAzY2RjOGRkNjI1NDE2MDk5YTUzNzEzNWVlMTFlYzkxMDcz
NmEwMi4uNTQ1ZjBiZTFjNTBjYmZlNDE3MDE4MDM1NmY4OGNlM2M1NTJjODZmNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFTYW1wbGVBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmgKQEAgLTM0LDcgKzM0LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQaXhlbEJ1ZmZlcjsKIAotY2xhc3MgV0VCQ09S
RV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2FtcGxlIHsKK2NsYXNz
IE1lZGlhU2FtcGxlQVZGT2JqQyA6IHB1YmxpYyBNZWRpYVNhbXBsZSB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZShDTVNhbXBsZUJ1ZmZlclJlZiBz
YW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFTYW1w
bGVBVkZPYmpDKHNhbXBsZSwgdHJhY2tJRCkpOyB9CiAgICAgc3RhdGljIFJlZjxNZWRpYVNhbXBs
ZUFWRk9iakM+IGNyZWF0ZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJh
Y2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0
cmFja0lEKSk7IH0KQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyB2b2lkIHNldEFzRGlzcGxheUltbWVkaWF0ZWx5KE1lZGlhU2FtcGxlJik7CiAgICAg
c3RhdGljIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gY2xvbmVTYW1wbGVCdWZmZXJBbmRT
ZXRBc0Rpc3BsYXlJbW1lZGlhdGVseShDTVNhbXBsZUJ1ZmZlclJlZik7CiAKLSAgICBSZWZQdHI8
SlNDOjpVaW50OENsYW1wZWRBcnJheT4gZ2V0UkdCQUltYWdlRGF0YSgpIGNvbnN0IG92ZXJyaWRl
OworICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRS
R0JBSW1hZ2VEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBNZWRpYVRpbWUgcHJlc2VudGF0
aW9uVGltZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIE1lZGlhVGltZSBkZWNvZGVUaW1lKCkgY29u
c3Qgb3ZlcnJpZGU7CkBAIC01OSwxNiArNTksMTYgQEAgcHVibGljOgogICAgIFNhbXBsZUZsYWdz
IGZsYWdzKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1TYW1wbGUgcGxhdGZvcm1TYW1w
bGUoKSBvdmVycmlkZTsKICAgICBzdGQ6Om9wdGlvbmFsPEJ5dGVSYW5nZT4gYnl0ZVJhbmdlKCkg
Y29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgdm9pZCBvZmZzZXRUaW1lc3RhbXBzQnkoY29uc3QgTWVkaWFUaW1lJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCBzZXRUaW1lc3RhbXBzKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1l
ZGlhVGltZSYpIG92ZXJyaWRlOwotICAgIGJvb2wgaXNEaXZpc2FibGUoKSBjb25zdCBvdmVycmlk
ZTsKLSAgICBzdGQ6OnBhaXI8UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVmUHRyPE1lZGlhU2FtcGxl
Pj4gZGl2aWRlKGNvbnN0IE1lZGlhVGltZSYgcHJlc2VudGF0aW9uVGltZSwgVXNlRW5kVGltZSkg
b3ZlcnJpZGU7Ci0gICAgUmVmPE1lZGlhU2FtcGxlPiBjcmVhdGVOb25EaXNwbGF5aW5nQ29weSgp
IGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNEaXZpc2FibGUoKSBj
b25zdCBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6OnBhaXI8UmVmUHRyPE1lZGlh
U2FtcGxlPiwgUmVmUHRyPE1lZGlhU2FtcGxlPj4gZGl2aWRlKGNvbnN0IE1lZGlhVGltZSYgcHJl
c2VudGF0aW9uVGltZSwgVXNlRW5kVGltZSkgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQg
UmVmPE1lZGlhU2FtcGxlPiBjcmVhdGVOb25EaXNwbGF5aW5nQ29weSgpIGNvbnN0IG92ZXJyaWRl
OwogCiAgICAgVmlkZW9Sb3RhdGlvbiB2aWRlb1JvdGF0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gbV9yb3RhdGlvbjsgfQogICAgIGJvb2wgdmlkZW9NaXJyb3JlZCgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIG1fbWlycm9yZWQ7IH0KLSAgICB1aW50MzJfdCB2aWRlb1BpeGVsRm9ybWF0
KCkgY29uc3QgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdWludDMyX3QgdmlkZW9QaXhlbEZv
cm1hdCgpIGNvbnN0IGZpbmFsOwogCiAgICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVy
KCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGUuZ2V0KCk7IH0KIApAQCAtNzgsMzQgKzc4LDE1IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldEJ5dGVSYW5nZU9mZnNldChzaXplX3QpOwogCiBwcm90ZWN0
ZWQ6Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4m
JiBzYW1wbGUpCi0gICAgICAgIDogbV9zYW1wbGUoV1RGTW92ZShzYW1wbGUpKQotICAgIHsKLSAg
ICB9Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSkKLSAg
ICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFW
Rk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBBdG9tU3RyaW5nIHRyYWNrSUQpCi0gICAg
ICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgICAgICAsIG1faWQodHJhY2tJRCkKLSAgICB7Ci0g
ICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIHVp
bnQ2NF90IHRyYWNrSUQpCi0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgICAgICAsIG1f
aWQoQXRvbVN0cmluZzo6bnVtYmVyKHRyYWNrSUQpKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFT
YW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgVmlkZW9Sb3RhdGlvbiByb3Rh
dGlvbiwgYm9vbCBtaXJyb3JlZCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAg
ICwgbV9yb3RhdGlvbihyb3RhdGlvbikKLSAgICAgICAgLCBtX21pcnJvcmVkKG1pcnJvcmVkKQot
ICAgIHsKLSAgICB9CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDKFJldGFp
blB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4mJik7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1w
bGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNh
bXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYsIEF0b21TdHJpbmcgdHJhY2tJRCk7CisgICAg
V0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmLCB1aW50
NjRfdCB0cmFja0lEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01T
YW1wbGVCdWZmZXJSZWYsIFZpZGVvUm90YXRpb24sIGJvb2wgbWlycm9yZWQpOworICAgIFdFQkNP
UkVfRVhQT1JUIHZpcnR1YWwgfk1lZGlhU2FtcGxlQVZGT2JqQygpOwogCiAgICAgc3RkOjpvcHRp
b25hbDxNZWRpYVNhbXBsZTo6Qnl0ZVJhbmdlPiBieXRlUmFuZ2VGb3JBdHRhY2htZW50KENGU3Ry
aW5nUmVmIGtleSkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIH5NZWRpYVNhbXBsZUFWRk9iakMoKSA9
IGRlZmF1bHQ7CiAgICAgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBtX3NhbXBsZTsKICAg
ICBBdG9tU3RyaW5nIG1faWQ7CiAgICAgVmlkZW9Sb3RhdGlvbiBtX3JvdGF0aW9uIHsgVmlkZW9S
b3RhdGlvbjo6Tm9uZSB9OwpAQCAtMTEzLDQgKzk0LDMgQEAgcHJvdGVjdGVkOgogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBs
ZUFWRk9iakMubW0KaW5kZXggYzBmMTNkNmVhNWM5NzU3NjdjZThmNjJhYjY4NDJkN2Q2ZjBmYmI2
Yi4uY2YzYzM0MTBhMzhhZGVjNDk1N2M5NzE0MmIzMjQyMjRkNWFmZDgxMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFT
YW1wbGVBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQpAQCAtNDUsNiArNDUsMzMgQEAg
c3RydWN0IFdURjo6Q0ZUeXBlVHJhaXQ8Q01TYW1wbGVCdWZmZXJSZWY+IHsKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhSZXRh
aW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+JiYgc2FtcGxlKQorICAgIDogbV9zYW1wbGUoV1RGTW92
ZShzYW1wbGUpKQoreworfQorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMo
Q01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQoreworfQor
TWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYg
c2FtcGxlLCBBdG9tU3RyaW5nIHRyYWNrSUQpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCisgICAg
LCBtX2lkKHRyYWNrSUQpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZG
T2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQpCisgICAgOiBt
X3NhbXBsZShzYW1wbGUpCisgICAgLCBtX2lkKEF0b21TdHJpbmc6Om51bWJlcih0cmFja0lEKSkK
K3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVm
ZmVyUmVmIHNhbXBsZSwgVmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgYm9vbCBtaXJyb3JlZCkKKyAg
ICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1fcm90YXRpb24ocm90YXRpb24pCisgICAgLCBt
X21pcnJvcmVkKG1pcnJvcmVkKQoreworfQorCitNZWRpYVNhbXBsZUFWRk9iakM6On5NZWRpYVNh
bXBsZUFWRk9iakMoKSA9IGRlZmF1bHQ7CisKIFJlZlB0cjxNZWRpYVNhbXBsZUFWRk9iakM+IE1l
ZGlhU2FtcGxlQVZGT2JqQzo6Y3JlYXRlSW1hZ2VTYW1wbGUoUGl4ZWxCdWZmZXImJiBwaXhlbEJ1
ZmZlcikKIHsKICAgICBhdXRvIHNpemUgPSBwaXhlbEJ1ZmZlci5zaXplKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVz
c2lvblNlc3Npb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0KaW5kZXggOGVlZjNiMmVhNjA0YmQxOTgzZDc3
ZDM4YmY1MjFhOGQyMWYyMGVkMC4uZDFjODQ0ODgzNjc0MGZkYjc1YzQwYWM5M2Y3ZGQwOWQ3OGYw
MzAwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
V2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQpAQCAtMzEs
MTAgKzMxLDEwIEBACiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01CdWZmZXJRdWV1ZS5oPgogI2ltcG9y
dCA8Q29yZU1lZGlhL0NNRm9ybWF0RGVzY3JpcHRpb24uaD4KICNpbXBvcnQgPHBhbC9hdmZvdW5k
YXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+Ci0jaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvTWVk
aWFUaW1lLmg+CiAjaW1wb3J0IDx3dGYvTW9ub3RvbmljVGltZS5oPgorI2ltcG9ydCA8d3RmL1J1
bkxvb3AuaD4KICNpbXBvcnQgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogI2ltcG9ydCA8d3Rm
L1ZlY3Rvci5oPgogI2ltcG9ydCA8d3RmL1dURlNlbWFwaG9yZS5oPgpAQCAtNDIsNiArNDIsNyBA
QAogCiAjaW1wb3J0ICJDb3JlVmlkZW9Tb2Z0TGluay5oIgogI2ltcG9ydCAiVmlkZW9Ub29sYm94
U29mdExpbmsuaCIKKyNpbXBvcnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogCiAvLyBF
cXVpdmFsZW50IHRvIFdURl9ERUNMQVJFX0NGX1RZUEVfVFJBSVQoQ01TYW1wbGVCdWZmZXIpOwog
Ly8gTmVlZGVkIGR1ZSB0byByZXF1aXJlbWVudCBvZiBzcGVjaWZ5aW5nIHRoZSBQQUwgbmFtZXNw
YWNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
V2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgKaW5kZXggZmVjZTgxMjliZDdmN2Zk
ZWQ2YTgwNGJhNTJmNzk1MjYxZmU2NWQzMC4uODcxMDRkOGI3YjM1N2MxNjBiNmRjY2M0MWJmZTFm
ODllMGE2YzI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCkBAIC0zNCw3ICsz
NCw4IEBAIHR5cGVkZWYgY29uc3Qgc3RydWN0IG9wYXF1ZUNNRm9ybWF0RGVzY3JpcHRpb24qIENN
Rm9ybWF0RGVzY3JpcHRpb25SZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCBpc1Zv
cmJpc0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgaXNWb3JiaXNEZWNv
ZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9SVCBib29sIHJlZ2lzdGVyVm9yYmlzRGVjb2Rl
cklmTmVlZGVkKCk7CiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlVm9y
YmlzQXVkaW9Gb3JtYXREZXNjcmlwdGlvbihzaXplX3QsIGNvbnN0IHZvaWQqKTsKIAogc3RydWN0
IE9wdXNDb29raWVDb250ZW50cyB7CkBAIC01Miw3ICs1Myw4IEBAIHN0cnVjdCBPcHVzQ29va2ll
Q29udGVudHMgewogICAgIGJvb2wgaGFzUGFkZGluZyB7IGZhbHNlIH07CiB9OwogCi1ib29sIGlz
T3B1c0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgaXNPcHVzRGVjb2Rl
ckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCByZWdpc3Rlck9wdXNEZWNvZGVySWZO
ZWVkZWQoKTsKIGJvb2wgcGFyc2VPcHVzUHJpdmF0ZURhdGEoc2l6ZV90IHByaXZhdGVEYXRhU2l6
ZSwgY29uc3Qgdm9pZCogcHJpdmF0ZURhdGEsIHNpemVfdCBmcmFtZURhdGFTaXplLCBjb25zdCB2
b2lkKiBmcmFtZURhdGEsIE9wdXNDb29raWVDb250ZW50cyYpOwogUmV0YWluUHRyPENNRm9ybWF0
RGVzY3JpcHRpb25SZWY+IGNyZWF0ZU9wdXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKGNvbnN0IE9w
dXNDb29raWVDb250ZW50cyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tCmlu
ZGV4IDA2YmQ0OGFlMGQzZDY5MTI1MGI4YTI3NTdkMDI1NmQ0NDg1OWZjYzQuLjBlMWViMWI3OThh
M2M3ZWE2N2VhYjc1YmEzNmU1ODVhZGQ4YzEwYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGll
c0NvY29hLm1tCkBAIC0zMiwyMiArMzIsMjggQEAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBv
cnQgIk1lZGlhVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXIuaCIKKyNpbXBvcnQgPEF1ZGlvVG9vbGJveC9BdWRpb0NvZGVjLmg+CiAjaW1wb3J0IDxBdWRp
b1Rvb2xib3gvQXVkaW9Db21wb25lbnQuaD4KICNpbXBvcnQgPEF1ZGlvVG9vbGJveC9BdWRpb0Zv
cm1hdC5oPgogI2ltcG9ydCA8Q29yZU1lZGlhL0NNRm9ybWF0RGVzY3JpcHRpb24uaD4KICNpbXBv
cnQgPGRsZmNuLmg+CiAjaW1wb3J0IDx3dGYvRmxpcEJ5dGVzLmg+CiAjaW1wb3J0IDx3dGYvU2Vj
b25kcy5oPgotCiAjaWYgRU5BQkxFKE9QVVMpCiAjaW1wb3J0IDxsaWJ3ZWJydGMvb3B1c19kZWZp
bmVzLmg+CiAjZW5kaWYKKyNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiBFTkFCTEUoVk9SQklTKSB8fCBFTkFCTEUoT1BV
UykKIHN0YXRpYyBib29sIHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoY29uc3QgY2hhciogZGVjb2Rl
ck5hbWUsIE9TVHlwZSBkZWNvZGVyVHlwZSkKIHsKKyAgICBBdWRpb0NvbXBvbmVudERlc2NyaXB0
aW9uIGRlc2MgeyBrQXVkaW9EZWNvZGVyQ29tcG9uZW50VHlwZSwgZGVjb2RlclR5cGUsICdhcHBs
Jywga0F1ZGlvQ29tcG9uZW50RmxhZ19TYW5kYm94U2FmZSwgMCB9OworICAgIEF1ZGlvQ29tcG9u
ZW50IGNvbXAgPSBQQUw6OkF1ZGlvQ29tcG9uZW50RmluZE5leHQoMCwgJmRlc2MpOworICAgIGlm
IChjb21wKQorICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gQWxyZWFkeSByZWdpc3RlcmVkLgorCiAg
ICAgY29uc3RleHByIGNoYXIgYXVkaW9Db21wb25lbnRzRHlsaWJbXSA9ICIvU3lzdGVtL0xpYnJh
cnkvQ29tcG9uZW50cy9BdWRpb0NvZGVjcy5jb21wb25lbnQvQ29udGVudHMvTWFjT1MvQXVkaW9D
b2RlY3MiOwogICAgIHZvaWQgKmhhbmRsZSA9IGRsb3BlbihhdWRpb0NvbXBvbmVudHNEeWxpYiwg
UlRMRF9MQVpZIHwgUlRMRF9MT0NBTCk7CiAgICAgaWYgKCFoYW5kbGUpCkBAIC01Nyw3ICs2Myw2
IEBAIHN0YXRpYyBib29sIHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoY29uc3QgY2hhciogZGVjb2Rl
ck5hbWUsIE9TVHlwZSBkZWNvZGVyVHlwZSkKICAgICBpZiAoIWRlY29kZXJGYWN0b3J5KQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBBdWRpb0NvbXBvbmVudERlc2NyaXB0aW9uIGRlc2Mg
eyAnYWRlYycsIGRlY29kZXJUeXBlLCAnYXBwbCcsIGtBdWRpb0NvbXBvbmVudEZsYWdfU2FuZGJv
eFNhZmUsIDAgfTsKICAgICBpZiAoIUF1ZGlvQ29tcG9uZW50UmVnaXN0ZXIoJmRlc2MsIENGU1RS
KCIiKSwgMCwgZGVjb2RlckZhY3RvcnkpKSB7CiAgICAgICAgIGRsY2xvc2UoaGFuZGxlKTsKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNzEsNyArNzYsNyBAQCBzdGF0aWMgUmV0YWluUHRyPENN
Rm9ybWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25Gb3JGb3Jt
YXQoTwogICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBhc2JkIHsgfTsKICAgICBhc2Jk
Lm1Gb3JtYXRJRCA9IGZvcm1hdElEOwogICAgIHVpbnQzMl90IHNpemUgPSBzaXplb2YoYXNiZCk7
Ci0gICAgYXV0byBlcnJvciA9IEF1ZGlvRm9ybWF0R2V0UHJvcGVydHkoa0F1ZGlvRm9ybWF0UHJv
cGVydHlfRm9ybWF0SW5mbywgbWFnaWNDb29raWUuc2l6ZSgpLCBtYWdpY0Nvb2tpZS5kYXRhKCks
ICZzaXplLCAmYXNiZCk7CisgICAgYXV0byBlcnJvciA9IFBBTDo6QXVkaW9Gb3JtYXRHZXRQcm9w
ZXJ0eShrQXVkaW9Gb3JtYXRQcm9wZXJ0eV9Gb3JtYXRJbmZvLCBtYWdpY0Nvb2tpZS5zaXplKCks
IG1hZ2ljQ29va2llLmRhdGEoKSwgJnNpemUsICZhc2JkKTsKICAgICBpZiAoZXJyb3IpIHsKICAg
ICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWEsICJjcmVhdGVBdWRpb0Zvcm1hdERlc2NyaXB0
aW9uRm9yRm9ybWF0IGZhaWxlZCB3aXRoIGVycm9yICVkICglLjRzKSIsIGVycm9yLCAoY2hhciAq
KSZlcnJvcik7CiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtMzI2LDE5ICszMzEsMzAgQEAg
c3RhdGljIFZlY3Rvcjx1aW50OF90PiBjb29raWVGcm9tT3B1c0Nvb2tpZUNvbnRlbnRzKGNvbnN0
IE9wdXNDb29raWVDb250ZW50cyYgY28KIAogYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCkK
IHsKLSAgICBzdGF0aWMgYm9vbCBhdmFpbGFibGU7Ci0KICNpZiBFTkFCTEUoT1BVUykgJiYgUExB
VEZPUk0oTUFDKQogICAgIGlmICghUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpvcHVzRGVj
b2RlckVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgcmV0dXJuIHJlZ2lz
dGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5k
aWYKK30KKworYm9vbCByZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKQoreworI2lmIEVOQUJM
RShPUFVTKSAmJiBQTEFURk9STShNQUMpCisgICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOworCiAg
ICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47CiAgICAgZGlzcGF0Y2hfb25jZSgm
b25jZVRva2VuLCBeewotICAgICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5
KCJBQ09wdXNEZWNvZGVyRmFjdG9yeSIsICdvcHVzJyk7CisgICAgICAgIGF2YWlsYWJsZSA9IHJl
Z2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDT3B1c0RlY29kZXJGYWN0b3J5Iiwga0F1ZGlvRm9ybWF0
T3B1cyk7CiAgICAgfSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBhdmFpbGFibGU7CisjZWxzZQor
ICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlw
dGlvblJlZj4gY3JlYXRlT3B1c0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oY29uc3QgT3B1c0Nvb2tp
ZUNvbnRlbnRzJiBjb29raWVDb250ZW50cykKQEAgLTQxOCwxOSArNDM0LDMwIEBAIHN0YXRpYyBW
ZWN0b3I8dWludDhfdD4gY29va2llRnJvbVZvcmJpc0NvZGVjUHJpdmF0ZShzaXplX3QgY29kZWNQ
cml2YXRlU2l6ZSwgY29uCiAKIGJvb2wgaXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKCkKIHsKLSAg
ICBzdGF0aWMgYm9vbCBhdmFpbGFibGU7Ci0KICNpZiBFTkFCTEUoVk9SQklTKSAmJiBQTEFURk9S
TShNQUMpCiAgICAgaWYgKCFQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnZvcmJpc0RlY29k
ZXJFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIHJldHVybiByZWdpc3Rl
clZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5k
aWYKK30KKworYm9vbCByZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpCit7CisjaWYgRU5B
QkxFKFZPUkJJUykgJiYgUExBVEZPUk0oTUFDKQorICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsK
KwogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOwogICAgIGRpc3BhdGNoX29u
Y2UoJm9uY2VUb2tlbiwgXnsKICAgICAgICAgYXZhaWxhYmxlID0gcmVnaXN0ZXJEZWNvZGVyRmFj
dG9yeSgiQUNWb3JiaXNEZWNvZGVyRmFjdG9yeSIsICd2b3JiJyk7CiAgICAgfSk7Ci0jZW5kaWYK
IAogICAgIHJldHVybiBhdmFpbGFibGU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRp
ZgogfQogCiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlVm9yYmlzQXVk
aW9Gb3JtYXREZXNjcmlwdGlvbihzaXplX3QgcHJpdmF0ZURhdGFTaXplLCBjb25zdCB2b2lkKiBw
cml2YXRlRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktp
dC1hcHBsZXR2b3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBw
bGV0dm9zLnBsaXN0CmluZGV4IGFlNGVlNDU3YTIxMzEzMzhmNmE1Yjc1ZWQ3NWY2MzZmM2EwZjUy
NjAuLmUyMWIwMjNiMTQyMzA4NzIzYzU5N2MwZjFjZjk3YTE4YTMyNjdiNTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3MucGxpc3QKKysrIGIv
U291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdApAQCAtMiw5
NSArMiwxMDAgQEAKIDwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1Qg
MS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQi
PgogPHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KLSAgICA8a2V5PmFzeW5jX2ZyYW1lX2Fu
ZF9vdmVyZmxvd19zY3JvbGxpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFi
bGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJv
Y2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5
PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0g
ICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5
PmdwdV9wcm9jZXNzX21lZGlhPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5Pgot
ICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAg
ICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5n
cHVfcHJvY2Vzc193ZWJnbDwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8
L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vz
c193ZWJydGM8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0g
ICAgICAgIDxmYWxzZS8+Ci0gICAgICAgIDxrZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8
ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8
dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5JbkFwcEJyb3dz
ZXJQcml2YWN5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmluY3JlbWVudGFsX3BkZjwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRy
dWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tl
eT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxz
ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+dnA5X2RlY29kZXI8L2tleT4KLSAgICA8ZGljdD4K
LSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+
Ci0gICAgPGtleT5XZWJHUFU8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViWFI8L2tl
eT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxz
ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAg
PC9kaWN0PgotICAgIDxrZXk+d2VibV9wYXJzZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAg
PGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtl
eT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+CisJPGtleT5hc3lu
Y19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5h
YmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFz
X3JlbmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUv
PgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0
ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nl
c3NfZG9tX3JlbmRlcmluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5PgorCTxkaWN0
PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tl
eT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8
L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3By
b2Nlc3Nfd2VicnRjPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFs
c2UvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21w
bGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBC
cm93c2VyUHJpdmFjeTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVj
b2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8
ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PnZwOV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxr
ZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+
CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8
a2V5PldlYlhSPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2Uv
PgorCTwvZGljdD4KKwk8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8
a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2Vy
PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0
PgorCTxrZXk+d2VibV93ZWJhdWRpbzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tl
eT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08
L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+
CiA8L2RpY3Q+CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxh
Z3MvV2ViS2l0LWlvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1p
b3MucGxpc3QKaW5kZXggNjIxYzkyMTY2Yzg5MmNiNTQxY2ZhNzZiNjIzODE1NjY4YTFlYzI3Ny4u
YjhlNWUwOWNmODliNjBjMDgyZTYzYWFlYjVkZjcwZDk5MWEzMjAxNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0CkBAIC0yLDk1ICsyLDEwMCBAQAogPCFE
T0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDov
L3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CiA8cGxpc3QgdmVyc2lv
bj0iMS4wIj4KIDxkaWN0PgotICAgIDxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93X3Njcm9s
bGluZzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAg
ICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5k
ZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAg
ICAgIDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0
PgotICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVl
Lz4KLSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2Rv
bV9yZW5kZXJpbmc8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfbWVk
aWE8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAg
IDx0cnVlLz4KLSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0Pgot
ICAgICAgICAgICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4K
LSAgICAgICAgPC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYmds
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5Pgot
ICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgot
ICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAg
ICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8
L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5Pgot
ICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4K
LSAgICA8L2RpY3Q+Ci0gICAgPGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KLSAgICA8ZGljdD4K
LSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+
Ci0gICAgPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PnZwOV9kZWNvZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+V2ViR1BV
PC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8
ZmFsc2UvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYlhSPC9rZXk+Ci0gICAgPGRpY3Q+Ci0g
ICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGljdD4K
LSAgICA8a2V5PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5
PndlYm1fcGFyc2VyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5
PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2Vf
V0tfamV0c2FtPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5Pgot
ICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgorCTxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJm
bG93X3Njcm9sbGluZzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRy
dWUvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4K
Kwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1
dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVl
Lz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8
L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0
PgorCTxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVk
PC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5BdHRyaWJ1dGVzPC9rZXk+CisJCTxkaWN0PgorCQkJ
PGtleT5Db2RlQ29tcGxldGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJPC9kaWN0PgorCTwvZGljdD4K
Kwk8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwv
a2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJp
YnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRy
dWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+SW5BcHBCcm93c2VyUHJpdmFjeTwva2V5
PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJ
PGtleT5pbmNyZW1lbnRhbF9wZGY8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+
CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5zd192cDlfZGVjb2Rlcl9vbl9iYXR0ZXJ5PC9r
ZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4K
Kwk8a2V5PnZwOV9kZWNvZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5Pgor
CQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViR1BVPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+
RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PldlYlhSPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5
PndlYm1fZm9ybWF0X3JlYWRlcjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4K
KwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5PndlYm1fcGFyc2VyPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV93ZWJh
dWRpbzwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8
L2RpY3Q+CisJPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CiA8L2RpY3Q+CiA8L3BsaXN0
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBs
aXN0IGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0CmluZGV4
IDYyMWM5MjE2NmM4OTJjYjU0MWNmYTc2YjYyMzgxNTY2OGExZWMyNzcuLmI4ZTVlMDljZjg5YjYw
YzA4MmU2M2FhZWI1ZGY3MGQ5OTFhMzIwMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVh
dHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVG
bGFncy9XZWJLaXQtbWFjb3MucGxpc3QKQEAgLTIsOTUgKzIsMTAwIEBACiA8IURPQ1RZUEUgcGxp
c3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxl
LmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KIDxwbGlzdCB2ZXJzaW9uPSIxLjAiPgog
PGRpY3Q+Ci0gICAgPGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xsaW5nPC9rZXk+
Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+
Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmluZzwva2V5
PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUv
PgotICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAg
ICAgICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAg
ICA8L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3JlbmRlcmlu
Zzwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5ncHVfcHJvY2Vzc19tZWRpYTwva2V5Pgot
ICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgot
ICAgICAgICA8a2V5PkF0dHJpYnV0ZXM8L2tleT4KLSAgICAgICAgPGRpY3Q+Ci0gICAgICAgICAg
ICA8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgotICAgICAgICAgICAgPHRydWUvPgotICAgICAgICA8
L2RpY3Q+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+Ci0gICAgPGRpY3Q+
Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDxr
ZXk+QXR0cmlidXRlczwva2V5PgotICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgIDxrZXk+Q29k
ZUNvbXBsZXRlPC9rZXk+Ci0gICAgICAgICAgICA8dHJ1ZS8+Ci0gICAgICAgIDwvZGljdD4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5PC9rZXk+Ci0gICAgPGRpY3Q+
Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAgIDwvZGlj
dD4KLSAgICA8a2V5PmluY3JlbWVudGFsX3BkZjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5
PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+
dnA5X2RlY29kZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJHUFU8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0g
ICAgPC9kaWN0PgotICAgIDxrZXk+V2ViWFI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+
d2VibV9mb3JtYXRfcmVhZGVyPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+d2VibV9wYXJz
ZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAg
IDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08
L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0
cnVlLz4KLSAgICA8L2RpY3Q+CisJPGtleT5hc3luY19mcmFtZV9hbmRfb3ZlcmZsb3dfc2Nyb2xs
aW5nPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJPC9k
aWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfY2FudmFzX3JlbmRlcmluZzwva2V5PgorCTxkaWN0Pgor
CQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4K
KwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVDb21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2Rp
Y3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3NfZG9tX3JlbmRlcmluZzwva2V5PgorCTxk
aWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZhbHNlLz4KKwk8L2RpY3Q+CisJPGtleT5n
cHVfcHJvY2Vzc19tZWRpYTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJ
PHRydWUvPgorCQk8a2V5PkF0dHJpYnV0ZXM8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PkNvZGVD
b21wbGV0ZTwva2V5PgorCQkJPHRydWUvPgorCQk8L2RpY3Q+CisJPC9kaWN0PgorCTxrZXk+Z3B1
X3Byb2Nlc3Nfd2ViZ2w8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxm
YWxzZS8+CisJPC9kaWN0PgorCTxrZXk+Z3B1X3Byb2Nlc3Nfd2VicnRjPC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5
PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwv
ZGljdD4KKwk8L2RpY3Q+CisJPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5PC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmluY3Jl
bWVudGFsX3BkZjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUv
PgorCTwvZGljdD4KKwk8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KKwk8ZGlj
dD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+dnA5
X2RlY29kZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4K
Kwk8L2RpY3Q+CisJPGtleT5XZWJHUFU8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9r
ZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViWFI8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV9mb3Jt
YXRfcmVhZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+
CisJPC9kaWN0PgorCTxrZXk+d2VibV9wYXJzZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+
CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8
a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KIDwvZGljdD4KIDwvcGxpc3Q+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdCBiL1Nv
dXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC13YXRjaG9zLnBsaXN0CmluZGV4IGFlNGVl
NDU3YTIxMzEzMzhmNmE1Yjc1ZWQ3NWY2MzZmM2EwZjUyNjAuLmUyMWIwMjNiMTQyMzA4NzIzYzU5
N2MwZjFjZjk3YTE4YTMyNjdiNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZs
YWdzL1dlYktpdC13YXRjaG9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdz
L1dlYktpdC13YXRjaG9zLnBsaXN0CkBAIC0yLDk1ICsyLDEwMCBAQAogPCFET0NUWVBFIHBsaXN0
IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5j
b20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CiA8cGxpc3QgdmVyc2lvbj0iMS4wIj4KIDxk
aWN0PgotICAgIDxrZXk+YXN5bmNfZnJhbWVfYW5kX292ZXJmbG93X3Njcm9sbGluZzwva2V5Pgot
ICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRydWUvPgot
ICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2NhbnZhc19yZW5kZXJpbmc8L2tleT4K
LSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4K
LSAgICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAg
ICAgPGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAg
PC9kaWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX2RvbV9yZW5kZXJpbmc8
L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxm
YWxzZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+Z3B1X3Byb2Nlc3NfbWVkaWE8L2tleT4KLSAg
ICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAg
ICAgICAgPGtleT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAg
PGtleT5Db2RlQ29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9k
aWN0PgotICAgIDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYmdsPC9rZXk+Ci0gICAg
PGRpY3Q+Ci0gICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8ZmFsc2UvPgotICAg
IDwvZGljdD4KLSAgICA8a2V5PmdwdV9wcm9jZXNzX3dlYnJ0Yzwva2V5PgotICAgIDxkaWN0Pgot
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICAgICAgPGtl
eT5BdHRyaWJ1dGVzPC9rZXk+Ci0gICAgICAgIDxkaWN0PgotICAgICAgICAgICAgPGtleT5Db2Rl
Q29tcGxldGU8L2tleT4KLSAgICAgICAgICAgIDx0cnVlLz4KLSAgICAgICAgPC9kaWN0PgotICAg
IDwvZGljdD4KLSAgICA8a2V5PkluQXBwQnJvd3NlclByaXZhY3k8L2tleT4KLSAgICA8ZGljdD4K
LSAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+Ci0gICAgICAgIDxmYWxzZS8+Ci0gICAgPC9kaWN0
PgotICAgIDxrZXk+aW5jcmVtZW50YWxfcGRmPC9rZXk+Ci0gICAgPGRpY3Q+Ci0gICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgotICAgICAgICA8dHJ1ZS8+Ci0gICAgPC9kaWN0PgotICAgIDxrZXk+
c3dfdnA5X2RlY29kZXJfb25fYmF0dGVyeTwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT52
cDlfZGVjb2Rlcjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4K
LSAgICAgICAgPHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PldlYkdQVTwva2V5PgotICAg
IDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAg
ICA8L2RpY3Q+Ci0gICAgPGtleT5XZWJYUjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPGZhbHNlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53
ZWJtX2Zvcm1hdF9yZWFkZXI8L2tleT4KLSAgICA8ZGljdD4KLSAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+Ci0gICAgICAgIDx0cnVlLz4KLSAgICA8L2RpY3Q+Ci0gICAgPGtleT53ZWJtX3BhcnNl
cjwva2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAg
PHRydWUvPgotICAgIDwvZGljdD4KLSAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwv
a2V5PgotICAgIDxkaWN0PgotICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KLSAgICAgICAgPHRy
dWUvPgotICAgIDwvZGljdD4KKwk8a2V5PmFzeW5jX2ZyYW1lX2FuZF9vdmVyZmxvd19zY3JvbGxp
bmc8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2Rp
Y3Q+CisJPGtleT5ncHVfcHJvY2Vzc19jYW52YXNfcmVuZGVyaW5nPC9rZXk+CisJPGRpY3Q+CisJ
CTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5Pgor
CQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGlj
dD4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc19kb21fcmVuZGVyaW5nPC9rZXk+CisJPGRp
Y3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5Pmdw
dV9wcm9jZXNzX21lZGlhPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8
dHJ1ZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNv
bXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwvZGljdD4KKwk8L2RpY3Q+CisJPGtleT5ncHVf
cHJvY2Vzc193ZWJnbDwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPGZh
bHNlLz4KKwk8L2RpY3Q+CisJPGtleT5ncHVfcHJvY2Vzc193ZWJydGM8L2tleT4KKwk8ZGljdD4K
KwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJCTxrZXk+QXR0cmlidXRlczwva2V5
PgorCQk8ZGljdD4KKwkJCTxrZXk+Q29kZUNvbXBsZXRlPC9rZXk+CisJCQk8dHJ1ZS8+CisJCTwv
ZGljdD4KKwk8L2RpY3Q+CisJPGtleT5JbkFwcEJyb3dzZXJQcml2YWN5PC9rZXk+CisJPGRpY3Q+
CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8a2V5PmluY3Jl
bWVudGFsX3BkZjwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJsZWQ8L2tleT4KKwkJPHRydWUv
PgorCTwvZGljdD4KKwk8a2V5PnN3X3ZwOV9kZWNvZGVyX29uX2JhdHRlcnk8L2tleT4KKwk8ZGlj
dD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+dnA5
X2RlY29kZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9rZXk+CisJCTx0cnVlLz4K
Kwk8L2RpY3Q+CisJPGtleT5XZWJHUFU8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFibGVkPC9r
ZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+V2ViWFI8L2tleT4KKwk8ZGljdD4KKwkJ
PGtleT5FbmFibGVkPC9rZXk+CisJCTxmYWxzZS8+CisJPC9kaWN0PgorCTxrZXk+d2VibV9mb3Jt
YXRfcmVhZGVyPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8dHJ1ZS8+
CisJPC9kaWN0PgorCTxrZXk+d2VibV9wYXJzZXI8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5FbmFi
bGVkPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+
CisJPGRpY3Q+CisJCTxrZXk+RW5hYmxlZDwva2V5PgorCQk8ZmFsc2UvPgorCTwvZGljdD4KKwk8
a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgorCTxkaWN0PgorCQk8a2V5PkVuYWJs
ZWQ8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KIDwvZGljdD4KIDwvcGxpc3Q+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXggNDRiYTg4NTU1OWYxMWIxMmI4YTg1
MWQ3Njk5MTMyOWQzYjE5ZmYyOC4uNWE0OWZlZjA4OTQ4MzIxZjcwY2NjZjk2Njg1YTY1NzI0YTkw
YTI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAtNDUxLDcg
KzQ1MSw3IEBAIHZvaWQgR1BVUHJvY2Vzczo6ZW5hYmxlVlA5RGVjb2RlcnMoYm9vbCBzaG91bGRF
bmFibGVWUDhEZWNvZGVyLCBib29sIHNob3VsZEVuYWJsCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkK
IHZvaWQgR1BVUHJvY2Vzczo6c2V0V2ViTVBhcnNlckVuYWJsZWQoYm9vbCBlbmFibGVkKQogewog
ICAgIGlmIChtX3dlYk1QYXJzZXJFbmFibGVkID09IGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL0dQVVByb2Nlc3MuaAppbmRleCA0OWMzZDc3MWJmMTc0ZDhmOWZkY2M4ZDI0MWIzMTA3NmIw
YzViNmFmLi41NmRiZmU0N2MyNzhjYmVmNGRkNTk5OWQ1NTdjOGI4NTY1YmM2MmM3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKQEAgLTE0MSw3ICsxNDEsNyBAQCBwcml2YXRl
OgogICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGFkZGl0aW9uYWxTdGF0ZUZvckRpYWdub3N0
aWNSZXBvcnQoKSBjb25zdCBmaW5hbDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkgJiYgRU5BQkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0
V2ViTVBhcnNlckVuYWJsZWQoYm9vbCk7CiAjZW5kaWYKIApAQCAtMTk0LDcgKzE5NCw3IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2VuYWJsZVZQOURlY29kZXIgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9lbmFibGVWUDlTV0RlY29kZXIgeyBmYWxzZSB9OwogI2VuZGlmCi0jaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkgJiYgRU5BQkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIGJv
b2wgbV93ZWJNUGFyc2VyRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKICNpZiBFTkFCTEUoV0VC
TV9GT1JNQVRfUkVBREVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vz
cy5tZXNzYWdlcy5pbgppbmRleCA2OTFkYTc4ZDJjZjkzMjhlYTc5ZTI0YzJkNjQ2MjAwMzZiNWU0
MjQ5Li40ZjAxOTY1NDNhM2QwNThlMDE2YzM5NjZlZGExNjQ3ZmE2MWJiYjI0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNTEsNyAr
NTEsNyBAQCBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEaXNw
bGF5Q29uZmlndXJhdGlvbkNoYW5nZWQoQ0dEaXJlY3REaXNwbGF5SUQgZGlzcGxheUlELCBDR0Rp
c3BsYXlDaGFuZ2VTdW1tYXJ5RmxhZ3MgZmxhZ3MpCiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJ
QV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBT
ZXRXZWJNUGFyc2VyRW5hYmxlZChib29sIGVuYWJsZWQpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCmluZGV4
IDMyMTJlN2FlMTAxOTU1MjY3ODdmZWI5ZDM2MGNmNjA0ZmM4MzNmYjcuLjFhZmU3NjUwNzhjZWY1
MTM0Yzg5ZjViNGZkZmJlNjE2YjJmY2VhMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcApAQCAtMzI4LDYgKzMyOCwxNSBA
QCBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
K2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKQoreworI2lmIEhBVkUoU1lTVEVNX0ZF
QVRVUkVfRkxBR1MpCisgICAgcmV0dXJuIGlzRmVhdHVyZUZsYWdFbmFibGVkKCJ3ZWJtX3dlYmF1
ZGlvIik7CisjZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsKK30KKwogI2VuZGlmIC8vIEVOQUJM
RShNRURJQV9TT1VSQ0UpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmggYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCA5MDI0N2U4
YzFkMTIyY2E2ZmE1ZDg3ZTZmZmQ2YjcyNzk2MzczZDU1Li4yOWE0MDFkN2E0M2Y5NDNhYzhmNGEw
NzI4MzhkNzM1ZWU2OTY4YTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
cmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
cmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaApAQCAtMTExLDYgKzExMSw3IEBAIGJvb2wgZGVmYXVs
dFZQOVNXRGVjb2RlckVuYWJsZWRPbkJhdHRlcnkoKTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCiBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpOworYm9vbCBkZWZhdWx0V2ViTVdl
YkF1ZGlvRW5hYmxlZCgpOwogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5t
bQppbmRleCBlZjU1MThhYWRiMDJkNWJmNWNiZjE2N2UxMjQwN2VlOTA3NDcxNWU3Li5lYjJjZDgy
NmQzNzNhZTVhZDk4MzQwMzU4YmQ5Y2ZhYjI4ZGI0YzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQpAQCAtMzgsNiAr
MzgsNyBAQAogI2ltcG9ydCAiV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQcm9j
ZXNzUG9vbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaD4KICNpbXBvcnQgPHN5
cy9zeXNjdGwuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3Rm
L1Njb3BlLmg+CkBAIC0yOTUsNiArMjk2LDkgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNlbmRB
dWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoKQogCiAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0
Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwg
W3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgIENG
RGF0YVJlZiByZWdpc3RyYXRpb25zIHsgbnVsbHB0ciB9OworCisgICAgICAgIFdlYkNvcmU6OnJl
Z2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOworICAgICAgICBXZWJDb3JlOjpyZWdpc3RlclZv
cmJpc0RlY29kZXJJZk5lZWRlZCgpOwogICAgICAgICBpZiAobm9FcnIgIT0gQXVkaW9Db21wb25l
bnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMoJnJlZ2lzdHJhdGlvbnMpIHx8ICFyZWdpc3RyYXRp
b25zKQogICAgICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRl
eCBhNTkyOTdhZjNmZGE1NWNmNTNkOWQ5MDgxYWI5OTdjNGY3YmU1NDljLi43MWFjZDgwODg2ODM1
OWZlMTY4MWI3MDRkYTVlYTUwNzllMzY0OTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgK
QEAgLTg3LDYgKzg3LDcgQEAgYm9vbCBkZWZhdWx0V2hlZWxFdmVudEdlc3R1cmVzQmVjb21lTm9u
QmxvY2tpbmcoKTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiBib29sIGRlZmF1bHRXZWJN
UGFyc2VyRW5hYmxlZCgpOworYm9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpOwogI2Vu
ZGlmCiAKICNpZiBFTkFCTEUoVlA5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0gYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQppbmRleCAz
NTJmZGM1ZTE4YWYyYzU4YjQyZmU0ZTBlN2NmNjczNzFkNjhjZTZjLi4xNmM1OTcyMjkxOTcxZjE5
OTFjNDBhZWE4MWQwZmZiZDZmNjU5ZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQpA
QCAtMjk4LDYgKzI5OCwxNSBAQCBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKQorewor
I2lmIEhBVkUoU1lTVEVNX0ZFQVRVUkVfRkxBR1MpCisgICAgcmV0dXJuIGlzRmVhdHVyZUZsYWdF
bmFibGVkKCJ3ZWJtX3dlYmF1ZGlvIik7CisjZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsKK30K
KwogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAKICNpZiBFTkFCTEUoVlA5KQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDBjZTU5OTE4OTFhODMzYzAwMjY2MDFhNDA3NDVlNjFmZmZkZWVlYzQuLjQ2YTIzNjE1MDFl
NDQzMWI2ZDIwNTA3MDIyMGY2ZTk3YmY3M2EzMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAy
MS0wNy0yMSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtX
ZWJBdWRpb10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOiBPbmx5IGVuYWJsZSB0
ZXN0IG9uIG1hY09TIE1vbnRlcmV5CisgICAgICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRh
dGEtYmFzaWMuaHRtbDogZml4IHdoaXRlc3BhY2UKKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUt
YXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJh
dWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL29wdXMud2VibTogQWRkZWQuCisgICAgICAgICogd2Vi
YXVkaW8vcmVzb3VyY2VzL21lZGlhL3ZvcmJpcy53ZWJtOiBBZGRlZC4KKwogMjAyMS0wNy0yMSAg
U2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBmb3IgaW1wb3J0ZWQgdzNjIEluZGV4ZWREQiB0ZXN0cwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4OTc5YjE3ODky
ZjI3ZjE0YWJmNjk2NGFhMDViZDU0OWI0MDljOGJjLi5kZTcyYTFjOGE2YzEzMWYwYzI2ZTQ3NjA3
OTE1NWQ1YmY3Mzc3ZjJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMTc2Nyw2ICsxNzY3LDcgQEAgd2Via2l0Lm9yZy9iLzIxNDE1NSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXAKIFsgQ2F0
YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Utd2Vi
bS12b3JiaXMtcGFydGlhbC5odG1sIFsgU2tpcCBdCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIg
XSBtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtd2VibS1vcHVzLXBhcnRpYWwuaHRtbCBbIFNraXAg
XQogWyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXdl
Ym0tb3B1cy1wYXJ0aWFsLWFib3J0Lmh0bWwgWyBTa2lwIF0KK1sgQ2F0YWxpbmEgTW9qYXZlIEJp
Z1N1ciBdIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sIFsgU2tpcCBd
CiAKIHdlYmtpdC5vcmcvYi8yMTQ0MjIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb2NvbnRleHQtaW50ZXJmYWNlL3N1c3BlbmQt
YWZ0ZXItY29uc3RydWN0Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbAppbmRleCBhMzMzYjY1YWFl
ZjlkYjY0ZWQ1M2ZjYjA1NjMxY2ZjMTUxNDA1MGQxLi43ZjA4YjI5MDU5MmNjMmYzNDRmYTU2NWZi
MGRhYTRiMjY2Zjg4MjlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUt
YXVkaW8tZGF0YS1iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1h
dWRpby1kYXRhLWJhc2ljLmh0bWwKQEAgLTcsNyArNyw3IEBACiA8Ym9keT4KIDxzY3JpcHQ+CiBk
ZXNjcmlwdGlvbigiQmFzaWMgdGVzdHMgZm9yIGRlY29kZUF1ZGlvRGF0YSBmdW5jdGlvbi4iKTsK
LSAgICAKKwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCiB2YXIgY29udGV4dCA9IG5l
dyBBdWRpb0NvbnRleHQoKTsKQEAgLTM0LDE5ICszNCwxOSBAQCBmdW5jdGlvbiBydW5EZWNvZGVU
ZXN0KGluZGV4KSB7CiAgICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAg
ICByZXF1ZXN0Lm9wZW4oIkdFVCIsIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsLCB0cnVlKTsK
ICAgICByZXF1ZXN0LnJlc3BvbnNlVHlwZSA9ICJhcnJheWJ1ZmZlciI7Ci0gICAgCisKICAgICBy
ZXF1ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICBjb250ZXh0LmRlY29kZUF1ZGlv
RGF0YShyZXF1ZXN0LnJlc3BvbnNlLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwot
ICAgICAgICAKKwogICAgICAgICBmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soKSB7CiAgICAgICAg
ICAgICBpZiAoZGVjb2RlQ2FzZUFycmF5W2luZGV4XS5yZXN1bHQpCiAgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCArICAiIHRlc3Q6
IHN1Y2Nlc3NDYWxsYmFjayBoYXMgYmVlbiBjYWxsZWQgY29ycmVjdGx5LiIpOwogICAgICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFy
cmF5W2luZGV4XS51cmwgKyAiIHRlc3Q6IHN1Y2Nlc3NDYWxsYmFjayB3YXMgbm90IGNhbGxlZC4i
KTsKLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBydW5EZWNvZGVUZXN0KCsraW5kZXgpOwog
ICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIGZ1bmN0aW9uIGVycm9yQ2FsbGJhY2soKSB7
CiAgICAgICAgICAgICBpZiAoZGVjb2RlQ2FzZUFycmF5W2luZGV4XS5yZXN1bHQpCiAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCAr
ICIgdGVzdDogZXJyb3JDYWxsYmFjayB3YXMgY2FsbGVkIGluY29ycmVjdGx5LiIpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0t
b3B1cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRiYzAxMDhkNDRjZDVmNDc0NmY2OTk3ZTYw
YzVlNDczNTZmYTRlNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2Rl
Y29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAor
VGVzdCB0aGF0IGRlY29kaW5nIGFuIG9wdXMgd2VibSBmaWxlIHN1Y2NlZWRzCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFN1Y2Nlc3NmdWxseSBkZWNvZGVkIGNvbnRlbnQK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY1NzcyODAxMjcwMGFmM2Q2ODI0ZTIwOTA4NWY0ZGNlZTM3OGM3MGQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0
YS13ZWJtLW9wdXMuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVzb3VyY2VzL2F1ZGlvLXRl
c3RpbmcuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIlRlc3QgdGhhdCBkZWNvZGluZyBhbiBvcHVzIHdlYm0gZmlsZSBzdWNjZWVkcyIpOworCit3
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBjb250ZXh0ID0gbmV3IHdpbmRvdy5B
dWRpb0NvbnRleHQoKTsKK3ZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CityZXF1
ZXN0Lm9wZW4oIkdFVCIsICdyZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJtJywgdHJ1ZSk7CityZXF1
ZXN0LnJlc3BvbnNlVHlwZSA9ICJhcnJheWJ1ZmZlciI7CisKK3JlcXVlc3Qub25sb2FkID0gZnVu
Y3Rpb24oKSB7CisgICAgY29udGV4dC5kZWNvZGVBdWRpb0RhdGEocmVxdWVzdC5yZXNwb25zZSwg
KGJ1ZmZlcikgPT4geworICAgICAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgZGVjb2RlZCBj
b250ZW50Iik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgfSwgKCkgPT4geworICAg
ICAgICB0ZXN0RmFpbGVkKCJGYWlsZWQgdG8gZGVjb2RlIGZpbGUiKTsKKyAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICB9KTsKK30KK3JlcXVlc3Quc2VuZCgpOworCis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNl
cy9tZWRpYS9vcHVzLndlYm0gYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEv
b3B1cy53ZWJtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4NDk0Y2I5MTRhN2Q4NzRjYjAyZWIwMWQ3ZjdiNjM1OTAx
YzlkMWMKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE1OTEzCnpjbWNKJDE5eE9rKVcjZHojPkJS
NStuVSg2amdEPkcjPjYlekhZVD1oQ3BaODF6NUQ/OHRuT1pgUmBvZig+c1FhLQp6VUEzelVNe0so
JlBkRjMrRWQyY1F6NXs+Pi12Z2s4MUIyYTdqY2tSKGV1Xk9nNUc8N2RiNn13VkYxfVl9eGgkNnMK
enh5fnErcyRnYGYzTnd7eksqOWYoRmpRLTtlQGclNEktYEg7UCpleGFSakxEbDFeJjFBT1FyTHRH
TFVjbzsod241CnpyMT9MT2B+VHpQS2RUejNTTCVaaGckM21UVnFeezclLUFeVElvUm8kNyNUSCR7
PWEzPmg7WUY7JF5XdDlLbEFyJAp6fDFheFMwS20/fTtpeGpYZHFSe29hTT1KTDteeW9pUzM4cj9Q
JDdLPE1LdS1tJHs9STxlRCUmP3UlUlpQQU9PZzIKekxMTEM1SWI4N0E7ZVFAeFdDOT5HRT0qRXph
Q01lNkg4Y1NSO1JGdW97R1hjdHhDbXhCSk83X1FMfUE8KVVfU2JQCno3STRJaCFvPWk3Nmh5XzhN
Wl5CVGhXXzYtNyNSME84VUhfKXtvblZKe0oteF97Ynt1RVBvdFN3U3BSRF5wXmNASAp6e2Z7Wjtx
bElFYztpNzhGTGFJXjxAfWduTWpFdm0+eV9vMTM4R3BYXi12dENqQWt5T017ZG8pa0RpVnFWMDA5
TWoKel98KkRlTVQ+bEBLWXNOKjlXNmh4a0JRKkd3SzxVfEg/fXU2SVA0Vz1VVX5jaTw7OEY5JkVf
bmZuJmhTJmVvRUR4CnpgZiQkM0Rzcnw1SFBtIyFMXjZQZT9BMDc1eGVSKm9eS0Y2TWJPRCh+dlFW
dmlSajtebHkhP3lJQHJ9aF5ZKn5lagp6Vm0hYmtuPkU0ZmdGUkBTTlZ5WUE1WVFiVUR4PHJpblJU
a20tMitzYDhBMEE1IVE1UmEoUmdrNHVeOF45YDRTbGcKenZYSn1oZjJkKzxoP3ZgRExvKSNNSmM9
YEQ9fD9NcSpPQ2xRbWo9dlJGQSUmRjczcEt+NjwwQDQyKTZocF9zb0NeCnplU3ZGfStkR2lOUWJS
cCkoQ21YcUVvUzhab3lXS0c7WXlRUVJOez8mc2JodyljSXh1MmpOalEyUSUqQH1pcE4tWgp6ckA0
P31vPXM9KF96SlJAcV98T2trKSEoZ2taZnJicTh5T0lpRSFpVHgoN0smKmU/IyElS1poT3RXTVkr
dSpkYiMKelk2fCRoRXR2U0k7NXd4KSstISp1OzdFP2ojYnsjaUhVe0lhdSkxKmNfKWlEWDFfYDZW
e0RIPi0qXlhKWFlUPiUkCnpnVG5XaWE2bzJHP25MaVpubEsjZkZzalJXVyFZYU5sQ053d3dAQn58
MEU4YSFBPztoZyQ4I3I2aTI1I3UqRit5OAp6a1lfUmc3bWB+fjl2RFFxOTIzS3lSb3VUcj1yR3pK
Xl8wTlZfcGFae0VjMT1vbGB9U2d2YVh7byR7PWJnRThJPUkKektQYUkhczFHJn15b3BNe1hJXnVq
QlFzKklZZH1TaVkhWDY0TjhUVyRHbCR3MnErMiQ8SilGWChYKUB0PGJXYytICnpYRkRNfVliJm0y
UX1wbHoxPDxmKndSTE4qJkhnVSVVSkA3OyhAa2V0SkIjKkM0KXN7KD5ZP0JiPWw9b2FDU3g9Twp6
JjlNODIxYiEpVzN+X3peaD5eOSVHcT8pbzVOPm4lYj57OFJgd055UEV8cXEmZV5ORW0wT31yJSst
Yng+YntKZCMKem50Unhsa0VLV205Uk5mWEBiTkdEOEVtfmdma3xZYW92RVlWUFVwPjJ3M08/ZVFk
WHAlcnY4Kmd8RWlJLUFhRWFqCnpHfm1ZNlp7e0lqez08ekYmWTYzc0tCaVZycnIlV0xqbTlEe1ZN
aXJHYHlrJTtZZT4oN2JrWipgdkcodHs+KWNYUQp6NXROYzA1QmJvVUdudGJtem9eRnw8UzA4OXIp
Y3g4UmY7Z3ZETWZUZmt9O21PcmVnZUgjQmpyPiFoIUp3dUdqSVUKejdyfEFxPCRpLTcyPHtHYD9G
fjhAajlzRT9BQEZgdlcqemc+M1k+NX0rNE88OEJoVUlsajxGUzFOdTZNVWtCJDxeCnp3LXdAaEd4
K2NGaUxfQVNUZ0IoVUlxMGg/KjhWM3llQVRQd1h9RXhCPi1ZWGgyPWYpTyRLdCppYyt5e3JKTWV3
LQp6SHxOUXxfQUNDdVZzWCRNWlJsTlVDaTdYM1JhP3dyUThxPEZYYUZGLWZSOXl7MEc4KUR4NiZo
RHU0N3tpNWpSdGUKeiQwUmtRPHd1OD8rKERscjgjdE4teVp3Z19FTDg8PCh3dCpeZE1qTnhuVDVD
PSZ5amFnb2k8R20qWDZxcCltOyg/CnpGbkApYDI7ViEyS1crR2JsdVNncT4hcXlkT2xCN3xocX4l
PjdAcTRfYEVsfUxJVnJXTG9RVFJwanZpKS1fSyUxPQp6KmZwP2RgdC0wfEM1cUNvTVBmc2VHPmg2
RmplQlh2c0VSU0IoNDc7YEh4N0l7TDxfbDJmWlZnJWkqV1g1OUIwajcKeng0SXxqekNTPG1iTTJf
VTAte095TiM0bj83aX0qbz8pZChzWE1tPFZPPU9mWkZ1QT9ecX4lem9aYiorbUdkP2hmCno0OWNe
Rz4zJWFjZjd7JEo8b0BBZntxeHFzcWF9QlVfISNLVFEhNSRQbCF0V20lZT1keVhoLXUlI2t4b2M0
KjthfQp6Z041bElFZnI4cXRtbyM1KkVTZzFNfkNMTzZLMUFhdFYlZV5qdmBgNjw0OGs3SzJvSGt6
KVd2c2d+cGpFaVc2VmcKenlhQ01qNzxIaHdreVgwMWhMJClaSkszWSo5Sm9hWGIwenEqUkI2Qj9B
IzBpUHc1U1leZTY/X087OWZFfW11Ql8kCnpWNyhgZyg5QEIqNiF7VFNJbnIzdV8wKFQ+dCNlQlVO
Zkt8TWV5KTg1OUojJVk4TjclWlRXVHI2eGFwTzwofExBagp6TDBPO31WeWI+SVBGNWNJeEMjPCM1
YiM9TFBlYE5TY0xaQzFSNyRMe2doZVpsJXolPWhGbDJqYytPdmo1I0M7d14Kejw2JUF5UndeKn0j
V2JBWS01M2F7aHRsKkMqNVVhI2NgaHJjbyMrQkFFQFJPYlIrNzd6NzkkbyE5S29UVGJVfiNYCno0
ZnY/NWR4cEpNPihNZWFsR2dVP1g3KT9tQTNpX3NXY25ZVT4yUlI0YWpLV2tKQzQzJEVkYHpqYVU+
ZFhVYWkjNwp6JGxzcHckI1JeIzM7WWNxMDRlODB1ZllTTy0+XncyTng9QVpobTJAO1BnOHMyMCQy
MEZHOHxhdVR4dmtXP3BxNyQKelM4eD5uUWF7Q0E9VlREUVBnaDBoQXF6QHVRSms0SyVtZWJ6PkN2
bmRhVldnWCltKVNRUFZNczhXI1RMb25WWSlyCno7RHxKVkduOFNUZ2ZRR0ZuQXglMyF+Qz1HZ0xM
YjdeSGwzfCpZbmlmSXo/N3haMnxNXnFlb3tIVHlwVz08VW9UaQp6e01LMlolZlc3PXBZQXZRSkFJ
MFk9YjxlVmk7cTxPYFhjOUlYSnw1ZmRKMU1HYjBPfjVGJjRFKHslJE9HJlM8c3gKejQwKCRFa05y
bTFUYi03eU9AfEg2ZEdSYXE1aXdhV2N9LTBaQmUyKyU7VUFfU1BMZnJUNUg8a0ZeUz5+Mm9gKCVp
Cnomd284NW42YnFEP140a1R1aEAyYDhiPnRoLUc/c35McGM0Ykg5cl5lNClfcihjQnw+biFpKmd4
KVB+O0RyeXZwawp6S1Z6UHExRjVoZT1sU2tJZ29HMkFiblNaMllSJXNfOXdkP2leVVclQVNLKXtM
dkxkcVU/IShhWVQzJTxueS1TWF8KelVLST4zPD1HaylwTHY7ens0d3l0V2AhRktSWVNGUipvfV9M
bllNV2cwMXomYCl6Zk9kTTxVP2NKeSRpREAhYCVACnpFPHFKM14/WFlsSWF2MDtGQX1Lek5CTjNM
QTYqeCV1Pjx5U1ZhZi0lYCE8TyQ7JT9DLWRCQWktcX4/bW8hQ0I3dQp6LSg8eWg2bDtefEV4UmlR
TWMpTVJVK0JAZCVuQnd7NyNEdFJAeE9Odlo7eUxxN1VWc1U2IUh7fTtASkY/aSVCTXYKejhoWkps
d2pue3RDVm4pNzNqbTd3UGNzTE1aUiV3NzByZjtMZjlTazdHMXxlYnJpRjtFUGI2SlN5UXV6X3Z4
JURXCnopLSNAdl83Rz8pJWVnMlJQPkJPYEJtUiEhWkh7NEEmXjVfXk1eeEtGI2skalR6NDVPKksm
VW5YS29wMzU0XkJoQwp6WnB0MXgjcj9zfi0wT1ZJeGx0bDdofVMtPDR6XnBfMi18dXsqR3F3MFB9
cyVIMmJ2diM7QDJ8dFZtaERYbSVZaHcKejNWZXlpTF8lamlhNDctMWx+MEV7Y358XkdocSRYYUxi
IUFhIz1ScVZadmYraFM4NmBpKnU3cFVRQEZrUzY8NUk+CnprOyhSbCZEMHlYX0ppRU1HQmgzPlBy
c0VnM3dXVWxNI1VKMlQ9WHBuXkdpLXdPN1lUWWFMVkdtQDBNV3FBWVJ8JAp6TmZ5eVordCpiREtf
Nj9FI3tQenFjST58SXRnY3VqdClRSExvMHkjV1ZFOyFzS1hlTHk9ckZ0QmUycyZLNF5KU3wKek4q
NmNFeHEzbjtBbFNVPG5MXzYwT3d+dHk2cSlhMnl+NUlKWitRKVVzSG0mcjU8RmFyPWNjbzJTXjF7
eklzaHBzCnpJX0c9MDBoUWx7MjJwUnlQXnRqXkxEQVpfPTYlcWNDcyV5TWRpR0gqKUh9ckBHS0JC
VU5nbTVrTUdRQXRBRVRFVwp6OT9sVVdSR0ZJU0BUVUlleUpmLTZHVGlHb2NFZGlVa3Rffkx2LT9m
RCNFKWVSaG9jZ187NkF5b0c2IUlhX2NTRWQKeklSeVFYeE5KZktUYC0mM003cHI3P24hb3hGfUhC
enlNYSgzbThLMGJTaT8xbWExNWgzdjdlfU0kZzVOaiQ0aUVvCnoyIVV1eSFUU29PPylWTF9PRn1Y
ZXAqP05RZzdxNmVTVXs7ZWNRSl5HKDk2SGJYPzlTTTw9V3dxY1BvY0p7U1Q5cQp6MFhxQj0yQzk5
TDVIU0YjYE55d2ZueTNuV1laI3IhQGc2aTVjSn16e1FrO2p9MCpETm4odUZpWlo8V1EoeiEhZ1UK
eiNPbmk1ejJ2I2lySlcmKkJULXYmK2pMalFPcmxRX1dId3owKTt2RjA+KksrV1N+JUxFKWx1d2dv
fUF4aEE9S2B7CnopZnxtP09QN1ojU2pyNCFgQXhYQSZ+allaNiFGbzBgfjBiMnp3XzBObnJ5fXFC
SUx0RWpRSTJDYStAOzRRcyhVQQp6JHNlUVp2S3dRY14pKXRpQEt+d1VDZTV4WiFpXj9QU0RBd3tq
TyNmTHFCajFecilRMiMjRml4d2tCTnhmdjEpKT0Kek4lQzZLaHU1RkEyJi1NKldCPn5DKk9XZ3BN
YiZHOCFkclBqPFhCOTw5YDFtNl9EP2ktVVJKeTg5TFowaE1hRX0mCnolRTIrTmRZdUM7RyhabzRl
VzlPeiZidj1sKkZ2NmY5dTZyOEQxekJDIVozMjxyPCQtVzV+Mm5HalJrentlJUprQgp6SVFieTRJ
UGVmNCUkUTk8KCNWN25CQGlgTTkqRTJQTCs7ZkImck0qeFdXMVhfP3tVN209T3t7eWdBTl9LTnQh
cE0Kej9KNyM4bXA9OTRsIU8hX3RocjhQS0g2SX5ZSj9gfGYhSGIzRS1TYSlKQ09melpacCRrRWlf
OD9MZmV9M21wKzsxCnpoMnMlUkBheCV4PG16YVZFcmhOJCQlVztVcG07JD5geFVwTGlhPTArV2Zw
an1GRGB9P19+aEtOR1UjT2A3YmJ9aQp6QkpaWEQmaWNhdTV0PW1aT0B2ZSFMdnpoZzhJJHBLMV9g
NGJ3ITlVcHBWK3VPZDY9S2dBWFk0V05Tdyl2XjJVSysKelpTfj5zZ0R8ZyVGXlA9Sk5OQ2I2cUxa
PTNGIz5nQFdfZEpFdTFrTnxfX1BtOVUqfE9MSk8zbUhvNDF3K3hwKXFqCnojKyhEbDN+MmxFSWo0
THpVO1dPa1UkQChCZjJ4WXZldTZzZFhXJkJ0ME5NPXJJRl5oUSF5b0NESV95ZypWbV43OAp6OWBe
Sn4tRmtzb0omS2h0KlBxQ3JHamdSbjdjdSREU29LPG03IUBMSlBqZGViOzxWZ3c8MDdgMkJBZyEq
SHk8am0KejtzdFEpb0VrfWhgfUgwUW1IeT5kSlpEdm4qc0ZsSExeRmM/VV9yZzc2cmFyVj1+P0Ql
TF95dnNRJlNoI21tZWMjCnopa1FwT1ZCKUdMI3ZwQ3xtPDVrWC1jQ0JzN0YwVTB0N2RHdEUhKGFe
bWs/K2p7e31sSCpGRzRyWHtoY0BSRVkyMgp6anFCWWMkaSthQV9mQE0jXkpMWDE7PVRHY0pZU1Nn
eUh5VmdDXypfOHtQZzF8QSNPR3FLRz17d2xSdn5JRENVY0kKejxUaCNXcj5xJlF4JlFRUUhUWH54
dXVSfnBaJXtrZTxKbktNdU47SEY2VUZBRndzZnwkJkw+eXQ9eGMlVkRkM2E+CnpJV14/QHJkbE5Y
e1d9YyExTkRhI0I+P0MpO04kMjxYc0tUPGlOamI1WXsldkFGfi04UCphaXNjZXgqRzRPUH1rOAp6
UE5MVXZidzNtKVRgUCpOcWU8PVZsSWpxQGk4dj01byF2NkJYMV5eTE1wfHBGUnlkajNIJW8xNjxm
cn4qdT9aOzwKemJEXitFQH1JPVZieU1jTnpRTyQmem5BSEVIUlZUeCtVSW5aWUZNMkBWI0YrezEr
NGpUUkl2OFBDcVp6LTx5cT4lCnpQZ2BTPXAoKX0/Jl5mX2ZTZGppNU8oblNMeWkjZUtsJGhsZ2cz
I2poI0ZDTE9wUUkwQzgxUyVBPiVvcFclY0JDTwp6RF41THQwb2g/dEB4VHtURT43c14lQDglX3ZA
U3Q+Vl9hO3wjISlGYWdVbiE5ZGxRJEsjdFMjYWJkPVlaXyk2T0UKektWMkglPnVxM2E1Yks5UEsw
KD8mVjtCbjU0cnRsZyZ2MnZZe01VMWdwTGJXZ1IoQkhTLTxoPF50TDVVSzdERFpWCnpLUzcpWjAx
VztrRHZpYWQtb31ZcitnbU9XMGNaQGBXa0JsZ2M9KUhTUTtrYVpQQ2VLMSRDVjReMTZHQ2Exe08t
Ugp6WV8mOFNqa1J8Y1FLTTt8O2N7YldQZV9pUUJvMnxLd15SWSpVckFMQGNxaUExNFVKdyhjM0l7
Q28oJW5BNEg2eTYKeiZXKWpMMD00I08kfnk1UDJQVG1AMW5lVTtLRE1gRU1fVzxrcW9fMXE8TSZZ
NG0mQnk+OzFgV1dvOGs0OU5ZZy1FCno/d1loekpRYWdrS0BtOT9JTiVUQHlxMmBAMnAqUlRnVktW
U2p0IzRwe3FefmwzPFFSQ14hPVNsU1BWLW0pKUtKdQp6Sk5PekFBK3IycytJSSkmaU9sfTVlMDBD
d1A8KHQoaEJEZyNvc2hWJUNRZ09RMj8rd2UmJWV6WEV6QlBqaFVMfEEKeiQ5ZUk8WUxmeiU5WlQ/
alJEP1B7NmNJczlMT3hIdE9vI1JDd1dlNio+cH5xSlkyb3VldXNgdk4zOz5NJUxyY1YpCnpgR21I
bypxV31qe3o5SHRITWcpYGdTY253dExpKS1EKm9GMXVmejFkUWo0QjxMUG1gRUZeM1B3TEp5alBi
PkxlNQp6bFQqfiRfcDJTOXBwM2hlcGBGfUBCYCQwcXQ5fXYoanApcEI3fC0kQ1ZlUFBLOHReTz9z
ek5Oaj1RP2w1IVQjamsKeis9KFlkdzcwP2ZyUHZEN0E3eFV0d3BrSHYyVSZ6JU1GQ2E/WjF4cWFs
TUB4ND95QH0+YG5SKGlPPzt0X24yR3BfCnpSYjtXWGBTT2tTUiZZKj1MdVR3PyYqO1E8XilMSDdr
WiVJSXZCT3R9UHFqUypEbUZuWlV5VmFadWRvU0NtNm0tMwp6UjE9ZHpqeFpJUjU+KjY1d2VGOUFY
fXVBcVc5fDV+SkU/cjc+aHFTQEBuPyFyWnt7M01YI0JuNXJiRThlPi1nVX4Kek5OSHYjdyQoZExs
ZXpKWmMlYWAhJCV5KXZuTkckM0lVcTNybkM/R0wyM0Z6UTw3S3JsZSg4fkpzMD5vIWNqRlcyCno8
NF4od0prYklGeyt0NmpreiN2NkRlZihXZGtRYVZGQ0ByPFFTU216I1cyZGVxTH59KEQxSTFYamRJ
Z24qcGk2Kgp6Sjg1PyZQe2N+bz5Sen0pSiFqVWY/JHR5d2ZlVnNTYVdhSF96JFlxP0piQzZZIyNu
JXtNJCN5JiZpIS0kc2BMfXQKemB3SkNwLW40YitMI202LT5gT3VwYzh5RzN4cUY1cVBCbHojNlhX
bjZMejN8Nmo9YHoqKXFqalNLfXJuYCllN0czCnpNckp5e1hOeHxATEBNa0tpOCFrNz9aIVF2NXst
Sz9uRXsyflBFVD1YV0FIQ35UNjhITF93Z28ha1dYV0FNVWNTZwp6XldHNmY8KmQyWD1WO196cV5F
Z2NYcVZSfj8tREc+JGglJH1gfmlZYnhZdy1GZ2doRE9YdCoyNUdPdm0mSXhlKF4KenRxfUJvI1Ul
NyFKVEhNdmxJPjF5KGlQV3A5TSRscko2KVh6RkpLJT5sbjRJfiZtUmw/K1VRK3UrdWkwZ2t7Ozcz
CnojSEhwSyFUeVIkenNGNUd0NSNzRjxHVmd+a0RTUXNMSjZTYmd6JnpacnQwdH48YzZ3Kmhidm00
SFROPykjUVI3bgp6T0AjXndoY09jTlNXa2pHVms7KHNTUihDczZCVUEpOXw/YGZTd3JHNnYoSkJY
TVdCe29gdlIzfig/dlYqaDs/S0UKendfZFViNHxIOyskUiVjZDRVJHJgZUQ1QTVNKTRtISMoZ3R0
LVBxdnNEN0QlZ2xpQTBtR1dTJFZ1alpVdzxte2ZUCnp7eVBNNjxocGF0SGVOcGM7YF9Lekp6X1Yq
d1AlbnxARzslLXt0dFNsMHRMZGM5TnshbnNHc2IlY213NDBPbjZSfAp6ZCYhKWpLaCZ7JCZIfCt7
VjtNbjcoMy17VlJRKVNoczVBWT5zKVJ7NiNeZ1Z6QkxASmh7VEl6NjlIYUw4RzQ5XjsKeiVqPUl0
QEsrVmptNlcxV2gkfDcjeCt9VyY3RyM/bWZWWW19UXQ0Tl9fSXt+Uns8RmwtLWdpS2dWRkg+M1dZ
XnRpCnoob340eUpYU2FfZ0NzbmlQbXtxPDZDYjBmKWF2Izg4PSlLeFg3fDQhNzk9QmlEezIxczNA
UiViNFp3PklLQCN9RAp6S1J2bSoyQVFVfDRLPDJMb1FqTDQ2JnUxJVJEfkhPaWZON2pCVlM4WCFA
WHhGcjNTYVNPKzlNOCRmbE1qY1dTX3cKekk8WiU+RmZQeGZ0RjEqdXk2Qjs8MVNNYihYYktxP3Eo
JHF9OU9uaGJ0UG1GPGp0OVNiaEdmK0pRKlVXSEJybn4mCnpZdzdYMnRiU2gkeSRuWUQ1VlpgYUZP
TTJ5OGl5ck1fWHdINE97fjxfZzFxXlFJbUdrenRPai1ndGUxQk9KUzUqSAp6aDd3PCUyKG5KQEBC
fCh8d3hQe0E9KWNodjI+e3NnMmg+dzE3RWttfGYlWGcobV5SdHBMZ3k+ej8+VCRrSTh1Vj8KeldZ
WXgoWChGOXpwJT9AZTtNNT57ST55fjlBfEhWdUV6dilZPk8pbksreiM+TXBFeDFSbk4jcCRYby1+
KXN6TG1SCnpaekhQUCklfEVxeWVgcnVMSiFoJnU5fmhiVjs2IU1tJXpIKG9rVm92byNIYGcjZ2NP
ayh5dHxGaz81UEdQfE5aVwp6emshN0U0dzEqR3pWS1BiLSM0VERKQ3pFYUMwX2NOK3x6VTV4MVFR
eld0byV4THg1QzVNUWIhRENKYVEpNWZqUW4KekJeTCN0aVA3JWdpNis0RiQ0Iz9zSCghR0t2T30h
cyR1O0g3MH54QHZ4SHVCbmhUMkhOMjM9SldsakRsUTZeWCZBCnpFfFA+SyNCIWlVO2ZzNGYkI2FO
XnFQPGp5aT9qI3NBIWJyVlVxfG94QlBMI0NJSVpwPnJqN0p6NUhlRE1wOWc7Xgp6O1Ixa3RlPCs9
OXVZQDFycmBAQm5hVC1NaC1SVUBlKkFORTs2X0RJREJhciQoJH1SOX1NVUJLPjNUVGprTHxIM0IK
ekxLZztBaW1wNiVNOE9lZEdjWkhQQX1zMjsjaSorQlRhTV44NkoqM0N1YU89VW1XK2hidGBLJnwq
WSNCRkV6ZSpRCnpIa3Z3N3plbElTb0JNSjwhbWZIfV4/P2E1ZiRpRkAtVThrei0rclF7ODhwZCZD
cmt9Q18tZ3BLSllvKSlsQlU0dQp6S31Yc0h5T1BCRypDYE51THtKKER1WFFnQUxiOXA3c3Y+Plg4
VWc7aUIpOEtIOG9NPX14X3BgfWQ3UCliX19oSUYKejBiLTA+dS1aNFBKS3pyYVA9PVNmV0Z5RzZB
NUNAVFc8Zms8bHwwNDx2VGtYJlpPUXtSV2lic0JfanVTV20wLUE7Cnp2bnElQzRJSXJVOXAmUzdk
NWF4M3I5P1hhXjF0al9Jey1OMEMrVkhGbXQjO1gjSEQkfk92TH0+P1RzU35OLUc2SQp6X3RAc35g
WjZOcGRLU0xob153ejQ3LUlEZztSPks9NVpjYVAyLV44d05MMEh1WGErcHpWIXJxMjdNekNGJndk
X1oKeklOIVEld1dYSmVaWXdGO0tZYFQqLX16UG5KX09NZz56OTAyPnAwSD95Y1RESC08e3I4YkJQ
c2N0cjRCV2p5fEMyCnomTyl6TURqcUktMDtkZCZNYDg0WlEhaGlJP1ZQXzgrWn13JG9JOCU0aGc7
bjtKX3VNPDclOTxGTSUzJTtIX0NWJAp6MjlKI2RhakdjflopKGhyR1RYKyNhaEVrUnhUPjluc05s
WHs2O2RsNHc/WTArXzlNTHx0YGNLflNEMEl+T0h6MyYKemRfX2lEdz84TUNFaipKNiY4NyNSbHVL
KzZQOEZHSWxUb0JpUGthfG9gQXBybkB2emhmJDxvRiFSfXY0RDxpT3toCno9QXhGRkg0Y29sQih+
JlU1SHh5PDEle242dkp1OEdeWkRqclBOPkI3STtob3ZZZzE1PCpVMFJRODkoWjQwP00+aQp6RzRE
TFEjLUAjdXlpSmcqaD0jUTt3RCFYPjs4UH0oZHhOeHQjZm5WemY5QTVjMCh1IWY1bmd+TlYlM201
KWVWO04KeiQxYEd6bjkoV0lKJTBwbllUISEhWDJrSnBGOGctWD9wNUo+QW94cHRpZEBpcy11d3p6
KHNDdlpsWG1PYEkjd2k5CnowMDF1ZVE4dW4qMXZMdilCUmhAZl5EXj0+eG8maGQhQEc/YE1jK1gp
WFU5OVNSKkN0PkpRfVB3TjVWfVFXTzNgUQp6Kjk8Wkh1cytOaW0tPDYwU0MjK0FUcmA8QEVJbT1y
dVVDKDRIektzMkJPWWkwNikyOWA5Z1l9YkxkIWUpKnxHKGoKek5lIXtTV3tCQ1ZDcnBAX0oxcz0t
KUhRX1AjOFB6QlImdCN5RSNCc0pGbEl9dCp6TXclem1SOGVWI2E1QGZAOTVBCnpiRzd2RTF1PihO
ekQjMzJSbExsO28xXlc3eGVDK1p2JD1kKj5BPkNlQnNqWGltXmM1PnFfLUElekB+PFc8I2ElJQp6
U3JEQ3RLc2JgWD4/VCREc0t3M2JZfiN9Zz9vSX1xJVMpdTwzNE9rT2xLU2JhJGcpeHRTJmtNLVhF
O3Bqb2NxX24KeiY4cHk1VGlPKyM9cXVxa0pmWWhuNDNKVl8ocFM3d3B4Z0JDPEIweSErekZeSzV4
bz5hXiVBVzsxdG8qN3ZAYzN5CnpJXis+OCFjK0Zhc0ZqenU4MGtfPkRKbXt2WEoyclFyWmBYfUEm
ajNLRUxlbjNfS3VyVTY9YURmSjtxXlFoPnZ3Zgp6cnAwZiUzU2cpeTlvezBFSClyank7VkRCYVNt
PWU9QiQ0amw4R0JgWSp0SkE2RVB1QU9FMTI9UnpOJThfRjBfVmsKemBiakJ+MClYM3Bgc2o+d1lu
dnJRKSZsZFJeRn42SVozbEUyTGAzI31zXkRNYHw1dXtlPTdRKXFHPEpUJWlNQV9uCnpEWkBadj9E
fkU9ZGd5M0QkMERkTGIpMXV2bnBpc19hQ3J2U1BTSFlDcztMTjMrOWpATj97eTJ6XnRZSj1Qeypk
SQp6dyR6dUtlcTtkRFdhaWUkKSVufCMmIWZEUzZYX31rJGx3czcjM2wjJkxVWkh7Rykwa1d5UjZh
Ryh7UUZ2M1ZSNUUKenZZVSg9N0FSO2cjKUg7ITt0blUxcHtEOWAtMXNiQW4rMjNvMnBsXnUwTWpk
dSM+JjJFeHF7N2kyOTR3MjRjSmBSCno2biV8IWkoRGohSk5xSj5NUTd5fE5ubnpzeTVieyMmIXhU
VktWQUh4QG04bSokNj4+VUo4OF8jbGVBS1hSZU1faAp6WiRYTVlyWGZ6PFc+TEZqKk5NO21YSFZk
Skp1ZT9fPyYhOCpkeDQ8Kjk+PFVXI1dXVDBhY0heZVFTQyhtKypCP0wKemxGP0dVc1hzfHhvclll
ZWFgNTBibCRLQS1SfXUqTUZ1S2gyKjVEX1RfdiN7R1lQQ2FiXyVDRHVnTEBweFpgIX11CnolTWJZ
JSt+eG9nMGJ6T04wOChTSXZMY2VneTQrN2MtWVVsU1ZgfFNRZ283I1lObj9+Ry01YlAjJU5EdElZ
fWs5cAp6VkJecjBIV0o4aXBAVzRRRysmenNpbDB4eUspZSUkKFFqUWZrVz1VaG9yfUY+dClKZlBA
dW98OE5EQkFieUpZd14Kej1nSmxzLUFMKWcoTjFxIzBNVnRMWkd9dD0hZGlsQVZXPVI2VzhDQXZG
RTFzYEpDRCpHNSloNTBwKyMpOzNMIzNpCno3e1FZKGxNSENRWkZFfUBxPHwyU0c4JWYzYVFKTENw
UDYjMXo4bHlfZVkzezVxK2hacF8hMHw0cDstWn0qVVJ6QAp6SldYfWY4XnhnXzt7eHN2SWw2dUB7
cnV6YXstPnQyMih5Vz9SQjUpPUlZJHM9dFAocVFDTmdgTDZeQXA8eWpFMmUKekVRdCp4ZHZsUmVr
YHopcVpKYm5rJkFnUmh3NzdSdzV6PTdAUiN1Ql9VOWBOTFAofWtrKkxxSHpeZF9ffW0/TklhCno5
YyhwbCQmPGp9eVMyPzkzP0p3ZU9zaVNfcWJxMW9fYnQ/O0p6LWJFeWxZensmUy1mYD4waE9BSD80
SzQkcyliKgp6XnhZWnIhKU5NMVp1TkNSPSU1JSNueGIte3ZKaV9vRntUI1E0bGAjNiQ/XmNabUYq
fDU/RyZlQWo0WW9meE9yLUMKekNtQlFiWDlDaVUrNlk7fnpuTjh5OGFiZFdVbl97Y1ZsJVFtKFZu
MzdiS1VEOTU0ZUZUSlpkcFAhU3g9N2lHIzxLCnpTT3g0JD5MaSQoTHUoKTUlQVM7TmgxQCNGO2p4
VTJAZTBHLTQ1I1RTMGBCdC0oYnkrJjRrSkdDTThROWw3eSFWSgp6S1ZzN1A/WSNVNT1mUyZAVjhz
ajsxb2thMEp5T0dTJXd4OXFTVyElcTRpYDUyKlk1NmtReD1ufWd2T0RuR1UoKnAKenRgfEVuKHFa
JG5aUFBvVV8pUWdLQ1ViYD12K1BmNC1lemBnQFk1Q0tmbUlTUjVqLTBRSFZ1cH5lQHhUMmIrSFlD
CnohNG5tNDRJeVFLd3tzenRyXjIqNG9zQ3dpX01DWVQ1Y3RjV0swUUMwM21iZFgoVEp6bTdPQDB5
X3RBQUR7bVApSwp6S0xtVVYwTkQ/ZEE+cEJDQzY2SW97cSpTcUhwRGxrXmtCMjVnamlwOTlSNENi
LWY8PDVzdDx6VGsrUjJ8dT92OFkKei1vKFpJMTxHSlBvNXErJE1sRyElRjgqSFFnWSVqVV8/Skp8
OC1IVWhucz5hMEVEWC1XJVplWjBVVXdiKExnbiNtCno2MiZzR1E0TVFwQXJGXnBzYFRzTU1AfGB2
IWZ8Kn1QRFc5bSUtKkRzU2BKTjJUPFlXeEY9X3deXnBDRD9EaClBIQp6P2spWkxWYDxJO3VqN3R9
aVh6QWI2RysmIV9yXnJwTVJPVFBRSHtLSEd8cjB5NiF9dzYmYmFeOTk7UW4mJG80cTMKejRnanR1
YDdePF5KVChoR1V3d0lgP2o4UyRRZE1TQnt4YW1kTSZ3X2xTY0VSWGVFQiUpXmYlQkxVQkJhfXg1
OTdiCnpFOW1MQ1g4YmEkbk94WiZXLUBJamAqdEtGcE9BTj87bVpBPHlyaUF0a3pgZktIYkQpKntz
bTJ5QkZCaEN7ZngoOAp6NWVGMTNCTWIpYjlMdyhZdDBANGRLKSRgcUZkWSFkUWopQ1ZgUkUwQ2pW
eWw/Yl9jPWRNIWk9akJRTlc7RGpXXlIKenFzUTJLJUZDdnkyQHdnQGBOVj4pNXZMdj1YfWhNYGN8
flBHWGczWCR6THdCPjY1OXA4ZWIxenwlb2lUc202LXxzCnopdD5TVDQ9M01VNG13Mz93NlMkVlo8
Wnp7OCZBdzdHaHlSciRuKm1YQDR0RTZLZWNLTyh+PUF+XzR8SEYoTHwkVQp6O2N6SHNhOTFYMiQq
aStqcFZrI2RYVkNONyNufDNPKnMzXmh1MkpnKHt2QUtwWXBsTmB3JWx2ZFM1d3ZMPH5icVEKekFZ
ODxXdytHNCsqVEZMM0k5dUBadihVUlhaMTxEV1dyTFApMGt8VDkqSDtRZ3tXJWNIYT50bGtaS21+
bEA2JFBUCnpDbishPGQ7KWRjLTgkOT4kREYkVHVFX28tRT0/VmZPOShxWjg4R0lUQiprRCV7fFdH
X3JXPDZ+KztgSkkkQm9NYwp6VT87bGhGKmIqd19YOzFVQmkhPGN1ZyRNQjlmcGVsND8kT0wqYD5N
QUIjZV53X2Azbjc0T2pNNThTNVo4KGVROGEKelJkentZaFFqMVgre01+bGYjMyRYX18+O0lmazB7
Y1pjU0c0SylJMmBGWHxabmlGdHg+anFIcCVhdGQzQHFKUFpeCnomMExrWnQ8UG1GVWEmTztQcyVe
fUNQbn1WKH5tRCZJOWVxQCglZFplNEs+aThBeDM+TUR4bnNGd0QxZzlLNlBOdQp6ZEApeSpuYSRq
NFY/VmNRbHZpa3V8RktjN2FxOEpzTm95PmdLWkgkbVI/P2w3Q3dXc2R1Pk1DKntqZSlrQDdDP2EK
emwjWDdoSFh9Yno0NyFEaVkqbGc/dUhMb1c3VnV5aEt3T2JlUTxnVVVUZVJ0fVNXMHkraSZ7YTh3
Z2FeIWxZZXRDCnppO00mQWdYamRpSUYyNEsoKU1zO2Q4fHRmXkg3SUV6UyNBYFMpVyh7X30+QVRo
Tm4oJFd1TUluWlBBN0BYPH1eaQp6PmZEOGxtYSFyIUlfLWRmO2FXMlBRQkAjfSExeT90RXFUezMh
KnAmekx6RF5hQjtaXkd3MGdmWmZsOUZHVUEtZ0QKemI/eWBJJHJYYDJYNmZBfHB9blFFN3FuU1Nh
Z0BJVEBuMEFlXm5GJWhWKHZXcCtfQnQoYnRnbTglampYQlVCajNkCnokdngwOGB6TE97T0A4I24z
SUd4TkwxdlMle0c2JVBIRzYodDFSdndwNVFBQjE8IzlKcEFLTFhAdiN0U2VTSXEwXwp6d3k+aFk+
b1BIVyowYGg8dkk3JDRAPWBxSHomQmFwdDttTWB0SFdjP0BNMDtQQCpfYzF5QyNqaiZqJWtxSy1R
bU8KemFkfmtJXmd2VTY0OHQlYD85MUZRKVRxcnVWM3E7JVI1RCF1RWB4eV9SZHglU2AteH1zQTVK
PGQ2Vm5kMm0pNzZhCnpHRXxRJU0hZUd6TWJkX1Y3emhlKDcpWlJDaW8pX1QwLXBtKipHWldvIWg3
WE4wem1AYXJOVn48Tnopb0kkd15kSgp6MW4kPDVaOFpTY3RCMm8+Z1AwKmBfQHdFcTZMNXg+UEhC
JntjQTtFMEZQKyRLQylmTjlXTSl0NEI5UFFnMShKdzcKejB6enMkI19PPTdHflN3KHBpUSV7bmZf
Y3J4aXxINkM1Z3c0cVZeeHVDb3ZecC1JNSNeN3FVKGJKK0Fac1FtODMkCnptfHVkejk9JEY8XkVA
ZzVofl5KQTRjaj9QJSlYJGw+VXpESlB4ciZaNHBge1MyTllnTG5BNkJTSjVEPD4zNiZMYwp6YGVJ
a35vLV82OE9BPWFpN0lRa0M0Jj1lUUdqQEFnNCFlP00yWlVDRUA2YH0mcHI+S2tAfWAkYVAyX0N2
QzF7c20KekI/NjVqNyZzKmpVK3lVQ3pRc25xZTlMXzE0cW51WXN9I1ZYTHZGYypRLUBfZSt3SWZ1
cFpybzkpI1RiaWx1QGRzCnp3NTJeOUo1NDNvdl9PQ3hnemg7VW0hO1FOM0NZYjR7SiEmZEZ4al5V
d2FyKF8yIzhxNkZYZ0xLJjxuY3Ikc0UhcAp6cGtHfEhoJHlXNXlZfnxPWUN7XmtDaVhgR3JtTjdq
PylzP3BpRVU7OVRNQ0lwM2l7Zjx6fE5aKz1WWUtJQHc4ZGwKelRMTS1rMWRLSTcoN0paMHk9e2JV
N2oxQT5yaV4yNzhhcVplaz00aCVkelZNVE0/MjVxIzhzP0I0Nkh3a1JkZklsCnoreUJOOUlPU1cl
MldiP2IoPGUzPCgoPmMmVzxjWT5rO1FTfiE9KjZTZU5fajNwSF4pMXFEO2RlUVJ5fTVDWEU7dwp6
VSF7Xl5eRSpkekImVklYVz9pS2QkPHVQfSFWUn1Ud35wdVFRIXwlXzxVTFI2X28/cFQ3VjJ9N1pE
KiYme3NDMzsKel5ic1IzdE1KI0loJG8lfVB1Xl9DaWx3OHd7OV8rcmM0TWx4UEZHcCt4WF9oS1l7
My1Makc9ckRValJycyM5cCRRCnpOd2ZzS1p4Z047KXlZeTE1VWhEJkFeRGJgWlhRfjdwYyM0bWB7
MGg3VnV6flZDc3tzeXdrbE5xaTl1c2lXUitYUAp6WWktekY5WlM5RUgld2ZXdkleTXQpUjYpRFNj
YTwtRT1yby1VQ3BeO0tyYipEcF9nT28oXjRTakA5amVlZSlURksKel5HQj90YEpvPkh4bUkqaSZB
UnJQODwmfClAcDZGck0+P182NlBPUV8yNCYpej1wVUQpMSVMcDR2fU5HaUFmPlIwCnpBS2dzdXFy
UD9ka0lrUlJ4cjxKcTFqeGM/KzJhLWFePHZyOUE/Wndiejw7dDFxJVN4dEN5QGh9YXQjVTgxNlQ3
awp6V25rbk8pPj92WlFHSVpDckplajVBN1JiXmVYVSlAcDNhRVk2Yk9+KHpWVnB8UnJpdVlUfkRk
d0ttdEJzTyQxek0KelF4eTAxV2E+UjtVM2dtJmsldDwqcS00NCRLJWxtdkJGSHJSZUtTKTRkTzF+
TWdlYiFYJiQoTzhSVDRVRHBIYT0hCnpCbDdYTVA1b3JpSH5eRVRCfnFqZSZ+Qj1rZiZ5RSlQSUZ1
dj12eGhqeShjUDZfSkVETFIxdGc9PHQ5dSNOOSRHawp6N0MjXmFiRGpCaVJQYHp7NG5tekYoRT1t
TEdyVlZxTXFDSTJDRX5jTlJlYnNTSkZ6KXRMPmE3P3tUM1pjdkB1fFEKenJGbl99TkpheV9UK05x
PSZDcDtseW5vKXhMQTllOVpUI1F8KkJTc01DRSVsWG9SUjB2dm59cHhoeHc3Y19LWVQ0CnowbVh2
WWhFbzx1UUgyeT03eSZBJW9VcjA2TlIjUkJZKWB2QngjajdCMT1YQXEpfGB0WVoxWERXa1o9K0tL
NmIwWgp6Sk0yTnozSHx2akIoanlzPSMlTG1GJE1TWjZPQk5qa2w4WnBzTTIlZyFxaTZ5UUApXmMm
RHZSWmRDbE5obmVDbDIKelVxX1kyKDlWWFRUZ1BneCZ8SnZJYnxiIXdPMEhrT3hidlZYPjE1IypJ
SiVKRTYjTW1zQ2dwPWVDNmQyVC1Qa1MxCno3WnY9NClSP2M+I1VgNn5LLXB1WGE+bk84SCtsdE9J
fFduY25JfTJsZ31le25KMHN+akNfcnF5Uno8IUQjaXVeQAp6MkRwdEJwQio5JTUoKE10P1B2bHB3
ZFBqMjNNOEAmPUl0a1FsaWVaZVohdnA7a3tCWihjMkxYfXhkRDFFPDtKaUoKejExa1kzNSVFSlpE
Oyhtb0VEe2FDQ0FuJCs1YnE2MVEhSy1CTDxEfUNYRUwmXiNmVkxhdnMxc0tiMFlPV0FhOHFQCnok
YjUxTnp5N2tIajk1MntiKnFpRm4qIWAhaDtNOTxpbzRgNyMhI3lhVE9ARGMpYDVgNCZvPFk/RDNv
YDJOTktAegp6XytLKXI4ZVMwYmFIYklyb2FjVkZNd3dNOzIyazRwPiY1eD5VfX1BekcwPyV8YmhC
NX5JdjlwbXtGI1REMyFxcWoKelY2cHkhZndKO0dtJEZLSyo+bTlBNUI1O18ja0leSipCWXc/JCVW
SjYmb29RYFRfbDdMMEkzTjA9Km9AMndhU3ptCnpMWGBlOUxrQ01FSy15ZFRrXilJQmRgd3dSQWJl
Uk55dWJfUjk5WTNtdC07MSNMNlpZS2FaZn16dDEwJWtFVDhmMAp6bWVsYH1Wa2pzYnhnJVJxKlk2
TCojfjNlc1BgPH5KSSFwS0pmISEyUHp1SD9WczFaUm4jTz1XXztyVERiVS1scFoKej9ONTUmcUlm
amNpaz1ZIUlLYnt9alpUN31yZVFVc0hhK0tPX2s1PTJNXnNlZGM2PkJNbCo8RWgkd1F7TzB0LW17
CnpvQ2A5Nmp7Zm8hM3FlVzZAdk8pVGEpTihXP3xiVUJRcilBfXVUdHs1dXMxKUtYNEQ1STM9Qz1n
Nik0cTBuKW8zVwp6bEFERTk4STxRM0xUSEQwUC02c21faD9+U2tpY3QpQitReileTWxCNSZSKG4j
P2dCTzlzQHR4NEVUcCskY1ZEP2EKelRCTT52bTQwODlYJGxlX2ZrcGhjWGF2JDdAWF51UnY4flhl
ayF2RSZfdzR0SD14ZnxDIVJReVpqJCV1YkFnJmB4CnpMJGlBSmVVNCVreyhEU05iV08yRUNaKSl3
JmEka2EtTFIjJjxtK3ReeyFmZztubm9gQG1oNGQxQ2wocklBODhneQp6ISFlfF9BNGMhRD0tfncx
e1RIMEc1M1Z3e1NXSCUlZ3JfbXVrISs0X2taWWgpREJUSypSI0NTM2loMk0pcTN3SFkKenxEWlVB
bTQlK2YkYT02OXw4U0J9ZFZga0MtK3dBMD5SNCRfXzQlX2FsNW0jYXFzcSZtWjk5ajEzbTZCMm0+
cGlTCnpKdz9LPiNOWT5OMDRDWE9QTnAmbmg0cXEhektFJkteYHwwUVJRSWE4YEB3JjIrSDU5K2U0
WD0zQih4I1pXQTRNfQp6NnllUU0jRlNDUnBPcUgyb1ZvK34lKUlee1l+N0xzT3RzT0pWSEJQSU5s
QDcrT3cqfGRfeFNYXzMrRkRoZE93XykKejBVJmNmb0VrdUpDd244N1N0RDxKKGFrdTYtUFRyVCUk
ZHc9K3tCMU4xSj1Bb3MzVTRfbHB9KHdKPnFaO1hoKWszCnpDbiVeVGtlMnJmUkk/eX4wZiY/Z0tD
ciZhK2thKl9kQzB8MTE2dDNOQUQmPnZ0JmtXUGZZNH5FQFdOSyYhJUprWAp6bmQhLUJiTz5YN0Ew
KTQ+UWZyX1FwPGx2Y1A+UGRvWlozM3MyancqPyorbUo/ZnlscXpyYUtwTj8rYDlyRX1DRz0Kekl2
bz5FdldwUHd7am9YcSVvI31aRFVHe1BiSTJlPHE2YX42YyVEYnMxK0VMc2ttTHlgVCtyNnF4UXlu
fDBRXmFrCnpsWU4pXyVldkY7QXJ9cDZwKiRra2d2ZEBDcW5GSUU/SjNtbj87Qm1IJS1HPVA1STMx
LW9YVENsZ0ptREtMZ0lEeAp6Wm90M3BhfmZMRCRJezl5c0pnNS03KDNRV1pMIWleV0I5dmswVFpP
N3dyX0NuTnp3TC16a1F0aWV4VXZBeUZVREgKemx3LSVqd2RMRzZjdThpNnAwaSFxNztGNytEV01e
MGdSTWZfMSsybD9LIWc2M05LKmAkWXJGK1kkYnUpRjAmZ0Z6CnpyT3dUQzVefnFzdmQ/KmprOU5k
bG8kKjB5bzxKWHx1RH5RR0RvfXlfQ01fVTd0WnxxYEA0RX44NyhXUlNoOU8+Iwp6dH51fEhTWWs1
NWNvVShGYT9EI2M2KyZZWHpkejNmWjcpMG9uX0kpdyFJMnEwVXJROzhiNllqWEVjTWF6Jms0a0QK
emAoXmlKPFNoWStaZHVWZ3lNOFV4TXdvSFlTN34/SG9rY3ZIaDBOQD5uMVQjaHl+bnZ2bVZaenZC
cUdiRCUzPG44Cno3c3ZLQFc5dSVrWVAockFeI19YckdXWH0oSWZQMEZAbndGQkFTcEM8Oz0yQnYx
QHc/eyh3P0F5KkdBcFFBN1QxVwp6bG4kKylRN2BgNURKV19tITxCJGBUUE5rQV9sYzI1ZyV3dkFv
S3MzJllkS2wlcE1LI0NlcjtLSkl5YF8oOGslbFQKem9nIXtraW9xcUtFX0s1d282JmZYbk4xb3Zh
a0xuNE9vRz9sWlZVRyZjVGRgSy19TDxmZilqbn1MS25YMyUkdyFgCnpkJHBDdSsqdWVqeGNjUVlj
ME91V0BpPj1mZHlUIWgrcyt9MDhpXzZ3bHlOc0d7RktWQzFkPU9KRWMhRS08XmgxYgp6e2A4UVFP
RyhEVjhEMlJgOFQ8TUtjdn4xMGMtVXV0Vm0odUlQQUZAVGw8Zk1iVmdkMmRSZjdEVT9QTWJQJEZB
QGwKekV1KjslYzRsKz9gUlRxTUZxJlNvY3RlJTlpU1phOXhrYnptP1hya25VWDw1ZzBHK1JSLXdW
O348fUUhVTxDLTBBCnpaRXgwRHUwP2x5RDZjcF8/NXkzS3ZHRUIlNFBpZHhULXtXP1UpaVNFQjxA
SGEqNUh6dUFOV0Nje05LJVYwWnxDWgp6eygtZypWaUNiciteX0BycHhHRnFLQSlMU1hHZmNaTHA9
eTlkazkrOUtQaCRUYz80V0chKW43a3s9RjVScz8hU0AKeil1UHwoY1AmJXZlSmRiTDdhaD9Ibnx4
Yk5HYUdCbUNhaUdvYEs+Ums5RWg+Yyh4aHgyS3NtcE93Syt7VzNgfnpkCnplVEM3KmNoM1dmcHh9
aTQrKk0qUFdfWVFCTj5MVXZmQmlsUDtrIVc4SHFCNlU0djs9cksoXl45Ums4bEVuMHE/LQp6cCte
cUBoNXc8YXpMfVMmbnk4YUZPVk5aO2FXdk1ndUhuPkVPQnxMRWJDd3dUZHNhaiVFVTt+ayNqRVQt
em4xQnMKejRHUjtlaF9iU093a0BHYGYjWkItPGJwWlBQMVI9UVU/cGglZkBGQ0lWPzdEJnohfiU8
YDBAeEYwMTgpUiVpPTtyCnpuR0NiKi1AdCpkU3B8bTg7aThDS29lVEh1K3JtTWlrKSRHRiFKQ2Ny
JUpuMzwqQyYodm9BJW5Vcmx+cndpcnsoXgp6SFBRVE5xTkpgSmNTSj1mI3FuMW1VNHpMVWdHJTtu
SGkyMW9VVVRTYFRUaG4wamM5YT9ZMilXUGRMclU5b0kqP2sKeigqbjRuPG1LZ3tEY3sjWllNYHUj
fDJnOHApMzl6Y1V3WHF0Z3BPJmFLSiFycVNRTnNEYVk0bUdZTXJvOHBSI348CnolPkd8KFIpPypE
KXZiRHxaKzdaJkpiRTtMOUchK0RjTmpoUDtseE9Pci0ldF53bEVPX3NoI1F7VXtuQjVxOTAoIQp6
MGdrX2ExT0tWQGQxb3dDPmhtTUdSaTxHQE0mNWJKJVZEYTFpVyl5Yml1MnJhOFNKRWBpJHBBO0Vp
TmR3QU1pJU0KemRQUXAmIzxGS1l7UUhiZ0dENGw2USkmZF9oVFJZYntPWmkwN3h5JiZxSFZ1PFJR
VyomWkl5RmpsTmU4TEpmR3BECnooUyhDe15reFFeS15+QTcjaklmPi1fR3ZYWGV3XmxqWk1pLVhD
YUV8VXFUO3tReDdLQ1o3ZiNiWGNuRmpVRiUyNwp6SDFuTTElRiUoOD42X3Y2WTFGUHI0M0FIeCtr
e2E+JjUhMy0xRHkoWGI+YDJte1lEdVZiSUkwZ05LSFAodVRocTkKelk8VUFGKHY2LXhIc0VraXpZ
SGZfaWNSI0J1endnYVdsbGowTzNfPVZ7Rmh+dWxwbjhtdEZDbiE4Pl8/QD97OW5rCnojWFkmQ0t7
Nk58e0dmbUQqd1cqdGlsXklnLU0zI3VVIW1aTl93ZDd0NmFkUWghXipycSVNdStgNDFiOSVpNmUr
Kgp6ZGtLS15hZ3xDJV93WV4tMVZ2LWpDNU9Nb21wbzM7ZkE4P14yR3hULT50JT5LVkh6Z0l5JGJ1
R0hAVWwqdzdyXmQKekNmMio7LXx+cUlJN096RnQ1MkU4VmtYSEA4dHAqR1l6VSlWP0xGNmY7d2dQ
ZF42dVJOKWVfdHR6dyU5Y2BpaSFuCnp0QEx8aWc3X3RnKFV1fHgybHglS1FZe1BDO1QlbjN8MGNZ
QzheVzhMJG9wI0c1ej10NThHam1Me0pFZ3RsZGRQPgp6NCNpO21AQWV6dENFTTxDY2QlbXA/PylZ
U1J8byR9TGJrMypDJCg8XlReQGxzRTJSIXY2fDZFO2AydzE2d2ZFNmYKejJgajhMUzM2JUIpXj1M
YS1FV0pPeG53V3B6eVMje2EhejZmbkRgTkBMRjRjZUI8UHN9bEJueXN3UiFvQDsmUHNzCnp7KiZX
bT5NeSROaDU/ciFPYXVUPnNoYD41djhxSElINGY2ZncpYGVMTlo1SlE1T09lQVded1Eze3UmJVVE
alZ2Vwp6KSRtMmxqR301Q3pCJWBaPn4kTGtNeEVHU1J9UWRuMmNteU5SVnR0aC1uSVFeZjdmT3Fq
LUhrWFZwSzBBLV8zRUgKejxlR3NiRXlxSGQrOGNqSVA5WnVqcytuZyspREs1eFI3PjxsN1M4YjVQ
RSl0aS0oODlUeGVSPlRNbU1xc3hfO1drCnoqfntQNjZWY3cpTiExPEE8O1o+PEp5NkB+U05eLWRp
Z0I2YUxmbUEhbW11O2RGRiF7QnJ9dWFXQXBwdF8pXkQpcAp6Q0MrX1opMXklTEhUTmdgXnBnNWE8
c0UjY1lkd1pEMHVIO35Ic01lT3FNIVlwKUtmUztsY3Z3cEJKOD55VzNjaUUKelMjSFppJTFAZXF0
cjQ0Q0t8SUc2WlJ6UjtkKzY4THJAXjlnPXp6Kig7TW49REZEYiUpcHY4WmlzNmxtcWdydDMzCnp7
OEFacjttUjRYNGQrWTxBSW4mJWhtYmJZblJUOEtvJHF4d3JDRzFaJllPZnJwOSY2ZXlGTnY+PTla
VU4lKG5MIwp6U0daWHdYTXE+N29icVpBV3d2X28jQjhpJCtXQUFoPSNhems3bSNqeWlKa2NRRXZu
KT1wbSNWZjVMPFJIJWZDaU8KemN+TFltd0gmUSU9ZV5Ka09aRTB0d153TjFQcmA3NEBgP2w3WEp7
XmsjRmtpIXNEWjgxTHExZV47dkpBRVIlcXR0Cnp7Xj5KIyRNZVN3amRiOUc1eHBKQlE2ZTlub2gq
P1VONHQtcF9YOGgoQjZ+fTVPKFE1NG83MkE1ckBBc2dBOTM7KAp6O0tNLVI4YlgxNldMNiQpNzxg
PiM9c1QxJjl0cCtfe1JEcElPWEFnbE1UNFk2ZEhfeXNHblY7fiF1d2txNGJvLXAKek59QEJiMzBn
Nlg+PjxrZk0/RntvUHskdU9uKEB4dURAbkdpQzljPHpsXkBXbjkjYUh2eVRhMThOSGg4QU1mYSZ4
CnpSXlowKEdlQzNoWShPRSFeUkYyWFgma35wWTw/SXxpbm5pMWdLZzxgOyFKZ2AhSlJZeHJPdCh7
cS1IdGljaihlTAp6ektLKlZQKXdGNCNCKlN5cUNwSUNjPlg4OUN+M0EpP0lhMClkbDI5QjAlT29P
JGNtQUg/ViE2aGwxZ018UF5wemUKelY0TTFPeHV9ez9pKSg7a1NeJUU/NzEhQXh1b2lHWmU/S0Nv
WTRfdjJJMk89fGghdmJKOCo2cFdVcllhKUUkaTRyCno2VSVeJisyMTNndj45eldZPzU2NiNVZnpH
VGtxP3V1WH40X154RztrZDtfb3lzcEtXfFJvSGckV3I7MzdqV1dBUQp6dmIwMHJhZm47fFYkaSMx
QypEWXFURE8qSzkqMklxR2V7I0wyR3h3IWF7ZTxmI3NgM2d7R2MoWjh3U1ROLT9qV2EKekM9KSFp
SDJ6WU5ePmM9RTU/IW89Yl57IztNR2k2fio9NyhNUlpMPGUzRj07dTdXUVlmPnBoJGc1KlpjQHE0
YGFVCnpCZzxidm0lUENqamNRPVFfZ1lmPDRidXFFYX5kM1pCKCN6a2Q1aXVFQU92XkYtQ2xxPlIl
S35nJD9QTyM2ez0lYwp6bTtYPmA1YE5UMik0NiZBXkxtWiZRUF5ncjJzKkM4ayF0M2cpbF5jWi1A
b3FPM1EpOCs1M0p7YHBFR1JIOGA3U0wKekU0WnF8TVQ9UUgyM2MtOGxSQzViT1QxUj9jZjhsOG4l
WkdiSkA5bkVOVzEtQDFlZyolQSQlSG0/YmdtM3lOfFVwCnpnKFVVWCV3MnZGRXJqe0htcXVHUnsx
PCp6Zj9tXm85OFZzYWF8NkgrMypwWjdpTStsPUFlcl50bDhQe2ZmZnxeMwp6K1p3aTBxakh5V19X
c0c/e1ElMU4waTtSO1VLJD9yKWd9Rkd7RE5JTWBFJEloPmAlQzZqIzxWaSFlTllveEVjekcKekhq
JXVON0BjJGc+eDhZKDdgQylITHA1bmRUZ2I/RDdZZkA1SGwySGtjNVp9SEdUWjx0SCU+SWttPFI2
LTVMUyMyCnoyWFU1YTAweX5nK059Ri1APmYlc141ZTdiTz8qeitqQEt7aV5wNClJcWxRWkBtKzsz
ZzRAaEBCZ0gjfnF1TlIlMQp6Y1V2fG1aYXNlY3tISHBzMX5TaHc9Kmk9V0ROWnc1VWp6Uy10PERt
ZnFgfnchVDFMemhZJTlUckk+P2hXeDQ9S2wKenlvTW9RdzZfVSFQJDMyXllse192JGE0XjRlUi0j
UV4qUzxnWiZTZm4tez5XWkhhZHdsSzEzK3EqUmxTNSpYbVlUCnpRWTF7dSFLUkw5R3U3Ny11aURZ
cis4MEozRjdEUC03YFdxUUw2QzA2ITQzK0VNTCZSMDBIOEhMcDs9NiZ3KGx7Wgp6SSp3OCtDZUJo
aF8tZXM3VWk8LTk1b21pK3lePjFuMDdGQj44XlRyYFQ5KHlpZ3tzcGojZFZXbV45MGBuWk1iSikK
emcxRVFHd0wzYDRnMkAoUW9Pb0t5P0BBSV5yVWRWMSYqVUxTKVd9PVNjPil6fGR1cDQkISQpY0cw
P2NVRlljbUJHCno2K09JdVZkVElKVXVSJHdNMj5KO3IwMk4/cSl2R30jMHN9MU9rUzIkbz0mI3FA
QiltNDVzc2owJDxQKWFSYCRCYQp6Wi1jS05JNCZYe1l9O15mcClCJE1AJHUyfT9BfkJXbGJoTFom
OWAkTHM2NSVPX21UZH16cGhoKEBEQDN7REo3dlUKenFMRUcrK3ZDfjlAYWJUTXhnZ1lkdF9gRlE4
TlFNUVh8NWpDX0B5NGxiSWE+USVgMUI0Uncoe2ZzKTltdyRQfVhnCnp7bH4zdjBpZ1hxUCV4fF9y
bE1+elAtT1YrZlV+Q1RxUjJ8UkQ0YGtTPWxmUHR6Zjw1Y2lTRF9aJmcrTU1yfTh8aQp6TzR0NWRg
endIJCRObVF2eXclQFlUQlgtT0tZaDlNREczNChNZFlNOEx1VjtfQmdAR1VlQ2oqJUdVKUl3UzZg
Pz4KeilTR1dXMGhaS3JjaTdJKG5oJClLeEkhKkJ5cVlQYl5rWkRiS2k3I0BAOWhNKWNER0ZMXmJU
TEpyXi1nOFJgLXk2CnoxQTE9YChyeSNwYmlVMiRQN3dWfGg2WT4lXz0rZEVsRz1JemliP3t6T2Zj
WUdNZWYrVT01dD97SDxIZ1dHSDspSQp6KmIpSjxvJTJkUTdtKVMjdVE4cG1gTUMmcDt7YER4YjFm
eD87ZlhZSnMhOXBVdDdRfSN5blp+ZVFDTXBAV3ApZmgKejtKfD47S2wyZ2xFUk14bCtMO3soTlMq
WG9fT0dfbkslTzV1Z2FGV2BBM0VlRDFxNHVgZSEkJUg0KEg7VlE9WlFGCnolYk9SIUVEVnxXM1Uz
YyskdjNTdWJkMF9jMmU0P3B1WlRadWN3R2I4aWxNPHBfdiFvXlI0KWozVElkU0VteVF8NAp6eE9X
JExlM3BvKjJAaWBlZnZTZ3ZPX2JsPGo5Zm8laTdmfns8MV5PfFpudHpyZ00hKiY9OXdYZ0ore3pE
RyhzNUYKekxJelB3eUpYOV5NKjk+bTZiRlpjSF5OVjF5OFd2e0ZGfD1hNzJQZVJRNjwjc0VMWDFa
b2J9cz55QkEpeEFCYzNiCnphIX5haWg8KXZgOyFgZFJFJm9RQFVNTC1XMklsTWZDcTJYYHAyfHJk
SSlfdj80fndGd0BzeVpfc243cU5ZU3xVVwp6OztmaHpKdFY3QyskJGBQbCFNIUNIUypmP2s0JSF0
dlBJJnU9TFk8JjIxVWI+XipUMTk9emxZISMoMnVvWWNCdjwKZl5XWmt4eyYhZUFwKTstIzBNcmAh
YjEze2E1UDBWWDBRIUZiajBrYj4KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibSBiL0xheW91
dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
NjBhN2UyMTg1NmNlNDlkN2EzM2EzNDNiNzg5ZTVkOGJjNTlkNzk5CkdJVCBiaW5hcnkgcGF0Y2gK
bGl0ZXJhbCAxODE2MQp6Y21lSWFje28reXt8Q0RFSVVNc20mcXRZT0F+VDA1THZxYVhQelZ0c3Ak
eipOTitgLXVBJnZ+ODNAS3hWKH07e0kKejVraDFyV0o8X3o/JCtufmArZEteYF9IfTReU2skLWBg
ckVQdiNudlQ+OXlXI3lAJlBRY252MkNeWXlQMUFwSzNgCnp3Pz80UVVuZnhPJEhzP3dvakk/Nmpl
eWNtQWZVTGRVfmRRPFQqcUlxbkJgbi1HSkJxRV4oZGFoeGFfUmVWP3gwewp6Rjs0NEJLT3tENl9C
O2oyVzNfKGVaU14+bysyTmxrenR3WGpHeHFxUyNlZURuNHU3bHJmOCVrYHN+Vn1IQ3ZpO3IKekk1
WVVoJDx2cTRzO0o0UzkrZ3Y2UF9XYmNwSyppaGlNWjZEenI4cjx6V0o1UGY0YXZNSlZieSgtWHlY
ZCR0NE9aCno+N0MzYWZKMyNwYWlJYThSfT1Oell8U244amppR2NzSVJ5MzM4Pm1jKylOXlRQeyRj
aDBAbVkhYEI5WGgwQ1h1Wgp6Xz42REpLYFA0TkB4ZFBlO00jdkdaLUNKTTxUNDxNZjRpcURyKmBD
XmRrMWVwbD5jT2s+TDBVKDAxZzA9NU5AZ0MKeiNVWSZXJSlJKHxvQHN2bFVjV15pe2dXKVF7N05V
Q3g8b19MZ299diFpQjF4UHt4bG5LUH5lKGdJRDM0Tzk8Xn0xCnpzSjh2PklCeyh4bCZGclJgNXZT
KD47S29vUH44V34pdVJAT3BIQCgja0RGMjM7KlUyfXdgV0d1PUNTY2lgVkhBfQp6a0pYV3ZNTzJM
TmFUeFZee2BpK041PXBWSTYmZzY+RE80bTxWIXRWTGUyaztoUHQxLXBSQHZmPl90cCNOe0hGfk8K
ekopXldaajl2JEt7QmI+YDJOP0FSX1ZfTm5Rcj50ZWIhd3FfdGc8SHVOQ1NaUUtxQmRaMVQ4YWY0
SzMmWmZFajFPCnotaFAzPF5BPjtTNk1pfnMxX3ckNjNfeSolWE92V0Fibn4waFo0cm10cUpRdCU+
Klg/Q0hHZ2xWenJ+Rkp6KzJFOAp6VVNPeUNUaDA+ellOQT9GdjMqanBQdHNpQ1AzcmlvazVLPnlm
QzZib2BJd2N+aTQyMjJZbiEzRV5QflQ5SjdzekMKens0SWBQJFVOWUN3aFdWfmZhYnljb2Q9e0ZG
aVZvY1l4dXVGaFBoMWBBSjl+JlB2bE0kOVQ+QXNvflI0dDhyNFNKCnomUGklaXBVVnlEP1ZRYjM+
X3RLa2F2a1dpa0B4MHVVbFNjQHt8U2pkaVJqT2tJIUw/RmBgdGE0PHQtOHR0QjZSOwp6ekVPKldD
QFh3I1d9N31pTFBtYGRtTn0qZVgoMHp5e2VBcCteUE5BSj9JMnAoKHdMUmd7e3sofXp4X1UqJWx6
TjMKentDKTIpJGpFcWMldlchbTkrUlhWbkRmQ05YRjA+R15qJlhyVVYoLTtFPzU3QGArMStEMz1M
fTAlbk96Izt7TzFTCnoweXR7bjFhP2NLfDlZSEI2dSF6R3s3JipBRzFmJD90bkAqT1FrVHJyPyFP
Tz4jbTckPkhSJTshR2FyKyNjeGBFUQp6VWdlWCQtJXNfcT82X3lQaighIWptTGAoTDhKNHR2QHh2
bjY+dGxGNCg8fX5aSzllWjxGZ0tXMXNgTVc/dT9KSEYKemZjWUIjZGxyRnotPmR3NkVUUl55JFN3
T3BOIyVvO3AtcmdRUCokaXplVSNJMWczRCZxN3YkYXdKI0MtbTw/dWk1CnplfTt8JTBFLWEmS0xl
M2AlTl4zS0p9OzhOezluVUZDS0xwKnBaSDV9I3gpfFExMHA+R0dVbl5iPTR7Iyk/MW1xZAp6WlFn
VVpTZzQtMklPX0Y1I2xgQlZpO2VBaHlSN3EwYilsbm95aGI7cENqUjRncTUzO1NSc2J8XkFDfG0q
TmI+ZnkKeitEI0Utb0tKQG96K256bldZVXp4JjF0cFVCRjQ4eGVRJGU1V1I+Ml97KGRoe3N7SFJP
ZmNmQitnRGFeZEpnRj1eCnpzV2tsTmVCeTFOZHMoR3IrMHlTeTdNbSY7ezt6Smp6WFVEPHoodFcw
ITZHTHRNR1AmR3orWkc+YFU3PE5Vbno8aAp6MkZyOH1ERX45WV9pV2stcG1yRGsqKTt3JjBSWWY8
UjxuMSM9UW0+JjlraTZTdjYzQ01HI3M/RGBNPGklSn04XjkKekE7OGpyR3pnP0lUZ2w0NCY4QTVm
SVd1dFg1eiZMKmE8VFl7ayg3NkJ7WDR9Mz9wanlnWVooXklTSVJeQGxKdlN8CnppfjEkU0RuNDIz
QyRKYVleXm9HUVdWQSNrRjk5JVRMejYtTHhFZE1jeyktRiVZMDM9IVQxP2YtTyNoMERuNHg5Tgp6
KGFMQDNmNXJiZGV7Y2lKeE9GWSR7I1BZUExuflM9RCtWbjhpcCV0Jm1FV1ZhRVJmeWZlfGBPKitw
MCN8R0dPVn4KemBqNTdkaFAyLVFLUVhUVmIhWSRvM2pWKjIwNWloc0NYdGBKRmd0SX1BJnwlaGZ7
YSoyWGxfJlZwcENMOSZFaVU0CnpDX31mc15nYS1NNzBtdlBnJFI8Tl9XXyMoakZGNmY8LXxrKCZi
cDBjNVBne3E7VVhsJWh4Zm5ONWJ7USF2VHpjIQp6O2F4Ryg1d3BaWTF9cjVzfDFSflBBIUtMZk1u
cDFkZyMhQmo/dnEtUTdYO3ZHd0pieT94SClhbDM0bmM7WGM3U0sKejQlcmdPTSpxTE57JTM9JUFR
MShFQiM7SyVwVTZ4aUVzQXYzZkdvOz5Fd31faU11V1U4YW5RU0pKKnpWcFV9V1AqCnowU2Y+eVo9
VDRRdV5IWWpeMzRgYzU7Nlh1V3pPIUtKcnxNWmAqTDBEVkF2MFF2WThEbmwrRXN6Xz9BbTRuQXZi
Mwp6XjIrMV4+flNUcHIkRUJoI31xJngxXkFRQklBcVU4PGNUTWhseDY9QGl7WDFeR2I8YjgrYShj
c2hfS3xGVH5ifm4Kelc0NWshekBuXmVZIWQjSlR3ZVlJWH4+KSVkRH5fJV55QChsTlE+bl5uKktL
VyFQPzl3KUNIU1Y7K3RKd1VTM0lPCnpWOXQpej1gc3tibjdqVkt4NGlzT2xOX196TDNOPW40dyE9
O21NXj9oIXIzNC14ITdldjJTcFp8WVV1R2NMcjh2Pgp6N2RWSz9iUm5vU0AqfjErM05ieEpEIUta
N0pSSzlSS3YpX0RPOGBMUEVAOEtOcnl3Uj0jTFc5dkIlV1BnT3RnNXcKenZLKDd2WChgRE9aKjN3
YVQ5eyNaUFNTP2lRbkQ8QVIkb2RxKC1NR1Qwdmg9eDtDKHR3MEcwe0IzZGF3YV9OaFpmCno+Pmo9
OTt3K1gpaWdVVD9DV15DJjctVEhUZ0srYj9xS3Y7SGtFT3skbiEwNTFVJTRtNChnY3h8UE1KdUcj
YG8lcAp6N2lTRDBAKH4qVilfPjcxPzNrckV0b0lqZ085O140XmYtVlVLYEtrKz9gJW5BbXh2a3ZH
WGRxRHxBbDhKR0t+ayYKem1yRChDQWFhNDNqZzNvPCV3SF5qRyR8YXdoUVJVPFhpYWtkUDZ3IVlA
emhseUdsRjJ8SlFWOG5JZzIza3ltRTEqCnoyN25hYERuTFo+KmA4Mzc8Zlc1UV83cHdmbXBKYVlH
KDtyI1YlRGI+aj9iezlNcG5ndGtVdUxoTFAkUjQkKV5LPgp6PkohY3pjXzFPVWApfkIkNTZncXhl
QEZqc2c9NylvPzV+OU85fWkwSyQzX2lvPT8rKEd5Zmw3cT9+Y3FVMVM4fjUKejt4NlY2cTFUcnp3
eCZqQTtHKHItQClQfDsjV3w2cGtCPEl0TFZFUWlnZmw7I2s7d35UKVImWmVXOXdsZDhFPEs2CnpC
M295bFkqSjhvK3RRP0ImXnxANnRtdTx0YT5kJi1EYU1rfEp+fTJWYXZ0X0tFMnx3b192aV8/aG82
K31HajVOUgp6SGBII1B7PDArXz1OUjVuQTlqK0Y5ZHpfbGMrMzY4RFk+e1ZKNlRhQFlzNkFVQHNs
JEVWUjJ8KzVQUmR1VzBDdEQKekghKW5pSExMKV40YTx4VzJ8X2FuUlROcEtzM1RPdHM4M3lCamlt
aHozMV80blB8c2llJEk9OHpgeHtFTHtQQ3w0Cnp2eCgmV2dBeFpTbDRObiotJnwlQmlRKiNtZWAh
bypNSHZTbk9NUFV0JFZCfnBQcVlZO2ExWVhgM3l7ZShreFcyfQp6Nj14dHJtTW1zOXAlSU58d1Vt
QEJXO2RaME1sejghWVpJRCtjdmdmczUzb2xuRnApJU5tdFBHTGo9QTszZDJCZE8Kejd0KE1FezxF
dWlBfk1mfDNgPEVfIWBNVGArKHExYCQybWdxaiFDNyNecC10a21jN19uaypxfDtfPjZSR3JDRH07
CnpkaUB7I3AoaUNWdllGaWFaQEcoeGdHfiFVNz9FOTM1NVJDNTBCOCF6QlktcHN6SkBTZ0x7WGdK
MTJFUiRZQCkjewp6e2gpOT40S3NAc2dnWDxmRjkpcGNvcl8kWWFkI2xPYEtkfkBGb2lJK28odi1x
cnJeJkZkY190UHsqdktUem9iK3MKejdPNThpMkMjeTMmPjY2Pnl6ZjVrPkVqPUNGKzM4RVBmU1Rl
SGJ+XiswZztJMkR2QzJPUCE4ZWQ7cE84TzVFUX0rCnpBMzd8OFl+JGVYaipXIUAxO3N4UylqXnpz
Oz1wMm55QmB3ckY5VShOMk1QQT5fKmFEMnU8KUFVc2JsNV9oTCM0YAp6ey0rQjYtdiFRaWtkaShB
dCtNfWpTPChNMmRsJThTSnljVz9XJjdaI2ZjNXUxXk4rZ2ktU05QJUZ3d3hxUXFTN2gKentGSzQ5
MzxVKl5nSWlIZkxFKSZ2LXdPYnRWfEFnU1dwZX5qX0AwMCRnZmoxfkd6Mys5dW8xQnZtNHpBKEM1
ZDxVCnpsal9CZWZWRyg5JmkjPl5AdGlBQ2IybmMjS0pkRCkqdD9ZNCo2SkRQazt+dztOajl3aE1p
bSQpQE57QkErclRFdQp6O2dvTkdmalRKY0FePGUoYEV7dyted3txVD8kbzF3cElfQlNlMEU0JlpA
I3xXYSk5WTt3PUk2NUApSz0jY0hlZ3oKelBzZ3pOSlpIcFVNd2ElRDQhKmw7QyspaU10TnFKVk9f
O0E4ZDVeUERQbmlIUEZ0MWVJZCs4M0VAVkUoNCluaSg1Cno0S1BEQWBKZzV5UUhYaERjLSg/IWUx
LUdjP1hVNE5NRjEjVklpMmVoYzhQdV5vUlJkSmR8T1NpS2NNTzI8cnY+Uwp6Oyl8WUVRQDYpQ2Yt
SlNndHZrT1NaYT8zc3BGVmV+SEZWUShDfiMpZz5HSUZKXjwxR2o4YlRldCk+UntPeVA5R3AKemVF
ZWNFRjhEYEtmYDt1NEZyMGJBd0Mzc0VAY35WcTtHPy13cClWPWRXSjVtblZCKz5CK0lldy1ValY3
bk1VIWJsCnpyK0g7Ulh6S1NTX0MmVVQmZDx4QUQqd098OH10RDh3b05kdU5XdFhgdnEmYU04ZkZY
XjI1PzxCNFQxbUp3eGNlcQp6RzBGQlF4NkNubmhwRHJCVylrd1QtWGJFdl8+fDJLZlVgTS12QnlM
Sjhec3psJTEkVk1gMiZ3e2xQV2l7czBOXl4KemBtcnU9WnVDaEUwUGApQmZaRlN7SitQKE5MTVhP
U1BsVyozO0JrJCZXNzNBezlSVnY+bU1uS3EmT0BKJUZZZCV2CnpKeVNBcClefXo3RyEpPCY3Sjhx
dVBYTl95KHlNMDlmUmt7MCZNXks+X18jZzJpNGo3fT96VzY+Y1ljO2k/SktEfQp6RUM9d19JSDJ9
UC1gbllyUWJgdiljR1NgQG5VRDQtI0UraFpha0sjRjxsNjtrXmAhZWplSGBGKyV6MGVkc2wkTzQK
ek4pKHBLdkxwe09HYT5TJU5YeU9iejUxc0YlPSpyUUdqaTFwIVBHZj5TckImYXd8NilIa2tpYnBF
ZEFael8zaDBxCnp2Nz0/MCskKn5TNzZyZFg9cTJSYXp+bmlnMyV+X3hWODVCQ2N7eUckXko4QzlC
IzgyfCFnPHxXeUgqVjtocjNWQwp6QnFZZFNYJERqWFF0cH40SXVTMEwyK0ZjWnUtIXN5ITNuVHYp
I0BFbzB8UXtSclE5e0thQT5acTslY0Vkd150VEwKejEqOWNtP2lJbmZSKzI0bkxZKTh6WmR3RSYx
LUVMNWJAYXReUExAJShTPDhWY0hMN1A5PyhWZngmbUh+IU1pbXt3CnomX0BteWVaRTg3aCZwNjRF
SVJNc1BCOztpI3x4JVp7WUwzJWZzcDZabH1RdFFlU31ONGVYKFBFbiYwKkY+IW1KXwp6KUd2TDlw
UlBwbShBRndTRT9PKldDemhwb19lSWZDMjVWdC1Na2s4I1M1R3lpS0B+Nm5NbF9GR2BvciEjQmhr
fEwKelJDVF9vMTtrZkxjPkJ4ZkFkUVFmSngycUZtTTBCeHZNbGgrQkd0KEAqQ14kaj9rYDZZUEVn
VX4yKjBAfEFGdlhCCnpebj1RZi1XQlopa05ndTI5S1NhPzApSEtFcXAmWiF1TkJ8QmR6XztSKily
M2dkamRwJkleXmFBZ1Z4dWVhUFlYXgp6an1xOGFaXzFSd1puRz9EZ3g2KW1VKU9JJk1YMVhadkp4
bCg3ZDA5ZUVoPFVQUU84fjw+ajRVPT8lQlh1PFRpVEgKemdVUGxXKy1GUnFtNjVYd0xUfVJgQE0j
YyQ5LU9DdmBSNHRTe1pONDZtU2JhZllwZyRzWk1UajM7aHBRRj9YTHF+CnpFVzdIU0tDJUFkKWVm
SG48fSQtNGIqP2M5RWUyM3xXdzk+Y0V+Zkw5Zi1QTTx2YTt2Zkc2UkhJYj1MM08tZm5UPQp6Pnpt
bzlaRXJOZ0tEKTEhKzAjU00reFNmPnYoQE9kcjlgQ3B7cTNuK2ZnekMoS3NYdzdnaHdoJUNORTY8
NDl4a08Kek1+aUQqXkBURUlwNlJRNnsycFBYMFUrRUg7bmUqeCYwak83WGA1fV5OOCN5ZDNheC1T
UDI5LTBuTTNOKDdvTlBJCnpreGcrSTB3I0NqSHsxJkpvV2VCanRxeStqY2d5cD5INmRQfFQrT3Mq
ZTQrelhsQ0BgSyZ1fW9gMGNqZWRkOyM/Vwp6U1F+dDEySndmVTNSJDtXTlBsTyZOfmZQd2hMJCpV
eSRQYCkkaX0/KXcqPTg9ME0zXkc1R1RzUjZQTEtzMEttaWoKemR2KC02Mm1tPDw/OFFKSndibnpy
UTEyKUtJS1lCWnZtY2khakQ8Qk9ITldXWl4zLTVMcUZKX0xVVENNVG9aYDRsCnpzaVJ2VHlaYE0l
ekE+SXFjUFc0OEpzZj9PJU5ucG5leXFsMWlfanhIbT15bSg8eXI3ZmppSjMhZlRaMkUrKyFzZgp6
JWdlMFFSaG5fKihaTil1bG9FcjxDKF5jVHdRdmZNUjxyZXNUSWEoa0VSVmVOPGcldTxGMXBzMT5l
b2RoXmt3a08KemxVLT9BeWwxVDluYSRxJWhVUHJxPGNxM2kpR3RlMjwpISZtWVliYyRMNSsqTF9V
PnlHN2deVT9eYD1GcndvTXJTCnopI2h0dWxKR3x7KFJudHVVI2s7RTZ1OzwqUiMpfkcwQjtyZ3A1
KnlaXmZ8VU9QLTxWPCl5dzw1dW5kVEomSEFheAp6X0dnRiNZTGE8cFNNZjBfUVF4KUEwSDteWFlx
WWp9TyYrbSZ5I2R1QEBMKVNDdjtmQitafl9RTXFsc0MlVG83T2YKek1FJUhKV1BfVVdPfSF0PlVa
XktlMDcwOzspYlRPOUIrTl51UjB+PEdQTWkteWJUUDAtWVBYQnxRNXJDcnl3QDl4CnpUMmxsc3hy
UmY2SmF0dW9eez9TWWxKZVVPeClhPlVTX09CSGlnZnV9ayM4TyV4bTFJfCYxJVZJITUyQSNUMUch
dAp6by0kRShkX3NLLTJAYGJ4WG9tYEtNaXs/JWBITWQlKStieWZ7VV8hKUZFdkQ1SmJrYUg9N14k
TiNDXmlVOVopM1EKejg9UVRgP2FIdypVT1dAa2NaVklEMFlAc3F7VFkxNVNsZUx0dUsoc3x3VlB5
JnVLaUUlOWt5eSR1ZmJMZFFlSGg9CnpSbUhHIXo4RkxXe2JZI3pWIzYhQ2V4NWo9RjJHUH5rYDh1
ZGMwSX1OcWoyUFkhP1d7KyNiYGJOcztecFNVOHVkVAp6UHdPQkhJQDtfQz0mK1Apc1RxQG5mRTVC
MXNuUzluWGQpRV9UZjAxfT1TbEVRTiRsfG5lRTwofTApYDMqPG5iV3UKelJHUj48IUxFTnFHbk8t
YUVaXkE0d2h6ZFhDaUtgUCN1TjhpaU1fXkNZakhzck05LTJYcE55PXg1MzA9Yns8PEhNCnpjTEpM
SD9Lb283QTJqKkZMZn5+cUpSPFlkOUlyaEtnKmtVI2QqOGlBY1NaTGx3PmRWYWhtNSt1TS1raCtO
SmZlTgp6KVc2c0N7WWloJmQzTDZZVmdSdDgrc2w9Z3w4V09QaEBMb2hgai1JUXl+PiFOMnxrdXt4
ZUo9PGQoM2cwKDRjWGAKekh7TCQ7aSNfJG5RaFo/e0BOTDRVUHErWmBXO01EcT04eVlTeDx8JlRZ
dmI9NjNlRGIxZDtPP0Buakl7VGRWYEtWCnp6cEgjSjNreXdQc2QqZU0qTH4zI3Axa3Y1VSs3YVhF
bEtaLTQlWlkxOVRxVnwpITFGbURtX21EUCVERU1Vcyptagp6RFVnIUgkMyFLVj13UWpWeFdUNWYq
VkdAblgoQlhHPzMyZ3ZUZypXbD55OGxyPipJaVdrYkUzalM0UlFteUEjQyMKelQrI3JEUjNiP0xk
MmxyRSl6QEslUlBmTyZFYWpCKm5zYF9+eXAwJm1AcH1pflh1Ty04PEx4WXYhe2ooMm1jaCZzCnpl
dCZ+OWRzUGBVYmsqazRndDtyY3gkMjRNeiMoTSFmOzJjN1FwNFk7c0hwV0w5LWxKd0RvKnE5Vj8q
MUh4fm4pYgp6MmQkNEA3blNWZmh9QGBXZWI+R29WWiFCTDtNXm5aJEUzKTFhI3tOKns1Rl9leiVY
Wj4zPTZselZ8TnQqeSY1JX4KejtzVj5mQ2IjO31gcz96ent0MUk2VnFRaXplIU05flJVQXMoJFB4
TEszN2tYWk5mM2lYJlJpPS00JTVwdz42Z0gkCnotNzxHT2ZfdDN9bHpBSnNzb2cjWF9RUT8jP0lP
KHA2I3p4Izt2QSE+VnI7Xj5hV3FicFpYNlg0Qn48YkFVe0JIIQp6ZSNhKzcqV1ZEaXRTU1ZJTEN8
NjYmfGtTViNJPkN9PzF8PDFmZTIpR15pZVFXc0hhSypicUgzTnY5bzVNZiEwMEEKejl7cFlFTHt1
amlWVXpDTSZGaGd8TmxxKFdldGdyUHNUUXNZQTVtYjlvWGUkKSZNPkN8cUJtT2w/KCp9VCUlQmxR
CnpraXc9PFlmNEojZHtNKypALU9FUHRkSEItNzVUbkhsWTNVVUs0JTxlWEl1TTcqSnApfG9BN2Yq
T1BHNkg7WTklcwp6eiQ1WUlKWjtDbGxTfTViMjheOTZKcnFSaVlkVjUqZ09XTDNQQl88ZF99fmZE
JFE2fVkpRVg7M0kqZ2pNeVZqJnkKekxOIzMldkF5Nkw/VyVTS3RLdj44X2AkdFI4R2R1Xj1VcUdV
Wl5nJCNMPzdRVG9sOD9ZTFI2Q3IoKlUlbDMydSs0CnpAKFBTYFVvYUtpOFk/RURhSUpfcV9HM1g7
Yz1yUWh3e093TFh2cTFGTzlQd21veTtta1A2OXhGQWVqPVQpJnRsSgp6YmZDMTVlbWUzcDA1V21z
TEFYcDh0TXkoYzNiKWNEMEtwVW9zfSFOSzlAekRPJTlLcnN5WUFpUmRecmQ1QytWKjAKelBFd1Zz
NlZ7TjFRZ18oKFhuMHJZeVZTa3c3bF4wUk88YHBiPTdVeWY5bFBwQUMhLVB9TWJaYEdBVnkmOCtv
e3pKCnpMOzRxZUA3VkZZTWZnTkk1RTAkQDQoQ0N8SmtvSkRIdWt3U04tZER3RmV+PXdfck94dSpJ
QVghLS1HcURFMitCVAp6N21aWTRMTVQqYz8lUGNLRmFXPWk3SiRkJDxqS3k/Z3h4YHd0dGNXUj15
JTxuP0xGajhSMFdzT3JGWSY2P093QUoKej5hRWIqeklncGwtcTQzOHdBWCUyaXo9V0ctJGlYfW4p
em1RQHI0JmIrY2ZSaU1rQSEzclpXM3lzfitXaF5ncHoyCnpBenV9bnF5ajQmIVhgM2ttfTBqNUU7
MTVRRS1IWClQJU8+eSM/NlZUXz5MOzMoKCtJSUZsdEspTUxQYUBVe016TAp6bEBqMWlBeWpzVjBL
VVFkSmhLYDMlQiYoV29WdiVLR1JJSzRxKXFBV1pwQ0h+NXUrJldLQ0p2OGF8IVAzI3tDe0QKejZo
OEZjNTNrOUUzJn0kUElUYFFvQXxXKFNGYk1sWjQoWVp2JilFZmpwJm1QWEU+RSRZez9FfXgpbUwl
TUh9SVJeCnpISGZgKC1fSEd0IVd7dzclOEIrcjNEbHI3OWZlbiNSTX1ERG4tNyNgQHxzbFJgRlN9
VHgrYUM2OEp0MTZsIVRGbgp6aFpJfT0tOUtuPHpwcnx2JDxfQmhoYXtnfmZvfTkxO3JUaUE8P0c8
UDhlaX5BO254Uz9vU35USm1kOFEtNTxjRWgKens0IVBaR1d6RTZ0ZypYdUdtV0lQRXRFSzBRUD5T
I0R6ZnFOUTdDKlBrQmJefFg5Y0IjWmpWWnRlWkQkKmZpeDFVCnpqNWBGJnpQeXU5T0FCTmBIfGwq
fFd8NFZmSyt4TFpWI3xiKkc8WXBGPTBMZz9DVihBU2h4aHBGZTBNWjslcnxsVQp6cnkhY2pFcDdN
MkowXnV0JW5+SmxuZEJ6OzUrU01UUygjeVJMMkg+MWo3PENaWkNpR096dEZzSDUqWXAzWX5OYFYK
enspNFk+cm9QY3U8WFY3bUdoZ3s2aXo0Qnw5dCtDSHAqUUpIRXNyb2VhWll1bEdOSVpEbU5gQUEy
Uj90Rlc4T08jCnpRUyRnfVl3KXw5VFp7Z0R7LT9sVjZiM0l3Zm5VSndFMSRqPj9tRzRMNFg7bE5g
ZTkmMEUhWWlJPkVOaGBnNSsxOAp6KlBGV3VWdE8ld0gtNjdVelZmRWUwcTlWVEkxNkFjJSpZKVRh
THV6TWEhZz87ZEtkI1Fsdjh3fTs7OX5naSgja3sKemprfnBFbz19SGpBVGZ+ZWRrPUJhcjV0bnNf
Klk2TE5NeTItWnA3MztvLTY2K3U7YXhLbXw/WVoxblU+Q2hEaTNOCnpmY180bXEhO1MoNStHSzFv
TS1sOVBqKGl7Tjd3byVNMitsTjArOXVoJEBrPC1uOzhSODBScmZAQGZ8cFA7bklFYwp6VV4pMWx0
fCtqVVNxZGwrcV84R1EjYlhia084ZUFZT0teMlVkQl9IVF9CJT1+N09KQnI5JmsrSj8xQl9NM2xs
dHgKeiFuZihNdTMzVSVTPlE4d1l0cGlJY31oR1RWQ19ybkFwNXdzR0slfjU4dmNTJmhiRW9HcCZ+
TGJIal5TYW1haF4lCno9XlV1Z1hfZFNraDRUfHclaGNYO0RmZTcrPEQ2Xk9BcSVOfTAzI1AzWktP
TW5gVTkteUFxV0pnS3EwNUpCQjZPMgp6cmtfbUooYmVZWWZuZUlCT1hNbXxRbFZheUY/alU7bSVw
XnhFc1o4b294e3FOP3ZRZVh1bm9TRl9IK09NIXQ1cHgKekY1YGswMmcjaDhRSG9uJVR6ZHRAKUYw
WDVrMW97WEJTMkNJOzNWcW1pQlcmT3chKUdgeHV0MStqRWQoZkxTRzI9CnpPdndrUXAtfVBhPXcx
ZW5VZT48WSozLV9YKkI9dkU1biZDdm41RFUpJi0hR087YllpdUpLRHs2ZnMlUFd7TU5aKwp6JkZM
WGY3Z25hNUZRaUxARjNEUTNROyY5fnBPbXtZNEpOTlo7TVJ9PjJNSkdVcHp4Jm5CI0Nja3QkPCF5
Z1BXVlIKendJIShpTWdSOGl0VCo0ZCM2Zkh6ZGBoRFheKCs5cD8wQm5TXkNDMTsmJjY+MDthJnpL
WGUzcmA5RVRkNShGJilhCnpWakcjPXVVZjdqMig3PW0yY3xuVXtKYHdqRF8lIUhreiZ5SipfRzZL
JDt8UGp6MkVCYCFAUUZTOF5wdUFAK3syUQp6SlYoeTlCMzl5bmVxQDNPPyNENjFAfEIoPk5FYnBh
Xl82U2B0aSNre15zJE5rMCN1PE1HWGNfciQ3em9Mc0N3M3wKekMjeVJnRGFNe1dae0RCS2Q7RTUk
eW80KjI5YWxqbG1GeFo7S0QqQ2FLUi18PjVpazVeOzdFOW1OKlB3ZXpucnh2CnpHI3ZVMVFeKCl+
YkFneVJ5SSlHcnJOK0tQRWdhOGNmKncrenhAY01MdFBFTE1nLVRxTU1QT255THA2P2RKJm9wbwp6
Y1c4aFc7Mio8K3FDO0RpS2ZxYGtyaiF5I15HSStXdVdRZFJpT08pTVlOJlo2Rng/I0ZMRW9sJXY4
MGI1MChjKnUKenErPUlgbVNAWmd6cG07Oz8+TWhQLUYrPHtBVnVjfjJLPHlrWXlBJFl7X3kja0Mq
ZT16aXxELXhLNW4pZDJncTdyCnpOJXdzYjYpSWhCaDQ9TypIQjZDQjMyczklZC1NbypFKFQzYzA9
cV9+akdVbFR3PHRtNl58eVF9NCM7WCFBVkJ1Owp6UTV4SGR3aE1nTmh3QCZ3YSNqMyk3PENHPUo4
YnQ0WSt+YUw4IXBRKDFgakA4eHNEZHkkPUdIQ3dGKThWJnE7U0YKejRzc0l7UmVVcih1ZUQjOCt7
enlIK01oVUwtMD9AMElXZjRlJVgjUk8jST9oPW5jQzA3M1Y/KH1yPHJMdihNc2pHCnolRXVKIzRF
MmYoVSpuOytEM098VHIkNVJ7XjlwaDU0IXIyUmIkeGktcTJsbl5Qb0FxWWo1JEJAYCMtdUtGKE9w
bAp6WH43eDJyZmNhZDk+M2cqO3NnWitBdXxUQTA+cmlVe20+T0V5OylNYDA9K3xDWn52JE97QkNi
JHtNV3RyYylEKlcKejltYnFjYm9aMDNONGpjTXtsbUVCdzllP3o1PUQ4fGk/RT1LMl43SVA4JGt1
U3dkJX5sTCFsPUZgfEElNF55Ym1rCnpydHJpI3shVkBoIXFsP2J5QWVJTmB3KHIlWCNsaGE1QWw0
amkoUHVwbk9JTllFXkgofjV3UDxfYWw2eHBPVjNBXwp6OStfOVFYPlhgb2k2VFAzU0M5N1FjR3Vw
byg7R1ZOOW4rKWohPUY+ekRAfUJteDFAIT9EYHZfVCkpQW1jKm1GQWMKeiZhVV5CezgyKzg3PXMq
ZDs2N201SkVYbCNPbH4hSiRRRjQ9MmFTNTBnRFh5TjUzaD19TkRaM01mNUlGejgzUXxpCnotU2RD
Wil8ZloyUkpERzB2Mjc7P2xZSXNQKnc0JjtLZmhMTzhSXnN5enVJNHVSd15DfHtQQ3dNXjx+WXQo
aEB1Uwp6TEQ1Km0qaz18e1UkUFhTeHx5b0R1e3VtYENDVXV6ZUhwJVYqLV5Ycjw2SjhEPnxEcypg
fmJWVHFOJjQwbksyWVIKektffHw4ZzJHdz9sbVBvckd4Uk4ze0h+c0V4dzUqKV5AZiszUWlkNnhG
ZnE/dD5nckQwXyNCJW50IXc8V2Y3Q3JMCno8bmhHcDteN0NOQEhxaVdNRFFgJjlHY0RlXjFIZHxM
dyVsKGtQJGJYNyUqPztpNV49JnpxKUAoKSNKI3diQEs5dAp6JmdAQXRkd1VKJFYkKnVxeXZaY0d1
ej4oMiE9NF5+ZSsrZC1VLWlEJGpoPGZ7K0chRnZPLW4oJUg9Qz4zK2NlYXgKenJyRm1lU0g2NVl4
YThLRzJOelpVRy0rVjNTd2UqITFuNEckWkE8JVV2Q3JPYnhXND85S1M+Z0swdi0jRlpUJCQxCnpl
Y3V4R2ZnSVd6T302ayhuYzNYam4wd00qeXd+dmYkJX0hSHRMeDFWVzw1Nl9PU3dJMntjfVE7dmFw
aT8tR1pIRwp6TW9aWHU+c1BaY0R9O1NzXiZMXjhLPXA0O0VBME18eSl6bFdofHYpK1B5SmtfOEA9
RD8+YVQ4fDlPeEBlOV8rKGIKeitxS2VyPktiT2JFdT5BR21BKz52KUhfYXFHVDsmUXg+ciN8QUB8
dGxaMmErfkVeaj1GZUdHeT1aNlJrZyt7ZTRnCnpNPldyIWMlMEt0QSkpdWxvQUtQNF5DPWRXQF8l
WiRgYGFNZy1kSXNMWTdyaiVKfjB3S3FOLXxNU0xyKmgjJWdTJgp6ViV8fnZua2BoNG1jN01nQTgy
S2xfd2ZhY0ZRQTQ4enQ3MGsxXjs+Pz43O1cqa2F3Xm0tTUdgY1l8fllWOFhIRGkKektAUGcqQDZ2
YDJ3dzM+IVFzdjFGUGxDPihjSWhnOXRGPHdteX1wPlMkR3RrJjtgVFAkXz9SPkhKQzxpWjl0U3Y5
CnpOaHgpUl5xfkpgelRkKlcoZCUxcGlLdSR0UlB8WSpBKSE9bT1GXlBTTEdIRlQ3M1dTWGJJdVF7
ST4zTHBLI2QlMQp6UWspbSQyQHVMTzE9aH5TKWRGeUpnI31wI1VFTSo4RGchclltcDh1aHojVGhC
QWp3Qn1ubSQ8cWU1ZFhzaXwyQiUKelhLblFObkljUWNjTm1KZE44PHhoTXQ+XzllR0dXfFdkaG9L
azhJdWMxZ0hTOWAoZlQ0b25jRCRKcDZVVSpZPyR3CnpHYDVzZ1d2YVNPJH1qXiY+dnNjaSRZaHVw
JTNlMWRsQHkpKDRQejQwQUdkWklhRW0/c0BSWlNxQCNOUWR5PDQ7Wgp6bSQ+YG8kSXE4Yl4kWDxe
TUJVZzwwdzNVU3YlJGV5N3IxTlBmWEopc1V1QV45RGE1IV50KndRekF0RVFONzNQUW4KenA4MTd1
UkhjVEBmIWQ3JlVhM2QlUyFEPjNZLU5lcT99cklEcERSPV5DVmhWeGVkVHd8VUEwUkV5QUBeeyp2
RTlqCnpAMkN3YXxEO2FqKEBvTVZMdEV4bTxeZW5Gcm8+OyZjandIekpkVjFZIXV5aU8kVGh6TmVS
O3JUbm9DdVBmSUc1dwp6NmRCM1hjWF9oP0FWcGRZXjxJeWV4K3UkWSg1SFlYJE9CSk0rKm9ZfEBL
fWtSMGxAMW1ydCVteDFSSlpsMTkld0cKekgyfk9GYkI5UGpEQ3xUSUF7UT9YXz0wYnlNLWxmVUle
RFgzMytUNTFXWHtjJiNtPjNOWE0pbGkobyVkKzlQbHNICnp2bWAoYkBWSyNVJGZnVkAqWV50Tmg5
NWdKazZ1VSpwWWBwSGVzb1V3aX5PKCNWa35WS0M5PShAc2pGUjhBOUs2RAp6Jlo0WV5xdlJkcUNR
fEc4ekx2e2tFJlIhY1pAJmQlT1ozWDlWUU4qK3NMIShUR3J6ajhmbm43JkNkSk1fNCpIZkUKej8r
O08pNTd2K2JKWHA4SSNjKV9FUlFPSXcyP31KZHpQNyEyTE9YQX1uMSQpJUlrWE9QclVRPStVamAo
M2FtR3QkCnpKMytEYUVVcDtBVChFejxkQVUpemFMdik/dTRKTU9KNWF1YUJ+RTNhdmN7XkkwWmdq
QVJzQ3ByTFAreUgmcX0/UQp6eCkqKGF2PFd9PFJzQWV8MUE1ejUxSU1YIzBZTVB3bWNwIWxiZzhw
fjQ4VWNMUXdKPXBlQiQ+X2lhe25sP1Q0VTIKemNeUWM0aiN6PndUR3hQQllmSTFyYDFmKmREM0RD
YTU8cDF0ME14OEROKSFtY3RYeExCdSZtPCZmZClXUFpxUnlUCnoqISVwZDFudHc9cXh8SjhfO047
c3VpXjwlQU1BU1dfPV55eW5yaGI4di15RDteb3Y3PjxvYFZBSzFOKVIoJVo8Sgp6YzdNJElJRygm
Y0RMJUQyb0B6SkJhYEdhYDh8e0E0VipzWGVZVHZ1VTEyPHFJbChLdGFeNnslMS17VjZ0eG9ENDkK
elg/V3k3VStSPlYrZ0JNYWFpWnshM1krYS0qLVlmdiElSkBOeTZIMG02aWdTZipXNFdlbVdISXQk
YzNFeUl9V3ZACno1TzxAQkQyRjJeRyspLTdsWHd2biM5R15TSkJeK3khcCR6ZG4+Y3BkKz0wNzt5
KXRhaFdgcXhKKUxNbDdWI2BgUQp6e3FOPk0zMXFjTTI4a1c8UHJ5QlZYSktGS0VuP2RXPUoxa0tW
Yi1EcG52UXxya1FFWSlmZHZvazd9I0l9NVFPYz8KemVoNEZFb09HWiVsTWxmY2t3ZUdrbiNHLUNe
dVMlNGFZfmp0Q2dUOGV1JX5xbnY0bFFxbnhJMFEqQCMrdW1ARXZ8CnotUE01O3RvWF49Y21nbzBp
a3RnYEg1KjJwbTU2eFFHWWJQRnZhS2xybnVTeyhXP3k+cS1tc3d8UShHJnc4fmtNUAp6Q2sley0/
P3VDRjhHMkwqJT5XVl9IIzlwYllldW9NSX1UMHA4e0RHOUh7TjJWKHN9ZW9QRVA4aW56a3VGb3pj
RGMKejFKemRqJmJmSkJIPGdQUigle3BaNEpKTSlfaXRNJEVILSpJPlM7SzNifj1yeChHTWIwdHFs
RU9TPHhIdE9uN1coCnozSjIxR0UmbDNYOWt7YVJyPmFpR0peOzlxZWlzIVBJKFI+K3cxbGdhMiQk
dzhQeT9La3FqPk4rXkRuPUNMJHFiYAp6NmckUEhPUlMtXnVpV3ZkViMhVz0qe1cwMkBUZUJfaUBL
a2pgJVcyYGtOOVllRjNvd3dFRHQ/fWZQMkcrPD4+bWgKektIXjFzKTsrciFEJis/Zi1ZPVU3MzN+
Z3RmYzF+OTJAQDNQQ0orYHtaLWFadiF6ZUlXPHI7fkk5dylBdTl6eElgCnpLMVJDSjZ9Pk5sb1FX
ZFcxdilnMjRNPVVRKXo7eERpTWVpUWtkP2dpeEZZRXgzTCNKJjBvc0ZJT14qTmUlTmUoKQp6aClM
WSRYUz1zS1RPKlM0SX1fV2BEJilTRk9BR19SKzJzckFLRVVSeXV8ZHd7MFpiQlNJTHlpKHIwMVBU
Nn5vT1gKekAjTGhNX1h+RSRiU3NmcVcrMClycHRSd340eypfPjQlZGkjcj1zaWJiZThCVj1lUTZz
S0U8TXhjdE4tS3h3SXRMCnpRKjhQaiY1bHdPQ0o+LSlqblNZOTJOeyRQc3ZrQ2pyI19SPDFvYi0q
QCsyPFc+dW1DSHlIbWRab0NHQWBoSD9PVQp6eVdieUdUQncoZXhGOWghbVA9OEYlNkwocm9DY2hZ
O3I7UkRUaSsqPzBjRn04Y151Pyt4aHUzXlVFS2NsIzchQT0KelVvKEFpTSpTcTlDb3xtLTtGWnlx
IXIzckg9KSh9bUUjWEZ0byFxIz9URmp1OWdnQlZFQnpQZylCPSE2VXIjVjU9CnpUfG56Zikrc3pW
VW5jcHM/SmNVdTh+OEEle1E1JmMmTXBCbm9yRl5kajRwPXwyIyptXjlCYGhvP2FOZVUzdjc+Vwp6
dGw3aTZeZzVofV52KHI3ZVk4dzxIYGxtZDZSfCt1UGZrYSg5KUZKX3d6KUhvVGxORCstUW53TTYt
NldzeW40dEEKeil3fEsyOHtlT3VmMTNgajhZQ0pwMTdkJldlJnU/e1E4NCpePUlYK3taMkxPZkg/
aGd9T3hrajl0byhCJmMhVi1JCnp7QiZoRnNJaW4+WnFXOEBicW9LNit4TWVHKVRvYTU7PHhoVjVa
THQkZHZkRlZVVFFQO0YmMmQtJTlOdk1meFkmKAp6R2JFTWkyVG1vMU9GaG9JNyUldzhQYGtVfWsw
YWspJEV3Ql43PUNHazhERnNWR3hTQ2wpTnl1aVJOUlZfMlJYa0MKelpWMylOP1p7NkpVP3F5ZHsw
cXBgKWM4R2B6VlZJaD8xVSkjayRaSD1aVjsydkA0cGhIMyptWSY/Qz5BVz9LVHVICnpmdkFNNlRr
R1FSRTM0Q3AyVVhjMEh7PjhpZlIoQlBnX3w3aU5SfnhUQmYoTDZqYCYkWExPOG8zMFZNPExzTW0k
Swp6LUUkPU4jODR8cis4JndFcXN2JGtPSXQmeVQreWRPKVlrN089NGhDfDtKaVo9aW0hdzV5ZiNk
ZDR3IXFFYWl0YkAKekdKST1INCg9ZGdEWEBxT2FgNjFYR31BZzQ2dlRzJE48R3Vwc2B+NVBxez03
LXQpIT4lQlcpPE1JfGFNMiVudmU2CnppSyNzcFZuXzN2antaRXVXbkFUNjYwK1E2KDAtcUNKe3wo
RiQ3U2M/aW0zKVdqZjVZcUdASnV2ZF89QClhLTktKAp6OUZ8PGx4amNKRGBXWjU4dEw7Q2hMKHVU
e3twWUpfLWZIY2tONHNmPTRGZVNZUCo9cF5JZ1U7YT44YitVXmR9fkIKejlkRHpvYVk0azRhQXt6
Wj87fU1AbDtefkRZRm5ORWJVcURTTTNIT3VAJmszaEVqS1MldX4+NGxsTDRmfGowaD50Cnp5TUlL
O1opOVVlN3o2KUtsKkFeMypIJCpTQDBkV09zfjg7cCFBVFZBODBATShgPktrOT05IVREayZ7O14o
QntuVgp6Xz44WCQ1blkmJlR7bkV9QSVXdD81ZjxGYEdQRnY7Rnw5e08zWUd7d2NIUWdjZEFoPyY1
P0V4dDR2PX5rK2pHNmAKekJfYExGKy1uVHAtSChYR0p+Y21YKlZ+Nnl1cHVnfXh1T0FPVjAxb0RR
Rm5gTzFvZj8rMGsyP0VkcV9oQjteWUxECnpVeDtnWm1CVC10Q3B8N05yS2F8KUZUWSl9QEFKTD4m
Z3ZxJGJHbGM5Q1BUcGQwVUQpcjBxQVRAJXktWjIwSSMmKAp6VXMrT1dWe05GJDJ9WEV6JnJOSzhC
NDgoWmxeb0srTGpnWUtMczwwc2xDSSE5STN8ZShWKk92XkdAZGlPVzc/YGsKel9CUEg1LWdDJnRY
bz8obzg/eWRSYkspZGpIYjRsaHZ3ZVhUNDAzPXZaVjB+aWRxRVM5ODJETnE9IW88VjVhREhKCnoz
TDNhUGtTI01jdW9RSVBKb3wpX0xQN3ZwdlFoKztCYj4pMF85fDd8bE11OEk8K3ZaKDwqJWYpKyYq
P1UxfU8rTAp6MTt8fGopQTV0Wk4zTXwtKzRtJVBMS0wyNWMhV1oxYngjaVFXRXxBSmc2d2Uzcms8
KEoxMEZac08kaHNZbDQrcnEKeiNKaz5TcD8tR0hDayQ1TFUzUWNjREw/QkQhbDtTJTs/UXVrU1VH
P2J2NCM+SlBJN2BIMnxtKlhSMUpmVmQxPHtUCno9RTt7bEhtZTtldj8rZlRKaUo4MCpxY3ktK0wo
K301IyNjM0p3ZkxTYm9AUChqPXNBeDV5a0c9YGJGcl4mdChzOwp6YEgreitle248PmFiSWwlLVFZ
WX5jZHRBdj1WVWQyN2EhYHpSO0kpNFZ3c25Ca0t6T0clZSZGeFkkPiZ7Ty1JNF4KekhkYTd2dClL
PC0+Oyh0a2YtdDZkSTArJEUwaStmazM+ZXJMKkN7fmA/ZWg1eUQyYzVaSFE4RDBBaU4mfE9OTXw3
CnpoSlNDX3ljK3VjZlVxV1hjVHd2MSFmUUstdGhYd0o2ckRXMHtSZ0hIPHZ1SnAzKGwqe2RjPGVT
Q0lzbXBSMF4rVgp6PT9oXmVTNCM/SXVsbD5sKGl6PWFKPjNLcVhIIWNZUjt9ayp2NWY1Nm5kKV83
Jj1hRkF6VT8/KEJSNkF5YktBR3gKemtaKilqK2JRYjgyUXdTOFhgUF5CJSVhKHhlQzV2YCFBfnRp
QT1MQW15YDRZRlpLcW5JejY5fG8/dU15fk41PF5hCnpyTSRubXheYmY4IWA1NyZZU0lHIVYlWEha
YzdBVEo9KkR5OG45b258MkhqXkdyJHhqR3hRX0FhRH5UOGUjPnRRKQp6ODNwS1ArZ0UpQEwxbUtA
Y289T0dVO2dnVWwpNnBBSCRUWFJRV2padGA8IVFEUUlUNHJQZUFoKDVNU3kjZn0hQWsKekR0Rm1q
MWhWRDx3ckhAQHE7eEFAM1BCKCgpPlEybTJpI31CTEJZeG01WS1peGp3dEQmMyNWUERIYGFMckN0
fGk9Cno+Jk5MfjBaYHNOYEVhU2FEUXxmdmF5UmFne0t4WishM0ZsR1VZZjE8c2AjKWBmeDxUZ1Iy
Sit4UTUrO3h6blR9dAp6YkxzNXZYZm4lTllmfjhqZWchfCg3ND9xVkUlfWIhbjRhRSQ+WHYrc0pU
ajYwSjBqP3dXdUhrT1MjOzMkJV8lb3cKemIlVShHKSFhaW1hREluM1haZE5yJHw5eHg4akx2a2VU
Z0dvRn1HKiUmZmBoRUtlSDU4eUs1fUhReCNATUNwUilpCnopKVduVzZ1RTkjU0cpaCp5NEwyUk0q
SXJ6ZnQtY1BnJmxjJTZIPHYoODVmLTVfakoyQiQtYEY5RT9UQEJkYn4oSgp6YUV4Q1cjI20xZHle
VU1HaiNoY1g/WnQxTzwlP2Z9NkBCcn0pUUY/dWR6biFQT2JzNUZ6alU8UkJDa1I8VUREO3oKeipV
UCREZ0tARnFwU1E3V0s2TG1+PVJZa0tOeHcwX3QmalVjKmRvJk0wQmheKkJGand0Pmo4QEFgK3NK
fEd6WTYyCnpYSXxSNy19e0soT1lhKFc8fHdael5mYDhXT20lJktZVmBiPnYrKHV0bElgej4kKDRR
a08ldD05PiEwdTYlZGZ8RAp6e0xyS1d0Tl5+T25+c3h2SFgtd2I9ZC1UPkkyJjVsZnpBLWclR3VQ
aF9+QyNDKyE4ZjRgK3dSQFJIVCo9KldQTnoKel5zd0s3RWxPTEBpX1lUXmFkYl81Pm02YitxaG1r
VTU+MDEpamM2R1l4cGQwfSFtXjRlMH59PWVaRHprTyN0SU9oCnpicSlMfiR1PXEwMD5xOH1vZVd3
Yj4jeWRycD58aVNCbXdEdTFeN0hkVT9MdVBUcFRCJCRgR2RrRntSQ3VqSjlSYAp6Oz9+VTRfc3s0
PThhaTxIP3EoOysyKVB8LWJgeChfRTc3MXs5Xnk5dGYpK3lhXk0mLV5CQn5wNFBuPWc8Yis/bGQK
el5sXjUhRjRjUTsjUWhhVEkkSUhoZTB+S0lXWHc5XyUrR0o+bjZGNTxIXncmZiNUaFc8eSZJNilg
Z2o1Z3dxUVMyCnpsX0ViVyZkQGNEZTNjPFR4d2tpODVEIzh9KGcyQDduKzJwamoqYiM+Q2Q5cz04
UlhHKztTeTd0YyNVKytfRW0ySwp6Pjs0ISRVbUhiaE80OCVVUzd8fEZRZj9CJHszV0U9S0hHJW1D
RzN1ZzE+Y3hESlI2ZV89RkBna3lgeF83T2ZNK0YKemowXy1uWjR9XnErc0gkRT9xd1R7SkhlSGwr
T3JeIT5vdzkoI1EzSnd2ezNKLWJoZDVvNip0Jl40b1lZM0FseTQoCnooTitQO1RaMndyMWF0OEFQ
cm1yQktTRGNLc0x2eCZwbm9idGZyNmRfNEBCSHJadmdDTDxOISZSZkZpLUktKUN5Nwp6V0lvJFZ4
RzdvRER5RGFQPnBvQzY/ZjshQmo9bUBUMGQ9bz9KeW0/QFRZRlZoM3pNUz80WVlAJCgoVl9TR3pu
P1kKejVqKH1qfEJ+T05gdnMxTllXJGZXVU54V3JWbU9KJWFBWTckVUxyUFBmOz18JmJqRT5jeE4h
ZEZfSStvMGBpYylQCnpiKzFsJjwzc0IyR0dUZjhVdTBndmRnNTRoM3hPYmpNI2g0Mj1zKz43SS1Q
RFU7Z3ZIaXVWZDkpKCZ+aEdKOENFaAp6NXxHV2dLa3dlNzdSMm5FVm5hV0B7Z3hYQXBWOW5ZaTBu
Zlc7T3B2MjFPXjBjWj02TThjVyU8YjVFMSRudkZaZVcKejhvYyFVSFV1Qlk1SH4pfnZVNGE9YXZL
SUIlPHViI05ZbEVJRUFUQzg8cGtEeU9oQWYoZXEmRCotejVjSkU9JShyCnpjLTBfYz5TbCF7dmF5
ciQ4SF5xd2BWfShlMHc/ekJvJGQ0aFRzfm5MSWREb18hNXR3KjFpPk1NYE9Qa2RIRjRTdwp6NHQ9
eygtS1IqS20tQ01HNlkrbDRwMSRgbzZhRTlRMDN6SmplR3E2QzB7bjZqTF57JE4xRilCUkI1X144
KzhHez0KeiE7bzAxcUcjUmhZYikwaz8qRjdeXkhmMShSX3dZLVM0Q0c2Skt6PmRpPm1rU1JhS0sj
bXR7K1FLIWwzZWlLKENCCnoqcypHaGxuQEhlaFdwSVNjJGwhMVU4LWRFeVorN1U3dlYtdUclY1Y2
PEZ+YyhDZUpRKlF6TSUtMitIZWlqNzcwYQp6czZUI29SdFZxPnk8ODYyRm4/ajVBXlklSlF+cmBa
TSpEZD1afFR7SXZyTnd+bWhacGchN1lFUWt5ezM3PiRTNngKemQrZkZ5ZEFWaDNjWjNoSUs9RnZD
YWo2ITAweFRoRHdke2NKamxPRCokXi02cmoxWmBmQSt2fnBgUEUyRFAmJVheCnpSWmY8S0lWek5j
NXRVditMZ1o/U3BBPFFlNj5PMU9qZmZDPGpSNz9QNTBubjk8KjEqcSZnWXFAZWYqNkwrLV9zLQp6
V3tUOWhvRiV3KGZsZmxZQnVXal9icCg2RjR3WElgckBxeWdLZERrcihxVnMqYEhvV1I8aWlXfXI2
VGM8XmJ1UmQKenNTbmV+RCl0ejdOUjh0QG8zSkZmY3RwdD5TRF5TeTNBU0smND07TGtFc1RwdTg3
ejFgZXNUWClDY1NWUzdkRCheCnoyY0ZBK2xwcjI1ZDNHQilnbjBRdDREcHhmeW9gN19ZUn5AR3JV
PXwjSmZ4VDh0bV5kfmIoazwyNXJrZU5JfTJnYQp6aTVkeUlRNEB8LWZPcU0mbEBqRyQydVNTaXhB
cExSb2NoeyMqPlRxb1hhKCslbW9GZnFLRkdINntrcCVnTTFpfDYKeitVPGdINEs8NmhyY2RtO2B4
ZH1EZFM/XmlNMVRhaEJePzJFcS11eW4lTjRAfmg+fHtRVShzcHNwV2lLckMzRCE3CnpvJUxuJiFm
blUlWGN9SUJBMz5+MEg2PDQ2REFXQG5wZlBZPiswNWc8aXxeZXRnYj5JU3AwI2x2IWt1KFd6OVZu
WQp6NlVyKWhJJjVuPmxUUyUhYVhXcGlAZCQpJUIyMyhpeUJjend8MVFTazxpbSVndnJxflJDRE1W
OHlDVWMzT2pAUmUKekdzRFQmVklFO3FTQzZXRmBmJWxpUi1zRnsjQkVgWmcpbFphP1ElbzY5fW5t
XzR7Y3ZRZU5oJUp5PWpObyg7VG4lCnomUSY3NTV8dT9LSHomcU1YK3hmfmtZYmhnaFVrR1Qoe19h
dDR7aHNxPmxMYm8jLTl+XiRsQ3FXdylkUEtjdHM1Kgp6enUzRTB0Zj01ZHt1NlQtdFc1ODBEYVAh
NUhiQTduSDgkUVJjV0FNXlc4PDh+MjR5TX1RPitOJFNELSE7aHg4SzIKei1ISWBLamFuJSFLdnRz
b0F0Z1kleCNOIWozUF9sKXo3cSlSZ3ojO2RJQ2NeQHNFK2VfYXUmbks3bVVfQWEzdyRzCnp6PEdf
TGtDIWo5SzNoQjU3PEpGdEdmR35zZk0jPjNFe01lfnshaGowPT1kK094X2Y7LUp+NyFfbGN6K25M
XzdDcQp6QT5tb3dxMHxrOGNRPmc1JipXO3tJRGdtT05DSWdMUG12PU07aUI+aSNjakkjLUE4PExA
eUc/VzdqUUhvdC1BX0QKem09RmVwTEp6QDBiX0g5aCFFI19gcXhUclluJm9yWmE3UU05KTJ3bnBr
Pm9QUSlOMj1CelNvJkAtVnRFT1VBRCZVCnprVCszI1VYQm9UaGtxfDA9b2NqR0YhMF88aGx+V1p3
MXBPP0JCajlpVnBHPm81RVFyUyp0WEF+JSo3NW1OOSYoRgp6WVhFNypDVmB7VzErb3ZuWW16T0Z6
dW5kMDFoOSlYbjU+fG4tI1h2OzAmJmhwS0Y4U2cweFMyK1BhdWVhWU1JRUcKekM8XjRgO19ePk8/
M3UpKEpxUEZsKm1tdE0+P2w9LWxNa1hYM0tQKUVAYzh3Rloma2BxYVhWOTFyREtOe3l1KGNGCno2
KCY1eyRWZWR8bHd5TFdkOzErYylaUkh4OyV+LVI+TCluUGpiWk8qZF5eWW1XYEhffihvfmBBTHc0
c2dKeEp+Ywp6S0tQaHFUMkZpaXtrT0Y7bU9jb2t3fD51VXVlNkRFPVBqMyFFYGI0ai1ib1Uxe1Bm
I28rfXdKYnlWQiEjaVghWj8KelgyRitGOTxOOVNZcEgxU3hDIztDOFVgRFJ0JiNDNi1DTyhTdFJ+
O2VYckRrbjNPQmo4PyYlXzFQcyErJkptSmtUCnpwUmFEVzF0dSQxYGg1WHRaMD5sOTV6JnBfVEVE
UFEwcSk4TiVBMjFKP25UejNQYWg/QGZDPn1eVGxpY1VFQ2BSPQp6QHBifUlwdFlQVk9MPTw9cChM
M2J4YDtXSDg8c2J3QF5QbSZiVFdUYjQ2eE0wX0hQZXk3QFluYm1KN3leeSZsMkgKejZwcj8jKyUr
I1RNIVhpSFphSkxWSkt+KDRVPldlcGJzdz9vXnUyNz97aSF8XypkQDxjJm5DXipxbCZ7I3pLJT0h
CnphUHdHIVNkfWN4VlJqVGliWWR8emR8X1RXYzZ9dU5lUzU8RSVVNzQ+ciswamBPVWJ4fE4+RlNJ
RD0kJD1zNUxCRgp6MW4hdkopNFVZSG09bm9ebmk9NSZYYkV3Sns8cSZfU0p3bV9UIWVIfDQte3FI
TU96Pzh5QnxLfWFSZmcqaWZTRjUKemVFVnU1Q2pVTzxfQG51bWxTNiklUEp9Pz9la3VUOyRnVWUy
TEtEZ0QwSkllQ3Q4cm47aXp3fmo8bmRLWUd7XzdzCnpoJm4mPUY9U3VyI1Q3OCQ0IUZ+LXFqZlV6
NXl0X1g7Zyg0WVVrbyh7VkRUSmMzWD96fWBzTV92VW9KM3NHWHB2MAp6MiF1X01Rb25ta2VCfkI0
IXRoSHtCNyFiMDBldUZ9Xkw+TlJrcG5ENTlINEVPSUlPSTxRY0RzN0BiIW5VLUtKVDQKelZwX0p8
VVRIcz8oWjhzITdKTytyPCVOMjRkZVZXZDByPHFDaGs1KTRnQz4kY25DVilgaGswZSMoSzFZeWZg
QH5WCno1Y0x6ejE7SHdsKE1FQ0dna29KTnFMIWN8cXZzYlMmQXxJU1lMTVVgekIrSkNpKlc9Qypa
Y2MwTU5gMXRjYCt1fQp6MlB8OERqZ1ZFfnlie05VSnVNZGp0PURkQlllRDdRPlBHYWU+RVdGR0dR
KHdlNmt1UCEmZjBXPzU5RykyZmVKMigKejNoK19QSGNzRTcmOVkjUGJaamolRzJoSURoIXtiRSk1
RUtSRWV2WDx2ZiQkfmF4YEVCST5gKXg4fVR4UExZSHswCnozcj1RSDcyN3ZNST16eFFXP0xzWTBK
NWtVMjxYZjN4TnFqYFcjeDJPNnxlczBUYlJDQlAtfEFfaiR2dWNOcSNRdAp6TzRqX0Ema2cwam1A
M0h3Q1lDc2MlZXteNlFqMT53ZF5XTElePn04KXE1ekNhMD4kVUIrWXhGbkBKR3pAdWxzM0UKekYt
LShTelNocyZrY2t0cVc/eUA/aWc+e2Z0JjhHQFNzRH5hQitmVXFwX3FaXyh6cT9qbCM5bjZMJVBm
QEBNKmA3CnpOYmlodS1ROHFqQmtlMjdUXmsqdSg/WWZiJmMyOSMoeENHd2N7e1pCKGJyXj1XMlgx
ejA0LUtMPF5tTGlSKjJDTgp6RDI8X3RvQ3hGMkZRQXlELWFYUFJqQ3o+Qk9WeWtOSj0mOT8xbjRi
MFQ8NjE9cV5zcVNlfmJkYTdAcS17PlV9VTcKekJlR08oaU9MSUBjZWA4ZWJfPF9jJGpSUyopY3h2
I2VVeSVYejZJeTBiRyoqKSZjSXp4S2FxNkghZjQ7KjQmXmlYCnpmWSF2XkB8UEYlRjM+VD9AVG9i
VWl0ZGpsXlV+VWpaY1YweW89aipCXlgwZntKaXw7T2pBKTI7UDdGZjM5Rk54MAp6RCtPelorIWBC
YUItP3NrRUloeX1eTW0pVmQxekRSZUp+KWVQODRVMS1wZDApVzdvej5vQy1eXzs4aWJpbytEaHsK
emFGMCQtWGxvUyNWKDItciR0UFM4MHdMcz9HcTQpQVcjS3d+d01KKj0zPEMjbnp1REs4KXFafDRZ
WkMmS1ErfV9PCnplKDAhSSRxTiM8Zk8weDBPdENpSk5CMTB4dS0lSXR1dEI2dDhndml5QkhtZHN7
K2RfdjgwcyMwbWw7Q3dZaCszUAp6SXQqdFBSSEJTbmwmQCE3TTdyQjU2e3U9XnJsNkgqJEhvdSpO
Pn5XIVFhR0FOV25OcmNHITVmQV5pfmBqe1pJbiQKel9Adj5CVGdQKmcwVWNfX15xez9ueER3YUVs
dzwpR252bSpseSZnKWJqNHZTKTRvfiMkU3BaRGAtdUZkbzx9MUA7CnpOaSRKM2EqU25Me2Y1cXhv
T2A8REZuSUxsKmUhRG5pOFNCTSZJcmxRbTkhKDI1P3tsc3pLeGsoamlTNzkmSTxSJQp6PmhPXkAp
PjE8dXMqZH1vaXdSZiMmKjNoRjElJVlDNDlRSUlCMitpNDxCKzZtPEdyKU5sV2t0VnBQVG1AYTh1
NUcKelUwOzQ0OTgzQExfSTA3VyExUW5YeF4mMmc3dTwrbGErcDtZe1ZrK3l3fiR0PD9JRE8pSzUw
dWJ5dTthbS1BYTA9CnpgLXVISXdJdUU4cXZuMHlAI1pVeV5wd1AkWWZscVQyPkk3LXVBcCgkXkNU
PHxJYC0pMFUyOC1rZmU3ZH1jem5LUwp6WSp7OH1VZVlZOFlUKklmdHIjfTsrbHA3eWVgfn4kM15L
bmdLNzRWKyNhQn0mbShxfkEqWSl4aFpwaXdIUkp5ZW8KeiFzdz5MWiUtYGNkYGhCUWtgKFRvdXpt
OVo/bys/OC1EaFFhMSQ1c3lpPjtOeT1HKVAzem9ybFc8SFQhXlE7KT15Cnp5M2ojT0wyYEhAPH19
XjJpJGgpUkVgOXlMcj4qVCExeFVTbHkzLU5meV5KfEdBOyNTaCE9bmhsUm5faU5oP31ATgp6WWwp
b3F0cDZHbGt9TzZ9aikyKyhXJmdZSEcpaXJ+cF82Q0AoJFhTTnJjZXlzdHFTaGEzMG0rRDYpI35L
YW1VX2UKem4yS2ZYN0FJPDYrVXhAVm96KW1aMS1NVFF3Nzk3U3tLMnB5NjtAcmErKWRXN241ekll
LT0tdj5odjMkUnFTeGooCnpvZ2IkWjk4RVJ5S1FrcU1pbEJhVCNROVEjbDV2bVAla300YVQwPXJZ
dWtYamxpe1UoRXVIP1JPUGZ+TUVoJVpQMgp6I0t9KjI2Ozx7I1MxamN7akhHQXp1V3E3U3d1Tloh
XmJ6PHxzS150YFRCV301K1N0WG4mTntnRGlNUkhvWk14cmsKejl3JWl2UD5uaG4kMVU+TSZUe2xP
R0p5VzBSVWg4cyVyekNiP3JZPnxLbUZgfEdOQGgxWkVqPlQ8JklnY0FJSDRZCnpvS3x5OyNsZT9O
eCVFT1pPdGhleWU4cEwpU3Z3JDdYSEs5blcpZ01ldSpyfGpLRXdFQ0l7ajJNemApISZxIypmewp6
N3FgayRUa1dIV0x7YnZia0c9RFFrXi05Yjw0K2M0MkUrQkpESFkxJDsxN2I4bSN+SiVMQzMqQW93
QFpxXihnXz0KUUN2NmctKW1ZfTs2JDFNSTBRWFltM2poRUIKCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoK
</data>
<flag name="commit-queue"
          id="456470"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434060</attachid>
            <date>2021-07-22 21:09:20 -0700</date>
            <delta_ts>2021-07-25 17:17:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210723140919.patch</filename>
            <type>text/plain</type>
            <size>122148</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLjczMzdlYjM2ZTI3NjEzNmNlMWE4MzczMTFjNjkyNTk3ZjEzYzk4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHdlYm1fd2ViYXVkaW8g
cHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3IgbWltZXR5
cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlzYWJsZWQg
YnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8bWFnb21l
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIgdG8gY29u
ZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJvY2Vzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0MTMuLmVi
NDliM2E3YzQxYjNmMDRiYzUzZWIzZjMyYmQxMzg5ZTc4NGE1YjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDMgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4gV2ViIEF1
ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4gdGhlIHdl
YiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgZGVj
b2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJlYXNvbnMs
IGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxzIGFyZSBi
bG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1ZGlvIGNv
bXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkgcHJvY2Vz
cyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisgICAgICAg
IFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAg
ICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWlscyBmb3Ig
Vm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11eCB0aGUg
d2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0g
dG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVyYXRlIG92
ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3JtaW5nCisg
ICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRoZXJlIGFy
ZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVuY29kZXIg
ZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGlibGUKKyAg
ICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIu
CisgICAgICAgIC0gV2UgY2FuIG9ubHkgZGVjb2RlIG1vbm8gYW5kIHN0ZXJlbyBjb250ZW50LiBP
cHVzIGFuZCBWb3JiaXMgbGV0IHlvdSBkZWZpbmUgYQorICAgICAgICBjdXN0b20gY2hhbm5lbCBv
cmRlcmluZywgdGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZCB3aXRoIGFtYmlzb25pYyBhdWRpbyAo
d2l0aCBvcHVzIDI1NSBtb2RlKS4KKyAgICAgICAgQ29yZU1lZGlhIGRvZXNuJ3QgZWFzaWx5IGRl
YWwgd2l0aCBzdWNoIHJlLW9yZGVyaW5nIGFzIGl0IGFwcGVhcnMgdG8gYmUgZXNzZW50aWFsbHkK
KyAgICAgICAgZGVzaWduZWQgZm9yIGF1ZGlibGUgY29udGVudC4gV2l0aCBtb3JlIHRoYW4gMiBj
aGFubmVscywgZGVjb2Rpbmcgd2lsbCBlaXRoZXIgZmFpbAorICAgICAgICBvciBwcm9kdWNlIGNo
YW5uZWxzIGluIHRoZSB3cm9uZyBvcmRlci4KKworICAgICAgICBUZXN0OiB3ZWJhdWRpby9kZWNv
ZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbAorCisgICAgICAgICogSGVhZGVycy5jbWFrZTog
RXhwb3J0IGhlYWRlciBzbyB0aGF0IHdlIGNhbiByZWdpc3RlciB0aGUgZGVjb2RlciBpbiB0aGUg
VUkgcHJvY2Vzcy4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
IHNhbWUgYXMgYWJvdmUuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNhblBsYXlUeXBlIGNvbnN0KTogTWFr
ZSBjYW5QbGF5VHlwZSh3ZWJtL2F1ZGlvOyBjb2RlY3M9b3B1cykKKyAgICAgICAgd29yayBpZiBm
ZWF0dXJlcyBpcyBzZXQuCisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6
CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRXZWJNV2ViQXVk
aW9FbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Ondl
Yk1XZWJBdWRpb0VuYWJsZWQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlhU2FtcGxl
Lmg6IEZseS1ieSBmaXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBXRUJDT1JFX0VYUE9SVAorICAgICAg
ICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
QnVzOjpzZXRMZW5ndGgpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmg6IEFk
ZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0aGUgcmVwb3J0ZWQgbGVuZ3RoCisgICAg
ICAgIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlpbmcgc3RvcmFnZS4KKyAgICAgICAgKiBw
bGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaDogQWRkIHNldExlbmd0aCBtZXRob2QuIFdpbGwg
Y2hhbmdlIHRoZSByZXBvcnRlZAorICAgICAgICBsZW5ndGggd2l0aG91dCB0b3VjaGluZyB0aGUg
dW5kZXJseWluZyBzdG9yYWdlLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
RmlsZVJlYWRlckNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRyeUNyZWF0ZUF1ZGlvQnVm
ZmVyTGlzdCk6IEZpeCBjaGVja2VkSW50IHVzZSB0byBjYXRjaCBwb3RlbnRpYWwgb3ZlcmZsb3cK
KyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6QXVkaW9CdWZmZXJMaXN0
SG9sZGVyKTogQWRkIGNvbnZlbmllbmNlIGNsYXNzIHRoYXQKKyAgICAgICAgZnJlZSB3cmFwcGVk
IEF1ZGlvQnVmZmVyTGlzdCBvYmplY3Qgb24gZXhpdC4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
QnVmZmVyTGlzdEhvbGRlcjo6fkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yIGJvb2wgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvci0+IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3IqIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6aXNWYWxpZCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmlzTWF5YmVXZWJNIGNvbnN0KTogTWV0
aG9kIHRvIGNoZWNrIGlmIHRoZSBidWZmZXIKKyAgICAgICAgY29udGFpbnMgV2ViTSBkYXRhLgor
ICAgICAgICAoV2ViQ29yZTo6cGFzc3Rocm91Z2hJbnB1dERhdGFDYWxsYmFjayk6IFJlcXVpcmVk
IGZvciBBdWRpb0NvbnZlcnRlckZpbGxDb21wbGV4QnVmZmVyLgorICAgICAgICBXaWxsIGZlZWQg
dGhlIGRlY29kZXIgdGhlIGRhdGEgdG8gZGVjb2RlLCBzcGxpdHRpbmcgdGhlIG11bHRpcGxlIHBh
Y2tldHMgZm91bmQKKyAgICAgICAgaW4gdGhlIENNU2FtcGxlQnVmZmVyLgorICAgICAgICAoV2Vi
Q29yZTo6QXVkaW9GaWxlUmVhZGVyOjpudW1iZXJPZkZyYW1lcyBjb25zdCk6IFJldHVybiB0aGUg
dG90YWwgbnVtYmVyIG9mCisgICAgICAgIGRlY29kZWQgZnJhbWVzIGluIHRoZSBwYWNrZXRzLgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpmaWxlRGF0YUZvcm1hdCBjb25zdCk6
IENyZWF0ZSBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24KKyAgICAgICAgcmVsYXRlZCB0byB0
aGUgZGVtdXhlZCBhdWRpbyB0cmFjay4gbnVsbG9wdCBpZiB1bnN1cHBvcnRlZCBjb250ZW50Lgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpjbGllbnREYXRhRm9ybWF0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaDogUmVtb3ZlIHVu
dXNlZCB0eXBlZGVmLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxl
RGF0YVNvdXJjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6
fkF1ZGlvU2FtcGxlRGF0YVNvdXJjZSk6IEZseS1ieSBmaXgsIG1ha2UgaXQgdXNlCisgICAgICAg
IFBBTCBzb2Z0bGlua3MKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6
c2V0dXBDb252ZXJ0ZXIpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZSBQQUwKKyAgICAgICAgc29m
dGxpbmtzCisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVy
Lm1tOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHA6IEZseS1ieSBmaXgsIGFkZCBtaXNzaW5nIGhl
YWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNhbXBsZUFWRk9iakMuaDoKKyAgICAgICAgRmx5LWJ5IGZpeCByZXF1aXJlZCBieSB3ZWJraXQt
cHJlcGFyZSA6IGRvbid0IHRhZyB0aGUgd2hvbGUgY2xhc3MgYXMgV0VCQ09SRV9FWFBPUlQuCisg
ICAgICAgIE1vdmUgY29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3IgZnVuY3Rpb24gZGVmaW5pdGlv
bnMgb3V0LW9mLWxpbmUgdG8gcHJldmVudAorICAgICAgICBsaW5rYWdlIGVycm9ycy4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9i
akMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxl
QVZGT2JqQyk6IE1vdmUgY29kZQorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dl
YkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbTogRmx5LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVh
ZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGll
c0NvY29hLmg6IEV4cG9ydCBzb21lIHN5bWJvbHMsIGFkZCBuZXcKKyAgICAgICAgbWV0aG9kIGRl
ZmluaXRpb25zLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0
aWxpdGllc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJEZWNvZGVyRmFjdG9y
eSk6IEluc3RlYWQgb2YgYXR0ZW1wdGluZyB0byByZWdpc3RlciB0aGUgZGVjb2RlcgorICAgICAg
ICBieSBkbC1vcGVuaW5nIHRoZSByZXF1aXJlZCBsaWJyYXJ5LCBmaXJzdCBhdHRlbXB0aW5nIHRv
IHNlZSBpZiB0aGUgZGVjb2RlciBpcworICAgICAgICBhbHJlYWR5IGF2YWlsYWJsZS4gQ2FsbGlu
ZyBBdWRpb0NvbXBvbmVudFJlZ2lzdGVyIGluIHRoZSB3ZWIgY29udGVudCBwcm9jZXNzCisgICAg
ICAgIHdoZW4gdGhlIEdQVSBwcm9jZXNzIGlzIGVuYWJsZWQgd2lsbCBmYWlsIGR1ZSB0byBzYW5k
Ym94IHNldHRpbmdzLiBXaGljaCB3b3VsZAorICAgICAgICBpbmNvcnJlY3RseSByZXBvcnQgdGhl
IGNvZGVjIHRvIG5vdCBiZSBhdmFpbGFibGUgd2hlbiBpdCB3YXMuCisgICAgICAgIChXZWJDb3Jl
OjpjcmVhdGVBdWRpb0Zvcm1hdERlc2NyaXB0aW9uRm9yRm9ybWF0KToKKyAgICAgICAgKFdlYkNv
cmU6OmlzT3B1c0RlY29kZXJBdmFpbGFibGUpOiBGbHktYnkgZml4LCBzaG91bGQgdGhlIG1ldGhv
ZCBiZSBjYWxsZWQKKyAgICAgICAgb24gbm9uLW1hYyBwbGF0Zm9ybSBpdCB3b3VsZCBoYXZlIHJl
dHVybiB0aGUgdW5pdGlhbGl6ZWQgdmFsdWUgb2YgdGhlIGF2YWlsYWJsZQorICAgICAgICBzdGF0
aWMgdmFyaWFibGUuCisgICAgICAgIChXZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVk
ZWQpOiBBZGRlZAorICAgICAgICAoV2ViQ29yZTo6aXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKTog
U2FtZSBhcyBpc09wdXNEZWNvZGVyQXZhaWxhYmxlCisgICAgICAgIChXZWJDb3JlOjpyZWdpc3Rl
clZvcmJpc0RlY29kZXJJZk5lZWRlZCk6IEFkZGVkCisKIDIwMjEtMDctMjEgIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgbGlua2VkT25P
ckFmdGVyIGNoZWNrIGZvciByMjY5MTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBmMDE5ZDNjZTEy
MDNmM2ZhMTA0ZWY5ZmFjNGZmYTQwNmFiOTAyZjYwLi5mMmFhY2JiODQwMmQwYzQxNjFhM2Y2ZmJm
OTkzOTRmNThjYzUzZGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAy
MS0wNy0yMSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtX
ZWJBdWRpb10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgdmFyaW91cyBBVkZvdW5kYXRpb24gKEFWQXVkaW9Db252ZXJ0ZXIpIHJl
bGF0ZWQgbWV0aG9kcyBhbmQKKyAgICAgICAgQ29yZU1lZGlhIHRvIGFjY2VzcyByZXF1aXJlZCBD
TVNhbXBsZUJ1ZmZlciByZWxhdGVkIG1ldGhvZHMuCisKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuY3BwOgorICAgICAgICAqIHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oOgor
ICAgICAgICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oOgorICAgICAgICAqIHBh
bC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbToKKwogMjAyMS0wNy0yMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyBy
MjgwMTI5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCAxODc2MjU4NDI2MWJhYTllMzIyZTlhNzBjZjhkMmE2ZjA3YjA5
MDk2Li5jMzYyZTY2M2U0Y2NkZTJmYzNhNzhlYTQyMmVmY2IxY2E3N2E2ZDkyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI3IEBACisyMDIxLTA3LTIxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBs
ZS5jb20+CisKKyAgICAgICAgW1dlYkF1ZGlvXSBBZGQgd2VibS9vcHVzIGNvbnRhaW5lciBzdXBw
b3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcx
MTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5NDM3MDY3PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkZWZhdWx0IHZhbHVlIGZvciB3ZWJt
X3dlYmF1ZGlvIHByZWYgZm9yIHRoZSBkaWZmZXJlbnQgcGxhdGZvcm1zLgorICAgICAgICBEaXNh
YmxlZCBieSBkZWZhdWx0IG9uIGFsbCBwbGF0Zm9ybXMuCisgICAgICAgIEZseS1ieSBmaXg6IGRv
bid0IG1ha2Ugd2VibSBwYXJzZXIgZGVwZW5kZW50IG9uIFZQOSBzdXBwb3J0LgorCisgICAgICAg
ICogRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3MucGxpc3Q6CisgICAgICAgICogRmVhdHVy
ZUZsYWdzL1dlYktpdC1pb3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktpdC1t
YWNvcy5wbGlzdDoKKyAgICAgICAgKiBGZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3Q6
CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpkZWZhdWx0V2ViTVdlYkF1ZGlv
RW5hYmxlZCk6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3Ry
YXRpb25zKToKKwogMjAyMS0wNy0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFJ1bm5pbmdCb2FyZCBraWxscyB0aGUgbmV0d29yayBwcm9jZXNzIGlmIGl0IGlz
IHN0aWxsIGhvbGRpbmcgdGhlICJob2xkaW5nIGxvY2tlZCBmaWxlIiBhc3NlcnRpb24gdXBvbiBz
dXNwZW5zaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCmluZGV4IGM0MmViZWJhMDY3YzE1
ZDdmNWRjMGU5MGFiM2RiNDUyZTkyMmE0ZWQuLmI0MTE4NjQ0YWJmOGI2ZTEzOGUzZTY0OTQ3NTQ4
MDgzYzk5M2RiYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC0xMjYxLDYgKzEy
NjEsMTggQEAgV2ViTVBhcnNlckVuYWJsZWQ6CiAgICAgV2ViS2l0OgogICAgICAgZGVmYXVsdDog
V2ViS2l0OjpkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKQogCitXZWJNV2ViQXVkaW9FbmFibGVk
OgorICB0eXBlOiBib29sCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
CisgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViTSBXZWIgQXVkaW8iCisgIGh1bWFuUmVhZGFibGVE
ZXNjcmlwdGlvbjogIkVuYWJsZSBXZWJNIFdlYiBBdWRpbyIKKyAgY29uZGl0aW9uOiBFTkFCTEUo
TUVESUFfU09VUkNFKQorICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5OgorICAgICAg
ZGVmYXVsdDogV2ViS2l0OjpkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpCisgICAgV2ViS2l0
OgorICAgICAgZGVmYXVsdDogV2ViS2l0OjpkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpCisK
ICMgRklYTUU6IElzIHRoaXMgaW1wbGVtZW50ZWQgZm9yIFdlYktpdExlZ2FjeT8gSWYgbm90LCB0
aGlzIHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIFdlYktpdExlZ2FjeSBlbnRpcmVseS4KIFdlYlJU
Q0gyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlCmluZGV4IDNiMWJiNTUwZjU2ODFhNGY1ZGQyMzYwYTE0MTg5YThlY2FkMDU3YjkuLjlhNjFl
ZWZmNTRiN2M2NTAyMGEyOGU5NGM2YmVlM2Q1NDNjNzQ1OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpA
QCAtMTMzNSw2ICsxMzM1LDggQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVS
UwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0V4dGVuc2lvbnNHTEFOR0xFLmgKICAgICBw
bGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgK
IAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgK
KwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5oCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0RHJhd0dseXBoc1JlY29y
ZGVyLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3
aW5nQ29udGV4dC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVN
ZWRpYVNvZnRMaW5rLmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29m
dExpbmsuY3BwCmluZGV4IGZjMDY2OGE0YTkxYWZlMTBiNjUxNTljYTA4MmUxODI4MWZkNTAzNTcu
LjRhM2U5MGNkNDQwNjc3NTkyMTIyZjE2ZmE1MThhYTU0ZTk1N2NjYzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCkBAIC0zNiw2ICszNiw4
IEBACiAjaW5jbHVkZSA8Q29yZVZpZGVvL0NvcmVWaWRlby5oPgogI2VuZGlmCiAKKyNpbmNsdWRl
IDxDb3JlQXVkaW8vQ29yZUF1ZGlvVHlwZXMuaD4KKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
IHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAx
MDE0MDApCiAjZGVmaW5lIENNU0FNUExFQlVGRkVSQ0FMTF9OT0VTQ0FQRSBDRl9OT0VTQ0FQRQog
I2Vsc2UKQEAgLTQ3LDExICs0OSwxMyBAQCBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9TT1VSQ0Vf
V0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIFBBTF9FWFBPUlQpCiAKIFNPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
Q29weURhdGFCeXRlcywgT1NTdGF0dXMsIChDTUJsb2NrQnVmZmVyUmVmIHRoZVNvdXJjZUJ1ZmZl
ciwgc2l6ZV90IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIHZvaWQqIGRlc3RpbmF0
aW9uKSwgKHRoZVNvdXJjZUJ1ZmZlciwgb2Zmc2V0VG9EYXRhLCBkYXRhTGVuZ3RoLCBkZXN0aW5h
dGlvbiksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VY
UE9SVChQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgsIHNpemVfdCwg
KENNQmxvY2tCdWZmZXJSZWYgdGhlQnVmZmVyKSwgKHRoZUJ1ZmZlciksIFBBTF9FWFBPUlQpCitT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwg
Q01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzLCBCb29sZWFuLCAoQ01CbG9ja0J1ZmZlclJl
ZiB0aGVCdWZmZXIsIHNpemVfdCBvZmZzZXQsIHNpemVfdCBsZW5ndGgpLCAodGhlQnVmZmVyLCBv
ZmZzZXQsIGxlbmd0aCksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0
ZXMsIE9TU3RhdHVzLCAoY29uc3Qgdm9pZCogc291cmNlQnl0ZXMsIENNQmxvY2tCdWZmZXJSZWYg
ZGVzdGluYXRpb25CdWZmZXIsIHNpemVfdCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIHNpemVfdCBk
YXRhTGVuZ3RoKSwgKHNvdXJjZUJ5dGVzLCBkZXN0aW5hdGlvbkJ1ZmZlciwgb2Zmc2V0SW50b0Rl
c3RpbmF0aW9uLCBkYXRhTGVuZ3RoKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9u
R2V0RXh0ZW5zaW9ucywgQ0ZEaWN0aW9uYXJ5UmVmLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBk
ZXNjKSwgKGRlc2MpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0Vf
V0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0VHlwZUlELCBDRlR5
cGVJRCwgKHZvaWQpLCAoKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09V
UkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldERhdGFCdWZm
ZXIsIENNQmxvY2tCdWZmZXJSZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpLCBQ
QUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFM
LCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24sIENNRm9ybWF0
RGVzY3JpcHRpb25SZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpLCBQQUxfRVhQ
T1JUKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3Jl
TWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMsIE9T
U3RhdHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1Ziwgc2l6ZV90IHBhY2tldERlc2NyaXB0aW9u
c1NpemUsIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24qIHBhY2tldERlc2NyaXB0aW9uc091
dCwgc2l6ZV90KiBwYWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0KSwgKHNidWYsIHBhY2tl
dERlc2NyaXB0aW9uc1NpemUsIHBhY2tldERlc2NyaXB0aW9uc091dCwgcGFja2V0RGVzY3JpcHRp
b25zU2l6ZU5lZWRlZE91dCksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NP
VVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVU
aW1pbmdJbmZvLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYsIENNSXRlbUluZGV4
IHNhbXBsZUluZGV4LCBDTVNhbXBsZVRpbWluZ0luZm8qIHRpbWluZ0luZm9PdXQpLCAoc2J1Ziwg
c2FtcGxlSW5kZXgsIHRpbWluZ0luZm9PdXQpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVy
RGF0YUlzUmVhZHksIEJvb2xlYW4sIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpLCBQ
QUxfRVhQT1JUKQogCkBAIC0xMDgsNiArMTEyLDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9T
T1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIGtDTVRleHRWZXJ0aWNhbExheW91dF8K
IFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlh
LCBrQ01UZXh0VmVydGljYWxMYXlvdXRfUmlnaHRUb0xlZnQsIENGU3RyaW5nUmVmLCBQQUxfRVhQ
T1JUKQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckNyZWF0ZUNvbnRpZ3Vv
dXMsIE9TU3RhdHVzLCAoQ0ZBbGxvY2F0b3JSZWYgc3RydWN0dXJlQWxsb2NhdG9yLCBDTUJsb2Nr
QnVmZmVyUmVmIHNvdXJjZUJ1ZmZlciwgQ0ZBbGxvY2F0b3JSZWYgYmxvY2tBbGxvY2F0b3IsIGNv
bnN0IENNQmxvY2tCdWZmZXJDdXN0b21CbG9ja1NvdXJjZSogY3VzdG9tQmxvY2tTb3VyY2UsIHNp
emVfdCBvZmZzZXRUb0RhdGEsIHNpemVfdCBkYXRhTGVuZ3RoLCBDTUJsb2NrQnVmZmVyRmxhZ3Mg
ZmxhZ3MsIENNQmxvY2tCdWZmZXJSZWYqIGJsb2NrQnVmZmVyT3V0KSwgKHN0cnVjdHVyZUFsbG9j
YXRvciwgc291cmNlQnVmZmVyLCBibG9ja0FsbG9jYXRvciwgY3VzdG9tQmxvY2tTb3VyY2UsIG9m
ZnNldFRvRGF0YSwgZGF0YUxlbmd0aCwgZmxhZ3MsIGJsb2NrQnVmZmVyT3V0KSwgUEFMX0VYUE9S
VCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1l
ZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFTdWJUeXBlLCBGb3VyQ2hhckNvZGUsIChD
TUZvcm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYyksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJ
TktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01Gb3Jt
YXREZXNjcmlwdGlvbkdldE1lZGlhVHlwZSwgQ01NZWRpYVR5cGUsIChDTUZvcm1hdERlc2NyaXB0
aW9uUmVmIGRlc2MpLCAoZGVzYyksIFBBTF9FWFBPUlQpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaAppbmRleCAxZGI1MTgxZmM1NmRiZmIwNWZiOWYz
YWNjMzc1OThlNGIwMzcwOWYwLi44OGU2Mjk1YjNjM2VlNTIzYTU3N2Q3MjY2NDEwZDFiMDQ2NmZj
MTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5o
CkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgVVNFKEFWRk9VTkRBVElPTikKIC8vIEZJWE1FOiBTaG91
bGQgYmUgVVNFKENPUkVNRURJQSksIGJ1dCB0aGlzIGlzbid0IGN1cnJlbnRseSBkZWZpbmVkIG9u
IFdpbmRvd3MuCiAKKyNpbmNsdWRlIDxDb3JlQXVkaW8vQ29yZUF1ZGlvVHlwZXMuaD4KICNpbmNs
dWRlIDxwYWwvc3BpL2NmL0NvcmVNZWRpYVNQSS5oPgogI2luY2x1ZGUgPHd0Zi9Tb2Z0TGlua2lu
Zy5oPgogCkBAIC00OSw2ICs1MCw4IEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcywgT1NTdGF0CiAjZGVmaW5l
IENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVm
ZmVyQ29weURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoLCBzaXplX3QsIChDTUJsb2NrQnVmZmVy
UmVmIHRoZUJ1ZmZlciksICh0aGVCdWZmZXIpKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyR2V0RGF0
YUxlbmd0aCBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgKK1NP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
SXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwg
c2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3Ro
KSkKKyNkZWZpbmUgQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVN
ZWRpYV9DTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMKIFNPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywg
T1NTdGF0dXMsIChjb25zdCB2b2lkKiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0
aW5hdGlvbkJ1ZmZlciwgc2l6ZV90IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFM
ZW5ndGgpLCAoc291cmNlQnl0ZXMsIGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGlu
YXRpb24sIGRhdGFMZW5ndGgpKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRl
cyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMKIFNPRlRf
TElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0
aW9uR2V0RXh0ZW5zaW9ucywgQ0ZEaWN0aW9uYXJ5UmVmLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJl
ZiBkZXNjKSwgKGRlc2MpKQpAQCAtNTksNiArNjIsOCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBDTUJs
bwogI2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldERhdGFCdWZmZXIgc29mdExpbmtfQ29yZU1lZGlh
X0NNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlcgogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFE
RVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24sIENN
Rm9ybWF0RGVzY3JpcHRpb25SZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQog
I2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uIHNvZnRMaW5rX0NvcmVN
ZWRpYV9DTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uCitTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVh
bVBhY2tldERlc2NyaXB0aW9ucywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBz
aXplX3QgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
biogcGFja2V0RGVzY3JpcHRpb25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVO
ZWVkZWRPdXQpLCAoc2J1ZiwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRp
b25zT3V0LCBwYWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0KSkKKyNkZWZpbmUgQ01TYW1w
bGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyBzb2Z0TGlua19Db3JlTWVk
aWFfQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucwogU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0
U2FtcGxlVGltaW5nSW5mbywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBDTUl0
ZW1JbmRleCBzYW1wbGVJbmRleCwgQ01TYW1wbGVUaW1pbmdJbmZvKiB0aW1pbmdJbmZvT3V0KSwg
KHNidWYsIHNhbXBsZUluZGV4LCB0aW1pbmdJbmZvT3V0KSkKICNkZWZpbmUgQ01TYW1wbGVCdWZm
ZXJHZXRTYW1wbGVUaW1pbmdJbmZvIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdl
dFNhbXBsZVRpbWluZ0luZm8KIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29y
ZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1wbGVCdWZm
ZXJSZWYgc2J1ZiksIChzYnVmKSkKQEAgLTE2OCw2ICsxNzMsOCBAQCBTT0ZUX0xJTktfQ09OU1RB
TlRfRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwga0NNVGV4dFZlcnRpY2FsTGF5b3V0X1JpZ2h0
VG9MZWZ0LAogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
SEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywgT1NT
dGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZmZXJS
ZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3QgQ01C
bG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90IG9m
ZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFncywg
Q01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9yLCBz
b3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0VG9E
YXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpKQorI2RlZmluZSBDTUJsb2Nr
QnVmZmVyQ3JlYXRlQ29udGlndW91cyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlckNy
ZWF0ZUNvbnRpZ3VvdXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1l
ZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFTdWJUeXBlLCBGb3VyQ2hhckNvZGUsIChD
TUZvcm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYykpCiAjZGVmaW5lIENNRm9ybWF0RGVz
Y3JpcHRpb25HZXRNZWRpYVN1YlR5cGUgc29mdExpbmtfQ29yZU1lZGlhX0NNRm9ybWF0RGVzY3Jp
cHRpb25HZXRNZWRpYVN1YlR5cGUKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwg
Q29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFUeXBlLCBDTU1lZGlhVHlwZSwg
KENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaCBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaAppbmRleCBiMzI0MTU5
YmUxZWZlN2E1ZTVmZTJiMjY0ZDQxYTZhMGM4NGZkNDliLi43MDBlOWMzMmM0Y2ZiMWJkYzMwZWNm
NDdhMDAwNjMwNzIwNTI2OTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2Nv
Y29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCkBAIC0zMjQsNCArMzI0LDExIEBAIFNPRlRfTElO
S19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQVZGb3VuZGF0aW9uLCBBVk91dHB1dENvbnRleHRP
dXRwdXREZXZpY2VzRGlkCiAjZGVmaW5lIEFWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWRD
aGFuZ2VOb3RpZmljYXRpb24gUEFMOjpnZXRfQVZGb3VuZGF0aW9uX0FWT3V0cHV0Q29udGV4dE91
dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24oKQogI2VuZGlmIC8vIEhBVkUoQVZST1VU
RVBJQ0tFUlZJRVcpCiAKKyNpZiBQTEFURk9STShDT0NPQSkKK1NPRlRfTElOS19DTEFTU19GT1Jf
SEVBREVSKFBBTCwgQVZBdWRpb0NvbnZlcnRlcikKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVS
KFBBTCwgQVZBdWRpb0Zvcm1hdCkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZB
dWRpb0NvbXByZXNzZWRCdWZmZXIpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIEFW
QXVkaW9QQ01CdWZmZXIpCisjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCisKICNlbmRpZiAvLyBV
U0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2Nv
YS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2Ev
QVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggMzdjOGIxZmFmZDU4Y2NiYzZlODUwYzZmMzAx
MTc2N2M3ZGEzMTY0NS4uNzMzOTg0NWUwNzI2NTgwMWUwNjQwMzAzYjJlMjkxYTAxMjRlODcwZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0
TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNv
ZnRMaW5rLm1tCkBAIC0yMzAsNyArMjMwLDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9TZXNzaW9uUm91dGUKIAog
U09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBB
VkZvdW5kYXRpb24sIEFWVVJMQXNzZXRIVFRQQ29va2llc0tleSwgTlNTdHJpbmcgKiwgUEFMX0VY
UE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0UmVxdWlyZXNDdXN0b21VUkxMb2FkaW5nS2V5
LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQotI2VuZGlmCisjZW5kaWYgLy8gUExBVEZPUk0oSU9T
X0ZBTUlMWSkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShXQVRDSE9T
KSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBB
TCwgQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uU2V0QXV0aG9yaXplZFRvVXNlQ2FtZXJh
SW5NdWx0aXBsZUZvcmVncm91bmRBcHBMYXlvdXQsIHZvaWQsIChBVkNhcHR1cmVTZXNzaW9uICpz
ZXNzaW9uKSwgKHNlc3Npb24pKQpAQCAtMjQ0LDQgKzI0NCwxMSBAQCBTT0ZUX0xJTktfQ09OU1RB
TlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZSb3V0ZURldGVj
dG9yTXVsdAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBB
VkZvdW5kYXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmlj
YXRpb24sIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiAjZW5kaWYgLy8gSEFWRShBVlJPVVRFUElD
S0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9Db252ZXJ0ZXIsIFBBTF9F
WFBPUlQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91
bmRhdGlvbiwgQVZBdWRpb0Zvcm1hdCwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvQ29tcHJlc3NlZEJ1
ZmZlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvUENNQnVmZmVyLCBQQUxfRVhQT1JUKQorI2VuZGlm
CisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYwMWI5OTI3ZTNjYzYyMmU5Y2Nj
MDBiMTFlYjJhMmNkZDAzZjc1MzcuLjRmNDk1N2Y1MGU4ZWI0NGY2ZjA1ODE5MDcyZGMwYTUxNzNi
ZTFjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTIzMiw3ICsyMzIsNyBAQAogCQkwN0VFNzZFQzFCRTk2REIwMDBGODkxMzMg
LyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA3RUU3NkVBMUJFOTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRp
bWVWaWRlb1NvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1Nv
dXJjZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDdFRTc2RUQxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLmgg
Ki87IH07CiAJCTA3RjRFOTMzMjBCMzU4N0YwMDJFMzgwMyAvKiBBVkFzc2V0TUlNRVR5cGVDYWNo
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdDOEFE
MTIxRDA3M0Q2MzAwODdDNUNFIC8qIEFWQXNzZXRNSU1FVHlwZUNhY2hlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMDdGNUNGRjUyNTgyQTUxRDAw
NjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1ODJBNEY4MDA2NjJFRjUgLyogV2Vi
TUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgfTsKKwkJMDdGNUNGRjUyNTgyQTUxRDAwNjYyRUY1
IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkwN0Y1Q0ZGNjI1ODJBNTI5MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVz
Q29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
N0Y1Q0ZGMjI1ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0gKi87
IH07CiAJCTA3Rjg3Njg0MUFENTgwRjkwMDkwNTg0OSAvKiBNZWRpYVBsYXliYWNrVGFyZ2V0Q29u
dGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdG
ODc2ODMxQUQ0QTk0NTAwOTA1ODQ5IC8qIE1lZGlhUGxheWJhY2tUYXJnZXRDb250ZXh0LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDdGOTQ0MTYx
ODY0RDA0NjAwNUQzMUNCIC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBRThDMDgxNzQ2Qjk1NzAw
NTMyRDc4IC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAppbmRleCBhM2IzYTJmMTE1N2MyYjdlNTAwYjJhMDRlNDY4ZWQ1NmFkMjA0
NGJjLi43ZDdjZDJjZTFkZWZiOGMwNTEwM2I0MzgxZGE3NWY3MGI3MjgzNDdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTEwNTUsNyArMTA1NSw3IEBAIFN0
cmluZyBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBl
KSBjb25zdAogICAgIC8vIFRlbXBvcmFyaWx5IHdvcmsgYXJvdW5kIGJ1ZyAyMjY5MjIuIEZvciBu
b3cgY2xhaW0gdGhhdCB0aGUgb3B1cyBhbmQgdm9yYmlzIGNvZGVjcyBhcmVuJ3Qgc3VwcG9ydGVk
CiAgICAgLy8gc28gdGhhdCBzaXRlcyByZWx5aW5nIG9uIHRoaXMgdGVzdCB0byBkZXRlcm1pbmUg
aWYgd2ViYXVkaW8gdXNlIG9mIG9wdXMgb3Igdm9yYmlzIHdvbid0IGVycm9yLgogICAgIGF1dG8g
Y29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0gICAgaWYgKHN1cHBvcnQgPT0gTWVkaWFQ
bGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYgKGNvZGVjcy5jb250YWlucygib3B1
cyIpIHx8IGNvZGVjcy5jb250YWlucygidm9yYmlzIikpKQorICAgIGlmIChzdXBwb3J0ID09IE1l
ZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVkICYmICgoY29kZWNzLmNvbnRhaW5z
KCJvcHVzIikgJiYgIXdlYk1XZWJBdWRpb0VuYWJsZWQoKSkgfHwgY29kZWNzLmNvbnRhaW5zKCJ2
b3JiaXMiKSkpCiAgICAgICAgIHN1cHBvcnQgPSBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJ
c05vdFN1cHBvcnRlZDsKICNlbmRpZgogCkBAIC04MTc1LDYgKzgxNzUsMTUgQEAgYm9vbCBIVE1M
TWVkaWFFbGVtZW50OjpoYXNNZWRpYVN0cmVhbVNvdXJjZSgpIGNvbnN0CiAjZW5kaWYKIH0KIAor
Ym9vbCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJNV2ViQXVkaW9FbmFibGVkKCkgY29uc3QKK3sKKyNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLndlYk1XZWJBdWRpb0VuYWJsZWQoKTsKKyNlbHNlCisgICAgcmV0
dXJuIGZhbHNlOworI2VuZGlmCit9CisKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogdm9pZCBI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVN0cmVhbUNhcHR1cmVTdGFydGVkKCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMTA1MWMwNTg1M2ZjMDEyZWRkYWNkOGI3
NGM5NDVhYmJhYzJkNTMyMC4uZjkyNmVkNjI3MzAxMWQ1MTY0OGFkZWY1Nzk3ZGJlZGZhNmRiODJk
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTkzOSw2ICs5Mzks
OCBAQCBwcml2YXRlOgogICAgIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSBmaW5h
bCB7IHJldHVybiBsb2dnZXIoKTsgfQogI2VuZGlmCiAKKyAgICBib29sIHdlYk1XZWJBdWRpb0Vu
YWJsZWQoKSBjb25zdDsKKwogICAgIFRpbWVyIG1fcHJvZ3Jlc3NFdmVudFRpbWVyOwogICAgIFRp
bWVyIG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFRpbWVyIG1fc2NhblRpbWVyOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBhMGQzY2Vh
NzlkN2UwYWUwNzQ4MjQwZGQyMmVlZTJkNTU3NTA0NGE2Li42ODVhMGEyYWQ3NTQ3MjY5OWFlYmYy
MTlmYTBjMjUxNTIxYmViMGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaApAQCAtMjM1LDYgKzIzNSw4IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2ViTVBhcnNlckVuYWJsZWQoYm9vbCBpc0VuYWJsZWQp
IHsgbV93ZWJNUGFyc2VyRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgd2ViTVBhcnNl
ckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYk1QYXJzZXJFbmFibGVkOyB9CisgICAgdm9p
ZCBzZXRXZWJNV2ViQXVkaW9FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fd2ViTVdlYkF1ZGlv
RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgd2ViTVdlYkF1ZGlvRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fd2ViTVdlYkF1ZGlvRW5hYmxlZDsgfQogI2VuZGlmCiAKICNpZiBIQVZF
KENFTEVTVElBTCkKQEAgLTM3MSw2ICszNzMsNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKICAgICBib29sIG1fd2ViTVBhcnNlckVuYWJsZWQgeyBmYWxzZSB9OworICAg
IGJvb2wgbV93ZWJNV2ViQXVkaW9FbmFibGVkIHsgZmFsc2UgfTsKICNlbmRpZgogCiAjaWYgSEFW
RShDRUxFU1RJQUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNh
bXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaAppbmRleCA4ZGE2
MDM3Nzg4MjQzMzMwYWUyNTBkOWMxMGM3MmVlMDU4OGU3NjBjLi4wODQ3Yjk3NGU5M2U4NzJhMjI5
ZTdhMTYxMGYyZDQ0ZTkwMmNjMGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9NZWRpYVNhbXBsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxl
LmgKQEAgLTU3LDcgKzU3LDcgQEAgc3RydWN0IFBsYXRmb3JtU2FtcGxlIHsKICAgICB9IHNhbXBs
ZTsKIH07CiAKLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlIDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CitjbGFzcyBNZWRpYVNhbXBsZSA6IHB1Ymxp
YyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4gewogcHVibGljOgogICAgIHZpcnR1
YWwgfk1lZGlhU2FtcGxlKCkgPSBkZWZhdWx0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb0J1cy5jcHAKaW5kZXggMjQzZTEwNmI5ZTMzZGE5M2RlOWEwY2FkMzNiYzA4ZTky
MDY1MzIwMC4uN2YwM2MzMzFlZTIwMTBjOTg5MjlhMDMyNGRjYWM5NTVkNjVmOGJiZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcApAQCAtNzMsNiArNzMsMTYg
QEAgdm9pZCBBdWRpb0J1czo6c2V0Q2hhbm5lbE1lbW9yeSh1bnNpZ25lZCBjaGFubmVsSW5kZXgs
IGZsb2F0KiBzdG9yYWdlLCBzaXplX3QgbGUKICAgICB9CiB9CiAKK3ZvaWQgQXVkaW9CdXM6OnNl
dExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKQoreworICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VD
VVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IG1fbGVuZ3RoKTsKKyAgICBpZiAobmV3TGVu
Z3RoID09IG1fbGVuZ3RoKQorICAgICAgICByZXR1cm47CisgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IG1fY2hhbm5lbHMuc2l6ZSgpOyArK2kpCisgICAgICAgIG1fY2hhbm5lbHNbaV0tPnNl
dExlbmd0aChuZXdMZW5ndGgpOworICAgIG1fbGVuZ3RoID0gbmV3TGVuZ3RoOworfQorCiB2b2lk
IEF1ZGlvQnVzOjp6ZXJvKCkKIHsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFu
bmVscy5zaXplKCk7ICsraSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5o
CmluZGV4IDQwZTgxMTIxMWI0ZGEyY2E4YzY3MGI1OGIzMjk2YjM1Y2U2OWNkNGEuLmVhNTg1Yzg0
OGVhOTQxMjI3NDAyOWE4ODY3YWI5Y2NhYzcwNzRkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtODMsNiArODMsOSBAQCBwdWJsaWM6CiAgICAgLy8gTnVt
YmVyIG9mIHNhbXBsZS1mcmFtZXMKICAgICBzaXplX3QgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4g
bV9sZW5ndGg7IH0KIAorICAgIC8vIFJlZHVjZSB0aGUgbnVtYmVyIG9mIGZyYW1lcyBhdmFpbGFi
bGUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYWxsb2NhdGVkIG1lbW9yeSBzaXplLgorICAgIHZvaWQg
c2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpOworCiAgICAgLy8gU2FtcGxlLXJhdGUgOiAwLjAg
aWYgdW5rbm93biBvciAiZG9uJ3QgY2FyZSIKICAgICBmbG9hdCBzYW1wbGVSYXRlKCkgY29uc3Qg
eyByZXR1cm4gbV9zYW1wbGVSYXRlOyB9CiAgICAgdm9pZCBzZXRTYW1wbGVSYXRlKGZsb2F0IHNh
bXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxlUmF0ZTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAppbmRleCA5NzViZDBiNWFiZDhmNzI1NWEw
NWE3ZGQ3MGY5NjUwYjFkNDk0NjY3Li5jOTc2MTVmMGRhMTUxYzIzZDQzM2NiNTYwNjdiYjU0Nzk0
NjJhMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0No
YW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwu
aApAQCAtNzQsNiArNzQsMTQgQEAgcHVibGljOgogICAgIC8vIEhvdyBtYW55IHNhbXBsZS1mcmFt
ZXMgZG8gd2UgY29udGFpbj8KICAgICBzaXplX3QgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9s
ZW5ndGg7IH0KIAorICAgIC8vIFNldCBuZXcgbGVuZ3RoLiBDYW4gb25seSBiZSBzZXQgdG8gYSB2
YWx1ZSBsb3dlciB0aGFuIHRoZSBjdXJyZW50bHkKKyAgICAvLyBzZXQgbGVuZ3RoLgorICAgIHZv
aWQgc2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCisgICAgeworICAgICAgICBSRUxFQVNFX0FT
U0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG5ld0xlbmd0aCA8PSBsZW5ndGgoKSk7Cisg
ICAgICAgIG1fbGVuZ3RoID0gbmV3TGVuZ3RoOworICAgIH0KKwogICAgIC8vIERpcmVjdCBhY2Nl
c3MgdG8gUENNIHNhbXBsZSBkYXRhLiBOb24tY29uc3QgYWNjZXNzb3IgY2xlYXJzIHNpbGVudCBm
bGFnLgogICAgIGZsb2F0KiBtdXRhYmxlRGF0YSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2Eu
Y3BwCmluZGV4IDVkNTZiOWVlMWEwZDNkNjdhNzljMzA3NjFkMTM4MTVkN2MwNjQ0Y2UuLjViYzI0
ZTM3YmYxNmU2NThiNTViODFjNWIyNmJlZmU0MTViODU3MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2Nv
YS5jcHAKQEAgLTM0LDIxICszNCwzNiBAQAogCiAjaW5jbHVkZSAiQXVkaW9CdXMuaCIKICNpbmNs
dWRlICJBdWRpb0ZpbGVSZWFkZXIuaCIKKyNpbmNsdWRlICJBdWRpb1NhbXBsZURhdGFTb3VyY2Uu
aCIKKyNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkZsb2F0Q29udmVy
c2lvbi5oIgorI2luY2x1ZGUgIkluYmFuZFRleHRUcmFja1ByaXZhdGUuaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTYW1wbGVBVkZPYmpDLmgiCisjaW5jbHVkZSAiVmlk
ZW9UcmFja1ByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oIgor
I2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbnZlcnRlci5oPgogI2luY2x1ZGUgPEF1ZGlv
VG9vbGJveC9FeHRlbmRlZEF1ZGlvRmlsZS5oPgogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0Nv
cmVGb3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+
CisjaW5jbHVkZSA8U291cmNlQnVmZmVyUGFyc2VyV2ViTS5oPgorI2luY2x1ZGUgPGxpbWl0cz4K
ICNpbmNsdWRlIDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMuaD4KICNpbmNsdWRlIDx3dGYvRmFzdE1h
bGxvYy5oPgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4KKyNpbmNsdWRlIDx3dGYvU2NvcGUuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Cisj
aW5jbHVkZSA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CisjaW5jbHVkZSA8cGFsL2Nm
L0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIFdB
Uk5fVU5VU0VEX1JFVFVSTiBBdWRpb0J1ZmZlckxpc3QqIHRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlz
dChzaXplX3QgbnVtYmVyT2ZCdWZmZXJzKQogeworICAgIGlmICghbnVtYmVyT2ZCdWZmZXJzKQor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBDaGVja2VkU2l6ZSBidWZmZXJMaXN0U2l6ZSA9
IHNpemVvZihBdWRpb0J1ZmZlckxpc3QpIC0gc2l6ZW9mKEF1ZGlvQnVmZmVyKTsKLSAgICBidWZm
ZXJMaXN0U2l6ZSArPSBudW1iZXJPZkJ1ZmZlcnMgKiBzaXplb2YoQXVkaW9CdWZmZXIpOworICAg
IGJ1ZmZlckxpc3RTaXplICs9IFdURjo6Y2hlY2tlZFByb2R1Y3Q8c2l6ZV90PihudW1iZXJPZkJ1
ZmZlcnMsIHNpemVvZihBdWRpb0J1ZmZlcikpOwogICAgIGlmIChidWZmZXJMaXN0U2l6ZS5oYXNP
dmVyZmxvd2VkKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCkBAIC04NywxMCArMTAyLDg5
IEBAIHN0YXRpYyBib29sIHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KEF1ZGlvQnVmZmVyTGlzdCog
YnVmZmVyTGlzdCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorLy8gT24gc3RhY2sgUkFJSSBjbGFz
cyB0aGF0IHdpbGwgZnJlZSB0aGUgYWxsb2NhdGVkIEF1ZGlvQnVmZmVyTGlzdCBhcyBuZWVkZWQu
CitjbGFzcyBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgeworcHVibGljOgorICAgIGV4cGxpY2l0IEF1
ZGlvQnVmZmVyTGlzdEhvbGRlcihzaXplX3QgbnVtYmVyT2ZDaGFubmVscykKKyAgICAgICAgOiBt
X2J1ZmZlckxpc3QodHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpKQor
ICAgIHsKKyAgICB9CisKKyAgICB+QXVkaW9CdWZmZXJMaXN0SG9sZGVyKCkKKyAgICB7CisgICAg
ICAgIGlmIChtX2J1ZmZlckxpc3QpCisgICAgICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0
KG1fYnVmZmVyTGlzdCk7CisgICAgfQorCisgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNv
bnN0IHsgcmV0dXJuICEhbV9idWZmZXJMaXN0OyB9CisgICAgQXVkaW9CdWZmZXJMaXN0KiBvcGVy
YXRvci0+KCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXJMaXN0OyB9CisgICAgQXVkaW9CdWZmZXJM
aXN0KiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlckxpc3Q7IH0KKyAgICBib29s
IGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiB2YWxpZGF0ZUF1ZGlvQnVmZmVyTGlzdChtX2J1ZmZl
ckxpc3QpOyB9Citwcml2YXRlOgorICAgIEF1ZGlvQnVmZmVyTGlzdCogbV9idWZmZXJMaXN0Owor
fTsKKworc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBrT3B1c01heEZyYW1lTGVuZ3RoID0gOTQ7
CitzdGF0aWMgY29uc3RleHByIHVpbnQzMl90IGtWb3JiaXNNYXhGcmFtZUxlbmd0aCA9IDQwOTY7
CisKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKKworcHVibGljOgorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgU291cmNl
QnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25TZWdtZW50IG1faW5pdFNlZ21lbnQ7Cisj
ZW5kaWYKKyAgICBNZWRpYVRpbWUgbV9kdXJhdGlvbjsKKyAgICBWZWN0b3I8UmVmPE1lZGlhU2Ft
cGxlQVZGT2JqQz4+IG1fc2FtcGxlczsKK307CisKIEF1ZGlvRmlsZVJlYWRlcjo6QXVkaW9GaWxl
UmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkKICAgICA6IG1fZGF0YShk
YXRhKQogICAgICwgbV9kYXRhU2l6ZShkYXRhU2l6ZSkKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJM
RUQKKyAgICAsIG1fbG9nZ2VyKExvZ2dlcjo6Y3JlYXRlKHRoaXMpKQorICAgICwgbV9sb2dJZGVu
dGlmaWVyKExvZ2dlckhlbHBlcjo6dW5pcXVlTG9nSWRlbnRpZmllcigpKQorI2VuZGlmCiB7Cisj
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBpZiAoaXNNYXliZVdlYk0oc3RhdGljX2Nhc3Q8
Y29uc3QgdWludDhfdCo+KGRhdGEpLCBkYXRhU2l6ZSkpIHsKKyAgICAgICAgYXV0byBwYXJzZXIg
PSBhZG9wdFJlZihuZXcgU291cmNlQnVmZmVyUGFyc2VyV2ViTSgpKTsKKyAgICAgICAgYm9vbCBl
cnJvciA9IGZhbHNlOworICAgICAgICBzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiBhdWRpb1RyYWNr
SWQ7CisgICAgICAgIE1lZGlhVGltZSBkdXJhdGlvbjsKKyAgICAgICAgU291cmNlQnVmZmVyUGFy
c2VyV2ViTTo6SW5pdGlhbGl6YXRpb25TZWdtZW50IGluaXRTZWdtZW50OworICAgICAgICBWZWN0
b3I8UmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4+IHNhbXBsZXM7CisgICAgICAgIHBhcnNlci0+c2V0
RGlkRW5jb3VudGVyRXJyb3JEdXJpbmdQYXJzaW5nQ2FsbGJhY2soWyZdKHVpbnQ2NF90KSB7Cisg
ICAgICAgICAgICBlcnJvciA9IHRydWU7CisgICAgICAgIH0pOworICAgICAgICBwYXJzZXItPnNl
dERpZFBhcnNlSW5pdGlhbGl6YXRpb25EYXRhQ2FsbGJhY2soWyZdKFNvdXJjZUJ1ZmZlclBhcnNl
cldlYk06OkluaXRpYWxpemF0aW9uU2VnbWVudCYmIGluaXQpIHsKKyAgICAgICAgICAgIGZvciAo
YXV0byYgYXVkaW9UcmFjayA6IGluaXQuYXVkaW9UcmFja3MpIHsKKyAgICAgICAgICAgICAgICBp
ZiAoYXVkaW9UcmFjay50cmFjayAmJiBhdWRpb1RyYWNrLnRyYWNrLT50cmFja1VJRCgpKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uID0gaW5pdC5kdXJhdGlvbjsKKyAgICAgICAgICAg
ICAgICAgICAgYXVkaW9UcmFja0lkID0gYXVkaW9UcmFjay50cmFjay0+dHJhY2tVSUQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgaW5pdFNlZ21lbnQgPSBXVEZNb3ZlKGluaXQpOworICAgICAgICAg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAg
ICAgICB9KTsKKyAgICAgICAgcGFyc2VyLT5zZXREaWRQcm92aWRlTWVkaWFEYXRhQ2FsbGJhY2so
WyZdKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQsIGNvbnN0IFN0
cmluZyYpIHsKKyAgICAgICAgICAgIGlmICghYXVkaW9UcmFja0lkIHx8IHRyYWNrSUQgIT0gKmF1
ZGlvVHJhY2tJZCkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBzYW1wbGVz
LmFwcGVuZChzdGF0aWNfcmVmZXJlbmNlX2Nhc3Q8TWVkaWFTYW1wbGVBVkZPYmpDPihXVEZNb3Zl
KHNhbXBsZSkpKTsKKyAgICAgICAgfSk7CisgICAgICAgIHBhcnNlci0+c2V0Q2FsbE9uQ2xpZW50
VGhyZWFkQ2FsbGJhY2soW10oV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rpb24pIHsKKyAg
ICAgICAgICAgIGZ1bmN0aW9uKCk7CisgICAgICAgIH0pOworICAgICAgICBWZWN0b3I8dWludDhf
dD4gdmVjdG9yKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpOwor
ICAgICAgICBTb3VyY2VCdWZmZXJQYXJzZXI6OlNlZ21lbnQgc2VnbWVudChXVEZNb3ZlKHZlY3Rv
cikpOworICAgICAgICBwYXJzZXItPmFwcGVuZERhdGEoV1RGTW92ZShzZWdtZW50KSk7CisgICAg
ICAgIGlmIChhdWRpb1RyYWNrSWQpIHsKKyAgICAgICAgICAgIHBhcnNlci0+Zmx1c2hQZW5kaW5n
QXVkaW9CdWZmZXJzKCk7CisgICAgICAgICAgICBtX3dlYm1EYXRhID0gbWFrZVVuaXF1ZTxBdWRp
b0ZpbGVSZWFkZXJXZWJNRGF0YT4oQXVkaW9GaWxlUmVhZGVyV2ViTURhdGEgeyBXVEZNb3ZlKGlu
aXRTZWdtZW50KSwgV1RGTW92ZShkdXJhdGlvbiksIFdURk1vdmUoc2FtcGxlcykgfSk7CisgICAg
ICAgIH0KKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgogICAgIGlmIChQQUw6OkF1ZGlv
RmlsZU9wZW5XaXRoQ2FsbGJhY2tzKHRoaXMsIHJlYWRQcm9jLCAwLCBnZXRTaXplUHJvYywgMCwg
MCwgJm1fYXVkaW9GaWxlSUQpICE9IG5vRXJyKQogICAgICAgICByZXR1cm47CiAKQEAgLTExMSw2
ICsyMDUsMTIgQEAgQXVkaW9GaWxlUmVhZGVyOjp+QXVkaW9GaWxlUmVhZGVyKCkKICAgICBtX2F1
ZGlvRmlsZUlEID0gMDsKIH0KIAorYm9vbCBBdWRpb0ZpbGVSZWFkZXI6OmlzTWF5YmVXZWJNKGNv
bnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkgY29uc3QKK3sKKyAgICAvLyBGcm9t
IGh0dHBzOi8vbWltZXNuaWZmLnNwZWMud2hhdHdnLm9yZy8jc2lnbmF0dXJlLWZvci13ZWJtCisg
ICAgcmV0dXJuIGRhdGFTaXplID49IDQgJiYgZGF0YVswXSA9PSAweDFBICYmIGRhdGFbMV0gPT0g
MHg0NSAmJiBkYXRhWzJdID09IDB4REYgJiYgZGF0YVszXSA9PSAweEEzOworfQorCiBPU1N0YXR1
cyBBdWRpb0ZpbGVSZWFkZXI6OnJlYWRQcm9jKHZvaWQqIGNsaWVudERhdGEsIFNJbnQ2NCBwb3Np
dGlvbiwgVUludDMyIHJlcXVlc3RDb3VudCwgdm9pZCogYnVmZmVyLCBVSW50MzIqIGFjdHVhbENv
dW50KQogewogICAgIGF1dG8qIGF1ZGlvRmlsZVJlYWRlciA9IHN0YXRpY19jYXN0PEF1ZGlvRmls
ZVJlYWRlcio+KGNsaWVudERhdGEpOwpAQCAtMTM2LDY3ICsyMzYsMTcyIEBAIFNJbnQ2NCBBdWRp
b0ZpbGVSZWFkZXI6OmdldFNpemVQcm9jKHZvaWQqIGNsaWVudERhdGEpCiAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PEF1ZGlvRmlsZVJlYWRlcio+KGNsaWVudERhdGEpLT5kYXRhU2l6ZSgpOwogfQog
Ci1SZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBs
ZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQorc3RydWN0IFBhc3N0aHJvdWdoVXNlckRhdGEgeworICAg
IFVJbnQzMiBtX2NoYW5uZWxzOworICAgIFVJbnQzMiBtX2RhdGFTaXplOworICAgIGNvbnN0IHZv
aWQqIG1fZGF0YTsKKyAgICBVSW50MzIgbV9pbmRleDsKKyAgICBVSW50MzIgbV9udW1QYWNrZXRz
OworICAgIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24qIG1fcGFja2V0czsKK307CisKKy8v
IEVycm9yIHZhbHVlIHdlIHBhc3MgdGhyb3VnaCB0aGUgZGVjb2RlciB0byBzaWduYWwgdGhhdCBu
b3RoaW5nCisvLyBoYXMgZ29uZSB3cm9uZyBkdXJpbmcgZGVjb2RpbmcgYW5kIHdlJ3JlIGRvbmUg
cHJvY2Vzc2luZyB0aGUgcGFja2V0LgorY29uc3QgdWludDMyX3Qga05vTW9yZURhdGFFcnIgPSAn
TU9BUic7CisKK3N0YXRpYyBPU1N0YXR1cyBwYXNzdGhyb3VnaElucHV0RGF0YUNhbGxiYWNrKAor
ICAgIEF1ZGlvQ29udmVydGVyUmVmLCBVSW50MzIqIG51bURhdGFQYWNrZXRzLCBBdWRpb0J1ZmZl
ckxpc3QqIGRhdGEsIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24qKiBwYWNrZXREZXNjLCB2
b2lkKiBpblVzZXJEYXRhKQoreworICAgIFBhc3N0aHJvdWdoVXNlckRhdGEqIHVzZXJEYXRhID0g
KFBhc3N0aHJvdWdoVXNlckRhdGEqKWluVXNlckRhdGE7CisgICAgaWYgKHVzZXJEYXRhLT5tX2lu
ZGV4ID09IHVzZXJEYXRhLT5tX251bVBhY2tldHMpIHsKKyAgICAgICAgKm51bURhdGFQYWNrZXRz
ID0gMDsKKyAgICAgICAgcmV0dXJuIGtOb01vcmVEYXRhRXJyOworICAgIH0KKworICAgIGlmIChw
YWNrZXREZXNjKSB7CisgICAgICAgIGlmICh1c2VyRGF0YS0+bV9pbmRleCA+PSB1c2VyRGF0YS0+
bV9udW1QYWNrZXRzKSB7CisgICAgICAgICAgICAqbnVtRGF0YVBhY2tldHMgPSAwOworICAgICAg
ICAgICAgcmV0dXJuIGtBdWRpb0NvbnZlcnRlckVycl9SZXF1aXJlc1BhY2tldERlc2NyaXB0aW9u
c0Vycm9yOworICAgICAgICB9CisgICAgICAgICpwYWNrZXREZXNjID0gJnVzZXJEYXRhLT5tX3Bh
Y2tldHNbdXNlckRhdGEtPm1faW5kZXhdOworICAgIH0KKworICAgIGRhdGEtPm1CdWZmZXJzWzBd
Lm1OdW1iZXJDaGFubmVscyA9IHVzZXJEYXRhLT5tX2NoYW5uZWxzOworICAgIGRhdGEtPm1CdWZm
ZXJzWzBdLm1EYXRhQnl0ZVNpemUgPSB1c2VyRGF0YS0+bV9kYXRhU2l6ZTsKKyAgICBkYXRhLT5t
QnVmZmVyc1swXS5tRGF0YSA9IGNvbnN0X2Nhc3Q8dm9pZCo+KHVzZXJEYXRhLT5tX2RhdGEpOwor
CisgICAgKm51bURhdGFQYWNrZXRzID0gMTsKKyAgICB1c2VyRGF0YS0+bV9pbmRleCsrOworCisg
ICAgcmV0dXJuIG5vRXJyOworfQorCitzc2l6ZV90IEF1ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZG
cmFtZXMoKSBjb25zdAogeworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSAwOworCisg
ICAgaWYgKG1fd2VibURhdGEpIHsKKyAgICAgICAgaWYgKG1fd2VibURhdGEtPm1fc2FtcGxlcy5p
c0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgLy8gQ2FsY3VsYXRl
IHRoZSB0b3RhbCBudW1iZXIgb2YgZGVjb2RlZCBzYW1wbGVzIHRoYXQgd2VyZSBkZW11eGVkLgor
ICAgICAgICAvLyBUaGlzIGNvZGUgb25seSBoYW5kbGUgdGhlIENNU2FtcGxlQnVmZmVyIGFzIGdl
bmVyYXRlZCBieSB0aGUgU291cmNlQnVmZmVyUGFyc2VyV2ViTQorICAgICAgICAvLyB3aGVyZSBh
IEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zIGFycmF5IGlzIGFsd2F5cyBwcm92aWRlZCBl
dmVuIHdpdGgKKyAgICAgICAgLy8gQ29uc3RhbnQgYml0cmF0ZSBhbmQgY29uc3RhbnQgZnJhbWVz
LXBlci1wYWNrZXQgYXVkaW8uCisgICAgICAgIGZvciAoYXV0byYgc2FtcGxlIDogbV93ZWJtRGF0
YS0+bV9zYW1wbGVzKSB7CisgICAgICAgICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZm
ZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICAgICAgY29uc3QgQ01Gb3JtYXRE
ZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbiA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRG
b3JtYXREZXNjcmlwdGlvbihzYW1wbGVCdWZmZXIpOworICAgICAgICAgICAgaWYgKCFmb3JtYXRE
ZXNjcmlwdGlvbikKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBjb25z
dCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNNQXVkaW9G
b3JtYXREZXNjcmlwdGlvbkdldFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3JpcHRp
b24pOworICAgICAgICAgICAgaWYgKCFhc2JkKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsK
KworICAgICAgICAgICAgc2l6ZV90IHBhY2tldERlc2NyaXB0aW9uc1NpemU7CisgICAgICAgICAg
ICBpZiAoUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25z
KHNhbXBsZUJ1ZmZlciwgMCwgbnVsbHB0ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUpICE9IG5v
RXJyKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIHNpemVfdCBudW1E
ZXNjcmlwdGlvbnMgPSBwYWNrZXREZXNjcmlwdGlvbnNTaXplIC8gc2l6ZW9mKEF1ZGlvU3RyZWFt
UGFja2V0RGVzY3JpcHRpb24pOworICAgICAgICAgICAgaWYgKCFudW1EZXNjcmlwdGlvbnMpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgYXV0byBkZXNjcmlwdGlvbnMg
PSBXVEY6Om1ha2VVbmlxdWVBcnJheTxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPihudW1E
ZXNjcmlwdGlvbnMpOworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRBdWRp
b1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIHBhY2tldERlc2NyaXB0aW9u
c1NpemUsIGRlc2NyaXB0aW9ucy5nZXQoKSwgbnVsbHB0cikgIT0gbm9FcnIpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgQ01JdGVtQ291bnQgbnVtUGFja2V0cyA9IFBB
TDo6Q01TYW1wbGVCdWZmZXJHZXROdW1TYW1wbGVzKHNhbXBsZUJ1ZmZlcik7CisgICAgICAgICAg
ICBpZiAobnVtRGVzY3JpcHRpb25zICE9IHNpemVfdChudW1QYWNrZXRzKSkgeworICAgICAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5oYW5kbGVkIENNU2FtcGxlQnVm
ZmVyIHN0cnVjdHVyZSIpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtRGVzY3JpcHRpb25zOyBp
KyspIHsKKyAgICAgICAgICAgICAgICB1aW50MzJfdCBmcHAgPSBkZXNjcmlwdGlvbnNbaV0ubVZh
cmlhYmxlRnJhbWVzSW5QYWNrZXQgPyBkZXNjcmlwdGlvbnNbaV0ubVZhcmlhYmxlRnJhbWVzSW5Q
YWNrZXQgOiBhc2JkLT5tRnJhbWVzUGVyUGFja2V0OworICAgICAgICAgICAgICAgIG51bWJlck9m
RnJhbWVzSW42NCArPSBmcHA7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0
dXJuIG51bWJlck9mRnJhbWVzSW42NDsKKyAgICB9CisKICAgICBpZiAoIW1fZXh0QXVkaW9GaWxl
UmVmKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIC0xOwogCi0gICAg
Ly8gR2V0IGZpbGUncyBkYXRhIGZvcm1hdAotICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKG1fZmls
ZURhdGFGb3JtYXQpOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0
QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZzaXpl
LCAmbV9maWxlRGF0YUZvcm1hdCkgIT0gbm9FcnIpCi0gICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKG51bWJlck9mRnJhbWVzSW42NCk7CisgICAgaWYgKFBB
TDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0Zp
bGVQcm9wZXJ0eV9GaWxlTGVuZ3RoRnJhbWVzLCAmc2l6ZSwgJm51bWJlck9mRnJhbWVzSW42NCkg
IT0gbm9FcnIgfHwgbnVtYmVyT2ZGcmFtZXNJbjY0IDw9IDApCisgICAgICAgIHJldHVybiAtMTsK
IAotICAgIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzID0gbV9maWxlRGF0YUZvcm1hdC5tQ2hhbm5l
bHNQZXJGcmFtZTsKKyAgICByZXR1cm4gbnVtYmVyT2ZGcmFtZXNJbjY0OworfQogCi0gICAgLy8g
TnVtYmVyIG9mIGZyYW1lcwotICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lczY0ID0gMDsKLSAgICBz
aXplID0gc2l6ZW9mKG51bWJlck9mRnJhbWVzNjQpOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmls
ZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmls
ZUxlbmd0aEZyYW1lcywgJnNpemUsICZudW1iZXJPZkZyYW1lczY0KSAhPSBub0VyciB8fCBudW1i
ZXJPZkZyYW1lczY0IDw9IDApCi0gICAgICAgIHJldHVybiBudWxscHRyOworc3RkOjpvcHRpb25h
bDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+IEF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFG
b3JtYXQoKSBjb25zdAoreworICAgIGlmIChtX3dlYm1EYXRhKSB7CisgICAgICAgIGlmIChtX3dl
Ym1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKwor
ICAgICAgICBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0gUEFMOjpD
TVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKG1fd2VibURhdGEtPm1fc2FtcGxlc1sw
XS0+c2FtcGxlQnVmZmVyKCkpOworICAgICAgICBpZiAoIWZvcm1hdERlc2NyaXB0aW9uKQorICAg
ICAgICAgICAgcmV0dXJuIHsgfTsKKworICAgICAgICBjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVz
Y3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNNQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkdldFN0
cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3JpcHRpb24pOworICAgICAgICByZXR1cm4g
KmFzYmQ7CisgICAgfQogCi0gICAgZG91YmxlIGZpbGVTYW1wbGVSYXRlID0gbV9maWxlRGF0YUZv
cm1hdC5tU2FtcGxlUmF0ZTsKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gZm9ybWF0
OworICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKGZvcm1hdCk7CisgICAgaWYgKFBBTDo6RXh0QXVk
aW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0
eV9GaWxlRGF0YUZvcm1hdCwgJnNpemUsICZmb3JtYXQpICE9IG5vRXJyKQorICAgICAgICByZXR1
cm4geyB9OworICAgIHJldHVybiBmb3JtYXQ7Cit9CiAKK0F1ZGlvU3RyZWFtQmFzaWNEZXNjcmlw
dGlvbiBBdWRpb0ZpbGVSZWFkZXI6OmNsaWVudERhdGFGb3JtYXQoY29uc3QgQXVkaW9TdHJlYW1C
YXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwgZmxvYXQgc2FtcGxlUmF0ZSkgY29uc3QKK3sKICAg
ICAvLyBNYWtlIGNsaWVudCBmb3JtYXQgc2FtZSBudW1iZXIgb2YgY2hhbm5lbHMgYXMgZmlsZSBm
b3JtYXQsIGJ1dCB0d2VhayBhIGZldyB0aGluZ3MuCiAgICAgLy8gQ2xpZW50IGZvcm1hdCB3aWxs
IGJlIGxpbmVhciBQQ00gKGNhbm9uaWNhbCksIGFuZCBwb3RlbnRpYWxseSBjaGFuZ2Ugc2FtcGxl
LXJhdGUuCi0gICAgbV9jbGllbnREYXRhRm9ybWF0ID0gbV9maWxlRGF0YUZvcm1hdDsKKyAgICBB
dWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gb3V0Rm9ybWF0ID0gaW5Gb3JtYXQ7CiAKICAgICBj
b25zdCBpbnQgYnl0ZXNQZXJGbG9hdCA9IHNpemVvZihGbG9hdDMyKTsKICAgICBjb25zdCBpbnQg
Yml0c1BlckJ5dGUgPSA4OwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tRm9ybWF0SUQgPSBrQXVk
aW9Gb3JtYXRMaW5lYXJQQ007Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1Gb3JtYXRGbGFncyA9
IGtBdWRpb0Zvcm1hdEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQgfCBrQXVkaW9Gb3JtYXRGbGFnSXNO
b25JbnRlcmxlYXZlZDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJ5dGVzUGVyUGFja2V0ID0g
Ynl0ZXNQZXJGbG9hdDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUZyYW1lc1BlclBhY2tldCA9
IDE7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1CeXRlc1BlckZyYW1lID0gYnl0ZXNQZXJGbG9h
dDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUNoYW5uZWxzUGVyRnJhbWUgPSBudW1iZXJPZkNo
YW5uZWxzOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQml0c1BlckNoYW5uZWwgPSBiaXRzUGVy
Qnl0ZSAqIGJ5dGVzUGVyRmxvYXQ7CisgICAgb3V0Rm9ybWF0Lm1Gb3JtYXRJRCA9IGtBdWRpb0Zv
cm1hdExpbmVhclBDTTsKKyAgICBvdXRGb3JtYXQubUZvcm1hdEZsYWdzID0ga0F1ZGlvRm9ybWF0
RmxhZ3NOYXRpdmVGbG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1hdEZsYWdJc05vbkludGVybGVhdmVk
OworICAgIG91dEZvcm1hdC5tQnl0ZXNQZXJQYWNrZXQgPSBvdXRGb3JtYXQubUJ5dGVzUGVyRnJh
bWUgPSBieXRlc1BlckZsb2F0OworICAgIG91dEZvcm1hdC5tRnJhbWVzUGVyUGFja2V0ID0gMTsK
KyAgICBvdXRGb3JtYXQubUJpdHNQZXJDaGFubmVsID0gYml0c1BlckJ5dGUgKiBieXRlc1BlckZs
b2F0OwogCiAgICAgaWYgKHNhbXBsZVJhdGUpCi0gICAgICAgIG1fY2xpZW50RGF0YUZvcm1hdC5t
U2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7CisgICAgICAgIG91dEZvcm1hdC5tU2FtcGxlUmF0ZSA9
IHNhbXBsZVJhdGU7CisKKyAgICByZXR1cm4gb3V0Rm9ybWF0OworfQogCi0gICAgaWYgKFBBTDo6
RXh0QXVkaW9GaWxlU2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQ
cm9wZXJ0eV9DbGllbnREYXRhRm9ybWF0LCBzaXplb2YoQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0
aW9uKSwgJm1fY2xpZW50RGF0YUZvcm1hdCkgIT0gbm9FcnIpCitSZWZQdHI8QXVkaW9CdXM+IEF1
ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25v
KQoreworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSBudW1iZXJPZkZyYW1lcygpOwor
ICAgIGlmIChudW1iZXJPZkZyYW1lc0luNjQgPD0gMCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAKLSAgICAvLyBDaGFuZ2UgbnVtYmVyT2ZGcmFtZXM2NCB0byBkZXN0aW5hdGlvbiBzYW1wbGUt
cmF0ZQotICAgIG51bWJlck9mRnJhbWVzNjQgPSBudW1iZXJPZkZyYW1lczY0ICogKG1fY2xpZW50
RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVSYXRlKTsKLSAgICBzaXplX3QgbnVt
YmVyT2ZGcmFtZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51bWJlck9mRnJhbWVzNjQpOworICAg
IGF1dG8gaW5Gb3JtYXQgPSBmaWxlRGF0YUZvcm1hdCgpOworICAgIGlmICghaW5Gb3JtYXQpCisg
ICAgICAgIHJldHVybiBudWxscHRyOwogCisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9u
IG91dEZvcm1hdCA9IGNsaWVudERhdGFGb3JtYXQoKmluRm9ybWF0LCBzYW1wbGVSYXRlKTsKKyAg
ICBzaXplX3QgbnVtYmVyT2ZDaGFubmVscyA9IGluRm9ybWF0LT5tQ2hhbm5lbHNQZXJGcmFtZTsK
KyAgICBkb3VibGUgZmlsZVNhbXBsZVJhdGUgPSBpbkZvcm1hdC0+bVNhbXBsZVJhdGU7CisgICAg
U0ludDY0IG51bWJlck9mRnJhbWVzT3V0NjQgPSBudW1iZXJPZkZyYW1lc0luNjQgKiAob3V0Rm9y
bWF0Lm1TYW1wbGVSYXRlIC8gZmlsZVNhbXBsZVJhdGUpOworICAgIHNpemVfdCBudW1iZXJPZkZy
YW1lcyA9IHN0YXRpY19jYXN0PHNpemVfdD4obnVtYmVyT2ZGcmFtZXNPdXQ2NCk7CiAgICAgc2l6
ZV90IGJ1c0NoYW5uZWxDb3VudCA9IG1peFRvTW9ubyA/IDEgOiBudW1iZXJPZkNoYW5uZWxzOwog
CiAgICAgLy8gQ3JlYXRlIEF1ZGlvQnVzIHdoZXJlIHdlJ2xsIHB1dCB0aGUgUENNIGF1ZGlvIGRh
dGEKICAgICBhdXRvIGF1ZGlvQnVzID0gQXVkaW9CdXM6OmNyZWF0ZShidXNDaGFubmVsQ291bnQs
IG51bWJlck9mRnJhbWVzKTsKLSAgICBhdWRpb0J1cy0+c2V0U2FtcGxlUmF0ZShuYXJyb3dQcmVj
aXNpb25Ub0Zsb2F0KG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSkpOyAvLyBzYXZlIGZv
ciBsYXRlcgotCi0gICAgLy8gT25seSBhbGxvY2F0ZWQgaW4gdGhlIG1peFRvTW9ubyBjYXNlOyBk
ZWFsbG9jYXRlZCBvbiBkZXN0cnVjdGlvbi4KLSAgICBBdWRpb0Zsb2F0QXJyYXkgbGVmdENoYW5u
ZWw7Ci0gICAgQXVkaW9GbG9hdEFycmF5IHJpZ2h0Q2hhbm5lbDsKKyAgICBhdWRpb0J1cy0+c2V0
U2FtcGxlUmF0ZShuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KG91dEZvcm1hdC5tU2FtcGxlUmF0ZSkp
OyAvLyBzYXZlIGZvciBsYXRlcgogCi0gICAgQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0ID0g
dHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOworICAgIEF1ZGlvQnVm
ZmVyTGlzdEhvbGRlciBidWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmICghYnVm
ZmVyTGlzdCkgewogICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgInRyeUNyZWF0
ZUF1ZGlvQnVmZmVyTGlzdCglbGQpIHJldHVybmVkIG51bGwiLCBudW1iZXJPZkNoYW5uZWxzKTsK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogICAgIGNvbnN0IHNpemVfdCBidWZmZXJT
aXplID0gbnVtYmVyT2ZGcmFtZXMgKiBzaXplb2YoZmxvYXQpOwogCisgICAgLy8gT25seSBhbGxv
Y2F0ZWQgaW4gdGhlIG1peFRvTW9ubyBjYXNlOyBkZWFsbG9jYXRlZCBvbiBkZXN0cnVjdGlvbi4K
KyAgICBBdWRpb0Zsb2F0QXJyYXkgbGVmdENoYW5uZWw7CisgICAgQXVkaW9GbG9hdEFycmF5IHJp
Z2h0Q2hhbm5lbDsKKwogICAgIFJFTEVBU0VfQVNTRVJUKGJ1ZmZlckxpc3QtPm1OdW1iZXJCdWZm
ZXJzID09IG51bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmIChtaXhUb01vbm8gJiYgbnVtYmVyT2ZD
aGFubmVscyA9PSAyKSB7CiAgICAgICAgIGxlZnRDaGFubmVsLnJlc2l6ZShudW1iZXJPZkZyYW1l
cyk7CkBAIC0yMjIsMTggKzQyNyw4NyBAQCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRl
cjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQogICAgICAgICB9
CiAgICAgfQogCi0gICAgaWYgKCF2YWxpZGF0ZUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KSkg
eworICAgIGlmICghYnVmZmVyTGlzdC5pc1ZhbGlkKCkpIHsKICAgICAgICAgUkVMRUFTRV9MT0df
RkFVTFQoV2ViQXVkaW8sICJHZW5lcmF0ZWQgYnVmZmVyIGluIEF1ZGlvRmlsZVJlYWRlcjo6Y3Jl
YXRlQnVzKCkgZGlkIG5vdCBwYXNzIHZhbGlkYXRpb24iKTsKICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci0gICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7CiAg
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIC8vIFJlYWQgZnJvbSB0aGUgZmls
ZSAob3IgaW4tbWVtb3J5IHZlcnNpb24pCi0gICAgVUludDMyIGZyYW1lc1RvUmVhZCA9IG51bWJl
ck9mRnJhbWVzOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVJlYWQobV9leHRBdWRpb0ZpbGVS
ZWYsICZmcmFtZXNUb1JlYWQsIGJ1ZmZlckxpc3QpICE9IG5vRXJyKSB7Ci0gICAgICAgIGRlc3Ry
b3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIGlmIChtX3dlYm1EYXRhKSB7CisgICAgICAgIEF1ZGlvQ29udmVydGVyUmVmIGNvbnZlcnRl
cjsKKyAgICAgICAgaWYgKFBBTDo6QXVkaW9Db252ZXJ0ZXJOZXcoJippbkZvcm1hdCwgJm91dEZv
cm1hdCwgJmNvbnZlcnRlcikgIT0gbm9FcnIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICAgICAgYXV0byBjbGVhbnVwID0gbWFrZVNjb3BlRXhpdChbJl0geworICAgICAgICAgICAg
UEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bvc2UoY29udmVydGVyKTsKKyAgICAgICAgfSk7CisgICAg
ICAgIENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0RGVzY3JpcHRpb24gPSBQQUw6OkNNU2Ft
cGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24obV93ZWJtRGF0YS0+bV9zYW1wbGVzWzBdLT5z
YW1wbGVCdWZmZXIoKSk7CisgICAgICAgIHNpemVfdCBtYWdpY0Nvb2tpZVNpemUgPSAwOworICAg
ICAgICBjb25zdCB2b2lkKiBtYWdpY0Nvb2tpZSA9IFBBTDo6Q01BdWRpb0Zvcm1hdERlc2NyaXB0
aW9uR2V0TWFnaWNDb29raWUoZm9ybWF0RGVzY3JpcHRpb24sICZtYWdpY0Nvb2tpZVNpemUpOwor
ICAgICAgICBpZiAobWFnaWNDb29raWUgJiYgbWFnaWNDb29raWVTaXplKQorICAgICAgICAgICAg
UEFMOjpBdWRpb0NvbnZlcnRlclNldFByb3BlcnR5KGNvbnZlcnRlciwga0F1ZGlvQ29udmVydGVy
RGVjb21wcmVzc2lvbk1hZ2ljQ29va2llLCBtYWdpY0Nvb2tpZVNpemUsIG1hZ2ljQ29va2llKTsK
KworICAgICAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgZGVjb2RlZEJ1ZmZlckxpc3QobnVtYmVy
T2ZDaGFubmVscyk7CisgICAgICAgIGlmICghZGVjb2RlZEJ1ZmZlckxpc3QpCisgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBzaXplX3QgZGVjb2RlZEZyYW1lcyA9IDA7Cisg
ICAgICAgIE9TU3RhdHVzIHN0YXR1czsKKyAgICAgICAgZm9yIChhdXRvJiBzYW1wbGUgOiBtX3dl
Ym1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgICAgIENNU2FtcGxlQnVmZmVyUmVmIHNhbXBs
ZUJ1ZmZlciA9IHNhbXBsZS0+c2FtcGxlQnVmZmVyKCk7CisgICAgICAgICAgICBhdXRvIGJ1ZmZl
ciA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyKHNhbXBsZUJ1ZmZlcik7CisgICAg
ICAgICAgICBBU1NFUlQoUEFMOjpDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMoYnVmZmVy
LCAwLCAwKSk7CisgICAgICAgICAgICBpZiAoIVBBTDo6Q01CbG9ja0J1ZmZlcklzUmFuZ2VDb250
aWd1b3VzKGJ1ZmZlciwgMCwgMCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisK
KyAgICAgICAgICAgIHNpemVfdCBzcmNTaXplID0gUEFMOjpDTUJsb2NrQnVmZmVyR2V0RGF0YUxl
bmd0aChidWZmZXIpOworICAgICAgICAgICAgY2hhciogc3JjRGF0YSA9IG51bGxwdHI7CisgICAg
ICAgICAgICBpZiAoUEFMOjpDTUJsb2NrQnVmZmVyR2V0RGF0YVBvaW50ZXIoYnVmZmVyLCAwLCBu
dWxscHRyLCBudWxscHRyLCAmc3JjRGF0YSkgIT0gbm9FcnIpCisgICAgICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAgIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXpl
OworICAgICAgICAgICAgaWYgKFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tl
dERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIDAsIG51bGxwdHIsICZwYWNrZXREZXNjcmlwdGlv
bnNTaXplKSAhPSBub0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAg
ICAgICAgIHNpemVfdCBudW1EZXNjcmlwdGlvbnMgPSBwYWNrZXREZXNjcmlwdGlvbnNTaXplIC8g
c2l6ZW9mKEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24pOworICAgICAgICAgICAgaWYgKCFu
dW1EZXNjcmlwdGlvbnMpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAg
ICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IFdURjo6bWFrZVVuaXF1ZUFycmF5PEF1ZGlvU3RyZWFt
UGFja2V0RGVzY3JpcHRpb24+KG51bURlc2NyaXB0aW9ucyk7CisgICAgICAgICAgICBpZiAoUEFM
OjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1
ZmZlciwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3JpcHRpb25zLmdldCgpLCBudWxscHRy
KSAhPSBub0VycikKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAg
IFBhc3N0aHJvdWdoVXNlckRhdGEgdXNlckRhdGEgPSB7IFVJbnQzMihudW1iZXJPZkNoYW5uZWxz
KSwgVUludDMyKHNyY1NpemUpLCBzcmNEYXRhLCAwLCBVSW50MzIobnVtRGVzY3JpcHRpb25zKSwg
ZGVzY3JpcHRpb25zLmdldCgpIH07CisKKyAgICAgICAgICAgIGRvIHsKKyAgICAgICAgICAgICAg
ICBpZiAobnVtYmVyT2ZGcmFtZXMgPCBkZWNvZGVkRnJhbWVzKSB7CisgICAgICAgICAgICAgICAg
ICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiRGVjb2RlZCBtb3JlIGZyYW1lcyB0aGFu
IGZpcnN0IGNhbGN1bGF0ZWQiKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIC8vIGluOiB0aGUgbWF4IG51bWJl
ciBvZiBwYWNrZXRzIHdlIGNhbiBoYW5kbGUgZnJvbSB0aGUgZGVjb2Rlci4KKyAgICAgICAgICAg
ICAgICAvLyBvdXQ6IHRoZSBudW1iZXIgb2YgcGFja2V0cyB0aGUgZGVjb2RlciBpcyBhY3R1YWxs
eSByZXR1cm5pbmcuCisgICAgICAgICAgICAgICAgVUludDMyIG51bUZyYW1lcyA9IHN0ZDo6bWlu
PHVpbnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptYXgoKSAvIHNpemVvZihm
bG9hdCksIG51bWJlck9mRnJhbWVzIC0gZGVjb2RlZEZyYW1lcyk7CisKKyAgICAgICAgICAgICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bWJlck9mQ2hhbm5lbHM7IGkrKykgeworICAgICAg
ICAgICAgICAgICAgICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubU51bWJlckNoYW5u
ZWxzID0gMTsKKyAgICAgICAgICAgICAgICAgICAgZGVjb2RlZEJ1ZmZlckxpc3QtPm1CdWZmZXJz
W2ldLm1EYXRhQnl0ZVNpemUgPSBudW1GcmFtZXMgKiBzaXplb2YoZmxvYXQpOworICAgICAgICAg
ICAgICAgICAgICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGEgPSBzdGF0aWNf
Y2FzdDxmbG9hdCo+KGJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1EYXRhKSArIGRlY29kZWRGcmFt
ZXM7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHN0YXR1cyA9IFBBTDo6QXVk
aW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlcihjb252ZXJ0ZXIsIHBhc3N0aHJvdWdoSW5wdXRE
YXRhQ2FsbGJhY2ssICZ1c2VyRGF0YSwgJm51bUZyYW1lcywgKmRlY29kZWRCdWZmZXJMaXN0LCBu
dWxscHRyKTsKKyAgICAgICAgICAgICAgICBpZiAoc3RhdHVzICYmIHN0YXR1cyAhPSBrTm9Nb3Jl
RGF0YUVycikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAg
ICAgICAgZGVjb2RlZEZyYW1lcyArPSBudW1GcmFtZXM7CisgICAgICAgICAgICB9IHdoaWxlIChz
dGF0dXMgIT0ga05vTW9yZURhdGFFcnIpOworICAgICAgICB9CisKKyAgICAgICAgLy8gVGhlIGFj
dHVhbCBkZWNvZGVkIG51bWJlciBvZiBmcmFtZXMgbWF5IG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9m
IGZyYW1lcyBjYWxjdWxhdGVkCisgICAgICAgIC8vIHdoaWxlIGRlbXV4aW5nLiBJdCB3aWxsIGFs
d2F5cyBiZSBsb3dlci4KKyAgICAgICAgYXVkaW9CdXMtPnNldExlbmd0aChkZWNvZGVkRnJhbWVz
KTsKKyAgICAgICAgbnVtYmVyT2ZGcmFtZXMgPSBkZWNvZGVkRnJhbWVzOworICAgIH0gZWxzZSB7
CisgICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxl
UmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0YUZvcm1hdCwgc2l6ZW9mKEF1ZGlv
U3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksICZvdXRGb3JtYXQpICE9IG5vRXJyKQorICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgLy8gUmVhZCBmcm9tIHRoZSBmaWxlIChvciBp
bi1tZW1vcnkgdmVyc2lvbikKKyAgICAgICAgVUludDMyIGZyYW1lc1RvUmVhZCA9IG51bWJlck9m
RnJhbWVzOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVSZWFkKG1fZXh0QXVkaW9GaWxl
UmVmLCAmZnJhbWVzVG9SZWFkLCAqYnVmZmVyTGlzdCkgIT0gbm9FcnIpCisgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAobWl4VG9Nb25vICYmIG51bWJlck9mQ2hh
bm5lbHMgPT0gMikgewpAQCAtMjQzLDkgKzUxNyw2IEBAIFJlZlB0cjxBdWRpb0J1cz4gQXVkaW9G
aWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCiAg
ICAgICAgICAgICBkZXN0TFtpXSA9IDAuNWYgKiAobGVmdENoYW5uZWxbaV0gKyByaWdodENoYW5u
ZWxbaV0pOwogICAgIH0KIAotICAgIC8vIENsZWFudXAKLSAgICBkZXN0cm95QXVkaW9CdWZmZXJM
aXN0KGJ1ZmZlckxpc3QpOwotCiAgICAgcmV0dXJuIGF1ZGlvQnVzOwogfQogCkBAIC0yNTUsNiAr
NTI2LDEzIEBAIFJlZlB0cjxBdWRpb0J1cz4gY3JlYXRlQnVzRnJvbUluTWVtb3J5QXVkaW9GaWxl
KGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6CiAgICAgcmV0dXJuIHJlYWRlci5jcmVh
dGVCdXMoc2FtcGxlUmF0ZSwgbWl4VG9Nb25vKTsKIH0KIAorI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorV1RGTG9nQ2hhbm5lbCYgQXVkaW9GaWxlUmVhZGVyOjpsb2dDaGFubmVsKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gTG9nTWVkaWE7Cit9CisjZW5kaWYKKwogfSAvLyBXZWJDb3JlCiAKICNl
bmRpZiAvLyBFTkFCTEUoV0VCX0FVRElPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmgKaW5kZXggMGJiYmJh
Mjc4NTdkOTc5ZWNjNjg4Zjg3ZjAzMzlmNjY1ZWY0MjUyOS4uZjYxNzMzNzllMDEzNGExZGE1YjM4
MjM4ZWQzOGE1YWEyMmM5ZDkzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oCkBAIC0zMiw2ICszMiw4
IEBACiAjaWYgRU5BQkxFKFdFQl9BVURJTykKIAogI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVk
aW9UeXBlcy5oPgorI2luY2x1ZGUgPG9wdGlvbmFsPgorI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxw
ZXIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIHVzaW5nIEV4dEF1ZGlvRmlsZVJlZiA9
IHN0cnVjdCBPcGFxdWVFeHRBdWRpb0ZpbGUqOwpAQCAtNDAsMTIgKzQyLDE4IEBAIHVzaW5nIEF1
ZGlvRmlsZUlEID0gc3RydWN0IE9wYXF1ZUF1ZGlvRmlsZUlEKjsKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgQXVkaW9CdXM7CitjbGFzcyBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOworY2xh
c3MgQXVkaW9GaWxlUmVhZGVyV2ViTURhdGE7CiAKIC8vIFdyYXBwZXIgY2xhc3MgZm9yIEF1ZGlv
RmlsZSBhbmQgRXh0QXVkaW9GaWxlIENvcmVBdWRpbyBBUElzIGZvciByZWFkaW5nIGZpbGVzIGFu
ZCBpbi1tZW1vcnkgdmVyc2lvbnMgb2YgdGhlbS4uLgogCi1jbGFzcyBBdWRpb0ZpbGVSZWFkZXIg
eworY2xhc3MgQXVkaW9GaWxlUmVhZGVyCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAg
OiBwdWJsaWMgTG9nZ2VySGVscGVyCisjZW5kaWYKK3sKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBB
dWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKTsKKyAgICBB
dWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKTsKICAgICB+
QXVkaW9GaWxlUmVhZGVyKCk7CiAKICAgICBSZWZQdHI8QXVkaW9CdXM+IGNyZWF0ZUJ1cyhmbG9h
dCBzYW1wbGVSYXRlLCBib29sIG1peFRvTW9ubyk7IC8vIFJldHVybnMgbnVsbHB0ciBvbiBlcnJv
cgpAQCAtNTMsOSArNjEsMjAgQEAgcHVibGljOgogICAgIGNvbnN0IHZvaWQqIGRhdGEoKSBjb25z
dCB7IHJldHVybiBtX2RhdGE7IH0KICAgICBzaXplX3QgZGF0YVNpemUoKSBjb25zdCB7IHJldHVy
biBtX2RhdGFTaXplOyB9CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBjb25zdCBM
b2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9Cisg
ICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9n
SWRlbnRpZmllcjsgfQorICAgIFdURkxvZ0NoYW5uZWwmIGxvZ0NoYW5uZWwoKSBjb25zdCBmaW5h
bDsKKyAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAi
QXVkaW9GaWxlUmVhZGVyQ29jb2EiOyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBzdGF0aWMg
T1NTdGF0dXMgcmVhZFByb2Modm9pZCogY2xpZW50RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBVSW50
MzIgcmVxdWVzdENvdW50LCB2b2lkKiBidWZmZXIsIFVJbnQzMiogYWN0dWFsQ291bnQpOwogICAg
IHN0YXRpYyBTSW50NjQgZ2V0U2l6ZVByb2Modm9pZCogY2xpZW50RGF0YSk7CisgICAgYm9vbCBp
c01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUpIGNvbnN0Owor
ICAgIHNzaXplX3QgbnVtYmVyT2ZGcmFtZXMoKSBjb25zdDsKKyAgICBzdGQ6Om9wdGlvbmFsPEF1
ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gZmlsZURhdGFGb3JtYXQoKSBjb25zdDsKKyAgICBB
dWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gY2xpZW50RGF0YUZvcm1hdChjb25zdCBBdWRpb1N0
cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9ybWF0LCBmbG9hdCBzYW1wbGVSYXRlKSBjb25zdDsK
IAogICAgIGNvbnN0IHZvaWQqIG1fZGF0YSA9IHsgbnVsbHB0ciB9OwogICAgIHNpemVfdCBtX2Rh
dGFTaXplID0geyAwIH07CkBAIC02Myw4ICs4MiwxMyBAQCBwcml2YXRlOgogICAgIEF1ZGlvRmls
ZUlEIG1fYXVkaW9GaWxlSUQgPSB7IG51bGxwdHIgfTsKICAgICBFeHRBdWRpb0ZpbGVSZWYgbV9l
eHRBdWRpb0ZpbGVSZWYgPSB7IG51bGxwdHIgfTsKIAotICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNj
cmlwdGlvbiBtX2ZpbGVEYXRhRm9ybWF0OwotICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlv
biBtX2NsaWVudERhdGFGb3JtYXQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvRmlsZVJlYWRl
cldlYk1EYXRhPiBtX3dlYm1EYXRhOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAg
Y29uc3QgUmVmPExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlm
aWVyOworI2VuZGlmCisKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKaW5kZXggYTFlNzFi
ZDUyMjMyMjQyNTcxNmM2YjllNWFjZWQwNmU1NTgyOTMzYS4uNmFlM2I1Y2QxZjJlZmQ2MjM5ZmIz
NGQwMTNhNTg3NzZmNDE4YzZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKQEAgLTMzLDcgKzMz
LDYgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3BhcXVlQ01Gb3Jt
YXREZXNjcmlwdGlvbiAqQ01Gb3JtYXREZXNjcmlwdGlvblJlZjsKIHR5cGVkZWYgc3RydWN0IG9w
YXF1ZUNNU2FtcGxlQnVmZmVyICpDTVNhbXBsZUJ1ZmZlclJlZjsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9TYW1wbGVEYXRhU291cmNlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCmluZGV4IGQyYjVhYzQ1ZjMwZmQ0YTNhZjUxYjQy
MGRlMzc2NDliMTE1MWMyMjcuLjcwZGMyNDg0YTVlZDY2ODg5ZmNhMzNlZTI5MWVjMTA2YTVmOWY5
YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
U2FtcGxlRGF0YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KQEAgLTM5LDYgKzM5LDcgQEAKICNpbXBvcnQg
PHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KIAorI2lt
cG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CiAjaW1wb3J0IDxwYWwvY2YvQ29y
ZU1lZGlhU29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjcsNyArNjgsNyBA
QCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OkF1ZGlvU2FtcGxlRGF0YVNvdXJjZShzaXplX3QgbWF4
aW11bVNhbXBsZUNvdW50LCBMb2dnZXJIZQogQXVkaW9TYW1wbGVEYXRhU291cmNlOjp+QXVkaW9T
YW1wbGVEYXRhU291cmNlKCkKIHsKICAgICBpZiAobV9jb252ZXJ0ZXIpCi0gICAgICAgIEF1ZGlv
Q29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CisgICAgICAgIFBBTDo6QXVkaW9Db252ZXJ0
ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKIH0KIAogT1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRhU291
cmNlOjpzZXR1cENvbnZlcnRlcigpCkBAIC03NSwxNCArNzYsMTQgQEAgT1NTdGF0dXMgQXVkaW9T
YW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCiAgICAgQVNTRVJUKG1faW5wdXREZXNj
cmlwdGlvbiAmJiBtX291dHB1dERlc2NyaXB0aW9uKTsKIAogICAgIGlmIChtX2NvbnZlcnRlcikg
ewotICAgICAgICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOworICAgICAgICBQ
QUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CiAgICAgICAgIG1fY29udmVy
dGVyID0gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAoKm1faW5wdXREZXNjcmlwdGlvbiA9PSAq
bV9vdXRwdXREZXNjcmlwdGlvbikKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBPU1N0YXR1cyBl
cnIgPSBBdWRpb0NvbnZlcnRlck5ldygmbV9pbnB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlw
dGlvbigpLCAmbV9vdXRwdXREZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fY29u
dmVydGVyKTsKKyAgICBPU1N0YXR1cyBlcnIgPSBQQUw6OkF1ZGlvQ29udmVydGVyTmV3KCZtX2lu
cHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0aW9uKCksICZtX291dHB1dERlc2NyaXB0aW9u
LT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9jb252ZXJ0ZXIpOwogICAgIGlmIChlcnIpIHsKICAg
ICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZlB0cigqdGhpcyksIGVycl0gewogICAgICAgICAgICAgRVJST1JfTE9HKCJBdWRpb0NvbnZl
cnRlck5ldyByZXR1cm5lZCBlcnJvciAiLCBlcnIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tCmluZGV4IGUz
ZDZmYWM3MDQzNjk2ZmM3ZWUyYTkyMTVkYjIxYThmN2RmODI1YTUuLmEzMmRmNjIwNDhkMzJkN2Ix
MzRkYmY1NmRhMDA3YjcwZWMyNDczZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW0KQEAgLTI4LDYgKzI4
LDcgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKSAmJiBQTEFURk9STShNQUMpCiAKKyNpbXBvcnQg
IkdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLmgiCiAjaW1wb3J0ICJHYW1lcGFkUHJvdmlk
ZXJDbGllbnQuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIlBsYXRmb3JtR2FtZXBh
ZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQ
cml2YXRlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1By
aXZhdGVCYXNlLmNwcAppbmRleCA0ZDhlZTYyZTAxYjhlYWViYWNjNmQyOGIzYTA5ODUyOTUyYzVk
ODBhLi5jMDY2YzJkNDg3OTdhNGFhYjNiOWJlMmEwZWRkNGQ4MzhiNGJmNWMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNw
cApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShWSURFTykKIAogI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKLSNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaAppbmRleCBk
MDNjZGM4ZGQ2MjU0MTYwOTlhNTM3MTM1ZWUxMWVjOTEwNzM2YTAyLi41NDVmMGJlMWM1MGNiZmU0
MTcwMTgwMzU2Zjg4Y2UzYzU1MmM4NmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNhbXBsZUFWRk9iakMuaApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFBpeGVsQnVmZmVyOwogCi1jbGFzcyBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFW
Rk9iakMgOiBwdWJsaWMgTWVkaWFTYW1wbGUgeworY2xhc3MgTWVkaWFTYW1wbGVBVkZPYmpDIDog
cHVibGljIE1lZGlhU2FtcGxlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxl
QVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJ
RCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0cmFj
a0lEKSk7IH0KICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2Ft
cGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lEKSB7IHJldHVybiBhZG9wdFJl
ZigqbmV3IE1lZGlhU2FtcGxlQVZGT2JqQyhzYW1wbGUsIHRyYWNrSUQpKTsgfQpAQCAtNDQsNyAr
NDQsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0QXNEaXNw
bGF5SW1tZWRpYXRlbHkoTWVkaWFTYW1wbGUmKTsKICAgICBzdGF0aWMgUmV0YWluUHRyPENNU2Ft
cGxlQnVmZmVyUmVmPiBjbG9uZVNhbXBsZUJ1ZmZlckFuZFNldEFzRGlzcGxheUltbWVkaWF0ZWx5
KENNU2FtcGxlQnVmZmVyUmVmKTsKIAotICAgIFJlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5
PiBnZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQg
UmVmUHRyPEpTQzo6VWludDhDbGFtcGVkQXJyYXk+IGdldFJHQkFJbWFnZURhdGEoKSBjb25zdCBv
dmVycmlkZTsKIAogICAgIE1lZGlhVGltZSBwcmVzZW50YXRpb25UaW1lKCkgY29uc3Qgb3ZlcnJp
ZGU7CiAgICAgTWVkaWFUaW1lIGRlY29kZVRpbWUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTU5LDE2
ICs1OSwxNiBAQCBwdWJsaWM6CiAgICAgU2FtcGxlRmxhZ3MgZmxhZ3MoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBsZSgpIG92ZXJyaWRlOwogICAgIHN0
ZDo6b3B0aW9uYWw8Qnl0ZVJhbmdlPiBieXRlUmFuZ2UoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2
b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIG9mZnNl
dFRpbWVzdGFtcHNCeShjb25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFRp
bWVzdGFtcHMoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7Ci0g
ICAgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHN0ZDo6cGFpcjxSZWZQ
dHI8TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBkaXZpZGUoY29uc3QgTWVkaWFU
aW1lJiBwcmVzZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBvdmVycmlkZTsKLSAgICBSZWY8TWVk
aWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
V0VCQ09SRV9FWFBPUlQgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIFdF
QkNPUkVfRVhQT1JUIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVkaWFT
YW1wbGU+PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVzZW50YXRpb25UaW1lLCBVc2VFbmRU
aW1lKSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0
ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBWaWRlb1JvdGF0aW9u
IHZpZGVvUm90YXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3JvdGF0aW9uOyB9CiAg
ICAgYm9vbCB2aWRlb01pcnJvcmVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9taXJyb3Jl
ZDsgfQotICAgIHVpbnQzMl90IHZpZGVvUGl4ZWxGb3JtYXQoKSBjb25zdCBmaW5hbDsKKyAgICBX
RUJDT1JFX0VYUE9SVCB1aW50MzJfdCB2aWRlb1BpeGVsRm9ybWF0KCkgY29uc3QgZmluYWw7CiAK
ICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIoKSBjb25zdCB7IHJldHVybiBtX3Nh
bXBsZS5nZXQoKTsgfQogCkBAIC03OCwzNCArNzgsMTUgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
Qnl0ZVJhbmdlT2Zmc2V0KHNpemVfdCk7CiAKIHByb3RlY3RlZDoKLSAgICBNZWRpYVNhbXBsZUFW
Rk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmIHNhbXBsZSkKLSAgICAgICAgOiBt
X3NhbXBsZShXVEZNb3ZlKHNhbXBsZSkpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFW
Rk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBs
ZSkKLSAgICB7Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJl
ZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUp
Ci0gICAgICAgICwgbV9pZCh0cmFja0lEKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFTYW1wbGVB
VkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCkKLSAgICAg
ICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9pZChBdG9tU3RyaW5nOjpudW1iZXIo
dHJhY2tJRCkpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVC
dWZmZXJSZWYgc2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJvdGF0aW9uLCBib29sIG1pcnJvcmVkKQot
ICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAgICAgLCBtX3JvdGF0aW9uKHJvdGF0aW9u
KQotICAgICAgICAsIG1fbWlycm9yZWQobWlycm9yZWQpCi0gICAgewotICAgIH0KKyAgICBXRUJD
T1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVm
PiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZm
ZXJSZWYpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1
ZmZlclJlZiwgQXRvbVN0cmluZyB0cmFja0lEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNh
bXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYsIHVpbnQ2NF90IHRyYWNrSUQpOworICAgIFdF
QkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiwgVmlkZW9S
b3RhdGlvbiwgYm9vbCBtaXJyb3JlZCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+TWVk
aWFTYW1wbGVBVkZPYmpDKCk7CiAKICAgICBzdGQ6Om9wdGlvbmFsPE1lZGlhU2FtcGxlOjpCeXRl
UmFuZ2U+IGJ5dGVSYW5nZUZvckF0dGFjaG1lbnQoQ0ZTdHJpbmdSZWYga2V5KSBjb25zdDsKIAot
ICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlQVZGT2JqQygpID0gZGVmYXVsdDsKICAgICBSZXRhaW5Q
dHI8Q01TYW1wbGVCdWZmZXJSZWY+IG1fc2FtcGxlOwogICAgIEF0b21TdHJpbmcgbV9pZDsKICAg
ICBWaWRlb1JvdGF0aW9uIG1fcm90YXRpb24geyBWaWRlb1JvdGF0aW9uOjpOb25lIH07CkBAIC0x
MTMsNCArOTQsMyBAQCBwcm90ZWN0ZWQ6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQppbmRleCBjMGYx
M2Q2ZWE1Yzk3NTc2N2NlOGY2MmFiNjg0MmQ3ZDZmMGZiYjZiLi5jZjNjMzQxMGEzOGFkZWM0OTU3
Yzk3MTQyYjMyNDIyNGQ1YWZkODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFT
YW1wbGVBVkZPYmpDLm1tCkBAIC00NSw2ICs0NSwzMyBAQCBzdHJ1Y3QgV1RGOjpDRlR5cGVUcmFp
dDxDTVNhbXBsZUJ1ZmZlclJlZj4gewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK01lZGlhU2Ft
cGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJl
Zj4mJiBzYW1wbGUpCisgICAgOiBtX3NhbXBsZShXVEZNb3ZlKHNhbXBsZSkpCit7Cit9CitNZWRp
YVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1w
bGUpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1l
ZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJh
Y2tJRCkKKyAgICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1faWQodHJhY2tJRCkKK3sKK30K
K01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVm
IHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCkKKyAgICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAs
IG1faWQoQXRvbVN0cmluZzo6bnVtYmVyKHRyYWNrSUQpKQoreworfQorTWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBWaWRlb1Jv
dGF0aW9uIHJvdGF0aW9uLCBib29sIG1pcnJvcmVkKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQor
ICAgICwgbV9yb3RhdGlvbihyb3RhdGlvbikKKyAgICAsIG1fbWlycm9yZWQobWlycm9yZWQpCit7
Cit9CisKK01lZGlhU2FtcGxlQVZGT2JqQzo6fk1lZGlhU2FtcGxlQVZGT2JqQygpID0gZGVmYXVs
dDsKKwogUmVmUHRyPE1lZGlhU2FtcGxlQVZGT2JqQz4gTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVh
dGVJbWFnZVNhbXBsZShQaXhlbEJ1ZmZlciYmIHBpeGVsQnVmZmVyKQogewogICAgIGF1dG8gc2l6
ZSA9IHBpeGVsQnVmZmVyLnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vz
c2lvbi5tbQppbmRleCA4ZWVmM2IyZWE2MDRiZDE5ODNkNzdkMzhiZjUyMWE4ZDIxZjIwZWQwLi5k
MWM4NDQ4ODM2NzQwZmRiNzVjNDBhYzkzZjdkZDA5ZDc4ZjAzMDAwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNl
c3Npb24ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2Vi
Q29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCkBAIC0zMSwxMCArMzEsMTAgQEAKICNpbXBvcnQg
PENvcmVNZWRpYS9DTUJ1ZmZlclF1ZXVlLmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXRE
ZXNjcmlwdGlvbi5oPgogI2ltcG9ydCA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5k
YXRpb24uaD4KLSNpbXBvcnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogI2ltcG9ydCA8
d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9NZWRpYVRpbWUuaD4KICNpbXBvcnQgPHd0
Zi9Nb25vdG9uaWNUaW1lLmg+CisjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3Rm
L1N0cmluZ1ByaW50U3RyZWFtLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1wb3J0IDx3
dGYvV1RGU2VtYXBob3JlLmg+CkBAIC00Miw2ICs0Miw3IEBACiAKICNpbXBvcnQgIkNvcmVWaWRl
b1NvZnRMaW5rLmgiCiAjaW1wb3J0ICJWaWRlb1Rvb2xib3hTb2Z0TGluay5oIgorI2ltcG9ydCA8
cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIC8vIEVxdWl2YWxlbnQgdG8gV1RGX0RFQ0xB
UkVfQ0ZfVFlQRV9UUkFJVChDTVNhbXBsZUJ1ZmZlcik7CiAvLyBOZWVkZWQgZHVlIHRvIHJlcXVp
cmVtZW50IG9mIHNwZWNpZnlpbmcgdGhlIFBBTCBuYW1lc3BhY2UuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2Nv
YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRp
bGl0aWVzQ29jb2EuaAppbmRleCBmZWNlODEyOWJkN2Y3ZmRlZDZhODA0YmE1MmY3OTUyNjFmZTY1
ZDMwLi44NzEwNGQ4YjdiMzU3YzE2MGI2ZGNjYzQxYmZlMWY4OWUwYTZjMjcxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRp
ZXNDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dl
Yk1BdWRpb1V0aWxpdGllc0NvY29hLmgKQEAgLTM0LDcgKzM0LDggQEAgdHlwZWRlZiBjb25zdCBz
dHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlwdGlvbiogQ01Gb3JtYXREZXNjcmlwdGlvblJlZjsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIGlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSgp
OworV0VCQ09SRV9FWFBPUlQgYm9vbCBpc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNP
UkVfRVhQT1JUIGJvb2wgcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKIFJldGFpblB0
cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVWb3JiaXNBdWRpb0Zvcm1hdERlc2NyaXB0
aW9uKHNpemVfdCwgY29uc3Qgdm9pZCopOwogCiBzdHJ1Y3QgT3B1c0Nvb2tpZUNvbnRlbnRzIHsK
QEAgLTUyLDcgKzUzLDggQEAgc3RydWN0IE9wdXNDb29raWVDb250ZW50cyB7CiAgICAgYm9vbCBo
YXNQYWRkaW5nIHsgZmFsc2UgfTsKIH07CiAKLWJvb2wgaXNPcHVzRGVjb2RlckF2YWlsYWJsZSgp
OworV0VCQ09SRV9FWFBPUlQgYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JF
X0VYUE9SVCBib29sIHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOwogYm9vbCBwYXJzZU9w
dXNQcml2YXRlRGF0YShzaXplX3QgcHJpdmF0ZURhdGFTaXplLCBjb25zdCB2b2lkKiBwcml2YXRl
RGF0YSwgc2l6ZV90IGZyYW1lRGF0YVNpemUsIGNvbnN0IHZvaWQqIGZyYW1lRGF0YSwgT3B1c0Nv
b2tpZUNvbnRlbnRzJik7CiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRl
T3B1c0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1B
dWRpb1V0aWxpdGllc0NvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0KaW5kZXggMDZiZDQ4YWUwZDNkNjkxMjUw
YjhhMjc1N2QwMjU2ZDQ0ODU5ZmNjNC4uMGUxZWIxYjc5OGEzYzdlYTY3ZWFiNzViYTM2ZTU4NWFk
ZDhjMTBhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0KQEAgLTMyLDIyICsz
MiwyOCBAQAogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTWVkaWFVdGlsaXRpZXMuaCIK
ICNpbXBvcnQgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgorI2ltcG9ydCA8QXVkaW9U
b29sYm94L0F1ZGlvQ29kZWMuaD4KICNpbXBvcnQgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbXBvbmVu
dC5oPgogI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvRm9ybWF0Lmg+CiAjaW1wb3J0IDxDb3Jl
TWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlvbi5oPgogI2ltcG9ydCA8ZGxmY24uaD4KICNpbXBvcnQg
PHd0Zi9GbGlwQnl0ZXMuaD4KICNpbXBvcnQgPHd0Zi9TZWNvbmRzLmg+Ci0KICNpZiBFTkFCTEUo
T1BVUykKICNpbXBvcnQgPGxpYndlYnJ0Yy9vcHVzX2RlZmluZXMuaD4KICNlbmRpZgorI2ltcG9y
dCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogI2lmIEVOQUJMRShWT1JCSVMpIHx8IEVOQUJMRShPUFVTKQogc3RhdGljIGJvb2wgcmVnaXN0
ZXJEZWNvZGVyRmFjdG9yeShjb25zdCBjaGFyKiBkZWNvZGVyTmFtZSwgT1NUeXBlIGRlY29kZXJU
eXBlKQogeworICAgIEF1ZGlvQ29tcG9uZW50RGVzY3JpcHRpb24gZGVzYyB7IGtBdWRpb0RlY29k
ZXJDb21wb25lbnRUeXBlLCBkZWNvZGVyVHlwZSwgJ2FwcGwnLCBrQXVkaW9Db21wb25lbnRGbGFn
X1NhbmRib3hTYWZlLCAwIH07CisgICAgQXVkaW9Db21wb25lbnQgY29tcCA9IFBBTDo6QXVkaW9D
b21wb25lbnRGaW5kTmV4dCgwLCAmZGVzYyk7CisgICAgaWYgKGNvbXApCisgICAgICAgIHJldHVy
biB0cnVlOyAvLyBBbHJlYWR5IHJlZ2lzdGVyZWQuCisKICAgICBjb25zdGV4cHIgY2hhciBhdWRp
b0NvbXBvbmVudHNEeWxpYltdID0gIi9TeXN0ZW0vTGlicmFyeS9Db21wb25lbnRzL0F1ZGlvQ29k
ZWNzLmNvbXBvbmVudC9Db250ZW50cy9NYWNPUy9BdWRpb0NvZGVjcyI7CiAgICAgdm9pZCAqaGFu
ZGxlID0gZGxvcGVuKGF1ZGlvQ29tcG9uZW50c0R5bGliLCBSVExEX0xBWlkgfCBSVExEX0xPQ0FM
KTsKICAgICBpZiAoIWhhbmRsZSkKQEAgLTU3LDcgKzYzLDYgQEAgc3RhdGljIGJvb2wgcmVnaXN0
ZXJEZWNvZGVyRmFjdG9yeShjb25zdCBjaGFyKiBkZWNvZGVyTmFtZSwgT1NUeXBlIGRlY29kZXJU
eXBlKQogICAgIGlmICghZGVjb2RlckZhY3RvcnkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIEF1ZGlvQ29tcG9uZW50RGVzY3JpcHRpb24gZGVzYyB7ICdhZGVjJywgZGVjb2RlclR5cGUs
ICdhcHBsJywga0F1ZGlvQ29tcG9uZW50RmxhZ19TYW5kYm94U2FmZSwgMCB9OwogICAgIGlmICgh
QXVkaW9Db21wb25lbnRSZWdpc3RlcigmZGVzYywgQ0ZTVFIoIiIpLCAwLCBkZWNvZGVyRmFjdG9y
eSkpIHsKICAgICAgICAgZGxjbG9zZShoYW5kbGUpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBA
IC03MSw3ICs3Niw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4g
Y3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdChPCiAgICAgQXVkaW9TdHJlYW1C
YXNpY0Rlc2NyaXB0aW9uIGFzYmQgeyB9OwogICAgIGFzYmQubUZvcm1hdElEID0gZm9ybWF0SUQ7
CiAgICAgdWludDMyX3Qgc2l6ZSA9IHNpemVvZihhc2JkKTsKLSAgICBhdXRvIGVycm9yID0gQXVk
aW9Gb3JtYXRHZXRQcm9wZXJ0eShrQXVkaW9Gb3JtYXRQcm9wZXJ0eV9Gb3JtYXRJbmZvLCBtYWdp
Y0Nvb2tpZS5zaXplKCksIG1hZ2ljQ29va2llLmRhdGEoKSwgJnNpemUsICZhc2JkKTsKKyAgICBh
dXRvIGVycm9yID0gUEFMOjpBdWRpb0Zvcm1hdEdldFByb3BlcnR5KGtBdWRpb0Zvcm1hdFByb3Bl
cnR5X0Zvcm1hdEluZm8sIG1hZ2ljQ29va2llLnNpemUoKSwgbWFnaWNDb29raWUuZGF0YSgpLCAm
c2l6ZSwgJmFzYmQpOwogICAgIGlmIChlcnJvcikgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJP
UihNZWRpYSwgImNyZWF0ZUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25Gb3JGb3JtYXQgZmFpbGVkIHdp
dGggZXJyb3IgJWQgKCUuNHMpIiwgZXJyb3IsIChjaGFyICopJmVycm9yKTsKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CkBAIC0zMjYsMTkgKzMzMSwzMCBAQCBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+
IGNvb2tpZUZyb21PcHVzQ29va2llQ29udGVudHMoY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJiBj
bwogCiBib29sIGlzT3B1c0RlY29kZXJBdmFpbGFibGUoKQogewotICAgIHN0YXRpYyBib29sIGF2
YWlsYWJsZTsKLQogI2lmIEVOQUJMRShPUFVTKSAmJiBQTEFURk9STShNQUMpCiAgICAgaWYgKCFQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6Om9wdXNEZWNvZGVyRW5hYmxlZCgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKKyAgICByZXR1cm4gcmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVk
KCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitib29sIHJlZ2lzdGVy
T3B1c0RlY29kZXJJZk5lZWRlZCgpCit7CisjaWYgRU5BQkxFKE9QVVMpICYmIFBMQVRGT1JNKE1B
QykKKyAgICBzdGF0aWMgYm9vbCBhdmFpbGFibGU7CisKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25j
ZV90IG9uY2VUb2tlbjsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57Ci0gICAgICAg
IGF2YWlsYWJsZSA9IHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDT3B1c0RlY29kZXJGYWN0b3J5
IiwgJ29wdXMnKTsKKyAgICAgICAgYXZhaWxhYmxlID0gcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeSgi
QUNPcHVzRGVjb2RlckZhY3RvcnkiLCBrQXVkaW9Gb3JtYXRPcHVzKTsKICAgICB9KTsKLSNlbmRp
ZgogCiAgICAgcmV0dXJuIGF2YWlsYWJsZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2Vu
ZGlmCiB9CiAKIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVPcHVzQXVk
aW9Gb3JtYXREZXNjcmlwdGlvbihjb25zdCBPcHVzQ29va2llQ29udGVudHMmIGNvb2tpZUNvbnRl
bnRzKQpAQCAtNDE4LDE5ICs0MzQsMzAgQEAgc3RhdGljIFZlY3Rvcjx1aW50OF90PiBjb29raWVG
cm9tVm9yYmlzQ29kZWNQcml2YXRlKHNpemVfdCBjb2RlY1ByaXZhdGVTaXplLCBjb24KIAogYm9v
bCBpc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUoKQogewotICAgIHN0YXRpYyBib29sIGF2YWlsYWJs
ZTsKLQogI2lmIEVOQUJMRShWT1JCSVMpICYmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIVBsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6dm9yYmlzRGVjb2RlckVuYWJsZWQoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCisgICAgcmV0dXJuIHJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVk
KCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitib29sIHJlZ2lzdGVy
Vm9yYmlzRGVjb2RlcklmTmVlZGVkKCkKK3sKKyNpZiBFTkFCTEUoVk9SQklTKSAmJiBQTEFURk9S
TShNQUMpCisgICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOworCiAgICAgc3RhdGljIGRpc3BhdGNo
X29uY2VfdCBvbmNlVG9rZW47CiAgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewogICAg
ICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJBQ1ZvcmJpc0RlY29kZXJG
YWN0b3J5IiwgJ3ZvcmInKTsKICAgICB9KTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGF2YWlsYWJs
ZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIFJldGFpblB0cjxDTUZv
cm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVWb3JiaXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKHNp
emVfdCBwcml2YXRlRGF0YVNpemUsIGNvbnN0IHZvaWQqIHByaXZhdGVEYXRhKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdCBiL1Nv
dXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3MucGxpc3QKaW5kZXggYWU0
ZWU0NTdhMjEzMTMzOGY2YTViNzVlZDc1ZjYzNmYzYTBmNTI2MC4uZjFiNGFhYWVlMGIxNzE0N2Qz
NjVmYzFlMmJmNzc2MzA5OGIyN2EzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9GZWF0dXJl
RmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVG
bGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0CkBAIC04Nyw2ICs4NywxMSBAQAogICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KICAgICAgICAgPHRydWUvPgogICAgIDwvZGljdD4KKyAgICA8a2V5
PndlYm1fd2ViYXVkaW88L2tleT4KKyAgICA8ZGljdD4KKyAgICAgICAgPGtleT5FbmFibGVkPC9r
ZXk+CisgICAgICAgIDx0cnVlLz4KKyAgICA8L2RpY3Q+CiAgICAgPGtleT5SQl9mdWxsX21hbmFn
ZV9XS19qZXRzYW08L2tleT4KICAgICA8ZGljdD4KICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0
IGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdAppbmRleCA2MjFj
OTIxNjZjODkyY2I1NDFjZmE3NmI2MjM4MTU2NjhhMWVjMjc3Li41MGQwM2NmYmQ3NDE3NThkYTkz
ZGYyNmVmODg4MzI4Zjc0NGRlMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVG
bGFncy9XZWJLaXQtaW9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dl
YktpdC1pb3MucGxpc3QKQEAgLTg3LDYgKzg3LDExIEBACiAgICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgogICAgICAgICA8dHJ1ZS8+CiAgICAgPC9kaWN0PgorICAgIDxrZXk+d2VibV93ZWJhdWRp
bzwva2V5PgorICAgIDxkaWN0PgorICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KKyAgICAgICAg
PHRydWUvPgorICAgIDwvZGljdD4KICAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwv
a2V5PgogICAgIDxkaWN0PgogICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdCBiL1NvdXJjZS9X
ZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdAppbmRleCA2MjFjOTIxNjZjODky
Y2I1NDFjZmE3NmI2MjM4MTU2NjhhMWVjMjc3Li41MGQwM2NmYmQ3NDE3NThkYTkzZGYyNmVmODg4
MzI4Zjc0NGRlMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJL
aXQtbWFjb3MucGxpc3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1h
Y29zLnBsaXN0CkBAIC04Nyw2ICs4NywxMSBAQAogICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4K
ICAgICAgICAgPHRydWUvPgogICAgIDwvZGljdD4KKyAgICA8a2V5PndlYm1fd2ViYXVkaW88L2tl
eT4KKyAgICA8ZGljdD4KKyAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CisgICAgICAgIDx0cnVl
Lz4KKyAgICA8L2RpY3Q+CiAgICAgPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4K
ICAgICA8ZGljdD4KICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdCBiL1NvdXJjZS9XZWJL
aXQvRmVhdHVyZUZsYWdzL1dlYktpdC13YXRjaG9zLnBsaXN0CmluZGV4IGFlNGVlNDU3YTIxMzEz
MzhmNmE1Yjc1ZWQ3NWY2MzZmM2EwZjUyNjAuLmYxYjRhYWFlZTBiMTcxNDdkMzY1ZmMxZTJiZjc3
NjMwOThiMjdhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktp
dC13YXRjaG9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC13
YXRjaG9zLnBsaXN0CkBAIC04Nyw2ICs4NywxMSBAQAogICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KICAgICAgICAgPHRydWUvPgogICAgIDwvZGljdD4KKyAgICA8a2V5PndlYm1fd2ViYXVkaW88
L2tleT4KKyAgICA8ZGljdD4KKyAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CisgICAgICAgIDx0
cnVlLz4KKyAgICA8L2RpY3Q+CiAgICAgPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tl
eT4KICAgICA8ZGljdD4KICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXggNDRiYTg4NTU1OWYxMWIxMmI4YTg1MWQ3Njk5
MTMyOWQzYjE5ZmYyOC4uNWE0OWZlZjA4OTQ4MzIxZjcwY2NjZjk2Njg1YTY1NzI0YTkwYTI1YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAtNDUxLDcgKzQ1MSw3
IEBAIHZvaWQgR1BVUHJvY2Vzczo6ZW5hYmxlVlA5RGVjb2RlcnMoYm9vbCBzaG91bGRFbmFibGVW
UDhEZWNvZGVyLCBib29sIHNob3VsZEVuYWJsCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJ
QV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIHZvaWQg
R1BVUHJvY2Vzczo6c2V0V2ViTVBhcnNlckVuYWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIGlm
IChtX3dlYk1QYXJzZXJFbmFibGVkID09IGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3MuaAppbmRleCA0OWMzZDc3MWJmMTc0ZDhmOWZkY2M4ZDI0MWIzMTA3NmIwYzViNmFm
Li41NmRiZmU0N2MyNzhjYmVmNGRkNTk5OWQ1NTdjOGI4NTY1YmM2MmM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKQEAgLTE0MSw3ICsxNDEsNyBAQCBwcml2YXRlOgogICAg
IFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGFkZGl0aW9uYWxTdGF0ZUZvckRpYWdub3N0aWNSZXBv
cnQoKSBjb25zdCBmaW5hbDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYg
RU5BQkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2ViTVBh
cnNlckVuYWJsZWQoYm9vbCk7CiAjZW5kaWYKIApAQCAtMTk0LDcgKzE5NCw3IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX2VuYWJsZVZQOURlY29kZXIgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9lbmFi
bGVWUDlTV0RlY29kZXIgeyBmYWxzZSB9OwogI2VuZGlmCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkgJiYgRU5BQkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIGJvb2wgbV93
ZWJNUGFyc2VyRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKICNpZiBFTkFCTEUoV0VCTV9GT1JN
QVRfUkVBREVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNz
YWdlcy5pbgppbmRleCA2OTFkYTc4ZDJjZjkzMjhlYTc5ZTI0YzJkNjQ2MjAwMzZiNWU0MjQ5Li40
ZjAxOTY1NDNhM2QwNThlMDE2YzM5NjZlZGExNjQ3ZmE2MWJiYjI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNTEsNyArNTEsNyBA
QCBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEaXNwbGF5Q29u
ZmlndXJhdGlvbkNoYW5nZWQoQ0dEaXJlY3REaXNwbGF5SUQgZGlzcGxheUlELCBDR0Rpc3BsYXlD
aGFuZ2VTdW1tYXJ5RmxhZ3MgZmxhZ3MpCiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBTZXRXZWJN
UGFyc2VyRW5hYmxlZChib29sIGVuYWJsZWQpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCmluZGV4IDMyMTJl
N2FlMTAxOTU1MjY3ODdmZWI5ZDM2MGNmNjA0ZmM4MzNmYjcuLjFhZmU3NjUwNzhjZWY1MTM0Yzg5
ZjViNGZkZmJlNjE2YjJmY2VhMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcApAQCAtMzI4LDYgKzMyOCwxNSBAQCBib29s
IGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wg
ZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKQoreworI2lmIEhBVkUoU1lTVEVNX0ZFQVRVUkVf
RkxBR1MpCisgICAgcmV0dXJuIGlzRmVhdHVyZUZsYWdFbmFibGVkKCJ3ZWJtX3dlYmF1ZGlvIik7
CisjZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsKK30KKwogI2VuZGlmIC8vIEVOQUJMRShNRURJ
QV9TT1VSQ0UpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmggYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCA5MDI0N2U4YzFkMTIy
Y2E2ZmE1ZDg3ZTZmZmQ2YjcyNzk2MzczZDU1Li4yOWE0MDFkN2E0M2Y5NDNhYzhmNGEwNzI4Mzhk
NzM1ZWU2OTY4YTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlc0RlZmF1bHRWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlc0RlZmF1bHRWYWx1ZXMuaApAQCAtMTExLDYgKzExMSw3IEBAIGJvb2wgZGVmYXVsdFZQOVNX
RGVjb2RlckVuYWJsZWRPbkJhdHRlcnkoKTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiBi
b29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpOworYm9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlv
RW5hYmxlZCgpOwogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQppbmRl
eCBlZjU1MThhYWRiMDJkNWJmNWNiZjE2N2UxMjQwN2VlOTA3NDcxNWU3Li5lYjJjZDgyNmQzNzNh
ZTVhZDk4MzQwMzU4YmQ5Y2ZhYjI4ZGI0YzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQpAQCAtMzgsNiArMzgsNyBA
QAogI2ltcG9ydCAiV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzUG9v
bC5oIgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KKyNpbXBv
cnQgPFdlYkNvcmUvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaD4KICNpbXBvcnQgPHN5cy9zeXNj
dGwuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3RmL1Njb3Bl
Lmg+CkBAIC0yOTUsNiArMjk2LDkgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRpb0Nv
bXBvbmVudFJlZ2lzdHJhdGlvbnMoKQogCiAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0
X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwgW3Byb3Rl
Y3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgIENGRGF0YVJl
ZiByZWdpc3RyYXRpb25zIHsgbnVsbHB0ciB9OworCisgICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVy
T3B1c0RlY29kZXJJZk5lZWRlZCgpOworICAgICAgICBXZWJDb3JlOjpyZWdpc3RlclZvcmJpc0Rl
Y29kZXJJZk5lZWRlZCgpOwogICAgICAgICBpZiAobm9FcnIgIT0gQXVkaW9Db21wb25lbnRGZXRj
aFNlcnZlclJlZ2lzdHJhdGlvbnMoJnJlZ2lzdHJhdGlvbnMpIHx8ICFyZWdpc3RyYXRpb25zKQog
ICAgICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCBhNTky
OTdhZjNmZGE1NWNmNTNkOWQ5MDgxYWI5OTdjNGY3YmU1NDljLi43MWFjZDgwODg2ODM1OWZlMTY4
MWI3MDRkYTVlYTUwNzllMzY0OTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTg3
LDYgKzg3LDcgQEAgYm9vbCBkZWZhdWx0V2hlZWxFdmVudEdlc3R1cmVzQmVjb21lTm9uQmxvY2tp
bmcoKTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiBib29sIGRlZmF1bHRXZWJNUGFyc2Vy
RW5hYmxlZCgpOworYm9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpOwogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoVlA5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQppbmRleCAzNTJmZGM1
ZTE4YWYyYzU4YjQyZmU0ZTBlN2NmNjczNzFkNjhjZTZjLi4xNmM1OTcyMjkxOTcxZjE5OTFjNDBh
ZWE4MWQwZmZiZDZmNjU5ZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQpAQCAtMjk4
LDYgKzI5OCwxNSBAQCBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKK2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKQoreworI2lmIEhB
VkUoU1lTVEVNX0ZFQVRVUkVfRkxBR1MpCisgICAgcmV0dXJuIGlzRmVhdHVyZUZsYWdFbmFibGVk
KCJ3ZWJtX3dlYmF1ZGlvIik7CisjZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsKK30KKwogI2Vu
ZGlmIC8vIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAKICNpZiBFTkFCTEUoVlA5KQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBj
ZTU5OTE4OTFhODMzYzAwMjY2MDFhNDA3NDVlNjFmZmZkZWVlYzQuLjQ2YTIzNjE1MDFlNDQzMWI2
ZDIwNTA3MDIyMGY2ZTk3YmY3M2EzMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0wNy0y
MSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRp
b10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS83OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOiBPbmx5IGVuYWJsZSB0ZXN0IG9u
IG1hY09TIE1vbnRlcmV5CisgICAgICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFz
aWMuaHRtbDogZml4IHdoaXRlc3BhY2UKKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8t
ZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9k
ZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViYXVk
aW8vcmVzb3VyY2VzL21lZGlhL29wdXMud2VibTogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8v
cmVzb3VyY2VzL21lZGlhL3ZvcmJpcy53ZWJtOiBBZGRlZC4KKwogMjAyMS0wNy0yMSAgU2lodWkg
TGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucyBmb3IgaW1wb3J0ZWQgdzNjIEluZGV4ZWREQiB0ZXN0cwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4OTc5YjE3ODkyZjI3ZjE0
YWJmNjk2NGFhMDViZDU0OWI0MDljOGJjLi5kZTcyYTFjOGE2YzEzMWYwYzI2ZTQ3NjA3OTE1NWQ1
YmY3Mzc3ZjJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMTc2Nyw2ICsxNzY3LDcgQEAgd2Via2l0Lm9yZy9iLzIxNDE1NSBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXAKIFsgQ2F0YWxpbmEg
TW9qYXZlIEJpZ1N1ciBdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Utd2VibS12b3Ji
aXMtcGFydGlhbC5odG1sIFsgU2tpcCBdCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSBtZWRp
YS9tZWRpYS1zb3VyY2UvbWVkaWEtd2VibS1vcHVzLXBhcnRpYWwuaHRtbCBbIFNraXAgXQogWyBD
YXRhbGluYSBNb2phdmUgQmlnU3VyIF0gbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXdlYm0tb3B1
cy1wYXJ0aWFsLWFib3J0Lmh0bWwgWyBTa2lwIF0KK1sgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBd
IHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sIFsgU2tpcCBdCiAKIHdl
YmtpdC5vcmcvYi8yMTQ0MjIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRp
by90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb2NvbnRleHQtaW50ZXJmYWNlL3N1c3BlbmQtYWZ0ZXIt
Y29uc3RydWN0Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
YXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbAppbmRleCBhMzMzYjY1YWFlZjlkYjY0
ZWQ1M2ZjYjA1NjMxY2ZjMTUxNDA1MGQxLi43ZjA4YjI5MDU5MmNjMmYzNDRmYTU2NWZiMGRhYTRi
MjY2Zjg4MjlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8t
ZGF0YS1iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1k
YXRhLWJhc2ljLmh0bWwKQEAgLTcsNyArNyw3IEBACiA8Ym9keT4KIDxzY3JpcHQ+CiBkZXNjcmlw
dGlvbigiQmFzaWMgdGVzdHMgZm9yIGRlY29kZUF1ZGlvRGF0YSBmdW5jdGlvbi4iKTsKLSAgICAK
Kwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCiB2YXIgY29udGV4dCA9IG5ldyBBdWRp
b0NvbnRleHQoKTsKQEAgLTM0LDE5ICszNCwxOSBAQCBmdW5jdGlvbiBydW5EZWNvZGVUZXN0KGlu
ZGV4KSB7CiAgICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICByZXF1
ZXN0Lm9wZW4oIkdFVCIsIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsLCB0cnVlKTsKICAgICBy
ZXF1ZXN0LnJlc3BvbnNlVHlwZSA9ICJhcnJheWJ1ZmZlciI7Ci0gICAgCisKICAgICByZXF1ZXN0
Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICBjb250ZXh0LmRlY29kZUF1ZGlvRGF0YShy
ZXF1ZXN0LnJlc3BvbnNlLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwotICAgICAg
ICAKKwogICAgICAgICBmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soKSB7CiAgICAgICAgICAgICBp
ZiAoZGVjb2RlQ2FzZUFycmF5W2luZGV4XS5yZXN1bHQpCiAgICAgICAgICAgICAgICAgdGVzdFBh
c3NlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCArICAiIHRlc3Q6IHN1Y2Nl
c3NDYWxsYmFjayBoYXMgYmVlbiBjYWxsZWQgY29ycmVjdGx5LiIpOwogICAgICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5W2lu
ZGV4XS51cmwgKyAiIHRlc3Q6IHN1Y2Nlc3NDYWxsYmFjayB3YXMgbm90IGNhbGxlZC4iKTsKLSAg
ICAgICAgICAgIAorCiAgICAgICAgICAgICBydW5EZWNvZGVUZXN0KCsraW5kZXgpOwogICAgICAg
ICB9Ci0gICAgICAgIAorCiAgICAgICAgIGZ1bmN0aW9uIGVycm9yQ2FsbGJhY2soKSB7CiAgICAg
ICAgICAgICBpZiAoZGVjb2RlQ2FzZUFycmF5W2luZGV4XS5yZXN1bHQpCiAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCArICIgdGVz
dDogZXJyb3JDYWxsYmFjayB3YXMgY2FsbGVkIGluY29ycmVjdGx5LiIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRiYzAxMDhkNDRjZDVmNDc0NmY2OTk3ZTYwYzVlNDcz
NTZmYTRlNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1h
dWRpby1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCB0
aGF0IGRlY29kaW5nIGFuIG9wdXMgd2VibSBmaWxlIHN1Y2NlZWRzCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIFN1Y2Nlc3NmdWxseSBkZWNvZGVkIGNvbnRlbnQKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY1NzcyODAxMjcwMGFmM2Q2ODI0ZTIwOTA4NWY0ZGNlZTM3OGM3MGQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJt
LW9wdXMuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVzb3VyY2VzL2F1ZGlvLXRlc3Rpbmcu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRl
c3QgdGhhdCBkZWNvZGluZyBhbiBvcHVzIHdlYm0gZmlsZSBzdWNjZWVkcyIpOworCit3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBjb250ZXh0ID0gbmV3IHdpbmRvdy5BdWRpb0Nv
bnRleHQoKTsKK3ZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CityZXF1ZXN0Lm9w
ZW4oIkdFVCIsICdyZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJtJywgdHJ1ZSk7CityZXF1ZXN0LnJl
c3BvbnNlVHlwZSA9ICJhcnJheWJ1ZmZlciI7CisKK3JlcXVlc3Qub25sb2FkID0gZnVuY3Rpb24o
KSB7CisgICAgY29udGV4dC5kZWNvZGVBdWRpb0RhdGEocmVxdWVzdC5yZXNwb25zZSwgKGJ1ZmZl
cikgPT4geworICAgICAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgZGVjb2RlZCBjb250ZW50
Iik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgfSwgKCkgPT4geworICAgICAgICB0
ZXN0RmFpbGVkKCJGYWlsZWQgdG8gZGVjb2RlIGZpbGUiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICB9KTsKK30KK3JlcXVlc3Quc2VuZCgpOworCis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRp
YS9vcHVzLndlYm0gYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvb3B1cy53
ZWJtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmE4NDk0Y2I5MTRhN2Q4NzRjYjAyZWIwMWQ3ZjdiNjM1OTAxYzlkMWMK
R0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE1OTEzCnpjbWNKJDE5eE9rKVcjZHojPkJSNStuVSg2
amdEPkcjPjYlekhZVD1oQ3BaODF6NUQ/OHRuT1pgUmBvZig+c1FhLQp6VUEzelVNe0soJlBkRjMr
RWQyY1F6NXs+Pi12Z2s4MUIyYTdqY2tSKGV1Xk9nNUc8N2RiNn13VkYxfVl9eGgkNnMKenh5fnEr
cyRnYGYzTnd7eksqOWYoRmpRLTtlQGclNEktYEg7UCpleGFSakxEbDFeJjFBT1FyTHRHTFVjbzso
d241CnpyMT9MT2B+VHpQS2RUejNTTCVaaGckM21UVnFeezclLUFeVElvUm8kNyNUSCR7PWEzPmg7
WUY7JF5XdDlLbEFyJAp6fDFheFMwS20/fTtpeGpYZHFSe29hTT1KTDteeW9pUzM4cj9QJDdLPE1L
dS1tJHs9STxlRCUmP3UlUlpQQU9PZzIKekxMTEM1SWI4N0E7ZVFAeFdDOT5HRT0qRXphQ01lNkg4
Y1NSO1JGdW97R1hjdHhDbXhCSk83X1FMfUE8KVVfU2JQCno3STRJaCFvPWk3Nmh5XzhNWl5CVGhX
XzYtNyNSME84VUhfKXtvblZKe0oteF97Ynt1RVBvdFN3U3BSRF5wXmNASAp6e2Z7WjtxbElFYztp
NzhGTGFJXjxAfWduTWpFdm0+eV9vMTM4R3BYXi12dENqQWt5T017ZG8pa0RpVnFWMDA5TWoKel98
KkRlTVQ+bEBLWXNOKjlXNmh4a0JRKkd3SzxVfEg/fXU2SVA0Vz1VVX5jaTw7OEY5JkVfbmZuJmhT
JmVvRUR4CnpgZiQkM0Rzcnw1SFBtIyFMXjZQZT9BMDc1eGVSKm9eS0Y2TWJPRCh+dlFWdmlSajte
bHkhP3lJQHJ9aF5ZKn5lagp6Vm0hYmtuPkU0ZmdGUkBTTlZ5WUE1WVFiVUR4PHJpblJUa20tMitz
YDhBMEE1IVE1UmEoUmdrNHVeOF45YDRTbGcKenZYSn1oZjJkKzxoP3ZgRExvKSNNSmM9YEQ9fD9N
cSpPQ2xRbWo9dlJGQSUmRjczcEt+NjwwQDQyKTZocF9zb0NeCnplU3ZGfStkR2lOUWJScCkoQ21Y
cUVvUzhab3lXS0c7WXlRUVJOez8mc2JodyljSXh1MmpOalEyUSUqQH1pcE4tWgp6ckA0P31vPXM9
KF96SlJAcV98T2trKSEoZ2taZnJicTh5T0lpRSFpVHgoN0smKmU/IyElS1poT3RXTVkrdSpkYiMK
elk2fCRoRXR2U0k7NXd4KSstISp1OzdFP2ojYnsjaUhVe0lhdSkxKmNfKWlEWDFfYDZWe0RIPi0q
XlhKWFlUPiUkCnpnVG5XaWE2bzJHP25MaVpubEsjZkZzalJXVyFZYU5sQ053d3dAQn58MEU4YSFB
PztoZyQ4I3I2aTI1I3UqRit5OAp6a1lfUmc3bWB+fjl2RFFxOTIzS3lSb3VUcj1yR3pKXl8wTlZf
cGFae0VjMT1vbGB9U2d2YVh7byR7PWJnRThJPUkKektQYUkhczFHJn15b3BNe1hJXnVqQlFzKklZ
ZH1TaVkhWDY0TjhUVyRHbCR3MnErMiQ8SilGWChYKUB0PGJXYytICnpYRkRNfVliJm0yUX1wbHox
PDxmKndSTE4qJkhnVSVVSkA3OyhAa2V0SkIjKkM0KXN7KD5ZP0JiPWw9b2FDU3g9Twp6JjlNODIx
YiEpVzN+X3peaD5eOSVHcT8pbzVOPm4lYj57OFJgd055UEV8cXEmZV5ORW0wT31yJSstYng+YntK
ZCMKem50Unhsa0VLV205Uk5mWEBiTkdEOEVtfmdma3xZYW92RVlWUFVwPjJ3M08/ZVFkWHAlcnY4
Kmd8RWlJLUFhRWFqCnpHfm1ZNlp7e0lqez08ekYmWTYzc0tCaVZycnIlV0xqbTlEe1ZNaXJHYHlr
JTtZZT4oN2JrWipgdkcodHs+KWNYUQp6NXROYzA1QmJvVUdudGJtem9eRnw8UzA4OXIpY3g4UmY7
Z3ZETWZUZmt9O21PcmVnZUgjQmpyPiFoIUp3dUdqSVUKejdyfEFxPCRpLTcyPHtHYD9GfjhAajlz
RT9BQEZgdlcqemc+M1k+NX0rNE88OEJoVUlsajxGUzFOdTZNVWtCJDxeCnp3LXdAaEd4K2NGaUxf
QVNUZ0IoVUlxMGg/KjhWM3llQVRQd1h9RXhCPi1ZWGgyPWYpTyRLdCppYyt5e3JKTWV3LQp6SHxO
UXxfQUNDdVZzWCRNWlJsTlVDaTdYM1JhP3dyUThxPEZYYUZGLWZSOXl7MEc4KUR4NiZoRHU0N3tp
NWpSdGUKeiQwUmtRPHd1OD8rKERscjgjdE4teVp3Z19FTDg8PCh3dCpeZE1qTnhuVDVDPSZ5amFn
b2k8R20qWDZxcCltOyg/CnpGbkApYDI7ViEyS1crR2JsdVNncT4hcXlkT2xCN3xocX4lPjdAcTRf
YEVsfUxJVnJXTG9RVFJwanZpKS1fSyUxPQp6KmZwP2RgdC0wfEM1cUNvTVBmc2VHPmg2RmplQlh2
c0VSU0IoNDc7YEh4N0l7TDxfbDJmWlZnJWkqV1g1OUIwajcKeng0SXxqekNTPG1iTTJfVTAte095
TiM0bj83aX0qbz8pZChzWE1tPFZPPU9mWkZ1QT9ecX4lem9aYiorbUdkP2hmCno0OWNeRz4zJWFj
Zjd7JEo8b0BBZntxeHFzcWF9QlVfISNLVFEhNSRQbCF0V20lZT1keVhoLXUlI2t4b2M0KjthfQp6
Z041bElFZnI4cXRtbyM1KkVTZzFNfkNMTzZLMUFhdFYlZV5qdmBgNjw0OGs3SzJvSGt6KVd2c2d+
cGpFaVc2VmcKenlhQ01qNzxIaHdreVgwMWhMJClaSkszWSo5Sm9hWGIwenEqUkI2Qj9BIzBpUHc1
U1leZTY/X087OWZFfW11Ql8kCnpWNyhgZyg5QEIqNiF7VFNJbnIzdV8wKFQ+dCNlQlVOZkt8TWV5
KTg1OUojJVk4TjclWlRXVHI2eGFwTzwofExBagp6TDBPO31WeWI+SVBGNWNJeEMjPCM1YiM9TFBl
YE5TY0xaQzFSNyRMe2doZVpsJXolPWhGbDJqYytPdmo1I0M7d14Kejw2JUF5UndeKn0jV2JBWS01
M2F7aHRsKkMqNVVhI2NgaHJjbyMrQkFFQFJPYlIrNzd6NzkkbyE5S29UVGJVfiNYCno0ZnY/NWR4
cEpNPihNZWFsR2dVP1g3KT9tQTNpX3NXY25ZVT4yUlI0YWpLV2tKQzQzJEVkYHpqYVU+ZFhVYWkj
Nwp6JGxzcHckI1JeIzM7WWNxMDRlODB1ZllTTy0+XncyTng9QVpobTJAO1BnOHMyMCQyMEZHOHxh
dVR4dmtXP3BxNyQKelM4eD5uUWF7Q0E9VlREUVBnaDBoQXF6QHVRSms0SyVtZWJ6PkN2bmRhVldn
WCltKVNRUFZNczhXI1RMb25WWSlyCno7RHxKVkduOFNUZ2ZRR0ZuQXglMyF+Qz1HZ0xMYjdeSGwz
fCpZbmlmSXo/N3haMnxNXnFlb3tIVHlwVz08VW9UaQp6e01LMlolZlc3PXBZQXZRSkFJMFk9Yjxl
Vmk7cTxPYFhjOUlYSnw1ZmRKMU1HYjBPfjVGJjRFKHslJE9HJlM8c3gKejQwKCRFa05ybTFUYi03
eU9AfEg2ZEdSYXE1aXdhV2N9LTBaQmUyKyU7VUFfU1BMZnJUNUg8a0ZeUz5+Mm9gKCVpCnomd284
NW42YnFEP140a1R1aEAyYDhiPnRoLUc/c35McGM0Ykg5cl5lNClfcihjQnw+biFpKmd4KVB+O0Ry
eXZwawp6S1Z6UHExRjVoZT1sU2tJZ29HMkFiblNaMllSJXNfOXdkP2leVVclQVNLKXtMdkxkcVU/
IShhWVQzJTxueS1TWF8KelVLST4zPD1HaylwTHY7ens0d3l0V2AhRktSWVNGUipvfV9MbllNV2cw
MXomYCl6Zk9kTTxVP2NKeSRpREAhYCVACnpFPHFKM14/WFlsSWF2MDtGQX1Lek5CTjNMQTYqeCV1
Pjx5U1ZhZi0lYCE8TyQ7JT9DLWRCQWktcX4/bW8hQ0I3dQp6LSg8eWg2bDtefEV4UmlRTWMpTVJV
K0JAZCVuQnd7NyNEdFJAeE9Odlo7eUxxN1VWc1U2IUh7fTtASkY/aSVCTXYKejhoWkpsd2pue3RD
Vm4pNzNqbTd3UGNzTE1aUiV3NzByZjtMZjlTazdHMXxlYnJpRjtFUGI2SlN5UXV6X3Z4JURXCnop
LSNAdl83Rz8pJWVnMlJQPkJPYEJtUiEhWkh7NEEmXjVfXk1eeEtGI2skalR6NDVPKksmVW5YS29w
MzU0XkJoQwp6WnB0MXgjcj9zfi0wT1ZJeGx0bDdofVMtPDR6XnBfMi18dXsqR3F3MFB9cyVIMmJ2
diM7QDJ8dFZtaERYbSVZaHcKejNWZXlpTF8lamlhNDctMWx+MEV7Y358XkdocSRYYUxiIUFhIz1S
cVZadmYraFM4NmBpKnU3cFVRQEZrUzY8NUk+CnprOyhSbCZEMHlYX0ppRU1HQmgzPlByc0VnM3dX
VWxNI1VKMlQ9WHBuXkdpLXdPN1lUWWFMVkdtQDBNV3FBWVJ8JAp6TmZ5eVordCpiREtfNj9FI3tQ
enFjST58SXRnY3VqdClRSExvMHkjV1ZFOyFzS1hlTHk9ckZ0QmUycyZLNF5KU3wKek4qNmNFeHEz
bjtBbFNVPG5MXzYwT3d+dHk2cSlhMnl+NUlKWitRKVVzSG0mcjU8RmFyPWNjbzJTXjF7eklzaHBz
CnpJX0c9MDBoUWx7MjJwUnlQXnRqXkxEQVpfPTYlcWNDcyV5TWRpR0gqKUh9ckBHS0JCVU5nbTVr
TUdRQXRBRVRFVwp6OT9sVVdSR0ZJU0BUVUlleUpmLTZHVGlHb2NFZGlVa3Rffkx2LT9mRCNFKWVS
aG9jZ187NkF5b0c2IUlhX2NTRWQKeklSeVFYeE5KZktUYC0mM003cHI3P24hb3hGfUhCenlNYSgz
bThLMGJTaT8xbWExNWgzdjdlfU0kZzVOaiQ0aUVvCnoyIVV1eSFUU29PPylWTF9PRn1YZXAqP05R
ZzdxNmVTVXs7ZWNRSl5HKDk2SGJYPzlTTTw9V3dxY1BvY0p7U1Q5cQp6MFhxQj0yQzk5TDVIU0Yj
YE55d2ZueTNuV1laI3IhQGc2aTVjSn16e1FrO2p9MCpETm4odUZpWlo8V1EoeiEhZ1UKeiNPbmk1
ejJ2I2lySlcmKkJULXYmK2pMalFPcmxRX1dId3owKTt2RjA+KksrV1N+JUxFKWx1d2dvfUF4aEE9
S2B7CnopZnxtP09QN1ojU2pyNCFgQXhYQSZ+allaNiFGbzBgfjBiMnp3XzBObnJ5fXFCSUx0RWpR
STJDYStAOzRRcyhVQQp6JHNlUVp2S3dRY14pKXRpQEt+d1VDZTV4WiFpXj9QU0RBd3tqTyNmTHFC
ajFecilRMiMjRml4d2tCTnhmdjEpKT0Kek4lQzZLaHU1RkEyJi1NKldCPn5DKk9XZ3BNYiZHOCFk
clBqPFhCOTw5YDFtNl9EP2ktVVJKeTg5TFowaE1hRX0mCnolRTIrTmRZdUM7RyhabzRlVzlPeiZi
dj1sKkZ2NmY5dTZyOEQxekJDIVozMjxyPCQtVzV+Mm5HalJrentlJUprQgp6SVFieTRJUGVmNCUk
UTk8KCNWN25CQGlgTTkqRTJQTCs7ZkImck0qeFdXMVhfP3tVN209T3t7eWdBTl9LTnQhcE0Kej9K
NyM4bXA9OTRsIU8hX3RocjhQS0g2SX5ZSj9gfGYhSGIzRS1TYSlKQ09melpacCRrRWlfOD9MZmV9
M21wKzsxCnpoMnMlUkBheCV4PG16YVZFcmhOJCQlVztVcG07JD5geFVwTGlhPTArV2Zwan1GRGB9
P19+aEtOR1UjT2A3YmJ9aQp6QkpaWEQmaWNhdTV0PW1aT0B2ZSFMdnpoZzhJJHBLMV9gNGJ3ITlV
cHBWK3VPZDY9S2dBWFk0V05Tdyl2XjJVSysKelpTfj5zZ0R8ZyVGXlA9Sk5OQ2I2cUxaPTNGIz5n
QFdfZEpFdTFrTnxfX1BtOVUqfE9MSk8zbUhvNDF3K3hwKXFqCnojKyhEbDN+MmxFSWo0THpVO1dP
a1UkQChCZjJ4WXZldTZzZFhXJkJ0ME5NPXJJRl5oUSF5b0NESV95ZypWbV43OAp6OWBeSn4tRmtz
b0omS2h0KlBxQ3JHamdSbjdjdSREU29LPG03IUBMSlBqZGViOzxWZ3c8MDdgMkJBZyEqSHk8am0K
ejtzdFEpb0VrfWhgfUgwUW1IeT5kSlpEdm4qc0ZsSExeRmM/VV9yZzc2cmFyVj1+P0QlTF95dnNR
JlNoI21tZWMjCnopa1FwT1ZCKUdMI3ZwQ3xtPDVrWC1jQ0JzN0YwVTB0N2RHdEUhKGFebWs/K2p7
e31sSCpGRzRyWHtoY0BSRVkyMgp6anFCWWMkaSthQV9mQE0jXkpMWDE7PVRHY0pZU1NneUh5VmdD
XypfOHtQZzF8QSNPR3FLRz17d2xSdn5JRENVY0kKejxUaCNXcj5xJlF4JlFRUUhUWH54dXVSfnBa
JXtrZTxKbktNdU47SEY2VUZBRndzZnwkJkw+eXQ9eGMlVkRkM2E+CnpJV14/QHJkbE5Ye1d9YyEx
TkRhI0I+P0MpO04kMjxYc0tUPGlOamI1WXsldkFGfi04UCphaXNjZXgqRzRPUH1rOAp6UE5MVXZi
dzNtKVRgUCpOcWU8PVZsSWpxQGk4dj01byF2NkJYMV5eTE1wfHBGUnlkajNIJW8xNjxmcn4qdT9a
OzwKemJEXitFQH1JPVZieU1jTnpRTyQmem5BSEVIUlZUeCtVSW5aWUZNMkBWI0YrezErNGpUUkl2
OFBDcVp6LTx5cT4lCnpQZ2BTPXAoKX0/Jl5mX2ZTZGppNU8oblNMeWkjZUtsJGhsZ2czI2poI0ZD
TE9wUUkwQzgxUyVBPiVvcFclY0JDTwp6RF41THQwb2g/dEB4VHtURT43c14lQDglX3ZAU3Q+Vl9h
O3wjISlGYWdVbiE5ZGxRJEsjdFMjYWJkPVlaXyk2T0UKektWMkglPnVxM2E1Yks5UEswKD8mVjtC
bjU0cnRsZyZ2MnZZe01VMWdwTGJXZ1IoQkhTLTxoPF50TDVVSzdERFpWCnpLUzcpWjAxVztrRHZp
YWQtb31ZcitnbU9XMGNaQGBXa0JsZ2M9KUhTUTtrYVpQQ2VLMSRDVjReMTZHQ2Exe08tUgp6WV8m
OFNqa1J8Y1FLTTt8O2N7YldQZV9pUUJvMnxLd15SWSpVckFMQGNxaUExNFVKdyhjM0l7Q28oJW5B
NEg2eTYKeiZXKWpMMD00I08kfnk1UDJQVG1AMW5lVTtLRE1gRU1fVzxrcW9fMXE8TSZZNG0mQnk+
OzFgV1dvOGs0OU5ZZy1FCno/d1loekpRYWdrS0BtOT9JTiVUQHlxMmBAMnAqUlRnVktWU2p0IzRw
e3FefmwzPFFSQ14hPVNsU1BWLW0pKUtKdQp6Sk5PekFBK3IycytJSSkmaU9sfTVlMDBDd1A8KHQo
aEJEZyNvc2hWJUNRZ09RMj8rd2UmJWV6WEV6QlBqaFVMfEEKeiQ5ZUk8WUxmeiU5WlQ/alJEP1B7
NmNJczlMT3hIdE9vI1JDd1dlNio+cH5xSlkyb3VldXNgdk4zOz5NJUxyY1YpCnpgR21IbypxV31q
e3o5SHRITWcpYGdTY253dExpKS1EKm9GMXVmejFkUWo0QjxMUG1gRUZeM1B3TEp5alBiPkxlNQp6
bFQqfiRfcDJTOXBwM2hlcGBGfUBCYCQwcXQ5fXYoanApcEI3fC0kQ1ZlUFBLOHReTz9zek5Oaj1R
P2w1IVQjamsKeis9KFlkdzcwP2ZyUHZEN0E3eFV0d3BrSHYyVSZ6JU1GQ2E/WjF4cWFsTUB4ND95
QH0+YG5SKGlPPzt0X24yR3BfCnpSYjtXWGBTT2tTUiZZKj1MdVR3PyYqO1E8XilMSDdrWiVJSXZC
T3R9UHFqUypEbUZuWlV5VmFadWRvU0NtNm0tMwp6UjE9ZHpqeFpJUjU+KjY1d2VGOUFYfXVBcVc5
fDV+SkU/cjc+aHFTQEBuPyFyWnt7M01YI0JuNXJiRThlPi1nVX4Kek5OSHYjdyQoZExsZXpKWmMl
YWAhJCV5KXZuTkckM0lVcTNybkM/R0wyM0Z6UTw3S3JsZSg4fkpzMD5vIWNqRlcyCno8NF4od0pr
YklGeyt0NmpreiN2NkRlZihXZGtRYVZGQ0ByPFFTU216I1cyZGVxTH59KEQxSTFYamRJZ24qcGk2
Kgp6Sjg1PyZQe2N+bz5Sen0pSiFqVWY/JHR5d2ZlVnNTYVdhSF96JFlxP0piQzZZIyNuJXtNJCN5
JiZpIS0kc2BMfXQKemB3SkNwLW40YitMI202LT5gT3VwYzh5RzN4cUY1cVBCbHojNlhXbjZMejN8
Nmo9YHoqKXFqalNLfXJuYCllN0czCnpNckp5e1hOeHxATEBNa0tpOCFrNz9aIVF2NXstSz9uRXsy
flBFVD1YV0FIQ35UNjhITF93Z28ha1dYV0FNVWNTZwp6XldHNmY8KmQyWD1WO196cV5FZ2NYcVZS
fj8tREc+JGglJH1gfmlZYnhZdy1GZ2doRE9YdCoyNUdPdm0mSXhlKF4KenRxfUJvI1UlNyFKVEhN
dmxJPjF5KGlQV3A5TSRscko2KVh6RkpLJT5sbjRJfiZtUmw/K1VRK3UrdWkwZ2t7OzczCnojSEhw
SyFUeVIkenNGNUd0NSNzRjxHVmd+a0RTUXNMSjZTYmd6JnpacnQwdH48YzZ3Kmhidm00SFROPykj
UVI3bgp6T0AjXndoY09jTlNXa2pHVms7KHNTUihDczZCVUEpOXw/YGZTd3JHNnYoSkJYTVdCe29g
dlIzfig/dlYqaDs/S0UKendfZFViNHxIOyskUiVjZDRVJHJgZUQ1QTVNKTRtISMoZ3R0LVBxdnNE
N0QlZ2xpQTBtR1dTJFZ1alpVdzxte2ZUCnp7eVBNNjxocGF0SGVOcGM7YF9Lekp6X1Yqd1AlbnxA
RzslLXt0dFNsMHRMZGM5TnshbnNHc2IlY213NDBPbjZSfAp6ZCYhKWpLaCZ7JCZIfCt7VjtNbjco
My17VlJRKVNoczVBWT5zKVJ7NiNeZ1Z6QkxASmh7VEl6NjlIYUw4RzQ5XjsKeiVqPUl0QEsrVmpt
NlcxV2gkfDcjeCt9VyY3RyM/bWZWWW19UXQ0Tl9fSXt+Uns8RmwtLWdpS2dWRkg+M1dZXnRpCnoo
b340eUpYU2FfZ0NzbmlQbXtxPDZDYjBmKWF2Izg4PSlLeFg3fDQhNzk9QmlEezIxczNAUiViNFp3
PklLQCN9RAp6S1J2bSoyQVFVfDRLPDJMb1FqTDQ2JnUxJVJEfkhPaWZON2pCVlM4WCFAWHhGcjNT
YVNPKzlNOCRmbE1qY1dTX3cKekk8WiU+RmZQeGZ0RjEqdXk2Qjs8MVNNYihYYktxP3EoJHF9OU9u
aGJ0UG1GPGp0OVNiaEdmK0pRKlVXSEJybn4mCnpZdzdYMnRiU2gkeSRuWUQ1VlpgYUZPTTJ5OGl5
ck1fWHdINE97fjxfZzFxXlFJbUdrenRPai1ndGUxQk9KUzUqSAp6aDd3PCUyKG5KQEBCfCh8d3hQ
e0E9KWNodjI+e3NnMmg+dzE3RWttfGYlWGcobV5SdHBMZ3k+ej8+VCRrSTh1Vj8KeldZWXgoWChG
OXpwJT9AZTtNNT57ST55fjlBfEhWdUV6dilZPk8pbksreiM+TXBFeDFSbk4jcCRYby1+KXN6TG1S
CnpaekhQUCklfEVxeWVgcnVMSiFoJnU5fmhiVjs2IU1tJXpIKG9rVm92byNIYGcjZ2NPayh5dHxG
az81UEdQfE5aVwp6emshN0U0dzEqR3pWS1BiLSM0VERKQ3pFYUMwX2NOK3x6VTV4MVFReld0byV4
THg1QzVNUWIhRENKYVEpNWZqUW4KekJeTCN0aVA3JWdpNis0RiQ0Iz9zSCghR0t2T30hcyR1O0g3
MH54QHZ4SHVCbmhUMkhOMjM9SldsakRsUTZeWCZBCnpFfFA+SyNCIWlVO2ZzNGYkI2FOXnFQPGp5
aT9qI3NBIWJyVlVxfG94QlBMI0NJSVpwPnJqN0p6NUhlRE1wOWc7Xgp6O1Ixa3RlPCs9OXVZQDFy
cmBAQm5hVC1NaC1SVUBlKkFORTs2X0RJREJhciQoJH1SOX1NVUJLPjNUVGprTHxIM0IKekxLZztB
aW1wNiVNOE9lZEdjWkhQQX1zMjsjaSorQlRhTV44NkoqM0N1YU89VW1XK2hidGBLJnwqWSNCRkV6
ZSpRCnpIa3Z3N3plbElTb0JNSjwhbWZIfV4/P2E1ZiRpRkAtVThrei0rclF7ODhwZCZDcmt9Q18t
Z3BLSllvKSlsQlU0dQp6S31Yc0h5T1BCRypDYE51THtKKER1WFFnQUxiOXA3c3Y+Plg4VWc7aUIp
OEtIOG9NPX14X3BgfWQ3UCliX19oSUYKejBiLTA+dS1aNFBKS3pyYVA9PVNmV0Z5RzZBNUNAVFc8
Zms8bHwwNDx2VGtYJlpPUXtSV2lic0JfanVTV20wLUE7Cnp2bnElQzRJSXJVOXAmUzdkNWF4M3I5
P1hhXjF0al9Jey1OMEMrVkhGbXQjO1gjSEQkfk92TH0+P1RzU35OLUc2SQp6X3RAc35gWjZOcGRL
U0xob153ejQ3LUlEZztSPks9NVpjYVAyLV44d05MMEh1WGErcHpWIXJxMjdNekNGJndkX1oKeklO
IVEld1dYSmVaWXdGO0tZYFQqLX16UG5KX09NZz56OTAyPnAwSD95Y1RESC08e3I4YkJQc2N0cjRC
V2p5fEMyCnomTyl6TURqcUktMDtkZCZNYDg0WlEhaGlJP1ZQXzgrWn13JG9JOCU0aGc7bjtKX3VN
PDclOTxGTSUzJTtIX0NWJAp6MjlKI2RhakdjflopKGhyR1RYKyNhaEVrUnhUPjluc05sWHs2O2Rs
NHc/WTArXzlNTHx0YGNLflNEMEl+T0h6MyYKemRfX2lEdz84TUNFaipKNiY4NyNSbHVLKzZQOEZH
SWxUb0JpUGthfG9gQXBybkB2emhmJDxvRiFSfXY0RDxpT3toCno9QXhGRkg0Y29sQih+JlU1SHh5
PDEle242dkp1OEdeWkRqclBOPkI3STtob3ZZZzE1PCpVMFJRODkoWjQwP00+aQp6RzRETFEjLUAj
dXlpSmcqaD0jUTt3RCFYPjs4UH0oZHhOeHQjZm5WemY5QTVjMCh1IWY1bmd+TlYlM201KWVWO04K
eiQxYEd6bjkoV0lKJTBwbllUISEhWDJrSnBGOGctWD9wNUo+QW94cHRpZEBpcy11d3p6KHNDdlps
WG1PYEkjd2k5CnowMDF1ZVE4dW4qMXZMdilCUmhAZl5EXj0+eG8maGQhQEc/YE1jK1gpWFU5OVNS
KkN0PkpRfVB3TjVWfVFXTzNgUQp6Kjk8Wkh1cytOaW0tPDYwU0MjK0FUcmA8QEVJbT1ydVVDKDRI
ektzMkJPWWkwNikyOWA5Z1l9YkxkIWUpKnxHKGoKek5lIXtTV3tCQ1ZDcnBAX0oxcz0tKUhRX1Aj
OFB6QlImdCN5RSNCc0pGbEl9dCp6TXclem1SOGVWI2E1QGZAOTVBCnpiRzd2RTF1PihOekQjMzJS
bExsO28xXlc3eGVDK1p2JD1kKj5BPkNlQnNqWGltXmM1PnFfLUElekB+PFc8I2ElJQp6U3JEQ3RL
c2JgWD4/VCREc0t3M2JZfiN9Zz9vSX1xJVMpdTwzNE9rT2xLU2JhJGcpeHRTJmtNLVhFO3Bqb2Nx
X24KeiY4cHk1VGlPKyM9cXVxa0pmWWhuNDNKVl8ocFM3d3B4Z0JDPEIweSErekZeSzV4bz5hXiVB
VzsxdG8qN3ZAYzN5CnpJXis+OCFjK0Zhc0ZqenU4MGtfPkRKbXt2WEoyclFyWmBYfUEmajNLRUxl
bjNfS3VyVTY9YURmSjtxXlFoPnZ3Zgp6cnAwZiUzU2cpeTlvezBFSClyank7VkRCYVNtPWU9QiQ0
amw4R0JgWSp0SkE2RVB1QU9FMTI9UnpOJThfRjBfVmsKemBiakJ+MClYM3Bgc2o+d1ludnJRKSZs
ZFJeRn42SVozbEUyTGAzI31zXkRNYHw1dXtlPTdRKXFHPEpUJWlNQV9uCnpEWkBadj9EfkU9ZGd5
M0QkMERkTGIpMXV2bnBpc19hQ3J2U1BTSFlDcztMTjMrOWpATj97eTJ6XnRZSj1QeypkSQp6dyR6
dUtlcTtkRFdhaWUkKSVufCMmIWZEUzZYX31rJGx3czcjM2wjJkxVWkh7Rykwa1d5UjZhRyh7UUZ2
M1ZSNUUKenZZVSg9N0FSO2cjKUg7ITt0blUxcHtEOWAtMXNiQW4rMjNvMnBsXnUwTWpkdSM+JjJF
eHF7N2kyOTR3MjRjSmBSCno2biV8IWkoRGohSk5xSj5NUTd5fE5ubnpzeTVieyMmIXhUVktWQUh4
QG04bSokNj4+VUo4OF8jbGVBS1hSZU1faAp6WiRYTVlyWGZ6PFc+TEZqKk5NO21YSFZkSkp1ZT9f
PyYhOCpkeDQ8Kjk+PFVXI1dXVDBhY0heZVFTQyhtKypCP0wKemxGP0dVc1hzfHhvclllZWFgNTBi
bCRLQS1SfXUqTUZ1S2gyKjVEX1RfdiN7R1lQQ2FiXyVDRHVnTEBweFpgIX11CnolTWJZJSt+eG9n
MGJ6T04wOChTSXZMY2VneTQrN2MtWVVsU1ZgfFNRZ283I1lObj9+Ry01YlAjJU5EdElZfWs5cAp6
VkJecjBIV0o4aXBAVzRRRysmenNpbDB4eUspZSUkKFFqUWZrVz1VaG9yfUY+dClKZlBAdW98OE5E
QkFieUpZd14Kej1nSmxzLUFMKWcoTjFxIzBNVnRMWkd9dD0hZGlsQVZXPVI2VzhDQXZGRTFzYEpD
RCpHNSloNTBwKyMpOzNMIzNpCno3e1FZKGxNSENRWkZFfUBxPHwyU0c4JWYzYVFKTENwUDYjMXo4
bHlfZVkzezVxK2hacF8hMHw0cDstWn0qVVJ6QAp6SldYfWY4XnhnXzt7eHN2SWw2dUB7cnV6YXst
PnQyMih5Vz9SQjUpPUlZJHM9dFAocVFDTmdgTDZeQXA8eWpFMmUKekVRdCp4ZHZsUmVrYHopcVpK
Ym5rJkFnUmh3NzdSdzV6PTdAUiN1Ql9VOWBOTFAofWtrKkxxSHpeZF9ffW0/TklhCno5YyhwbCQm
PGp9eVMyPzkzP0p3ZU9zaVNfcWJxMW9fYnQ/O0p6LWJFeWxZensmUy1mYD4waE9BSD80SzQkcyli
Kgp6XnhZWnIhKU5NMVp1TkNSPSU1JSNueGIte3ZKaV9vRntUI1E0bGAjNiQ/XmNabUYqfDU/RyZl
QWo0WW9meE9yLUMKekNtQlFiWDlDaVUrNlk7fnpuTjh5OGFiZFdVbl97Y1ZsJVFtKFZuMzdiS1VE
OTU0ZUZUSlpkcFAhU3g9N2lHIzxLCnpTT3g0JD5MaSQoTHUoKTUlQVM7TmgxQCNGO2p4VTJAZTBH
LTQ1I1RTMGBCdC0oYnkrJjRrSkdDTThROWw3eSFWSgp6S1ZzN1A/WSNVNT1mUyZAVjhzajsxb2th
MEp5T0dTJXd4OXFTVyElcTRpYDUyKlk1NmtReD1ufWd2T0RuR1UoKnAKenRgfEVuKHFaJG5aUFBv
VV8pUWdLQ1ViYD12K1BmNC1lemBnQFk1Q0tmbUlTUjVqLTBRSFZ1cH5lQHhUMmIrSFlDCnohNG5t
NDRJeVFLd3tzenRyXjIqNG9zQ3dpX01DWVQ1Y3RjV0swUUMwM21iZFgoVEp6bTdPQDB5X3RBQUR7
bVApSwp6S0xtVVYwTkQ/ZEE+cEJDQzY2SW97cSpTcUhwRGxrXmtCMjVnamlwOTlSNENiLWY8PDVz
dDx6VGsrUjJ8dT92OFkKei1vKFpJMTxHSlBvNXErJE1sRyElRjgqSFFnWSVqVV8/Skp8OC1IVWhu
cz5hMEVEWC1XJVplWjBVVXdiKExnbiNtCno2MiZzR1E0TVFwQXJGXnBzYFRzTU1AfGB2IWZ8Kn1Q
RFc5bSUtKkRzU2BKTjJUPFlXeEY9X3deXnBDRD9EaClBIQp6P2spWkxWYDxJO3VqN3R9aVh6QWI2
RysmIV9yXnJwTVJPVFBRSHtLSEd8cjB5NiF9dzYmYmFeOTk7UW4mJG80cTMKejRnanR1YDdePF5K
VChoR1V3d0lgP2o4UyRRZE1TQnt4YW1kTSZ3X2xTY0VSWGVFQiUpXmYlQkxVQkJhfXg1OTdiCnpF
OW1MQ1g4YmEkbk94WiZXLUBJamAqdEtGcE9BTj87bVpBPHlyaUF0a3pgZktIYkQpKntzbTJ5QkZC
aEN7ZngoOAp6NWVGMTNCTWIpYjlMdyhZdDBANGRLKSRgcUZkWSFkUWopQ1ZgUkUwQ2pWeWw/Yl9j
PWRNIWk9akJRTlc7RGpXXlIKenFzUTJLJUZDdnkyQHdnQGBOVj4pNXZMdj1YfWhNYGN8flBHWGcz
WCR6THdCPjY1OXA4ZWIxenwlb2lUc202LXxzCnopdD5TVDQ9M01VNG13Mz93NlMkVlo8Wnp7OCZB
dzdHaHlSciRuKm1YQDR0RTZLZWNLTyh+PUF+XzR8SEYoTHwkVQp6O2N6SHNhOTFYMiQqaStqcFZr
I2RYVkNONyNufDNPKnMzXmh1MkpnKHt2QUtwWXBsTmB3JWx2ZFM1d3ZMPH5icVEKekFZODxXdytH
NCsqVEZMM0k5dUBadihVUlhaMTxEV1dyTFApMGt8VDkqSDtRZ3tXJWNIYT50bGtaS21+bEA2JFBU
CnpDbishPGQ7KWRjLTgkOT4kREYkVHVFX28tRT0/VmZPOShxWjg4R0lUQiprRCV7fFdHX3JXPDZ+
KztgSkkkQm9NYwp6VT87bGhGKmIqd19YOzFVQmkhPGN1ZyRNQjlmcGVsND8kT0wqYD5NQUIjZV53
X2Azbjc0T2pNNThTNVo4KGVROGEKelJkentZaFFqMVgre01+bGYjMyRYX18+O0lmazB7Y1pjU0c0
SylJMmBGWHxabmlGdHg+anFIcCVhdGQzQHFKUFpeCnomMExrWnQ8UG1GVWEmTztQcyVefUNQbn1W
KH5tRCZJOWVxQCglZFplNEs+aThBeDM+TUR4bnNGd0QxZzlLNlBOdQp6ZEApeSpuYSRqNFY/VmNR
bHZpa3V8RktjN2FxOEpzTm95PmdLWkgkbVI/P2w3Q3dXc2R1Pk1DKntqZSlrQDdDP2EKemwjWDdo
SFh9Yno0NyFEaVkqbGc/dUhMb1c3VnV5aEt3T2JlUTxnVVVUZVJ0fVNXMHkraSZ7YTh3Z2FeIWxZ
ZXRDCnppO00mQWdYamRpSUYyNEsoKU1zO2Q4fHRmXkg3SUV6UyNBYFMpVyh7X30+QVRoTm4oJFd1
TUluWlBBN0BYPH1eaQp6PmZEOGxtYSFyIUlfLWRmO2FXMlBRQkAjfSExeT90RXFUezMhKnAmekx6
RF5hQjtaXkd3MGdmWmZsOUZHVUEtZ0QKemI/eWBJJHJYYDJYNmZBfHB9blFFN3FuU1NhZ0BJVEBu
MEFlXm5GJWhWKHZXcCtfQnQoYnRnbTglampYQlVCajNkCnokdngwOGB6TE97T0A4I24zSUd4Tkwx
dlMle0c2JVBIRzYodDFSdndwNVFBQjE8IzlKcEFLTFhAdiN0U2VTSXEwXwp6d3k+aFk+b1BIVyow
YGg8dkk3JDRAPWBxSHomQmFwdDttTWB0SFdjP0BNMDtQQCpfYzF5QyNqaiZqJWtxSy1RbU8KemFk
fmtJXmd2VTY0OHQlYD85MUZRKVRxcnVWM3E7JVI1RCF1RWB4eV9SZHglU2AteH1zQTVKPGQ2Vm5k
Mm0pNzZhCnpHRXxRJU0hZUd6TWJkX1Y3emhlKDcpWlJDaW8pX1QwLXBtKipHWldvIWg3WE4wem1A
YXJOVn48Tnopb0kkd15kSgp6MW4kPDVaOFpTY3RCMm8+Z1AwKmBfQHdFcTZMNXg+UEhCJntjQTtF
MEZQKyRLQylmTjlXTSl0NEI5UFFnMShKdzcKejB6enMkI19PPTdHflN3KHBpUSV7bmZfY3J4aXxI
NkM1Z3c0cVZeeHVDb3ZecC1JNSNeN3FVKGJKK0Fac1FtODMkCnptfHVkejk9JEY8XkVAZzVofl5K
QTRjaj9QJSlYJGw+VXpESlB4ciZaNHBge1MyTllnTG5BNkJTSjVEPD4zNiZMYwp6YGVJa35vLV82
OE9BPWFpN0lRa0M0Jj1lUUdqQEFnNCFlP00yWlVDRUA2YH0mcHI+S2tAfWAkYVAyX0N2QzF7c20K
ekI/NjVqNyZzKmpVK3lVQ3pRc25xZTlMXzE0cW51WXN9I1ZYTHZGYypRLUBfZSt3SWZ1cFpybzkp
I1RiaWx1QGRzCnp3NTJeOUo1NDNvdl9PQ3hnemg7VW0hO1FOM0NZYjR7SiEmZEZ4al5Vd2FyKF8y
IzhxNkZYZ0xLJjxuY3Ikc0UhcAp6cGtHfEhoJHlXNXlZfnxPWUN7XmtDaVhgR3JtTjdqPylzP3Bp
RVU7OVRNQ0lwM2l7Zjx6fE5aKz1WWUtJQHc4ZGwKelRMTS1rMWRLSTcoN0paMHk9e2JVN2oxQT5y
aV4yNzhhcVplaz00aCVkelZNVE0/MjVxIzhzP0I0Nkh3a1JkZklsCnoreUJOOUlPU1clMldiP2Io
PGUzPCgoPmMmVzxjWT5rO1FTfiE9KjZTZU5fajNwSF4pMXFEO2RlUVJ5fTVDWEU7dwp6VSF7Xl5e
RSpkekImVklYVz9pS2QkPHVQfSFWUn1Ud35wdVFRIXwlXzxVTFI2X28/cFQ3VjJ9N1pEKiYme3ND
MzsKel5ic1IzdE1KI0loJG8lfVB1Xl9DaWx3OHd7OV8rcmM0TWx4UEZHcCt4WF9oS1l7My1Makc9
ckRValJycyM5cCRRCnpOd2ZzS1p4Z047KXlZeTE1VWhEJkFeRGJgWlhRfjdwYyM0bWB7MGg3VnV6
flZDc3tzeXdrbE5xaTl1c2lXUitYUAp6WWktekY5WlM5RUgld2ZXdkleTXQpUjYpRFNjYTwtRT1y
by1VQ3BeO0tyYipEcF9nT28oXjRTakA5amVlZSlURksKel5HQj90YEpvPkh4bUkqaSZBUnJQODwm
fClAcDZGck0+P182NlBPUV8yNCYpej1wVUQpMSVMcDR2fU5HaUFmPlIwCnpBS2dzdXFyUD9ka0lr
UlJ4cjxKcTFqeGM/KzJhLWFePHZyOUE/Wndiejw7dDFxJVN4dEN5QGh9YXQjVTgxNlQ3awp6V25r
bk8pPj92WlFHSVpDckplajVBN1JiXmVYVSlAcDNhRVk2Yk9+KHpWVnB8UnJpdVlUfkRkd0ttdEJz
TyQxek0KelF4eTAxV2E+UjtVM2dtJmsldDwqcS00NCRLJWxtdkJGSHJSZUtTKTRkTzF+TWdlYiFY
JiQoTzhSVDRVRHBIYT0hCnpCbDdYTVA1b3JpSH5eRVRCfnFqZSZ+Qj1rZiZ5RSlQSUZ1dj12eGhq
eShjUDZfSkVETFIxdGc9PHQ5dSNOOSRHawp6N0MjXmFiRGpCaVJQYHp7NG5tekYoRT1tTEdyVlZx
TXFDSTJDRX5jTlJlYnNTSkZ6KXRMPmE3P3tUM1pjdkB1fFEKenJGbl99TkpheV9UK05xPSZDcDts
eW5vKXhMQTllOVpUI1F8KkJTc01DRSVsWG9SUjB2dm59cHhoeHc3Y19LWVQ0CnowbVh2WWhFbzx1
UUgyeT03eSZBJW9VcjA2TlIjUkJZKWB2QngjajdCMT1YQXEpfGB0WVoxWERXa1o9K0tLNmIwWgp6
Sk0yTnozSHx2akIoanlzPSMlTG1GJE1TWjZPQk5qa2w4WnBzTTIlZyFxaTZ5UUApXmMmRHZSWmRD
bE5obmVDbDIKelVxX1kyKDlWWFRUZ1BneCZ8SnZJYnxiIXdPMEhrT3hidlZYPjE1IypJSiVKRTYj
TW1zQ2dwPWVDNmQyVC1Qa1MxCno3WnY9NClSP2M+I1VgNn5LLXB1WGE+bk84SCtsdE9JfFduY25J
fTJsZ31le25KMHN+akNfcnF5Uno8IUQjaXVeQAp6MkRwdEJwQio5JTUoKE10P1B2bHB3ZFBqMjNN
OEAmPUl0a1FsaWVaZVohdnA7a3tCWihjMkxYfXhkRDFFPDtKaUoKejExa1kzNSVFSlpEOyhtb0VE
e2FDQ0FuJCs1YnE2MVEhSy1CTDxEfUNYRUwmXiNmVkxhdnMxc0tiMFlPV0FhOHFQCnokYjUxTnp5
N2tIajk1MntiKnFpRm4qIWAhaDtNOTxpbzRgNyMhI3lhVE9ARGMpYDVgNCZvPFk/RDNvYDJOTktA
egp6XytLKXI4ZVMwYmFIYklyb2FjVkZNd3dNOzIyazRwPiY1eD5VfX1BekcwPyV8YmhCNX5Jdjlw
bXtGI1REMyFxcWoKelY2cHkhZndKO0dtJEZLSyo+bTlBNUI1O18ja0leSipCWXc/JCVWSjYmb29R
YFRfbDdMMEkzTjA9Km9AMndhU3ptCnpMWGBlOUxrQ01FSy15ZFRrXilJQmRgd3dSQWJlUk55dWJf
Ujk5WTNtdC07MSNMNlpZS2FaZn16dDEwJWtFVDhmMAp6bWVsYH1Wa2pzYnhnJVJxKlk2TCojfjNl
c1BgPH5KSSFwS0pmISEyUHp1SD9WczFaUm4jTz1XXztyVERiVS1scFoKej9ONTUmcUlmamNpaz1Z
IUlLYnt9alpUN31yZVFVc0hhK0tPX2s1PTJNXnNlZGM2PkJNbCo8RWgkd1F7TzB0LW17CnpvQ2A5
Nmp7Zm8hM3FlVzZAdk8pVGEpTihXP3xiVUJRcilBfXVUdHs1dXMxKUtYNEQ1STM9Qz1nNik0cTBu
KW8zVwp6bEFERTk4STxRM0xUSEQwUC02c21faD9+U2tpY3QpQitReileTWxCNSZSKG4jP2dCTzlz
QHR4NEVUcCskY1ZEP2EKelRCTT52bTQwODlYJGxlX2ZrcGhjWGF2JDdAWF51UnY4flhlayF2RSZf
dzR0SD14ZnxDIVJReVpqJCV1YkFnJmB4CnpMJGlBSmVVNCVreyhEU05iV08yRUNaKSl3JmEka2Et
TFIjJjxtK3ReeyFmZztubm9gQG1oNGQxQ2wocklBODhneQp6ISFlfF9BNGMhRD0tfncxe1RIMEc1
M1Z3e1NXSCUlZ3JfbXVrISs0X2taWWgpREJUSypSI0NTM2loMk0pcTN3SFkKenxEWlVBbTQlK2Yk
YT02OXw4U0J9ZFZga0MtK3dBMD5SNCRfXzQlX2FsNW0jYXFzcSZtWjk5ajEzbTZCMm0+cGlTCnpK
dz9LPiNOWT5OMDRDWE9QTnAmbmg0cXEhektFJkteYHwwUVJRSWE4YEB3JjIrSDU5K2U0WD0zQih4
I1pXQTRNfQp6NnllUU0jRlNDUnBPcUgyb1ZvK34lKUlee1l+N0xzT3RzT0pWSEJQSU5sQDcrT3cq
fGRfeFNYXzMrRkRoZE93XykKejBVJmNmb0VrdUpDd244N1N0RDxKKGFrdTYtUFRyVCUkZHc9K3tC
MU4xSj1Bb3MzVTRfbHB9KHdKPnFaO1hoKWszCnpDbiVeVGtlMnJmUkk/eX4wZiY/Z0tDciZhK2th
Kl9kQzB8MTE2dDNOQUQmPnZ0JmtXUGZZNH5FQFdOSyYhJUprWAp6bmQhLUJiTz5YN0EwKTQ+UWZy
X1FwPGx2Y1A+UGRvWlozM3MyancqPyorbUo/ZnlscXpyYUtwTj8rYDlyRX1DRz0Kekl2bz5Fdldw
UHd7am9YcSVvI31aRFVHe1BiSTJlPHE2YX42YyVEYnMxK0VMc2ttTHlgVCtyNnF4UXlufDBRXmFr
CnpsWU4pXyVldkY7QXJ9cDZwKiRra2d2ZEBDcW5GSUU/SjNtbj87Qm1IJS1HPVA1STMxLW9YVENs
Z0ptREtMZ0lEeAp6Wm90M3BhfmZMRCRJezl5c0pnNS03KDNRV1pMIWleV0I5dmswVFpPN3dyX0Nu
Tnp3TC16a1F0aWV4VXZBeUZVREgKemx3LSVqd2RMRzZjdThpNnAwaSFxNztGNytEV01eMGdSTWZf
MSsybD9LIWc2M05LKmAkWXJGK1kkYnUpRjAmZ0Z6CnpyT3dUQzVefnFzdmQ/KmprOU5kbG8kKjB5
bzxKWHx1RH5RR0RvfXlfQ01fVTd0WnxxYEA0RX44NyhXUlNoOU8+Iwp6dH51fEhTWWs1NWNvVShG
YT9EI2M2KyZZWHpkejNmWjcpMG9uX0kpdyFJMnEwVXJROzhiNllqWEVjTWF6Jms0a0QKemAoXmlK
PFNoWStaZHVWZ3lNOFV4TXdvSFlTN34/SG9rY3ZIaDBOQD5uMVQjaHl+bnZ2bVZaenZCcUdiRCUz
PG44Cno3c3ZLQFc5dSVrWVAockFeI19YckdXWH0oSWZQMEZAbndGQkFTcEM8Oz0yQnYxQHc/eyh3
P0F5KkdBcFFBN1QxVwp6bG4kKylRN2BgNURKV19tITxCJGBUUE5rQV9sYzI1ZyV3dkFvS3MzJllk
S2wlcE1LI0NlcjtLSkl5YF8oOGslbFQKem9nIXtraW9xcUtFX0s1d282JmZYbk4xb3Zha0xuNE9v
Rz9sWlZVRyZjVGRgSy19TDxmZilqbn1MS25YMyUkdyFgCnpkJHBDdSsqdWVqeGNjUVljME91V0Bp
Pj1mZHlUIWgrcyt9MDhpXzZ3bHlOc0d7RktWQzFkPU9KRWMhRS08XmgxYgp6e2A4UVFPRyhEVjhE
MlJgOFQ8TUtjdn4xMGMtVXV0Vm0odUlQQUZAVGw8Zk1iVmdkMmRSZjdEVT9QTWJQJEZBQGwKekV1
KjslYzRsKz9gUlRxTUZxJlNvY3RlJTlpU1phOXhrYnptP1hya25VWDw1ZzBHK1JSLXdWO348fUUh
VTxDLTBBCnpaRXgwRHUwP2x5RDZjcF8/NXkzS3ZHRUIlNFBpZHhULXtXP1UpaVNFQjxASGEqNUh6
dUFOV0Nje05LJVYwWnxDWgp6eygtZypWaUNiciteX0BycHhHRnFLQSlMU1hHZmNaTHA9eTlkazkr
OUtQaCRUYz80V0chKW43a3s9RjVScz8hU0AKeil1UHwoY1AmJXZlSmRiTDdhaD9Ibnx4Yk5HYUdC
bUNhaUdvYEs+Ums5RWg+Yyh4aHgyS3NtcE93Syt7VzNgfnpkCnplVEM3KmNoM1dmcHh9aTQrKk0q
UFdfWVFCTj5MVXZmQmlsUDtrIVc4SHFCNlU0djs9cksoXl45Ums4bEVuMHE/LQp6cCtecUBoNXc8
YXpMfVMmbnk4YUZPVk5aO2FXdk1ndUhuPkVPQnxMRWJDd3dUZHNhaiVFVTt+ayNqRVQtem4xQnMK
ejRHUjtlaF9iU093a0BHYGYjWkItPGJwWlBQMVI9UVU/cGglZkBGQ0lWPzdEJnohfiU8YDBAeEYw
MTgpUiVpPTtyCnpuR0NiKi1AdCpkU3B8bTg7aThDS29lVEh1K3JtTWlrKSRHRiFKQ2NyJUpuMzwq
QyYodm9BJW5Vcmx+cndpcnsoXgp6SFBRVE5xTkpgSmNTSj1mI3FuMW1VNHpMVWdHJTtuSGkyMW9V
VVRTYFRUaG4wamM5YT9ZMilXUGRMclU5b0kqP2sKeigqbjRuPG1LZ3tEY3sjWllNYHUjfDJnOHAp
Mzl6Y1V3WHF0Z3BPJmFLSiFycVNRTnNEYVk0bUdZTXJvOHBSI348CnolPkd8KFIpPypEKXZiRHxa
KzdaJkpiRTtMOUchK0RjTmpoUDtseE9Pci0ldF53bEVPX3NoI1F7VXtuQjVxOTAoIQp6MGdrX2Ex
T0tWQGQxb3dDPmhtTUdSaTxHQE0mNWJKJVZEYTFpVyl5Yml1MnJhOFNKRWBpJHBBO0VpTmR3QU1p
JU0KemRQUXAmIzxGS1l7UUhiZ0dENGw2USkmZF9oVFJZYntPWmkwN3h5JiZxSFZ1PFJRVyomWkl5
RmpsTmU4TEpmR3BECnooUyhDe15reFFeS15+QTcjaklmPi1fR3ZYWGV3XmxqWk1pLVhDYUV8VXFU
O3tReDdLQ1o3ZiNiWGNuRmpVRiUyNwp6SDFuTTElRiUoOD42X3Y2WTFGUHI0M0FIeCtre2E+JjUh
My0xRHkoWGI+YDJte1lEdVZiSUkwZ05LSFAodVRocTkKelk8VUFGKHY2LXhIc0VraXpZSGZfaWNS
I0J1endnYVdsbGowTzNfPVZ7Rmh+dWxwbjhtdEZDbiE4Pl8/QD97OW5rCnojWFkmQ0t7Nk58e0dm
bUQqd1cqdGlsXklnLU0zI3VVIW1aTl93ZDd0NmFkUWghXipycSVNdStgNDFiOSVpNmUrKgp6ZGtL
S15hZ3xDJV93WV4tMVZ2LWpDNU9Nb21wbzM7ZkE4P14yR3hULT50JT5LVkh6Z0l5JGJ1R0hAVWwq
dzdyXmQKekNmMio7LXx+cUlJN096RnQ1MkU4VmtYSEA4dHAqR1l6VSlWP0xGNmY7d2dQZF42dVJO
KWVfdHR6dyU5Y2BpaSFuCnp0QEx8aWc3X3RnKFV1fHgybHglS1FZe1BDO1QlbjN8MGNZQzheVzhM
JG9wI0c1ej10NThHam1Me0pFZ3RsZGRQPgp6NCNpO21AQWV6dENFTTxDY2QlbXA/PylZU1J8byR9
TGJrMypDJCg8XlReQGxzRTJSIXY2fDZFO2AydzE2d2ZFNmYKejJgajhMUzM2JUIpXj1MYS1FV0pP
eG53V3B6eVMje2EhejZmbkRgTkBMRjRjZUI8UHN9bEJueXN3UiFvQDsmUHNzCnp7KiZXbT5NeSRO
aDU/ciFPYXVUPnNoYD41djhxSElINGY2ZncpYGVMTlo1SlE1T09lQVded1Eze3UmJVVEalZ2Vwp6
KSRtMmxqR301Q3pCJWBaPn4kTGtNeEVHU1J9UWRuMmNteU5SVnR0aC1uSVFeZjdmT3FqLUhrWFZw
SzBBLV8zRUgKejxlR3NiRXlxSGQrOGNqSVA5WnVqcytuZyspREs1eFI3PjxsN1M4YjVQRSl0aS0o
ODlUeGVSPlRNbU1xc3hfO1drCnoqfntQNjZWY3cpTiExPEE8O1o+PEp5NkB+U05eLWRpZ0I2YUxm
bUEhbW11O2RGRiF7QnJ9dWFXQXBwdF8pXkQpcAp6Q0MrX1opMXklTEhUTmdgXnBnNWE8c0UjY1lk
d1pEMHVIO35Ic01lT3FNIVlwKUtmUztsY3Z3cEJKOD55VzNjaUUKelMjSFppJTFAZXF0cjQ0Q0t8
SUc2WlJ6UjtkKzY4THJAXjlnPXp6Kig7TW49REZEYiUpcHY4WmlzNmxtcWdydDMzCnp7OEFacjtt
UjRYNGQrWTxBSW4mJWhtYmJZblJUOEtvJHF4d3JDRzFaJllPZnJwOSY2ZXlGTnY+PTlaVU4lKG5M
Iwp6U0daWHdYTXE+N29icVpBV3d2X28jQjhpJCtXQUFoPSNhems3bSNqeWlKa2NRRXZuKT1wbSNW
ZjVMPFJIJWZDaU8KemN+TFltd0gmUSU9ZV5Ka09aRTB0d153TjFQcmA3NEBgP2w3WEp7XmsjRmtp
IXNEWjgxTHExZV47dkpBRVIlcXR0Cnp7Xj5KIyRNZVN3amRiOUc1eHBKQlE2ZTlub2gqP1VONHQt
cF9YOGgoQjZ+fTVPKFE1NG83MkE1ckBBc2dBOTM7KAp6O0tNLVI4YlgxNldMNiQpNzxgPiM9c1Qx
Jjl0cCtfe1JEcElPWEFnbE1UNFk2ZEhfeXNHblY7fiF1d2txNGJvLXAKek59QEJiMzBnNlg+Pjxr
Zk0/RntvUHskdU9uKEB4dURAbkdpQzljPHpsXkBXbjkjYUh2eVRhMThOSGg4QU1mYSZ4CnpSXlow
KEdlQzNoWShPRSFeUkYyWFgma35wWTw/SXxpbm5pMWdLZzxgOyFKZ2AhSlJZeHJPdCh7cS1IdGlj
aihlTAp6ektLKlZQKXdGNCNCKlN5cUNwSUNjPlg4OUN+M0EpP0lhMClkbDI5QjAlT29PJGNtQUg/
ViE2aGwxZ018UF5wemUKelY0TTFPeHV9ez9pKSg7a1NeJUU/NzEhQXh1b2lHWmU/S0NvWTRfdjJJ
Mk89fGghdmJKOCo2cFdVcllhKUUkaTRyCno2VSVeJisyMTNndj45eldZPzU2NiNVZnpHVGtxP3V1
WH40X154RztrZDtfb3lzcEtXfFJvSGckV3I7MzdqV1dBUQp6dmIwMHJhZm47fFYkaSMxQypEWXFU
RE8qSzkqMklxR2V7I0wyR3h3IWF7ZTxmI3NgM2d7R2MoWjh3U1ROLT9qV2EKekM9KSFpSDJ6WU5e
PmM9RTU/IW89Yl57IztNR2k2fio9NyhNUlpMPGUzRj07dTdXUVlmPnBoJGc1KlpjQHE0YGFVCnpC
Zzxidm0lUENqamNRPVFfZ1lmPDRidXFFYX5kM1pCKCN6a2Q1aXVFQU92XkYtQ2xxPlIlS35nJD9Q
TyM2ez0lYwp6bTtYPmA1YE5UMik0NiZBXkxtWiZRUF5ncjJzKkM4ayF0M2cpbF5jWi1Ab3FPM1Ep
OCs1M0p7YHBFR1JIOGA3U0wKekU0WnF8TVQ9UUgyM2MtOGxSQzViT1QxUj9jZjhsOG4lWkdiSkA5
bkVOVzEtQDFlZyolQSQlSG0/YmdtM3lOfFVwCnpnKFVVWCV3MnZGRXJqe0htcXVHUnsxPCp6Zj9t
Xm85OFZzYWF8NkgrMypwWjdpTStsPUFlcl50bDhQe2ZmZnxeMwp6K1p3aTBxakh5V19Xc0c/e1El
MU4waTtSO1VLJD9yKWd9Rkd7RE5JTWBFJEloPmAlQzZqIzxWaSFlTllveEVjekcKekhqJXVON0Bj
JGc+eDhZKDdgQylITHA1bmRUZ2I/RDdZZkA1SGwySGtjNVp9SEdUWjx0SCU+SWttPFI2LTVMUyMy
CnoyWFU1YTAweX5nK059Ri1APmYlc141ZTdiTz8qeitqQEt7aV5wNClJcWxRWkBtKzszZzRAaEBC
Z0gjfnF1TlIlMQp6Y1V2fG1aYXNlY3tISHBzMX5TaHc9Kmk9V0ROWnc1VWp6Uy10PERtZnFgfnch
VDFMemhZJTlUckk+P2hXeDQ9S2wKenlvTW9RdzZfVSFQJDMyXllse192JGE0XjRlUi0jUV4qUzxn
WiZTZm4tez5XWkhhZHdsSzEzK3EqUmxTNSpYbVlUCnpRWTF7dSFLUkw5R3U3Ny11aURZcis4MEoz
RjdEUC03YFdxUUw2QzA2ITQzK0VNTCZSMDBIOEhMcDs9NiZ3KGx7Wgp6SSp3OCtDZUJoaF8tZXM3
VWk8LTk1b21pK3lePjFuMDdGQj44XlRyYFQ5KHlpZ3tzcGojZFZXbV45MGBuWk1iSikKemcxRVFH
d0wzYDRnMkAoUW9Pb0t5P0BBSV5yVWRWMSYqVUxTKVd9PVNjPil6fGR1cDQkISQpY0cwP2NVRllj
bUJHCno2K09JdVZkVElKVXVSJHdNMj5KO3IwMk4/cSl2R30jMHN9MU9rUzIkbz0mI3FAQiltNDVz
c2owJDxQKWFSYCRCYQp6Wi1jS05JNCZYe1l9O15mcClCJE1AJHUyfT9BfkJXbGJoTFomOWAkTHM2
NSVPX21UZH16cGhoKEBEQDN7REo3dlUKenFMRUcrK3ZDfjlAYWJUTXhnZ1lkdF9gRlE4TlFNUVh8
NWpDX0B5NGxiSWE+USVgMUI0Uncoe2ZzKTltdyRQfVhnCnp7bH4zdjBpZ1hxUCV4fF9ybE1+elAt
T1YrZlV+Q1RxUjJ8UkQ0YGtTPWxmUHR6Zjw1Y2lTRF9aJmcrTU1yfTh8aQp6TzR0NWRgendIJCRO
bVF2eXclQFlUQlgtT0tZaDlNREczNChNZFlNOEx1VjtfQmdAR1VlQ2oqJUdVKUl3UzZgPz4KeilT
R1dXMGhaS3JjaTdJKG5oJClLeEkhKkJ5cVlQYl5rWkRiS2k3I0BAOWhNKWNER0ZMXmJUTEpyXi1n
OFJgLXk2CnoxQTE9YChyeSNwYmlVMiRQN3dWfGg2WT4lXz0rZEVsRz1JemliP3t6T2ZjWUdNZWYr
VT01dD97SDxIZ1dHSDspSQp6KmIpSjxvJTJkUTdtKVMjdVE4cG1gTUMmcDt7YER4YjFmeD87ZlhZ
SnMhOXBVdDdRfSN5blp+ZVFDTXBAV3ApZmgKejtKfD47S2wyZ2xFUk14bCtMO3soTlMqWG9fT0df
bkslTzV1Z2FGV2BBM0VlRDFxNHVgZSEkJUg0KEg7VlE9WlFGCnolYk9SIUVEVnxXM1UzYyskdjNT
dWJkMF9jMmU0P3B1WlRadWN3R2I4aWxNPHBfdiFvXlI0KWozVElkU0VteVF8NAp6eE9XJExlM3Bv
KjJAaWBlZnZTZ3ZPX2JsPGo5Zm8laTdmfns8MV5PfFpudHpyZ00hKiY9OXdYZ0ore3pERyhzNUYK
ekxJelB3eUpYOV5NKjk+bTZiRlpjSF5OVjF5OFd2e0ZGfD1hNzJQZVJRNjwjc0VMWDFab2J9cz55
QkEpeEFCYzNiCnphIX5haWg8KXZgOyFgZFJFJm9RQFVNTC1XMklsTWZDcTJYYHAyfHJkSSlfdj80
fndGd0BzeVpfc243cU5ZU3xVVwp6OztmaHpKdFY3QyskJGBQbCFNIUNIUypmP2s0JSF0dlBJJnU9
TFk8JjIxVWI+XipUMTk9emxZISMoMnVvWWNCdjwKZl5XWmt4eyYhZUFwKTstIzBNcmAhYjEze2E1
UDBWWDBRIUZiajBrYj4KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibSBiL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NjBhN2Uy
MTg1NmNlNDlkN2EzM2EzNDNiNzg5ZTVkOGJjNTlkNzk5CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJh
bCAxODE2MQp6Y21lSWFje28reXt8Q0RFSVVNc20mcXRZT0F+VDA1THZxYVhQelZ0c3AkeipOTitg
LXVBJnZ+ODNAS3hWKH07e0kKejVraDFyV0o8X3o/JCtufmArZEteYF9IfTReU2skLWBgckVQdiNu
dlQ+OXlXI3lAJlBRY252MkNeWXlQMUFwSzNgCnp3Pz80UVVuZnhPJEhzP3dvakk/NmpleWNtQWZV
TGRVfmRRPFQqcUlxbkJgbi1HSkJxRV4oZGFoeGFfUmVWP3gwewp6Rjs0NEJLT3tENl9CO2oyVzNf
KGVaU14+bysyTmxrenR3WGpHeHFxUyNlZURuNHU3bHJmOCVrYHN+Vn1IQ3ZpO3IKekk1WVVoJDx2
cTRzO0o0UzkrZ3Y2UF9XYmNwSyppaGlNWjZEenI4cjx6V0o1UGY0YXZNSlZieSgtWHlYZCR0NE9a
Cno+N0MzYWZKMyNwYWlJYThSfT1Oell8U244amppR2NzSVJ5MzM4Pm1jKylOXlRQeyRjaDBAbVkh
YEI5WGgwQ1h1Wgp6Xz42REpLYFA0TkB4ZFBlO00jdkdaLUNKTTxUNDxNZjRpcURyKmBDXmRrMWVw
bD5jT2s+TDBVKDAxZzA9NU5AZ0MKeiNVWSZXJSlJKHxvQHN2bFVjV15pe2dXKVF7N05VQ3g8b19M
Z299diFpQjF4UHt4bG5LUH5lKGdJRDM0Tzk8Xn0xCnpzSjh2PklCeyh4bCZGclJgNXZTKD47S29v
UH44V34pdVJAT3BIQCgja0RGMjM7KlUyfXdgV0d1PUNTY2lgVkhBfQp6a0pYV3ZNTzJMTmFUeFZe
e2BpK041PXBWSTYmZzY+RE80bTxWIXRWTGUyaztoUHQxLXBSQHZmPl90cCNOe0hGfk8KekopXlda
ajl2JEt7QmI+YDJOP0FSX1ZfTm5Rcj50ZWIhd3FfdGc8SHVOQ1NaUUtxQmRaMVQ4YWY0SzMmWmZF
ajFPCnotaFAzPF5BPjtTNk1pfnMxX3ckNjNfeSolWE92V0Fibn4waFo0cm10cUpRdCU+Klg/Q0hH
Z2xWenJ+Rkp6KzJFOAp6VVNPeUNUaDA+ellOQT9GdjMqanBQdHNpQ1AzcmlvazVLPnlmQzZib2BJ
d2N+aTQyMjJZbiEzRV5QflQ5SjdzekMKens0SWBQJFVOWUN3aFdWfmZhYnljb2Q9e0ZGaVZvY1l4
dXVGaFBoMWBBSjl+JlB2bE0kOVQ+QXNvflI0dDhyNFNKCnomUGklaXBVVnlEP1ZRYjM+X3RLa2F2
a1dpa0B4MHVVbFNjQHt8U2pkaVJqT2tJIUw/RmBgdGE0PHQtOHR0QjZSOwp6ekVPKldDQFh3I1d9
N31pTFBtYGRtTn0qZVgoMHp5e2VBcCteUE5BSj9JMnAoKHdMUmd7e3sofXp4X1UqJWx6TjMKentD
KTIpJGpFcWMldlchbTkrUlhWbkRmQ05YRjA+R15qJlhyVVYoLTtFPzU3QGArMStEMz1MfTAlbk96
Izt7TzFTCnoweXR7bjFhP2NLfDlZSEI2dSF6R3s3JipBRzFmJD90bkAqT1FrVHJyPyFPTz4jbTck
PkhSJTshR2FyKyNjeGBFUQp6VWdlWCQtJXNfcT82X3lQaighIWptTGAoTDhKNHR2QHh2bjY+dGxG
NCg8fX5aSzllWjxGZ0tXMXNgTVc/dT9KSEYKemZjWUIjZGxyRnotPmR3NkVUUl55JFN3T3BOIyVv
O3AtcmdRUCokaXplVSNJMWczRCZxN3YkYXdKI0MtbTw/dWk1CnplfTt8JTBFLWEmS0xlM2AlTl4z
S0p9OzhOezluVUZDS0xwKnBaSDV9I3gpfFExMHA+R0dVbl5iPTR7Iyk/MW1xZAp6WlFnVVpTZzQt
MklPX0Y1I2xgQlZpO2VBaHlSN3EwYilsbm95aGI7cENqUjRncTUzO1NSc2J8XkFDfG0qTmI+ZnkK
eitEI0Utb0tKQG96K256bldZVXp4JjF0cFVCRjQ4eGVRJGU1V1I+Ml97KGRoe3N7SFJPZmNmQitn
RGFeZEpnRj1eCnpzV2tsTmVCeTFOZHMoR3IrMHlTeTdNbSY7ezt6Smp6WFVEPHoodFcwITZHTHRN
R1AmR3orWkc+YFU3PE5Vbno8aAp6MkZyOH1ERX45WV9pV2stcG1yRGsqKTt3JjBSWWY8UjxuMSM9
UW0+JjlraTZTdjYzQ01HI3M/RGBNPGklSn04XjkKekE7OGpyR3pnP0lUZ2w0NCY4QTVmSVd1dFg1
eiZMKmE8VFl7ayg3NkJ7WDR9Mz9wanlnWVooXklTSVJeQGxKdlN8CnppfjEkU0RuNDIzQyRKYVle
Xm9HUVdWQSNrRjk5JVRMejYtTHhFZE1jeyktRiVZMDM9IVQxP2YtTyNoMERuNHg5Tgp6KGFMQDNm
NXJiZGV7Y2lKeE9GWSR7I1BZUExuflM9RCtWbjhpcCV0Jm1FV1ZhRVJmeWZlfGBPKitwMCN8R0dP
Vn4KemBqNTdkaFAyLVFLUVhUVmIhWSRvM2pWKjIwNWloc0NYdGBKRmd0SX1BJnwlaGZ7YSoyWGxf
JlZwcENMOSZFaVU0CnpDX31mc15nYS1NNzBtdlBnJFI8Tl9XXyMoakZGNmY8LXxrKCZicDBjNVBn
e3E7VVhsJWh4Zm5ONWJ7USF2VHpjIQp6O2F4Ryg1d3BaWTF9cjVzfDFSflBBIUtMZk1ucDFkZyMh
Qmo/dnEtUTdYO3ZHd0pieT94SClhbDM0bmM7WGM3U0sKejQlcmdPTSpxTE57JTM9JUFRMShFQiM7
SyVwVTZ4aUVzQXYzZkdvOz5Fd31faU11V1U4YW5RU0pKKnpWcFV9V1AqCnowU2Y+eVo9VDRRdV5I
WWpeMzRgYzU7Nlh1V3pPIUtKcnxNWmAqTDBEVkF2MFF2WThEbmwrRXN6Xz9BbTRuQXZiMwp6XjIr
MV4+flNUcHIkRUJoI31xJngxXkFRQklBcVU4PGNUTWhseDY9QGl7WDFeR2I8YjgrYShjc2hfS3xG
VH5ifm4Kelc0NWshekBuXmVZIWQjSlR3ZVlJWH4+KSVkRH5fJV55QChsTlE+bl5uKktLVyFQPzl3
KUNIU1Y7K3RKd1VTM0lPCnpWOXQpej1gc3tibjdqVkt4NGlzT2xOX196TDNOPW40dyE9O21NXj9o
IXIzNC14ITdldjJTcFp8WVV1R2NMcjh2Pgp6N2RWSz9iUm5vU0AqfjErM05ieEpEIUtaN0pSSzlS
S3YpX0RPOGBMUEVAOEtOcnl3Uj0jTFc5dkIlV1BnT3RnNXcKenZLKDd2WChgRE9aKjN3YVQ5eyNa
UFNTP2lRbkQ8QVIkb2RxKC1NR1Qwdmg9eDtDKHR3MEcwe0IzZGF3YV9OaFpmCno+Pmo9OTt3K1gp
aWdVVD9DV15DJjctVEhUZ0srYj9xS3Y7SGtFT3skbiEwNTFVJTRtNChnY3h8UE1KdUcjYG8lcAp6
N2lTRDBAKH4qVilfPjcxPzNrckV0b0lqZ085O140XmYtVlVLYEtrKz9gJW5BbXh2a3ZHWGRxRHxB
bDhKR0t+ayYKem1yRChDQWFhNDNqZzNvPCV3SF5qRyR8YXdoUVJVPFhpYWtkUDZ3IVlAemhseUds
RjJ8SlFWOG5JZzIza3ltRTEqCnoyN25hYERuTFo+KmA4Mzc8Zlc1UV83cHdmbXBKYVlHKDtyI1Yl
RGI+aj9iezlNcG5ndGtVdUxoTFAkUjQkKV5LPgp6PkohY3pjXzFPVWApfkIkNTZncXhlQEZqc2c9
NylvPzV+OU85fWkwSyQzX2lvPT8rKEd5Zmw3cT9+Y3FVMVM4fjUKejt4NlY2cTFUcnp3eCZqQTtH
KHItQClQfDsjV3w2cGtCPEl0TFZFUWlnZmw7I2s7d35UKVImWmVXOXdsZDhFPEs2CnpCM295bFkq
SjhvK3RRP0ImXnxANnRtdTx0YT5kJi1EYU1rfEp+fTJWYXZ0X0tFMnx3b192aV8/aG82K31HajVO
Ugp6SGBII1B7PDArXz1OUjVuQTlqK0Y5ZHpfbGMrMzY4RFk+e1ZKNlRhQFlzNkFVQHNsJEVWUjJ8
KzVQUmR1VzBDdEQKekghKW5pSExMKV40YTx4VzJ8X2FuUlROcEtzM1RPdHM4M3lCamltaHozMV80
blB8c2llJEk9OHpgeHtFTHtQQ3w0Cnp2eCgmV2dBeFpTbDRObiotJnwlQmlRKiNtZWAhbypNSHZT
bk9NUFV0JFZCfnBQcVlZO2ExWVhgM3l7ZShreFcyfQp6Nj14dHJtTW1zOXAlSU58d1VtQEJXO2Ra
ME1sejghWVpJRCtjdmdmczUzb2xuRnApJU5tdFBHTGo9QTszZDJCZE8Kejd0KE1FezxFdWlBfk1m
fDNgPEVfIWBNVGArKHExYCQybWdxaiFDNyNecC10a21jN19uaypxfDtfPjZSR3JDRH07CnpkaUB7
I3AoaUNWdllGaWFaQEcoeGdHfiFVNz9FOTM1NVJDNTBCOCF6QlktcHN6SkBTZ0x7WGdKMTJFUiRZ
QCkjewp6e2gpOT40S3NAc2dnWDxmRjkpcGNvcl8kWWFkI2xPYEtkfkBGb2lJK28odi1xcnJeJkZk
Y190UHsqdktUem9iK3MKejdPNThpMkMjeTMmPjY2Pnl6ZjVrPkVqPUNGKzM4RVBmU1RlSGJ+Xisw
ZztJMkR2QzJPUCE4ZWQ7cE84TzVFUX0rCnpBMzd8OFl+JGVYaipXIUAxO3N4UylqXnpzOz1wMm55
QmB3ckY5VShOMk1QQT5fKmFEMnU8KUFVc2JsNV9oTCM0YAp6ey0rQjYtdiFRaWtkaShBdCtNfWpT
PChNMmRsJThTSnljVz9XJjdaI2ZjNXUxXk4rZ2ktU05QJUZ3d3hxUXFTN2gKentGSzQ5MzxVKl5n
SWlIZkxFKSZ2LXdPYnRWfEFnU1dwZX5qX0AwMCRnZmoxfkd6Mys5dW8xQnZtNHpBKEM1ZDxVCnps
al9CZWZWRyg5JmkjPl5AdGlBQ2IybmMjS0pkRCkqdD9ZNCo2SkRQazt+dztOajl3aE1pbSQpQE57
QkErclRFdQp6O2dvTkdmalRKY0FePGUoYEV7dyted3txVD8kbzF3cElfQlNlMEU0JlpAI3xXYSk5
WTt3PUk2NUApSz0jY0hlZ3oKelBzZ3pOSlpIcFVNd2ElRDQhKmw7QyspaU10TnFKVk9fO0E4ZDVe
UERQbmlIUEZ0MWVJZCs4M0VAVkUoNCluaSg1Cno0S1BEQWBKZzV5UUhYaERjLSg/IWUxLUdjP1hV
NE5NRjEjVklpMmVoYzhQdV5vUlJkSmR8T1NpS2NNTzI8cnY+Uwp6Oyl8WUVRQDYpQ2YtSlNndHZr
T1NaYT8zc3BGVmV+SEZWUShDfiMpZz5HSUZKXjwxR2o4YlRldCk+UntPeVA5R3AKemVFZWNFRjhE
YEtmYDt1NEZyMGJBd0Mzc0VAY35WcTtHPy13cClWPWRXSjVtblZCKz5CK0lldy1ValY3bk1VIWJs
CnpyK0g7Ulh6S1NTX0MmVVQmZDx4QUQqd098OH10RDh3b05kdU5XdFhgdnEmYU04ZkZYXjI1PzxC
NFQxbUp3eGNlcQp6RzBGQlF4NkNubmhwRHJCVylrd1QtWGJFdl8+fDJLZlVgTS12QnlMSjhec3ps
JTEkVk1gMiZ3e2xQV2l7czBOXl4KemBtcnU9WnVDaEUwUGApQmZaRlN7SitQKE5MTVhPU1BsVyoz
O0JrJCZXNzNBezlSVnY+bU1uS3EmT0BKJUZZZCV2CnpKeVNBcClefXo3RyEpPCY3SjhxdVBYTl95
KHlNMDlmUmt7MCZNXks+X18jZzJpNGo3fT96VzY+Y1ljO2k/SktEfQp6RUM9d19JSDJ9UC1gblly
UWJgdiljR1NgQG5VRDQtI0UraFpha0sjRjxsNjtrXmAhZWplSGBGKyV6MGVkc2wkTzQKek4pKHBL
dkxwe09HYT5TJU5YeU9iejUxc0YlPSpyUUdqaTFwIVBHZj5TckImYXd8NilIa2tpYnBFZEFael8z
aDBxCnp2Nz0/MCskKn5TNzZyZFg9cTJSYXp+bmlnMyV+X3hWODVCQ2N7eUckXko4QzlCIzgyfCFn
PHxXeUgqVjtocjNWQwp6QnFZZFNYJERqWFF0cH40SXVTMEwyK0ZjWnUtIXN5ITNuVHYpI0BFbzB8
UXtSclE5e0thQT5acTslY0Vkd150VEwKejEqOWNtP2lJbmZSKzI0bkxZKTh6WmR3RSYxLUVMNWJA
YXReUExAJShTPDhWY0hMN1A5PyhWZngmbUh+IU1pbXt3CnomX0BteWVaRTg3aCZwNjRFSVJNc1BC
OztpI3x4JVp7WUwzJWZzcDZabH1RdFFlU31ONGVYKFBFbiYwKkY+IW1KXwp6KUd2TDlwUlBwbShB
RndTRT9PKldDemhwb19lSWZDMjVWdC1Na2s4I1M1R3lpS0B+Nm5NbF9GR2BvciEjQmhrfEwKelJD
VF9vMTtrZkxjPkJ4ZkFkUVFmSngycUZtTTBCeHZNbGgrQkd0KEAqQ14kaj9rYDZZUEVnVX4yKjBA
fEFGdlhCCnpebj1RZi1XQlopa05ndTI5S1NhPzApSEtFcXAmWiF1TkJ8QmR6XztSKilyM2dkamRw
JkleXmFBZ1Z4dWVhUFlYXgp6an1xOGFaXzFSd1puRz9EZ3g2KW1VKU9JJk1YMVhadkp4bCg3ZDA5
ZUVoPFVQUU84fjw+ajRVPT8lQlh1PFRpVEgKemdVUGxXKy1GUnFtNjVYd0xUfVJgQE0jYyQ5LU9D
dmBSNHRTe1pONDZtU2JhZllwZyRzWk1UajM7aHBRRj9YTHF+CnpFVzdIU0tDJUFkKWVmSG48fSQt
NGIqP2M5RWUyM3xXdzk+Y0V+Zkw5Zi1QTTx2YTt2Zkc2UkhJYj1MM08tZm5UPQp6PnptbzlaRXJO
Z0tEKTEhKzAjU00reFNmPnYoQE9kcjlgQ3B7cTNuK2ZnekMoS3NYdzdnaHdoJUNORTY8NDl4a08K
ek1+aUQqXkBURUlwNlJRNnsycFBYMFUrRUg7bmUqeCYwak83WGA1fV5OOCN5ZDNheC1TUDI5LTBu
TTNOKDdvTlBJCnpreGcrSTB3I0NqSHsxJkpvV2VCanRxeStqY2d5cD5INmRQfFQrT3MqZTQrelhs
Q0BgSyZ1fW9gMGNqZWRkOyM/Vwp6U1F+dDEySndmVTNSJDtXTlBsTyZOfmZQd2hMJCpVeSRQYCkk
aX0/KXcqPTg9ME0zXkc1R1RzUjZQTEtzMEttaWoKemR2KC02Mm1tPDw/OFFKSndibnpyUTEyKUtJ
S1lCWnZtY2khakQ8Qk9ITldXWl4zLTVMcUZKX0xVVENNVG9aYDRsCnpzaVJ2VHlaYE0lekE+SXFj
UFc0OEpzZj9PJU5ucG5leXFsMWlfanhIbT15bSg8eXI3ZmppSjMhZlRaMkUrKyFzZgp6JWdlMFFS
aG5fKihaTil1bG9FcjxDKF5jVHdRdmZNUjxyZXNUSWEoa0VSVmVOPGcldTxGMXBzMT5lb2RoXmt3
a08KemxVLT9BeWwxVDluYSRxJWhVUHJxPGNxM2kpR3RlMjwpISZtWVliYyRMNSsqTF9VPnlHN2de
VT9eYD1GcndvTXJTCnopI2h0dWxKR3x7KFJudHVVI2s7RTZ1OzwqUiMpfkcwQjtyZ3A1KnlaXmZ8
VU9QLTxWPCl5dzw1dW5kVEomSEFheAp6X0dnRiNZTGE8cFNNZjBfUVF4KUEwSDteWFlxWWp9TyYr
bSZ5I2R1QEBMKVNDdjtmQitafl9RTXFsc0MlVG83T2YKek1FJUhKV1BfVVdPfSF0PlVaXktlMDcw
OzspYlRPOUIrTl51UjB+PEdQTWkteWJUUDAtWVBYQnxRNXJDcnl3QDl4CnpUMmxsc3hyUmY2SmF0
dW9eez9TWWxKZVVPeClhPlVTX09CSGlnZnV9ayM4TyV4bTFJfCYxJVZJITUyQSNUMUchdAp6by0k
RShkX3NLLTJAYGJ4WG9tYEtNaXs/JWBITWQlKStieWZ7VV8hKUZFdkQ1SmJrYUg9N14kTiNDXmlV
OVopM1EKejg9UVRgP2FIdypVT1dAa2NaVklEMFlAc3F7VFkxNVNsZUx0dUsoc3x3VlB5JnVLaUUl
OWt5eSR1ZmJMZFFlSGg9CnpSbUhHIXo4RkxXe2JZI3pWIzYhQ2V4NWo9RjJHUH5rYDh1ZGMwSX1O
cWoyUFkhP1d7KyNiYGJOcztecFNVOHVkVAp6UHdPQkhJQDtfQz0mK1Apc1RxQG5mRTVCMXNuUzlu
WGQpRV9UZjAxfT1TbEVRTiRsfG5lRTwofTApYDMqPG5iV3UKelJHUj48IUxFTnFHbk8tYUVaXkE0
d2h6ZFhDaUtgUCN1TjhpaU1fXkNZakhzck05LTJYcE55PXg1MzA9Yns8PEhNCnpjTEpMSD9Lb283
QTJqKkZMZn5+cUpSPFlkOUlyaEtnKmtVI2QqOGlBY1NaTGx3PmRWYWhtNSt1TS1raCtOSmZlTgp6
KVc2c0N7WWloJmQzTDZZVmdSdDgrc2w9Z3w4V09QaEBMb2hgai1JUXl+PiFOMnxrdXt4ZUo9PGQo
M2cwKDRjWGAKekh7TCQ7aSNfJG5RaFo/e0BOTDRVUHErWmBXO01EcT04eVlTeDx8JlRZdmI9NjNl
RGIxZDtPP0Buakl7VGRWYEtWCnp6cEgjSjNreXdQc2QqZU0qTH4zI3Axa3Y1VSs3YVhFbEtaLTQl
WlkxOVRxVnwpITFGbURtX21EUCVERU1Vcyptagp6RFVnIUgkMyFLVj13UWpWeFdUNWYqVkdAblgo
QlhHPzMyZ3ZUZypXbD55OGxyPipJaVdrYkUzalM0UlFteUEjQyMKelQrI3JEUjNiP0xkMmxyRSl6
QEslUlBmTyZFYWpCKm5zYF9+eXAwJm1AcH1pflh1Ty04PEx4WXYhe2ooMm1jaCZzCnpldCZ+OWRz
UGBVYmsqazRndDtyY3gkMjRNeiMoTSFmOzJjN1FwNFk7c0hwV0w5LWxKd0RvKnE5Vj8qMUh4fm4p
Ygp6MmQkNEA3blNWZmh9QGBXZWI+R29WWiFCTDtNXm5aJEUzKTFhI3tOKns1Rl9leiVYWj4zPTZs
elZ8TnQqeSY1JX4KejtzVj5mQ2IjO31gcz96ent0MUk2VnFRaXplIU05flJVQXMoJFB4TEszN2tY
Wk5mM2lYJlJpPS00JTVwdz42Z0gkCnotNzxHT2ZfdDN9bHpBSnNzb2cjWF9RUT8jP0lPKHA2I3p4
Izt2QSE+VnI7Xj5hV3FicFpYNlg0Qn48YkFVe0JIIQp6ZSNhKzcqV1ZEaXRTU1ZJTEN8NjYmfGtT
ViNJPkN9PzF8PDFmZTIpR15pZVFXc0hhSypicUgzTnY5bzVNZiEwMEEKejl7cFlFTHt1amlWVXpD
TSZGaGd8TmxxKFdldGdyUHNUUXNZQTVtYjlvWGUkKSZNPkN8cUJtT2w/KCp9VCUlQmxRCnpraXc9
PFlmNEojZHtNKypALU9FUHRkSEItNzVUbkhsWTNVVUs0JTxlWEl1TTcqSnApfG9BN2YqT1BHNkg7
WTklcwp6eiQ1WUlKWjtDbGxTfTViMjheOTZKcnFSaVlkVjUqZ09XTDNQQl88ZF99fmZEJFE2fVkp
RVg7M0kqZ2pNeVZqJnkKekxOIzMldkF5Nkw/VyVTS3RLdj44X2AkdFI4R2R1Xj1VcUdVWl5nJCNM
PzdRVG9sOD9ZTFI2Q3IoKlUlbDMydSs0CnpAKFBTYFVvYUtpOFk/RURhSUpfcV9HM1g7Yz1yUWh3
e093TFh2cTFGTzlQd21veTtta1A2OXhGQWVqPVQpJnRsSgp6YmZDMTVlbWUzcDA1V21zTEFYcDh0
TXkoYzNiKWNEMEtwVW9zfSFOSzlAekRPJTlLcnN5WUFpUmRecmQ1QytWKjAKelBFd1ZzNlZ7TjFR
Z18oKFhuMHJZeVZTa3c3bF4wUk88YHBiPTdVeWY5bFBwQUMhLVB9TWJaYEdBVnkmOCtve3pKCnpM
OzRxZUA3VkZZTWZnTkk1RTAkQDQoQ0N8SmtvSkRIdWt3U04tZER3RmV+PXdfck94dSpJQVghLS1H
cURFMitCVAp6N21aWTRMTVQqYz8lUGNLRmFXPWk3SiRkJDxqS3k/Z3h4YHd0dGNXUj15JTxuP0xG
ajhSMFdzT3JGWSY2P093QUoKej5hRWIqeklncGwtcTQzOHdBWCUyaXo9V0ctJGlYfW4pem1RQHI0
JmIrY2ZSaU1rQSEzclpXM3lzfitXaF5ncHoyCnpBenV9bnF5ajQmIVhgM2ttfTBqNUU7MTVRRS1I
WClQJU8+eSM/NlZUXz5MOzMoKCtJSUZsdEspTUxQYUBVe016TAp6bEBqMWlBeWpzVjBLVVFkSmhL
YDMlQiYoV29WdiVLR1JJSzRxKXFBV1pwQ0h+NXUrJldLQ0p2OGF8IVAzI3tDe0QKejZoOEZjNTNr
OUUzJn0kUElUYFFvQXxXKFNGYk1sWjQoWVp2JilFZmpwJm1QWEU+RSRZez9FfXgpbUwlTUh9SVJe
CnpISGZgKC1fSEd0IVd7dzclOEIrcjNEbHI3OWZlbiNSTX1ERG4tNyNgQHxzbFJgRlN9VHgrYUM2
OEp0MTZsIVRGbgp6aFpJfT0tOUtuPHpwcnx2JDxfQmhoYXtnfmZvfTkxO3JUaUE8P0c8UDhlaX5B
O254Uz9vU35USm1kOFEtNTxjRWgKens0IVBaR1d6RTZ0ZypYdUdtV0lQRXRFSzBRUD5TI0R6ZnFO
UTdDKlBrQmJefFg5Y0IjWmpWWnRlWkQkKmZpeDFVCnpqNWBGJnpQeXU5T0FCTmBIfGwqfFd8NFZm
Syt4TFpWI3xiKkc8WXBGPTBMZz9DVihBU2h4aHBGZTBNWjslcnxsVQp6cnkhY2pFcDdNMkowXnV0
JW5+SmxuZEJ6OzUrU01UUygjeVJMMkg+MWo3PENaWkNpR096dEZzSDUqWXAzWX5OYFYKenspNFk+
cm9QY3U8WFY3bUdoZ3s2aXo0Qnw5dCtDSHAqUUpIRXNyb2VhWll1bEdOSVpEbU5gQUEyUj90Rlc4
T08jCnpRUyRnfVl3KXw5VFp7Z0R7LT9sVjZiM0l3Zm5VSndFMSRqPj9tRzRMNFg7bE5gZTkmMEUh
WWlJPkVOaGBnNSsxOAp6KlBGV3VWdE8ld0gtNjdVelZmRWUwcTlWVEkxNkFjJSpZKVRhTHV6TWEh
Zz87ZEtkI1Fsdjh3fTs7OX5naSgja3sKemprfnBFbz19SGpBVGZ+ZWRrPUJhcjV0bnNfKlk2TE5N
eTItWnA3MztvLTY2K3U7YXhLbXw/WVoxblU+Q2hEaTNOCnpmY180bXEhO1MoNStHSzFvTS1sOVBq
KGl7Tjd3byVNMitsTjArOXVoJEBrPC1uOzhSODBScmZAQGZ8cFA7bklFYwp6VV4pMWx0fCtqVVNx
ZGwrcV84R1EjYlhia084ZUFZT0teMlVkQl9IVF9CJT1+N09KQnI5JmsrSj8xQl9NM2xsdHgKeiFu
ZihNdTMzVSVTPlE4d1l0cGlJY31oR1RWQ19ybkFwNXdzR0slfjU4dmNTJmhiRW9HcCZ+TGJIal5T
YW1haF4lCno9XlV1Z1hfZFNraDRUfHclaGNYO0RmZTcrPEQ2Xk9BcSVOfTAzI1AzWktPTW5gVTkt
eUFxV0pnS3EwNUpCQjZPMgp6cmtfbUooYmVZWWZuZUlCT1hNbXxRbFZheUY/alU7bSVwXnhFc1o4
b294e3FOP3ZRZVh1bm9TRl9IK09NIXQ1cHgKekY1YGswMmcjaDhRSG9uJVR6ZHRAKUYwWDVrMW97
WEJTMkNJOzNWcW1pQlcmT3chKUdgeHV0MStqRWQoZkxTRzI9CnpPdndrUXAtfVBhPXcxZW5VZT48
WSozLV9YKkI9dkU1biZDdm41RFUpJi0hR087YllpdUpLRHs2ZnMlUFd7TU5aKwp6JkZMWGY3Z25h
NUZRaUxARjNEUTNROyY5fnBPbXtZNEpOTlo7TVJ9PjJNSkdVcHp4Jm5CI0Nja3QkPCF5Z1BXVlIK
endJIShpTWdSOGl0VCo0ZCM2Zkh6ZGBoRFheKCs5cD8wQm5TXkNDMTsmJjY+MDthJnpLWGUzcmA5
RVRkNShGJilhCnpWakcjPXVVZjdqMig3PW0yY3xuVXtKYHdqRF8lIUhreiZ5SipfRzZLJDt8UGp6
MkVCYCFAUUZTOF5wdUFAK3syUQp6SlYoeTlCMzl5bmVxQDNPPyNENjFAfEIoPk5FYnBhXl82U2B0
aSNre15zJE5rMCN1PE1HWGNfciQ3em9Mc0N3M3wKekMjeVJnRGFNe1dae0RCS2Q7RTUkeW80KjI5
YWxqbG1GeFo7S0QqQ2FLUi18PjVpazVeOzdFOW1OKlB3ZXpucnh2CnpHI3ZVMVFeKCl+YkFneVJ5
SSlHcnJOK0tQRWdhOGNmKncrenhAY01MdFBFTE1nLVRxTU1QT255THA2P2RKJm9wbwp6Y1c4aFc7
Mio8K3FDO0RpS2ZxYGtyaiF5I15HSStXdVdRZFJpT08pTVlOJlo2Rng/I0ZMRW9sJXY4MGI1MChj
KnUKenErPUlgbVNAWmd6cG07Oz8+TWhQLUYrPHtBVnVjfjJLPHlrWXlBJFl7X3kja0MqZT16aXxE
LXhLNW4pZDJncTdyCnpOJXdzYjYpSWhCaDQ9TypIQjZDQjMyczklZC1NbypFKFQzYzA9cV9+akdV
bFR3PHRtNl58eVF9NCM7WCFBVkJ1Owp6UTV4SGR3aE1nTmh3QCZ3YSNqMyk3PENHPUo4YnQ0WSt+
YUw4IXBRKDFgakA4eHNEZHkkPUdIQ3dGKThWJnE7U0YKejRzc0l7UmVVcih1ZUQjOCt7enlIK01o
VUwtMD9AMElXZjRlJVgjUk8jST9oPW5jQzA3M1Y/KH1yPHJMdihNc2pHCnolRXVKIzRFMmYoVSpu
OytEM098VHIkNVJ7XjlwaDU0IXIyUmIkeGktcTJsbl5Qb0FxWWo1JEJAYCMtdUtGKE9wbAp6WH43
eDJyZmNhZDk+M2cqO3NnWitBdXxUQTA+cmlVe20+T0V5OylNYDA9K3xDWn52JE97QkNiJHtNV3Ry
YylEKlcKejltYnFjYm9aMDNONGpjTXtsbUVCdzllP3o1PUQ4fGk/RT1LMl43SVA4JGt1U3dkJX5s
TCFsPUZgfEElNF55Ym1rCnpydHJpI3shVkBoIXFsP2J5QWVJTmB3KHIlWCNsaGE1QWw0amkoUHVw
bk9JTllFXkgofjV3UDxfYWw2eHBPVjNBXwp6OStfOVFYPlhgb2k2VFAzU0M5N1FjR3Vwbyg7R1ZO
OW4rKWohPUY+ekRAfUJteDFAIT9EYHZfVCkpQW1jKm1GQWMKeiZhVV5CezgyKzg3PXMqZDs2N201
SkVYbCNPbH4hSiRRRjQ9MmFTNTBnRFh5TjUzaD19TkRaM01mNUlGejgzUXxpCnotU2RDWil8Zloy
UkpERzB2Mjc7P2xZSXNQKnc0JjtLZmhMTzhSXnN5enVJNHVSd15DfHtQQ3dNXjx+WXQoaEB1Uwp6
TEQ1Km0qaz18e1UkUFhTeHx5b0R1e3VtYENDVXV6ZUhwJVYqLV5Ycjw2SjhEPnxEcypgfmJWVHFO
JjQwbksyWVIKektffHw4ZzJHdz9sbVBvckd4Uk4ze0h+c0V4dzUqKV5AZiszUWlkNnhGZnE/dD5n
ckQwXyNCJW50IXc8V2Y3Q3JMCno8bmhHcDteN0NOQEhxaVdNRFFgJjlHY0RlXjFIZHxMdyVsKGtQ
JGJYNyUqPztpNV49JnpxKUAoKSNKI3diQEs5dAp6JmdAQXRkd1VKJFYkKnVxeXZaY0d1ej4oMiE9
NF5+ZSsrZC1VLWlEJGpoPGZ7K0chRnZPLW4oJUg9Qz4zK2NlYXgKenJyRm1lU0g2NVl4YThLRzJO
elpVRy0rVjNTd2UqITFuNEckWkE8JVV2Q3JPYnhXND85S1M+Z0swdi0jRlpUJCQxCnplY3V4R2Zn
SVd6T302ayhuYzNYam4wd00qeXd+dmYkJX0hSHRMeDFWVzw1Nl9PU3dJMntjfVE7dmFwaT8tR1pI
Rwp6TW9aWHU+c1BaY0R9O1NzXiZMXjhLPXA0O0VBME18eSl6bFdofHYpK1B5SmtfOEA9RD8+YVQ4
fDlPeEBlOV8rKGIKeitxS2VyPktiT2JFdT5BR21BKz52KUhfYXFHVDsmUXg+ciN8QUB8dGxaMmEr
fkVeaj1GZUdHeT1aNlJrZyt7ZTRnCnpNPldyIWMlMEt0QSkpdWxvQUtQNF5DPWRXQF8lWiRgYGFN
Zy1kSXNMWTdyaiVKfjB3S3FOLXxNU0xyKmgjJWdTJgp6ViV8fnZua2BoNG1jN01nQTgyS2xfd2Zh
Y0ZRQTQ4enQ3MGsxXjs+Pz43O1cqa2F3Xm0tTUdgY1l8fllWOFhIRGkKektAUGcqQDZ2YDJ3dzM+
IVFzdjFGUGxDPihjSWhnOXRGPHdteX1wPlMkR3RrJjtgVFAkXz9SPkhKQzxpWjl0U3Y5CnpOaHgp
Ul5xfkpgelRkKlcoZCUxcGlLdSR0UlB8WSpBKSE9bT1GXlBTTEdIRlQ3M1dTWGJJdVF7ST4zTHBL
I2QlMQp6UWspbSQyQHVMTzE9aH5TKWRGeUpnI31wI1VFTSo4RGchclltcDh1aHojVGhCQWp3Qn1u
bSQ8cWU1ZFhzaXwyQiUKelhLblFObkljUWNjTm1KZE44PHhoTXQ+XzllR0dXfFdkaG9LazhJdWMx
Z0hTOWAoZlQ0b25jRCRKcDZVVSpZPyR3CnpHYDVzZ1d2YVNPJH1qXiY+dnNjaSRZaHVwJTNlMWRs
QHkpKDRQejQwQUdkWklhRW0/c0BSWlNxQCNOUWR5PDQ7Wgp6bSQ+YG8kSXE4Yl4kWDxeTUJVZzww
dzNVU3YlJGV5N3IxTlBmWEopc1V1QV45RGE1IV50KndRekF0RVFONzNQUW4KenA4MTd1UkhjVEBm
IWQ3JlVhM2QlUyFEPjNZLU5lcT99cklEcERSPV5DVmhWeGVkVHd8VUEwUkV5QUBeeyp2RTlqCnpA
MkN3YXxEO2FqKEBvTVZMdEV4bTxeZW5Gcm8+OyZjandIekpkVjFZIXV5aU8kVGh6TmVSO3JUbm9D
dVBmSUc1dwp6NmRCM1hjWF9oP0FWcGRZXjxJeWV4K3UkWSg1SFlYJE9CSk0rKm9ZfEBLfWtSMGxA
MW1ydCVteDFSSlpsMTkld0cKekgyfk9GYkI5UGpEQ3xUSUF7UT9YXz0wYnlNLWxmVUleRFgzMytU
NTFXWHtjJiNtPjNOWE0pbGkobyVkKzlQbHNICnp2bWAoYkBWSyNVJGZnVkAqWV50Tmg5NWdKazZ1
VSpwWWBwSGVzb1V3aX5PKCNWa35WS0M5PShAc2pGUjhBOUs2RAp6Jlo0WV5xdlJkcUNRfEc4ekx2
e2tFJlIhY1pAJmQlT1ozWDlWUU4qK3NMIShUR3J6ajhmbm43JkNkSk1fNCpIZkUKej8rO08pNTd2
K2JKWHA4SSNjKV9FUlFPSXcyP31KZHpQNyEyTE9YQX1uMSQpJUlrWE9QclVRPStVamAoM2FtR3Qk
CnpKMytEYUVVcDtBVChFejxkQVUpemFMdik/dTRKTU9KNWF1YUJ+RTNhdmN7XkkwWmdqQVJzQ3By
TFAreUgmcX0/UQp6eCkqKGF2PFd9PFJzQWV8MUE1ejUxSU1YIzBZTVB3bWNwIWxiZzhwfjQ4VWNM
UXdKPXBlQiQ+X2lhe25sP1Q0VTIKemNeUWM0aiN6PndUR3hQQllmSTFyYDFmKmREM0RDYTU8cDF0
ME14OEROKSFtY3RYeExCdSZtPCZmZClXUFpxUnlUCnoqISVwZDFudHc9cXh8SjhfO047c3VpXjwl
QU1BU1dfPV55eW5yaGI4di15RDteb3Y3PjxvYFZBSzFOKVIoJVo8Sgp6YzdNJElJRygmY0RMJUQy
b0B6SkJhYEdhYDh8e0E0VipzWGVZVHZ1VTEyPHFJbChLdGFeNnslMS17VjZ0eG9ENDkKelg/V3k3
VStSPlYrZ0JNYWFpWnshM1krYS0qLVlmdiElSkBOeTZIMG02aWdTZipXNFdlbVdISXQkYzNFeUl9
V3ZACno1TzxAQkQyRjJeRyspLTdsWHd2biM5R15TSkJeK3khcCR6ZG4+Y3BkKz0wNzt5KXRhaFdg
cXhKKUxNbDdWI2BgUQp6e3FOPk0zMXFjTTI4a1c8UHJ5QlZYSktGS0VuP2RXPUoxa0tWYi1EcG52
UXxya1FFWSlmZHZvazd9I0l9NVFPYz8KemVoNEZFb09HWiVsTWxmY2t3ZUdrbiNHLUNedVMlNGFZ
fmp0Q2dUOGV1JX5xbnY0bFFxbnhJMFEqQCMrdW1ARXZ8CnotUE01O3RvWF49Y21nbzBpa3RnYEg1
KjJwbTU2eFFHWWJQRnZhS2xybnVTeyhXP3k+cS1tc3d8UShHJnc4fmtNUAp6Q2sley0/P3VDRjhH
MkwqJT5XVl9IIzlwYllldW9NSX1UMHA4e0RHOUh7TjJWKHN9ZW9QRVA4aW56a3VGb3pjRGMKejFK
emRqJmJmSkJIPGdQUigle3BaNEpKTSlfaXRNJEVILSpJPlM7SzNifj1yeChHTWIwdHFsRU9TPHhI
dE9uN1coCnozSjIxR0UmbDNYOWt7YVJyPmFpR0peOzlxZWlzIVBJKFI+K3cxbGdhMiQkdzhQeT9L
a3FqPk4rXkRuPUNMJHFiYAp6NmckUEhPUlMtXnVpV3ZkViMhVz0qe1cwMkBUZUJfaUBLa2pgJVcy
YGtOOVllRjNvd3dFRHQ/fWZQMkcrPD4+bWgKektIXjFzKTsrciFEJis/Zi1ZPVU3MzN+Z3RmYzF+
OTJAQDNQQ0orYHtaLWFadiF6ZUlXPHI7fkk5dylBdTl6eElgCnpLMVJDSjZ9Pk5sb1FXZFcxdiln
MjRNPVVRKXo7eERpTWVpUWtkP2dpeEZZRXgzTCNKJjBvc0ZJT14qTmUlTmUoKQp6aClMWSRYUz1z
S1RPKlM0SX1fV2BEJilTRk9BR19SKzJzckFLRVVSeXV8ZHd7MFpiQlNJTHlpKHIwMVBUNn5vT1gK
ekAjTGhNX1h+RSRiU3NmcVcrMClycHRSd340eypfPjQlZGkjcj1zaWJiZThCVj1lUTZzS0U8TXhj
dE4tS3h3SXRMCnpRKjhQaiY1bHdPQ0o+LSlqblNZOTJOeyRQc3ZrQ2pyI19SPDFvYi0qQCsyPFc+
dW1DSHlIbWRab0NHQWBoSD9PVQp6eVdieUdUQncoZXhGOWghbVA9OEYlNkwocm9DY2hZO3I7UkRU
aSsqPzBjRn04Y151Pyt4aHUzXlVFS2NsIzchQT0KelVvKEFpTSpTcTlDb3xtLTtGWnlxIXIzckg9
KSh9bUUjWEZ0byFxIz9URmp1OWdnQlZFQnpQZylCPSE2VXIjVjU9CnpUfG56Zikrc3pWVW5jcHM/
SmNVdTh+OEEle1E1JmMmTXBCbm9yRl5kajRwPXwyIyptXjlCYGhvP2FOZVUzdjc+Vwp6dGw3aTZe
ZzVofV52KHI3ZVk4dzxIYGxtZDZSfCt1UGZrYSg5KUZKX3d6KUhvVGxORCstUW53TTYtNldzeW40
dEEKeil3fEsyOHtlT3VmMTNgajhZQ0pwMTdkJldlJnU/e1E4NCpePUlYK3taMkxPZkg/aGd9T3hr
ajl0byhCJmMhVi1JCnp7QiZoRnNJaW4+WnFXOEBicW9LNit4TWVHKVRvYTU7PHhoVjVaTHQkZHZk
RlZVVFFQO0YmMmQtJTlOdk1meFkmKAp6R2JFTWkyVG1vMU9GaG9JNyUldzhQYGtVfWswYWspJEV3
Ql43PUNHazhERnNWR3hTQ2wpTnl1aVJOUlZfMlJYa0MKelpWMylOP1p7NkpVP3F5ZHswcXBgKWM4
R2B6VlZJaD8xVSkjayRaSD1aVjsydkA0cGhIMyptWSY/Qz5BVz9LVHVICnpmdkFNNlRrR1FSRTM0
Q3AyVVhjMEh7PjhpZlIoQlBnX3w3aU5SfnhUQmYoTDZqYCYkWExPOG8zMFZNPExzTW0kSwp6LUUk
PU4jODR8cis4JndFcXN2JGtPSXQmeVQreWRPKVlrN089NGhDfDtKaVo9aW0hdzV5ZiNkZDR3IXFF
YWl0YkAKekdKST1INCg9ZGdEWEBxT2FgNjFYR31BZzQ2dlRzJE48R3Vwc2B+NVBxez03LXQpIT4l
QlcpPE1JfGFNMiVudmU2CnppSyNzcFZuXzN2antaRXVXbkFUNjYwK1E2KDAtcUNKe3woRiQ3U2M/
aW0zKVdqZjVZcUdASnV2ZF89QClhLTktKAp6OUZ8PGx4amNKRGBXWjU4dEw7Q2hMKHVUe3twWUpf
LWZIY2tONHNmPTRGZVNZUCo9cF5JZ1U7YT44YitVXmR9fkIKejlkRHpvYVk0azRhQXt6Wj87fU1A
bDtefkRZRm5ORWJVcURTTTNIT3VAJmszaEVqS1MldX4+NGxsTDRmfGowaD50Cnp5TUlLO1opOVVl
N3o2KUtsKkFeMypIJCpTQDBkV09zfjg7cCFBVFZBODBATShgPktrOT05IVREayZ7O14oQntuVgp6
Xz44WCQ1blkmJlR7bkV9QSVXdD81ZjxGYEdQRnY7Rnw5e08zWUd7d2NIUWdjZEFoPyY1P0V4dDR2
PX5rK2pHNmAKekJfYExGKy1uVHAtSChYR0p+Y21YKlZ+Nnl1cHVnfXh1T0FPVjAxb0RRRm5gTzFv
Zj8rMGsyP0VkcV9oQjteWUxECnpVeDtnWm1CVC10Q3B8N05yS2F8KUZUWSl9QEFKTD4mZ3ZxJGJH
bGM5Q1BUcGQwVUQpcjBxQVRAJXktWjIwSSMmKAp6VXMrT1dWe05GJDJ9WEV6JnJOSzhCNDgoWmxe
b0srTGpnWUtMczwwc2xDSSE5STN8ZShWKk92XkdAZGlPVzc/YGsKel9CUEg1LWdDJnRYbz8obzg/
eWRSYkspZGpIYjRsaHZ3ZVhUNDAzPXZaVjB+aWRxRVM5ODJETnE9IW88VjVhREhKCnozTDNhUGtT
I01jdW9RSVBKb3wpX0xQN3ZwdlFoKztCYj4pMF85fDd8bE11OEk8K3ZaKDwqJWYpKyYqP1UxfU8r
TAp6MTt8fGopQTV0Wk4zTXwtKzRtJVBMS0wyNWMhV1oxYngjaVFXRXxBSmc2d2Uzcms8KEoxMEZa
c08kaHNZbDQrcnEKeiNKaz5TcD8tR0hDayQ1TFUzUWNjREw/QkQhbDtTJTs/UXVrU1VHP2J2NCM+
SlBJN2BIMnxtKlhSMUpmVmQxPHtUCno9RTt7bEhtZTtldj8rZlRKaUo4MCpxY3ktK0woK301IyNj
M0p3ZkxTYm9AUChqPXNBeDV5a0c9YGJGcl4mdChzOwp6YEgreitle248PmFiSWwlLVFZWX5jZHRB
dj1WVWQyN2EhYHpSO0kpNFZ3c25Ca0t6T0clZSZGeFkkPiZ7Ty1JNF4KekhkYTd2dClLPC0+Oyh0
a2YtdDZkSTArJEUwaStmazM+ZXJMKkN7fmA/ZWg1eUQyYzVaSFE4RDBBaU4mfE9OTXw3CnpoSlND
X3ljK3VjZlVxV1hjVHd2MSFmUUstdGhYd0o2ckRXMHtSZ0hIPHZ1SnAzKGwqe2RjPGVTQ0lzbXBS
MF4rVgp6PT9oXmVTNCM/SXVsbD5sKGl6PWFKPjNLcVhIIWNZUjt9ayp2NWY1Nm5kKV83Jj1hRkF6
VT8/KEJSNkF5YktBR3gKemtaKilqK2JRYjgyUXdTOFhgUF5CJSVhKHhlQzV2YCFBfnRpQT1MQW15
YDRZRlpLcW5JejY5fG8/dU15fk41PF5hCnpyTSRubXheYmY4IWA1NyZZU0lHIVYlWEhaYzdBVEo9
KkR5OG45b258MkhqXkdyJHhqR3hRX0FhRH5UOGUjPnRRKQp6ODNwS1ArZ0UpQEwxbUtAY289T0dV
O2dnVWwpNnBBSCRUWFJRV2padGA8IVFEUUlUNHJQZUFoKDVNU3kjZn0hQWsKekR0Rm1qMWhWRDx3
ckhAQHE7eEFAM1BCKCgpPlEybTJpI31CTEJZeG01WS1peGp3dEQmMyNWUERIYGFMckN0fGk9Cno+
Jk5MfjBaYHNOYEVhU2FEUXxmdmF5UmFne0t4WishM0ZsR1VZZjE8c2AjKWBmeDxUZ1IySit4UTUr
O3h6blR9dAp6YkxzNXZYZm4lTllmfjhqZWchfCg3ND9xVkUlfWIhbjRhRSQ+WHYrc0pUajYwSjBq
P3dXdUhrT1MjOzMkJV8lb3cKemIlVShHKSFhaW1hREluM1haZE5yJHw5eHg4akx2a2VUZ0dvRn1H
KiUmZmBoRUtlSDU4eUs1fUhReCNATUNwUilpCnopKVduVzZ1RTkjU0cpaCp5NEwyUk0qSXJ6ZnQt
Y1BnJmxjJTZIPHYoODVmLTVfakoyQiQtYEY5RT9UQEJkYn4oSgp6YUV4Q1cjI20xZHleVU1HaiNo
Y1g/WnQxTzwlP2Z9NkBCcn0pUUY/dWR6biFQT2JzNUZ6alU8UkJDa1I8VUREO3oKeipVUCREZ0tA
RnFwU1E3V0s2TG1+PVJZa0tOeHcwX3QmalVjKmRvJk0wQmheKkJGand0Pmo4QEFgK3NKfEd6WTYy
CnpYSXxSNy19e0soT1lhKFc8fHdael5mYDhXT20lJktZVmBiPnYrKHV0bElgej4kKDRRa08ldD05
PiEwdTYlZGZ8RAp6e0xyS1d0Tl5+T25+c3h2SFgtd2I9ZC1UPkkyJjVsZnpBLWclR3VQaF9+QyND
KyE4ZjRgK3dSQFJIVCo9KldQTnoKel5zd0s3RWxPTEBpX1lUXmFkYl81Pm02YitxaG1rVTU+MDEp
amM2R1l4cGQwfSFtXjRlMH59PWVaRHprTyN0SU9oCnpicSlMfiR1PXEwMD5xOH1vZVd3Yj4jeWRy
cD58aVNCbXdEdTFeN0hkVT9MdVBUcFRCJCRgR2RrRntSQ3VqSjlSYAp6Oz9+VTRfc3s0PThhaTxI
P3EoOysyKVB8LWJgeChfRTc3MXs5Xnk5dGYpK3lhXk0mLV5CQn5wNFBuPWc8Yis/bGQKel5sXjUh
RjRjUTsjUWhhVEkkSUhoZTB+S0lXWHc5XyUrR0o+bjZGNTxIXncmZiNUaFc8eSZJNilgZ2o1Z3dx
UVMyCnpsX0ViVyZkQGNEZTNjPFR4d2tpODVEIzh9KGcyQDduKzJwamoqYiM+Q2Q5cz04UlhHKztT
eTd0YyNVKytfRW0ySwp6Pjs0ISRVbUhiaE80OCVVUzd8fEZRZj9CJHszV0U9S0hHJW1DRzN1ZzE+
Y3hESlI2ZV89RkBna3lgeF83T2ZNK0YKemowXy1uWjR9XnErc0gkRT9xd1R7SkhlSGwrT3JeIT5v
dzkoI1EzSnd2ezNKLWJoZDVvNip0Jl40b1lZM0FseTQoCnooTitQO1RaMndyMWF0OEFQcm1yQktT
RGNLc0x2eCZwbm9idGZyNmRfNEBCSHJadmdDTDxOISZSZkZpLUktKUN5Nwp6V0lvJFZ4RzdvRER5
RGFQPnBvQzY/ZjshQmo9bUBUMGQ9bz9KeW0/QFRZRlZoM3pNUz80WVlAJCgoVl9TR3puP1kKejVq
KH1qfEJ+T05gdnMxTllXJGZXVU54V3JWbU9KJWFBWTckVUxyUFBmOz18JmJqRT5jeE4hZEZfSStv
MGBpYylQCnpiKzFsJjwzc0IyR0dUZjhVdTBndmRnNTRoM3hPYmpNI2g0Mj1zKz43SS1QRFU7Z3ZI
aXVWZDkpKCZ+aEdKOENFaAp6NXxHV2dLa3dlNzdSMm5FVm5hV0B7Z3hYQXBWOW5ZaTBuZlc7T3B2
MjFPXjBjWj02TThjVyU8YjVFMSRudkZaZVcKejhvYyFVSFV1Qlk1SH4pfnZVNGE9YXZLSUIlPHVi
I05ZbEVJRUFUQzg8cGtEeU9oQWYoZXEmRCotejVjSkU9JShyCnpjLTBfYz5TbCF7dmF5ciQ4SF5x
d2BWfShlMHc/ekJvJGQ0aFRzfm5MSWREb18hNXR3KjFpPk1NYE9Qa2RIRjRTdwp6NHQ9eygtS1Iq
S20tQ01HNlkrbDRwMSRgbzZhRTlRMDN6SmplR3E2QzB7bjZqTF57JE4xRilCUkI1X144KzhHez0K
eiE7bzAxcUcjUmhZYikwaz8qRjdeXkhmMShSX3dZLVM0Q0c2Skt6PmRpPm1rU1JhS0sjbXR7K1FL
IWwzZWlLKENCCnoqcypHaGxuQEhlaFdwSVNjJGwhMVU4LWRFeVorN1U3dlYtdUclY1Y2PEZ+YyhD
ZUpRKlF6TSUtMitIZWlqNzcwYQp6czZUI29SdFZxPnk8ODYyRm4/ajVBXlklSlF+cmBaTSpEZD1a
fFR7SXZyTnd+bWhacGchN1lFUWt5ezM3PiRTNngKemQrZkZ5ZEFWaDNjWjNoSUs9RnZDYWo2ITAw
eFRoRHdke2NKamxPRCokXi02cmoxWmBmQSt2fnBgUEUyRFAmJVheCnpSWmY8S0lWek5jNXRVditM
Z1o/U3BBPFFlNj5PMU9qZmZDPGpSNz9QNTBubjk8KjEqcSZnWXFAZWYqNkwrLV9zLQp6V3tUOWhv
RiV3KGZsZmxZQnVXal9icCg2RjR3WElgckBxeWdLZERrcihxVnMqYEhvV1I8aWlXfXI2VGM8XmJ1
UmQKenNTbmV+RCl0ejdOUjh0QG8zSkZmY3RwdD5TRF5TeTNBU0smND07TGtFc1RwdTg3ejFgZXNU
WClDY1NWUzdkRCheCnoyY0ZBK2xwcjI1ZDNHQilnbjBRdDREcHhmeW9gN19ZUn5AR3JVPXwjSmZ4
VDh0bV5kfmIoazwyNXJrZU5JfTJnYQp6aTVkeUlRNEB8LWZPcU0mbEBqRyQydVNTaXhBcExSb2No
eyMqPlRxb1hhKCslbW9GZnFLRkdINntrcCVnTTFpfDYKeitVPGdINEs8NmhyY2RtO2B4ZH1EZFM/
XmlNMVRhaEJePzJFcS11eW4lTjRAfmg+fHtRVShzcHNwV2lLckMzRCE3CnpvJUxuJiFmblUlWGN9
SUJBMz5+MEg2PDQ2REFXQG5wZlBZPiswNWc8aXxeZXRnYj5JU3AwI2x2IWt1KFd6OVZuWQp6NlVy
KWhJJjVuPmxUUyUhYVhXcGlAZCQpJUIyMyhpeUJjend8MVFTazxpbSVndnJxflJDRE1WOHlDVWMz
T2pAUmUKekdzRFQmVklFO3FTQzZXRmBmJWxpUi1zRnsjQkVgWmcpbFphP1ElbzY5fW5tXzR7Y3ZR
ZU5oJUp5PWpObyg7VG4lCnomUSY3NTV8dT9LSHomcU1YK3hmfmtZYmhnaFVrR1Qoe19hdDR7aHNx
PmxMYm8jLTl+XiRsQ3FXdylkUEtjdHM1Kgp6enUzRTB0Zj01ZHt1NlQtdFc1ODBEYVAhNUhiQTdu
SDgkUVJjV0FNXlc4PDh+MjR5TX1RPitOJFNELSE7aHg4SzIKei1ISWBLamFuJSFLdnRzb0F0Z1kl
eCNOIWozUF9sKXo3cSlSZ3ojO2RJQ2NeQHNFK2VfYXUmbks3bVVfQWEzdyRzCnp6PEdfTGtDIWo5
SzNoQjU3PEpGdEdmR35zZk0jPjNFe01lfnshaGowPT1kK094X2Y7LUp+NyFfbGN6K25MXzdDcQp6
QT5tb3dxMHxrOGNRPmc1JipXO3tJRGdtT05DSWdMUG12PU07aUI+aSNjakkjLUE4PExAeUc/Vzdq
UUhvdC1BX0QKem09RmVwTEp6QDBiX0g5aCFFI19gcXhUclluJm9yWmE3UU05KTJ3bnBrPm9QUSlO
Mj1CelNvJkAtVnRFT1VBRCZVCnprVCszI1VYQm9UaGtxfDA9b2NqR0YhMF88aGx+V1p3MXBPP0JC
ajlpVnBHPm81RVFyUyp0WEF+JSo3NW1OOSYoRgp6WVhFNypDVmB7VzErb3ZuWW16T0Z6dW5kMDFo
OSlYbjU+fG4tI1h2OzAmJmhwS0Y4U2cweFMyK1BhdWVhWU1JRUcKekM8XjRgO19ePk8/M3UpKEpx
UEZsKm1tdE0+P2w9LWxNa1hYM0tQKUVAYzh3Rloma2BxYVhWOTFyREtOe3l1KGNGCno2KCY1eyRW
ZWR8bHd5TFdkOzErYylaUkh4OyV+LVI+TCluUGpiWk8qZF5eWW1XYEhffihvfmBBTHc0c2dKeEp+
Ywp6S0tQaHFUMkZpaXtrT0Y7bU9jb2t3fD51VXVlNkRFPVBqMyFFYGI0ai1ib1Uxe1BmI28rfXdK
YnlWQiEjaVghWj8KelgyRitGOTxOOVNZcEgxU3hDIztDOFVgRFJ0JiNDNi1DTyhTdFJ+O2VYckRr
bjNPQmo4PyYlXzFQcyErJkptSmtUCnpwUmFEVzF0dSQxYGg1WHRaMD5sOTV6JnBfVEVEUFEwcSk4
TiVBMjFKP25UejNQYWg/QGZDPn1eVGxpY1VFQ2BSPQp6QHBifUlwdFlQVk9MPTw9cChMM2J4YDtX
SDg8c2J3QF5QbSZiVFdUYjQ2eE0wX0hQZXk3QFluYm1KN3leeSZsMkgKejZwcj8jKyUrI1RNIVhp
SFphSkxWSkt+KDRVPldlcGJzdz9vXnUyNz97aSF8XypkQDxjJm5DXipxbCZ7I3pLJT0hCnphUHdH
IVNkfWN4VlJqVGliWWR8emR8X1RXYzZ9dU5lUzU8RSVVNzQ+ciswamBPVWJ4fE4+RlNJRD0kJD1z
NUxCRgp6MW4hdkopNFVZSG09bm9ebmk9NSZYYkV3Sns8cSZfU0p3bV9UIWVIfDQte3FITU96Pzh5
QnxLfWFSZmcqaWZTRjUKemVFVnU1Q2pVTzxfQG51bWxTNiklUEp9Pz9la3VUOyRnVWUyTEtEZ0Qw
SkllQ3Q4cm47aXp3fmo8bmRLWUd7XzdzCnpoJm4mPUY9U3VyI1Q3OCQ0IUZ+LXFqZlV6NXl0X1g7
Zyg0WVVrbyh7VkRUSmMzWD96fWBzTV92VW9KM3NHWHB2MAp6MiF1X01Rb25ta2VCfkI0IXRoSHtC
NyFiMDBldUZ9Xkw+TlJrcG5ENTlINEVPSUlPSTxRY0RzN0BiIW5VLUtKVDQKelZwX0p8VVRIcz8o
WjhzITdKTytyPCVOMjRkZVZXZDByPHFDaGs1KTRnQz4kY25DVilgaGswZSMoSzFZeWZgQH5WCno1
Y0x6ejE7SHdsKE1FQ0dna29KTnFMIWN8cXZzYlMmQXxJU1lMTVVgekIrSkNpKlc9QypaY2MwTU5g
MXRjYCt1fQp6MlB8OERqZ1ZFfnlie05VSnVNZGp0PURkQlllRDdRPlBHYWU+RVdGR0dRKHdlNmt1
UCEmZjBXPzU5RykyZmVKMigKejNoK19QSGNzRTcmOVkjUGJaamolRzJoSURoIXtiRSk1RUtSRWV2
WDx2ZiQkfmF4YEVCST5gKXg4fVR4UExZSHswCnozcj1RSDcyN3ZNST16eFFXP0xzWTBKNWtVMjxY
ZjN4TnFqYFcjeDJPNnxlczBUYlJDQlAtfEFfaiR2dWNOcSNRdAp6TzRqX0Ema2cwam1AM0h3Q1lD
c2MlZXteNlFqMT53ZF5XTElePn04KXE1ekNhMD4kVUIrWXhGbkBKR3pAdWxzM0UKekYtLShTelNo
cyZrY2t0cVc/eUA/aWc+e2Z0JjhHQFNzRH5hQitmVXFwX3FaXyh6cT9qbCM5bjZMJVBmQEBNKmA3
CnpOYmlodS1ROHFqQmtlMjdUXmsqdSg/WWZiJmMyOSMoeENHd2N7e1pCKGJyXj1XMlgxejA0LUtM
PF5tTGlSKjJDTgp6RDI8X3RvQ3hGMkZRQXlELWFYUFJqQ3o+Qk9WeWtOSj0mOT8xbjRiMFQ8NjE9
cV5zcVNlfmJkYTdAcS17PlV9VTcKekJlR08oaU9MSUBjZWA4ZWJfPF9jJGpSUyopY3h2I2VVeSVY
ejZJeTBiRyoqKSZjSXp4S2FxNkghZjQ7KjQmXmlYCnpmWSF2XkB8UEYlRjM+VD9AVG9iVWl0ZGps
XlV+VWpaY1YweW89aipCXlgwZntKaXw7T2pBKTI7UDdGZjM5Rk54MAp6RCtPelorIWBCYUItP3Nr
RUloeX1eTW0pVmQxekRSZUp+KWVQODRVMS1wZDApVzdvej5vQy1eXzs4aWJpbytEaHsKemFGMCQt
WGxvUyNWKDItciR0UFM4MHdMcz9HcTQpQVcjS3d+d01KKj0zPEMjbnp1REs4KXFafDRZWkMmS1Er
fV9PCnplKDAhSSRxTiM8Zk8weDBPdENpSk5CMTB4dS0lSXR1dEI2dDhndml5QkhtZHN7K2Rfdjgw
cyMwbWw7Q3dZaCszUAp6SXQqdFBSSEJTbmwmQCE3TTdyQjU2e3U9XnJsNkgqJEhvdSpOPn5XIVFh
R0FOV25OcmNHITVmQV5pfmBqe1pJbiQKel9Adj5CVGdQKmcwVWNfX15xez9ueER3YUVsdzwpR252
bSpseSZnKWJqNHZTKTRvfiMkU3BaRGAtdUZkbzx9MUA7CnpOaSRKM2EqU25Me2Y1cXhvT2A8REZu
SUxsKmUhRG5pOFNCTSZJcmxRbTkhKDI1P3tsc3pLeGsoamlTNzkmSTxSJQp6PmhPXkApPjE8dXMq
ZH1vaXdSZiMmKjNoRjElJVlDNDlRSUlCMitpNDxCKzZtPEdyKU5sV2t0VnBQVG1AYTh1NUcKelUw
OzQ0OTgzQExfSTA3VyExUW5YeF4mMmc3dTwrbGErcDtZe1ZrK3l3fiR0PD9JRE8pSzUwdWJ5dTth
bS1BYTA9CnpgLXVISXdJdUU4cXZuMHlAI1pVeV5wd1AkWWZscVQyPkk3LXVBcCgkXkNUPHxJYC0p
MFUyOC1rZmU3ZH1jem5LUwp6WSp7OH1VZVlZOFlUKklmdHIjfTsrbHA3eWVgfn4kM15LbmdLNzRW
KyNhQn0mbShxfkEqWSl4aFpwaXdIUkp5ZW8KeiFzdz5MWiUtYGNkYGhCUWtgKFRvdXptOVo/bys/
OC1EaFFhMSQ1c3lpPjtOeT1HKVAzem9ybFc8SFQhXlE7KT15Cnp5M2ojT0wyYEhAPH19XjJpJGgp
UkVgOXlMcj4qVCExeFVTbHkzLU5meV5KfEdBOyNTaCE9bmhsUm5faU5oP31ATgp6WWwpb3F0cDZH
bGt9TzZ9aikyKyhXJmdZSEcpaXJ+cF82Q0AoJFhTTnJjZXlzdHFTaGEzMG0rRDYpI35LYW1VX2UK
em4yS2ZYN0FJPDYrVXhAVm96KW1aMS1NVFF3Nzk3U3tLMnB5NjtAcmErKWRXN241ekllLT0tdj5o
djMkUnFTeGooCnpvZ2IkWjk4RVJ5S1FrcU1pbEJhVCNROVEjbDV2bVAla300YVQwPXJZdWtYamxp
e1UoRXVIP1JPUGZ+TUVoJVpQMgp6I0t9KjI2Ozx7I1MxamN7akhHQXp1V3E3U3d1TlohXmJ6PHxz
S150YFRCV301K1N0WG4mTntnRGlNUkhvWk14cmsKejl3JWl2UD5uaG4kMVU+TSZUe2xPR0p5VzBS
VWg4cyVyekNiP3JZPnxLbUZgfEdOQGgxWkVqPlQ8JklnY0FJSDRZCnpvS3x5OyNsZT9OeCVFT1pP
dGhleWU4cEwpU3Z3JDdYSEs5blcpZ01ldSpyfGpLRXdFQ0l7ajJNemApISZxIypmewp6N3FgayRU
a1dIV0x7YnZia0c9RFFrXi05Yjw0K2M0MkUrQkpESFkxJDsxN2I4bSN+SiVMQzMqQW93QFpxXihn
Xz0KUUN2NmctKW1ZfTs2JDFNSTBRWFltM2poRUIKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434186</attachid>
            <date>2021-07-25 17:17:50 -0700</date>
            <delta_ts>2021-07-25 18:12:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210726101748.patch</filename>
            <type>text/plain</type>
            <size>124077</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLmUwM2UzMzRlZTQ3MzFlYjNjZTU2MTM2MzI0YzU5MzE3Y2E2MTRi
NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFdlYk1XZWJBdWRpb0Vu
YWJsZWQgcHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3Ig
bWltZXR5cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlz
YWJsZWQgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJl
ZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8
bWFnb21lekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIg
dG8gY29uZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJv
Y2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0
MTMuLmViNDliM2E3YzQxYjNmMDRiYzUzZWIzZjMyYmQxMzg5ZTc4NGE1YjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMDMgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFw
cGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1
cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4g
V2ViIEF1ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4g
dGhlIHdlYiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0
aGUgZGVjb2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJl
YXNvbnMsIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxz
IGFyZSBibG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1
ZGlvIGNvbXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkg
cHJvY2VzcyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisg
ICAgICAgIFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vz
cy4KKyAgICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWls
cyBmb3IgVm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11
eCB0aGUgd2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNl
cldlYk0gdG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVy
YXRlIG92ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3Jt
aW5nCisgICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRo
ZXJlIGFyZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVu
Y29kZXIgZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGli
bGUKKyAgICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBi
dWZmZXIuCisgICAgICAgIC0gV2UgY2FuIG9ubHkgZGVjb2RlIG1vbm8gYW5kIHN0ZXJlbyBjb250
ZW50LiBPcHVzIGFuZCBWb3JiaXMgbGV0IHlvdSBkZWZpbmUgYQorICAgICAgICBjdXN0b20gY2hh
bm5lbCBvcmRlcmluZywgdGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZCB3aXRoIGFtYmlzb25pYyBh
dWRpbyAod2l0aCBvcHVzIDI1NSBtb2RlKS4KKyAgICAgICAgQ29yZU1lZGlhIGRvZXNuJ3QgZWFz
aWx5IGRlYWwgd2l0aCBzdWNoIHJlLW9yZGVyaW5nIGFzIGl0IGFwcGVhcnMgdG8gYmUgZXNzZW50
aWFsbHkKKyAgICAgICAgZGVzaWduZWQgZm9yIGF1ZGlibGUgY29udGVudC4gV2l0aCBtb3JlIHRo
YW4gMiBjaGFubmVscywgZGVjb2Rpbmcgd2lsbCBlaXRoZXIgZmFpbAorICAgICAgICBvciBwcm9k
dWNlIGNoYW5uZWxzIGluIHRoZSB3cm9uZyBvcmRlci4KKworICAgICAgICBUZXN0OiB3ZWJhdWRp
by9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbAorCisgICAgICAgICogSGVhZGVycy5j
bWFrZTogRXhwb3J0IGhlYWRlciBzbyB0aGF0IHdlIGNhbiByZWdpc3RlciB0aGUgZGVjb2RlciBp
biB0aGUgVUkgcHJvY2Vzcy4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6IHNhbWUgYXMgYWJvdmUuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNhblBsYXlUeXBlIGNvbnN0
KTogTWFrZSBjYW5QbGF5VHlwZSh3ZWJtL2F1ZGlvOyBjb2RlY3M9b3B1cykKKyAgICAgICAgd29y
ayBpZiBmZWF0dXJlcyBpcyBzZXQuCisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRXZWJN
V2ViQXVkaW9FbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OndlYk1XZWJBdWRpb0VuYWJsZWQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlh
U2FtcGxlLmg6IEZseS1ieSBmaXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBXRUJDT1JFX0VYUE9SVAor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkF1ZGlvQnVzOjpzZXRMZW5ndGgpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVz
Lmg6IEFkZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0aGUgcmVwb3J0ZWQgbGVuZ3Ro
CisgICAgICAgIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlpbmcgc3RvcmFnZS4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaDogQWRkIHNldExlbmd0aCBtZXRob2Qu
IFdpbGwgY2hhbmdlIHRoZSByZXBvcnRlZAorICAgICAgICBsZW5ndGggd2l0aG91dCB0b3VjaGlu
ZyB0aGUgdW5kZXJseWluZyBzdG9yYWdlLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29h
L0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRyeUNyZWF0ZUF1
ZGlvQnVmZmVyTGlzdCk6IEZpeCBjaGVja2VkSW50IHVzZSB0byBjYXRjaCBwb3RlbnRpYWwgb3Zl
cmZsb3cKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6QXVkaW9CdWZm
ZXJMaXN0SG9sZGVyKTogQWRkIGNvbnZlbmllbmNlIGNsYXNzIHRoYXQKKyAgICAgICAgZnJlZSB3
cmFwcGVkIEF1ZGlvQnVmZmVyTGlzdCBvYmplY3Qgb24gZXhpdC4KKyAgICAgICAgKFdlYkNvcmU6
OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6fkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yIGJvb2wgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvci0+IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3IqIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6aXNWYWxpZCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRl
cik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmlzTWF5YmVXZWJNIGNvbnN0
KTogTWV0aG9kIHRvIGNoZWNrIGlmIHRoZSBidWZmZXIKKyAgICAgICAgY29udGFpbnMgV2ViTSBk
YXRhLgorICAgICAgICAoV2ViQ29yZTo6cGFzc3Rocm91Z2hJbnB1dERhdGFDYWxsYmFjayk6IFJl
cXVpcmVkIGZvciBBdWRpb0NvbnZlcnRlckZpbGxDb21wbGV4QnVmZmVyLgorICAgICAgICBXaWxs
IGZlZWQgdGhlIGRlY29kZXIgdGhlIGRhdGEgdG8gZGVjb2RlLCBzcGxpdHRpbmcgdGhlIG11bHRp
cGxlIHBhY2tldHMgZm91bmQKKyAgICAgICAgaW4gdGhlIENNU2FtcGxlQnVmZmVyLgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpudW1iZXJPZkZyYW1lcyBjb25zdCk6IFJldHVy
biB0aGUgdG90YWwgbnVtYmVyIG9mCisgICAgICAgIGRlY29kZWQgZnJhbWVzIGluIHRoZSBwYWNr
ZXRzLgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpmaWxlRGF0YUZvcm1hdCBj
b25zdCk6IENyZWF0ZSBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24KKyAgICAgICAgcmVsYXRl
ZCB0byB0aGUgZGVtdXhlZCBhdWRpbyB0cmFjay4gbnVsbG9wdCBpZiB1bnN1cHBvcnRlZCBjb250
ZW50LgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpjbGllbnREYXRhRm9ybWF0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKToK
KyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6bG9nQ2hhbm5lbCBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaDogUmVt
b3ZlIHVudXNlZCB0eXBlZGVmLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
U2FtcGxlRGF0YVNvdXJjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxlRGF0YVNv
dXJjZTo6fkF1ZGlvU2FtcGxlRGF0YVNvdXJjZSk6IEZseS1ieSBmaXgsIG1ha2UgaXQgdXNlCisg
ICAgICAgIFBBTCBzb2Z0bGlua3MKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxlRGF0YVNv
dXJjZTo6c2V0dXBDb252ZXJ0ZXIpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZSBQQUwKKyAgICAg
ICAgc29mdGxpbmtzCisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFBy
b3ZpZGVyLm1tOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHA6IEZseS1ieSBmaXgsIGFkZCBtaXNz
aW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVNhbXBsZUFWRk9iakMuaDoKKyAgICAgICAgRmx5LWJ5IGZpeCByZXF1aXJlZCBieSB3
ZWJraXQtcHJlcGFyZSA6IGRvbid0IHRhZyB0aGUgd2hvbGUgY2xhc3MgYXMgV0VCQ09SRV9FWFBP
UlQuCisgICAgICAgIE1vdmUgY29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3IgZnVuY3Rpb24gZGVm
aW5pdGlvbnMgb3V0LW9mLWxpbmUgdG8gcHJldmVudAorICAgICAgICBsaW5rYWdlIGVycm9ycy4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBs
ZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlh
U2FtcGxlQVZGT2JqQyk6IE1vdmUgY29kZQorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbTogRmx5LWJ5IGZpeCwgYWRkIG1pc3Np
bmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0
aWxpdGllc0NvY29hLmg6IEV4cG9ydCBzb21lIHN5bWJvbHMsIGFkZCBuZXcKKyAgICAgICAgbWV0
aG9kIGRlZmluaXRpb25zLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1B
dWRpb1V0aWxpdGllc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJEZWNvZGVy
RmFjdG9yeSk6IEluc3RlYWQgb2YgYXR0ZW1wdGluZyB0byByZWdpc3RlciB0aGUgZGVjb2Rlcgor
ICAgICAgICBieSBkbC1vcGVuaW5nIHRoZSByZXF1aXJlZCBsaWJyYXJ5LCBmaXJzdCBhdHRlbXB0
aW5nIHRvIHNlZSBpZiB0aGUgZGVjb2RlciBpcworICAgICAgICBhbHJlYWR5IGF2YWlsYWJsZS4g
Q2FsbGluZyBBdWRpb0NvbXBvbmVudFJlZ2lzdGVyIGluIHRoZSB3ZWIgY29udGVudCBwcm9jZXNz
CisgICAgICAgIHdoZW4gdGhlIEdQVSBwcm9jZXNzIGlzIGVuYWJsZWQgd2lsbCBmYWlsIGR1ZSB0
byBzYW5kYm94IHNldHRpbmdzLiBXaGljaCB3b3VsZAorICAgICAgICBpbmNvcnJlY3RseSByZXBv
cnQgdGhlIGNvZGVjIHRvIG5vdCBiZSBhdmFpbGFibGUgd2hlbiBpdCB3YXMuCisgICAgICAgIChX
ZWJDb3JlOjpjcmVhdGVBdWRpb0Zvcm1hdERlc2NyaXB0aW9uRm9yRm9ybWF0KToKKyAgICAgICAg
KFdlYkNvcmU6OmlzT3B1c0RlY29kZXJBdmFpbGFibGUpOiBGbHktYnkgZml4LCBzaG91bGQgdGhl
IG1ldGhvZCBiZSBjYWxsZWQKKyAgICAgICAgb24gbm9uLW1hYyBwbGF0Zm9ybSBpdCB3b3VsZCBo
YXZlIHJldHVybiB0aGUgdW5pdGlhbGl6ZWQgdmFsdWUgb2YgdGhlIGF2YWlsYWJsZQorICAgICAg
ICBzdGF0aWMgdmFyaWFibGUuCisgICAgICAgIChXZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVy
SWZOZWVkZWQpOiBBZGRlZAorICAgICAgICAoV2ViQ29yZTo6aXNWb3JiaXNEZWNvZGVyQXZhaWxh
YmxlKTogU2FtZSBhcyBpc09wdXNEZWNvZGVyQXZhaWxhYmxlCisgICAgICAgIChXZWJDb3JlOjpy
ZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCk6IEFkZGVkCisKIDIwMjEtMDctMjEgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgbGlu
a2VkT25PckFmdGVyIGNoZWNrIGZvciByMjY5MTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBmMDE5
ZDNjZTEyMDNmM2ZhMTA0ZWY5ZmFjNGZmYTQwNmFiOTAyZjYwLi5mMmFhY2JiODQwMmQwYzQxNjFh
M2Y2ZmJmOTkzOTRmNThjYzUzZGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAg
ICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgdmFyaW91cyBBVkZvdW5kYXRpb24gKEFWQXVkaW9Db252ZXJ0
ZXIpIHJlbGF0ZWQgbWV0aG9kcyBhbmQKKyAgICAgICAgQ29yZU1lZGlhIHRvIGFjY2VzcyByZXF1
aXJlZCBDTVNhbXBsZUJ1ZmZlciByZWxhdGVkIG1ldGhvZHMuCisKKyAgICAgICAgKiBwYWwvY2Yv
Q29yZU1lZGlhU29mdExpbmsuY3BwOgorICAgICAgICAqIHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGlu
ay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oOgorICAgICAg
ICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbToKKwogMjAyMS0wNy0yMSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVy
dGluZyByMjgwMTI5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxODc2MjU4NDI2MWJhYTllMzIyZTlhNzBjZjhkMmE2
ZjA3YjA5MDk2Li4xYWI5Y2YxZWQzOThiOWJlMjhjNzhmODJiNWMwYTYxNTBiNzhmMjMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA3LTIxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5
YUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1ZGlvXSBBZGQgd2VibS9vcHVzIGNvbnRhaW5l
ciBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjcxMTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5NDM3MDY3PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkZWZhdWx0IHZhbHVlIGZv
ciB3ZWJtX3dlYmF1ZGlvIGZlYXR1cmUgZmxhZyBmb3IgdGhlIGRpZmZlcmVudCBwbGF0Zm9ybXMu
CisgICAgICAgIERpc2FibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHBsYXRmb3Jtcy4KKyAgICAgICAg
Rmx5LWJ5IGZpeDogZG9uJ3QgbWFrZSB3ZWJtIHBhcnNlciBkZXBlbmRlbnQgb24gVlA5IHN1cHBv
cnQuCisKKyAgICAgICAgKiBGZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdDoKKyAg
ICAgICAgKiBGZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdDoKKyAgICAgICAgKiBGZWF0dXJl
RmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0OgorICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQt
d2F0Y2hvcy5wbGlzdDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuaDoKKyAgICAg
ICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OmRlZmF1
bHRXZWJNV2ViQXVkaW9FbmFibGVkKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94
eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRpb0Nv
bXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorCiAyMDIxLTA3LTIxICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgUnVubmluZ0JvYXJkIGtpbGxzIHRoZSBuZXR3b3JrIHBy
b2Nlc3MgaWYgaXQgaXMgc3RpbGwgaG9sZGluZyB0aGUgImhvbGRpbmcgbG9ja2VkIGZpbGUiIGFz
c2VydGlvbiB1cG9uIHN1c3BlbnNpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9T
Y3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXgg
YzQyZWJlYmEwNjdjMTVkN2Y1ZGMwZTkwYWIzZGI0NTJlOTIyYTRlZC4uYjQxMTg2NDRhYmY4YjZl
MTM4ZTNlNjQ5NDc1NDgwODNjOTkzZGJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNl
L1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwK
QEAgLTEyNjEsNiArMTI2MSwxOCBAQCBXZWJNUGFyc2VyRW5hYmxlZDoKICAgICBXZWJLaXQ6CiAg
ICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAKK1dlYk1X
ZWJBdWRpb0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWJNIFdlYiBBdWRpbyIKKyAg
aHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdlYk0gV2ViIEF1ZGlvIgorICBjb25k
aXRpb246IEVOQUJMRShNRURJQV9TT1VSQ0UpCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRM
ZWdhY3k6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVk
KCkKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNV2ViQXVk
aW9FbmFibGVkKCkKKwogIyBGSVhNRTogSXMgdGhpcyBpbXBsZW1lbnRlZCBmb3IgV2ViS2l0TGVn
YWN5PyBJZiBub3QsIHRoaXMgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gV2ViS2l0TGVnYWN5IGVu
dGlyZWx5LgogV2ViUlRDSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDoKICAgdHlwZTogYm9v
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJD
b3JlL0hlYWRlcnMuY21ha2UKaW5kZXggM2IxYmI1NTBmNTY4MWE0ZjVkZDIzNjBhMTQxODlhOGVj
YWQwNTdiOS4uOWE2MWVlZmY1NGI3YzY1MDIwYTI4ZTk0YzZiZWUzZDU0M2M3NDU5ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlCkBAIC0xMzM1LDYgKzEzMzUsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZS
QU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dM
QU5HTEUuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5H
TEVVdGlsaXRpZXMuaAogCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRp
bGl0aWVzQ29jb2EuaAorCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0LmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RE
cmF3R2x5cGhzUmVjb3JkZXIuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
Zi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKaW5kZXggZmMwNjY4YTRhOTFhZmUxMGI2NTE1OWNhMDgy
ZTE4MjgxZmQ1MDM1Ny4uNGEzZTkwY2Q0NDA2Nzc1OTIxMjJmMTZmYTUxOGFhNTRlOTU3Y2NjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAK
QEAgLTM2LDYgKzM2LDggQEAKICNpbmNsdWRlIDxDb3JlVmlkZW8vQ29yZVZpZGVvLmg+CiAjZW5k
aWYKIAorI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgorCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01B
WF9BTExPV0VEID49IDEwMTQwMCkKICNkZWZpbmUgQ01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBF
IENGX05PRVNDQVBFCiAjZWxzZQpAQCAtNDcsMTEgKzQ5LDEzIEBAIFNPRlRfTElOS19GUkFNRVdP
UktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYg
dGhlU291cmNlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwg
dm9pZCogZGVzdGluYXRpb24pLCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFM
ZW5ndGgsIGRlc3RpbmF0aW9uKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxl
bmd0aCwgc2l6ZV90LCAoQ01CbG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwg
UEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChD
TUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCks
ICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
UmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2b2lkKiBzb3VyY2VCeXRlcywgQ01C
bG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6ZV90IG9mZnNldEludG9EZXN0aW5h
dGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0ZXMsIGRlc3RpbmF0aW9uQnVmZmVy
LCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgpLCBQQUxfRVhQT1JUKQogU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNRm9y
bWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBDRkRpY3Rpb25hcnlSZWYsIChDTUZvcm1hdERl
c2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYyksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJH
ZXRUeXBlSUQsIENGVHlwZUlELCAodm9pZCksICgpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZV
TkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVm
ZmVyR2V0RGF0YUJ1ZmZlciwgQ01CbG9ja0J1ZmZlclJlZiwgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlw
dGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYpLCAo
c2J1ZiksIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VY
UE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERl
c2NyaXB0aW9ucywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFj
a2V0RGVzY3JpcHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0
RGVzY3JpcHRpb25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQp
LCAoc2J1ZiwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBw
YWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckdldFNhbXBsZVRpbWluZ0luZm8sIE9TU3RhdHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1
ZiwgQ01JdGVtSW5kZXggc2FtcGxlSW5kZXgsIENNU2FtcGxlVGltaW5nSW5mbyogdGltaW5nSW5m
b091dCksIChzYnVmLCBzYW1wbGVJbmRleCwgdGltaW5nSW5mb091dCksIFBBTF9FWFBPUlQpCiBT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwg
Q01TYW1wbGVCdWZmZXJEYXRhSXNSZWFkeSwgQm9vbGVhbiwgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiAKQEAgLTEwOCw2ICsxMTIsNyBAQCBTT0ZUX0xJTktf
Q09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwga0NNVGV4dFZl
cnRpY2FsTGF5b3V0XwogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQo
UEFMLCBDb3JlTWVkaWEsIGtDTVRleHRWZXJ0aWNhbExheW91dF9SaWdodFRvTGVmdCwgQ0ZTdHJp
bmdSZWYsIFBBTF9FWFBPUlQpCiAKICNpZiBQTEFURk9STShDT0NPQSkKK1NPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
Q3JlYXRlQ29udGlndW91cywgT1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxv
Y2F0b3IsIENNQmxvY2tCdWZmZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9j
a0FsbG9jYXRvciwgY29uc3QgQ01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21C
bG9ja1NvdXJjZSwgc2l6ZV90IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxv
Y2tCdWZmZXJGbGFncyBmbGFncywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAo
c3RydWN0dXJlQWxsb2NhdG9yLCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21C
bG9ja1NvdXJjZSwgb2Zmc2V0VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJP
dXQpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBP
UlQoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVN1YlR5cGUsIEZv
dXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VY
UE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29y
ZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFUeXBlLCBDTU1lZGlhVHlwZSwgKENN
Rm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFm
YzU2ZGJmYjA1ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLjg4ZTYyOTViM2MzZWU1MjNhNTc3ZDcy
NjY0MTBkMWIwNDY2ZmMxNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2Yv
Q29yZU1lZGlhU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVN
ZWRpYVNvZnRMaW5rLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBVU0UoQVZGT1VOREFUSU9OKQog
Ly8gRklYTUU6IFNob3VsZCBiZSBVU0UoQ09SRU1FRElBKSwgYnV0IHRoaXMgaXNuJ3QgY3VycmVu
dGx5IGRlZmluZWQgb24gV2luZG93cy4KIAorI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9U
eXBlcy5oPgogI2luY2x1ZGUgPHBhbC9zcGkvY2YvQ29yZU1lZGlhU1BJLmg+CiAjaW5jbHVkZSA8
d3RmL1NvZnRMaW5raW5nLmg+CiAKQEAgLTQ5LDYgKzUwLDggQEAgU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzLCBP
U1N0YXQKICNkZWZpbmUgQ01CbG9ja0J1ZmZlckNvcHlEYXRhQnl0ZXMgc29mdExpbmtfQ29yZU1l
ZGlhX0NNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hF
QURFUihQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgsIHNpemVfdCwg
KENNQmxvY2tCdWZmZXJSZWYgdGhlQnVmZmVyKSwgKHRoZUJ1ZmZlcikpCiAjZGVmaW5lIENNQmxv
Y2tCdWZmZXJHZXREYXRhTGVuZ3RoIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVmZmVyR2V0
RGF0YUxlbmd0aAorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cywgQm9vbGVhbiwgKENNQmxvY2tCdWZmZXJS
ZWYgdGhlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0LCBzaXplX3QgbGVuZ3RoKSwgKHRoZUJ1ZmZlciwg
b2Zmc2V0LCBsZW5ndGgpKQorI2RlZmluZSBDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMg
c29mdExpbmtfQ29yZU1lZGlhX0NNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cwogU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJSZXBs
YWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNvdXJjZUJ5dGVzLCBDTUJsb2Nr
QnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zmc2V0SW50b0Rlc3RpbmF0aW9u
LCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVzdGluYXRpb25CdWZmZXIsIG9m
ZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCkpCiAjZGVmaW5lIENNQmxvY2tCdWZmZXJS
ZXBsYWNlRGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVmZmVyUmVwbGFjZURh
dGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENN
Rm9ybWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBDRkRpY3Rpb25hcnlSZWYsIChDTUZvcm1h
dERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYykpCkBAIC01OSw2ICs2Miw4IEBAIFNPRlRfTElO
S19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldERh
dGFCdWZmZXIsIENNQmxvCiAjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlciBzb2Z0
TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyCiBTT0ZUX0xJTktfRlVO
Q1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXRE
ZXNjcmlwdGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYpLCAoc2J1ZikpCiAjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24g
c29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24KK1NP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZl
ckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVm
ZmVyUmVmIHNidWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBh
Y2tldERlc2NyaXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVz
Y3JpcHRpb25zU2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBw
YWNrZXREZXNjcmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpKQor
I2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zIHNv
ZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3Jp
cHRpb25zCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01T
YW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZvLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVy
UmVmIHNidWYsIENNSXRlbUluZGV4IHNhbXBsZUluZGV4LCBDTVNhbXBsZVRpbWluZ0luZm8qIHRp
bWluZ0luZm9PdXQpLCAoc2J1Ziwgc2FtcGxlSW5kZXgsIHRpbWluZ0luZm9PdXQpKQogI2RlZmlu
ZSBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8gc29mdExpbmtfQ29yZU1lZGlhX0NN
U2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyRGF0YUlzUmVhZHksIEJvb2xlYW4s
IChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQpAQCAtMTY4LDYgKzE3Myw4IEBAIFNP
RlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBrQ01UZXh0VmVydGlj
YWxMYXlvdXRfUmlnaHRUb0xlZnQsCiAKICNpZiBQTEFURk9STShDT0NPQSkKIAorU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDcmVhdGVD
b250aWd1b3VzLCBPU1N0YXR1cywgKENGQWxsb2NhdG9yUmVmIHN0cnVjdHVyZUFsbG9jYXRvciwg
Q01CbG9ja0J1ZmZlclJlZiBzb3VyY2VCdWZmZXIsIENGQWxsb2NhdG9yUmVmIGJsb2NrQWxsb2Nh
dG9yLCBjb25zdCBDTUJsb2NrQnVmZmVyQ3VzdG9tQmxvY2tTb3VyY2UqIGN1c3RvbUJsb2NrU291
cmNlLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgQ01CbG9ja0J1ZmZl
ckZsYWdzIGZsYWdzLCBDTUJsb2NrQnVmZmVyUmVmKiBibG9ja0J1ZmZlck91dCksIChzdHJ1Y3R1
cmVBbGxvY2F0b3IsIHNvdXJjZUJ1ZmZlciwgYmxvY2tBbGxvY2F0b3IsIGN1c3RvbUJsb2NrU291
cmNlLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGZsYWdzLCBibG9ja0J1ZmZlck91dCkpCisj
ZGVmaW5lIENNQmxvY2tCdWZmZXJDcmVhdGVDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVNZWRpYV9D
TUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFE
RVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVN1YlR5cGUsIEZv
dXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSkKICNkZWZp
bmUgQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3ViVHlwZSBzb2Z0TGlua19Db3JlTWVkaWFf
Q01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3ViVHlwZQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVR5cGUs
IENNTWVkaWFUeXBlLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2MpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlu
ay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5o
CmluZGV4IGIzMjQxNTliZTFlZmU3YTVlNWZlMmIyNjRkNDFhNmEwYzg0ZmQ0OWIuLjcwMGU5YzMy
YzRjZmIxYmRjMzBlY2Y0N2EwMDA2MzA3MjA1MjY5MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKQEAgLTMyNCw0ICszMjQs
MTEgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBBVkZvdW5kYXRpb24sIEFW
T3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWQKICNkZWZpbmUgQVZPdXRwdXRDb250ZXh0T3V0
cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbiBQQUw6OmdldF9BVkZvdW5kYXRpb25fQVZP
dXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbigpCiAjZW5kaWYg
Ly8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09GVF9M
SU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvQ29udmVydGVyKQorU09GVF9MSU5LX0NM
QVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvRm9ybWF0KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9I
RUFERVIoUEFMLCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlcikKK1NPRlRfTElOS19DTEFTU19GT1Jf
SEVBREVSKFBBTCwgQVZBdWRpb1BDTUJ1ZmZlcikKKyNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkK
KwogI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQppbmRleCAzN2M4YjFmYWZkNThj
Y2JjNmU4NTBjNmYzMDExNzY3YzdkYTMxNjQ1Li43MzM5ODQ1ZTA3MjY1ODAxZTA2NDAzMDNiMmUy
OTFhMDEyNGU4NzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FW
Rm91bmRhdGlvblNvZnRMaW5rLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2Ev
QVZGb3VuZGF0aW9uU29mdExpbmsubW0KQEAgLTIzMCw3ICsyMzAsNyBAQCBTT0ZUX0xJTktfQ09O
U1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nl
c3Npb25Sb3V0ZQogCiBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZBSUxfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZVUkxBc3NldEhUVFBDb29raWVzS2V5LCBOU1N0
cmluZyAqLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRSZXF1aXJlc0N1c3Rv
bVVSTExvYWRpbmdLZXksIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCi0jZW5kaWYKKyNlbmRpZiAv
LyBQTEFURk9STShJT1NfRkFNSUxZKQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBM
QVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0UoUEFMLCBBVkZvdW5kYXRpb24sIEFWQ2FwdHVyZVNlc3Npb25TZXRBdXRob3Jp
emVkVG9Vc2VDYW1lcmFJbk11bHRpcGxlRm9yZWdyb3VuZEFwcExheW91dCwgdm9pZCwgKEFWQ2Fw
dHVyZVNlc3Npb24gKnNlc3Npb24pLCAoc2Vzc2lvbikpCkBAIC0yNDQsNCArMjQ0LDExIEBAIFNP
RlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVlJvdXRlRGV0ZWN0b3JNdWx0CiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZPdXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0Rp
ZENoYW5nZU5vdGlmaWNhdGlvbiwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKICNlbmRpZiAvLyBI
QVZFKEFWUk9VVEVQSUNLRVJWSUVXKQogCisjaWYgUExBVEZPUk0oQ09DT0EpCitTT0ZUX0xJTktf
Q0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0Nv
bnZlcnRlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQ
T1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvRm9ybWF0LCBQQUxfRVhQT1JUKQorU09GVF9M
SU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVk
aW9Db21wcmVzc2VkQnVmZmVyLCBQQUxfRVhQT1JUKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9QQ01CdWZmZXIsIFBBTF9F
WFBPUlQpCisjZW5kaWYKKwogI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjAxYjk5
MjdlM2NjNjIyZTljY2MwMGIxMWViMmEyY2RkMDNmNzUzNy4uNGY0OTU3ZjUwZThlYjQ0ZjZmMDU4
MTkwNzJkYzBhNTE3M2JlMWM4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjMyLDcgKzIzMiw3IEBACiAJCTA3RUU3NkVDMUJF
OTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUExQkU5NkRCMDAwRjg5MTMz
IC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDdFRTc2RUYxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tS
ZWFsdGltZVZpZGVvU291cmNlTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwN0VFNzZFRDFCRUE2MTk4MDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlk
ZW9Tb3VyY2VNYWMuaCAqLzsgfTsKIAkJMDdGNEU5MzMyMEIzNTg3RjAwMkUzODAzIC8qIEFWQXNz
ZXRNSU1FVHlwZUNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwN0M4QUQxMjFEMDczRDYzMDA4N0M1Q0UgLyogQVZBc3NldE1JTUVUeXBlQ2FjaGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwN0Y1
Q0ZGNTI1ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkY0MjU4MkE0Rjgw
MDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oICovOyB9OworCQkwN0Y1Q0ZGNTI1
ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkY0MjU4MkE0RjgwMDY2MkVG
NSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RjVDRkY2MjU4MkE1MjkwMDY2MkVGNSAvKiBXZWJN
QXVkaW9VdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA3RjVDRkYyMjU4MkE0RjgwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRp
ZXNDb2NvYS5tbSAqLzsgfTsKIAkJMDdGODc2ODQxQUQ1ODBGOTAwOTA1ODQ5IC8qIE1lZGlhUGxh
eWJhY2tUYXJnZXRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwN0Y4NzY4MzFBRDRBOTQ1MDA5MDU4NDkgLyogTWVkaWFQbGF5YmFja1Rhcmdl
dENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkwN0Y5NDQxNjE4NjREMDQ2MDA1RDMxQ0IgLyogUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREFF
OEMwODE3NDZCOTU3MDA1MzJENzggLyogUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGEzYjNhMmYxMTU3YzJiN2U1MDBiMmEw
NGU0NjhlZDU2YWQyMDQ0YmMuLjdkN2NkMmNlMWRlZmI4YzA1MTAzYjQzODFkYTc1ZjcwYjcyODM0
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTA1NSw3
ICsxMDU1LDcgQEAgU3RyaW5nIEhUTUxNZWRpYUVsZW1lbnQ6OmNhblBsYXlUeXBlKGNvbnN0IFN0
cmluZyYgbWltZVR5cGUpIGNvbnN0CiAgICAgLy8gVGVtcG9yYXJpbHkgd29yayBhcm91bmQgYnVn
IDIyNjkyMi4gRm9yIG5vdyBjbGFpbSB0aGF0IHRoZSBvcHVzIGFuZCB2b3JiaXMgY29kZWNzIGFy
ZW4ndCBzdXBwb3J0ZWQKICAgICAvLyBzbyB0aGF0IHNpdGVzIHJlbHlpbmcgb24gdGhpcyB0ZXN0
IHRvIGRldGVybWluZSBpZiB3ZWJhdWRpbyB1c2Ugb2Ygb3B1cyBvciB2b3JiaXMgd29uJ3QgZXJy
b3IuCiAgICAgYXV0byBjb2RlY3MgPSBjb250ZW50VHlwZS5jb2RlY3MoKTsKLSAgICBpZiAoc3Vw
cG9ydCA9PSBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc1N1cHBvcnRlZCAmJiAoY29kZWNz
LmNvbnRhaW5zKCJvcHVzIikgfHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCisgICAgaWYg
KHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYgKChj
b2RlY3MuY29udGFpbnMoIm9wdXMiKSAmJiAhd2ViTVdlYkF1ZGlvRW5hYmxlZCgpKSB8fCBjb2Rl
Y3MuY29udGFpbnMoInZvcmJpcyIpKSkKICAgICAgICAgc3VwcG9ydCA9IE1lZGlhUGxheWVyOjpT
dXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkOwogI2VuZGlmCiAKQEAgLTgxNzUsNiArODE3NSwx
NSBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Omhhc01lZGlhU3RyZWFtU291cmNlKCkgY29uc3QK
ICNlbmRpZgogfQogCitib29sIEhUTUxNZWRpYUVsZW1lbnQ6OndlYk1XZWJBdWRpb0VuYWJsZWQo
KSBjb25zdAoreworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgcmV0dXJuIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViTVdlYkF1ZGlvRW5hYmxlZCgpOwor
I2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhU3RyZWFtQ2FwdHVyZVN0YXJ0ZWQo
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAxMDUxYzA1ODUz
ZmMwMTJlZGRhY2Q4Yjc0Yzk0NWFiYmFjMmQ1MzIwLi5mOTI2ZWQ2MjczMDExZDUxNjQ4YWRlZjU3
OTdkYmVkZmE2ZGI4MmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApA
QCAtOTM5LDYgKzkzOSw4IEBAIHByaXZhdGU6CiAgICAgY29uc3QgTG9nZ2VyJiBtZWRpYVBsYXll
ckxvZ2dlcigpIGZpbmFsIHsgcmV0dXJuIGxvZ2dlcigpOyB9CiAjZW5kaWYKIAorICAgIGJvb2wg
d2ViTVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0OworCiAgICAgVGltZXIgbV9wcm9ncmVzc0V2ZW50
VGltZXI7CiAgICAgVGltZXIgbV9wbGF5YmFja1Byb2dyZXNzVGltZXI7CiAgICAgVGltZXIgbV9z
Y2FuVGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
CmluZGV4IGEwZDNjZWE3OWQ3ZTBhZTA3NDgyNDBkZDIyZWVlMmQ1NTc1MDQ0YTYuLjY4NWEwYTJh
ZDc1NDcyNjk5YWViZjIxOWZhMGMyNTE1MjFiZWIwYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC0yMzUsNiArMjM1LDggQEAgcHVibGljOgog
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgdm9pZCBzZXRXZWJNUGFyc2VyRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX3dlYk1QYXJzZXJFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAg
Ym9vbCB3ZWJNUGFyc2VyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVBhcnNlckVuYWJs
ZWQ7IH0KKyAgICB2b2lkIHNldFdlYk1XZWJBdWRpb0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsg
bV93ZWJNV2ViQXVkaW9FbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCB3ZWJNV2ViQXVk
aW9FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJNV2ViQXVkaW9FbmFibGVkOyB9CiAjZW5k
aWYKIAogI2lmIEhBVkUoQ0VMRVNUSUFMKQpAQCAtMzcxLDYgKzM3Myw3IEBAIHByaXZhdGU6CiAK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIGJvb2wgbV93ZWJNUGFyc2VyRW5hYmxlZCB7
IGZhbHNlIH07CisgICAgYm9vbCBtX3dlYk1XZWJBdWRpb0VuYWJsZWQgeyBmYWxzZSB9OwogI2Vu
ZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lZGlhU2FtcGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBs
ZS5oCmluZGV4IDhkYTYwMzc3ODgyNDMzMzBhZTI1MGQ5YzEwYzcyZWUwNTg4ZTc2MGMuLjA4NDdi
OTc0ZTkzZTg3MmEyMjllN2ExNjEwZjJkNDRlOTAyY2MwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTWVkaWFTYW1wbGUuaApAQCAtNTcsNyArNTcsNyBAQCBzdHJ1Y3QgUGxhdGZvcm1TYW1wbGUg
ewogICAgIH0gc2FtcGxlOwogfTsKIAotY2xhc3MgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGUg
OiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TWVkaWFTYW1wbGU+IHsKK2NsYXNzIE1lZGlh
U2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CiBwdWJs
aWM6CiAgICAgdmlydHVhbCB+TWVkaWFTYW1wbGUoKSA9IGRlZmF1bHQ7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcAppbmRleCAyNDNlMTA2YjllMzNkYTkzZGU5
YTBjYWQzM2JjMDhlOTIwNjUzMjAwLi43ZjAzYzMzMWVlMjAxMGM5ODkyOWEwMzI0ZGNhYzk1NWQ2
NWY4YmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCkBA
IC03Myw2ICs3MywxNiBAQCB2b2lkIEF1ZGlvQnVzOjpzZXRDaGFubmVsTWVtb3J5KHVuc2lnbmVk
IGNoYW5uZWxJbmRleCwgZmxvYXQqIHN0b3JhZ2UsIHNpemVfdCBsZQogICAgIH0KIH0KIAordm9p
ZCBBdWRpb0J1czo6c2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCit7CisgICAgUkVMRUFTRV9B
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihuZXdMZW5ndGggPD0gbV9sZW5ndGgpOwor
ICAgIGlmIChuZXdMZW5ndGggPT0gbV9sZW5ndGgpCisgICAgICAgIHJldHVybjsKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKKyAgICAgICAgbV9j
aGFubmVsc1tpXS0+c2V0TGVuZ3RoKG5ld0xlbmd0aCk7CisgICAgbV9sZW5ndGggPSBuZXdMZW5n
dGg7Cit9CisKIHZvaWQgQXVkaW9CdXM6Onplcm8oKQogewogICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBtX2NoYW5uZWxzLnNpemUoKTsgKytpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDBlODExMjExYjRkYTJjYThjNjcwYjU4YjMyOTZiMzVjZTY5
Y2Q0YS4uMzE3NTUxYzllZjExNWYyNmMwOWU1ODAwODkzNmMyNDViYzE0YTA3MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCkBAIC04Myw2ICs4Myw5IEBAIHB1Ymxp
YzoKICAgICAvLyBOdW1iZXIgb2Ygc2FtcGxlLWZyYW1lcwogICAgIHNpemVfdCBsZW5ndGgoKSBj
b25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQogCisgICAgLy8gUmVkdWNlIHRoZSBudW1iZXIgb2Yg
ZnJhbWVzIGF2YWlsYWJsZSB3aXRob3V0IGNoYW5naW5nIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHNp
emUuCisgICAgdm9pZCBzZXRMZW5ndGgoc2l6ZV90KTsKKwogICAgIC8vIFNhbXBsZS1yYXRlIDog
MC4wIGlmIHVua25vd24gb3IgImRvbid0IGNhcmUiCiAgICAgZmxvYXQgc2FtcGxlUmF0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fc2FtcGxlUmF0ZTsgfQogICAgIHZvaWQgc2V0U2FtcGxlUmF0ZShmbG9h
dCBzYW1wbGVSYXRlKSB7IG1fc2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKaW5kZXggOTc1YmQwYjVhYmQ4Zjcy
NTVhMDVhN2RkNzBmOTY1MGIxZDQ5NDY2Ny4uMTY3NmY1NmI2ZGRiOTcwOWMyZDQ2ZTc4OWU2OTk4
YmEyZmYxNTUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVk
aW9DaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFu
bmVsLmgKQEAgLTc0LDYgKzc0LDEzIEBAIHB1YmxpYzoKICAgICAvLyBIb3cgbWFueSBzYW1wbGUt
ZnJhbWVzIGRvIHdlIGNvbnRhaW4/CiAgICAgc2l6ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJu
IG1fbGVuZ3RoOyB9CiAKKyAgICAvLyBTZXQgbmV3IGxlbmd0aC4gQ2FuIG9ubHkgYmUgc2V0IHRv
IGEgdmFsdWUgbG93ZXIgdGhhbiB0aGUgY3VycmVudCBsZW5ndGguCisgICAgdm9pZCBzZXRMZW5n
dGgoc2l6ZV90IG5ld0xlbmd0aCkKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhf
U0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IGxlbmd0aCgpKTsKKyAgICAgICAgbV9s
ZW5ndGggPSBuZXdMZW5ndGg7CisgICAgfQorCiAgICAgLy8gRGlyZWN0IGFjY2VzcyB0byBQQ00g
c2FtcGxlIGRhdGEuIE5vbi1jb25zdCBhY2Nlc3NvciBjbGVhcnMgc2lsZW50IGZsYWcuCiAgICAg
ZmxvYXQqIG11dGFibGVEYXRhKCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKaW5kZXgg
NWQ1NmI5ZWUxYTBkM2Q2N2E3OWMzMDc2MWQxMzgxNWQ3YzA2NDRjZS4uMTFhYTY1NTNiMjJlNjA1
N2JjYzZlMmQxM2Q4YWUyYzE2MjhiNjc2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcApAQCAt
MzQsMjEgKzM0LDM2IEBACiAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgogI2luY2x1ZGUgIkF1ZGlv
RmlsZVJlYWRlci5oIgorI2luY2x1ZGUgIkF1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIgorI2luY2x1
ZGUgIkF1ZGlvVHJhY2tQcml2YXRlLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCisj
aW5jbHVkZSAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
KyNpbmNsdWRlICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKKyNpbmNsdWRlICJWaWRlb1RyYWNrUHJp
dmF0ZS5oIgorI2luY2x1ZGUgIldlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgiCisjaW5jbHVkZSA8
QXVkaW9Ub29sYm94L0F1ZGlvQ29udmVydGVyLmg+CiAjaW5jbHVkZSA8QXVkaW9Ub29sYm94L0V4
dGVuZGVkQXVkaW9GaWxlLmg+CiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRp
b24uaD4KLSNpbmNsdWRlIDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRl
IDxTb3VyY2VCdWZmZXJQYXJzZXJXZWJNLmg+CisjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUg
PHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Cisj
aW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi9TY29wZS5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxw
YWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgV0FSTl9VTlVTRURf
UkVUVVJOIEF1ZGlvQnVmZmVyTGlzdCogdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KHNpemVfdCBu
dW1iZXJPZkJ1ZmZlcnMpCiB7CisgICAgaWYgKCFudW1iZXJPZkJ1ZmZlcnMpCisgICAgICAgIHJl
dHVybiBudWxscHRyOwogICAgIENoZWNrZWRTaXplIGJ1ZmZlckxpc3RTaXplID0gc2l6ZW9mKEF1
ZGlvQnVmZmVyTGlzdCkgLSBzaXplb2YoQXVkaW9CdWZmZXIpOwotICAgIGJ1ZmZlckxpc3RTaXpl
ICs9IG51bWJlck9mQnVmZmVycyAqIHNpemVvZihBdWRpb0J1ZmZlcik7CisgICAgYnVmZmVyTGlz
dFNpemUgKz0gV1RGOjpjaGVja2VkUHJvZHVjdDxzaXplX3Q+KG51bWJlck9mQnVmZmVycywgc2l6
ZW9mKEF1ZGlvQnVmZmVyKSk7CiAgICAgaWYgKGJ1ZmZlckxpc3RTaXplLmhhc092ZXJmbG93ZWQo
KSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTg3LDEwICsxMDIsNTMgQEAgc3RhdGlj
IGJvb2wgdmFsaWRhdGVBdWRpb0J1ZmZlckxpc3QoQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0
KQogICAgIHJldHVybiB0cnVlOwogfQogCisvLyBPbiBzdGFjayBSQUlJIGNsYXNzIHRoYXQgd2ls
bCBmcmVlIHRoZSBhbGxvY2F0ZWQgQXVkaW9CdWZmZXJMaXN0KiBhcyBuZWVkZWQuCitjbGFzcyBB
dWRpb0J1ZmZlckxpc3RIb2xkZXIgeworcHVibGljOgorICAgIGV4cGxpY2l0IEF1ZGlvQnVmZmVy
TGlzdEhvbGRlcihzaXplX3QgbnVtYmVyT2ZDaGFubmVscykKKyAgICAgICAgOiBtX2J1ZmZlckxp
c3QodHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpKQorICAgIHsKKyAg
ICB9CisKKyAgICB+QXVkaW9CdWZmZXJMaXN0SG9sZGVyKCkKKyAgICB7CisgICAgICAgIGlmICht
X2J1ZmZlckxpc3QpCisgICAgICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVy
TGlzdCk7CisgICAgfQorCisgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0
dXJuICEhbV9idWZmZXJMaXN0OyB9CisgICAgQXVkaW9CdWZmZXJMaXN0KiBvcGVyYXRvci0+KCkg
Y29uc3QgeyByZXR1cm4gbV9idWZmZXJMaXN0OyB9CisgICAgb3BlcmF0b3IgQXVkaW9CdWZmZXJM
aXN0KigpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyTGlzdDsgfQorICAgIGJvb2wgaXNWYWxpZCgp
IGNvbnN0IHsgcmV0dXJuIHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7IH0K
K3ByaXZhdGU6CisgICAgQXVkaW9CdWZmZXJMaXN0KiBtX2J1ZmZlckxpc3Q7Cit9OworCitjbGFz
cyBBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CisKK3B1YmxpYzoKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIFNvdXJjZUJ1ZmZlclBh
cnNlcldlYk06OkluaXRpYWxpemF0aW9uU2VnbWVudCBtX2luaXRTZWdtZW50OworI2VuZGlmCisg
ICAgTWVkaWFUaW1lIG1fZHVyYXRpb247CisgICAgVmVjdG9yPFJlZjxNZWRpYVNhbXBsZUFWRk9i
akM+PiBtX3NhbXBsZXM7Cit9OworCiBBdWRpb0ZpbGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRlcihj
b25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpemUpCiAgICAgOiBtX2RhdGEoZGF0YSkKICAg
ICAsIG1fZGF0YVNpemUoZGF0YVNpemUpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAg
LCBtX2xvZ2dlcihMb2dnZXI6OmNyZWF0ZSh0aGlzKSkKKyAgICAsIG1fbG9nSWRlbnRpZmllcihM
b2dnZXJIZWxwZXI6OnVuaXF1ZUxvZ0lkZW50aWZpZXIoKSkKKyNlbmRpZgogeworI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisgICAgaWYgKGlzTWF5YmVXZWJNKHN0YXRpY19jYXN0PGNvbnN0IHVp
bnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpKSB7CisgICAgICAgIGRlbXV4V2ViTUludGVybmFsKHN0
YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpOworICAgICAgICByZXR1
cm47CisgICAgfQorI2VuZGlmCiAgICAgaWYgKFBBTDo6QXVkaW9GaWxlT3BlbldpdGhDYWxsYmFj
a3ModGhpcywgcmVhZFByb2MsIDAsIGdldFNpemVQcm9jLCAwLCAwLCAmbV9hdWRpb0ZpbGVJRCkg
IT0gbm9FcnIpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTExLDYgKzE2OSw4OSBAQCBBdWRpb0Zp
bGVSZWFkZXI6On5BdWRpb0ZpbGVSZWFkZXIoKQogICAgIG1fYXVkaW9GaWxlSUQgPSAwOwogfQog
Citib29sIEF1ZGlvRmlsZVJlYWRlcjo6aXNNYXliZVdlYk0oY29uc3QgdWludDhfdCogZGF0YSwg
c2l6ZV90IGRhdGFTaXplKSBjb25zdAoreworICAgIC8vIEZyb20gaHR0cHM6Ly9taW1lc25pZmYu
c3BlYy53aGF0d2cub3JnLyNzaWduYXR1cmUtZm9yLXdlYm0KKyAgICByZXR1cm4gZGF0YVNpemUg
Pj0gNCAmJiBkYXRhWzBdID09IDB4MUEgJiYgZGF0YVsxXSA9PSAweDQ1ICYmIGRhdGFbMl0gPT0g
MHhERiAmJiBkYXRhWzNdID09IDB4QTM7Cit9CisKK3ZvaWQgQXVkaW9GaWxlUmVhZGVyOjpkZW11
eFdlYk1JbnRlcm5hbChjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUpCit7Cisg
ICAgYXV0byBwYXJzZXIgPSBhZG9wdFJlZihuZXcgU291cmNlQnVmZmVyUGFyc2VyV2ViTSgpKTsK
KyAgICBib29sIGVycm9yID0gZmFsc2U7CisgICAgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4gYXVk
aW9UcmFja0lkOworICAgIE1lZGlhVGltZSBkdXJhdGlvbjsKKyAgICBTb3VyY2VCdWZmZXJQYXJz
ZXJXZWJNOjpJbml0aWFsaXphdGlvblNlZ21lbnQgaW5pdFNlZ21lbnQ7CisgICAgVmVjdG9yPFJl
ZjxNZWRpYVNhbXBsZUFWRk9iakM+PiBzYW1wbGVzOworICAgIHBhcnNlci0+c2V0RGlkRW5jb3Vu
dGVyRXJyb3JEdXJpbmdQYXJzaW5nQ2FsbGJhY2soWyZdKHVpbnQ2NF90KSB7CisgICAgICAgIGVy
cm9yID0gdHJ1ZTsKKyAgICB9KTsKKyAgICBwYXJzZXItPnNldERpZFBhcnNlSW5pdGlhbGl6YXRp
b25EYXRhQ2FsbGJhY2soWyZdKFNvdXJjZUJ1ZmZlclBhcnNlcldlYk06OkluaXRpYWxpemF0aW9u
U2VnbWVudCYmIGluaXQpIHsKKyAgICAgICAgZm9yIChhdXRvJiBhdWRpb1RyYWNrIDogaW5pdC5h
dWRpb1RyYWNrcykgeworICAgICAgICAgICAgaWYgKGF1ZGlvVHJhY2sudHJhY2sgJiYgYXVkaW9U
cmFjay50cmFjay0+dHJhY2tVSUQoKSkgeworICAgICAgICAgICAgICAgIGR1cmF0aW9uID0gaW5p
dC5kdXJhdGlvbjsKKyAgICAgICAgICAgICAgICBhdWRpb1RyYWNrSWQgPSBhdWRpb1RyYWNrLnRy
YWNrLT50cmFja1VJRCgpOworICAgICAgICAgICAgICAgIGluaXRTZWdtZW50ID0gV1RGTW92ZShp
bml0KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICB9KTsKKyAgICBwYXJzZXItPnNldERpZFByb3ZpZGVNZWRpYURhdGFDYWxsYmFjayhbJl0o
UmVmPE1lZGlhU2FtcGxlPiYmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCwgY29uc3QgU3RyaW5n
JikgeworICAgICAgICBpZiAoIWF1ZGlvVHJhY2tJZCB8fCB0cmFja0lEICE9ICphdWRpb1RyYWNr
SWQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHNhbXBsZXMuYXBwZW5kKHN0YXRpY19y
ZWZlcmVuY2VfY2FzdDxNZWRpYVNhbXBsZUFWRk9iakM+KFdURk1vdmUoc2FtcGxlKSkpOworICAg
IH0pOworICAgIHBhcnNlci0+c2V0Q2FsbE9uQ2xpZW50VGhyZWFkQ2FsbGJhY2soW10oV1RGOjpG
dW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rpb24pIHsKKyAgICAgICAgZnVuY3Rpb24oKTsKKyAgICB9
KTsKKyAgICBWZWN0b3I8dWludDhfdD4gdmVjdG9yKGRhdGEsIGRhdGFTaXplKTsKKyAgICBTb3Vy
Y2VCdWZmZXJQYXJzZXI6OlNlZ21lbnQgc2VnbWVudChXVEZNb3ZlKHZlY3RvcikpOworICAgIHBh
cnNlci0+YXBwZW5kRGF0YShXVEZNb3ZlKHNlZ21lbnQpKTsKKyAgICBpZiAoYXVkaW9UcmFja0lk
KSB7CisgICAgICAgIHBhcnNlci0+Zmx1c2hQZW5kaW5nQXVkaW9CdWZmZXJzKCk7CisgICAgICAg
IG1fd2VibURhdGEgPSBtYWtlVW5pcXVlPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPihBdWRpb0Zp
bGVSZWFkZXJXZWJNRGF0YSB7IFdURk1vdmUoaW5pdFNlZ21lbnQpLCBXVEZNb3ZlKGR1cmF0aW9u
KSwgV1RGTW92ZShzYW1wbGVzKSB9KTsKKyAgICB9Cit9CisKK3N0cnVjdCBQYXNzdGhyb3VnaFVz
ZXJEYXRhIHsKKyAgICBVSW50MzIgbV9jaGFubmVsczsKKyAgICBVSW50MzIgbV9kYXRhU2l6ZTsK
KyAgICBjb25zdCB2b2lkKiBtX2RhdGE7CisgICAgVUludDMyIG1faW5kZXg7CisgICAgVUludDMy
IG1fbnVtUGFja2V0czsKKyAgICBBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKiBtX3BhY2tl
dHM7Cit9OworCisvLyBFcnJvciB2YWx1ZSB3ZSBwYXNzIHRocm91Z2ggdGhlIGRlY29kZXIgdG8g
c2lnbmFsIHRoYXQgbm90aGluZworLy8gaGFzIGdvbmUgd3JvbmcgZHVyaW5nIGRlY29kaW5nIGFu
ZCB3ZSdyZSBkb25lIHByb2Nlc3NpbmcgdGhlIHBhY2tldC4KK2NvbnN0IHVpbnQzMl90IGtOb01v
cmVEYXRhRXJyID0gJ01PQVInOworCitzdGF0aWMgT1NTdGF0dXMgcGFzc3Rocm91Z2hJbnB1dERh
dGFDYWxsYmFjayhBdWRpb0NvbnZlcnRlclJlZiwgVUludDMyKiBudW1EYXRhUGFja2V0cywgQXVk
aW9CdWZmZXJMaXN0KiBkYXRhLCBBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKiogcGFja2V0
RGVzYywgdm9pZCogaW5Vc2VyRGF0YSkKK3sKKyAgICBhdXRvKiB1c2VyRGF0YSA9IHN0YXRpY19j
YXN0PFBhc3N0aHJvdWdoVXNlckRhdGEqPihpblVzZXJEYXRhKTsKKyAgICBpZiAodXNlckRhdGEt
Pm1faW5kZXggPT0gdXNlckRhdGEtPm1fbnVtUGFja2V0cykgeworICAgICAgICAqbnVtRGF0YVBh
Y2tldHMgPSAwOworICAgICAgICByZXR1cm4ga05vTW9yZURhdGFFcnI7CisgICAgfQorCisgICAg
aWYgKHBhY2tldERlc2MpIHsKKyAgICAgICAgaWYgKHVzZXJEYXRhLT5tX2luZGV4ID49IHVzZXJE
YXRhLT5tX251bVBhY2tldHMpIHsKKyAgICAgICAgICAgICpudW1EYXRhUGFja2V0cyA9IDA7Cisg
ICAgICAgICAgICByZXR1cm4ga0F1ZGlvQ29udmVydGVyRXJyX1JlcXVpcmVzUGFja2V0RGVzY3Jp
cHRpb25zRXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgKnBhY2tldERlc2MgPSAmdXNlckRhdGEt
Pm1fcGFja2V0c1t1c2VyRGF0YS0+bV9pbmRleF07CisgICAgfQorCisgICAgZGF0YS0+bUJ1ZmZl
cnNbMF0ubU51bWJlckNoYW5uZWxzID0gdXNlckRhdGEtPm1fY2hhbm5lbHM7CisgICAgZGF0YS0+
bUJ1ZmZlcnNbMF0ubURhdGFCeXRlU2l6ZSA9IHVzZXJEYXRhLT5tX2RhdGFTaXplOworICAgIGRh
dGEtPm1CdWZmZXJzWzBdLm1EYXRhID0gY29uc3RfY2FzdDx2b2lkKj4odXNlckRhdGEtPm1fZGF0
YSk7CisKKyAgICAqbnVtRGF0YVBhY2tldHMgPSAxOworICAgIHVzZXJEYXRhLT5tX2luZGV4Kys7
CisKKyAgICByZXR1cm4gbm9FcnI7Cit9CisKIE9TU3RhdHVzIEF1ZGlvRmlsZVJlYWRlcjo6cmVh
ZFByb2Modm9pZCogY2xpZW50RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVzdENv
dW50LCB2b2lkKiBidWZmZXIsIFVJbnQzMiogYWN0dWFsQ291bnQpCiB7CiAgICAgYXV0byogYXVk
aW9GaWxlUmVhZGVyID0gc3RhdGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50RGF0YSk7
CkBAIC0xMzYsNjcgKzI3NywyMzggQEAgU0ludDY0IEF1ZGlvRmlsZVJlYWRlcjo6Z2V0U2l6ZVBy
b2Modm9pZCogY2xpZW50RGF0YSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXVkaW9GaWxlUmVh
ZGVyKj4oY2xpZW50RGF0YSktPmRhdGFTaXplKCk7CiB9CiAKLVJlZlB0cjxBdWRpb0J1cz4gQXVk
aW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8p
Citzc2l6ZV90IEF1ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMoKSBjb25zdAogewotICAg
IGlmICghbV9leHRBdWRpb0ZpbGVSZWYpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgIFNJ
bnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSAwOwogCi0gICAgLy8gR2V0IGZpbGUncyBkYXRhIGZv
cm1hdAotICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKG1fZmlsZURhdGFGb3JtYXQpOwotICAgIGlm
IChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVk
aW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZzaXplLCAmbV9maWxlRGF0YUZvcm1hdCkg
IT0gbm9FcnIpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghbV93ZWJtRGF0YSkg
eworICAgICAgICBpZiAoIW1fZXh0QXVkaW9GaWxlUmVmKQorICAgICAgICAgICAgcmV0dXJuIC0x
OwogCi0gICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBtX2ZpbGVEYXRhRm9ybWF0Lm1DaGFu
bmVsc1BlckZyYW1lOworICAgICAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihudW1iZXJPZkZyYW1l
c0luNjQpOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1
ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVMZW5ndGhGcmFtZXMsICZzaXpl
LCAmbnVtYmVyT2ZGcmFtZXNJbjY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lc0luNjQgPD0g
MCkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8g
cmV0cmlldmUgbnVtYmVyIG9mIGZyYW1lcyBpbiBjb250ZW50ICh1bnN1cHBvcnRlZD8iKTsKKyAg
ICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQogCi0gICAgLy8gTnVtYmVyIG9mIGZyYW1l
cwotICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lczY0ID0gMDsKLSAgICBzaXplID0gc2l6ZW9mKG51
bWJlck9mRnJhbWVzNjQpOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1f
ZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmlsZUxlbmd0aEZyYW1lcywg
JnNpemUsICZudW1iZXJPZkZyYW1lczY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lczY0IDw9
IDApCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gbnVtYmVyT2ZGcmFt
ZXNJbjY0OworICAgIH0KKworICAgIGlmIChtX3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgp
KSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiTm8gc2FtcGxlIGRlbXV4
ZWQgZnJvbSB3ZWJtIGNvbnRhaW5lciIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisg
ICAgLy8gQ2FsY3VsYXRlIHRoZSB0b3RhbCBudW1iZXIgb2YgZGVjb2RlZCBzYW1wbGVzIHRoYXQg
d2VyZSBkZW11eGVkLgorICAgIC8vIFRoaXMgY29kZSBvbmx5IGhhbmRsZSB0aGUgQ01TYW1wbGVC
dWZmZXIgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNCisgICAgLy8g
d2hlcmUgYSBBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyBhcnJheSBpcyBhbHdheXMgcHJv
dmlkZWQgZXZlbiB3aXRoCisgICAgLy8gQ29uc3RhbnQgYml0cmF0ZSBhbmQgY29uc3RhbnQgZnJh
bWVzLXBlci1wYWNrZXQgYXVkaW8uCisgICAgZm9yIChhdXRvJiBzYW1wbGUgOiBtX3dlYm1EYXRh
LT5tX3NhbXBsZXMpIHsKKyAgICAgICAgYXV0byBzYW1wbGVCdWZmZXIgPSBzYW1wbGUtPnNhbXBs
ZUJ1ZmZlcigpOworICAgICAgICBjb25zdCBhdXRvIGZvcm1hdERlc2NyaXB0aW9uID0gUEFMOjpD
TVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKHNhbXBsZUJ1ZmZlcik7CisgICAgICAg
IGlmICghZm9ybWF0RGVzY3JpcHRpb24pIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxU
KFdlYkF1ZGlvLCAiVW5hYmxlIHRvIHJldHJpZXZlIGZvcm1hdCBkZXNjcmlwdGlvbmcgZnJvbSBz
YW1wbGUiKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBjb25z
dCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNNQXVkaW9G
b3JtYXREZXNjcmlwdGlvbkdldFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3JpcHRp
b24pOworICAgICAgICBpZiAoIWFzYmQpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxU
KFdlYkF1ZGlvLCAiVW5hYmxlIHRvIHJldHJpZXZlIGFzYmQgZnJvbSBmb3JtYXQgZGVzY3JpcHRp
b24iKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorCisgICAgICAgIHNpemVf
dCBwYWNrZXREZXNjcmlwdGlvbnNTaXplOworICAgICAgICBpZiAoUEFMOjpDTVNhbXBsZUJ1ZmZl
ckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1ZmZlciwgMCwgbnVsbHB0
ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUpICE9IG5vRXJyKSB7CisgICAgICAgICAgICBSRUxF
QVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBnZXQgcGFja2V0IGRlc2NyaXB0aW9u
IGxpc3Qgc2l6ZSIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAg
IHNpemVfdCBudW1EZXNjcmlwdGlvbnMgPSBwYWNrZXREZXNjcmlwdGlvbnNTaXplIC8gc2l6ZW9m
KEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24pOworICAgICAgICBpZiAoIW51bURlc2NyaXB0
aW9ucykgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJObyBwYWNr
ZXQgZGVzY3JpcHRpb24gZm91bmQuIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAg
IH0KKyAgICAgICAgYXV0byBkZXNjcmlwdGlvbnMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxBdWRp
b1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPihudW1EZXNjcmlwdGlvbnMpOworICAgICAgICBpZiAo
UEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBs
ZUJ1ZmZlciwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3JpcHRpb25zLmdldCgpLCBudWxs
cHRyKSAhPSBub0VycikgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8s
ICJVbmFibGUgdG8gZ2V0IHBhY2tldCBkZXNjcmlwdGlvbiBsaXN0Iik7CisgICAgICAgICAgICBy
ZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgYXV0byBudW1QYWNrZXRzID0gUEFMOjpDTVNh
bXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2FtcGxlQnVmZmVyKTsKKyAgICAgICAgaWYgKG51bURl
c2NyaXB0aW9ucyAhPSBzaXplX3QobnVtUGFja2V0cykpIHsKKyAgICAgICAgICAgIFJFTEVBU0Vf
TE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5oYW5kbGVkIENNU2FtcGxlQnVmZmVyIHN0cnVjdHVyZSIp
OworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbnVtRGVzY3JpcHRpb25zOyBpKyspIHsKKyAgICAgICAgICAgIHVpbnQzMl90
IGZwcCA9IGRlc2NyaXB0aW9uc1tpXS5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA/IGRlc2NyaXB0
aW9uc1tpXS5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA6IGFzYmQtPm1GcmFtZXNQZXJQYWNrZXQ7
CisgICAgICAgICAgICBudW1iZXJPZkZyYW1lc0luNjQgKz0gZnBwOworICAgICAgICB9CisgICAg
fQorICAgIHJldHVybiBudW1iZXJPZkZyYW1lc0luNjQ7Cit9CisKK3N0ZDo6b3B0aW9uYWw8QXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uPiBBdWRpb0ZpbGVSZWFkZXI6OmZpbGVEYXRhRm9ybWF0
KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fd2VibURhdGEpIHsKKyAgICAgICAgQXVkaW9TdHJlYW1C
YXNpY0Rlc2NyaXB0aW9uIGZvcm1hdDsKKyAgICAgICAgVUludDMyIHNpemUgPSBzaXplb2YoZm9y
bWF0KTsKKyAgICAgICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRp
b0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxlRGF0YUZvcm1hdCwgJnNpemUsICZm
b3JtYXQpICE9IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJu
IGZvcm1hdDsKKyAgICB9CiAKLSAgICBkb3VibGUgZmlsZVNhbXBsZVJhdGUgPSBtX2ZpbGVEYXRh
Rm9ybWF0Lm1TYW1wbGVSYXRlOworICAgIGlmIChtX3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0
eSgpKQorICAgICAgICByZXR1cm4geyB9OwogCisgICAgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBm
b3JtYXREZXNjcmlwdGlvbiA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlv
bihtX3dlYm1EYXRhLT5tX3NhbXBsZXNbMF0tPnNhbXBsZUJ1ZmZlcigpKTsKKyAgICBpZiAoIWZv
cm1hdERlc2NyaXB0aW9uKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgY29uc3QgQXVkaW9T
dHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25zdCBhc2JkID0gUEFMOjpDTUF1ZGlvRm9ybWF0RGVz
Y3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKGZvcm1hdERlc2NyaXB0aW9uKTsKKyAg
ICByZXR1cm4gKmFzYmQ7Cit9CisKK0F1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBBdWRpb0Zp
bGVSZWFkZXI6OmNsaWVudERhdGFGb3JtYXQoY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0
aW9uJiBpbkZvcm1hdCwgZmxvYXQgc2FtcGxlUmF0ZSkgY29uc3QKK3sKICAgICAvLyBNYWtlIGNs
aWVudCBmb3JtYXQgc2FtZSBudW1iZXIgb2YgY2hhbm5lbHMgYXMgZmlsZSBmb3JtYXQsIGJ1dCB0
d2VhayBhIGZldyB0aGluZ3MuCiAgICAgLy8gQ2xpZW50IGZvcm1hdCB3aWxsIGJlIGxpbmVhciBQ
Q00gKGNhbm9uaWNhbCksIGFuZCBwb3RlbnRpYWxseSBjaGFuZ2Ugc2FtcGxlLXJhdGUuCi0gICAg
bV9jbGllbnREYXRhRm9ybWF0ID0gbV9maWxlRGF0YUZvcm1hdDsKKyAgICBBdWRpb1N0cmVhbUJh
c2ljRGVzY3JpcHRpb24gb3V0Rm9ybWF0ID0gaW5Gb3JtYXQ7CiAKICAgICBjb25zdCBpbnQgYnl0
ZXNQZXJGbG9hdCA9IHNpemVvZihGbG9hdDMyKTsKICAgICBjb25zdCBpbnQgYml0c1BlckJ5dGUg
PSA4OwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tRm9ybWF0SUQgPSBrQXVkaW9Gb3JtYXRMaW5l
YXJQQ007Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1Gb3JtYXRGbGFncyA9IGtBdWRpb0Zvcm1h
dEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQgfCBrQXVkaW9Gb3JtYXRGbGFnSXNOb25JbnRlcmxlYXZl
ZDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJ5dGVzUGVyUGFja2V0ID0gYnl0ZXNQZXJGbG9h
dDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUZyYW1lc1BlclBhY2tldCA9IDE7Ci0gICAgbV9j
bGllbnREYXRhRm9ybWF0Lm1CeXRlc1BlckZyYW1lID0gYnl0ZXNQZXJGbG9hdDsKLSAgICBtX2Ns
aWVudERhdGFGb3JtYXQubUNoYW5uZWxzUGVyRnJhbWUgPSBudW1iZXJPZkNoYW5uZWxzOwotICAg
IG1fY2xpZW50RGF0YUZvcm1hdC5tQml0c1BlckNoYW5uZWwgPSBiaXRzUGVyQnl0ZSAqIGJ5dGVz
UGVyRmxvYXQ7CisgICAgb3V0Rm9ybWF0Lm1Gb3JtYXRJRCA9IGtBdWRpb0Zvcm1hdExpbmVhclBD
TTsKKyAgICBvdXRGb3JtYXQubUZvcm1hdEZsYWdzID0ga0F1ZGlvRm9ybWF0RmxhZ3NOYXRpdmVG
bG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1hdEZsYWdJc05vbkludGVybGVhdmVkOworICAgIG91dEZv
cm1hdC5tQnl0ZXNQZXJQYWNrZXQgPSBvdXRGb3JtYXQubUJ5dGVzUGVyRnJhbWUgPSBieXRlc1Bl
ckZsb2F0OworICAgIG91dEZvcm1hdC5tRnJhbWVzUGVyUGFja2V0ID0gMTsKKyAgICBvdXRGb3Jt
YXQubUJpdHNQZXJDaGFubmVsID0gYml0c1BlckJ5dGUgKiBieXRlc1BlckZsb2F0OwogCiAgICAg
aWYgKHNhbXBsZVJhdGUpCi0gICAgICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSA9
IHNhbXBsZVJhdGU7CisgICAgICAgIG91dEZvcm1hdC5tU2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7
CisKKyAgICByZXR1cm4gb3V0Rm9ybWF0OworfQogCi0gICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxl
U2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9DbGll
bnREYXRhRm9ybWF0LCBzaXplb2YoQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKSwgJm1fY2xp
ZW50RGF0YUZvcm1hdCkgIT0gbm9FcnIpCitzdGQ6Om9wdGlvbmFsPHNpemVfdD4gQXVkaW9GaWxl
UmVhZGVyOjpkZWNvZGVXZWJNRGF0YShBdWRpb0J1ZmZlckxpc3QqIGJ1ZmZlckxpc3QsIHNpemVf
dCBudW1iZXJPZkZyYW1lcywgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwg
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBvdXRGb3JtYXQpCit7CisgICAgQXVkaW9Db252
ZXJ0ZXJSZWYgY29udmVydGVyOworICAgIGlmIChQQUw6OkF1ZGlvQ29udmVydGVyTmV3KCZpbkZv
cm1hdCwgJm91dEZvcm1hdCwgJmNvbnZlcnRlcikgIT0gbm9FcnIpIHsKKyAgICAgICAgUkVMRUFT
RV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8gY3JlYXRlIGRlY29kZXIiKTsKKyAgICAg
ICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgYXV0byBjbGVhbnVwID0gbWFrZVNjb3BlRXhpdChb
Jl0geworICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShjb252ZXJ0ZXIpOworICAg
IH0pOworICAgIGF1dG8gZm9ybWF0RGVzY3JpcHRpb24gPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0
Rm9ybWF0RGVzY3JpcHRpb24obV93ZWJtRGF0YS0+bV9zYW1wbGVzWzBdLT5zYW1wbGVCdWZmZXIo
KSk7CisgICAgaWYgKCFmb3JtYXREZXNjcmlwdGlvbikgeworICAgICAgICBSRUxFQVNFX0xPR19G
QVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byByZXRyaWV2ZSBmb3JtYXQgZGVzY3JpcHRpb24gZnJv
bSBmaXJzdCBzYW1wbGUiKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgc2l6ZV90
IG1hZ2ljQ29va2llU2l6ZSA9IDA7CisgICAgY29uc3Qgdm9pZCogbWFnaWNDb29raWUgPSBQQUw6
OkNNQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkdldE1hZ2ljQ29va2llKGZvcm1hdERlc2NyaXB0aW9u
LCAmbWFnaWNDb29raWVTaXplKTsKKyAgICBpZiAobWFnaWNDb29raWUgJiYgbWFnaWNDb29raWVT
aXplKQorICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyU2V0UHJvcGVydHkoY29udmVydGVyLCBr
QXVkaW9Db252ZXJ0ZXJEZWNvbXByZXNzaW9uTWFnaWNDb29raWUsIG1hZ2ljQ29va2llU2l6ZSwg
bWFnaWNDb29raWUpOworCisgICAgQXVkaW9CdWZmZXJMaXN0SG9sZGVyIGRlY29kZWRCdWZmZXJM
aXN0KGluRm9ybWF0Lm1DaGFubmVsc1BlckZyYW1lKTsKKyAgICBpZiAoIWRlY29kZWRCdWZmZXJM
aXN0KSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIGNy
ZWF0ZSBkZWNvZGVyIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgc2l6ZV90
IGRlY29kZWRGcmFtZXMgPSAwOworICAgIE9TU3RhdHVzIHN0YXR1czsKKyAgICBmb3IgKGF1dG8m
IHNhbXBsZSA6IG1fd2VibURhdGEtPm1fc2FtcGxlcykgeworICAgICAgICBDTVNhbXBsZUJ1ZmZl
clJlZiBzYW1wbGVCdWZmZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICBhdXRv
IGJ1ZmZlciA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyKHNhbXBsZUJ1ZmZlcik7
CisgICAgICAgIEFTU0VSVChQQUw6OkNNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cyhidWZm
ZXIsIDAsIDApKTsKKyAgICAgICAgaWYgKCFQQUw6OkNNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGln
dW91cyhidWZmZXIsIDAsIDApKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJB
dWRpbywgIlVuYWJsZSB0byByZWFkIHNhbXBsZSBjb250ZW50IChub3QgY29udGlndW91cykiKTsK
KyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIH0KKworICAgICAgICBzaXplX3Qgc3Jj
U2l6ZSA9IFBBTDo6Q01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgoYnVmZmVyKTsKKyAgICAgICAg
Y2hhciogc3JjRGF0YSA9IG51bGxwdHI7CisgICAgICAgIGlmIChQQUw6OkNNQmxvY2tCdWZmZXJH
ZXREYXRhUG9pbnRlcihidWZmZXIsIDAsIG51bGxwdHIsIG51bGxwdHIsICZzcmNEYXRhKSAhPSBu
b0VycikgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUg
dG8gcmV0cmlldmUgZGF0YSIpOworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQor
CisgICAgICAgIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplOworICAgICAgICBpZiAoUEFM
OjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1
ZmZlciwgMCwgbnVsbHB0ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUpICE9IG5vRXJyKSB7Cisg
ICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBnZXQgcGFj
a2V0IGRlc2NyaXB0aW9uIGxpc3Qgc2l6ZSIpOworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAg
ICAgICAgfQorICAgICAgICBzaXplX3QgbnVtRGVzY3JpcHRpb25zID0gcGFja2V0RGVzY3JpcHRp
b25zU2l6ZSAvIHNpemVvZihBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKTsKKyAgICAgICAg
aWYgKCFudW1EZXNjcmlwdGlvbnMpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdl
YkF1ZGlvLCAiTm8gcGFja2V0IGRlc2NyaXB0aW9uIGZvdW5kLiIpOworICAgICAgICAgICAgcmV0
dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IFdURjo6bWFr
ZVVuaXF1ZUFycmF5PEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24+KG51bURlc2NyaXB0aW9u
cyk7CisgICAgICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXRE
ZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBkZXNjcmlw
dGlvbnMuZ2V0KCksIG51bGxwdHIpICE9IG5vRXJyKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xP
R19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBnZXQgcGFja2V0IGRlc2NyaXB0aW9uIGxpc3Qi
KTsKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIH0KKyAgICAgICAgYXV0byBudW1Q
YWNrZXRzID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2FtcGxlQnVmZmVyKTsK
KyAgICAgICAgaWYgKG51bURlc2NyaXB0aW9ucyAhPSBzaXplX3QobnVtUGFja2V0cykpIHsKKyAg
ICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5oYW5kbGVkIENNU2FtcGxl
QnVmZmVyIHN0cnVjdHVyZSIpOworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQor
CisgICAgICAgIFBhc3N0aHJvdWdoVXNlckRhdGEgdXNlckRhdGEgPSB7IGluRm9ybWF0Lm1DaGFu
bmVsc1BlckZyYW1lLCBVSW50MzIoc3JjU2l6ZSksIHNyY0RhdGEsIDAsIFVJbnQzMihudW1EZXNj
cmlwdGlvbnMpLCBkZXNjcmlwdGlvbnMuZ2V0KCkgfTsKKworICAgICAgICBkbyB7CisgICAgICAg
ICAgICBpZiAobnVtYmVyT2ZGcmFtZXMgPCBkZWNvZGVkRnJhbWVzKSB7CisgICAgICAgICAgICAg
ICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJEZWNvZGVkIG1vcmUgZnJhbWVzIHRoYW4g
Zmlyc3QgY2FsY3VsYXRlZCIpOworICAgICAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICAvLyBpbjogdGhlIG1heCBudW1iZXIgb2YgcGFja2V0cyB3ZSBj
YW4gaGFuZGxlIGZyb20gdGhlIGRlY29kZXIuCisgICAgICAgICAgICAvLyBvdXQ6IHRoZSBudW1i
ZXIgb2YgcGFja2V0cyB0aGUgZGVjb2RlciBpcyBhY3R1YWxseSByZXR1cm5pbmcuCisgICAgICAg
ICAgICBVSW50MzIgbnVtRnJhbWVzID0gc3RkOjptaW48dWludDMyX3Q+KHN0ZDo6bnVtZXJpY19s
aW1pdHM8aW50MzJfdD46Om1heCgpIC8gc2l6ZW9mKGZsb2F0KSwgbnVtYmVyT2ZGcmFtZXMgLSBk
ZWNvZGVkRnJhbWVzKTsKKworICAgICAgICAgICAgZm9yIChVSW50MzIgaSA9IDA7IGkgPCBpbkZv
cm1hdC5tQ2hhbm5lbHNQZXJGcmFtZTsgaSsrKSB7CisgICAgICAgICAgICAgICAgZGVjb2RlZEJ1
ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1OdW1iZXJDaGFubmVscyA9IDE7CisgICAgICAgICAgICAg
ICAgZGVjb2RlZEJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1EYXRhQnl0ZVNpemUgPSBudW1GcmFt
ZXMgKiBzaXplb2YoZmxvYXQpOworICAgICAgICAgICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5t
QnVmZmVyc1tpXS5tRGF0YSA9IHN0YXRpY19jYXN0PGZsb2F0Kj4oYnVmZmVyTGlzdC0+bUJ1ZmZl
cnNbaV0ubURhdGEpICsgZGVjb2RlZEZyYW1lczsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IHN0YXR1cyA9IFBBTDo6QXVkaW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlcihjb252ZXJ0ZXIs
IHBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2ssICZ1c2VyRGF0YSwgJm51bUZyYW1lcywgZGVj
b2RlZEJ1ZmZlckxpc3QsIG51bGxwdHIpOworICAgICAgICAgICAgaWYgKHN0YXR1cyAmJiBzdGF0
dXMgIT0ga05vTW9yZURhdGFFcnIpIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVM
VChXZWJBdWRpbywgIkVycm9yIGRlY29kaW5nIGRhdGEiKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4geyB9OworICAgICAgICAgICAgfQorICAgICAgICAgICAgZGVjb2RlZEZyYW1lcyArPSBudW1G
cmFtZXM7CisgICAgICAgIH0gd2hpbGUgKHN0YXR1cyAhPSBrTm9Nb3JlRGF0YUVycik7CisgICAg
fQorICAgIHJldHVybiBkZWNvZGVkRnJhbWVzOworfQorCitSZWZQdHI8QXVkaW9CdXM+IEF1ZGlv
RmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQor
eworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSBudW1iZXJPZkZyYW1lcygpOworICAg
IGlmIChudW1iZXJPZkZyYW1lc0luNjQgPD0gMCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAK
LSAgICAvLyBDaGFuZ2UgbnVtYmVyT2ZGcmFtZXM2NCB0byBkZXN0aW5hdGlvbiBzYW1wbGUtcmF0
ZQotICAgIG51bWJlck9mRnJhbWVzNjQgPSBudW1iZXJPZkZyYW1lczY0ICogKG1fY2xpZW50RGF0
YUZvcm1hdC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVSYXRlKTsKLSAgICBzaXplX3QgbnVtYmVy
T2ZGcmFtZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51bWJlck9mRnJhbWVzNjQpOworICAgIGF1
dG8gaW5Gb3JtYXQgPSBmaWxlRGF0YUZvcm1hdCgpOworICAgIGlmICghaW5Gb3JtYXQpCisgICAg
ICAgIHJldHVybiBudWxscHRyOwogCisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIG91
dEZvcm1hdCA9IGNsaWVudERhdGFGb3JtYXQoKmluRm9ybWF0LCBzYW1wbGVSYXRlKTsKKyAgICBz
aXplX3QgbnVtYmVyT2ZDaGFubmVscyA9IGluRm9ybWF0LT5tQ2hhbm5lbHNQZXJGcmFtZTsKKyAg
ICBkb3VibGUgZmlsZVNhbXBsZVJhdGUgPSBpbkZvcm1hdC0+bVNhbXBsZVJhdGU7CisgICAgU0lu
dDY0IG51bWJlck9mRnJhbWVzT3V0NjQgPSBudW1iZXJPZkZyYW1lc0luNjQgKiAob3V0Rm9ybWF0
Lm1TYW1wbGVSYXRlIC8gZmlsZVNhbXBsZVJhdGUpOworICAgIHNpemVfdCBudW1iZXJPZkZyYW1l
cyA9IHN0YXRpY19jYXN0PHNpemVfdD4obnVtYmVyT2ZGcmFtZXNPdXQ2NCk7CiAgICAgc2l6ZV90
IGJ1c0NoYW5uZWxDb3VudCA9IG1peFRvTW9ubyA/IDEgOiBudW1iZXJPZkNoYW5uZWxzOwogCiAg
ICAgLy8gQ3JlYXRlIEF1ZGlvQnVzIHdoZXJlIHdlJ2xsIHB1dCB0aGUgUENNIGF1ZGlvIGRhdGEK
ICAgICBhdXRvIGF1ZGlvQnVzID0gQXVkaW9CdXM6OmNyZWF0ZShidXNDaGFubmVsQ291bnQsIG51
bWJlck9mRnJhbWVzKTsKLSAgICBhdWRpb0J1cy0+c2V0U2FtcGxlUmF0ZShuYXJyb3dQcmVjaXNp
b25Ub0Zsb2F0KG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSkpOyAvLyBzYXZlIGZvciBs
YXRlcgotCi0gICAgLy8gT25seSBhbGxvY2F0ZWQgaW4gdGhlIG1peFRvTW9ubyBjYXNlOyBkZWFs
bG9jYXRlZCBvbiBkZXN0cnVjdGlvbi4KLSAgICBBdWRpb0Zsb2F0QXJyYXkgbGVmdENoYW5uZWw7
Ci0gICAgQXVkaW9GbG9hdEFycmF5IHJpZ2h0Q2hhbm5lbDsKKyAgICBhdWRpb0J1cy0+c2V0U2Ft
cGxlUmF0ZShuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KG91dEZvcm1hdC5tU2FtcGxlUmF0ZSkpOyAv
LyBzYXZlIGZvciBsYXRlcgogCi0gICAgQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0ID0gdHJ5
Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOworICAgIEF1ZGlvQnVmZmVy
TGlzdEhvbGRlciBidWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmICghYnVmZmVy
TGlzdCkgewogICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgInRyeUNyZWF0ZUF1
ZGlvQnVmZmVyTGlzdCglbGQpIHJldHVybmVkIG51bGwiLCBudW1iZXJPZkNoYW5uZWxzKTsKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogICAgIGNvbnN0IHNpemVfdCBidWZmZXJTaXpl
ID0gbnVtYmVyT2ZGcmFtZXMgKiBzaXplb2YoZmxvYXQpOwogCisgICAgLy8gT25seSBhbGxvY2F0
ZWQgaW4gdGhlIG1peFRvTW9ubyBjYXNlOyBkZWFsbG9jYXRlZCBvbiBkZXN0cnVjdGlvbi4KKyAg
ICBBdWRpb0Zsb2F0QXJyYXkgbGVmdENoYW5uZWw7CisgICAgQXVkaW9GbG9hdEFycmF5IHJpZ2h0
Q2hhbm5lbDsKKwogICAgIFJFTEVBU0VfQVNTRVJUKGJ1ZmZlckxpc3QtPm1OdW1iZXJCdWZmZXJz
ID09IG51bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmIChtaXhUb01vbm8gJiYgbnVtYmVyT2ZDaGFu
bmVscyA9PSAyKSB7CiAgICAgICAgIGxlZnRDaGFubmVsLnJlc2l6ZShudW1iZXJPZkZyYW1lcyk7
CkBAIC0yMjIsMTggKzUzNCwyOCBAQCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6
Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQogICAgICAgICB9CiAg
ICAgfQogCi0gICAgaWYgKCF2YWxpZGF0ZUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KSkgewor
ICAgIGlmICghYnVmZmVyTGlzdC5pc1ZhbGlkKCkpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRkFV
TFQoV2ViQXVkaW8sICJHZW5lcmF0ZWQgYnVmZmVyIGluIEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRl
QnVzKCkgZGlkIG5vdCBwYXNzIHZhbGlkYXRpb24iKTsKICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7CiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIC8vIFJlYWQgZnJvbSB0aGUgZmlsZSAo
b3IgaW4tbWVtb3J5IHZlcnNpb24pCi0gICAgVUludDMyIGZyYW1lc1RvUmVhZCA9IG51bWJlck9m
RnJhbWVzOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVJlYWQobV9leHRBdWRpb0ZpbGVSZWYs
ICZmcmFtZXNUb1JlYWQsIGJ1ZmZlckxpc3QpICE9IG5vRXJyKSB7Ci0gICAgICAgIGRlc3Ryb3lB
dWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOworICAg
IGlmIChtX3dlYm1EYXRhKSB7CisgICAgICAgIGF1dG8gZGVjb2RlZEZyYW1lcyA9IGRlY29kZVdl
Yk1EYXRhKGJ1ZmZlckxpc3QsIG51bWJlck9mRnJhbWVzLCAqaW5Gb3JtYXQsIG91dEZvcm1hdCk7
CisgICAgICAgIGlmICghZGVjb2RlZEZyYW1lcykKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworICAgICAgICAvLyBUaGUgYWN0dWFsIGRlY29kZWQgbnVtYmVyIG9mIGZyYW1lcyBtYXkgbm90
IG1hdGNoIHRoZSBudW1iZXIgb2YgZnJhbWVzIGNhbGN1bGF0ZWQKKyAgICAgICAgLy8gd2hpbGUg
ZGVtdXhpbmcgYXMgZnJhbWVzIGNhbiBiZSB0cmltbWVkLiBJdCB3aWxsIGFsd2F5cyBiZSBsb3dl
ci4KKyAgICAgICAgYXVkaW9CdXMtPnNldExlbmd0aCgqZGVjb2RlZEZyYW1lcyk7CisgICAgICAg
IG51bWJlck9mRnJhbWVzID0gKmRlY29kZWRGcmFtZXM7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
aWYgKFBBTDo6RXh0QXVkaW9GaWxlU2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRB
dWRpb0ZpbGVQcm9wZXJ0eV9DbGllbnREYXRhRm9ybWF0LCBzaXplb2YoQXVkaW9TdHJlYW1CYXNp
Y0Rlc2NyaXB0aW9uKSwgJm91dEZvcm1hdCkgIT0gbm9FcnIpCisgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKworICAgICAgICAvLyBSZWFkIGZyb20gdGhlIGZpbGUgKG9yIGluLW1lbW9yeSB2
ZXJzaW9uKQorICAgICAgICBVSW50MzIgZnJhbWVzVG9SZWFkID0gbnVtYmVyT2ZGcmFtZXM7Cisg
ICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVJlYWQobV9leHRBdWRpb0ZpbGVSZWYsICZmcmFt
ZXNUb1JlYWQsIGJ1ZmZlckxpc3QpICE9IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgfQogCiAgICAgaWYgKG1peFRvTW9ubyAmJiBudW1iZXJPZkNoYW5uZWxzID09IDIp
IHsKQEAgLTI0Myw5ICs1NjUsNiBAQCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6
Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQogICAgICAgICAgICAg
ZGVzdExbaV0gPSAwLjVmICogKGxlZnRDaGFubmVsW2ldICsgcmlnaHRDaGFubmVsW2ldKTsKICAg
ICB9CiAKLSAgICAvLyBDbGVhbnVwCi0gICAgZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJM
aXN0KTsKLQogICAgIHJldHVybiBhdWRpb0J1czsKIH0KIApAQCAtMjU1LDYgKzU3NCwxMyBAQCBS
ZWZQdHI8QXVkaW9CdXM+IGNyZWF0ZUJ1c0Zyb21Jbk1lbW9yeUF1ZGlvRmlsZShjb25zdCB2b2lk
KiBkYXRhLCBzaXplX3QgZGF0YVNpegogICAgIHJldHVybiByZWFkZXIuY3JlYXRlQnVzKHNhbXBs
ZVJhdGUsIG1peFRvTW9ubyk7CiB9CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dURkxv
Z0NoYW5uZWwmIEF1ZGlvRmlsZVJlYWRlcjo6bG9nQ2hhbm5lbCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIExvZ01lZGlhOworfQorI2VuZGlmCisKIH0gLy8gV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5B
QkxFKFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oCmluZGV4IDBiYmJiYTI3ODU3ZDk3OWVj
YzY4OGY4N2YwMzM5ZjY2NWVmNDI1MjkuLjNjMTgxY2NhYmIzNWU1MmZmYmQyYzg5YTRmNDg2YWYw
YzAzYWY3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29h
L0F1ZGlvRmlsZVJlYWRlckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaApAQCAtMzIsNiArMzIsOCBAQAogI2lmIEVO
QUJMRShXRUJfQVVESU8pCiAKICNpbmNsdWRlIDxDb3JlQXVkaW8vQ29yZUF1ZGlvVHlwZXMuaD4K
KyNpbmNsdWRlIDxvcHRpb25hbD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogCiB1c2luZyBFeHRBdWRpb0ZpbGVSZWYgPSBzdHJ1Y3QgT3Bh
cXVlRXh0QXVkaW9GaWxlKjsKQEAgLTQwLDEyICs0MiwxOCBAQCB1c2luZyBBdWRpb0ZpbGVJRCA9
IHN0cnVjdCBPcGFxdWVBdWRpb0ZpbGVJRCo7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEF1ZGlvQnVzOworY2xhc3MgU291cmNlQnVmZmVyUGFyc2VyV2ViTTsKK2NsYXNzIEF1ZGlvRmls
ZVJlYWRlcldlYk1EYXRhOwogCiAvLyBXcmFwcGVyIGNsYXNzIGZvciBBdWRpb0ZpbGUgYW5kIEV4
dEF1ZGlvRmlsZSBDb3JlQXVkaW8gQVBJcyBmb3IgcmVhZGluZyBmaWxlcyBhbmQgaW4tbWVtb3J5
IHZlcnNpb25zIG9mIHRoZW0uLi4KIAotY2xhc3MgQXVkaW9GaWxlUmVhZGVyIHsKK2NsYXNzIEF1
ZGlvRmlsZVJlYWRlcgorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIDogcHVibGljIExv
Z2dlckhlbHBlcgorI2VuZGlmCit7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgQXVkaW9GaWxlUmVh
ZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSk7CisgICAgQXVkaW9GaWxlUmVh
ZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSk7CiAgICAgfkF1ZGlvRmlsZVJl
YWRlcigpOwogCiAgICAgUmVmUHRyPEF1ZGlvQnVzPiBjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0
ZSwgYm9vbCBtaXhUb01vbm8pOyAvLyBSZXR1cm5zIG51bGxwdHIgb24gZXJyb3IKQEAgLTUzLDkg
KzYxLDIyIEBAIHB1YmxpYzoKICAgICBjb25zdCB2b2lkKiBkYXRhKCkgY29uc3QgeyByZXR1cm4g
bV9kYXRhOyB9CiAgICAgc2l6ZV90IGRhdGFTaXplKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhU2l6
ZTsgfQogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgTG9nZ2VyJiBsb2dn
ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQorICAgIGNvbnN0IHZv
aWQqIGxvZ0lkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7
IH0KKyAgICBXVEZMb2dDaGFubmVsJiBsb2dDaGFubmVsKCkgY29uc3QgZmluYWw7CisgICAgY29u
c3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIkF1ZGlvRmlsZVJl
YWRlckNvY29hIjsgfQorI2VuZGlmCisKIHByaXZhdGU6CisgICAgYm9vbCBpc01heWJlV2ViTShj
b25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUpIGNvbnN0OworICAgIHZvaWQgZGVt
dXhXZWJNSW50ZXJuYWwoY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKTsKICAg
ICBzdGF0aWMgT1NTdGF0dXMgcmVhZFByb2Modm9pZCogY2xpZW50RGF0YSwgU0ludDY0IHBvc2l0
aW9uLCBVSW50MzIgcmVxdWVzdENvdW50LCB2b2lkKiBidWZmZXIsIFVJbnQzMiogYWN0dWFsQ291
bnQpOwogICAgIHN0YXRpYyBTSW50NjQgZ2V0U2l6ZVByb2Modm9pZCogY2xpZW50RGF0YSk7Cisg
ICAgc3NpemVfdCBudW1iZXJPZkZyYW1lcygpIGNvbnN0OworICAgIHN0ZDo6b3B0aW9uYWw8QXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uPiBmaWxlRGF0YUZvcm1hdCgpIGNvbnN0OworICAgIEF1
ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBjbGllbnREYXRhRm9ybWF0KGNvbnN0IEF1ZGlvU3Ry
ZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5Gb3JtYXQsIGZsb2F0IHNhbXBsZVJhdGUpIGNvbnN0Owor
ICAgIHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBkZWNvZGVXZWJNRGF0YShBdWRpb0J1ZmZlckxpc3Qq
LCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMsIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5G
b3JtYXQsIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgb3V0Rm9ybWF0KTsKIAogICAgIGNv
bnN0IHZvaWQqIG1fZGF0YSA9IHsgbnVsbHB0ciB9OwogICAgIHNpemVfdCBtX2RhdGFTaXplID0g
eyAwIH07CkBAIC02Myw4ICs4NCwxMyBAQCBwcml2YXRlOgogICAgIEF1ZGlvRmlsZUlEIG1fYXVk
aW9GaWxlSUQgPSB7IG51bGxwdHIgfTsKICAgICBFeHRBdWRpb0ZpbGVSZWYgbV9leHRBdWRpb0Zp
bGVSZWYgPSB7IG51bGxwdHIgfTsKIAotICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBt
X2ZpbGVEYXRhRm9ybWF0OwotICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2NsaWVu
dERhdGFGb3JtYXQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRh
PiBtX3dlYm1EYXRhOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgUmVm
PExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworI2Vu
ZGlmCisKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKaW5kZXggYTFlNzFiZDUyMjMyMjQy
NTcxNmM2YjllNWFjZWQwNmU1NTgyOTMzYS4uNmFlM2I1Y2QxZjJlZmQ2MjM5ZmIzNGQwMTNhNTg3
NzZmNDE4YzZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNp
bmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAotdHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlw
dGlvbiAqQ01Gb3JtYXREZXNjcmlwdGlvblJlZjsKIHR5cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2Ft
cGxlQnVmZmVyICpDTVNhbXBsZUJ1ZmZlclJlZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVE
YXRhU291cmNlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9T
YW1wbGVEYXRhU291cmNlLm1tCmluZGV4IGQyYjVhYzQ1ZjMwZmQ0YTNhZjUxYjQyMGRlMzc2NDli
MTE1MWMyMjcuLjcwZGMyNDg0YTVlZDY2ODg5ZmNhMzNlZTI5MWVjMTA2YTVmOWY5YTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0
YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRp
b1NhbXBsZURhdGFTb3VyY2UubW0KQEAgLTM5LDYgKzM5LDcgQEAKICNpbXBvcnQgPHd0Zi9SdW5M
b29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KIAorI2ltcG9ydCA8cGFs
L2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CiAjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29m
dExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjcsNyArNjgsNyBAQCBBdWRpb1Nh
bXBsZURhdGFTb3VyY2U6OkF1ZGlvU2FtcGxlRGF0YVNvdXJjZShzaXplX3QgbWF4aW11bVNhbXBs
ZUNvdW50LCBMb2dnZXJIZQogQXVkaW9TYW1wbGVEYXRhU291cmNlOjp+QXVkaW9TYW1wbGVEYXRh
U291cmNlKCkKIHsKICAgICBpZiAobV9jb252ZXJ0ZXIpCi0gICAgICAgIEF1ZGlvQ29udmVydGVy
RGlzcG9zZShtX2NvbnZlcnRlcik7CisgICAgICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3Nl
KG1fY29udmVydGVyKTsKIH0KIAogT1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1
cENvbnZlcnRlcigpCkBAIC03NSwxNCArNzYsMTQgQEAgT1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRh
U291cmNlOjpzZXR1cENvbnZlcnRlcigpCiAgICAgQVNTRVJUKG1faW5wdXREZXNjcmlwdGlvbiAm
JiBtX291dHB1dERlc2NyaXB0aW9uKTsKIAogICAgIGlmIChtX2NvbnZlcnRlcikgewotICAgICAg
ICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOworICAgICAgICBQQUw6OkF1ZGlv
Q29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CiAgICAgICAgIG1fY29udmVydGVyID0gbnVs
bHB0cjsKICAgICB9CiAKICAgICBpZiAoKm1faW5wdXREZXNjcmlwdGlvbiA9PSAqbV9vdXRwdXRE
ZXNjcmlwdGlvbikKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBPU1N0YXR1cyBlcnIgPSBBdWRp
b0NvbnZlcnRlck5ldygmbV9pbnB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAm
bV9vdXRwdXREZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fY29udmVydGVyKTsK
KyAgICBPU1N0YXR1cyBlcnIgPSBQQUw6OkF1ZGlvQ29udmVydGVyTmV3KCZtX2lucHV0RGVzY3Jp
cHRpb24tPnN0cmVhbURlc2NyaXB0aW9uKCksICZtX291dHB1dERlc2NyaXB0aW9uLT5zdHJlYW1E
ZXNjcmlwdGlvbigpLCAmbV9jb252ZXJ0ZXIpOwogICAgIGlmIChlcnIpIHsKICAgICAgICAgUnVu
TG9vcDo6bWFpbigpLmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cigq
dGhpcyksIGVycl0gewogICAgICAgICAgICAgRVJST1JfTE9HKCJBdWRpb0NvbnZlcnRlck5ldyBy
ZXR1cm5lZCBlcnJvciAiLCBlcnIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tCmluZGV4IGUzZDZmYWM3MDQz
Njk2ZmM3ZWUyYTkyMTVkYjIxYThmN2RmODI1YTUuLmEzMmRmNjIwNDhkMzJkN2IxMzRkYmY1NmRh
MDA3YjcwZWMyNDczZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVw
YWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAog
I2lmIEVOQUJMRShHQU1FUEFEKSAmJiBQTEFURk9STShNQUMpCiAKKyNpbXBvcnQgIkdhbWVDb250
cm9sbGVyR2FtZXBhZFByb3ZpZGVyLmgiCiAjaW1wb3J0ICJHYW1lcGFkUHJvdmlkZXJDbGllbnQu
aCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIlBsYXRmb3JtR2FtZXBhZC5oIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNl
LmNwcAppbmRleCA0ZDhlZTYyZTAxYjhlYWViYWNjNmQyOGIzYTA5ODUyOTUyYzVkODBhLi5jMDY2
YzJkNDg3OTdhNGFhYjNiOWJlMmEwZWRkNGQ4MzhiNGJmNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcApAQCAtMjks
NyArMjksNiBAQAogI2lmIEVOQUJMRShWSURFTykKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTYW1wbGVBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaAppbmRleCBkMDNjZGM4ZGQ2
MjU0MTYwOTlhNTM3MTM1ZWUxMWVjOTEwNzM2YTAyLi41NDVmMGJlMWM1MGNiZmU0MTcwMTgwMzU2
Zjg4Y2UzYzU1MmM4NmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFW
Rk9iakMuaApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBp
eGVsQnVmZmVyOwogCi1jbGFzcyBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMgOiBw
dWJsaWMgTWVkaWFTYW1wbGUgeworY2xhc3MgTWVkaWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1l
ZGlhU2FtcGxlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4g
Y3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0K
ICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVy
UmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lEKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1l
ZGlhU2FtcGxlQVZGT2JqQyhzYW1wbGUsIHRyYWNrSUQpKTsgfQpAQCAtNDQsNyArNDQsNyBAQCBw
dWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0QXNEaXNwbGF5SW1tZWRp
YXRlbHkoTWVkaWFTYW1wbGUmKTsKICAgICBzdGF0aWMgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVy
UmVmPiBjbG9uZVNhbXBsZUJ1ZmZlckFuZFNldEFzRGlzcGxheUltbWVkaWF0ZWx5KENNU2FtcGxl
QnVmZmVyUmVmKTsKIAotICAgIFJlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JB
SW1hZ2VEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEpT
Qzo6VWludDhDbGFtcGVkQXJyYXk+IGdldFJHQkFJbWFnZURhdGEoKSBjb25zdCBvdmVycmlkZTsK
IAogICAgIE1lZGlhVGltZSBwcmVzZW50YXRpb25UaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAg
TWVkaWFUaW1lIGRlY29kZVRpbWUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTU5LDE2ICs1OSwxNiBA
QCBwdWJsaWM6CiAgICAgU2FtcGxlRmxhZ3MgZmxhZ3MoKSBjb25zdCBvdmVycmlkZTsKICAgICBQ
bGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBsZSgpIG92ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9u
YWw8Qnl0ZVJhbmdlPiBieXRlUmFuZ2UoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGR1bXAo
UHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGR1
bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIG9mZnNldFRpbWVzdGFt
cHNCeShjb25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFRpbWVzdGFtcHMo
Y29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBp
c0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFT
YW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVz
ZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBvdmVycmlkZTsKLSAgICBSZWY8TWVkaWFTYW1wbGU+
IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9F
WFBPUlQgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQ
T1JUIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBk
aXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVzZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBvdmVy
cmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3Bs
YXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBWaWRlb1JvdGF0aW9uIHZpZGVvUm90
YXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3JvdGF0aW9uOyB9CiAgICAgYm9vbCB2
aWRlb01pcnJvcmVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9taXJyb3JlZDsgfQotICAg
IHVpbnQzMl90IHZpZGVvUGl4ZWxGb3JtYXQoKSBjb25zdCBmaW5hbDsKKyAgICBXRUJDT1JFX0VY
UE9SVCB1aW50MzJfdCB2aWRlb1BpeGVsRm9ybWF0KCkgY29uc3QgZmluYWw7CiAKICAgICBDTVNh
bXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIoKSBjb25zdCB7IHJldHVybiBtX3NhbXBsZS5nZXQo
KTsgfQogCkBAIC03OCwzNCArNzgsMTUgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Qnl0ZVJhbmdl
T2Zmc2V0KHNpemVfdCk7CiAKIHByb3RlY3RlZDoKLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoUmV0
YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmIHNhbXBsZSkKLSAgICAgICAgOiBtX3NhbXBsZShX
VEZNb3ZlKHNhbXBsZSkpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01T
YW1wbGVCdWZmZXJSZWYgc2FtcGxlKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICB7
Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUs
IEF0b21TdHJpbmcgdHJhY2tJRCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAg
ICwgbV9pZCh0cmFja0lEKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENN
U2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCkKLSAgICAgICAgOiBtX3Nh
bXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9pZChBdG9tU3RyaW5nOjpudW1iZXIodHJhY2tJRCkp
Ci0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYg
c2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJvdGF0aW9uLCBib29sIG1pcnJvcmVkKQotICAgICAgICA6
IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAgICAgLCBtX3JvdGF0aW9uKHJvdGF0aW9uKQotICAgICAg
ICAsIG1fbWlycm9yZWQobWlycm9yZWQpCi0gICAgewotICAgIH0KKyAgICBXRUJDT1JFX0VYUE9S
VCBNZWRpYVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiwg
QXRvbVN0cmluZyB0cmFja0lEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9i
akMoQ01TYW1wbGVCdWZmZXJSZWYsIHVpbnQ2NF90IHRyYWNrSUQpOworICAgIFdFQkNPUkVfRVhQ
T1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiwgVmlkZW9Sb3RhdGlvbiwg
Ym9vbCBtaXJyb3JlZCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+TWVkaWFTYW1wbGVB
VkZPYmpDKCk7CiAKICAgICBzdGQ6Om9wdGlvbmFsPE1lZGlhU2FtcGxlOjpCeXRlUmFuZ2U+IGJ5
dGVSYW5nZUZvckF0dGFjaG1lbnQoQ0ZTdHJpbmdSZWYga2V5KSBjb25zdDsKIAotICAgIHZpcnR1
YWwgfk1lZGlhU2FtcGxlQVZGT2JqQygpID0gZGVmYXVsdDsKICAgICBSZXRhaW5QdHI8Q01TYW1w
bGVCdWZmZXJSZWY+IG1fc2FtcGxlOwogICAgIEF0b21TdHJpbmcgbV9pZDsKICAgICBWaWRlb1Jv
dGF0aW9uIG1fcm90YXRpb24geyBWaWRlb1JvdGF0aW9uOjpOb25lIH07CkBAIC0xMTMsNCArOTQs
MyBAQCBwcm90ZWN0ZWQ6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhU2FtcGxlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQppbmRleCBjMGYxM2Q2ZWE1Yzk3
NTc2N2NlOGY2MmFiNjg0MmQ3ZDZmMGZiYjZiLi5jZjNjMzQxMGEzOGFkZWM0OTU3Yzk3MTQyYjMy
NDIyNGQ1YWZkODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZP
YmpDLm1tCkBAIC00NSw2ICs0NSwzMyBAQCBzdHJ1Y3QgV1RGOjpDRlR5cGVUcmFpdDxDTVNhbXBs
ZUJ1ZmZlclJlZj4gewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK01lZGlhU2FtcGxlQVZGT2Jq
Qzo6TWVkaWFTYW1wbGVBVkZPYmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4mJiBzYW1w
bGUpCisgICAgOiBtX3NhbXBsZShXVEZNb3ZlKHNhbXBsZSkpCit7Cit9CitNZWRpYVNhbXBsZUFW
Rk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUpCisgICAg
OiBtX3NhbXBsZShzYW1wbGUpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxl
QVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkKKyAg
ICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1faWQodHJhY2tJRCkKK3sKK30KK01lZGlhU2Ft
cGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwg
dWludDY0X3QgdHJhY2tJRCkKKyAgICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1faWQoQXRv
bVN0cmluZzo6bnVtYmVyKHRyYWNrSUQpKQoreworfQorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRp
YVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJv
dGF0aW9uLCBib29sIG1pcnJvcmVkKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9y
b3RhdGlvbihyb3RhdGlvbikKKyAgICAsIG1fbWlycm9yZWQobWlycm9yZWQpCit7Cit9CisKK01l
ZGlhU2FtcGxlQVZGT2JqQzo6fk1lZGlhU2FtcGxlQVZGT2JqQygpID0gZGVmYXVsdDsKKwogUmVm
UHRyPE1lZGlhU2FtcGxlQVZGT2JqQz4gTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGVJbWFnZVNh
bXBsZShQaXhlbEJ1ZmZlciYmIHBpeGVsQnVmZmVyKQogewogICAgIGF1dG8gc2l6ZSA9IHBpeGVs
QnVmZmVyLnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQpp
bmRleCA4ZWVmM2IyZWE2MDRiZDE5ODNkNzdkMzhiZjUyMWE4ZDIxZjIwZWQwLi5kMWM4NDQ4ODM2
NzQwZmRiNzVjNDBhYzkzZjdkZDA5ZDc4ZjAzMDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29t
cHJlc3Npb25TZXNzaW9uLm1tCkBAIC0zMSwxMCArMzEsMTAgQEAKICNpbXBvcnQgPENvcmVNZWRp
YS9DTUJ1ZmZlclF1ZXVlLmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlv
bi5oPgogI2ltcG9ydCA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4K
LSNpbXBvcnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogI2ltcG9ydCA8d3RmL01haW5U
aHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9NZWRpYVRpbWUuaD4KICNpbXBvcnQgPHd0Zi9Nb25vdG9u
aWNUaW1lLmg+CisjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3RmL1N0cmluZ1By
aW50U3RyZWFtLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1wb3J0IDx3dGYvV1RGU2Vt
YXBob3JlLmg+CkBAIC00Miw2ICs0Miw3IEBACiAKICNpbXBvcnQgIkNvcmVWaWRlb1NvZnRMaW5r
LmgiCiAjaW1wb3J0ICJWaWRlb1Rvb2xib3hTb2Z0TGluay5oIgorI2ltcG9ydCA8cGFsL2NmL0Nv
cmVNZWRpYVNvZnRMaW5rLmg+CiAKIC8vIEVxdWl2YWxlbnQgdG8gV1RGX0RFQ0xBUkVfQ0ZfVFlQ
RV9UUkFJVChDTVNhbXBsZUJ1ZmZlcik7CiAvLyBOZWVkZWQgZHVlIHRvIHJlcXVpcmVtZW50IG9m
IHNwZWNpZnlpbmcgdGhlIFBBTCBuYW1lc3BhY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29j
b2EuaAppbmRleCBmZWNlODEyOWJkN2Y3ZmRlZDZhODA0YmE1MmY3OTUyNjFmZTY1ZDMwLi44NzEw
NGQ4YjdiMzU3YzE2MGI2ZGNjYzQxYmZlMWY4OWUwYTZjMjcxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0
aWxpdGllc0NvY29hLmgKQEAgLTM0LDcgKzM0LDggQEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3Bh
cXVlQ01Gb3JtYXREZXNjcmlwdGlvbiogQ01Gb3JtYXREZXNjcmlwdGlvblJlZjsKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1ib29sIGlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09S
RV9FWFBPUlQgYm9vbCBpc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JU
IGJvb2wgcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKIFJldGFpblB0cjxDTUZvcm1h
dERlc2NyaXB0aW9uUmVmPiBjcmVhdGVWb3JiaXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKHNpemVf
dCwgY29uc3Qgdm9pZCopOwogCiBzdHJ1Y3QgT3B1c0Nvb2tpZUNvbnRlbnRzIHsKQEAgLTUyLDcg
KzUzLDggQEAgc3RydWN0IE9wdXNDb29raWVDb250ZW50cyB7CiAgICAgYm9vbCBoYXNQYWRkaW5n
IHsgZmFsc2UgfTsKIH07CiAKLWJvb2wgaXNPcHVzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09S
RV9FWFBPUlQgYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9SVCBi
b29sIHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOwogYm9vbCBwYXJzZU9wdXNQcml2YXRl
RGF0YShzaXplX3QgcHJpdmF0ZURhdGFTaXplLCBjb25zdCB2b2lkKiBwcml2YXRlRGF0YSwgc2l6
ZV90IGZyYW1lRGF0YVNpemUsIGNvbnN0IHZvaWQqIGZyYW1lRGF0YSwgT3B1c0Nvb2tpZUNvbnRl
bnRzJik7CiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlT3B1c0F1ZGlv
Rm9ybWF0RGVzY3JpcHRpb24oY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxp
dGllc0NvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2Vi
TUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0KaW5kZXggMDZiZDQ4YWUwZDNkNjkxMjUwYjhhMjc1N2Qw
MjU2ZDQ0ODU5ZmNjNC4uMGUxZWIxYjc5OGEzYzdlYTY3ZWFiNzViYTM2ZTU4NWFkZDhjMTBhMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1
ZGlvVXRpbGl0aWVzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0KQEAgLTMyLDIyICszMiwyOCBAQAog
I2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTWVkaWFVdGlsaXRpZXMuaCIKICNpbXBvcnQg
IlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgorI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1
ZGlvQ29kZWMuaD4KICNpbXBvcnQgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbXBvbmVudC5oPgogI2lt
cG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvRm9ybWF0Lmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01G
b3JtYXREZXNjcmlwdGlvbi5oPgogI2ltcG9ydCA8ZGxmY24uaD4KICNpbXBvcnQgPHd0Zi9GbGlw
Qnl0ZXMuaD4KICNpbXBvcnQgPHd0Zi9TZWNvbmRzLmg+Ci0KICNpZiBFTkFCTEUoT1BVUykKICNp
bXBvcnQgPGxpYndlYnJ0Yy9vcHVzX2RlZmluZXMuaD4KICNlbmRpZgorI2ltcG9ydCA8cGFsL2Nm
L0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVO
QUJMRShWT1JCSVMpIHx8IEVOQUJMRShPUFVTKQogc3RhdGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVy
RmFjdG9yeShjb25zdCBjaGFyKiBkZWNvZGVyTmFtZSwgT1NUeXBlIGRlY29kZXJUeXBlKQogewor
ICAgIEF1ZGlvQ29tcG9uZW50RGVzY3JpcHRpb24gZGVzYyB7IGtBdWRpb0RlY29kZXJDb21wb25l
bnRUeXBlLCBkZWNvZGVyVHlwZSwgJ2FwcGwnLCBrQXVkaW9Db21wb25lbnRGbGFnX1NhbmRib3hT
YWZlLCAwIH07CisgICAgQXVkaW9Db21wb25lbnQgY29tcCA9IFBBTDo6QXVkaW9Db21wb25lbnRG
aW5kTmV4dCgwLCAmZGVzYyk7CisgICAgaWYgKGNvbXApCisgICAgICAgIHJldHVybiB0cnVlOyAv
LyBBbHJlYWR5IHJlZ2lzdGVyZWQuCisKICAgICBjb25zdGV4cHIgY2hhciBhdWRpb0NvbXBvbmVu
dHNEeWxpYltdID0gIi9TeXN0ZW0vTGlicmFyeS9Db21wb25lbnRzL0F1ZGlvQ29kZWNzLmNvbXBv
bmVudC9Db250ZW50cy9NYWNPUy9BdWRpb0NvZGVjcyI7CiAgICAgdm9pZCAqaGFuZGxlID0gZGxv
cGVuKGF1ZGlvQ29tcG9uZW50c0R5bGliLCBSVExEX0xBWlkgfCBSVExEX0xPQ0FMKTsKICAgICBp
ZiAoIWhhbmRsZSkKQEAgLTU3LDcgKzYzLDYgQEAgc3RhdGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVy
RmFjdG9yeShjb25zdCBjaGFyKiBkZWNvZGVyTmFtZSwgT1NUeXBlIGRlY29kZXJUeXBlKQogICAg
IGlmICghZGVjb2RlckZhY3RvcnkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEF1ZGlv
Q29tcG9uZW50RGVzY3JpcHRpb24gZGVzYyB7ICdhZGVjJywgZGVjb2RlclR5cGUsICdhcHBsJywg
a0F1ZGlvQ29tcG9uZW50RmxhZ19TYW5kYm94U2FmZSwgMCB9OwogICAgIGlmICghQXVkaW9Db21w
b25lbnRSZWdpc3RlcigmZGVzYywgQ0ZTVFIoIiIpLCAwLCBkZWNvZGVyRmFjdG9yeSkpIHsKICAg
ICAgICAgZGxjbG9zZShoYW5kbGUpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC03MSw3ICs3
Niw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlQXVk
aW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdChPCiAgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2Ny
aXB0aW9uIGFzYmQgeyB9OwogICAgIGFzYmQubUZvcm1hdElEID0gZm9ybWF0SUQ7CiAgICAgdWlu
dDMyX3Qgc2l6ZSA9IHNpemVvZihhc2JkKTsKLSAgICBhdXRvIGVycm9yID0gQXVkaW9Gb3JtYXRH
ZXRQcm9wZXJ0eShrQXVkaW9Gb3JtYXRQcm9wZXJ0eV9Gb3JtYXRJbmZvLCBtYWdpY0Nvb2tpZS5z
aXplKCksIG1hZ2ljQ29va2llLmRhdGEoKSwgJnNpemUsICZhc2JkKTsKKyAgICBhdXRvIGVycm9y
ID0gUEFMOjpBdWRpb0Zvcm1hdEdldFByb3BlcnR5KGtBdWRpb0Zvcm1hdFByb3BlcnR5X0Zvcm1h
dEluZm8sIG1hZ2ljQ29va2llLnNpemUoKSwgbWFnaWNDb29raWUuZGF0YSgpLCAmc2l6ZSwgJmFz
YmQpOwogICAgIGlmIChlcnJvcikgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYSwg
ImNyZWF0ZUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25Gb3JGb3JtYXQgZmFpbGVkIHdpdGggZXJyb3Ig
JWQgKCUuNHMpIiwgZXJyb3IsIChjaGFyICopJmVycm9yKTsKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CkBAIC0zMjYsMTkgKzMzMSwzMCBAQCBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZy
b21PcHVzQ29va2llQ29udGVudHMoY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJiBjbwogCiBib29s
IGlzT3B1c0RlY29kZXJBdmFpbGFibGUoKQogewotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsK
LQogI2lmIEVOQUJMRShPUFVTKSAmJiBQTEFURk9STShNQUMpCiAgICAgaWYgKCFQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXI6Om9wdXNEZWNvZGVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKKyAgICByZXR1cm4gcmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CisjZWxz
ZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitib29sIHJlZ2lzdGVyT3B1c0RlY29k
ZXJJZk5lZWRlZCgpCit7CisjaWYgRU5BQkxFKE9QVVMpICYmIFBMQVRGT1JNKE1BQykKKyAgICBz
dGF0aWMgYm9vbCBhdmFpbGFibGU7CisKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VU
b2tlbjsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57Ci0gICAgICAgIGF2YWlsYWJs
ZSA9IHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDT3B1c0RlY29kZXJGYWN0b3J5IiwgJ29wdXMn
KTsKKyAgICAgICAgYXZhaWxhYmxlID0gcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNPcHVzRGVj
b2RlckZhY3RvcnkiLCBrQXVkaW9Gb3JtYXRPcHVzKTsKICAgICB9KTsKLSNlbmRpZgogCiAgICAg
cmV0dXJuIGF2YWlsYWJsZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAK
IFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVPcHVzQXVkaW9Gb3JtYXRE
ZXNjcmlwdGlvbihjb25zdCBPcHVzQ29va2llQ29udGVudHMmIGNvb2tpZUNvbnRlbnRzKQpAQCAt
NDE4LDE5ICs0MzQsMzAgQEAgc3RhdGljIFZlY3Rvcjx1aW50OF90PiBjb29raWVGcm9tVm9yYmlz
Q29kZWNQcml2YXRlKHNpemVfdCBjb2RlY1ByaXZhdGVTaXplLCBjb24KIAogYm9vbCBpc1ZvcmJp
c0RlY29kZXJBdmFpbGFibGUoKQogewotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKLQogI2lm
IEVOQUJMRShWT1JCSVMpICYmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIVBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6dm9yYmlzRGVjb2RlckVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCisgICAgcmV0dXJuIHJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7CisjZWxz
ZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitib29sIHJlZ2lzdGVyVm9yYmlzRGVj
b2RlcklmTmVlZGVkKCkKK3sKKyNpZiBFTkFCTEUoVk9SQklTKSAmJiBQTEFURk9STShNQUMpCisg
ICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOworCiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBv
bmNlVG9rZW47CiAgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewogICAgICAgICBhdmFp
bGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJBQ1ZvcmJpc0RlY29kZXJGYWN0b3J5Iiwg
J3ZvcmInKTsKICAgICB9KTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGF2YWlsYWJsZTsKKyNlbHNl
CisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIFJldGFpblB0cjxDTUZvcm1hdERlc2Ny
aXB0aW9uUmVmPiBjcmVhdGVWb3JiaXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKHNpemVfdCBwcml2
YXRlRGF0YVNpemUsIGNvbnN0IHZvaWQqIHByaXZhdGVEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdCBiL1NvdXJjZS9XZWJL
aXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3MucGxpc3QKaW5kZXggYWU0ZWU0NTdhMjEz
MTMzOGY2YTViNzVlZDc1ZjYzNmYzYTBmNTI2MC4uZjFiNGFhYWVlMGIxNzE0N2QzNjVmYzFlMmJm
Nzc2MzA5OGIyN2EzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2Vi
S2l0LWFwcGxldHZvcy5wbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJL
aXQtYXBwbGV0dm9zLnBsaXN0CkBAIC04Nyw2ICs4NywxMSBAQAogICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KICAgICAgICAgPHRydWUvPgogICAgIDwvZGljdD4KKyAgICA8a2V5PndlYm1fd2Vi
YXVkaW88L2tleT4KKyAgICA8ZGljdD4KKyAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CisgICAg
ICAgIDx0cnVlLz4KKyAgICA8L2RpY3Q+CiAgICAgPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRz
YW08L2tleT4KICAgICA8ZGljdD4KICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0IGIvU291cmNl
L1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdAppbmRleCA2MjFjOTIxNjZjODky
Y2I1NDFjZmE3NmI2MjM4MTU2NjhhMWVjMjc3Li41MGQwM2NmYmQ3NDE3NThkYTkzZGYyNmVmODg4
MzI4Zjc0NGRlMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJL
aXQtaW9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3Mu
cGxpc3QKQEAgLTg3LDYgKzg3LDExIEBACiAgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgogICAg
ICAgICA8dHJ1ZS8+CiAgICAgPC9kaWN0PgorICAgIDxrZXk+d2VibV93ZWJhdWRpbzwva2V5Pgor
ICAgIDxkaWN0PgorICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KKyAgICAgICAgPHRydWUvPgor
ICAgIDwvZGljdD4KICAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgogICAg
IDxkaWN0PgogICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVh
dHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdAppbmRleCA2MjFjOTIxNjZjODkyY2I1NDFjZmE3
NmI2MjM4MTU2NjhhMWVjMjc3Li41MGQwM2NmYmQ3NDE3NThkYTkzZGYyNmVmODg4MzI4Zjc0NGRl
MzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3Mu
cGxpc3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0
CkBAIC04Nyw2ICs4NywxMSBAQAogICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KICAgICAgICAg
PHRydWUvPgogICAgIDwvZGljdD4KKyAgICA8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKyAgICA8
ZGljdD4KKyAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CisgICAgICAgIDx0cnVlLz4KKyAgICA8
L2RpY3Q+CiAgICAgPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KICAgICA8ZGlj
dD4KICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVy
ZUZsYWdzL1dlYktpdC13YXRjaG9zLnBsaXN0CmluZGV4IGFlNGVlNDU3YTIxMzEzMzhmNmE1Yjc1
ZWQ3NWY2MzZmM2EwZjUyNjAuLmYxYjRhYWFlZTBiMTcxNDdkMzY1ZmMxZTJiZjc3NjMwOThiMjdh
M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC13YXRjaG9z
LnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC13YXRjaG9zLnBs
aXN0CkBAIC04Nyw2ICs4NywxMSBAQAogICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KICAgICAg
ICAgPHRydWUvPgogICAgIDwvZGljdD4KKyAgICA8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKyAg
ICA8ZGljdD4KKyAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CisgICAgICAgIDx0cnVlLz4KKyAg
ICA8L2RpY3Q+CiAgICAgPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KICAgICA8
ZGljdD4KICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVUHJvY2Vzcy5jcHAKaW5kZXggNDRiYTg4NTU1OWYxMWIxMmI4YTg1MWQ3Njk5MTMyOWQzYjE5
ZmYyOC4uNWE0OWZlZjA4OTQ4MzIxZjcwY2NjZjk2Njg1YTY1NzI0YTkwYTI1YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAtNDUxLDcgKzQ1MSw3IEBAIHZvaWQg
R1BVUHJvY2Vzczo6ZW5hYmxlVlA5RGVjb2RlcnMoYm9vbCBzaG91bGRFbmFibGVWUDhEZWNvZGVy
LCBib29sIHNob3VsZEVuYWJsCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
ICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIHZvaWQgR1BVUHJvY2Vz
czo6c2V0V2ViTVBhcnNlckVuYWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIGlmIChtX3dlYk1Q
YXJzZXJFbmFibGVkID09IGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvR1BVUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3Mu
aAppbmRleCA0OWMzZDc3MWJmMTc0ZDhmOWZkY2M4ZDI0MWIzMTA3NmIwYzViNmFmLi41NmRiZmU0
N2MyNzhjYmVmNGRkNTk5OWQ1NTdjOGI4NTY1YmM2MmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzLmgKQEAgLTE0MSw3ICsxNDEsNyBAQCBwcml2YXRlOgogICAgIFJldGFpblB0
cjxOU0RpY3Rpb25hcnk+IGFkZGl0aW9uYWxTdGF0ZUZvckRpYWdub3N0aWNSZXBvcnQoKSBjb25z
dCBmaW5hbDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgRU5BQkxFKFZQ
OSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2ViTVBhcnNlckVuYWJs
ZWQoYm9vbCk7CiAjZW5kaWYKIApAQCAtMTk0LDcgKzE5NCw3IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX2VuYWJsZVZQOURlY29kZXIgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9lbmFibGVWUDlTV0Rl
Y29kZXIgeyBmYWxzZSB9OwogI2VuZGlmCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgRU5B
QkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIGJvb2wgbV93ZWJNUGFyc2Vy
RW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKICNpZiBFTkFCTEUoV0VCTV9GT1JNQVRfUkVBREVS
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpp
bmRleCA2OTFkYTc4ZDJjZjkzMjhlYTc5ZTI0YzJkNjQ2MjAwMzZiNWU0MjQ5Li40ZjAxOTY1NDNh
M2QwNThlMDE2YzM5NjZlZGExNjQ3ZmE2MWJiYjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNTEsNyArNTEsNyBAQCBtZXNzYWdl
cyAtPiBHUFVQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEaXNwbGF5Q29uZmlndXJhdGlv
bkNoYW5nZWQoQ0dEaXJlY3REaXNwbGF5SUQgZGlzcGxheUlELCBDR0Rpc3BsYXlDaGFuZ2VTdW1t
YXJ5RmxhZ3MgZmxhZ3MpCiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIEVO
QUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBTZXRXZWJNUGFyc2VyRW5h
YmxlZChib29sIGVuYWJsZWQpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCmluZGV4IDMyMTJlN2FlMTAxOTU1
MjY3ODdmZWI5ZDM2MGNmNjA0ZmM4MzNmYjcuLjFhZmU3NjUwNzhjZWY1MTM0Yzg5ZjViNGZkZmJl
NjE2YjJmY2VhMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzRGVmYXVsdFZhbHVlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXNEZWZhdWx0VmFsdWVzLmNwcApAQCAtMzI4LDYgKzMyOCwxNSBAQCBib29sIGRlZmF1bHRX
ZWJNUGFyc2VyRW5hYmxlZCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgZGVmYXVsdFdl
Yk1XZWJBdWRpb0VuYWJsZWQoKQoreworI2lmIEhBVkUoU1lTVEVNX0ZFQVRVUkVfRkxBR1MpCisg
ICAgcmV0dXJuIGlzRmVhdHVyZUZsYWdFbmFibGVkKCJ3ZWJtX3dlYmF1ZGlvIik7CisjZW5kaWYK
KworICAgIHJldHVybiBmYWxzZTsKK30KKwogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TT1VSQ0Up
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCA5MDI0N2U4YzFkMTIyY2E2ZmE1ZDg3
ZTZmZmQ2YjcyNzk2MzczZDU1Li4yOWE0MDFkN2E0M2Y5NDNhYzhmNGEwNzI4MzhkNzM1ZWU2OTY4
YTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1
bHRWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1
bHRWYWx1ZXMuaApAQCAtMTExLDYgKzExMSw3IEBAIGJvb2wgZGVmYXVsdFZQOVNXRGVjb2RlckVu
YWJsZWRPbkJhdHRlcnkoKTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiBib29sIGRlZmF1
bHRXZWJNUGFyc2VyRW5hYmxlZCgpOworYm9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgp
OwogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQppbmRleCBlZjU1MThh
YWRiMDJkNWJmNWNiZjE2N2UxMjQwN2VlOTA3NDcxNWU3Li5lYjJjZDgyNmQzNzNhZTVhZDk4MzQw
MzU4YmQ5Y2ZhYjI4ZGI0YzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQpAQCAtMzgsNiArMzgsNyBAQAogI2ltcG9y
dCAiV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzUG9vbC5oIgogI2lt
cG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KKyNpbXBvcnQgPFdlYkNv
cmUvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaD4KICNpbXBvcnQgPHN5cy9zeXNjdGwuaD4KICNp
bXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3RmL1Njb3BlLmg+CkBAIC0y
OTUsNiArMjk2LDkgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRpb0NvbXBvbmVudFJl
Z2lzdHJhdGlvbnMoKQogCiAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X2dsb2JhbF9x
dWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwgW3Byb3RlY3RlZFRoaXMg
PSBtYWtlUmVmKCp0aGlzKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgIENGRGF0YVJlZiByZWdpc3Ry
YXRpb25zIHsgbnVsbHB0ciB9OworCisgICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyT3B1c0RlY29k
ZXJJZk5lZWRlZCgpOworICAgICAgICBXZWJDb3JlOjpyZWdpc3RlclZvcmJpc0RlY29kZXJJZk5l
ZWRlZCgpOwogICAgICAgICBpZiAobm9FcnIgIT0gQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJl
Z2lzdHJhdGlvbnMoJnJlZ2lzdHJhdGlvbnMpIHx8ICFyZWdpc3RyYXRpb25zKQogICAgICAgICAg
ICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCBhNTkyOTdhZjNmZGE1
NWNmNTNkOWQ5MDgxYWI5OTdjNGY3YmU1NDljLi43MWFjZDgwODg2ODM1OWZlMTY4MWI3MDRkYTVl
YTUwNzllMzY0OTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTg3LDYgKzg3LDcg
QEAgYm9vbCBkZWZhdWx0V2hlZWxFdmVudEdlc3R1cmVzQmVjb21lTm9uQmxvY2tpbmcoKTsKIAog
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgp
OworYm9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpOwogI2VuZGlmCiAKICNpZiBFTkFC
TEUoVlA5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQppbmRleCAzNTJmZGM1ZTE4YWYyYzU4
YjQyZmU0ZTBlN2NmNjczNzFkNjhjZTZjLi4xNmM1OTcyMjkxOTcxZjE5OTFjNDBhZWE4MWQwZmZi
ZDZmNjU5ZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQpAQCAtMjk4LDYgKzI5OCwx
NSBAQCBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKK2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKQoreworI2lmIEhBVkUoU1lTVEVN
X0ZFQVRVUkVfRkxBR1MpCisgICAgcmV0dXJuIGlzRmVhdHVyZUZsYWdFbmFibGVkKCJ3ZWJtX3dl
YmF1ZGlvIik7CisjZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsKK30KKwogI2VuZGlmIC8vIEVO
QUJMRShNRURJQV9TT1VSQ0UpCiAKICNpZiBFTkFCTEUoVlA5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBjZTU5OTE4OTFh
ODMzYzAwMjY2MDFhNDA3NDVlNjFmZmZkZWVlYzQuLjQ2YTIzNjE1MDFlNDQzMWI2ZDIwNTA3MDIy
MGY2ZTk3YmY3M2EzMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0wNy0yMSAgSmVhbi1Z
dmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdl
Ym0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2
Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOiBPbmx5IGVuYWJsZSB0ZXN0IG9uIG1hY09TIE1v
bnRlcmV5CisgICAgICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbDog
Zml4IHdoaXRlc3BhY2UKKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJt
LW9wdXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVk
aW8tZGF0YS13ZWJtLW9wdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vcmVzb3Vy
Y2VzL21lZGlhL29wdXMud2VibTogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vcmVzb3VyY2Vz
L21lZGlhL3ZvcmJpcy53ZWJtOiBBZGRlZC4KKwogMjAyMS0wNy0yMSAgU2lodWkgTGl1ICA8c2lo
dWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucyBmb3IgaW1wb3J0ZWQgdzNjIEluZGV4ZWREQiB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4OTc5YjE3ODkyZjI3ZjE0YWJmNjk2NGFh
MDViZDU0OWI0MDljOGJjLi5kZTcyYTFjOGE2YzEzMWYwYzI2ZTQ3NjA3OTE1NWQ1YmY3Mzc3ZjJm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTc2Nyw2
ICsxNzY3LDcgQEAgd2Via2l0Lm9yZy9iLzIxNDE1NSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXAKIFsgQ2F0YWxpbmEgTW9qYXZlIEJp
Z1N1ciBdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Utd2VibS12b3JiaXMtcGFydGlh
bC5odG1sIFsgU2tpcCBdCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSBtZWRpYS9tZWRpYS1z
b3VyY2UvbWVkaWEtd2VibS1vcHVzLXBhcnRpYWwuaHRtbCBbIFNraXAgXQogWyBDYXRhbGluYSBN
b2phdmUgQmlnU3VyIF0gbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXdlYm0tb3B1cy1wYXJ0aWFs
LWFib3J0Lmh0bWwgWyBTa2lwIF0KK1sgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIHdlYmF1ZGlv
L2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcv
Yi8yMTQ0MjIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVk
aW8tYXBpL3RoZS1hdWRpb2NvbnRleHQtaW50ZXJmYWNlL3N1c3BlbmQtYWZ0ZXItY29uc3RydWN0
Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRp
by9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVj
b2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbAppbmRleCBhMzMzYjY1YWFlZjlkYjY0ZWQ1M2ZjYjA1
NjMxY2ZjMTUxNDA1MGQxLi43ZjA4YjI5MDU5MmNjMmYzNDRmYTU2NWZiMGRhYTRiMjY2Zjg4Mjlk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNp
Yy5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2lj
Lmh0bWwKQEAgLTcsNyArNyw3IEBACiA8Ym9keT4KIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiQmFz
aWMgdGVzdHMgZm9yIGRlY29kZUF1ZGlvRGF0YSBmdW5jdGlvbi4iKTsKLSAgICAKKwogd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCiB2YXIgY29udGV4dCA9IG5ldyBBdWRpb0NvbnRleHQo
KTsKQEAgLTM0LDE5ICszNCwxOSBAQCBmdW5jdGlvbiBydW5EZWNvZGVUZXN0KGluZGV4KSB7CiAg
ICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICByZXF1ZXN0Lm9wZW4o
IkdFVCIsIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsLCB0cnVlKTsKICAgICByZXF1ZXN0LnJl
c3BvbnNlVHlwZSA9ICJhcnJheWJ1ZmZlciI7Ci0gICAgCisKICAgICByZXF1ZXN0Lm9ubG9hZCA9
IGZ1bmN0aW9uKCkgewogICAgICAgICBjb250ZXh0LmRlY29kZUF1ZGlvRGF0YShyZXF1ZXN0LnJl
c3BvbnNlLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwotICAgICAgICAKKwogICAg
ICAgICBmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soKSB7CiAgICAgICAgICAgICBpZiAoZGVjb2Rl
Q2FzZUFycmF5W2luZGV4XS5yZXN1bHQpCiAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiVGhl
ICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCArICAiIHRlc3Q6IHN1Y2Nlc3NDYWxsYmFj
ayBoYXMgYmVlbiBjYWxsZWQgY29ycmVjdGx5LiIpOwogICAgICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5W2luZGV4XS51cmwg
KyAiIHRlc3Q6IHN1Y2Nlc3NDYWxsYmFjayB3YXMgbm90IGNhbGxlZC4iKTsKLSAgICAgICAgICAg
IAorCiAgICAgICAgICAgICBydW5EZWNvZGVUZXN0KCsraW5kZXgpOwogICAgICAgICB9Ci0gICAg
ICAgIAorCiAgICAgICAgIGZ1bmN0aW9uIGVycm9yQ2FsbGJhY2soKSB7CiAgICAgICAgICAgICBp
ZiAoZGVjb2RlQ2FzZUFycmF5W2luZGV4XS5yZXN1bHQpCiAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCArICIgdGVzdDogZXJyb3JD
YWxsYmFjayB3YXMgY2FsbGVkIGluY29ycmVjdGx5LiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDRiYzAxMDhkNDRjZDVmNDc0NmY2OTk3ZTYwYzVlNDczNTZmYTRlNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRh
LXdlYm0tb3B1cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCB0aGF0IGRlY29k
aW5nIGFuIG9wdXMgd2VibSBmaWxlIHN1Y2NlZWRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIFN1Y2Nlc3NmdWxseSBkZWNvZGVkIGNvbnRlbnQKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY1NzcyODAxMjcwMGFmM2Q2ODI0ZTIwOTA4NWY0ZGNlZTM3OGM3MGQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRt
bApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVzb3VyY2VzL2F1ZGlvLXRlc3RpbmcuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBk
ZWNvZGluZyBhbiBvcHVzIHdlYm0gZmlsZSBzdWNjZWVkcyIpOworCit3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CisKK3ZhciBjb250ZXh0ID0gbmV3IHdpbmRvdy5BdWRpb0NvbnRleHQoKTsK
K3ZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CityZXF1ZXN0Lm9wZW4oIkdFVCIs
ICdyZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJtJywgdHJ1ZSk7CityZXF1ZXN0LnJlc3BvbnNlVHlw
ZSA9ICJhcnJheWJ1ZmZlciI7CisKK3JlcXVlc3Qub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAg
Y29udGV4dC5kZWNvZGVBdWRpb0RhdGEocmVxdWVzdC5yZXNwb25zZSwgKGJ1ZmZlcikgPT4gewor
ICAgICAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgZGVjb2RlZCBjb250ZW50Iik7CisgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgfSwgKCkgPT4geworICAgICAgICB0ZXN0RmFpbGVk
KCJGYWlsZWQgdG8gZGVjb2RlIGZpbGUiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICB9KTsKK30KK3JlcXVlc3Quc2VuZCgpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9vcHVzLndl
Ym0gYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJtCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmE4NDk0Y2I5MTRhN2Q4NzRjYjAyZWIwMWQ3ZjdiNjM1OTAxYzlkMWMKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDE1OTEzCnpjbWNKJDE5eE9rKVcjZHojPkJSNStuVSg2amdEPkcjPjYl
ekhZVD1oQ3BaODF6NUQ/OHRuT1pgUmBvZig+c1FhLQp6VUEzelVNe0soJlBkRjMrRWQyY1F6NXs+
Pi12Z2s4MUIyYTdqY2tSKGV1Xk9nNUc8N2RiNn13VkYxfVl9eGgkNnMKenh5fnErcyRnYGYzTnd7
eksqOWYoRmpRLTtlQGclNEktYEg7UCpleGFSakxEbDFeJjFBT1FyTHRHTFVjbzsod241CnpyMT9M
T2B+VHpQS2RUejNTTCVaaGckM21UVnFeezclLUFeVElvUm8kNyNUSCR7PWEzPmg7WUY7JF5XdDlL
bEFyJAp6fDFheFMwS20/fTtpeGpYZHFSe29hTT1KTDteeW9pUzM4cj9QJDdLPE1LdS1tJHs9STxl
RCUmP3UlUlpQQU9PZzIKekxMTEM1SWI4N0E7ZVFAeFdDOT5HRT0qRXphQ01lNkg4Y1NSO1JGdW97
R1hjdHhDbXhCSk83X1FMfUE8KVVfU2JQCno3STRJaCFvPWk3Nmh5XzhNWl5CVGhXXzYtNyNSME84
VUhfKXtvblZKe0oteF97Ynt1RVBvdFN3U3BSRF5wXmNASAp6e2Z7WjtxbElFYztpNzhGTGFJXjxA
fWduTWpFdm0+eV9vMTM4R3BYXi12dENqQWt5T017ZG8pa0RpVnFWMDA5TWoKel98KkRlTVQ+bEBL
WXNOKjlXNmh4a0JRKkd3SzxVfEg/fXU2SVA0Vz1VVX5jaTw7OEY5JkVfbmZuJmhTJmVvRUR4Cnpg
ZiQkM0Rzcnw1SFBtIyFMXjZQZT9BMDc1eGVSKm9eS0Y2TWJPRCh+dlFWdmlSajtebHkhP3lJQHJ9
aF5ZKn5lagp6Vm0hYmtuPkU0ZmdGUkBTTlZ5WUE1WVFiVUR4PHJpblJUa20tMitzYDhBMEE1IVE1
UmEoUmdrNHVeOF45YDRTbGcKenZYSn1oZjJkKzxoP3ZgRExvKSNNSmM9YEQ9fD9NcSpPQ2xRbWo9
dlJGQSUmRjczcEt+NjwwQDQyKTZocF9zb0NeCnplU3ZGfStkR2lOUWJScCkoQ21YcUVvUzhab3lX
S0c7WXlRUVJOez8mc2JodyljSXh1MmpOalEyUSUqQH1pcE4tWgp6ckA0P31vPXM9KF96SlJAcV98
T2trKSEoZ2taZnJicTh5T0lpRSFpVHgoN0smKmU/IyElS1poT3RXTVkrdSpkYiMKelk2fCRoRXR2
U0k7NXd4KSstISp1OzdFP2ojYnsjaUhVe0lhdSkxKmNfKWlEWDFfYDZWe0RIPi0qXlhKWFlUPiUk
CnpnVG5XaWE2bzJHP25MaVpubEsjZkZzalJXVyFZYU5sQ053d3dAQn58MEU4YSFBPztoZyQ4I3I2
aTI1I3UqRit5OAp6a1lfUmc3bWB+fjl2RFFxOTIzS3lSb3VUcj1yR3pKXl8wTlZfcGFae0VjMT1v
bGB9U2d2YVh7byR7PWJnRThJPUkKektQYUkhczFHJn15b3BNe1hJXnVqQlFzKklZZH1TaVkhWDY0
TjhUVyRHbCR3MnErMiQ8SilGWChYKUB0PGJXYytICnpYRkRNfVliJm0yUX1wbHoxPDxmKndSTE4q
JkhnVSVVSkA3OyhAa2V0SkIjKkM0KXN7KD5ZP0JiPWw9b2FDU3g9Twp6JjlNODIxYiEpVzN+X3pe
aD5eOSVHcT8pbzVOPm4lYj57OFJgd055UEV8cXEmZV5ORW0wT31yJSstYng+YntKZCMKem50Unhs
a0VLV205Uk5mWEBiTkdEOEVtfmdma3xZYW92RVlWUFVwPjJ3M08/ZVFkWHAlcnY4Kmd8RWlJLUFh
RWFqCnpHfm1ZNlp7e0lqez08ekYmWTYzc0tCaVZycnIlV0xqbTlEe1ZNaXJHYHlrJTtZZT4oN2Jr
WipgdkcodHs+KWNYUQp6NXROYzA1QmJvVUdudGJtem9eRnw8UzA4OXIpY3g4UmY7Z3ZETWZUZmt9
O21PcmVnZUgjQmpyPiFoIUp3dUdqSVUKejdyfEFxPCRpLTcyPHtHYD9GfjhAajlzRT9BQEZgdlcq
emc+M1k+NX0rNE88OEJoVUlsajxGUzFOdTZNVWtCJDxeCnp3LXdAaEd4K2NGaUxfQVNUZ0IoVUlx
MGg/KjhWM3llQVRQd1h9RXhCPi1ZWGgyPWYpTyRLdCppYyt5e3JKTWV3LQp6SHxOUXxfQUNDdVZz
WCRNWlJsTlVDaTdYM1JhP3dyUThxPEZYYUZGLWZSOXl7MEc4KUR4NiZoRHU0N3tpNWpSdGUKeiQw
UmtRPHd1OD8rKERscjgjdE4teVp3Z19FTDg8PCh3dCpeZE1qTnhuVDVDPSZ5amFnb2k8R20qWDZx
cCltOyg/CnpGbkApYDI7ViEyS1crR2JsdVNncT4hcXlkT2xCN3xocX4lPjdAcTRfYEVsfUxJVnJX
TG9RVFJwanZpKS1fSyUxPQp6KmZwP2RgdC0wfEM1cUNvTVBmc2VHPmg2RmplQlh2c0VSU0IoNDc7
YEh4N0l7TDxfbDJmWlZnJWkqV1g1OUIwajcKeng0SXxqekNTPG1iTTJfVTAte095TiM0bj83aX0q
bz8pZChzWE1tPFZPPU9mWkZ1QT9ecX4lem9aYiorbUdkP2hmCno0OWNeRz4zJWFjZjd7JEo8b0BB
ZntxeHFzcWF9QlVfISNLVFEhNSRQbCF0V20lZT1keVhoLXUlI2t4b2M0KjthfQp6Z041bElFZnI4
cXRtbyM1KkVTZzFNfkNMTzZLMUFhdFYlZV5qdmBgNjw0OGs3SzJvSGt6KVd2c2d+cGpFaVc2VmcK
enlhQ01qNzxIaHdreVgwMWhMJClaSkszWSo5Sm9hWGIwenEqUkI2Qj9BIzBpUHc1U1leZTY/X087
OWZFfW11Ql8kCnpWNyhgZyg5QEIqNiF7VFNJbnIzdV8wKFQ+dCNlQlVOZkt8TWV5KTg1OUojJVk4
TjclWlRXVHI2eGFwTzwofExBagp6TDBPO31WeWI+SVBGNWNJeEMjPCM1YiM9TFBlYE5TY0xaQzFS
NyRMe2doZVpsJXolPWhGbDJqYytPdmo1I0M7d14Kejw2JUF5UndeKn0jV2JBWS01M2F7aHRsKkMq
NVVhI2NgaHJjbyMrQkFFQFJPYlIrNzd6NzkkbyE5S29UVGJVfiNYCno0ZnY/NWR4cEpNPihNZWFs
R2dVP1g3KT9tQTNpX3NXY25ZVT4yUlI0YWpLV2tKQzQzJEVkYHpqYVU+ZFhVYWkjNwp6JGxzcHck
I1JeIzM7WWNxMDRlODB1ZllTTy0+XncyTng9QVpobTJAO1BnOHMyMCQyMEZHOHxhdVR4dmtXP3Bx
NyQKelM4eD5uUWF7Q0E9VlREUVBnaDBoQXF6QHVRSms0SyVtZWJ6PkN2bmRhVldnWCltKVNRUFZN
czhXI1RMb25WWSlyCno7RHxKVkduOFNUZ2ZRR0ZuQXglMyF+Qz1HZ0xMYjdeSGwzfCpZbmlmSXo/
N3haMnxNXnFlb3tIVHlwVz08VW9UaQp6e01LMlolZlc3PXBZQXZRSkFJMFk9YjxlVmk7cTxPYFhj
OUlYSnw1ZmRKMU1HYjBPfjVGJjRFKHslJE9HJlM8c3gKejQwKCRFa05ybTFUYi03eU9AfEg2ZEdS
YXE1aXdhV2N9LTBaQmUyKyU7VUFfU1BMZnJUNUg8a0ZeUz5+Mm9gKCVpCnomd284NW42YnFEP140
a1R1aEAyYDhiPnRoLUc/c35McGM0Ykg5cl5lNClfcihjQnw+biFpKmd4KVB+O0RyeXZwawp6S1Z6
UHExRjVoZT1sU2tJZ29HMkFiblNaMllSJXNfOXdkP2leVVclQVNLKXtMdkxkcVU/IShhWVQzJTxu
eS1TWF8KelVLST4zPD1HaylwTHY7ens0d3l0V2AhRktSWVNGUipvfV9MbllNV2cwMXomYCl6Zk9k
TTxVP2NKeSRpREAhYCVACnpFPHFKM14/WFlsSWF2MDtGQX1Lek5CTjNMQTYqeCV1Pjx5U1ZhZi0l
YCE8TyQ7JT9DLWRCQWktcX4/bW8hQ0I3dQp6LSg8eWg2bDtefEV4UmlRTWMpTVJVK0JAZCVuQnd7
NyNEdFJAeE9Odlo7eUxxN1VWc1U2IUh7fTtASkY/aSVCTXYKejhoWkpsd2pue3RDVm4pNzNqbTd3
UGNzTE1aUiV3NzByZjtMZjlTazdHMXxlYnJpRjtFUGI2SlN5UXV6X3Z4JURXCnopLSNAdl83Rz8p
JWVnMlJQPkJPYEJtUiEhWkh7NEEmXjVfXk1eeEtGI2skalR6NDVPKksmVW5YS29wMzU0XkJoQwp6
WnB0MXgjcj9zfi0wT1ZJeGx0bDdofVMtPDR6XnBfMi18dXsqR3F3MFB9cyVIMmJ2diM7QDJ8dFZt
aERYbSVZaHcKejNWZXlpTF8lamlhNDctMWx+MEV7Y358XkdocSRYYUxiIUFhIz1ScVZadmYraFM4
NmBpKnU3cFVRQEZrUzY8NUk+CnprOyhSbCZEMHlYX0ppRU1HQmgzPlByc0VnM3dXVWxNI1VKMlQ9
WHBuXkdpLXdPN1lUWWFMVkdtQDBNV3FBWVJ8JAp6TmZ5eVordCpiREtfNj9FI3tQenFjST58SXRn
Y3VqdClRSExvMHkjV1ZFOyFzS1hlTHk9ckZ0QmUycyZLNF5KU3wKek4qNmNFeHEzbjtBbFNVPG5M
XzYwT3d+dHk2cSlhMnl+NUlKWitRKVVzSG0mcjU8RmFyPWNjbzJTXjF7eklzaHBzCnpJX0c9MDBo
UWx7MjJwUnlQXnRqXkxEQVpfPTYlcWNDcyV5TWRpR0gqKUh9ckBHS0JCVU5nbTVrTUdRQXRBRVRF
Vwp6OT9sVVdSR0ZJU0BUVUlleUpmLTZHVGlHb2NFZGlVa3Rffkx2LT9mRCNFKWVSaG9jZ187NkF5
b0c2IUlhX2NTRWQKeklSeVFYeE5KZktUYC0mM003cHI3P24hb3hGfUhCenlNYSgzbThLMGJTaT8x
bWExNWgzdjdlfU0kZzVOaiQ0aUVvCnoyIVV1eSFUU29PPylWTF9PRn1YZXAqP05RZzdxNmVTVXs7
ZWNRSl5HKDk2SGJYPzlTTTw9V3dxY1BvY0p7U1Q5cQp6MFhxQj0yQzk5TDVIU0YjYE55d2ZueTNu
V1laI3IhQGc2aTVjSn16e1FrO2p9MCpETm4odUZpWlo8V1EoeiEhZ1UKeiNPbmk1ejJ2I2lySlcm
KkJULXYmK2pMalFPcmxRX1dId3owKTt2RjA+KksrV1N+JUxFKWx1d2dvfUF4aEE9S2B7CnopZnxt
P09QN1ojU2pyNCFgQXhYQSZ+allaNiFGbzBgfjBiMnp3XzBObnJ5fXFCSUx0RWpRSTJDYStAOzRR
cyhVQQp6JHNlUVp2S3dRY14pKXRpQEt+d1VDZTV4WiFpXj9QU0RBd3tqTyNmTHFCajFecilRMiMj
Rml4d2tCTnhmdjEpKT0Kek4lQzZLaHU1RkEyJi1NKldCPn5DKk9XZ3BNYiZHOCFkclBqPFhCOTw5
YDFtNl9EP2ktVVJKeTg5TFowaE1hRX0mCnolRTIrTmRZdUM7RyhabzRlVzlPeiZidj1sKkZ2NmY5
dTZyOEQxekJDIVozMjxyPCQtVzV+Mm5HalJrentlJUprQgp6SVFieTRJUGVmNCUkUTk8KCNWN25C
QGlgTTkqRTJQTCs7ZkImck0qeFdXMVhfP3tVN209T3t7eWdBTl9LTnQhcE0Kej9KNyM4bXA9OTRs
IU8hX3RocjhQS0g2SX5ZSj9gfGYhSGIzRS1TYSlKQ09melpacCRrRWlfOD9MZmV9M21wKzsxCnpo
MnMlUkBheCV4PG16YVZFcmhOJCQlVztVcG07JD5geFVwTGlhPTArV2Zwan1GRGB9P19+aEtOR1Uj
T2A3YmJ9aQp6QkpaWEQmaWNhdTV0PW1aT0B2ZSFMdnpoZzhJJHBLMV9gNGJ3ITlVcHBWK3VPZDY9
S2dBWFk0V05Tdyl2XjJVSysKelpTfj5zZ0R8ZyVGXlA9Sk5OQ2I2cUxaPTNGIz5nQFdfZEpFdTFr
TnxfX1BtOVUqfE9MSk8zbUhvNDF3K3hwKXFqCnojKyhEbDN+MmxFSWo0THpVO1dPa1UkQChCZjJ4
WXZldTZzZFhXJkJ0ME5NPXJJRl5oUSF5b0NESV95ZypWbV43OAp6OWBeSn4tRmtzb0omS2h0KlBx
Q3JHamdSbjdjdSREU29LPG03IUBMSlBqZGViOzxWZ3c8MDdgMkJBZyEqSHk8am0KejtzdFEpb0Vr
fWhgfUgwUW1IeT5kSlpEdm4qc0ZsSExeRmM/VV9yZzc2cmFyVj1+P0QlTF95dnNRJlNoI21tZWMj
Cnopa1FwT1ZCKUdMI3ZwQ3xtPDVrWC1jQ0JzN0YwVTB0N2RHdEUhKGFebWs/K2p7e31sSCpGRzRy
WHtoY0BSRVkyMgp6anFCWWMkaSthQV9mQE0jXkpMWDE7PVRHY0pZU1NneUh5VmdDXypfOHtQZzF8
QSNPR3FLRz17d2xSdn5JRENVY0kKejxUaCNXcj5xJlF4JlFRUUhUWH54dXVSfnBaJXtrZTxKbktN
dU47SEY2VUZBRndzZnwkJkw+eXQ9eGMlVkRkM2E+CnpJV14/QHJkbE5Ye1d9YyExTkRhI0I+P0Mp
O04kMjxYc0tUPGlOamI1WXsldkFGfi04UCphaXNjZXgqRzRPUH1rOAp6UE5MVXZidzNtKVRgUCpO
cWU8PVZsSWpxQGk4dj01byF2NkJYMV5eTE1wfHBGUnlkajNIJW8xNjxmcn4qdT9aOzwKemJEXitF
QH1JPVZieU1jTnpRTyQmem5BSEVIUlZUeCtVSW5aWUZNMkBWI0YrezErNGpUUkl2OFBDcVp6LTx5
cT4lCnpQZ2BTPXAoKX0/Jl5mX2ZTZGppNU8oblNMeWkjZUtsJGhsZ2czI2poI0ZDTE9wUUkwQzgx
UyVBPiVvcFclY0JDTwp6RF41THQwb2g/dEB4VHtURT43c14lQDglX3ZAU3Q+Vl9hO3wjISlGYWdV
biE5ZGxRJEsjdFMjYWJkPVlaXyk2T0UKektWMkglPnVxM2E1Yks5UEswKD8mVjtCbjU0cnRsZyZ2
MnZZe01VMWdwTGJXZ1IoQkhTLTxoPF50TDVVSzdERFpWCnpLUzcpWjAxVztrRHZpYWQtb31Zcitn
bU9XMGNaQGBXa0JsZ2M9KUhTUTtrYVpQQ2VLMSRDVjReMTZHQ2Exe08tUgp6WV8mOFNqa1J8Y1FL
TTt8O2N7YldQZV9pUUJvMnxLd15SWSpVckFMQGNxaUExNFVKdyhjM0l7Q28oJW5BNEg2eTYKeiZX
KWpMMD00I08kfnk1UDJQVG1AMW5lVTtLRE1gRU1fVzxrcW9fMXE8TSZZNG0mQnk+OzFgV1dvOGs0
OU5ZZy1FCno/d1loekpRYWdrS0BtOT9JTiVUQHlxMmBAMnAqUlRnVktWU2p0IzRwe3FefmwzPFFS
Q14hPVNsU1BWLW0pKUtKdQp6Sk5PekFBK3IycytJSSkmaU9sfTVlMDBDd1A8KHQoaEJEZyNvc2hW
JUNRZ09RMj8rd2UmJWV6WEV6QlBqaFVMfEEKeiQ5ZUk8WUxmeiU5WlQ/alJEP1B7NmNJczlMT3hI
dE9vI1JDd1dlNio+cH5xSlkyb3VldXNgdk4zOz5NJUxyY1YpCnpgR21IbypxV31qe3o5SHRITWcp
YGdTY253dExpKS1EKm9GMXVmejFkUWo0QjxMUG1gRUZeM1B3TEp5alBiPkxlNQp6bFQqfiRfcDJT
OXBwM2hlcGBGfUBCYCQwcXQ5fXYoanApcEI3fC0kQ1ZlUFBLOHReTz9zek5Oaj1RP2w1IVQjamsK
eis9KFlkdzcwP2ZyUHZEN0E3eFV0d3BrSHYyVSZ6JU1GQ2E/WjF4cWFsTUB4ND95QH0+YG5SKGlP
Pzt0X24yR3BfCnpSYjtXWGBTT2tTUiZZKj1MdVR3PyYqO1E8XilMSDdrWiVJSXZCT3R9UHFqUypE
bUZuWlV5VmFadWRvU0NtNm0tMwp6UjE9ZHpqeFpJUjU+KjY1d2VGOUFYfXVBcVc5fDV+SkU/cjc+
aHFTQEBuPyFyWnt7M01YI0JuNXJiRThlPi1nVX4Kek5OSHYjdyQoZExsZXpKWmMlYWAhJCV5KXZu
TkckM0lVcTNybkM/R0wyM0Z6UTw3S3JsZSg4fkpzMD5vIWNqRlcyCno8NF4od0prYklGeyt0Nmpr
eiN2NkRlZihXZGtRYVZGQ0ByPFFTU216I1cyZGVxTH59KEQxSTFYamRJZ24qcGk2Kgp6Sjg1PyZQ
e2N+bz5Sen0pSiFqVWY/JHR5d2ZlVnNTYVdhSF96JFlxP0piQzZZIyNuJXtNJCN5JiZpIS0kc2BM
fXQKemB3SkNwLW40YitMI202LT5gT3VwYzh5RzN4cUY1cVBCbHojNlhXbjZMejN8Nmo9YHoqKXFq
alNLfXJuYCllN0czCnpNckp5e1hOeHxATEBNa0tpOCFrNz9aIVF2NXstSz9uRXsyflBFVD1YV0FI
Q35UNjhITF93Z28ha1dYV0FNVWNTZwp6XldHNmY8KmQyWD1WO196cV5FZ2NYcVZSfj8tREc+JGgl
JH1gfmlZYnhZdy1GZ2doRE9YdCoyNUdPdm0mSXhlKF4KenRxfUJvI1UlNyFKVEhNdmxJPjF5KGlQ
V3A5TSRscko2KVh6RkpLJT5sbjRJfiZtUmw/K1VRK3UrdWkwZ2t7OzczCnojSEhwSyFUeVIkenNG
NUd0NSNzRjxHVmd+a0RTUXNMSjZTYmd6JnpacnQwdH48YzZ3Kmhidm00SFROPykjUVI3bgp6T0Aj
XndoY09jTlNXa2pHVms7KHNTUihDczZCVUEpOXw/YGZTd3JHNnYoSkJYTVdCe29gdlIzfig/dlYq
aDs/S0UKendfZFViNHxIOyskUiVjZDRVJHJgZUQ1QTVNKTRtISMoZ3R0LVBxdnNEN0QlZ2xpQTBt
R1dTJFZ1alpVdzxte2ZUCnp7eVBNNjxocGF0SGVOcGM7YF9Lekp6X1Yqd1AlbnxARzslLXt0dFNs
MHRMZGM5TnshbnNHc2IlY213NDBPbjZSfAp6ZCYhKWpLaCZ7JCZIfCt7VjtNbjcoMy17VlJRKVNo
czVBWT5zKVJ7NiNeZ1Z6QkxASmh7VEl6NjlIYUw4RzQ5XjsKeiVqPUl0QEsrVmptNlcxV2gkfDcj
eCt9VyY3RyM/bWZWWW19UXQ0Tl9fSXt+Uns8RmwtLWdpS2dWRkg+M1dZXnRpCnoob340eUpYU2Ff
Z0NzbmlQbXtxPDZDYjBmKWF2Izg4PSlLeFg3fDQhNzk9QmlEezIxczNAUiViNFp3PklLQCN9RAp6
S1J2bSoyQVFVfDRLPDJMb1FqTDQ2JnUxJVJEfkhPaWZON2pCVlM4WCFAWHhGcjNTYVNPKzlNOCRm
bE1qY1dTX3cKekk8WiU+RmZQeGZ0RjEqdXk2Qjs8MVNNYihYYktxP3EoJHF9OU9uaGJ0UG1GPGp0
OVNiaEdmK0pRKlVXSEJybn4mCnpZdzdYMnRiU2gkeSRuWUQ1VlpgYUZPTTJ5OGl5ck1fWHdINE97
fjxfZzFxXlFJbUdrenRPai1ndGUxQk9KUzUqSAp6aDd3PCUyKG5KQEBCfCh8d3hQe0E9KWNodjI+
e3NnMmg+dzE3RWttfGYlWGcobV5SdHBMZ3k+ej8+VCRrSTh1Vj8KeldZWXgoWChGOXpwJT9AZTtN
NT57ST55fjlBfEhWdUV6dilZPk8pbksreiM+TXBFeDFSbk4jcCRYby1+KXN6TG1SCnpaekhQUCkl
fEVxeWVgcnVMSiFoJnU5fmhiVjs2IU1tJXpIKG9rVm92byNIYGcjZ2NPayh5dHxGaz81UEdQfE5a
Vwp6emshN0U0dzEqR3pWS1BiLSM0VERKQ3pFYUMwX2NOK3x6VTV4MVFReld0byV4THg1QzVNUWIh
RENKYVEpNWZqUW4KekJeTCN0aVA3JWdpNis0RiQ0Iz9zSCghR0t2T30hcyR1O0g3MH54QHZ4SHVC
bmhUMkhOMjM9SldsakRsUTZeWCZBCnpFfFA+SyNCIWlVO2ZzNGYkI2FOXnFQPGp5aT9qI3NBIWJy
VlVxfG94QlBMI0NJSVpwPnJqN0p6NUhlRE1wOWc7Xgp6O1Ixa3RlPCs9OXVZQDFycmBAQm5hVC1N
aC1SVUBlKkFORTs2X0RJREJhciQoJH1SOX1NVUJLPjNUVGprTHxIM0IKekxLZztBaW1wNiVNOE9l
ZEdjWkhQQX1zMjsjaSorQlRhTV44NkoqM0N1YU89VW1XK2hidGBLJnwqWSNCRkV6ZSpRCnpIa3Z3
N3plbElTb0JNSjwhbWZIfV4/P2E1ZiRpRkAtVThrei0rclF7ODhwZCZDcmt9Q18tZ3BLSllvKSls
QlU0dQp6S31Yc0h5T1BCRypDYE51THtKKER1WFFnQUxiOXA3c3Y+Plg4VWc7aUIpOEtIOG9NPX14
X3BgfWQ3UCliX19oSUYKejBiLTA+dS1aNFBKS3pyYVA9PVNmV0Z5RzZBNUNAVFc8Zms8bHwwNDx2
VGtYJlpPUXtSV2lic0JfanVTV20wLUE7Cnp2bnElQzRJSXJVOXAmUzdkNWF4M3I5P1hhXjF0al9J
ey1OMEMrVkhGbXQjO1gjSEQkfk92TH0+P1RzU35OLUc2SQp6X3RAc35gWjZOcGRLU0xob153ejQ3
LUlEZztSPks9NVpjYVAyLV44d05MMEh1WGErcHpWIXJxMjdNekNGJndkX1oKeklOIVEld1dYSmVa
WXdGO0tZYFQqLX16UG5KX09NZz56OTAyPnAwSD95Y1RESC08e3I4YkJQc2N0cjRCV2p5fEMyCnom
Tyl6TURqcUktMDtkZCZNYDg0WlEhaGlJP1ZQXzgrWn13JG9JOCU0aGc7bjtKX3VNPDclOTxGTSUz
JTtIX0NWJAp6MjlKI2RhakdjflopKGhyR1RYKyNhaEVrUnhUPjluc05sWHs2O2RsNHc/WTArXzlN
THx0YGNLflNEMEl+T0h6MyYKemRfX2lEdz84TUNFaipKNiY4NyNSbHVLKzZQOEZHSWxUb0JpUGth
fG9gQXBybkB2emhmJDxvRiFSfXY0RDxpT3toCno9QXhGRkg0Y29sQih+JlU1SHh5PDEle242dkp1
OEdeWkRqclBOPkI3STtob3ZZZzE1PCpVMFJRODkoWjQwP00+aQp6RzRETFEjLUAjdXlpSmcqaD0j
UTt3RCFYPjs4UH0oZHhOeHQjZm5WemY5QTVjMCh1IWY1bmd+TlYlM201KWVWO04KeiQxYEd6bjko
V0lKJTBwbllUISEhWDJrSnBGOGctWD9wNUo+QW94cHRpZEBpcy11d3p6KHNDdlpsWG1PYEkjd2k5
CnowMDF1ZVE4dW4qMXZMdilCUmhAZl5EXj0+eG8maGQhQEc/YE1jK1gpWFU5OVNSKkN0PkpRfVB3
TjVWfVFXTzNgUQp6Kjk8Wkh1cytOaW0tPDYwU0MjK0FUcmA8QEVJbT1ydVVDKDRIektzMkJPWWkw
NikyOWA5Z1l9YkxkIWUpKnxHKGoKek5lIXtTV3tCQ1ZDcnBAX0oxcz0tKUhRX1AjOFB6QlImdCN5
RSNCc0pGbEl9dCp6TXclem1SOGVWI2E1QGZAOTVBCnpiRzd2RTF1PihOekQjMzJSbExsO28xXlc3
eGVDK1p2JD1kKj5BPkNlQnNqWGltXmM1PnFfLUElekB+PFc8I2ElJQp6U3JEQ3RLc2JgWD4/VCRE
c0t3M2JZfiN9Zz9vSX1xJVMpdTwzNE9rT2xLU2JhJGcpeHRTJmtNLVhFO3Bqb2NxX24KeiY4cHk1
VGlPKyM9cXVxa0pmWWhuNDNKVl8ocFM3d3B4Z0JDPEIweSErekZeSzV4bz5hXiVBVzsxdG8qN3ZA
YzN5CnpJXis+OCFjK0Zhc0ZqenU4MGtfPkRKbXt2WEoyclFyWmBYfUEmajNLRUxlbjNfS3VyVTY9
YURmSjtxXlFoPnZ3Zgp6cnAwZiUzU2cpeTlvezBFSClyank7VkRCYVNtPWU9QiQ0amw4R0JgWSp0
SkE2RVB1QU9FMTI9UnpOJThfRjBfVmsKemBiakJ+MClYM3Bgc2o+d1ludnJRKSZsZFJeRn42SVoz
bEUyTGAzI31zXkRNYHw1dXtlPTdRKXFHPEpUJWlNQV9uCnpEWkBadj9EfkU9ZGd5M0QkMERkTGIp
MXV2bnBpc19hQ3J2U1BTSFlDcztMTjMrOWpATj97eTJ6XnRZSj1QeypkSQp6dyR6dUtlcTtkRFdh
aWUkKSVufCMmIWZEUzZYX31rJGx3czcjM2wjJkxVWkh7Rykwa1d5UjZhRyh7UUZ2M1ZSNUUKenZZ
VSg9N0FSO2cjKUg7ITt0blUxcHtEOWAtMXNiQW4rMjNvMnBsXnUwTWpkdSM+JjJFeHF7N2kyOTR3
MjRjSmBSCno2biV8IWkoRGohSk5xSj5NUTd5fE5ubnpzeTVieyMmIXhUVktWQUh4QG04bSokNj4+
VUo4OF8jbGVBS1hSZU1faAp6WiRYTVlyWGZ6PFc+TEZqKk5NO21YSFZkSkp1ZT9fPyYhOCpkeDQ8
Kjk+PFVXI1dXVDBhY0heZVFTQyhtKypCP0wKemxGP0dVc1hzfHhvclllZWFgNTBibCRLQS1SfXUq
TUZ1S2gyKjVEX1RfdiN7R1lQQ2FiXyVDRHVnTEBweFpgIX11CnolTWJZJSt+eG9nMGJ6T04wOChT
SXZMY2VneTQrN2MtWVVsU1ZgfFNRZ283I1lObj9+Ry01YlAjJU5EdElZfWs5cAp6VkJecjBIV0o4
aXBAVzRRRysmenNpbDB4eUspZSUkKFFqUWZrVz1VaG9yfUY+dClKZlBAdW98OE5EQkFieUpZd14K
ej1nSmxzLUFMKWcoTjFxIzBNVnRMWkd9dD0hZGlsQVZXPVI2VzhDQXZGRTFzYEpDRCpHNSloNTBw
KyMpOzNMIzNpCno3e1FZKGxNSENRWkZFfUBxPHwyU0c4JWYzYVFKTENwUDYjMXo4bHlfZVkzezVx
K2hacF8hMHw0cDstWn0qVVJ6QAp6SldYfWY4XnhnXzt7eHN2SWw2dUB7cnV6YXstPnQyMih5Vz9S
QjUpPUlZJHM9dFAocVFDTmdgTDZeQXA8eWpFMmUKekVRdCp4ZHZsUmVrYHopcVpKYm5rJkFnUmh3
NzdSdzV6PTdAUiN1Ql9VOWBOTFAofWtrKkxxSHpeZF9ffW0/TklhCno5YyhwbCQmPGp9eVMyPzkz
P0p3ZU9zaVNfcWJxMW9fYnQ/O0p6LWJFeWxZensmUy1mYD4waE9BSD80SzQkcyliKgp6XnhZWnIh
KU5NMVp1TkNSPSU1JSNueGIte3ZKaV9vRntUI1E0bGAjNiQ/XmNabUYqfDU/RyZlQWo0WW9meE9y
LUMKekNtQlFiWDlDaVUrNlk7fnpuTjh5OGFiZFdVbl97Y1ZsJVFtKFZuMzdiS1VEOTU0ZUZUSlpk
cFAhU3g9N2lHIzxLCnpTT3g0JD5MaSQoTHUoKTUlQVM7TmgxQCNGO2p4VTJAZTBHLTQ1I1RTMGBC
dC0oYnkrJjRrSkdDTThROWw3eSFWSgp6S1ZzN1A/WSNVNT1mUyZAVjhzajsxb2thMEp5T0dTJXd4
OXFTVyElcTRpYDUyKlk1NmtReD1ufWd2T0RuR1UoKnAKenRgfEVuKHFaJG5aUFBvVV8pUWdLQ1Vi
YD12K1BmNC1lemBnQFk1Q0tmbUlTUjVqLTBRSFZ1cH5lQHhUMmIrSFlDCnohNG5tNDRJeVFLd3tz
enRyXjIqNG9zQ3dpX01DWVQ1Y3RjV0swUUMwM21iZFgoVEp6bTdPQDB5X3RBQUR7bVApSwp6S0xt
VVYwTkQ/ZEE+cEJDQzY2SW97cSpTcUhwRGxrXmtCMjVnamlwOTlSNENiLWY8PDVzdDx6VGsrUjJ8
dT92OFkKei1vKFpJMTxHSlBvNXErJE1sRyElRjgqSFFnWSVqVV8/Skp8OC1IVWhucz5hMEVEWC1X
JVplWjBVVXdiKExnbiNtCno2MiZzR1E0TVFwQXJGXnBzYFRzTU1AfGB2IWZ8Kn1QRFc5bSUtKkRz
U2BKTjJUPFlXeEY9X3deXnBDRD9EaClBIQp6P2spWkxWYDxJO3VqN3R9aVh6QWI2RysmIV9yXnJw
TVJPVFBRSHtLSEd8cjB5NiF9dzYmYmFeOTk7UW4mJG80cTMKejRnanR1YDdePF5KVChoR1V3d0lg
P2o4UyRRZE1TQnt4YW1kTSZ3X2xTY0VSWGVFQiUpXmYlQkxVQkJhfXg1OTdiCnpFOW1MQ1g4YmEk
bk94WiZXLUBJamAqdEtGcE9BTj87bVpBPHlyaUF0a3pgZktIYkQpKntzbTJ5QkZCaEN7ZngoOAp6
NWVGMTNCTWIpYjlMdyhZdDBANGRLKSRgcUZkWSFkUWopQ1ZgUkUwQ2pWeWw/Yl9jPWRNIWk9akJR
Tlc7RGpXXlIKenFzUTJLJUZDdnkyQHdnQGBOVj4pNXZMdj1YfWhNYGN8flBHWGczWCR6THdCPjY1
OXA4ZWIxenwlb2lUc202LXxzCnopdD5TVDQ9M01VNG13Mz93NlMkVlo8Wnp7OCZBdzdHaHlSciRu
Km1YQDR0RTZLZWNLTyh+PUF+XzR8SEYoTHwkVQp6O2N6SHNhOTFYMiQqaStqcFZrI2RYVkNONyNu
fDNPKnMzXmh1MkpnKHt2QUtwWXBsTmB3JWx2ZFM1d3ZMPH5icVEKekFZODxXdytHNCsqVEZMM0k5
dUBadihVUlhaMTxEV1dyTFApMGt8VDkqSDtRZ3tXJWNIYT50bGtaS21+bEA2JFBUCnpDbishPGQ7
KWRjLTgkOT4kREYkVHVFX28tRT0/VmZPOShxWjg4R0lUQiprRCV7fFdHX3JXPDZ+KztgSkkkQm9N
Ywp6VT87bGhGKmIqd19YOzFVQmkhPGN1ZyRNQjlmcGVsND8kT0wqYD5NQUIjZV53X2Azbjc0T2pN
NThTNVo4KGVROGEKelJkentZaFFqMVgre01+bGYjMyRYX18+O0lmazB7Y1pjU0c0SylJMmBGWHxa
bmlGdHg+anFIcCVhdGQzQHFKUFpeCnomMExrWnQ8UG1GVWEmTztQcyVefUNQbn1WKH5tRCZJOWVx
QCglZFplNEs+aThBeDM+TUR4bnNGd0QxZzlLNlBOdQp6ZEApeSpuYSRqNFY/VmNRbHZpa3V8Rktj
N2FxOEpzTm95PmdLWkgkbVI/P2w3Q3dXc2R1Pk1DKntqZSlrQDdDP2EKemwjWDdoSFh9Yno0NyFE
aVkqbGc/dUhMb1c3VnV5aEt3T2JlUTxnVVVUZVJ0fVNXMHkraSZ7YTh3Z2FeIWxZZXRDCnppO00m
QWdYamRpSUYyNEsoKU1zO2Q4fHRmXkg3SUV6UyNBYFMpVyh7X30+QVRoTm4oJFd1TUluWlBBN0BY
PH1eaQp6PmZEOGxtYSFyIUlfLWRmO2FXMlBRQkAjfSExeT90RXFUezMhKnAmekx6RF5hQjtaXkd3
MGdmWmZsOUZHVUEtZ0QKemI/eWBJJHJYYDJYNmZBfHB9blFFN3FuU1NhZ0BJVEBuMEFlXm5GJWhW
KHZXcCtfQnQoYnRnbTglampYQlVCajNkCnokdngwOGB6TE97T0A4I24zSUd4TkwxdlMle0c2JVBI
RzYodDFSdndwNVFBQjE8IzlKcEFLTFhAdiN0U2VTSXEwXwp6d3k+aFk+b1BIVyowYGg8dkk3JDRA
PWBxSHomQmFwdDttTWB0SFdjP0BNMDtQQCpfYzF5QyNqaiZqJWtxSy1RbU8KemFkfmtJXmd2VTY0
OHQlYD85MUZRKVRxcnVWM3E7JVI1RCF1RWB4eV9SZHglU2AteH1zQTVKPGQ2Vm5kMm0pNzZhCnpH
RXxRJU0hZUd6TWJkX1Y3emhlKDcpWlJDaW8pX1QwLXBtKipHWldvIWg3WE4wem1AYXJOVn48Tnop
b0kkd15kSgp6MW4kPDVaOFpTY3RCMm8+Z1AwKmBfQHdFcTZMNXg+UEhCJntjQTtFMEZQKyRLQylm
TjlXTSl0NEI5UFFnMShKdzcKejB6enMkI19PPTdHflN3KHBpUSV7bmZfY3J4aXxINkM1Z3c0cVZe
eHVDb3ZecC1JNSNeN3FVKGJKK0Fac1FtODMkCnptfHVkejk9JEY8XkVAZzVofl5KQTRjaj9QJSlY
JGw+VXpESlB4ciZaNHBge1MyTllnTG5BNkJTSjVEPD4zNiZMYwp6YGVJa35vLV82OE9BPWFpN0lR
a0M0Jj1lUUdqQEFnNCFlP00yWlVDRUA2YH0mcHI+S2tAfWAkYVAyX0N2QzF7c20KekI/NjVqNyZz
KmpVK3lVQ3pRc25xZTlMXzE0cW51WXN9I1ZYTHZGYypRLUBfZSt3SWZ1cFpybzkpI1RiaWx1QGRz
Cnp3NTJeOUo1NDNvdl9PQ3hnemg7VW0hO1FOM0NZYjR7SiEmZEZ4al5Vd2FyKF8yIzhxNkZYZ0xL
JjxuY3Ikc0UhcAp6cGtHfEhoJHlXNXlZfnxPWUN7XmtDaVhgR3JtTjdqPylzP3BpRVU7OVRNQ0lw
M2l7Zjx6fE5aKz1WWUtJQHc4ZGwKelRMTS1rMWRLSTcoN0paMHk9e2JVN2oxQT5yaV4yNzhhcVpl
az00aCVkelZNVE0/MjVxIzhzP0I0Nkh3a1JkZklsCnoreUJOOUlPU1clMldiP2IoPGUzPCgoPmMm
VzxjWT5rO1FTfiE9KjZTZU5fajNwSF4pMXFEO2RlUVJ5fTVDWEU7dwp6VSF7Xl5eRSpkekImVklY
Vz9pS2QkPHVQfSFWUn1Ud35wdVFRIXwlXzxVTFI2X28/cFQ3VjJ9N1pEKiYme3NDMzsKel5ic1Iz
dE1KI0loJG8lfVB1Xl9DaWx3OHd7OV8rcmM0TWx4UEZHcCt4WF9oS1l7My1Makc9ckRValJycyM5
cCRRCnpOd2ZzS1p4Z047KXlZeTE1VWhEJkFeRGJgWlhRfjdwYyM0bWB7MGg3VnV6flZDc3tzeXdr
bE5xaTl1c2lXUitYUAp6WWktekY5WlM5RUgld2ZXdkleTXQpUjYpRFNjYTwtRT1yby1VQ3BeO0ty
YipEcF9nT28oXjRTakA5amVlZSlURksKel5HQj90YEpvPkh4bUkqaSZBUnJQODwmfClAcDZGck0+
P182NlBPUV8yNCYpej1wVUQpMSVMcDR2fU5HaUFmPlIwCnpBS2dzdXFyUD9ka0lrUlJ4cjxKcTFq
eGM/KzJhLWFePHZyOUE/Wndiejw7dDFxJVN4dEN5QGh9YXQjVTgxNlQ3awp6V25rbk8pPj92WlFH
SVpDckplajVBN1JiXmVYVSlAcDNhRVk2Yk9+KHpWVnB8UnJpdVlUfkRkd0ttdEJzTyQxek0KelF4
eTAxV2E+UjtVM2dtJmsldDwqcS00NCRLJWxtdkJGSHJSZUtTKTRkTzF+TWdlYiFYJiQoTzhSVDRV
RHBIYT0hCnpCbDdYTVA1b3JpSH5eRVRCfnFqZSZ+Qj1rZiZ5RSlQSUZ1dj12eGhqeShjUDZfSkVE
TFIxdGc9PHQ5dSNOOSRHawp6N0MjXmFiRGpCaVJQYHp7NG5tekYoRT1tTEdyVlZxTXFDSTJDRX5j
TlJlYnNTSkZ6KXRMPmE3P3tUM1pjdkB1fFEKenJGbl99TkpheV9UK05xPSZDcDtseW5vKXhMQTll
OVpUI1F8KkJTc01DRSVsWG9SUjB2dm59cHhoeHc3Y19LWVQ0CnowbVh2WWhFbzx1UUgyeT03eSZB
JW9VcjA2TlIjUkJZKWB2QngjajdCMT1YQXEpfGB0WVoxWERXa1o9K0tLNmIwWgp6Sk0yTnozSHx2
akIoanlzPSMlTG1GJE1TWjZPQk5qa2w4WnBzTTIlZyFxaTZ5UUApXmMmRHZSWmRDbE5obmVDbDIK
elVxX1kyKDlWWFRUZ1BneCZ8SnZJYnxiIXdPMEhrT3hidlZYPjE1IypJSiVKRTYjTW1zQ2dwPWVD
NmQyVC1Qa1MxCno3WnY9NClSP2M+I1VgNn5LLXB1WGE+bk84SCtsdE9JfFduY25JfTJsZ31le25K
MHN+akNfcnF5Uno8IUQjaXVeQAp6MkRwdEJwQio5JTUoKE10P1B2bHB3ZFBqMjNNOEAmPUl0a1Fs
aWVaZVohdnA7a3tCWihjMkxYfXhkRDFFPDtKaUoKejExa1kzNSVFSlpEOyhtb0VEe2FDQ0FuJCs1
YnE2MVEhSy1CTDxEfUNYRUwmXiNmVkxhdnMxc0tiMFlPV0FhOHFQCnokYjUxTnp5N2tIajk1Mnti
KnFpRm4qIWAhaDtNOTxpbzRgNyMhI3lhVE9ARGMpYDVgNCZvPFk/RDNvYDJOTktAegp6XytLKXI4
ZVMwYmFIYklyb2FjVkZNd3dNOzIyazRwPiY1eD5VfX1BekcwPyV8YmhCNX5JdjlwbXtGI1REMyFx
cWoKelY2cHkhZndKO0dtJEZLSyo+bTlBNUI1O18ja0leSipCWXc/JCVWSjYmb29RYFRfbDdMMEkz
TjA9Km9AMndhU3ptCnpMWGBlOUxrQ01FSy15ZFRrXilJQmRgd3dSQWJlUk55dWJfUjk5WTNtdC07
MSNMNlpZS2FaZn16dDEwJWtFVDhmMAp6bWVsYH1Wa2pzYnhnJVJxKlk2TCojfjNlc1BgPH5KSSFw
S0pmISEyUHp1SD9WczFaUm4jTz1XXztyVERiVS1scFoKej9ONTUmcUlmamNpaz1ZIUlLYnt9alpU
N31yZVFVc0hhK0tPX2s1PTJNXnNlZGM2PkJNbCo8RWgkd1F7TzB0LW17CnpvQ2A5Nmp7Zm8hM3Fl
VzZAdk8pVGEpTihXP3xiVUJRcilBfXVUdHs1dXMxKUtYNEQ1STM9Qz1nNik0cTBuKW8zVwp6bEFE
RTk4STxRM0xUSEQwUC02c21faD9+U2tpY3QpQitReileTWxCNSZSKG4jP2dCTzlzQHR4NEVUcCsk
Y1ZEP2EKelRCTT52bTQwODlYJGxlX2ZrcGhjWGF2JDdAWF51UnY4flhlayF2RSZfdzR0SD14ZnxD
IVJReVpqJCV1YkFnJmB4CnpMJGlBSmVVNCVreyhEU05iV08yRUNaKSl3JmEka2EtTFIjJjxtK3Re
eyFmZztubm9gQG1oNGQxQ2wocklBODhneQp6ISFlfF9BNGMhRD0tfncxe1RIMEc1M1Z3e1NXSCUl
Z3JfbXVrISs0X2taWWgpREJUSypSI0NTM2loMk0pcTN3SFkKenxEWlVBbTQlK2YkYT02OXw4U0J9
ZFZga0MtK3dBMD5SNCRfXzQlX2FsNW0jYXFzcSZtWjk5ajEzbTZCMm0+cGlTCnpKdz9LPiNOWT5O
MDRDWE9QTnAmbmg0cXEhektFJkteYHwwUVJRSWE4YEB3JjIrSDU5K2U0WD0zQih4I1pXQTRNfQp6
NnllUU0jRlNDUnBPcUgyb1ZvK34lKUlee1l+N0xzT3RzT0pWSEJQSU5sQDcrT3cqfGRfeFNYXzMr
RkRoZE93XykKejBVJmNmb0VrdUpDd244N1N0RDxKKGFrdTYtUFRyVCUkZHc9K3tCMU4xSj1Bb3Mz
VTRfbHB9KHdKPnFaO1hoKWszCnpDbiVeVGtlMnJmUkk/eX4wZiY/Z0tDciZhK2thKl9kQzB8MTE2
dDNOQUQmPnZ0JmtXUGZZNH5FQFdOSyYhJUprWAp6bmQhLUJiTz5YN0EwKTQ+UWZyX1FwPGx2Y1A+
UGRvWlozM3MyancqPyorbUo/ZnlscXpyYUtwTj8rYDlyRX1DRz0Kekl2bz5FdldwUHd7am9YcSVv
I31aRFVHe1BiSTJlPHE2YX42YyVEYnMxK0VMc2ttTHlgVCtyNnF4UXlufDBRXmFrCnpsWU4pXyVl
dkY7QXJ9cDZwKiRra2d2ZEBDcW5GSUU/SjNtbj87Qm1IJS1HPVA1STMxLW9YVENsZ0ptREtMZ0lE
eAp6Wm90M3BhfmZMRCRJezl5c0pnNS03KDNRV1pMIWleV0I5dmswVFpPN3dyX0NuTnp3TC16a1F0
aWV4VXZBeUZVREgKemx3LSVqd2RMRzZjdThpNnAwaSFxNztGNytEV01eMGdSTWZfMSsybD9LIWc2
M05LKmAkWXJGK1kkYnUpRjAmZ0Z6CnpyT3dUQzVefnFzdmQ/KmprOU5kbG8kKjB5bzxKWHx1RH5R
R0RvfXlfQ01fVTd0WnxxYEA0RX44NyhXUlNoOU8+Iwp6dH51fEhTWWs1NWNvVShGYT9EI2M2KyZZ
WHpkejNmWjcpMG9uX0kpdyFJMnEwVXJROzhiNllqWEVjTWF6Jms0a0QKemAoXmlKPFNoWStaZHVW
Z3lNOFV4TXdvSFlTN34/SG9rY3ZIaDBOQD5uMVQjaHl+bnZ2bVZaenZCcUdiRCUzPG44Cno3c3ZL
QFc5dSVrWVAockFeI19YckdXWH0oSWZQMEZAbndGQkFTcEM8Oz0yQnYxQHc/eyh3P0F5KkdBcFFB
N1QxVwp6bG4kKylRN2BgNURKV19tITxCJGBUUE5rQV9sYzI1ZyV3dkFvS3MzJllkS2wlcE1LI0Nl
cjtLSkl5YF8oOGslbFQKem9nIXtraW9xcUtFX0s1d282JmZYbk4xb3Zha0xuNE9vRz9sWlZVRyZj
VGRgSy19TDxmZilqbn1MS25YMyUkdyFgCnpkJHBDdSsqdWVqeGNjUVljME91V0BpPj1mZHlUIWgr
cyt9MDhpXzZ3bHlOc0d7RktWQzFkPU9KRWMhRS08XmgxYgp6e2A4UVFPRyhEVjhEMlJgOFQ8TUtj
dn4xMGMtVXV0Vm0odUlQQUZAVGw8Zk1iVmdkMmRSZjdEVT9QTWJQJEZBQGwKekV1KjslYzRsKz9g
UlRxTUZxJlNvY3RlJTlpU1phOXhrYnptP1hya25VWDw1ZzBHK1JSLXdWO348fUUhVTxDLTBBCnpa
RXgwRHUwP2x5RDZjcF8/NXkzS3ZHRUIlNFBpZHhULXtXP1UpaVNFQjxASGEqNUh6dUFOV0Nje05L
JVYwWnxDWgp6eygtZypWaUNiciteX0BycHhHRnFLQSlMU1hHZmNaTHA9eTlkazkrOUtQaCRUYz80
V0chKW43a3s9RjVScz8hU0AKeil1UHwoY1AmJXZlSmRiTDdhaD9Ibnx4Yk5HYUdCbUNhaUdvYEs+
Ums5RWg+Yyh4aHgyS3NtcE93Syt7VzNgfnpkCnplVEM3KmNoM1dmcHh9aTQrKk0qUFdfWVFCTj5M
VXZmQmlsUDtrIVc4SHFCNlU0djs9cksoXl45Ums4bEVuMHE/LQp6cCtecUBoNXc8YXpMfVMmbnk4
YUZPVk5aO2FXdk1ndUhuPkVPQnxMRWJDd3dUZHNhaiVFVTt+ayNqRVQtem4xQnMKejRHUjtlaF9i
U093a0BHYGYjWkItPGJwWlBQMVI9UVU/cGglZkBGQ0lWPzdEJnohfiU8YDBAeEYwMTgpUiVpPTty
CnpuR0NiKi1AdCpkU3B8bTg7aThDS29lVEh1K3JtTWlrKSRHRiFKQ2NyJUpuMzwqQyYodm9BJW5V
cmx+cndpcnsoXgp6SFBRVE5xTkpgSmNTSj1mI3FuMW1VNHpMVWdHJTtuSGkyMW9VVVRTYFRUaG4w
amM5YT9ZMilXUGRMclU5b0kqP2sKeigqbjRuPG1LZ3tEY3sjWllNYHUjfDJnOHApMzl6Y1V3WHF0
Z3BPJmFLSiFycVNRTnNEYVk0bUdZTXJvOHBSI348CnolPkd8KFIpPypEKXZiRHxaKzdaJkpiRTtM
OUchK0RjTmpoUDtseE9Pci0ldF53bEVPX3NoI1F7VXtuQjVxOTAoIQp6MGdrX2ExT0tWQGQxb3dD
PmhtTUdSaTxHQE0mNWJKJVZEYTFpVyl5Yml1MnJhOFNKRWBpJHBBO0VpTmR3QU1pJU0KemRQUXAm
IzxGS1l7UUhiZ0dENGw2USkmZF9oVFJZYntPWmkwN3h5JiZxSFZ1PFJRVyomWkl5RmpsTmU4TEpm
R3BECnooUyhDe15reFFeS15+QTcjaklmPi1fR3ZYWGV3XmxqWk1pLVhDYUV8VXFUO3tReDdLQ1o3
ZiNiWGNuRmpVRiUyNwp6SDFuTTElRiUoOD42X3Y2WTFGUHI0M0FIeCtre2E+JjUhMy0xRHkoWGI+
YDJte1lEdVZiSUkwZ05LSFAodVRocTkKelk8VUFGKHY2LXhIc0VraXpZSGZfaWNSI0J1endnYVds
bGowTzNfPVZ7Rmh+dWxwbjhtdEZDbiE4Pl8/QD97OW5rCnojWFkmQ0t7Nk58e0dmbUQqd1cqdGls
XklnLU0zI3VVIW1aTl93ZDd0NmFkUWghXipycSVNdStgNDFiOSVpNmUrKgp6ZGtLS15hZ3xDJV93
WV4tMVZ2LWpDNU9Nb21wbzM7ZkE4P14yR3hULT50JT5LVkh6Z0l5JGJ1R0hAVWwqdzdyXmQKekNm
Mio7LXx+cUlJN096RnQ1MkU4VmtYSEA4dHAqR1l6VSlWP0xGNmY7d2dQZF42dVJOKWVfdHR6dyU5
Y2BpaSFuCnp0QEx8aWc3X3RnKFV1fHgybHglS1FZe1BDO1QlbjN8MGNZQzheVzhMJG9wI0c1ej10
NThHam1Me0pFZ3RsZGRQPgp6NCNpO21AQWV6dENFTTxDY2QlbXA/PylZU1J8byR9TGJrMypDJCg8
XlReQGxzRTJSIXY2fDZFO2AydzE2d2ZFNmYKejJgajhMUzM2JUIpXj1MYS1FV0pPeG53V3B6eVMj
e2EhejZmbkRgTkBMRjRjZUI8UHN9bEJueXN3UiFvQDsmUHNzCnp7KiZXbT5NeSROaDU/ciFPYXVU
PnNoYD41djhxSElINGY2ZncpYGVMTlo1SlE1T09lQVded1Eze3UmJVVEalZ2Vwp6KSRtMmxqR301
Q3pCJWBaPn4kTGtNeEVHU1J9UWRuMmNteU5SVnR0aC1uSVFeZjdmT3FqLUhrWFZwSzBBLV8zRUgK
ejxlR3NiRXlxSGQrOGNqSVA5WnVqcytuZyspREs1eFI3PjxsN1M4YjVQRSl0aS0oODlUeGVSPlRN
bU1xc3hfO1drCnoqfntQNjZWY3cpTiExPEE8O1o+PEp5NkB+U05eLWRpZ0I2YUxmbUEhbW11O2RG
RiF7QnJ9dWFXQXBwdF8pXkQpcAp6Q0MrX1opMXklTEhUTmdgXnBnNWE8c0UjY1lkd1pEMHVIO35I
c01lT3FNIVlwKUtmUztsY3Z3cEJKOD55VzNjaUUKelMjSFppJTFAZXF0cjQ0Q0t8SUc2WlJ6Ujtk
KzY4THJAXjlnPXp6Kig7TW49REZEYiUpcHY4WmlzNmxtcWdydDMzCnp7OEFacjttUjRYNGQrWTxB
SW4mJWhtYmJZblJUOEtvJHF4d3JDRzFaJllPZnJwOSY2ZXlGTnY+PTlaVU4lKG5MIwp6U0daWHdY
TXE+N29icVpBV3d2X28jQjhpJCtXQUFoPSNhems3bSNqeWlKa2NRRXZuKT1wbSNWZjVMPFJIJWZD
aU8KemN+TFltd0gmUSU9ZV5Ka09aRTB0d153TjFQcmA3NEBgP2w3WEp7XmsjRmtpIXNEWjgxTHEx
ZV47dkpBRVIlcXR0Cnp7Xj5KIyRNZVN3amRiOUc1eHBKQlE2ZTlub2gqP1VONHQtcF9YOGgoQjZ+
fTVPKFE1NG83MkE1ckBBc2dBOTM7KAp6O0tNLVI4YlgxNldMNiQpNzxgPiM9c1QxJjl0cCtfe1JE
cElPWEFnbE1UNFk2ZEhfeXNHblY7fiF1d2txNGJvLXAKek59QEJiMzBnNlg+PjxrZk0/RntvUHsk
dU9uKEB4dURAbkdpQzljPHpsXkBXbjkjYUh2eVRhMThOSGg4QU1mYSZ4CnpSXlowKEdlQzNoWShP
RSFeUkYyWFgma35wWTw/SXxpbm5pMWdLZzxgOyFKZ2AhSlJZeHJPdCh7cS1IdGljaihlTAp6ektL
KlZQKXdGNCNCKlN5cUNwSUNjPlg4OUN+M0EpP0lhMClkbDI5QjAlT29PJGNtQUg/ViE2aGwxZ018
UF5wemUKelY0TTFPeHV9ez9pKSg7a1NeJUU/NzEhQXh1b2lHWmU/S0NvWTRfdjJJMk89fGghdmJK
OCo2cFdVcllhKUUkaTRyCno2VSVeJisyMTNndj45eldZPzU2NiNVZnpHVGtxP3V1WH40X154Rztr
ZDtfb3lzcEtXfFJvSGckV3I7MzdqV1dBUQp6dmIwMHJhZm47fFYkaSMxQypEWXFURE8qSzkqMklx
R2V7I0wyR3h3IWF7ZTxmI3NgM2d7R2MoWjh3U1ROLT9qV2EKekM9KSFpSDJ6WU5ePmM9RTU/IW89
Yl57IztNR2k2fio9NyhNUlpMPGUzRj07dTdXUVlmPnBoJGc1KlpjQHE0YGFVCnpCZzxidm0lUENq
amNRPVFfZ1lmPDRidXFFYX5kM1pCKCN6a2Q1aXVFQU92XkYtQ2xxPlIlS35nJD9QTyM2ez0lYwp6
bTtYPmA1YE5UMik0NiZBXkxtWiZRUF5ncjJzKkM4ayF0M2cpbF5jWi1Ab3FPM1EpOCs1M0p7YHBF
R1JIOGA3U0wKekU0WnF8TVQ9UUgyM2MtOGxSQzViT1QxUj9jZjhsOG4lWkdiSkA5bkVOVzEtQDFl
ZyolQSQlSG0/YmdtM3lOfFVwCnpnKFVVWCV3MnZGRXJqe0htcXVHUnsxPCp6Zj9tXm85OFZzYWF8
NkgrMypwWjdpTStsPUFlcl50bDhQe2ZmZnxeMwp6K1p3aTBxakh5V19Xc0c/e1ElMU4waTtSO1VL
JD9yKWd9Rkd7RE5JTWBFJEloPmAlQzZqIzxWaSFlTllveEVjekcKekhqJXVON0BjJGc+eDhZKDdg
QylITHA1bmRUZ2I/RDdZZkA1SGwySGtjNVp9SEdUWjx0SCU+SWttPFI2LTVMUyMyCnoyWFU1YTAw
eX5nK059Ri1APmYlc141ZTdiTz8qeitqQEt7aV5wNClJcWxRWkBtKzszZzRAaEBCZ0gjfnF1TlIl
MQp6Y1V2fG1aYXNlY3tISHBzMX5TaHc9Kmk9V0ROWnc1VWp6Uy10PERtZnFgfnchVDFMemhZJTlU
ckk+P2hXeDQ9S2wKenlvTW9RdzZfVSFQJDMyXllse192JGE0XjRlUi0jUV4qUzxnWiZTZm4tez5X
WkhhZHdsSzEzK3EqUmxTNSpYbVlUCnpRWTF7dSFLUkw5R3U3Ny11aURZcis4MEozRjdEUC03YFdx
UUw2QzA2ITQzK0VNTCZSMDBIOEhMcDs9NiZ3KGx7Wgp6SSp3OCtDZUJoaF8tZXM3VWk8LTk1b21p
K3lePjFuMDdGQj44XlRyYFQ5KHlpZ3tzcGojZFZXbV45MGBuWk1iSikKemcxRVFHd0wzYDRnMkAo
UW9Pb0t5P0BBSV5yVWRWMSYqVUxTKVd9PVNjPil6fGR1cDQkISQpY0cwP2NVRlljbUJHCno2K09J
dVZkVElKVXVSJHdNMj5KO3IwMk4/cSl2R30jMHN9MU9rUzIkbz0mI3FAQiltNDVzc2owJDxQKWFS
YCRCYQp6Wi1jS05JNCZYe1l9O15mcClCJE1AJHUyfT9BfkJXbGJoTFomOWAkTHM2NSVPX21UZH16
cGhoKEBEQDN7REo3dlUKenFMRUcrK3ZDfjlAYWJUTXhnZ1lkdF9gRlE4TlFNUVh8NWpDX0B5NGxi
SWE+USVgMUI0Uncoe2ZzKTltdyRQfVhnCnp7bH4zdjBpZ1hxUCV4fF9ybE1+elAtT1YrZlV+Q1Rx
UjJ8UkQ0YGtTPWxmUHR6Zjw1Y2lTRF9aJmcrTU1yfTh8aQp6TzR0NWRgendIJCRObVF2eXclQFlU
QlgtT0tZaDlNREczNChNZFlNOEx1VjtfQmdAR1VlQ2oqJUdVKUl3UzZgPz4KeilTR1dXMGhaS3Jj
aTdJKG5oJClLeEkhKkJ5cVlQYl5rWkRiS2k3I0BAOWhNKWNER0ZMXmJUTEpyXi1nOFJgLXk2Cnox
QTE9YChyeSNwYmlVMiRQN3dWfGg2WT4lXz0rZEVsRz1JemliP3t6T2ZjWUdNZWYrVT01dD97SDxI
Z1dHSDspSQp6KmIpSjxvJTJkUTdtKVMjdVE4cG1gTUMmcDt7YER4YjFmeD87ZlhZSnMhOXBVdDdR
fSN5blp+ZVFDTXBAV3ApZmgKejtKfD47S2wyZ2xFUk14bCtMO3soTlMqWG9fT0dfbkslTzV1Z2FG
V2BBM0VlRDFxNHVgZSEkJUg0KEg7VlE9WlFGCnolYk9SIUVEVnxXM1UzYyskdjNTdWJkMF9jMmU0
P3B1WlRadWN3R2I4aWxNPHBfdiFvXlI0KWozVElkU0VteVF8NAp6eE9XJExlM3BvKjJAaWBlZnZT
Z3ZPX2JsPGo5Zm8laTdmfns8MV5PfFpudHpyZ00hKiY9OXdYZ0ore3pERyhzNUYKekxJelB3eUpY
OV5NKjk+bTZiRlpjSF5OVjF5OFd2e0ZGfD1hNzJQZVJRNjwjc0VMWDFab2J9cz55QkEpeEFCYzNi
CnphIX5haWg8KXZgOyFgZFJFJm9RQFVNTC1XMklsTWZDcTJYYHAyfHJkSSlfdj80fndGd0BzeVpf
c243cU5ZU3xVVwp6OztmaHpKdFY3QyskJGBQbCFNIUNIUypmP2s0JSF0dlBJJnU9TFk8JjIxVWI+
XipUMTk9emxZISMoMnVvWWNCdjwKZl5XWmt4eyYhZUFwKTstIzBNcmAhYjEze2E1UDBWWDBRIUZi
ajBrYj4KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmF1ZGlvL3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibSBiL0xheW91dFRlc3RzL3dlYmF1ZGlv
L3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NjBhN2UyMTg1NmNlNDlk
N2EzM2EzNDNiNzg5ZTVkOGJjNTlkNzk5CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxODE2MQp6
Y21lSWFje28reXt8Q0RFSVVNc20mcXRZT0F+VDA1THZxYVhQelZ0c3AkeipOTitgLXVBJnZ+ODNA
S3hWKH07e0kKejVraDFyV0o8X3o/JCtufmArZEteYF9IfTReU2skLWBgckVQdiNudlQ+OXlXI3lA
JlBRY252MkNeWXlQMUFwSzNgCnp3Pz80UVVuZnhPJEhzP3dvakk/NmpleWNtQWZVTGRVfmRRPFQq
cUlxbkJgbi1HSkJxRV4oZGFoeGFfUmVWP3gwewp6Rjs0NEJLT3tENl9CO2oyVzNfKGVaU14+bysy
TmxrenR3WGpHeHFxUyNlZURuNHU3bHJmOCVrYHN+Vn1IQ3ZpO3IKekk1WVVoJDx2cTRzO0o0Uzkr
Z3Y2UF9XYmNwSyppaGlNWjZEenI4cjx6V0o1UGY0YXZNSlZieSgtWHlYZCR0NE9aCno+N0MzYWZK
MyNwYWlJYThSfT1Oell8U244amppR2NzSVJ5MzM4Pm1jKylOXlRQeyRjaDBAbVkhYEI5WGgwQ1h1
Wgp6Xz42REpLYFA0TkB4ZFBlO00jdkdaLUNKTTxUNDxNZjRpcURyKmBDXmRrMWVwbD5jT2s+TDBV
KDAxZzA9NU5AZ0MKeiNVWSZXJSlJKHxvQHN2bFVjV15pe2dXKVF7N05VQ3g8b19MZ299diFpQjF4
UHt4bG5LUH5lKGdJRDM0Tzk8Xn0xCnpzSjh2PklCeyh4bCZGclJgNXZTKD47S29vUH44V34pdVJA
T3BIQCgja0RGMjM7KlUyfXdgV0d1PUNTY2lgVkhBfQp6a0pYV3ZNTzJMTmFUeFZee2BpK041PXBW
STYmZzY+RE80bTxWIXRWTGUyaztoUHQxLXBSQHZmPl90cCNOe0hGfk8KekopXldaajl2JEt7QmI+
YDJOP0FSX1ZfTm5Rcj50ZWIhd3FfdGc8SHVOQ1NaUUtxQmRaMVQ4YWY0SzMmWmZFajFPCnotaFAz
PF5BPjtTNk1pfnMxX3ckNjNfeSolWE92V0Fibn4waFo0cm10cUpRdCU+Klg/Q0hHZ2xWenJ+Rkp6
KzJFOAp6VVNPeUNUaDA+ellOQT9GdjMqanBQdHNpQ1AzcmlvazVLPnlmQzZib2BJd2N+aTQyMjJZ
biEzRV5QflQ5SjdzekMKens0SWBQJFVOWUN3aFdWfmZhYnljb2Q9e0ZGaVZvY1l4dXVGaFBoMWBB
Sjl+JlB2bE0kOVQ+QXNvflI0dDhyNFNKCnomUGklaXBVVnlEP1ZRYjM+X3RLa2F2a1dpa0B4MHVV
bFNjQHt8U2pkaVJqT2tJIUw/RmBgdGE0PHQtOHR0QjZSOwp6ekVPKldDQFh3I1d9N31pTFBtYGRt
Tn0qZVgoMHp5e2VBcCteUE5BSj9JMnAoKHdMUmd7e3sofXp4X1UqJWx6TjMKentDKTIpJGpFcWMl
dlchbTkrUlhWbkRmQ05YRjA+R15qJlhyVVYoLTtFPzU3QGArMStEMz1MfTAlbk96Izt7TzFTCnow
eXR7bjFhP2NLfDlZSEI2dSF6R3s3JipBRzFmJD90bkAqT1FrVHJyPyFPTz4jbTckPkhSJTshR2Fy
KyNjeGBFUQp6VWdlWCQtJXNfcT82X3lQaighIWptTGAoTDhKNHR2QHh2bjY+dGxGNCg8fX5aSzll
WjxGZ0tXMXNgTVc/dT9KSEYKemZjWUIjZGxyRnotPmR3NkVUUl55JFN3T3BOIyVvO3AtcmdRUCok
aXplVSNJMWczRCZxN3YkYXdKI0MtbTw/dWk1CnplfTt8JTBFLWEmS0xlM2AlTl4zS0p9OzhOezlu
VUZDS0xwKnBaSDV9I3gpfFExMHA+R0dVbl5iPTR7Iyk/MW1xZAp6WlFnVVpTZzQtMklPX0Y1I2xg
QlZpO2VBaHlSN3EwYilsbm95aGI7cENqUjRncTUzO1NSc2J8XkFDfG0qTmI+ZnkKeitEI0Utb0tK
QG96K256bldZVXp4JjF0cFVCRjQ4eGVRJGU1V1I+Ml97KGRoe3N7SFJPZmNmQitnRGFeZEpnRj1e
CnpzV2tsTmVCeTFOZHMoR3IrMHlTeTdNbSY7ezt6Smp6WFVEPHoodFcwITZHTHRNR1AmR3orWkc+
YFU3PE5Vbno8aAp6MkZyOH1ERX45WV9pV2stcG1yRGsqKTt3JjBSWWY8UjxuMSM9UW0+JjlraTZT
djYzQ01HI3M/RGBNPGklSn04XjkKekE7OGpyR3pnP0lUZ2w0NCY4QTVmSVd1dFg1eiZMKmE8VFl7
ayg3NkJ7WDR9Mz9wanlnWVooXklTSVJeQGxKdlN8CnppfjEkU0RuNDIzQyRKYVleXm9HUVdWQSNr
Rjk5JVRMejYtTHhFZE1jeyktRiVZMDM9IVQxP2YtTyNoMERuNHg5Tgp6KGFMQDNmNXJiZGV7Y2lK
eE9GWSR7I1BZUExuflM9RCtWbjhpcCV0Jm1FV1ZhRVJmeWZlfGBPKitwMCN8R0dPVn4KemBqNTdk
aFAyLVFLUVhUVmIhWSRvM2pWKjIwNWloc0NYdGBKRmd0SX1BJnwlaGZ7YSoyWGxfJlZwcENMOSZF
aVU0CnpDX31mc15nYS1NNzBtdlBnJFI8Tl9XXyMoakZGNmY8LXxrKCZicDBjNVBne3E7VVhsJWh4
Zm5ONWJ7USF2VHpjIQp6O2F4Ryg1d3BaWTF9cjVzfDFSflBBIUtMZk1ucDFkZyMhQmo/dnEtUTdY
O3ZHd0pieT94SClhbDM0bmM7WGM3U0sKejQlcmdPTSpxTE57JTM9JUFRMShFQiM7SyVwVTZ4aUVz
QXYzZkdvOz5Fd31faU11V1U4YW5RU0pKKnpWcFV9V1AqCnowU2Y+eVo9VDRRdV5IWWpeMzRgYzU7
Nlh1V3pPIUtKcnxNWmAqTDBEVkF2MFF2WThEbmwrRXN6Xz9BbTRuQXZiMwp6XjIrMV4+flNUcHIk
RUJoI31xJngxXkFRQklBcVU4PGNUTWhseDY9QGl7WDFeR2I8YjgrYShjc2hfS3xGVH5ifm4Kelc0
NWshekBuXmVZIWQjSlR3ZVlJWH4+KSVkRH5fJV55QChsTlE+bl5uKktLVyFQPzl3KUNIU1Y7K3RK
d1VTM0lPCnpWOXQpej1gc3tibjdqVkt4NGlzT2xOX196TDNOPW40dyE9O21NXj9oIXIzNC14ITdl
djJTcFp8WVV1R2NMcjh2Pgp6N2RWSz9iUm5vU0AqfjErM05ieEpEIUtaN0pSSzlSS3YpX0RPOGBM
UEVAOEtOcnl3Uj0jTFc5dkIlV1BnT3RnNXcKenZLKDd2WChgRE9aKjN3YVQ5eyNaUFNTP2lRbkQ8
QVIkb2RxKC1NR1Qwdmg9eDtDKHR3MEcwe0IzZGF3YV9OaFpmCno+Pmo9OTt3K1gpaWdVVD9DV15D
JjctVEhUZ0srYj9xS3Y7SGtFT3skbiEwNTFVJTRtNChnY3h8UE1KdUcjYG8lcAp6N2lTRDBAKH4q
VilfPjcxPzNrckV0b0lqZ085O140XmYtVlVLYEtrKz9gJW5BbXh2a3ZHWGRxRHxBbDhKR0t+ayYK
em1yRChDQWFhNDNqZzNvPCV3SF5qRyR8YXdoUVJVPFhpYWtkUDZ3IVlAemhseUdsRjJ8SlFWOG5J
ZzIza3ltRTEqCnoyN25hYERuTFo+KmA4Mzc8Zlc1UV83cHdmbXBKYVlHKDtyI1YlRGI+aj9iezlN
cG5ndGtVdUxoTFAkUjQkKV5LPgp6PkohY3pjXzFPVWApfkIkNTZncXhlQEZqc2c9NylvPzV+OU85
fWkwSyQzX2lvPT8rKEd5Zmw3cT9+Y3FVMVM4fjUKejt4NlY2cTFUcnp3eCZqQTtHKHItQClQfDsj
V3w2cGtCPEl0TFZFUWlnZmw7I2s7d35UKVImWmVXOXdsZDhFPEs2CnpCM295bFkqSjhvK3RRP0Im
XnxANnRtdTx0YT5kJi1EYU1rfEp+fTJWYXZ0X0tFMnx3b192aV8/aG82K31HajVOUgp6SGBII1B7
PDArXz1OUjVuQTlqK0Y5ZHpfbGMrMzY4RFk+e1ZKNlRhQFlzNkFVQHNsJEVWUjJ8KzVQUmR1VzBD
dEQKekghKW5pSExMKV40YTx4VzJ8X2FuUlROcEtzM1RPdHM4M3lCamltaHozMV80blB8c2llJEk9
OHpgeHtFTHtQQ3w0Cnp2eCgmV2dBeFpTbDRObiotJnwlQmlRKiNtZWAhbypNSHZTbk9NUFV0JFZC
fnBQcVlZO2ExWVhgM3l7ZShreFcyfQp6Nj14dHJtTW1zOXAlSU58d1VtQEJXO2RaME1sejghWVpJ
RCtjdmdmczUzb2xuRnApJU5tdFBHTGo9QTszZDJCZE8Kejd0KE1FezxFdWlBfk1mfDNgPEVfIWBN
VGArKHExYCQybWdxaiFDNyNecC10a21jN19uaypxfDtfPjZSR3JDRH07CnpkaUB7I3AoaUNWdllG
aWFaQEcoeGdHfiFVNz9FOTM1NVJDNTBCOCF6QlktcHN6SkBTZ0x7WGdKMTJFUiRZQCkjewp6e2gp
OT40S3NAc2dnWDxmRjkpcGNvcl8kWWFkI2xPYEtkfkBGb2lJK28odi1xcnJeJkZkY190UHsqdktU
em9iK3MKejdPNThpMkMjeTMmPjY2Pnl6ZjVrPkVqPUNGKzM4RVBmU1RlSGJ+XiswZztJMkR2QzJP
UCE4ZWQ7cE84TzVFUX0rCnpBMzd8OFl+JGVYaipXIUAxO3N4UylqXnpzOz1wMm55QmB3ckY5VShO
Mk1QQT5fKmFEMnU8KUFVc2JsNV9oTCM0YAp6ey0rQjYtdiFRaWtkaShBdCtNfWpTPChNMmRsJThT
SnljVz9XJjdaI2ZjNXUxXk4rZ2ktU05QJUZ3d3hxUXFTN2gKentGSzQ5MzxVKl5nSWlIZkxFKSZ2
LXdPYnRWfEFnU1dwZX5qX0AwMCRnZmoxfkd6Mys5dW8xQnZtNHpBKEM1ZDxVCnpsal9CZWZWRyg5
JmkjPl5AdGlBQ2IybmMjS0pkRCkqdD9ZNCo2SkRQazt+dztOajl3aE1pbSQpQE57QkErclRFdQp6
O2dvTkdmalRKY0FePGUoYEV7dyted3txVD8kbzF3cElfQlNlMEU0JlpAI3xXYSk5WTt3PUk2NUAp
Sz0jY0hlZ3oKelBzZ3pOSlpIcFVNd2ElRDQhKmw7QyspaU10TnFKVk9fO0E4ZDVeUERQbmlIUEZ0
MWVJZCs4M0VAVkUoNCluaSg1Cno0S1BEQWBKZzV5UUhYaERjLSg/IWUxLUdjP1hVNE5NRjEjVklp
MmVoYzhQdV5vUlJkSmR8T1NpS2NNTzI8cnY+Uwp6Oyl8WUVRQDYpQ2YtSlNndHZrT1NaYT8zc3BG
VmV+SEZWUShDfiMpZz5HSUZKXjwxR2o4YlRldCk+UntPeVA5R3AKemVFZWNFRjhEYEtmYDt1NEZy
MGJBd0Mzc0VAY35WcTtHPy13cClWPWRXSjVtblZCKz5CK0lldy1ValY3bk1VIWJsCnpyK0g7Ulh6
S1NTX0MmVVQmZDx4QUQqd098OH10RDh3b05kdU5XdFhgdnEmYU04ZkZYXjI1PzxCNFQxbUp3eGNl
cQp6RzBGQlF4NkNubmhwRHJCVylrd1QtWGJFdl8+fDJLZlVgTS12QnlMSjhec3psJTEkVk1gMiZ3
e2xQV2l7czBOXl4KemBtcnU9WnVDaEUwUGApQmZaRlN7SitQKE5MTVhPU1BsVyozO0JrJCZXNzNB
ezlSVnY+bU1uS3EmT0BKJUZZZCV2CnpKeVNBcClefXo3RyEpPCY3SjhxdVBYTl95KHlNMDlmUmt7
MCZNXks+X18jZzJpNGo3fT96VzY+Y1ljO2k/SktEfQp6RUM9d19JSDJ9UC1gbllyUWJgdiljR1Ng
QG5VRDQtI0UraFpha0sjRjxsNjtrXmAhZWplSGBGKyV6MGVkc2wkTzQKek4pKHBLdkxwe09HYT5T
JU5YeU9iejUxc0YlPSpyUUdqaTFwIVBHZj5TckImYXd8NilIa2tpYnBFZEFael8zaDBxCnp2Nz0/
MCskKn5TNzZyZFg9cTJSYXp+bmlnMyV+X3hWODVCQ2N7eUckXko4QzlCIzgyfCFnPHxXeUgqVjto
cjNWQwp6QnFZZFNYJERqWFF0cH40SXVTMEwyK0ZjWnUtIXN5ITNuVHYpI0BFbzB8UXtSclE5e0th
QT5acTslY0Vkd150VEwKejEqOWNtP2lJbmZSKzI0bkxZKTh6WmR3RSYxLUVMNWJAYXReUExAJShT
PDhWY0hMN1A5PyhWZngmbUh+IU1pbXt3CnomX0BteWVaRTg3aCZwNjRFSVJNc1BCOztpI3x4JVp7
WUwzJWZzcDZabH1RdFFlU31ONGVYKFBFbiYwKkY+IW1KXwp6KUd2TDlwUlBwbShBRndTRT9PKldD
emhwb19lSWZDMjVWdC1Na2s4I1M1R3lpS0B+Nm5NbF9GR2BvciEjQmhrfEwKelJDVF9vMTtrZkxj
PkJ4ZkFkUVFmSngycUZtTTBCeHZNbGgrQkd0KEAqQ14kaj9rYDZZUEVnVX4yKjBAfEFGdlhCCnpe
bj1RZi1XQlopa05ndTI5S1NhPzApSEtFcXAmWiF1TkJ8QmR6XztSKilyM2dkamRwJkleXmFBZ1Z4
dWVhUFlYXgp6an1xOGFaXzFSd1puRz9EZ3g2KW1VKU9JJk1YMVhadkp4bCg3ZDA5ZUVoPFVQUU84
fjw+ajRVPT8lQlh1PFRpVEgKemdVUGxXKy1GUnFtNjVYd0xUfVJgQE0jYyQ5LU9DdmBSNHRTe1pO
NDZtU2JhZllwZyRzWk1UajM7aHBRRj9YTHF+CnpFVzdIU0tDJUFkKWVmSG48fSQtNGIqP2M5RWUy
M3xXdzk+Y0V+Zkw5Zi1QTTx2YTt2Zkc2UkhJYj1MM08tZm5UPQp6PnptbzlaRXJOZ0tEKTEhKzAj
U00reFNmPnYoQE9kcjlgQ3B7cTNuK2ZnekMoS3NYdzdnaHdoJUNORTY8NDl4a08Kek1+aUQqXkBU
RUlwNlJRNnsycFBYMFUrRUg7bmUqeCYwak83WGA1fV5OOCN5ZDNheC1TUDI5LTBuTTNOKDdvTlBJ
CnpreGcrSTB3I0NqSHsxJkpvV2VCanRxeStqY2d5cD5INmRQfFQrT3MqZTQrelhsQ0BgSyZ1fW9g
MGNqZWRkOyM/Vwp6U1F+dDEySndmVTNSJDtXTlBsTyZOfmZQd2hMJCpVeSRQYCkkaX0/KXcqPTg9
ME0zXkc1R1RzUjZQTEtzMEttaWoKemR2KC02Mm1tPDw/OFFKSndibnpyUTEyKUtJS1lCWnZtY2kh
akQ8Qk9ITldXWl4zLTVMcUZKX0xVVENNVG9aYDRsCnpzaVJ2VHlaYE0lekE+SXFjUFc0OEpzZj9P
JU5ucG5leXFsMWlfanhIbT15bSg8eXI3ZmppSjMhZlRaMkUrKyFzZgp6JWdlMFFSaG5fKihaTil1
bG9FcjxDKF5jVHdRdmZNUjxyZXNUSWEoa0VSVmVOPGcldTxGMXBzMT5lb2RoXmt3a08KemxVLT9B
eWwxVDluYSRxJWhVUHJxPGNxM2kpR3RlMjwpISZtWVliYyRMNSsqTF9VPnlHN2deVT9eYD1Gcndv
TXJTCnopI2h0dWxKR3x7KFJudHVVI2s7RTZ1OzwqUiMpfkcwQjtyZ3A1KnlaXmZ8VU9QLTxWPCl5
dzw1dW5kVEomSEFheAp6X0dnRiNZTGE8cFNNZjBfUVF4KUEwSDteWFlxWWp9TyYrbSZ5I2R1QEBM
KVNDdjtmQitafl9RTXFsc0MlVG83T2YKek1FJUhKV1BfVVdPfSF0PlVaXktlMDcwOzspYlRPOUIr
Tl51UjB+PEdQTWkteWJUUDAtWVBYQnxRNXJDcnl3QDl4CnpUMmxsc3hyUmY2SmF0dW9eez9TWWxK
ZVVPeClhPlVTX09CSGlnZnV9ayM4TyV4bTFJfCYxJVZJITUyQSNUMUchdAp6by0kRShkX3NLLTJA
YGJ4WG9tYEtNaXs/JWBITWQlKStieWZ7VV8hKUZFdkQ1SmJrYUg9N14kTiNDXmlVOVopM1EKejg9
UVRgP2FIdypVT1dAa2NaVklEMFlAc3F7VFkxNVNsZUx0dUsoc3x3VlB5JnVLaUUlOWt5eSR1ZmJM
ZFFlSGg9CnpSbUhHIXo4RkxXe2JZI3pWIzYhQ2V4NWo9RjJHUH5rYDh1ZGMwSX1OcWoyUFkhP1d7
KyNiYGJOcztecFNVOHVkVAp6UHdPQkhJQDtfQz0mK1Apc1RxQG5mRTVCMXNuUzluWGQpRV9UZjAx
fT1TbEVRTiRsfG5lRTwofTApYDMqPG5iV3UKelJHUj48IUxFTnFHbk8tYUVaXkE0d2h6ZFhDaUtg
UCN1TjhpaU1fXkNZakhzck05LTJYcE55PXg1MzA9Yns8PEhNCnpjTEpMSD9Lb283QTJqKkZMZn5+
cUpSPFlkOUlyaEtnKmtVI2QqOGlBY1NaTGx3PmRWYWhtNSt1TS1raCtOSmZlTgp6KVc2c0N7WWlo
JmQzTDZZVmdSdDgrc2w9Z3w4V09QaEBMb2hgai1JUXl+PiFOMnxrdXt4ZUo9PGQoM2cwKDRjWGAK
ekh7TCQ7aSNfJG5RaFo/e0BOTDRVUHErWmBXO01EcT04eVlTeDx8JlRZdmI9NjNlRGIxZDtPP0Bu
akl7VGRWYEtWCnp6cEgjSjNreXdQc2QqZU0qTH4zI3Axa3Y1VSs3YVhFbEtaLTQlWlkxOVRxVnwp
ITFGbURtX21EUCVERU1Vcyptagp6RFVnIUgkMyFLVj13UWpWeFdUNWYqVkdAblgoQlhHPzMyZ3ZU
ZypXbD55OGxyPipJaVdrYkUzalM0UlFteUEjQyMKelQrI3JEUjNiP0xkMmxyRSl6QEslUlBmTyZF
YWpCKm5zYF9+eXAwJm1AcH1pflh1Ty04PEx4WXYhe2ooMm1jaCZzCnpldCZ+OWRzUGBVYmsqazRn
dDtyY3gkMjRNeiMoTSFmOzJjN1FwNFk7c0hwV0w5LWxKd0RvKnE5Vj8qMUh4fm4pYgp6MmQkNEA3
blNWZmh9QGBXZWI+R29WWiFCTDtNXm5aJEUzKTFhI3tOKns1Rl9leiVYWj4zPTZselZ8TnQqeSY1
JX4KejtzVj5mQ2IjO31gcz96ent0MUk2VnFRaXplIU05flJVQXMoJFB4TEszN2tYWk5mM2lYJlJp
PS00JTVwdz42Z0gkCnotNzxHT2ZfdDN9bHpBSnNzb2cjWF9RUT8jP0lPKHA2I3p4Izt2QSE+VnI7
Xj5hV3FicFpYNlg0Qn48YkFVe0JIIQp6ZSNhKzcqV1ZEaXRTU1ZJTEN8NjYmfGtTViNJPkN9PzF8
PDFmZTIpR15pZVFXc0hhSypicUgzTnY5bzVNZiEwMEEKejl7cFlFTHt1amlWVXpDTSZGaGd8Tmxx
KFdldGdyUHNUUXNZQTVtYjlvWGUkKSZNPkN8cUJtT2w/KCp9VCUlQmxRCnpraXc9PFlmNEojZHtN
KypALU9FUHRkSEItNzVUbkhsWTNVVUs0JTxlWEl1TTcqSnApfG9BN2YqT1BHNkg7WTklcwp6eiQ1
WUlKWjtDbGxTfTViMjheOTZKcnFSaVlkVjUqZ09XTDNQQl88ZF99fmZEJFE2fVkpRVg7M0kqZ2pN
eVZqJnkKekxOIzMldkF5Nkw/VyVTS3RLdj44X2AkdFI4R2R1Xj1VcUdVWl5nJCNMPzdRVG9sOD9Z
TFI2Q3IoKlUlbDMydSs0CnpAKFBTYFVvYUtpOFk/RURhSUpfcV9HM1g7Yz1yUWh3e093TFh2cTFG
TzlQd21veTtta1A2OXhGQWVqPVQpJnRsSgp6YmZDMTVlbWUzcDA1V21zTEFYcDh0TXkoYzNiKWNE
MEtwVW9zfSFOSzlAekRPJTlLcnN5WUFpUmRecmQ1QytWKjAKelBFd1ZzNlZ7TjFRZ18oKFhuMHJZ
eVZTa3c3bF4wUk88YHBiPTdVeWY5bFBwQUMhLVB9TWJaYEdBVnkmOCtve3pKCnpMOzRxZUA3VkZZ
TWZnTkk1RTAkQDQoQ0N8SmtvSkRIdWt3U04tZER3RmV+PXdfck94dSpJQVghLS1HcURFMitCVAp6
N21aWTRMTVQqYz8lUGNLRmFXPWk3SiRkJDxqS3k/Z3h4YHd0dGNXUj15JTxuP0xGajhSMFdzT3JG
WSY2P093QUoKej5hRWIqeklncGwtcTQzOHdBWCUyaXo9V0ctJGlYfW4pem1RQHI0JmIrY2ZSaU1r
QSEzclpXM3lzfitXaF5ncHoyCnpBenV9bnF5ajQmIVhgM2ttfTBqNUU7MTVRRS1IWClQJU8+eSM/
NlZUXz5MOzMoKCtJSUZsdEspTUxQYUBVe016TAp6bEBqMWlBeWpzVjBLVVFkSmhLYDMlQiYoV29W
diVLR1JJSzRxKXFBV1pwQ0h+NXUrJldLQ0p2OGF8IVAzI3tDe0QKejZoOEZjNTNrOUUzJn0kUElU
YFFvQXxXKFNGYk1sWjQoWVp2JilFZmpwJm1QWEU+RSRZez9FfXgpbUwlTUh9SVJeCnpISGZgKC1f
SEd0IVd7dzclOEIrcjNEbHI3OWZlbiNSTX1ERG4tNyNgQHxzbFJgRlN9VHgrYUM2OEp0MTZsIVRG
bgp6aFpJfT0tOUtuPHpwcnx2JDxfQmhoYXtnfmZvfTkxO3JUaUE8P0c8UDhlaX5BO254Uz9vU35U
Sm1kOFEtNTxjRWgKens0IVBaR1d6RTZ0ZypYdUdtV0lQRXRFSzBRUD5TI0R6ZnFOUTdDKlBrQmJe
fFg5Y0IjWmpWWnRlWkQkKmZpeDFVCnpqNWBGJnpQeXU5T0FCTmBIfGwqfFd8NFZmSyt4TFpWI3xi
Kkc8WXBGPTBMZz9DVihBU2h4aHBGZTBNWjslcnxsVQp6cnkhY2pFcDdNMkowXnV0JW5+SmxuZEJ6
OzUrU01UUygjeVJMMkg+MWo3PENaWkNpR096dEZzSDUqWXAzWX5OYFYKenspNFk+cm9QY3U8WFY3
bUdoZ3s2aXo0Qnw5dCtDSHAqUUpIRXNyb2VhWll1bEdOSVpEbU5gQUEyUj90Rlc4T08jCnpRUyRn
fVl3KXw5VFp7Z0R7LT9sVjZiM0l3Zm5VSndFMSRqPj9tRzRMNFg7bE5gZTkmMEUhWWlJPkVOaGBn
NSsxOAp6KlBGV3VWdE8ld0gtNjdVelZmRWUwcTlWVEkxNkFjJSpZKVRhTHV6TWEhZz87ZEtkI1Fs
djh3fTs7OX5naSgja3sKemprfnBFbz19SGpBVGZ+ZWRrPUJhcjV0bnNfKlk2TE5NeTItWnA3Mztv
LTY2K3U7YXhLbXw/WVoxblU+Q2hEaTNOCnpmY180bXEhO1MoNStHSzFvTS1sOVBqKGl7Tjd3byVN
MitsTjArOXVoJEBrPC1uOzhSODBScmZAQGZ8cFA7bklFYwp6VV4pMWx0fCtqVVNxZGwrcV84R1Ej
Ylhia084ZUFZT0teMlVkQl9IVF9CJT1+N09KQnI5JmsrSj8xQl9NM2xsdHgKeiFuZihNdTMzVSVT
PlE4d1l0cGlJY31oR1RWQ19ybkFwNXdzR0slfjU4dmNTJmhiRW9HcCZ+TGJIal5TYW1haF4lCno9
XlV1Z1hfZFNraDRUfHclaGNYO0RmZTcrPEQ2Xk9BcSVOfTAzI1AzWktPTW5gVTkteUFxV0pnS3Ew
NUpCQjZPMgp6cmtfbUooYmVZWWZuZUlCT1hNbXxRbFZheUY/alU7bSVwXnhFc1o4b294e3FOP3ZR
ZVh1bm9TRl9IK09NIXQ1cHgKekY1YGswMmcjaDhRSG9uJVR6ZHRAKUYwWDVrMW97WEJTMkNJOzNW
cW1pQlcmT3chKUdgeHV0MStqRWQoZkxTRzI9CnpPdndrUXAtfVBhPXcxZW5VZT48WSozLV9YKkI9
dkU1biZDdm41RFUpJi0hR087YllpdUpLRHs2ZnMlUFd7TU5aKwp6JkZMWGY3Z25hNUZRaUxARjNE
UTNROyY5fnBPbXtZNEpOTlo7TVJ9PjJNSkdVcHp4Jm5CI0Nja3QkPCF5Z1BXVlIKendJIShpTWdS
OGl0VCo0ZCM2Zkh6ZGBoRFheKCs5cD8wQm5TXkNDMTsmJjY+MDthJnpLWGUzcmA5RVRkNShGJilh
CnpWakcjPXVVZjdqMig3PW0yY3xuVXtKYHdqRF8lIUhreiZ5SipfRzZLJDt8UGp6MkVCYCFAUUZT
OF5wdUFAK3syUQp6SlYoeTlCMzl5bmVxQDNPPyNENjFAfEIoPk5FYnBhXl82U2B0aSNre15zJE5r
MCN1PE1HWGNfciQ3em9Mc0N3M3wKekMjeVJnRGFNe1dae0RCS2Q7RTUkeW80KjI5YWxqbG1GeFo7
S0QqQ2FLUi18PjVpazVeOzdFOW1OKlB3ZXpucnh2CnpHI3ZVMVFeKCl+YkFneVJ5SSlHcnJOK0tQ
RWdhOGNmKncrenhAY01MdFBFTE1nLVRxTU1QT255THA2P2RKJm9wbwp6Y1c4aFc7Mio8K3FDO0Rp
S2ZxYGtyaiF5I15HSStXdVdRZFJpT08pTVlOJlo2Rng/I0ZMRW9sJXY4MGI1MChjKnUKenErPUlg
bVNAWmd6cG07Oz8+TWhQLUYrPHtBVnVjfjJLPHlrWXlBJFl7X3kja0MqZT16aXxELXhLNW4pZDJn
cTdyCnpOJXdzYjYpSWhCaDQ9TypIQjZDQjMyczklZC1NbypFKFQzYzA9cV9+akdVbFR3PHRtNl58
eVF9NCM7WCFBVkJ1Owp6UTV4SGR3aE1nTmh3QCZ3YSNqMyk3PENHPUo4YnQ0WSt+YUw4IXBRKDFg
akA4eHNEZHkkPUdIQ3dGKThWJnE7U0YKejRzc0l7UmVVcih1ZUQjOCt7enlIK01oVUwtMD9AMElX
ZjRlJVgjUk8jST9oPW5jQzA3M1Y/KH1yPHJMdihNc2pHCnolRXVKIzRFMmYoVSpuOytEM098VHIk
NVJ7XjlwaDU0IXIyUmIkeGktcTJsbl5Qb0FxWWo1JEJAYCMtdUtGKE9wbAp6WH43eDJyZmNhZDk+
M2cqO3NnWitBdXxUQTA+cmlVe20+T0V5OylNYDA9K3xDWn52JE97QkNiJHtNV3RyYylEKlcKejlt
YnFjYm9aMDNONGpjTXtsbUVCdzllP3o1PUQ4fGk/RT1LMl43SVA4JGt1U3dkJX5sTCFsPUZgfEEl
NF55Ym1rCnpydHJpI3shVkBoIXFsP2J5QWVJTmB3KHIlWCNsaGE1QWw0amkoUHVwbk9JTllFXkgo
fjV3UDxfYWw2eHBPVjNBXwp6OStfOVFYPlhgb2k2VFAzU0M5N1FjR3Vwbyg7R1ZOOW4rKWohPUY+
ekRAfUJteDFAIT9EYHZfVCkpQW1jKm1GQWMKeiZhVV5CezgyKzg3PXMqZDs2N201SkVYbCNPbH4h
SiRRRjQ9MmFTNTBnRFh5TjUzaD19TkRaM01mNUlGejgzUXxpCnotU2RDWil8ZloyUkpERzB2Mjc7
P2xZSXNQKnc0JjtLZmhMTzhSXnN5enVJNHVSd15DfHtQQ3dNXjx+WXQoaEB1Uwp6TEQ1Km0qaz18
e1UkUFhTeHx5b0R1e3VtYENDVXV6ZUhwJVYqLV5Ycjw2SjhEPnxEcypgfmJWVHFOJjQwbksyWVIK
ektffHw4ZzJHdz9sbVBvckd4Uk4ze0h+c0V4dzUqKV5AZiszUWlkNnhGZnE/dD5nckQwXyNCJW50
IXc8V2Y3Q3JMCno8bmhHcDteN0NOQEhxaVdNRFFgJjlHY0RlXjFIZHxMdyVsKGtQJGJYNyUqPztp
NV49JnpxKUAoKSNKI3diQEs5dAp6JmdAQXRkd1VKJFYkKnVxeXZaY0d1ej4oMiE9NF5+ZSsrZC1V
LWlEJGpoPGZ7K0chRnZPLW4oJUg9Qz4zK2NlYXgKenJyRm1lU0g2NVl4YThLRzJOelpVRy0rVjNT
d2UqITFuNEckWkE8JVV2Q3JPYnhXND85S1M+Z0swdi0jRlpUJCQxCnplY3V4R2ZnSVd6T302ayhu
YzNYam4wd00qeXd+dmYkJX0hSHRMeDFWVzw1Nl9PU3dJMntjfVE7dmFwaT8tR1pIRwp6TW9aWHU+
c1BaY0R9O1NzXiZMXjhLPXA0O0VBME18eSl6bFdofHYpK1B5SmtfOEA9RD8+YVQ4fDlPeEBlOV8r
KGIKeitxS2VyPktiT2JFdT5BR21BKz52KUhfYXFHVDsmUXg+ciN8QUB8dGxaMmErfkVeaj1GZUdH
eT1aNlJrZyt7ZTRnCnpNPldyIWMlMEt0QSkpdWxvQUtQNF5DPWRXQF8lWiRgYGFNZy1kSXNMWTdy
aiVKfjB3S3FOLXxNU0xyKmgjJWdTJgp6ViV8fnZua2BoNG1jN01nQTgyS2xfd2ZhY0ZRQTQ4enQ3
MGsxXjs+Pz43O1cqa2F3Xm0tTUdgY1l8fllWOFhIRGkKektAUGcqQDZ2YDJ3dzM+IVFzdjFGUGxD
PihjSWhnOXRGPHdteX1wPlMkR3RrJjtgVFAkXz9SPkhKQzxpWjl0U3Y5CnpOaHgpUl5xfkpgelRk
KlcoZCUxcGlLdSR0UlB8WSpBKSE9bT1GXlBTTEdIRlQ3M1dTWGJJdVF7ST4zTHBLI2QlMQp6UWsp
bSQyQHVMTzE9aH5TKWRGeUpnI31wI1VFTSo4RGchclltcDh1aHojVGhCQWp3Qn1ubSQ8cWU1ZFhz
aXwyQiUKelhLblFObkljUWNjTm1KZE44PHhoTXQ+XzllR0dXfFdkaG9LazhJdWMxZ0hTOWAoZlQ0
b25jRCRKcDZVVSpZPyR3CnpHYDVzZ1d2YVNPJH1qXiY+dnNjaSRZaHVwJTNlMWRsQHkpKDRQejQw
QUdkWklhRW0/c0BSWlNxQCNOUWR5PDQ7Wgp6bSQ+YG8kSXE4Yl4kWDxeTUJVZzwwdzNVU3YlJGV5
N3IxTlBmWEopc1V1QV45RGE1IV50KndRekF0RVFONzNQUW4KenA4MTd1UkhjVEBmIWQ3JlVhM2Ql
UyFEPjNZLU5lcT99cklEcERSPV5DVmhWeGVkVHd8VUEwUkV5QUBeeyp2RTlqCnpAMkN3YXxEO2Fq
KEBvTVZMdEV4bTxeZW5Gcm8+OyZjandIekpkVjFZIXV5aU8kVGh6TmVSO3JUbm9DdVBmSUc1dwp6
NmRCM1hjWF9oP0FWcGRZXjxJeWV4K3UkWSg1SFlYJE9CSk0rKm9ZfEBLfWtSMGxAMW1ydCVteDFS
SlpsMTkld0cKekgyfk9GYkI5UGpEQ3xUSUF7UT9YXz0wYnlNLWxmVUleRFgzMytUNTFXWHtjJiNt
PjNOWE0pbGkobyVkKzlQbHNICnp2bWAoYkBWSyNVJGZnVkAqWV50Tmg5NWdKazZ1VSpwWWBwSGVz
b1V3aX5PKCNWa35WS0M5PShAc2pGUjhBOUs2RAp6Jlo0WV5xdlJkcUNRfEc4ekx2e2tFJlIhY1pA
JmQlT1ozWDlWUU4qK3NMIShUR3J6ajhmbm43JkNkSk1fNCpIZkUKej8rO08pNTd2K2JKWHA4SSNj
KV9FUlFPSXcyP31KZHpQNyEyTE9YQX1uMSQpJUlrWE9QclVRPStVamAoM2FtR3QkCnpKMytEYUVV
cDtBVChFejxkQVUpemFMdik/dTRKTU9KNWF1YUJ+RTNhdmN7XkkwWmdqQVJzQ3ByTFAreUgmcX0/
UQp6eCkqKGF2PFd9PFJzQWV8MUE1ejUxSU1YIzBZTVB3bWNwIWxiZzhwfjQ4VWNMUXdKPXBlQiQ+
X2lhe25sP1Q0VTIKemNeUWM0aiN6PndUR3hQQllmSTFyYDFmKmREM0RDYTU8cDF0ME14OEROKSFt
Y3RYeExCdSZtPCZmZClXUFpxUnlUCnoqISVwZDFudHc9cXh8SjhfO047c3VpXjwlQU1BU1dfPV55
eW5yaGI4di15RDteb3Y3PjxvYFZBSzFOKVIoJVo8Sgp6YzdNJElJRygmY0RMJUQyb0B6SkJhYEdh
YDh8e0E0VipzWGVZVHZ1VTEyPHFJbChLdGFeNnslMS17VjZ0eG9ENDkKelg/V3k3VStSPlYrZ0JN
YWFpWnshM1krYS0qLVlmdiElSkBOeTZIMG02aWdTZipXNFdlbVdISXQkYzNFeUl9V3ZACno1TzxA
QkQyRjJeRyspLTdsWHd2biM5R15TSkJeK3khcCR6ZG4+Y3BkKz0wNzt5KXRhaFdgcXhKKUxNbDdW
I2BgUQp6e3FOPk0zMXFjTTI4a1c8UHJ5QlZYSktGS0VuP2RXPUoxa0tWYi1EcG52UXxya1FFWSlm
ZHZvazd9I0l9NVFPYz8KemVoNEZFb09HWiVsTWxmY2t3ZUdrbiNHLUNedVMlNGFZfmp0Q2dUOGV1
JX5xbnY0bFFxbnhJMFEqQCMrdW1ARXZ8CnotUE01O3RvWF49Y21nbzBpa3RnYEg1KjJwbTU2eFFH
WWJQRnZhS2xybnVTeyhXP3k+cS1tc3d8UShHJnc4fmtNUAp6Q2sley0/P3VDRjhHMkwqJT5XVl9I
IzlwYllldW9NSX1UMHA4e0RHOUh7TjJWKHN9ZW9QRVA4aW56a3VGb3pjRGMKejFKemRqJmJmSkJI
PGdQUigle3BaNEpKTSlfaXRNJEVILSpJPlM7SzNifj1yeChHTWIwdHFsRU9TPHhIdE9uN1coCnoz
SjIxR0UmbDNYOWt7YVJyPmFpR0peOzlxZWlzIVBJKFI+K3cxbGdhMiQkdzhQeT9La3FqPk4rXkRu
PUNMJHFiYAp6NmckUEhPUlMtXnVpV3ZkViMhVz0qe1cwMkBUZUJfaUBLa2pgJVcyYGtOOVllRjNv
d3dFRHQ/fWZQMkcrPD4+bWgKektIXjFzKTsrciFEJis/Zi1ZPVU3MzN+Z3RmYzF+OTJAQDNQQ0or
YHtaLWFadiF6ZUlXPHI7fkk5dylBdTl6eElgCnpLMVJDSjZ9Pk5sb1FXZFcxdilnMjRNPVVRKXo7
eERpTWVpUWtkP2dpeEZZRXgzTCNKJjBvc0ZJT14qTmUlTmUoKQp6aClMWSRYUz1zS1RPKlM0SX1f
V2BEJilTRk9BR19SKzJzckFLRVVSeXV8ZHd7MFpiQlNJTHlpKHIwMVBUNn5vT1gKekAjTGhNX1h+
RSRiU3NmcVcrMClycHRSd340eypfPjQlZGkjcj1zaWJiZThCVj1lUTZzS0U8TXhjdE4tS3h3SXRM
CnpRKjhQaiY1bHdPQ0o+LSlqblNZOTJOeyRQc3ZrQ2pyI19SPDFvYi0qQCsyPFc+dW1DSHlIbWRa
b0NHQWBoSD9PVQp6eVdieUdUQncoZXhGOWghbVA9OEYlNkwocm9DY2hZO3I7UkRUaSsqPzBjRn04
Y151Pyt4aHUzXlVFS2NsIzchQT0KelVvKEFpTSpTcTlDb3xtLTtGWnlxIXIzckg9KSh9bUUjWEZ0
byFxIz9URmp1OWdnQlZFQnpQZylCPSE2VXIjVjU9CnpUfG56Zikrc3pWVW5jcHM/SmNVdTh+OEEl
e1E1JmMmTXBCbm9yRl5kajRwPXwyIyptXjlCYGhvP2FOZVUzdjc+Vwp6dGw3aTZeZzVofV52KHI3
ZVk4dzxIYGxtZDZSfCt1UGZrYSg5KUZKX3d6KUhvVGxORCstUW53TTYtNldzeW40dEEKeil3fEsy
OHtlT3VmMTNgajhZQ0pwMTdkJldlJnU/e1E4NCpePUlYK3taMkxPZkg/aGd9T3hrajl0byhCJmMh
Vi1JCnp7QiZoRnNJaW4+WnFXOEBicW9LNit4TWVHKVRvYTU7PHhoVjVaTHQkZHZkRlZVVFFQO0Ym
MmQtJTlOdk1meFkmKAp6R2JFTWkyVG1vMU9GaG9JNyUldzhQYGtVfWswYWspJEV3Ql43PUNHazhE
RnNWR3hTQ2wpTnl1aVJOUlZfMlJYa0MKelpWMylOP1p7NkpVP3F5ZHswcXBgKWM4R2B6VlZJaD8x
VSkjayRaSD1aVjsydkA0cGhIMyptWSY/Qz5BVz9LVHVICnpmdkFNNlRrR1FSRTM0Q3AyVVhjMEh7
PjhpZlIoQlBnX3w3aU5SfnhUQmYoTDZqYCYkWExPOG8zMFZNPExzTW0kSwp6LUUkPU4jODR8cis4
JndFcXN2JGtPSXQmeVQreWRPKVlrN089NGhDfDtKaVo9aW0hdzV5ZiNkZDR3IXFFYWl0YkAKekdK
ST1INCg9ZGdEWEBxT2FgNjFYR31BZzQ2dlRzJE48R3Vwc2B+NVBxez03LXQpIT4lQlcpPE1JfGFN
MiVudmU2CnppSyNzcFZuXzN2antaRXVXbkFUNjYwK1E2KDAtcUNKe3woRiQ3U2M/aW0zKVdqZjVZ
cUdASnV2ZF89QClhLTktKAp6OUZ8PGx4amNKRGBXWjU4dEw7Q2hMKHVUe3twWUpfLWZIY2tONHNm
PTRGZVNZUCo9cF5JZ1U7YT44YitVXmR9fkIKejlkRHpvYVk0azRhQXt6Wj87fU1AbDtefkRZRm5O
RWJVcURTTTNIT3VAJmszaEVqS1MldX4+NGxsTDRmfGowaD50Cnp5TUlLO1opOVVlN3o2KUtsKkFe
MypIJCpTQDBkV09zfjg7cCFBVFZBODBATShgPktrOT05IVREayZ7O14oQntuVgp6Xz44WCQ1blkm
JlR7bkV9QSVXdD81ZjxGYEdQRnY7Rnw5e08zWUd7d2NIUWdjZEFoPyY1P0V4dDR2PX5rK2pHNmAK
ekJfYExGKy1uVHAtSChYR0p+Y21YKlZ+Nnl1cHVnfXh1T0FPVjAxb0RRRm5gTzFvZj8rMGsyP0Vk
cV9oQjteWUxECnpVeDtnWm1CVC10Q3B8N05yS2F8KUZUWSl9QEFKTD4mZ3ZxJGJHbGM5Q1BUcGQw
VUQpcjBxQVRAJXktWjIwSSMmKAp6VXMrT1dWe05GJDJ9WEV6JnJOSzhCNDgoWmxeb0srTGpnWUtM
czwwc2xDSSE5STN8ZShWKk92XkdAZGlPVzc/YGsKel9CUEg1LWdDJnRYbz8obzg/eWRSYkspZGpI
YjRsaHZ3ZVhUNDAzPXZaVjB+aWRxRVM5ODJETnE9IW88VjVhREhKCnozTDNhUGtTI01jdW9RSVBK
b3wpX0xQN3ZwdlFoKztCYj4pMF85fDd8bE11OEk8K3ZaKDwqJWYpKyYqP1UxfU8rTAp6MTt8fGop
QTV0Wk4zTXwtKzRtJVBMS0wyNWMhV1oxYngjaVFXRXxBSmc2d2Uzcms8KEoxMEZac08kaHNZbDQr
cnEKeiNKaz5TcD8tR0hDayQ1TFUzUWNjREw/QkQhbDtTJTs/UXVrU1VHP2J2NCM+SlBJN2BIMnxt
KlhSMUpmVmQxPHtUCno9RTt7bEhtZTtldj8rZlRKaUo4MCpxY3ktK0woK301IyNjM0p3ZkxTYm9A
UChqPXNBeDV5a0c9YGJGcl4mdChzOwp6YEgreitle248PmFiSWwlLVFZWX5jZHRBdj1WVWQyN2Eh
YHpSO0kpNFZ3c25Ca0t6T0clZSZGeFkkPiZ7Ty1JNF4KekhkYTd2dClLPC0+Oyh0a2YtdDZkSTAr
JEUwaStmazM+ZXJMKkN7fmA/ZWg1eUQyYzVaSFE4RDBBaU4mfE9OTXw3CnpoSlNDX3ljK3VjZlVx
V1hjVHd2MSFmUUstdGhYd0o2ckRXMHtSZ0hIPHZ1SnAzKGwqe2RjPGVTQ0lzbXBSMF4rVgp6PT9o
XmVTNCM/SXVsbD5sKGl6PWFKPjNLcVhIIWNZUjt9ayp2NWY1Nm5kKV83Jj1hRkF6VT8/KEJSNkF5
YktBR3gKemtaKilqK2JRYjgyUXdTOFhgUF5CJSVhKHhlQzV2YCFBfnRpQT1MQW15YDRZRlpLcW5J
ejY5fG8/dU15fk41PF5hCnpyTSRubXheYmY4IWA1NyZZU0lHIVYlWEhaYzdBVEo9KkR5OG45b258
MkhqXkdyJHhqR3hRX0FhRH5UOGUjPnRRKQp6ODNwS1ArZ0UpQEwxbUtAY289T0dVO2dnVWwpNnBB
SCRUWFJRV2padGA8IVFEUUlUNHJQZUFoKDVNU3kjZn0hQWsKekR0Rm1qMWhWRDx3ckhAQHE7eEFA
M1BCKCgpPlEybTJpI31CTEJZeG01WS1peGp3dEQmMyNWUERIYGFMckN0fGk9Cno+Jk5MfjBaYHNO
YEVhU2FEUXxmdmF5UmFne0t4WishM0ZsR1VZZjE8c2AjKWBmeDxUZ1IySit4UTUrO3h6blR9dAp6
YkxzNXZYZm4lTllmfjhqZWchfCg3ND9xVkUlfWIhbjRhRSQ+WHYrc0pUajYwSjBqP3dXdUhrT1Mj
OzMkJV8lb3cKemIlVShHKSFhaW1hREluM1haZE5yJHw5eHg4akx2a2VUZ0dvRn1HKiUmZmBoRUtl
SDU4eUs1fUhReCNATUNwUilpCnopKVduVzZ1RTkjU0cpaCp5NEwyUk0qSXJ6ZnQtY1BnJmxjJTZI
PHYoODVmLTVfakoyQiQtYEY5RT9UQEJkYn4oSgp6YUV4Q1cjI20xZHleVU1HaiNoY1g/WnQxTzwl
P2Z9NkBCcn0pUUY/dWR6biFQT2JzNUZ6alU8UkJDa1I8VUREO3oKeipVUCREZ0tARnFwU1E3V0s2
TG1+PVJZa0tOeHcwX3QmalVjKmRvJk0wQmheKkJGand0Pmo4QEFgK3NKfEd6WTYyCnpYSXxSNy19
e0soT1lhKFc8fHdael5mYDhXT20lJktZVmBiPnYrKHV0bElgej4kKDRRa08ldD05PiEwdTYlZGZ8
RAp6e0xyS1d0Tl5+T25+c3h2SFgtd2I9ZC1UPkkyJjVsZnpBLWclR3VQaF9+QyNDKyE4ZjRgK3dS
QFJIVCo9KldQTnoKel5zd0s3RWxPTEBpX1lUXmFkYl81Pm02YitxaG1rVTU+MDEpamM2R1l4cGQw
fSFtXjRlMH59PWVaRHprTyN0SU9oCnpicSlMfiR1PXEwMD5xOH1vZVd3Yj4jeWRycD58aVNCbXdE
dTFeN0hkVT9MdVBUcFRCJCRgR2RrRntSQ3VqSjlSYAp6Oz9+VTRfc3s0PThhaTxIP3EoOysyKVB8
LWJgeChfRTc3MXs5Xnk5dGYpK3lhXk0mLV5CQn5wNFBuPWc8Yis/bGQKel5sXjUhRjRjUTsjUWhh
VEkkSUhoZTB+S0lXWHc5XyUrR0o+bjZGNTxIXncmZiNUaFc8eSZJNilgZ2o1Z3dxUVMyCnpsX0Vi
VyZkQGNEZTNjPFR4d2tpODVEIzh9KGcyQDduKzJwamoqYiM+Q2Q5cz04UlhHKztTeTd0YyNVKytf
RW0ySwp6Pjs0ISRVbUhiaE80OCVVUzd8fEZRZj9CJHszV0U9S0hHJW1DRzN1ZzE+Y3hESlI2ZV89
RkBna3lgeF83T2ZNK0YKemowXy1uWjR9XnErc0gkRT9xd1R7SkhlSGwrT3JeIT5vdzkoI1EzSnd2
ezNKLWJoZDVvNip0Jl40b1lZM0FseTQoCnooTitQO1RaMndyMWF0OEFQcm1yQktTRGNLc0x2eCZw
bm9idGZyNmRfNEBCSHJadmdDTDxOISZSZkZpLUktKUN5Nwp6V0lvJFZ4RzdvRER5RGFQPnBvQzY/
ZjshQmo9bUBUMGQ9bz9KeW0/QFRZRlZoM3pNUz80WVlAJCgoVl9TR3puP1kKejVqKH1qfEJ+T05g
dnMxTllXJGZXVU54V3JWbU9KJWFBWTckVUxyUFBmOz18JmJqRT5jeE4hZEZfSStvMGBpYylQCnpi
KzFsJjwzc0IyR0dUZjhVdTBndmRnNTRoM3hPYmpNI2g0Mj1zKz43SS1QRFU7Z3ZIaXVWZDkpKCZ+
aEdKOENFaAp6NXxHV2dLa3dlNzdSMm5FVm5hV0B7Z3hYQXBWOW5ZaTBuZlc7T3B2MjFPXjBjWj02
TThjVyU8YjVFMSRudkZaZVcKejhvYyFVSFV1Qlk1SH4pfnZVNGE9YXZLSUIlPHViI05ZbEVJRUFU
Qzg8cGtEeU9oQWYoZXEmRCotejVjSkU9JShyCnpjLTBfYz5TbCF7dmF5ciQ4SF5xd2BWfShlMHc/
ekJvJGQ0aFRzfm5MSWREb18hNXR3KjFpPk1NYE9Qa2RIRjRTdwp6NHQ9eygtS1IqS20tQ01HNlkr
bDRwMSRgbzZhRTlRMDN6SmplR3E2QzB7bjZqTF57JE4xRilCUkI1X144KzhHez0KeiE7bzAxcUcj
UmhZYikwaz8qRjdeXkhmMShSX3dZLVM0Q0c2Skt6PmRpPm1rU1JhS0sjbXR7K1FLIWwzZWlLKENC
CnoqcypHaGxuQEhlaFdwSVNjJGwhMVU4LWRFeVorN1U3dlYtdUclY1Y2PEZ+YyhDZUpRKlF6TSUt
MitIZWlqNzcwYQp6czZUI29SdFZxPnk8ODYyRm4/ajVBXlklSlF+cmBaTSpEZD1afFR7SXZyTnd+
bWhacGchN1lFUWt5ezM3PiRTNngKemQrZkZ5ZEFWaDNjWjNoSUs9RnZDYWo2ITAweFRoRHdke2NK
amxPRCokXi02cmoxWmBmQSt2fnBgUEUyRFAmJVheCnpSWmY8S0lWek5jNXRVditMZ1o/U3BBPFFl
Nj5PMU9qZmZDPGpSNz9QNTBubjk8KjEqcSZnWXFAZWYqNkwrLV9zLQp6V3tUOWhvRiV3KGZsZmxZ
QnVXal9icCg2RjR3WElgckBxeWdLZERrcihxVnMqYEhvV1I8aWlXfXI2VGM8XmJ1UmQKenNTbmV+
RCl0ejdOUjh0QG8zSkZmY3RwdD5TRF5TeTNBU0smND07TGtFc1RwdTg3ejFgZXNUWClDY1NWUzdk
RCheCnoyY0ZBK2xwcjI1ZDNHQilnbjBRdDREcHhmeW9gN19ZUn5AR3JVPXwjSmZ4VDh0bV5kfmIo
azwyNXJrZU5JfTJnYQp6aTVkeUlRNEB8LWZPcU0mbEBqRyQydVNTaXhBcExSb2NoeyMqPlRxb1hh
KCslbW9GZnFLRkdINntrcCVnTTFpfDYKeitVPGdINEs8NmhyY2RtO2B4ZH1EZFM/XmlNMVRhaEJe
PzJFcS11eW4lTjRAfmg+fHtRVShzcHNwV2lLckMzRCE3CnpvJUxuJiFmblUlWGN9SUJBMz5+MEg2
PDQ2REFXQG5wZlBZPiswNWc8aXxeZXRnYj5JU3AwI2x2IWt1KFd6OVZuWQp6NlVyKWhJJjVuPmxU
UyUhYVhXcGlAZCQpJUIyMyhpeUJjend8MVFTazxpbSVndnJxflJDRE1WOHlDVWMzT2pAUmUKekdz
RFQmVklFO3FTQzZXRmBmJWxpUi1zRnsjQkVgWmcpbFphP1ElbzY5fW5tXzR7Y3ZRZU5oJUp5PWpO
byg7VG4lCnomUSY3NTV8dT9LSHomcU1YK3hmfmtZYmhnaFVrR1Qoe19hdDR7aHNxPmxMYm8jLTl+
XiRsQ3FXdylkUEtjdHM1Kgp6enUzRTB0Zj01ZHt1NlQtdFc1ODBEYVAhNUhiQTduSDgkUVJjV0FN
Xlc4PDh+MjR5TX1RPitOJFNELSE7aHg4SzIKei1ISWBLamFuJSFLdnRzb0F0Z1kleCNOIWozUF9s
KXo3cSlSZ3ojO2RJQ2NeQHNFK2VfYXUmbks3bVVfQWEzdyRzCnp6PEdfTGtDIWo5SzNoQjU3PEpG
dEdmR35zZk0jPjNFe01lfnshaGowPT1kK094X2Y7LUp+NyFfbGN6K25MXzdDcQp6QT5tb3dxMHxr
OGNRPmc1JipXO3tJRGdtT05DSWdMUG12PU07aUI+aSNjakkjLUE4PExAeUc/VzdqUUhvdC1BX0QK
em09RmVwTEp6QDBiX0g5aCFFI19gcXhUclluJm9yWmE3UU05KTJ3bnBrPm9QUSlOMj1CelNvJkAt
VnRFT1VBRCZVCnprVCszI1VYQm9UaGtxfDA9b2NqR0YhMF88aGx+V1p3MXBPP0JCajlpVnBHPm81
RVFyUyp0WEF+JSo3NW1OOSYoRgp6WVhFNypDVmB7VzErb3ZuWW16T0Z6dW5kMDFoOSlYbjU+fG4t
I1h2OzAmJmhwS0Y4U2cweFMyK1BhdWVhWU1JRUcKekM8XjRgO19ePk8/M3UpKEpxUEZsKm1tdE0+
P2w9LWxNa1hYM0tQKUVAYzh3Rloma2BxYVhWOTFyREtOe3l1KGNGCno2KCY1eyRWZWR8bHd5TFdk
OzErYylaUkh4OyV+LVI+TCluUGpiWk8qZF5eWW1XYEhffihvfmBBTHc0c2dKeEp+Ywp6S0tQaHFU
MkZpaXtrT0Y7bU9jb2t3fD51VXVlNkRFPVBqMyFFYGI0ai1ib1Uxe1BmI28rfXdKYnlWQiEjaVgh
Wj8KelgyRitGOTxOOVNZcEgxU3hDIztDOFVgRFJ0JiNDNi1DTyhTdFJ+O2VYckRrbjNPQmo4PyYl
XzFQcyErJkptSmtUCnpwUmFEVzF0dSQxYGg1WHRaMD5sOTV6JnBfVEVEUFEwcSk4TiVBMjFKP25U
ejNQYWg/QGZDPn1eVGxpY1VFQ2BSPQp6QHBifUlwdFlQVk9MPTw9cChMM2J4YDtXSDg8c2J3QF5Q
bSZiVFdUYjQ2eE0wX0hQZXk3QFluYm1KN3leeSZsMkgKejZwcj8jKyUrI1RNIVhpSFphSkxWSkt+
KDRVPldlcGJzdz9vXnUyNz97aSF8XypkQDxjJm5DXipxbCZ7I3pLJT0hCnphUHdHIVNkfWN4VlJq
VGliWWR8emR8X1RXYzZ9dU5lUzU8RSVVNzQ+ciswamBPVWJ4fE4+RlNJRD0kJD1zNUxCRgp6MW4h
dkopNFVZSG09bm9ebmk9NSZYYkV3Sns8cSZfU0p3bV9UIWVIfDQte3FITU96Pzh5QnxLfWFSZmcq
aWZTRjUKemVFVnU1Q2pVTzxfQG51bWxTNiklUEp9Pz9la3VUOyRnVWUyTEtEZ0QwSkllQ3Q4cm47
aXp3fmo8bmRLWUd7XzdzCnpoJm4mPUY9U3VyI1Q3OCQ0IUZ+LXFqZlV6NXl0X1g7Zyg0WVVrbyh7
VkRUSmMzWD96fWBzTV92VW9KM3NHWHB2MAp6MiF1X01Rb25ta2VCfkI0IXRoSHtCNyFiMDBldUZ9
Xkw+TlJrcG5ENTlINEVPSUlPSTxRY0RzN0BiIW5VLUtKVDQKelZwX0p8VVRIcz8oWjhzITdKTyty
PCVOMjRkZVZXZDByPHFDaGs1KTRnQz4kY25DVilgaGswZSMoSzFZeWZgQH5WCno1Y0x6ejE7SHds
KE1FQ0dna29KTnFMIWN8cXZzYlMmQXxJU1lMTVVgekIrSkNpKlc9QypaY2MwTU5gMXRjYCt1fQp6
MlB8OERqZ1ZFfnlie05VSnVNZGp0PURkQlllRDdRPlBHYWU+RVdGR0dRKHdlNmt1UCEmZjBXPzU5
RykyZmVKMigKejNoK19QSGNzRTcmOVkjUGJaamolRzJoSURoIXtiRSk1RUtSRWV2WDx2ZiQkfmF4
YEVCST5gKXg4fVR4UExZSHswCnozcj1RSDcyN3ZNST16eFFXP0xzWTBKNWtVMjxYZjN4TnFqYFcj
eDJPNnxlczBUYlJDQlAtfEFfaiR2dWNOcSNRdAp6TzRqX0Ema2cwam1AM0h3Q1lDc2MlZXteNlFq
MT53ZF5XTElePn04KXE1ekNhMD4kVUIrWXhGbkBKR3pAdWxzM0UKekYtLShTelNocyZrY2t0cVc/
eUA/aWc+e2Z0JjhHQFNzRH5hQitmVXFwX3FaXyh6cT9qbCM5bjZMJVBmQEBNKmA3CnpOYmlodS1R
OHFqQmtlMjdUXmsqdSg/WWZiJmMyOSMoeENHd2N7e1pCKGJyXj1XMlgxejA0LUtMPF5tTGlSKjJD
Tgp6RDI8X3RvQ3hGMkZRQXlELWFYUFJqQ3o+Qk9WeWtOSj0mOT8xbjRiMFQ8NjE9cV5zcVNlfmJk
YTdAcS17PlV9VTcKekJlR08oaU9MSUBjZWA4ZWJfPF9jJGpSUyopY3h2I2VVeSVYejZJeTBiRyoq
KSZjSXp4S2FxNkghZjQ7KjQmXmlYCnpmWSF2XkB8UEYlRjM+VD9AVG9iVWl0ZGpsXlV+VWpaY1Yw
eW89aipCXlgwZntKaXw7T2pBKTI7UDdGZjM5Rk54MAp6RCtPelorIWBCYUItP3NrRUloeX1eTW0p
VmQxekRSZUp+KWVQODRVMS1wZDApVzdvej5vQy1eXzs4aWJpbytEaHsKemFGMCQtWGxvUyNWKDIt
ciR0UFM4MHdMcz9HcTQpQVcjS3d+d01KKj0zPEMjbnp1REs4KXFafDRZWkMmS1ErfV9PCnplKDAh
SSRxTiM8Zk8weDBPdENpSk5CMTB4dS0lSXR1dEI2dDhndml5QkhtZHN7K2RfdjgwcyMwbWw7Q3dZ
aCszUAp6SXQqdFBSSEJTbmwmQCE3TTdyQjU2e3U9XnJsNkgqJEhvdSpOPn5XIVFhR0FOV25OcmNH
ITVmQV5pfmBqe1pJbiQKel9Adj5CVGdQKmcwVWNfX15xez9ueER3YUVsdzwpR252bSpseSZnKWJq
NHZTKTRvfiMkU3BaRGAtdUZkbzx9MUA7CnpOaSRKM2EqU25Me2Y1cXhvT2A8REZuSUxsKmUhRG5p
OFNCTSZJcmxRbTkhKDI1P3tsc3pLeGsoamlTNzkmSTxSJQp6PmhPXkApPjE8dXMqZH1vaXdSZiMm
KjNoRjElJVlDNDlRSUlCMitpNDxCKzZtPEdyKU5sV2t0VnBQVG1AYTh1NUcKelUwOzQ0OTgzQExf
STA3VyExUW5YeF4mMmc3dTwrbGErcDtZe1ZrK3l3fiR0PD9JRE8pSzUwdWJ5dTthbS1BYTA9Cnpg
LXVISXdJdUU4cXZuMHlAI1pVeV5wd1AkWWZscVQyPkk3LXVBcCgkXkNUPHxJYC0pMFUyOC1rZmU3
ZH1jem5LUwp6WSp7OH1VZVlZOFlUKklmdHIjfTsrbHA3eWVgfn4kM15LbmdLNzRWKyNhQn0mbShx
fkEqWSl4aFpwaXdIUkp5ZW8KeiFzdz5MWiUtYGNkYGhCUWtgKFRvdXptOVo/bys/OC1EaFFhMSQ1
c3lpPjtOeT1HKVAzem9ybFc8SFQhXlE7KT15Cnp5M2ojT0wyYEhAPH19XjJpJGgpUkVgOXlMcj4q
VCExeFVTbHkzLU5meV5KfEdBOyNTaCE9bmhsUm5faU5oP31ATgp6WWwpb3F0cDZHbGt9TzZ9aiky
KyhXJmdZSEcpaXJ+cF82Q0AoJFhTTnJjZXlzdHFTaGEzMG0rRDYpI35LYW1VX2UKem4yS2ZYN0FJ
PDYrVXhAVm96KW1aMS1NVFF3Nzk3U3tLMnB5NjtAcmErKWRXN241ekllLT0tdj5odjMkUnFTeGoo
CnpvZ2IkWjk4RVJ5S1FrcU1pbEJhVCNROVEjbDV2bVAla300YVQwPXJZdWtYamxpe1UoRXVIP1JP
UGZ+TUVoJVpQMgp6I0t9KjI2Ozx7I1MxamN7akhHQXp1V3E3U3d1TlohXmJ6PHxzS150YFRCV301
K1N0WG4mTntnRGlNUkhvWk14cmsKejl3JWl2UD5uaG4kMVU+TSZUe2xPR0p5VzBSVWg4cyVyekNi
P3JZPnxLbUZgfEdOQGgxWkVqPlQ8JklnY0FJSDRZCnpvS3x5OyNsZT9OeCVFT1pPdGhleWU4cEwp
U3Z3JDdYSEs5blcpZ01ldSpyfGpLRXdFQ0l7ajJNemApISZxIypmewp6N3FgayRUa1dIV0x7YnZi
a0c9RFFrXi05Yjw0K2M0MkUrQkpESFkxJDsxN2I4bSN+SiVMQzMqQW93QFpxXihnXz0KUUN2Nmct
KW1ZfTs2JDFNSTBRWFltM2poRUIKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434187</attachid>
            <date>2021-07-25 18:12:21 -0700</date>
            <delta_ts>2021-07-25 18:59:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210726111219.patch</filename>
            <type>text/plain</type>
            <size>124077</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLmUwM2UzMzRlZTQ3MzFlYjNjZTU2MTM2MzI0YzU5MzE3Y2E2MTRi
NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFdlYk1XZWJBdWRpb0Vu
YWJsZWQgcHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3Ig
bWltZXR5cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlz
YWJsZWQgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJl
ZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8
bWFnb21lekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIg
dG8gY29uZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJv
Y2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0
MTMuLmViNDliM2E3YzQxYjNmMDRiYzUzZWIzZjMyYmQxMzg5ZTc4NGE1YjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMDMgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFw
cGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1
cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4g
V2ViIEF1ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4g
dGhlIHdlYiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0
aGUgZGVjb2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJl
YXNvbnMsIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxz
IGFyZSBibG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1
ZGlvIGNvbXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkg
cHJvY2VzcyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisg
ICAgICAgIFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vz
cy4KKyAgICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWls
cyBmb3IgVm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11
eCB0aGUgd2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNl
cldlYk0gdG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVy
YXRlIG92ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3Jt
aW5nCisgICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRo
ZXJlIGFyZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVu
Y29kZXIgZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGli
bGUKKyAgICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBi
dWZmZXIuCisgICAgICAgIC0gV2UgY2FuIG9ubHkgZGVjb2RlIG1vbm8gYW5kIHN0ZXJlbyBjb250
ZW50LiBPcHVzIGFuZCBWb3JiaXMgbGV0IHlvdSBkZWZpbmUgYQorICAgICAgICBjdXN0b20gY2hh
bm5lbCBvcmRlcmluZywgdGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZCB3aXRoIGFtYmlzb25pYyBh
dWRpbyAod2l0aCBvcHVzIDI1NSBtb2RlKS4KKyAgICAgICAgQ29yZU1lZGlhIGRvZXNuJ3QgZWFz
aWx5IGRlYWwgd2l0aCBzdWNoIHJlLW9yZGVyaW5nIGFzIGl0IGFwcGVhcnMgdG8gYmUgZXNzZW50
aWFsbHkKKyAgICAgICAgZGVzaWduZWQgZm9yIGF1ZGlibGUgY29udGVudC4gV2l0aCBtb3JlIHRo
YW4gMiBjaGFubmVscywgZGVjb2Rpbmcgd2lsbCBlaXRoZXIgZmFpbAorICAgICAgICBvciBwcm9k
dWNlIGNoYW5uZWxzIGluIHRoZSB3cm9uZyBvcmRlci4KKworICAgICAgICBUZXN0OiB3ZWJhdWRp
by9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbAorCisgICAgICAgICogSGVhZGVycy5j
bWFrZTogRXhwb3J0IGhlYWRlciBzbyB0aGF0IHdlIGNhbiByZWdpc3RlciB0aGUgZGVjb2RlciBp
biB0aGUgVUkgcHJvY2Vzcy4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6IHNhbWUgYXMgYWJvdmUuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNhblBsYXlUeXBlIGNvbnN0
KTogTWFrZSBjYW5QbGF5VHlwZSh3ZWJtL2F1ZGlvOyBjb2RlY3M9b3B1cykKKyAgICAgICAgd29y
ayBpZiBmZWF0dXJlcyBpcyBzZXQuCisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRXZWJN
V2ViQXVkaW9FbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OndlYk1XZWJBdWRpb0VuYWJsZWQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlh
U2FtcGxlLmg6IEZseS1ieSBmaXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBXRUJDT1JFX0VYUE9SVAor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkF1ZGlvQnVzOjpzZXRMZW5ndGgpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVz
Lmg6IEFkZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0aGUgcmVwb3J0ZWQgbGVuZ3Ro
CisgICAgICAgIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlpbmcgc3RvcmFnZS4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaDogQWRkIHNldExlbmd0aCBtZXRob2Qu
IFdpbGwgY2hhbmdlIHRoZSByZXBvcnRlZAorICAgICAgICBsZW5ndGggd2l0aG91dCB0b3VjaGlu
ZyB0aGUgdW5kZXJseWluZyBzdG9yYWdlLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29h
L0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRyeUNyZWF0ZUF1
ZGlvQnVmZmVyTGlzdCk6IEZpeCBjaGVja2VkSW50IHVzZSB0byBjYXRjaCBwb3RlbnRpYWwgb3Zl
cmZsb3cKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6QXVkaW9CdWZm
ZXJMaXN0SG9sZGVyKTogQWRkIGNvbnZlbmllbmNlIGNsYXNzIHRoYXQKKyAgICAgICAgZnJlZSB3
cmFwcGVkIEF1ZGlvQnVmZmVyTGlzdCBvYmplY3Qgb24gZXhpdC4KKyAgICAgICAgKFdlYkNvcmU6
OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6fkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yIGJvb2wgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvci0+IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3IqIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6aXNWYWxpZCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRl
cik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmlzTWF5YmVXZWJNIGNvbnN0
KTogTWV0aG9kIHRvIGNoZWNrIGlmIHRoZSBidWZmZXIKKyAgICAgICAgY29udGFpbnMgV2ViTSBk
YXRhLgorICAgICAgICAoV2ViQ29yZTo6cGFzc3Rocm91Z2hJbnB1dERhdGFDYWxsYmFjayk6IFJl
cXVpcmVkIGZvciBBdWRpb0NvbnZlcnRlckZpbGxDb21wbGV4QnVmZmVyLgorICAgICAgICBXaWxs
IGZlZWQgdGhlIGRlY29kZXIgdGhlIGRhdGEgdG8gZGVjb2RlLCBzcGxpdHRpbmcgdGhlIG11bHRp
cGxlIHBhY2tldHMgZm91bmQKKyAgICAgICAgaW4gdGhlIENNU2FtcGxlQnVmZmVyLgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpudW1iZXJPZkZyYW1lcyBjb25zdCk6IFJldHVy
biB0aGUgdG90YWwgbnVtYmVyIG9mCisgICAgICAgIGRlY29kZWQgZnJhbWVzIGluIHRoZSBwYWNr
ZXRzLgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpmaWxlRGF0YUZvcm1hdCBj
b25zdCk6IENyZWF0ZSBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24KKyAgICAgICAgcmVsYXRl
ZCB0byB0aGUgZGVtdXhlZCBhdWRpbyB0cmFjay4gbnVsbG9wdCBpZiB1bnN1cHBvcnRlZCBjb250
ZW50LgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpjbGllbnREYXRhRm9ybWF0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKToK
KyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6bG9nQ2hhbm5lbCBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaDogUmVt
b3ZlIHVudXNlZCB0eXBlZGVmLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
U2FtcGxlRGF0YVNvdXJjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxlRGF0YVNv
dXJjZTo6fkF1ZGlvU2FtcGxlRGF0YVNvdXJjZSk6IEZseS1ieSBmaXgsIG1ha2UgaXQgdXNlCisg
ICAgICAgIFBBTCBzb2Z0bGlua3MKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxlRGF0YVNv
dXJjZTo6c2V0dXBDb252ZXJ0ZXIpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZSBQQUwKKyAgICAg
ICAgc29mdGxpbmtzCisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFBy
b3ZpZGVyLm1tOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHA6IEZseS1ieSBmaXgsIGFkZCBtaXNz
aW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVNhbXBsZUFWRk9iakMuaDoKKyAgICAgICAgRmx5LWJ5IGZpeCByZXF1aXJlZCBieSB3
ZWJraXQtcHJlcGFyZSA6IGRvbid0IHRhZyB0aGUgd2hvbGUgY2xhc3MgYXMgV0VCQ09SRV9FWFBP
UlQuCisgICAgICAgIE1vdmUgY29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3IgZnVuY3Rpb24gZGVm
aW5pdGlvbnMgb3V0LW9mLWxpbmUgdG8gcHJldmVudAorICAgICAgICBsaW5rYWdlIGVycm9ycy4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBs
ZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlh
U2FtcGxlQVZGT2JqQyk6IE1vdmUgY29kZQorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbTogRmx5LWJ5IGZpeCwgYWRkIG1pc3Np
bmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0
aWxpdGllc0NvY29hLmg6IEV4cG9ydCBzb21lIHN5bWJvbHMsIGFkZCBuZXcKKyAgICAgICAgbWV0
aG9kIGRlZmluaXRpb25zLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1B
dWRpb1V0aWxpdGllc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJEZWNvZGVy
RmFjdG9yeSk6IEluc3RlYWQgb2YgYXR0ZW1wdGluZyB0byByZWdpc3RlciB0aGUgZGVjb2Rlcgor
ICAgICAgICBieSBkbC1vcGVuaW5nIHRoZSByZXF1aXJlZCBsaWJyYXJ5LCBmaXJzdCBhdHRlbXB0
aW5nIHRvIHNlZSBpZiB0aGUgZGVjb2RlciBpcworICAgICAgICBhbHJlYWR5IGF2YWlsYWJsZS4g
Q2FsbGluZyBBdWRpb0NvbXBvbmVudFJlZ2lzdGVyIGluIHRoZSB3ZWIgY29udGVudCBwcm9jZXNz
CisgICAgICAgIHdoZW4gdGhlIEdQVSBwcm9jZXNzIGlzIGVuYWJsZWQgd2lsbCBmYWlsIGR1ZSB0
byBzYW5kYm94IHNldHRpbmdzLiBXaGljaCB3b3VsZAorICAgICAgICBpbmNvcnJlY3RseSByZXBv
cnQgdGhlIGNvZGVjIHRvIG5vdCBiZSBhdmFpbGFibGUgd2hlbiBpdCB3YXMuCisgICAgICAgIChX
ZWJDb3JlOjpjcmVhdGVBdWRpb0Zvcm1hdERlc2NyaXB0aW9uRm9yRm9ybWF0KToKKyAgICAgICAg
KFdlYkNvcmU6OmlzT3B1c0RlY29kZXJBdmFpbGFibGUpOiBGbHktYnkgZml4LCBzaG91bGQgdGhl
IG1ldGhvZCBiZSBjYWxsZWQKKyAgICAgICAgb24gbm9uLW1hYyBwbGF0Zm9ybSBpdCB3b3VsZCBo
YXZlIHJldHVybiB0aGUgdW5pdGlhbGl6ZWQgdmFsdWUgb2YgdGhlIGF2YWlsYWJsZQorICAgICAg
ICBzdGF0aWMgdmFyaWFibGUuCisgICAgICAgIChXZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVy
SWZOZWVkZWQpOiBBZGRlZAorICAgICAgICAoV2ViQ29yZTo6aXNWb3JiaXNEZWNvZGVyQXZhaWxh
YmxlKTogU2FtZSBhcyBpc09wdXNEZWNvZGVyQXZhaWxhYmxlCisgICAgICAgIChXZWJDb3JlOjpy
ZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCk6IEFkZGVkCisKIDIwMjEtMDctMjEgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgbGlu
a2VkT25PckFmdGVyIGNoZWNrIGZvciByMjY5MTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBmMDE5
ZDNjZTEyMDNmM2ZhMTA0ZWY5ZmFjNGZmYTQwNmFiOTAyZjYwLi5mMmFhY2JiODQwMmQwYzQxNjFh
M2Y2ZmJmOTkzOTRmNThjYzUzZGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAg
ICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgdmFyaW91cyBBVkZvdW5kYXRpb24gKEFWQXVkaW9Db252ZXJ0
ZXIpIHJlbGF0ZWQgbWV0aG9kcyBhbmQKKyAgICAgICAgQ29yZU1lZGlhIHRvIGFjY2VzcyByZXF1
aXJlZCBDTVNhbXBsZUJ1ZmZlciByZWxhdGVkIG1ldGhvZHMuCisKKyAgICAgICAgKiBwYWwvY2Yv
Q29yZU1lZGlhU29mdExpbmsuY3BwOgorICAgICAgICAqIHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGlu
ay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oOgorICAgICAg
ICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbToKKwogMjAyMS0wNy0yMSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVy
dGluZyByMjgwMTI5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxODc2MjU4NDI2MWJhYTllMzIyZTlhNzBjZjhkMmE2
ZjA3YjA5MDk2Li4xYWI5Y2YxZWQzOThiOWJlMjhjNzhmODJiNWMwYTYxNTBiNzhmMjMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA3LTIxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5
YUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1ZGlvXSBBZGQgd2VibS9vcHVzIGNvbnRhaW5l
ciBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjcxMTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5NDM3MDY3PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkZWZhdWx0IHZhbHVlIGZv
ciB3ZWJtX3dlYmF1ZGlvIGZlYXR1cmUgZmxhZyBmb3IgdGhlIGRpZmZlcmVudCBwbGF0Zm9ybXMu
CisgICAgICAgIERpc2FibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHBsYXRmb3Jtcy4KKyAgICAgICAg
Rmx5LWJ5IGZpeDogZG9uJ3QgbWFrZSB3ZWJtIHBhcnNlciBkZXBlbmRlbnQgb24gVlA5IHN1cHBv
cnQuCisKKyAgICAgICAgKiBGZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdDoKKyAg
ICAgICAgKiBGZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdDoKKyAgICAgICAgKiBGZWF0dXJl
RmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0OgorICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQt
d2F0Y2hvcy5wbGlzdDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuaDoKKyAgICAg
ICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OmRlZmF1
bHRXZWJNV2ViQXVkaW9FbmFibGVkKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94
eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRpb0Nv
bXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorCiAyMDIxLTA3LTIxICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgUnVubmluZ0JvYXJkIGtpbGxzIHRoZSBuZXR3b3JrIHBy
b2Nlc3MgaWYgaXQgaXMgc3RpbGwgaG9sZGluZyB0aGUgImhvbGRpbmcgbG9ja2VkIGZpbGUiIGFz
c2VydGlvbiB1cG9uIHN1c3BlbnNpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9T
Y3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXgg
YzQyZWJlYmEwNjdjMTVkN2Y1ZGMwZTkwYWIzZGI0NTJlOTIyYTRlZC4uYjQxMTg2NDRhYmY4YjZl
MTM4ZTNlNjQ5NDc1NDgwODNjOTkzZGJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNl
L1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwK
QEAgLTEyNjEsNiArMTI2MSwxOCBAQCBXZWJNUGFyc2VyRW5hYmxlZDoKICAgICBXZWJLaXQ6CiAg
ICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAKK1dlYk1X
ZWJBdWRpb0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWJNIFdlYiBBdWRpbyIKKyAg
aHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdlYk0gV2ViIEF1ZGlvIgorICBjb25k
aXRpb246IEVOQUJMRShNRURJQV9TT1VSQ0UpCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRM
ZWdhY3k6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVk
KCkKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNV2ViQXVk
aW9FbmFibGVkKCkKKwogIyBGSVhNRTogSXMgdGhpcyBpbXBsZW1lbnRlZCBmb3IgV2ViS2l0TGVn
YWN5PyBJZiBub3QsIHRoaXMgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gV2ViS2l0TGVnYWN5IGVu
dGlyZWx5LgogV2ViUlRDSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDoKICAgdHlwZTogYm9v
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJD
b3JlL0hlYWRlcnMuY21ha2UKaW5kZXggM2IxYmI1NTBmNTY4MWE0ZjVkZDIzNjBhMTQxODlhOGVj
YWQwNTdiOS4uOWE2MWVlZmY1NGI3YzY1MDIwYTI4ZTk0YzZiZWUzZDU0M2M3NDU5ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlCkBAIC0xMzM1LDYgKzEzMzUsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZS
QU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dM
QU5HTEUuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5H
TEVVdGlsaXRpZXMuaAogCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRp
bGl0aWVzQ29jb2EuaAorCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0LmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RE
cmF3R2x5cGhzUmVjb3JkZXIuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
Zi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKaW5kZXggZmMwNjY4YTRhOTFhZmUxMGI2NTE1OWNhMDgy
ZTE4MjgxZmQ1MDM1Ny4uNGEzZTkwY2Q0NDA2Nzc1OTIxMjJmMTZmYTUxOGFhNTRlOTU3Y2NjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAK
QEAgLTM2LDYgKzM2LDggQEAKICNpbmNsdWRlIDxDb3JlVmlkZW8vQ29yZVZpZGVvLmg+CiAjZW5k
aWYKIAorI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgorCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01B
WF9BTExPV0VEID49IDEwMTQwMCkKICNkZWZpbmUgQ01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBF
IENGX05PRVNDQVBFCiAjZWxzZQpAQCAtNDcsMTEgKzQ5LDEzIEBAIFNPRlRfTElOS19GUkFNRVdP
UktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYg
dGhlU291cmNlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwg
dm9pZCogZGVzdGluYXRpb24pLCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFM
ZW5ndGgsIGRlc3RpbmF0aW9uKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxl
bmd0aCwgc2l6ZV90LCAoQ01CbG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwg
UEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChD
TUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCks
ICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
UmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2b2lkKiBzb3VyY2VCeXRlcywgQ01C
bG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6ZV90IG9mZnNldEludG9EZXN0aW5h
dGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0ZXMsIGRlc3RpbmF0aW9uQnVmZmVy
LCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgpLCBQQUxfRVhQT1JUKQogU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNRm9y
bWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBDRkRpY3Rpb25hcnlSZWYsIChDTUZvcm1hdERl
c2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYyksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJH
ZXRUeXBlSUQsIENGVHlwZUlELCAodm9pZCksICgpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZV
TkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVm
ZmVyR2V0RGF0YUJ1ZmZlciwgQ01CbG9ja0J1ZmZlclJlZiwgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlw
dGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYpLCAo
c2J1ZiksIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VY
UE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERl
c2NyaXB0aW9ucywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFj
a2V0RGVzY3JpcHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0
RGVzY3JpcHRpb25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQp
LCAoc2J1ZiwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBw
YWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckdldFNhbXBsZVRpbWluZ0luZm8sIE9TU3RhdHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1
ZiwgQ01JdGVtSW5kZXggc2FtcGxlSW5kZXgsIENNU2FtcGxlVGltaW5nSW5mbyogdGltaW5nSW5m
b091dCksIChzYnVmLCBzYW1wbGVJbmRleCwgdGltaW5nSW5mb091dCksIFBBTF9FWFBPUlQpCiBT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwg
Q01TYW1wbGVCdWZmZXJEYXRhSXNSZWFkeSwgQm9vbGVhbiwgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiAKQEAgLTEwOCw2ICsxMTIsNyBAQCBTT0ZUX0xJTktf
Q09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwga0NNVGV4dFZl
cnRpY2FsTGF5b3V0XwogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQo
UEFMLCBDb3JlTWVkaWEsIGtDTVRleHRWZXJ0aWNhbExheW91dF9SaWdodFRvTGVmdCwgQ0ZTdHJp
bmdSZWYsIFBBTF9FWFBPUlQpCiAKICNpZiBQTEFURk9STShDT0NPQSkKK1NPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
Q3JlYXRlQ29udGlndW91cywgT1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxv
Y2F0b3IsIENNQmxvY2tCdWZmZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9j
a0FsbG9jYXRvciwgY29uc3QgQ01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21C
bG9ja1NvdXJjZSwgc2l6ZV90IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxv
Y2tCdWZmZXJGbGFncyBmbGFncywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAo
c3RydWN0dXJlQWxsb2NhdG9yLCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21C
bG9ja1NvdXJjZSwgb2Zmc2V0VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJP
dXQpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBP
UlQoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVN1YlR5cGUsIEZv
dXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VY
UE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29y
ZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFUeXBlLCBDTU1lZGlhVHlwZSwgKENN
Rm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFm
YzU2ZGJmYjA1ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLjg4ZTYyOTViM2MzZWU1MjNhNTc3ZDcy
NjY0MTBkMWIwNDY2ZmMxNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2Yv
Q29yZU1lZGlhU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVN
ZWRpYVNvZnRMaW5rLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBVU0UoQVZGT1VOREFUSU9OKQog
Ly8gRklYTUU6IFNob3VsZCBiZSBVU0UoQ09SRU1FRElBKSwgYnV0IHRoaXMgaXNuJ3QgY3VycmVu
dGx5IGRlZmluZWQgb24gV2luZG93cy4KIAorI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9U
eXBlcy5oPgogI2luY2x1ZGUgPHBhbC9zcGkvY2YvQ29yZU1lZGlhU1BJLmg+CiAjaW5jbHVkZSA8
d3RmL1NvZnRMaW5raW5nLmg+CiAKQEAgLTQ5LDYgKzUwLDggQEAgU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzLCBP
U1N0YXQKICNkZWZpbmUgQ01CbG9ja0J1ZmZlckNvcHlEYXRhQnl0ZXMgc29mdExpbmtfQ29yZU1l
ZGlhX0NNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hF
QURFUihQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgsIHNpemVfdCwg
KENNQmxvY2tCdWZmZXJSZWYgdGhlQnVmZmVyKSwgKHRoZUJ1ZmZlcikpCiAjZGVmaW5lIENNQmxv
Y2tCdWZmZXJHZXREYXRhTGVuZ3RoIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVmZmVyR2V0
RGF0YUxlbmd0aAorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cywgQm9vbGVhbiwgKENNQmxvY2tCdWZmZXJS
ZWYgdGhlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0LCBzaXplX3QgbGVuZ3RoKSwgKHRoZUJ1ZmZlciwg
b2Zmc2V0LCBsZW5ndGgpKQorI2RlZmluZSBDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMg
c29mdExpbmtfQ29yZU1lZGlhX0NNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cwogU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJSZXBs
YWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNvdXJjZUJ5dGVzLCBDTUJsb2Nr
QnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zmc2V0SW50b0Rlc3RpbmF0aW9u
LCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVzdGluYXRpb25CdWZmZXIsIG9m
ZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCkpCiAjZGVmaW5lIENNQmxvY2tCdWZmZXJS
ZXBsYWNlRGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVmZmVyUmVwbGFjZURh
dGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENN
Rm9ybWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBDRkRpY3Rpb25hcnlSZWYsIChDTUZvcm1h
dERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYykpCkBAIC01OSw2ICs2Miw4IEBAIFNPRlRfTElO
S19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldERh
dGFCdWZmZXIsIENNQmxvCiAjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlciBzb2Z0
TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyCiBTT0ZUX0xJTktfRlVO
Q1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXRE
ZXNjcmlwdGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYpLCAoc2J1ZikpCiAjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24g
c29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24KK1NP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZl
ckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVm
ZmVyUmVmIHNidWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBh
Y2tldERlc2NyaXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVz
Y3JpcHRpb25zU2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBw
YWNrZXREZXNjcmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpKQor
I2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zIHNv
ZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3Jp
cHRpb25zCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01T
YW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZvLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVy
UmVmIHNidWYsIENNSXRlbUluZGV4IHNhbXBsZUluZGV4LCBDTVNhbXBsZVRpbWluZ0luZm8qIHRp
bWluZ0luZm9PdXQpLCAoc2J1Ziwgc2FtcGxlSW5kZXgsIHRpbWluZ0luZm9PdXQpKQogI2RlZmlu
ZSBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8gc29mdExpbmtfQ29yZU1lZGlhX0NN
U2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyRGF0YUlzUmVhZHksIEJvb2xlYW4s
IChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQpAQCAtMTY4LDYgKzE3Myw4IEBAIFNP
RlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBrQ01UZXh0VmVydGlj
YWxMYXlvdXRfUmlnaHRUb0xlZnQsCiAKICNpZiBQTEFURk9STShDT0NPQSkKIAorU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDcmVhdGVD
b250aWd1b3VzLCBPU1N0YXR1cywgKENGQWxsb2NhdG9yUmVmIHN0cnVjdHVyZUFsbG9jYXRvciwg
Q01CbG9ja0J1ZmZlclJlZiBzb3VyY2VCdWZmZXIsIENGQWxsb2NhdG9yUmVmIGJsb2NrQWxsb2Nh
dG9yLCBjb25zdCBDTUJsb2NrQnVmZmVyQ3VzdG9tQmxvY2tTb3VyY2UqIGN1c3RvbUJsb2NrU291
cmNlLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgQ01CbG9ja0J1ZmZl
ckZsYWdzIGZsYWdzLCBDTUJsb2NrQnVmZmVyUmVmKiBibG9ja0J1ZmZlck91dCksIChzdHJ1Y3R1
cmVBbGxvY2F0b3IsIHNvdXJjZUJ1ZmZlciwgYmxvY2tBbGxvY2F0b3IsIGN1c3RvbUJsb2NrU291
cmNlLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGZsYWdzLCBibG9ja0J1ZmZlck91dCkpCisj
ZGVmaW5lIENNQmxvY2tCdWZmZXJDcmVhdGVDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVNZWRpYV9D
TUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFE
RVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVN1YlR5cGUsIEZv
dXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSkKICNkZWZp
bmUgQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3ViVHlwZSBzb2Z0TGlua19Db3JlTWVkaWFf
Q01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3ViVHlwZQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVR5cGUs
IENNTWVkaWFUeXBlLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2MpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlu
ay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5o
CmluZGV4IGIzMjQxNTliZTFlZmU3YTVlNWZlMmIyNjRkNDFhNmEwYzg0ZmQ0OWIuLjcwMGU5YzMy
YzRjZmIxYmRjMzBlY2Y0N2EwMDA2MzA3MjA1MjY5MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKQEAgLTMyNCw0ICszMjQs
MTEgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBBVkZvdW5kYXRpb24sIEFW
T3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWQKICNkZWZpbmUgQVZPdXRwdXRDb250ZXh0T3V0
cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbiBQQUw6OmdldF9BVkZvdW5kYXRpb25fQVZP
dXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbigpCiAjZW5kaWYg
Ly8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09GVF9M
SU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvQ29udmVydGVyKQorU09GVF9MSU5LX0NM
QVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvRm9ybWF0KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9I
RUFERVIoUEFMLCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlcikKK1NPRlRfTElOS19DTEFTU19GT1Jf
SEVBREVSKFBBTCwgQVZBdWRpb1BDTUJ1ZmZlcikKKyNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkK
KwogI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQppbmRleCAzN2M4YjFmYWZkNThj
Y2JjNmU4NTBjNmYzMDExNzY3YzdkYTMxNjQ1Li43MzM5ODQ1ZTA3MjY1ODAxZTA2NDAzMDNiMmUy
OTFhMDEyNGU4NzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FW
Rm91bmRhdGlvblNvZnRMaW5rLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2Ev
QVZGb3VuZGF0aW9uU29mdExpbmsubW0KQEAgLTIzMCw3ICsyMzAsNyBAQCBTT0ZUX0xJTktfQ09O
U1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nl
c3Npb25Sb3V0ZQogCiBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZBSUxfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZVUkxBc3NldEhUVFBDb29raWVzS2V5LCBOU1N0
cmluZyAqLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRSZXF1aXJlc0N1c3Rv
bVVSTExvYWRpbmdLZXksIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCi0jZW5kaWYKKyNlbmRpZiAv
LyBQTEFURk9STShJT1NfRkFNSUxZKQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBM
QVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0UoUEFMLCBBVkZvdW5kYXRpb24sIEFWQ2FwdHVyZVNlc3Npb25TZXRBdXRob3Jp
emVkVG9Vc2VDYW1lcmFJbk11bHRpcGxlRm9yZWdyb3VuZEFwcExheW91dCwgdm9pZCwgKEFWQ2Fw
dHVyZVNlc3Npb24gKnNlc3Npb24pLCAoc2Vzc2lvbikpCkBAIC0yNDQsNCArMjQ0LDExIEBAIFNP
RlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVlJvdXRlRGV0ZWN0b3JNdWx0CiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZPdXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0Rp
ZENoYW5nZU5vdGlmaWNhdGlvbiwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKICNlbmRpZiAvLyBI
QVZFKEFWUk9VVEVQSUNLRVJWSUVXKQogCisjaWYgUExBVEZPUk0oQ09DT0EpCitTT0ZUX0xJTktf
Q0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0Nv
bnZlcnRlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQ
T1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvRm9ybWF0LCBQQUxfRVhQT1JUKQorU09GVF9M
SU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVk
aW9Db21wcmVzc2VkQnVmZmVyLCBQQUxfRVhQT1JUKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9QQ01CdWZmZXIsIFBBTF9F
WFBPUlQpCisjZW5kaWYKKwogI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjAxYjk5
MjdlM2NjNjIyZTljY2MwMGIxMWViMmEyY2RkMDNmNzUzNy4uNGY0OTU3ZjUwZThlYjQ0ZjZmMDU4
MTkwNzJkYzBhNTE3M2JlMWM4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjMyLDcgKzIzMiw3IEBACiAJCTA3RUU3NkVDMUJF
OTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUExQkU5NkRCMDAwRjg5MTMz
IC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDdFRTc2RUYxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tS
ZWFsdGltZVZpZGVvU291cmNlTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwN0VFNzZFRDFCRUE2MTk4MDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlk
ZW9Tb3VyY2VNYWMuaCAqLzsgfTsKIAkJMDdGNEU5MzMyMEIzNTg3RjAwMkUzODAzIC8qIEFWQXNz
ZXRNSU1FVHlwZUNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwN0M4QUQxMjFEMDczRDYzMDA4N0M1Q0UgLyogQVZBc3NldE1JTUVUeXBlQ2FjaGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwN0Y1
Q0ZGNTI1ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkY0MjU4MkE0Rjgw
MDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oICovOyB9OworCQkwN0Y1Q0ZGNTI1
ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkY0MjU4MkE0RjgwMDY2MkVG
NSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RjVDRkY2MjU4MkE1MjkwMDY2MkVGNSAvKiBXZWJN
QXVkaW9VdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA3RjVDRkYyMjU4MkE0RjgwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRp
ZXNDb2NvYS5tbSAqLzsgfTsKIAkJMDdGODc2ODQxQUQ1ODBGOTAwOTA1ODQ5IC8qIE1lZGlhUGxh
eWJhY2tUYXJnZXRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwN0Y4NzY4MzFBRDRBOTQ1MDA5MDU4NDkgLyogTWVkaWFQbGF5YmFja1Rhcmdl
dENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkwN0Y5NDQxNjE4NjREMDQ2MDA1RDMxQ0IgLyogUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREFF
OEMwODE3NDZCOTU3MDA1MzJENzggLyogUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGEzYjNhMmYxMTU3YzJiN2U1MDBiMmEw
NGU0NjhlZDU2YWQyMDQ0YmMuLjdkN2NkMmNlMWRlZmI4YzA1MTAzYjQzODFkYTc1ZjcwYjcyODM0
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTA1NSw3
ICsxMDU1LDcgQEAgU3RyaW5nIEhUTUxNZWRpYUVsZW1lbnQ6OmNhblBsYXlUeXBlKGNvbnN0IFN0
cmluZyYgbWltZVR5cGUpIGNvbnN0CiAgICAgLy8gVGVtcG9yYXJpbHkgd29yayBhcm91bmQgYnVn
IDIyNjkyMi4gRm9yIG5vdyBjbGFpbSB0aGF0IHRoZSBvcHVzIGFuZCB2b3JiaXMgY29kZWNzIGFy
ZW4ndCBzdXBwb3J0ZWQKICAgICAvLyBzbyB0aGF0IHNpdGVzIHJlbHlpbmcgb24gdGhpcyB0ZXN0
IHRvIGRldGVybWluZSBpZiB3ZWJhdWRpbyB1c2Ugb2Ygb3B1cyBvciB2b3JiaXMgd29uJ3QgZXJy
b3IuCiAgICAgYXV0byBjb2RlY3MgPSBjb250ZW50VHlwZS5jb2RlY3MoKTsKLSAgICBpZiAoc3Vw
cG9ydCA9PSBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc1N1cHBvcnRlZCAmJiAoY29kZWNz
LmNvbnRhaW5zKCJvcHVzIikgfHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCisgICAgaWYg
KHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYgKChj
b2RlY3MuY29udGFpbnMoIm9wdXMiKSAmJiAhd2ViTVdlYkF1ZGlvRW5hYmxlZCgpKSB8fCBjb2Rl
Y3MuY29udGFpbnMoInZvcmJpcyIpKSkKICAgICAgICAgc3VwcG9ydCA9IE1lZGlhUGxheWVyOjpT
dXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkOwogI2VuZGlmCiAKQEAgLTgxNzUsNiArODE3NSwx
NSBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Omhhc01lZGlhU3RyZWFtU291cmNlKCkgY29uc3QK
ICNlbmRpZgogfQogCitib29sIEhUTUxNZWRpYUVsZW1lbnQ6OndlYk1XZWJBdWRpb0VuYWJsZWQo
KSBjb25zdAoreworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgcmV0dXJuIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViTVdlYkF1ZGlvRW5hYmxlZCgpOwor
I2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhU3RyZWFtQ2FwdHVyZVN0YXJ0ZWQo
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAxMDUxYzA1ODUz
ZmMwMTJlZGRhY2Q4Yjc0Yzk0NWFiYmFjMmQ1MzIwLi5mOTI2ZWQ2MjczMDExZDUxNjQ4YWRlZjU3
OTdkYmVkZmE2ZGI4MmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApA
QCAtOTM5LDYgKzkzOSw4IEBAIHByaXZhdGU6CiAgICAgY29uc3QgTG9nZ2VyJiBtZWRpYVBsYXll
ckxvZ2dlcigpIGZpbmFsIHsgcmV0dXJuIGxvZ2dlcigpOyB9CiAjZW5kaWYKIAorICAgIGJvb2wg
d2ViTVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0OworCiAgICAgVGltZXIgbV9wcm9ncmVzc0V2ZW50
VGltZXI7CiAgICAgVGltZXIgbV9wbGF5YmFja1Byb2dyZXNzVGltZXI7CiAgICAgVGltZXIgbV9z
Y2FuVGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
CmluZGV4IGEwZDNjZWE3OWQ3ZTBhZTA3NDgyNDBkZDIyZWVlMmQ1NTc1MDQ0YTYuLjY4NWEwYTJh
ZDc1NDcyNjk5YWViZjIxOWZhMGMyNTE1MjFiZWIwYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC0yMzUsNiArMjM1LDggQEAgcHVibGljOgog
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgdm9pZCBzZXRXZWJNUGFyc2VyRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX3dlYk1QYXJzZXJFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAg
Ym9vbCB3ZWJNUGFyc2VyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVBhcnNlckVuYWJs
ZWQ7IH0KKyAgICB2b2lkIHNldFdlYk1XZWJBdWRpb0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsg
bV93ZWJNV2ViQXVkaW9FbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCB3ZWJNV2ViQXVk
aW9FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJNV2ViQXVkaW9FbmFibGVkOyB9CiAjZW5k
aWYKIAogI2lmIEhBVkUoQ0VMRVNUSUFMKQpAQCAtMzcxLDYgKzM3Myw3IEBAIHByaXZhdGU6CiAK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIGJvb2wgbV93ZWJNUGFyc2VyRW5hYmxlZCB7
IGZhbHNlIH07CisgICAgYm9vbCBtX3dlYk1XZWJBdWRpb0VuYWJsZWQgeyBmYWxzZSB9OwogI2Vu
ZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lZGlhU2FtcGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBs
ZS5oCmluZGV4IDhkYTYwMzc3ODgyNDMzMzBhZTI1MGQ5YzEwYzcyZWUwNTg4ZTc2MGMuLjA4NDdi
OTc0ZTkzZTg3MmEyMjllN2ExNjEwZjJkNDRlOTAyY2MwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTWVkaWFTYW1wbGUuaApAQCAtNTcsNyArNTcsNyBAQCBzdHJ1Y3QgUGxhdGZvcm1TYW1wbGUg
ewogICAgIH0gc2FtcGxlOwogfTsKIAotY2xhc3MgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGUg
OiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TWVkaWFTYW1wbGU+IHsKK2NsYXNzIE1lZGlh
U2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CiBwdWJs
aWM6CiAgICAgdmlydHVhbCB+TWVkaWFTYW1wbGUoKSA9IGRlZmF1bHQ7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcAppbmRleCAyNDNlMTA2YjllMzNkYTkzZGU5
YTBjYWQzM2JjMDhlOTIwNjUzMjAwLi43ZjAzYzMzMWVlMjAxMGM5ODkyOWEwMzI0ZGNhYzk1NWQ2
NWY4YmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCkBA
IC03Myw2ICs3MywxNiBAQCB2b2lkIEF1ZGlvQnVzOjpzZXRDaGFubmVsTWVtb3J5KHVuc2lnbmVk
IGNoYW5uZWxJbmRleCwgZmxvYXQqIHN0b3JhZ2UsIHNpemVfdCBsZQogICAgIH0KIH0KIAordm9p
ZCBBdWRpb0J1czo6c2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCit7CisgICAgUkVMRUFTRV9B
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihuZXdMZW5ndGggPD0gbV9sZW5ndGgpOwor
ICAgIGlmIChuZXdMZW5ndGggPT0gbV9sZW5ndGgpCisgICAgICAgIHJldHVybjsKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKKyAgICAgICAgbV9j
aGFubmVsc1tpXS0+c2V0TGVuZ3RoKG5ld0xlbmd0aCk7CisgICAgbV9sZW5ndGggPSBuZXdMZW5n
dGg7Cit9CisKIHZvaWQgQXVkaW9CdXM6Onplcm8oKQogewogICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBtX2NoYW5uZWxzLnNpemUoKTsgKytpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDBlODExMjExYjRkYTJjYThjNjcwYjU4YjMyOTZiMzVjZTY5
Y2Q0YS4uMzE3NTUxYzllZjExNWYyNmMwOWU1ODAwODkzNmMyNDViYzE0YTA3MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCkBAIC04Myw2ICs4Myw5IEBAIHB1Ymxp
YzoKICAgICAvLyBOdW1iZXIgb2Ygc2FtcGxlLWZyYW1lcwogICAgIHNpemVfdCBsZW5ndGgoKSBj
b25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQogCisgICAgLy8gUmVkdWNlIHRoZSBudW1iZXIgb2Yg
ZnJhbWVzIGF2YWlsYWJsZSB3aXRob3V0IGNoYW5naW5nIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHNp
emUuCisgICAgdm9pZCBzZXRMZW5ndGgoc2l6ZV90KTsKKwogICAgIC8vIFNhbXBsZS1yYXRlIDog
MC4wIGlmIHVua25vd24gb3IgImRvbid0IGNhcmUiCiAgICAgZmxvYXQgc2FtcGxlUmF0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fc2FtcGxlUmF0ZTsgfQogICAgIHZvaWQgc2V0U2FtcGxlUmF0ZShmbG9h
dCBzYW1wbGVSYXRlKSB7IG1fc2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKaW5kZXggOTc1YmQwYjVhYmQ4Zjcy
NTVhMDVhN2RkNzBmOTY1MGIxZDQ5NDY2Ny4uMTY3NmY1NmI2ZGRiOTcwOWMyZDQ2ZTc4OWU2OTk4
YmEyZmYxNTUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVk
aW9DaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFu
bmVsLmgKQEAgLTc0LDYgKzc0LDEzIEBAIHB1YmxpYzoKICAgICAvLyBIb3cgbWFueSBzYW1wbGUt
ZnJhbWVzIGRvIHdlIGNvbnRhaW4/CiAgICAgc2l6ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJu
IG1fbGVuZ3RoOyB9CiAKKyAgICAvLyBTZXQgbmV3IGxlbmd0aC4gQ2FuIG9ubHkgYmUgc2V0IHRv
IGEgdmFsdWUgbG93ZXIgdGhhbiB0aGUgY3VycmVudCBsZW5ndGguCisgICAgdm9pZCBzZXRMZW5n
dGgoc2l6ZV90IG5ld0xlbmd0aCkKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhf
U0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IGxlbmd0aCgpKTsKKyAgICAgICAgbV9s
ZW5ndGggPSBuZXdMZW5ndGg7CisgICAgfQorCiAgICAgLy8gRGlyZWN0IGFjY2VzcyB0byBQQ00g
c2FtcGxlIGRhdGEuIE5vbi1jb25zdCBhY2Nlc3NvciBjbGVhcnMgc2lsZW50IGZsYWcuCiAgICAg
ZmxvYXQqIG11dGFibGVEYXRhKCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKaW5kZXgg
NWQ1NmI5ZWUxYTBkM2Q2N2E3OWMzMDc2MWQxMzgxNWQ3YzA2NDRjZS4uMTFhYTY1NTNiMjJlNjA1
N2JjYzZlMmQxM2Q4YWUyYzE2MjhiNjc2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcApAQCAt
MzQsMjEgKzM0LDM2IEBACiAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgogI2luY2x1ZGUgIkF1ZGlv
RmlsZVJlYWRlci5oIgorI2luY2x1ZGUgIkF1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIgorI2luY2x1
ZGUgIkF1ZGlvVHJhY2tQcml2YXRlLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCisj
aW5jbHVkZSAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
KyNpbmNsdWRlICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKKyNpbmNsdWRlICJWaWRlb1RyYWNrUHJp
dmF0ZS5oIgorI2luY2x1ZGUgIldlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgiCisjaW5jbHVkZSA8
QXVkaW9Ub29sYm94L0F1ZGlvQ29udmVydGVyLmg+CiAjaW5jbHVkZSA8QXVkaW9Ub29sYm94L0V4
dGVuZGVkQXVkaW9GaWxlLmg+CiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRp
b24uaD4KLSNpbmNsdWRlIDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRl
IDxTb3VyY2VCdWZmZXJQYXJzZXJXZWJNLmg+CisjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUg
PHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Cisj
aW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi9TY29wZS5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxw
YWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgV0FSTl9VTlVTRURf
UkVUVVJOIEF1ZGlvQnVmZmVyTGlzdCogdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KHNpemVfdCBu
dW1iZXJPZkJ1ZmZlcnMpCiB7CisgICAgaWYgKCFudW1iZXJPZkJ1ZmZlcnMpCisgICAgICAgIHJl
dHVybiBudWxscHRyOwogICAgIENoZWNrZWRTaXplIGJ1ZmZlckxpc3RTaXplID0gc2l6ZW9mKEF1
ZGlvQnVmZmVyTGlzdCkgLSBzaXplb2YoQXVkaW9CdWZmZXIpOwotICAgIGJ1ZmZlckxpc3RTaXpl
ICs9IG51bWJlck9mQnVmZmVycyAqIHNpemVvZihBdWRpb0J1ZmZlcik7CisgICAgYnVmZmVyTGlz
dFNpemUgKz0gV1RGOjpjaGVja2VkUHJvZHVjdDxzaXplX3Q+KG51bWJlck9mQnVmZmVycywgc2l6
ZW9mKEF1ZGlvQnVmZmVyKSk7CiAgICAgaWYgKGJ1ZmZlckxpc3RTaXplLmhhc092ZXJmbG93ZWQo
KSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTg3LDEwICsxMDIsNTMgQEAgc3RhdGlj
IGJvb2wgdmFsaWRhdGVBdWRpb0J1ZmZlckxpc3QoQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0
KQogICAgIHJldHVybiB0cnVlOwogfQogCisvLyBPbiBzdGFjayBSQUlJIGNsYXNzIHRoYXQgd2ls
bCBmcmVlIHRoZSBhbGxvY2F0ZWQgQXVkaW9CdWZmZXJMaXN0KiBhcyBuZWVkZWQuCitjbGFzcyBB
dWRpb0J1ZmZlckxpc3RIb2xkZXIgeworcHVibGljOgorICAgIGV4cGxpY2l0IEF1ZGlvQnVmZmVy
TGlzdEhvbGRlcihzaXplX3QgbnVtYmVyT2ZDaGFubmVscykKKyAgICAgICAgOiBtX2J1ZmZlckxp
c3QodHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpKQorICAgIHsKKyAg
ICB9CisKKyAgICB+QXVkaW9CdWZmZXJMaXN0SG9sZGVyKCkKKyAgICB7CisgICAgICAgIGlmICht
X2J1ZmZlckxpc3QpCisgICAgICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVy
TGlzdCk7CisgICAgfQorCisgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0
dXJuICEhbV9idWZmZXJMaXN0OyB9CisgICAgQXVkaW9CdWZmZXJMaXN0KiBvcGVyYXRvci0+KCkg
Y29uc3QgeyByZXR1cm4gbV9idWZmZXJMaXN0OyB9CisgICAgb3BlcmF0b3IgQXVkaW9CdWZmZXJM
aXN0KigpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyTGlzdDsgfQorICAgIGJvb2wgaXNWYWxpZCgp
IGNvbnN0IHsgcmV0dXJuIHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7IH0K
K3ByaXZhdGU6CisgICAgQXVkaW9CdWZmZXJMaXN0KiBtX2J1ZmZlckxpc3Q7Cit9OworCitjbGFz
cyBBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CisKK3B1YmxpYzoKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIFNvdXJjZUJ1ZmZlclBh
cnNlcldlYk06OkluaXRpYWxpemF0aW9uU2VnbWVudCBtX2luaXRTZWdtZW50OworI2VuZGlmCisg
ICAgTWVkaWFUaW1lIG1fZHVyYXRpb247CisgICAgVmVjdG9yPFJlZjxNZWRpYVNhbXBsZUFWRk9i
akM+PiBtX3NhbXBsZXM7Cit9OworCiBBdWRpb0ZpbGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRlcihj
b25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpemUpCiAgICAgOiBtX2RhdGEoZGF0YSkKICAg
ICAsIG1fZGF0YVNpemUoZGF0YVNpemUpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAg
LCBtX2xvZ2dlcihMb2dnZXI6OmNyZWF0ZSh0aGlzKSkKKyAgICAsIG1fbG9nSWRlbnRpZmllcihM
b2dnZXJIZWxwZXI6OnVuaXF1ZUxvZ0lkZW50aWZpZXIoKSkKKyNlbmRpZgogeworI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisgICAgaWYgKGlzTWF5YmVXZWJNKHN0YXRpY19jYXN0PGNvbnN0IHVp
bnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpKSB7CisgICAgICAgIGRlbXV4V2ViTUludGVybmFsKHN0
YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpOworICAgICAgICByZXR1
cm47CisgICAgfQorI2VuZGlmCiAgICAgaWYgKFBBTDo6QXVkaW9GaWxlT3BlbldpdGhDYWxsYmFj
a3ModGhpcywgcmVhZFByb2MsIDAsIGdldFNpemVQcm9jLCAwLCAwLCAmbV9hdWRpb0ZpbGVJRCkg
IT0gbm9FcnIpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTExLDYgKzE2OSw4OSBAQCBBdWRpb0Zp
bGVSZWFkZXI6On5BdWRpb0ZpbGVSZWFkZXIoKQogICAgIG1fYXVkaW9GaWxlSUQgPSAwOwogfQog
Citib29sIEF1ZGlvRmlsZVJlYWRlcjo6aXNNYXliZVdlYk0oY29uc3QgdWludDhfdCogZGF0YSwg
c2l6ZV90IGRhdGFTaXplKSBjb25zdAoreworICAgIC8vIEZyb20gaHR0cHM6Ly9taW1lc25pZmYu
c3BlYy53aGF0d2cub3JnLyNzaWduYXR1cmUtZm9yLXdlYm0KKyAgICByZXR1cm4gZGF0YVNpemUg
Pj0gNCAmJiBkYXRhWzBdID09IDB4MUEgJiYgZGF0YVsxXSA9PSAweDQ1ICYmIGRhdGFbMl0gPT0g
MHhERiAmJiBkYXRhWzNdID09IDB4QTM7Cit9CisKK3ZvaWQgQXVkaW9GaWxlUmVhZGVyOjpkZW11
eFdlYk1JbnRlcm5hbChjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUpCit7Cisg
ICAgYXV0byBwYXJzZXIgPSBhZG9wdFJlZihuZXcgU291cmNlQnVmZmVyUGFyc2VyV2ViTSgpKTsK
KyAgICBib29sIGVycm9yID0gZmFsc2U7CisgICAgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4gYXVk
aW9UcmFja0lkOworICAgIE1lZGlhVGltZSBkdXJhdGlvbjsKKyAgICBTb3VyY2VCdWZmZXJQYXJz
ZXJXZWJNOjpJbml0aWFsaXphdGlvblNlZ21lbnQgaW5pdFNlZ21lbnQ7CisgICAgVmVjdG9yPFJl
ZjxNZWRpYVNhbXBsZUFWRk9iakM+PiBzYW1wbGVzOworICAgIHBhcnNlci0+c2V0RGlkRW5jb3Vu
dGVyRXJyb3JEdXJpbmdQYXJzaW5nQ2FsbGJhY2soWyZdKHVpbnQ2NF90KSB7CisgICAgICAgIGVy
cm9yID0gdHJ1ZTsKKyAgICB9KTsKKyAgICBwYXJzZXItPnNldERpZFBhcnNlSW5pdGlhbGl6YXRp
b25EYXRhQ2FsbGJhY2soWyZdKFNvdXJjZUJ1ZmZlclBhcnNlcldlYk06OkluaXRpYWxpemF0aW9u
U2VnbWVudCYmIGluaXQpIHsKKyAgICAgICAgZm9yIChhdXRvJiBhdWRpb1RyYWNrIDogaW5pdC5h
dWRpb1RyYWNrcykgeworICAgICAgICAgICAgaWYgKGF1ZGlvVHJhY2sudHJhY2sgJiYgYXVkaW9U
cmFjay50cmFjay0+dHJhY2tVSUQoKSkgeworICAgICAgICAgICAgICAgIGR1cmF0aW9uID0gaW5p
dC5kdXJhdGlvbjsKKyAgICAgICAgICAgICAgICBhdWRpb1RyYWNrSWQgPSBhdWRpb1RyYWNrLnRy
YWNrLT50cmFja1VJRCgpOworICAgICAgICAgICAgICAgIGluaXRTZWdtZW50ID0gV1RGTW92ZShp
bml0KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICB9KTsKKyAgICBwYXJzZXItPnNldERpZFByb3ZpZGVNZWRpYURhdGFDYWxsYmFjayhbJl0o
UmVmPE1lZGlhU2FtcGxlPiYmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCwgY29uc3QgU3RyaW5n
JikgeworICAgICAgICBpZiAoIWF1ZGlvVHJhY2tJZCB8fCB0cmFja0lEICE9ICphdWRpb1RyYWNr
SWQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHNhbXBsZXMuYXBwZW5kKHN0YXRpY19y
ZWZlcmVuY2VfY2FzdDxNZWRpYVNhbXBsZUFWRk9iakM+KFdURk1vdmUoc2FtcGxlKSkpOworICAg
IH0pOworICAgIHBhcnNlci0+c2V0Q2FsbE9uQ2xpZW50VGhyZWFkQ2FsbGJhY2soW10oV1RGOjpG
dW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rpb24pIHsKKyAgICAgICAgZnVuY3Rpb24oKTsKKyAgICB9
KTsKKyAgICBWZWN0b3I8dWludDhfdD4gdmVjdG9yKGRhdGEsIGRhdGFTaXplKTsKKyAgICBTb3Vy
Y2VCdWZmZXJQYXJzZXI6OlNlZ21lbnQgc2VnbWVudChXVEZNb3ZlKHZlY3RvcikpOworICAgIHBh
cnNlci0+YXBwZW5kRGF0YShXVEZNb3ZlKHNlZ21lbnQpKTsKKyAgICBpZiAoYXVkaW9UcmFja0lk
KSB7CisgICAgICAgIHBhcnNlci0+Zmx1c2hQZW5kaW5nQXVkaW9CdWZmZXJzKCk7CisgICAgICAg
IG1fd2VibURhdGEgPSBtYWtlVW5pcXVlPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPihBdWRpb0Zp
bGVSZWFkZXJXZWJNRGF0YSB7IFdURk1vdmUoaW5pdFNlZ21lbnQpLCBXVEZNb3ZlKGR1cmF0aW9u
KSwgV1RGTW92ZShzYW1wbGVzKSB9KTsKKyAgICB9Cit9CisKK3N0cnVjdCBQYXNzdGhyb3VnaFVz
ZXJEYXRhIHsKKyAgICBVSW50MzIgbV9jaGFubmVsczsKKyAgICBVSW50MzIgbV9kYXRhU2l6ZTsK
KyAgICBjb25zdCB2b2lkKiBtX2RhdGE7CisgICAgVUludDMyIG1faW5kZXg7CisgICAgVUludDMy
IG1fbnVtUGFja2V0czsKKyAgICBBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKiBtX3BhY2tl
dHM7Cit9OworCisvLyBFcnJvciB2YWx1ZSB3ZSBwYXNzIHRocm91Z2ggdGhlIGRlY29kZXIgdG8g
c2lnbmFsIHRoYXQgbm90aGluZworLy8gaGFzIGdvbmUgd3JvbmcgZHVyaW5nIGRlY29kaW5nIGFu
ZCB3ZSdyZSBkb25lIHByb2Nlc3NpbmcgdGhlIHBhY2tldC4KK2NvbnN0IHVpbnQzMl90IGtOb01v
cmVEYXRhRXJyID0gJ01PQVInOworCitzdGF0aWMgT1NTdGF0dXMgcGFzc3Rocm91Z2hJbnB1dERh
dGFDYWxsYmFjayhBdWRpb0NvbnZlcnRlclJlZiwgVUludDMyKiBudW1EYXRhUGFja2V0cywgQXVk
aW9CdWZmZXJMaXN0KiBkYXRhLCBBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKiogcGFja2V0
RGVzYywgdm9pZCogaW5Vc2VyRGF0YSkKK3sKKyAgICBhdXRvKiB1c2VyRGF0YSA9IHN0YXRpY19j
YXN0PFBhc3N0aHJvdWdoVXNlckRhdGEqPihpblVzZXJEYXRhKTsKKyAgICBpZiAodXNlckRhdGEt
Pm1faW5kZXggPT0gdXNlckRhdGEtPm1fbnVtUGFja2V0cykgeworICAgICAgICAqbnVtRGF0YVBh
Y2tldHMgPSAwOworICAgICAgICByZXR1cm4ga05vTW9yZURhdGFFcnI7CisgICAgfQorCisgICAg
aWYgKHBhY2tldERlc2MpIHsKKyAgICAgICAgaWYgKHVzZXJEYXRhLT5tX2luZGV4ID49IHVzZXJE
YXRhLT5tX251bVBhY2tldHMpIHsKKyAgICAgICAgICAgICpudW1EYXRhUGFja2V0cyA9IDA7Cisg
ICAgICAgICAgICByZXR1cm4ga0F1ZGlvQ29udmVydGVyRXJyX1JlcXVpcmVzUGFja2V0RGVzY3Jp
cHRpb25zRXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgKnBhY2tldERlc2MgPSAmdXNlckRhdGEt
Pm1fcGFja2V0c1t1c2VyRGF0YS0+bV9pbmRleF07CisgICAgfQorCisgICAgZGF0YS0+bUJ1ZmZl
cnNbMF0ubU51bWJlckNoYW5uZWxzID0gdXNlckRhdGEtPm1fY2hhbm5lbHM7CisgICAgZGF0YS0+
bUJ1ZmZlcnNbMF0ubURhdGFCeXRlU2l6ZSA9IHVzZXJEYXRhLT5tX2RhdGFTaXplOworICAgIGRh
dGEtPm1CdWZmZXJzWzBdLm1EYXRhID0gY29uc3RfY2FzdDx2b2lkKj4odXNlckRhdGEtPm1fZGF0
YSk7CisKKyAgICAqbnVtRGF0YVBhY2tldHMgPSAxOworICAgIHVzZXJEYXRhLT5tX2luZGV4Kys7
CisKKyAgICByZXR1cm4gbm9FcnI7Cit9CisKIE9TU3RhdHVzIEF1ZGlvRmlsZVJlYWRlcjo6cmVh
ZFByb2Modm9pZCogY2xpZW50RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVzdENv
dW50LCB2b2lkKiBidWZmZXIsIFVJbnQzMiogYWN0dWFsQ291bnQpCiB7CiAgICAgYXV0byogYXVk
aW9GaWxlUmVhZGVyID0gc3RhdGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50RGF0YSk7
CkBAIC0xMzYsNjcgKzI3NywyMzggQEAgU0ludDY0IEF1ZGlvRmlsZVJlYWRlcjo6Z2V0U2l6ZVBy
b2Modm9pZCogY2xpZW50RGF0YSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXVkaW9GaWxlUmVh
ZGVyKj4oY2xpZW50RGF0YSktPmRhdGFTaXplKCk7CiB9CiAKLVJlZlB0cjxBdWRpb0J1cz4gQXVk
aW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8p
Citzc2l6ZV90IEF1ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMoKSBjb25zdAogewotICAg
IGlmICghbV9leHRBdWRpb0ZpbGVSZWYpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgIFNJ
bnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSAwOwogCi0gICAgLy8gR2V0IGZpbGUncyBkYXRhIGZv
cm1hdAotICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKG1fZmlsZURhdGFGb3JtYXQpOwotICAgIGlm
IChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVk
aW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZzaXplLCAmbV9maWxlRGF0YUZvcm1hdCkg
IT0gbm9FcnIpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghbV93ZWJtRGF0YSkg
eworICAgICAgICBpZiAoIW1fZXh0QXVkaW9GaWxlUmVmKQorICAgICAgICAgICAgcmV0dXJuIC0x
OwogCi0gICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBtX2ZpbGVEYXRhRm9ybWF0Lm1DaGFu
bmVsc1BlckZyYW1lOworICAgICAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihudW1iZXJPZkZyYW1l
c0luNjQpOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1
ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVMZW5ndGhGcmFtZXMsICZzaXpl
LCAmbnVtYmVyT2ZGcmFtZXNJbjY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lc0luNjQgPD0g
MCkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8g
cmV0cmlldmUgbnVtYmVyIG9mIGZyYW1lcyBpbiBjb250ZW50ICh1bnN1cHBvcnRlZD8iKTsKKyAg
ICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQogCi0gICAgLy8gTnVtYmVyIG9mIGZyYW1l
cwotICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lczY0ID0gMDsKLSAgICBzaXplID0gc2l6ZW9mKG51
bWJlck9mRnJhbWVzNjQpOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1f
ZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmlsZUxlbmd0aEZyYW1lcywg
JnNpemUsICZudW1iZXJPZkZyYW1lczY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lczY0IDw9
IDApCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gbnVtYmVyT2ZGcmFt
ZXNJbjY0OworICAgIH0KKworICAgIGlmIChtX3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgp
KSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiTm8gc2FtcGxlIGRlbXV4
ZWQgZnJvbSB3ZWJtIGNvbnRhaW5lciIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisg
ICAgLy8gQ2FsY3VsYXRlIHRoZSB0b3RhbCBudW1iZXIgb2YgZGVjb2RlZCBzYW1wbGVzIHRoYXQg
d2VyZSBkZW11eGVkLgorICAgIC8vIFRoaXMgY29kZSBvbmx5IGhhbmRsZSB0aGUgQ01TYW1wbGVC
dWZmZXIgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNCisgICAgLy8g
d2hlcmUgYSBBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyBhcnJheSBpcyBhbHdheXMgcHJv
dmlkZWQgZXZlbiB3aXRoCisgICAgLy8gQ29uc3RhbnQgYml0cmF0ZSBhbmQgY29uc3RhbnQgZnJh
bWVzLXBlci1wYWNrZXQgYXVkaW8uCisgICAgZm9yIChhdXRvJiBzYW1wbGUgOiBtX3dlYm1EYXRh
LT5tX3NhbXBsZXMpIHsKKyAgICAgICAgYXV0byBzYW1wbGVCdWZmZXIgPSBzYW1wbGUtPnNhbXBs
ZUJ1ZmZlcigpOworICAgICAgICBjb25zdCBhdXRvIGZvcm1hdERlc2NyaXB0aW9uID0gUEFMOjpD
TVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKHNhbXBsZUJ1ZmZlcik7CisgICAgICAg
IGlmICghZm9ybWF0RGVzY3JpcHRpb24pIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxU
KFdlYkF1ZGlvLCAiVW5hYmxlIHRvIHJldHJpZXZlIGZvcm1hdCBkZXNjcmlwdGlvbmcgZnJvbSBz
YW1wbGUiKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBjb25z
dCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNNQXVkaW9G
b3JtYXREZXNjcmlwdGlvbkdldFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3JpcHRp
b24pOworICAgICAgICBpZiAoIWFzYmQpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxU
KFdlYkF1ZGlvLCAiVW5hYmxlIHRvIHJldHJpZXZlIGFzYmQgZnJvbSBmb3JtYXQgZGVzY3JpcHRp
b24iKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorCisgICAgICAgIHNpemVf
dCBwYWNrZXREZXNjcmlwdGlvbnNTaXplOworICAgICAgICBpZiAoUEFMOjpDTVNhbXBsZUJ1ZmZl
ckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1ZmZlciwgMCwgbnVsbHB0
ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUpICE9IG5vRXJyKSB7CisgICAgICAgICAgICBSRUxF
QVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBnZXQgcGFja2V0IGRlc2NyaXB0aW9u
IGxpc3Qgc2l6ZSIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAg
IHNpemVfdCBudW1EZXNjcmlwdGlvbnMgPSBwYWNrZXREZXNjcmlwdGlvbnNTaXplIC8gc2l6ZW9m
KEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24pOworICAgICAgICBpZiAoIW51bURlc2NyaXB0
aW9ucykgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJObyBwYWNr
ZXQgZGVzY3JpcHRpb24gZm91bmQuIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAg
IH0KKyAgICAgICAgYXV0byBkZXNjcmlwdGlvbnMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxBdWRp
b1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPihudW1EZXNjcmlwdGlvbnMpOworICAgICAgICBpZiAo
UEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBs
ZUJ1ZmZlciwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3JpcHRpb25zLmdldCgpLCBudWxs
cHRyKSAhPSBub0VycikgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8s
ICJVbmFibGUgdG8gZ2V0IHBhY2tldCBkZXNjcmlwdGlvbiBsaXN0Iik7CisgICAgICAgICAgICBy
ZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgYXV0byBudW1QYWNrZXRzID0gUEFMOjpDTVNh
bXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2FtcGxlQnVmZmVyKTsKKyAgICAgICAgaWYgKG51bURl
c2NyaXB0aW9ucyAhPSBzaXplX3QobnVtUGFja2V0cykpIHsKKyAgICAgICAgICAgIFJFTEVBU0Vf
TE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5oYW5kbGVkIENNU2FtcGxlQnVmZmVyIHN0cnVjdHVyZSIp
OworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbnVtRGVzY3JpcHRpb25zOyBpKyspIHsKKyAgICAgICAgICAgIHVpbnQzMl90
IGZwcCA9IGRlc2NyaXB0aW9uc1tpXS5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA/IGRlc2NyaXB0
aW9uc1tpXS5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA6IGFzYmQtPm1GcmFtZXNQZXJQYWNrZXQ7
CisgICAgICAgICAgICBudW1iZXJPZkZyYW1lc0luNjQgKz0gZnBwOworICAgICAgICB9CisgICAg
fQorICAgIHJldHVybiBudW1iZXJPZkZyYW1lc0luNjQ7Cit9CisKK3N0ZDo6b3B0aW9uYWw8QXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uPiBBdWRpb0ZpbGVSZWFkZXI6OmZpbGVEYXRhRm9ybWF0
KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fd2VibURhdGEpIHsKKyAgICAgICAgQXVkaW9TdHJlYW1C
YXNpY0Rlc2NyaXB0aW9uIGZvcm1hdDsKKyAgICAgICAgVUludDMyIHNpemUgPSBzaXplb2YoZm9y
bWF0KTsKKyAgICAgICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRp
b0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxlRGF0YUZvcm1hdCwgJnNpemUsICZm
b3JtYXQpICE9IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJu
IGZvcm1hdDsKKyAgICB9CiAKLSAgICBkb3VibGUgZmlsZVNhbXBsZVJhdGUgPSBtX2ZpbGVEYXRh
Rm9ybWF0Lm1TYW1wbGVSYXRlOworICAgIGlmIChtX3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0
eSgpKQorICAgICAgICByZXR1cm4geyB9OwogCisgICAgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBm
b3JtYXREZXNjcmlwdGlvbiA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlv
bihtX3dlYm1EYXRhLT5tX3NhbXBsZXNbMF0tPnNhbXBsZUJ1ZmZlcigpKTsKKyAgICBpZiAoIWZv
cm1hdERlc2NyaXB0aW9uKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgY29uc3QgQXVkaW9T
dHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25zdCBhc2JkID0gUEFMOjpDTUF1ZGlvRm9ybWF0RGVz
Y3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKGZvcm1hdERlc2NyaXB0aW9uKTsKKyAg
ICByZXR1cm4gKmFzYmQ7Cit9CisKK0F1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBBdWRpb0Zp
bGVSZWFkZXI6OmNsaWVudERhdGFGb3JtYXQoY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0
aW9uJiBpbkZvcm1hdCwgZmxvYXQgc2FtcGxlUmF0ZSkgY29uc3QKK3sKICAgICAvLyBNYWtlIGNs
aWVudCBmb3JtYXQgc2FtZSBudW1iZXIgb2YgY2hhbm5lbHMgYXMgZmlsZSBmb3JtYXQsIGJ1dCB0
d2VhayBhIGZldyB0aGluZ3MuCiAgICAgLy8gQ2xpZW50IGZvcm1hdCB3aWxsIGJlIGxpbmVhciBQ
Q00gKGNhbm9uaWNhbCksIGFuZCBwb3RlbnRpYWxseSBjaGFuZ2Ugc2FtcGxlLXJhdGUuCi0gICAg
bV9jbGllbnREYXRhRm9ybWF0ID0gbV9maWxlRGF0YUZvcm1hdDsKKyAgICBBdWRpb1N0cmVhbUJh
c2ljRGVzY3JpcHRpb24gb3V0Rm9ybWF0ID0gaW5Gb3JtYXQ7CiAKICAgICBjb25zdCBpbnQgYnl0
ZXNQZXJGbG9hdCA9IHNpemVvZihGbG9hdDMyKTsKICAgICBjb25zdCBpbnQgYml0c1BlckJ5dGUg
PSA4OwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tRm9ybWF0SUQgPSBrQXVkaW9Gb3JtYXRMaW5l
YXJQQ007Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1Gb3JtYXRGbGFncyA9IGtBdWRpb0Zvcm1h
dEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQgfCBrQXVkaW9Gb3JtYXRGbGFnSXNOb25JbnRlcmxlYXZl
ZDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJ5dGVzUGVyUGFja2V0ID0gYnl0ZXNQZXJGbG9h
dDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUZyYW1lc1BlclBhY2tldCA9IDE7Ci0gICAgbV9j
bGllbnREYXRhRm9ybWF0Lm1CeXRlc1BlckZyYW1lID0gYnl0ZXNQZXJGbG9hdDsKLSAgICBtX2Ns
aWVudERhdGFGb3JtYXQubUNoYW5uZWxzUGVyRnJhbWUgPSBudW1iZXJPZkNoYW5uZWxzOwotICAg
IG1fY2xpZW50RGF0YUZvcm1hdC5tQml0c1BlckNoYW5uZWwgPSBiaXRzUGVyQnl0ZSAqIGJ5dGVz
UGVyRmxvYXQ7CisgICAgb3V0Rm9ybWF0Lm1Gb3JtYXRJRCA9IGtBdWRpb0Zvcm1hdExpbmVhclBD
TTsKKyAgICBvdXRGb3JtYXQubUZvcm1hdEZsYWdzID0ga0F1ZGlvRm9ybWF0RmxhZ3NOYXRpdmVG
bG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1hdEZsYWdJc05vbkludGVybGVhdmVkOworICAgIG91dEZv
cm1hdC5tQnl0ZXNQZXJQYWNrZXQgPSBvdXRGb3JtYXQubUJ5dGVzUGVyRnJhbWUgPSBieXRlc1Bl
ckZsb2F0OworICAgIG91dEZvcm1hdC5tRnJhbWVzUGVyUGFja2V0ID0gMTsKKyAgICBvdXRGb3Jt
YXQubUJpdHNQZXJDaGFubmVsID0gYml0c1BlckJ5dGUgKiBieXRlc1BlckZsb2F0OwogCiAgICAg
aWYgKHNhbXBsZVJhdGUpCi0gICAgICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSA9
IHNhbXBsZVJhdGU7CisgICAgICAgIG91dEZvcm1hdC5tU2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7
CisKKyAgICByZXR1cm4gb3V0Rm9ybWF0OworfQogCi0gICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxl
U2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9DbGll
bnREYXRhRm9ybWF0LCBzaXplb2YoQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKSwgJm1fY2xp
ZW50RGF0YUZvcm1hdCkgIT0gbm9FcnIpCitzdGQ6Om9wdGlvbmFsPHNpemVfdD4gQXVkaW9GaWxl
UmVhZGVyOjpkZWNvZGVXZWJNRGF0YShBdWRpb0J1ZmZlckxpc3QqIGJ1ZmZlckxpc3QsIHNpemVf
dCBudW1iZXJPZkZyYW1lcywgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwg
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBvdXRGb3JtYXQpCit7CisgICAgQXVkaW9Db252
ZXJ0ZXJSZWYgY29udmVydGVyOworICAgIGlmIChQQUw6OkF1ZGlvQ29udmVydGVyTmV3KCZpbkZv
cm1hdCwgJm91dEZvcm1hdCwgJmNvbnZlcnRlcikgIT0gbm9FcnIpIHsKKyAgICAgICAgUkVMRUFT
RV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8gY3JlYXRlIGRlY29kZXIiKTsKKyAgICAg
ICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgYXV0byBjbGVhbnVwID0gbWFrZVNjb3BlRXhpdChb
Jl0geworICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShjb252ZXJ0ZXIpOworICAg
IH0pOworICAgIGF1dG8gZm9ybWF0RGVzY3JpcHRpb24gPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0
Rm9ybWF0RGVzY3JpcHRpb24obV93ZWJtRGF0YS0+bV9zYW1wbGVzWzBdLT5zYW1wbGVCdWZmZXIo
KSk7CisgICAgaWYgKCFmb3JtYXREZXNjcmlwdGlvbikgeworICAgICAgICBSRUxFQVNFX0xPR19G
QVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byByZXRyaWV2ZSBmb3JtYXQgZGVzY3JpcHRpb24gZnJv
bSBmaXJzdCBzYW1wbGUiKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgc2l6ZV90
IG1hZ2ljQ29va2llU2l6ZSA9IDA7CisgICAgY29uc3Qgdm9pZCogbWFnaWNDb29raWUgPSBQQUw6
OkNNQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkdldE1hZ2ljQ29va2llKGZvcm1hdERlc2NyaXB0aW9u
LCAmbWFnaWNDb29raWVTaXplKTsKKyAgICBpZiAobWFnaWNDb29raWUgJiYgbWFnaWNDb29raWVT
aXplKQorICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyU2V0UHJvcGVydHkoY29udmVydGVyLCBr
QXVkaW9Db252ZXJ0ZXJEZWNvbXByZXNzaW9uTWFnaWNDb29raWUsIG1hZ2ljQ29va2llU2l6ZSwg
bWFnaWNDb29raWUpOworCisgICAgQXVkaW9CdWZmZXJMaXN0SG9sZGVyIGRlY29kZWRCdWZmZXJM
aXN0KGluRm9ybWF0Lm1DaGFubmVsc1BlckZyYW1lKTsKKyAgICBpZiAoIWRlY29kZWRCdWZmZXJM
aXN0KSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIGNy
ZWF0ZSBkZWNvZGVyIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgc2l6ZV90
IGRlY29kZWRGcmFtZXMgPSAwOworICAgIE9TU3RhdHVzIHN0YXR1czsKKyAgICBmb3IgKGF1dG8m
IHNhbXBsZSA6IG1fd2VibURhdGEtPm1fc2FtcGxlcykgeworICAgICAgICBDTVNhbXBsZUJ1ZmZl
clJlZiBzYW1wbGVCdWZmZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICBhdXRv
IGJ1ZmZlciA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyKHNhbXBsZUJ1ZmZlcik7
CisgICAgICAgIEFTU0VSVChQQUw6OkNNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cyhidWZm
ZXIsIDAsIDApKTsKKyAgICAgICAgaWYgKCFQQUw6OkNNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGln
dW91cyhidWZmZXIsIDAsIDApKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJB
dWRpbywgIlVuYWJsZSB0byByZWFkIHNhbXBsZSBjb250ZW50IChub3QgY29udGlndW91cykiKTsK
KyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIH0KKworICAgICAgICBzaXplX3Qgc3Jj
U2l6ZSA9IFBBTDo6Q01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgoYnVmZmVyKTsKKyAgICAgICAg
Y2hhciogc3JjRGF0YSA9IG51bGxwdHI7CisgICAgICAgIGlmIChQQUw6OkNNQmxvY2tCdWZmZXJH
ZXREYXRhUG9pbnRlcihidWZmZXIsIDAsIG51bGxwdHIsIG51bGxwdHIsICZzcmNEYXRhKSAhPSBu
b0VycikgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUg
dG8gcmV0cmlldmUgZGF0YSIpOworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQor
CisgICAgICAgIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplOworICAgICAgICBpZiAoUEFM
OjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1
ZmZlciwgMCwgbnVsbHB0ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUpICE9IG5vRXJyKSB7Cisg
ICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBnZXQgcGFj
a2V0IGRlc2NyaXB0aW9uIGxpc3Qgc2l6ZSIpOworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAg
ICAgICAgfQorICAgICAgICBzaXplX3QgbnVtRGVzY3JpcHRpb25zID0gcGFja2V0RGVzY3JpcHRp
b25zU2l6ZSAvIHNpemVvZihBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKTsKKyAgICAgICAg
aWYgKCFudW1EZXNjcmlwdGlvbnMpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdl
YkF1ZGlvLCAiTm8gcGFja2V0IGRlc2NyaXB0aW9uIGZvdW5kLiIpOworICAgICAgICAgICAgcmV0
dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IFdURjo6bWFr
ZVVuaXF1ZUFycmF5PEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24+KG51bURlc2NyaXB0aW9u
cyk7CisgICAgICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXRE
ZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBkZXNjcmlw
dGlvbnMuZ2V0KCksIG51bGxwdHIpICE9IG5vRXJyKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xP
R19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBnZXQgcGFja2V0IGRlc2NyaXB0aW9uIGxpc3Qi
KTsKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIH0KKyAgICAgICAgYXV0byBudW1Q
YWNrZXRzID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2FtcGxlQnVmZmVyKTsK
KyAgICAgICAgaWYgKG51bURlc2NyaXB0aW9ucyAhPSBzaXplX3QobnVtUGFja2V0cykpIHsKKyAg
ICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5oYW5kbGVkIENNU2FtcGxl
QnVmZmVyIHN0cnVjdHVyZSIpOworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQor
CisgICAgICAgIFBhc3N0aHJvdWdoVXNlckRhdGEgdXNlckRhdGEgPSB7IGluRm9ybWF0Lm1DaGFu
bmVsc1BlckZyYW1lLCBVSW50MzIoc3JjU2l6ZSksIHNyY0RhdGEsIDAsIFVJbnQzMihudW1EZXNj
cmlwdGlvbnMpLCBkZXNjcmlwdGlvbnMuZ2V0KCkgfTsKKworICAgICAgICBkbyB7CisgICAgICAg
ICAgICBpZiAobnVtYmVyT2ZGcmFtZXMgPCBkZWNvZGVkRnJhbWVzKSB7CisgICAgICAgICAgICAg
ICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJEZWNvZGVkIG1vcmUgZnJhbWVzIHRoYW4g
Zmlyc3QgY2FsY3VsYXRlZCIpOworICAgICAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICAvLyBpbjogdGhlIG1heCBudW1iZXIgb2YgcGFja2V0cyB3ZSBj
YW4gaGFuZGxlIGZyb20gdGhlIGRlY29kZXIuCisgICAgICAgICAgICAvLyBvdXQ6IHRoZSBudW1i
ZXIgb2YgcGFja2V0cyB0aGUgZGVjb2RlciBpcyBhY3R1YWxseSByZXR1cm5pbmcuCisgICAgICAg
ICAgICBVSW50MzIgbnVtRnJhbWVzID0gc3RkOjptaW48dWludDMyX3Q+KHN0ZDo6bnVtZXJpY19s
aW1pdHM8aW50MzJfdD46Om1heCgpIC8gc2l6ZW9mKGZsb2F0KSwgbnVtYmVyT2ZGcmFtZXMgLSBk
ZWNvZGVkRnJhbWVzKTsKKworICAgICAgICAgICAgZm9yIChVSW50MzIgaSA9IDA7IGkgPCBpbkZv
cm1hdC5tQ2hhbm5lbHNQZXJGcmFtZTsgaSsrKSB7CisgICAgICAgICAgICAgICAgZGVjb2RlZEJ1
ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1OdW1iZXJDaGFubmVscyA9IDE7CisgICAgICAgICAgICAg
ICAgZGVjb2RlZEJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1EYXRhQnl0ZVNpemUgPSBudW1GcmFt
ZXMgKiBzaXplb2YoZmxvYXQpOworICAgICAgICAgICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5t
QnVmZmVyc1tpXS5tRGF0YSA9IHN0YXRpY19jYXN0PGZsb2F0Kj4oYnVmZmVyTGlzdC0+bUJ1ZmZl
cnNbaV0ubURhdGEpICsgZGVjb2RlZEZyYW1lczsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IHN0YXR1cyA9IFBBTDo6QXVkaW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlcihjb252ZXJ0ZXIs
IHBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2ssICZ1c2VyRGF0YSwgJm51bUZyYW1lcywgZGVj
b2RlZEJ1ZmZlckxpc3QsIG51bGxwdHIpOworICAgICAgICAgICAgaWYgKHN0YXR1cyAmJiBzdGF0
dXMgIT0ga05vTW9yZURhdGFFcnIpIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVM
VChXZWJBdWRpbywgIkVycm9yIGRlY29kaW5nIGRhdGEiKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4geyB9OworICAgICAgICAgICAgfQorICAgICAgICAgICAgZGVjb2RlZEZyYW1lcyArPSBudW1G
cmFtZXM7CisgICAgICAgIH0gd2hpbGUgKHN0YXR1cyAhPSBrTm9Nb3JlRGF0YUVycik7CisgICAg
fQorICAgIHJldHVybiBkZWNvZGVkRnJhbWVzOworfQorCitSZWZQdHI8QXVkaW9CdXM+IEF1ZGlv
RmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQor
eworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSBudW1iZXJPZkZyYW1lcygpOworICAg
IGlmIChudW1iZXJPZkZyYW1lc0luNjQgPD0gMCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAK
LSAgICAvLyBDaGFuZ2UgbnVtYmVyT2ZGcmFtZXM2NCB0byBkZXN0aW5hdGlvbiBzYW1wbGUtcmF0
ZQotICAgIG51bWJlck9mRnJhbWVzNjQgPSBudW1iZXJPZkZyYW1lczY0ICogKG1fY2xpZW50RGF0
YUZvcm1hdC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVSYXRlKTsKLSAgICBzaXplX3QgbnVtYmVy
T2ZGcmFtZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51bWJlck9mRnJhbWVzNjQpOworICAgIGF1
dG8gaW5Gb3JtYXQgPSBmaWxlRGF0YUZvcm1hdCgpOworICAgIGlmICghaW5Gb3JtYXQpCisgICAg
ICAgIHJldHVybiBudWxscHRyOwogCisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIG91
dEZvcm1hdCA9IGNsaWVudERhdGFGb3JtYXQoKmluRm9ybWF0LCBzYW1wbGVSYXRlKTsKKyAgICBz
aXplX3QgbnVtYmVyT2ZDaGFubmVscyA9IGluRm9ybWF0LT5tQ2hhbm5lbHNQZXJGcmFtZTsKKyAg
ICBkb3VibGUgZmlsZVNhbXBsZVJhdGUgPSBpbkZvcm1hdC0+bVNhbXBsZVJhdGU7CisgICAgU0lu
dDY0IG51bWJlck9mRnJhbWVzT3V0NjQgPSBudW1iZXJPZkZyYW1lc0luNjQgKiAob3V0Rm9ybWF0
Lm1TYW1wbGVSYXRlIC8gZmlsZVNhbXBsZVJhdGUpOworICAgIHNpemVfdCBudW1iZXJPZkZyYW1l
cyA9IHN0YXRpY19jYXN0PHNpemVfdD4obnVtYmVyT2ZGcmFtZXNPdXQ2NCk7CiAgICAgc2l6ZV90
IGJ1c0NoYW5uZWxDb3VudCA9IG1peFRvTW9ubyA/IDEgOiBudW1iZXJPZkNoYW5uZWxzOwogCiAg
ICAgLy8gQ3JlYXRlIEF1ZGlvQnVzIHdoZXJlIHdlJ2xsIHB1dCB0aGUgUENNIGF1ZGlvIGRhdGEK
ICAgICBhdXRvIGF1ZGlvQnVzID0gQXVkaW9CdXM6OmNyZWF0ZShidXNDaGFubmVsQ291bnQsIG51
bWJlck9mRnJhbWVzKTsKLSAgICBhdWRpb0J1cy0+c2V0U2FtcGxlUmF0ZShuYXJyb3dQcmVjaXNp
b25Ub0Zsb2F0KG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSkpOyAvLyBzYXZlIGZvciBs
YXRlcgotCi0gICAgLy8gT25seSBhbGxvY2F0ZWQgaW4gdGhlIG1peFRvTW9ubyBjYXNlOyBkZWFs
bG9jYXRlZCBvbiBkZXN0cnVjdGlvbi4KLSAgICBBdWRpb0Zsb2F0QXJyYXkgbGVmdENoYW5uZWw7
Ci0gICAgQXVkaW9GbG9hdEFycmF5IHJpZ2h0Q2hhbm5lbDsKKyAgICBhdWRpb0J1cy0+c2V0U2Ft
cGxlUmF0ZShuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KG91dEZvcm1hdC5tU2FtcGxlUmF0ZSkpOyAv
LyBzYXZlIGZvciBsYXRlcgogCi0gICAgQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0ID0gdHJ5
Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOworICAgIEF1ZGlvQnVmZmVy
TGlzdEhvbGRlciBidWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmICghYnVmZmVy
TGlzdCkgewogICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgInRyeUNyZWF0ZUF1
ZGlvQnVmZmVyTGlzdCglbGQpIHJldHVybmVkIG51bGwiLCBudW1iZXJPZkNoYW5uZWxzKTsKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogICAgIGNvbnN0IHNpemVfdCBidWZmZXJTaXpl
ID0gbnVtYmVyT2ZGcmFtZXMgKiBzaXplb2YoZmxvYXQpOwogCisgICAgLy8gT25seSBhbGxvY2F0
ZWQgaW4gdGhlIG1peFRvTW9ubyBjYXNlOyBkZWFsbG9jYXRlZCBvbiBkZXN0cnVjdGlvbi4KKyAg
ICBBdWRpb0Zsb2F0QXJyYXkgbGVmdENoYW5uZWw7CisgICAgQXVkaW9GbG9hdEFycmF5IHJpZ2h0
Q2hhbm5lbDsKKwogICAgIFJFTEVBU0VfQVNTRVJUKGJ1ZmZlckxpc3QtPm1OdW1iZXJCdWZmZXJz
ID09IG51bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmIChtaXhUb01vbm8gJiYgbnVtYmVyT2ZDaGFu
bmVscyA9PSAyKSB7CiAgICAgICAgIGxlZnRDaGFubmVsLnJlc2l6ZShudW1iZXJPZkZyYW1lcyk7
CkBAIC0yMjIsMTggKzUzNCwyOCBAQCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6
Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQogICAgICAgICB9CiAg
ICAgfQogCi0gICAgaWYgKCF2YWxpZGF0ZUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KSkgewor
ICAgIGlmICghYnVmZmVyTGlzdC5pc1ZhbGlkKCkpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRkFV
TFQoV2ViQXVkaW8sICJHZW5lcmF0ZWQgYnVmZmVyIGluIEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRl
QnVzKCkgZGlkIG5vdCBwYXNzIHZhbGlkYXRpb24iKTsKICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7CiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIC8vIFJlYWQgZnJvbSB0aGUgZmlsZSAo
b3IgaW4tbWVtb3J5IHZlcnNpb24pCi0gICAgVUludDMyIGZyYW1lc1RvUmVhZCA9IG51bWJlck9m
RnJhbWVzOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVJlYWQobV9leHRBdWRpb0ZpbGVSZWYs
ICZmcmFtZXNUb1JlYWQsIGJ1ZmZlckxpc3QpICE9IG5vRXJyKSB7Ci0gICAgICAgIGRlc3Ryb3lB
dWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOworICAg
IGlmIChtX3dlYm1EYXRhKSB7CisgICAgICAgIGF1dG8gZGVjb2RlZEZyYW1lcyA9IGRlY29kZVdl
Yk1EYXRhKGJ1ZmZlckxpc3QsIG51bWJlck9mRnJhbWVzLCAqaW5Gb3JtYXQsIG91dEZvcm1hdCk7
CisgICAgICAgIGlmICghZGVjb2RlZEZyYW1lcykKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworICAgICAgICAvLyBUaGUgYWN0dWFsIGRlY29kZWQgbnVtYmVyIG9mIGZyYW1lcyBtYXkgbm90
IG1hdGNoIHRoZSBudW1iZXIgb2YgZnJhbWVzIGNhbGN1bGF0ZWQKKyAgICAgICAgLy8gd2hpbGUg
ZGVtdXhpbmcgYXMgZnJhbWVzIGNhbiBiZSB0cmltbWVkLiBJdCB3aWxsIGFsd2F5cyBiZSBsb3dl
ci4KKyAgICAgICAgYXVkaW9CdXMtPnNldExlbmd0aCgqZGVjb2RlZEZyYW1lcyk7CisgICAgICAg
IG51bWJlck9mRnJhbWVzID0gKmRlY29kZWRGcmFtZXM7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
aWYgKFBBTDo6RXh0QXVkaW9GaWxlU2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRB
dWRpb0ZpbGVQcm9wZXJ0eV9DbGllbnREYXRhRm9ybWF0LCBzaXplb2YoQXVkaW9TdHJlYW1CYXNp
Y0Rlc2NyaXB0aW9uKSwgJm91dEZvcm1hdCkgIT0gbm9FcnIpCisgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKworICAgICAgICAvLyBSZWFkIGZyb20gdGhlIGZpbGUgKG9yIGluLW1lbW9yeSB2
ZXJzaW9uKQorICAgICAgICBVSW50MzIgZnJhbWVzVG9SZWFkID0gbnVtYmVyT2ZGcmFtZXM7Cisg
ICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVJlYWQobV9leHRBdWRpb0ZpbGVSZWYsICZmcmFt
ZXNUb1JlYWQsIGJ1ZmZlckxpc3QpICE9IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgfQogCiAgICAgaWYgKG1peFRvTW9ubyAmJiBudW1iZXJPZkNoYW5uZWxzID09IDIp
IHsKQEAgLTI0Myw5ICs1NjUsNiBAQCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6
Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQogICAgICAgICAgICAg
ZGVzdExbaV0gPSAwLjVmICogKGxlZnRDaGFubmVsW2ldICsgcmlnaHRDaGFubmVsW2ldKTsKICAg
ICB9CiAKLSAgICAvLyBDbGVhbnVwCi0gICAgZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJM
aXN0KTsKLQogICAgIHJldHVybiBhdWRpb0J1czsKIH0KIApAQCAtMjU1LDYgKzU3NCwxMyBAQCBS
ZWZQdHI8QXVkaW9CdXM+IGNyZWF0ZUJ1c0Zyb21Jbk1lbW9yeUF1ZGlvRmlsZShjb25zdCB2b2lk
KiBkYXRhLCBzaXplX3QgZGF0YVNpegogICAgIHJldHVybiByZWFkZXIuY3JlYXRlQnVzKHNhbXBs
ZVJhdGUsIG1peFRvTW9ubyk7CiB9CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dURkxv
Z0NoYW5uZWwmIEF1ZGlvRmlsZVJlYWRlcjo6bG9nQ2hhbm5lbCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIExvZ01lZGlhOworfQorI2VuZGlmCisKIH0gLy8gV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5B
QkxFKFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oCmluZGV4IDBiYmJiYTI3ODU3ZDk3OWVj
YzY4OGY4N2YwMzM5ZjY2NWVmNDI1MjkuLjNjMTgxY2NhYmIzNWU1MmZmYmQyYzg5YTRmNDg2YWYw
YzAzYWY3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29h
L0F1ZGlvRmlsZVJlYWRlckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaApAQCAtMzIsNiArMzIsOCBAQAogI2lmIEVO
QUJMRShXRUJfQVVESU8pCiAKICNpbmNsdWRlIDxDb3JlQXVkaW8vQ29yZUF1ZGlvVHlwZXMuaD4K
KyNpbmNsdWRlIDxvcHRpb25hbD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogCiB1c2luZyBFeHRBdWRpb0ZpbGVSZWYgPSBzdHJ1Y3QgT3Bh
cXVlRXh0QXVkaW9GaWxlKjsKQEAgLTQwLDEyICs0MiwxOCBAQCB1c2luZyBBdWRpb0ZpbGVJRCA9
IHN0cnVjdCBPcGFxdWVBdWRpb0ZpbGVJRCo7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEF1ZGlvQnVzOworY2xhc3MgU291cmNlQnVmZmVyUGFyc2VyV2ViTTsKK2NsYXNzIEF1ZGlvRmls
ZVJlYWRlcldlYk1EYXRhOwogCiAvLyBXcmFwcGVyIGNsYXNzIGZvciBBdWRpb0ZpbGUgYW5kIEV4
dEF1ZGlvRmlsZSBDb3JlQXVkaW8gQVBJcyBmb3IgcmVhZGluZyBmaWxlcyBhbmQgaW4tbWVtb3J5
IHZlcnNpb25zIG9mIHRoZW0uLi4KIAotY2xhc3MgQXVkaW9GaWxlUmVhZGVyIHsKK2NsYXNzIEF1
ZGlvRmlsZVJlYWRlcgorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIDogcHVibGljIExv
Z2dlckhlbHBlcgorI2VuZGlmCit7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgQXVkaW9GaWxlUmVh
ZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSk7CisgICAgQXVkaW9GaWxlUmVh
ZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSk7CiAgICAgfkF1ZGlvRmlsZVJl
YWRlcigpOwogCiAgICAgUmVmUHRyPEF1ZGlvQnVzPiBjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0
ZSwgYm9vbCBtaXhUb01vbm8pOyAvLyBSZXR1cm5zIG51bGxwdHIgb24gZXJyb3IKQEAgLTUzLDkg
KzYxLDIyIEBAIHB1YmxpYzoKICAgICBjb25zdCB2b2lkKiBkYXRhKCkgY29uc3QgeyByZXR1cm4g
bV9kYXRhOyB9CiAgICAgc2l6ZV90IGRhdGFTaXplKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhU2l6
ZTsgfQogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgTG9nZ2VyJiBsb2dn
ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQorICAgIGNvbnN0IHZv
aWQqIGxvZ0lkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7
IH0KKyAgICBXVEZMb2dDaGFubmVsJiBsb2dDaGFubmVsKCkgY29uc3QgZmluYWw7CisgICAgY29u
c3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIkF1ZGlvRmlsZVJl
YWRlckNvY29hIjsgfQorI2VuZGlmCisKIHByaXZhdGU6CisgICAgYm9vbCBpc01heWJlV2ViTShj
b25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUpIGNvbnN0OworICAgIHZvaWQgZGVt
dXhXZWJNSW50ZXJuYWwoY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKTsKICAg
ICBzdGF0aWMgT1NTdGF0dXMgcmVhZFByb2Modm9pZCogY2xpZW50RGF0YSwgU0ludDY0IHBvc2l0
aW9uLCBVSW50MzIgcmVxdWVzdENvdW50LCB2b2lkKiBidWZmZXIsIFVJbnQzMiogYWN0dWFsQ291
bnQpOwogICAgIHN0YXRpYyBTSW50NjQgZ2V0U2l6ZVByb2Modm9pZCogY2xpZW50RGF0YSk7Cisg
ICAgc3NpemVfdCBudW1iZXJPZkZyYW1lcygpIGNvbnN0OworICAgIHN0ZDo6b3B0aW9uYWw8QXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uPiBmaWxlRGF0YUZvcm1hdCgpIGNvbnN0OworICAgIEF1
ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBjbGllbnREYXRhRm9ybWF0KGNvbnN0IEF1ZGlvU3Ry
ZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5Gb3JtYXQsIGZsb2F0IHNhbXBsZVJhdGUpIGNvbnN0Owor
ICAgIHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBkZWNvZGVXZWJNRGF0YShBdWRpb0J1ZmZlckxpc3Qq
LCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMsIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5G
b3JtYXQsIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgb3V0Rm9ybWF0KTsKIAogICAgIGNv
bnN0IHZvaWQqIG1fZGF0YSA9IHsgbnVsbHB0ciB9OwogICAgIHNpemVfdCBtX2RhdGFTaXplID0g
eyAwIH07CkBAIC02Myw4ICs4NCwxMyBAQCBwcml2YXRlOgogICAgIEF1ZGlvRmlsZUlEIG1fYXVk
aW9GaWxlSUQgPSB7IG51bGxwdHIgfTsKICAgICBFeHRBdWRpb0ZpbGVSZWYgbV9leHRBdWRpb0Zp
bGVSZWYgPSB7IG51bGxwdHIgfTsKIAotICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBt
X2ZpbGVEYXRhRm9ybWF0OwotICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2NsaWVu
dERhdGFGb3JtYXQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRh
PiBtX3dlYm1EYXRhOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgUmVm
PExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworI2Vu
ZGlmCisKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKaW5kZXggYTFlNzFiZDUyMjMyMjQy
NTcxNmM2YjllNWFjZWQwNmU1NTgyOTMzYS4uNmFlM2I1Y2QxZjJlZmQ2MjM5ZmIzNGQwMTNhNTg3
NzZmNDE4YzZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNp
bmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAotdHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlw
dGlvbiAqQ01Gb3JtYXREZXNjcmlwdGlvblJlZjsKIHR5cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2Ft
cGxlQnVmZmVyICpDTVNhbXBsZUJ1ZmZlclJlZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVE
YXRhU291cmNlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9T
YW1wbGVEYXRhU291cmNlLm1tCmluZGV4IGQyYjVhYzQ1ZjMwZmQ0YTNhZjUxYjQyMGRlMzc2NDli
MTE1MWMyMjcuLjcwZGMyNDg0YTVlZDY2ODg5ZmNhMzNlZTI5MWVjMTA2YTVmOWY5YTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0
YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRp
b1NhbXBsZURhdGFTb3VyY2UubW0KQEAgLTM5LDYgKzM5LDcgQEAKICNpbXBvcnQgPHd0Zi9SdW5M
b29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KIAorI2ltcG9ydCA8cGFs
L2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CiAjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29m
dExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjcsNyArNjgsNyBAQCBBdWRpb1Nh
bXBsZURhdGFTb3VyY2U6OkF1ZGlvU2FtcGxlRGF0YVNvdXJjZShzaXplX3QgbWF4aW11bVNhbXBs
ZUNvdW50LCBMb2dnZXJIZQogQXVkaW9TYW1wbGVEYXRhU291cmNlOjp+QXVkaW9TYW1wbGVEYXRh
U291cmNlKCkKIHsKICAgICBpZiAobV9jb252ZXJ0ZXIpCi0gICAgICAgIEF1ZGlvQ29udmVydGVy
RGlzcG9zZShtX2NvbnZlcnRlcik7CisgICAgICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3Nl
KG1fY29udmVydGVyKTsKIH0KIAogT1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1
cENvbnZlcnRlcigpCkBAIC03NSwxNCArNzYsMTQgQEAgT1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRh
U291cmNlOjpzZXR1cENvbnZlcnRlcigpCiAgICAgQVNTRVJUKG1faW5wdXREZXNjcmlwdGlvbiAm
JiBtX291dHB1dERlc2NyaXB0aW9uKTsKIAogICAgIGlmIChtX2NvbnZlcnRlcikgewotICAgICAg
ICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOworICAgICAgICBQQUw6OkF1ZGlv
Q29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CiAgICAgICAgIG1fY29udmVydGVyID0gbnVs
bHB0cjsKICAgICB9CiAKICAgICBpZiAoKm1faW5wdXREZXNjcmlwdGlvbiA9PSAqbV9vdXRwdXRE
ZXNjcmlwdGlvbikKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBPU1N0YXR1cyBlcnIgPSBBdWRp
b0NvbnZlcnRlck5ldygmbV9pbnB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAm
bV9vdXRwdXREZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fY29udmVydGVyKTsK
KyAgICBPU1N0YXR1cyBlcnIgPSBQQUw6OkF1ZGlvQ29udmVydGVyTmV3KCZtX2lucHV0RGVzY3Jp
cHRpb24tPnN0cmVhbURlc2NyaXB0aW9uKCksICZtX291dHB1dERlc2NyaXB0aW9uLT5zdHJlYW1E
ZXNjcmlwdGlvbigpLCAmbV9jb252ZXJ0ZXIpOwogICAgIGlmIChlcnIpIHsKICAgICAgICAgUnVu
TG9vcDo6bWFpbigpLmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cigq
dGhpcyksIGVycl0gewogICAgICAgICAgICAgRVJST1JfTE9HKCJBdWRpb0NvbnZlcnRlck5ldyBy
ZXR1cm5lZCBlcnJvciAiLCBlcnIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tCmluZGV4IGUzZDZmYWM3MDQz
Njk2ZmM3ZWUyYTkyMTVkYjIxYThmN2RmODI1YTUuLmEzMmRmNjIwNDhkMzJkN2IxMzRkYmY1NmRh
MDA3YjcwZWMyNDczZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVw
YWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAog
I2lmIEVOQUJMRShHQU1FUEFEKSAmJiBQTEFURk9STShNQUMpCiAKKyNpbXBvcnQgIkdhbWVDb250
cm9sbGVyR2FtZXBhZFByb3ZpZGVyLmgiCiAjaW1wb3J0ICJHYW1lcGFkUHJvdmlkZXJDbGllbnQu
aCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIlBsYXRmb3JtR2FtZXBhZC5oIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNl
LmNwcAppbmRleCA0ZDhlZTYyZTAxYjhlYWViYWNjNmQyOGIzYTA5ODUyOTUyYzVkODBhLi5jMDY2
YzJkNDg3OTdhNGFhYjNiOWJlMmEwZWRkNGQ4MzhiNGJmNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcApAQCAtMjks
NyArMjksNiBAQAogI2lmIEVOQUJMRShWSURFTykKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTYW1wbGVBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaAppbmRleCBkMDNjZGM4ZGQ2
MjU0MTYwOTlhNTM3MTM1ZWUxMWVjOTEwNzM2YTAyLi41NDVmMGJlMWM1MGNiZmU0MTcwMTgwMzU2
Zjg4Y2UzYzU1MmM4NmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFW
Rk9iakMuaApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBp
eGVsQnVmZmVyOwogCi1jbGFzcyBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMgOiBw
dWJsaWMgTWVkaWFTYW1wbGUgeworY2xhc3MgTWVkaWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1l
ZGlhU2FtcGxlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4g
Y3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0K
ICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVy
UmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lEKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1l
ZGlhU2FtcGxlQVZGT2JqQyhzYW1wbGUsIHRyYWNrSUQpKTsgfQpAQCAtNDQsNyArNDQsNyBAQCBw
dWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0QXNEaXNwbGF5SW1tZWRp
YXRlbHkoTWVkaWFTYW1wbGUmKTsKICAgICBzdGF0aWMgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVy
UmVmPiBjbG9uZVNhbXBsZUJ1ZmZlckFuZFNldEFzRGlzcGxheUltbWVkaWF0ZWx5KENNU2FtcGxl
QnVmZmVyUmVmKTsKIAotICAgIFJlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JB
SW1hZ2VEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEpT
Qzo6VWludDhDbGFtcGVkQXJyYXk+IGdldFJHQkFJbWFnZURhdGEoKSBjb25zdCBvdmVycmlkZTsK
IAogICAgIE1lZGlhVGltZSBwcmVzZW50YXRpb25UaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAg
TWVkaWFUaW1lIGRlY29kZVRpbWUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTU5LDE2ICs1OSwxNiBA
QCBwdWJsaWM6CiAgICAgU2FtcGxlRmxhZ3MgZmxhZ3MoKSBjb25zdCBvdmVycmlkZTsKICAgICBQ
bGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBsZSgpIG92ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9u
YWw8Qnl0ZVJhbmdlPiBieXRlUmFuZ2UoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGR1bXAo
UHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGR1
bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIG9mZnNldFRpbWVzdGFt
cHNCeShjb25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFRpbWVzdGFtcHMo
Y29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBp
c0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFT
YW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVz
ZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBvdmVycmlkZTsKLSAgICBSZWY8TWVkaWFTYW1wbGU+
IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9F
WFBPUlQgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQ
T1JUIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBk
aXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVzZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBvdmVy
cmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3Bs
YXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBWaWRlb1JvdGF0aW9uIHZpZGVvUm90
YXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3JvdGF0aW9uOyB9CiAgICAgYm9vbCB2
aWRlb01pcnJvcmVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9taXJyb3JlZDsgfQotICAg
IHVpbnQzMl90IHZpZGVvUGl4ZWxGb3JtYXQoKSBjb25zdCBmaW5hbDsKKyAgICBXRUJDT1JFX0VY
UE9SVCB1aW50MzJfdCB2aWRlb1BpeGVsRm9ybWF0KCkgY29uc3QgZmluYWw7CiAKICAgICBDTVNh
bXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIoKSBjb25zdCB7IHJldHVybiBtX3NhbXBsZS5nZXQo
KTsgfQogCkBAIC03OCwzNCArNzgsMTUgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Qnl0ZVJhbmdl
T2Zmc2V0KHNpemVfdCk7CiAKIHByb3RlY3RlZDoKLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoUmV0
YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmIHNhbXBsZSkKLSAgICAgICAgOiBtX3NhbXBsZShX
VEZNb3ZlKHNhbXBsZSkpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01T
YW1wbGVCdWZmZXJSZWYgc2FtcGxlKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICB7
Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUs
IEF0b21TdHJpbmcgdHJhY2tJRCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAg
ICwgbV9pZCh0cmFja0lEKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENN
U2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCkKLSAgICAgICAgOiBtX3Nh
bXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9pZChBdG9tU3RyaW5nOjpudW1iZXIodHJhY2tJRCkp
Ci0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYg
c2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJvdGF0aW9uLCBib29sIG1pcnJvcmVkKQotICAgICAgICA6
IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAgICAgLCBtX3JvdGF0aW9uKHJvdGF0aW9uKQotICAgICAg
ICAsIG1fbWlycm9yZWQobWlycm9yZWQpCi0gICAgewotICAgIH0KKyAgICBXRUJDT1JFX0VYUE9S
VCBNZWRpYVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiwg
QXRvbVN0cmluZyB0cmFja0lEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9i
akMoQ01TYW1wbGVCdWZmZXJSZWYsIHVpbnQ2NF90IHRyYWNrSUQpOworICAgIFdFQkNPUkVfRVhQ
T1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiwgVmlkZW9Sb3RhdGlvbiwg
Ym9vbCBtaXJyb3JlZCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+TWVkaWFTYW1wbGVB
VkZPYmpDKCk7CiAKICAgICBzdGQ6Om9wdGlvbmFsPE1lZGlhU2FtcGxlOjpCeXRlUmFuZ2U+IGJ5
dGVSYW5nZUZvckF0dGFjaG1lbnQoQ0ZTdHJpbmdSZWYga2V5KSBjb25zdDsKIAotICAgIHZpcnR1
YWwgfk1lZGlhU2FtcGxlQVZGT2JqQygpID0gZGVmYXVsdDsKICAgICBSZXRhaW5QdHI8Q01TYW1w
bGVCdWZmZXJSZWY+IG1fc2FtcGxlOwogICAgIEF0b21TdHJpbmcgbV9pZDsKICAgICBWaWRlb1Jv
dGF0aW9uIG1fcm90YXRpb24geyBWaWRlb1JvdGF0aW9uOjpOb25lIH07CkBAIC0xMTMsNCArOTQs
MyBAQCBwcm90ZWN0ZWQ6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhU2FtcGxlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQppbmRleCBjMGYxM2Q2ZWE1Yzk3
NTc2N2NlOGY2MmFiNjg0MmQ3ZDZmMGZiYjZiLi5jZjNjMzQxMGEzOGFkZWM0OTU3Yzk3MTQyYjMy
NDIyNGQ1YWZkODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZP
YmpDLm1tCkBAIC00NSw2ICs0NSwzMyBAQCBzdHJ1Y3QgV1RGOjpDRlR5cGVUcmFpdDxDTVNhbXBs
ZUJ1ZmZlclJlZj4gewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK01lZGlhU2FtcGxlQVZGT2Jq
Qzo6TWVkaWFTYW1wbGVBVkZPYmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4mJiBzYW1w
bGUpCisgICAgOiBtX3NhbXBsZShXVEZNb3ZlKHNhbXBsZSkpCit7Cit9CitNZWRpYVNhbXBsZUFW
Rk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUpCisgICAg
OiBtX3NhbXBsZShzYW1wbGUpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxl
QVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkKKyAg
ICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1faWQodHJhY2tJRCkKK3sKK30KK01lZGlhU2Ft
cGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwg
dWludDY0X3QgdHJhY2tJRCkKKyAgICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1faWQoQXRv
bVN0cmluZzo6bnVtYmVyKHRyYWNrSUQpKQoreworfQorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRp
YVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJv
dGF0aW9uLCBib29sIG1pcnJvcmVkKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9y
b3RhdGlvbihyb3RhdGlvbikKKyAgICAsIG1fbWlycm9yZWQobWlycm9yZWQpCit7Cit9CisKK01l
ZGlhU2FtcGxlQVZGT2JqQzo6fk1lZGlhU2FtcGxlQVZGT2JqQygpID0gZGVmYXVsdDsKKwogUmVm
UHRyPE1lZGlhU2FtcGxlQVZGT2JqQz4gTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGVJbWFnZVNh
bXBsZShQaXhlbEJ1ZmZlciYmIHBpeGVsQnVmZmVyKQogewogICAgIGF1dG8gc2l6ZSA9IHBpeGVs
QnVmZmVyLnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQpp
bmRleCA4ZWVmM2IyZWE2MDRiZDE5ODNkNzdkMzhiZjUyMWE4ZDIxZjIwZWQwLi5kMWM4NDQ4ODM2
NzQwZmRiNzVjNDBhYzkzZjdkZDA5ZDc4ZjAzMDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29t
cHJlc3Npb25TZXNzaW9uLm1tCkBAIC0zMSwxMCArMzEsMTAgQEAKICNpbXBvcnQgPENvcmVNZWRp
YS9DTUJ1ZmZlclF1ZXVlLmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlv
bi5oPgogI2ltcG9ydCA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4K
LSNpbXBvcnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogI2ltcG9ydCA8d3RmL01haW5U
aHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9NZWRpYVRpbWUuaD4KICNpbXBvcnQgPHd0Zi9Nb25vdG9u
aWNUaW1lLmg+CisjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3RmL1N0cmluZ1By
aW50U3RyZWFtLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1wb3J0IDx3dGYvV1RGU2Vt
YXBob3JlLmg+CkBAIC00Miw2ICs0Miw3IEBACiAKICNpbXBvcnQgIkNvcmVWaWRlb1NvZnRMaW5r
LmgiCiAjaW1wb3J0ICJWaWRlb1Rvb2xib3hTb2Z0TGluay5oIgorI2ltcG9ydCA8cGFsL2NmL0Nv
cmVNZWRpYVNvZnRMaW5rLmg+CiAKIC8vIEVxdWl2YWxlbnQgdG8gV1RGX0RFQ0xBUkVfQ0ZfVFlQ
RV9UUkFJVChDTVNhbXBsZUJ1ZmZlcik7CiAvLyBOZWVkZWQgZHVlIHRvIHJlcXVpcmVtZW50IG9m
IHNwZWNpZnlpbmcgdGhlIFBBTCBuYW1lc3BhY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29j
b2EuaAppbmRleCBmZWNlODEyOWJkN2Y3ZmRlZDZhODA0YmE1MmY3OTUyNjFmZTY1ZDMwLi44NzEw
NGQ4YjdiMzU3YzE2MGI2ZGNjYzQxYmZlMWY4OWUwYTZjMjcxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0
aWxpdGllc0NvY29hLmgKQEAgLTM0LDcgKzM0LDggQEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3Bh
cXVlQ01Gb3JtYXREZXNjcmlwdGlvbiogQ01Gb3JtYXREZXNjcmlwdGlvblJlZjsKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1ib29sIGlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09S
RV9FWFBPUlQgYm9vbCBpc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JU
IGJvb2wgcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKIFJldGFpblB0cjxDTUZvcm1h
dERlc2NyaXB0aW9uUmVmPiBjcmVhdGVWb3JiaXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKHNpemVf
dCwgY29uc3Qgdm9pZCopOwogCiBzdHJ1Y3QgT3B1c0Nvb2tpZUNvbnRlbnRzIHsKQEAgLTUyLDcg
KzUzLDggQEAgc3RydWN0IE9wdXNDb29raWVDb250ZW50cyB7CiAgICAgYm9vbCBoYXNQYWRkaW5n
IHsgZmFsc2UgfTsKIH07CiAKLWJvb2wgaXNPcHVzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09S
RV9FWFBPUlQgYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9SVCBi
b29sIHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOwogYm9vbCBwYXJzZU9wdXNQcml2YXRl
RGF0YShzaXplX3QgcHJpdmF0ZURhdGFTaXplLCBjb25zdCB2b2lkKiBwcml2YXRlRGF0YSwgc2l6
ZV90IGZyYW1lRGF0YVNpemUsIGNvbnN0IHZvaWQqIGZyYW1lRGF0YSwgT3B1c0Nvb2tpZUNvbnRl
bnRzJik7CiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlT3B1c0F1ZGlv
Rm9ybWF0RGVzY3JpcHRpb24oY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxp
dGllc0NvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2Vi
TUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0KaW5kZXggMDZiZDQ4YWUwZDNkNjkxMjUwYjhhMjc1N2Qw
MjU2ZDQ0ODU5ZmNjNC4uMGUxZWIxYjc5OGEzYzdlYTY3ZWFiNzViYTM2ZTU4NWFkZDhjMTBhMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1
ZGlvVXRpbGl0aWVzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0KQEAgLTMyLDIyICszMiwyOCBAQAog
I2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTWVkaWFVdGlsaXRpZXMuaCIKICNpbXBvcnQg
IlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgorI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1
ZGlvQ29kZWMuaD4KICNpbXBvcnQgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbXBvbmVudC5oPgogI2lt
cG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvRm9ybWF0Lmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01G
b3JtYXREZXNjcmlwdGlvbi5oPgogI2ltcG9ydCA8ZGxmY24uaD4KICNpbXBvcnQgPHd0Zi9GbGlw
Qnl0ZXMuaD4KICNpbXBvcnQgPHd0Zi9TZWNvbmRzLmg+Ci0KICNpZiBFTkFCTEUoT1BVUykKICNp
bXBvcnQgPGxpYndlYnJ0Yy9vcHVzX2RlZmluZXMuaD4KICNlbmRpZgorI2ltcG9ydCA8cGFsL2Nm
L0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVO
QUJMRShWT1JCSVMpIHx8IEVOQUJMRShPUFVTKQogc3RhdGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVy
RmFjdG9yeShjb25zdCBjaGFyKiBkZWNvZGVyTmFtZSwgT1NUeXBlIGRlY29kZXJUeXBlKQogewor
ICAgIEF1ZGlvQ29tcG9uZW50RGVzY3JpcHRpb24gZGVzYyB7IGtBdWRpb0RlY29kZXJDb21wb25l
bnRUeXBlLCBkZWNvZGVyVHlwZSwgJ2FwcGwnLCBrQXVkaW9Db21wb25lbnRGbGFnX1NhbmRib3hT
YWZlLCAwIH07CisgICAgQXVkaW9Db21wb25lbnQgY29tcCA9IFBBTDo6QXVkaW9Db21wb25lbnRG
aW5kTmV4dCgwLCAmZGVzYyk7CisgICAgaWYgKGNvbXApCisgICAgICAgIHJldHVybiB0cnVlOyAv
LyBBbHJlYWR5IHJlZ2lzdGVyZWQuCisKICAgICBjb25zdGV4cHIgY2hhciBhdWRpb0NvbXBvbmVu
dHNEeWxpYltdID0gIi9TeXN0ZW0vTGlicmFyeS9Db21wb25lbnRzL0F1ZGlvQ29kZWNzLmNvbXBv
bmVudC9Db250ZW50cy9NYWNPUy9BdWRpb0NvZGVjcyI7CiAgICAgdm9pZCAqaGFuZGxlID0gZGxv
cGVuKGF1ZGlvQ29tcG9uZW50c0R5bGliLCBSVExEX0xBWlkgfCBSVExEX0xPQ0FMKTsKICAgICBp
ZiAoIWhhbmRsZSkKQEAgLTU3LDcgKzYzLDYgQEAgc3RhdGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVy
RmFjdG9yeShjb25zdCBjaGFyKiBkZWNvZGVyTmFtZSwgT1NUeXBlIGRlY29kZXJUeXBlKQogICAg
IGlmICghZGVjb2RlckZhY3RvcnkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEF1ZGlv
Q29tcG9uZW50RGVzY3JpcHRpb24gZGVzYyB7ICdhZGVjJywgZGVjb2RlclR5cGUsICdhcHBsJywg
a0F1ZGlvQ29tcG9uZW50RmxhZ19TYW5kYm94U2FmZSwgMCB9OwogICAgIGlmICghQXVkaW9Db21w
b25lbnRSZWdpc3RlcigmZGVzYywgQ0ZTVFIoIiIpLCAwLCBkZWNvZGVyRmFjdG9yeSkpIHsKICAg
ICAgICAgZGxjbG9zZShoYW5kbGUpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC03MSw3ICs3
Niw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlQXVk
aW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdChPCiAgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2Ny
aXB0aW9uIGFzYmQgeyB9OwogICAgIGFzYmQubUZvcm1hdElEID0gZm9ybWF0SUQ7CiAgICAgdWlu
dDMyX3Qgc2l6ZSA9IHNpemVvZihhc2JkKTsKLSAgICBhdXRvIGVycm9yID0gQXVkaW9Gb3JtYXRH
ZXRQcm9wZXJ0eShrQXVkaW9Gb3JtYXRQcm9wZXJ0eV9Gb3JtYXRJbmZvLCBtYWdpY0Nvb2tpZS5z
aXplKCksIG1hZ2ljQ29va2llLmRhdGEoKSwgJnNpemUsICZhc2JkKTsKKyAgICBhdXRvIGVycm9y
ID0gUEFMOjpBdWRpb0Zvcm1hdEdldFByb3BlcnR5KGtBdWRpb0Zvcm1hdFByb3BlcnR5X0Zvcm1h
dEluZm8sIG1hZ2ljQ29va2llLnNpemUoKSwgbWFnaWNDb29raWUuZGF0YSgpLCAmc2l6ZSwgJmFz
YmQpOwogICAgIGlmIChlcnJvcikgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYSwg
ImNyZWF0ZUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25Gb3JGb3JtYXQgZmFpbGVkIHdpdGggZXJyb3Ig
JWQgKCUuNHMpIiwgZXJyb3IsIChjaGFyICopJmVycm9yKTsKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CkBAIC0zMjYsMTkgKzMzMSwzMCBAQCBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZy
b21PcHVzQ29va2llQ29udGVudHMoY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJiBjbwogCiBib29s
IGlzT3B1c0RlY29kZXJBdmFpbGFibGUoKQogewotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsK
LQogI2lmIEVOQUJMRShPUFVTKSAmJiBQTEFURk9STShNQUMpCiAgICAgaWYgKCFQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXI6Om9wdXNEZWNvZGVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKKyAgICByZXR1cm4gcmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CisjZWxz
ZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitib29sIHJlZ2lzdGVyT3B1c0RlY29k
ZXJJZk5lZWRlZCgpCit7CisjaWYgRU5BQkxFKE9QVVMpICYmIFBMQVRGT1JNKE1BQykKKyAgICBz
dGF0aWMgYm9vbCBhdmFpbGFibGU7CisKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VU
b2tlbjsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57Ci0gICAgICAgIGF2YWlsYWJs
ZSA9IHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDT3B1c0RlY29kZXJGYWN0b3J5IiwgJ29wdXMn
KTsKKyAgICAgICAgYXZhaWxhYmxlID0gcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNPcHVzRGVj
b2RlckZhY3RvcnkiLCBrQXVkaW9Gb3JtYXRPcHVzKTsKICAgICB9KTsKLSNlbmRpZgogCiAgICAg
cmV0dXJuIGF2YWlsYWJsZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAK
IFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVPcHVzQXVkaW9Gb3JtYXRE
ZXNjcmlwdGlvbihjb25zdCBPcHVzQ29va2llQ29udGVudHMmIGNvb2tpZUNvbnRlbnRzKQpAQCAt
NDE4LDE5ICs0MzQsMzAgQEAgc3RhdGljIFZlY3Rvcjx1aW50OF90PiBjb29raWVGcm9tVm9yYmlz
Q29kZWNQcml2YXRlKHNpemVfdCBjb2RlY1ByaXZhdGVTaXplLCBjb24KIAogYm9vbCBpc1ZvcmJp
c0RlY29kZXJBdmFpbGFibGUoKQogewotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKLQogI2lm
IEVOQUJMRShWT1JCSVMpICYmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIVBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6dm9yYmlzRGVjb2RlckVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCisgICAgcmV0dXJuIHJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7CisjZWxz
ZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitib29sIHJlZ2lzdGVyVm9yYmlzRGVj
b2RlcklmTmVlZGVkKCkKK3sKKyNpZiBFTkFCTEUoVk9SQklTKSAmJiBQTEFURk9STShNQUMpCisg
ICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOworCiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBv
bmNlVG9rZW47CiAgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewogICAgICAgICBhdmFp
bGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJBQ1ZvcmJpc0RlY29kZXJGYWN0b3J5Iiwg
J3ZvcmInKTsKICAgICB9KTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGF2YWlsYWJsZTsKKyNlbHNl
CisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIFJldGFpblB0cjxDTUZvcm1hdERlc2Ny
aXB0aW9uUmVmPiBjcmVhdGVWb3JiaXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKHNpemVfdCBwcml2
YXRlRGF0YVNpemUsIGNvbnN0IHZvaWQqIHByaXZhdGVEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdCBiL1NvdXJjZS9XZWJL
aXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3MucGxpc3QKaW5kZXggYWU0ZWU0NTdhMjEz
MTMzOGY2YTViNzVlZDc1ZjYzNmYzYTBmNTI2MC4uZjFiNGFhYWVlMGIxNzE0N2QzNjVmYzFlMmJm
Nzc2MzA5OGIyN2EzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2Vi
S2l0LWFwcGxldHZvcy5wbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJL
aXQtYXBwbGV0dm9zLnBsaXN0CkBAIC04Nyw2ICs4NywxMSBAQAogICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KICAgICAgICAgPHRydWUvPgogICAgIDwvZGljdD4KKyAgICA8a2V5PndlYm1fd2Vi
YXVkaW88L2tleT4KKyAgICA8ZGljdD4KKyAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CisgICAg
ICAgIDx0cnVlLz4KKyAgICA8L2RpY3Q+CiAgICAgPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRz
YW08L2tleT4KICAgICA8ZGljdD4KICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0IGIvU291cmNl
L1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdAppbmRleCA2MjFjOTIxNjZjODky
Y2I1NDFjZmE3NmI2MjM4MTU2NjhhMWVjMjc3Li41MGQwM2NmYmQ3NDE3NThkYTkzZGYyNmVmODg4
MzI4Zjc0NGRlMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJL
aXQtaW9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3Mu
cGxpc3QKQEAgLTg3LDYgKzg3LDExIEBACiAgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgogICAg
ICAgICA8dHJ1ZS8+CiAgICAgPC9kaWN0PgorICAgIDxrZXk+d2VibV93ZWJhdWRpbzwva2V5Pgor
ICAgIDxkaWN0PgorICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KKyAgICAgICAgPHRydWUvPgor
ICAgIDwvZGljdD4KICAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgogICAg
IDxkaWN0PgogICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVh
dHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdAppbmRleCA2MjFjOTIxNjZjODkyY2I1NDFjZmE3
NmI2MjM4MTU2NjhhMWVjMjc3Li41MGQwM2NmYmQ3NDE3NThkYTkzZGYyNmVmODg4MzI4Zjc0NGRl
MzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3Mu
cGxpc3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0
CkBAIC04Nyw2ICs4NywxMSBAQAogICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KICAgICAgICAg
PHRydWUvPgogICAgIDwvZGljdD4KKyAgICA8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKyAgICA8
ZGljdD4KKyAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CisgICAgICAgIDx0cnVlLz4KKyAgICA8
L2RpY3Q+CiAgICAgPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KICAgICA8ZGlj
dD4KICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVy
ZUZsYWdzL1dlYktpdC13YXRjaG9zLnBsaXN0CmluZGV4IGFlNGVlNDU3YTIxMzEzMzhmNmE1Yjc1
ZWQ3NWY2MzZmM2EwZjUyNjAuLmYxYjRhYWFlZTBiMTcxNDdkMzY1ZmMxZTJiZjc3NjMwOThiMjdh
M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC13YXRjaG9z
LnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC13YXRjaG9zLnBs
aXN0CkBAIC04Nyw2ICs4NywxMSBAQAogICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KICAgICAg
ICAgPHRydWUvPgogICAgIDwvZGljdD4KKyAgICA8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKyAg
ICA8ZGljdD4KKyAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CisgICAgICAgIDx0cnVlLz4KKyAg
ICA8L2RpY3Q+CiAgICAgPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KICAgICA8
ZGljdD4KICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVUHJvY2Vzcy5jcHAKaW5kZXggNDRiYTg4NTU1OWYxMWIxMmI4YTg1MWQ3Njk5MTMyOWQzYjE5
ZmYyOC4uNWE0OWZlZjA4OTQ4MzIxZjcwY2NjZjk2Njg1YTY1NzI0YTkwYTI1YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAtNDUxLDcgKzQ1MSw3IEBAIHZvaWQg
R1BVUHJvY2Vzczo6ZW5hYmxlVlA5RGVjb2RlcnMoYm9vbCBzaG91bGRFbmFibGVWUDhEZWNvZGVy
LCBib29sIHNob3VsZEVuYWJsCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
ICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIHZvaWQgR1BVUHJvY2Vz
czo6c2V0V2ViTVBhcnNlckVuYWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIGlmIChtX3dlYk1Q
YXJzZXJFbmFibGVkID09IGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvR1BVUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3Mu
aAppbmRleCA0OWMzZDc3MWJmMTc0ZDhmOWZkY2M4ZDI0MWIzMTA3NmIwYzViNmFmLi41NmRiZmU0
N2MyNzhjYmVmNGRkNTk5OWQ1NTdjOGI4NTY1YmM2MmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzLmgKQEAgLTE0MSw3ICsxNDEsNyBAQCBwcml2YXRlOgogICAgIFJldGFpblB0
cjxOU0RpY3Rpb25hcnk+IGFkZGl0aW9uYWxTdGF0ZUZvckRpYWdub3N0aWNSZXBvcnQoKSBjb25z
dCBmaW5hbDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgRU5BQkxFKFZQ
OSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZvaWQgc2V0V2ViTVBhcnNlckVuYWJs
ZWQoYm9vbCk7CiAjZW5kaWYKIApAQCAtMTk0LDcgKzE5NCw3IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX2VuYWJsZVZQOURlY29kZXIgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9lbmFibGVWUDlTV0Rl
Y29kZXIgeyBmYWxzZSB9OwogI2VuZGlmCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgRU5B
QkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIGJvb2wgbV93ZWJNUGFyc2Vy
RW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKICNpZiBFTkFCTEUoV0VCTV9GT1JNQVRfUkVBREVS
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpp
bmRleCA2OTFkYTc4ZDJjZjkzMjhlYTc5ZTI0YzJkNjQ2MjAwMzZiNWU0MjQ5Li40ZjAxOTY1NDNh
M2QwNThlMDE2YzM5NjZlZGExNjQ3ZmE2MWJiYjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNTEsNyArNTEsNyBAQCBtZXNzYWdl
cyAtPiBHUFVQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEaXNwbGF5Q29uZmlndXJhdGlv
bkNoYW5nZWQoQ0dEaXJlY3REaXNwbGF5SUQgZGlzcGxheUlELCBDR0Rpc3BsYXlDaGFuZ2VTdW1t
YXJ5RmxhZ3MgZmxhZ3MpCiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIEVO
QUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBTZXRXZWJNUGFyc2VyRW5h
YmxlZChib29sIGVuYWJsZWQpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCmluZGV4IDMyMTJlN2FlMTAxOTU1
MjY3ODdmZWI5ZDM2MGNmNjA0ZmM4MzNmYjcuLjFhZmU3NjUwNzhjZWY1MTM0Yzg5ZjViNGZkZmJl
NjE2YjJmY2VhMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzRGVmYXVsdFZhbHVlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXNEZWZhdWx0VmFsdWVzLmNwcApAQCAtMzI4LDYgKzMyOCwxNSBAQCBib29sIGRlZmF1bHRX
ZWJNUGFyc2VyRW5hYmxlZCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgZGVmYXVsdFdl
Yk1XZWJBdWRpb0VuYWJsZWQoKQoreworI2lmIEhBVkUoU1lTVEVNX0ZFQVRVUkVfRkxBR1MpCisg
ICAgcmV0dXJuIGlzRmVhdHVyZUZsYWdFbmFibGVkKCJ3ZWJtX3dlYmF1ZGlvIik7CisjZW5kaWYK
KworICAgIHJldHVybiBmYWxzZTsKK30KKwogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TT1VSQ0Up
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCA5MDI0N2U4YzFkMTIyY2E2ZmE1ZDg3
ZTZmZmQ2YjcyNzk2MzczZDU1Li4yOWE0MDFkN2E0M2Y5NDNhYzhmNGEwNzI4MzhkNzM1ZWU2OTY4
YTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1
bHRWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1
bHRWYWx1ZXMuaApAQCAtMTExLDYgKzExMSw3IEBAIGJvb2wgZGVmYXVsdFZQOVNXRGVjb2RlckVu
YWJsZWRPbkJhdHRlcnkoKTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiBib29sIGRlZmF1
bHRXZWJNUGFyc2VyRW5hYmxlZCgpOworYm9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgp
OwogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQppbmRleCBlZjU1MThh
YWRiMDJkNWJmNWNiZjE2N2UxMjQwN2VlOTA3NDcxNWU3Li5lYjJjZDgyNmQzNzNhZTVhZDk4MzQw
MzU4YmQ5Y2ZhYjI4ZGI0YzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQpAQCAtMzgsNiArMzgsNyBAQAogI2ltcG9y
dCAiV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzUG9vbC5oIgogI2lt
cG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KKyNpbXBvcnQgPFdlYkNv
cmUvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaD4KICNpbXBvcnQgPHN5cy9zeXNjdGwuaD4KICNp
bXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3RmL1Njb3BlLmg+CkBAIC0y
OTUsNiArMjk2LDkgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRpb0NvbXBvbmVudFJl
Z2lzdHJhdGlvbnMoKQogCiAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X2dsb2JhbF9x
dWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwgW3Byb3RlY3RlZFRoaXMg
PSBtYWtlUmVmKCp0aGlzKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgIENGRGF0YVJlZiByZWdpc3Ry
YXRpb25zIHsgbnVsbHB0ciB9OworCisgICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyT3B1c0RlY29k
ZXJJZk5lZWRlZCgpOworICAgICAgICBXZWJDb3JlOjpyZWdpc3RlclZvcmJpc0RlY29kZXJJZk5l
ZWRlZCgpOwogICAgICAgICBpZiAobm9FcnIgIT0gQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJl
Z2lzdHJhdGlvbnMoJnJlZ2lzdHJhdGlvbnMpIHx8ICFyZWdpc3RyYXRpb25zKQogICAgICAgICAg
ICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCBhNTkyOTdhZjNmZGE1
NWNmNTNkOWQ5MDgxYWI5OTdjNGY3YmU1NDljLi43MWFjZDgwODg2ODM1OWZlMTY4MWI3MDRkYTVl
YTUwNzllMzY0OTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTg3LDYgKzg3LDcg
QEAgYm9vbCBkZWZhdWx0V2hlZWxFdmVudEdlc3R1cmVzQmVjb21lTm9uQmxvY2tpbmcoKTsKIAog
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgp
OworYm9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpOwogI2VuZGlmCiAKICNpZiBFTkFC
TEUoVlA5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQppbmRleCAzNTJmZGM1ZTE4YWYyYzU4
YjQyZmU0ZTBlN2NmNjczNzFkNjhjZTZjLi4xNmM1OTcyMjkxOTcxZjE5OTFjNDBhZWE4MWQwZmZi
ZDZmNjU5ZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQpAQCAtMjk4LDYgKzI5OCwx
NSBAQCBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKK2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKQoreworI2lmIEhBVkUoU1lTVEVN
X0ZFQVRVUkVfRkxBR1MpCisgICAgcmV0dXJuIGlzRmVhdHVyZUZsYWdFbmFibGVkKCJ3ZWJtX3dl
YmF1ZGlvIik7CisjZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsKK30KKwogI2VuZGlmIC8vIEVO
QUJMRShNRURJQV9TT1VSQ0UpCiAKICNpZiBFTkFCTEUoVlA5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBjZTU5OTE4OTFh
ODMzYzAwMjY2MDFhNDA3NDVlNjFmZmZkZWVlYzQuLjQ2YTIzNjE1MDFlNDQzMWI2ZDIwNTA3MDIy
MGY2ZTk3YmY3M2EzMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0wNy0yMSAgSmVhbi1Z
dmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdl
Ym0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2
Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOiBPbmx5IGVuYWJsZSB0ZXN0IG9uIG1hY09TIE1v
bnRlcmV5CisgICAgICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbDog
Zml4IHdoaXRlc3BhY2UKKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJt
LW9wdXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVk
aW8tZGF0YS13ZWJtLW9wdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vcmVzb3Vy
Y2VzL21lZGlhL29wdXMud2VibTogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vcmVzb3VyY2Vz
L21lZGlhL3ZvcmJpcy53ZWJtOiBBZGRlZC4KKwogMjAyMS0wNy0yMSAgU2lodWkgTGl1ICA8c2lo
dWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucyBmb3IgaW1wb3J0ZWQgdzNjIEluZGV4ZWREQiB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4OTc5YjE3ODkyZjI3ZjE0YWJmNjk2NGFh
MDViZDU0OWI0MDljOGJjLi5kZTcyYTFjOGE2YzEzMWYwYzI2ZTQ3NjA3OTE1NWQ1YmY3Mzc3ZjJm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTc2Nyw2
ICsxNzY3LDcgQEAgd2Via2l0Lm9yZy9iLzIxNDE1NSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXAKIFsgQ2F0YWxpbmEgTW9qYXZlIEJp
Z1N1ciBdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Utd2VibS12b3JiaXMtcGFydGlh
bC5odG1sIFsgU2tpcCBdCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSBtZWRpYS9tZWRpYS1z
b3VyY2UvbWVkaWEtd2VibS1vcHVzLXBhcnRpYWwuaHRtbCBbIFNraXAgXQogWyBDYXRhbGluYSBN
b2phdmUgQmlnU3VyIF0gbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXdlYm0tb3B1cy1wYXJ0aWFs
LWFib3J0Lmh0bWwgWyBTa2lwIF0KK1sgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIHdlYmF1ZGlv
L2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcv
Yi8yMTQ0MjIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVk
aW8tYXBpL3RoZS1hdWRpb2NvbnRleHQtaW50ZXJmYWNlL3N1c3BlbmQtYWZ0ZXItY29uc3RydWN0
Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRp
by9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVj
b2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbAppbmRleCBhMzMzYjY1YWFlZjlkYjY0ZWQ1M2ZjYjA1
NjMxY2ZjMTUxNDA1MGQxLi43ZjA4YjI5MDU5MmNjMmYzNDRmYTU2NWZiMGRhYTRiMjY2Zjg4Mjlk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNp
Yy5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2lj
Lmh0bWwKQEAgLTcsNyArNyw3IEBACiA8Ym9keT4KIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiQmFz
aWMgdGVzdHMgZm9yIGRlY29kZUF1ZGlvRGF0YSBmdW5jdGlvbi4iKTsKLSAgICAKKwogd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCiB2YXIgY29udGV4dCA9IG5ldyBBdWRpb0NvbnRleHQo
KTsKQEAgLTM0LDE5ICszNCwxOSBAQCBmdW5jdGlvbiBydW5EZWNvZGVUZXN0KGluZGV4KSB7CiAg
ICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICByZXF1ZXN0Lm9wZW4o
IkdFVCIsIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsLCB0cnVlKTsKICAgICByZXF1ZXN0LnJl
c3BvbnNlVHlwZSA9ICJhcnJheWJ1ZmZlciI7Ci0gICAgCisKICAgICByZXF1ZXN0Lm9ubG9hZCA9
IGZ1bmN0aW9uKCkgewogICAgICAgICBjb250ZXh0LmRlY29kZUF1ZGlvRGF0YShyZXF1ZXN0LnJl
c3BvbnNlLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwotICAgICAgICAKKwogICAg
ICAgICBmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soKSB7CiAgICAgICAgICAgICBpZiAoZGVjb2Rl
Q2FzZUFycmF5W2luZGV4XS5yZXN1bHQpCiAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiVGhl
ICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCArICAiIHRlc3Q6IHN1Y2Nlc3NDYWxsYmFj
ayBoYXMgYmVlbiBjYWxsZWQgY29ycmVjdGx5LiIpOwogICAgICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5W2luZGV4XS51cmwg
KyAiIHRlc3Q6IHN1Y2Nlc3NDYWxsYmFjayB3YXMgbm90IGNhbGxlZC4iKTsKLSAgICAgICAgICAg
IAorCiAgICAgICAgICAgICBydW5EZWNvZGVUZXN0KCsraW5kZXgpOwogICAgICAgICB9Ci0gICAg
ICAgIAorCiAgICAgICAgIGZ1bmN0aW9uIGVycm9yQ2FsbGJhY2soKSB7CiAgICAgICAgICAgICBp
ZiAoZGVjb2RlQ2FzZUFycmF5W2luZGV4XS5yZXN1bHQpCiAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCArICIgdGVzdDogZXJyb3JD
YWxsYmFjayB3YXMgY2FsbGVkIGluY29ycmVjdGx5LiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDRiYzAxMDhkNDRjZDVmNDc0NmY2OTk3ZTYwYzVlNDczNTZmYTRlNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRh
LXdlYm0tb3B1cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCB0aGF0IGRlY29k
aW5nIGFuIG9wdXMgd2VibSBmaWxlIHN1Y2NlZWRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIFN1Y2Nlc3NmdWxseSBkZWNvZGVkIGNvbnRlbnQKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY1NzcyODAxMjcwMGFmM2Q2ODI0ZTIwOTA4NWY0ZGNlZTM3OGM3MGQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRt
bApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVzb3VyY2VzL2F1ZGlvLXRlc3RpbmcuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBk
ZWNvZGluZyBhbiBvcHVzIHdlYm0gZmlsZSBzdWNjZWVkcyIpOworCit3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CisKK3ZhciBjb250ZXh0ID0gbmV3IHdpbmRvdy5BdWRpb0NvbnRleHQoKTsK
K3ZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CityZXF1ZXN0Lm9wZW4oIkdFVCIs
ICdyZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJtJywgdHJ1ZSk7CityZXF1ZXN0LnJlc3BvbnNlVHlw
ZSA9ICJhcnJheWJ1ZmZlciI7CisKK3JlcXVlc3Qub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAg
Y29udGV4dC5kZWNvZGVBdWRpb0RhdGEocmVxdWVzdC5yZXNwb25zZSwgKGJ1ZmZlcikgPT4gewor
ICAgICAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgZGVjb2RlZCBjb250ZW50Iik7CisgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgfSwgKCkgPT4geworICAgICAgICB0ZXN0RmFpbGVk
KCJGYWlsZWQgdG8gZGVjb2RlIGZpbGUiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICB9KTsKK30KK3JlcXVlc3Quc2VuZCgpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9vcHVzLndl
Ym0gYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJtCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmE4NDk0Y2I5MTRhN2Q4NzRjYjAyZWIwMWQ3ZjdiNjM1OTAxYzlkMWMKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDE1OTEzCnpjbWNKJDE5eE9rKVcjZHojPkJSNStuVSg2amdEPkcjPjYl
ekhZVD1oQ3BaODF6NUQ/OHRuT1pgUmBvZig+c1FhLQp6VUEzelVNe0soJlBkRjMrRWQyY1F6NXs+
Pi12Z2s4MUIyYTdqY2tSKGV1Xk9nNUc8N2RiNn13VkYxfVl9eGgkNnMKenh5fnErcyRnYGYzTnd7
eksqOWYoRmpRLTtlQGclNEktYEg7UCpleGFSakxEbDFeJjFBT1FyTHRHTFVjbzsod241CnpyMT9M
T2B+VHpQS2RUejNTTCVaaGckM21UVnFeezclLUFeVElvUm8kNyNUSCR7PWEzPmg7WUY7JF5XdDlL
bEFyJAp6fDFheFMwS20/fTtpeGpYZHFSe29hTT1KTDteeW9pUzM4cj9QJDdLPE1LdS1tJHs9STxl
RCUmP3UlUlpQQU9PZzIKekxMTEM1SWI4N0E7ZVFAeFdDOT5HRT0qRXphQ01lNkg4Y1NSO1JGdW97
R1hjdHhDbXhCSk83X1FMfUE8KVVfU2JQCno3STRJaCFvPWk3Nmh5XzhNWl5CVGhXXzYtNyNSME84
VUhfKXtvblZKe0oteF97Ynt1RVBvdFN3U3BSRF5wXmNASAp6e2Z7WjtxbElFYztpNzhGTGFJXjxA
fWduTWpFdm0+eV9vMTM4R3BYXi12dENqQWt5T017ZG8pa0RpVnFWMDA5TWoKel98KkRlTVQ+bEBL
WXNOKjlXNmh4a0JRKkd3SzxVfEg/fXU2SVA0Vz1VVX5jaTw7OEY5JkVfbmZuJmhTJmVvRUR4Cnpg
ZiQkM0Rzcnw1SFBtIyFMXjZQZT9BMDc1eGVSKm9eS0Y2TWJPRCh+dlFWdmlSajtebHkhP3lJQHJ9
aF5ZKn5lagp6Vm0hYmtuPkU0ZmdGUkBTTlZ5WUE1WVFiVUR4PHJpblJUa20tMitzYDhBMEE1IVE1
UmEoUmdrNHVeOF45YDRTbGcKenZYSn1oZjJkKzxoP3ZgRExvKSNNSmM9YEQ9fD9NcSpPQ2xRbWo9
dlJGQSUmRjczcEt+NjwwQDQyKTZocF9zb0NeCnplU3ZGfStkR2lOUWJScCkoQ21YcUVvUzhab3lX
S0c7WXlRUVJOez8mc2JodyljSXh1MmpOalEyUSUqQH1pcE4tWgp6ckA0P31vPXM9KF96SlJAcV98
T2trKSEoZ2taZnJicTh5T0lpRSFpVHgoN0smKmU/IyElS1poT3RXTVkrdSpkYiMKelk2fCRoRXR2
U0k7NXd4KSstISp1OzdFP2ojYnsjaUhVe0lhdSkxKmNfKWlEWDFfYDZWe0RIPi0qXlhKWFlUPiUk
CnpnVG5XaWE2bzJHP25MaVpubEsjZkZzalJXVyFZYU5sQ053d3dAQn58MEU4YSFBPztoZyQ4I3I2
aTI1I3UqRit5OAp6a1lfUmc3bWB+fjl2RFFxOTIzS3lSb3VUcj1yR3pKXl8wTlZfcGFae0VjMT1v
bGB9U2d2YVh7byR7PWJnRThJPUkKektQYUkhczFHJn15b3BNe1hJXnVqQlFzKklZZH1TaVkhWDY0
TjhUVyRHbCR3MnErMiQ8SilGWChYKUB0PGJXYytICnpYRkRNfVliJm0yUX1wbHoxPDxmKndSTE4q
JkhnVSVVSkA3OyhAa2V0SkIjKkM0KXN7KD5ZP0JiPWw9b2FDU3g9Twp6JjlNODIxYiEpVzN+X3pe
aD5eOSVHcT8pbzVOPm4lYj57OFJgd055UEV8cXEmZV5ORW0wT31yJSstYng+YntKZCMKem50Unhs
a0VLV205Uk5mWEBiTkdEOEVtfmdma3xZYW92RVlWUFVwPjJ3M08/ZVFkWHAlcnY4Kmd8RWlJLUFh
RWFqCnpHfm1ZNlp7e0lqez08ekYmWTYzc0tCaVZycnIlV0xqbTlEe1ZNaXJHYHlrJTtZZT4oN2Jr
WipgdkcodHs+KWNYUQp6NXROYzA1QmJvVUdudGJtem9eRnw8UzA4OXIpY3g4UmY7Z3ZETWZUZmt9
O21PcmVnZUgjQmpyPiFoIUp3dUdqSVUKejdyfEFxPCRpLTcyPHtHYD9GfjhAajlzRT9BQEZgdlcq
emc+M1k+NX0rNE88OEJoVUlsajxGUzFOdTZNVWtCJDxeCnp3LXdAaEd4K2NGaUxfQVNUZ0IoVUlx
MGg/KjhWM3llQVRQd1h9RXhCPi1ZWGgyPWYpTyRLdCppYyt5e3JKTWV3LQp6SHxOUXxfQUNDdVZz
WCRNWlJsTlVDaTdYM1JhP3dyUThxPEZYYUZGLWZSOXl7MEc4KUR4NiZoRHU0N3tpNWpSdGUKeiQw
UmtRPHd1OD8rKERscjgjdE4teVp3Z19FTDg8PCh3dCpeZE1qTnhuVDVDPSZ5amFnb2k8R20qWDZx
cCltOyg/CnpGbkApYDI7ViEyS1crR2JsdVNncT4hcXlkT2xCN3xocX4lPjdAcTRfYEVsfUxJVnJX
TG9RVFJwanZpKS1fSyUxPQp6KmZwP2RgdC0wfEM1cUNvTVBmc2VHPmg2RmplQlh2c0VSU0IoNDc7
YEh4N0l7TDxfbDJmWlZnJWkqV1g1OUIwajcKeng0SXxqekNTPG1iTTJfVTAte095TiM0bj83aX0q
bz8pZChzWE1tPFZPPU9mWkZ1QT9ecX4lem9aYiorbUdkP2hmCno0OWNeRz4zJWFjZjd7JEo8b0BB
ZntxeHFzcWF9QlVfISNLVFEhNSRQbCF0V20lZT1keVhoLXUlI2t4b2M0KjthfQp6Z041bElFZnI4
cXRtbyM1KkVTZzFNfkNMTzZLMUFhdFYlZV5qdmBgNjw0OGs3SzJvSGt6KVd2c2d+cGpFaVc2VmcK
enlhQ01qNzxIaHdreVgwMWhMJClaSkszWSo5Sm9hWGIwenEqUkI2Qj9BIzBpUHc1U1leZTY/X087
OWZFfW11Ql8kCnpWNyhgZyg5QEIqNiF7VFNJbnIzdV8wKFQ+dCNlQlVOZkt8TWV5KTg1OUojJVk4
TjclWlRXVHI2eGFwTzwofExBagp6TDBPO31WeWI+SVBGNWNJeEMjPCM1YiM9TFBlYE5TY0xaQzFS
NyRMe2doZVpsJXolPWhGbDJqYytPdmo1I0M7d14Kejw2JUF5UndeKn0jV2JBWS01M2F7aHRsKkMq
NVVhI2NgaHJjbyMrQkFFQFJPYlIrNzd6NzkkbyE5S29UVGJVfiNYCno0ZnY/NWR4cEpNPihNZWFs
R2dVP1g3KT9tQTNpX3NXY25ZVT4yUlI0YWpLV2tKQzQzJEVkYHpqYVU+ZFhVYWkjNwp6JGxzcHck
I1JeIzM7WWNxMDRlODB1ZllTTy0+XncyTng9QVpobTJAO1BnOHMyMCQyMEZHOHxhdVR4dmtXP3Bx
NyQKelM4eD5uUWF7Q0E9VlREUVBnaDBoQXF6QHVRSms0SyVtZWJ6PkN2bmRhVldnWCltKVNRUFZN
czhXI1RMb25WWSlyCno7RHxKVkduOFNUZ2ZRR0ZuQXglMyF+Qz1HZ0xMYjdeSGwzfCpZbmlmSXo/
N3haMnxNXnFlb3tIVHlwVz08VW9UaQp6e01LMlolZlc3PXBZQXZRSkFJMFk9YjxlVmk7cTxPYFhj
OUlYSnw1ZmRKMU1HYjBPfjVGJjRFKHslJE9HJlM8c3gKejQwKCRFa05ybTFUYi03eU9AfEg2ZEdS
YXE1aXdhV2N9LTBaQmUyKyU7VUFfU1BMZnJUNUg8a0ZeUz5+Mm9gKCVpCnomd284NW42YnFEP140
a1R1aEAyYDhiPnRoLUc/c35McGM0Ykg5cl5lNClfcihjQnw+biFpKmd4KVB+O0RyeXZwawp6S1Z6
UHExRjVoZT1sU2tJZ29HMkFiblNaMllSJXNfOXdkP2leVVclQVNLKXtMdkxkcVU/IShhWVQzJTxu
eS1TWF8KelVLST4zPD1HaylwTHY7ens0d3l0V2AhRktSWVNGUipvfV9MbllNV2cwMXomYCl6Zk9k
TTxVP2NKeSRpREAhYCVACnpFPHFKM14/WFlsSWF2MDtGQX1Lek5CTjNMQTYqeCV1Pjx5U1ZhZi0l
YCE8TyQ7JT9DLWRCQWktcX4/bW8hQ0I3dQp6LSg8eWg2bDtefEV4UmlRTWMpTVJVK0JAZCVuQnd7
NyNEdFJAeE9Odlo7eUxxN1VWc1U2IUh7fTtASkY/aSVCTXYKejhoWkpsd2pue3RDVm4pNzNqbTd3
UGNzTE1aUiV3NzByZjtMZjlTazdHMXxlYnJpRjtFUGI2SlN5UXV6X3Z4JURXCnopLSNAdl83Rz8p
JWVnMlJQPkJPYEJtUiEhWkh7NEEmXjVfXk1eeEtGI2skalR6NDVPKksmVW5YS29wMzU0XkJoQwp6
WnB0MXgjcj9zfi0wT1ZJeGx0bDdofVMtPDR6XnBfMi18dXsqR3F3MFB9cyVIMmJ2diM7QDJ8dFZt
aERYbSVZaHcKejNWZXlpTF8lamlhNDctMWx+MEV7Y358XkdocSRYYUxiIUFhIz1ScVZadmYraFM4
NmBpKnU3cFVRQEZrUzY8NUk+CnprOyhSbCZEMHlYX0ppRU1HQmgzPlByc0VnM3dXVWxNI1VKMlQ9
WHBuXkdpLXdPN1lUWWFMVkdtQDBNV3FBWVJ8JAp6TmZ5eVordCpiREtfNj9FI3tQenFjST58SXRn
Y3VqdClRSExvMHkjV1ZFOyFzS1hlTHk9ckZ0QmUycyZLNF5KU3wKek4qNmNFeHEzbjtBbFNVPG5M
XzYwT3d+dHk2cSlhMnl+NUlKWitRKVVzSG0mcjU8RmFyPWNjbzJTXjF7eklzaHBzCnpJX0c9MDBo
UWx7MjJwUnlQXnRqXkxEQVpfPTYlcWNDcyV5TWRpR0gqKUh9ckBHS0JCVU5nbTVrTUdRQXRBRVRF
Vwp6OT9sVVdSR0ZJU0BUVUlleUpmLTZHVGlHb2NFZGlVa3Rffkx2LT9mRCNFKWVSaG9jZ187NkF5
b0c2IUlhX2NTRWQKeklSeVFYeE5KZktUYC0mM003cHI3P24hb3hGfUhCenlNYSgzbThLMGJTaT8x
bWExNWgzdjdlfU0kZzVOaiQ0aUVvCnoyIVV1eSFUU29PPylWTF9PRn1YZXAqP05RZzdxNmVTVXs7
ZWNRSl5HKDk2SGJYPzlTTTw9V3dxY1BvY0p7U1Q5cQp6MFhxQj0yQzk5TDVIU0YjYE55d2ZueTNu
V1laI3IhQGc2aTVjSn16e1FrO2p9MCpETm4odUZpWlo8V1EoeiEhZ1UKeiNPbmk1ejJ2I2lySlcm
KkJULXYmK2pMalFPcmxRX1dId3owKTt2RjA+KksrV1N+JUxFKWx1d2dvfUF4aEE9S2B7CnopZnxt
P09QN1ojU2pyNCFgQXhYQSZ+allaNiFGbzBgfjBiMnp3XzBObnJ5fXFCSUx0RWpRSTJDYStAOzRR
cyhVQQp6JHNlUVp2S3dRY14pKXRpQEt+d1VDZTV4WiFpXj9QU0RBd3tqTyNmTHFCajFecilRMiMj
Rml4d2tCTnhmdjEpKT0Kek4lQzZLaHU1RkEyJi1NKldCPn5DKk9XZ3BNYiZHOCFkclBqPFhCOTw5
YDFtNl9EP2ktVVJKeTg5TFowaE1hRX0mCnolRTIrTmRZdUM7RyhabzRlVzlPeiZidj1sKkZ2NmY5
dTZyOEQxekJDIVozMjxyPCQtVzV+Mm5HalJrentlJUprQgp6SVFieTRJUGVmNCUkUTk8KCNWN25C
QGlgTTkqRTJQTCs7ZkImck0qeFdXMVhfP3tVN209T3t7eWdBTl9LTnQhcE0Kej9KNyM4bXA9OTRs
IU8hX3RocjhQS0g2SX5ZSj9gfGYhSGIzRS1TYSlKQ09melpacCRrRWlfOD9MZmV9M21wKzsxCnpo
MnMlUkBheCV4PG16YVZFcmhOJCQlVztVcG07JD5geFVwTGlhPTArV2Zwan1GRGB9P19+aEtOR1Uj
T2A3YmJ9aQp6QkpaWEQmaWNhdTV0PW1aT0B2ZSFMdnpoZzhJJHBLMV9gNGJ3ITlVcHBWK3VPZDY9
S2dBWFk0V05Tdyl2XjJVSysKelpTfj5zZ0R8ZyVGXlA9Sk5OQ2I2cUxaPTNGIz5nQFdfZEpFdTFr
TnxfX1BtOVUqfE9MSk8zbUhvNDF3K3hwKXFqCnojKyhEbDN+MmxFSWo0THpVO1dPa1UkQChCZjJ4
WXZldTZzZFhXJkJ0ME5NPXJJRl5oUSF5b0NESV95ZypWbV43OAp6OWBeSn4tRmtzb0omS2h0KlBx
Q3JHamdSbjdjdSREU29LPG03IUBMSlBqZGViOzxWZ3c8MDdgMkJBZyEqSHk8am0KejtzdFEpb0Vr
fWhgfUgwUW1IeT5kSlpEdm4qc0ZsSExeRmM/VV9yZzc2cmFyVj1+P0QlTF95dnNRJlNoI21tZWMj
Cnopa1FwT1ZCKUdMI3ZwQ3xtPDVrWC1jQ0JzN0YwVTB0N2RHdEUhKGFebWs/K2p7e31sSCpGRzRy
WHtoY0BSRVkyMgp6anFCWWMkaSthQV9mQE0jXkpMWDE7PVRHY0pZU1NneUh5VmdDXypfOHtQZzF8
QSNPR3FLRz17d2xSdn5JRENVY0kKejxUaCNXcj5xJlF4JlFRUUhUWH54dXVSfnBaJXtrZTxKbktN
dU47SEY2VUZBRndzZnwkJkw+eXQ9eGMlVkRkM2E+CnpJV14/QHJkbE5Ye1d9YyExTkRhI0I+P0Mp
O04kMjxYc0tUPGlOamI1WXsldkFGfi04UCphaXNjZXgqRzRPUH1rOAp6UE5MVXZidzNtKVRgUCpO
cWU8PVZsSWpxQGk4dj01byF2NkJYMV5eTE1wfHBGUnlkajNIJW8xNjxmcn4qdT9aOzwKemJEXitF
QH1JPVZieU1jTnpRTyQmem5BSEVIUlZUeCtVSW5aWUZNMkBWI0YrezErNGpUUkl2OFBDcVp6LTx5
cT4lCnpQZ2BTPXAoKX0/Jl5mX2ZTZGppNU8oblNMeWkjZUtsJGhsZ2czI2poI0ZDTE9wUUkwQzgx
UyVBPiVvcFclY0JDTwp6RF41THQwb2g/dEB4VHtURT43c14lQDglX3ZAU3Q+Vl9hO3wjISlGYWdV
biE5ZGxRJEsjdFMjYWJkPVlaXyk2T0UKektWMkglPnVxM2E1Yks5UEswKD8mVjtCbjU0cnRsZyZ2
MnZZe01VMWdwTGJXZ1IoQkhTLTxoPF50TDVVSzdERFpWCnpLUzcpWjAxVztrRHZpYWQtb31Zcitn
bU9XMGNaQGBXa0JsZ2M9KUhTUTtrYVpQQ2VLMSRDVjReMTZHQ2Exe08tUgp6WV8mOFNqa1J8Y1FL
TTt8O2N7YldQZV9pUUJvMnxLd15SWSpVckFMQGNxaUExNFVKdyhjM0l7Q28oJW5BNEg2eTYKeiZX
KWpMMD00I08kfnk1UDJQVG1AMW5lVTtLRE1gRU1fVzxrcW9fMXE8TSZZNG0mQnk+OzFgV1dvOGs0
OU5ZZy1FCno/d1loekpRYWdrS0BtOT9JTiVUQHlxMmBAMnAqUlRnVktWU2p0IzRwe3FefmwzPFFS
Q14hPVNsU1BWLW0pKUtKdQp6Sk5PekFBK3IycytJSSkmaU9sfTVlMDBDd1A8KHQoaEJEZyNvc2hW
JUNRZ09RMj8rd2UmJWV6WEV6QlBqaFVMfEEKeiQ5ZUk8WUxmeiU5WlQ/alJEP1B7NmNJczlMT3hI
dE9vI1JDd1dlNio+cH5xSlkyb3VldXNgdk4zOz5NJUxyY1YpCnpgR21IbypxV31qe3o5SHRITWcp
YGdTY253dExpKS1EKm9GMXVmejFkUWo0QjxMUG1gRUZeM1B3TEp5alBiPkxlNQp6bFQqfiRfcDJT
OXBwM2hlcGBGfUBCYCQwcXQ5fXYoanApcEI3fC0kQ1ZlUFBLOHReTz9zek5Oaj1RP2w1IVQjamsK
eis9KFlkdzcwP2ZyUHZEN0E3eFV0d3BrSHYyVSZ6JU1GQ2E/WjF4cWFsTUB4ND95QH0+YG5SKGlP
Pzt0X24yR3BfCnpSYjtXWGBTT2tTUiZZKj1MdVR3PyYqO1E8XilMSDdrWiVJSXZCT3R9UHFqUypE
bUZuWlV5VmFadWRvU0NtNm0tMwp6UjE9ZHpqeFpJUjU+KjY1d2VGOUFYfXVBcVc5fDV+SkU/cjc+
aHFTQEBuPyFyWnt7M01YI0JuNXJiRThlPi1nVX4Kek5OSHYjdyQoZExsZXpKWmMlYWAhJCV5KXZu
TkckM0lVcTNybkM/R0wyM0Z6UTw3S3JsZSg4fkpzMD5vIWNqRlcyCno8NF4od0prYklGeyt0Nmpr
eiN2NkRlZihXZGtRYVZGQ0ByPFFTU216I1cyZGVxTH59KEQxSTFYamRJZ24qcGk2Kgp6Sjg1PyZQ
e2N+bz5Sen0pSiFqVWY/JHR5d2ZlVnNTYVdhSF96JFlxP0piQzZZIyNuJXtNJCN5JiZpIS0kc2BM
fXQKemB3SkNwLW40YitMI202LT5gT3VwYzh5RzN4cUY1cVBCbHojNlhXbjZMejN8Nmo9YHoqKXFq
alNLfXJuYCllN0czCnpNckp5e1hOeHxATEBNa0tpOCFrNz9aIVF2NXstSz9uRXsyflBFVD1YV0FI
Q35UNjhITF93Z28ha1dYV0FNVWNTZwp6XldHNmY8KmQyWD1WO196cV5FZ2NYcVZSfj8tREc+JGgl
JH1gfmlZYnhZdy1GZ2doRE9YdCoyNUdPdm0mSXhlKF4KenRxfUJvI1UlNyFKVEhNdmxJPjF5KGlQ
V3A5TSRscko2KVh6RkpLJT5sbjRJfiZtUmw/K1VRK3UrdWkwZ2t7OzczCnojSEhwSyFUeVIkenNG
NUd0NSNzRjxHVmd+a0RTUXNMSjZTYmd6JnpacnQwdH48YzZ3Kmhidm00SFROPykjUVI3bgp6T0Aj
XndoY09jTlNXa2pHVms7KHNTUihDczZCVUEpOXw/YGZTd3JHNnYoSkJYTVdCe29gdlIzfig/dlYq
aDs/S0UKendfZFViNHxIOyskUiVjZDRVJHJgZUQ1QTVNKTRtISMoZ3R0LVBxdnNEN0QlZ2xpQTBt
R1dTJFZ1alpVdzxte2ZUCnp7eVBNNjxocGF0SGVOcGM7YF9Lekp6X1Yqd1AlbnxARzslLXt0dFNs
MHRMZGM5TnshbnNHc2IlY213NDBPbjZSfAp6ZCYhKWpLaCZ7JCZIfCt7VjtNbjcoMy17VlJRKVNo
czVBWT5zKVJ7NiNeZ1Z6QkxASmh7VEl6NjlIYUw4RzQ5XjsKeiVqPUl0QEsrVmptNlcxV2gkfDcj
eCt9VyY3RyM/bWZWWW19UXQ0Tl9fSXt+Uns8RmwtLWdpS2dWRkg+M1dZXnRpCnoob340eUpYU2Ff
Z0NzbmlQbXtxPDZDYjBmKWF2Izg4PSlLeFg3fDQhNzk9QmlEezIxczNAUiViNFp3PklLQCN9RAp6
S1J2bSoyQVFVfDRLPDJMb1FqTDQ2JnUxJVJEfkhPaWZON2pCVlM4WCFAWHhGcjNTYVNPKzlNOCRm
bE1qY1dTX3cKekk8WiU+RmZQeGZ0RjEqdXk2Qjs8MVNNYihYYktxP3EoJHF9OU9uaGJ0UG1GPGp0
OVNiaEdmK0pRKlVXSEJybn4mCnpZdzdYMnRiU2gkeSRuWUQ1VlpgYUZPTTJ5OGl5ck1fWHdINE97
fjxfZzFxXlFJbUdrenRPai1ndGUxQk9KUzUqSAp6aDd3PCUyKG5KQEBCfCh8d3hQe0E9KWNodjI+
e3NnMmg+dzE3RWttfGYlWGcobV5SdHBMZ3k+ej8+VCRrSTh1Vj8KeldZWXgoWChGOXpwJT9AZTtN
NT57ST55fjlBfEhWdUV6dilZPk8pbksreiM+TXBFeDFSbk4jcCRYby1+KXN6TG1SCnpaekhQUCkl
fEVxeWVgcnVMSiFoJnU5fmhiVjs2IU1tJXpIKG9rVm92byNIYGcjZ2NPayh5dHxGaz81UEdQfE5a
Vwp6emshN0U0dzEqR3pWS1BiLSM0VERKQ3pFYUMwX2NOK3x6VTV4MVFReld0byV4THg1QzVNUWIh
RENKYVEpNWZqUW4KekJeTCN0aVA3JWdpNis0RiQ0Iz9zSCghR0t2T30hcyR1O0g3MH54QHZ4SHVC
bmhUMkhOMjM9SldsakRsUTZeWCZBCnpFfFA+SyNCIWlVO2ZzNGYkI2FOXnFQPGp5aT9qI3NBIWJy
VlVxfG94QlBMI0NJSVpwPnJqN0p6NUhlRE1wOWc7Xgp6O1Ixa3RlPCs9OXVZQDFycmBAQm5hVC1N
aC1SVUBlKkFORTs2X0RJREJhciQoJH1SOX1NVUJLPjNUVGprTHxIM0IKekxLZztBaW1wNiVNOE9l
ZEdjWkhQQX1zMjsjaSorQlRhTV44NkoqM0N1YU89VW1XK2hidGBLJnwqWSNCRkV6ZSpRCnpIa3Z3
N3plbElTb0JNSjwhbWZIfV4/P2E1ZiRpRkAtVThrei0rclF7ODhwZCZDcmt9Q18tZ3BLSllvKSls
QlU0dQp6S31Yc0h5T1BCRypDYE51THtKKER1WFFnQUxiOXA3c3Y+Plg4VWc7aUIpOEtIOG9NPX14
X3BgfWQ3UCliX19oSUYKejBiLTA+dS1aNFBKS3pyYVA9PVNmV0Z5RzZBNUNAVFc8Zms8bHwwNDx2
VGtYJlpPUXtSV2lic0JfanVTV20wLUE7Cnp2bnElQzRJSXJVOXAmUzdkNWF4M3I5P1hhXjF0al9J
ey1OMEMrVkhGbXQjO1gjSEQkfk92TH0+P1RzU35OLUc2SQp6X3RAc35gWjZOcGRLU0xob153ejQ3
LUlEZztSPks9NVpjYVAyLV44d05MMEh1WGErcHpWIXJxMjdNekNGJndkX1oKeklOIVEld1dYSmVa
WXdGO0tZYFQqLX16UG5KX09NZz56OTAyPnAwSD95Y1RESC08e3I4YkJQc2N0cjRCV2p5fEMyCnom
Tyl6TURqcUktMDtkZCZNYDg0WlEhaGlJP1ZQXzgrWn13JG9JOCU0aGc7bjtKX3VNPDclOTxGTSUz
JTtIX0NWJAp6MjlKI2RhakdjflopKGhyR1RYKyNhaEVrUnhUPjluc05sWHs2O2RsNHc/WTArXzlN
THx0YGNLflNEMEl+T0h6MyYKemRfX2lEdz84TUNFaipKNiY4NyNSbHVLKzZQOEZHSWxUb0JpUGth
fG9gQXBybkB2emhmJDxvRiFSfXY0RDxpT3toCno9QXhGRkg0Y29sQih+JlU1SHh5PDEle242dkp1
OEdeWkRqclBOPkI3STtob3ZZZzE1PCpVMFJRODkoWjQwP00+aQp6RzRETFEjLUAjdXlpSmcqaD0j
UTt3RCFYPjs4UH0oZHhOeHQjZm5WemY5QTVjMCh1IWY1bmd+TlYlM201KWVWO04KeiQxYEd6bjko
V0lKJTBwbllUISEhWDJrSnBGOGctWD9wNUo+QW94cHRpZEBpcy11d3p6KHNDdlpsWG1PYEkjd2k5
CnowMDF1ZVE4dW4qMXZMdilCUmhAZl5EXj0+eG8maGQhQEc/YE1jK1gpWFU5OVNSKkN0PkpRfVB3
TjVWfVFXTzNgUQp6Kjk8Wkh1cytOaW0tPDYwU0MjK0FUcmA8QEVJbT1ydVVDKDRIektzMkJPWWkw
NikyOWA5Z1l9YkxkIWUpKnxHKGoKek5lIXtTV3tCQ1ZDcnBAX0oxcz0tKUhRX1AjOFB6QlImdCN5
RSNCc0pGbEl9dCp6TXclem1SOGVWI2E1QGZAOTVBCnpiRzd2RTF1PihOekQjMzJSbExsO28xXlc3
eGVDK1p2JD1kKj5BPkNlQnNqWGltXmM1PnFfLUElekB+PFc8I2ElJQp6U3JEQ3RLc2JgWD4/VCRE
c0t3M2JZfiN9Zz9vSX1xJVMpdTwzNE9rT2xLU2JhJGcpeHRTJmtNLVhFO3Bqb2NxX24KeiY4cHk1
VGlPKyM9cXVxa0pmWWhuNDNKVl8ocFM3d3B4Z0JDPEIweSErekZeSzV4bz5hXiVBVzsxdG8qN3ZA
YzN5CnpJXis+OCFjK0Zhc0ZqenU4MGtfPkRKbXt2WEoyclFyWmBYfUEmajNLRUxlbjNfS3VyVTY9
YURmSjtxXlFoPnZ3Zgp6cnAwZiUzU2cpeTlvezBFSClyank7VkRCYVNtPWU9QiQ0amw4R0JgWSp0
SkE2RVB1QU9FMTI9UnpOJThfRjBfVmsKemBiakJ+MClYM3Bgc2o+d1ludnJRKSZsZFJeRn42SVoz
bEUyTGAzI31zXkRNYHw1dXtlPTdRKXFHPEpUJWlNQV9uCnpEWkBadj9EfkU9ZGd5M0QkMERkTGIp
MXV2bnBpc19hQ3J2U1BTSFlDcztMTjMrOWpATj97eTJ6XnRZSj1QeypkSQp6dyR6dUtlcTtkRFdh
aWUkKSVufCMmIWZEUzZYX31rJGx3czcjM2wjJkxVWkh7Rykwa1d5UjZhRyh7UUZ2M1ZSNUUKenZZ
VSg9N0FSO2cjKUg7ITt0blUxcHtEOWAtMXNiQW4rMjNvMnBsXnUwTWpkdSM+JjJFeHF7N2kyOTR3
MjRjSmBSCno2biV8IWkoRGohSk5xSj5NUTd5fE5ubnpzeTVieyMmIXhUVktWQUh4QG04bSokNj4+
VUo4OF8jbGVBS1hSZU1faAp6WiRYTVlyWGZ6PFc+TEZqKk5NO21YSFZkSkp1ZT9fPyYhOCpkeDQ8
Kjk+PFVXI1dXVDBhY0heZVFTQyhtKypCP0wKemxGP0dVc1hzfHhvclllZWFgNTBibCRLQS1SfXUq
TUZ1S2gyKjVEX1RfdiN7R1lQQ2FiXyVDRHVnTEBweFpgIX11CnolTWJZJSt+eG9nMGJ6T04wOChT
SXZMY2VneTQrN2MtWVVsU1ZgfFNRZ283I1lObj9+Ry01YlAjJU5EdElZfWs5cAp6VkJecjBIV0o4
aXBAVzRRRysmenNpbDB4eUspZSUkKFFqUWZrVz1VaG9yfUY+dClKZlBAdW98OE5EQkFieUpZd14K
ej1nSmxzLUFMKWcoTjFxIzBNVnRMWkd9dD0hZGlsQVZXPVI2VzhDQXZGRTFzYEpDRCpHNSloNTBw
KyMpOzNMIzNpCno3e1FZKGxNSENRWkZFfUBxPHwyU0c4JWYzYVFKTENwUDYjMXo4bHlfZVkzezVx
K2hacF8hMHw0cDstWn0qVVJ6QAp6SldYfWY4XnhnXzt7eHN2SWw2dUB7cnV6YXstPnQyMih5Vz9S
QjUpPUlZJHM9dFAocVFDTmdgTDZeQXA8eWpFMmUKekVRdCp4ZHZsUmVrYHopcVpKYm5rJkFnUmh3
NzdSdzV6PTdAUiN1Ql9VOWBOTFAofWtrKkxxSHpeZF9ffW0/TklhCno5YyhwbCQmPGp9eVMyPzkz
P0p3ZU9zaVNfcWJxMW9fYnQ/O0p6LWJFeWxZensmUy1mYD4waE9BSD80SzQkcyliKgp6XnhZWnIh
KU5NMVp1TkNSPSU1JSNueGIte3ZKaV9vRntUI1E0bGAjNiQ/XmNabUYqfDU/RyZlQWo0WW9meE9y
LUMKekNtQlFiWDlDaVUrNlk7fnpuTjh5OGFiZFdVbl97Y1ZsJVFtKFZuMzdiS1VEOTU0ZUZUSlpk
cFAhU3g9N2lHIzxLCnpTT3g0JD5MaSQoTHUoKTUlQVM7TmgxQCNGO2p4VTJAZTBHLTQ1I1RTMGBC
dC0oYnkrJjRrSkdDTThROWw3eSFWSgp6S1ZzN1A/WSNVNT1mUyZAVjhzajsxb2thMEp5T0dTJXd4
OXFTVyElcTRpYDUyKlk1NmtReD1ufWd2T0RuR1UoKnAKenRgfEVuKHFaJG5aUFBvVV8pUWdLQ1Vi
YD12K1BmNC1lemBnQFk1Q0tmbUlTUjVqLTBRSFZ1cH5lQHhUMmIrSFlDCnohNG5tNDRJeVFLd3tz
enRyXjIqNG9zQ3dpX01DWVQ1Y3RjV0swUUMwM21iZFgoVEp6bTdPQDB5X3RBQUR7bVApSwp6S0xt
VVYwTkQ/ZEE+cEJDQzY2SW97cSpTcUhwRGxrXmtCMjVnamlwOTlSNENiLWY8PDVzdDx6VGsrUjJ8
dT92OFkKei1vKFpJMTxHSlBvNXErJE1sRyElRjgqSFFnWSVqVV8/Skp8OC1IVWhucz5hMEVEWC1X
JVplWjBVVXdiKExnbiNtCno2MiZzR1E0TVFwQXJGXnBzYFRzTU1AfGB2IWZ8Kn1QRFc5bSUtKkRz
U2BKTjJUPFlXeEY9X3deXnBDRD9EaClBIQp6P2spWkxWYDxJO3VqN3R9aVh6QWI2RysmIV9yXnJw
TVJPVFBRSHtLSEd8cjB5NiF9dzYmYmFeOTk7UW4mJG80cTMKejRnanR1YDdePF5KVChoR1V3d0lg
P2o4UyRRZE1TQnt4YW1kTSZ3X2xTY0VSWGVFQiUpXmYlQkxVQkJhfXg1OTdiCnpFOW1MQ1g4YmEk
bk94WiZXLUBJamAqdEtGcE9BTj87bVpBPHlyaUF0a3pgZktIYkQpKntzbTJ5QkZCaEN7ZngoOAp6
NWVGMTNCTWIpYjlMdyhZdDBANGRLKSRgcUZkWSFkUWopQ1ZgUkUwQ2pWeWw/Yl9jPWRNIWk9akJR
Tlc7RGpXXlIKenFzUTJLJUZDdnkyQHdnQGBOVj4pNXZMdj1YfWhNYGN8flBHWGczWCR6THdCPjY1
OXA4ZWIxenwlb2lUc202LXxzCnopdD5TVDQ9M01VNG13Mz93NlMkVlo8Wnp7OCZBdzdHaHlSciRu
Km1YQDR0RTZLZWNLTyh+PUF+XzR8SEYoTHwkVQp6O2N6SHNhOTFYMiQqaStqcFZrI2RYVkNONyNu
fDNPKnMzXmh1MkpnKHt2QUtwWXBsTmB3JWx2ZFM1d3ZMPH5icVEKekFZODxXdytHNCsqVEZMM0k5
dUBadihVUlhaMTxEV1dyTFApMGt8VDkqSDtRZ3tXJWNIYT50bGtaS21+bEA2JFBUCnpDbishPGQ7
KWRjLTgkOT4kREYkVHVFX28tRT0/VmZPOShxWjg4R0lUQiprRCV7fFdHX3JXPDZ+KztgSkkkQm9N
Ywp6VT87bGhGKmIqd19YOzFVQmkhPGN1ZyRNQjlmcGVsND8kT0wqYD5NQUIjZV53X2Azbjc0T2pN
NThTNVo4KGVROGEKelJkentZaFFqMVgre01+bGYjMyRYX18+O0lmazB7Y1pjU0c0SylJMmBGWHxa
bmlGdHg+anFIcCVhdGQzQHFKUFpeCnomMExrWnQ8UG1GVWEmTztQcyVefUNQbn1WKH5tRCZJOWVx
QCglZFplNEs+aThBeDM+TUR4bnNGd0QxZzlLNlBOdQp6ZEApeSpuYSRqNFY/VmNRbHZpa3V8Rktj
N2FxOEpzTm95PmdLWkgkbVI/P2w3Q3dXc2R1Pk1DKntqZSlrQDdDP2EKemwjWDdoSFh9Yno0NyFE
aVkqbGc/dUhMb1c3VnV5aEt3T2JlUTxnVVVUZVJ0fVNXMHkraSZ7YTh3Z2FeIWxZZXRDCnppO00m
QWdYamRpSUYyNEsoKU1zO2Q4fHRmXkg3SUV6UyNBYFMpVyh7X30+QVRoTm4oJFd1TUluWlBBN0BY
PH1eaQp6PmZEOGxtYSFyIUlfLWRmO2FXMlBRQkAjfSExeT90RXFUezMhKnAmekx6RF5hQjtaXkd3
MGdmWmZsOUZHVUEtZ0QKemI/eWBJJHJYYDJYNmZBfHB9blFFN3FuU1NhZ0BJVEBuMEFlXm5GJWhW
KHZXcCtfQnQoYnRnbTglampYQlVCajNkCnokdngwOGB6TE97T0A4I24zSUd4TkwxdlMle0c2JVBI
RzYodDFSdndwNVFBQjE8IzlKcEFLTFhAdiN0U2VTSXEwXwp6d3k+aFk+b1BIVyowYGg8dkk3JDRA
PWBxSHomQmFwdDttTWB0SFdjP0BNMDtQQCpfYzF5QyNqaiZqJWtxSy1RbU8KemFkfmtJXmd2VTY0
OHQlYD85MUZRKVRxcnVWM3E7JVI1RCF1RWB4eV9SZHglU2AteH1zQTVKPGQ2Vm5kMm0pNzZhCnpH
RXxRJU0hZUd6TWJkX1Y3emhlKDcpWlJDaW8pX1QwLXBtKipHWldvIWg3WE4wem1AYXJOVn48Tnop
b0kkd15kSgp6MW4kPDVaOFpTY3RCMm8+Z1AwKmBfQHdFcTZMNXg+UEhCJntjQTtFMEZQKyRLQylm
TjlXTSl0NEI5UFFnMShKdzcKejB6enMkI19PPTdHflN3KHBpUSV7bmZfY3J4aXxINkM1Z3c0cVZe
eHVDb3ZecC1JNSNeN3FVKGJKK0Fac1FtODMkCnptfHVkejk9JEY8XkVAZzVofl5KQTRjaj9QJSlY
JGw+VXpESlB4ciZaNHBge1MyTllnTG5BNkJTSjVEPD4zNiZMYwp6YGVJa35vLV82OE9BPWFpN0lR
a0M0Jj1lUUdqQEFnNCFlP00yWlVDRUA2YH0mcHI+S2tAfWAkYVAyX0N2QzF7c20KekI/NjVqNyZz
KmpVK3lVQ3pRc25xZTlMXzE0cW51WXN9I1ZYTHZGYypRLUBfZSt3SWZ1cFpybzkpI1RiaWx1QGRz
Cnp3NTJeOUo1NDNvdl9PQ3hnemg7VW0hO1FOM0NZYjR7SiEmZEZ4al5Vd2FyKF8yIzhxNkZYZ0xL
JjxuY3Ikc0UhcAp6cGtHfEhoJHlXNXlZfnxPWUN7XmtDaVhgR3JtTjdqPylzP3BpRVU7OVRNQ0lw
M2l7Zjx6fE5aKz1WWUtJQHc4ZGwKelRMTS1rMWRLSTcoN0paMHk9e2JVN2oxQT5yaV4yNzhhcVpl
az00aCVkelZNVE0/MjVxIzhzP0I0Nkh3a1JkZklsCnoreUJOOUlPU1clMldiP2IoPGUzPCgoPmMm
VzxjWT5rO1FTfiE9KjZTZU5fajNwSF4pMXFEO2RlUVJ5fTVDWEU7dwp6VSF7Xl5eRSpkekImVklY
Vz9pS2QkPHVQfSFWUn1Ud35wdVFRIXwlXzxVTFI2X28/cFQ3VjJ9N1pEKiYme3NDMzsKel5ic1Iz
dE1KI0loJG8lfVB1Xl9DaWx3OHd7OV8rcmM0TWx4UEZHcCt4WF9oS1l7My1Makc9ckRValJycyM5
cCRRCnpOd2ZzS1p4Z047KXlZeTE1VWhEJkFeRGJgWlhRfjdwYyM0bWB7MGg3VnV6flZDc3tzeXdr
bE5xaTl1c2lXUitYUAp6WWktekY5WlM5RUgld2ZXdkleTXQpUjYpRFNjYTwtRT1yby1VQ3BeO0ty
YipEcF9nT28oXjRTakA5amVlZSlURksKel5HQj90YEpvPkh4bUkqaSZBUnJQODwmfClAcDZGck0+
P182NlBPUV8yNCYpej1wVUQpMSVMcDR2fU5HaUFmPlIwCnpBS2dzdXFyUD9ka0lrUlJ4cjxKcTFq
eGM/KzJhLWFePHZyOUE/Wndiejw7dDFxJVN4dEN5QGh9YXQjVTgxNlQ3awp6V25rbk8pPj92WlFH
SVpDckplajVBN1JiXmVYVSlAcDNhRVk2Yk9+KHpWVnB8UnJpdVlUfkRkd0ttdEJzTyQxek0KelF4
eTAxV2E+UjtVM2dtJmsldDwqcS00NCRLJWxtdkJGSHJSZUtTKTRkTzF+TWdlYiFYJiQoTzhSVDRV
RHBIYT0hCnpCbDdYTVA1b3JpSH5eRVRCfnFqZSZ+Qj1rZiZ5RSlQSUZ1dj12eGhqeShjUDZfSkVE
TFIxdGc9PHQ5dSNOOSRHawp6N0MjXmFiRGpCaVJQYHp7NG5tekYoRT1tTEdyVlZxTXFDSTJDRX5j
TlJlYnNTSkZ6KXRMPmE3P3tUM1pjdkB1fFEKenJGbl99TkpheV9UK05xPSZDcDtseW5vKXhMQTll
OVpUI1F8KkJTc01DRSVsWG9SUjB2dm59cHhoeHc3Y19LWVQ0CnowbVh2WWhFbzx1UUgyeT03eSZB
JW9VcjA2TlIjUkJZKWB2QngjajdCMT1YQXEpfGB0WVoxWERXa1o9K0tLNmIwWgp6Sk0yTnozSHx2
akIoanlzPSMlTG1GJE1TWjZPQk5qa2w4WnBzTTIlZyFxaTZ5UUApXmMmRHZSWmRDbE5obmVDbDIK
elVxX1kyKDlWWFRUZ1BneCZ8SnZJYnxiIXdPMEhrT3hidlZYPjE1IypJSiVKRTYjTW1zQ2dwPWVD
NmQyVC1Qa1MxCno3WnY9NClSP2M+I1VgNn5LLXB1WGE+bk84SCtsdE9JfFduY25JfTJsZ31le25K
MHN+akNfcnF5Uno8IUQjaXVeQAp6MkRwdEJwQio5JTUoKE10P1B2bHB3ZFBqMjNNOEAmPUl0a1Fs
aWVaZVohdnA7a3tCWihjMkxYfXhkRDFFPDtKaUoKejExa1kzNSVFSlpEOyhtb0VEe2FDQ0FuJCs1
YnE2MVEhSy1CTDxEfUNYRUwmXiNmVkxhdnMxc0tiMFlPV0FhOHFQCnokYjUxTnp5N2tIajk1Mnti
KnFpRm4qIWAhaDtNOTxpbzRgNyMhI3lhVE9ARGMpYDVgNCZvPFk/RDNvYDJOTktAegp6XytLKXI4
ZVMwYmFIYklyb2FjVkZNd3dNOzIyazRwPiY1eD5VfX1BekcwPyV8YmhCNX5JdjlwbXtGI1REMyFx
cWoKelY2cHkhZndKO0dtJEZLSyo+bTlBNUI1O18ja0leSipCWXc/JCVWSjYmb29RYFRfbDdMMEkz
TjA9Km9AMndhU3ptCnpMWGBlOUxrQ01FSy15ZFRrXilJQmRgd3dSQWJlUk55dWJfUjk5WTNtdC07
MSNMNlpZS2FaZn16dDEwJWtFVDhmMAp6bWVsYH1Wa2pzYnhnJVJxKlk2TCojfjNlc1BgPH5KSSFw
S0pmISEyUHp1SD9WczFaUm4jTz1XXztyVERiVS1scFoKej9ONTUmcUlmamNpaz1ZIUlLYnt9alpU
N31yZVFVc0hhK0tPX2s1PTJNXnNlZGM2PkJNbCo8RWgkd1F7TzB0LW17CnpvQ2A5Nmp7Zm8hM3Fl
VzZAdk8pVGEpTihXP3xiVUJRcilBfXVUdHs1dXMxKUtYNEQ1STM9Qz1nNik0cTBuKW8zVwp6bEFE
RTk4STxRM0xUSEQwUC02c21faD9+U2tpY3QpQitReileTWxCNSZSKG4jP2dCTzlzQHR4NEVUcCsk
Y1ZEP2EKelRCTT52bTQwODlYJGxlX2ZrcGhjWGF2JDdAWF51UnY4flhlayF2RSZfdzR0SD14ZnxD
IVJReVpqJCV1YkFnJmB4CnpMJGlBSmVVNCVreyhEU05iV08yRUNaKSl3JmEka2EtTFIjJjxtK3Re
eyFmZztubm9gQG1oNGQxQ2wocklBODhneQp6ISFlfF9BNGMhRD0tfncxe1RIMEc1M1Z3e1NXSCUl
Z3JfbXVrISs0X2taWWgpREJUSypSI0NTM2loMk0pcTN3SFkKenxEWlVBbTQlK2YkYT02OXw4U0J9
ZFZga0MtK3dBMD5SNCRfXzQlX2FsNW0jYXFzcSZtWjk5ajEzbTZCMm0+cGlTCnpKdz9LPiNOWT5O
MDRDWE9QTnAmbmg0cXEhektFJkteYHwwUVJRSWE4YEB3JjIrSDU5K2U0WD0zQih4I1pXQTRNfQp6
NnllUU0jRlNDUnBPcUgyb1ZvK34lKUlee1l+N0xzT3RzT0pWSEJQSU5sQDcrT3cqfGRfeFNYXzMr
RkRoZE93XykKejBVJmNmb0VrdUpDd244N1N0RDxKKGFrdTYtUFRyVCUkZHc9K3tCMU4xSj1Bb3Mz
VTRfbHB9KHdKPnFaO1hoKWszCnpDbiVeVGtlMnJmUkk/eX4wZiY/Z0tDciZhK2thKl9kQzB8MTE2
dDNOQUQmPnZ0JmtXUGZZNH5FQFdOSyYhJUprWAp6bmQhLUJiTz5YN0EwKTQ+UWZyX1FwPGx2Y1A+
UGRvWlozM3MyancqPyorbUo/ZnlscXpyYUtwTj8rYDlyRX1DRz0Kekl2bz5FdldwUHd7am9YcSVv
I31aRFVHe1BiSTJlPHE2YX42YyVEYnMxK0VMc2ttTHlgVCtyNnF4UXlufDBRXmFrCnpsWU4pXyVl
dkY7QXJ9cDZwKiRra2d2ZEBDcW5GSUU/SjNtbj87Qm1IJS1HPVA1STMxLW9YVENsZ0ptREtMZ0lE
eAp6Wm90M3BhfmZMRCRJezl5c0pnNS03KDNRV1pMIWleV0I5dmswVFpPN3dyX0NuTnp3TC16a1F0
aWV4VXZBeUZVREgKemx3LSVqd2RMRzZjdThpNnAwaSFxNztGNytEV01eMGdSTWZfMSsybD9LIWc2
M05LKmAkWXJGK1kkYnUpRjAmZ0Z6CnpyT3dUQzVefnFzdmQ/KmprOU5kbG8kKjB5bzxKWHx1RH5R
R0RvfXlfQ01fVTd0WnxxYEA0RX44NyhXUlNoOU8+Iwp6dH51fEhTWWs1NWNvVShGYT9EI2M2KyZZ
WHpkejNmWjcpMG9uX0kpdyFJMnEwVXJROzhiNllqWEVjTWF6Jms0a0QKemAoXmlKPFNoWStaZHVW
Z3lNOFV4TXdvSFlTN34/SG9rY3ZIaDBOQD5uMVQjaHl+bnZ2bVZaenZCcUdiRCUzPG44Cno3c3ZL
QFc5dSVrWVAockFeI19YckdXWH0oSWZQMEZAbndGQkFTcEM8Oz0yQnYxQHc/eyh3P0F5KkdBcFFB
N1QxVwp6bG4kKylRN2BgNURKV19tITxCJGBUUE5rQV9sYzI1ZyV3dkFvS3MzJllkS2wlcE1LI0Nl
cjtLSkl5YF8oOGslbFQKem9nIXtraW9xcUtFX0s1d282JmZYbk4xb3Zha0xuNE9vRz9sWlZVRyZj
VGRgSy19TDxmZilqbn1MS25YMyUkdyFgCnpkJHBDdSsqdWVqeGNjUVljME91V0BpPj1mZHlUIWgr
cyt9MDhpXzZ3bHlOc0d7RktWQzFkPU9KRWMhRS08XmgxYgp6e2A4UVFPRyhEVjhEMlJgOFQ8TUtj
dn4xMGMtVXV0Vm0odUlQQUZAVGw8Zk1iVmdkMmRSZjdEVT9QTWJQJEZBQGwKekV1KjslYzRsKz9g
UlRxTUZxJlNvY3RlJTlpU1phOXhrYnptP1hya25VWDw1ZzBHK1JSLXdWO348fUUhVTxDLTBBCnpa
RXgwRHUwP2x5RDZjcF8/NXkzS3ZHRUIlNFBpZHhULXtXP1UpaVNFQjxASGEqNUh6dUFOV0Nje05L
JVYwWnxDWgp6eygtZypWaUNiciteX0BycHhHRnFLQSlMU1hHZmNaTHA9eTlkazkrOUtQaCRUYz80
V0chKW43a3s9RjVScz8hU0AKeil1UHwoY1AmJXZlSmRiTDdhaD9Ibnx4Yk5HYUdCbUNhaUdvYEs+
Ums5RWg+Yyh4aHgyS3NtcE93Syt7VzNgfnpkCnplVEM3KmNoM1dmcHh9aTQrKk0qUFdfWVFCTj5M
VXZmQmlsUDtrIVc4SHFCNlU0djs9cksoXl45Ums4bEVuMHE/LQp6cCtecUBoNXc8YXpMfVMmbnk4
YUZPVk5aO2FXdk1ndUhuPkVPQnxMRWJDd3dUZHNhaiVFVTt+ayNqRVQtem4xQnMKejRHUjtlaF9i
U093a0BHYGYjWkItPGJwWlBQMVI9UVU/cGglZkBGQ0lWPzdEJnohfiU8YDBAeEYwMTgpUiVpPTty
CnpuR0NiKi1AdCpkU3B8bTg7aThDS29lVEh1K3JtTWlrKSRHRiFKQ2NyJUpuMzwqQyYodm9BJW5V
cmx+cndpcnsoXgp6SFBRVE5xTkpgSmNTSj1mI3FuMW1VNHpMVWdHJTtuSGkyMW9VVVRTYFRUaG4w
amM5YT9ZMilXUGRMclU5b0kqP2sKeigqbjRuPG1LZ3tEY3sjWllNYHUjfDJnOHApMzl6Y1V3WHF0
Z3BPJmFLSiFycVNRTnNEYVk0bUdZTXJvOHBSI348CnolPkd8KFIpPypEKXZiRHxaKzdaJkpiRTtM
OUchK0RjTmpoUDtseE9Pci0ldF53bEVPX3NoI1F7VXtuQjVxOTAoIQp6MGdrX2ExT0tWQGQxb3dD
PmhtTUdSaTxHQE0mNWJKJVZEYTFpVyl5Yml1MnJhOFNKRWBpJHBBO0VpTmR3QU1pJU0KemRQUXAm
IzxGS1l7UUhiZ0dENGw2USkmZF9oVFJZYntPWmkwN3h5JiZxSFZ1PFJRVyomWkl5RmpsTmU4TEpm
R3BECnooUyhDe15reFFeS15+QTcjaklmPi1fR3ZYWGV3XmxqWk1pLVhDYUV8VXFUO3tReDdLQ1o3
ZiNiWGNuRmpVRiUyNwp6SDFuTTElRiUoOD42X3Y2WTFGUHI0M0FIeCtre2E+JjUhMy0xRHkoWGI+
YDJte1lEdVZiSUkwZ05LSFAodVRocTkKelk8VUFGKHY2LXhIc0VraXpZSGZfaWNSI0J1endnYVds
bGowTzNfPVZ7Rmh+dWxwbjhtdEZDbiE4Pl8/QD97OW5rCnojWFkmQ0t7Nk58e0dmbUQqd1cqdGls
XklnLU0zI3VVIW1aTl93ZDd0NmFkUWghXipycSVNdStgNDFiOSVpNmUrKgp6ZGtLS15hZ3xDJV93
WV4tMVZ2LWpDNU9Nb21wbzM7ZkE4P14yR3hULT50JT5LVkh6Z0l5JGJ1R0hAVWwqdzdyXmQKekNm
Mio7LXx+cUlJN096RnQ1MkU4VmtYSEA4dHAqR1l6VSlWP0xGNmY7d2dQZF42dVJOKWVfdHR6dyU5
Y2BpaSFuCnp0QEx8aWc3X3RnKFV1fHgybHglS1FZe1BDO1QlbjN8MGNZQzheVzhMJG9wI0c1ej10
NThHam1Me0pFZ3RsZGRQPgp6NCNpO21AQWV6dENFTTxDY2QlbXA/PylZU1J8byR9TGJrMypDJCg8
XlReQGxzRTJSIXY2fDZFO2AydzE2d2ZFNmYKejJgajhMUzM2JUIpXj1MYS1FV0pPeG53V3B6eVMj
e2EhejZmbkRgTkBMRjRjZUI8UHN9bEJueXN3UiFvQDsmUHNzCnp7KiZXbT5NeSROaDU/ciFPYXVU
PnNoYD41djhxSElINGY2ZncpYGVMTlo1SlE1T09lQVded1Eze3UmJVVEalZ2Vwp6KSRtMmxqR301
Q3pCJWBaPn4kTGtNeEVHU1J9UWRuMmNteU5SVnR0aC1uSVFeZjdmT3FqLUhrWFZwSzBBLV8zRUgK
ejxlR3NiRXlxSGQrOGNqSVA5WnVqcytuZyspREs1eFI3PjxsN1M4YjVQRSl0aS0oODlUeGVSPlRN
bU1xc3hfO1drCnoqfntQNjZWY3cpTiExPEE8O1o+PEp5NkB+U05eLWRpZ0I2YUxmbUEhbW11O2RG
RiF7QnJ9dWFXQXBwdF8pXkQpcAp6Q0MrX1opMXklTEhUTmdgXnBnNWE8c0UjY1lkd1pEMHVIO35I
c01lT3FNIVlwKUtmUztsY3Z3cEJKOD55VzNjaUUKelMjSFppJTFAZXF0cjQ0Q0t8SUc2WlJ6Ujtk
KzY4THJAXjlnPXp6Kig7TW49REZEYiUpcHY4WmlzNmxtcWdydDMzCnp7OEFacjttUjRYNGQrWTxB
SW4mJWhtYmJZblJUOEtvJHF4d3JDRzFaJllPZnJwOSY2ZXlGTnY+PTlaVU4lKG5MIwp6U0daWHdY
TXE+N29icVpBV3d2X28jQjhpJCtXQUFoPSNhems3bSNqeWlKa2NRRXZuKT1wbSNWZjVMPFJIJWZD
aU8KemN+TFltd0gmUSU9ZV5Ka09aRTB0d153TjFQcmA3NEBgP2w3WEp7XmsjRmtpIXNEWjgxTHEx
ZV47dkpBRVIlcXR0Cnp7Xj5KIyRNZVN3amRiOUc1eHBKQlE2ZTlub2gqP1VONHQtcF9YOGgoQjZ+
fTVPKFE1NG83MkE1ckBBc2dBOTM7KAp6O0tNLVI4YlgxNldMNiQpNzxgPiM9c1QxJjl0cCtfe1JE
cElPWEFnbE1UNFk2ZEhfeXNHblY7fiF1d2txNGJvLXAKek59QEJiMzBnNlg+PjxrZk0/RntvUHsk
dU9uKEB4dURAbkdpQzljPHpsXkBXbjkjYUh2eVRhMThOSGg4QU1mYSZ4CnpSXlowKEdlQzNoWShP
RSFeUkYyWFgma35wWTw/SXxpbm5pMWdLZzxgOyFKZ2AhSlJZeHJPdCh7cS1IdGljaihlTAp6ektL
KlZQKXdGNCNCKlN5cUNwSUNjPlg4OUN+M0EpP0lhMClkbDI5QjAlT29PJGNtQUg/ViE2aGwxZ018
UF5wemUKelY0TTFPeHV9ez9pKSg7a1NeJUU/NzEhQXh1b2lHWmU/S0NvWTRfdjJJMk89fGghdmJK
OCo2cFdVcllhKUUkaTRyCno2VSVeJisyMTNndj45eldZPzU2NiNVZnpHVGtxP3V1WH40X154Rztr
ZDtfb3lzcEtXfFJvSGckV3I7MzdqV1dBUQp6dmIwMHJhZm47fFYkaSMxQypEWXFURE8qSzkqMklx
R2V7I0wyR3h3IWF7ZTxmI3NgM2d7R2MoWjh3U1ROLT9qV2EKekM9KSFpSDJ6WU5ePmM9RTU/IW89
Yl57IztNR2k2fio9NyhNUlpMPGUzRj07dTdXUVlmPnBoJGc1KlpjQHE0YGFVCnpCZzxidm0lUENq
amNRPVFfZ1lmPDRidXFFYX5kM1pCKCN6a2Q1aXVFQU92XkYtQ2xxPlIlS35nJD9QTyM2ez0lYwp6
bTtYPmA1YE5UMik0NiZBXkxtWiZRUF5ncjJzKkM4ayF0M2cpbF5jWi1Ab3FPM1EpOCs1M0p7YHBF
R1JIOGA3U0wKekU0WnF8TVQ9UUgyM2MtOGxSQzViT1QxUj9jZjhsOG4lWkdiSkA5bkVOVzEtQDFl
ZyolQSQlSG0/YmdtM3lOfFVwCnpnKFVVWCV3MnZGRXJqe0htcXVHUnsxPCp6Zj9tXm85OFZzYWF8
NkgrMypwWjdpTStsPUFlcl50bDhQe2ZmZnxeMwp6K1p3aTBxakh5V19Xc0c/e1ElMU4waTtSO1VL
JD9yKWd9Rkd7RE5JTWBFJEloPmAlQzZqIzxWaSFlTllveEVjekcKekhqJXVON0BjJGc+eDhZKDdg
QylITHA1bmRUZ2I/RDdZZkA1SGwySGtjNVp9SEdUWjx0SCU+SWttPFI2LTVMUyMyCnoyWFU1YTAw
eX5nK059Ri1APmYlc141ZTdiTz8qeitqQEt7aV5wNClJcWxRWkBtKzszZzRAaEBCZ0gjfnF1TlIl
MQp6Y1V2fG1aYXNlY3tISHBzMX5TaHc9Kmk9V0ROWnc1VWp6Uy10PERtZnFgfnchVDFMemhZJTlU
ckk+P2hXeDQ9S2wKenlvTW9RdzZfVSFQJDMyXllse192JGE0XjRlUi0jUV4qUzxnWiZTZm4tez5X
WkhhZHdsSzEzK3EqUmxTNSpYbVlUCnpRWTF7dSFLUkw5R3U3Ny11aURZcis4MEozRjdEUC03YFdx
UUw2QzA2ITQzK0VNTCZSMDBIOEhMcDs9NiZ3KGx7Wgp6SSp3OCtDZUJoaF8tZXM3VWk8LTk1b21p
K3lePjFuMDdGQj44XlRyYFQ5KHlpZ3tzcGojZFZXbV45MGBuWk1iSikKemcxRVFHd0wzYDRnMkAo
UW9Pb0t5P0BBSV5yVWRWMSYqVUxTKVd9PVNjPil6fGR1cDQkISQpY0cwP2NVRlljbUJHCno2K09J
dVZkVElKVXVSJHdNMj5KO3IwMk4/cSl2R30jMHN9MU9rUzIkbz0mI3FAQiltNDVzc2owJDxQKWFS
YCRCYQp6Wi1jS05JNCZYe1l9O15mcClCJE1AJHUyfT9BfkJXbGJoTFomOWAkTHM2NSVPX21UZH16
cGhoKEBEQDN7REo3dlUKenFMRUcrK3ZDfjlAYWJUTXhnZ1lkdF9gRlE4TlFNUVh8NWpDX0B5NGxi
SWE+USVgMUI0Uncoe2ZzKTltdyRQfVhnCnp7bH4zdjBpZ1hxUCV4fF9ybE1+elAtT1YrZlV+Q1Rx
UjJ8UkQ0YGtTPWxmUHR6Zjw1Y2lTRF9aJmcrTU1yfTh8aQp6TzR0NWRgendIJCRObVF2eXclQFlU
QlgtT0tZaDlNREczNChNZFlNOEx1VjtfQmdAR1VlQ2oqJUdVKUl3UzZgPz4KeilTR1dXMGhaS3Jj
aTdJKG5oJClLeEkhKkJ5cVlQYl5rWkRiS2k3I0BAOWhNKWNER0ZMXmJUTEpyXi1nOFJgLXk2Cnox
QTE9YChyeSNwYmlVMiRQN3dWfGg2WT4lXz0rZEVsRz1JemliP3t6T2ZjWUdNZWYrVT01dD97SDxI
Z1dHSDspSQp6KmIpSjxvJTJkUTdtKVMjdVE4cG1gTUMmcDt7YER4YjFmeD87ZlhZSnMhOXBVdDdR
fSN5blp+ZVFDTXBAV3ApZmgKejtKfD47S2wyZ2xFUk14bCtMO3soTlMqWG9fT0dfbkslTzV1Z2FG
V2BBM0VlRDFxNHVgZSEkJUg0KEg7VlE9WlFGCnolYk9SIUVEVnxXM1UzYyskdjNTdWJkMF9jMmU0
P3B1WlRadWN3R2I4aWxNPHBfdiFvXlI0KWozVElkU0VteVF8NAp6eE9XJExlM3BvKjJAaWBlZnZT
Z3ZPX2JsPGo5Zm8laTdmfns8MV5PfFpudHpyZ00hKiY9OXdYZ0ore3pERyhzNUYKekxJelB3eUpY
OV5NKjk+bTZiRlpjSF5OVjF5OFd2e0ZGfD1hNzJQZVJRNjwjc0VMWDFab2J9cz55QkEpeEFCYzNi
CnphIX5haWg8KXZgOyFgZFJFJm9RQFVNTC1XMklsTWZDcTJYYHAyfHJkSSlfdj80fndGd0BzeVpf
c243cU5ZU3xVVwp6OztmaHpKdFY3QyskJGBQbCFNIUNIUypmP2s0JSF0dlBJJnU9TFk8JjIxVWI+
XipUMTk9emxZISMoMnVvWWNCdjwKZl5XWmt4eyYhZUFwKTstIzBNcmAhYjEze2E1UDBWWDBRIUZi
ajBrYj4KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmF1ZGlvL3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibSBiL0xheW91dFRlc3RzL3dlYmF1ZGlv
L3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NjBhN2UyMTg1NmNlNDlk
N2EzM2EzNDNiNzg5ZTVkOGJjNTlkNzk5CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxODE2MQp6
Y21lSWFje28reXt8Q0RFSVVNc20mcXRZT0F+VDA1THZxYVhQelZ0c3AkeipOTitgLXVBJnZ+ODNA
S3hWKH07e0kKejVraDFyV0o8X3o/JCtufmArZEteYF9IfTReU2skLWBgckVQdiNudlQ+OXlXI3lA
JlBRY252MkNeWXlQMUFwSzNgCnp3Pz80UVVuZnhPJEhzP3dvakk/NmpleWNtQWZVTGRVfmRRPFQq
cUlxbkJgbi1HSkJxRV4oZGFoeGFfUmVWP3gwewp6Rjs0NEJLT3tENl9CO2oyVzNfKGVaU14+bysy
TmxrenR3WGpHeHFxUyNlZURuNHU3bHJmOCVrYHN+Vn1IQ3ZpO3IKekk1WVVoJDx2cTRzO0o0Uzkr
Z3Y2UF9XYmNwSyppaGlNWjZEenI4cjx6V0o1UGY0YXZNSlZieSgtWHlYZCR0NE9aCno+N0MzYWZK
MyNwYWlJYThSfT1Oell8U244amppR2NzSVJ5MzM4Pm1jKylOXlRQeyRjaDBAbVkhYEI5WGgwQ1h1
Wgp6Xz42REpLYFA0TkB4ZFBlO00jdkdaLUNKTTxUNDxNZjRpcURyKmBDXmRrMWVwbD5jT2s+TDBV
KDAxZzA9NU5AZ0MKeiNVWSZXJSlJKHxvQHN2bFVjV15pe2dXKVF7N05VQ3g8b19MZ299diFpQjF4
UHt4bG5LUH5lKGdJRDM0Tzk8Xn0xCnpzSjh2PklCeyh4bCZGclJgNXZTKD47S29vUH44V34pdVJA
T3BIQCgja0RGMjM7KlUyfXdgV0d1PUNTY2lgVkhBfQp6a0pYV3ZNTzJMTmFUeFZee2BpK041PXBW
STYmZzY+RE80bTxWIXRWTGUyaztoUHQxLXBSQHZmPl90cCNOe0hGfk8KekopXldaajl2JEt7QmI+
YDJOP0FSX1ZfTm5Rcj50ZWIhd3FfdGc8SHVOQ1NaUUtxQmRaMVQ4YWY0SzMmWmZFajFPCnotaFAz
PF5BPjtTNk1pfnMxX3ckNjNfeSolWE92V0Fibn4waFo0cm10cUpRdCU+Klg/Q0hHZ2xWenJ+Rkp6
KzJFOAp6VVNPeUNUaDA+ellOQT9GdjMqanBQdHNpQ1AzcmlvazVLPnlmQzZib2BJd2N+aTQyMjJZ
biEzRV5QflQ5SjdzekMKens0SWBQJFVOWUN3aFdWfmZhYnljb2Q9e0ZGaVZvY1l4dXVGaFBoMWBB
Sjl+JlB2bE0kOVQ+QXNvflI0dDhyNFNKCnomUGklaXBVVnlEP1ZRYjM+X3RLa2F2a1dpa0B4MHVV
bFNjQHt8U2pkaVJqT2tJIUw/RmBgdGE0PHQtOHR0QjZSOwp6ekVPKldDQFh3I1d9N31pTFBtYGRt
Tn0qZVgoMHp5e2VBcCteUE5BSj9JMnAoKHdMUmd7e3sofXp4X1UqJWx6TjMKentDKTIpJGpFcWMl
dlchbTkrUlhWbkRmQ05YRjA+R15qJlhyVVYoLTtFPzU3QGArMStEMz1MfTAlbk96Izt7TzFTCnow
eXR7bjFhP2NLfDlZSEI2dSF6R3s3JipBRzFmJD90bkAqT1FrVHJyPyFPTz4jbTckPkhSJTshR2Fy
KyNjeGBFUQp6VWdlWCQtJXNfcT82X3lQaighIWptTGAoTDhKNHR2QHh2bjY+dGxGNCg8fX5aSzll
WjxGZ0tXMXNgTVc/dT9KSEYKemZjWUIjZGxyRnotPmR3NkVUUl55JFN3T3BOIyVvO3AtcmdRUCok
aXplVSNJMWczRCZxN3YkYXdKI0MtbTw/dWk1CnplfTt8JTBFLWEmS0xlM2AlTl4zS0p9OzhOezlu
VUZDS0xwKnBaSDV9I3gpfFExMHA+R0dVbl5iPTR7Iyk/MW1xZAp6WlFnVVpTZzQtMklPX0Y1I2xg
QlZpO2VBaHlSN3EwYilsbm95aGI7cENqUjRncTUzO1NSc2J8XkFDfG0qTmI+ZnkKeitEI0Utb0tK
QG96K256bldZVXp4JjF0cFVCRjQ4eGVRJGU1V1I+Ml97KGRoe3N7SFJPZmNmQitnRGFeZEpnRj1e
CnpzV2tsTmVCeTFOZHMoR3IrMHlTeTdNbSY7ezt6Smp6WFVEPHoodFcwITZHTHRNR1AmR3orWkc+
YFU3PE5Vbno8aAp6MkZyOH1ERX45WV9pV2stcG1yRGsqKTt3JjBSWWY8UjxuMSM9UW0+JjlraTZT
djYzQ01HI3M/RGBNPGklSn04XjkKekE7OGpyR3pnP0lUZ2w0NCY4QTVmSVd1dFg1eiZMKmE8VFl7
ayg3NkJ7WDR9Mz9wanlnWVooXklTSVJeQGxKdlN8CnppfjEkU0RuNDIzQyRKYVleXm9HUVdWQSNr
Rjk5JVRMejYtTHhFZE1jeyktRiVZMDM9IVQxP2YtTyNoMERuNHg5Tgp6KGFMQDNmNXJiZGV7Y2lK
eE9GWSR7I1BZUExuflM9RCtWbjhpcCV0Jm1FV1ZhRVJmeWZlfGBPKitwMCN8R0dPVn4KemBqNTdk
aFAyLVFLUVhUVmIhWSRvM2pWKjIwNWloc0NYdGBKRmd0SX1BJnwlaGZ7YSoyWGxfJlZwcENMOSZF
aVU0CnpDX31mc15nYS1NNzBtdlBnJFI8Tl9XXyMoakZGNmY8LXxrKCZicDBjNVBne3E7VVhsJWh4
Zm5ONWJ7USF2VHpjIQp6O2F4Ryg1d3BaWTF9cjVzfDFSflBBIUtMZk1ucDFkZyMhQmo/dnEtUTdY
O3ZHd0pieT94SClhbDM0bmM7WGM3U0sKejQlcmdPTSpxTE57JTM9JUFRMShFQiM7SyVwVTZ4aUVz
QXYzZkdvOz5Fd31faU11V1U4YW5RU0pKKnpWcFV9V1AqCnowU2Y+eVo9VDRRdV5IWWpeMzRgYzU7
Nlh1V3pPIUtKcnxNWmAqTDBEVkF2MFF2WThEbmwrRXN6Xz9BbTRuQXZiMwp6XjIrMV4+flNUcHIk
RUJoI31xJngxXkFRQklBcVU4PGNUTWhseDY9QGl7WDFeR2I8YjgrYShjc2hfS3xGVH5ifm4Kelc0
NWshekBuXmVZIWQjSlR3ZVlJWH4+KSVkRH5fJV55QChsTlE+bl5uKktLVyFQPzl3KUNIU1Y7K3RK
d1VTM0lPCnpWOXQpej1gc3tibjdqVkt4NGlzT2xOX196TDNOPW40dyE9O21NXj9oIXIzNC14ITdl
djJTcFp8WVV1R2NMcjh2Pgp6N2RWSz9iUm5vU0AqfjErM05ieEpEIUtaN0pSSzlSS3YpX0RPOGBM
UEVAOEtOcnl3Uj0jTFc5dkIlV1BnT3RnNXcKenZLKDd2WChgRE9aKjN3YVQ5eyNaUFNTP2lRbkQ8
QVIkb2RxKC1NR1Qwdmg9eDtDKHR3MEcwe0IzZGF3YV9OaFpmCno+Pmo9OTt3K1gpaWdVVD9DV15D
JjctVEhUZ0srYj9xS3Y7SGtFT3skbiEwNTFVJTRtNChnY3h8UE1KdUcjYG8lcAp6N2lTRDBAKH4q
VilfPjcxPzNrckV0b0lqZ085O140XmYtVlVLYEtrKz9gJW5BbXh2a3ZHWGRxRHxBbDhKR0t+ayYK
em1yRChDQWFhNDNqZzNvPCV3SF5qRyR8YXdoUVJVPFhpYWtkUDZ3IVlAemhseUdsRjJ8SlFWOG5J
ZzIza3ltRTEqCnoyN25hYERuTFo+KmA4Mzc8Zlc1UV83cHdmbXBKYVlHKDtyI1YlRGI+aj9iezlN
cG5ndGtVdUxoTFAkUjQkKV5LPgp6PkohY3pjXzFPVWApfkIkNTZncXhlQEZqc2c9NylvPzV+OU85
fWkwSyQzX2lvPT8rKEd5Zmw3cT9+Y3FVMVM4fjUKejt4NlY2cTFUcnp3eCZqQTtHKHItQClQfDsj
V3w2cGtCPEl0TFZFUWlnZmw7I2s7d35UKVImWmVXOXdsZDhFPEs2CnpCM295bFkqSjhvK3RRP0Im
XnxANnRtdTx0YT5kJi1EYU1rfEp+fTJWYXZ0X0tFMnx3b192aV8/aG82K31HajVOUgp6SGBII1B7
PDArXz1OUjVuQTlqK0Y5ZHpfbGMrMzY4RFk+e1ZKNlRhQFlzNkFVQHNsJEVWUjJ8KzVQUmR1VzBD
dEQKekghKW5pSExMKV40YTx4VzJ8X2FuUlROcEtzM1RPdHM4M3lCamltaHozMV80blB8c2llJEk9
OHpgeHtFTHtQQ3w0Cnp2eCgmV2dBeFpTbDRObiotJnwlQmlRKiNtZWAhbypNSHZTbk9NUFV0JFZC
fnBQcVlZO2ExWVhgM3l7ZShreFcyfQp6Nj14dHJtTW1zOXAlSU58d1VtQEJXO2RaME1sejghWVpJ
RCtjdmdmczUzb2xuRnApJU5tdFBHTGo9QTszZDJCZE8Kejd0KE1FezxFdWlBfk1mfDNgPEVfIWBN
VGArKHExYCQybWdxaiFDNyNecC10a21jN19uaypxfDtfPjZSR3JDRH07CnpkaUB7I3AoaUNWdllG
aWFaQEcoeGdHfiFVNz9FOTM1NVJDNTBCOCF6QlktcHN6SkBTZ0x7WGdKMTJFUiRZQCkjewp6e2gp
OT40S3NAc2dnWDxmRjkpcGNvcl8kWWFkI2xPYEtkfkBGb2lJK28odi1xcnJeJkZkY190UHsqdktU
em9iK3MKejdPNThpMkMjeTMmPjY2Pnl6ZjVrPkVqPUNGKzM4RVBmU1RlSGJ+XiswZztJMkR2QzJP
UCE4ZWQ7cE84TzVFUX0rCnpBMzd8OFl+JGVYaipXIUAxO3N4UylqXnpzOz1wMm55QmB3ckY5VShO
Mk1QQT5fKmFEMnU8KUFVc2JsNV9oTCM0YAp6ey0rQjYtdiFRaWtkaShBdCtNfWpTPChNMmRsJThT
SnljVz9XJjdaI2ZjNXUxXk4rZ2ktU05QJUZ3d3hxUXFTN2gKentGSzQ5MzxVKl5nSWlIZkxFKSZ2
LXdPYnRWfEFnU1dwZX5qX0AwMCRnZmoxfkd6Mys5dW8xQnZtNHpBKEM1ZDxVCnpsal9CZWZWRyg5
JmkjPl5AdGlBQ2IybmMjS0pkRCkqdD9ZNCo2SkRQazt+dztOajl3aE1pbSQpQE57QkErclRFdQp6
O2dvTkdmalRKY0FePGUoYEV7dyted3txVD8kbzF3cElfQlNlMEU0JlpAI3xXYSk5WTt3PUk2NUAp
Sz0jY0hlZ3oKelBzZ3pOSlpIcFVNd2ElRDQhKmw7QyspaU10TnFKVk9fO0E4ZDVeUERQbmlIUEZ0
MWVJZCs4M0VAVkUoNCluaSg1Cno0S1BEQWBKZzV5UUhYaERjLSg/IWUxLUdjP1hVNE5NRjEjVklp
MmVoYzhQdV5vUlJkSmR8T1NpS2NNTzI8cnY+Uwp6Oyl8WUVRQDYpQ2YtSlNndHZrT1NaYT8zc3BG
VmV+SEZWUShDfiMpZz5HSUZKXjwxR2o4YlRldCk+UntPeVA5R3AKemVFZWNFRjhEYEtmYDt1NEZy
MGJBd0Mzc0VAY35WcTtHPy13cClWPWRXSjVtblZCKz5CK0lldy1ValY3bk1VIWJsCnpyK0g7Ulh6
S1NTX0MmVVQmZDx4QUQqd098OH10RDh3b05kdU5XdFhgdnEmYU04ZkZYXjI1PzxCNFQxbUp3eGNl
cQp6RzBGQlF4NkNubmhwRHJCVylrd1QtWGJFdl8+fDJLZlVgTS12QnlMSjhec3psJTEkVk1gMiZ3
e2xQV2l7czBOXl4KemBtcnU9WnVDaEUwUGApQmZaRlN7SitQKE5MTVhPU1BsVyozO0JrJCZXNzNB
ezlSVnY+bU1uS3EmT0BKJUZZZCV2CnpKeVNBcClefXo3RyEpPCY3SjhxdVBYTl95KHlNMDlmUmt7
MCZNXks+X18jZzJpNGo3fT96VzY+Y1ljO2k/SktEfQp6RUM9d19JSDJ9UC1gbllyUWJgdiljR1Ng
QG5VRDQtI0UraFpha0sjRjxsNjtrXmAhZWplSGBGKyV6MGVkc2wkTzQKek4pKHBLdkxwe09HYT5T
JU5YeU9iejUxc0YlPSpyUUdqaTFwIVBHZj5TckImYXd8NilIa2tpYnBFZEFael8zaDBxCnp2Nz0/
MCskKn5TNzZyZFg9cTJSYXp+bmlnMyV+X3hWODVCQ2N7eUckXko4QzlCIzgyfCFnPHxXeUgqVjto
cjNWQwp6QnFZZFNYJERqWFF0cH40SXVTMEwyK0ZjWnUtIXN5ITNuVHYpI0BFbzB8UXtSclE5e0th
QT5acTslY0Vkd150VEwKejEqOWNtP2lJbmZSKzI0bkxZKTh6WmR3RSYxLUVMNWJAYXReUExAJShT
PDhWY0hMN1A5PyhWZngmbUh+IU1pbXt3CnomX0BteWVaRTg3aCZwNjRFSVJNc1BCOztpI3x4JVp7
WUwzJWZzcDZabH1RdFFlU31ONGVYKFBFbiYwKkY+IW1KXwp6KUd2TDlwUlBwbShBRndTRT9PKldD
emhwb19lSWZDMjVWdC1Na2s4I1M1R3lpS0B+Nm5NbF9GR2BvciEjQmhrfEwKelJDVF9vMTtrZkxj
PkJ4ZkFkUVFmSngycUZtTTBCeHZNbGgrQkd0KEAqQ14kaj9rYDZZUEVnVX4yKjBAfEFGdlhCCnpe
bj1RZi1XQlopa05ndTI5S1NhPzApSEtFcXAmWiF1TkJ8QmR6XztSKilyM2dkamRwJkleXmFBZ1Z4
dWVhUFlYXgp6an1xOGFaXzFSd1puRz9EZ3g2KW1VKU9JJk1YMVhadkp4bCg3ZDA5ZUVoPFVQUU84
fjw+ajRVPT8lQlh1PFRpVEgKemdVUGxXKy1GUnFtNjVYd0xUfVJgQE0jYyQ5LU9DdmBSNHRTe1pO
NDZtU2JhZllwZyRzWk1UajM7aHBRRj9YTHF+CnpFVzdIU0tDJUFkKWVmSG48fSQtNGIqP2M5RWUy
M3xXdzk+Y0V+Zkw5Zi1QTTx2YTt2Zkc2UkhJYj1MM08tZm5UPQp6PnptbzlaRXJOZ0tEKTEhKzAj
U00reFNmPnYoQE9kcjlgQ3B7cTNuK2ZnekMoS3NYdzdnaHdoJUNORTY8NDl4a08Kek1+aUQqXkBU
RUlwNlJRNnsycFBYMFUrRUg7bmUqeCYwak83WGA1fV5OOCN5ZDNheC1TUDI5LTBuTTNOKDdvTlBJ
CnpreGcrSTB3I0NqSHsxJkpvV2VCanRxeStqY2d5cD5INmRQfFQrT3MqZTQrelhsQ0BgSyZ1fW9g
MGNqZWRkOyM/Vwp6U1F+dDEySndmVTNSJDtXTlBsTyZOfmZQd2hMJCpVeSRQYCkkaX0/KXcqPTg9
ME0zXkc1R1RzUjZQTEtzMEttaWoKemR2KC02Mm1tPDw/OFFKSndibnpyUTEyKUtJS1lCWnZtY2kh
akQ8Qk9ITldXWl4zLTVMcUZKX0xVVENNVG9aYDRsCnpzaVJ2VHlaYE0lekE+SXFjUFc0OEpzZj9P
JU5ucG5leXFsMWlfanhIbT15bSg8eXI3ZmppSjMhZlRaMkUrKyFzZgp6JWdlMFFSaG5fKihaTil1
bG9FcjxDKF5jVHdRdmZNUjxyZXNUSWEoa0VSVmVOPGcldTxGMXBzMT5lb2RoXmt3a08KemxVLT9B
eWwxVDluYSRxJWhVUHJxPGNxM2kpR3RlMjwpISZtWVliYyRMNSsqTF9VPnlHN2deVT9eYD1Gcndv
TXJTCnopI2h0dWxKR3x7KFJudHVVI2s7RTZ1OzwqUiMpfkcwQjtyZ3A1KnlaXmZ8VU9QLTxWPCl5
dzw1dW5kVEomSEFheAp6X0dnRiNZTGE8cFNNZjBfUVF4KUEwSDteWFlxWWp9TyYrbSZ5I2R1QEBM
KVNDdjtmQitafl9RTXFsc0MlVG83T2YKek1FJUhKV1BfVVdPfSF0PlVaXktlMDcwOzspYlRPOUIr
Tl51UjB+PEdQTWkteWJUUDAtWVBYQnxRNXJDcnl3QDl4CnpUMmxsc3hyUmY2SmF0dW9eez9TWWxK
ZVVPeClhPlVTX09CSGlnZnV9ayM4TyV4bTFJfCYxJVZJITUyQSNUMUchdAp6by0kRShkX3NLLTJA
YGJ4WG9tYEtNaXs/JWBITWQlKStieWZ7VV8hKUZFdkQ1SmJrYUg9N14kTiNDXmlVOVopM1EKejg9
UVRgP2FIdypVT1dAa2NaVklEMFlAc3F7VFkxNVNsZUx0dUsoc3x3VlB5JnVLaUUlOWt5eSR1ZmJM
ZFFlSGg9CnpSbUhHIXo4RkxXe2JZI3pWIzYhQ2V4NWo9RjJHUH5rYDh1ZGMwSX1OcWoyUFkhP1d7
KyNiYGJOcztecFNVOHVkVAp6UHdPQkhJQDtfQz0mK1Apc1RxQG5mRTVCMXNuUzluWGQpRV9UZjAx
fT1TbEVRTiRsfG5lRTwofTApYDMqPG5iV3UKelJHUj48IUxFTnFHbk8tYUVaXkE0d2h6ZFhDaUtg
UCN1TjhpaU1fXkNZakhzck05LTJYcE55PXg1MzA9Yns8PEhNCnpjTEpMSD9Lb283QTJqKkZMZn5+
cUpSPFlkOUlyaEtnKmtVI2QqOGlBY1NaTGx3PmRWYWhtNSt1TS1raCtOSmZlTgp6KVc2c0N7WWlo
JmQzTDZZVmdSdDgrc2w9Z3w4V09QaEBMb2hgai1JUXl+PiFOMnxrdXt4ZUo9PGQoM2cwKDRjWGAK
ekh7TCQ7aSNfJG5RaFo/e0BOTDRVUHErWmBXO01EcT04eVlTeDx8JlRZdmI9NjNlRGIxZDtPP0Bu
akl7VGRWYEtWCnp6cEgjSjNreXdQc2QqZU0qTH4zI3Axa3Y1VSs3YVhFbEtaLTQlWlkxOVRxVnwp
ITFGbURtX21EUCVERU1Vcyptagp6RFVnIUgkMyFLVj13UWpWeFdUNWYqVkdAblgoQlhHPzMyZ3ZU
ZypXbD55OGxyPipJaVdrYkUzalM0UlFteUEjQyMKelQrI3JEUjNiP0xkMmxyRSl6QEslUlBmTyZF
YWpCKm5zYF9+eXAwJm1AcH1pflh1Ty04PEx4WXYhe2ooMm1jaCZzCnpldCZ+OWRzUGBVYmsqazRn
dDtyY3gkMjRNeiMoTSFmOzJjN1FwNFk7c0hwV0w5LWxKd0RvKnE5Vj8qMUh4fm4pYgp6MmQkNEA3
blNWZmh9QGBXZWI+R29WWiFCTDtNXm5aJEUzKTFhI3tOKns1Rl9leiVYWj4zPTZselZ8TnQqeSY1
JX4KejtzVj5mQ2IjO31gcz96ent0MUk2VnFRaXplIU05flJVQXMoJFB4TEszN2tYWk5mM2lYJlJp
PS00JTVwdz42Z0gkCnotNzxHT2ZfdDN9bHpBSnNzb2cjWF9RUT8jP0lPKHA2I3p4Izt2QSE+VnI7
Xj5hV3FicFpYNlg0Qn48YkFVe0JIIQp6ZSNhKzcqV1ZEaXRTU1ZJTEN8NjYmfGtTViNJPkN9PzF8
PDFmZTIpR15pZVFXc0hhSypicUgzTnY5bzVNZiEwMEEKejl7cFlFTHt1amlWVXpDTSZGaGd8Tmxx
KFdldGdyUHNUUXNZQTVtYjlvWGUkKSZNPkN8cUJtT2w/KCp9VCUlQmxRCnpraXc9PFlmNEojZHtN
KypALU9FUHRkSEItNzVUbkhsWTNVVUs0JTxlWEl1TTcqSnApfG9BN2YqT1BHNkg7WTklcwp6eiQ1
WUlKWjtDbGxTfTViMjheOTZKcnFSaVlkVjUqZ09XTDNQQl88ZF99fmZEJFE2fVkpRVg7M0kqZ2pN
eVZqJnkKekxOIzMldkF5Nkw/VyVTS3RLdj44X2AkdFI4R2R1Xj1VcUdVWl5nJCNMPzdRVG9sOD9Z
TFI2Q3IoKlUlbDMydSs0CnpAKFBTYFVvYUtpOFk/RURhSUpfcV9HM1g7Yz1yUWh3e093TFh2cTFG
TzlQd21veTtta1A2OXhGQWVqPVQpJnRsSgp6YmZDMTVlbWUzcDA1V21zTEFYcDh0TXkoYzNiKWNE
MEtwVW9zfSFOSzlAekRPJTlLcnN5WUFpUmRecmQ1QytWKjAKelBFd1ZzNlZ7TjFRZ18oKFhuMHJZ
eVZTa3c3bF4wUk88YHBiPTdVeWY5bFBwQUMhLVB9TWJaYEdBVnkmOCtve3pKCnpMOzRxZUA3VkZZ
TWZnTkk1RTAkQDQoQ0N8SmtvSkRIdWt3U04tZER3RmV+PXdfck94dSpJQVghLS1HcURFMitCVAp6
N21aWTRMTVQqYz8lUGNLRmFXPWk3SiRkJDxqS3k/Z3h4YHd0dGNXUj15JTxuP0xGajhSMFdzT3JG
WSY2P093QUoKej5hRWIqeklncGwtcTQzOHdBWCUyaXo9V0ctJGlYfW4pem1RQHI0JmIrY2ZSaU1r
QSEzclpXM3lzfitXaF5ncHoyCnpBenV9bnF5ajQmIVhgM2ttfTBqNUU7MTVRRS1IWClQJU8+eSM/
NlZUXz5MOzMoKCtJSUZsdEspTUxQYUBVe016TAp6bEBqMWlBeWpzVjBLVVFkSmhLYDMlQiYoV29W
diVLR1JJSzRxKXFBV1pwQ0h+NXUrJldLQ0p2OGF8IVAzI3tDe0QKejZoOEZjNTNrOUUzJn0kUElU
YFFvQXxXKFNGYk1sWjQoWVp2JilFZmpwJm1QWEU+RSRZez9FfXgpbUwlTUh9SVJeCnpISGZgKC1f
SEd0IVd7dzclOEIrcjNEbHI3OWZlbiNSTX1ERG4tNyNgQHxzbFJgRlN9VHgrYUM2OEp0MTZsIVRG
bgp6aFpJfT0tOUtuPHpwcnx2JDxfQmhoYXtnfmZvfTkxO3JUaUE8P0c8UDhlaX5BO254Uz9vU35U
Sm1kOFEtNTxjRWgKens0IVBaR1d6RTZ0ZypYdUdtV0lQRXRFSzBRUD5TI0R6ZnFOUTdDKlBrQmJe
fFg5Y0IjWmpWWnRlWkQkKmZpeDFVCnpqNWBGJnpQeXU5T0FCTmBIfGwqfFd8NFZmSyt4TFpWI3xi
Kkc8WXBGPTBMZz9DVihBU2h4aHBGZTBNWjslcnxsVQp6cnkhY2pFcDdNMkowXnV0JW5+SmxuZEJ6
OzUrU01UUygjeVJMMkg+MWo3PENaWkNpR096dEZzSDUqWXAzWX5OYFYKenspNFk+cm9QY3U8WFY3
bUdoZ3s2aXo0Qnw5dCtDSHAqUUpIRXNyb2VhWll1bEdOSVpEbU5gQUEyUj90Rlc4T08jCnpRUyRn
fVl3KXw5VFp7Z0R7LT9sVjZiM0l3Zm5VSndFMSRqPj9tRzRMNFg7bE5gZTkmMEUhWWlJPkVOaGBn
NSsxOAp6KlBGV3VWdE8ld0gtNjdVelZmRWUwcTlWVEkxNkFjJSpZKVRhTHV6TWEhZz87ZEtkI1Fs
djh3fTs7OX5naSgja3sKemprfnBFbz19SGpBVGZ+ZWRrPUJhcjV0bnNfKlk2TE5NeTItWnA3Mztv
LTY2K3U7YXhLbXw/WVoxblU+Q2hEaTNOCnpmY180bXEhO1MoNStHSzFvTS1sOVBqKGl7Tjd3byVN
MitsTjArOXVoJEBrPC1uOzhSODBScmZAQGZ8cFA7bklFYwp6VV4pMWx0fCtqVVNxZGwrcV84R1Ej
Ylhia084ZUFZT0teMlVkQl9IVF9CJT1+N09KQnI5JmsrSj8xQl9NM2xsdHgKeiFuZihNdTMzVSVT
PlE4d1l0cGlJY31oR1RWQ19ybkFwNXdzR0slfjU4dmNTJmhiRW9HcCZ+TGJIal5TYW1haF4lCno9
XlV1Z1hfZFNraDRUfHclaGNYO0RmZTcrPEQ2Xk9BcSVOfTAzI1AzWktPTW5gVTkteUFxV0pnS3Ew
NUpCQjZPMgp6cmtfbUooYmVZWWZuZUlCT1hNbXxRbFZheUY/alU7bSVwXnhFc1o4b294e3FOP3ZR
ZVh1bm9TRl9IK09NIXQ1cHgKekY1YGswMmcjaDhRSG9uJVR6ZHRAKUYwWDVrMW97WEJTMkNJOzNW
cW1pQlcmT3chKUdgeHV0MStqRWQoZkxTRzI9CnpPdndrUXAtfVBhPXcxZW5VZT48WSozLV9YKkI9
dkU1biZDdm41RFUpJi0hR087YllpdUpLRHs2ZnMlUFd7TU5aKwp6JkZMWGY3Z25hNUZRaUxARjNE
UTNROyY5fnBPbXtZNEpOTlo7TVJ9PjJNSkdVcHp4Jm5CI0Nja3QkPCF5Z1BXVlIKendJIShpTWdS
OGl0VCo0ZCM2Zkh6ZGBoRFheKCs5cD8wQm5TXkNDMTsmJjY+MDthJnpLWGUzcmA5RVRkNShGJilh
CnpWakcjPXVVZjdqMig3PW0yY3xuVXtKYHdqRF8lIUhreiZ5SipfRzZLJDt8UGp6MkVCYCFAUUZT
OF5wdUFAK3syUQp6SlYoeTlCMzl5bmVxQDNPPyNENjFAfEIoPk5FYnBhXl82U2B0aSNre15zJE5r
MCN1PE1HWGNfciQ3em9Mc0N3M3wKekMjeVJnRGFNe1dae0RCS2Q7RTUkeW80KjI5YWxqbG1GeFo7
S0QqQ2FLUi18PjVpazVeOzdFOW1OKlB3ZXpucnh2CnpHI3ZVMVFeKCl+YkFneVJ5SSlHcnJOK0tQ
RWdhOGNmKncrenhAY01MdFBFTE1nLVRxTU1QT255THA2P2RKJm9wbwp6Y1c4aFc7Mio8K3FDO0Rp
S2ZxYGtyaiF5I15HSStXdVdRZFJpT08pTVlOJlo2Rng/I0ZMRW9sJXY4MGI1MChjKnUKenErPUlg
bVNAWmd6cG07Oz8+TWhQLUYrPHtBVnVjfjJLPHlrWXlBJFl7X3kja0MqZT16aXxELXhLNW4pZDJn
cTdyCnpOJXdzYjYpSWhCaDQ9TypIQjZDQjMyczklZC1NbypFKFQzYzA9cV9+akdVbFR3PHRtNl58
eVF9NCM7WCFBVkJ1Owp6UTV4SGR3aE1nTmh3QCZ3YSNqMyk3PENHPUo4YnQ0WSt+YUw4IXBRKDFg
akA4eHNEZHkkPUdIQ3dGKThWJnE7U0YKejRzc0l7UmVVcih1ZUQjOCt7enlIK01oVUwtMD9AMElX
ZjRlJVgjUk8jST9oPW5jQzA3M1Y/KH1yPHJMdihNc2pHCnolRXVKIzRFMmYoVSpuOytEM098VHIk
NVJ7XjlwaDU0IXIyUmIkeGktcTJsbl5Qb0FxWWo1JEJAYCMtdUtGKE9wbAp6WH43eDJyZmNhZDk+
M2cqO3NnWitBdXxUQTA+cmlVe20+T0V5OylNYDA9K3xDWn52JE97QkNiJHtNV3RyYylEKlcKejlt
YnFjYm9aMDNONGpjTXtsbUVCdzllP3o1PUQ4fGk/RT1LMl43SVA4JGt1U3dkJX5sTCFsPUZgfEEl
NF55Ym1rCnpydHJpI3shVkBoIXFsP2J5QWVJTmB3KHIlWCNsaGE1QWw0amkoUHVwbk9JTllFXkgo
fjV3UDxfYWw2eHBPVjNBXwp6OStfOVFYPlhgb2k2VFAzU0M5N1FjR3Vwbyg7R1ZOOW4rKWohPUY+
ekRAfUJteDFAIT9EYHZfVCkpQW1jKm1GQWMKeiZhVV5CezgyKzg3PXMqZDs2N201SkVYbCNPbH4h
SiRRRjQ9MmFTNTBnRFh5TjUzaD19TkRaM01mNUlGejgzUXxpCnotU2RDWil8ZloyUkpERzB2Mjc7
P2xZSXNQKnc0JjtLZmhMTzhSXnN5enVJNHVSd15DfHtQQ3dNXjx+WXQoaEB1Uwp6TEQ1Km0qaz18
e1UkUFhTeHx5b0R1e3VtYENDVXV6ZUhwJVYqLV5Ycjw2SjhEPnxEcypgfmJWVHFOJjQwbksyWVIK
ektffHw4ZzJHdz9sbVBvckd4Uk4ze0h+c0V4dzUqKV5AZiszUWlkNnhGZnE/dD5nckQwXyNCJW50
IXc8V2Y3Q3JMCno8bmhHcDteN0NOQEhxaVdNRFFgJjlHY0RlXjFIZHxMdyVsKGtQJGJYNyUqPztp
NV49JnpxKUAoKSNKI3diQEs5dAp6JmdAQXRkd1VKJFYkKnVxeXZaY0d1ej4oMiE9NF5+ZSsrZC1V
LWlEJGpoPGZ7K0chRnZPLW4oJUg9Qz4zK2NlYXgKenJyRm1lU0g2NVl4YThLRzJOelpVRy0rVjNT
d2UqITFuNEckWkE8JVV2Q3JPYnhXND85S1M+Z0swdi0jRlpUJCQxCnplY3V4R2ZnSVd6T302ayhu
YzNYam4wd00qeXd+dmYkJX0hSHRMeDFWVzw1Nl9PU3dJMntjfVE7dmFwaT8tR1pIRwp6TW9aWHU+
c1BaY0R9O1NzXiZMXjhLPXA0O0VBME18eSl6bFdofHYpK1B5SmtfOEA9RD8+YVQ4fDlPeEBlOV8r
KGIKeitxS2VyPktiT2JFdT5BR21BKz52KUhfYXFHVDsmUXg+ciN8QUB8dGxaMmErfkVeaj1GZUdH
eT1aNlJrZyt7ZTRnCnpNPldyIWMlMEt0QSkpdWxvQUtQNF5DPWRXQF8lWiRgYGFNZy1kSXNMWTdy
aiVKfjB3S3FOLXxNU0xyKmgjJWdTJgp6ViV8fnZua2BoNG1jN01nQTgyS2xfd2ZhY0ZRQTQ4enQ3
MGsxXjs+Pz43O1cqa2F3Xm0tTUdgY1l8fllWOFhIRGkKektAUGcqQDZ2YDJ3dzM+IVFzdjFGUGxD
PihjSWhnOXRGPHdteX1wPlMkR3RrJjtgVFAkXz9SPkhKQzxpWjl0U3Y5CnpOaHgpUl5xfkpgelRk
KlcoZCUxcGlLdSR0UlB8WSpBKSE9bT1GXlBTTEdIRlQ3M1dTWGJJdVF7ST4zTHBLI2QlMQp6UWsp
bSQyQHVMTzE9aH5TKWRGeUpnI31wI1VFTSo4RGchclltcDh1aHojVGhCQWp3Qn1ubSQ8cWU1ZFhz
aXwyQiUKelhLblFObkljUWNjTm1KZE44PHhoTXQ+XzllR0dXfFdkaG9LazhJdWMxZ0hTOWAoZlQ0
b25jRCRKcDZVVSpZPyR3CnpHYDVzZ1d2YVNPJH1qXiY+dnNjaSRZaHVwJTNlMWRsQHkpKDRQejQw
QUdkWklhRW0/c0BSWlNxQCNOUWR5PDQ7Wgp6bSQ+YG8kSXE4Yl4kWDxeTUJVZzwwdzNVU3YlJGV5
N3IxTlBmWEopc1V1QV45RGE1IV50KndRekF0RVFONzNQUW4KenA4MTd1UkhjVEBmIWQ3JlVhM2Ql
UyFEPjNZLU5lcT99cklEcERSPV5DVmhWeGVkVHd8VUEwUkV5QUBeeyp2RTlqCnpAMkN3YXxEO2Fq
KEBvTVZMdEV4bTxeZW5Gcm8+OyZjandIekpkVjFZIXV5aU8kVGh6TmVSO3JUbm9DdVBmSUc1dwp6
NmRCM1hjWF9oP0FWcGRZXjxJeWV4K3UkWSg1SFlYJE9CSk0rKm9ZfEBLfWtSMGxAMW1ydCVteDFS
SlpsMTkld0cKekgyfk9GYkI5UGpEQ3xUSUF7UT9YXz0wYnlNLWxmVUleRFgzMytUNTFXWHtjJiNt
PjNOWE0pbGkobyVkKzlQbHNICnp2bWAoYkBWSyNVJGZnVkAqWV50Tmg5NWdKazZ1VSpwWWBwSGVz
b1V3aX5PKCNWa35WS0M5PShAc2pGUjhBOUs2RAp6Jlo0WV5xdlJkcUNRfEc4ekx2e2tFJlIhY1pA
JmQlT1ozWDlWUU4qK3NMIShUR3J6ajhmbm43JkNkSk1fNCpIZkUKej8rO08pNTd2K2JKWHA4SSNj
KV9FUlFPSXcyP31KZHpQNyEyTE9YQX1uMSQpJUlrWE9QclVRPStVamAoM2FtR3QkCnpKMytEYUVV
cDtBVChFejxkQVUpemFMdik/dTRKTU9KNWF1YUJ+RTNhdmN7XkkwWmdqQVJzQ3ByTFAreUgmcX0/
UQp6eCkqKGF2PFd9PFJzQWV8MUE1ejUxSU1YIzBZTVB3bWNwIWxiZzhwfjQ4VWNMUXdKPXBlQiQ+
X2lhe25sP1Q0VTIKemNeUWM0aiN6PndUR3hQQllmSTFyYDFmKmREM0RDYTU8cDF0ME14OEROKSFt
Y3RYeExCdSZtPCZmZClXUFpxUnlUCnoqISVwZDFudHc9cXh8SjhfO047c3VpXjwlQU1BU1dfPV55
eW5yaGI4di15RDteb3Y3PjxvYFZBSzFOKVIoJVo8Sgp6YzdNJElJRygmY0RMJUQyb0B6SkJhYEdh
YDh8e0E0VipzWGVZVHZ1VTEyPHFJbChLdGFeNnslMS17VjZ0eG9ENDkKelg/V3k3VStSPlYrZ0JN
YWFpWnshM1krYS0qLVlmdiElSkBOeTZIMG02aWdTZipXNFdlbVdISXQkYzNFeUl9V3ZACno1TzxA
QkQyRjJeRyspLTdsWHd2biM5R15TSkJeK3khcCR6ZG4+Y3BkKz0wNzt5KXRhaFdgcXhKKUxNbDdW
I2BgUQp6e3FOPk0zMXFjTTI4a1c8UHJ5QlZYSktGS0VuP2RXPUoxa0tWYi1EcG52UXxya1FFWSlm
ZHZvazd9I0l9NVFPYz8KemVoNEZFb09HWiVsTWxmY2t3ZUdrbiNHLUNedVMlNGFZfmp0Q2dUOGV1
JX5xbnY0bFFxbnhJMFEqQCMrdW1ARXZ8CnotUE01O3RvWF49Y21nbzBpa3RnYEg1KjJwbTU2eFFH
WWJQRnZhS2xybnVTeyhXP3k+cS1tc3d8UShHJnc4fmtNUAp6Q2sley0/P3VDRjhHMkwqJT5XVl9I
IzlwYllldW9NSX1UMHA4e0RHOUh7TjJWKHN9ZW9QRVA4aW56a3VGb3pjRGMKejFKemRqJmJmSkJI
PGdQUigle3BaNEpKTSlfaXRNJEVILSpJPlM7SzNifj1yeChHTWIwdHFsRU9TPHhIdE9uN1coCnoz
SjIxR0UmbDNYOWt7YVJyPmFpR0peOzlxZWlzIVBJKFI+K3cxbGdhMiQkdzhQeT9La3FqPk4rXkRu
PUNMJHFiYAp6NmckUEhPUlMtXnVpV3ZkViMhVz0qe1cwMkBUZUJfaUBLa2pgJVcyYGtOOVllRjNv
d3dFRHQ/fWZQMkcrPD4+bWgKektIXjFzKTsrciFEJis/Zi1ZPVU3MzN+Z3RmYzF+OTJAQDNQQ0or
YHtaLWFadiF6ZUlXPHI7fkk5dylBdTl6eElgCnpLMVJDSjZ9Pk5sb1FXZFcxdilnMjRNPVVRKXo7
eERpTWVpUWtkP2dpeEZZRXgzTCNKJjBvc0ZJT14qTmUlTmUoKQp6aClMWSRYUz1zS1RPKlM0SX1f
V2BEJilTRk9BR19SKzJzckFLRVVSeXV8ZHd7MFpiQlNJTHlpKHIwMVBUNn5vT1gKekAjTGhNX1h+
RSRiU3NmcVcrMClycHRSd340eypfPjQlZGkjcj1zaWJiZThCVj1lUTZzS0U8TXhjdE4tS3h3SXRM
CnpRKjhQaiY1bHdPQ0o+LSlqblNZOTJOeyRQc3ZrQ2pyI19SPDFvYi0qQCsyPFc+dW1DSHlIbWRa
b0NHQWBoSD9PVQp6eVdieUdUQncoZXhGOWghbVA9OEYlNkwocm9DY2hZO3I7UkRUaSsqPzBjRn04
Y151Pyt4aHUzXlVFS2NsIzchQT0KelVvKEFpTSpTcTlDb3xtLTtGWnlxIXIzckg9KSh9bUUjWEZ0
byFxIz9URmp1OWdnQlZFQnpQZylCPSE2VXIjVjU9CnpUfG56Zikrc3pWVW5jcHM/SmNVdTh+OEEl
e1E1JmMmTXBCbm9yRl5kajRwPXwyIyptXjlCYGhvP2FOZVUzdjc+Vwp6dGw3aTZeZzVofV52KHI3
ZVk4dzxIYGxtZDZSfCt1UGZrYSg5KUZKX3d6KUhvVGxORCstUW53TTYtNldzeW40dEEKeil3fEsy
OHtlT3VmMTNgajhZQ0pwMTdkJldlJnU/e1E4NCpePUlYK3taMkxPZkg/aGd9T3hrajl0byhCJmMh
Vi1JCnp7QiZoRnNJaW4+WnFXOEBicW9LNit4TWVHKVRvYTU7PHhoVjVaTHQkZHZkRlZVVFFQO0Ym
MmQtJTlOdk1meFkmKAp6R2JFTWkyVG1vMU9GaG9JNyUldzhQYGtVfWswYWspJEV3Ql43PUNHazhE
RnNWR3hTQ2wpTnl1aVJOUlZfMlJYa0MKelpWMylOP1p7NkpVP3F5ZHswcXBgKWM4R2B6VlZJaD8x
VSkjayRaSD1aVjsydkA0cGhIMyptWSY/Qz5BVz9LVHVICnpmdkFNNlRrR1FSRTM0Q3AyVVhjMEh7
PjhpZlIoQlBnX3w3aU5SfnhUQmYoTDZqYCYkWExPOG8zMFZNPExzTW0kSwp6LUUkPU4jODR8cis4
JndFcXN2JGtPSXQmeVQreWRPKVlrN089NGhDfDtKaVo9aW0hdzV5ZiNkZDR3IXFFYWl0YkAKekdK
ST1INCg9ZGdEWEBxT2FgNjFYR31BZzQ2dlRzJE48R3Vwc2B+NVBxez03LXQpIT4lQlcpPE1JfGFN
MiVudmU2CnppSyNzcFZuXzN2antaRXVXbkFUNjYwK1E2KDAtcUNKe3woRiQ3U2M/aW0zKVdqZjVZ
cUdASnV2ZF89QClhLTktKAp6OUZ8PGx4amNKRGBXWjU4dEw7Q2hMKHVUe3twWUpfLWZIY2tONHNm
PTRGZVNZUCo9cF5JZ1U7YT44YitVXmR9fkIKejlkRHpvYVk0azRhQXt6Wj87fU1AbDtefkRZRm5O
RWJVcURTTTNIT3VAJmszaEVqS1MldX4+NGxsTDRmfGowaD50Cnp5TUlLO1opOVVlN3o2KUtsKkFe
MypIJCpTQDBkV09zfjg7cCFBVFZBODBATShgPktrOT05IVREayZ7O14oQntuVgp6Xz44WCQ1blkm
JlR7bkV9QSVXdD81ZjxGYEdQRnY7Rnw5e08zWUd7d2NIUWdjZEFoPyY1P0V4dDR2PX5rK2pHNmAK
ekJfYExGKy1uVHAtSChYR0p+Y21YKlZ+Nnl1cHVnfXh1T0FPVjAxb0RRRm5gTzFvZj8rMGsyP0Vk
cV9oQjteWUxECnpVeDtnWm1CVC10Q3B8N05yS2F8KUZUWSl9QEFKTD4mZ3ZxJGJHbGM5Q1BUcGQw
VUQpcjBxQVRAJXktWjIwSSMmKAp6VXMrT1dWe05GJDJ9WEV6JnJOSzhCNDgoWmxeb0srTGpnWUtM
czwwc2xDSSE5STN8ZShWKk92XkdAZGlPVzc/YGsKel9CUEg1LWdDJnRYbz8obzg/eWRSYkspZGpI
YjRsaHZ3ZVhUNDAzPXZaVjB+aWRxRVM5ODJETnE9IW88VjVhREhKCnozTDNhUGtTI01jdW9RSVBK
b3wpX0xQN3ZwdlFoKztCYj4pMF85fDd8bE11OEk8K3ZaKDwqJWYpKyYqP1UxfU8rTAp6MTt8fGop
QTV0Wk4zTXwtKzRtJVBMS0wyNWMhV1oxYngjaVFXRXxBSmc2d2Uzcms8KEoxMEZac08kaHNZbDQr
cnEKeiNKaz5TcD8tR0hDayQ1TFUzUWNjREw/QkQhbDtTJTs/UXVrU1VHP2J2NCM+SlBJN2BIMnxt
KlhSMUpmVmQxPHtUCno9RTt7bEhtZTtldj8rZlRKaUo4MCpxY3ktK0woK301IyNjM0p3ZkxTYm9A
UChqPXNBeDV5a0c9YGJGcl4mdChzOwp6YEgreitle248PmFiSWwlLVFZWX5jZHRBdj1WVWQyN2Eh
YHpSO0kpNFZ3c25Ca0t6T0clZSZGeFkkPiZ7Ty1JNF4KekhkYTd2dClLPC0+Oyh0a2YtdDZkSTAr
JEUwaStmazM+ZXJMKkN7fmA/ZWg1eUQyYzVaSFE4RDBBaU4mfE9OTXw3CnpoSlNDX3ljK3VjZlVx
V1hjVHd2MSFmUUstdGhYd0o2ckRXMHtSZ0hIPHZ1SnAzKGwqe2RjPGVTQ0lzbXBSMF4rVgp6PT9o
XmVTNCM/SXVsbD5sKGl6PWFKPjNLcVhIIWNZUjt9ayp2NWY1Nm5kKV83Jj1hRkF6VT8/KEJSNkF5
YktBR3gKemtaKilqK2JRYjgyUXdTOFhgUF5CJSVhKHhlQzV2YCFBfnRpQT1MQW15YDRZRlpLcW5J
ejY5fG8/dU15fk41PF5hCnpyTSRubXheYmY4IWA1NyZZU0lHIVYlWEhaYzdBVEo9KkR5OG45b258
MkhqXkdyJHhqR3hRX0FhRH5UOGUjPnRRKQp6ODNwS1ArZ0UpQEwxbUtAY289T0dVO2dnVWwpNnBB
SCRUWFJRV2padGA8IVFEUUlUNHJQZUFoKDVNU3kjZn0hQWsKekR0Rm1qMWhWRDx3ckhAQHE7eEFA
M1BCKCgpPlEybTJpI31CTEJZeG01WS1peGp3dEQmMyNWUERIYGFMckN0fGk9Cno+Jk5MfjBaYHNO
YEVhU2FEUXxmdmF5UmFne0t4WishM0ZsR1VZZjE8c2AjKWBmeDxUZ1IySit4UTUrO3h6blR9dAp6
YkxzNXZYZm4lTllmfjhqZWchfCg3ND9xVkUlfWIhbjRhRSQ+WHYrc0pUajYwSjBqP3dXdUhrT1Mj
OzMkJV8lb3cKemIlVShHKSFhaW1hREluM1haZE5yJHw5eHg4akx2a2VUZ0dvRn1HKiUmZmBoRUtl
SDU4eUs1fUhReCNATUNwUilpCnopKVduVzZ1RTkjU0cpaCp5NEwyUk0qSXJ6ZnQtY1BnJmxjJTZI
PHYoODVmLTVfakoyQiQtYEY5RT9UQEJkYn4oSgp6YUV4Q1cjI20xZHleVU1HaiNoY1g/WnQxTzwl
P2Z9NkBCcn0pUUY/dWR6biFQT2JzNUZ6alU8UkJDa1I8VUREO3oKeipVUCREZ0tARnFwU1E3V0s2
TG1+PVJZa0tOeHcwX3QmalVjKmRvJk0wQmheKkJGand0Pmo4QEFgK3NKfEd6WTYyCnpYSXxSNy19
e0soT1lhKFc8fHdael5mYDhXT20lJktZVmBiPnYrKHV0bElgej4kKDRRa08ldD05PiEwdTYlZGZ8
RAp6e0xyS1d0Tl5+T25+c3h2SFgtd2I9ZC1UPkkyJjVsZnpBLWclR3VQaF9+QyNDKyE4ZjRgK3dS
QFJIVCo9KldQTnoKel5zd0s3RWxPTEBpX1lUXmFkYl81Pm02YitxaG1rVTU+MDEpamM2R1l4cGQw
fSFtXjRlMH59PWVaRHprTyN0SU9oCnpicSlMfiR1PXEwMD5xOH1vZVd3Yj4jeWRycD58aVNCbXdE
dTFeN0hkVT9MdVBUcFRCJCRgR2RrRntSQ3VqSjlSYAp6Oz9+VTRfc3s0PThhaTxIP3EoOysyKVB8
LWJgeChfRTc3MXs5Xnk5dGYpK3lhXk0mLV5CQn5wNFBuPWc8Yis/bGQKel5sXjUhRjRjUTsjUWhh
VEkkSUhoZTB+S0lXWHc5XyUrR0o+bjZGNTxIXncmZiNUaFc8eSZJNilgZ2o1Z3dxUVMyCnpsX0Vi
VyZkQGNEZTNjPFR4d2tpODVEIzh9KGcyQDduKzJwamoqYiM+Q2Q5cz04UlhHKztTeTd0YyNVKytf
RW0ySwp6Pjs0ISRVbUhiaE80OCVVUzd8fEZRZj9CJHszV0U9S0hHJW1DRzN1ZzE+Y3hESlI2ZV89
RkBna3lgeF83T2ZNK0YKemowXy1uWjR9XnErc0gkRT9xd1R7SkhlSGwrT3JeIT5vdzkoI1EzSnd2
ezNKLWJoZDVvNip0Jl40b1lZM0FseTQoCnooTitQO1RaMndyMWF0OEFQcm1yQktTRGNLc0x2eCZw
bm9idGZyNmRfNEBCSHJadmdDTDxOISZSZkZpLUktKUN5Nwp6V0lvJFZ4RzdvRER5RGFQPnBvQzY/
ZjshQmo9bUBUMGQ9bz9KeW0/QFRZRlZoM3pNUz80WVlAJCgoVl9TR3puP1kKejVqKH1qfEJ+T05g
dnMxTllXJGZXVU54V3JWbU9KJWFBWTckVUxyUFBmOz18JmJqRT5jeE4hZEZfSStvMGBpYylQCnpi
KzFsJjwzc0IyR0dUZjhVdTBndmRnNTRoM3hPYmpNI2g0Mj1zKz43SS1QRFU7Z3ZIaXVWZDkpKCZ+
aEdKOENFaAp6NXxHV2dLa3dlNzdSMm5FVm5hV0B7Z3hYQXBWOW5ZaTBuZlc7T3B2MjFPXjBjWj02
TThjVyU8YjVFMSRudkZaZVcKejhvYyFVSFV1Qlk1SH4pfnZVNGE9YXZLSUIlPHViI05ZbEVJRUFU
Qzg8cGtEeU9oQWYoZXEmRCotejVjSkU9JShyCnpjLTBfYz5TbCF7dmF5ciQ4SF5xd2BWfShlMHc/
ekJvJGQ0aFRzfm5MSWREb18hNXR3KjFpPk1NYE9Qa2RIRjRTdwp6NHQ9eygtS1IqS20tQ01HNlkr
bDRwMSRgbzZhRTlRMDN6SmplR3E2QzB7bjZqTF57JE4xRilCUkI1X144KzhHez0KeiE7bzAxcUcj
UmhZYikwaz8qRjdeXkhmMShSX3dZLVM0Q0c2Skt6PmRpPm1rU1JhS0sjbXR7K1FLIWwzZWlLKENC
CnoqcypHaGxuQEhlaFdwSVNjJGwhMVU4LWRFeVorN1U3dlYtdUclY1Y2PEZ+YyhDZUpRKlF6TSUt
MitIZWlqNzcwYQp6czZUI29SdFZxPnk8ODYyRm4/ajVBXlklSlF+cmBaTSpEZD1afFR7SXZyTnd+
bWhacGchN1lFUWt5ezM3PiRTNngKemQrZkZ5ZEFWaDNjWjNoSUs9RnZDYWo2ITAweFRoRHdke2NK
amxPRCokXi02cmoxWmBmQSt2fnBgUEUyRFAmJVheCnpSWmY8S0lWek5jNXRVditMZ1o/U3BBPFFl
Nj5PMU9qZmZDPGpSNz9QNTBubjk8KjEqcSZnWXFAZWYqNkwrLV9zLQp6V3tUOWhvRiV3KGZsZmxZ
QnVXal9icCg2RjR3WElgckBxeWdLZERrcihxVnMqYEhvV1I8aWlXfXI2VGM8XmJ1UmQKenNTbmV+
RCl0ejdOUjh0QG8zSkZmY3RwdD5TRF5TeTNBU0smND07TGtFc1RwdTg3ejFgZXNUWClDY1NWUzdk
RCheCnoyY0ZBK2xwcjI1ZDNHQilnbjBRdDREcHhmeW9gN19ZUn5AR3JVPXwjSmZ4VDh0bV5kfmIo
azwyNXJrZU5JfTJnYQp6aTVkeUlRNEB8LWZPcU0mbEBqRyQydVNTaXhBcExSb2NoeyMqPlRxb1hh
KCslbW9GZnFLRkdINntrcCVnTTFpfDYKeitVPGdINEs8NmhyY2RtO2B4ZH1EZFM/XmlNMVRhaEJe
PzJFcS11eW4lTjRAfmg+fHtRVShzcHNwV2lLckMzRCE3CnpvJUxuJiFmblUlWGN9SUJBMz5+MEg2
PDQ2REFXQG5wZlBZPiswNWc8aXxeZXRnYj5JU3AwI2x2IWt1KFd6OVZuWQp6NlVyKWhJJjVuPmxU
UyUhYVhXcGlAZCQpJUIyMyhpeUJjend8MVFTazxpbSVndnJxflJDRE1WOHlDVWMzT2pAUmUKekdz
RFQmVklFO3FTQzZXRmBmJWxpUi1zRnsjQkVgWmcpbFphP1ElbzY5fW5tXzR7Y3ZRZU5oJUp5PWpO
byg7VG4lCnomUSY3NTV8dT9LSHomcU1YK3hmfmtZYmhnaFVrR1Qoe19hdDR7aHNxPmxMYm8jLTl+
XiRsQ3FXdylkUEtjdHM1Kgp6enUzRTB0Zj01ZHt1NlQtdFc1ODBEYVAhNUhiQTduSDgkUVJjV0FN
Xlc4PDh+MjR5TX1RPitOJFNELSE7aHg4SzIKei1ISWBLamFuJSFLdnRzb0F0Z1kleCNOIWozUF9s
KXo3cSlSZ3ojO2RJQ2NeQHNFK2VfYXUmbks3bVVfQWEzdyRzCnp6PEdfTGtDIWo5SzNoQjU3PEpG
dEdmR35zZk0jPjNFe01lfnshaGowPT1kK094X2Y7LUp+NyFfbGN6K25MXzdDcQp6QT5tb3dxMHxr
OGNRPmc1JipXO3tJRGdtT05DSWdMUG12PU07aUI+aSNjakkjLUE4PExAeUc/VzdqUUhvdC1BX0QK
em09RmVwTEp6QDBiX0g5aCFFI19gcXhUclluJm9yWmE3UU05KTJ3bnBrPm9QUSlOMj1CelNvJkAt
VnRFT1VBRCZVCnprVCszI1VYQm9UaGtxfDA9b2NqR0YhMF88aGx+V1p3MXBPP0JCajlpVnBHPm81
RVFyUyp0WEF+JSo3NW1OOSYoRgp6WVhFNypDVmB7VzErb3ZuWW16T0Z6dW5kMDFoOSlYbjU+fG4t
I1h2OzAmJmhwS0Y4U2cweFMyK1BhdWVhWU1JRUcKekM8XjRgO19ePk8/M3UpKEpxUEZsKm1tdE0+
P2w9LWxNa1hYM0tQKUVAYzh3Rloma2BxYVhWOTFyREtOe3l1KGNGCno2KCY1eyRWZWR8bHd5TFdk
OzErYylaUkh4OyV+LVI+TCluUGpiWk8qZF5eWW1XYEhffihvfmBBTHc0c2dKeEp+Ywp6S0tQaHFU
MkZpaXtrT0Y7bU9jb2t3fD51VXVlNkRFPVBqMyFFYGI0ai1ib1Uxe1BmI28rfXdKYnlWQiEjaVgh
Wj8KelgyRitGOTxOOVNZcEgxU3hDIztDOFVgRFJ0JiNDNi1DTyhTdFJ+O2VYckRrbjNPQmo4PyYl
XzFQcyErJkptSmtUCnpwUmFEVzF0dSQxYGg1WHRaMD5sOTV6JnBfVEVEUFEwcSk4TiVBMjFKP25U
ejNQYWg/QGZDPn1eVGxpY1VFQ2BSPQp6QHBifUlwdFlQVk9MPTw9cChMM2J4YDtXSDg8c2J3QF5Q
bSZiVFdUYjQ2eE0wX0hQZXk3QFluYm1KN3leeSZsMkgKejZwcj8jKyUrI1RNIVhpSFphSkxWSkt+
KDRVPldlcGJzdz9vXnUyNz97aSF8XypkQDxjJm5DXipxbCZ7I3pLJT0hCnphUHdHIVNkfWN4VlJq
VGliWWR8emR8X1RXYzZ9dU5lUzU8RSVVNzQ+ciswamBPVWJ4fE4+RlNJRD0kJD1zNUxCRgp6MW4h
dkopNFVZSG09bm9ebmk9NSZYYkV3Sns8cSZfU0p3bV9UIWVIfDQte3FITU96Pzh5QnxLfWFSZmcq
aWZTRjUKemVFVnU1Q2pVTzxfQG51bWxTNiklUEp9Pz9la3VUOyRnVWUyTEtEZ0QwSkllQ3Q4cm47
aXp3fmo8bmRLWUd7XzdzCnpoJm4mPUY9U3VyI1Q3OCQ0IUZ+LXFqZlV6NXl0X1g7Zyg0WVVrbyh7
VkRUSmMzWD96fWBzTV92VW9KM3NHWHB2MAp6MiF1X01Rb25ta2VCfkI0IXRoSHtCNyFiMDBldUZ9
Xkw+TlJrcG5ENTlINEVPSUlPSTxRY0RzN0BiIW5VLUtKVDQKelZwX0p8VVRIcz8oWjhzITdKTyty
PCVOMjRkZVZXZDByPHFDaGs1KTRnQz4kY25DVilgaGswZSMoSzFZeWZgQH5WCno1Y0x6ejE7SHds
KE1FQ0dna29KTnFMIWN8cXZzYlMmQXxJU1lMTVVgekIrSkNpKlc9QypaY2MwTU5gMXRjYCt1fQp6
MlB8OERqZ1ZFfnlie05VSnVNZGp0PURkQlllRDdRPlBHYWU+RVdGR0dRKHdlNmt1UCEmZjBXPzU5
RykyZmVKMigKejNoK19QSGNzRTcmOVkjUGJaamolRzJoSURoIXtiRSk1RUtSRWV2WDx2ZiQkfmF4
YEVCST5gKXg4fVR4UExZSHswCnozcj1RSDcyN3ZNST16eFFXP0xzWTBKNWtVMjxYZjN4TnFqYFcj
eDJPNnxlczBUYlJDQlAtfEFfaiR2dWNOcSNRdAp6TzRqX0Ema2cwam1AM0h3Q1lDc2MlZXteNlFq
MT53ZF5XTElePn04KXE1ekNhMD4kVUIrWXhGbkBKR3pAdWxzM0UKekYtLShTelNocyZrY2t0cVc/
eUA/aWc+e2Z0JjhHQFNzRH5hQitmVXFwX3FaXyh6cT9qbCM5bjZMJVBmQEBNKmA3CnpOYmlodS1R
OHFqQmtlMjdUXmsqdSg/WWZiJmMyOSMoeENHd2N7e1pCKGJyXj1XMlgxejA0LUtMPF5tTGlSKjJD
Tgp6RDI8X3RvQ3hGMkZRQXlELWFYUFJqQ3o+Qk9WeWtOSj0mOT8xbjRiMFQ8NjE9cV5zcVNlfmJk
YTdAcS17PlV9VTcKekJlR08oaU9MSUBjZWA4ZWJfPF9jJGpSUyopY3h2I2VVeSVYejZJeTBiRyoq
KSZjSXp4S2FxNkghZjQ7KjQmXmlYCnpmWSF2XkB8UEYlRjM+VD9AVG9iVWl0ZGpsXlV+VWpaY1Yw
eW89aipCXlgwZntKaXw7T2pBKTI7UDdGZjM5Rk54MAp6RCtPelorIWBCYUItP3NrRUloeX1eTW0p
VmQxekRSZUp+KWVQODRVMS1wZDApVzdvej5vQy1eXzs4aWJpbytEaHsKemFGMCQtWGxvUyNWKDIt
ciR0UFM4MHdMcz9HcTQpQVcjS3d+d01KKj0zPEMjbnp1REs4KXFafDRZWkMmS1ErfV9PCnplKDAh
SSRxTiM8Zk8weDBPdENpSk5CMTB4dS0lSXR1dEI2dDhndml5QkhtZHN7K2RfdjgwcyMwbWw7Q3dZ
aCszUAp6SXQqdFBSSEJTbmwmQCE3TTdyQjU2e3U9XnJsNkgqJEhvdSpOPn5XIVFhR0FOV25OcmNH
ITVmQV5pfmBqe1pJbiQKel9Adj5CVGdQKmcwVWNfX15xez9ueER3YUVsdzwpR252bSpseSZnKWJq
NHZTKTRvfiMkU3BaRGAtdUZkbzx9MUA7CnpOaSRKM2EqU25Me2Y1cXhvT2A8REZuSUxsKmUhRG5p
OFNCTSZJcmxRbTkhKDI1P3tsc3pLeGsoamlTNzkmSTxSJQp6PmhPXkApPjE8dXMqZH1vaXdSZiMm
KjNoRjElJVlDNDlRSUlCMitpNDxCKzZtPEdyKU5sV2t0VnBQVG1AYTh1NUcKelUwOzQ0OTgzQExf
STA3VyExUW5YeF4mMmc3dTwrbGErcDtZe1ZrK3l3fiR0PD9JRE8pSzUwdWJ5dTthbS1BYTA9Cnpg
LXVISXdJdUU4cXZuMHlAI1pVeV5wd1AkWWZscVQyPkk3LXVBcCgkXkNUPHxJYC0pMFUyOC1rZmU3
ZH1jem5LUwp6WSp7OH1VZVlZOFlUKklmdHIjfTsrbHA3eWVgfn4kM15LbmdLNzRWKyNhQn0mbShx
fkEqWSl4aFpwaXdIUkp5ZW8KeiFzdz5MWiUtYGNkYGhCUWtgKFRvdXptOVo/bys/OC1EaFFhMSQ1
c3lpPjtOeT1HKVAzem9ybFc8SFQhXlE7KT15Cnp5M2ojT0wyYEhAPH19XjJpJGgpUkVgOXlMcj4q
VCExeFVTbHkzLU5meV5KfEdBOyNTaCE9bmhsUm5faU5oP31ATgp6WWwpb3F0cDZHbGt9TzZ9aiky
KyhXJmdZSEcpaXJ+cF82Q0AoJFhTTnJjZXlzdHFTaGEzMG0rRDYpI35LYW1VX2UKem4yS2ZYN0FJ
PDYrVXhAVm96KW1aMS1NVFF3Nzk3U3tLMnB5NjtAcmErKWRXN241ekllLT0tdj5odjMkUnFTeGoo
CnpvZ2IkWjk4RVJ5S1FrcU1pbEJhVCNROVEjbDV2bVAla300YVQwPXJZdWtYamxpe1UoRXVIP1JP
UGZ+TUVoJVpQMgp6I0t9KjI2Ozx7I1MxamN7akhHQXp1V3E3U3d1TlohXmJ6PHxzS150YFRCV301
K1N0WG4mTntnRGlNUkhvWk14cmsKejl3JWl2UD5uaG4kMVU+TSZUe2xPR0p5VzBSVWg4cyVyekNi
P3JZPnxLbUZgfEdOQGgxWkVqPlQ8JklnY0FJSDRZCnpvS3x5OyNsZT9OeCVFT1pPdGhleWU4cEwp
U3Z3JDdYSEs5blcpZ01ldSpyfGpLRXdFQ0l7ajJNemApISZxIypmewp6N3FgayRUa1dIV0x7YnZi
a0c9RFFrXi05Yjw0K2M0MkUrQkpESFkxJDsxN2I4bSN+SiVMQzMqQW93QFpxXihnXz0KUUN2Nmct
KW1ZfTs2JDFNSTBRWFltM2poRUIKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434189</attachid>
            <date>2021-07-25 18:59:13 -0700</date>
            <delta_ts>2021-07-26 00:57:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210726115909.patch</filename>
            <type>text/plain</type>
            <size>124285</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM2OTY3NWFkYmRjNmNlMWUxYTA3MjRj
NGI4YjBlMTQ3MWRkNjRmMzguLmUwM2UzMzRlZTQ3MzFlYjNjZTU2MTM2MzI0YzU5MzE3Y2E2MTRi
NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFdlYk1XZWJBdWRpb0Vu
YWJsZWQgcHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3Ig
bWltZXR5cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlz
YWJsZWQgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJl
ZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMSAgTWlndWVsIEdvbWV6ICA8
bWFnb21lekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWxsb3cgdGhlIHVzZXIg
dG8gY29uZmlndXJlIHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgaW5zaWRlIHRoZSB3ZWIgcHJv
Y2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDJlOTU3MWQ2Y2U5YjY4Mzc1N2I2ZTI2MTVhZjE5YWJiODA2ZGM0
MTMuLmViNDliM2E3YzQxYjNmMDRiYzUzZWIzZjMyYmQxMzg5ZTc4NGE1YjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMDMgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFw
cGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1
cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHdlYm0gaW4g
V2ViIEF1ZGlvLgorICAgICAgICBBcyBkZWNvZGluZyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgaW4g
dGhlIHdlYiBjb250ZW50IHByb2Nlc3Mgd2UKKyAgICAgICAgbmVlZCB0byBlbnN1cmUgdGhhdCB0
aGUgZGVjb2RlcnMgYXJlIGF2YWlsYWJsZSB0aGVyZS4gRm9yIHNlY3VyaXR5CisgICAgICAgIHJl
YXNvbnMsIGNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciBtYWNoIGNhbGxz
IGFyZSBibG9ja2VkCisgICAgICAgIHdoaWNoIHByZXZlbnRzIHJlZ2lzdGVyaW5nIGEgbmV3IGF1
ZGlvIGNvbXBvbmVudC4KKyAgICAgICAgV2UgaW5zdGVhZCByZWdpc3RlciBpdCBpbiB0aGUgVUkg
cHJvY2VzcyBzbyB0aGF0IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zCisg
ICAgICAgIFNQSSBjYW4gZm9yd2FyZCB0aGUgcmVnaXN0cmF0aW9uIGluIHRoZSB3ZWIgcHJvY2Vz
cy4KKyAgICAgICAgVW5mb3J0dW5hdGVseSwgZm9yIHVua25vd24gcmVhc29ucywgdGhpcyBmYWls
cyBmb3IgVm9yYmlzIGF1ZGlvIGNvZGVjIChidWcgMjI4MTM5KS4KKworICAgICAgICBUbyBkZW11
eCB0aGUgd2VibSBjb250ZW50LCB3ZSB1c2UgdGhlIGV4aXN0aW5nIFNvdXJjZUJ1ZmZlclBhcnNl
cldlYk0gdG8gZXh0cmFjdCBhbGwKKyAgICAgICAgYXVkaW8gcGFja2V0cy4gV2UgdGhlbiBpdGVy
YXRlIG92ZXIgYWxsIENNIFNhbXBsZXMgYW5kIGRlY29kZSB0aGVtIGludG8gUENNLCBwZXJmb3Jt
aW5nCisgICAgICAgIHJlc2FtcGxpbmcgYXMgbmVlZGVkIG9uIHRoZSBmbHkuCisgICAgICAgIFRo
ZXJlIGFyZSB0aGluZ3MgbGVmdCB0byBmaXguCisgICAgICAgIC0gT3B1cyBhbmQgVm9yYmlzIGVu
Y29kZXIgZGVsYXkgaXNuJ3QgaGFuZGxlZCAoYnVnIDIyODE0MCkgd2hpY2ggbGVhdmVzIGF1ZGli
bGUKKyAgICAgICAgc2lsZW5jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkZXN0aW5hdGlvbiBi
dWZmZXIuCisgICAgICAgIC0gV2UgY2FuIG9ubHkgZGVjb2RlIG1vbm8gYW5kIHN0ZXJlbyBjb250
ZW50LiBPcHVzIGFuZCBWb3JiaXMgbGV0IHlvdSBkZWZpbmUgYQorICAgICAgICBjdXN0b20gY2hh
bm5lbCBvcmRlcmluZywgdGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZCB3aXRoIGFtYmlzb25pYyBh
dWRpbyAod2l0aCBvcHVzIDI1NSBtb2RlKS4KKyAgICAgICAgQ29yZU1lZGlhIGRvZXNuJ3QgZWFz
aWx5IGRlYWwgd2l0aCBzdWNoIHJlLW9yZGVyaW5nIGFzIGl0IGFwcGVhcnMgdG8gYmUgZXNzZW50
aWFsbHkKKyAgICAgICAgZGVzaWduZWQgZm9yIGF1ZGlibGUgY29udGVudC4gV2l0aCBtb3JlIHRo
YW4gMiBjaGFubmVscywgZGVjb2Rpbmcgd2lsbCBlaXRoZXIgZmFpbAorICAgICAgICBvciBwcm9k
dWNlIGNoYW5uZWxzIGluIHRoZSB3cm9uZyBvcmRlci4KKworICAgICAgICBUZXN0OiB3ZWJhdWRp
by9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbAorCisgICAgICAgICogSGVhZGVycy5j
bWFrZTogRXhwb3J0IGhlYWRlciBzbyB0aGF0IHdlIGNhbiByZWdpc3RlciB0aGUgZGVjb2RlciBp
biB0aGUgVUkgcHJvY2Vzcy4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6IHNhbWUgYXMgYWJvdmUuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNhblBsYXlUeXBlIGNvbnN0
KTogTWFrZSBjYW5QbGF5VHlwZSh3ZWJtL2F1ZGlvOyBjb2RlY3M9b3B1cykKKyAgICAgICAgd29y
ayBpZiBmZWF0dXJlcyBpcyBzZXQuCisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRXZWJN
V2ViQXVkaW9FbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OndlYk1XZWJBdWRpb0VuYWJsZWQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlh
U2FtcGxlLmg6IEZseS1ieSBmaXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBXRUJDT1JFX0VYUE9SVAor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkF1ZGlvQnVzOjpzZXRMZW5ndGgpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVz
Lmg6IEFkZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0aGUgcmVwb3J0ZWQgbGVuZ3Ro
CisgICAgICAgIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlpbmcgc3RvcmFnZS4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaDogQWRkIHNldExlbmd0aCBtZXRob2Qu
IFdpbGwgY2hhbmdlIHRoZSByZXBvcnRlZAorICAgICAgICBsZW5ndGggd2l0aG91dCB0b3VjaGlu
ZyB0aGUgdW5kZXJseWluZyBzdG9yYWdlLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29h
L0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRyeUNyZWF0ZUF1
ZGlvQnVmZmVyTGlzdCk6IEZpeCBjaGVja2VkSW50IHVzZSB0byBjYXRjaCBwb3RlbnRpYWwgb3Zl
cmZsb3cKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6QXVkaW9CdWZm
ZXJMaXN0SG9sZGVyKTogQWRkIGNvbnZlbmllbmNlIGNsYXNzIHRoYXQKKyAgICAgICAgZnJlZSB3
cmFwcGVkIEF1ZGlvQnVmZmVyTGlzdCBvYmplY3Qgb24gZXhpdC4KKyAgICAgICAgKFdlYkNvcmU6
OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6fkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yIGJvb2wgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvci0+IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3IqIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6aXNWYWxpZCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRl
cik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmlzTWF5YmVXZWJNIGNvbnN0
KTogTWV0aG9kIHRvIGNoZWNrIGlmIHRoZSBidWZmZXIKKyAgICAgICAgY29udGFpbnMgV2ViTSBk
YXRhLgorICAgICAgICAoV2ViQ29yZTo6cGFzc3Rocm91Z2hJbnB1dERhdGFDYWxsYmFjayk6IFJl
cXVpcmVkIGZvciBBdWRpb0NvbnZlcnRlckZpbGxDb21wbGV4QnVmZmVyLgorICAgICAgICBXaWxs
IGZlZWQgdGhlIGRlY29kZXIgdGhlIGRhdGEgdG8gZGVjb2RlLCBzcGxpdHRpbmcgdGhlIG11bHRp
cGxlIHBhY2tldHMgZm91bmQKKyAgICAgICAgaW4gdGhlIENNU2FtcGxlQnVmZmVyLgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpudW1iZXJPZkZyYW1lcyBjb25zdCk6IFJldHVy
biB0aGUgdG90YWwgbnVtYmVyIG9mCisgICAgICAgIGRlY29kZWQgZnJhbWVzIGluIHRoZSBwYWNr
ZXRzLgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpmaWxlRGF0YUZvcm1hdCBj
b25zdCk6IENyZWF0ZSBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24KKyAgICAgICAgcmVsYXRl
ZCB0byB0aGUgZGVtdXhlZCBhdWRpbyB0cmFjay4gbnVsbG9wdCBpZiB1bnN1cHBvcnRlZCBjb250
ZW50LgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpjbGllbnREYXRhRm9ybWF0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKToK
KyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6bG9nQ2hhbm5lbCBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaDogUmVt
b3ZlIHVudXNlZCB0eXBlZGVmLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
U2FtcGxlRGF0YVNvdXJjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxlRGF0YVNv
dXJjZTo6fkF1ZGlvU2FtcGxlRGF0YVNvdXJjZSk6IEZseS1ieSBmaXgsIG1ha2UgaXQgdXNlCisg
ICAgICAgIFBBTCBzb2Z0bGlua3MKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxlRGF0YVNv
dXJjZTo6c2V0dXBDb252ZXJ0ZXIpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZSBQQUwKKyAgICAg
ICAgc29mdGxpbmtzCisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFBy
b3ZpZGVyLm1tOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHA6IEZseS1ieSBmaXgsIGFkZCBtaXNz
aW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVNhbXBsZUFWRk9iakMuaDoKKyAgICAgICAgRmx5LWJ5IGZpeCByZXF1aXJlZCBieSB3
ZWJraXQtcHJlcGFyZSA6IGRvbid0IHRhZyB0aGUgd2hvbGUgY2xhc3MgYXMgV0VCQ09SRV9FWFBP
UlQuCisgICAgICAgIE1vdmUgY29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3IgZnVuY3Rpb24gZGVm
aW5pdGlvbnMgb3V0LW9mLWxpbmUgdG8gcHJldmVudAorICAgICAgICBsaW5rYWdlIGVycm9ycy4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBs
ZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlh
U2FtcGxlQVZGT2JqQyk6IE1vdmUgY29kZQorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbTogRmx5LWJ5IGZpeCwgYWRkIG1pc3Np
bmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0
aWxpdGllc0NvY29hLmg6IEV4cG9ydCBzb21lIHN5bWJvbHMsIGFkZCBuZXcKKyAgICAgICAgbWV0
aG9kIGRlZmluaXRpb25zLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1B
dWRpb1V0aWxpdGllc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJEZWNvZGVy
RmFjdG9yeSk6IEluc3RlYWQgb2YgYXR0ZW1wdGluZyB0byByZWdpc3RlciB0aGUgZGVjb2Rlcgor
ICAgICAgICBieSBkbC1vcGVuaW5nIHRoZSByZXF1aXJlZCBsaWJyYXJ5LCBmaXJzdCBhdHRlbXB0
aW5nIHRvIHNlZSBpZiB0aGUgZGVjb2RlciBpcworICAgICAgICBhbHJlYWR5IGF2YWlsYWJsZS4g
Q2FsbGluZyBBdWRpb0NvbXBvbmVudFJlZ2lzdGVyIGluIHRoZSB3ZWIgY29udGVudCBwcm9jZXNz
CisgICAgICAgIHdoZW4gdGhlIEdQVSBwcm9jZXNzIGlzIGVuYWJsZWQgd2lsbCBmYWlsIGR1ZSB0
byBzYW5kYm94IHNldHRpbmdzLiBXaGljaCB3b3VsZAorICAgICAgICBpbmNvcnJlY3RseSByZXBv
cnQgdGhlIGNvZGVjIHRvIG5vdCBiZSBhdmFpbGFibGUgd2hlbiBpdCB3YXMuCisgICAgICAgIChX
ZWJDb3JlOjpjcmVhdGVBdWRpb0Zvcm1hdERlc2NyaXB0aW9uRm9yRm9ybWF0KToKKyAgICAgICAg
KFdlYkNvcmU6OmlzT3B1c0RlY29kZXJBdmFpbGFibGUpOiBGbHktYnkgZml4LCBzaG91bGQgdGhl
IG1ldGhvZCBiZSBjYWxsZWQKKyAgICAgICAgb24gbm9uLW1hYyBwbGF0Zm9ybSBpdCB3b3VsZCBo
YXZlIHJldHVybiB0aGUgdW5pdGlhbGl6ZWQgdmFsdWUgb2YgdGhlIGF2YWlsYWJsZQorICAgICAg
ICBzdGF0aWMgdmFyaWFibGUuCisgICAgICAgIChXZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVy
SWZOZWVkZWQpOiBBZGRlZAorICAgICAgICAoV2ViQ29yZTo6aXNWb3JiaXNEZWNvZGVyQXZhaWxh
YmxlKTogU2FtZSBhcyBpc09wdXNEZWNvZGVyQXZhaWxhYmxlCisgICAgICAgIChXZWJDb3JlOjpy
ZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCk6IEFkZGVkCisKIDIwMjEtMDctMjEgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgbGlu
a2VkT25PckFmdGVyIGNoZWNrIGZvciByMjY5MTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBmMDE5
ZDNjZTEyMDNmM2ZhMTA0ZWY5ZmFjNGZmYTQwNmFiOTAyZjYwLi5mMmFhY2JiODQwMmQwYzQxNjFh
M2Y2ZmJmOTkzOTRmNThjYzUzZGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAg
ICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgdmFyaW91cyBBVkZvdW5kYXRpb24gKEFWQXVkaW9Db252ZXJ0
ZXIpIHJlbGF0ZWQgbWV0aG9kcyBhbmQKKyAgICAgICAgQ29yZU1lZGlhIHRvIGFjY2VzcyByZXF1
aXJlZCBDTVNhbXBsZUJ1ZmZlciByZWxhdGVkIG1ldGhvZHMuCisKKyAgICAgICAgKiBwYWwvY2Yv
Q29yZU1lZGlhU29mdExpbmsuY3BwOgorICAgICAgICAqIHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGlu
ay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oOgorICAgICAg
ICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbToKKwogMjAyMS0wNy0yMSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVy
dGluZyByMjgwMTI5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxODc2MjU4NDI2MWJhYTllMzIyZTlhNzBjZjhkMmE2
ZjA3YjA5MDk2Li4xYWI5Y2YxZWQzOThiOWJlMjhjNzhmODJiNWMwYTYxNTBiNzhmMjMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA3LTIxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5
YUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1ZGlvXSBBZGQgd2VibS9vcHVzIGNvbnRhaW5l
ciBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjcxMTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5NDM3MDY3PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkZWZhdWx0IHZhbHVlIGZv
ciB3ZWJtX3dlYmF1ZGlvIGZlYXR1cmUgZmxhZyBmb3IgdGhlIGRpZmZlcmVudCBwbGF0Zm9ybXMu
CisgICAgICAgIERpc2FibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHBsYXRmb3Jtcy4KKyAgICAgICAg
Rmx5LWJ5IGZpeDogZG9uJ3QgbWFrZSB3ZWJtIHBhcnNlciBkZXBlbmRlbnQgb24gVlA5IHN1cHBv
cnQuCisKKyAgICAgICAgKiBGZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdDoKKyAg
ICAgICAgKiBGZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdDoKKyAgICAgICAgKiBGZWF0dXJl
RmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0OgorICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQt
d2F0Y2hvcy5wbGlzdDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuaDoKKyAgICAg
ICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OmRlZmF1
bHRXZWJNV2ViQXVkaW9FbmFibGVkKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94
eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRpb0Nv
bXBvbmVudFJlZ2lzdHJhdGlvbnMpOgorCiAyMDIxLTA3LTIxICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgUnVubmluZ0JvYXJkIGtpbGxzIHRoZSBuZXR3b3JrIHBy
b2Nlc3MgaWYgaXQgaXMgc3RpbGwgaG9sZGluZyB0aGUgImhvbGRpbmcgbG9ja2VkIGZpbGUiIGFz
c2VydGlvbiB1cG9uIHN1c3BlbnNpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9T
Y3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXgg
YzQyZWJlYmEwNjdjMTVkN2Y1ZGMwZTkwYWIzZGI0NTJlOTIyYTRlZC4uYjQxMTg2NDRhYmY4YjZl
MTM4ZTNlNjQ5NDc1NDgwODNjOTkzZGJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNl
L1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwK
QEAgLTEyNjEsNiArMTI2MSwxOCBAQCBXZWJNUGFyc2VyRW5hYmxlZDoKICAgICBXZWJLaXQ6CiAg
ICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAKK1dlYk1X
ZWJBdWRpb0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWJNIFdlYiBBdWRpbyIKKyAg
aHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdlYk0gV2ViIEF1ZGlvIgorICBjb25k
aXRpb246IEVOQUJMRShNRURJQV9TT1VSQ0UpCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRM
ZWdhY3k6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVk
KCkKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNV2ViQXVk
aW9FbmFibGVkKCkKKwogIyBGSVhNRTogSXMgdGhpcyBpbXBsZW1lbnRlZCBmb3IgV2ViS2l0TGVn
YWN5PyBJZiBub3QsIHRoaXMgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gV2ViS2l0TGVnYWN5IGVu
dGlyZWx5LgogV2ViUlRDSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDoKICAgdHlwZTogYm9v
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJD
b3JlL0hlYWRlcnMuY21ha2UKaW5kZXggM2IxYmI1NTBmNTY4MWE0ZjVkZDIzNjBhMTQxODlhOGVj
YWQwNTdiOS4uOWE2MWVlZmY1NGI3YzY1MDIwYTI4ZTk0YzZiZWUzZDU0M2M3NDU5ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlCkBAIC0xMzM1LDYgKzEzMzUsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZS
QU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dM
QU5HTEUuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5H
TEVVdGlsaXRpZXMuaAogCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRp
bGl0aWVzQ29jb2EuaAorCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0LmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RE
cmF3R2x5cGhzUmVjb3JkZXIuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
Zi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKaW5kZXggZmMwNjY4YTRhOTFhZmUxMGI2NTE1OWNhMDgy
ZTE4MjgxZmQ1MDM1Ny4uNGEzZTkwY2Q0NDA2Nzc1OTIxMjJmMTZmYTUxOGFhNTRlOTU3Y2NjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAK
QEAgLTM2LDYgKzM2LDggQEAKICNpbmNsdWRlIDxDb3JlVmlkZW8vQ29yZVZpZGVvLmg+CiAjZW5k
aWYKIAorI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgorCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01B
WF9BTExPV0VEID49IDEwMTQwMCkKICNkZWZpbmUgQ01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBF
IENGX05PRVNDQVBFCiAjZWxzZQpAQCAtNDcsMTEgKzQ5LDEzIEBAIFNPRlRfTElOS19GUkFNRVdP
UktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYg
dGhlU291cmNlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwg
dm9pZCogZGVzdGluYXRpb24pLCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFM
ZW5ndGgsIGRlc3RpbmF0aW9uKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxl
bmd0aCwgc2l6ZV90LCAoQ01CbG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwg
UEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChD
TUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCks
ICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
UmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2b2lkKiBzb3VyY2VCeXRlcywgQ01C
bG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6ZV90IG9mZnNldEludG9EZXN0aW5h
dGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0ZXMsIGRlc3RpbmF0aW9uQnVmZmVy
LCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgpLCBQQUxfRVhQT1JUKQogU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNRm9y
bWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBDRkRpY3Rpb25hcnlSZWYsIChDTUZvcm1hdERl
c2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYyksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJH
ZXRUeXBlSUQsIENGVHlwZUlELCAodm9pZCksICgpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZV
TkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVm
ZmVyR2V0RGF0YUJ1ZmZlciwgQ01CbG9ja0J1ZmZlclJlZiwgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlw
dGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYpLCAo
c2J1ZiksIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VY
UE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERl
c2NyaXB0aW9ucywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFj
a2V0RGVzY3JpcHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0
RGVzY3JpcHRpb25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQp
LCAoc2J1ZiwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBw
YWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckdldFNhbXBsZVRpbWluZ0luZm8sIE9TU3RhdHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1
ZiwgQ01JdGVtSW5kZXggc2FtcGxlSW5kZXgsIENNU2FtcGxlVGltaW5nSW5mbyogdGltaW5nSW5m
b091dCksIChzYnVmLCBzYW1wbGVJbmRleCwgdGltaW5nSW5mb091dCksIFBBTF9FWFBPUlQpCiBT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwg
Q01TYW1wbGVCdWZmZXJEYXRhSXNSZWFkeSwgQm9vbGVhbiwgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiAKQEAgLTEwOCw2ICsxMTIsNyBAQCBTT0ZUX0xJTktf
Q09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwga0NNVGV4dFZl
cnRpY2FsTGF5b3V0XwogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQo
UEFMLCBDb3JlTWVkaWEsIGtDTVRleHRWZXJ0aWNhbExheW91dF9SaWdodFRvTGVmdCwgQ0ZTdHJp
bmdSZWYsIFBBTF9FWFBPUlQpCiAKICNpZiBQTEFURk9STShDT0NPQSkKK1NPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
Q3JlYXRlQ29udGlndW91cywgT1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxv
Y2F0b3IsIENNQmxvY2tCdWZmZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9j
a0FsbG9jYXRvciwgY29uc3QgQ01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21C
bG9ja1NvdXJjZSwgc2l6ZV90IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxv
Y2tCdWZmZXJGbGFncyBmbGFncywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAo
c3RydWN0dXJlQWxsb2NhdG9yLCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21C
bG9ja1NvdXJjZSwgb2Zmc2V0VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJP
dXQpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBP
UlQoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVN1YlR5cGUsIEZv
dXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VY
UE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29y
ZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFUeXBlLCBDTU1lZGlhVHlwZSwgKENN
Rm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFm
YzU2ZGJmYjA1ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLjg4ZTYyOTViM2MzZWU1MjNhNTc3ZDcy
NjY0MTBkMWIwNDY2ZmMxNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2Yv
Q29yZU1lZGlhU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVN
ZWRpYVNvZnRMaW5rLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBVU0UoQVZGT1VOREFUSU9OKQog
Ly8gRklYTUU6IFNob3VsZCBiZSBVU0UoQ09SRU1FRElBKSwgYnV0IHRoaXMgaXNuJ3QgY3VycmVu
dGx5IGRlZmluZWQgb24gV2luZG93cy4KIAorI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9U
eXBlcy5oPgogI2luY2x1ZGUgPHBhbC9zcGkvY2YvQ29yZU1lZGlhU1BJLmg+CiAjaW5jbHVkZSA8
d3RmL1NvZnRMaW5raW5nLmg+CiAKQEAgLTQ5LDYgKzUwLDggQEAgU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzLCBP
U1N0YXQKICNkZWZpbmUgQ01CbG9ja0J1ZmZlckNvcHlEYXRhQnl0ZXMgc29mdExpbmtfQ29yZU1l
ZGlhX0NNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hF
QURFUihQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgsIHNpemVfdCwg
KENNQmxvY2tCdWZmZXJSZWYgdGhlQnVmZmVyKSwgKHRoZUJ1ZmZlcikpCiAjZGVmaW5lIENNQmxv
Y2tCdWZmZXJHZXREYXRhTGVuZ3RoIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVmZmVyR2V0
RGF0YUxlbmd0aAorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEs
IENNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cywgQm9vbGVhbiwgKENNQmxvY2tCdWZmZXJS
ZWYgdGhlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0LCBzaXplX3QgbGVuZ3RoKSwgKHRoZUJ1ZmZlciwg
b2Zmc2V0LCBsZW5ndGgpKQorI2RlZmluZSBDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMg
c29mdExpbmtfQ29yZU1lZGlhX0NNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cwogU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJSZXBs
YWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNvdXJjZUJ5dGVzLCBDTUJsb2Nr
QnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zmc2V0SW50b0Rlc3RpbmF0aW9u
LCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVzdGluYXRpb25CdWZmZXIsIG9m
ZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCkpCiAjZGVmaW5lIENNQmxvY2tCdWZmZXJS
ZXBsYWNlRGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVmZmVyUmVwbGFjZURh
dGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENN
Rm9ybWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBDRkRpY3Rpb25hcnlSZWYsIChDTUZvcm1h
dERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYykpCkBAIC01OSw2ICs2Miw4IEBAIFNPRlRfTElO
S19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldERh
dGFCdWZmZXIsIENNQmxvCiAjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlciBzb2Z0
TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyCiBTT0ZUX0xJTktfRlVO
Q1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXRE
ZXNjcmlwdGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYpLCAoc2J1ZikpCiAjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24g
c29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24KK1NP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZl
ckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVm
ZmVyUmVmIHNidWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBh
Y2tldERlc2NyaXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVz
Y3JpcHRpb25zU2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBw
YWNrZXREZXNjcmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpKQor
I2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zIHNv
ZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3Jp
cHRpb25zCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01T
YW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZvLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVy
UmVmIHNidWYsIENNSXRlbUluZGV4IHNhbXBsZUluZGV4LCBDTVNhbXBsZVRpbWluZ0luZm8qIHRp
bWluZ0luZm9PdXQpLCAoc2J1Ziwgc2FtcGxlSW5kZXgsIHRpbWluZ0luZm9PdXQpKQogI2RlZmlu
ZSBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8gc29mdExpbmtfQ29yZU1lZGlhX0NN
U2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyRGF0YUlzUmVhZHksIEJvb2xlYW4s
IChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQpAQCAtMTY4LDYgKzE3Myw4IEBAIFNP
RlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBrQ01UZXh0VmVydGlj
YWxMYXlvdXRfUmlnaHRUb0xlZnQsCiAKICNpZiBQTEFURk9STShDT0NPQSkKIAorU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDcmVhdGVD
b250aWd1b3VzLCBPU1N0YXR1cywgKENGQWxsb2NhdG9yUmVmIHN0cnVjdHVyZUFsbG9jYXRvciwg
Q01CbG9ja0J1ZmZlclJlZiBzb3VyY2VCdWZmZXIsIENGQWxsb2NhdG9yUmVmIGJsb2NrQWxsb2Nh
dG9yLCBjb25zdCBDTUJsb2NrQnVmZmVyQ3VzdG9tQmxvY2tTb3VyY2UqIGN1c3RvbUJsb2NrU291
cmNlLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgQ01CbG9ja0J1ZmZl
ckZsYWdzIGZsYWdzLCBDTUJsb2NrQnVmZmVyUmVmKiBibG9ja0J1ZmZlck91dCksIChzdHJ1Y3R1
cmVBbGxvY2F0b3IsIHNvdXJjZUJ1ZmZlciwgYmxvY2tBbGxvY2F0b3IsIGN1c3RvbUJsb2NrU291
cmNlLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGZsYWdzLCBibG9ja0J1ZmZlck91dCkpCisj
ZGVmaW5lIENNQmxvY2tCdWZmZXJDcmVhdGVDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVNZWRpYV9D
TUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFE
RVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVN1YlR5cGUsIEZv
dXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSkKICNkZWZp
bmUgQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3ViVHlwZSBzb2Z0TGlua19Db3JlTWVkaWFf
Q01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3ViVHlwZQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVR5cGUs
IENNTWVkaWFUeXBlLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2MpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlu
ay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5o
CmluZGV4IGIzMjQxNTliZTFlZmU3YTVlNWZlMmIyNjRkNDFhNmEwYzg0ZmQ0OWIuLjcwMGU5YzMy
YzRjZmIxYmRjMzBlY2Y0N2EwMDA2MzA3MjA1MjY5MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKQEAgLTMyNCw0ICszMjQs
MTEgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBBVkZvdW5kYXRpb24sIEFW
T3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWQKICNkZWZpbmUgQVZPdXRwdXRDb250ZXh0T3V0
cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbiBQQUw6OmdldF9BVkZvdW5kYXRpb25fQVZP
dXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbigpCiAjZW5kaWYg
Ly8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09GVF9M
SU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvQ29udmVydGVyKQorU09GVF9MSU5LX0NM
QVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvRm9ybWF0KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9I
RUFERVIoUEFMLCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlcikKK1NPRlRfTElOS19DTEFTU19GT1Jf
SEVBREVSKFBBTCwgQVZBdWRpb1BDTUJ1ZmZlcikKKyNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkK
KwogI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQppbmRleCAzN2M4YjFmYWZkNThj
Y2JjNmU4NTBjNmYzMDExNzY3YzdkYTMxNjQ1Li43MzM5ODQ1ZTA3MjY1ODAxZTA2NDAzMDNiMmUy
OTFhMDEyNGU4NzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FW
Rm91bmRhdGlvblNvZnRMaW5rLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2Ev
QVZGb3VuZGF0aW9uU29mdExpbmsubW0KQEAgLTIzMCw3ICsyMzAsNyBAQCBTT0ZUX0xJTktfQ09O
U1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nl
c3Npb25Sb3V0ZQogCiBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZBSUxfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZVUkxBc3NldEhUVFBDb29raWVzS2V5LCBOU1N0
cmluZyAqLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRSZXF1aXJlc0N1c3Rv
bVVSTExvYWRpbmdLZXksIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCi0jZW5kaWYKKyNlbmRpZiAv
LyBQTEFURk9STShJT1NfRkFNSUxZKQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBM
QVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0UoUEFMLCBBVkZvdW5kYXRpb24sIEFWQ2FwdHVyZVNlc3Npb25TZXRBdXRob3Jp
emVkVG9Vc2VDYW1lcmFJbk11bHRpcGxlRm9yZWdyb3VuZEFwcExheW91dCwgdm9pZCwgKEFWQ2Fw
dHVyZVNlc3Npb24gKnNlc3Npb24pLCAoc2Vzc2lvbikpCkBAIC0yNDQsNCArMjQ0LDExIEBAIFNP
RlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVlJvdXRlRGV0ZWN0b3JNdWx0CiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZPdXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0Rp
ZENoYW5nZU5vdGlmaWNhdGlvbiwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKICNlbmRpZiAvLyBI
QVZFKEFWUk9VVEVQSUNLRVJWSUVXKQogCisjaWYgUExBVEZPUk0oQ09DT0EpCitTT0ZUX0xJTktf
Q0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0Nv
bnZlcnRlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQ
T1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvRm9ybWF0LCBQQUxfRVhQT1JUKQorU09GVF9M
SU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVk
aW9Db21wcmVzc2VkQnVmZmVyLCBQQUxfRVhQT1JUKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9QQ01CdWZmZXIsIFBBTF9F
WFBPUlQpCisjZW5kaWYKKwogI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjAxYjk5
MjdlM2NjNjIyZTljY2MwMGIxMWViMmEyY2RkMDNmNzUzNy4uNGY0OTU3ZjUwZThlYjQ0ZjZmMDU4
MTkwNzJkYzBhNTE3M2JlMWM4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjMyLDcgKzIzMiw3IEBACiAJCTA3RUU3NkVDMUJF
OTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUExQkU5NkRCMDAwRjg5MTMz
IC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDdFRTc2RUYxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tS
ZWFsdGltZVZpZGVvU291cmNlTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwN0VFNzZFRDFCRUE2MTk4MDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlk
ZW9Tb3VyY2VNYWMuaCAqLzsgfTsKIAkJMDdGNEU5MzMyMEIzNTg3RjAwMkUzODAzIC8qIEFWQXNz
ZXRNSU1FVHlwZUNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwN0M4QUQxMjFEMDczRDYzMDA4N0M1Q0UgLyogQVZBc3NldE1JTUVUeXBlQ2FjaGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwN0Y1
Q0ZGNTI1ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkY0MjU4MkE0Rjgw
MDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oICovOyB9OworCQkwN0Y1Q0ZGNTI1
ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkY0MjU4MkE0RjgwMDY2MkVG
NSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RjVDRkY2MjU4MkE1MjkwMDY2MkVGNSAvKiBXZWJN
QXVkaW9VdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA3RjVDRkYyMjU4MkE0RjgwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRp
ZXNDb2NvYS5tbSAqLzsgfTsKIAkJMDdGODc2ODQxQUQ1ODBGOTAwOTA1ODQ5IC8qIE1lZGlhUGxh
eWJhY2tUYXJnZXRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwN0Y4NzY4MzFBRDRBOTQ1MDA5MDU4NDkgLyogTWVkaWFQbGF5YmFja1Rhcmdl
dENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkwN0Y5NDQxNjE4NjREMDQ2MDA1RDMxQ0IgLyogUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREFF
OEMwODE3NDZCOTU3MDA1MzJENzggLyogUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGEzYjNhMmYxMTU3YzJiN2U1MDBiMmEw
NGU0NjhlZDU2YWQyMDQ0YmMuLjdkN2NkMmNlMWRlZmI4YzA1MTAzYjQzODFkYTc1ZjcwYjcyODM0
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTA1NSw3
ICsxMDU1LDcgQEAgU3RyaW5nIEhUTUxNZWRpYUVsZW1lbnQ6OmNhblBsYXlUeXBlKGNvbnN0IFN0
cmluZyYgbWltZVR5cGUpIGNvbnN0CiAgICAgLy8gVGVtcG9yYXJpbHkgd29yayBhcm91bmQgYnVn
IDIyNjkyMi4gRm9yIG5vdyBjbGFpbSB0aGF0IHRoZSBvcHVzIGFuZCB2b3JiaXMgY29kZWNzIGFy
ZW4ndCBzdXBwb3J0ZWQKICAgICAvLyBzbyB0aGF0IHNpdGVzIHJlbHlpbmcgb24gdGhpcyB0ZXN0
IHRvIGRldGVybWluZSBpZiB3ZWJhdWRpbyB1c2Ugb2Ygb3B1cyBvciB2b3JiaXMgd29uJ3QgZXJy
b3IuCiAgICAgYXV0byBjb2RlY3MgPSBjb250ZW50VHlwZS5jb2RlY3MoKTsKLSAgICBpZiAoc3Vw
cG9ydCA9PSBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc1N1cHBvcnRlZCAmJiAoY29kZWNz
LmNvbnRhaW5zKCJvcHVzIikgfHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCisgICAgaWYg
KHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYgKChj
b2RlY3MuY29udGFpbnMoIm9wdXMiKSAmJiAhd2ViTVdlYkF1ZGlvRW5hYmxlZCgpKSB8fCBjb2Rl
Y3MuY29udGFpbnMoInZvcmJpcyIpKSkKICAgICAgICAgc3VwcG9ydCA9IE1lZGlhUGxheWVyOjpT
dXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkOwogI2VuZGlmCiAKQEAgLTgxNzUsNiArODE3NSwx
NSBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Omhhc01lZGlhU3RyZWFtU291cmNlKCkgY29uc3QK
ICNlbmRpZgogfQogCitib29sIEhUTUxNZWRpYUVsZW1lbnQ6OndlYk1XZWJBdWRpb0VuYWJsZWQo
KSBjb25zdAoreworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgcmV0dXJuIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViTVdlYkF1ZGlvRW5hYmxlZCgpOwor
I2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhU3RyZWFtQ2FwdHVyZVN0YXJ0ZWQo
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAxMDUxYzA1ODUz
ZmMwMTJlZGRhY2Q4Yjc0Yzk0NWFiYmFjMmQ1MzIwLi5mOTI2ZWQ2MjczMDExZDUxNjQ4YWRlZjU3
OTdkYmVkZmE2ZGI4MmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApA
QCAtOTM5LDYgKzkzOSw4IEBAIHByaXZhdGU6CiAgICAgY29uc3QgTG9nZ2VyJiBtZWRpYVBsYXll
ckxvZ2dlcigpIGZpbmFsIHsgcmV0dXJuIGxvZ2dlcigpOyB9CiAjZW5kaWYKIAorICAgIGJvb2wg
d2ViTVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0OworCiAgICAgVGltZXIgbV9wcm9ncmVzc0V2ZW50
VGltZXI7CiAgICAgVGltZXIgbV9wbGF5YmFja1Byb2dyZXNzVGltZXI7CiAgICAgVGltZXIgbV9z
Y2FuVGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
CmluZGV4IGEwZDNjZWE3OWQ3ZTBhZTA3NDgyNDBkZDIyZWVlMmQ1NTc1MDQ0YTYuLjY4NWEwYTJh
ZDc1NDcyNjk5YWViZjIxOWZhMGMyNTE1MjFiZWIwYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC0yMzUsNiArMjM1LDggQEAgcHVibGljOgog
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgdm9pZCBzZXRXZWJNUGFyc2VyRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX3dlYk1QYXJzZXJFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAg
Ym9vbCB3ZWJNUGFyc2VyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVBhcnNlckVuYWJs
ZWQ7IH0KKyAgICB2b2lkIHNldFdlYk1XZWJBdWRpb0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsg
bV93ZWJNV2ViQXVkaW9FbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCB3ZWJNV2ViQXVk
aW9FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJNV2ViQXVkaW9FbmFibGVkOyB9CiAjZW5k
aWYKIAogI2lmIEhBVkUoQ0VMRVNUSUFMKQpAQCAtMzcxLDYgKzM3Myw3IEBAIHByaXZhdGU6CiAK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIGJvb2wgbV93ZWJNUGFyc2VyRW5hYmxlZCB7
IGZhbHNlIH07CisgICAgYm9vbCBtX3dlYk1XZWJBdWRpb0VuYWJsZWQgeyBmYWxzZSB9OwogI2Vu
ZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lZGlhU2FtcGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBs
ZS5oCmluZGV4IDhkYTYwMzc3ODgyNDMzMzBhZTI1MGQ5YzEwYzcyZWUwNTg4ZTc2MGMuLjA4NDdi
OTc0ZTkzZTg3MmEyMjllN2ExNjEwZjJkNDRlOTAyY2MwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTWVkaWFTYW1wbGUuaApAQCAtNTcsNyArNTcsNyBAQCBzdHJ1Y3QgUGxhdGZvcm1TYW1wbGUg
ewogICAgIH0gc2FtcGxlOwogfTsKIAotY2xhc3MgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGUg
OiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TWVkaWFTYW1wbGU+IHsKK2NsYXNzIE1lZGlh
U2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CiBwdWJs
aWM6CiAgICAgdmlydHVhbCB+TWVkaWFTYW1wbGUoKSA9IGRlZmF1bHQ7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcAppbmRleCAyNDNlMTA2YjllMzNkYTkzZGU5
YTBjYWQzM2JjMDhlOTIwNjUzMjAwLi43ZjAzYzMzMWVlMjAxMGM5ODkyOWEwMzI0ZGNhYzk1NWQ2
NWY4YmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCkBA
IC03Myw2ICs3MywxNiBAQCB2b2lkIEF1ZGlvQnVzOjpzZXRDaGFubmVsTWVtb3J5KHVuc2lnbmVk
IGNoYW5uZWxJbmRleCwgZmxvYXQqIHN0b3JhZ2UsIHNpemVfdCBsZQogICAgIH0KIH0KIAordm9p
ZCBBdWRpb0J1czo6c2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCit7CisgICAgUkVMRUFTRV9B
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihuZXdMZW5ndGggPD0gbV9sZW5ndGgpOwor
ICAgIGlmIChuZXdMZW5ndGggPT0gbV9sZW5ndGgpCisgICAgICAgIHJldHVybjsKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKKyAgICAgICAgbV9j
aGFubmVsc1tpXS0+c2V0TGVuZ3RoKG5ld0xlbmd0aCk7CisgICAgbV9sZW5ndGggPSBuZXdMZW5n
dGg7Cit9CisKIHZvaWQgQXVkaW9CdXM6Onplcm8oKQogewogICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBtX2NoYW5uZWxzLnNpemUoKTsgKytpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDBlODExMjExYjRkYTJjYThjNjcwYjU4YjMyOTZiMzVjZTY5
Y2Q0YS4uMzE3NTUxYzllZjExNWYyNmMwOWU1ODAwODkzNmMyNDViYzE0YTA3MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCkBAIC04Myw2ICs4Myw5IEBAIHB1Ymxp
YzoKICAgICAvLyBOdW1iZXIgb2Ygc2FtcGxlLWZyYW1lcwogICAgIHNpemVfdCBsZW5ndGgoKSBj
b25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQogCisgICAgLy8gUmVkdWNlIHRoZSBudW1iZXIgb2Yg
ZnJhbWVzIGF2YWlsYWJsZSB3aXRob3V0IGNoYW5naW5nIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHNp
emUuCisgICAgdm9pZCBzZXRMZW5ndGgoc2l6ZV90KTsKKwogICAgIC8vIFNhbXBsZS1yYXRlIDog
MC4wIGlmIHVua25vd24gb3IgImRvbid0IGNhcmUiCiAgICAgZmxvYXQgc2FtcGxlUmF0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fc2FtcGxlUmF0ZTsgfQogICAgIHZvaWQgc2V0U2FtcGxlUmF0ZShmbG9h
dCBzYW1wbGVSYXRlKSB7IG1fc2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKaW5kZXggOTc1YmQwYjVhYmQ4Zjcy
NTVhMDVhN2RkNzBmOTY1MGIxZDQ5NDY2Ny4uMTY3NmY1NmI2ZGRiOTcwOWMyZDQ2ZTc4OWU2OTk4
YmEyZmYxNTUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVk
aW9DaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFu
bmVsLmgKQEAgLTc0LDYgKzc0LDEzIEBAIHB1YmxpYzoKICAgICAvLyBIb3cgbWFueSBzYW1wbGUt
ZnJhbWVzIGRvIHdlIGNvbnRhaW4/CiAgICAgc2l6ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJu
IG1fbGVuZ3RoOyB9CiAKKyAgICAvLyBTZXQgbmV3IGxlbmd0aC4gQ2FuIG9ubHkgYmUgc2V0IHRv
IGEgdmFsdWUgbG93ZXIgdGhhbiB0aGUgY3VycmVudCBsZW5ndGguCisgICAgdm9pZCBzZXRMZW5n
dGgoc2l6ZV90IG5ld0xlbmd0aCkKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhf
U0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IGxlbmd0aCgpKTsKKyAgICAgICAgbV9s
ZW5ndGggPSBuZXdMZW5ndGg7CisgICAgfQorCiAgICAgLy8gRGlyZWN0IGFjY2VzcyB0byBQQ00g
c2FtcGxlIGRhdGEuIE5vbi1jb25zdCBhY2Nlc3NvciBjbGVhcnMgc2lsZW50IGZsYWcuCiAgICAg
ZmxvYXQqIG11dGFibGVEYXRhKCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKaW5kZXgg
NWQ1NmI5ZWUxYTBkM2Q2N2E3OWMzMDc2MWQxMzgxNWQ3YzA2NDRjZS4uNzBhYWEzYmNjNjYxNjgz
N2NhNjQ0YjlhNzEwNTFmMzlkNmVmZjg5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcApAQCAt
MzQsMjEgKzM0LDM2IEBACiAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgogI2luY2x1ZGUgIkF1ZGlv
RmlsZVJlYWRlci5oIgorI2luY2x1ZGUgIkF1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIgorI2luY2x1
ZGUgIkF1ZGlvVHJhY2tQcml2YXRlLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCisj
aW5jbHVkZSAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
KyNpbmNsdWRlICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKKyNpbmNsdWRlICJWaWRlb1RyYWNrUHJp
dmF0ZS5oIgorI2luY2x1ZGUgIldlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgiCisjaW5jbHVkZSA8
QXVkaW9Ub29sYm94L0F1ZGlvQ29udmVydGVyLmg+CiAjaW5jbHVkZSA8QXVkaW9Ub29sYm94L0V4
dGVuZGVkQXVkaW9GaWxlLmg+CiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRp
b24uaD4KLSNpbmNsdWRlIDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRl
IDxTb3VyY2VCdWZmZXJQYXJzZXJXZWJNLmg+CisjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUg
PHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Cisj
aW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi9TY29wZS5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxw
YWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgV0FSTl9VTlVTRURf
UkVUVVJOIEF1ZGlvQnVmZmVyTGlzdCogdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KHNpemVfdCBu
dW1iZXJPZkJ1ZmZlcnMpCiB7CisgICAgaWYgKCFudW1iZXJPZkJ1ZmZlcnMpCisgICAgICAgIHJl
dHVybiBudWxscHRyOwogICAgIENoZWNrZWRTaXplIGJ1ZmZlckxpc3RTaXplID0gc2l6ZW9mKEF1
ZGlvQnVmZmVyTGlzdCkgLSBzaXplb2YoQXVkaW9CdWZmZXIpOwotICAgIGJ1ZmZlckxpc3RTaXpl
ICs9IG51bWJlck9mQnVmZmVycyAqIHNpemVvZihBdWRpb0J1ZmZlcik7CisgICAgYnVmZmVyTGlz
dFNpemUgKz0gV1RGOjpjaGVja2VkUHJvZHVjdDxzaXplX3Q+KG51bWJlck9mQnVmZmVycywgc2l6
ZW9mKEF1ZGlvQnVmZmVyKSk7CiAgICAgaWYgKGJ1ZmZlckxpc3RTaXplLmhhc092ZXJmbG93ZWQo
KSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTg3LDEwICsxMDIsNTQgQEAgc3RhdGlj
IGJvb2wgdmFsaWRhdGVBdWRpb0J1ZmZlckxpc3QoQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0
KQogICAgIHJldHVybiB0cnVlOwogfQogCisvLyBPbiBzdGFjayBSQUlJIGNsYXNzIHRoYXQgd2ls
bCBmcmVlIHRoZSBhbGxvY2F0ZWQgQXVkaW9CdWZmZXJMaXN0KiBhcyBuZWVkZWQuCitjbGFzcyBB
dWRpb0J1ZmZlckxpc3RIb2xkZXIgeworcHVibGljOgorICAgIGV4cGxpY2l0IEF1ZGlvQnVmZmVy
TGlzdEhvbGRlcihzaXplX3QgbnVtYmVyT2ZDaGFubmVscykKKyAgICAgICAgOiBtX2J1ZmZlckxp
c3QodHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpKQorICAgIHsKKyAg
ICB9CisKKyAgICB+QXVkaW9CdWZmZXJMaXN0SG9sZGVyKCkKKyAgICB7CisgICAgICAgIGlmICht
X2J1ZmZlckxpc3QpCisgICAgICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVy
TGlzdCk7CisgICAgfQorCisgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0
dXJuICEhbV9idWZmZXJMaXN0OyB9CisgICAgQXVkaW9CdWZmZXJMaXN0KiBvcGVyYXRvci0+KCkg
Y29uc3QgeyByZXR1cm4gbV9idWZmZXJMaXN0OyB9CisgICAgb3BlcmF0b3IgQXVkaW9CdWZmZXJM
aXN0KigpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyTGlzdDsgfQorICAgIGJvb2wgaXNWYWxpZCgp
IGNvbnN0IHsgcmV0dXJuIHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7IH0K
K3ByaXZhdGU6CisgICAgQXVkaW9CdWZmZXJMaXN0KiBtX2J1ZmZlckxpc3Q7Cit9OworCitjbGFz
cyBBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CisKK3B1YmxpYzoKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIFNvdXJjZUJ1ZmZlclBh
cnNlcldlYk06OkluaXRpYWxpemF0aW9uU2VnbWVudCBtX2luaXRTZWdtZW50OworI2VuZGlmCisg
ICAgTWVkaWFUaW1lIG1fZHVyYXRpb247CisgICAgVmVjdG9yPFJlZjxNZWRpYVNhbXBsZUFWRk9i
akM+PiBtX3NhbXBsZXM7Cit9OworCiBBdWRpb0ZpbGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRlcihj
b25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpemUpCiAgICAgOiBtX2RhdGEoZGF0YSkKICAg
ICAsIG1fZGF0YVNpemUoZGF0YVNpemUpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAg
LCBtX2xvZ2dlcihMb2dnZXI6OmNyZWF0ZSh0aGlzKSkKKyAgICAsIG1fbG9nSWRlbnRpZmllcihM
b2dnZXJIZWxwZXI6OnVuaXF1ZUxvZ0lkZW50aWZpZXIoKSkKKyNlbmRpZgogeworI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisgICAgaWYgKGlzTWF5YmVXZWJNKHN0YXRpY19jYXN0PGNvbnN0IHVp
bnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpKSB7CisgICAgICAgIG1fd2VibURhdGEgPSBkZW11eFdl
Yk1EYXRhKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpOworICAg
ICAgICBpZiAobV93ZWJtRGF0YSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYK
ICAgICBpZiAoUEFMOjpBdWRpb0ZpbGVPcGVuV2l0aENhbGxiYWNrcyh0aGlzLCByZWFkUHJvYywg
MCwgZ2V0U2l6ZVByb2MsIDAsIDAsICZtX2F1ZGlvRmlsZUlEKSAhPSBub0VycikKICAgICAgICAg
cmV0dXJuOwogCkBAIC0xMTEsNiArMTcwLDE4MyBAQCBBdWRpb0ZpbGVSZWFkZXI6On5BdWRpb0Zp
bGVSZWFkZXIoKQogICAgIG1fYXVkaW9GaWxlSUQgPSAwOwogfQogCisjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKK2Jvb2wgQXVkaW9GaWxlUmVhZGVyOjppc01heWJlV2ViTShjb25zdCB1aW50OF90
KiBkYXRhLCBzaXplX3QgZGF0YVNpemUpIGNvbnN0Cit7CisgICAgLy8gRnJvbSBodHRwczovL21p
bWVzbmlmZi5zcGVjLndoYXR3Zy5vcmcvI3NpZ25hdHVyZS1mb3Itd2VibQorICAgIHJldHVybiBk
YXRhU2l6ZSA+PSA0ICYmIGRhdGFbMF0gPT0gMHgxQSAmJiBkYXRhWzFdID09IDB4NDUgJiYgZGF0
YVsyXSA9PSAweERGICYmIGRhdGFbM10gPT0gMHhBMzsKK30KKworc3RkOjp1bmlxdWVfcHRyPEF1
ZGlvRmlsZVJlYWRlcldlYk1EYXRhPiBBdWRpb0ZpbGVSZWFkZXI6OmRlbXV4V2ViTURhdGEoY29u
c3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKQoreworICAgIGF1dG8gcGFyc2VyID0g
YWRvcHRSZWYobmV3IFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0oKSk7CisgICAgYm9vbCBlcnJvciA9
IGZhbHNlOworICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IGF1ZGlvVHJhY2tJZDsKKyAgICBN
ZWRpYVRpbWUgZHVyYXRpb247CisgICAgU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6
YXRpb25TZWdtZW50IGluaXRTZWdtZW50OworICAgIFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVBVkZP
YmpDPj4gc2FtcGxlczsKKyAgICBwYXJzZXItPnNldERpZEVuY291bnRlckVycm9yRHVyaW5nUGFy
c2luZ0NhbGxiYWNrKFsmXSh1aW50NjRfdCkgeworICAgICAgICBlcnJvciA9IHRydWU7CisgICAg
fSk7CisgICAgcGFyc2VyLT5zZXREaWRQYXJzZUluaXRpYWxpemF0aW9uRGF0YUNhbGxiYWNrKFsm
XShTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJbml0aWFsaXphdGlvblNlZ21lbnQmJiBpbml0KSB7
CisgICAgICAgIGZvciAoYXV0byYgYXVkaW9UcmFjayA6IGluaXQuYXVkaW9UcmFja3MpIHsKKyAg
ICAgICAgICAgIGlmIChhdWRpb1RyYWNrLnRyYWNrICYmIGF1ZGlvVHJhY2sudHJhY2stPnRyYWNr
VUlEKCkpIHsKKyAgICAgICAgICAgICAgICBkdXJhdGlvbiA9IGluaXQuZHVyYXRpb247CisgICAg
ICAgICAgICAgICAgYXVkaW9UcmFja0lkID0gYXVkaW9UcmFjay50cmFjay0+dHJhY2tVSUQoKTsK
KyAgICAgICAgICAgICAgICBpbml0U2VnbWVudCA9IFdURk1vdmUoaW5pdCk7CisgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7CisgICAgcGFy
c2VyLT5zZXREaWRQcm92aWRlTWVkaWFEYXRhQ2FsbGJhY2soWyZdKFJlZjxNZWRpYVNhbXBsZT4m
JiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQsIGNvbnN0IFN0cmluZyYpIHsKKyAgICAgICAgaWYg
KCFhdWRpb1RyYWNrSWQgfHwgdHJhY2tJRCAhPSAqYXVkaW9UcmFja0lkKQorICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICBzYW1wbGVzLmFwcGVuZChzdGF0aWNfcmVmZXJlbmNlX2Nhc3Q8TWVk
aWFTYW1wbGVBVkZPYmpDPihXVEZNb3ZlKHNhbXBsZSkpKTsKKyAgICB9KTsKKyAgICBwYXJzZXIt
PnNldENhbGxPbkNsaWVudFRocmVhZENhbGxiYWNrKFtdKFdURjo6RnVuY3Rpb248dm9pZCgpPiYm
IGZ1bmN0aW9uKSB7CisgICAgICAgIGZ1bmN0aW9uKCk7CisgICAgfSk7CisgICAgVmVjdG9yPHVp
bnQ4X3Q+IHZlY3RvcihkYXRhLCBkYXRhU2l6ZSk7CisgICAgU291cmNlQnVmZmVyUGFyc2VyOjpT
ZWdtZW50IHNlZ21lbnQoV1RGTW92ZSh2ZWN0b3IpKTsKKyAgICBwYXJzZXItPmFwcGVuZERhdGEo
V1RGTW92ZShzZWdtZW50KSk7CisgICAgaWYgKCFhdWRpb1RyYWNrSWQpCisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIHBhcnNlci0+Zmx1c2hQZW5kaW5nQXVkaW9CdWZmZXJzKCk7CisgICAg
cmV0dXJuIG1ha2VVbmlxdWU8QXVkaW9GaWxlUmVhZGVyV2ViTURhdGE+KEF1ZGlvRmlsZVJlYWRl
cldlYk1EYXRhIHsgV1RGTW92ZShpbml0U2VnbWVudCksIFdURk1vdmUoZHVyYXRpb24pLCBXVEZN
b3ZlKHNhbXBsZXMpIH0pOworfQorCitzdHJ1Y3QgUGFzc3Rocm91Z2hVc2VyRGF0YSB7CisgICAg
VUludDMyIG1fY2hhbm5lbHM7CisgICAgVUludDMyIG1fZGF0YVNpemU7CisgICAgY29uc3Qgdm9p
ZCogbV9kYXRhOworICAgIFVJbnQzMiBtX2luZGV4OworICAgIFVJbnQzMiBtX251bVBhY2tldHM7
CisgICAgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogbV9wYWNrZXRzOworfTsKKworLy8g
RXJyb3IgdmFsdWUgd2UgcGFzcyB0aHJvdWdoIHRoZSBkZWNvZGVyIHRvIHNpZ25hbCB0aGF0IG5v
dGhpbmcKKy8vIGhhcyBnb25lIHdyb25nIGR1cmluZyBkZWNvZGluZyBhbmQgd2UncmUgZG9uZSBw
cm9jZXNzaW5nIHRoZSBwYWNrZXQuCitjb25zdCB1aW50MzJfdCBrTm9Nb3JlRGF0YUVyciA9ICdN
T0FSJzsKKworc3RhdGljIE9TU3RhdHVzIHBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2soQXVk
aW9Db252ZXJ0ZXJSZWYsIFVJbnQzMiogbnVtRGF0YVBhY2tldHMsIEF1ZGlvQnVmZmVyTGlzdCog
ZGF0YSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbioqIHBhY2tldERlc2MsIHZvaWQqIGlu
VXNlckRhdGEpCit7CisgICAgYXV0byogdXNlckRhdGEgPSBzdGF0aWNfY2FzdDxQYXNzdGhyb3Vn
aFVzZXJEYXRhKj4oaW5Vc2VyRGF0YSk7CisgICAgaWYgKHVzZXJEYXRhLT5tX2luZGV4ID09IHVz
ZXJEYXRhLT5tX251bVBhY2tldHMpIHsKKyAgICAgICAgKm51bURhdGFQYWNrZXRzID0gMDsKKyAg
ICAgICAgcmV0dXJuIGtOb01vcmVEYXRhRXJyOworICAgIH0KKworICAgIGlmIChwYWNrZXREZXNj
KSB7CisgICAgICAgIGlmICh1c2VyRGF0YS0+bV9pbmRleCA+PSB1c2VyRGF0YS0+bV9udW1QYWNr
ZXRzKSB7CisgICAgICAgICAgICAqbnVtRGF0YVBhY2tldHMgPSAwOworICAgICAgICAgICAgcmV0
dXJuIGtBdWRpb0NvbnZlcnRlckVycl9SZXF1aXJlc1BhY2tldERlc2NyaXB0aW9uc0Vycm9yOwor
ICAgICAgICB9CisgICAgICAgICpwYWNrZXREZXNjID0gJnVzZXJEYXRhLT5tX3BhY2tldHNbdXNl
ckRhdGEtPm1faW5kZXhdOworICAgIH0KKworICAgIGRhdGEtPm1CdWZmZXJzWzBdLm1OdW1iZXJD
aGFubmVscyA9IHVzZXJEYXRhLT5tX2NoYW5uZWxzOworICAgIGRhdGEtPm1CdWZmZXJzWzBdLm1E
YXRhQnl0ZVNpemUgPSB1c2VyRGF0YS0+bV9kYXRhU2l6ZTsKKyAgICBkYXRhLT5tQnVmZmVyc1sw
XS5tRGF0YSA9IGNvbnN0X2Nhc3Q8dm9pZCo+KHVzZXJEYXRhLT5tX2RhdGEpOworCisgICAgKm51
bURhdGFQYWNrZXRzID0gMTsKKyAgICB1c2VyRGF0YS0+bV9pbmRleCsrOworCisgICAgcmV0dXJu
IG5vRXJyOworfQorCitzdGQ6Om9wdGlvbmFsPHNpemVfdD4gQXVkaW9GaWxlUmVhZGVyOjpkZWNv
ZGVXZWJNRGF0YShBdWRpb0J1ZmZlckxpc3QqIGJ1ZmZlckxpc3QsIHNpemVfdCBudW1iZXJPZkZy
YW1lcywgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwgQXVkaW9TdHJlYW1C
YXNpY0Rlc2NyaXB0aW9uJiBvdXRGb3JtYXQpCit7CisgICAgQXVkaW9Db252ZXJ0ZXJSZWYgY29u
dmVydGVyOworICAgIGlmIChQQUw6OkF1ZGlvQ29udmVydGVyTmV3KCZpbkZvcm1hdCwgJm91dEZv
cm1hdCwgJmNvbnZlcnRlcikgIT0gbm9FcnIpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQo
V2ViQXVkaW8sICJVbmFibGUgdG8gY3JlYXRlIGRlY29kZXIiKTsKKyAgICAgICAgcmV0dXJuIHsg
fTsKKyAgICB9CisgICAgYXV0byBjbGVhbnVwID0gbWFrZVNjb3BlRXhpdChbJl0geworICAgICAg
ICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShjb252ZXJ0ZXIpOworICAgIH0pOworICAgIGF1
dG8gZm9ybWF0RGVzY3JpcHRpb24gPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3Jp
cHRpb24obV93ZWJtRGF0YS0+bV9zYW1wbGVzWzBdLT5zYW1wbGVCdWZmZXIoKSk7CisgICAgaWYg
KCFmb3JtYXREZXNjcmlwdGlvbikgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRp
bywgIlVuYWJsZSB0byByZXRyaWV2ZSBmb3JtYXQgZGVzY3JpcHRpb24gZnJvbSBmaXJzdCBzYW1w
bGUiKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgc2l6ZV90IG1hZ2ljQ29va2ll
U2l6ZSA9IDA7CisgICAgY29uc3Qgdm9pZCogbWFnaWNDb29raWUgPSBQQUw6OkNNQXVkaW9Gb3Jt
YXREZXNjcmlwdGlvbkdldE1hZ2ljQ29va2llKGZvcm1hdERlc2NyaXB0aW9uLCAmbWFnaWNDb29r
aWVTaXplKTsKKyAgICBpZiAobWFnaWNDb29raWUgJiYgbWFnaWNDb29raWVTaXplKQorICAgICAg
ICBQQUw6OkF1ZGlvQ29udmVydGVyU2V0UHJvcGVydHkoY29udmVydGVyLCBrQXVkaW9Db252ZXJ0
ZXJEZWNvbXByZXNzaW9uTWFnaWNDb29raWUsIG1hZ2ljQ29va2llU2l6ZSwgbWFnaWNDb29raWUp
OworCisgICAgQXVkaW9CdWZmZXJMaXN0SG9sZGVyIGRlY29kZWRCdWZmZXJMaXN0KGluRm9ybWF0
Lm1DaGFubmVsc1BlckZyYW1lKTsKKyAgICBpZiAoIWRlY29kZWRCdWZmZXJMaXN0KSB7CisgICAg
ICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIGNyZWF0ZSBkZWNvZGVy
Iik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgc2l6ZV90IGRlY29kZWRGcmFt
ZXMgPSAwOworICAgIE9TU3RhdHVzIHN0YXR1czsKKyAgICBmb3IgKGF1dG8mIHNhbXBsZSA6IG1f
d2VibURhdGEtPm1fc2FtcGxlcykgeworICAgICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVC
dWZmZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICBhdXRvIGJ1ZmZlciA9IFBB
TDo6Q01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyKHNhbXBsZUJ1ZmZlcik7CisgICAgICAgIEFT
U0VSVChQQUw6OkNNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cyhidWZmZXIsIDAsIDApKTsK
KyAgICAgICAgaWYgKCFQQUw6OkNNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cyhidWZmZXIs
IDAsIDApKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJs
ZSB0byByZWFkIHNhbXBsZSBjb250ZW50IChub3QgY29udGlndW91cykiKTsKKyAgICAgICAgICAg
IHJldHVybiB7IH07CisgICAgICAgIH0KKworICAgICAgICBzaXplX3Qgc3JjU2l6ZSA9IFBBTDo6
Q01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgoYnVmZmVyKTsKKyAgICAgICAgY2hhciogc3JjRGF0
YSA9IG51bGxwdHI7CisgICAgICAgIGlmIChQQUw6OkNNQmxvY2tCdWZmZXJHZXREYXRhUG9pbnRl
cihidWZmZXIsIDAsIG51bGxwdHIsIG51bGxwdHIsICZzcmNEYXRhKSAhPSBub0VycikgeworICAg
ICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8gcmV0cmlldmUg
ZGF0YSIpOworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorCisgICAgICAgIHNp
emVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplOworICAgICAgICBpZiAoUEFMOjpDTVNhbXBsZUJ1
ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1ZmZlciwgMCwgbnVs
bHB0ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUpICE9IG5vRXJyKSB7CisgICAgICAgICAgICBS
RUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBnZXQgcGFja2V0IGRlc2NyaXB0
aW9uIGxpc3Qgc2l6ZSIpOworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAg
ICAgICBzaXplX3QgbnVtRGVzY3JpcHRpb25zID0gcGFja2V0RGVzY3JpcHRpb25zU2l6ZSAvIHNp
emVvZihBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKTsKKyAgICAgICAgaWYgKCFudW1EZXNj
cmlwdGlvbnMpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiTm8g
cGFja2V0IGRlc2NyaXB0aW9uIGZvdW5kLiIpOworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAg
ICAgICAgfQorICAgICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IFdURjo6bWFrZVVuaXF1ZUFycmF5
PEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24+KG51bURlc2NyaXB0aW9ucyk7CisgICAgICAg
IGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMo
c2FtcGxlQnVmZmVyLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBkZXNjcmlwdGlvbnMuZ2V0KCks
IG51bGxwdHIpICE9IG5vRXJyKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJB
dWRpbywgIlVuYWJsZSB0byBnZXQgcGFja2V0IGRlc2NyaXB0aW9uIGxpc3QiKTsKKyAgICAgICAg
ICAgIHJldHVybiB7IH07CisgICAgICAgIH0KKyAgICAgICAgYXV0byBudW1QYWNrZXRzID0gUEFM
OjpDTVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2FtcGxlQnVmZmVyKTsKKyAgICAgICAgaWYg
KG51bURlc2NyaXB0aW9ucyAhPSBzaXplX3QobnVtUGFja2V0cykpIHsKKyAgICAgICAgICAgIFJF
TEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5oYW5kbGVkIENNU2FtcGxlQnVmZmVyIHN0cnVj
dHVyZSIpOworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorCisgICAgICAgIFBh
c3N0aHJvdWdoVXNlckRhdGEgdXNlckRhdGEgPSB7IGluRm9ybWF0Lm1DaGFubmVsc1BlckZyYW1l
LCBVSW50MzIoc3JjU2l6ZSksIHNyY0RhdGEsIDAsIFVJbnQzMihudW1EZXNjcmlwdGlvbnMpLCBk
ZXNjcmlwdGlvbnMuZ2V0KCkgfTsKKworICAgICAgICBkbyB7CisgICAgICAgICAgICBpZiAobnVt
YmVyT2ZGcmFtZXMgPCBkZWNvZGVkRnJhbWVzKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9M
T0dfRkFVTFQoV2ViQXVkaW8sICJEZWNvZGVkIG1vcmUgZnJhbWVzIHRoYW4gZmlyc3QgY2FsY3Vs
YXRlZCIpOworICAgICAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICAvLyBpbjogdGhlIG1heCBudW1iZXIgb2YgcGFja2V0cyB3ZSBjYW4gaGFuZGxlIGZy
b20gdGhlIGRlY29kZXIuCisgICAgICAgICAgICAvLyBvdXQ6IHRoZSBudW1iZXIgb2YgcGFja2V0
cyB0aGUgZGVjb2RlciBpcyBhY3R1YWxseSByZXR1cm5pbmcuCisgICAgICAgICAgICBVSW50MzIg
bnVtRnJhbWVzID0gc3RkOjptaW48dWludDMyX3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MzJf
dD46Om1heCgpIC8gc2l6ZW9mKGZsb2F0KSwgbnVtYmVyT2ZGcmFtZXMgLSBkZWNvZGVkRnJhbWVz
KTsKKworICAgICAgICAgICAgZm9yIChVSW50MzIgaSA9IDA7IGkgPCBpbkZvcm1hdC5tQ2hhbm5l
bHNQZXJGcmFtZTsgaSsrKSB7CisgICAgICAgICAgICAgICAgZGVjb2RlZEJ1ZmZlckxpc3QtPm1C
dWZmZXJzW2ldLm1OdW1iZXJDaGFubmVscyA9IDE7CisgICAgICAgICAgICAgICAgZGVjb2RlZEJ1
ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1EYXRhQnl0ZVNpemUgPSBudW1GcmFtZXMgKiBzaXplb2Yo
ZmxvYXQpOworICAgICAgICAgICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5t
RGF0YSA9IHN0YXRpY19jYXN0PGZsb2F0Kj4oYnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGEp
ICsgZGVjb2RlZEZyYW1lczsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0YXR1cyA9IFBB
TDo6QXVkaW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlcihjb252ZXJ0ZXIsIHBhc3N0aHJvdWdo
SW5wdXREYXRhQ2FsbGJhY2ssICZ1c2VyRGF0YSwgJm51bUZyYW1lcywgZGVjb2RlZEJ1ZmZlckxp
c3QsIG51bGxwdHIpOworICAgICAgICAgICAgaWYgKHN0YXR1cyAmJiBzdGF0dXMgIT0ga05vTW9y
ZURhdGFFcnIpIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywg
IkVycm9yIGRlY29kaW5nIGRhdGEiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgZGVjb2RlZEZyYW1lcyArPSBudW1GcmFtZXM7CisgICAg
ICAgIH0gd2hpbGUgKHN0YXR1cyAhPSBrTm9Nb3JlRGF0YUVycik7CisgICAgfQorICAgIHJldHVy
biBkZWNvZGVkRnJhbWVzOworfQorI2VuZGlmCisKIE9TU3RhdHVzIEF1ZGlvRmlsZVJlYWRlcjo6
cmVhZFByb2Modm9pZCogY2xpZW50RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVz
dENvdW50LCB2b2lkKiBidWZmZXIsIFVJbnQzMiogYWN0dWFsQ291bnQpCiB7CiAgICAgYXV0byog
YXVkaW9GaWxlUmVhZGVyID0gc3RhdGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50RGF0
YSk7CkBAIC0xMzYsNjcgKzM3MiwxNDYgQEAgU0ludDY0IEF1ZGlvRmlsZVJlYWRlcjo6Z2V0U2l6
ZVByb2Modm9pZCogY2xpZW50RGF0YSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXVkaW9GaWxl
UmVhZGVyKj4oY2xpZW50RGF0YSktPmRhdGFTaXplKCk7CiB9CiAKLVJlZlB0cjxBdWRpb0J1cz4g
QXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01v
bm8pCitzc2l6ZV90IEF1ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMoKSBjb25zdAogewot
ICAgIGlmICghbV9leHRBdWRpb0ZpbGVSZWYpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAg
IFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSAwOwogCi0gICAgLy8gR2V0IGZpbGUncyBkYXRh
IGZvcm1hdAotICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKG1fZmlsZURhdGFGb3JtYXQpOwotICAg
IGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0
QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZzaXplLCAmbV9maWxlRGF0YUZvcm1h
dCkgIT0gbm9FcnIpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghbV93ZWJtRGF0
YSkgeworICAgICAgICBpZiAoIW1fZXh0QXVkaW9GaWxlUmVmKQorICAgICAgICAgICAgcmV0dXJu
IC0xOwogCi0gICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBtX2ZpbGVEYXRhRm9ybWF0Lm1D
aGFubmVsc1BlckZyYW1lOworICAgICAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihudW1iZXJPZkZy
YW1lc0luNjQpOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4
dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVMZW5ndGhGcmFtZXMsICZz
aXplLCAmbnVtYmVyT2ZGcmFtZXNJbjY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lc0luNjQg
PD0gMCkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUg
dG8gcmV0cmlldmUgbnVtYmVyIG9mIGZyYW1lcyBpbiBjb250ZW50ICh1bnN1cHBvcnRlZD8iKTsK
KyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQogCi0gICAgLy8gTnVtYmVyIG9mIGZy
YW1lcwotICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lczY0ID0gMDsKLSAgICBzaXplID0gc2l6ZW9m
KG51bWJlck9mRnJhbWVzNjQpOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5
KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmlsZUxlbmd0aEZyYW1l
cywgJnNpemUsICZudW1iZXJPZkZyYW1lczY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lczY0
IDw9IDApCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gbnVtYmVyT2ZG
cmFtZXNJbjY0OworICAgIH0KKworICAgIGlmIChtX3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0
eSgpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiTm8gc2FtcGxlIGRl
bXV4ZWQgZnJvbSB3ZWJtIGNvbnRhaW5lciIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQor
CisgICAgLy8gQ2FsY3VsYXRlIHRoZSB0b3RhbCBudW1iZXIgb2YgZGVjb2RlZCBzYW1wbGVzIHRo
YXQgd2VyZSBkZW11eGVkLgorICAgIC8vIFRoaXMgY29kZSBvbmx5IGhhbmRsZSB0aGUgQ01TYW1w
bGVCdWZmZXIgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNCisgICAg
Ly8gd2hlcmUgYSBBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyBhcnJheSBpcyBhbHdheXMg
cHJvdmlkZWQgZXZlbiB3aXRoCisgICAgLy8gQ29uc3RhbnQgYml0cmF0ZSBhbmQgY29uc3RhbnQg
ZnJhbWVzLXBlci1wYWNrZXQgYXVkaW8uCisgICAgZm9yIChhdXRvJiBzYW1wbGUgOiBtX3dlYm1E
YXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgYXV0byBzYW1wbGVCdWZmZXIgPSBzYW1wbGUtPnNh
bXBsZUJ1ZmZlcigpOworICAgICAgICBjb25zdCBhdXRvIGZvcm1hdERlc2NyaXB0aW9uID0gUEFM
OjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKHNhbXBsZUJ1ZmZlcik7CisgICAg
ICAgIGlmICghZm9ybWF0RGVzY3JpcHRpb24pIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZB
VUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIHJldHJpZXZlIGZvcm1hdCBkZXNjcmlwdGlvbmcgZnJv
bSBzYW1wbGUiKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBj
b25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNNQXVk
aW9Gb3JtYXREZXNjcmlwdGlvbkdldFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3Jp
cHRpb24pOworICAgICAgICBpZiAoIWFzYmQpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZB
VUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIHJldHJpZXZlIGFzYmQgZnJvbSBmb3JtYXQgZGVzY3Jp
cHRpb24iKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorCisgICAgICAgIHNp
emVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplOworICAgICAgICBpZiAoUEFMOjpDTVNhbXBsZUJ1
ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1ZmZlciwgMCwgbnVs
bHB0ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUpICE9IG5vRXJyKSB7CisgICAgICAgICAgICBS
RUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBnZXQgcGFja2V0IGRlc2NyaXB0
aW9uIGxpc3Qgc2l6ZSIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAg
ICAgIHNpemVfdCBudW1EZXNjcmlwdGlvbnMgPSBwYWNrZXREZXNjcmlwdGlvbnNTaXplIC8gc2l6
ZW9mKEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24pOworICAgICAgICBpZiAoIW51bURlc2Ny
aXB0aW9ucykgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJObyBw
YWNrZXQgZGVzY3JpcHRpb24gZm91bmQuIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAg
ICAgIH0KKyAgICAgICAgYXV0byBkZXNjcmlwdGlvbnMgPSBXVEY6Om1ha2VVbmlxdWVBcnJheTxB
dWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPihudW1EZXNjcmlwdGlvbnMpOworICAgICAgICBp
ZiAoUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNh
bXBsZUJ1ZmZlciwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3JpcHRpb25zLmdldCgpLCBu
dWxscHRyKSAhPSBub0VycikgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVk
aW8sICJVbmFibGUgdG8gZ2V0IHBhY2tldCBkZXNjcmlwdGlvbiBsaXN0Iik7CisgICAgICAgICAg
ICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgYXV0byBudW1QYWNrZXRzID0gUEFMOjpD
TVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2FtcGxlQnVmZmVyKTsKKyAgICAgICAgaWYgKG51
bURlc2NyaXB0aW9ucyAhPSBzaXplX3QobnVtUGFja2V0cykpIHsKKyAgICAgICAgICAgIFJFTEVB
U0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5oYW5kbGVkIENNU2FtcGxlQnVmZmVyIHN0cnVjdHVy
ZSIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbnVtRGVzY3JpcHRpb25zOyBpKyspIHsKKyAgICAgICAgICAgIHVpbnQz
Ml90IGZwcCA9IGRlc2NyaXB0aW9uc1tpXS5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA/IGRlc2Ny
aXB0aW9uc1tpXS5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA6IGFzYmQtPm1GcmFtZXNQZXJQYWNr
ZXQ7CisgICAgICAgICAgICBudW1iZXJPZkZyYW1lc0luNjQgKz0gZnBwOworICAgICAgICB9Cisg
ICAgfQorICAgIHJldHVybiBudW1iZXJPZkZyYW1lc0luNjQ7Cit9CisKK3N0ZDo6b3B0aW9uYWw8
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uPiBBdWRpb0ZpbGVSZWFkZXI6OmZpbGVEYXRhRm9y
bWF0KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fd2VibURhdGEpIHsKKyAgICAgICAgQXVkaW9TdHJl
YW1CYXNpY0Rlc2NyaXB0aW9uIGZvcm1hdDsKKyAgICAgICAgVUludDMyIHNpemUgPSBzaXplb2Yo
Zm9ybWF0KTsKKyAgICAgICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRB
dWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxlRGF0YUZvcm1hdCwgJnNpemUs
ICZmb3JtYXQpICE9IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0
dXJuIGZvcm1hdDsKKyAgICB9CisKKyAgICBpZiAobV93ZWJtRGF0YS0+bV9zYW1wbGVzLmlzRW1w
dHkoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGRvdWJsZSBmaWxlU2FtcGxlUmF0ZSA9
IG1fZmlsZURhdGFGb3JtYXQubVNhbXBsZVJhdGU7CisgICAgQ01Gb3JtYXREZXNjcmlwdGlvblJl
ZiBmb3JtYXREZXNjcmlwdGlvbiA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlw
dGlvbihtX3dlYm1EYXRhLT5tX3NhbXBsZXNbMF0tPnNhbXBsZUJ1ZmZlcigpKTsKKyAgICBpZiAo
IWZvcm1hdERlc2NyaXB0aW9uKQorICAgICAgICByZXR1cm4geyB9OwogCisgICAgY29uc3QgQXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25zdCBhc2JkID0gUEFMOjpDTUF1ZGlvRm9ybWF0
RGVzY3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKGZvcm1hdERlc2NyaXB0aW9uKTsK
KyAgICByZXR1cm4gKmFzYmQ7Cit9CisKK0F1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBBdWRp
b0ZpbGVSZWFkZXI6OmNsaWVudERhdGFGb3JtYXQoY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2Ny
aXB0aW9uJiBpbkZvcm1hdCwgZmxvYXQgc2FtcGxlUmF0ZSkgY29uc3QKK3sKICAgICAvLyBNYWtl
IGNsaWVudCBmb3JtYXQgc2FtZSBudW1iZXIgb2YgY2hhbm5lbHMgYXMgZmlsZSBmb3JtYXQsIGJ1
dCB0d2VhayBhIGZldyB0aGluZ3MuCiAgICAgLy8gQ2xpZW50IGZvcm1hdCB3aWxsIGJlIGxpbmVh
ciBQQ00gKGNhbm9uaWNhbCksIGFuZCBwb3RlbnRpYWxseSBjaGFuZ2Ugc2FtcGxlLXJhdGUuCi0g
ICAgbV9jbGllbnREYXRhRm9ybWF0ID0gbV9maWxlRGF0YUZvcm1hdDsKKyAgICBBdWRpb1N0cmVh
bUJhc2ljRGVzY3JpcHRpb24gb3V0Rm9ybWF0ID0gaW5Gb3JtYXQ7CiAKICAgICBjb25zdCBpbnQg
Ynl0ZXNQZXJGbG9hdCA9IHNpemVvZihGbG9hdDMyKTsKICAgICBjb25zdCBpbnQgYml0c1BlckJ5
dGUgPSA4OwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tRm9ybWF0SUQgPSBrQXVkaW9Gb3JtYXRM
aW5lYXJQQ007Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1Gb3JtYXRGbGFncyA9IGtBdWRpb0Zv
cm1hdEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQgfCBrQXVkaW9Gb3JtYXRGbGFnSXNOb25JbnRlcmxl
YXZlZDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJ5dGVzUGVyUGFja2V0ID0gYnl0ZXNQZXJG
bG9hdDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUZyYW1lc1BlclBhY2tldCA9IDE7Ci0gICAg
bV9jbGllbnREYXRhRm9ybWF0Lm1CeXRlc1BlckZyYW1lID0gYnl0ZXNQZXJGbG9hdDsKLSAgICBt
X2NsaWVudERhdGFGb3JtYXQubUNoYW5uZWxzUGVyRnJhbWUgPSBudW1iZXJPZkNoYW5uZWxzOwot
ICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQml0c1BlckNoYW5uZWwgPSBiaXRzUGVyQnl0ZSAqIGJ5
dGVzUGVyRmxvYXQ7CisgICAgb3V0Rm9ybWF0Lm1Gb3JtYXRJRCA9IGtBdWRpb0Zvcm1hdExpbmVh
clBDTTsKKyAgICBvdXRGb3JtYXQubUZvcm1hdEZsYWdzID0ga0F1ZGlvRm9ybWF0RmxhZ3NOYXRp
dmVGbG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1hdEZsYWdJc05vbkludGVybGVhdmVkOworICAgIG91
dEZvcm1hdC5tQnl0ZXNQZXJQYWNrZXQgPSBvdXRGb3JtYXQubUJ5dGVzUGVyRnJhbWUgPSBieXRl
c1BlckZsb2F0OworICAgIG91dEZvcm1hdC5tRnJhbWVzUGVyUGFja2V0ID0gMTsKKyAgICBvdXRG
b3JtYXQubUJpdHNQZXJDaGFubmVsID0gYml0c1BlckJ5dGUgKiBieXRlc1BlckZsb2F0OwogCiAg
ICAgaWYgKHNhbXBsZVJhdGUpCi0gICAgICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0
ZSA9IHNhbXBsZVJhdGU7CisgICAgICAgIG91dEZvcm1hdC5tU2FtcGxlUmF0ZSA9IHNhbXBsZVJh
dGU7CiAKLSAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVTZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmls
ZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0NsaWVudERhdGFGb3JtYXQsIHNpemVvZihBdWRp
b1N0cmVhbUJhc2ljRGVzY3JpcHRpb24pLCAmbV9jbGllbnREYXRhRm9ybWF0KSAhPSBub0VycikK
KyAgICByZXR1cm4gb3V0Rm9ybWF0OworfQorCitSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJl
YWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQoreworICAg
IFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSBudW1iZXJPZkZyYW1lcygpOworICAgIGlmIChu
dW1iZXJPZkZyYW1lc0luNjQgPD0gMCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICAv
LyBDaGFuZ2UgbnVtYmVyT2ZGcmFtZXM2NCB0byBkZXN0aW5hdGlvbiBzYW1wbGUtcmF0ZQotICAg
IG51bWJlck9mRnJhbWVzNjQgPSBudW1iZXJPZkZyYW1lczY0ICogKG1fY2xpZW50RGF0YUZvcm1h
dC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVSYXRlKTsKLSAgICBzaXplX3QgbnVtYmVyT2ZGcmFt
ZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51bWJlck9mRnJhbWVzNjQpOworICAgIGF1dG8gaW5G
b3JtYXQgPSBmaWxlRGF0YUZvcm1hdCgpOworICAgIGlmICghaW5Gb3JtYXQpCisgICAgICAgIHJl
dHVybiBudWxscHRyOwogCisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIG91dEZvcm1h
dCA9IGNsaWVudERhdGFGb3JtYXQoKmluRm9ybWF0LCBzYW1wbGVSYXRlKTsKKyAgICBzaXplX3Qg
bnVtYmVyT2ZDaGFubmVscyA9IGluRm9ybWF0LT5tQ2hhbm5lbHNQZXJGcmFtZTsKKyAgICBkb3Vi
bGUgZmlsZVNhbXBsZVJhdGUgPSBpbkZvcm1hdC0+bVNhbXBsZVJhdGU7CisgICAgU0ludDY0IG51
bWJlck9mRnJhbWVzT3V0NjQgPSBudW1iZXJPZkZyYW1lc0luNjQgKiAob3V0Rm9ybWF0Lm1TYW1w
bGVSYXRlIC8gZmlsZVNhbXBsZVJhdGUpOworICAgIHNpemVfdCBudW1iZXJPZkZyYW1lcyA9IHN0
YXRpY19jYXN0PHNpemVfdD4obnVtYmVyT2ZGcmFtZXNPdXQ2NCk7CiAgICAgc2l6ZV90IGJ1c0No
YW5uZWxDb3VudCA9IG1peFRvTW9ubyA/IDEgOiBudW1iZXJPZkNoYW5uZWxzOwogCiAgICAgLy8g
Q3JlYXRlIEF1ZGlvQnVzIHdoZXJlIHdlJ2xsIHB1dCB0aGUgUENNIGF1ZGlvIGRhdGEKICAgICBh
dXRvIGF1ZGlvQnVzID0gQXVkaW9CdXM6OmNyZWF0ZShidXNDaGFubmVsQ291bnQsIG51bWJlck9m
RnJhbWVzKTsKLSAgICBhdWRpb0J1cy0+c2V0U2FtcGxlUmF0ZShuYXJyb3dQcmVjaXNpb25Ub0Zs
b2F0KG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSkpOyAvLyBzYXZlIGZvciBsYXRlcgot
Ci0gICAgLy8gT25seSBhbGxvY2F0ZWQgaW4gdGhlIG1peFRvTW9ubyBjYXNlOyBkZWFsbG9jYXRl
ZCBvbiBkZXN0cnVjdGlvbi4KLSAgICBBdWRpb0Zsb2F0QXJyYXkgbGVmdENoYW5uZWw7Ci0gICAg
QXVkaW9GbG9hdEFycmF5IHJpZ2h0Q2hhbm5lbDsKKyAgICBhdWRpb0J1cy0+c2V0U2FtcGxlUmF0
ZShuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KG91dEZvcm1hdC5tU2FtcGxlUmF0ZSkpOyAvLyBzYXZl
IGZvciBsYXRlcgogCi0gICAgQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0ID0gdHJ5Q3JlYXRl
QXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOworICAgIEF1ZGlvQnVmZmVyTGlzdEhv
bGRlciBidWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmICghYnVmZmVyTGlzdCkg
ewogICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgInRyeUNyZWF0ZUF1ZGlvQnVm
ZmVyTGlzdCglbGQpIHJldHVybmVkIG51bGwiLCBudW1iZXJPZkNoYW5uZWxzKTsKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgfQogICAgIGNvbnN0IHNpemVfdCBidWZmZXJTaXplID0gbnVt
YmVyT2ZGcmFtZXMgKiBzaXplb2YoZmxvYXQpOwogCisgICAgLy8gT25seSBhbGxvY2F0ZWQgaW4g
dGhlIG1peFRvTW9ubyBjYXNlOyBkZWFsbG9jYXRlZCBvbiBkZXN0cnVjdGlvbi4KKyAgICBBdWRp
b0Zsb2F0QXJyYXkgbGVmdENoYW5uZWw7CisgICAgQXVkaW9GbG9hdEFycmF5IHJpZ2h0Q2hhbm5l
bDsKKwogICAgIFJFTEVBU0VfQVNTRVJUKGJ1ZmZlckxpc3QtPm1OdW1iZXJCdWZmZXJzID09IG51
bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmIChtaXhUb01vbm8gJiYgbnVtYmVyT2ZDaGFubmVscyA9
PSAyKSB7CiAgICAgICAgIGxlZnRDaGFubmVsLnJlc2l6ZShudW1iZXJPZkZyYW1lcyk7CkBAIC0y
MjIsMTggKzUzNywzMCBAQCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRl
QnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQogICAgICAgICB9CiAgICAgfQog
Ci0gICAgaWYgKCF2YWxpZGF0ZUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KSkgeworICAgIGlm
ICghYnVmZmVyTGlzdC5pc1ZhbGlkKCkpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2Vi
QXVkaW8sICJHZW5lcmF0ZWQgYnVmZmVyIGluIEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKCkg
ZGlkIG5vdCBwYXNzIHZhbGlkYXRpb24iKTsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7CiAgICAgICAgIHJl
dHVybiBudWxscHRyOwogICAgIH0KIAotICAgIC8vIFJlYWQgZnJvbSB0aGUgZmlsZSAob3IgaW4t
bWVtb3J5IHZlcnNpb24pCi0gICAgVUludDMyIGZyYW1lc1RvUmVhZCA9IG51bWJlck9mRnJhbWVz
OwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVJlYWQobV9leHRBdWRpb0ZpbGVSZWYsICZmcmFt
ZXNUb1JlYWQsIGJ1ZmZlckxpc3QpICE9IG5vRXJyKSB7Ci0gICAgICAgIGRlc3Ryb3lBdWRpb0J1
ZmZlckxpc3QoYnVmZmVyTGlzdCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICht
X3dlYm1EYXRhKSB7CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICAgICAgYXV0byBkZWNv
ZGVkRnJhbWVzID0gZGVjb2RlV2ViTURhdGEoYnVmZmVyTGlzdCwgbnVtYmVyT2ZGcmFtZXMsICpp
bkZvcm1hdCwgb3V0Rm9ybWF0KTsKKyAgICAgICAgaWYgKCFkZWNvZGVkRnJhbWVzKQorICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIC8vIFRoZSBhY3R1YWwgZGVjb2RlZCBudW1i
ZXIgb2YgZnJhbWVzIG1heSBub3QgbWF0Y2ggdGhlIG51bWJlciBvZiBmcmFtZXMgY2FsY3VsYXRl
ZAorICAgICAgICAvLyB3aGlsZSBkZW11eGluZyBhcyBmcmFtZXMgY2FuIGJlIHRyaW1tZWQuIEl0
IHdpbGwgYWx3YXlzIGJlIGxvd2VyLgorICAgICAgICBhdWRpb0J1cy0+c2V0TGVuZ3RoKCpkZWNv
ZGVkRnJhbWVzKTsKKyAgICAgICAgbnVtYmVyT2ZGcmFtZXMgPSAqZGVjb2RlZEZyYW1lczsKKyNl
bmRpZgorICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFByb3Bl
cnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0YUZv
cm1hdCwgc2l6ZW9mKEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksICZvdXRGb3JtYXQpICE9
IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgLy8gUmVhZCBm
cm9tIHRoZSBmaWxlIChvciBpbi1tZW1vcnkgdmVyc2lvbikKKyAgICAgICAgVUludDMyIGZyYW1l
c1RvUmVhZCA9IG51bWJlck9mRnJhbWVzOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVS
ZWFkKG1fZXh0QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCBidWZmZXJMaXN0KSAhPSBub0Vy
cikKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIGlmIChtaXhUb01v
bm8gJiYgbnVtYmVyT2ZDaGFubmVscyA9PSAyKSB7CkBAIC0yNDMsOSArNTcwLDYgQEAgUmVmUHRy
PEF1ZGlvQnVzPiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBi
b29sIG1peFRvTW9ubykKICAgICAgICAgICAgIGRlc3RMW2ldID0gMC41ZiAqIChsZWZ0Q2hhbm5l
bFtpXSArIHJpZ2h0Q2hhbm5lbFtpXSk7CiAgICAgfQogCi0gICAgLy8gQ2xlYW51cAotICAgIGRl
c3Ryb3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7Ci0KICAgICByZXR1cm4gYXVkaW9CdXM7
CiB9CiAKQEAgLTI1NSw2ICs1NzksMTMgQEAgUmVmUHRyPEF1ZGlvQnVzPiBjcmVhdGVCdXNGcm9t
SW5NZW1vcnlBdWRpb0ZpbGUoY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGRhdGFTaXoKICAgICBy
ZXR1cm4gcmVhZGVyLmNyZWF0ZUJ1cyhzYW1wbGVSYXRlLCBtaXhUb01vbm8pOwogfQogCisjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECitXVEZMb2dDaGFubmVsJiBBdWRpb0ZpbGVSZWFkZXI6Omxv
Z0NoYW5uZWwoKSBjb25zdAoreworICAgIHJldHVybiBMb2dNZWRpYTsKK30KKyNlbmRpZgorCiB9
IC8vIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVESU8pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29j
b2EuaAppbmRleCAwYmJiYmEyNzg1N2Q5NzllY2M2ODhmODdmMDMzOWY2NjVlZjQyNTI5Li44YzY4
ZDgyNDFiNmUxM2IxMGRmNTU5N2FiYTM3M2M2YWM4YmI1ODU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29h
LmgKQEAgLTMyLDYgKzMyLDggQEAKICNpZiBFTkFCTEUoV0VCX0FVRElPKQogCiAjaW5jbHVkZSA8
Q29yZUF1ZGlvL0NvcmVBdWRpb1R5cGVzLmg+CisjaW5jbHVkZSA8b3B0aW9uYWw+CisjaW5jbHVk
ZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogdXNpbmcg
RXh0QXVkaW9GaWxlUmVmID0gc3RydWN0IE9wYXF1ZUV4dEF1ZGlvRmlsZSo7CkBAIC00MCwxMiAr
NDIsMTggQEAgdXNpbmcgQXVkaW9GaWxlSUQgPSBzdHJ1Y3QgT3BhcXVlQXVkaW9GaWxlSUQqOwog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBdWRpb0J1czsKK2NsYXNzIFNvdXJjZUJ1ZmZl
clBhcnNlcldlYk07CitjbGFzcyBBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YTsKIAogLy8gV3JhcHBl
ciBjbGFzcyBmb3IgQXVkaW9GaWxlIGFuZCBFeHRBdWRpb0ZpbGUgQ29yZUF1ZGlvIEFQSXMgZm9y
IHJlYWRpbmcgZmlsZXMgYW5kIGluLW1lbW9yeSB2ZXJzaW9ucyBvZiB0aGVtLi4uCiAKLWNsYXNz
IEF1ZGlvRmlsZVJlYWRlciB7CitjbGFzcyBBdWRpb0ZpbGVSZWFkZXIKKyNpZiAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKKyAgICA6IHB1YmxpYyBMb2dnZXJIZWxwZXIKKyNlbmRpZgorewogcHVibGlj
OgotICAgIGV4cGxpY2l0IEF1ZGlvRmlsZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3Qg
ZGF0YVNpemUpOworICAgIEF1ZGlvRmlsZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3Qg
ZGF0YVNpemUpOwogICAgIH5BdWRpb0ZpbGVSZWFkZXIoKTsKIAogICAgIFJlZlB0cjxBdWRpb0J1
cz4gY3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKTsgLy8gUmV0dXJu
cyBudWxscHRyIG9uIGVycm9yCkBAIC01Myw5ICs2MSwyNCBAQCBwdWJsaWM6CiAgICAgY29uc3Qg
dm9pZCogZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YTsgfQogICAgIHNpemVfdCBkYXRhU2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YVNpemU7IH0KIAorI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9s
b2dnZXIuZ2V0KCk7IH0KKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisgICAgV1RGTG9nQ2hhbm5lbCYgbG9nQ2hh
bm5lbCgpIGNvbnN0IGZpbmFsOworICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuICJBdWRpb0ZpbGVSZWFkZXJDb2NvYSI7IH0KKyNlbmRpZgorCiBwcml2
YXRlOgorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgYm9vbCBpc01heWJlV2ViTShjb25z
dCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUpIGNvbnN0OworICAgIHN0ZDo6dW5pcXVl
X3B0cjxBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YT4gZGVtdXhXZWJNRGF0YShjb25zdCB1aW50OF90
KiBkYXRhLCBzaXplX3QgZGF0YVNpemUpOworICAgIHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBkZWNv
ZGVXZWJNRGF0YShBdWRpb0J1ZmZlckxpc3QqLCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMsIEF1ZGlv
U3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5Gb3JtYXQsIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlw
dGlvbiYgb3V0Rm9ybWF0KTsKKyNlbmRpZgogICAgIHN0YXRpYyBPU1N0YXR1cyByZWFkUHJvYyh2
b2lkKiBjbGllbnREYXRhLCBTSW50NjQgcG9zaXRpb24sIFVJbnQzMiByZXF1ZXN0Q291bnQsIHZv
aWQqIGJ1ZmZlciwgVUludDMyKiBhY3R1YWxDb3VudCk7CiAgICAgc3RhdGljIFNJbnQ2NCBnZXRT
aXplUHJvYyh2b2lkKiBjbGllbnREYXRhKTsKKyAgICBzc2l6ZV90IG51bWJlck9mRnJhbWVzKCkg
Y29uc3Q7CisgICAgc3RkOjpvcHRpb25hbDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+IGZp
bGVEYXRhRm9ybWF0KCkgY29uc3Q7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIGNs
aWVudERhdGFGb3JtYXQoY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1h
dCwgZmxvYXQgc2FtcGxlUmF0ZSkgY29uc3Q7CiAKICAgICBjb25zdCB2b2lkKiBtX2RhdGEgPSB7
IG51bGxwdHIgfTsKICAgICBzaXplX3QgbV9kYXRhU2l6ZSA9IHsgMCB9OwpAQCAtNjMsOCArODYs
MTMgQEAgcHJpdmF0ZToKICAgICBBdWRpb0ZpbGVJRCBtX2F1ZGlvRmlsZUlEID0geyBudWxscHRy
IH07CiAgICAgRXh0QXVkaW9GaWxlUmVmIG1fZXh0QXVkaW9GaWxlUmVmID0geyBudWxscHRyIH07
CiAKLSAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gbV9maWxlRGF0YUZvcm1hdDsKLSAg
ICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gbV9jbGllbnREYXRhRm9ybWF0OworICAgIHN0
ZDo6dW5pcXVlX3B0cjxBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YT4gbV93ZWJtRGF0YTsKKworI2lm
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IFJlZjxMb2dnZXI+IG1fbG9nZ2VyOwor
ICAgIGNvbnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsKKyNlbmRpZgorCiB9OwogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURh
dGFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2Ft
cGxlRGF0YVNvdXJjZS5oCmluZGV4IGExZTcxYmQ1MjIzMjI0MjU3MTZjNmI5ZTVhY2VkMDZlNTU4
MjkzM2EuLjZhZTNiNWNkMWYyZWZkNjIzOWZiMzRkMDEzYTU4Nzc2ZjQxOGM2ZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNv
dXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2Ft
cGxlRGF0YVNvdXJjZS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8d3RmL1RocmVhZFNh
ZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLXR5cGVk
ZWYgY29uc3Qgc3RydWN0IG9wYXF1ZUNNRm9ybWF0RGVzY3JpcHRpb24gKkNNRm9ybWF0RGVzY3Jp
cHRpb25SZWY7CiB0eXBlZGVmIHN0cnVjdCBvcGFxdWVDTVNhbXBsZUJ1ZmZlciAqQ01TYW1wbGVC
dWZmZXJSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQpp
bmRleCBkMmI1YWM0NWYzMGZkNGEzYWY1MWI0MjBkZTM3NjQ5YjExNTFjMjI3Li43MGRjMjQ4NGE1
ZWQ2Njg4OWZjYTMzZWUyOTFlYzEwNmE1ZjlmOWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1t
CkBAIC0zOSw2ICszOSw3IEBACiAjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3Rm
L1N0cmluZ1ByaW50U3RyZWFtLmg+CiAKKyNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0
TGluay5oPgogI2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTY3LDcgKzY4LDcgQEAgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpBdWRp
b1NhbXBsZURhdGFTb3VyY2Uoc2l6ZV90IG1heGltdW1TYW1wbGVDb3VudCwgTG9nZ2VySGUKIEF1
ZGlvU2FtcGxlRGF0YVNvdXJjZTo6fkF1ZGlvU2FtcGxlRGF0YVNvdXJjZSgpCiB7CiAgICAgaWYg
KG1fY29udmVydGVyKQotICAgICAgICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIp
OworICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CiB9CiAK
IE9TU3RhdHVzIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6c2V0dXBDb252ZXJ0ZXIoKQpAQCAtNzUs
MTQgKzc2LDE0IEBAIE9TU3RhdHVzIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6c2V0dXBDb252ZXJ0
ZXIoKQogICAgIEFTU0VSVChtX2lucHV0RGVzY3JpcHRpb24gJiYgbV9vdXRwdXREZXNjcmlwdGlv
bik7CiAKICAgICBpZiAobV9jb252ZXJ0ZXIpIHsKLSAgICAgICAgQXVkaW9Db252ZXJ0ZXJEaXNw
b3NlKG1fY29udmVydGVyKTsKKyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9j
b252ZXJ0ZXIpOwogICAgICAgICBtX2NvbnZlcnRlciA9IG51bGxwdHI7CiAgICAgfQogCiAgICAg
aWYgKCptX2lucHV0RGVzY3JpcHRpb24gPT0gKm1fb3V0cHV0RGVzY3JpcHRpb24pCiAgICAgICAg
IHJldHVybiAwOwogCi0gICAgT1NTdGF0dXMgZXJyID0gQXVkaW9Db252ZXJ0ZXJOZXcoJm1faW5w
dXREZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fb3V0cHV0RGVzY3JpcHRpb24t
PnN0cmVhbURlc2NyaXB0aW9uKCksICZtX2NvbnZlcnRlcik7CisgICAgT1NTdGF0dXMgZXJyID0g
UEFMOjpBdWRpb0NvbnZlcnRlck5ldygmbV9pbnB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlw
dGlvbigpLCAmbV9vdXRwdXREZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fY29u
dmVydGVyKTsKICAgICBpZiAoZXJyKSB7CiAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRj
aChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBlcnJdIHsKICAgICAg
ICAgICAgIEVSUk9SX0xPRygiQXVkaW9Db252ZXJ0ZXJOZXcgcmV0dXJuZWQgZXJyb3IgIiwgZXJy
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdh
bWVwYWRQcm92aWRlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJ
REdhbWVwYWRQcm92aWRlci5tbQppbmRleCBlM2Q2ZmFjNzA0MzY5NmZjN2VlMmE5MjE1ZGIyMWE4
ZjdkZjgyNWE1Li5hMzJkZjYyMDQ4ZDMyZDdiMTM0ZGJmNTZkYTAwN2I3MGVjMjQ3M2Y0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJv
dmlkZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2Ft
ZXBhZFByb3ZpZGVyLm1tCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoR0FNRVBBRCkg
JiYgUExBVEZPUk0oTUFDKQogCisjaW1wb3J0ICJHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRl
ci5oIgogI2ltcG9ydCAiR2FtZXBhZFByb3ZpZGVyQ2xpZW50LmgiCiAjaW1wb3J0ICJMb2dnaW5n
LmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUdhbWVwYWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAKaW5kZXggNGQ4ZWU2MmUw
MWI4ZWFlYmFjYzZkMjhiM2EwOTg1Mjk1MmM1ZDgwYS4uYzA2NmMyZDQ4Nzk3YTRhYWIzYjliZTJh
MGVkZDRkODM4YjRiZjVjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFC
TEUoVklERU8pCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSA8d3RmL0xvZ2dlckhl
bHBlci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2Jq
Qy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLmgKaW5kZXggZDAzY2RjOGRkNjI1NDE2MDk5YTUzNzEzNWVlMTFl
YzkxMDczNmEwMi4uNTQ1ZjBiZTFjNTBjYmZlNDE3MDE4MDM1NmY4OGNlM2M1NTJjODZmNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTYW1wbGVBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmgKQEAgLTM0LDcgKzM0
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQaXhlbEJ1ZmZlcjsKIAotY2xhc3Mg
V0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2FtcGxlIHsK
K2NsYXNzIE1lZGlhU2FtcGxlQVZGT2JqQyA6IHB1YmxpYyBNZWRpYVNhbXBsZSB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZShDTVNhbXBsZUJ1ZmZl
clJlZiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVk
aWFTYW1wbGVBVkZPYmpDKHNhbXBsZSwgdHJhY2tJRCkpOyB9CiAgICAgc3RhdGljIFJlZjxNZWRp
YVNhbXBsZUFWRk9iakM+IGNyZWF0ZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJp
bmcgdHJhY2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2Ft
cGxlLCB0cmFja0lEKSk7IH0KQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVf
RVhQT1JUIHN0YXRpYyB2b2lkIHNldEFzRGlzcGxheUltbWVkaWF0ZWx5KE1lZGlhU2FtcGxlJik7
CiAgICAgc3RhdGljIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gY2xvbmVTYW1wbGVCdWZm
ZXJBbmRTZXRBc0Rpc3BsYXlJbW1lZGlhdGVseShDTVNhbXBsZUJ1ZmZlclJlZik7CiAKLSAgICBS
ZWZQdHI8SlNDOjpVaW50OENsYW1wZWRBcnJheT4gZ2V0UkdCQUltYWdlRGF0YSgpIGNvbnN0IG92
ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5
PiBnZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBNZWRpYVRpbWUgcHJl
c2VudGF0aW9uVGltZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIE1lZGlhVGltZSBkZWNvZGVUaW1l
KCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC01OSwxNiArNTksMTYgQEAgcHVibGljOgogICAgIFNhbXBs
ZUZsYWdzIGZsYWdzKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1TYW1wbGUgcGxhdGZv
cm1TYW1wbGUoKSBvdmVycmlkZTsKICAgICBzdGQ6Om9wdGlvbmFsPEJ5dGVSYW5nZT4gYnl0ZVJh
bmdlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Qg
b3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBvZmZzZXRUaW1lc3RhbXBzQnkoY29uc3QgTWVkaWFUaW1l
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRUaW1lc3RhbXBzKGNvbnN0IE1lZGlhVGltZSYsIGNv
bnN0IE1lZGlhVGltZSYpIG92ZXJyaWRlOwotICAgIGJvb2wgaXNEaXZpc2FibGUoKSBjb25zdCBv
dmVycmlkZTsKLSAgICBzdGQ6OnBhaXI8UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVmUHRyPE1lZGlh
U2FtcGxlPj4gZGl2aWRlKGNvbnN0IE1lZGlhVGltZSYgcHJlc2VudGF0aW9uVGltZSwgVXNlRW5k
VGltZSkgb3ZlcnJpZGU7Ci0gICAgUmVmPE1lZGlhU2FtcGxlPiBjcmVhdGVOb25EaXNwbGF5aW5n
Q29weSgpIGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNEaXZpc2Fi
bGUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6OnBhaXI8UmVmUHRy
PE1lZGlhU2FtcGxlPiwgUmVmUHRyPE1lZGlhU2FtcGxlPj4gZGl2aWRlKGNvbnN0IE1lZGlhVGlt
ZSYgcHJlc2VudGF0aW9uVGltZSwgVXNlRW5kVGltZSkgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9F
WFBPUlQgUmVmPE1lZGlhU2FtcGxlPiBjcmVhdGVOb25EaXNwbGF5aW5nQ29weSgpIGNvbnN0IG92
ZXJyaWRlOwogCiAgICAgVmlkZW9Sb3RhdGlvbiB2aWRlb1JvdGF0aW9uKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV9yb3RhdGlvbjsgfQogICAgIGJvb2wgdmlkZW9NaXJyb3JlZCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIG1fbWlycm9yZWQ7IH0KLSAgICB1aW50MzJfdCB2aWRlb1BpeGVs
Rm9ybWF0KCkgY29uc3QgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdWludDMyX3QgdmlkZW9Q
aXhlbEZvcm1hdCgpIGNvbnN0IGZpbmFsOwogCiAgICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxl
QnVmZmVyKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGUuZ2V0KCk7IH0KIApAQCAtNzgsMzQgKzc4
LDE1IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEJ5dGVSYW5nZU9mZnNldChzaXplX3QpOwogCiBw
cm90ZWN0ZWQ6Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZl
clJlZj4mJiBzYW1wbGUpCi0gICAgICAgIDogbV9zYW1wbGUoV1RGTW92ZShzYW1wbGUpKQotICAg
IHsKLSAgICB9Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBs
ZSkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNh
bXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBBdG9tU3RyaW5nIHRyYWNrSUQp
Ci0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgICAgICAsIG1faWQodHJhY2tJRCkKLSAg
ICB7Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1w
bGUsIHVpbnQ2NF90IHRyYWNrSUQpCi0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgICAg
ICAsIG1faWQoQXRvbVN0cmluZzo6bnVtYmVyKHRyYWNrSUQpKQotICAgIHsKLSAgICB9Ci0gICAg
TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgVmlkZW9Sb3RhdGlv
biByb3RhdGlvbiwgYm9vbCBtaXJyb3JlZCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0g
ICAgICAgICwgbV9yb3RhdGlvbihyb3RhdGlvbikKLSAgICAgICAgLCBtX21pcnJvcmVkKG1pcnJv
cmVkKQotICAgIHsKLSAgICB9CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpD
KFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4mJik7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVk
aWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBN
ZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYsIEF0b21TdHJpbmcgdHJhY2tJRCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVm
LCB1aW50NjRfdCB0cmFja0lEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9i
akMoQ01TYW1wbGVCdWZmZXJSZWYsIFZpZGVvUm90YXRpb24sIGJvb2wgbWlycm9yZWQpOworICAg
IFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgfk1lZGlhU2FtcGxlQVZGT2JqQygpOwogCiAgICAgc3Rk
OjpvcHRpb25hbDxNZWRpYVNhbXBsZTo6Qnl0ZVJhbmdlPiBieXRlUmFuZ2VGb3JBdHRhY2htZW50
KENGU3RyaW5nUmVmIGtleSkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIH5NZWRpYVNhbXBsZUFWRk9i
akMoKSA9IGRlZmF1bHQ7CiAgICAgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBtX3NhbXBs
ZTsKICAgICBBdG9tU3RyaW5nIG1faWQ7CiAgICAgVmlkZW9Sb3RhdGlvbiBtX3JvdGF0aW9uIHsg
VmlkZW9Sb3RhdGlvbjo6Tm9uZSB9OwpAQCAtMTEzLDQgKzk0LDMgQEAgcHJvdGVjdGVkOgogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNhbXBsZUFWRk9iakMubW0KaW5kZXggYzBmMTNkNmVhNWM5NzU3NjdjZThmNjJhYjY4NDJkN2Q2
ZjBmYmI2Yi4uY2YzYzM0MTBhMzhhZGVjNDk1N2M5NzE0MmIzMjQyMjRkNWFmZDgxMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQpAQCAtNDUsNiArNDUs
MzMgQEAgc3RydWN0IFdURjo6Q0ZUeXBlVHJhaXQ8Q01TYW1wbGVCdWZmZXJSZWY+IHsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2Jq
QyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+JiYgc2FtcGxlKQorICAgIDogbV9zYW1wbGUo
V1RGTW92ZShzYW1wbGUpKQoreworfQorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFW
Rk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQor
eworfQorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZm
ZXJSZWYgc2FtcGxlLCBBdG9tU3RyaW5nIHRyYWNrSUQpCisgICAgOiBtX3NhbXBsZShzYW1wbGUp
CisgICAgLCBtX2lkKHRyYWNrSUQpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2Ft
cGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQpCisg
ICAgOiBtX3NhbXBsZShzYW1wbGUpCisgICAgLCBtX2lkKEF0b21TdHJpbmc6Om51bWJlcih0cmFj
a0lEKSkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKENNU2Ft
cGxlQnVmZmVyUmVmIHNhbXBsZSwgVmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgYm9vbCBtaXJyb3Jl
ZCkKKyAgICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1fcm90YXRpb24ocm90YXRpb24pCisg
ICAgLCBtX21pcnJvcmVkKG1pcnJvcmVkKQoreworfQorCitNZWRpYVNhbXBsZUFWRk9iakM6On5N
ZWRpYVNhbXBsZUFWRk9iakMoKSA9IGRlZmF1bHQ7CisKIFJlZlB0cjxNZWRpYVNhbXBsZUFWRk9i
akM+IE1lZGlhU2FtcGxlQVZGT2JqQzo6Y3JlYXRlSW1hZ2VTYW1wbGUoUGl4ZWxCdWZmZXImJiBw
aXhlbEJ1ZmZlcikKIHsKICAgICBhdXRvIHNpemUgPSBwaXhlbEJ1ZmZlci5zaXplKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVj
b21wcmVzc2lvblNlc3Npb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0KaW5kZXggOGVlZjNiMmVhNjA0YmQx
OTgzZDc3ZDM4YmY1MjFhOGQyMWYyMGVkMC4uZDFjODQ0ODgzNjc0MGZkYjc1YzQwYWM5M2Y3ZGQw
OWQ3OGYwMzAwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQpA
QCAtMzEsMTAgKzMxLDEwIEBACiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01CdWZmZXJRdWV1ZS5oPgog
I2ltcG9ydCA8Q29yZU1lZGlhL0NNRm9ybWF0RGVzY3JpcHRpb24uaD4KICNpbXBvcnQgPHBhbC9h
dmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+Ci0jaW1wb3J0IDxwYWwvY2YvQ29y
ZU1lZGlhU29mdExpbmsuaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3
dGYvTWVkaWFUaW1lLmg+CiAjaW1wb3J0IDx3dGYvTW9ub3RvbmljVGltZS5oPgorI2ltcG9ydCA8
d3RmL1J1bkxvb3AuaD4KICNpbXBvcnQgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogI2ltcG9y
dCA8d3RmL1ZlY3Rvci5oPgogI2ltcG9ydCA8d3RmL1dURlNlbWFwaG9yZS5oPgpAQCAtNDIsNiAr
NDIsNyBAQAogCiAjaW1wb3J0ICJDb3JlVmlkZW9Tb2Z0TGluay5oIgogI2ltcG9ydCAiVmlkZW9U
b29sYm94U29mdExpbmsuaCIKKyNpbXBvcnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgog
CiAvLyBFcXVpdmFsZW50IHRvIFdURl9ERUNMQVJFX0NGX1RZUEVfVFJBSVQoQ01TYW1wbGVCdWZm
ZXIpOwogLy8gTmVlZGVkIGR1ZSB0byByZXF1aXJlbWVudCBvZiBzcGVjaWZ5aW5nIHRoZSBQQUwg
bmFtZXNwYWNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgKaW5kZXggZmVjZTgxMjli
ZDdmN2ZkZWQ2YTgwNGJhNTJmNzk1MjYxZmU2NWQzMC4uODcxMDRkOGI3YjM1N2MxNjBiNmRjY2M0
MWJmZTFmODllMGE2YzI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCkBAIC0z
NCw3ICszNCw4IEBAIHR5cGVkZWYgY29uc3Qgc3RydWN0IG9wYXF1ZUNNRm9ybWF0RGVzY3JpcHRp
b24qIENNRm9ybWF0RGVzY3JpcHRpb25SZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9v
bCBpc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgaXNWb3Ji
aXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9SVCBib29sIHJlZ2lzdGVyVm9yYmlz
RGVjb2RlcklmTmVlZGVkKCk7CiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3Jl
YXRlVm9yYmlzQXVkaW9Gb3JtYXREZXNjcmlwdGlvbihzaXplX3QsIGNvbnN0IHZvaWQqKTsKIAog
c3RydWN0IE9wdXNDb29raWVDb250ZW50cyB7CkBAIC01Miw3ICs1Myw4IEBAIHN0cnVjdCBPcHVz
Q29va2llQ29udGVudHMgewogICAgIGJvb2wgaGFzUGFkZGluZyB7IGZhbHNlIH07CiB9OwogCi1i
b29sIGlzT3B1c0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgaXNPcHVz
RGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCByZWdpc3Rlck9wdXNEZWNv
ZGVySWZOZWVkZWQoKTsKIGJvb2wgcGFyc2VPcHVzUHJpdmF0ZURhdGEoc2l6ZV90IHByaXZhdGVE
YXRhU2l6ZSwgY29uc3Qgdm9pZCogcHJpdmF0ZURhdGEsIHNpemVfdCBmcmFtZURhdGFTaXplLCBj
b25zdCB2b2lkKiBmcmFtZURhdGEsIE9wdXNDb29raWVDb250ZW50cyYpOwogUmV0YWluUHRyPENN
Rm9ybWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZU9wdXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKGNv
bnN0IE9wdXNDb29raWVDb250ZW50cyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29h
Lm1tCmluZGV4IDA2YmQ0OGFlMGQzZDY5MTI1MGI4YTI3NTdkMDI1NmQ0NDg1OWZjYzQuLjBlMWVi
MWI3OThhM2M3ZWE2N2VhYjc1YmEzNmU1ODVhZGQ4YzEwYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0
aWxpdGllc0NvY29hLm1tCkBAIC0zMiwyMiArMzIsMjggQEAKICNpbXBvcnQgIkxvZ2dpbmcuaCIK
ICNpbXBvcnQgIk1lZGlhVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXIuaCIKKyNpbXBvcnQgPEF1ZGlvVG9vbGJveC9BdWRpb0NvZGVjLmg+CiAjaW1wb3J0
IDxBdWRpb1Rvb2xib3gvQXVkaW9Db21wb25lbnQuaD4KICNpbXBvcnQgPEF1ZGlvVG9vbGJveC9B
dWRpb0Zvcm1hdC5oPgogI2ltcG9ydCA8Q29yZU1lZGlhL0NNRm9ybWF0RGVzY3JpcHRpb24uaD4K
ICNpbXBvcnQgPGRsZmNuLmg+CiAjaW1wb3J0IDx3dGYvRmxpcEJ5dGVzLmg+CiAjaW1wb3J0IDx3
dGYvU2Vjb25kcy5oPgotCiAjaWYgRU5BQkxFKE9QVVMpCiAjaW1wb3J0IDxsaWJ3ZWJydGMvb3B1
c19kZWZpbmVzLmg+CiAjZW5kaWYKKyNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGlu
ay5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiBFTkFCTEUoVk9SQklTKSB8fCBFTkFC
TEUoT1BVUykKIHN0YXRpYyBib29sIHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoY29uc3QgY2hhciog
ZGVjb2Rlck5hbWUsIE9TVHlwZSBkZWNvZGVyVHlwZSkKIHsKKyAgICBBdWRpb0NvbXBvbmVudERl
c2NyaXB0aW9uIGRlc2MgeyBrQXVkaW9EZWNvZGVyQ29tcG9uZW50VHlwZSwgZGVjb2RlclR5cGUs
ICdhcHBsJywga0F1ZGlvQ29tcG9uZW50RmxhZ19TYW5kYm94U2FmZSwgMCB9OworICAgIEF1ZGlv
Q29tcG9uZW50IGNvbXAgPSBQQUw6OkF1ZGlvQ29tcG9uZW50RmluZE5leHQoMCwgJmRlc2MpOwor
ICAgIGlmIChjb21wKQorICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gQWxyZWFkeSByZWdpc3RlcmVk
LgorCiAgICAgY29uc3RleHByIGNoYXIgYXVkaW9Db21wb25lbnRzRHlsaWJbXSA9ICIvU3lzdGVt
L0xpYnJhcnkvQ29tcG9uZW50cy9BdWRpb0NvZGVjcy5jb21wb25lbnQvQ29udGVudHMvTWFjT1Mv
QXVkaW9Db2RlY3MiOwogICAgIHZvaWQgKmhhbmRsZSA9IGRsb3BlbihhdWRpb0NvbXBvbmVudHNE
eWxpYiwgUlRMRF9MQVpZIHwgUlRMRF9MT0NBTCk7CiAgICAgaWYgKCFoYW5kbGUpCkBAIC01Nyw3
ICs2Myw2IEBAIHN0YXRpYyBib29sIHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoY29uc3QgY2hhciog
ZGVjb2Rlck5hbWUsIE9TVHlwZSBkZWNvZGVyVHlwZSkKICAgICBpZiAoIWRlY29kZXJGYWN0b3J5
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBBdWRpb0NvbXBvbmVudERlc2NyaXB0aW9u
IGRlc2MgeyAnYWRlYycsIGRlY29kZXJUeXBlLCAnYXBwbCcsIGtBdWRpb0NvbXBvbmVudEZsYWdf
U2FuZGJveFNhZmUsIDAgfTsKICAgICBpZiAoIUF1ZGlvQ29tcG9uZW50UmVnaXN0ZXIoJmRlc2Ms
IENGU1RSKCIiKSwgMCwgZGVjb2RlckZhY3RvcnkpKSB7CiAgICAgICAgIGRsY2xvc2UoaGFuZGxl
KTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNzEsNyArNzYsNyBAQCBzdGF0aWMgUmV0YWlu
UHRyPENNRm9ybWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25G
b3JGb3JtYXQoTwogICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBhc2JkIHsgfTsKICAg
ICBhc2JkLm1Gb3JtYXRJRCA9IGZvcm1hdElEOwogICAgIHVpbnQzMl90IHNpemUgPSBzaXplb2Yo
YXNiZCk7Ci0gICAgYXV0byBlcnJvciA9IEF1ZGlvRm9ybWF0R2V0UHJvcGVydHkoa0F1ZGlvRm9y
bWF0UHJvcGVydHlfRm9ybWF0SW5mbywgbWFnaWNDb29raWUuc2l6ZSgpLCBtYWdpY0Nvb2tpZS5k
YXRhKCksICZzaXplLCAmYXNiZCk7CisgICAgYXV0byBlcnJvciA9IFBBTDo6QXVkaW9Gb3JtYXRH
ZXRQcm9wZXJ0eShrQXVkaW9Gb3JtYXRQcm9wZXJ0eV9Gb3JtYXRJbmZvLCBtYWdpY0Nvb2tpZS5z
aXplKCksIG1hZ2ljQ29va2llLmRhdGEoKSwgJnNpemUsICZhc2JkKTsKICAgICBpZiAoZXJyb3Ip
IHsKICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWEsICJjcmVhdGVBdWRpb0Zvcm1hdERl
c2NyaXB0aW9uRm9yRm9ybWF0IGZhaWxlZCB3aXRoIGVycm9yICVkICglLjRzKSIsIGVycm9yLCAo
Y2hhciAqKSZlcnJvcik7CiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtMzI2LDE5ICszMzEs
MzAgQEAgc3RhdGljIFZlY3Rvcjx1aW50OF90PiBjb29raWVGcm9tT3B1c0Nvb2tpZUNvbnRlbnRz
KGNvbnN0IE9wdXNDb29raWVDb250ZW50cyYgY28KIAogYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxh
YmxlKCkKIHsKLSAgICBzdGF0aWMgYm9vbCBhdmFpbGFibGU7Ci0KICNpZiBFTkFCTEUoT1BVUykg
JiYgUExBVEZPUk0oTUFDKQogICAgIGlmICghUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpv
cHVzRGVjb2RlckVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgcmV0dXJu
IHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7
CisjZW5kaWYKK30KKworYm9vbCByZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKQoreworI2lm
IEVOQUJMRShPUFVTKSAmJiBQTEFURk9STShNQUMpCisgICAgc3RhdGljIGJvb2wgYXZhaWxhYmxl
OworCiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47CiAgICAgZGlzcGF0Y2hf
b25jZSgmb25jZVRva2VuLCBeewotICAgICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRlY29kZXJG
YWN0b3J5KCJBQ09wdXNEZWNvZGVyRmFjdG9yeSIsICdvcHVzJyk7CisgICAgICAgIGF2YWlsYWJs
ZSA9IHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDT3B1c0RlY29kZXJGYWN0b3J5Iiwga0F1ZGlv
Rm9ybWF0T3B1cyk7CiAgICAgfSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBhdmFpbGFibGU7Cisj
ZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiBSZXRhaW5QdHI8Q01Gb3JtYXRE
ZXNjcmlwdGlvblJlZj4gY3JlYXRlT3B1c0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oY29uc3QgT3B1
c0Nvb2tpZUNvbnRlbnRzJiBjb29raWVDb250ZW50cykKQEAgLTQxOCwxOSArNDM0LDMwIEBAIHN0
YXRpYyBWZWN0b3I8dWludDhfdD4gY29va2llRnJvbVZvcmJpc0NvZGVjUHJpdmF0ZShzaXplX3Qg
Y29kZWNQcml2YXRlU2l6ZSwgY29uCiAKIGJvb2wgaXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKCkK
IHsKLSAgICBzdGF0aWMgYm9vbCBhdmFpbGFibGU7Ci0KICNpZiBFTkFCTEUoVk9SQklTKSAmJiBQ
TEFURk9STShNQUMpCiAgICAgaWYgKCFQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnZvcmJp
c0RlY29kZXJFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIHJldHVybiBy
ZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7
CisjZW5kaWYKK30KKworYm9vbCByZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpCit7Cisj
aWYgRU5BQkxFKFZPUkJJUykgJiYgUExBVEZPUk0oTUFDKQorICAgIHN0YXRpYyBib29sIGF2YWls
YWJsZTsKKwogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOwogICAgIGRpc3Bh
dGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKICAgICAgICAgYXZhaWxhYmxlID0gcmVnaXN0ZXJEZWNv
ZGVyRmFjdG9yeSgiQUNWb3JiaXNEZWNvZGVyRmFjdG9yeSIsICd2b3JiJyk7CiAgICAgfSk7Ci0j
ZW5kaWYKIAogICAgIHJldHVybiBhdmFpbGFibGU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsK
KyNlbmRpZgogfQogCiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlVm9y
YmlzQXVkaW9Gb3JtYXREZXNjcmlwdGlvbihzaXplX3QgcHJpdmF0ZURhdGFTaXplLCBjb25zdCB2
b2lkKiBwcml2YXRlRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdz
L1dlYktpdC1hcHBsZXR2b3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJL
aXQtYXBwbGV0dm9zLnBsaXN0CmluZGV4IGFlNGVlNDU3YTIxMzEzMzhmNmE1Yjc1ZWQ3NWY2MzZm
M2EwZjUyNjAuLmYxYjRhYWFlZTBiMTcxNDdkMzY1ZmMxZTJiZjc3NjMwOThiMjdhM2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3MucGxpc3QK
KysrIGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdApA
QCAtODcsNiArODcsMTEgQEAKICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CiAgICAgICAgIDx0
cnVlLz4KICAgICA8L2RpY3Q+CisgICAgPGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+CisgICAgPGRp
Y3Q+CisgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgorICAgICAgICA8dHJ1ZS8+CisgICAgPC9k
aWN0PgogICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CiAgICAgPGRpY3Q+
CiAgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9G
ZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdz
L1dlYktpdC1pb3MucGxpc3QKaW5kZXggNjIxYzkyMTY2Yzg5MmNiNTQxY2ZhNzZiNjIzODE1NjY4
YTFlYzI3Ny4uNTBkMDNjZmJkNzQxNzU4ZGE5M2RmMjZlZjg4ODMyOGY3NDRkZTM2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdAorKysgYi9T
b3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0CkBAIC04Nyw2ICs4Nywx
MSBAQAogICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KICAgICAgICAgPHRydWUvPgogICAgIDwv
ZGljdD4KKyAgICA8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKyAgICA8ZGljdD4KKyAgICAgICAg
PGtleT5FbmFibGVkPC9rZXk+CisgICAgICAgIDx0cnVlLz4KKyAgICA8L2RpY3Q+CiAgICAgPGtl
eT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KICAgICA8ZGljdD4KICAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9X
ZWJLaXQtbWFjb3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFj
b3MucGxpc3QKaW5kZXggNjIxYzkyMTY2Yzg5MmNiNTQxY2ZhNzZiNjIzODE1NjY4YTFlYzI3Ny4u
NTBkMDNjZmJkNzQxNzU4ZGE5M2RmMjZlZjg4ODMyOGY3NDRkZTM2ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0CisrKyBiL1NvdXJjZS9X
ZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdApAQCAtODcsNiArODcsMTEgQEAK
ICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CiAgICAgICAgIDx0cnVlLz4KICAgICA8L2RpY3Q+
CisgICAgPGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+CisgICAgPGRpY3Q+CisgICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgorICAgICAgICA8dHJ1ZS8+CisgICAgPC9kaWN0PgogICAgIDxrZXk+UkJf
ZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CiAgICAgPGRpY3Q+CiAgICAgICAgIDxrZXk+RW5h
YmxlZDwva2V5PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0
LXdhdGNob3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hv
cy5wbGlzdAppbmRleCBhZTRlZTQ1N2EyMTMxMzM4ZjZhNWI3NWVkNzVmNjM2ZjNhMGY1MjYwLi5m
MWI0YWFhZWUwYjE3MTQ3ZDM2NWZjMWUyYmY3NzYzMDk4YjI3YTNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdApAQCAtODcsNiArODcsMTEg
QEAKICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CiAgICAgICAgIDx0cnVlLz4KICAgICA8L2Rp
Y3Q+CisgICAgPGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+CisgICAgPGRpY3Q+CisgICAgICAgIDxr
ZXk+RW5hYmxlZDwva2V5PgorICAgICAgICA8dHJ1ZS8+CisgICAgPC9kaWN0PgogICAgIDxrZXk+
UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CiAgICAgPGRpY3Q+CiAgICAgICAgIDxrZXk+
RW5hYmxlZDwva2V5PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCmluZGV4
IDQ0YmE4ODU1NTlmMTFiMTJiOGE4NTFkNzY5OTEzMjlkM2IxOWZmMjguLjVhNDlmZWYwODk0ODMy
MWY3MGNjY2Y5NjY4NWE2NTcyNGE5MGEyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
UHJvY2Vzcy5jcHAKQEAgLTQ1MSw3ICs0NTEsNyBAQCB2b2lkIEdQVVByb2Nlc3M6OmVuYWJsZVZQ
OURlY29kZXJzKGJvb2wgc2hvdWxkRW5hYmxlVlA4RGVjb2RlciwgYm9vbCBzaG91bGRFbmFibAog
fQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCiB2b2lkIEdQVVByb2Nlc3M6OnNldFdlYk1QYXJzZXJFbmFi
bGVkKGJvb2wgZW5hYmxlZCkKIHsKICAgICBpZiAobV93ZWJNUGFyc2VyRW5hYmxlZCA9PSBlbmFi
bGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaCBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKaW5kZXggNDljM2Q3NzFiZjE3
NGQ4ZjlmZGNjOGQyNDFiMzEwNzZiMGM1YjZhZi4uNTZkYmZlNDdjMjc4Y2JlZjRkZDU5OTlkNTU3
YzhiODU2NWJjNjJjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCkBAIC0x
NDEsNyArMTQxLDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBhZGRp
dGlvbmFsU3RhdGVGb3JEaWFnbm9zdGljUmVwb3J0KCkgY29uc3QgZmluYWw7CiAjZW5kaWYKIAot
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKICAgICB2b2lkIHNldFdlYk1QYXJzZXJFbmFibGVkKGJvb2wpOwogI2VuZGlmCiAK
QEAgLTE5NCw3ICsxOTQsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9lbmFibGVWUDlEZWNvZGVy
IHsgZmFsc2UgfTsKICAgICBib29sIG1fZW5hYmxlVlA5U1dEZWNvZGVyIHsgZmFsc2UgfTsKICNl
bmRpZgotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKICAgICBib29sIG1fd2ViTVBhcnNlckVuYWJsZWQgeyBmYWxzZSB9Owog
I2VuZGlmCiAjaWYgRU5BQkxFKFdFQk1fRk9STUFUX1JFQURFUikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNjkxZGE3OGQyY2Y5MzI4
ZWE3OWUyNGMyZDY0NjIwMDM2YjVlNDI0OS4uNGYwMTk2NTQzYTNkMDU4ZTAxNmMzOTY2ZWRhMTY0
N2ZhNjFiYmIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3Mu
bWVzc2FnZXMuaW4KQEAgLTUxLDcgKzUxLDcgQEAgbWVzc2FnZXMgLT4gR1BVUHJvY2VzcyBMZWdh
Y3lSZWNlaXZlciB7CiAgICAgRGlzcGxheUNvbmZpZ3VyYXRpb25DaGFuZ2VkKENHRGlyZWN0RGlz
cGxheUlEIGRpc3BsYXlJRCwgQ0dEaXNwbGF5Q2hhbmdlU3VtbWFyeUZsYWdzIGZsYWdzKQogI2Vu
ZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCiAgICAgU2V0V2ViTVBhcnNlckVuYWJsZWQoYm9vbCBlbmFibGVkKTsK
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLmNwcAppbmRleCAzMjEyZTdhZTEwMTk1NTI2Nzg3ZmViOWQzNjBjZjYwNGZj
ODMzZmI3Li4xYWZlNzY1MDc4Y2VmNTEzNGM4OWY1YjRmZGZiZTYxNmIyZmNlYTIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5j
cHAKQEAgLTMyOCw2ICszMjgsMTUgQEAgYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKQog
ICAgIHJldHVybiB0cnVlOwogfQogCitib29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCkK
K3sKKyNpZiBIQVZFKFNZU1RFTV9GRUFUVVJFX0ZMQUdTKQorICAgIHJldHVybiBpc0ZlYXR1cmVG
bGFnRW5hYmxlZCgid2VibV93ZWJhdWRpbyIpOworI2VuZGlmCisKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU09VUkNFKQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVm
YXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0
VmFsdWVzLmgKaW5kZXggOTAyNDdlOGMxZDEyMmNhNmZhNWQ4N2U2ZmZkNmI3Mjc5NjM3M2Q1NS4u
MjlhNDAxZDdhNDNmOTQzYWM4ZjRhMDcyODM4ZDczNWVlNjk2OGE2ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTExMSw2
ICsxMTEsNyBAQCBib29sIGRlZmF1bHRWUDlTV0RlY29kZXJFbmFibGVkT25CYXR0ZXJ5KCk7CiAK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQo
KTsKK2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKTsKICNlbmRpZgogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KaW5kZXggZWY1NTE4YWFkYjAyZDViZjVjYmYxNjdlMTI0
MDdlZTkwNzQ3MTVlNy4uZWIyY2Q4MjZkMzczYWU1YWQ5ODM0MDM1OGJkOWNmYWIyOGRiNGMzZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW0KQEAgLTM4LDYgKzM4LDcgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdl
cy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbXBvcnQgPFdlYkNvcmUvUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1dlYk1BdWRpb1V0aWxpdGll
c0NvY29hLmg+CiAjaW1wb3J0IDxzeXMvc3lzY3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29wZS5oPgpAQCAtMjk1LDYgKzI5Niw5IEBAIHZvaWQg
V2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKCkKIAogICAg
IGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVf
UFJJT1JJVFlfREVGQVVMVCwgMCksIFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldICgp
IG11dGFibGUgewogICAgICAgICBDRkRhdGFSZWYgcmVnaXN0cmF0aW9ucyB7IG51bGxwdHIgfTsK
KworICAgICAgICBXZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyAgICAg
ICAgV2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKICAgICAgICAgaWYg
KG5vRXJyICE9IEF1ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zKCZyZWdpc3Ry
YXRpb25zKSB8fCAhcmVnaXN0cmF0aW9ucykKICAgICAgICAgICAgIHJldHVybjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1
bHRWYWx1ZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNEZWZhdWx0VmFsdWVzLmgKaW5kZXggYTU5Mjk3YWYzZmRhNTVjZjUzZDlkOTA4MWFiOTk3YzRm
N2JlNTQ5Yy4uNzFhY2Q4MDg4NjgzNTlmZTE2ODFiNzA0ZGE1ZWE1MDc5ZTM2NDk2MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1
bHRWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzRGVmYXVsdFZhbHVlcy5oCkBAIC04Nyw2ICs4Nyw3IEBAIGJvb2wgZGVmYXVsdFdoZWVs
RXZlbnRHZXN0dXJlc0JlY29tZU5vbkJsb2NraW5nKCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKQogYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKTsKK2Jvb2wgZGVmYXVsdFdlYk1X
ZWJBdWRpb0VuYWJsZWQoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFZQOSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0Rl
ZmF1bHRWYWx1ZXMubW0KaW5kZXggMzUyZmRjNWUxOGFmMmM1OGI0MmZlNGUwZTdjZjY3MzcxZDY4
Y2U2Yy4uMTZjNTk3MjI5MTk3MWYxOTkxYzQwYWVhODFkMGZmYmQ2ZjY1OWQzYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlc0RlZmF1bHRWYWx1ZXMubW0KQEAgLTI5OCw2ICsyOTgsMTUgQEAgYm9vbCBkZWZhdWx0V2Vi
TVBhcnNlckVuYWJsZWQoKQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIGRlZmF1bHRXZWJN
V2ViQXVkaW9FbmFibGVkKCkKK3sKKyNpZiBIQVZFKFNZU1RFTV9GRUFUVVJFX0ZMQUdTKQorICAg
IHJldHVybiBpc0ZlYXR1cmVGbGFnRW5hYmxlZCgid2VibV93ZWJhdWRpbyIpOworI2VuZGlmCisK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU09VUkNFKQog
CiAjaWYgRU5BQkxFKFZQOSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwY2U1OTkxODkxYTgzM2MwMDI2NjAxYTQwNzQ1ZTYx
ZmZmZGVlZWM0Li40NmEyMzYxNTAxZTQ0MzFiNmQyMDUwNzAyMjBmNmU5N2JmNzNhMzE0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFw
cGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1
cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9uczogT25seSBlbmFibGUgdGVzdCBvbiBtYWNPUyBNb250ZXJleQorICAgICAgICAqIHdl
YmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWw6IGZpeCB3aGl0ZXNwYWNlCisgICAg
ICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9vcHVzLndlYm06
IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS92b3JiaXMud2VibTog
QWRkZWQuCisKIDIwMjEtMDctMjEgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAK
ICAgICAgICAgVXBkYXRlIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgZm9yIGltcG9ydGVk
IHczYyBJbmRleGVkREIgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggODk3OWIxNzg5MmYyN2YxNGFiZjY5NjRhYTA1YmQ1NDliNDA5YzhiYy4uZGU3
MmExYzhhNmMxMzFmMGMyNmU0NzYwNzkxNTVkNWJmNzM3N2YyZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3NjcsNiArMTc2Nyw3IEBAIHdlYmtpdC5v
cmcvYi8yMTQxNTUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9y
aWdpbi1lbWJlZGRlci1wCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSBtZWRpYS9tZWRpYS1z
b3VyY2UvbWVkaWEtc291cmNlLXdlYm0tdm9yYmlzLXBhcnRpYWwuaHRtbCBbIFNraXAgXQogWyBD
YXRhbGluYSBNb2phdmUgQmlnU3VyIF0gbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXdlYm0tb3B1
cy1wYXJ0aWFsLmh0bWwgWyBTa2lwIF0KIFsgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIG1lZGlh
L21lZGlhLXNvdXJjZS9tZWRpYS13ZWJtLW9wdXMtcGFydGlhbC1hYm9ydC5odG1sIFsgU2tpcCBd
CitbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13
ZWJtLW9wdXMuaHRtbCBbIFNraXAgXQogCiB3ZWJraXQub3JnL2IvMjE0NDIyIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW9jb250
ZXh0LWludGVyZmFjZS9zdXNwZW5kLWFmdGVyLWNvbnN0cnVjdC5odG1sIFsgUGFzcyBGYWlsdXJl
IF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEt
YmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2lj
Lmh0bWwKaW5kZXggYTMzM2I2NWFhZWY5ZGI2NGVkNTNmY2IwNTYzMWNmYzE1MTQwNTBkMS4uN2Yw
OGIyOTA1OTJjYzJmMzQ0ZmE1NjVmYjBkYWE0YjI2NmY4ODI5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sCkBAIC03LDcgKzcsNyBA
QAogPGJvZHk+CiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIkJhc2ljIHRlc3RzIGZvciBkZWNvZGVB
dWRpb0RhdGEgZnVuY3Rpb24uIik7Ci0gICAgCisKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKIAogdmFyIGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7CkBAIC0zNCwxOSArMzQsMTkg
QEAgZnVuY3Rpb24gcnVuRGVjb2RlVGVzdChpbmRleCkgewogICAgIHZhciByZXF1ZXN0ID0gbmV3
IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgcmVxdWVzdC5vcGVuKCJHRVQiLCBkZWNvZGVDYXNlQXJy
YXlbaW5kZXhdLnVybCwgdHJ1ZSk7CiAgICAgcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAiYXJyYXli
dWZmZXIiOwotICAgIAorCiAgICAgcmVxdWVzdC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAg
ICAgY29udGV4dC5kZWNvZGVBdWRpb0RhdGEocmVxdWVzdC5yZXNwb25zZSwgc3VjY2Vzc0NhbGxi
YWNrLCBlcnJvckNhbGxiYWNrKTsKLSAgICAgICAgCisKICAgICAgICAgZnVuY3Rpb24gc3VjY2Vz
c0NhbGxiYWNrKCkgewogICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VBcnJheVtpbmRleF0ucmVz
dWx0KQogICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5
W2luZGV4XS51cmwgKyAgIiB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNv
cnJlY3RseS4iKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJUaGUgIiArIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsICsgIiB0ZXN0OiBzdWNjZXNzQ2Fs
bGJhY2sgd2FzIG5vdCBjYWxsZWQuIik7Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgcnVu
RGVjb2RlVGVzdCgrK2luZGV4KTsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBmdW5j
dGlvbiBlcnJvckNhbGxiYWNrKCkgewogICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VBcnJheVtp
bmRleF0ucmVzdWx0KQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoZSAiICsgZGVjb2Rl
Q2FzZUFycmF5W2luZGV4XS51cmwgKyAiIHRlc3Q6IGVycm9yQ2FsbGJhY2sgd2FzIGNhbGxlZCBp
bmNvcnJlY3RseS4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1h
dWRpby1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9k
ZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0YmMw
MTA4ZDQ0Y2Q1ZjQ3NDZmNjk5N2U2MGM1ZTQ3MzU2ZmE0ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgdGhhdCBkZWNvZGluZyBhbiBvcHVzIHdlYm0gZmls
ZSBzdWNjZWVkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBTdWNjZXNz
ZnVsbHkgZGVjb2RlZCBjb250ZW50CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2Rl
LWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUt
YXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTc3MjgwMTI3MDBhZjNkNjgy
NGUyMDkwODVmNGRjZWUzNzhjNzBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
YXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKQEAgLTAsMCArMSwzMSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgZGVjb2RpbmcgYW4gb3B1cyB3ZWJt
IGZpbGUgc3VjY2VlZHMiKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIg
Y29udGV4dCA9IG5ldyB3aW5kb3cuQXVkaW9Db250ZXh0KCk7Cit2YXIgcmVxdWVzdCA9IG5ldyBY
TUxIdHRwUmVxdWVzdCgpOworcmVxdWVzdC5vcGVuKCJHRVQiLCAncmVzb3VyY2VzL21lZGlhL29w
dXMud2VibScsIHRydWUpOworcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAiYXJyYXlidWZmZXIiOwor
CityZXF1ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGNvbnRleHQuZGVjb2RlQXVkaW9E
YXRhKHJlcXVlc3QucmVzcG9uc2UsIChidWZmZXIpID0+IHsKKyAgICAgICAgdGVzdFBhc3NlZCgi
U3VjY2Vzc2Z1bGx5IGRlY29kZWQgY29udGVudCIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgIH0sICgpID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiRmFpbGVkIHRvIGRlY29kZSBm
aWxlIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgfSk7Cit9CityZXF1ZXN0LnNl
bmQoKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJtIGIvTGF5b3V0VGVzdHMvd2Vi
YXVkaW8vcmVzb3VyY2VzL21lZGlhL29wdXMud2VibQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODQ5NGNiOTE0YTdk
ODc0Y2IwMmViMDFkN2Y3YjYzNTkwMWM5ZDFjCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNTkx
Mwp6Y21jSiQxOXhPaylXI2R6Iz5CUjUrblUoNmpnRD5HIz42JXpIWVQ9aENwWjgxejVEPzh0bk9a
YFJgb2YoPnNRYS0KelVBM3pVTXtLKCZQZEYzK0VkMmNRejV7Pj4tdmdrODFCMmE3amNrUihldV5P
ZzVHPDdkYjZ9d1ZGMX1ZfXhoJDZzCnp4eX5xK3MkZ2BmM053e3pLKjlmKEZqUS07ZUBnJTRJLWBI
O1AqZXhhUmpMRGwxXiYxQU9Rckx0R0xVY287KHduNQp6cjE/TE9gflR6UEtkVHozU0wlWmhnJDNt
VFZxXns3JS1BXlRJb1JvJDcjVEgkez1hMz5oO1lGOyReV3Q5S2xBciQKenwxYXhTMEttP307aXhq
WGRxUntvYU09Skw7XnlvaVMzOHI/UCQ3SzxNS3UtbSR7PUk8ZUQlJj91JVJaUEFPT2cyCnpMTExD
NUliODdBO2VRQHhXQzk+R0U9KkV6YUNNZTZIOGNTUjtSRnVve0dYY3R4Q214QkpPN19RTH1BPClV
X1NiUAp6N0k0SWghbz1pNzZoeV84TVpeQlRoV182LTcjUjBPOFVIXyl7b25WSntKLXhfe2J7dUVQ
b3RTd1NwUkRecF5jQEgKentme1o7cWxJRWM7aTc4RkxhSV48QH1nbk1qRXZtPnlfbzEzOEdwWF4t
dnRDakFreU9Ne2RvKWtEaVZxVjAwOU1qCnpffCpEZU1UPmxAS1lzTio5VzZoeGtCUSpHd0s8VXxI
P311NklQNFc9VVV+Y2k8OzhGOSZFX25mbiZoUyZlb0VEeAp6YGYkJDNEc3J8NUhQbSMhTF42UGU/
QTA3NXhlUipvXktGNk1iT0QofnZRVnZpUmo7Xmx5IT95SUByfWheWSp+ZWoKelZtIWJrbj5FNGZn
RlJAU05WeVlBNVlRYlVEeDxyaW5SVGttLTIrc2A4QTBBNSFRNVJhKFJnazR1XjheOWA0U2xnCnp2
WEp9aGYyZCs8aD92YERMbykjTUpjPWBEPXw/TXEqT0NsUW1qPXZSRkElJkY3M3BLfjY8MEA0Mik2
aHBfc29DXgp6ZVN2Rn0rZEdpTlFiUnApKENtWHFFb1M4Wm95V0tHO1l5UVFSTns/JnNiaHcpY0l4
dTJqTmpRMlElKkB9aXBOLVoKenJAND99bz1zPShfekpSQHFffE9raykhKGdrWmZyYnE4eU9JaUUh
aVR4KDdLJiplPyMhJUtaaE90V01ZK3UqZGIjCnpZNnwkaEV0dlNJOzV3eCkrLSEqdTs3RT9qI2J7
I2lIVXtJYXUpMSpjXylpRFgxX2A2VntESD4tKl5YSlhZVD4lJAp6Z1RuV2lhNm8yRz9uTGlabmxL
I2ZGc2pSV1chWWFObENOd3d3QEJ+fDBFOGEhQT87aGckOCNyNmkyNSN1KkYreTgKemtZX1JnN21g
fn45dkRRcTkyM0t5Um91VHI9ckd6Sl5fME5WX3BhWntFYzE9b2xgfVNndmFYe28kez1iZ0U4ST1J
CnpLUGFJIXMxRyZ9eW9wTXtYSV51akJRcypJWWR9U2lZIVg2NE44VFckR2wkdzJxKzIkPEopRlgo
WClAdDxiV2MrSAp6WEZETX1ZYiZtMlF9cGx6MTw8Zip3UkxOKiZIZ1UlVUpANzsoQGtldEpCIypD
NClzeyg+WT9CYj1sPW9hQ1N4PU8KeiY5TTgyMWIhKVczfl96Xmg+XjklR3E/KW81Tj5uJWI+ezhS
YHdOeVBFfHFxJmVeTkVtME99ciUrLWJ4PmJ7SmQjCnpudFJ4bGtFS1dtOVJOZlhAYk5HRDhFbX5n
Zmt8WWFvdkVZVlBVcD4ydzNPP2VRZFhwJXJ2OCpnfEVpSS1BYUVhagp6R35tWTZae3tJans9PHpG
Jlk2M3NLQmlWcnJyJVdMam05RHtWTWlyR2B5ayU7WWU+KDdia1oqYHZHKHR7PiljWFEKejV0TmMw
NUJib1VHbnRibXpvXkZ8PFMwODlyKWN4OFJmO2d2RE1mVGZrfTttT3JlZ2VII0Jqcj4haCFKd3VH
aklVCno3cnxBcTwkaS03Mjx7R2A/Rn44QGo5c0U/QUBGYHZXKnpnPjNZPjV9KzRPPDhCaFVJbGo8
RlMxTnU2TVVrQiQ8Xgp6dy13QGhHeCtjRmlMX0FTVGdCKFVJcTBoPyo4VjN5ZUFUUHdYfUV4Qj4t
WVhoMj1mKU8kS3QqaWMreXtySk1ldy0Kekh8TlF8X0FDQ3VWc1gkTVpSbE5VQ2k3WDNSYT93clE4
cTxGWGFGRi1mUjl5ezBHOClEeDYmaER1NDd7aTVqUnRlCnokMFJrUTx3dTg/KyhEbHI4I3ROLXla
d2dfRUw4PDwod3QqXmRNak54blQ1Qz0meWphZ29pPEdtKlg2cXApbTsoPwp6Rm5AKWAyO1YhMktX
K0dibHVTZ3E+IXF5ZE9sQjd8aHF+JT43QHE0X2BFbH1MSVZyV0xvUVRScGp2aSktX0slMT0Keipm
cD9kYHQtMHxDNXFDb01QZnNlRz5oNkZqZUJYdnNFUlNCKDQ3O2BIeDdJe0w8X2wyZlpWZyVpKldY
NTlCMGo3Cnp4NEl8anpDUzxtYk0yX1UwLXtPeU4jNG4/N2l9Km8/KWQoc1hNbTxWTz1PZlpGdUE/
XnF+JXpvWmIqK21HZD9oZgp6NDljXkc+MyVhY2Y3eyRKPG9AQWZ7cXhxc3FhfUJVXyEjS1RRITUk
UGwhdFdtJWU9ZHlYaC11JSNreG9jNCo7YX0KemdONWxJRWZyOHF0bW8jNSpFU2cxTX5DTE82SzFB
YXRWJWVeanZgYDY8NDhrN0syb0hreilXdnNnfnBqRWlXNlZnCnp5YUNNajc8SGh3a3lYMDFoTCQp
WkpLM1kqOUpvYVhiMHpxKlJCNkI/QSMwaVB3NVNZXmU2P19POzlmRX1tdUJfJAp6VjcoYGcoOUBC
KjYhe1RTSW5yM3VfMChUPnQjZUJVTmZLfE1leSk4NTlKIyVZOE43JVpUV1RyNnhhcE88KHxMQWoK
ekwwTzt9VnliPklQRjVjSXhDIzwjNWIjPUxQZWBOU2NMWkMxUjckTHtnaGVabCV6JT1oRmwyamMr
T3ZqNSNDO3deCno8NiVBeVJ3Xip9I1diQVktNTNhe2h0bCpDKjVVYSNjYGhyY28jK0JBRUBST2JS
Kzc3ejc5JG8hOUtvVFRiVX4jWAp6NGZ2PzVkeHBKTT4oTWVhbEdnVT9YNyk/bUEzaV9zV2NuWVU+
MlJSNGFqS1drSkM0MyRFZGB6amFVPmRYVWFpIzcKeiRsc3B3JCNSXiMzO1ljcTA0ZTgwdWZZU08t
Pl53Mk54PUFaaG0yQDtQZzhzMjAkMjBGRzh8YXVUeHZrVz9wcTckCnpTOHg+blFhe0NBPVZURFFQ
Z2gwaEFxekB1UUprNEslbWViej5Ddm5kYVZXZ1gpbSlTUVBWTXM4VyNUTG9uVlkpcgp6O0R8SlZH
bjhTVGdmUUdGbkF4JTMhfkM9R2dMTGI3XkhsM3wqWW5pZkl6Pzd4WjJ8TV5xZW97SFR5cFc9PFVv
VGkKentNSzJaJWZXNz1wWUF2UUpBSTBZPWI8ZVZpO3E8T2BYYzlJWEp8NWZkSjFNR2IwT341RiY0
RSh7JSRPRyZTPHN4Cno0MCgkRWtOcm0xVGItN3lPQHxINmRHUmFxNWl3YVdjfS0wWkJlMislO1VB
X1NQTGZyVDVIPGtGXlM+fjJvYCglaQp6JndvODVuNmJxRD9eNGtUdWhAMmA4Yj50aC1HP3N+THBj
NGJIOXJeZTQpX3IoY0J8Pm4haSpneClQfjtEcnl2cGsKektWelBxMUY1aGU9bFNrSWdvRzJBYm5T
WjJZUiVzXzl3ZD9pXlVXJUFTSyl7THZMZHFVPyEoYVlUMyU8bnktU1hfCnpVS0k+Mzw9R2spcEx2
O3p7NHd5dFdgIUZLUllTRlIqb31fTG5ZTVdnMDF6JmApemZPZE08VT9jSnkkaURAIWAlQAp6RTxx
SjNeP1hZbElhdjA7RkF9S3pOQk4zTEE2KngldT48eVNWYWYtJWAhPE8kOyU/Qy1kQkFpLXF+P21v
IUNCN3UKei0oPHloNmw7XnxFeFJpUU1jKU1SVStCQGQlbkJ3ezcjRHRSQHhPTnZaO3lMcTdVVnNV
NiFIe307QEpGP2klQk12Cno4aFpKbHdqbnt0Q1ZuKTczam03d1Bjc0xNWlIldzcwcmY7TGY5U2s3
RzF8ZWJyaUY7RVBiNkpTeVF1el92eCVEVwp6KS0jQHZfN0c/KSVlZzJSUD5CT2BCbVIhIVpIezRB
Jl41X15NXnhLRiNrJGpUejQ1TypLJlVuWEtvcDM1NF5CaEMKelpwdDF4I3I/c34tME9WSXhsdGw3
aH1TLTw0el5wXzItfHV7KkdxdzBQfXMlSDJidnYjO0AyfHRWbWhEWG0lWWh3CnozVmV5aUxfJWpp
YTQ3LTFsfjBFe2N+fF5HaHEkWGFMYiFBYSM9UnFWWnZmK2hTODZgaSp1N3BVUUBGa1M2PDVJPgp6
azsoUmwmRDB5WF9KaUVNR0JoMz5QcnNFZzN3V1VsTSNVSjJUPVhwbl5HaS13TzdZVFlhTFZHbUAw
TVdxQVlSfCQKek5meXlaK3QqYkRLXzY/RSN7UHpxY0k+fEl0Z2N1anQpUUhMbzB5I1dWRTshc0tY
ZUx5PXJGdEJlMnMmSzReSlN8CnpOKjZjRXhxM247QWxTVTxuTF82ME93fnR5NnEpYTJ5fjVJSlor
USlVc0htJnI1PEZhcj1jY28yU14xe3pJc2hwcwp6SV9HPTAwaFFsezIycFJ5UF50al5MREFaXz02
JXFjQ3MleU1kaUdIKilIfXJAR0tCQlVOZ201a01HUUF0QUVURVcKejk/bFVXUkdGSVNAVFVJZXlK
Zi02R1RpR29jRWRpVWt0X35Mdi0/ZkQjRSllUmhvY2dfOzZBeW9HNiFJYV9jU0VkCnpJUnlRWHhO
SmZLVGAtJjNNN3ByNz9uIW94Rn1IQnp5TWEoM204SzBiU2k/MW1hMTVoM3Y3ZX1NJGc1TmokNGlF
bwp6MiFVdXkhVFNvTz8pVkxfT0Z9WGVwKj9OUWc3cTZlU1V7O2VjUUpeRyg5NkhiWD85U008PVd3
cWNQb2NKe1NUOXEKejBYcUI9MkM5OUw1SFNGI2BOeXdmbnkzbldZWiNyIUBnNmk1Y0p9entRaztq
fTAqRE5uKHVGaVpaPFdRKHohIWdVCnojT25pNXoydiNpckpXJipCVC12JitqTGpRT3JsUV9XSHd6
MCk7dkYwPipLK1dTfiVMRSlsdXdnb31BeGhBPUtgewp6KWZ8bT9PUDdaI1NqcjQhYEF4WEEmfmpZ
WjYhRm8wYH4wYjJ6d18wTm5yeX1xQklMdEVqUUkyQ2ErQDs0UXMoVUEKeiRzZVFadkt3UWNeKSl0
aUBLfndVQ2U1eFohaV4/UFNEQXd7ak8jZkxxQmoxXnIpUTIjI0ZpeHdrQk54ZnYxKSk9CnpOJUM2
S2h1NUZBMiYtTSpXQj5+QypPV2dwTWImRzghZHJQajxYQjk8OWAxbTZfRD9pLVVSSnk4OUxaMGhN
YUV9Jgp6JUUyK05kWXVDO0coWm80ZVc5T3omYnY9bCpGdjZmOXU2cjhEMXpCQyFaMzI8cjwkLVc1
fjJuR2pSa3p7ZSVKa0IKeklRYnk0SVBlZjQlJFE5PCgjVjduQkBpYE05KkUyUEwrO2ZCJnJNKnhX
VzFYXz97VTdtPU97e3lnQU5fS050IXBNCno/SjcjOG1wPTk0bCFPIV90aHI4UEtINkl+WUo/YHxm
IUhiM0UtU2EpSkNPZnpaWnAka0VpXzg/TGZlfTNtcCs7MQp6aDJzJVJAYXgleDxtemFWRXJoTiQk
JVc7VXBtOyQ+YHhVcExpYT0wK1dmcGp9RkRgfT9ffmhLTkdVI09gN2JifWkKekJKWlhEJmljYXU1
dD1tWk9AdmUhTHZ6aGc4SSRwSzFfYDRidyE5VXBwVit1T2Q2PUtnQVhZNFdOU3cpdl4yVUsrCnpa
U34+c2dEfGclRl5QPUpOTkNiNnFMWj0zRiM+Z0BXX2RKRXUxa058X19QbTlVKnxPTEpPM21IbzQx
dyt4cClxagp6IysoRGwzfjJsRUlqNEx6VTtXT2tVJEAoQmYyeFl2ZXU2c2RYVyZCdDBOTT1ySUZe
aFEheW9DRElfeWcqVm1eNzgKejlgXkp+LUZrc29KJktodCpQcUNyR2pnUm43Y3UkRFNvSzxtNyFA
TEpQamRlYjs8Vmd3PDA3YDJCQWchKkh5PGptCno7c3RRKW9Fa31oYH1IMFFtSHk+ZEpaRHZuKnNG
bEhMXkZjP1Vfcmc3NnJhclY9fj9EJUxfeXZzUSZTaCNtbWVjIwp6KWtRcE9WQilHTCN2cEN8bTw1
a1gtY0NCczdGMFUwdDdkR3RFIShhXm1rPytqe3t9bEgqRkc0clh7aGNAUkVZMjIKempxQlljJGkr
YUFfZkBNI15KTFgxOz1UR2NKWVNTZ3lIeVZnQ18qXzh7UGcxfEEjT0dxS0c9e3dsUnZ+SURDVWNJ
Cno8VGgjV3I+cSZReCZRUVFIVFh+eHV1Un5wWiV7a2U8Sm5LTXVOO0hGNlVGQUZ3c2Z8JCZMPnl0
PXhjJVZEZDNhPgp6SVdeP0ByZGxOWHtXfWMhMU5EYSNCPj9DKTtOJDI8WHNLVDxpTmpiNVl7JXZB
Rn4tOFAqYWlzY2V4Kkc0T1B9azgKelBOTFV2YnczbSlUYFAqTnFlPD1WbElqcUBpOHY9NW8hdjZC
WDFeXkxNcHxwRlJ5ZGozSCVvMTY8ZnJ+KnU/Wjs8CnpiRF4rRUB9ST1WYnlNY056UU8kJnpuQUhF
SFJWVHgrVUluWllGTTJAViNGK3sxKzRqVFJJdjhQQ3Faei08eXE+JQp6UGdgUz1wKCl9PyZeZl9m
U2RqaTVPKG5TTHlpI2VLbCRobGdnMyNqaCNGQ0xPcFFJMEM4MVMlQT4lb3BXJWNCQ08KekReNUx0
MG9oP3RAeFR7VEU+N3NeJUA4JV92QFN0PlZfYTt8IyEpRmFnVW4hOWRsUSRLI3RTI2FiZD1ZWl8p
Nk9FCnpLVjJIJT51cTNhNWJLOVBLMCg/JlY7Qm41NHJ0bGcmdjJ2WXtNVTFncExiV2dSKEJIUy08
aDxedEw1VUs3RERaVgp6S1M3KVowMVc7a0R2aWFkLW99WXIrZ21PVzBjWkBgV2tCbGdjPSlIU1E7
a2FaUENlSzEkQ1Y0XjE2R0NhMXtPLVIKellfJjhTamtSfGNRS007fDtje2JXUGVfaVFCbzJ8S3de
UlkqVXJBTEBjcWlBMTRVSncoYzNJe0NvKCVuQTRINnk2CnomVylqTDA9NCNPJH55NVAyUFRtQDFu
ZVU7S0RNYEVNX1c8a3FvXzFxPE0mWTRtJkJ5PjsxYFdXbzhrNDlOWWctRQp6P3dZaHpKUWFna0tA
bTk/SU4lVEB5cTJgQDJwKlJUZ1ZLVlNqdCM0cHtxXn5sMzxRUkNeIT1TbFNQVi1tKSlLSnUKekpO
T3pBQStyMnMrSUkpJmlPbH01ZTAwQ3dQPCh0KGhCRGcjb3NoViVDUWdPUTI/K3dlJiVlelhFekJQ
amhVTHxBCnokOWVJPFlMZnolOVpUP2pSRD9QezZjSXM5TE94SHRPbyNSQ3dXZTYqPnB+cUpZMm91
ZXVzYHZOMzs+TSVMcmNWKQp6YEdtSG8qcVd9ant6OUh0SE1nKWBnU2Nud3RMaSktRCpvRjF1Znox
ZFFqNEI8TFBtYEVGXjNQd0xKeWpQYj5MZTUKemxUKn4kX3AyUzlwcDNoZXBgRn1AQmAkMHF0OX12
KGpwKXBCN3wtJENWZVBQSzh0Xk8/c3pOTmo9UT9sNSFUI2prCnorPShZZHc3MD9mclB2RDdBN3hV
dHdwa0h2MlUmeiVNRkNhP1oxeHFhbE1AeDQ/eUB9PmBuUihpTz87dF9uMkdwXwp6UmI7V1hgU09r
U1ImWSo9THVUdz8mKjtRPF4pTEg3a1olSUl2Qk90fVBxalMqRG1GblpVeVZhWnVkb1NDbTZtLTMK
elIxPWR6anhaSVI1Pio2NXdlRjlBWH11QXFXOXw1fkpFP3I3PmhxU0BAbj8hclp7ezNNWCNCbjVy
YkU4ZT4tZ1V+CnpOTkh2I3ckKGRMbGV6SlpjJWFgISQleSl2bk5HJDNJVXEzcm5DP0dMMjNGelE8
N0tybGUoOH5KczA+byFjakZXMgp6PDReKHdKa2JJRnsrdDZqa3ojdjZEZWYoV2RrUWFWRkNAcjxR
U1NteiNXMmRlcUx+fShEMUkxWGpkSWduKnBpNioKeko4NT8mUHtjfm8+Unp9KUohalVmPyR0eXdm
ZVZzU2FXYUhfeiRZcT9KYkM2WSMjbiV7TSQjeSYmaSEtJHNgTH10Cnpgd0pDcC1uNGIrTCNtNi0+
YE91cGM4eUczeHFGNXFQQmx6IzZYV242THozfDZqPWB6KilxampTS31ybmApZTdHMwp6TXJKeXtY
Tnh8QExATWtLaTghazc/WiFRdjV7LUs/bkV7Mn5QRVQ9WFdBSEN+VDY4SExfd2dvIWtXWFdBTVVj
U2cKel5XRzZmPCpkMlg9VjtfenFeRWdjWHFWUn4/LURHPiRoJSR9YH5pWWJ4WXctRmdnaERPWHQq
MjVHT3ZtJkl4ZSheCnp0cX1CbyNVJTchSlRITXZsST4xeShpUFdwOU0kbHJKNilYekZKSyU+bG40
SX4mbVJsPytVUSt1K3VpMGdrezs3Mwp6I0hIcEshVHlSJHpzRjVHdDUjc0Y8R1ZnfmtEU1FzTEo2
U2JneiZ6WnJ0MHR+PGM2dypoYnZtNEhUTj8pI1FSN24Kek9AI153aGNPY05TV2tqR1ZrOyhzU1Io
Q3M2QlVBKTl8P2BmU3dyRzZ2KEpCWE1XQntvYHZSM34oP3ZWKmg7P0tFCnp3X2RVYjR8SDsrJFIl
Y2Q0VSRyYGVENUE1TSk0bSEjKGd0dC1QcXZzRDdEJWdsaUEwbUdXUyRWdWpaVXc8bXtmVAp6e3lQ
TTY8aHBhdEhlTnBjO2BfS3pKel9WKndQJW58QEc7JS17dHRTbDB0TGRjOU57IW5zR3NiJWNtdzQw
T242UnwKemQmISlqS2gmeyQmSHwre1Y7TW43KDMte1ZSUSlTaHM1QVk+cylSezYjXmdWekJMQEpo
e1RJejY5SGFMOEc0OV47Cnolaj1JdEBLK1ZqbTZXMVdoJHw3I3grfVcmN0cjP21mVlltfVF0NE5f
X0l7flJ7PEZsLS1naUtnVkZIPjNXWV50aQp6KG9+NHlKWFNhX2dDc25pUG17cTw2Q2IwZilhdiM4
OD0pS3hYN3w0ITc5PUJpRHsyMXMzQFIlYjRadz5JS0AjfUQKektSdm0qMkFRVXw0SzwyTG9Rakw0
NiZ1MSVSRH5IT2lmTjdqQlZTOFghQFh4RnIzU2FTTys5TTgkZmxNamNXU193CnpJPFolPkZmUHhm
dEYxKnV5NkI7PDFTTWIoWGJLcT9xKCRxfTlPbmhidFBtRjxqdDlTYmhHZitKUSpVV0hCcm5+Jgp6
WXc3WDJ0YlNoJHkkbllENVZaYGFGT00yeThpeXJNX1h3SDRPe348X2cxcV5RSW1Ha3p0T2otZ3Rl
MUJPSlM1KkgKemg3dzwlMihuSkBAQnwofHd4UHtBPSljaHYyPntzZzJoPncxN0VrbXxmJVhnKG1e
UnRwTGd5Pno/PlQka0k4dVY/CnpXWVl4KFgoRjl6cCU/QGU7TTU+e0k+eX45QXxIVnVFenYpWT5P
KW5LK3ojPk1wRXgxUm5OI3AkWG8tfilzekxtUgp6WnpIUFApJXxFcXllYHJ1TEohaCZ1OX5oYlY7
NiFNbSV6SChva1Zvdm8jSGBnI2djT2soeXR8Rms/NVBHUHxOWlcKenprITdFNHcxKkd6VktQYi0j
NFRESkN6RWFDMF9jTit8elU1eDFRUXpXdG8leEx4NUM1TVFiIURDSmFRKTVmalFuCnpCXkwjdGlQ
NyVnaTYrNEYkNCM/c0goIUdLdk99IXMkdTtINzB+eEB2eEh1Qm5oVDJITjIzPUpXbGpEbFE2Xlgm
QQp6RXxQPksjQiFpVTtmczRmJCNhTl5xUDxqeWk/aiNzQSFiclZVcXxveEJQTCNDSUlacD5yajdK
ejVIZURNcDlnO14KejtSMWt0ZTwrPTl1WUAxcnJgQEJuYVQtTWgtUlVAZSpBTkU7Nl9ESURCYXIk
KCR9Ujl9TVVCSz4zVFRqa0x8SDNCCnpMS2c7QWltcDYlTThPZWRHY1pIUEF9czI7I2kqK0JUYU1e
ODZKKjNDdWFPPVVtVytoYnRgSyZ8KlkjQkZFemUqUQp6SGt2dzd6ZWxJU29CTUo8IW1mSH1ePz9h
NWYkaUZALVU4a3otK3JRezg4cGQmQ3JrfUNfLWdwS0pZbykpbEJVNHUKekt9WHNIeU9QQkcqQ2BO
dUx7SihEdVhRZ0FMYjlwN3N2Pj5YOFVnO2lCKThLSDhvTT19eF9wYH1kN1ApYl9faElGCnowYi0w
PnUtWjRQSkt6cmFQPT1TZldGeUc2QTVDQFRXPGZrPGx8MDQ8dlRrWCZaT1F7UldpYnNCX2p1U1dt
MC1BOwp6dm5xJUM0SUlyVTlwJlM3ZDVheDNyOT9YYV4xdGpfSXstTjBDK1ZIRm10IztYI0hEJH5P
dkx9Pj9Uc1N+Ti1HNkkKel90QHN+YFo2TnBkS1NMaG9ed3o0Ny1JRGc7Uj5LPTVaY2FQMi1eOHdO
TDBIdVhhK3B6ViFycTI3TXpDRiZ3ZF9aCnpJTiFRJXdXWEplWll3RjtLWWBUKi19elBuSl9PTWc+
ejkwMj5wMEg/eWNUREgtPHtyOGJCUHNjdHI0QldqeXxDMgp6Jk8pek1EanFJLTA7ZGQmTWA4NFpR
IWhpST9WUF84K1p9dyRvSTglNGhnO247Sl91TTw3JTk8Rk0lMyU7SF9DViQKejI5SiNkYWpHY35a
KShockdUWCsjYWhFa1J4VD45bnNObFh7NjtkbDR3P1kwK185TUx8dGBjS35TRDBJfk9IejMmCnpk
X19pRHc/OE1DRWoqSjYmODcjUmx1Sys2UDhGR0lsVG9CaVBrYXxvYEFwcm5AdnpoZiQ8b0YhUn12
NEQ8aU97aAp6PUF4RkZINGNvbEIofiZVNUh4eTwxJXtuNnZKdThHXlpEanJQTj5CN0k7aG92WWcx
NTwqVTBSUTg5KFo0MD9NPmkKekc0RExRIy1AI3V5aUpnKmg9I1E7d0QhWD47OFB9KGR4Tnh0I2Zu
VnpmOUE1YzAodSFmNW5nfk5WJTNtNSllVjtOCnokMWBHem45KFdJSiUwcG5ZVCEhIVgya0pwRjhn
LVg/cDVKPkFveHB0aWRAaXMtdXd6eihzQ3ZabFhtT2BJI3dpOQp6MDAxdWVROHVuKjF2THYpQlJo
QGZeRF49PnhvJmhkIUBHP2BNYytYKVhVOTlTUipDdD5KUX1Qd041Vn1RV08zYFEKeio5PFpIdXMr
TmltLTw2MFNDIytBVHJgPEBFSW09cnVVQyg0SHpLczJCT1lpMDYpMjlgOWdZfWJMZCFlKSp8Ryhq
CnpOZSF7U1d7QkNWQ3JwQF9KMXM9LSlIUV9QIzhQekJSJnQjeUUjQnNKRmxJfXQqek13JXptUjhl
ViNhNUBmQDk1QQp6Ykc3dkUxdT4oTnpEIzMyUmxMbDtvMV5XN3hlQytadiQ9ZCo+QT5DZUJzalhp
bV5jNT5xXy1BJXpAfjxXPCNhJSUKelNyREN0S3NiYFg+P1QkRHNLdzNiWX4jfWc/b0l9cSVTKXU8
MzRPa09sS1NiYSRnKXh0UyZrTS1YRTtwam9jcV9uCnomOHB5NVRpTysjPXF1cWtKZllobjQzSlZf
KHBTN3dweGdCQzxCMHkhK3pGXks1eG8+YV4lQVc7MXRvKjd2QGMzeQp6SV4rPjghYytGYXNGanp1
ODBrXz5ESm17dlhKMnJRclpgWH1BJmozS0VMZW4zX0t1clU2PWFEZko7cV5RaD52d2YKenJwMGYl
M1NnKXk5b3swRUgpcmp5O1ZEQmFTbT1lPUIkNGpsOEdCYFkqdEpBNkVQdUFPRTEyPVJ6TiU4X0Yw
X1ZrCnpgYmpCfjApWDNwYHNqPndZbnZyUSkmbGRSXkZ+NklaM2xFMkxgMyN9c15ETWB8NXV7ZT03
USlxRzxKVCVpTUFfbgp6RFpAWnY/RH5FPWRneTNEJDBEZExiKTF1dm5waXNfYUNydlNQU0hZQ3M7
TE4zKzlqQE4/e3kyel50WUo9UHsqZEkKenckenVLZXE7ZERXYWllJCklbnwjJiFmRFM2WF99ayRs
d3M3IzNsIyZMVVpIe0cpMGtXeVI2YUcoe1FGdjNWUjVFCnp2WVUoPTdBUjtnIylIOyE7dG5VMXB7
RDlgLTFzYkFuKzIzbzJwbF51ME1qZHUjPiYyRXhxezdpMjk0dzI0Y0pgUgp6Nm4lfCFpKERqIUpO
cUo+TVE3eXxObm56c3k1YnsjJiF4VFZLVkFIeEBtOG0qJDY+PlVKODhfI2xlQUtYUmVNX2gKelok
WE1ZclhmejxXPkxGaipOTTttWEhWZEpKdWU/Xz8mITgqZHg0PCo5PjxVVyNXV1QwYWNIXmVRU0Mo
bSsqQj9MCnpsRj9HVXNYc3x4b3JZZWVhYDUwYmwkS0EtUn11Kk1GdUtoMio1RF9UX3Yje0dZUENh
Yl8lQ0R1Z0xAcHhaYCF9dQp6JU1iWSUrfnhvZzBiek9OMDgoU0l2TGNlZ3k0KzdjLVlVbFNWYHxT
UWdvNyNZTm4/fkctNWJQIyVORHRJWX1rOXAKelZCXnIwSFdKOGlwQFc0UUcrJnpzaWwweHlLKWUl
JChRalFma1c9VWhvcn1GPnQpSmZQQHVvfDhOREJBYnlKWXdeCno9Z0pscy1BTClnKE4xcSMwTVZ0
TFpHfXQ9IWRpbEFWVz1SNlc4Q0F2RkUxc2BKQ0QqRzUpaDUwcCsjKTszTCMzaQp6N3tRWShsTUhD
UVpGRX1AcTx8MlNHOCVmM2FRSkxDcFA2IzF6OGx5X2VZM3s1cStoWnBfITB8NHA7LVp9KlVSekAK
ekpXWH1mOF54Z187e3hzdklsNnVAe3J1emF7LT50MjIoeVc/UkI1KT1JWSRzPXRQKHFRQ05nYEw2
XkFwPHlqRTJlCnpFUXQqeGR2bFJla2B6KXFaSmJuayZBZ1Jodzc3Unc1ej03QFIjdUJfVTlgTkxQ
KH1raypMcUh6XmRfX31tP05JYQp6OWMocGwkJjxqfXlTMj85Mz9Kd2VPc2lTX3FicTFvX2J0PztK
ei1iRXlsWXp7JlMtZmA+MGhPQUg/NEs0JHMpYioKel54WVpyISlOTTFadU5DUj0lNSUjbnhiLXt2
Smlfb0Z7VCNRNGxgIzYkP15jWm1GKnw1P0cmZUFqNFlvZnhPci1DCnpDbUJRYlg5Q2lVKzZZO356
bk44eThhYmRXVW5fe2NWbCVRbShWbjM3YktVRDk1NGVGVEpaZHBQIVN4PTdpRyM8Swp6U094NCQ+
TGkkKEx1KCk1JUFTO05oMUAjRjtqeFUyQGUwRy00NSNUUzBgQnQtKGJ5KyY0a0pHQ004UTlsN3kh
VkoKektWczdQP1kjVTU9ZlMmQFY4c2o7MW9rYTBKeU9HUyV3eDlxU1chJXE0aWA1MipZNTZrUXg9
bn1ndk9EbkdVKCpwCnp0YHxFbihxWiRuWlBQb1VfKVFnS0NVYmA9ditQZjQtZXpgZ0BZNUNLZm1J
U1I1ai0wUUhWdXB+ZUB4VDJiK0hZQwp6ITRubTQ0SXlRS3d7c3p0cl4yKjRvc0N3aV9NQ1lUNWN0
Y1dLMFFDMDNtYmRYKFRKem03T0AweV90QUFEe21QKUsKektMbVVWME5EP2RBPnBCQ0M2Nklve3Eq
U3FIcERsa15rQjI1Z2ppcDk5UjRDYi1mPDw1c3Q8elRrK1IyfHU/djhZCnotbyhaSTE8R0pQbzVx
KyRNbEchJUY4KkhRZ1klalVfP0pKfDgtSFVobnM+YTBFRFgtVyVaZVowVVV3YihMZ24jbQp6NjIm
c0dRNE1RcEFyRl5wc2BUc01NQHxgdiFmfCp9UERXOW0lLSpEc1NgSk4yVDxZV3hGPV93Xl5wQ0Q/
RGgpQSEKej9rKVpMVmA8STt1ajd0fWlYekFiNkcrJiFfcl5ycE1ST1RQUUh7S0hHfHIweTYhfXc2
JmJhXjk5O1FuJiRvNHEzCno0Z2p0dWA3XjxeSlQoaEdVd3dJYD9qOFMkUWRNU0J7eGFtZE0md19s
U2NFUlhlRUIlKV5mJUJMVUJCYX14NTk3Ygp6RTltTENYOGJhJG5PeFomVy1ASWpgKnRLRnBPQU4/
O21aQTx5cmlBdGt6YGZLSGJEKSp7c20yeUJGQmhDe2Z4KDgKejVlRjEzQk1iKWI5THcoWXQwQDRk
SykkYHFGZFkhZFFqKUNWYFJFMENqVnlsP2JfYz1kTSFpPWpCUU5XO0RqV15SCnpxc1EySyVGQ3Z5
MkB3Z0BgTlY+KTV2THY9WH1oTWBjfH5QR1hnM1gkekx3Qj42NTlwOGViMXp8JW9pVHNtNi18cwp6
KXQ+U1Q0PTNNVTRtdzM/dzZTJFZaPFp6ezgmQXc3R2h5UnIkbiptWEA0dEU2S2VjS08ofj1Bfl80
fEhGKEx8JFUKejtjekhzYTkxWDIkKmkranBWayNkWFZDTjcjbnwzTypzM15odTJKZyh7dkFLcFlw
bE5gdyVsdmRTNXd2TDx+YnFRCnpBWTg8V3crRzQrKlRGTDNJOXVAWnYoVVJYWjE8RFdXckxQKTBr
fFQ5Kkg7UWd7VyVjSGE+dGxrWkttfmxANiRQVAp6Q24rITxkOylkYy04JDk+JERGJFR1RV9vLUU9
P1ZmTzkocVo4OEdJVEIqa0Qle3xXR19yVzw2fis7YEpJJEJvTWMKelU/O2xoRipiKndfWDsxVUJp
ITxjdWckTUI5ZnBlbDQ/JE9MKmA+TUFCI2Ved19gM243NE9qTTU4UzVaOChlUThhCnpSZHp7WWhR
ajFYK3tNfmxmIzMkWF9fPjtJZmswe2NaY1NHNEspSTJgRlh8Wm5pRnR4PmpxSHAlYXRkM0BxSlBa
Xgp6JjBMa1p0PFBtRlVhJk87UHMlXn1DUG59Vih+bUQmSTllcUAoJWRaZTRLPmk4QXgzPk1EeG5z
RndEMWc5SzZQTnUKemRAKXkqbmEkajRWP1ZjUWx2aWt1fEZLYzdhcThKc05veT5nS1pIJG1SPz9s
N0N3V3NkdT5NQyp7amUpa0A3Qz9hCnpsI1g3aEhYfWJ6NDchRGlZKmxnP3VITG9XN1Z1eWhLd09i
ZVE8Z1VVVGVSdH1TVzB5K2kme2E4d2dhXiFsWWV0Qwp6aTtNJkFnWGpkaUlGMjRLKClNcztkOHx0
Zl5IN0lFelMjQWBTKVcoe199PkFUaE5uKCRXdU1JblpQQTdAWDx9XmkKej5mRDhsbWEhciFJXy1k
ZjthVzJQUUJAI30hMXk/dEVxVHszISpwJnpMekReYUI7Wl5HdzBnZlpmbDlGR1VBLWdECnpiP3lg
SSRyWGAyWDZmQXxwfW5RRTdxblNTYWdASVRAbjBBZV5uRiVoVih2V3ArX0J0KGJ0Z204JWpqWEJV
QmozZAp6JHZ4MDhgekxPe09AOCNuM0lHeE5MMXZTJXtHNiVQSEc2KHQxUnZ3cDVRQUIxPCM5SnBB
S0xYQHYjdFNlU0lxMF8Kend5PmhZPm9QSFcqMGBoPHZJNyQ0QD1gcUh6JkJhcHQ7bU1gdEhXYz9A
TTA7UEAqX2MxeUMjamomaiVrcUstUW1PCnphZH5rSV5ndlU2NDh0JWA/OTFGUSlUcXJ1VjNxOyVS
NUQhdUVgeHlfUmR4JVNgLXh9c0E1SjxkNlZuZDJtKTc2YQp6R0V8USVNIWVHek1iZF9WN3poZSg3
KVpSQ2lvKV9UMC1wbSoqR1pXbyFoN1hOMHptQGFyTlZ+PE56KW9JJHdeZEoKejFuJDw1WjhaU2N0
QjJvPmdQMCpgX0B3RXE2TDV4PlBIQiZ7Y0E7RTBGUCskS0MpZk45V00pdDRCOVBRZzEoSnc3Cnow
enpzJCNfTz03R35TdyhwaVEle25mX2NyeGl8SDZDNWd3NHFWXnh1Q292XnAtSTUjXjdxVShiSitB
WnNRbTgzJAp6bXx1ZHo5PSRGPF5FQGc1aH5eSkE0Y2o/UCUpWCRsPlV6REpQeHImWjRwYHtTMk5Z
Z0xuQTZCU0o1RDw+MzYmTGMKemBlSWt+by1fNjhPQT1haTdJUWtDNCY9ZVFHakBBZzQhZT9NMlpV
Q0VANmB9JnByPktrQH1gJGFQMl9DdkMxe3NtCnpCPzY1ajcmcypqVSt5VUN6UXNucWU5TF8xNHFu
dVlzfSNWWEx2RmMqUS1AX2Urd0lmdXBacm85KSNUYmlsdUBkcwp6dzUyXjlKNTQzb3ZfT0N4Z3po
O1VtITtRTjNDWWI0e0ohJmRGeGpeVXdhcihfMiM4cTZGWGdMSyY8bmNyJHNFIXAKenBrR3xIaCR5
VzV5WX58T1lDe15rQ2lYYEdybU43aj8pcz9waUVVOzlUTUNJcDNpe2Y8enxOWis9VllLSUB3OGRs
CnpUTE0tazFkS0k3KDdKWjB5PXtiVTdqMUE+cmleMjc4YXFaZWs9NGglZHpWTVRNPzI1cSM4cz9C
NDZId2tSZGZJbAp6K3lCTjlJT1NXJTJXYj9iKDxlMzwoKD5jJlc8Y1k+aztRU34hPSo2U2VOX2oz
cEheKTFxRDtkZVFSeX01Q1hFO3cKelUhe15eXkUqZHpCJlZJWFc/aUtkJDx1UH0hVlJ9VHd+cHVR
USF8JV88VUxSNl9vP3BUN1YyfTdaRComJntzQzM7CnpeYnNSM3RNSiNJaCRvJX1QdV5fQ2lsdzh3
ezlfK3JjNE1seFBGR3AreFhfaEtZezMtTGpHPXJEVWpScnMjOXAkUQp6Tndmc0taeGdOOyl5WXkx
NVVoRCZBXkRiYFpYUX43cGMjNG1gezBoN1Z1en5WQ3N7c3l3a2xOcWk5dXNpV1IrWFAKellpLXpG
OVpTOUVIJXdmV3ZJXk10KVI2KURTY2E8LUU9cm8tVUNwXjtLcmIqRHBfZ09vKF40U2pAOWplZWUp
VEZLCnpeR0I/dGBKbz5IeG1JKmkmQVJyUDg8JnwpQHA2RnJNPj9fNjZQT1FfMjQmKXo9cFVEKTEl
THA0dn1OR2lBZj5SMAp6QUtnc3VxclA/ZGtJa1JSeHI8SnExanhjPysyYS1hXjx2cjlBP1p3Yno8
O3QxcSVTeHRDeUBofWF0I1U4MTZUN2sKeldua25PKT4/dlpRR0laQ3JKZWo1QTdSYl5lWFUpQHAz
YUVZNmJPfih6VlZwfFJyaXVZVH5EZHdLbXRCc08kMXpNCnpReHkwMVdhPlI7VTNnbSZrJXQ8KnEt
NDQkSyVsbXZCRkhyUmVLUyk0ZE8xfk1nZWIhWCYkKE84UlQ0VURwSGE9IQp6Qmw3WE1QNW9yaUh+
XkVUQn5xamUmfkI9a2YmeUUpUElGdXY9dnhoankoY1A2X0pFRExSMXRnPTx0OXUjTjkkR2sKejdD
I15hYkRqQmlSUGB6ezRubXpGKEU9bUxHclZWcU1xQ0kyQ0V+Y05SZWJzU0pGeil0TD5hNz97VDNa
Y3ZAdXxRCnpyRm5ffU5KYXlfVCtOcT0mQ3A7bHlubyl4TEE5ZTlaVCNRfCpCU3NNQ0UlbFhvUlIw
dnZufXB4aHh3N2NfS1lUNAp6MG1YdlloRW88dVFIMnk9N3kmQSVvVXIwNk5SI1JCWSlgdkJ4I2o3
QjE9WEFxKXxgdFlaMVhEV2taPStLSzZiMFoKekpNMk56M0h8dmpCKGp5cz0jJUxtRiRNU1o2T0JO
amtsOFpwc00yJWchcWk2eVFAKV5jJkR2UlpkQ2xOaG5lQ2wyCnpVcV9ZMig5VlhUVGdQZ3gmfEp2
SWJ8YiF3TzBIa094YnZWWD4xNSMqSUolSkU2I01tc0NncD1lQzZkMlQtUGtTMQp6N1p2PTQpUj9j
PiNVYDZ+Sy1wdVhhPm5POEgrbHRPSXxXbmNuSX0ybGd9ZXtuSjBzfmpDX3JxeVJ6PCFEI2l1XkAK
ejJEcHRCcEIqOSU1KChNdD9Qdmxwd2RQajIzTThAJj1JdGtRbGllWmVaIXZwO2t7QlooYzJMWH14
ZEQxRTw7SmlKCnoxMWtZMzUlRUpaRDsobW9FRHthQ0NBbiQrNWJxNjFRIUstQkw8RH1DWEVMJl4j
ZlZMYXZzMXNLYjBZT1dBYThxUAp6JGI1MU56eTdrSGo5NTJ7YipxaUZuKiFgIWg7TTk8aW80YDcj
ISN5YVRPQERjKWA1YDQmbzxZP0Qzb2AyTk5LQHoKel8rSylyOGVTMGJhSGJJcm9hY1ZGTXd3TTsy
Mms0cD4mNXg+VX19QXpHMD8lfGJoQjV+SXY5cG17RiNURDMhcXFqCnpWNnB5IWZ3SjtHbSRGS0sq
Pm05QTVCNTtfI2tJXkoqQll3PyQlVko2Jm9vUWBUX2w3TDBJM04wPSpvQDJ3YVN6bQp6TFhgZTlM
a0NNRUsteWRUa14pSUJkYHd3UkFiZVJOeXViX1I5OVkzbXQtOzEjTDZaWUthWmZ9enQxMCVrRVQ4
ZjAKem1lbGB9Vmtqc2J4ZyVScSpZNkwqI34zZXNQYDx+SkkhcEtKZiEhMlB6dUg/VnMxWlJuI089
V187clREYlUtbHBaCno/TjU1JnFJZmpjaWs9WSFJS2J7fWpaVDd9cmVRVXNIYStLT19rNT0yTV5z
ZWRjNj5CTWwqPEVoJHdRe08wdC1tewp6b0NgOTZqe2ZvITNxZVc2QHZPKVRhKU4oVz98YlVCUXIp
QX11VHR7NXVzMSlLWDRENUkzPUM9ZzYpNHEwbilvM1cKemxBREU5OEk8UTNMVEhEMFAtNnNtX2g/
flNraWN0KUIrUXopXk1sQjUmUihuIz9nQk85c0B0eDRFVHArJGNWRD9hCnpUQk0+dm00MDg5WCRs
ZV9ma3BoY1hhdiQ3QFhedVJ2OH5YZWshdkUmX3c0dEg9eGZ8QyFSUXlaaiQldWJBZyZgeAp6TCRp
QUplVTQla3soRFNOYldPMkVDWikpdyZhJGthLUxSIyY8bSt0XnshZmc7bm5vYEBtaDRkMUNsKHJJ
QTg4Z3kKeiEhZXxfQTRjIUQ9LX53MXtUSDBHNTNWd3tTV0glJWdyX211ayErNF9rWlloKURCVEsq
UiNDUzNpaDJNKXEzd0hZCnp8RFpVQW00JStmJGE9Njl8OFNCfWRWYGtDLSt3QTA+UjQkX180JV9h
bDVtI2Fxc3EmbVo5OWoxM202QjJtPnBpUwp6Snc/Sz4jTlk+TjA0Q1hPUE5wJm5oNHFxIXpLRSZL
XmB8MFFSUUlhOGBAdyYyK0g1OStlNFg9M0IoeCNaV0E0TX0KejZ5ZVFNI0ZTQ1JwT3FIMm9Wbyt+
JSlJXntZfjdMc090c09KVkhCUElObEA3K093KnxkX3hTWF8zK0ZEaGRPd18pCnowVSZjZm9Fa3VK
Q3duODdTdEQ8Sihha3U2LVBUclQlJGR3PSt7QjFOMUo9QW9zM1U0X2xwfSh3Sj5xWjtYaClrMwp6
Q24lXlRrZTJyZlJJP3l+MGYmP2dLQ3ImYStrYSpfZEMwfDExNnQzTkFEJj52dCZrV1BmWTR+RUBX
TksmISVKa1gKem5kIS1CYk8+WDdBMCk0PlFmcl9RcDxsdmNQPlBkb1paMzNzMmp3Kj8qK21KP2Z5
bHF6cmFLcE4/K2A5ckV9Q0c9CnpJdm8+RXZXcFB3e2pvWHElbyN9WkRVR3tQYkkyZTxxNmF+NmMl
RGJzMStFTHNrbUx5YFQrcjZxeFF5bnwwUV5hawp6bFlOKV8lZXZGO0FyfXA2cCoka2tndmRAQ3Fu
RklFP0ozbW4/O0JtSCUtRz1QNUkzMS1vWFRDbGdKbURLTGdJRHgKelpvdDNwYX5mTEQkSXs5eXNK
ZzUtNygzUVdaTCFpXldCOXZrMFRaTzd3cl9Dbk56d0wtemtRdGlleFV2QXlGVURICnpsdy0landk
TEc2Y3U4aTZwMGkhcTc7RjcrRFdNXjBnUk1mXzErMmw/SyFnNjNOSypgJFlyRitZJGJ1KUYwJmdG
egp6ck93VEM1Xn5xc3ZkPypqazlOZGxvJCoweW88Slh8dUR+UUdEb315X0NNX1U3dFp8cWBANEV+
ODcoV1JTaDlPPiMKenR+dXxIU1lrNTVjb1UoRmE/RCNjNismWVh6ZHozZlo3KTBvbl9JKXchSTJx
MFVyUTs4YjZZalhFY01heiZrNGtECnpgKF5pSjxTaFkrWmR1Vmd5TThVeE13b0hZUzd+P0hva2N2
SGgwTkA+bjFUI2h5fm52dm1WWnp2QnFHYkQlMzxuOAp6N3N2S0BXOXUla1lQKHJBXiNfWHJHV1h9
KElmUDBGQG53RkJBU3BDPDs9MkJ2MUB3P3sodz9BeSpHQXBRQTdUMVcKemxuJCspUTdgYDVESldf
bSE8QiRgVFBOa0FfbGMyNWcld3ZBb0tzMyZZZEtsJXBNSyNDZXI7S0pJeWBfKDhrJWxUCnpvZyF7
a2lvcXFLRV9LNXdvNiZmWG5OMW92YWtMbjRPb0c/bFpWVUcmY1RkYEstfUw8ZmYpam59TEtuWDMl
JHchYAp6ZCRwQ3UrKnVlanhjY1FZYzBPdVdAaT49ZmR5VCFoK3MrfTA4aV82d2x5TnNHe0ZLVkMx
ZD1PSkVjIUUtPF5oMWIKentgOFFRT0coRFY4RDJSYDhUPE1LY3Z+MTBjLVV1dFZtKHVJUEFGQFRs
PGZNYlZnZDJkUmY3RFU/UE1iUCRGQUBsCnpFdSo7JWM0bCs/YFJUcU1GcSZTb2N0ZSU5aVNaYTl4
a2J6bT9YcmtuVVg8NWcwRytSUi13Vjt+PH1FIVU8Qy0wQQp6WkV4MER1MD9seUQ2Y3BfPzV5M0t2
R0VCJTRQaWR4VC17Vz9VKWlTRUI8QEhhKjVIenVBTldDY3tOSyVWMFp8Q1oKensoLWcqVmlDYnIr
Xl9AcnB4R0ZxS0EpTFNYR2ZjWkxwPXk5ZGs5KzlLUGgkVGM/NFdHISluN2t7PUY1UnM/IVNACnop
dVB8KGNQJiV2ZUpkYkw3YWg/SG58eGJOR2FHQm1DYWlHb2BLPlJrOUVoPmMoeGh4MktzbXBPd0sr
e1czYH56ZAp6ZVRDNypjaDNXZnB4fWk0KypNKlBXX1lRQk4+TFV2ZkJpbFA7ayFXOEhxQjZVNHY7
PXJLKF5eOVJrOGxFbjBxPy0KenArXnFAaDV3PGF6TH1TJm55OGFGT1ZOWjthV3ZNZ3VIbj5FT0J8
TEViQ3d3VGRzYWolRVU7fmsjakVULXpuMUJzCno0R1I7ZWhfYlNPd2tAR2BmI1pCLTxicFpQUDFS
PVFVP3BoJWZARkNJVj83RCZ6IX4lPGAwQHhGMDE4KVIlaT07cgp6bkdDYiotQHQqZFNwfG04O2k4
Q0tvZVRIdStybU1paykkR0YhSkNjciVKbjM8KkMmKHZvQSVuVXJsfnJ3aXJ7KF4KekhQUVROcU5K
YEpjU0o9ZiNxbjFtVTR6TFVnRyU7bkhpMjFvVVVUU2BUVGhuMGpjOWE/WTIpV1BkTHJVOW9JKj9r
CnooKm40bjxtS2d7RGN7I1pZTWB1I3wyZzhwKTM5emNVd1hxdGdwTyZhS0ohcnFTUU5zRGFZNG1H
WU1ybzhwUiN+PAp6JT5HfChSKT8qRCl2YkR8Wis3WiZKYkU7TDlHIStEY05qaFA7bHhPT3ItJXRe
d2xFT19zaCNRe1V7bkI1cTkwKCEKejBna19hMU9LVkBkMW93Qz5obU1HUmk8R0BNJjViSiVWRGEx
aVcpeWJpdTJyYThTSkVgaSRwQTtFaU5kd0FNaSVNCnpkUFFwJiM8RktZe1FIYmdHRDRsNlEpJmRf
aFRSWWJ7T1ppMDd4eSYmcUhWdTxSUVcqJlpJeUZqbE5lOExKZkdwRAp6KFMoQ3tea3hRXktefkE3
I2pJZj4tX0d2WFhld15salpNaS1YQ2FFfFVxVDt7UXg3S0NaN2YjYlhjbkZqVUYlMjcKekgxbk0x
JUYlKDg+Nl92NlkxRlByNDNBSHgra3thPiY1ITMtMUR5KFhiPmAybXtZRHVWYklJMGdOS0hQKHVU
aHE5CnpZPFVBRih2Ni14SHNFa2l6WUhmX2ljUiNCdXp3Z2FXbGxqME8zXz1We0ZofnVscG44bXRG
Q24hOD5fP0A/ezluawp6I1hZJkNLezZOfHtHZm1EKndXKnRpbF5JZy1NMyN1VSFtWk5fd2Q3dDZh
ZFFoIV4qcnElTXUrYDQxYjklaTZlKyoKemRrS0teYWd8QyVfd1leLTFWdi1qQzVPTW9tcG8zO2ZB
OD9eMkd4VC0+dCU+S1ZIemdJeSRidUdIQFVsKnc3cl5kCnpDZjIqOy18fnFJSTdPekZ0NTJFOFZr
WEhAOHRwKkdZelUpVj9MRjZmO3dnUGReNnVSTillX3R0enclOWNgaWkhbgp6dEBMfGlnN190ZyhV
dXx4Mmx4JUtRWXtQQztUJW4zfDBjWUM4Xlc4TCRvcCNHNXo9dDU4R2ptTHtKRWd0bGRkUD4KejQj
aTttQEFlenRDRU08Q2NkJW1wPz8pWVNSfG8kfUxiazMqQyQoPF5UXkBsc0UyUiF2Nnw2RTtgMncx
NndmRTZmCnoyYGo4TFMzNiVCKV49TGEtRVdKT3hud1dwenlTI3thIXo2Zm5EYE5ATEY0Y2VCPFBz
fWxCbnlzd1Ihb0A7JlBzcwp6eyomV20+TXkkTmg1P3IhT2F1VD5zaGA+NXY4cUhJSDRmNmZ3KWBl
TE5aNUpRNU9PZUFXXndRM3t1JiVVRGpWdlcKeikkbTJsakd9NUN6QiVgWj5+JExrTXhFR1NSfVFk
bjJjbXlOUlZ0dGgtbklRXmY3Zk9xai1Ia1hWcEswQS1fM0VICno8ZUdzYkV5cUhkKzhjaklQOVp1
anMrbmcrKURLNXhSNz48bDdTOGI1UEUpdGktKDg5VHhlUj5UTW1NcXN4XztXawp6Kn57UDY2VmN3
KU4hMTxBPDtaPjxKeTZAflNOXi1kaWdCNmFMZm1BIW1tdTtkRkYhe0JyfXVhV0FwcHRfKV5EKXAK
ekNDK19aKTF5JUxIVE5nYF5wZzVhPHNFI2NZZHdaRDB1SDt+SHNNZU9xTSFZcClLZlM7bGN2d3BC
Sjg+eVczY2lFCnpTI0haaSUxQGVxdHI0NENLfElHNlpSelI7ZCs2OExyQF45Zz16eiooO01uPURG
RGIlKXB2OFppczZsbXFncnQzMwp6ezhBWnI7bVI0WDRkK1k8QUluJiVobWJiWW5SVDhLbyRxeHdy
Q0cxWiZZT2ZycDkmNmV5Rk52Pj05WlVOJShuTCMKelNHWlh3WE1xPjdvYnFaQVd3dl9vI0I4aSQr
V0FBaD0jYXprN20janlpSmtjUUV2bik9cG0jVmY1TDxSSCVmQ2lPCnpjfkxZbXdIJlElPWVeSmtP
WkUwdHded04xUHJgNzRAYD9sN1hKe15rI0ZraSFzRFo4MUxxMWVeO3ZKQUVSJXF0dAp6e14+SiMk
TWVTd2pkYjlHNXhwSkJRNmU5bm9oKj9VTjR0LXBfWDhoKEI2fn01TyhRNTRvNzJBNXJAQXNnQTkz
OygKejtLTS1SOGJYMTZXTDYkKTc8YD4jPXNUMSY5dHArX3tSRHBJT1hBZ2xNVDRZNmRIX3lzR25W
O34hdXdrcTRiby1wCnpOfUBCYjMwZzZYPj48a2ZNP0Z7b1B7JHVPbihAeHVEQG5HaUM5Yzx6bF5A
V245I2FIdnlUYTE4TkhoOEFNZmEmeAp6Ul5aMChHZUMzaFkoT0UhXlJGMlhYJmt+cFk8P0l8aW5u
aTFnS2c8YDshSmdgIUpSWXhyT3Qoe3EtSHRpY2ooZUwKenpLSypWUCl3RjQjQipTeXFDcElDYz5Y
ODlDfjNBKT9JYTApZGwyOUIwJU9vTyRjbUFIP1YhNmhsMWdNfFBecHplCnpWNE0xT3h1fXs/aSko
O2tTXiVFPzcxIUF4dW9pR1plP0tDb1k0X3YySTJPPXxoIXZiSjgqNnBXVXJZYSlFJGk0cgp6NlUl
XiYrMjEzZ3Y+OXpXWT81NjYjVWZ6R1RrcT91dVh+NF9eeEc7a2Q7X295c3BLV3xSb0hnJFdyOzM3
aldXQVEKenZiMDByYWZuO3xWJGkjMUMqRFlxVERPKks5KjJJcUdleyNMMkd4dyFhe2U8ZiNzYDNn
e0djKFo4d1NUTi0/aldhCnpDPSkhaUgyellOXj5jPUU1PyFvPWJeeyM7TUdpNn4qPTcoTVJaTDxl
M0Y9O3U3V1FZZj5waCRnNSpaY0BxNGBhVQp6Qmc8YnZtJVBDampjUT1RX2dZZjw0YnVxRWF+ZDNa
QigjemtkNWl1RUFPdl5GLUNscT5SJUt+ZyQ/UE8jNns9JWMKem07WD5gNWBOVDIpNDYmQV5MbVom
UVBeZ3IycypDOGshdDNnKWxeY1otQG9xTzNRKTgrNTNKe2BwRUdSSDhgN1NMCnpFNFpxfE1UPVFI
MjNjLThsUkM1Yk9UMVI/Y2Y4bDhuJVpHYkpAOW5FTlcxLUAxZWcqJUEkJUhtP2JnbTN5TnxVcAp6
ZyhVVVgldzJ2RkVyantIbXF1R1J7MTwqemY/bV5vOThWc2FhfDZIKzMqcFo3aU0rbD1BZXJedGw4
UHtmZmZ8XjMKeitad2kwcWpIeVdfV3NHP3tRJTFOMGk7UjtVSyQ/cilnfUZHe0ROSU1gRSRJaD5g
JUM2aiM8VmkhZU5Zb3hFY3pHCnpIaiV1TjdAYyRnPng4WSg3YEMpSExwNW5kVGdiP0Q3WWZANUhs
MkhrYzVafUhHVFo8dEglPklrbTxSNi01TFMjMgp6MlhVNWEwMHl+ZytOfUYtQD5mJXNeNWU3Yk8/
KnorakBLe2lecDQpSXFsUVpAbSs7M2c0QGhAQmdII35xdU5SJTEKemNVdnxtWmFzZWN7SEhwczF+
U2h3PSppPVdETlp3NVVqelMtdDxEbWZxYH53IVQxTHpoWSU5VHJJPj9oV3g0PUtsCnp5b01vUXc2
X1UhUCQzMl5ZbHtfdiRhNF40ZVItI1FeKlM8Z1omU2ZuLXs+V1pIYWR3bEsxMytxKlJsUzUqWG1Z
VAp6UVkxe3UhS1JMOUd1NzctdWlEWXIrODBKM0Y3RFAtN2BXcVFMNkMwNiE0MytFTUwmUjAwSDhI
THA7PTYmdyhse1oKekkqdzgrQ2VCaGhfLWVzN1VpPC05NW9taSt5Xj4xbjA3RkI+OF5UcmBUOSh5
aWd7c3BqI2RWV21eOTBgblpNYkopCnpnMUVRR3dMM2A0ZzJAKFFvT29LeT9AQUleclVkVjEmKlVM
UylXfT1TYz4penxkdXA0JCEkKWNHMD9jVUZZY21CRwp6NitPSXVWZFRJSlV1UiR3TTI+SjtyMDJO
P3Epdkd9IzBzfTFPa1MyJG89JiNxQEIpbTQ1c3NqMCQ8UClhUmAkQmEKelotY0tOSTQmWHtZfTte
ZnApQiRNQCR1Mn0/QX5CV2xiaExaJjlgJExzNjUlT19tVGR9enBoaChAREAze0RKN3ZVCnpxTEVH
Kyt2Q345QGFiVE14Z2dZZHRfYEZROE5RTVFYfDVqQ19AeTRsYklhPlElYDFCNFJ3KHtmcyk5bXck
UH1YZwp6e2x+M3YwaWdYcVAleHxfcmxNfnpQLU9WK2ZVfkNUcVIyfFJENGBrUz1sZlB0emY8NWNp
U0RfWiZnK01Ncn04fGkKek80dDVkYHp3SCQkTm1Rdnl3JUBZVEJYLU9LWWg5TURHMzQoTWRZTThM
dVY7X0JnQEdVZUNqKiVHVSlJd1M2YD8+CnopU0dXVzBoWktyY2k3SShuaCQpS3hJISpCeXFZUGJe
a1pEYktpNyNAQDloTSljREdGTF5iVExKcl4tZzhSYC15Ngp6MUExPWAocnkjcGJpVTIkUDd3Vnxo
Nlk+JV89K2RFbEc9SXppYj97ek9mY1lHTWVmK1U9NXQ/e0g8SGdXR0g7KUkKeipiKUo8byUyZFE3
bSlTI3VROHBtYE1DJnA7e2BEeGIxZng/O2ZYWUpzITlwVXQ3UX0jeW5afmVRQ01wQFdwKWZoCno7
Snw+O0tsMmdsRVJNeGwrTDt7KE5TKlhvX09HX25LJU81dWdhRldgQTNFZUQxcTR1YGUhJCVINChI
O1ZRPVpRRgp6JWJPUiFFRFZ8VzNVM2MrJHYzU3ViZDBfYzJlND9wdVpUWnVjd0diOGlsTTxwX3Yh
b15SNClqM1RJZFNFbXlRfDQKenhPVyRMZTNwbyoyQGlgZWZ2U2d2T19ibDxqOWZvJWk3Zn57PDFe
T3xabnR6cmdNISomPTl3WGdKK3t6REcoczVGCnpMSXpQd3lKWDleTSo5Pm02YkZaY0heTlYxeThX
dntGRnw9YTcyUGVSUTY8I3NFTFgxWm9ifXM+eUJBKXhBQmMzYgp6YSF+YWloPCl2YDshYGRSRSZv
UUBVTUwtVzJJbE1mQ3EyWGBwMnxyZEkpX3Y/NH53RndAc3laX3NuN3FOWVN8VVcKejs7Zmh6SnRW
N0MrJCRgUGwhTSFDSFMqZj9rNCUhdHZQSSZ1PUxZPCYyMVViPl4qVDE5PXpsWSEjKDJ1b1ljQnY8
CmZeV1preHsmIWVBcCk7LSMwTXJgIWIxM3thNVAwVlgwUSFGYmowa2I+CgpsaXRlcmFsIDAKSGNt
Vj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVk
aWEvdm9yYmlzLndlYm0gYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvdm9y
YmlzLndlYm0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDYwYTdlMjE4NTZjZTQ5ZDdhMzNhMzQzYjc4OWU1ZDhiYzU5
ZDc5OQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTgxNjEKemNtZUlhY3tvK3l7fENERUlVTXNt
JnF0WU9BflQwNUx2cWFYUHpWdHNwJHoqTk4rYC11QSZ2fjgzQEt4Vih9O3tJCno1a2gxcldKPF96
PyQrbn5gK2RLXmBfSH00XlNrJC1gYHJFUHYjbnZUPjl5VyN5QCZQUWNudjJDXll5UDFBcEszYAp6
dz8/NFFVbmZ4TyRIcz93b2pJPzZqZXljbUFmVUxkVX5kUTxUKnFJcW5CYG4tR0pCcUVeKGRhaHhh
X1JlVj94MHsKekY7NDRCS097RDZfQjtqMlczXyhlWlNePm8rMk5sa3p0d1hqR3hxcVMjZWVEbjR1
N2xyZjgla2BzflZ9SEN2aTtyCnpJNVlVaCQ8dnE0cztKNFM5K2d2NlBfV2JjcEsqaWhpTVo2RHpy
OHI8eldKNVBmNGF2TUpWYnkoLVh5WGQkdDRPWgp6PjdDM2FmSjMjcGFpSWE4Un09TnpZfFNuOGpq
aUdjc0lSeTMzOD5tYyspTl5UUHskY2gwQG1ZIWBCOVhoMENYdVoKel8+NkRKS2BQNE5AeGRQZTtN
I3ZHWi1DSk08VDQ8TWY0aXFEcipgQ15kazFlcGw+Y09rPkwwVSgwMWcwPTVOQGdDCnojVVkmVyUp
SSh8b0BzdmxVY1deaXtnVylRezdOVUN4PG9fTGdvfXYhaUIxeFB7eGxuS1B+ZShnSUQzNE85PF59
MQp6c0o4dj5JQnsoeGwmRnJSYDV2Uyg+O0tvb1B+OFd+KXVSQE9wSEAoI2tERjIzOypVMn13YFdH
dT1DU2NpYFZIQX0KemtKWFd2TU8yTE5hVHhWXntgaStONT1wVkk2Jmc2PkRPNG08ViF0VkxlMms7
aFB0MS1wUkB2Zj5fdHAjTntIRn5PCnpKKV5XWmo5diRLe0JiPmAyTj9BUl9WX05uUXI+dGViIXdx
X3RnPEh1TkNTWlFLcUJkWjFUOGFmNEszJlpmRWoxTwp6LWhQMzxeQT47UzZNaX5zMV93JDYzX3kq
JVhPdldBYm5+MGhaNHJtdHFKUXQlPipYP0NIR2dsVnpyfkZKeisyRTgKelVTT3lDVGgwPnpZTkE/
RnYzKmpwUHRzaUNQM3Jpb2s1Sz55ZkM2Ym9gSXdjfmk0MjIyWW4hM0VeUH5UOUo3c3pDCnp7NElg
UCRVTllDd2hXVn5mYWJ5Y29kPXtGRmlWb2NZeHV1RmhQaDFgQUo5fiZQdmxNJDlUPkFzb35SNHQ4
cjRTSgp6JlBpJWlwVVZ5RD9WUWIzPl90S2thdmtXaWtAeDB1VWxTY0B7fFNqZGlSak9rSSFMP0Zg
YHRhNDx0LTh0dEI2UjsKenpFTypXQ0BYdyNXfTd9aUxQbWBkbU59KmVYKDB6eXtlQXArXlBOQUo/
STJwKCh3TFJne3t7KH16eF9VKiVsek4zCnp7QykyKSRqRXFjJXZXIW05K1JYVm5EZkNOWEYwPkde
aiZYclVWKC07RT81N0BgKzErRDM9TH0wJW5PeiM7e08xUwp6MHl0e24xYT9jS3w5WUhCNnUhekd7
NyYqQUcxZiQ/dG5AKk9Ra1Rycj8hT08+I203JD5IUiU7IUdhcisjY3hgRVEKelVnZVgkLSVzX3E/
Nl95UGooISFqbUxgKEw4SjR0dkB4dm42PnRsRjQoPH1+Wks5ZVo8RmdLVzFzYE1XP3U/SkhGCnpm
Y1lCI2RsckZ6LT5kdzZFVFJeeSRTd09wTiMlbztwLXJnUVAqJGl6ZVUjSTFnM0QmcTd2JGF3SiND
LW08P3VpNQp6ZX07fCUwRS1hJktMZTNgJU5eM0tKfTs4Tns5blVGQ0tMcCpwWkg1fSN4KXxRMTBw
PkdHVW5eYj00eyMpPzFtcWQKelpRZ1VaU2c0LTJJT19GNSNsYEJWaTtlQWh5UjdxMGIpbG5veWhi
O3BDalI0Z3E1MztTUnNifF5BQ3xtKk5iPmZ5CnorRCNFLW9LSkBveituem5XWVV6eCYxdHBVQkY0
OHhlUSRlNVdSPjJfeyhkaHtze0hST2ZjZkIrZ0RhXmRKZ0Y9Xgp6c1drbE5lQnkxTmRzKEdyKzB5
U3k3TW0mO3s7ekpqelhVRDx6KHRXMCE2R0x0TUdQJkd6K1pHPmBVNzxOVW56PGgKejJGcjh9REV+
OVlfaVdrLXBtckRrKik7dyYwUllmPFI8bjEjPVFtPiY5a2k2U3Y2M0NNRyNzP0RgTTxpJUp9OF45
CnpBOzhqckd6Zz9JVGdsNDQmOEE1ZklXdXRYNXomTCphPFRZe2soNzZCe1g0fTM/cGp5Z1laKF5J
U0lSXkBsSnZTfAp6aX4xJFNEbjQyM0MkSmFZXl5vR1FXVkEja0Y5OSVUTHo2LUx4RWRNY3spLUYl
WTAzPSFUMT9mLU8jaDBEbjR4OU4KeihhTEAzZjVyYmRle2NpSnhPRlkkeyNQWVBMbn5TPUQrVm44
aXAldCZtRVdWYUVSZnlmZXxgTyorcDAjfEdHT1Z+CnpgajU3ZGhQMi1RS1FYVFZiIVkkbzNqVioy
MDVpaHNDWHRgSkZndEl9QSZ8JWhme2EqMlhsXyZWcHBDTDkmRWlVNAp6Q199ZnNeZ2EtTTcwbXZQ
ZyRSPE5fV18jKGpGRjZmPC18aygmYnAwYzVQZ3txO1VYbCVoeGZuTjVie1EhdlR6YyEKejtheEco
NXdwWlkxfXI1c3wxUn5QQSFLTGZNbnAxZGcjIUJqP3ZxLVE3WDt2R3dKYnk/eEgpYWwzNG5jO1hj
N1NLCno0JXJnT00qcUxOeyUzPSVBUTEoRUIjO0slcFU2eGlFc0F2M2ZHbzs+RXd9X2lNdVdVOGFu
UVNKSip6VnBVfVdQKgp6MFNmPnlaPVQ0UXVeSFlqXjM0YGM1OzZYdVd6TyFLSnJ8TVpgKkwwRFZB
djBRdlk4RG5sK0Vzel8/QW00bkF2YjMKel4yKzFePn5TVHByJEVCaCN9cSZ4MV5BUUJJQXFVODxj
VE1obHg2PUBpe1gxXkdiPGI4K2EoY3NoX0t8RlR+Yn5uCnpXNDVrIXpAbl5lWSFkI0pUd2VZSVh+
PiklZER+XyVeeUAobE5RPm5ebipLS1chUD85dylDSFNWOyt0SndVUzNJTwp6Vjl0KXo9YHN7Ym43
alZLeDRpc09sTl9fekwzTj1uNHchPTttTV4/aCFyMzQteCE3ZXYyU3BafFlVdUdjTHI4dj4Kejdk
Vks/YlJub1NAKn4xKzNOYnhKRCFLWjdKUks5Ukt2KV9ETzhgTFBFQDhLTnJ5d1I9I0xXOXZCJVdQ
Z090ZzV3Cnp2Syg3dlgoYERPWiozd2FUOXsjWlBTUz9pUW5EPEFSJG9kcSgtTUdUMHZoPXg7Qyh0
dzBHMHtCM2Rhd2FfTmhaZgp6Pj5qPTk7dytYKWlnVVQ/Q1deQyY3LVRIVGdLK2I/cUt2O0hrRU97
JG4hMDUxVSU0bTQoZ2N4fFBNSnVHI2BvJXAKejdpU0QwQCh+KlYpXz43MT8za3JFdG9JamdPOTte
NF5mLVZVS2BLays/YCVuQW14dmt2R1hkcUR8QWw4SkdLfmsmCnptckQoQ0FhYTQzamczbzwld0he
akckfGF3aFFSVTxYaWFrZFA2dyFZQHpobHlHbEYyfEpRVjhuSWcyM2t5bUUxKgp6MjduYWBEbkxa
PipgODM3PGZXNVFfN3B3Zm1wSmFZRyg7ciNWJURiPmo/Yns5TXBuZ3RrVXVMaExQJFI0JCleSz4K
ej5KIWN6Y18xT1VgKX5CJDU2Z3F4ZUBGanNnPTcpbz81fjlPOX1pMEskM19pbz0/KyhHeWZsN3E/
fmNxVTFTOH41Cno7eDZWNnExVHJ6d3gmakE7RyhyLUApUHw7I1d8NnBrQjxJdExWRVFpZ2ZsOyNr
O3d+VClSJlplVzl3bGQ4RTxLNgp6QjNveWxZKko4byt0UT9CJl58QDZ0bXU8dGE+ZCYtRGFNa3xK
fn0yVmF2dF9LRTJ8d29fdmlfP2hvNit9R2o1TlIKekhgSCNQezwwK189TlI1bkE5aitGOWR6X2xj
KzM2OERZPntWSjZUYUBZczZBVUBzbCRFVlIyfCs1UFJkdVcwQ3RECnpIISluaUhMTCleNGE8eFcy
fF9hblJUTnBLczNUT3RzODN5QmppbWh6MzFfNG5QfHNpZSRJPTh6YHh7RUx7UEN8NAp6dngoJldn
QXhaU2w0Tm4qLSZ8JUJpUSojbWVgIW8qTUh2U25PTVBVdCRWQn5wUHFZWTthMVlYYDN5e2Uoa3hX
Mn0KejY9eHRybU1tczlwJUlOfHdVbUBCVztkWjBNbHo4IVlaSUQrY3ZnZnM1M29sbkZwKSVObXRQ
R0xqPUE7M2QyQmRPCno3dChNRXs8RXVpQX5NZnwzYDxFXyFgTVRgKyhxMWAkMm1ncWohQzcjXnAt
dGttYzdfbmsqcXw7Xz42UkdyQ0R9Owp6ZGlAeyNwKGlDVnZZRmlhWkBHKHhnR34hVTc/RTkzNTVS
QzUwQjghekJZLXBzekpAU2dMe1hnSjEyRVIkWUApI3sKentoKTk+NEtzQHNnZ1g8ZkY5KXBjb3Jf
JFlhZCNsT2BLZH5ARm9pSStvKHYtcXJyXiZGZGNfdFB7KnZLVHpvYitzCno3TzU4aTJDI3kzJj42
Nj55emY1az5Faj1DRiszOEVQZlNUZUhifl4rMGc7STJEdkMyT1AhOGVkO3BPOE81RVF9Kwp6QTM3
fDhZfiRlWGoqVyFAMTtzeFMpal56czs9cDJueUJgd3JGOVUoTjJNUEE+XyphRDJ1PClBVXNibDVf
aEwjNGAKenstK0I2LXYhUWlrZGkoQXQrTX1qUzwoTTJkbCU4U0p5Y1c/VyY3WiNmYzV1MV5OK2dp
LVNOUCVGd3d4cVFxUzdoCnp7Rks0OTM8VSpeZ0lpSGZMRSkmdi13T2J0VnxBZ1NXcGV+al9AMDAk
Z2ZqMX5HejMrOXVvMUJ2bTR6QShDNWQ8VQp6bGpfQmVmVkcoOSZpIz5eQHRpQUNiMm5jI0tKZEQp
KnQ/WTQqNkpEUGs7fnc7Tmo5d2hNaW0kKUBOe0JBK3JURXUKejtnb05HZmpUSmNBXjxlKGBFe3cr
Xnd7cVQ/JG8xd3BJX0JTZTBFNCZaQCN8V2EpOVk7dz1JNjVAKUs9I2NIZWd6CnpQc2d6TkpaSHBV
TXdhJUQ0ISpsO0MrKWlNdE5xSlZPXztBOGQ1XlBEUG5pSFBGdDFlSWQrODNFQFZFKDQpbmkoNQp6
NEtQREFgSmc1eVFIWGhEYy0oPyFlMS1HYz9YVTROTUYxI1ZJaTJlaGM4UHVeb1JSZEpkfE9TaUtj
TU8yPHJ2PlMKejspfFlFUUA2KUNmLUpTZ3R2a09TWmE/M3NwRlZlfkhGVlEoQ34jKWc+R0lGSl48
MUdqOGJUZXQpPlJ7T3lQOUdwCnplRWVjRUY4RGBLZmA7dTRGcjBiQXdDM3NFQGN+VnE7Rz8td3Ap
Vj1kV0o1bW5WQis+QitJZXctVWpWN25NVSFibAp6citIO1JYektTU19DJlVUJmQ8eEFEKndPfDh9
dEQ4d29OZHVOV3RYYHZxJmFNOGZGWF4yNT88QjRUMW1Kd3hjZXEKekcwRkJReDZDbm5ocERyQlcp
a3dULVhiRXZfPnwyS2ZVYE0tdkJ5TEo4XnN6bCUxJFZNYDImd3tsUFdpe3MwTl5eCnpgbXJ1PVp1
Q2hFMFBgKUJmWkZTe0orUChOTE1YT1NQbFcqMztCayQmVzczQXs5UlZ2Pm1NbktxJk9ASiVGWWQl
dgp6SnlTQXApXn16N0chKTwmN0o4cXVQWE5feSh5TTA5ZlJrezAmTV5LPl9fI2cyaTRqN30/elc2
PmNZYztpP0pLRH0KekVDPXdfSUgyfVAtYG5ZclFiYHYpY0dTYEBuVUQ0LSNFK2haYWtLI0Y8bDY7
a15gIWVqZUhgRislejBlZHNsJE80CnpOKShwS3ZMcHtPR2E+UyVOWHlPYno1MXNGJT0qclFHamkx
cCFQR2Y+U3JCJmF3fDYpSGtraWJwRWRBWnpfM2gwcQp6djc9PzArJCp+Uzc2cmRYPXEyUmF6fm5p
ZzMlfl94Vjg1QkNje3lHJF5KOEM5QiM4MnwhZzx8V3lIKlY7aHIzVkMKekJxWWRTWCREalhRdHB+
NEl1UzBMMitGY1p1LSFzeSEzblR2KSNARW8wfFF7UnJROXtLYUE+WnE7JWNFZHdedFRMCnoxKjlj
bT9pSW5mUisyNG5MWSk4elpkd0UmMS1FTDViQGF0XlBMQCUoUzw4VmNITDdQOT8oVmZ4Jm1IfiFN
aW17dwp6Jl9AbXllWkU4N2gmcDY0RUlSTXNQQjs7aSN8eCVae1lMMyVmc3A2Wmx9UXRRZVN9TjRl
WChQRW4mMCpGPiFtSl8KeilHdkw5cFJQcG0oQUZ3U0U/TypXQ3pocG9fZUlmQzI1VnQtTWtrOCNT
NUd5aUtAfjZuTWxfRkdgb3IhI0Joa3xMCnpSQ1RfbzE7a2ZMYz5CeGZBZFFRZkp4MnFGbU0wQnh2
TWxoK0JHdChAKkNeJGo/a2A2WVBFZ1V+MiowQHxBRnZYQgp6Xm49UWYtV0JaKWtOZ3UyOUtTYT8w
KUhLRXFwJlohdU5CfEJkel87UiopcjNnZGpkcCZJXl5hQWdWeHVlYVBZWF4Kemp9cThhWl8xUnda
bkc/RGd4NiltVSlPSSZNWDFYWnZKeGwoN2QwOWVFaDxVUFFPOH48Pmo0VT0/JUJYdTxUaVRICnpn
VVBsVystRlJxbTY1WHdMVH1SYEBNI2MkOS1PQ3ZgUjR0U3taTjQ2bVNiYWZZcGckc1pNVGozO2hw
UUY/WExxfgp6RVc3SFNLQyVBZCllZkhuPH0kLTRiKj9jOUVlMjN8V3c5PmNFfmZMOWYtUE08dmE7
dmZHNlJISWI9TDNPLWZuVD0Kej56bW85WkVyTmdLRCkxISswI1NNK3hTZj52KEBPZHI5YENwe3Ez
bitmZ3pDKEtzWHc3Z2h3aCVDTkU2PDQ5eGtPCnpNfmlEKl5AVEVJcDZSUTZ7MnBQWDBVK0VIO25l
KngmMGpPN1hgNX1eTjgjeWQzYXgtU1AyOS0wbk0zTig3b05QSQp6a3hnK0kwdyNDakh7MSZKb1dl
Qmp0cXkramNneXA+SDZkUHxUK09zKmU0K3pYbENAYEsmdX1vYDBjamVkZDsjP1cKelNRfnQxMkp3
ZlUzUiQ7V05QbE8mTn5mUHdoTCQqVXkkUGApJGl9Pyl3Kj04PTBNM15HNUdUc1I2UExLczBLbWlq
CnpkdigtNjJtbTw8PzhRSkp3Ym56clExMilLSUtZQlp2bWNpIWpEPEJPSE5XV1peMy01THFGSl9M
VVRDTVRvWmA0bAp6c2lSdlR5WmBNJXpBPklxY1BXNDhKc2Y/TyVObnBuZXlxbDFpX2p4SG09eW0o
PHlyN2ZqaUozIWZUWjJFKyshc2YKeiVnZTBRUmhuXyooWk4pdWxvRXI8QyheY1R3UXZmTVI8cmVz
VElhKGtFUlZlTjxnJXU8RjFwczE+ZW9kaF5rd2tPCnpsVS0/QXlsMVQ5bmEkcSVoVVBycTxjcTNp
KUd0ZTI8KSEmbVlZYmMkTDUrKkxfVT55RzdnXlU/XmA9RnJ3b01yUwp6KSNodHVsSkd8eyhSbnR1
VSNrO0U2dTs8KlIjKX5HMEI7cmdwNSp5Wl5mfFVPUC08VjwpeXc8NXVuZFRKJkhBYXgKel9HZ0Yj
WUxhPHBTTWYwX1FReClBMEg7XlhZcVlqfU8mK20meSNkdUBATClTQ3Y7ZkIrWn5fUU1xbHNDJVRv
N09mCnpNRSVISldQX1VXT30hdD5VWl5LZTA3MDs7KWJUTzlCK05edVIwfjxHUE1pLXliVFAwLVlQ
WEJ8UTVyQ3J5d0A5eAp6VDJsbHN4clJmNkphdHVvXns/U1lsSmVVT3gpYT5VU19PQkhpZ2Z1fWsj
OE8leG0xSXwmMSVWSSE1MkEjVDFHIXQKem8tJEUoZF9zSy0yQGBieFhvbWBLTWl7PyVgSE1kJSkr
Ynlme1VfISlGRXZENUpia2FIPTdeJE4jQ15pVTlaKTNRCno4PVFUYD9hSHcqVU9XQGtjWlZJRDBZ
QHNxe1RZMTVTbGVMdHVLKHN8d1ZQeSZ1S2lFJTlreXkkdWZiTGRRZUhoPQp6Um1IRyF6OEZMV3ti
WSN6ViM2IUNleDVqPUYyR1B+a2A4dWRjMEl9TnFqMlBZIT9XeysjYmBiTnM7XnBTVTh1ZFQKelB3
T0JISUA7X0M9JitQKXNUcUBuZkU1QjFzblM5blhkKUVfVGYwMX09U2xFUU4kbHxuZUU8KH0wKWAz
KjxuYld1CnpSR1I+PCFMRU5xR25PLWFFWl5BNHdoemRYQ2lLYFAjdU44aWlNX15DWWpIc3JNOS0y
WHBOeT14NTMwPWJ7PDxITQp6Y0xKTEg/S29vN0EyaipGTGZ+fnFKUjxZZDlJcmhLZyprVSNkKjhp
QWNTWkxsdz5kVmFobTUrdU0ta2grTkpmZU4KeilXNnNDe1lpaCZkM0w2WVZnUnQ4K3NsPWd8OFdP
UGhATG9oYGotSVF5fj4hTjJ8a3V7eGVKPTxkKDNnMCg0Y1hgCnpIe0wkO2kjXyRuUWhaP3tATkw0
VVBxK1pgVztNRHE9OHlZU3g8fCZUWXZiPTYzZURiMWQ7Tz9AbmpJe1RkVmBLVgp6enBII0oza3l3
UHNkKmVNKkx+MyNwMWt2NVUrN2FYRWxLWi00JVpZMTlUcVZ8KSExRm1EbV9tRFAlREVNVXMqbWoK
ekRVZyFIJDMhS1Y9d1FqVnhXVDVmKlZHQG5YKEJYRz8zMmd2VGcqV2w+eThscj4qSWlXa2JFM2pT
NFJRbXlBI0MjCnpUKyNyRFIzYj9MZDJsckUpekBLJVJQZk8mRWFqQipuc2BffnlwMCZtQHB9aX5Y
dU8tODxMeFl2IXtqKDJtY2gmcwp6ZXQmfjlkc1BgVWJrKms0Z3Q7cmN4JDI0TXojKE0hZjsyYzdR
cDRZO3NIcFdMOS1sSndEbypxOVY/KjFIeH5uKWIKejJkJDRAN25TVmZofUBgV2ViPkdvVlohQkw7
TV5uWiRFMykxYSN7Tip7NUZfZXolWFo+Mz02bHpWfE50KnkmNSV+Cno7c1Y+ZkNiIzt9YHM/enp7
dDFJNlZxUWl6ZSFNOX5SVUFzKCRQeExLMzdrWFpOZjNpWCZSaT0tNCU1cHc+NmdIJAp6LTc8R09m
X3QzfWx6QUpzc29nI1hfUVE/Iz9JTyhwNiN6eCM7dkEhPlZyO14+YVdxYnBaWDZYNEJ+PGJBVXtC
SCEKemUjYSs3KldWRGl0U1NWSUxDfDY2JnxrU1YjST5DfT8xfDwxZmUyKUdeaWVRV3NIYUsqYnFI
M052OW81TWYhMDBBCno5e3BZRUx7dWppVlV6Q00mRmhnfE5scShXZXRnclBzVFFzWUE1bWI5b1hl
JCkmTT5DfHFCbU9sPygqfVQlJUJsUQp6a2l3PTxZZjRKI2R7TSsqQC1PRVB0ZEhCLTc1VG5IbFkz
VVVLNCU8ZVhJdU03KkpwKXxvQTdmKk9QRzZIO1k5JXMKenokNVlJSlo7Q2xsU301YjI4Xjk2SnJx
UmlZZFY1KmdPV0wzUEJfPGRffX5mRCRRNn1ZKUVYOzNJKmdqTXlWaiZ5CnpMTiMzJXZBeTZMP1cl
U0t0S3Y+OF9gJHRSOEdkdV49VXFHVVpeZyQjTD83UVRvbDg/WUxSNkNyKCpVJWwzMnUrNAp6QChQ
U2BVb2FLaThZP0VEYUlKX3FfRzNYO2M9clFod3tPd0xYdnExRk85UHdtb3k7bWtQNjl4RkFlaj1U
KSZ0bEoKemJmQzE1ZW1lM3AwNVdtc0xBWHA4dE15KGMzYiljRDBLcFVvc30hTks5QHpETyU5S3Jz
eVlBaVJkXnJkNUMrViowCnpQRXdWczZWe04xUWdfKChYbjByWXlWU2t3N2xeMFJPPGBwYj03VXlm
OWxQcEFDIS1QfU1iWmBHQVZ5Jjgrb3t6Sgp6TDs0cWVAN1ZGWU1mZ05JNUUwJEA0KENDfEprb0pE
SHVrd1NOLWREd0Zlfj13X3JPeHUqSUFYIS0tR3FERTIrQlQKejdtWlk0TE1UKmM/JVBjS0ZhVz1p
N0okZCQ8akt5P2d4eGB3dHRjV1I9eSU8bj9MRmo4UjBXc09yRlkmNj9Pd0FKCno+YUViKnpJZ3Bs
LXE0Mzh3QVglMml6PVdHLSRpWH1uKXptUUByNCZiK2NmUmlNa0EhM3JaVzN5c34rV2heZ3B6Mgp6
QXp1fW5xeWo0JiFYYDNrbX0wajVFOzE1UUUtSFgpUCVPPnkjPzZWVF8+TDszKCgrSUlGbHRLKU1M
UGFAVXtNekwKemxAajFpQXlqc1YwS1VRZEpoS2AzJUImKFdvVnYlS0dSSUs0cSlxQVdacENIfjV1
KyZXS0NKdjhhfCFQMyN7Q3tECno2aDhGYzUzazlFMyZ9JFBJVGBRb0F8VyhTRmJNbFo0KFladiYp
RWZqcCZtUFhFPkUkWXs/RX14KW1MJU1IfUlSXgp6SEhmYCgtX0hHdCFXe3c3JThCK3IzRGxyNzlm
ZW4jUk19RERuLTcjYEB8c2xSYEZTfVR4K2FDNjhKdDE2bCFURm4KemhaSX09LTlLbjx6cHJ8diQ8
X0JoaGF7Z35mb305MTtyVGlBPD9HPFA4ZWl+QTtueFM/b1N+VEptZDhRLTU8Y0VoCnp7NCFQWkdX
ekU2dGcqWHVHbVdJUEV0RUswUVA+UyNEemZxTlE3QypQa0JiXnxYOWNCI1pqVlp0ZVpEJCpmaXgx
VQp6ajVgRiZ6UHl1OU9BQk5gSHxsKnxXfDRWZksreExaViN8YipHPFlwRj0wTGc/Q1YoQVNoeGhw
RmUwTVo7JXJ8bFUKenJ5IWNqRXA3TTJKMF51dCVufkpsbmRCejs1K1NNVFMoI3lSTDJIPjFqNzxD
WlpDaUdPenRGc0g1KllwM1l+TmBWCnp7KTRZPnJvUGN1PFhWN21HaGd7Nml6NEJ8OXQrQ0hwKlFK
SEVzcm9lYVpZdWxHTklaRG1OYEFBMlI/dEZXOE9PIwp6UVMkZ31Zdyl8OVRae2dEey0/bFY2YjNJ
d2ZuVUp3RTEkaj4/bUc0TDRYO2xOYGU5JjBFIVlpST5FTmhgZzUrMTgKeipQRld1VnRPJXdILTY3
VXpWZkVlMHE5VlRJMTZBYyUqWSlUYUx1ek1hIWc/O2RLZCNRbHY4d307Ozl+Z2koI2t7Cnpqa35w
RW89fUhqQVRmfmVkaz1CYXI1dG5zXypZNkxOTXkyLVpwNzM7by02Nit1O2F4S218P1laMW5VPkNo
RGkzTgp6ZmNfNG1xITtTKDUrR0sxb00tbDlQaihpe043d28lTTIrbE4wKzl1aCRAazwtbjs4Ujgw
UnJmQEBmfHBQO25JRWMKelVeKTFsdHwralVTcWRsK3FfOEdRI2JYYmtPOGVBWU9LXjJVZEJfSFRf
QiU9fjdPSkJyOSZrK0o/MUJfTTNsbHR4CnohbmYoTXUzM1UlUz5ROHdZdHBpSWN9aEdUVkNfcm5B
cDV3c0dLJX41OHZjUyZoYkVvR3AmfkxiSGpeU2FtYWheJQp6PV5VdWdYX2RTa2g0VHx3JWhjWDtE
ZmU3KzxENl5PQXElTn0wMyNQM1pLT01uYFU5LXlBcVdKZ0txMDVKQkI2TzIKenJrX21KKGJlWVlm
bmVJQk9YTW18UWxWYXlGP2pVO20lcF54RXNaOG9veHtxTj92UWVYdW5vU0ZfSCtPTSF0NXB4CnpG
NWBrMDJnI2g4UUhvbiVUemR0QClGMFg1azFve1hCUzJDSTszVnFtaUJXJk93ISlHYHh1dDErakVk
KGZMU0cyPQp6T3Z3a1FwLX1QYT13MWVuVWU+PFkqMy1fWCpCPXZFNW4mQ3ZuNURVKSYtIUdPO2JZ
aXVKS0R7NmZzJVBXe01OWisKeiZGTFhmN2duYTVGUWlMQEYzRFEzUTsmOX5wT217WTRKTk5aO01S
fT4yTUpHVXB6eCZuQiNDY2t0JDwheWdQV1ZSCnp3SSEoaU1nUjhpdFQqNGQjNmZIemRgaERYXigr
OXA/MEJuU15DQzE7JiY2PjA7YSZ6S1hlM3JgOUVUZDUoRiYpYQp6VmpHIz11VWY3ajIoNz1tMmN8
blV7SmB3akRfJSFIa3omeUoqX0c2SyQ7fFBqejJFQmAhQFFGUzhecHVBQCt7MlEKekpWKHk5QjM5
eW5lcUAzTz8jRDYxQHxCKD5ORWJwYV5fNlNgdGkja3tecyROazAjdTxNR1hjX3IkN3pvTHNDdzN8
CnpDI3lSZ0RhTXtXWntEQktkO0U1JHlvNCoyOWFsamxtRnhaO0tEKkNhS1ItfD41aWs1Xjs3RTlt
TipQd2V6bnJ4dgp6RyN2VTFRXigpfmJBZ3lSeUkpR3JyTitLUEVnYThjZip3K3p4QGNNTHRQRUxN
Zy1UcU1NUE9ueUxwNj9kSiZvcG8KemNXOGhXOzIqPCtxQztEaUtmcWBrcmoheSNeR0krV3VXUWRS
aU9PKU1ZTiZaNkZ4PyNGTEVvbCV2ODBiNTAoYyp1CnpxKz1JYG1TQFpnenBtOzs/Pk1oUC1GKzx7
QVZ1Y34ySzx5a1l5QSRZe195I2tDKmU9eml8RC14SzVuKWQyZ3E3cgp6TiV3c2I2KUloQmg0PU8q
SEI2Q0IzMnM5JWQtTW8qRShUM2MwPXFffmpHVWxUdzx0bTZefHlRfTQjO1ghQVZCdTsKelE1eEhk
d2hNZ05od0Amd2EjajMpNzxDRz1KOGJ0NFkrfmFMOCFwUSgxYGpAOHhzRGR5JD1HSEN3Rik4ViZx
O1NGCno0c3NJe1JlVXIodWVEIzgre3p5SCtNaFVMLTA/QDBJV2Y0ZSVYI1JPI0k/aD1uY0MwNzNW
Pyh9cjxyTHYoTXNqRwp6JUV1SiM0RTJmKFUqbjsrRDNPfFRyJDVSe145cGg1NCFyMlJiJHhpLXEy
bG5eUG9BcVlqNSRCQGAjLXVLRihPcGwKelh+N3gycmZjYWQ5PjNnKjtzZ1orQXV8VEEwPnJpVXtt
Pk9FeTspTWAwPSt8Q1p+diRPe0JDYiR7TVd0cmMpRCpXCno5bWJxY2JvWjAzTjRqY017bG1FQnc5
ZT96NT1EOHxpP0U9SzJeN0lQOCRrdVN3ZCV+bEwhbD1GYHxBJTReeWJtawp6cnRyaSN7IVZAaCFx
bD9ieUFlSU5gdyhyJVgjbGhhNUFsNGppKFB1cG5PSU5ZRV5IKH41d1A8X2FsNnhwT1YzQV8Kejkr
XzlRWD5YYG9pNlRQM1NDOTdRY0d1cG8oO0dWTjluKylqIT1GPnpEQH1CbXgxQCE/RGB2X1QpKUFt
YyptRkFjCnomYVVeQns4Mis4Nz1zKmQ7NjdtNUpFWGwjT2x+IUokUUY0PTJhUzUwZ0RYeU41M2g9
fU5EWjNNZjVJRno4M1F8aQp6LVNkQ1opfGZaMlJKREcwdjI3Oz9sWUlzUCp3NCY7S2ZoTE84Ul5z
eXp1STR1UndeQ3x7UEN3TV48fll0KGhAdVMKekxENSptKms9fHtVJFBYU3h8eW9EdXt1bWBDQ1V1
emVIcCVWKi1eWHI8Nko4RD58RHMqYH5iVlRxTiY0MG5LMllSCnpLX3x8OGcyR3c/bG1Qb3JHeFJO
M3tIfnNFeHc1KileQGYrM1FpZDZ4RmZxP3Q+Z3JEMF8jQiVudCF3PFdmN0NyTAp6PG5oR3A7XjdD
TkBIcWlXTURRYCY5R2NEZV4xSGR8THclbChrUCRiWDclKj87aTVePSZ6cSlAKCkjSiN3YkBLOXQK
eiZnQEF0ZHdVSiRWJCp1cXl2WmNHdXo+KDIhPTRefmUrK2QtVS1pRCRqaDxmeytHIUZ2Ty1uKCVI
PUM+MytjZWF4CnpyckZtZVNINjVZeGE4S0cyTnpaVUctK1YzU3dlKiExbjRHJFpBPCVVdkNyT2J4
VzQ/OUtTPmdLMHYtI0ZaVCQkMQp6ZWN1eEdmZ0lXek99NmsobmMzWGpuMHdNKnl3fnZmJCV9IUh0
THgxVlc8NTZfT1N3STJ7Y31RO3ZhcGk/LUdaSEcKek1vWlh1PnNQWmNEfTtTc14mTF44Sz1wNDtF
QTBNfHkpemxXaHx2KStQeUprXzhAPUQ/PmFUOHw5T3hAZTlfKyhiCnorcUtlcj5LYk9iRXU+QUdt
QSs+dilIX2FxR1Q7JlF4PnIjfEFAfHRsWjJhK35FXmo9RmVHR3k9WjZSa2cre2U0Zwp6TT5XciFj
JTBLdEEpKXVsb0FLUDReQz1kV0BfJVokYGBhTWctZElzTFk3cmolSn4wd0txTi18TVNMcipoIyVn
UyYKelYlfH52bmtgaDRtYzdNZ0E4MktsX3dmYWNGUUE0OHp0NzBrMV47Pj8+NztXKmthd15tLU1H
YGNZfH5ZVjhYSERpCnpLQFBnKkA2dmAyd3czPiFRc3YxRlBsQz4oY0loZzl0Rjx3bXl9cD5TJEd0
ayY7YFRQJF8/Uj5ISkM8aVo5dFN2OQp6Tmh4KVJecX5KYHpUZCpXKGQlMXBpS3UkdFJQfFkqQSkh
PW09Rl5QU0xHSEZUNzNXU1hiSXVRe0k+M0xwSyNkJTEKelFrKW0kMkB1TE8xPWh+UylkRnlKZyN9
cCNVRU0qOERnIXJZbXA4dWh6I1RoQkFqd0J9bm0kPHFlNWRYc2l8MkIlCnpYS25RTm5JY1FjY05t
SmROODx4aE10Pl85ZUdHV3xXZGhvS2s4SXVjMWdIUzlgKGZUNG9uY0QkSnA2VVUqWT8kdwp6R2A1
c2dXdmFTTyR9al4mPnZzY2kkWWh1cCUzZTFkbEB5KSg0UHo0MEFHZFpJYUVtP3NAUlpTcUAjTlFk
eTw0O1oKem0kPmBvJElxOGJeJFg8Xk1CVWc8MHczVVN2JSRleTdyMU5QZlhKKXNVdUFeOURhNSFe
dCp3UXpBdEVRTjczUFFuCnpwODE3dVJIY1RAZiFkNyZVYTNkJVMhRD4zWS1OZXE/fXJJRHBEUj1e
Q1ZoVnhlZFR3fFVBMFJFeUFAXnsqdkU5agp6QDJDd2F8RDthaihAb01WTHRFeG08XmVuRnJvPjsm
Y2p3SHpKZFYxWSF1eWlPJFRoek5lUjtyVG5vQ3VQZklHNXcKejZkQjNYY1hfaD9BVnBkWV48SXll
eCt1JFkoNUhZWCRPQkpNKypvWXxAS31rUjBsQDFtcnQlbXgxUkpabDE5JXdHCnpIMn5PRmJCOVBq
REN8VElBe1E/WF89MGJ5TS1sZlVJXkRYMzMrVDUxV1h7YyYjbT4zTlhNKWxpKG8lZCs5UGxzSAp6
dm1gKGJAVksjVSRmZ1ZAKlledE5oOTVnSms2dVUqcFlgcEhlc29Vd2l+TygjVmt+VktDOT0oQHNq
RlI4QTlLNkQKeiZaNFlecXZSZHFDUXxHOHpMdntrRSZSIWNaQCZkJU9aM1g5VlFOKitzTCEoVEdy
emo4Zm5uNyZDZEpNXzQqSGZFCno/KztPKTU3ditiSlhwOEkjYylfRVJRT0l3Mj99SmR6UDchMkxP
WEF9bjEkKSVJa1hPUHJVUT0rVWpgKDNhbUd0JAp6SjMrRGFFVXA7QVQoRXo8ZEFVKXphTHYpP3U0
Sk1PSjVhdWFCfkUzYXZje15JMFpnakFSc0NwckxQK3lIJnF9P1EKengpKihhdjxXfTxSc0FlfDFB
NXo1MUlNWCMwWU1Qd21jcCFsYmc4cH40OFVjTFF3Sj1wZUIkPl9pYXtubD9UNFUyCnpjXlFjNGoj
ej53VEd4UEJZZkkxcmAxZipkRDNEQ2E1PHAxdDBNeDhETikhbWN0WHhMQnUmbTwmZmQpV1BacVJ5
VAp6KiElcGQxbnR3PXF4fEo4XztOO3N1aV48JUFNQVNXXz1eeXlucmhiOHYteUQ7Xm92Nz48b2BW
QUsxTilSKCVaPEoKemM3TSRJSUcoJmNETCVEMm9AekpCYWBHYWA4fHtBNFYqc1hlWVR2dVUxMjxx
SWwoS3RhXjZ7JTEte1Y2dHhvRDQ5CnpYP1d5N1UrUj5WK2dCTWFhaVp7ITNZK2EtKi1ZZnYhJUpA
Tnk2SDBtNmlnU2YqVzRXZW1XSEl0JGMzRXlJfVd2QAp6NU88QEJEMkYyXkcrKS03bFh3dm4jOUde
U0pCXit5IXAkemRuPmNwZCs9MDc7eSl0YWhXYHF4SilMTWw3ViNgYFEKentxTj5NMzFxY00yOGtX
PFByeUJWWEpLRktFbj9kVz1KMWtLVmItRHBudlF8cmtRRVkpZmR2b2s3fSNJfTVRT2M/CnplaDRG
RW9PR1olbE1sZmNrd2VHa24jRy1DXnVTJTRhWX5qdENnVDhldSV+cW52NGxRcW54STBRKkAjK3Vt
QEV2fAp6LVBNNTt0b1hePWNtZ28waWt0Z2BINSoycG01NnhRR1liUEZ2YUtscm51U3soVz95PnEt
bXN3fFEoRyZ3OH5rTVAKekNrJXstPz91Q0Y4RzJMKiU+V1ZfSCM5cGJZZXVvTUl9VDBwOHtERzlI
e04yVihzfWVvUEVQOGluemt1Rm96Y0RjCnoxSnpkaiZiZkpCSDxnUFIoJXtwWjRKSk0pX2l0TSRF
SC0qST5TO0szYn49cngoR01iMHRxbEVPUzx4SHRPbjdXKAp6M0oyMUdFJmwzWDlre2FScj5haUdK
Xjs5cWVpcyFQSShSPit3MWxnYTIkJHc4UHk/S2txaj5OK15Ebj1DTCRxYmAKejZnJFBIT1JTLV51
aVd2ZFYjIVc9KntXMDJAVGVCX2lAS2tqYCVXMmBrTjlZZUYzb3d3RUR0P31mUDJHKzw+Pm1oCnpL
SF4xcyk7K3IhRCYrP2YtWT1VNzMzfmd0ZmMxfjkyQEAzUENKK2B7Wi1hWnYhemVJVzxyO35JOXcp
QXU5enhJYAp6SzFSQ0o2fT5ObG9RV2RXMXYpZzI0TT1VUSl6O3hEaU1laVFrZD9naXhGWUV4M0wj
SiYwb3NGSU9eKk5lJU5lKCkKemgpTFkkWFM9c0tUTypTNEl9X1dgRCYpU0ZPQUdfUisyc3JBS0VV
Unl1fGR3ezBaYkJTSUx5aShyMDFQVDZ+b09YCnpAI0xoTV9YfkUkYlNzZnFXKzApcnB0Und+NHsq
Xz40JWRpI3I9c2liYmU4QlY9ZVE2c0tFPE14Y3ROLUt4d0l0TAp6USo4UGomNWx3T0NKPi0pam5T
WTkyTnskUHN2a0NqciNfUjwxb2ItKkArMjxXPnVtQ0h5SG1kWm9DR0FgaEg/T1UKenlXYnlHVEJ3
KGV4RjloIW1QPThGJTZMKHJvQ2NoWTtyO1JEVGkrKj8wY0Z9OGNedT8reGh1M15VRUtjbCM3IUE9
CnpVbyhBaU0qU3E5Q298bS07Rlp5cSFyM3JIPSkofW1FI1hGdG8hcSM/VEZqdTlnZ0JWRUJ6UGcp
Qj0hNlVyI1Y1PQp6VHxuemYpK3N6VlVuY3BzP0pjVXU4fjhBJXtRNSZjJk1wQm5vckZeZGo0cD18
MiMqbV45QmBobz9hTmVVM3Y3PlcKenRsN2k2Xmc1aH1edihyN2VZOHc8SGBsbWQ2UnwrdVBma2Eo
OSlGSl93eilIb1RsTkQrLVFud002LTZXc3luNHRBCnopd3xLMjh7ZU91ZjEzYGo4WUNKcDE3ZCZX
ZSZ1P3tRODQqXj1JWCt7WjJMT2ZIP2hnfU94a2o5dG8oQiZjIVYtSQp6e0ImaEZzSWluPlpxVzhA
YnFvSzYreE1lRylUb2E1Ozx4aFY1Wkx0JGR2ZEZWVVRRUDtGJjJkLSU5TnZNZnhZJigKekdiRU1p
MlRtbzFPRmhvSTclJXc4UGBrVX1rMGFrKSRFd0JeNz1DR2s4REZzVkd4U0NsKU55dWlSTlJWXzJS
WGtDCnpaVjMpTj9aezZKVT9xeWR7MHFwYCljOEdgelZWSWg/MVUpI2skWkg9WlY7MnZANHBoSDMq
bVkmP0M+QVc/S1R1SAp6ZnZBTTZUa0dRUkUzNENwMlVYYzBIez44aWZSKEJQZ198N2lOUn54VEJm
KEw2amAmJFhMTzhvMzBWTTxMc01tJEsKei1FJD1OIzg0fHIrOCZ3RXFzdiRrT0l0JnlUK3lkTylZ
azdPPTRoQ3w7SmlaPWltIXc1eWYjZGQ0dyFxRWFpdGJACnpHSkk9SDQoPWRnRFhAcU9hYDYxWEd9
QWc0NnZUcyROPEd1cHNgfjVQcXs9Ny10KSE+JUJXKTxNSXxhTTIlbnZlNgp6aUsjc3BWbl8zdmp7
WkV1V25BVDY2MCtRNigwLXFDSnt8KEYkN1NjP2ltMylXamY1WXFHQEp1dmRfPUApYS05LSgKejlG
fDxseGpjSkRgV1o1OHRMO0NoTCh1VHt7cFlKXy1mSGNrTjRzZj00RmVTWVAqPXBeSWdVO2E+OGIr
VV5kfX5CCno5ZER6b2FZNGs0YUF7elo/O31NQGw7Xn5EWUZuTkViVXFEU00zSE91QCZrM2hFaktT
JXV+PjRsbEw0ZnxqMGg+dAp6eU1JSztaKTlVZTd6NilLbCpBXjMqSCQqU0AwZFdPc344O3AhQVRW
QTgwQE0oYD5Lazk9OSFURGsmezteKEJ7blYKel8+OFgkNW5ZJiZUe25FfUElV3Q/NWY8RmBHUEZ2
O0Z8OXtPM1lHe3djSFFnY2RBaD8mNT9FeHQ0dj1+aytqRzZgCnpCX2BMRistblRwLUgoWEdKfmNt
WCpWfjZ5dXB1Z314dU9BT1YwMW9EUUZuYE8xb2Y/KzBrMj9FZHFfaEI7XllMRAp6VXg7Z1ptQlQt
dENwfDdOckthfClGVFkpfUBBSkw+Jmd2cSRiR2xjOUNQVHBkMFVEKXIwcUFUQCV5LVoyMEkjJigK
elVzK09XVntORiQyfVhFeiZyTks4QjQ4KFpsXm9LK0xqZ1lLTHM8MHNsQ0khOUkzfGUoVipPdl5H
QGRpT1c3P2BrCnpfQlBINS1nQyZ0WG8/KG84P3lkUmJLKWRqSGI0bGh2d2VYVDQwMz12WlYwfmlk
cUVTOTgyRE5xPSFvPFY1YURISgp6M0wzYVBrUyNNY3VvUUlQSm98KV9MUDd2cHZRaCs7QmI+KTBf
OXw3fGxNdThJPCt2Wig8KiVmKSsmKj9VMX1PK0wKejE7fHxqKUE1dFpOM018LSs0bSVQTEtMMjVj
IVdaMWJ4I2lRV0V8QUpnNndlM3JrPChKMTBGWnNPJGhzWWw0K3JxCnojSms+U3A/LUdIQ2skNUxV
M1FjY0RMP0JEIWw7UyU7P1F1a1NVRz9idjQjPkpQSTdgSDJ8bSpYUjFKZlZkMTx7VAp6PUU7e2xI
bWU7ZXY/K2ZUSmlKODAqcWN5LStMKCt9NSMjYzNKd2ZMU2JvQFAoaj1zQXg1eWtHPWBiRnJeJnQo
czsKemBIK3orZXtuPD5hYklsJS1RWVl+Y2R0QXY9VlVkMjdhIWB6UjtJKTRWd3NuQmtLek9HJWUm
RnhZJD4me08tSTReCnpIZGE3dnQpSzwtPjsodGtmLXQ2ZEkwKyRFMGkrZmszPmVyTCpDe35gP2Vo
NXlEMmM1WkhROEQwQWlOJnxPTk18Nwp6aEpTQ195Yyt1Y2ZVcVdYY1R3djEhZlFLLXRoWHdKNnJE
VzB7UmdISDx2dUpwMyhsKntkYzxlU0NJc21wUjBeK1YKej0/aF5lUzQjP0l1bGw+bChpej1hSj4z
S3FYSCFjWVI7fWsqdjVmNTZuZClfNyY9YUZBelU/PyhCUjZBeWJLQUd4CnprWiopaitiUWI4MlF3
UzhYYFBeQiUlYSh4ZUM1dmAhQX50aUE9TEFteWA0WUZaS3FuSXo2OXxvP3VNeX5ONTxeYQp6ck0k
bm14XmJmOCFgNTcmWVNJRyFWJVhIWmM3QVRKPSpEeThuOW9ufDJIal5HciR4akd4UV9BYUR+VDhl
Iz50USkKejgzcEtQK2dFKUBMMW1LQGNvPU9HVTtnZ1VsKTZwQUgkVFhSUVdqWnRgPCFRRFFJVDRy
UGVBaCg1TVN5I2Z9IUFrCnpEdEZtajFoVkQ8d3JIQEBxO3hBQDNQQigoKT5RMm0yaSN9QkxCWXht
NVktaXhqd3REJjMjVlBESGBhTHJDdHxpPQp6PiZOTH4wWmBzTmBFYVNhRFF8ZnZheVJhZ3tLeFor
ITNGbEdVWWYxPHNgIylgZng8VGdSMkoreFE1Kzt4em5UfXQKemJMczV2WGZuJU5ZZn44amVnIXwo
NzQ/cVZFJX1iIW40YUUkPlh2K3NKVGo2MEowaj93V3VIa09TIzszJCVfJW93CnpiJVUoRykhYWlt
YURJbjNYWmROciR8OXh4OGpMdmtlVGdHb0Z9RyolJmZgaEVLZUg1OHlLNX1IUXgjQE1DcFIpaQp6
KSlXblc2dUU5I1NHKWgqeTRMMlJNKklyemZ0LWNQZyZsYyU2SDx2KDg1Zi01X2pKMkIkLWBGOUU/
VEBCZGJ+KEoKemFFeENXIyNtMWR5XlVNR2ojaGNYP1p0MU88JT9mfTZAQnJ9KVFGP3Vkem4hUE9i
czVGempVPFJCQ2tSPFVERDt6CnoqVVAkRGdLQEZxcFNRN1dLNkxtfj1SWWtLTnh3MF90JmpVYypk
byZNMEJoXipCRmp3dD5qOEBBYCtzSnxHelk2Mgp6WEl8UjctfXtLKE9ZYShXPHx3WnpeZmA4V09t
JSZLWVZgYj52Kyh1dGxJYHo+JCg0UWtPJXQ9OT4hMHU2JWRmfEQKentMcktXdE5efk9ufnN4dkhY
LXdiPWQtVD5JMiY1bGZ6QS1nJUd1UGhffkMjQyshOGY0YCt3UkBSSFQqPSpXUE56Cnpec3dLN0Vs
T0xAaV9ZVF5hZGJfNT5tNmIrcWhta1U1PjAxKWpjNkdZeHBkMH0hbV40ZTB+fT1lWkR6a08jdElP
aAp6YnEpTH4kdT1xMDA+cTh9b2VXd2I+I3lkcnA+fGlTQm13RHUxXjdIZFU/THVQVHBUQiQkYEdk
a0Z7UkN1ako5UmAKejs/flU0X3N7ND04YWk8SD9xKDsrMilQfC1iYHgoX0U3NzF7OV55OXRmKSt5
YV5NJi1eQkJ+cDRQbj1nPGIrP2xkCnpebF41IUY0Y1E7I1FoYVRJJElIaGUwfktJV1h3OV8lK0dK
Pm42RjU8SF53JmYjVGhXPHkmSTYpYGdqNWd3cVFTMgp6bF9FYlcmZEBjRGUzYzxUeHdraTg1RCM4
fShnMkA3bisycGpqKmIjPkNkOXM9OFJYRys7U3k3dGMjVSsrX0VtMksKej47NCEkVW1IYmhPNDgl
VVM3fHxGUWY/QiR7M1dFPUtIRyVtQ0czdWcxPmN4REpSNmVfPUZAZ2t5YHhfN09mTStGCnpqMF8t
blo0fV5xK3NIJEU/cXdUe0pIZUhsK09yXiE+b3c5KCNRM0p3dnszSi1iaGQ1bzYqdCZeNG9ZWTNB
bHk0KAp6KE4rUDtUWjJ3cjFhdDhBUHJtckJLU0RjS3NMdngmcG5vYnRmcjZkXzRAQkhyWnZnQ0w8
TiEmUmZGaS1JLSlDeTcKeldJbyRWeEc3b0REeURhUD5wb0M2P2Y7IUJqPW1AVDBkPW8/SnltP0BU
WUZWaDN6TVM/NFlZQCQoKFZfU0d6bj9ZCno1aih9anxCfk9OYHZzMU5ZVyRmV1VOeFdyVm1PSiVh
QVk3JFVMclBQZjs9fCZiakU+Y3hOIWRGX0krbzBgaWMpUAp6YisxbCY8M3NCMkdHVGY4VXUwZ3Zk
ZzU0aDN4T2JqTSNoNDI9cys+N0ktUERVO2d2SGl1VmQ5KSgmfmhHSjhDRWgKejV8R1dnS2t3ZTc3
UjJuRVZuYVdAe2d4WEFwVjluWWkwbmZXO09wdjIxT14wY1o9Nk04Y1clPGI1RTEkbnZGWmVXCno4
b2MhVUhVdUJZNUh+KX52VTRhPWF2S0lCJTx1YiNOWWxFSUVBVEM4PHBrRHlPaEFmKGVxJkQqLXo1
Y0pFPSUocgp6Yy0wX2M+U2whe3ZheXIkOEhecXdgVn0oZTB3P3pCbyRkNGhUc35uTElkRG9fITV0
dyoxaT5NTWBPUGtkSEY0U3cKejR0PXsoLUtSKkttLUNNRzZZK2w0cDEkYG82YUU5UTAzekpqZUdx
NkMwe242akxeeyROMUYpQlJCNV9eOCs4R3s9CnohO28wMXFHI1JoWWIpMGs/KkY3Xl5IZjEoUl93
WS1TNENHNkpLej5kaT5ta1NSYUtLI210eytRSyFsM2VpSyhDQgp6KnMqR2hsbkBIZWhXcElTYyRs
ITFVOC1kRXlaKzdVN3ZWLXVHJWNWNjxGfmMoQ2VKUSpRek0lLTIrSGVpajc3MGEKenM2VCNvUnRW
cT55PDg2MkZuP2o1QV5ZJUpRfnJgWk0qRGQ9WnxUe0l2ck53fm1oWnBnITdZRVFreXszNz4kUzZ4
CnpkK2ZGeWRBVmgzY1ozaElLPUZ2Q2FqNiEwMHhUaER3ZHtjSmpsT0QqJF4tNnJqMVpgZkErdn5w
YFBFMkRQJiVYXgp6UlpmPEtJVnpOYzV0VXYrTGdaP1NwQTxRZTY+TzFPamZmQzxqUjc/UDUwbm45
PCoxKnEmZ1lxQGVmKjZMKy1fcy0Keld7VDlob0YldyhmbGZsWUJ1V2pfYnAoNkY0d1hJYHJAcXln
S2REa3IocVZzKmBIb1dSPGlpV31yNlRjPF5idVJkCnpzU25lfkQpdHo3TlI4dEBvM0pGZmN0cHQ+
U0ReU3kzQVNLJjQ9O0xrRXNUcHU4N3oxYGVzVFgpQ2NTVlM3ZEQoXgp6MmNGQStscHIyNWQzR0Ip
Z24wUXQ0RHB4ZnlvYDdfWVJ+QEdyVT18I0pmeFQ4dG1eZH5iKGs8MjVya2VOSX0yZ2EKemk1ZHlJ
UTRAfC1mT3FNJmxAakckMnVTU2l4QXBMUm9jaHsjKj5UcW9YYSgrJW1vRmZxS0ZHSDZ7a3AlZ00x
aXw2CnorVTxnSDRLPDZocmNkbTtgeGR9RGRTP15pTTFUYWhCXj8yRXEtdXluJU40QH5oPnx7UVUo
c3BzcFdpS3JDM0QhNwp6byVMbiYhZm5VJVhjfUlCQTM+fjBINjw0NkRBV0BucGZQWT4rMDVnPGl8
XmV0Z2I+SVNwMCNsdiFrdShXejlWblkKejZVciloSSY1bj5sVFMlIWFYV3BpQGQkKSVCMjMoaXlC
Y3p3fDFRU2s8aW0lZ3ZycX5SQ0RNVjh5Q1VjM09qQFJlCnpHc0RUJlZJRTtxU0M2V0ZgZiVsaVIt
c0Z7I0JFYFpnKWxaYT9RJW82OX1ubV80e2N2UWVOaCVKeT1qTm8oO1RuJQp6JlEmNzU1fHU/S0h6
JnFNWCt4Zn5rWWJoZ2hVa0dUKHtfYXQ0e2hzcT5sTGJvIy05fl4kbENxV3cpZFBLY3RzNSoKenp1
M0UwdGY9NWR7dTZULXRXNTgwRGFQITVIYkE3bkg4JFFSY1dBTV5XODw4fjI0eU19UT4rTiRTRC0h
O2h4OEsyCnotSElgS2phbiUhS3Z0c29BdGdZJXgjTiFqM1BfbCl6N3EpUmd6IztkSUNjXkBzRStl
X2F1Jm5LN21VX0FhM3ckcwp6ejxHX0xrQyFqOUszaEI1NzxKRnRHZkd+c2ZNIz4zRXtNZX57IWhq
MD09ZCtPeF9mOy1KfjchX2xjeituTF83Q3EKekE+bW93cTB8azhjUT5nNSYqVzt7SURnbU9OQ0ln
TFBtdj1NO2lCPmkjY2pJIy1BODxMQHlHP1c3alFIb3QtQV9ECnptPUZlcExKekAwYl9IOWghRSNf
YHF4VHJZbiZvclphN1FNOSkyd25waz5vUFEpTjI9QnpTbyZALVZ0RU9VQUQmVQp6a1QrMyNVWEJv
VGhrcXwwPW9jakdGITBfPGhsfldadzFwTz9CQmo5aVZwRz5vNUVRclMqdFhBfiUqNzVtTjkmKEYK
ellYRTcqQ1Zge1cxK292blltek9GenVuZDAxaDkpWG41PnxuLSNYdjswJiZocEtGOFNnMHhTMitQ
YXVlYVlNSUVHCnpDPF40YDtfXj5PPzN1KShKcVBGbCptbXRNPj9sPS1sTWtYWDNLUClFQGM4d0Za
JmtgcWFYVjkxckRLTnt5dShjRgp6NigmNXskVmVkfGx3eUxXZDsxK2MpWlJIeDslfi1SPkwpblBq
YlpPKmReXlltV2BIX34ob35gQUx3NHNnSnhKfmMKektLUGhxVDJGaWl7a09GO21PY29rd3w+dVV1
ZTZERT1QajMhRWBiNGotYm9VMXtQZiNvK313SmJ5VkIhI2lYIVo/CnpYMkYrRjk8TjlTWXBIMVN4
QyM7QzhVYERSdCYjQzYtQ08oU3RSfjtlWHJEa24zT0JqOD8mJV8xUHMhKyZKbUprVAp6cFJhRFcx
dHUkMWBoNVh0WjA+bDk1eiZwX1RFRFBRMHEpOE4lQTIxSj9uVHozUGFoP0BmQz59XlRsaWNVRUNg
Uj0KekBwYn1JcHRZUFZPTD08PXAoTDNieGA7V0g4PHNid0BeUG0mYlRXVGI0NnhNMF9IUGV5N0BZ
bmJtSjd5XnkmbDJICno2cHI/IyslKyNUTSFYaUhaYUpMVkpLfig0VT5XZXBic3c/b151Mjc/e2kh
fF8qZEA8YyZuQ14qcWwmeyN6SyU9IQp6YVB3RyFTZH1jeFZSalRpYllkfHpkfF9UV2M2fXVOZVM1
PEUlVTc0PnIrMGpgT1VieHxOPkZTSUQ9JCQ9czVMQkYKejFuIXZKKTRVWUhtPW5vXm5pPTUmWGJF
d0p7PHEmX1NKd21fVCFlSHw0LXtxSE1Pej84eUJ8S31hUmZnKmlmU0Y1CnplRVZ1NUNqVU88X0Bu
dW1sUzYpJVBKfT8/ZWt1VDskZ1VlMkxLRGdEMEpJZUN0OHJuO2l6d35qPG5kS1lHe183cwp6aCZu
Jj1GPVN1ciNUNzgkNCFGfi1xamZVejV5dF9YO2coNFlVa28oe1ZEVEpjM1g/en1gc01fdlVvSjNz
R1hwdjAKejIhdV9NUW9ubWtlQn5CNCF0aEh7QjchYjAwZXVGfV5MPk5Sa3BuRDU5SDRFT0lJT0k8
UWNEczdAYiFuVS1LSlQ0CnpWcF9KfFVUSHM/KFo4cyE3Sk8rcjwlTjI0ZGVWV2QwcjxxQ2hrNSk0
Z0M+JGNuQ1YpYGhrMGUjKEsxWXlmYEB+Vgp6NWNMenoxO0h3bChNRUNHZ2tvSk5xTCFjfHF2c2JT
JkF8SVNZTE1VYHpCK0pDaSpXPUMqWmNjME1OYDF0Y2ArdX0KejJQfDhEamdWRX55YntOVUp1TWRq
dD1EZEJZZUQ3UT5QR2FlPkVXRkdHUSh3ZTZrdVAhJmYwVz81OUcpMmZlSjIoCnozaCtfUEhjc0U3
JjlZI1BiWmpqJUcyaElEaCF7YkUpNUVLUkVldlg8dmYkJH5heGBFQkk+YCl4OH1UeFBMWUh7MAp6
M3I9UUg3Mjd2TUk9enhRVz9Mc1kwSjVrVTI8WGYzeE5xamBXI3gyTzZ8ZXMwVGJSQ0JQLXxBX2ok
dnVjTnEjUXQKek80al9BJmtnMGptQDNId0NZQ3NjJWV7XjZRajE+d2ReV0xJXj59OClxNXpDYTA+
JFVCK1l4Rm5ASkd6QHVsczNFCnpGLS0oU3pTaHMma2NrdHFXP3lAP2lnPntmdCY4R0BTc0R+YUIr
ZlVxcF9xWl8oenE/amwjOW42TCVQZkBATSpgNwp6TmJpaHUtUThxakJrZTI3VF5rKnUoP1lmYiZj
MjkjKHhDR3dje3taQihicl49VzJYMXowNC1LTDxebUxpUioyQ04KekQyPF90b0N4RjJGUUF5RC1h
WFBSakN6PkJPVnlrTko9Jjk/MW40YjBUPDYxPXFec3FTZX5iZGE3QHEtez5VfVU3CnpCZUdPKGlP
TElAY2VgOGViXzxfYyRqUlMqKWN4diNlVXklWHo2SXkwYkcqKikmY0l6eEthcTZIIWY0Oyo0Jl5p
WAp6Zlkhdl5AfFBGJUYzPlQ/QFRvYlVpdGRqbF5VflVqWmNWMHlvPWoqQl5YMGZ7Sml8O09qQSky
O1A3RmYzOUZOeDAKekQrT3paKyFgQmFCLT9za0VJaHl9Xk1tKVZkMXpEUmVKfillUDg0VTEtcGQw
KVc3b3o+b0MtXl87OGliaW8rRGh7CnphRjAkLVhsb1MjVigyLXIkdFBTODB3THM/R3E0KUFXI0t3
fndNSio9MzxDI256dURLOClxWnw0WVpDJktRK31fTwp6ZSgwIUkkcU4jPGZPMHgwT3RDaUpOQjEw
eHUtJUl0dXRCNnQ4Z3ZpeUJIbWRzeytkX3Y4MHMjMG1sO0N3WWgrM1AKekl0KnRQUkhCU25sJkAh
N003ckI1Nnt1PV5ybDZIKiRIb3UqTj5+VyFRYUdBTlduTnJjRyE1ZkFeaX5gantaSW4kCnpfQHY+
QlRnUCpnMFVjX19ecXs/bnhEd2FFbHc8KUdudm0qbHkmZyliajR2Uyk0b34jJFNwWkRgLXVGZG88
fTFAOwp6TmkkSjNhKlNuTHtmNXF4b09gPERGbklMbCplIURuaThTQk0mSXJsUW05ISgyNT97bHN6
S3hrKGppUzc5Jkk8UiUKej5oT15AKT4xPHVzKmR9b2l3UmYjJiozaEYxJSVZQzQ5UUlJQjIraTQ8
Qis2bTxHcilObFdrdFZwUFRtQGE4dTVHCnpVMDs0NDk4M0BMX0kwN1chMVFuWHheJjJnN3U8K2xh
K3A7WXtWayt5d34kdDw/SURPKUs1MHVieXU7YW0tQWEwPQp6YC11SEl3SXVFOHF2bjB5QCNaVXle
cHdQJFlmbHFUMj5JNy11QXAoJF5DVDx8SWAtKTBVMjgta2ZlN2R9Y3puS1MKelkqezh9VWVZWThZ
VCpJZnRyI307K2xwN3llYH5+JDNeS25nSzc0VisjYUJ9Jm0ocX5BKlkpeGhacGl3SFJKeWVvCnoh
c3c+TFolLWBjZGBoQlFrYChUb3V6bTlaP28rPzgtRGhRYTEkNXN5aT47Tnk9RylQM3pvcmxXPEhU
IV5ROyk9eQp6eTNqI09MMmBIQDx9fV4yaSRoKVJFYDl5THI+KlQhMXhVU2x5My1OZnleSnxHQTsj
U2ghPW5obFJuX2lOaD99QE4KellsKW9xdHA2R2xrfU82fWopMisoVyZnWUhHKWlyfnBfNkNAKCRY
U05yY2V5c3RxU2hhMzBtK0Q2KSN+S2FtVV9lCnpuMktmWDdBSTw2K1V4QFZveiltWjEtTVRRdzc5
N1N7SzJweTY7QHJhKylkVzduNXpJZS09LXY+aHYzJFJxU3hqKAp6b2diJFo5OEVSeUtRa3FNaWxC
YVQjUTlRI2w1dm1QJWt9NGFUMD1yWXVrWGpsaXtVKEV1SD9ST1Bmfk1FaCVaUDIKeiNLfSoyNjs8
eyNTMWpje2pIR0F6dVdxN1N3dU5aIV5iejx8c0tedGBUQld9NStTdFhuJk57Z0RpTVJIb1pNeHJr
Cno5dyVpdlA+bmhuJDFVPk0mVHtsT0dKeVcwUlVoOHMlcnpDYj9yWT58S21GYHxHTkBoMVpFaj5U
PCZJZ2NBSUg0WQp6b0t8eTsjbGU/TnglRU9aT3RoZXllOHBMKVN2dyQ3WEhLOW5XKWdNZXUqcnxq
S0V3RUNJe2oyTXpgKSEmcSMqZnsKejdxYGskVGtXSFdMe2J2YmtHPURRa14tOWI8NCtjNDJFK0JK
REhZMSQ7MTdiOG0jfkolTEMzKkFvd0BacV4oZ189ClFDdjZnLSltWX07NiQxTUkwUVhZbTNqaEVC
CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434193</attachid>
            <date>2021-07-26 00:57:07 -0700</date>
            <delta_ts>2021-07-26 01:25:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210726175705.patch</filename>
            <type>text/plain</type>
            <size>65981</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTU5YWQzYzA2YzU0YmNk
OWRmM2M0OGFmMTgzYTFjODliYTY4ZTdjMS4uZmExMzdkZGY5ZjUyZGExYjAzOWFlOGExZGMxM2Ey
NDc3OTZiNWU0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMyBAQAorMjAyMS0wNy0yMSAgSmVh
bi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRk
IHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQz
NzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3Igd2VibSBpbiBXZWIgQXVkaW8uCisgICAgICAgIEFzIGRlY29kaW5nIG5l
ZWRzIHRvIGJlIHBlcmZvcm1lZCBpbiB0aGUgd2ViIGNvbnRlbnQgcHJvY2VzcyB3ZQorICAgICAg
ICBuZWVkIHRvIGVuc3VyZSB0aGF0IHRoZSBkZWNvZGVycyBhcmUgYXZhaWxhYmxlIHRoZXJlLiBG
b3Igc2VjdXJpdHkKKyAgICAgICAgcmVhc29ucywgY29tLmFwcGxlLmF1ZGlvLkF1ZGlvQ29tcG9u
ZW50UmVnaXN0cmFyIG1hY2ggY2FsbHMgYXJlIGJsb2NrZWQKKyAgICAgICAgd2hpY2ggcHJldmVu
dHMgcmVnaXN0ZXJpbmcgYSBuZXcgYXVkaW8gY29tcG9uZW50LgorICAgICAgICBXZSBpbnN0ZWFk
IHJlZ2lzdGVyIGl0IGluIHRoZSBVSSBwcm9jZXNzIHNvIHRoYXQgQXVkaW9Db21wb25lbnRGZXRj
aFNlcnZlclJlZ2lzdHJhdGlvbnMKKyAgICAgICAgU1BJIGNhbiBmb3J3YXJkIHRoZSByZWdpc3Ry
YXRpb24gaW4gdGhlIHdlYiBwcm9jZXNzLgorICAgICAgICBVbmZvcnR1bmF0ZWx5LCBmb3IgdW5r
bm93biByZWFzb25zLCB0aGlzIGZhaWxzIGZvciBWb3JiaXMgYXVkaW8gY29kZWMgKGJ1ZyAyMjgx
MzkpLgorCisgICAgICAgIFRvIGRlbXV4IHRoZSB3ZWJtIGNvbnRlbnQsIHdlIHVzZSB0aGUgZXhp
c3RpbmcgU291cmNlQnVmZmVyUGFyc2VyV2ViTSB0byBleHRyYWN0IGFsbAorICAgICAgICBhdWRp
byBwYWNrZXRzLiBXZSB0aGVuIGl0ZXJhdGUgb3ZlciBhbGwgQ00gU2FtcGxlcyBhbmQgZGVjb2Rl
IHRoZW0gaW50byBQQ00sIHBlcmZvcm1pbmcKKyAgICAgICAgcmVzYW1wbGluZyBhcyBuZWVkZWQg
b24gdGhlIGZseS4KKyAgICAgICAgVGhlcmUgYXJlIHRoaW5ncyBsZWZ0IHRvIGZpeC4KKyAgICAg
ICAgLSBPcHVzIGFuZCBWb3JiaXMgZW5jb2RlciBkZWxheSBpc24ndCBoYW5kbGVkIChidWcgMjI4
MTQwKSB3aGljaCBsZWF2ZXMgYXVkaWJsZQorICAgICAgICBzaWxlbmNlIGF0IHRoZSBiZWdpbm5p
bmcgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlci4KKyAgICAgICAgLSBXZSBjYW4gb25seSBkZWNv
ZGUgbW9ubyBhbmQgc3RlcmVvIGNvbnRlbnQuIE9wdXMgYW5kIFZvcmJpcyBsZXQgeW91IGRlZmlu
ZSBhCisgICAgICAgIGN1c3RvbSBjaGFubmVsIG9yZGVyaW5nLCB0aGlzIGlzIHBhcnRpY3VsYXJs
eSB1c2VkIHdpdGggYW1iaXNvbmljIGF1ZGlvICh3aXRoIG9wdXMgMjU1IG1vZGUpLgorICAgICAg
ICBDb3JlTWVkaWEgZG9lc24ndCBlYXNpbHkgZGVhbCB3aXRoIHN1Y2ggcmUtb3JkZXJpbmcgYXMg
aXQgYXBwZWFycyB0byBiZSBlc3NlbnRpYWxseQorICAgICAgICBkZXNpZ25lZCBmb3IgYXVkaWJs
ZSBjb250ZW50LiBXaXRoIG1vcmUgdGhhbiAyIGNoYW5uZWxzLCBkZWNvZGluZyB3aWxsIGVpdGhl
ciBmYWlsCisgICAgICAgIG9yIHByb2R1Y2UgY2hhbm5lbHMgaW4gdGhlIHdyb25nIG9yZGVyLgor
CisgICAgICAgIFRlc3Q6IHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1s
CisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOiBFeHBvcnQgaGVhZGVyIHNvIHRoYXQgd2UgY2Fu
IHJlZ2lzdGVyIHRoZSBkZWNvZGVyIGluIHRoZSBVSSBwcm9jZXNzLgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogc2FtZSBhcyBhYm92ZS4KKyAgICAgICAgKiBo
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6Y2FuUGxheVR5cGUgY29uc3QpOiBNYWtlIGNhblBsYXlUeXBlKHdlYm0vYXVkaW87IGNv
ZGVjcz1vcHVzKQorICAgICAgICB3b3JrIGlmIGZlYXR1cmVzIGlzIHNldC4KKyAgICAgICAgKiBw
YWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNldFdlYk1XZWJBdWRpb0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2ViTVdlYkF1ZGlvRW5hYmxlZCBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vTWVkaWFTYW1wbGUuaDogRmx5LWJ5IGZpeDogcmVtb3ZlIHVubmVj
ZXNzYXJ5IFdFQkNPUkVfRVhQT1JUCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdXM6OnNldExlbmd0aCk6CisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaDogQWRkIHNldExlbmd0aCBtZXRob2QuIFdpbGwgY2hh
bmdlIHRoZSByZXBvcnRlZCBsZW5ndGgKKyAgICAgICAgd2l0aG91dCB0b3VjaGluZyB0aGUgdW5k
ZXJseWluZyBzdG9yYWdlLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5o
OiBBZGQgc2V0TGVuZ3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhlIHJlcG9ydGVkCisgICAgICAg
IGxlbmd0aCB3aXRob3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuCisgICAgICAg
ICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KTogRml4IGNoZWNrZWRJbnQgdXNl
IHRvIGNhdGNoIHBvdGVudGlhbCBvdmVyZmxvdworICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZm
ZXJMaXN0SG9sZGVyOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXIpOiBBZGQgY29udmVuaWVuY2UgY2xh
c3MgdGhhdAorICAgICAgICBmcmVlIHdyYXBwZWQgQXVkaW9CdWZmZXJMaXN0IG9iamVjdCBvbiBl
eGl0LgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjp+QXVkaW9CdWZm
ZXJMaXN0SG9sZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6
b3BlcmF0b3IgYm9vbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RI
b2xkZXI6Om9wZXJhdG9yLT4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJM
aXN0SG9sZGVyOjpvcGVyYXRvciogY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZm
ZXJMaXN0SG9sZGVyOjppc1ZhbGlkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmls
ZVJlYWRlcjo6QXVkaW9GaWxlUmVhZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJl
YWRlcjo6aXNNYXliZVdlYk0gY29uc3QpOiBNZXRob2QgdG8gY2hlY2sgaWYgdGhlIGJ1ZmZlcgor
ICAgICAgICBjb250YWlucyBXZWJNIGRhdGEuCisgICAgICAgIChXZWJDb3JlOjpwYXNzdGhyb3Vn
aElucHV0RGF0YUNhbGxiYWNrKTogUmVxdWlyZWQgZm9yIEF1ZGlvQ29udmVydGVyRmlsbENvbXBs
ZXhCdWZmZXIuCisgICAgICAgIFdpbGwgZmVlZCB0aGUgZGVjb2RlciB0aGUgZGF0YSB0byBkZWNv
ZGUsIHNwbGl0dGluZyB0aGUgbXVsdGlwbGUgcGFja2V0cyBmb3VuZAorICAgICAgICBpbiB0aGUg
Q01TYW1wbGVCdWZmZXIuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6Om51bWJl
ck9mRnJhbWVzIGNvbnN0KTogUmV0dXJuIHRoZSB0b3RhbCBudW1iZXIgb2YKKyAgICAgICAgZGVj
b2RlZCBmcmFtZXMgaW4gdGhlIHBhY2tldHMuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVS
ZWFkZXI6OmZpbGVEYXRhRm9ybWF0IGNvbnN0KTogQ3JlYXRlIEF1ZGlvU3RyZWFtQmFzaWNEZXNj
cmlwdGlvbgorICAgICAgICByZWxhdGVkIHRvIHRoZSBkZW11eGVkIGF1ZGlvIHRyYWNrLiBudWxs
b3B0IGlmIHVuc3VwcG9ydGVkIGNvbnRlbnQuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVS
ZWFkZXI6OmNsaWVudERhdGFGb3JtYXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9G
aWxlUmVhZGVyOjpjcmVhdGVCdXMpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVy
Ojpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRp
b0ZpbGVSZWFkZXJDb2NvYS5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
U2FtcGxlRGF0YVNvdXJjZS5oOiBSZW1vdmUgdW51c2VkIHR5cGVkZWYuCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6QXVkaW9TYW1wbGVEYXRhU291cmNlOjp+QXVkaW9TYW1wbGVEYXRhU291cmNlKTogRmx5
LWJ5IGZpeCwgbWFrZSBpdCB1c2UKKyAgICAgICAgUEFMIHNvZnRsaW5rcworICAgICAgICAoV2Vi
Q29yZTo6QXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcik6IEZseS1ieSBmaXgs
IG1ha2UgaXQgdXNlIFBBTAorICAgICAgICBzb2Z0bGlua3MKKyAgICAgICAgKiBwbGF0Zm9ybS9n
YW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW06IEZseS1ieSBmaXgsIGFkZCBtaXNzaW5n
IGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNw
cDogRmx5LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oOgorICAgICAgICBG
bHktYnkgZml4IHJlcXVpcmVkIGJ5IHdlYmtpdC1wcmVwYXJlIDogZG9uJ3QgdGFnIHRoZSB3aG9s
ZSBjbGFzcyBhcyBXRUJDT1JFX0VYUE9SVC4KKyAgICAgICAgTW92ZSBjb25zdHJ1Y3RvciBhbmQg
ZGVzdHJ1Y3RvciBmdW5jdGlvbiBkZWZpbml0aW9ucyBvdXQtb2YtbGluZSB0byBwcmV2ZW50Cisg
ICAgICAgIGxpbmthZ2UgZXJyb3JzLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKTogTW92ZSBjb2RlCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1t
OiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaDogRXhwb3J0IHNvbWUgc3ltYm9s
cywgYWRkIG5ldworICAgICAgICBtZXRob2QgZGVmaW5pdGlvbnMuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW06CisgICAgICAgIChX
ZWJDb3JlOjpyZWdpc3RlckRlY29kZXJGYWN0b3J5KTogSW5zdGVhZCBvZiBhdHRlbXB0aW5nIHRv
IHJlZ2lzdGVyIHRoZSBkZWNvZGVyCisgICAgICAgIGJ5IGRsLW9wZW5pbmcgdGhlIHJlcXVpcmVk
IGxpYnJhcnksIGZpcnN0IGF0dGVtcHRpbmcgdG8gc2VlIGlmIHRoZSBkZWNvZGVyIGlzCisgICAg
ICAgIGFscmVhZHkgYXZhaWxhYmxlLiBDYWxsaW5nIEF1ZGlvQ29tcG9uZW50UmVnaXN0ZXIgaW4g
dGhlIHdlYiBjb250ZW50IHByb2Nlc3MKKyAgICAgICAgd2hlbiB0aGUgR1BVIHByb2Nlc3MgaXMg
ZW5hYmxlZCB3aWxsIGZhaWwgZHVlIHRvIHNhbmRib3ggc2V0dGluZ3MuIFdoaWNoIHdvdWxkCisg
ICAgICAgIGluY29ycmVjdGx5IHJlcG9ydCB0aGUgY29kZWMgdG8gbm90IGJlIGF2YWlsYWJsZSB3
aGVuIGl0IHdhcy4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUF1ZGlvRm9ybWF0RGVzY3JpcHRp
b25Gb3JGb3JtYXQpOgorICAgICAgICAoV2ViQ29yZTo6aXNPcHVzRGVjb2RlckF2YWlsYWJsZSk6
IEZseS1ieSBmaXgsIHNob3VsZCB0aGUgbWV0aG9kIGJlIGNhbGxlZAorICAgICAgICBvbiBub24t
bWFjIHBsYXRmb3JtIGl0IHdvdWxkIGhhdmUgcmV0dXJuIHRoZSB1bml0aWFsaXplZCB2YWx1ZSBv
ZiB0aGUgYXZhaWxhYmxlCisgICAgICAgIHN0YXRpYyB2YXJpYWJsZS4KKyAgICAgICAgKFdlYkNv
cmU6OnJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCk6IEFkZGVkCisgICAgICAgIChXZWJDb3Jl
Ojppc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUpOiBTYW1lIGFzIGlzT3B1c0RlY29kZXJBdmFpbGFi
bGUKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKTogQWRk
ZWQKKwogMjAyMS0wNy0yNCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgW0FwcGxlIFBheV0gRG8gbm90IGFkZCBjb3Vwb24gY29kZSBgQXBwbGVQYXlFcnJvckNv
ZGVgIHZhbHVlcyBmb3Igc3lzdGVtcyB0aGF0IGRvIG5vdCBzdXBwb3J0IGl0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZwppbmRleCBmMDE5ZDNjZTEyMDNmM2ZhMTA0ZWY5ZmFjNGZmYTQwNmFiOTAyZjYwLi5mMmFh
Y2JiODQwMmQwYzQxNjFhM2Y2ZmJmOTkzOTRmNThjYzUzZGE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBw
bGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3Vw
cG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3
MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdmFyaW91cyBBVkZvdW5kYXRpb24g
KEFWQXVkaW9Db252ZXJ0ZXIpIHJlbGF0ZWQgbWV0aG9kcyBhbmQKKyAgICAgICAgQ29yZU1lZGlh
IHRvIGFjY2VzcyByZXF1aXJlZCBDTVNhbXBsZUJ1ZmZlciByZWxhdGVkIG1ldGhvZHMuCisKKyAg
ICAgICAgKiBwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwOgorICAgICAgICAqIHBhbC9jZi9D
b3JlTWVkaWFTb2Z0TGluay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0
TGluay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbToKKwog
MjAyMS0wNy0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJldmVydGluZyByMjgwMTI5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggM2IxYmI1
NTBmNTY4MWE0ZjVkZDIzNjBhMTQxODlhOGVjYWQwNTdiOS4uOWE2MWVlZmY1NGI3YzY1MDIwYTI4
ZTk0YzZiZWUzZDU0M2M3NDU5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMzM1LDYgKzEzMzUs
OCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dMQU5HTEUuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaAogCisgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaAorCiAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0LmgKICAgICBwbGF0Zm9ybS9ncmFwaGlj
cy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3R2x5cGhzUmVjb3JkZXIuaAogICAgIHBsYXRm
b3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3Bw
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKaW5kZXgg
ZmMwNjY4YTRhOTFhZmUxMGI2NTE1OWNhMDgyZTE4MjgxZmQ1MDM1Ny4uNGEzZTkwY2Q0NDA2Nzc1
OTIxMjJmMTZmYTUxOGFhNTRlOTU3Y2NjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKQEAgLTM2LDYgKzM2LDggQEAKICNpbmNsdWRlIDxD
b3JlVmlkZW8vQ29yZVZpZGVvLmg+CiAjZW5kaWYKIAorI2luY2x1ZGUgPENvcmVBdWRpby9Db3Jl
QXVkaW9UeXBlcy5oPgorCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwMCkKICNkZWZpbmUg
Q01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBFIENGX05PRVNDQVBFCiAjZWxzZQpAQCAtNDcsMTEg
KzQ5LDEzIEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUws
IENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0Vf
V0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzLCBP
U1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYgdGhlU291cmNlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0
VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgdm9pZCogZGVzdGluYXRpb24pLCAodGhlU291cmNl
QnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGRlc3RpbmF0aW9uKSwgUEFMX0VYUE9S
VCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1l
ZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01CbG9ja0J1ZmZlclJl
ZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVySXNS
YW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwgc2l6
ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3RoKSwg
UEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChj
b25zdCB2b2lkKiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZl
ciwgc2l6ZV90IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291
cmNlQnl0ZXMsIGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFM
ZW5ndGgpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9F
WFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBD
RkRpY3Rpb25hcnlSZWYsIChDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYyksIFBB
TF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUws
IENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRUeXBlSUQsIENGVHlwZUlELCAodm9pZCksICgp
LCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQo
UEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlciwgQ01CbG9ja0J1ZmZl
clJlZiwgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiBTT0ZU
X0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01T
YW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwg
KENNU2FtcGxlQnVmZmVyUmVmIHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVC
dWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucywgT1NTdGF0dXMsIChDTVNhbXBs
ZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgQXVkaW9TdHJl
YW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0RGVzY3JpcHRpb25zT3V0LCBzaXplX3QqIHBhY2tl
dERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCAoc2J1ZiwgcGFja2V0RGVzY3JpcHRpb25zU2l6
ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBwYWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0
KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8sIE9TU3Rh
dHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiwgQ01JdGVtSW5kZXggc2FtcGxlSW5kZXgsIENN
U2FtcGxlVGltaW5nSW5mbyogdGltaW5nSW5mb091dCksIChzYnVmLCBzYW1wbGVJbmRleCwgdGlt
aW5nSW5mb091dCksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJEYXRhSXNSZWFkeSwgQm9v
bGVhbiwgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiAKQEAg
LTEwOCw2ICsxMTIsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9S
VChQQUwsIENvcmVNZWRpYSwga0NNVGV4dFZlcnRpY2FsTGF5b3V0XwogU09GVF9MSU5LX0NPTlNU
QU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIGtDTVRleHRWZXJ0aWNh
bExheW91dF9SaWdodFRvTGVmdCwgQ0ZTdHJpbmdSZWYsIFBBTF9FWFBPUlQpCiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywgT1NTdGF0dXMsIChD
RkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZmZXJSZWYgc291cmNl
QnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3QgQ01CbG9ja0J1ZmZl
ckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90IG9mZnNldFRvRGF0
YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFncywgQ01CbG9ja0J1
ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9yLCBzb3VyY2VCdWZm
ZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0VG9EYXRhLCBkYXRh
TGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZV
TkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVz
Y3JpcHRpb25HZXRNZWRpYVN1YlR5cGUsIEZvdXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRp
b25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0
TWVkaWFUeXBlLCBDTU1lZGlhVHlwZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChk
ZXNjKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
Zi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVk
aWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFmYzU2ZGJmYjA1ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5
ZjAuLjg4ZTYyOTViM2MzZWU1MjNhNTc3ZDcyNjY0MTBkMWIwNDY2ZmMxNWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKQEAgLTI4LDYgKzI4LDcg
QEAKICNpZiBVU0UoQVZGT1VOREFUSU9OKQogLy8gRklYTUU6IFNob3VsZCBiZSBVU0UoQ09SRU1F
RElBKSwgYnV0IHRoaXMgaXNuJ3QgY3VycmVudGx5IGRlZmluZWQgb24gV2luZG93cy4KIAorI2lu
Y2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgogI2luY2x1ZGUgPHBhbC9zcGkvY2Yv
Q29yZU1lZGlhU1BJLmg+CiAjaW5jbHVkZSA8d3RmL1NvZnRMaW5raW5nLmg+CiAKQEAgLTQ5LDYg
KzUwLDggQEAgU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENN
QmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzLCBPU1N0YXQKICNkZWZpbmUgQ01CbG9ja0J1ZmZlckNv
cHlEYXRhQnl0ZXMgc29mdExpbmtfQ29yZU1lZGlhX0NNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVz
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1
ZmZlckdldERhdGFMZW5ndGgsIHNpemVfdCwgKENNQmxvY2tCdWZmZXJSZWYgdGhlQnVmZmVyKSwg
KHRoZUJ1ZmZlcikpCiAjZGVmaW5lIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoIHNvZnRMaW5r
X0NvcmVNZWRpYV9DTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aAorU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91
cywgQm9vbGVhbiwgKENNQmxvY2tCdWZmZXJSZWYgdGhlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0LCBz
aXplX3QgbGVuZ3RoKSwgKHRoZUJ1ZmZlciwgb2Zmc2V0LCBsZW5ndGgpKQorI2RlZmluZSBDTUJs
b2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMgc29mdExpbmtfQ29yZU1lZGlhX0NNQmxvY2tCdWZm
ZXJJc1JhbmdlQ29udGlndW91cwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBD
b3JlTWVkaWEsIENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0
IHZvaWQqIHNvdXJjZUJ5dGVzLCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBz
aXplX3Qgb2Zmc2V0SW50b0Rlc3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VC
eXRlcywgZGVzdGluYXRpb25CdWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0
aCkpCiAjZGVmaW5lIENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVN
ZWRpYV9DTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25z
LCBDRkRpY3Rpb25hcnlSZWYsIChDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYykp
CkBAIC01OSw2ICs2Miw4IEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29y
ZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldERhdGFCdWZmZXIsIENNQmxvCiAjZGVmaW5lIENNU2Ft
cGxlQnVmZmVyR2V0RGF0YUJ1ZmZlciBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJH
ZXREYXRhQnVmZmVyCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlv
blJlZiwgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYpLCAoc2J1ZikpCiAjZGVmaW5lIENNU2FtcGxl
QnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24gc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVm
ZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24KK1NPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRp
b25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYsIHNpemVfdCBwYWNrZXREZXNj
cmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKiBwYWNrZXREZXNjcmlw
dGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVzY3JpcHRpb25zU2l6ZU5lZWRlZE91dCksIChzYnVm
LCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHBhY2tldERl
c2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpKQorI2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb25zIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZl
ckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZv
LCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYsIENNSXRlbUluZGV4IHNhbXBsZUlu
ZGV4LCBDTVNhbXBsZVRpbWluZ0luZm8qIHRpbWluZ0luZm9PdXQpLCAoc2J1Ziwgc2FtcGxlSW5k
ZXgsIHRpbWluZ0luZm9PdXQpKQogI2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWlu
Z0luZm8gc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5m
bwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxl
QnVmZmVyRGF0YUlzUmVhZHksIEJvb2xlYW4sIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNi
dWYpKQpAQCAtMTY4LDYgKzE3Myw4IEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBrQ01UZXh0VmVydGljYWxMYXlvdXRfUmlnaHRUb0xlZnQsCiAKICNpZiBQ
TEFURk9STShDT0NPQSkKIAorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNQmxvY2tCdWZmZXJDcmVhdGVDb250aWd1b3VzLCBPU1N0YXR1cywgKENGQWxsb2Nh
dG9yUmVmIHN0cnVjdHVyZUFsbG9jYXRvciwgQ01CbG9ja0J1ZmZlclJlZiBzb3VyY2VCdWZmZXIs
IENGQWxsb2NhdG9yUmVmIGJsb2NrQWxsb2NhdG9yLCBjb25zdCBDTUJsb2NrQnVmZmVyQ3VzdG9t
QmxvY2tTb3VyY2UqIGN1c3RvbUJsb2NrU291cmNlLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXpl
X3QgZGF0YUxlbmd0aCwgQ01CbG9ja0J1ZmZlckZsYWdzIGZsYWdzLCBDTUJsb2NrQnVmZmVyUmVm
KiBibG9ja0J1ZmZlck91dCksIChzdHJ1Y3R1cmVBbGxvY2F0b3IsIHNvdXJjZUJ1ZmZlciwgYmxv
Y2tBbGxvY2F0b3IsIGN1c3RvbUJsb2NrU291cmNlLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgs
IGZsYWdzLCBibG9ja0J1ZmZlck91dCkpCisjZGVmaW5lIENNQmxvY2tCdWZmZXJDcmVhdGVDb250
aWd1b3VzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cwog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVz
Y3JpcHRpb25HZXRNZWRpYVN1YlR5cGUsIEZvdXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRp
b25SZWYgZGVzYyksIChkZXNjKSkKICNkZWZpbmUgQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlh
U3ViVHlwZSBzb2Z0TGlua19Db3JlTWVkaWFfQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3Vi
VHlwZQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9y
bWF0RGVzY3JpcHRpb25HZXRNZWRpYVR5cGUsIENNTWVkaWFUeXBlLCAoQ01Gb3JtYXREZXNjcmlw
dGlvblJlZiBkZXNjKSwgKGRlc2MpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCmluZGV4IGIzMjQxNTliZTFlZmU3YTVlNWZlMmIy
NjRkNDFhNmEwYzg0ZmQ0OWIuLjcwMGU5YzMyYzRjZmIxYmRjMzBlY2Y0N2EwMDA2MzA3MjA1MjY5
MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9u
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlv
blNvZnRMaW5rLmgKQEAgLTMyNCw0ICszMjQsMTEgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9I
RUFERVIoUEFMLCBBVkZvdW5kYXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWQK
ICNkZWZpbmUgQVZPdXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlv
biBQQUw6OmdldF9BVkZvdW5kYXRpb25fQVZPdXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0RpZENo
YW5nZU5vdGlmaWNhdGlvbigpCiAjZW5kaWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAor
I2lmIFBMQVRGT1JNKENPQ09BKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1
ZGlvQ29udmVydGVyKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvRm9y
bWF0KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvQ29tcHJlc3NlZEJ1
ZmZlcikKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb1BDTUJ1ZmZlcikK
KyNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKKwogI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNv
ZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0
TGluay5tbQppbmRleCAzN2M4YjFmYWZkNThjY2JjNmU4NTBjNmYzMDExNzY3YzdkYTMxNjQ1Li43
MzM5ODQ1ZTA3MjY1ODAxZTA2NDAzMDNiMmUyOTFhMDEyNGU4NzBmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KQEAgLTIz
MCw3ICsyMzAsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQ
QUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb25Sb3V0ZQogCiBTT0ZUX0xJTktfQ09OU1RB
TlRfTUFZX0ZBSUxfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZV
UkxBc3NldEhUVFBDb29raWVzS2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQogU09GVF9MSU5L
X0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRp
b24sIEFWVVJMQXNzZXRSZXF1aXJlc0N1c3RvbVVSTExvYWRpbmdLZXksIE5TU3RyaW5nICosIFBB
TF9FWFBPUlQpCi0jZW5kaWYKKyNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQogCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShB
UFBMRVRWKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBBVkZvdW5kYXRpb24s
IEFWQ2FwdHVyZVNlc3Npb25TZXRBdXRob3JpemVkVG9Vc2VDYW1lcmFJbk11bHRpcGxlRm9yZWdy
b3VuZEFwcExheW91dCwgdm9pZCwgKEFWQ2FwdHVyZVNlc3Npb24gKnNlc3Npb24pLCAoc2Vzc2lv
bikpCkBAIC0yNDQsNCArMjQ0LDExIEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJ
VEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlJvdXRlRGV0ZWN0b3JNdWx0CiBTT0ZUX0xJ
TktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZP
dXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbiwgTlNTdHJpbmcg
KiwgUEFMX0VYUE9SVCkKICNlbmRpZiAvLyBIQVZFKEFWUk9VVEVQSUNLRVJWSUVXKQogCisjaWYg
UExBVEZPUk0oQ09DT0EpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQ
QUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0NvbnZlcnRlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElO
S19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlv
Rm9ybWF0LCBQQUxfRVhQT1JUKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBP
UlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9Db21wcmVzc2VkQnVmZmVyLCBQQUxfRVhQT1JU
KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRp
b24sIEFWQXVkaW9QQ01CdWZmZXIsIFBBTF9FWFBPUlQpCisjZW5kaWYKKwogI2VuZGlmIC8vIFVT
RShBVkZPVU5EQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNzYxMDQxOGJiZmE4ODZmOTc0OGQ1NTlkYTRhYmE4Y2E1OGUx
YmY0Yi4uOTg0MmNjMjI1ZmMzYTZjOTcwYzE1MGQyNGE4NWVkOGFiMDM3OWIxNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjMy
LDcgKzIzMiw3IEBACiAJCTA3RUU3NkVDMUJFOTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVW
aWRlb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDdFRTc2RUExQkU5NkRCMDAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDdFRTc2
RUYxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0VFNzZFRDFCRUE2MTk4
MDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMuaCAqLzsgfTsKIAkJMDdGNEU5
MzMyMEIzNTg3RjAwMkUzODAzIC8qIEFWQXNzZXRNSU1FVHlwZUNhY2hlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0M4QUQxMjFEMDczRDYzMDA4N0M1
Q0UgLyogQVZBc3NldE1JTUVUeXBlQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwotCQkwN0Y1Q0ZGNTI1ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1
ZGlvVXRpbGl0aWVzQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA3RjVDRkY0MjU4MkE0RjgwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXND
b2NvYS5oICovOyB9OworCQkwN0Y1Q0ZGNTI1ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRp
bGl0aWVzQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA3RjVDRkY0MjU4MkE0RjgwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RjVD
RkY2MjU4MkE1MjkwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkYyMjU4MkE0Rjgw
MDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbSAqLzsgfTsKIAkJMDdGODc2ODQx
QUQ1ODBGOTAwOTA1ODQ5IC8qIE1lZGlhUGxheWJhY2tUYXJnZXRDb250ZXh0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y4NzY4MzFBRDRBOTQ1MDA5
MDU4NDkgLyogTWVkaWFQbGF5YmFja1RhcmdldENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0Y5NDQxNjE4NjREMDQ2MDA1RDMxQ0Ig
LyogUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREFFOEMwODE3NDZCOTU3MDA1MzJENzggLyogUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmlu
ZGV4IGEzYjNhMmYxMTU3YzJiN2U1MDBiMmEwNGU0NjhlZDU2YWQyMDQ0YmMuLjdkN2NkMmNlMWRl
ZmI4YzA1MTAzYjQzODFkYTc1ZjcwYjcyODM0N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcApAQCAtMTA1NSw3ICsxMDU1LDcgQEAgU3RyaW5nIEhUTUxNZWRpYUVs
ZW1lbnQ6OmNhblBsYXlUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0CiAgICAgLy8g
VGVtcG9yYXJpbHkgd29yayBhcm91bmQgYnVnIDIyNjkyMi4gRm9yIG5vdyBjbGFpbSB0aGF0IHRo
ZSBvcHVzIGFuZCB2b3JiaXMgY29kZWNzIGFyZW4ndCBzdXBwb3J0ZWQKICAgICAvLyBzbyB0aGF0
IHNpdGVzIHJlbHlpbmcgb24gdGhpcyB0ZXN0IHRvIGRldGVybWluZSBpZiB3ZWJhdWRpbyB1c2Ug
b2Ygb3B1cyBvciB2b3JiaXMgd29uJ3QgZXJyb3IuCiAgICAgYXV0byBjb2RlY3MgPSBjb250ZW50
VHlwZS5jb2RlY3MoKTsKLSAgICBpZiAoc3VwcG9ydCA9PSBNZWRpYVBsYXllcjo6U3VwcG9ydHNU
eXBlOjpJc1N1cHBvcnRlZCAmJiAoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikgfHwgY29kZWNzLmNv
bnRhaW5zKCJ2b3JiaXMiKSkpCisgICAgaWYgKHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBv
cnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYgKChjb2RlY3MuY29udGFpbnMoIm9wdXMiKSAmJiAhd2Vi
TVdlYkF1ZGlvRW5hYmxlZCgpKSB8fCBjb2RlY3MuY29udGFpbnMoInZvcmJpcyIpKSkKICAgICAg
ICAgc3VwcG9ydCA9IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkOwog
I2VuZGlmCiAKQEAgLTgxNzUsNiArODE3NSwxNSBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Omhh
c01lZGlhU3RyZWFtU291cmNlKCkgY29uc3QKICNlbmRpZgogfQogCitib29sIEhUTUxNZWRpYUVs
ZW1lbnQ6OndlYk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdAoreworI2lmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkud2ViTVdlYkF1ZGlvRW5hYmxlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5k
aWYKK30KKwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
Om1lZGlhU3RyZWFtQ2FwdHVyZVN0YXJ0ZWQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaAppbmRleCAxMDUxYzA1ODUzZmMwMTJlZGRhY2Q4Yjc0Yzk0NWFiYmFjMmQ1MzIw
Li5mOTI2ZWQ2MjczMDExZDUxNjQ4YWRlZjU3OTdkYmVkZmE2ZGI4MmQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtOTM5LDYgKzkzOSw4IEBAIHByaXZhdGU6CiAg
ICAgY29uc3QgTG9nZ2VyJiBtZWRpYVBsYXllckxvZ2dlcigpIGZpbmFsIHsgcmV0dXJuIGxvZ2dl
cigpOyB9CiAjZW5kaWYKIAorICAgIGJvb2wgd2ViTVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0Owor
CiAgICAgVGltZXIgbV9wcm9ncmVzc0V2ZW50VGltZXI7CiAgICAgVGltZXIgbV9wbGF5YmFja1By
b2dyZXNzVGltZXI7CiAgICAgVGltZXIgbV9zY2FuVGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4IGEwZDNjZWE3OWQ3ZTBhZTA3NDgyNDBk
ZDIyZWVlMmQ1NTc1MDQ0YTYuLjY4NWEwYTJhZDc1NDcyNjk5YWViZjIxOWZhMGMyNTE1MjFiZWIw
YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBA
IC0yMzUsNiArMjM1LDggQEAgcHVibGljOgogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAg
dm9pZCBzZXRXZWJNUGFyc2VyRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX3dlYk1QYXJzZXJF
bmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB3ZWJNUGFyc2VyRW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fd2ViTVBhcnNlckVuYWJsZWQ7IH0KKyAgICB2b2lkIHNldFdlYk1XZWJBdWRp
b0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJNV2ViQXVkaW9FbmFibGVkID0gaXNFbmFi
bGVkOyB9CisgICAgYm9vbCB3ZWJNV2ViQXVkaW9FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93
ZWJNV2ViQXVkaW9FbmFibGVkOyB9CiAjZW5kaWYKIAogI2lmIEhBVkUoQ0VMRVNUSUFMKQpAQCAt
MzcxLDYgKzM3Myw3IEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAg
IGJvb2wgbV93ZWJNUGFyc2VyRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX3dlYk1XZWJB
dWRpb0VuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCmluZGV4IDhkYTYwMzc3ODgyNDMzMzBhZTI1
MGQ5YzEwYzcyZWUwNTg4ZTc2MGMuLjA4NDdiOTc0ZTkzZTg3MmEyMjllN2ExNjEwZjJkNDRlOTAy
Y2MwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaApAQCAtNTcsNyArNTcs
NyBAQCBzdHJ1Y3QgUGxhdGZvcm1TYW1wbGUgewogICAgIH0gc2FtcGxlOwogfTsKIAotY2xhc3Mg
V0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
TWVkaWFTYW1wbGU+IHsKK2NsYXNzIE1lZGlhU2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZD
b3VudGVkPE1lZGlhU2FtcGxlPiB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+TWVkaWFTYW1wbGUo
KSA9IGRlZmF1bHQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvQnVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNw
cAppbmRleCAyNDNlMTA2YjllMzNkYTkzZGU5YTBjYWQzM2JjMDhlOTIwNjUzMjAwLi43ZjAzYzMz
MWVlMjAxMGM5ODkyOWEwMzI0ZGNhYzk1NWQ2NWY4YmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCkBAIC03Myw2ICs3MywxNiBAQCB2b2lkIEF1ZGlvQnVz
OjpzZXRDaGFubmVsTWVtb3J5KHVuc2lnbmVkIGNoYW5uZWxJbmRleCwgZmxvYXQqIHN0b3JhZ2Us
IHNpemVfdCBsZQogICAgIH0KIH0KIAordm9pZCBBdWRpb0J1czo6c2V0TGVuZ3RoKHNpemVfdCBu
ZXdMZW5ndGgpCit7CisgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
TihuZXdMZW5ndGggPD0gbV9sZW5ndGgpOworICAgIGlmIChuZXdMZW5ndGggPT0gbV9sZW5ndGgp
CisgICAgICAgIHJldHVybjsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVs
cy5zaXplKCk7ICsraSkKKyAgICAgICAgbV9jaGFubmVsc1tpXS0+c2V0TGVuZ3RoKG5ld0xlbmd0
aCk7CisgICAgbV9sZW5ndGggPSBuZXdMZW5ndGg7Cit9CisKIHZvaWQgQXVkaW9CdXM6Onplcm8o
KQogewogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoYW5uZWxzLnNpemUoKTsgKytp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDBlODExMjEx
YjRkYTJjYThjNjcwYjU4YjMyOTZiMzVjZTY5Y2Q0YS4uMzE3NTUxYzllZjExNWYyNmMwOWU1ODAw
ODkzNmMyNDViYzE0YTA3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9CdXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1
cy5oCkBAIC04Myw2ICs4Myw5IEBAIHB1YmxpYzoKICAgICAvLyBOdW1iZXIgb2Ygc2FtcGxlLWZy
YW1lcwogICAgIHNpemVfdCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQogCisg
ICAgLy8gUmVkdWNlIHRoZSBudW1iZXIgb2YgZnJhbWVzIGF2YWlsYWJsZSB3aXRob3V0IGNoYW5n
aW5nIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHNpemUuCisgICAgdm9pZCBzZXRMZW5ndGgoc2l6ZV90
KTsKKwogICAgIC8vIFNhbXBsZS1yYXRlIDogMC4wIGlmIHVua25vd24gb3IgImRvbid0IGNhcmUi
CiAgICAgZmxvYXQgc2FtcGxlUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxlUmF0ZTsgfQog
ICAgIHZvaWQgc2V0U2FtcGxlUmF0ZShmbG9hdCBzYW1wbGVSYXRlKSB7IG1fc2FtcGxlUmF0ZSA9
IHNhbXBsZVJhdGU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvQ2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFu
bmVsLmgKaW5kZXggOTc1YmQwYjVhYmQ4ZjcyNTVhMDVhN2RkNzBmOTY1MGIxZDQ5NDY2Ny4uMTY3
NmY1NmI2ZGRiOTcwOWMyZDQ2ZTc4OWU2OTk4YmEyZmYxNTUyOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKQEAgLTc0LDYgKzc0LDEzIEBAIHB1Ymxp
YzoKICAgICAvLyBIb3cgbWFueSBzYW1wbGUtZnJhbWVzIGRvIHdlIGNvbnRhaW4/CiAgICAgc2l6
ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CiAKKyAgICAvLyBTZXQgbmV3
IGxlbmd0aC4gQ2FuIG9ubHkgYmUgc2V0IHRvIGEgdmFsdWUgbG93ZXIgdGhhbiB0aGUgY3VycmVu
dCBsZW5ndGguCisgICAgdm9pZCBzZXRMZW5ndGgoc2l6ZV90IG5ld0xlbmd0aCkKKyAgICB7Cisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3Ro
IDw9IGxlbmd0aCgpKTsKKyAgICAgICAgbV9sZW5ndGggPSBuZXdMZW5ndGg7CisgICAgfQorCiAg
ICAgLy8gRGlyZWN0IGFjY2VzcyB0byBQQ00gc2FtcGxlIGRhdGEuIE5vbi1jb25zdCBhY2Nlc3Nv
ciBjbGVhcnMgc2lsZW50IGZsYWcuCiAgICAgZmxvYXQqIG11dGFibGVEYXRhKCkKICAgICB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVS
ZWFkZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRp
b0ZpbGVSZWFkZXJDb2NvYS5jcHAKaW5kZXggNWQ1NmI5ZWUxYTBkM2Q2N2E3OWMzMDc2MWQxMzgx
NWQ3YzA2NDRjZS4uZTZlMTM1MmZjOGI1YzUzM2NjNmI2OTliODZjMTMyMGE4NTkyM2U2YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVh
ZGVyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1
ZGlvRmlsZVJlYWRlckNvY29hLmNwcApAQCAtMzQsMjEgKzM0LDM2IEBACiAKICNpbmNsdWRlICJB
dWRpb0J1cy5oIgogI2luY2x1ZGUgIkF1ZGlvRmlsZVJlYWRlci5oIgorI2luY2x1ZGUgIkF1ZGlv
U2FtcGxlRGF0YVNvdXJjZS5oIgorI2luY2x1ZGUgIkF1ZGlvVHJhY2tQcml2YXRlLmgiCiAjaW5j
bHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCisjaW5jbHVkZSAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0
ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJNZWRpYVNhbXBsZUFWRk9iakMu
aCIKKyNpbmNsdWRlICJWaWRlb1RyYWNrUHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYk1BdWRpb1V0
aWxpdGllc0NvY29hLmgiCisjaW5jbHVkZSA8QXVkaW9Ub29sYm94L0F1ZGlvQ29udmVydGVyLmg+
CiAjaW5jbHVkZSA8QXVkaW9Ub29sYm94L0V4dGVuZGVkQXVkaW9GaWxlLmg+CiAjaW5jbHVkZSA8
Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KLSNpbmNsdWRlIDxwYWwvY2YvQXVkaW9U
b29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxTb3VyY2VCdWZmZXJQYXJzZXJXZWJNLmg+Cisj
aW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgogI2lu
Y2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5j
bHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9TY29wZS5oPgorI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4K
KyNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIEF1ZGlvQnVmZmVyTGlzdCogdHJ5Q3Jl
YXRlQXVkaW9CdWZmZXJMaXN0KHNpemVfdCBudW1iZXJPZkJ1ZmZlcnMpCiB7CisgICAgaWYgKCFu
dW1iZXJPZkJ1ZmZlcnMpCisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIENoZWNrZWRTaXpl
IGJ1ZmZlckxpc3RTaXplID0gc2l6ZW9mKEF1ZGlvQnVmZmVyTGlzdCkgLSBzaXplb2YoQXVkaW9C
dWZmZXIpOwotICAgIGJ1ZmZlckxpc3RTaXplICs9IG51bWJlck9mQnVmZmVycyAqIHNpemVvZihB
dWRpb0J1ZmZlcik7CisgICAgYnVmZmVyTGlzdFNpemUgKz0gV1RGOjpjaGVja2VkUHJvZHVjdDxz
aXplX3Q+KG51bWJlck9mQnVmZmVycywgc2l6ZW9mKEF1ZGlvQnVmZmVyKSk7CiAgICAgaWYgKGJ1
ZmZlckxpc3RTaXplLmhhc092ZXJmbG93ZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAK
QEAgLTg3LDEwICsxMDIsNTQgQEAgc3RhdGljIGJvb2wgdmFsaWRhdGVBdWRpb0J1ZmZlckxpc3Qo
QXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0KQogICAgIHJldHVybiB0cnVlOwogfQogCisvLyBP
biBzdGFjayBSQUlJIGNsYXNzIHRoYXQgd2lsbCBmcmVlIHRoZSBhbGxvY2F0ZWQgQXVkaW9CdWZm
ZXJMaXN0KiBhcyBuZWVkZWQuCitjbGFzcyBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgeworcHVibGlj
OgorICAgIGV4cGxpY2l0IEF1ZGlvQnVmZmVyTGlzdEhvbGRlcihzaXplX3QgbnVtYmVyT2ZDaGFu
bmVscykKKyAgICAgICAgOiBtX2J1ZmZlckxpc3QodHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51
bWJlck9mQ2hhbm5lbHMpKQorICAgIHsKKyAgICB9CisKKyAgICB+QXVkaW9CdWZmZXJMaXN0SG9s
ZGVyKCkKKyAgICB7CisgICAgICAgIGlmIChtX2J1ZmZlckxpc3QpCisgICAgICAgICAgICBkZXN0
cm95QXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7CisgICAgfQorCisgICAgZXhwbGljaXQg
b3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuICEhbV9idWZmZXJMaXN0OyB9CisgICAgQXVk
aW9CdWZmZXJMaXN0KiBvcGVyYXRvci0+KCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXJMaXN0OyB9
CisgICAgb3BlcmF0b3IgQXVkaW9CdWZmZXJMaXN0KigpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVy
TGlzdDsgfQorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIHZhbGlkYXRlQXVkaW9C
dWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7IH0KK3ByaXZhdGU6CisgICAgQXVkaW9CdWZmZXJMaXN0
KiBtX2J1ZmZlckxpc3Q7Cit9OworCitjbGFzcyBBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YSB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisKK3B1YmxpYzoKKyNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQorICAgIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk06OkluaXRpYWxpemF0aW9uU2VnbWVu
dCBtX2luaXRTZWdtZW50OworI2VuZGlmCisgICAgTWVkaWFUaW1lIG1fZHVyYXRpb247CisgICAg
VmVjdG9yPFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+PiBtX3NhbXBsZXM7Cit9OworCiBBdWRpb0Zp
bGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNp
emUpCiAgICAgOiBtX2RhdGEoZGF0YSkKICAgICAsIG1fZGF0YVNpemUoZGF0YVNpemUpCisjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ2dlcihMb2dnZXI6OmNyZWF0ZSh0aGlz
KSkKKyAgICAsIG1fbG9nSWRlbnRpZmllcihMb2dnZXJIZWxwZXI6OnVuaXF1ZUxvZ0lkZW50aWZp
ZXIoKSkKKyNlbmRpZgogeworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgaWYgKGlzTWF5
YmVXZWJNKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpKSB7Cisg
ICAgICAgIG1fd2VibURhdGEgPSBkZW11eFdlYk1EYXRhKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4
X3QqPihkYXRhKSwgZGF0YVNpemUpOworICAgICAgICBpZiAobV93ZWJtRGF0YSkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKICAgICBpZiAoUEFMOjpBdWRpb0ZpbGVPcGVuV2l0
aENhbGxiYWNrcyh0aGlzLCByZWFkUHJvYywgMCwgZ2V0U2l6ZVByb2MsIDAsIDAsICZtX2F1ZGlv
RmlsZUlEKSAhPSBub0VycikKICAgICAgICAgcmV0dXJuOwogCkBAIC0xMTEsNiArMTcwLDE5MCBA
QCBBdWRpb0ZpbGVSZWFkZXI6On5BdWRpb0ZpbGVSZWFkZXIoKQogICAgIG1fYXVkaW9GaWxlSUQg
PSAwOwogfQogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKK2Jvb2wgQXVkaW9GaWxlUmVhZGVy
Ojppc01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUpIGNvbnN0
Cit7CisgICAgLy8gRnJvbSBodHRwczovL21pbWVzbmlmZi5zcGVjLndoYXR3Zy5vcmcvI3NpZ25h
dHVyZS1mb3Itd2VibQorICAgIHJldHVybiBkYXRhU2l6ZSA+PSA0ICYmIGRhdGFbMF0gPT0gMHgx
QSAmJiBkYXRhWzFdID09IDB4NDUgJiYgZGF0YVsyXSA9PSAweERGICYmIGRhdGFbM10gPT0gMHhB
MzsKK30KKworc3RkOjp1bmlxdWVfcHRyPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPiBBdWRpb0Zp
bGVSZWFkZXI6OmRlbXV4V2ViTURhdGEoY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFT
aXplKSBjb25zdAoreworICAgIGF1dG8gcGFyc2VyID0gYWRvcHRSZWYobmV3IFNvdXJjZUJ1ZmZl
clBhcnNlcldlYk0oKSk7CisgICAgYm9vbCBlcnJvciA9IGZhbHNlOworICAgIHN0ZDo6b3B0aW9u
YWw8dWludDY0X3Q+IGF1ZGlvVHJhY2tJZDsKKyAgICBNZWRpYVRpbWUgZHVyYXRpb247CisgICAg
U291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25TZWdtZW50IGluaXRTZWdtZW50
OworICAgIFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPj4gc2FtcGxlczsKKyAgICBwYXJz
ZXItPnNldERpZEVuY291bnRlckVycm9yRHVyaW5nUGFyc2luZ0NhbGxiYWNrKFsmXSh1aW50NjRf
dCkgeworICAgICAgICBlcnJvciA9IHRydWU7CisgICAgfSk7CisgICAgcGFyc2VyLT5zZXREaWRQ
YXJzZUluaXRpYWxpemF0aW9uRGF0YUNhbGxiYWNrKFsmXShTb3VyY2VCdWZmZXJQYXJzZXJXZWJN
OjpJbml0aWFsaXphdGlvblNlZ21lbnQmJiBpbml0KSB7CisgICAgICAgIGZvciAoYXV0byYgYXVk
aW9UcmFjayA6IGluaXQuYXVkaW9UcmFja3MpIHsKKyAgICAgICAgICAgIGlmIChhdWRpb1RyYWNr
LnRyYWNrICYmIGF1ZGlvVHJhY2sudHJhY2stPnRyYWNrVUlEKCkpIHsKKyAgICAgICAgICAgICAg
ICBkdXJhdGlvbiA9IGluaXQuZHVyYXRpb247CisgICAgICAgICAgICAgICAgYXVkaW9UcmFja0lk
ID0gYXVkaW9UcmFjay50cmFjay0+dHJhY2tVSUQoKTsKKyAgICAgICAgICAgICAgICBpbml0U2Vn
bWVudCA9IFdURk1vdmUoaW5pdCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgfSk7CisgICAgcGFyc2VyLT5zZXREaWRQcm92aWRlTWVkaWFE
YXRhQ2FsbGJhY2soWyZdKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNr
SUQsIGNvbnN0IFN0cmluZyYpIHsKKyAgICAgICAgaWYgKCFhdWRpb1RyYWNrSWQgfHwgdHJhY2tJ
RCAhPSAqYXVkaW9UcmFja0lkKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBzYW1wbGVz
LmFwcGVuZChzdGF0aWNfcmVmZXJlbmNlX2Nhc3Q8TWVkaWFTYW1wbGVBVkZPYmpDPihXVEZNb3Zl
KHNhbXBsZSkpKTsKKyAgICB9KTsKKyAgICBwYXJzZXItPnNldENhbGxPbkNsaWVudFRocmVhZENh
bGxiYWNrKFtdKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKSB7CisgICAgICAgIGZ1
bmN0aW9uKCk7CisgICAgfSk7CisgICAgVmVjdG9yPHVpbnQ4X3Q+IHZlY3RvcihkYXRhLCBkYXRh
U2l6ZSk7CisgICAgU291cmNlQnVmZmVyUGFyc2VyOjpTZWdtZW50IHNlZ21lbnQoV1RGTW92ZSh2
ZWN0b3IpKTsKKyAgICBwYXJzZXItPmFwcGVuZERhdGEoV1RGTW92ZShzZWdtZW50KSk7CisgICAg
aWYgKCFhdWRpb1RyYWNrSWQpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHBhcnNlci0+
Zmx1c2hQZW5kaW5nQXVkaW9CdWZmZXJzKCk7CisgICAgcmV0dXJuIG1ha2VVbmlxdWU8QXVkaW9G
aWxlUmVhZGVyV2ViTURhdGE+KEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhIHsgV1RGTW92ZShpbml0
U2VnbWVudCksIFdURk1vdmUoZHVyYXRpb24pLCBXVEZNb3ZlKHNhbXBsZXMpIH0pOworfQorCitz
dHJ1Y3QgUGFzc3Rocm91Z2hVc2VyRGF0YSB7CisgICAgVUludDMyIG1fY2hhbm5lbHM7CisgICAg
VUludDMyIG1fZGF0YVNpemU7CisgICAgY29uc3Qgdm9pZCogbV9kYXRhOworICAgIFVJbnQzMiBt
X2luZGV4OworICAgIFZlY3RvcjxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPiYgbV9wYWNr
ZXRzOworfTsKKworLy8gRXJyb3IgdmFsdWUgd2UgcGFzcyB0aHJvdWdoIHRoZSBkZWNvZGVyIHRv
IHNpZ25hbCB0aGF0IG5vdGhpbmcKKy8vIGhhcyBnb25lIHdyb25nIGR1cmluZyBkZWNvZGluZyBh
bmQgd2UncmUgZG9uZSBwcm9jZXNzaW5nIHRoZSBwYWNrZXQuCitjb25zdCB1aW50MzJfdCBrTm9N
b3JlRGF0YUVyciA9ICdNT0FSJzsKKworc3RhdGljIE9TU3RhdHVzIHBhc3N0aHJvdWdoSW5wdXRE
YXRhQ2FsbGJhY2soQXVkaW9Db252ZXJ0ZXJSZWYsIFVJbnQzMiogbnVtRGF0YVBhY2tldHMsIEF1
ZGlvQnVmZmVyTGlzdCogZGF0YSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbioqIHBhY2tl
dERlc2MsIHZvaWQqIGluVXNlckRhdGEpCit7CisgICAgYXV0byogdXNlckRhdGEgPSBzdGF0aWNf
Y2FzdDxQYXNzdGhyb3VnaFVzZXJEYXRhKj4oaW5Vc2VyRGF0YSk7CisgICAgaWYgKHVzZXJEYXRh
LT5tX2luZGV4ID09IHVzZXJEYXRhLT5tX3BhY2tldHMuc2l6ZSgpKSB7CisgICAgICAgICpudW1E
YXRhUGFja2V0cyA9IDA7CisgICAgICAgIHJldHVybiBrTm9Nb3JlRGF0YUVycjsKKyAgICB9CisK
KyAgICBpZiAocGFja2V0RGVzYykgeworICAgICAgICBpZiAodXNlckRhdGEtPm1faW5kZXggPj0g
dXNlckRhdGEtPm1fcGFja2V0cy5zaXplKCkpIHsKKyAgICAgICAgICAgICpudW1EYXRhUGFja2V0
cyA9IDA7CisgICAgICAgICAgICByZXR1cm4ga0F1ZGlvQ29udmVydGVyRXJyX1JlcXVpcmVzUGFj
a2V0RGVzY3JpcHRpb25zRXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgKnBhY2tldERlc2MgPSAm
dXNlckRhdGEtPm1fcGFja2V0c1t1c2VyRGF0YS0+bV9pbmRleF07CisgICAgfQorCisgICAgZGF0
YS0+bUJ1ZmZlcnNbMF0ubU51bWJlckNoYW5uZWxzID0gdXNlckRhdGEtPm1fY2hhbm5lbHM7Cisg
ICAgZGF0YS0+bUJ1ZmZlcnNbMF0ubURhdGFCeXRlU2l6ZSA9IHVzZXJEYXRhLT5tX2RhdGFTaXpl
OworICAgIGRhdGEtPm1CdWZmZXJzWzBdLm1EYXRhID0gY29uc3RfY2FzdDx2b2lkKj4odXNlckRh
dGEtPm1fZGF0YSk7CisKKyAgICAqbnVtRGF0YVBhY2tldHMgPSAxOworICAgIHVzZXJEYXRhLT5t
X2luZGV4Kys7CisKKyAgICByZXR1cm4gbm9FcnI7Cit9CisKK1ZlY3RvcjxBdWRpb1N0cmVhbVBh
Y2tldERlc2NyaXB0aW9uPiBBdWRpb0ZpbGVSZWFkZXI6OmdldFBhY2tldERlc2NyaXB0aW9ucyhD
TVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIpIGNvbnN0Cit7CisgICAgc2l6ZV90IHBhY2tl
dERlc2NyaXB0aW9uc1NpemU7CisgICAgaWYgKFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0
cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIDAsIG51bGxwdHIsICZwYWNrZXRE
ZXNjcmlwdGlvbnNTaXplKSAhPSBub0VycikgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChX
ZWJBdWRpbywgIlVuYWJsZSB0byBnZXQgcGFja2V0IGRlc2NyaXB0aW9uIGxpc3Qgc2l6ZSIpOwor
ICAgICAgICByZXR1cm4geyB9OworICAgIH0KKyAgICBzaXplX3QgbnVtRGVzY3JpcHRpb25zID0g
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSAvIHNpemVvZihBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0
aW9uKTsKKyAgICBpZiAoIW51bURlc2NyaXB0aW9ucykgeworICAgICAgICBSRUxFQVNFX0xPR19G
QVVMVChXZWJBdWRpbywgIk5vIHBhY2tldCBkZXNjcmlwdGlvbiBmb3VuZC4iKTsKKyAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICB9CisgICAgVmVjdG9yPEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRp
b24+IGRlc2NyaXB0aW9ucyhudW1EZXNjcmlwdGlvbnMpOworICAgIGlmIChQQUw6OkNNU2FtcGxl
QnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCBwYWNr
ZXREZXNjcmlwdGlvbnNTaXplLCBkZXNjcmlwdGlvbnMuZGF0YSgpLCBudWxscHRyKSAhPSBub0Vy
cikgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBnZXQg
cGFja2V0IGRlc2NyaXB0aW9uIGxpc3QiKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9Cisg
ICAgYXV0byBudW1QYWNrZXRzID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2Ft
cGxlQnVmZmVyKTsKKyAgICBpZiAobnVtRGVzY3JpcHRpb25zICE9IHNpemVfdChudW1QYWNrZXRz
KSkgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuaGFuZGxlZCBDTVNh
bXBsZUJ1ZmZlciBzdHJ1Y3R1cmUiKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAg
cmV0dXJuIGRlc2NyaXB0aW9uczsKK30KKworc3RkOjpvcHRpb25hbDxzaXplX3Q+IEF1ZGlvRmls
ZVJlYWRlcjo6ZGVjb2RlV2ViTURhdGEoQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0LCBzaXpl
X3QgbnVtYmVyT2ZGcmFtZXMsIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5G
b3JtYXQsIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgb3V0Rm9ybWF0KSBjb25z
dAoreworICAgIEF1ZGlvQ29udmVydGVyUmVmIGNvbnZlcnRlcjsKKyAgICBpZiAoUEFMOjpBdWRp
b0NvbnZlcnRlck5ldygmaW5Gb3JtYXQsICZvdXRGb3JtYXQsICZjb252ZXJ0ZXIpICE9IG5vRXJy
KSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIGNyZWF0
ZSBkZWNvZGVyIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorICAgIGF1dG8gY2xlYW51
cCA9IG1ha2VTY29wZUV4aXQoWyZdIHsKKyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bv
c2UoY29udmVydGVyKTsKKyAgICB9KTsKKyAgICBhdXRvIGZvcm1hdERlc2NyaXB0aW9uID0gUEFM
OjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKG1fd2VibURhdGEtPm1fc2FtcGxl
c1swXS0+c2FtcGxlQnVmZmVyKCkpOworICAgIGlmICghZm9ybWF0RGVzY3JpcHRpb24pIHsKKyAg
ICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8gcmV0cmlldmUgZm9y
bWF0IGRlc2NyaXB0aW9uIGZyb20gZmlyc3Qgc2FtcGxlIik7CisgICAgICAgIHJldHVybiB7IH07
CisgICAgfQorICAgIHNpemVfdCBtYWdpY0Nvb2tpZVNpemUgPSAwOworICAgIGNvbnN0IHZvaWQq
IG1hZ2ljQ29va2llID0gUEFMOjpDTUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25HZXRNYWdpY0Nvb2tp
ZShmb3JtYXREZXNjcmlwdGlvbiwgJm1hZ2ljQ29va2llU2l6ZSk7CisgICAgaWYgKG1hZ2ljQ29v
a2llICYmIG1hZ2ljQ29va2llU2l6ZSkKKyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlclNldFBy
b3BlcnR5KGNvbnZlcnRlciwga0F1ZGlvQ29udmVydGVyRGVjb21wcmVzc2lvbk1hZ2ljQ29va2ll
LCBtYWdpY0Nvb2tpZVNpemUsIG1hZ2ljQ29va2llKTsKKworICAgIEF1ZGlvQnVmZmVyTGlzdEhv
bGRlciBkZWNvZGVkQnVmZmVyTGlzdChpbkZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZSk7CisgICAg
aWYgKCFkZWNvZGVkQnVmZmVyTGlzdCkgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJB
dWRpbywgIlVuYWJsZSB0byBjcmVhdGUgZGVjb2RlciIpOworICAgICAgICByZXR1cm4geyB9Owor
ICAgIH0KKworICAgIHNpemVfdCBkZWNvZGVkRnJhbWVzID0gMDsKKyAgICBPU1N0YXR1cyBzdGF0
dXM7CisgICAgZm9yIChhdXRvJiBzYW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAg
ICAgICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyID0gc2FtcGxlLT5zYW1wbGVCdWZm
ZXIoKTsKKyAgICAgICAgYXV0byBidWZmZXIgPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1
ZmZlcihzYW1wbGVCdWZmZXIpOworICAgICAgICBBU1NFUlQoUEFMOjpDTUJsb2NrQnVmZmVySXNS
YW5nZUNvbnRpZ3VvdXMoYnVmZmVyLCAwLCAwKSk7CisgICAgICAgIGlmICghUEFMOjpDTUJsb2Nr
QnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMoYnVmZmVyLCAwLCAwKSkgeworICAgICAgICAgICAgUkVM
RUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8gcmVhZCBzYW1wbGUgY29udGVudCAo
bm90IGNvbnRpZ3VvdXMpIik7CisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICB9CisK
KyAgICAgICAgc2l6ZV90IHNyY1NpemUgPSBQQUw6OkNNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3Ro
KGJ1ZmZlcik7CisgICAgICAgIGNoYXIqIHNyY0RhdGEgPSBudWxscHRyOworICAgICAgICBpZiAo
UEFMOjpDTUJsb2NrQnVmZmVyR2V0RGF0YVBvaW50ZXIoYnVmZmVyLCAwLCBudWxscHRyLCBudWxs
cHRyLCAmc3JjRGF0YSkgIT0gbm9FcnIpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxU
KFdlYkF1ZGlvLCAiVW5hYmxlIHRvIHJldHJpZXZlIGRhdGEiKTsKKyAgICAgICAgICAgIHJldHVy
biB7IH07CisgICAgICAgIH0KKworICAgICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IGdldFBhY2tl
dERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIpOworICAgICAgICBpZiAoZGVzY3JpcHRpb25zLmlz
RW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgUGFzc3Rocm91Z2hV
c2VyRGF0YSB1c2VyRGF0YSA9IHsgaW5Gb3JtYXQubUNoYW5uZWxzUGVyRnJhbWUsIFVJbnQzMihz
cmNTaXplKSwgc3JjRGF0YSwgMCwgZGVzY3JpcHRpb25zIH07CisKKyAgICAgICAgZG8geworICAg
ICAgICAgICAgaWYgKG51bWJlck9mRnJhbWVzIDwgZGVjb2RlZEZyYW1lcykgeworICAgICAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiRGVjb2RlZCBtb3JlIGZyYW1lcyB0
aGFuIGZpcnN0IGNhbGN1bGF0ZWQiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgLy8gaW46IHRoZSBtYXggbnVtYmVyIG9mIHBhY2tldHMg
d2UgY2FuIGhhbmRsZSBmcm9tIHRoZSBkZWNvZGVyLgorICAgICAgICAgICAgLy8gb3V0OiB0aGUg
bnVtYmVyIG9mIHBhY2tldHMgdGhlIGRlY29kZXIgaXMgYWN0dWFsbHkgcmV0dXJuaW5nLgorICAg
ICAgICAgICAgVUludDMyIG51bUZyYW1lcyA9IHN0ZDo6bWluPHVpbnQzMl90PihzdGQ6Om51bWVy
aWNfbGltaXRzPGludDMyX3Q+OjptYXgoKSAvIHNpemVvZihmbG9hdCksIG51bWJlck9mRnJhbWVz
IC0gZGVjb2RlZEZyYW1lcyk7CisKKyAgICAgICAgICAgIGZvciAoVUludDMyIGkgPSAwOyBpIDwg
aW5Gb3JtYXQubUNoYW5uZWxzUGVyRnJhbWU7IGkrKykgeworICAgICAgICAgICAgICAgIGRlY29k
ZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tTnVtYmVyQ2hhbm5lbHMgPSAxOworICAgICAgICAg
ICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YUJ5dGVTaXplID0gbnVt
RnJhbWVzICogc2l6ZW9mKGZsb2F0KTsKKyAgICAgICAgICAgICAgICBkZWNvZGVkQnVmZmVyTGlz
dC0+bUJ1ZmZlcnNbaV0ubURhdGEgPSBzdGF0aWNfY2FzdDxmbG9hdCo+KGJ1ZmZlckxpc3QtPm1C
dWZmZXJzW2ldLm1EYXRhKSArIGRlY29kZWRGcmFtZXM7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBzdGF0dXMgPSBQQUw6OkF1ZGlvQ29udmVydGVyRmlsbENvbXBsZXhCdWZmZXIoY29udmVy
dGVyLCBwYXNzdGhyb3VnaElucHV0RGF0YUNhbGxiYWNrLCAmdXNlckRhdGEsICZudW1GcmFtZXMs
IGRlY29kZWRCdWZmZXJMaXN0LCBudWxscHRyKTsKKyAgICAgICAgICAgIGlmIChzdGF0dXMgJiYg
c3RhdHVzICE9IGtOb01vcmVEYXRhRXJyKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0df
RkFVTFQoV2ViQXVkaW8sICJFcnJvciBkZWNvZGluZyBkYXRhIik7CisgICAgICAgICAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGRlY29kZWRGcmFtZXMgKz0g
bnVtRnJhbWVzOworICAgICAgICB9IHdoaWxlIChzdGF0dXMgIT0ga05vTW9yZURhdGFFcnIpOwor
ICAgIH0KKyAgICByZXR1cm4gZGVjb2RlZEZyYW1lczsKK30KKyNlbmRpZgorCiBPU1N0YXR1cyBB
dWRpb0ZpbGVSZWFkZXI6OnJlYWRQcm9jKHZvaWQqIGNsaWVudERhdGEsIFNJbnQ2NCBwb3NpdGlv
biwgVUludDMyIHJlcXVlc3RDb3VudCwgdm9pZCogYnVmZmVyLCBVSW50MzIqIGFjdHVhbENvdW50
KQogewogICAgIGF1dG8qIGF1ZGlvRmlsZVJlYWRlciA9IHN0YXRpY19jYXN0PEF1ZGlvRmlsZVJl
YWRlcio+KGNsaWVudERhdGEpOwpAQCAtMTM2LDY3ICszNzksMTMwIEBAIFNJbnQ2NCBBdWRpb0Zp
bGVSZWFkZXI6OmdldFNpemVQcm9jKHZvaWQqIGNsaWVudERhdGEpCiAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PEF1ZGlvRmlsZVJlYWRlcio+KGNsaWVudERhdGEpLT5kYXRhU2l6ZSgpOwogfQogCi1S
ZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJh
dGUsIGJvb2wgbWl4VG9Nb25vKQorc3NpemVfdCBBdWRpb0ZpbGVSZWFkZXI6Om51bWJlck9mRnJh
bWVzKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fZXh0QXVkaW9GaWxlUmVmKQotICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICBTSW50NjQgbnVtYmVyT2ZGcmFtZXNJbjY0ID0gMDsKIAotICAgIC8v
IEdldCBmaWxlJ3MgZGF0YSBmb3JtYXQKLSAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihtX2ZpbGVE
YXRhRm9ybWF0KTsKLSAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1
ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVEYXRhRm9ybWF0LCAmc2l6ZSwg
Jm1fZmlsZURhdGFGb3JtYXQpICE9IG5vRXJyKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICBpZiAoIW1fd2VibURhdGEpIHsKKyAgICAgICAgaWYgKCFtX2V4dEF1ZGlvRmlsZVJlZikKKyAg
ICAgICAgICAgIHJldHVybiAtMTsKIAotICAgIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzID0gbV9m
aWxlRGF0YUZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZTsKKyAgICAgICAgVUludDMyIHNpemUgPSBz
aXplb2YobnVtYmVyT2ZGcmFtZXNJbjY0KTsKKyAgICAgICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxl
R2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxl
TGVuZ3RoRnJhbWVzLCAmc2l6ZSwgJm51bWJlck9mRnJhbWVzSW42NCkgIT0gbm9FcnIgfHwgbnVt
YmVyT2ZGcmFtZXNJbjY0IDw9IDApIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdl
YkF1ZGlvLCAiVW5hYmxlIHRvIHJldHJpZXZlIG51bWJlciBvZiBmcmFtZXMgaW4gY29udGVudCAo
dW5zdXBwb3J0ZWQ/Iik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KIAotICAg
IC8vIE51bWJlciBvZiBmcmFtZXMKLSAgICBTSW50NjQgbnVtYmVyT2ZGcmFtZXM2NCA9IDA7Ci0g
ICAgc2l6ZSA9IHNpemVvZihudW1iZXJPZkZyYW1lczY0KTsKLSAgICBpZiAoUEFMOjpFeHRBdWRp
b0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5
X0ZpbGVMZW5ndGhGcmFtZXMsICZzaXplLCAmbnVtYmVyT2ZGcmFtZXM2NCkgIT0gbm9FcnIgfHwg
bnVtYmVyT2ZGcmFtZXM2NCA8PSAwKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAg
cmV0dXJuIG51bWJlck9mRnJhbWVzSW42NDsKKyAgICB9CisKKyAgICBpZiAobV93ZWJtRGF0YS0+
bV9zYW1wbGVzLmlzRW1wdHkoKSkgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRp
bywgIk5vIHNhbXBsZSBkZW11eGVkIGZyb20gd2VibSBjb250YWluZXIiKTsKKyAgICAgICAgcmV0
dXJuIC0xOworICAgIH0KKworICAgIC8vIENhbGN1bGF0ZSB0aGUgdG90YWwgbnVtYmVyIG9mIGRl
Y29kZWQgc2FtcGxlcyB0aGF0IHdlcmUgZGVtdXhlZC4KKyAgICAvLyBUaGlzIGNvZGUgb25seSBo
YW5kbGUgdGhlIENNU2FtcGxlQnVmZmVyIGFzIGdlbmVyYXRlZCBieSB0aGUgU291cmNlQnVmZmVy
UGFyc2VyV2ViTQorICAgIC8vIHdoZXJlIGEgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMg
YXJyYXkgaXMgYWx3YXlzIHByb3ZpZGVkIGV2ZW4gd2l0aAorICAgIC8vIENvbnN0YW50IGJpdHJh
dGUgYW5kIGNvbnN0YW50IGZyYW1lcy1wZXItcGFja2V0IGF1ZGlvLgorICAgIGZvciAoYXV0byYg
c2FtcGxlIDogbV93ZWJtRGF0YS0+bV9zYW1wbGVzKSB7CisgICAgICAgIGF1dG8gc2FtcGxlQnVm
ZmVyID0gc2FtcGxlLT5zYW1wbGVCdWZmZXIoKTsKKyAgICAgICAgY29uc3QgYXV0byBmb3JtYXRE
ZXNjcmlwdGlvbiA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbihzYW1w
bGVCdWZmZXIpOworICAgICAgICBpZiAoIWZvcm1hdERlc2NyaXB0aW9uKSB7CisgICAgICAgICAg
ICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byByZXRyaWV2ZSBmb3JtYXQg
ZGVzY3JpcHRpb25nIGZyb20gc2FtcGxlIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAg
ICAgIH0KKyAgICAgICAgY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25zdCBh
c2JkID0gUEFMOjpDTUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2NyaXB0
aW9uKGZvcm1hdERlc2NyaXB0aW9uKTsKKyAgICAgICAgaWYgKCFhc2JkKSB7CisgICAgICAgICAg
ICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byByZXRyaWV2ZSBhc2JkIGZy
b20gZm9ybWF0IGRlc2NyaXB0aW9uIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAg
IH0KKworICAgICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IGdldFBhY2tldERlc2NyaXB0aW9ucyhz
YW1wbGVCdWZmZXIpOworICAgICAgICBpZiAoZGVzY3JpcHRpb25zLmlzRW1wdHkoKSkKKyAgICAg
ICAgICAgIHJldHVybiAtMTsKKworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGRlc2NyaXB0aW9u
IDogZGVzY3JpcHRpb25zKSB7CisgICAgICAgICAgICB1aW50MzJfdCBmcHAgPSBkZXNjcmlwdGlv
bi5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA/IGRlc2NyaXB0aW9uLm1WYXJpYWJsZUZyYW1lc0lu
UGFja2V0IDogYXNiZC0+bUZyYW1lc1BlclBhY2tldDsKKyAgICAgICAgICAgIG51bWJlck9mRnJh
bWVzSW42NCArPSBmcHA7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIG51bWJlck9mRnJh
bWVzSW42NDsKK30KKworc3RkOjpvcHRpb25hbDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+
IEF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQoKSBjb25zdAoreworICAgIGlmICghbV93
ZWJtRGF0YSkgeworICAgICAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gZm9ybWF0Owor
ICAgICAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihmb3JtYXQpOworICAgICAgICBpZiAoUEFMOjpF
eHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVBy
b3BlcnR5X0ZpbGVEYXRhRm9ybWF0LCAmc2l6ZSwgJmZvcm1hdCkgIT0gbm9FcnIpCisgICAgICAg
ICAgICByZXR1cm4geyB9OworICAgICAgICByZXR1cm4gZm9ybWF0OworICAgIH0KKworICAgIGlm
IChtX3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4geyB9Owog
Ci0gICAgZG91YmxlIGZpbGVTYW1wbGVSYXRlID0gbV9maWxlRGF0YUZvcm1hdC5tU2FtcGxlUmF0
ZTsKKyAgICBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0gUEFMOjpD
TVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKG1fd2VibURhdGEtPm1fc2FtcGxlc1sw
XS0+c2FtcGxlQnVmZmVyKCkpOworICAgIGlmICghZm9ybWF0RGVzY3JpcHRpb24pCisgICAgICAg
IHJldHVybiB7IH07CiAKKyAgICBjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qIGNv
bnN0IGFzYmQgPSBQQUw6OkNNQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkdldFN0cmVhbUJhc2ljRGVz
Y3JpcHRpb24oZm9ybWF0RGVzY3JpcHRpb24pOworICAgIHJldHVybiAqYXNiZDsKK30KKworQXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIEF1ZGlvRmlsZVJlYWRlcjo6Y2xpZW50RGF0YUZvcm1h
dChjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9ybWF0LCBmbG9hdCBzYW1w
bGVSYXRlKSBjb25zdAorewogICAgIC8vIE1ha2UgY2xpZW50IGZvcm1hdCBzYW1lIG51bWJlciBv
ZiBjaGFubmVscyBhcyBmaWxlIGZvcm1hdCwgYnV0IHR3ZWFrIGEgZmV3IHRoaW5ncy4KICAgICAv
LyBDbGllbnQgZm9ybWF0IHdpbGwgYmUgbGluZWFyIFBDTSAoY2Fub25pY2FsKSwgYW5kIHBvdGVu
dGlhbGx5IGNoYW5nZSBzYW1wbGUtcmF0ZS4KLSAgICBtX2NsaWVudERhdGFGb3JtYXQgPSBtX2Zp
bGVEYXRhRm9ybWF0OworICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBvdXRGb3JtYXQg
PSBpbkZvcm1hdDsKIAogICAgIGNvbnN0IGludCBieXRlc1BlckZsb2F0ID0gc2l6ZW9mKEZsb2F0
MzIpOwogICAgIGNvbnN0IGludCBiaXRzUGVyQnl0ZSA9IDg7Ci0gICAgbV9jbGllbnREYXRhRm9y
bWF0Lm1Gb3JtYXRJRCA9IGtBdWRpb0Zvcm1hdExpbmVhclBDTTsKLSAgICBtX2NsaWVudERhdGFG
b3JtYXQubUZvcm1hdEZsYWdzID0ga0F1ZGlvRm9ybWF0RmxhZ3NOYXRpdmVGbG9hdFBhY2tlZCB8
IGtBdWRpb0Zvcm1hdEZsYWdJc05vbkludGVybGVhdmVkOwotICAgIG1fY2xpZW50RGF0YUZvcm1h
dC5tQnl0ZXNQZXJQYWNrZXQgPSBieXRlc1BlckZsb2F0OwotICAgIG1fY2xpZW50RGF0YUZvcm1h
dC5tRnJhbWVzUGVyUGFja2V0ID0gMTsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUJ5dGVzUGVy
RnJhbWUgPSBieXRlc1BlckZsb2F0OwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQ2hhbm5lbHNQ
ZXJGcmFtZSA9IG51bWJlck9mQ2hhbm5lbHM7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1CaXRz
UGVyQ2hhbm5lbCA9IGJpdHNQZXJCeXRlICogYnl0ZXNQZXJGbG9hdDsKKyAgICBvdXRGb3JtYXQu
bUZvcm1hdElEID0ga0F1ZGlvRm9ybWF0TGluZWFyUENNOworICAgIG91dEZvcm1hdC5tRm9ybWF0
RmxhZ3MgPSBrQXVkaW9Gb3JtYXRGbGFnc05hdGl2ZUZsb2F0UGFja2VkIHwga0F1ZGlvRm9ybWF0
RmxhZ0lzTm9uSW50ZXJsZWF2ZWQ7CisgICAgb3V0Rm9ybWF0Lm1CeXRlc1BlclBhY2tldCA9IG91
dEZvcm1hdC5tQnl0ZXNQZXJGcmFtZSA9IGJ5dGVzUGVyRmxvYXQ7CisgICAgb3V0Rm9ybWF0Lm1G
cmFtZXNQZXJQYWNrZXQgPSAxOworICAgIG91dEZvcm1hdC5tQml0c1BlckNoYW5uZWwgPSBiaXRz
UGVyQnl0ZSAqIGJ5dGVzUGVyRmxvYXQ7CiAKICAgICBpZiAoc2FtcGxlUmF0ZSkKLSAgICAgICAg
bV9jbGllbnREYXRhRm9ybWF0Lm1TYW1wbGVSYXRlID0gc2FtcGxlUmF0ZTsKKyAgICAgICAgb3V0
Rm9ybWF0Lm1TYW1wbGVSYXRlID0gc2FtcGxlUmF0ZTsKIAotICAgIGlmIChQQUw6OkV4dEF1ZGlv
RmlsZVNldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlf
Q2xpZW50RGF0YUZvcm1hdCwgc2l6ZW9mKEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksICZt
X2NsaWVudERhdGFGb3JtYXQpICE9IG5vRXJyKQorICAgIHJldHVybiBvdXRGb3JtYXQ7Cit9CisK
K1JlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxl
UmF0ZSwgYm9vbCBtaXhUb01vbm8pCit7CisgICAgU0ludDY0IG51bWJlck9mRnJhbWVzSW42NCA9
IG51bWJlck9mRnJhbWVzKCk7CisgICAgaWYgKG51bWJlck9mRnJhbWVzSW42NCA8PSAwKQogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIC8vIENoYW5nZSBudW1iZXJPZkZyYW1lczY0IHRv
IGRlc3RpbmF0aW9uIHNhbXBsZS1yYXRlCi0gICAgbnVtYmVyT2ZGcmFtZXM2NCA9IG51bWJlck9m
RnJhbWVzNjQgKiAobV9jbGllbnREYXRhRm9ybWF0Lm1TYW1wbGVSYXRlIC8gZmlsZVNhbXBsZVJh
dGUpOwotICAgIHNpemVfdCBudW1iZXJPZkZyYW1lcyA9IHN0YXRpY19jYXN0PHNpemVfdD4obnVt
YmVyT2ZGcmFtZXM2NCk7CisgICAgYXV0byBpbkZvcm1hdCA9IGZpbGVEYXRhRm9ybWF0KCk7Cisg
ICAgaWYgKCFpbkZvcm1hdCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyAgICBBdWRpb1N0
cmVhbUJhc2ljRGVzY3JpcHRpb24gb3V0Rm9ybWF0ID0gY2xpZW50RGF0YUZvcm1hdCgqaW5Gb3Jt
YXQsIHNhbXBsZVJhdGUpOworICAgIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzID0gaW5Gb3JtYXQt
Pm1DaGFubmVsc1BlckZyYW1lOworICAgIGRvdWJsZSBmaWxlU2FtcGxlUmF0ZSA9IGluRm9ybWF0
LT5tU2FtcGxlUmF0ZTsKKyAgICBTSW50NjQgbnVtYmVyT2ZGcmFtZXNPdXQ2NCA9IG51bWJlck9m
RnJhbWVzSW42NCAqIChvdXRGb3JtYXQubVNhbXBsZVJhdGUgLyBmaWxlU2FtcGxlUmF0ZSk7Cisg
ICAgc2l6ZV90IG51bWJlck9mRnJhbWVzID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihudW1iZXJPZkZy
YW1lc091dDY0KTsKICAgICBzaXplX3QgYnVzQ2hhbm5lbENvdW50ID0gbWl4VG9Nb25vID8gMSA6
IG51bWJlck9mQ2hhbm5lbHM7CiAKICAgICAvLyBDcmVhdGUgQXVkaW9CdXMgd2hlcmUgd2UnbGwg
cHV0IHRoZSBQQ00gYXVkaW8gZGF0YQogICAgIGF1dG8gYXVkaW9CdXMgPSBBdWRpb0J1czo6Y3Jl
YXRlKGJ1c0NoYW5uZWxDb3VudCwgbnVtYmVyT2ZGcmFtZXMpOwotICAgIGF1ZGlvQnVzLT5zZXRT
YW1wbGVSYXRlKG5hcnJvd1ByZWNpc2lvblRvRmxvYXQobV9jbGllbnREYXRhRm9ybWF0Lm1TYW1w
bGVSYXRlKSk7IC8vIHNhdmUgZm9yIGxhdGVyCi0KLSAgICAvLyBPbmx5IGFsbG9jYXRlZCBpbiB0
aGUgbWl4VG9Nb25vIGNhc2U7IGRlYWxsb2NhdGVkIG9uIGRlc3RydWN0aW9uLgotICAgIEF1ZGlv
RmxvYXRBcnJheSBsZWZ0Q2hhbm5lbDsKLSAgICBBdWRpb0Zsb2F0QXJyYXkgcmlnaHRDaGFubmVs
OworICAgIGF1ZGlvQnVzLT5zZXRTYW1wbGVSYXRlKG5hcnJvd1ByZWNpc2lvblRvRmxvYXQob3V0
Rm9ybWF0Lm1TYW1wbGVSYXRlKSk7IC8vIHNhdmUgZm9yIGxhdGVyCiAKLSAgICBBdWRpb0J1ZmZl
ckxpc3QqIGJ1ZmZlckxpc3QgPSB0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QobnVtYmVyT2ZDaGFu
bmVscyk7CisgICAgQXVkaW9CdWZmZXJMaXN0SG9sZGVyIGJ1ZmZlckxpc3QobnVtYmVyT2ZDaGFu
bmVscyk7CiAgICAgaWYgKCFidWZmZXJMaXN0KSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxU
KFdlYkF1ZGlvLCAidHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KCVsZCkgcmV0dXJuZWQgbnVsbCIs
IG51bWJlck9mQ2hhbm5lbHMpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAgICAg
Y29uc3Qgc2l6ZV90IGJ1ZmZlclNpemUgPSBudW1iZXJPZkZyYW1lcyAqIHNpemVvZihmbG9hdCk7
CiAKKyAgICAvLyBPbmx5IGFsbG9jYXRlZCBpbiB0aGUgbWl4VG9Nb25vIGNhc2U7IGRlYWxsb2Nh
dGVkIG9uIGRlc3RydWN0aW9uLgorICAgIEF1ZGlvRmxvYXRBcnJheSBsZWZ0Q2hhbm5lbDsKKyAg
ICBBdWRpb0Zsb2F0QXJyYXkgcmlnaHRDaGFubmVsOworCiAgICAgUkVMRUFTRV9BU1NFUlQoYnVm
ZmVyTGlzdC0+bU51bWJlckJ1ZmZlcnMgPT0gbnVtYmVyT2ZDaGFubmVscyk7CiAgICAgaWYgKG1p
eFRvTW9ubyAmJiBudW1iZXJPZkNoYW5uZWxzID09IDIpIHsKICAgICAgICAgbGVmdENoYW5uZWwu
cmVzaXplKG51bWJlck9mRnJhbWVzKTsKQEAgLTIyMiwxOCArNTI4LDMwIEBAIFJlZlB0cjxBdWRp
b0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBt
aXhUb01vbm8pCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoIXZhbGlkYXRlQXVkaW9CdWZm
ZXJMaXN0KGJ1ZmZlckxpc3QpKSB7CisgICAgaWYgKCFidWZmZXJMaXN0LmlzVmFsaWQoKSkgewog
ICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIkdlbmVyYXRlZCBidWZmZXIgaW4g
QXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoKSBkaWQgbm90IHBhc3MgdmFsaWRhdGlvbiIpOwog
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgZGVzdHJveUF1ZGlvQnVmZmVy
TGlzdChidWZmZXJMaXN0KTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAg
Ly8gUmVhZCBmcm9tIHRoZSBmaWxlIChvciBpbi1tZW1vcnkgdmVyc2lvbikKLSAgICBVSW50MzIg
ZnJhbWVzVG9SZWFkID0gbnVtYmVyT2ZGcmFtZXM7Ci0gICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxl
UmVhZChtX2V4dEF1ZGlvRmlsZVJlZiwgJmZyYW1lc1RvUmVhZCwgYnVmZmVyTGlzdCkgIT0gbm9F
cnIpIHsKLSAgICAgICAgZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KTsKLSAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKG1fd2VibURhdGEpIHsKKyNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQorICAgICAgICBhdXRvIGRlY29kZWRGcmFtZXMgPSBkZWNvZGVXZWJNRGF0YShi
dWZmZXJMaXN0LCBudW1iZXJPZkZyYW1lcywgKmluRm9ybWF0LCBvdXRGb3JtYXQpOworICAgICAg
ICBpZiAoIWRlY29kZWRGcmFtZXMpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAg
ICAgLy8gVGhlIGFjdHVhbCBkZWNvZGVkIG51bWJlciBvZiBmcmFtZXMgbWF5IG5vdCBtYXRjaCB0
aGUgbnVtYmVyIG9mIGZyYW1lcyBjYWxjdWxhdGVkCisgICAgICAgIC8vIHdoaWxlIGRlbXV4aW5n
IGFzIGZyYW1lcyBjYW4gYmUgdHJpbW1lZC4gSXQgd2lsbCBhbHdheXMgYmUgbG93ZXIuCisgICAg
ICAgIGF1ZGlvQnVzLT5zZXRMZW5ndGgoKmRlY29kZWRGcmFtZXMpOworICAgICAgICBudW1iZXJP
ZkZyYW1lcyA9ICpkZWNvZGVkRnJhbWVzOworI2VuZGlmCisgICAgfSBlbHNlIHsKKyAgICAgICAg
aWYgKFBBTDo6RXh0QXVkaW9GaWxlU2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRB
dWRpb0ZpbGVQcm9wZXJ0eV9DbGllbnREYXRhRm9ybWF0LCBzaXplb2YoQXVkaW9TdHJlYW1CYXNp
Y0Rlc2NyaXB0aW9uKSwgJm91dEZvcm1hdCkgIT0gbm9FcnIpCisgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKworICAgICAgICAvLyBSZWFkIGZyb20gdGhlIGZpbGUgKG9yIGluLW1lbW9yeSB2
ZXJzaW9uKQorICAgICAgICBVSW50MzIgZnJhbWVzVG9SZWFkID0gbnVtYmVyT2ZGcmFtZXM7Cisg
ICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVJlYWQobV9leHRBdWRpb0ZpbGVSZWYsICZmcmFt
ZXNUb1JlYWQsIGJ1ZmZlckxpc3QpICE9IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgfQogCiAgICAgaWYgKG1peFRvTW9ubyAmJiBudW1iZXJPZkNoYW5uZWxzID09IDIp
IHsKQEAgLTI0Myw5ICs1NjEsNiBAQCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6
Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQogICAgICAgICAgICAg
ZGVzdExbaV0gPSAwLjVmICogKGxlZnRDaGFubmVsW2ldICsgcmlnaHRDaGFubmVsW2ldKTsKICAg
ICB9CiAKLSAgICAvLyBDbGVhbnVwCi0gICAgZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJM
aXN0KTsKLQogICAgIHJldHVybiBhdWRpb0J1czsKIH0KIApAQCAtMjU1LDYgKzU3MCwxMyBAQCBS
ZWZQdHI8QXVkaW9CdXM+IGNyZWF0ZUJ1c0Zyb21Jbk1lbW9yeUF1ZGlvRmlsZShjb25zdCB2b2lk
KiBkYXRhLCBzaXplX3QgZGF0YVNpegogICAgIHJldHVybiByZWFkZXIuY3JlYXRlQnVzKHNhbXBs
ZVJhdGUsIG1peFRvTW9ubyk7CiB9CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dURkxv
Z0NoYW5uZWwmIEF1ZGlvRmlsZVJlYWRlcjo6bG9nQ2hhbm5lbCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIExvZ01lZGlhOworfQorI2VuZGlmCisKIH0gLy8gV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5B
QkxFKFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oCmluZGV4IDBiYmJiYTI3ODU3ZDk3OWVj
YzY4OGY4N2YwMzM5ZjY2NWVmNDI1MjkuLjA3ZDJjMGI5NDMyNzFiMDBkMjM1NTBmYjEzYTExMTEz
NWMyOTBjOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29h
L0F1ZGlvRmlsZVJlYWRlckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaApAQCAtMzIsMjAgKzMyLDI5IEBACiAjaWYg
RU5BQkxFKFdFQl9BVURJTykKIAogI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5o
PgorI2luY2x1ZGUgPG9wdGlvbmFsPgorI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIHVzaW5nIEV4dEF1ZGlvRmlsZVJlZiA9IHN0cnVjdCBP
cGFxdWVFeHRBdWRpb0ZpbGUqOwogdXNpbmcgQXVkaW9GaWxlSUQgPSBzdHJ1Y3QgT3BhcXVlQXVk
aW9GaWxlSUQqOwordHlwZWRlZiBzdHJ1Y3Qgb3BhcXVlQ01TYW1wbGVCdWZmZXIqIENNU2FtcGxl
QnVmZmVyUmVmOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEF1ZGlvQnVzOworY2xh
c3MgU291cmNlQnVmZmVyUGFyc2VyV2ViTTsKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRh
OwogCiAvLyBXcmFwcGVyIGNsYXNzIGZvciBBdWRpb0ZpbGUgYW5kIEV4dEF1ZGlvRmlsZSBDb3Jl
QXVkaW8gQVBJcyBmb3IgcmVhZGluZyBmaWxlcyBhbmQgaW4tbWVtb3J5IHZlcnNpb25zIG9mIHRo
ZW0uLi4KIAotY2xhc3MgQXVkaW9GaWxlUmVhZGVyIHsKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcgor
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIDogcHVibGljIExvZ2dlckhlbHBlcgorI2Vu
ZGlmCit7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgQXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQq
IGRhdGEsIHNpemVfdCBkYXRhU2l6ZSk7CisgICAgQXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQq
IGRhdGEsIHNpemVfdCBkYXRhU2l6ZSk7CiAgICAgfkF1ZGlvRmlsZVJlYWRlcigpOwogCiAgICAg
UmVmUHRyPEF1ZGlvQnVzPiBjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01v
bm8pOyAvLyBSZXR1cm5zIG51bGxwdHIgb24gZXJyb3IKQEAgLTUzLDkgKzYyLDI1IEBAIHB1Ymxp
YzoKICAgICBjb25zdCB2b2lkKiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhOyB9CiAgICAg
c2l6ZV90IGRhdGFTaXplKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhU2l6ZTsgfQogCisjaWYgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQorICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZp
ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KKyAgICBXVEZMb2dD
aGFubmVsJiBsb2dDaGFubmVsKCkgY29uc3QgZmluYWw7CisgICAgY29uc3QgY2hhciogbG9nQ2xh
c3NOYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIkF1ZGlvRmlsZVJlYWRlckNvY29hIjsgfQor
I2VuZGlmCisKIHByaXZhdGU6CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBib29sIGlz
TWF5YmVXZWJNKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkgY29uc3Q7Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPiBkZW11eFdlYk1EYXRh
KGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkgY29uc3Q7CisgICAgVmVjdG9y
PEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24+IGdldFBhY2tldERlc2NyaXB0aW9ucyhDTVNh
bXBsZUJ1ZmZlclJlZikgY29uc3Q7CisgICAgc3RkOjpvcHRpb25hbDxzaXplX3Q+IGRlY29kZVdl
Yk1EYXRhKEF1ZGlvQnVmZmVyTGlzdCosIHNpemVfdCBudW1iZXJPZkZyYW1lcywgY29uc3QgQXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwgY29uc3QgQXVkaW9TdHJlYW1CYXNp
Y0Rlc2NyaXB0aW9uJiBvdXRGb3JtYXQpIGNvbnN0OworI2VuZGlmCiAgICAgc3RhdGljIE9TU3Rh
dHVzIHJlYWRQcm9jKHZvaWQqIGNsaWVudERhdGEsIFNJbnQ2NCBwb3NpdGlvbiwgVUludDMyIHJl
cXVlc3RDb3VudCwgdm9pZCogYnVmZmVyLCBVSW50MzIqIGFjdHVhbENvdW50KTsKICAgICBzdGF0
aWMgU0ludDY0IGdldFNpemVQcm9jKHZvaWQqIGNsaWVudERhdGEpOworICAgIHNzaXplX3QgbnVt
YmVyT2ZGcmFtZXMoKSBjb25zdDsKKyAgICBzdGQ6Om9wdGlvbmFsPEF1ZGlvU3RyZWFtQmFzaWNE
ZXNjcmlwdGlvbj4gZmlsZURhdGFGb3JtYXQoKSBjb25zdDsKKyAgICBBdWRpb1N0cmVhbUJhc2lj
RGVzY3JpcHRpb24gY2xpZW50RGF0YUZvcm1hdChjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3Jp
cHRpb24mIGluRm9ybWF0LCBmbG9hdCBzYW1wbGVSYXRlKSBjb25zdDsKIAogICAgIGNvbnN0IHZv
aWQqIG1fZGF0YSA9IHsgbnVsbHB0ciB9OwogICAgIHNpemVfdCBtX2RhdGFTaXplID0geyAwIH07
CkBAIC02Myw4ICs4OCwxMyBAQCBwcml2YXRlOgogICAgIEF1ZGlvRmlsZUlEIG1fYXVkaW9GaWxl
SUQgPSB7IG51bGxwdHIgfTsKICAgICBFeHRBdWRpb0ZpbGVSZWYgbV9leHRBdWRpb0ZpbGVSZWYg
PSB7IG51bGxwdHIgfTsKIAotICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2ZpbGVE
YXRhRm9ybWF0OwotICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2NsaWVudERhdGFG
b3JtYXQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPiBtX3dl
Ym1EYXRhOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgUmVmPExvZ2dl
cj4gbV9sb2dnZXI7CisgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworI2VuZGlmCisK
IH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29h
L0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
Y29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKaW5kZXggYTFlNzFiZDUyMjMyMjQyNTcxNmM2
YjllNWFjZWQwNmU1NTgyOTMzYS4uNmFlM2I1Y2QxZjJlZmQ2MjM5ZmIzNGQwMTNhNTg3NzZmNDE4
YzZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVk
aW9TYW1wbGVEYXRhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
Y29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRl
IDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAotdHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlwdGlvbiAq
Q01Gb3JtYXREZXNjcmlwdGlvblJlZjsKIHR5cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2FtcGxlQnVm
ZmVyICpDTVNhbXBsZUJ1ZmZlclJlZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291
cmNlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVE
YXRhU291cmNlLm1tCmluZGV4IGQyYjVhYzQ1ZjMwZmQ0YTNhZjUxYjQyMGRlMzc2NDliMTE1MWMy
MjcuLjcwZGMyNDg0YTVlZDY2ODg5ZmNhMzNlZTI5MWVjMTA2YTVmOWY5YTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJj
ZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBs
ZURhdGFTb3VyY2UubW0KQEAgLTM5LDYgKzM5LDcgQEAKICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+
CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KIAorI2ltcG9ydCA8cGFsL2NmL0F1
ZGlvVG9vbGJveFNvZnRMaW5rLmg+CiAjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjcsNyArNjgsNyBAQCBBdWRpb1NhbXBsZURh
dGFTb3VyY2U6OkF1ZGlvU2FtcGxlRGF0YVNvdXJjZShzaXplX3QgbWF4aW11bVNhbXBsZUNvdW50
LCBMb2dnZXJIZQogQXVkaW9TYW1wbGVEYXRhU291cmNlOjp+QXVkaW9TYW1wbGVEYXRhU291cmNl
KCkKIHsKICAgICBpZiAobV9jb252ZXJ0ZXIpCi0gICAgICAgIEF1ZGlvQ29udmVydGVyRGlzcG9z
ZShtX2NvbnZlcnRlcik7CisgICAgICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3NlKG1fY29u
dmVydGVyKTsKIH0KIAogT1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZl
cnRlcigpCkBAIC03NSwxNCArNzYsMTQgQEAgT1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRhU291cmNl
OjpzZXR1cENvbnZlcnRlcigpCiAgICAgQVNTRVJUKG1faW5wdXREZXNjcmlwdGlvbiAmJiBtX291
dHB1dERlc2NyaXB0aW9uKTsKIAogICAgIGlmIChtX2NvbnZlcnRlcikgewotICAgICAgICBBdWRp
b0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOworICAgICAgICBQQUw6OkF1ZGlvQ29udmVy
dGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CiAgICAgICAgIG1fY29udmVydGVyID0gbnVsbHB0cjsK
ICAgICB9CiAKICAgICBpZiAoKm1faW5wdXREZXNjcmlwdGlvbiA9PSAqbV9vdXRwdXREZXNjcmlw
dGlvbikKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBPU1N0YXR1cyBlcnIgPSBBdWRpb0NvbnZl
cnRlck5ldygmbV9pbnB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9vdXRw
dXREZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fY29udmVydGVyKTsKKyAgICBP
U1N0YXR1cyBlcnIgPSBQQUw6OkF1ZGlvQ29udmVydGVyTmV3KCZtX2lucHV0RGVzY3JpcHRpb24t
PnN0cmVhbURlc2NyaXB0aW9uKCksICZtX291dHB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlw
dGlvbigpLCAmbV9jb252ZXJ0ZXIpOwogICAgIGlmIChlcnIpIHsKICAgICAgICAgUnVuTG9vcDo6
bWFpbigpLmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cigqdGhpcyks
IGVycl0gewogICAgICAgICAgICAgRVJST1JfTE9HKCJBdWRpb0NvbnZlcnRlck5ldyByZXR1cm5l
ZCBlcnJvciAiLCBlcnIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2Ft
ZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tCmluZGV4IGUzZDZmYWM3MDQzNjk2ZmM3
ZWUyYTkyMTVkYjIxYThmN2RmODI1YTUuLmEzMmRmNjIwNDhkMzJkN2IxMzRkYmY1NmRhMDA3Yjcw
ZWMyNDczZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFj
L0hJREdhbWVwYWRQcm92aWRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVO
QUJMRShHQU1FUEFEKSAmJiBQTEFURk9STShNQUMpCiAKKyNpbXBvcnQgIkdhbWVDb250cm9sbGVy
R2FtZXBhZFByb3ZpZGVyLmgiCiAjaW1wb3J0ICJHYW1lcGFkUHJvdmlkZXJDbGllbnQuaCIKICNp
bXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIlBsYXRmb3JtR2FtZXBhZC5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcApp
bmRleCA0ZDhlZTYyZTAxYjhlYWViYWNjNmQyOGIzYTA5ODUyOTUyYzVkODBhLi5jMDY2YzJkNDg3
OTdhNGFhYjNiOWJlMmEwZWRkNGQ4MzhiNGJmNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcApAQCAtMjksNyArMjks
NiBAQAogI2lmIEVOQUJMRShWSURFTykKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRl
IDx3dGYvTG9nZ2VySGVscGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFTYW1wbGVBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaAppbmRleCBkMDNjZGM4ZGQ2MjU0MTYw
OTlhNTM3MTM1ZWUxMWVjOTEwNzM2YTAyLi41NDVmMGJlMWM1MGNiZmU0MTcwMTgwMzU2Zjg4Y2Uz
YzU1MmM4NmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMu
aApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBpeGVsQnVm
ZmVyOwogCi1jbGFzcyBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMgOiBwdWJsaWMg
TWVkaWFTYW1wbGUgeworY2xhc3MgTWVkaWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2Ft
cGxlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRl
KENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCkgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0KICAgICBz
dGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNh
bXBsZSwgQXRvbVN0cmluZyB0cmFja0lEKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU2Ft
cGxlQVZGT2JqQyhzYW1wbGUsIHRyYWNrSUQpKTsgfQpAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6
CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0QXNEaXNwbGF5SW1tZWRpYXRlbHko
TWVkaWFTYW1wbGUmKTsKICAgICBzdGF0aWMgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBj
bG9uZVNhbXBsZUJ1ZmZlckFuZFNldEFzRGlzcGxheUltbWVkaWF0ZWx5KENNU2FtcGxlQnVmZmVy
UmVmKTsKIAotICAgIFJlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VE
YXRhKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEpTQzo6VWlu
dDhDbGFtcGVkQXJyYXk+IGdldFJHQkFJbWFnZURhdGEoKSBjb25zdCBvdmVycmlkZTsKIAogICAg
IE1lZGlhVGltZSBwcmVzZW50YXRpb25UaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTWVkaWFU
aW1lIGRlY29kZVRpbWUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTU5LDE2ICs1OSwxNiBAQCBwdWJs
aWM6CiAgICAgU2FtcGxlRmxhZ3MgZmxhZ3MoKSBjb25zdCBvdmVycmlkZTsKICAgICBQbGF0Zm9y
bVNhbXBsZSBwbGF0Zm9ybVNhbXBsZSgpIG92ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9uYWw8Qnl0
ZVJhbmdlPiBieXRlUmFuZ2UoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGR1bXAoUHJpbnRT
dHJlYW0mKSBjb25zdCBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGR1bXAoUHJp
bnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIG9mZnNldFRpbWVzdGFtcHNCeShj
b25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFRpbWVzdGFtcHMoY29uc3Qg
TWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc0Rpdmlz
YWJsZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFTYW1wbGU+
LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVzZW50YXRp
b25UaW1lLCBVc2VFbmRUaW1lKSBvdmVycmlkZTsKLSAgICBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0
ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQg
Ym9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIHN0
ZDo6cGFpcjxSZWZQdHI8TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBkaXZpZGUo
Y29uc3QgTWVkaWFUaW1lJiBwcmVzZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBvdmVycmlkZTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdD
b3B5KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBWaWRlb1JvdGF0aW9uIHZpZGVvUm90YXRpb24o
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3JvdGF0aW9uOyB9CiAgICAgYm9vbCB2aWRlb01p
cnJvcmVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9taXJyb3JlZDsgfQotICAgIHVpbnQz
Ml90IHZpZGVvUGl4ZWxGb3JtYXQoKSBjb25zdCBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB1
aW50MzJfdCB2aWRlb1BpeGVsRm9ybWF0KCkgY29uc3QgZmluYWw7CiAKICAgICBDTVNhbXBsZUJ1
ZmZlclJlZiBzYW1wbGVCdWZmZXIoKSBjb25zdCB7IHJldHVybiBtX3NhbXBsZS5nZXQoKTsgfQog
CkBAIC03OCwzNCArNzgsMTUgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Qnl0ZVJhbmdlT2Zmc2V0
KHNpemVfdCk7CiAKIHByb3RlY3RlZDoKLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoUmV0YWluUHRy
PENNU2FtcGxlQnVmZmVyUmVmPiYmIHNhbXBsZSkKLSAgICAgICAgOiBtX3NhbXBsZShXVEZNb3Zl
KHNhbXBsZSkpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVC
dWZmZXJSZWYgc2FtcGxlKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICB7Ci0gICAg
fQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21T
dHJpbmcgdHJhY2tJRCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9p
ZCh0cmFja0lEKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxl
QnVmZmVyUmVmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCkKLSAgICAgICAgOiBtX3NhbXBsZShz
YW1wbGUpCi0gICAgICAgICwgbV9pZChBdG9tU3RyaW5nOjpudW1iZXIodHJhY2tJRCkpCi0gICAg
ewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxl
LCBWaWRlb1JvdGF0aW9uIHJvdGF0aW9uLCBib29sIG1pcnJvcmVkKQotICAgICAgICA6IG1fc2Ft
cGxlKHNhbXBsZSkKLSAgICAgICAgLCBtX3JvdGF0aW9uKHJvdGF0aW9uKQotICAgICAgICAsIG1f
bWlycm9yZWQobWlycm9yZWQpCi0gICAgewotICAgIH0KKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRp
YVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYpOworICAgIFdF
QkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiwgQXRvbVN0
cmluZyB0cmFja0lEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01T
YW1wbGVCdWZmZXJSZWYsIHVpbnQ2NF90IHRyYWNrSUQpOworICAgIFdFQkNPUkVfRVhQT1JUIE1l
ZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiwgVmlkZW9Sb3RhdGlvbiwgYm9vbCBt
aXJyb3JlZCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+TWVkaWFTYW1wbGVBVkZPYmpD
KCk7CiAKICAgICBzdGQ6Om9wdGlvbmFsPE1lZGlhU2FtcGxlOjpCeXRlUmFuZ2U+IGJ5dGVSYW5n
ZUZvckF0dGFjaG1lbnQoQ0ZTdHJpbmdSZWYga2V5KSBjb25zdDsKIAotICAgIHZpcnR1YWwgfk1l
ZGlhU2FtcGxlQVZGT2JqQygpID0gZGVmYXVsdDsKICAgICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZm
ZXJSZWY+IG1fc2FtcGxlOwogICAgIEF0b21TdHJpbmcgbV9pZDsKICAgICBWaWRlb1JvdGF0aW9u
IG1fcm90YXRpb24geyBWaWRlb1JvdGF0aW9uOjpOb25lIH07CkBAIC0xMTMsNCArOTQsMyBAQCBw
cm90ZWN0ZWQ6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2Ft
cGxlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQppbmRleCBjMGYxM2Q2ZWE1Yzk3NTc2N2Nl
OGY2MmFiNjg0MmQ3ZDZmMGZiYjZiLi5jZjNjMzQxMGEzOGFkZWM0OTU3Yzk3MTQyYjMyNDIyNGQ1
YWZkODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1t
CkBAIC00NSw2ICs0NSwzMyBAQCBzdHJ1Y3QgV1RGOjpDRlR5cGVUcmFpdDxDTVNhbXBsZUJ1ZmZl
clJlZj4gewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVk
aWFTYW1wbGVBVkZPYmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4mJiBzYW1wbGUpCisg
ICAgOiBtX3NhbXBsZShXVEZNb3ZlKHNhbXBsZSkpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6
Ok1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUpCisgICAgOiBtX3Nh
bXBsZShzYW1wbGUpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2Jq
QyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkKKyAgICA6IG1f
c2FtcGxlKHNhbXBsZSkKKyAgICAsIG1faWQodHJhY2tJRCkKK3sKK30KK01lZGlhU2FtcGxlQVZG
T2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0
X3QgdHJhY2tJRCkKKyAgICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1faWQoQXRvbVN0cmlu
Zzo6bnVtYmVyKHRyYWNrSUQpKQoreworfQorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBs
ZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJvdGF0aW9u
LCBib29sIG1pcnJvcmVkKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9yb3RhdGlv
bihyb3RhdGlvbikKKyAgICAsIG1fbWlycm9yZWQobWlycm9yZWQpCit7Cit9CisKK01lZGlhU2Ft
cGxlQVZGT2JqQzo6fk1lZGlhU2FtcGxlQVZGT2JqQygpID0gZGVmYXVsdDsKKwogUmVmUHRyPE1l
ZGlhU2FtcGxlQVZGT2JqQz4gTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGVJbWFnZVNhbXBsZShQ
aXhlbEJ1ZmZlciYmIHBpeGVsQnVmZmVyKQogewogICAgIGF1dG8gc2l6ZSA9IHBpeGVsQnVmZmVy
LnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQppbmRleCA4
ZWVmM2IyZWE2MDRiZDE5ODNkNzdkMzhiZjUyMWE4ZDIxZjIwZWQwLi5kMWM4NDQ4ODM2NzQwZmRi
NzVjNDBhYzkzZjdkZDA5ZDc4ZjAzMDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Np
b25TZXNzaW9uLm1tCkBAIC0zMSwxMCArMzEsMTAgQEAKICNpbXBvcnQgPENvcmVNZWRpYS9DTUJ1
ZmZlclF1ZXVlLmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlvbi5oPgog
I2ltcG9ydCA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4KLSNpbXBv
cnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQu
aD4KICNpbXBvcnQgPHd0Zi9NZWRpYVRpbWUuaD4KICNpbXBvcnQgPHd0Zi9Nb25vdG9uaWNUaW1l
Lmg+CisjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3RmL1N0cmluZ1ByaW50U3Ry
ZWFtLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1wb3J0IDx3dGYvV1RGU2VtYXBob3Jl
Lmg+CkBAIC00Miw2ICs0Miw3IEBACiAKICNpbXBvcnQgIkNvcmVWaWRlb1NvZnRMaW5rLmgiCiAj
aW1wb3J0ICJWaWRlb1Rvb2xib3hTb2Z0TGluay5oIgorI2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRp
YVNvZnRMaW5rLmg+CiAKIC8vIEVxdWl2YWxlbnQgdG8gV1RGX0RFQ0xBUkVfQ0ZfVFlQRV9UUkFJ
VChDTVNhbXBsZUJ1ZmZlcik7CiAvLyBOZWVkZWQgZHVlIHRvIHJlcXVpcmVtZW50IG9mIHNwZWNp
ZnlpbmcgdGhlIFBBTCBuYW1lc3BhY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaApp
bmRleCBmZWNlODEyOWJkN2Y3ZmRlZDZhODA0YmE1MmY3OTUyNjFmZTY1ZDMwLi44NzEwNGQ4Yjdi
MzU3YzE2MGI2ZGNjYzQxYmZlMWY4OWUwYTZjMjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGll
c0NvY29hLmgKQEAgLTM0LDcgKzM0LDggQEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3BhcXVlQ01G
b3JtYXREZXNjcmlwdGlvbiogQ01Gb3JtYXREZXNjcmlwdGlvblJlZjsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1ib29sIGlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBP
UlQgYm9vbCBpc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wg
cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKIFJldGFpblB0cjxDTUZvcm1hdERlc2Ny
aXB0aW9uUmVmPiBjcmVhdGVWb3JiaXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKHNpemVfdCwgY29u
c3Qgdm9pZCopOwogCiBzdHJ1Y3QgT3B1c0Nvb2tpZUNvbnRlbnRzIHsKQEAgLTUyLDcgKzUzLDgg
QEAgc3RydWN0IE9wdXNDb29raWVDb250ZW50cyB7CiAgICAgYm9vbCBoYXNQYWRkaW5nIHsgZmFs
c2UgfTsKIH07CiAKLWJvb2wgaXNPcHVzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBP
UlQgYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9SVCBib29sIHJl
Z2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOwogYm9vbCBwYXJzZU9wdXNQcml2YXRlRGF0YShz
aXplX3QgcHJpdmF0ZURhdGFTaXplLCBjb25zdCB2b2lkKiBwcml2YXRlRGF0YSwgc2l6ZV90IGZy
YW1lRGF0YVNpemUsIGNvbnN0IHZvaWQqIGZyYW1lRGF0YSwgT3B1c0Nvb2tpZUNvbnRlbnRzJik7
CiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlT3B1c0F1ZGlvRm9ybWF0
RGVzY3JpcHRpb24oY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0Nv
Y29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EubW0KaW5kZXggMDZiZDQ4YWUwZDNkNjkxMjUwYjhhMjc1N2QwMjU2ZDQ0
ODU5ZmNjNC4uMGUxZWIxYjc5OGEzYzdlYTY3ZWFiNzViYTM2ZTU4NWFkZDhjMTBhMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRp
bGl0aWVzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0KQEAgLTMyLDIyICszMiwyOCBAQAogI2ltcG9y
dCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTWVkaWFVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlBsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgorI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvQ29k
ZWMuaD4KICNpbXBvcnQgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbXBvbmVudC5oPgogI2ltcG9ydCA8
QXVkaW9Ub29sYm94L0F1ZGlvRm9ybWF0Lmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXRE
ZXNjcmlwdGlvbi5oPgogI2ltcG9ydCA8ZGxmY24uaD4KICNpbXBvcnQgPHd0Zi9GbGlwQnl0ZXMu
aD4KICNpbXBvcnQgPHd0Zi9TZWNvbmRzLmg+Ci0KICNpZiBFTkFCTEUoT1BVUykKICNpbXBvcnQg
PGxpYndlYnJ0Yy9vcHVzX2RlZmluZXMuaD4KICNlbmRpZgorI2ltcG9ydCA8cGFsL2NmL0F1ZGlv
VG9vbGJveFNvZnRMaW5rLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShW
T1JCSVMpIHx8IEVOQUJMRShPUFVTKQogc3RhdGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVyRmFjdG9y
eShjb25zdCBjaGFyKiBkZWNvZGVyTmFtZSwgT1NUeXBlIGRlY29kZXJUeXBlKQogeworICAgIEF1
ZGlvQ29tcG9uZW50RGVzY3JpcHRpb24gZGVzYyB7IGtBdWRpb0RlY29kZXJDb21wb25lbnRUeXBl
LCBkZWNvZGVyVHlwZSwgJ2FwcGwnLCBrQXVkaW9Db21wb25lbnRGbGFnX1NhbmRib3hTYWZlLCAw
IH07CisgICAgQXVkaW9Db21wb25lbnQgY29tcCA9IFBBTDo6QXVkaW9Db21wb25lbnRGaW5kTmV4
dCgwLCAmZGVzYyk7CisgICAgaWYgKGNvbXApCisgICAgICAgIHJldHVybiB0cnVlOyAvLyBBbHJl
YWR5IHJlZ2lzdGVyZWQuCisKICAgICBjb25zdGV4cHIgY2hhciBhdWRpb0NvbXBvbmVudHNEeWxp
YltdID0gIi9TeXN0ZW0vTGlicmFyeS9Db21wb25lbnRzL0F1ZGlvQ29kZWNzLmNvbXBvbmVudC9D
b250ZW50cy9NYWNPUy9BdWRpb0NvZGVjcyI7CiAgICAgdm9pZCAqaGFuZGxlID0gZGxvcGVuKGF1
ZGlvQ29tcG9uZW50c0R5bGliLCBSVExEX0xBWlkgfCBSVExEX0xPQ0FMKTsKICAgICBpZiAoIWhh
bmRsZSkKQEAgLTU3LDcgKzYzLDYgQEAgc3RhdGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVyRmFjdG9y
eShjb25zdCBjaGFyKiBkZWNvZGVyTmFtZSwgT1NUeXBlIGRlY29kZXJUeXBlKQogICAgIGlmICgh
ZGVjb2RlckZhY3RvcnkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEF1ZGlvQ29tcG9u
ZW50RGVzY3JpcHRpb24gZGVzYyB7ICdhZGVjJywgZGVjb2RlclR5cGUsICdhcHBsJywga0F1ZGlv
Q29tcG9uZW50RmxhZ19TYW5kYm94U2FmZSwgMCB9OwogICAgIGlmICghQXVkaW9Db21wb25lbnRS
ZWdpc3RlcigmZGVzYywgQ0ZTVFIoIiIpLCAwLCBkZWNvZGVyRmFjdG9yeSkpIHsKICAgICAgICAg
ZGxjbG9zZShoYW5kbGUpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC03MSw3ICs3Niw3IEBA
IHN0YXRpYyBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlQXVkaW9Gb3Jt
YXREZXNjcmlwdGlvbkZvckZvcm1hdChPCiAgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9u
IGFzYmQgeyB9OwogICAgIGFzYmQubUZvcm1hdElEID0gZm9ybWF0SUQ7CiAgICAgdWludDMyX3Qg
c2l6ZSA9IHNpemVvZihhc2JkKTsKLSAgICBhdXRvIGVycm9yID0gQXVkaW9Gb3JtYXRHZXRQcm9w
ZXJ0eShrQXVkaW9Gb3JtYXRQcm9wZXJ0eV9Gb3JtYXRJbmZvLCBtYWdpY0Nvb2tpZS5zaXplKCks
IG1hZ2ljQ29va2llLmRhdGEoKSwgJnNpemUsICZhc2JkKTsKKyAgICBhdXRvIGVycm9yID0gUEFM
OjpBdWRpb0Zvcm1hdEdldFByb3BlcnR5KGtBdWRpb0Zvcm1hdFByb3BlcnR5X0Zvcm1hdEluZm8s
IG1hZ2ljQ29va2llLnNpemUoKSwgbWFnaWNDb29raWUuZGF0YSgpLCAmc2l6ZSwgJmFzYmQpOwog
ICAgIGlmIChlcnJvcikgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYSwgImNyZWF0
ZUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25Gb3JGb3JtYXQgZmFpbGVkIHdpdGggZXJyb3IgJWQgKCUu
NHMpIiwgZXJyb3IsIChjaGFyICopJmVycm9yKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBA
IC0zMjYsMTkgKzMzMSwzMCBAQCBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZyb21PcHVz
Q29va2llQ29udGVudHMoY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJiBjbwogCiBib29sIGlzT3B1
c0RlY29kZXJBdmFpbGFibGUoKQogewotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKLQogI2lm
IEVOQUJMRShPUFVTKSAmJiBQTEFURk9STShNQUMpCiAgICAgaWYgKCFQbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXI6Om9wdXNEZWNvZGVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKKyAgICByZXR1cm4gcmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CisjZWxzZQorICAg
IHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitib29sIHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5l
ZWRlZCgpCit7CisjaWYgRU5BQkxFKE9QVVMpICYmIFBMQVRGT1JNKE1BQykKKyAgICBzdGF0aWMg
Ym9vbCBhdmFpbGFibGU7CisKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsK
ICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57Ci0gICAgICAgIGF2YWlsYWJsZSA9IHJl
Z2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDT3B1c0RlY29kZXJGYWN0b3J5IiwgJ29wdXMnKTsKKyAg
ICAgICAgYXZhaWxhYmxlID0gcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNPcHVzRGVjb2RlckZh
Y3RvcnkiLCBrQXVkaW9Gb3JtYXRPcHVzKTsKICAgICB9KTsKLSNlbmRpZgogCiAgICAgcmV0dXJu
IGF2YWlsYWJsZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIFJldGFp
blB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVPcHVzQXVkaW9Gb3JtYXREZXNjcmlw
dGlvbihjb25zdCBPcHVzQ29va2llQ29udGVudHMmIGNvb2tpZUNvbnRlbnRzKQpAQCAtNDE4LDE5
ICs0MzQsMzAgQEAgc3RhdGljIFZlY3Rvcjx1aW50OF90PiBjb29raWVGcm9tVm9yYmlzQ29kZWNQ
cml2YXRlKHNpemVfdCBjb2RlY1ByaXZhdGVTaXplLCBjb24KIAogYm9vbCBpc1ZvcmJpc0RlY29k
ZXJBdmFpbGFibGUoKQogewotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKLQogI2lmIEVOQUJM
RShWT1JCSVMpICYmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIVBsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlcjo6dm9yYmlzRGVjb2RlckVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CisgICAgcmV0dXJuIHJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7CisjZWxzZQorICAg
IHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitib29sIHJlZ2lzdGVyVm9yYmlzRGVjb2Rlcklm
TmVlZGVkKCkKK3sKKyNpZiBFTkFCTEUoVk9SQklTKSAmJiBQTEFURk9STShNQUMpCisgICAgc3Rh
dGljIGJvb2wgYXZhaWxhYmxlOworCiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9r
ZW47CiAgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewogICAgICAgICBhdmFpbGFibGUg
PSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJBQ1ZvcmJpc0RlY29kZXJGYWN0b3J5IiwgJ3ZvcmIn
KTsKICAgICB9KTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGF2YWlsYWJsZTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9u
UmVmPiBjcmVhdGVWb3JiaXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKHNpemVfdCBwcml2YXRlRGF0
YVNpemUsIGNvbnN0IHZvaWQqIHByaXZhdGVEYXRhKQo=
</data>
<flag name="commit-queue"
          id="456614"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434195</attachid>
            <date>2021-07-26 01:22:11 -0700</date>
            <delta_ts>2021-07-26 02:51:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210726182209.patch</filename>
            <type>text/plain</type>
            <size>66036</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTU5YWQzYzA2YzU0YmNk
OWRmM2M0OGFmMTgzYTFjODliYTY4ZTdjMS4uZmExMzdkZGY5ZjUyZGExYjAzOWFlOGExZGMxM2Ey
NDc3OTZiNWU0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMyBAQAorMjAyMS0wNy0yMSAgSmVh
bi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRk
IHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQz
NzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3Igd2VibSBpbiBXZWIgQXVkaW8uCisgICAgICAgIEFzIGRlY29kaW5nIG5l
ZWRzIHRvIGJlIHBlcmZvcm1lZCBpbiB0aGUgd2ViIGNvbnRlbnQgcHJvY2VzcyB3ZQorICAgICAg
ICBuZWVkIHRvIGVuc3VyZSB0aGF0IHRoZSBkZWNvZGVycyBhcmUgYXZhaWxhYmxlIHRoZXJlLiBG
b3Igc2VjdXJpdHkKKyAgICAgICAgcmVhc29ucywgY29tLmFwcGxlLmF1ZGlvLkF1ZGlvQ29tcG9u
ZW50UmVnaXN0cmFyIG1hY2ggY2FsbHMgYXJlIGJsb2NrZWQKKyAgICAgICAgd2hpY2ggcHJldmVu
dHMgcmVnaXN0ZXJpbmcgYSBuZXcgYXVkaW8gY29tcG9uZW50LgorICAgICAgICBXZSBpbnN0ZWFk
IHJlZ2lzdGVyIGl0IGluIHRoZSBVSSBwcm9jZXNzIHNvIHRoYXQgQXVkaW9Db21wb25lbnRGZXRj
aFNlcnZlclJlZ2lzdHJhdGlvbnMKKyAgICAgICAgU1BJIGNhbiBmb3J3YXJkIHRoZSByZWdpc3Ry
YXRpb24gaW4gdGhlIHdlYiBwcm9jZXNzLgorICAgICAgICBVbmZvcnR1bmF0ZWx5LCBmb3IgdW5r
bm93biByZWFzb25zLCB0aGlzIGZhaWxzIGZvciBWb3JiaXMgYXVkaW8gY29kZWMgKGJ1ZyAyMjgx
MzkpLgorCisgICAgICAgIFRvIGRlbXV4IHRoZSB3ZWJtIGNvbnRlbnQsIHdlIHVzZSB0aGUgZXhp
c3RpbmcgU291cmNlQnVmZmVyUGFyc2VyV2ViTSB0byBleHRyYWN0IGFsbAorICAgICAgICBhdWRp
byBwYWNrZXRzLiBXZSB0aGVuIGl0ZXJhdGUgb3ZlciBhbGwgQ00gU2FtcGxlcyBhbmQgZGVjb2Rl
IHRoZW0gaW50byBQQ00sIHBlcmZvcm1pbmcKKyAgICAgICAgcmVzYW1wbGluZyBhcyBuZWVkZWQg
b24gdGhlIGZseS4KKyAgICAgICAgVGhlcmUgYXJlIHRoaW5ncyBsZWZ0IHRvIGZpeC4KKyAgICAg
ICAgLSBPcHVzIGFuZCBWb3JiaXMgZW5jb2RlciBkZWxheSBpc24ndCBoYW5kbGVkIChidWcgMjI4
MTQwKSB3aGljaCBsZWF2ZXMgYXVkaWJsZQorICAgICAgICBzaWxlbmNlIGF0IHRoZSBiZWdpbm5p
bmcgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlci4KKyAgICAgICAgLSBXZSBjYW4gb25seSBkZWNv
ZGUgbW9ubyBhbmQgc3RlcmVvIGNvbnRlbnQuIE9wdXMgYW5kIFZvcmJpcyBsZXQgeW91IGRlZmlu
ZSBhCisgICAgICAgIGN1c3RvbSBjaGFubmVsIG9yZGVyaW5nLCB0aGlzIGlzIHBhcnRpY3VsYXJs
eSB1c2VkIHdpdGggYW1iaXNvbmljIGF1ZGlvICh3aXRoIG9wdXMgMjU1IG1vZGUpLgorICAgICAg
ICBDb3JlTWVkaWEgZG9lc24ndCBlYXNpbHkgZGVhbCB3aXRoIHN1Y2ggcmUtb3JkZXJpbmcgYXMg
aXQgYXBwZWFycyB0byBiZSBlc3NlbnRpYWxseQorICAgICAgICBkZXNpZ25lZCBmb3IgYXVkaWJs
ZSBjb250ZW50LiBXaXRoIG1vcmUgdGhhbiAyIGNoYW5uZWxzLCBkZWNvZGluZyB3aWxsIGVpdGhl
ciBmYWlsCisgICAgICAgIG9yIHByb2R1Y2UgY2hhbm5lbHMgaW4gdGhlIHdyb25nIG9yZGVyLgor
CisgICAgICAgIFRlc3Q6IHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1s
CisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOiBFeHBvcnQgaGVhZGVyIHNvIHRoYXQgd2UgY2Fu
IHJlZ2lzdGVyIHRoZSBkZWNvZGVyIGluIHRoZSBVSSBwcm9jZXNzLgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogc2FtZSBhcyBhYm92ZS4KKyAgICAgICAgKiBo
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6Y2FuUGxheVR5cGUgY29uc3QpOiBNYWtlIGNhblBsYXlUeXBlKHdlYm0vYXVkaW87IGNv
ZGVjcz1vcHVzKQorICAgICAgICB3b3JrIGlmIGZlYXR1cmVzIGlzIHNldC4KKyAgICAgICAgKiBw
YWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNldFdlYk1XZWJBdWRpb0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2ViTVdlYkF1ZGlvRW5hYmxlZCBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vTWVkaWFTYW1wbGUuaDogRmx5LWJ5IGZpeDogcmVtb3ZlIHVubmVj
ZXNzYXJ5IFdFQkNPUkVfRVhQT1JUCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdXM6OnNldExlbmd0aCk6CisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaDogQWRkIHNldExlbmd0aCBtZXRob2QuIFdpbGwgY2hh
bmdlIHRoZSByZXBvcnRlZCBsZW5ndGgKKyAgICAgICAgd2l0aG91dCB0b3VjaGluZyB0aGUgdW5k
ZXJseWluZyBzdG9yYWdlLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5o
OiBBZGQgc2V0TGVuZ3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhlIHJlcG9ydGVkCisgICAgICAg
IGxlbmd0aCB3aXRob3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuCisgICAgICAg
ICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KTogRml4IGNoZWNrZWRJbnQgdXNl
IHRvIGNhdGNoIHBvdGVudGlhbCBvdmVyZmxvdworICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZm
ZXJMaXN0SG9sZGVyOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXIpOiBBZGQgY29udmVuaWVuY2UgY2xh
c3MgdGhhdAorICAgICAgICBmcmVlIHdyYXBwZWQgQXVkaW9CdWZmZXJMaXN0IG9iamVjdCBvbiBl
eGl0LgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjp+QXVkaW9CdWZm
ZXJMaXN0SG9sZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6
b3BlcmF0b3IgYm9vbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RI
b2xkZXI6Om9wZXJhdG9yLT4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJM
aXN0SG9sZGVyOjpvcGVyYXRvciogY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZm
ZXJMaXN0SG9sZGVyOjppc1ZhbGlkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmls
ZVJlYWRlcjo6QXVkaW9GaWxlUmVhZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJl
YWRlcjo6aXNNYXliZVdlYk0gY29uc3QpOiBNZXRob2QgdG8gY2hlY2sgaWYgdGhlIGJ1ZmZlcgor
ICAgICAgICBjb250YWlucyBXZWJNIGRhdGEuCisgICAgICAgIChXZWJDb3JlOjpwYXNzdGhyb3Vn
aElucHV0RGF0YUNhbGxiYWNrKTogUmVxdWlyZWQgZm9yIEF1ZGlvQ29udmVydGVyRmlsbENvbXBs
ZXhCdWZmZXIuCisgICAgICAgIFdpbGwgZmVlZCB0aGUgZGVjb2RlciB0aGUgZGF0YSB0byBkZWNv
ZGUsIHNwbGl0dGluZyB0aGUgbXVsdGlwbGUgcGFja2V0cyBmb3VuZAorICAgICAgICBpbiB0aGUg
Q01TYW1wbGVCdWZmZXIuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6Om51bWJl
ck9mRnJhbWVzIGNvbnN0KTogUmV0dXJuIHRoZSB0b3RhbCBudW1iZXIgb2YKKyAgICAgICAgZGVj
b2RlZCBmcmFtZXMgaW4gdGhlIHBhY2tldHMuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVS
ZWFkZXI6OmZpbGVEYXRhRm9ybWF0IGNvbnN0KTogQ3JlYXRlIEF1ZGlvU3RyZWFtQmFzaWNEZXNj
cmlwdGlvbgorICAgICAgICByZWxhdGVkIHRvIHRoZSBkZW11eGVkIGF1ZGlvIHRyYWNrLiBudWxs
b3B0IGlmIHVuc3VwcG9ydGVkIGNvbnRlbnQuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVS
ZWFkZXI6OmNsaWVudERhdGFGb3JtYXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9G
aWxlUmVhZGVyOjpjcmVhdGVCdXMpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVy
Ojpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRp
b0ZpbGVSZWFkZXJDb2NvYS5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
U2FtcGxlRGF0YVNvdXJjZS5oOiBSZW1vdmUgdW51c2VkIHR5cGVkZWYuCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6QXVkaW9TYW1wbGVEYXRhU291cmNlOjp+QXVkaW9TYW1wbGVEYXRhU291cmNlKTogRmx5
LWJ5IGZpeCwgbWFrZSBpdCB1c2UKKyAgICAgICAgUEFMIHNvZnRsaW5rcworICAgICAgICAoV2Vi
Q29yZTo6QXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcik6IEZseS1ieSBmaXgs
IG1ha2UgaXQgdXNlIFBBTAorICAgICAgICBzb2Z0bGlua3MKKyAgICAgICAgKiBwbGF0Zm9ybS9n
YW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW06IEZseS1ieSBmaXgsIGFkZCBtaXNzaW5n
IGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNw
cDogRmx5LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oOgorICAgICAgICBG
bHktYnkgZml4IHJlcXVpcmVkIGJ5IHdlYmtpdC1wcmVwYXJlIDogZG9uJ3QgdGFnIHRoZSB3aG9s
ZSBjbGFzcyBhcyBXRUJDT1JFX0VYUE9SVC4KKyAgICAgICAgTW92ZSBjb25zdHJ1Y3RvciBhbmQg
ZGVzdHJ1Y3RvciBmdW5jdGlvbiBkZWZpbml0aW9ucyBvdXQtb2YtbGluZSB0byBwcmV2ZW50Cisg
ICAgICAgIGxpbmthZ2UgZXJyb3JzLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKTogTW92ZSBjb2RlCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1t
OiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaDogRXhwb3J0IHNvbWUgc3ltYm9s
cywgYWRkIG5ldworICAgICAgICBtZXRob2QgZGVmaW5pdGlvbnMuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW06CisgICAgICAgIChX
ZWJDb3JlOjpyZWdpc3RlckRlY29kZXJGYWN0b3J5KTogSW5zdGVhZCBvZiBhdHRlbXB0aW5nIHRv
IHJlZ2lzdGVyIHRoZSBkZWNvZGVyCisgICAgICAgIGJ5IGRsLW9wZW5pbmcgdGhlIHJlcXVpcmVk
IGxpYnJhcnksIGZpcnN0IGF0dGVtcHRpbmcgdG8gc2VlIGlmIHRoZSBkZWNvZGVyIGlzCisgICAg
ICAgIGFscmVhZHkgYXZhaWxhYmxlLiBDYWxsaW5nIEF1ZGlvQ29tcG9uZW50UmVnaXN0ZXIgaW4g
dGhlIHdlYiBjb250ZW50IHByb2Nlc3MKKyAgICAgICAgd2hlbiB0aGUgR1BVIHByb2Nlc3MgaXMg
ZW5hYmxlZCB3aWxsIGZhaWwgZHVlIHRvIHNhbmRib3ggc2V0dGluZ3MuIFdoaWNoIHdvdWxkCisg
ICAgICAgIGluY29ycmVjdGx5IHJlcG9ydCB0aGUgY29kZWMgdG8gbm90IGJlIGF2YWlsYWJsZSB3
aGVuIGl0IHdhcy4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUF1ZGlvRm9ybWF0RGVzY3JpcHRp
b25Gb3JGb3JtYXQpOgorICAgICAgICAoV2ViQ29yZTo6aXNPcHVzRGVjb2RlckF2YWlsYWJsZSk6
IEZseS1ieSBmaXgsIHNob3VsZCB0aGUgbWV0aG9kIGJlIGNhbGxlZAorICAgICAgICBvbiBub24t
bWFjIHBsYXRmb3JtIGl0IHdvdWxkIGhhdmUgcmV0dXJuIHRoZSB1bml0aWFsaXplZCB2YWx1ZSBv
ZiB0aGUgYXZhaWxhYmxlCisgICAgICAgIHN0YXRpYyB2YXJpYWJsZS4KKyAgICAgICAgKFdlYkNv
cmU6OnJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCk6IEFkZGVkCisgICAgICAgIChXZWJDb3Jl
Ojppc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUpOiBTYW1lIGFzIGlzT3B1c0RlY29kZXJBdmFpbGFi
bGUKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKTogQWRk
ZWQKKwogMjAyMS0wNy0yNCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgW0FwcGxlIFBheV0gRG8gbm90IGFkZCBjb3Vwb24gY29kZSBgQXBwbGVQYXlFcnJvckNv
ZGVgIHZhbHVlcyBmb3Igc3lzdGVtcyB0aGF0IGRvIG5vdCBzdXBwb3J0IGl0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZwppbmRleCBmMDE5ZDNjZTEyMDNmM2ZhMTA0ZWY5ZmFjNGZmYTQwNmFiOTAyZjYwLi5mMmFh
Y2JiODQwMmQwYzQxNjFhM2Y2ZmJmOTkzOTRmNThjYzUzZGE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBw
bGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3Vw
cG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3
MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdmFyaW91cyBBVkZvdW5kYXRpb24g
KEFWQXVkaW9Db252ZXJ0ZXIpIHJlbGF0ZWQgbWV0aG9kcyBhbmQKKyAgICAgICAgQ29yZU1lZGlh
IHRvIGFjY2VzcyByZXF1aXJlZCBDTVNhbXBsZUJ1ZmZlciByZWxhdGVkIG1ldGhvZHMuCisKKyAg
ICAgICAgKiBwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwOgorICAgICAgICAqIHBhbC9jZi9D
b3JlTWVkaWFTb2Z0TGluay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0
TGluay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbToKKwog
MjAyMS0wNy0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJldmVydGluZyByMjgwMTI5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggM2IxYmI1
NTBmNTY4MWE0ZjVkZDIzNjBhMTQxODlhOGVjYWQwNTdiOS4uOWE2MWVlZmY1NGI3YzY1MDIwYTI4
ZTk0YzZiZWUzZDU0M2M3NDU5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMzM1LDYgKzEzMzUs
OCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dMQU5HTEUuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaAogCisgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaAorCiAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0LmgKICAgICBwbGF0Zm9ybS9ncmFwaGlj
cy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3R2x5cGhzUmVjb3JkZXIuaAogICAgIHBsYXRm
b3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3Bw
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKaW5kZXgg
ZmMwNjY4YTRhOTFhZmUxMGI2NTE1OWNhMDgyZTE4MjgxZmQ1MDM1Ny4uNGEzZTkwY2Q0NDA2Nzc1
OTIxMjJmMTZmYTUxOGFhNTRlOTU3Y2NjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKQEAgLTM2LDYgKzM2LDggQEAKICNpbmNsdWRlIDxD
b3JlVmlkZW8vQ29yZVZpZGVvLmg+CiAjZW5kaWYKIAorI2luY2x1ZGUgPENvcmVBdWRpby9Db3Jl
QXVkaW9UeXBlcy5oPgorCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwMCkKICNkZWZpbmUg
Q01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBFIENGX05PRVNDQVBFCiAjZWxzZQpAQCAtNDcsMTEg
KzQ5LDEzIEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUws
IENvcmVNZWRpYSwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0Vf
V0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzLCBP
U1N0YXR1cywgKENNQmxvY2tCdWZmZXJSZWYgdGhlU291cmNlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0
VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgdm9pZCogZGVzdGluYXRpb24pLCAodGhlU291cmNl
QnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGRlc3RpbmF0aW9uKSwgUEFMX0VYUE9S
VCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1l
ZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01CbG9ja0J1ZmZlclJl
ZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVyKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVySXNS
YW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwgc2l6
ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3RoKSwg
UEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChj
b25zdCB2b2lkKiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZl
ciwgc2l6ZV90IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291
cmNlQnl0ZXMsIGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFM
ZW5ndGgpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9F
WFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBD
RkRpY3Rpb25hcnlSZWYsIChDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYyksIFBB
TF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUws
IENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRUeXBlSUQsIENGVHlwZUlELCAodm9pZCksICgp
LCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQo
UEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlciwgQ01CbG9ja0J1ZmZl
clJlZiwgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiBTT0ZU
X0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01T
YW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwg
KENNU2FtcGxlQnVmZmVyUmVmIHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVC
dWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucywgT1NTdGF0dXMsIChDTVNhbXBs
ZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3QgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgQXVkaW9TdHJl
YW1QYWNrZXREZXNjcmlwdGlvbiogcGFja2V0RGVzY3JpcHRpb25zT3V0LCBzaXplX3QqIHBhY2tl
dERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpLCAoc2J1ZiwgcGFja2V0RGVzY3JpcHRpb25zU2l6
ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0LCBwYWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0
KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8sIE9TU3Rh
dHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiwgQ01JdGVtSW5kZXggc2FtcGxlSW5kZXgsIENN
U2FtcGxlVGltaW5nSW5mbyogdGltaW5nSW5mb091dCksIChzYnVmLCBzYW1wbGVJbmRleCwgdGlt
aW5nSW5mb091dCksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJEYXRhSXNSZWFkeSwgQm9v
bGVhbiwgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiAKQEAg
LTEwOCw2ICsxMTIsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9S
VChQQUwsIENvcmVNZWRpYSwga0NNVGV4dFZlcnRpY2FsTGF5b3V0XwogU09GVF9MSU5LX0NPTlNU
QU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIGtDTVRleHRWZXJ0aWNh
bExheW91dF9SaWdodFRvTGVmdCwgQ0ZTdHJpbmdSZWYsIFBBTF9FWFBPUlQpCiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywgT1NTdGF0dXMsIChD
RkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZmZXJSZWYgc291cmNl
QnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3QgQ01CbG9ja0J1ZmZl
ckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90IG9mZnNldFRvRGF0
YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFncywgQ01CbG9ja0J1
ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9yLCBzb3VyY2VCdWZm
ZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0VG9EYXRhLCBkYXRh
TGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZV
TkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVz
Y3JpcHRpb25HZXRNZWRpYVN1YlR5cGUsIEZvdXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRp
b25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0
TWVkaWFUeXBlLCBDTU1lZGlhVHlwZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChk
ZXNjKSwgUEFMX0VYUE9SVCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
Zi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVk
aWFTb2Z0TGluay5oCmluZGV4IDFkYjUxODFmYzU2ZGJmYjA1ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5
ZjAuLjg4ZTYyOTViM2MzZWU1MjNhNTc3ZDcyNjY0MTBkMWIwNDY2ZmMxNWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKQEAgLTI4LDYgKzI4LDcg
QEAKICNpZiBVU0UoQVZGT1VOREFUSU9OKQogLy8gRklYTUU6IFNob3VsZCBiZSBVU0UoQ09SRU1F
RElBKSwgYnV0IHRoaXMgaXNuJ3QgY3VycmVudGx5IGRlZmluZWQgb24gV2luZG93cy4KIAorI2lu
Y2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgogI2luY2x1ZGUgPHBhbC9zcGkvY2Yv
Q29yZU1lZGlhU1BJLmg+CiAjaW5jbHVkZSA8d3RmL1NvZnRMaW5raW5nLmg+CiAKQEAgLTQ5LDYg
KzUwLDggQEAgU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENN
QmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzLCBPU1N0YXQKICNkZWZpbmUgQ01CbG9ja0J1ZmZlckNv
cHlEYXRhQnl0ZXMgc29mdExpbmtfQ29yZU1lZGlhX0NNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVz
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1
ZmZlckdldERhdGFMZW5ndGgsIHNpemVfdCwgKENNQmxvY2tCdWZmZXJSZWYgdGhlQnVmZmVyKSwg
KHRoZUJ1ZmZlcikpCiAjZGVmaW5lIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoIHNvZnRMaW5r
X0NvcmVNZWRpYV9DTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aAorU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91
cywgQm9vbGVhbiwgKENNQmxvY2tCdWZmZXJSZWYgdGhlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0LCBz
aXplX3QgbGVuZ3RoKSwgKHRoZUJ1ZmZlciwgb2Zmc2V0LCBsZW5ndGgpKQorI2RlZmluZSBDTUJs
b2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMgc29mdExpbmtfQ29yZU1lZGlhX0NNQmxvY2tCdWZm
ZXJJc1JhbmdlQ29udGlndW91cwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBD
b3JlTWVkaWEsIENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0
IHZvaWQqIHNvdXJjZUJ5dGVzLCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBz
aXplX3Qgb2Zmc2V0SW50b0Rlc3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VC
eXRlcywgZGVzdGluYXRpb25CdWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0
aCkpCiAjZGVmaW5lIENNQmxvY2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVN
ZWRpYV9DTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25z
LCBDRkRpY3Rpb25hcnlSZWYsIChDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYykp
CkBAIC01OSw2ICs2Miw4IEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29y
ZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldERhdGFCdWZmZXIsIENNQmxvCiAjZGVmaW5lIENNU2Ft
cGxlQnVmZmVyR2V0RGF0YUJ1ZmZlciBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJH
ZXREYXRhQnVmZmVyCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlv
blJlZiwgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYpLCAoc2J1ZikpCiAjZGVmaW5lIENNU2FtcGxl
QnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24gc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVm
ZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24KK1NPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRp
b25zLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYsIHNpemVfdCBwYWNrZXREZXNj
cmlwdGlvbnNTaXplLCBBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKiBwYWNrZXREZXNjcmlw
dGlvbnNPdXQsIHNpemVfdCogcGFja2V0RGVzY3JpcHRpb25zU2l6ZU5lZWRlZE91dCksIChzYnVm
LCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHBhY2tldERl
c2NyaXB0aW9uc1NpemVOZWVkZWRPdXQpKQorI2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlv
U3RyZWFtUGFja2V0RGVzY3JpcHRpb25zIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZl
ckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZv
LCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYsIENNSXRlbUluZGV4IHNhbXBsZUlu
ZGV4LCBDTVNhbXBsZVRpbWluZ0luZm8qIHRpbWluZ0luZm9PdXQpLCAoc2J1Ziwgc2FtcGxlSW5k
ZXgsIHRpbWluZ0luZm9PdXQpKQogI2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWlu
Z0luZm8gc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5m
bwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxl
QnVmZmVyRGF0YUlzUmVhZHksIEJvb2xlYW4sIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNi
dWYpKQpAQCAtMTY4LDYgKzE3Myw4IEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBrQ01UZXh0VmVydGljYWxMYXlvdXRfUmlnaHRUb0xlZnQsCiAKICNpZiBQ
TEFURk9STShDT0NPQSkKIAorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNQmxvY2tCdWZmZXJDcmVhdGVDb250aWd1b3VzLCBPU1N0YXR1cywgKENGQWxsb2Nh
dG9yUmVmIHN0cnVjdHVyZUFsbG9jYXRvciwgQ01CbG9ja0J1ZmZlclJlZiBzb3VyY2VCdWZmZXIs
IENGQWxsb2NhdG9yUmVmIGJsb2NrQWxsb2NhdG9yLCBjb25zdCBDTUJsb2NrQnVmZmVyQ3VzdG9t
QmxvY2tTb3VyY2UqIGN1c3RvbUJsb2NrU291cmNlLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXpl
X3QgZGF0YUxlbmd0aCwgQ01CbG9ja0J1ZmZlckZsYWdzIGZsYWdzLCBDTUJsb2NrQnVmZmVyUmVm
KiBibG9ja0J1ZmZlck91dCksIChzdHJ1Y3R1cmVBbGxvY2F0b3IsIHNvdXJjZUJ1ZmZlciwgYmxv
Y2tBbGxvY2F0b3IsIGN1c3RvbUJsb2NrU291cmNlLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgs
IGZsYWdzLCBibG9ja0J1ZmZlck91dCkpCisjZGVmaW5lIENNQmxvY2tCdWZmZXJDcmVhdGVDb250
aWd1b3VzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cwog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVz
Y3JpcHRpb25HZXRNZWRpYVN1YlR5cGUsIEZvdXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRp
b25SZWYgZGVzYyksIChkZXNjKSkKICNkZWZpbmUgQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlh
U3ViVHlwZSBzb2Z0TGlua19Db3JlTWVkaWFfQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3Vi
VHlwZQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9y
bWF0RGVzY3JpcHRpb25HZXRNZWRpYVR5cGUsIENNTWVkaWFUeXBlLCAoQ01Gb3JtYXREZXNjcmlw
dGlvblJlZiBkZXNjKSwgKGRlc2MpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCmluZGV4IGIzMjQxNTliZTFlZmU3YTVlNWZlMmIy
NjRkNDFhNmEwYzg0ZmQ0OWIuLjcwMGU5YzMyYzRjZmIxYmRjMzBlY2Y0N2EwMDA2MzA3MjA1MjY5
MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9u
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlv
blNvZnRMaW5rLmgKQEAgLTMyNCw0ICszMjQsMTEgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9I
RUFERVIoUEFMLCBBVkZvdW5kYXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWQK
ICNkZWZpbmUgQVZPdXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlv
biBQQUw6OmdldF9BVkZvdW5kYXRpb25fQVZPdXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0RpZENo
YW5nZU5vdGlmaWNhdGlvbigpCiAjZW5kaWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAor
I2lmIFBMQVRGT1JNKENPQ09BKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1
ZGlvQ29udmVydGVyKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvRm9y
bWF0KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvQ29tcHJlc3NlZEJ1
ZmZlcikKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb1BDTUJ1ZmZlcikK
KyNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKKwogI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNv
ZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0
TGluay5tbQppbmRleCAzN2M4YjFmYWZkNThjY2JjNmU4NTBjNmYzMDExNzY3YzdkYTMxNjQ1Li43
MzM5ODQ1ZTA3MjY1ODAxZTA2NDAzMDNiMmUyOTFhMDEyNGU4NzBmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KQEAgLTIz
MCw3ICsyMzAsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQ
QUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb25Sb3V0ZQogCiBTT0ZUX0xJTktfQ09OU1RB
TlRfTUFZX0ZBSUxfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZV
UkxBc3NldEhUVFBDb29raWVzS2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQogU09GVF9MSU5L
X0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRp
b24sIEFWVVJMQXNzZXRSZXF1aXJlc0N1c3RvbVVSTExvYWRpbmdLZXksIE5TU3RyaW5nICosIFBB
TF9FWFBPUlQpCi0jZW5kaWYKKyNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQogCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShB
UFBMRVRWKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBBVkZvdW5kYXRpb24s
IEFWQ2FwdHVyZVNlc3Npb25TZXRBdXRob3JpemVkVG9Vc2VDYW1lcmFJbk11bHRpcGxlRm9yZWdy
b3VuZEFwcExheW91dCwgdm9pZCwgKEFWQ2FwdHVyZVNlc3Npb24gKnNlc3Npb24pLCAoc2Vzc2lv
bikpCkBAIC0yNDQsNCArMjQ0LDExIEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJ
VEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlJvdXRlRGV0ZWN0b3JNdWx0CiBTT0ZUX0xJ
TktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZP
dXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbiwgTlNTdHJpbmcg
KiwgUEFMX0VYUE9SVCkKICNlbmRpZiAvLyBIQVZFKEFWUk9VVEVQSUNLRVJWSUVXKQogCisjaWYg
UExBVEZPUk0oQ09DT0EpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQ
QUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb0NvbnZlcnRlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElO
S19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlv
Rm9ybWF0LCBQQUxfRVhQT1JUKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBP
UlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9Db21wcmVzc2VkQnVmZmVyLCBQQUxfRVhQT1JU
KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRp
b24sIEFWQXVkaW9QQ01CdWZmZXIsIFBBTF9FWFBPUlQpCisjZW5kaWYKKwogI2VuZGlmIC8vIFVT
RShBVkZPVU5EQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNzYxMDQxOGJiZmE4ODZmOTc0OGQ1NTlkYTRhYmE4Y2E1OGUx
YmY0Yi4uOTg0MmNjMjI1ZmMzYTZjOTcwYzE1MGQyNGE4NWVkOGFiMDM3OWIxNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjMy
LDcgKzIzMiw3IEBACiAJCTA3RUU3NkVDMUJFOTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVW
aWRlb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDdFRTc2RUExQkU5NkRCMDAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDdFRTc2
RUYxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0VFNzZFRDFCRUE2MTk4
MDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMuaCAqLzsgfTsKIAkJMDdGNEU5
MzMyMEIzNTg3RjAwMkUzODAzIC8qIEFWQXNzZXRNSU1FVHlwZUNhY2hlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0M4QUQxMjFEMDczRDYzMDA4N0M1
Q0UgLyogQVZBc3NldE1JTUVUeXBlQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwotCQkwN0Y1Q0ZGNTI1ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1
ZGlvVXRpbGl0aWVzQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA3RjVDRkY0MjU4MkE0RjgwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXND
b2NvYS5oICovOyB9OworCQkwN0Y1Q0ZGNTI1ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRp
bGl0aWVzQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA3RjVDRkY0MjU4MkE0RjgwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RjVD
RkY2MjU4MkE1MjkwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkYyMjU4MkE0Rjgw
MDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbSAqLzsgfTsKIAkJMDdGODc2ODQx
QUQ1ODBGOTAwOTA1ODQ5IC8qIE1lZGlhUGxheWJhY2tUYXJnZXRDb250ZXh0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y4NzY4MzFBRDRBOTQ1MDA5
MDU4NDkgLyogTWVkaWFQbGF5YmFja1RhcmdldENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0Y5NDQxNjE4NjREMDQ2MDA1RDMxQ0Ig
LyogUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREFFOEMwODE3NDZCOTU3MDA1MzJENzggLyogUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmlu
ZGV4IGEzYjNhMmYxMTU3YzJiN2U1MDBiMmEwNGU0NjhlZDU2YWQyMDQ0YmMuLjdkN2NkMmNlMWRl
ZmI4YzA1MTAzYjQzODFkYTc1ZjcwYjcyODM0N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcApAQCAtMTA1NSw3ICsxMDU1LDcgQEAgU3RyaW5nIEhUTUxNZWRpYUVs
ZW1lbnQ6OmNhblBsYXlUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0CiAgICAgLy8g
VGVtcG9yYXJpbHkgd29yayBhcm91bmQgYnVnIDIyNjkyMi4gRm9yIG5vdyBjbGFpbSB0aGF0IHRo
ZSBvcHVzIGFuZCB2b3JiaXMgY29kZWNzIGFyZW4ndCBzdXBwb3J0ZWQKICAgICAvLyBzbyB0aGF0
IHNpdGVzIHJlbHlpbmcgb24gdGhpcyB0ZXN0IHRvIGRldGVybWluZSBpZiB3ZWJhdWRpbyB1c2Ug
b2Ygb3B1cyBvciB2b3JiaXMgd29uJ3QgZXJyb3IuCiAgICAgYXV0byBjb2RlY3MgPSBjb250ZW50
VHlwZS5jb2RlY3MoKTsKLSAgICBpZiAoc3VwcG9ydCA9PSBNZWRpYVBsYXllcjo6U3VwcG9ydHNU
eXBlOjpJc1N1cHBvcnRlZCAmJiAoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikgfHwgY29kZWNzLmNv
bnRhaW5zKCJ2b3JiaXMiKSkpCisgICAgaWYgKHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBv
cnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYgKChjb2RlY3MuY29udGFpbnMoIm9wdXMiKSAmJiAhd2Vi
TVdlYkF1ZGlvRW5hYmxlZCgpKSB8fCBjb2RlY3MuY29udGFpbnMoInZvcmJpcyIpKSkKICAgICAg
ICAgc3VwcG9ydCA9IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkOwog
I2VuZGlmCiAKQEAgLTgxNzUsNiArODE3NSwxNSBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Omhh
c01lZGlhU3RyZWFtU291cmNlKCkgY29uc3QKICNlbmRpZgogfQogCitib29sIEhUTUxNZWRpYUVs
ZW1lbnQ6OndlYk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdAoreworI2lmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkud2ViTVdlYkF1ZGlvRW5hYmxlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5k
aWYKK30KKwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
Om1lZGlhU3RyZWFtQ2FwdHVyZVN0YXJ0ZWQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaAppbmRleCAxMDUxYzA1ODUzZmMwMTJlZGRhY2Q4Yjc0Yzk0NWFiYmFjMmQ1MzIw
Li5mOTI2ZWQ2MjczMDExZDUxNjQ4YWRlZjU3OTdkYmVkZmE2ZGI4MmQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtOTM5LDYgKzkzOSw4IEBAIHByaXZhdGU6CiAg
ICAgY29uc3QgTG9nZ2VyJiBtZWRpYVBsYXllckxvZ2dlcigpIGZpbmFsIHsgcmV0dXJuIGxvZ2dl
cigpOyB9CiAjZW5kaWYKIAorICAgIGJvb2wgd2ViTVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0Owor
CiAgICAgVGltZXIgbV9wcm9ncmVzc0V2ZW50VGltZXI7CiAgICAgVGltZXIgbV9wbGF5YmFja1By
b2dyZXNzVGltZXI7CiAgICAgVGltZXIgbV9zY2FuVGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4IGEwZDNjZWE3OWQ3ZTBhZTA3NDgyNDBk
ZDIyZWVlMmQ1NTc1MDQ0YTYuLjY4NWEwYTJhZDc1NDcyNjk5YWViZjIxOWZhMGMyNTE1MjFiZWIw
YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBA
IC0yMzUsNiArMjM1LDggQEAgcHVibGljOgogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAg
dm9pZCBzZXRXZWJNUGFyc2VyRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX3dlYk1QYXJzZXJF
bmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB3ZWJNUGFyc2VyRW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fd2ViTVBhcnNlckVuYWJsZWQ7IH0KKyAgICB2b2lkIHNldFdlYk1XZWJBdWRp
b0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJNV2ViQXVkaW9FbmFibGVkID0gaXNFbmFi
bGVkOyB9CisgICAgYm9vbCB3ZWJNV2ViQXVkaW9FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93
ZWJNV2ViQXVkaW9FbmFibGVkOyB9CiAjZW5kaWYKIAogI2lmIEhBVkUoQ0VMRVNUSUFMKQpAQCAt
MzcxLDYgKzM3Myw3IEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAg
IGJvb2wgbV93ZWJNUGFyc2VyRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX3dlYk1XZWJB
dWRpb0VuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCmluZGV4IDhkYTYwMzc3ODgyNDMzMzBhZTI1
MGQ5YzEwYzcyZWUwNTg4ZTc2MGMuLjA4NDdiOTc0ZTkzZTg3MmEyMjllN2ExNjEwZjJkNDRlOTAy
Y2MwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaApAQCAtNTcsNyArNTcs
NyBAQCBzdHJ1Y3QgUGxhdGZvcm1TYW1wbGUgewogICAgIH0gc2FtcGxlOwogfTsKIAotY2xhc3Mg
V0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
TWVkaWFTYW1wbGU+IHsKK2NsYXNzIE1lZGlhU2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZD
b3VudGVkPE1lZGlhU2FtcGxlPiB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+TWVkaWFTYW1wbGUo
KSA9IGRlZmF1bHQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvQnVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNw
cAppbmRleCAyNDNlMTA2YjllMzNkYTkzZGU5YTBjYWQzM2JjMDhlOTIwNjUzMjAwLi43ZjAzYzMz
MWVlMjAxMGM5ODkyOWEwMzI0ZGNhYzk1NWQ2NWY4YmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCkBAIC03Myw2ICs3MywxNiBAQCB2b2lkIEF1ZGlvQnVz
OjpzZXRDaGFubmVsTWVtb3J5KHVuc2lnbmVkIGNoYW5uZWxJbmRleCwgZmxvYXQqIHN0b3JhZ2Us
IHNpemVfdCBsZQogICAgIH0KIH0KIAordm9pZCBBdWRpb0J1czo6c2V0TGVuZ3RoKHNpemVfdCBu
ZXdMZW5ndGgpCit7CisgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
TihuZXdMZW5ndGggPD0gbV9sZW5ndGgpOworICAgIGlmIChuZXdMZW5ndGggPT0gbV9sZW5ndGgp
CisgICAgICAgIHJldHVybjsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVs
cy5zaXplKCk7ICsraSkKKyAgICAgICAgbV9jaGFubmVsc1tpXS0+c2V0TGVuZ3RoKG5ld0xlbmd0
aCk7CisgICAgbV9sZW5ndGggPSBuZXdMZW5ndGg7Cit9CisKIHZvaWQgQXVkaW9CdXM6Onplcm8o
KQogewogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoYW5uZWxzLnNpemUoKTsgKytp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDBlODExMjEx
YjRkYTJjYThjNjcwYjU4YjMyOTZiMzVjZTY5Y2Q0YS4uMzE3NTUxYzllZjExNWYyNmMwOWU1ODAw
ODkzNmMyNDViYzE0YTA3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9CdXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1
cy5oCkBAIC04Myw2ICs4Myw5IEBAIHB1YmxpYzoKICAgICAvLyBOdW1iZXIgb2Ygc2FtcGxlLWZy
YW1lcwogICAgIHNpemVfdCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQogCisg
ICAgLy8gUmVkdWNlIHRoZSBudW1iZXIgb2YgZnJhbWVzIGF2YWlsYWJsZSB3aXRob3V0IGNoYW5n
aW5nIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHNpemUuCisgICAgdm9pZCBzZXRMZW5ndGgoc2l6ZV90
KTsKKwogICAgIC8vIFNhbXBsZS1yYXRlIDogMC4wIGlmIHVua25vd24gb3IgImRvbid0IGNhcmUi
CiAgICAgZmxvYXQgc2FtcGxlUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxlUmF0ZTsgfQog
ICAgIHZvaWQgc2V0U2FtcGxlUmF0ZShmbG9hdCBzYW1wbGVSYXRlKSB7IG1fc2FtcGxlUmF0ZSA9
IHNhbXBsZVJhdGU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvQ2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFu
bmVsLmgKaW5kZXggOTc1YmQwYjVhYmQ4ZjcyNTVhMDVhN2RkNzBmOTY1MGIxZDQ5NDY2Ny4uMTY3
NmY1NmI2ZGRiOTcwOWMyZDQ2ZTc4OWU2OTk4YmEyZmYxNTUyOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKQEAgLTc0LDYgKzc0LDEzIEBAIHB1Ymxp
YzoKICAgICAvLyBIb3cgbWFueSBzYW1wbGUtZnJhbWVzIGRvIHdlIGNvbnRhaW4/CiAgICAgc2l6
ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CiAKKyAgICAvLyBTZXQgbmV3
IGxlbmd0aC4gQ2FuIG9ubHkgYmUgc2V0IHRvIGEgdmFsdWUgbG93ZXIgdGhhbiB0aGUgY3VycmVu
dCBsZW5ndGguCisgICAgdm9pZCBzZXRMZW5ndGgoc2l6ZV90IG5ld0xlbmd0aCkKKyAgICB7Cisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3Ro
IDw9IGxlbmd0aCgpKTsKKyAgICAgICAgbV9sZW5ndGggPSBuZXdMZW5ndGg7CisgICAgfQorCiAg
ICAgLy8gRGlyZWN0IGFjY2VzcyB0byBQQ00gc2FtcGxlIGRhdGEuIE5vbi1jb25zdCBhY2Nlc3Nv
ciBjbGVhcnMgc2lsZW50IGZsYWcuCiAgICAgZmxvYXQqIG11dGFibGVEYXRhKCkKICAgICB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVS
ZWFkZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRp
b0ZpbGVSZWFkZXJDb2NvYS5jcHAKaW5kZXggNWQ1NmI5ZWUxYTBkM2Q2N2E3OWMzMDc2MWQxMzgx
NWQ3YzA2NDRjZS4uNDMyMjM1OTEzYjA4MDkzNjk0ZWE1Yzc2NjA5MjYxZDllOGRhNjA3NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVh
ZGVyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1
ZGlvRmlsZVJlYWRlckNvY29hLmNwcApAQCAtMzQsMjEgKzM0LDM2IEBACiAKICNpbmNsdWRlICJB
dWRpb0J1cy5oIgogI2luY2x1ZGUgIkF1ZGlvRmlsZVJlYWRlci5oIgorI2luY2x1ZGUgIkF1ZGlv
U2FtcGxlRGF0YVNvdXJjZS5oIgorI2luY2x1ZGUgIkF1ZGlvVHJhY2tQcml2YXRlLmgiCiAjaW5j
bHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCisjaW5jbHVkZSAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0
ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJNZWRpYVNhbXBsZUFWRk9iakMu
aCIKKyNpbmNsdWRlICJWaWRlb1RyYWNrUHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYk1BdWRpb1V0
aWxpdGllc0NvY29hLmgiCisjaW5jbHVkZSA8QXVkaW9Ub29sYm94L0F1ZGlvQ29udmVydGVyLmg+
CiAjaW5jbHVkZSA8QXVkaW9Ub29sYm94L0V4dGVuZGVkQXVkaW9GaWxlLmg+CiAjaW5jbHVkZSA8
Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KLSNpbmNsdWRlIDxwYWwvY2YvQXVkaW9U
b29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxTb3VyY2VCdWZmZXJQYXJzZXJXZWJNLmg+Cisj
aW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgogI2lu
Y2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5j
bHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9TY29wZS5oPgorI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4K
KyNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIEF1ZGlvQnVmZmVyTGlzdCogdHJ5Q3Jl
YXRlQXVkaW9CdWZmZXJMaXN0KHNpemVfdCBudW1iZXJPZkJ1ZmZlcnMpCiB7CisgICAgaWYgKCFu
dW1iZXJPZkJ1ZmZlcnMpCisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIENoZWNrZWRTaXpl
IGJ1ZmZlckxpc3RTaXplID0gc2l6ZW9mKEF1ZGlvQnVmZmVyTGlzdCkgLSBzaXplb2YoQXVkaW9C
dWZmZXIpOwotICAgIGJ1ZmZlckxpc3RTaXplICs9IG51bWJlck9mQnVmZmVycyAqIHNpemVvZihB
dWRpb0J1ZmZlcik7CisgICAgYnVmZmVyTGlzdFNpemUgKz0gV1RGOjpjaGVja2VkUHJvZHVjdDxz
aXplX3Q+KG51bWJlck9mQnVmZmVycywgc2l6ZW9mKEF1ZGlvQnVmZmVyKSk7CiAgICAgaWYgKGJ1
ZmZlckxpc3RTaXplLmhhc092ZXJmbG93ZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAK
QEAgLTg3LDEwICsxMDIsNTQgQEAgc3RhdGljIGJvb2wgdmFsaWRhdGVBdWRpb0J1ZmZlckxpc3Qo
QXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0KQogICAgIHJldHVybiB0cnVlOwogfQogCisvLyBP
biBzdGFjayBSQUlJIGNsYXNzIHRoYXQgd2lsbCBmcmVlIHRoZSBhbGxvY2F0ZWQgQXVkaW9CdWZm
ZXJMaXN0KiBhcyBuZWVkZWQuCitjbGFzcyBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgeworcHVibGlj
OgorICAgIGV4cGxpY2l0IEF1ZGlvQnVmZmVyTGlzdEhvbGRlcihzaXplX3QgbnVtYmVyT2ZDaGFu
bmVscykKKyAgICAgICAgOiBtX2J1ZmZlckxpc3QodHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51
bWJlck9mQ2hhbm5lbHMpKQorICAgIHsKKyAgICB9CisKKyAgICB+QXVkaW9CdWZmZXJMaXN0SG9s
ZGVyKCkKKyAgICB7CisgICAgICAgIGlmIChtX2J1ZmZlckxpc3QpCisgICAgICAgICAgICBkZXN0
cm95QXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7CisgICAgfQorCisgICAgZXhwbGljaXQg
b3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuICEhbV9idWZmZXJMaXN0OyB9CisgICAgQXVk
aW9CdWZmZXJMaXN0KiBvcGVyYXRvci0+KCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXJMaXN0OyB9
CisgICAgb3BlcmF0b3IgQXVkaW9CdWZmZXJMaXN0KigpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVy
TGlzdDsgfQorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIHZhbGlkYXRlQXVkaW9C
dWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7IH0KK3ByaXZhdGU6CisgICAgQXVkaW9CdWZmZXJMaXN0
KiBtX2J1ZmZlckxpc3Q7Cit9OworCitjbGFzcyBBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YSB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisKK3B1YmxpYzoKKyNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQorICAgIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk06OkluaXRpYWxpemF0aW9uU2VnbWVu
dCBtX2luaXRTZWdtZW50OworI2VuZGlmCisgICAgTWVkaWFUaW1lIG1fZHVyYXRpb247CisgICAg
VmVjdG9yPFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+PiBtX3NhbXBsZXM7Cit9OworCiBBdWRpb0Zp
bGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNp
emUpCiAgICAgOiBtX2RhdGEoZGF0YSkKICAgICAsIG1fZGF0YVNpemUoZGF0YVNpemUpCisjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ2dlcihMb2dnZXI6OmNyZWF0ZSh0aGlz
KSkKKyAgICAsIG1fbG9nSWRlbnRpZmllcihMb2dnZXJIZWxwZXI6OnVuaXF1ZUxvZ0lkZW50aWZp
ZXIoKSkKKyNlbmRpZgogeworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgaWYgKGlzTWF5
YmVXZWJNKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpKSB7Cisg
ICAgICAgIG1fd2VibURhdGEgPSBkZW11eFdlYk1EYXRhKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4
X3QqPihkYXRhKSwgZGF0YVNpemUpOworICAgICAgICBpZiAobV93ZWJtRGF0YSkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKICAgICBpZiAoUEFMOjpBdWRpb0ZpbGVPcGVuV2l0
aENhbGxiYWNrcyh0aGlzLCByZWFkUHJvYywgMCwgZ2V0U2l6ZVByb2MsIDAsIDAsICZtX2F1ZGlv
RmlsZUlEKSAhPSBub0VycikKICAgICAgICAgcmV0dXJuOwogCkBAIC0xMTEsNiArMTcwLDE5MCBA
QCBBdWRpb0ZpbGVSZWFkZXI6On5BdWRpb0ZpbGVSZWFkZXIoKQogICAgIG1fYXVkaW9GaWxlSUQg
PSAwOwogfQogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKK2Jvb2wgQXVkaW9GaWxlUmVhZGVy
Ojppc01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUpIGNvbnN0
Cit7CisgICAgLy8gRnJvbSBodHRwczovL21pbWVzbmlmZi5zcGVjLndoYXR3Zy5vcmcvI3NpZ25h
dHVyZS1mb3Itd2VibQorICAgIHJldHVybiBkYXRhU2l6ZSA+PSA0ICYmIGRhdGFbMF0gPT0gMHgx
QSAmJiBkYXRhWzFdID09IDB4NDUgJiYgZGF0YVsyXSA9PSAweERGICYmIGRhdGFbM10gPT0gMHhB
MzsKK30KKworc3RkOjp1bmlxdWVfcHRyPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPiBBdWRpb0Zp
bGVSZWFkZXI6OmRlbXV4V2ViTURhdGEoY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFT
aXplKSBjb25zdAoreworICAgIGF1dG8gcGFyc2VyID0gYWRvcHRSZWYobmV3IFNvdXJjZUJ1ZmZl
clBhcnNlcldlYk0oKSk7CisgICAgYm9vbCBlcnJvciA9IGZhbHNlOworICAgIHN0ZDo6b3B0aW9u
YWw8dWludDY0X3Q+IGF1ZGlvVHJhY2tJZDsKKyAgICBNZWRpYVRpbWUgZHVyYXRpb247CisgICAg
U291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25TZWdtZW50IGluaXRTZWdtZW50
OworICAgIFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPj4gc2FtcGxlczsKKyAgICBwYXJz
ZXItPnNldERpZEVuY291bnRlckVycm9yRHVyaW5nUGFyc2luZ0NhbGxiYWNrKFsmXSh1aW50NjRf
dCkgeworICAgICAgICBlcnJvciA9IHRydWU7CisgICAgfSk7CisgICAgcGFyc2VyLT5zZXREaWRQ
YXJzZUluaXRpYWxpemF0aW9uRGF0YUNhbGxiYWNrKFsmXShTb3VyY2VCdWZmZXJQYXJzZXJXZWJN
OjpJbml0aWFsaXphdGlvblNlZ21lbnQmJiBpbml0KSB7CisgICAgICAgIGZvciAoYXV0byYgYXVk
aW9UcmFjayA6IGluaXQuYXVkaW9UcmFja3MpIHsKKyAgICAgICAgICAgIGlmIChhdWRpb1RyYWNr
LnRyYWNrICYmIGF1ZGlvVHJhY2sudHJhY2stPnRyYWNrVUlEKCkpIHsKKyAgICAgICAgICAgICAg
ICBkdXJhdGlvbiA9IGluaXQuZHVyYXRpb247CisgICAgICAgICAgICAgICAgYXVkaW9UcmFja0lk
ID0gYXVkaW9UcmFjay50cmFjay0+dHJhY2tVSUQoKTsKKyAgICAgICAgICAgICAgICBpbml0U2Vn
bWVudCA9IFdURk1vdmUoaW5pdCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgfSk7CisgICAgcGFyc2VyLT5zZXREaWRQcm92aWRlTWVkaWFE
YXRhQ2FsbGJhY2soWyZdKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNr
SUQsIGNvbnN0IFN0cmluZyYpIHsKKyAgICAgICAgaWYgKCFhdWRpb1RyYWNrSWQgfHwgdHJhY2tJ
RCAhPSAqYXVkaW9UcmFja0lkKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBzYW1wbGVz
LmFwcGVuZChzdGF0aWNfcmVmZXJlbmNlX2Nhc3Q8TWVkaWFTYW1wbGVBVkZPYmpDPihXVEZNb3Zl
KHNhbXBsZSkpKTsKKyAgICB9KTsKKyAgICBwYXJzZXItPnNldENhbGxPbkNsaWVudFRocmVhZENh
bGxiYWNrKFtdKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKSB7CisgICAgICAgIGZ1
bmN0aW9uKCk7CisgICAgfSk7CisgICAgVmVjdG9yPHVpbnQ4X3Q+IHZlY3RvcihkYXRhLCBkYXRh
U2l6ZSk7CisgICAgU291cmNlQnVmZmVyUGFyc2VyOjpTZWdtZW50IHNlZ21lbnQoV1RGTW92ZSh2
ZWN0b3IpKTsKKyAgICBwYXJzZXItPmFwcGVuZERhdGEoV1RGTW92ZShzZWdtZW50KSk7CisgICAg
aWYgKCFhdWRpb1RyYWNrSWQpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHBhcnNlci0+
Zmx1c2hQZW5kaW5nQXVkaW9CdWZmZXJzKCk7CisgICAgcmV0dXJuIG1ha2VVbmlxdWU8QXVkaW9G
aWxlUmVhZGVyV2ViTURhdGE+KEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhIHsgV1RGTW92ZShpbml0
U2VnbWVudCksIFdURk1vdmUoZHVyYXRpb24pLCBXVEZNb3ZlKHNhbXBsZXMpIH0pOworfQorCitz
dHJ1Y3QgUGFzc3Rocm91Z2hVc2VyRGF0YSB7CisgICAgVUludDMyIG1fY2hhbm5lbHM7CisgICAg
VUludDMyIG1fZGF0YVNpemU7CisgICAgY29uc3Qgdm9pZCogbV9kYXRhOworICAgIFVJbnQzMiBt
X2luZGV4OworICAgIFZlY3RvcjxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPiYgbV9wYWNr
ZXRzOworfTsKKworLy8gRXJyb3IgdmFsdWUgd2UgcGFzcyB0aHJvdWdoIHRoZSBkZWNvZGVyIHRv
IHNpZ25hbCB0aGF0IG5vdGhpbmcKKy8vIGhhcyBnb25lIHdyb25nIGR1cmluZyBkZWNvZGluZyBh
bmQgd2UncmUgZG9uZSBwcm9jZXNzaW5nIHRoZSBwYWNrZXQuCitjb25zdCB1aW50MzJfdCBrTm9N
b3JlRGF0YUVyciA9ICdNT0FSJzsKKworc3RhdGljIE9TU3RhdHVzIHBhc3N0aHJvdWdoSW5wdXRE
YXRhQ2FsbGJhY2soQXVkaW9Db252ZXJ0ZXJSZWYsIFVJbnQzMiogbnVtRGF0YVBhY2tldHMsIEF1
ZGlvQnVmZmVyTGlzdCogZGF0YSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbioqIHBhY2tl
dERlc2MsIHZvaWQqIGluVXNlckRhdGEpCit7CisgICAgYXV0byogdXNlckRhdGEgPSBzdGF0aWNf
Y2FzdDxQYXNzdGhyb3VnaFVzZXJEYXRhKj4oaW5Vc2VyRGF0YSk7CisgICAgaWYgKHVzZXJEYXRh
LT5tX2luZGV4ID09IHVzZXJEYXRhLT5tX3BhY2tldHMuc2l6ZSgpKSB7CisgICAgICAgICpudW1E
YXRhUGFja2V0cyA9IDA7CisgICAgICAgIHJldHVybiBrTm9Nb3JlRGF0YUVycjsKKyAgICB9CisK
KyAgICBpZiAocGFja2V0RGVzYykgeworICAgICAgICBpZiAodXNlckRhdGEtPm1faW5kZXggPj0g
dXNlckRhdGEtPm1fcGFja2V0cy5zaXplKCkpIHsKKyAgICAgICAgICAgICpudW1EYXRhUGFja2V0
cyA9IDA7CisgICAgICAgICAgICByZXR1cm4ga0F1ZGlvQ29udmVydGVyRXJyX1JlcXVpcmVzUGFj
a2V0RGVzY3JpcHRpb25zRXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgKnBhY2tldERlc2MgPSAm
dXNlckRhdGEtPm1fcGFja2V0c1t1c2VyRGF0YS0+bV9pbmRleF07CisgICAgfQorCisgICAgZGF0
YS0+bUJ1ZmZlcnNbMF0ubU51bWJlckNoYW5uZWxzID0gdXNlckRhdGEtPm1fY2hhbm5lbHM7Cisg
ICAgZGF0YS0+bUJ1ZmZlcnNbMF0ubURhdGFCeXRlU2l6ZSA9IHVzZXJEYXRhLT5tX2RhdGFTaXpl
OworICAgIGRhdGEtPm1CdWZmZXJzWzBdLm1EYXRhID0gY29uc3RfY2FzdDx2b2lkKj4odXNlckRh
dGEtPm1fZGF0YSk7CisKKyAgICAqbnVtRGF0YVBhY2tldHMgPSAxOworICAgIHVzZXJEYXRhLT5t
X2luZGV4Kys7CisKKyAgICByZXR1cm4gbm9FcnI7Cit9CisKK1ZlY3RvcjxBdWRpb1N0cmVhbVBh
Y2tldERlc2NyaXB0aW9uPiBBdWRpb0ZpbGVSZWFkZXI6OmdldFBhY2tldERlc2NyaXB0aW9ucyhD
TVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIpIGNvbnN0Cit7CisgICAgc2l6ZV90IHBhY2tl
dERlc2NyaXB0aW9uc1NpemU7CisgICAgaWYgKFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0
cmVhbVBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIDAsIG51bGxwdHIsICZwYWNrZXRE
ZXNjcmlwdGlvbnNTaXplKSAhPSBub0VycikgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChX
ZWJBdWRpbywgIlVuYWJsZSB0byBnZXQgcGFja2V0IGRlc2NyaXB0aW9uIGxpc3Qgc2l6ZSIpOwor
ICAgICAgICByZXR1cm4geyB9OworICAgIH0KKyAgICBzaXplX3QgbnVtRGVzY3JpcHRpb25zID0g
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSAvIHNpemVvZihBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0
aW9uKTsKKyAgICBpZiAoIW51bURlc2NyaXB0aW9ucykgeworICAgICAgICBSRUxFQVNFX0xPR19G
QVVMVChXZWJBdWRpbywgIk5vIHBhY2tldCBkZXNjcmlwdGlvbiBmb3VuZC4iKTsKKyAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICB9CisgICAgVmVjdG9yPEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRp
b24+IGRlc2NyaXB0aW9ucyhudW1EZXNjcmlwdGlvbnMpOworICAgIGlmIChQQUw6OkNNU2FtcGxl
QnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCBwYWNr
ZXREZXNjcmlwdGlvbnNTaXplLCBkZXNjcmlwdGlvbnMuZGF0YSgpLCBudWxscHRyKSAhPSBub0Vy
cikgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBnZXQg
cGFja2V0IGRlc2NyaXB0aW9uIGxpc3QiKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9Cisg
ICAgYXV0byBudW1QYWNrZXRzID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2Ft
cGxlQnVmZmVyKTsKKyAgICBpZiAobnVtRGVzY3JpcHRpb25zICE9IHNpemVfdChudW1QYWNrZXRz
KSkgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuaGFuZGxlZCBDTVNh
bXBsZUJ1ZmZlciBzdHJ1Y3R1cmUiKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAg
cmV0dXJuIGRlc2NyaXB0aW9uczsKK30KKworc3RkOjpvcHRpb25hbDxzaXplX3Q+IEF1ZGlvRmls
ZVJlYWRlcjo6ZGVjb2RlV2ViTURhdGEoQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0LCBzaXpl
X3QgbnVtYmVyT2ZGcmFtZXMsIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5G
b3JtYXQsIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgb3V0Rm9ybWF0KSBjb25z
dAoreworICAgIEF1ZGlvQ29udmVydGVyUmVmIGNvbnZlcnRlcjsKKyAgICBpZiAoUEFMOjpBdWRp
b0NvbnZlcnRlck5ldygmaW5Gb3JtYXQsICZvdXRGb3JtYXQsICZjb252ZXJ0ZXIpICE9IG5vRXJy
KSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIGNyZWF0
ZSBkZWNvZGVyIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorICAgIGF1dG8gY2xlYW51
cCA9IG1ha2VTY29wZUV4aXQoWyZdIHsKKyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bv
c2UoY29udmVydGVyKTsKKyAgICB9KTsKKyAgICBhdXRvIGZvcm1hdERlc2NyaXB0aW9uID0gUEFM
OjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKG1fd2VibURhdGEtPm1fc2FtcGxl
c1swXS0+c2FtcGxlQnVmZmVyKCkpOworICAgIGlmICghZm9ybWF0RGVzY3JpcHRpb24pIHsKKyAg
ICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8gcmV0cmlldmUgZm9y
bWF0IGRlc2NyaXB0aW9uIGZyb20gZmlyc3Qgc2FtcGxlIik7CisgICAgICAgIHJldHVybiB7IH07
CisgICAgfQorICAgIHNpemVfdCBtYWdpY0Nvb2tpZVNpemUgPSAwOworICAgIGNvbnN0IHZvaWQq
IG1hZ2ljQ29va2llID0gUEFMOjpDTUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25HZXRNYWdpY0Nvb2tp
ZShmb3JtYXREZXNjcmlwdGlvbiwgJm1hZ2ljQ29va2llU2l6ZSk7CisgICAgaWYgKG1hZ2ljQ29v
a2llICYmIG1hZ2ljQ29va2llU2l6ZSkKKyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlclNldFBy
b3BlcnR5KGNvbnZlcnRlciwga0F1ZGlvQ29udmVydGVyRGVjb21wcmVzc2lvbk1hZ2ljQ29va2ll
LCBtYWdpY0Nvb2tpZVNpemUsIG1hZ2ljQ29va2llKTsKKworICAgIEF1ZGlvQnVmZmVyTGlzdEhv
bGRlciBkZWNvZGVkQnVmZmVyTGlzdChpbkZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZSk7CisgICAg
aWYgKCFkZWNvZGVkQnVmZmVyTGlzdCkgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJB
dWRpbywgIlVuYWJsZSB0byBjcmVhdGUgZGVjb2RlciIpOworICAgICAgICByZXR1cm4geyB9Owor
ICAgIH0KKworICAgIHNpemVfdCBkZWNvZGVkRnJhbWVzID0gMDsKKyAgICBPU1N0YXR1cyBzdGF0
dXM7CisgICAgZm9yIChhdXRvJiBzYW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAg
ICAgICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyID0gc2FtcGxlLT5zYW1wbGVCdWZm
ZXIoKTsKKyAgICAgICAgYXV0byBidWZmZXIgPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1
ZmZlcihzYW1wbGVCdWZmZXIpOworICAgICAgICBBU1NFUlQoUEFMOjpDTUJsb2NrQnVmZmVySXNS
YW5nZUNvbnRpZ3VvdXMoYnVmZmVyLCAwLCAwKSk7CisgICAgICAgIGlmICghUEFMOjpDTUJsb2Nr
QnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMoYnVmZmVyLCAwLCAwKSkgeworICAgICAgICAgICAgUkVM
RUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8gcmVhZCBzYW1wbGUgY29udGVudCAo
bm90IGNvbnRpZ3VvdXMpIik7CisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICB9CisK
KyAgICAgICAgc2l6ZV90IHNyY1NpemUgPSBQQUw6OkNNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3Ro
KGJ1ZmZlcik7CisgICAgICAgIGNoYXIqIHNyY0RhdGEgPSBudWxscHRyOworICAgICAgICBpZiAo
UEFMOjpDTUJsb2NrQnVmZmVyR2V0RGF0YVBvaW50ZXIoYnVmZmVyLCAwLCBudWxscHRyLCBudWxs
cHRyLCAmc3JjRGF0YSkgIT0gbm9FcnIpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxU
KFdlYkF1ZGlvLCAiVW5hYmxlIHRvIHJldHJpZXZlIGRhdGEiKTsKKyAgICAgICAgICAgIHJldHVy
biB7IH07CisgICAgICAgIH0KKworICAgICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IGdldFBhY2tl
dERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIpOworICAgICAgICBpZiAoZGVzY3JpcHRpb25zLmlz
RW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgUGFzc3Rocm91Z2hV
c2VyRGF0YSB1c2VyRGF0YSA9IHsgaW5Gb3JtYXQubUNoYW5uZWxzUGVyRnJhbWUsIFVJbnQzMihz
cmNTaXplKSwgc3JjRGF0YSwgMCwgZGVzY3JpcHRpb25zIH07CisKKyAgICAgICAgZG8geworICAg
ICAgICAgICAgaWYgKG51bWJlck9mRnJhbWVzIDwgZGVjb2RlZEZyYW1lcykgeworICAgICAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiRGVjb2RlZCBtb3JlIGZyYW1lcyB0
aGFuIGZpcnN0IGNhbGN1bGF0ZWQiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgLy8gaW46IHRoZSBtYXggbnVtYmVyIG9mIHBhY2tldHMg
d2UgY2FuIGhhbmRsZSBmcm9tIHRoZSBkZWNvZGVyLgorICAgICAgICAgICAgLy8gb3V0OiB0aGUg
bnVtYmVyIG9mIHBhY2tldHMgdGhlIGRlY29kZXIgaXMgYWN0dWFsbHkgcmV0dXJuaW5nLgorICAg
ICAgICAgICAgVUludDMyIG51bUZyYW1lcyA9IHN0ZDo6bWluPHVpbnQzMl90PihzdGQ6Om51bWVy
aWNfbGltaXRzPGludDMyX3Q+OjptYXgoKSAvIHNpemVvZihmbG9hdCksIG51bWJlck9mRnJhbWVz
IC0gZGVjb2RlZEZyYW1lcyk7CisKKyAgICAgICAgICAgIGZvciAoVUludDMyIGkgPSAwOyBpIDwg
aW5Gb3JtYXQubUNoYW5uZWxzUGVyRnJhbWU7IGkrKykgeworICAgICAgICAgICAgICAgIGRlY29k
ZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tTnVtYmVyQ2hhbm5lbHMgPSAxOworICAgICAgICAg
ICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YUJ5dGVTaXplID0gbnVt
RnJhbWVzICogc2l6ZW9mKGZsb2F0KTsKKyAgICAgICAgICAgICAgICBkZWNvZGVkQnVmZmVyTGlz
dC0+bUJ1ZmZlcnNbaV0ubURhdGEgPSBzdGF0aWNfY2FzdDxmbG9hdCo+KGJ1ZmZlckxpc3QtPm1C
dWZmZXJzW2ldLm1EYXRhKSArIGRlY29kZWRGcmFtZXM7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBzdGF0dXMgPSBQQUw6OkF1ZGlvQ29udmVydGVyRmlsbENvbXBsZXhCdWZmZXIoY29udmVy
dGVyLCBwYXNzdGhyb3VnaElucHV0RGF0YUNhbGxiYWNrLCAmdXNlckRhdGEsICZudW1GcmFtZXMs
IGRlY29kZWRCdWZmZXJMaXN0LCBudWxscHRyKTsKKyAgICAgICAgICAgIGlmIChzdGF0dXMgJiYg
c3RhdHVzICE9IGtOb01vcmVEYXRhRXJyKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0df
RkFVTFQoV2ViQXVkaW8sICJFcnJvciBkZWNvZGluZyBkYXRhIik7CisgICAgICAgICAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGRlY29kZWRGcmFtZXMgKz0g
bnVtRnJhbWVzOworICAgICAgICB9IHdoaWxlIChzdGF0dXMgIT0ga05vTW9yZURhdGFFcnIpOwor
ICAgIH0KKyAgICByZXR1cm4gZGVjb2RlZEZyYW1lczsKK30KKyNlbmRpZgorCiBPU1N0YXR1cyBB
dWRpb0ZpbGVSZWFkZXI6OnJlYWRQcm9jKHZvaWQqIGNsaWVudERhdGEsIFNJbnQ2NCBwb3NpdGlv
biwgVUludDMyIHJlcXVlc3RDb3VudCwgdm9pZCogYnVmZmVyLCBVSW50MzIqIGFjdHVhbENvdW50
KQogewogICAgIGF1dG8qIGF1ZGlvRmlsZVJlYWRlciA9IHN0YXRpY19jYXN0PEF1ZGlvRmlsZVJl
YWRlcio+KGNsaWVudERhdGEpOwpAQCAtMTM2LDY3ICszNzksMTMzIEBAIFNJbnQ2NCBBdWRpb0Zp
bGVSZWFkZXI6OmdldFNpemVQcm9jKHZvaWQqIGNsaWVudERhdGEpCiAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PEF1ZGlvRmlsZVJlYWRlcio+KGNsaWVudERhdGEpLT5kYXRhU2l6ZSgpOwogfQogCi1S
ZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJh
dGUsIGJvb2wgbWl4VG9Nb25vKQorc3NpemVfdCBBdWRpb0ZpbGVSZWFkZXI6Om51bWJlck9mRnJh
bWVzKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fZXh0QXVkaW9GaWxlUmVmKQotICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICBTSW50NjQgbnVtYmVyT2ZGcmFtZXNJbjY0ID0gMDsKIAotICAgIC8v
IEdldCBmaWxlJ3MgZGF0YSBmb3JtYXQKLSAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihtX2ZpbGVE
YXRhRm9ybWF0KTsKLSAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1
ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVEYXRhRm9ybWF0LCAmc2l6ZSwg
Jm1fZmlsZURhdGFGb3JtYXQpICE9IG5vRXJyKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICBpZiAoIW1fd2VibURhdGEpIHsKKyAgICAgICAgaWYgKCFtX2V4dEF1ZGlvRmlsZVJlZikKKyAg
ICAgICAgICAgIHJldHVybiAtMTsKIAotICAgIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzID0gbV9m
aWxlRGF0YUZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZTsKKyAgICAgICAgVUludDMyIHNpemUgPSBz
aXplb2YobnVtYmVyT2ZGcmFtZXNJbjY0KTsKKyAgICAgICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxl
R2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxl
TGVuZ3RoRnJhbWVzLCAmc2l6ZSwgJm51bWJlck9mRnJhbWVzSW42NCkgIT0gbm9FcnIgfHwgbnVt
YmVyT2ZGcmFtZXNJbjY0IDw9IDApIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdl
YkF1ZGlvLCAiVW5hYmxlIHRvIHJldHJpZXZlIG51bWJlciBvZiBmcmFtZXMgaW4gY29udGVudCAo
dW5zdXBwb3J0ZWQ/Iik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KIAotICAg
IC8vIE51bWJlciBvZiBmcmFtZXMKLSAgICBTSW50NjQgbnVtYmVyT2ZGcmFtZXM2NCA9IDA7Ci0g
ICAgc2l6ZSA9IHNpemVvZihudW1iZXJPZkZyYW1lczY0KTsKLSAgICBpZiAoUEFMOjpFeHRBdWRp
b0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5
X0ZpbGVMZW5ndGhGcmFtZXMsICZzaXplLCAmbnVtYmVyT2ZGcmFtZXM2NCkgIT0gbm9FcnIgfHwg
bnVtYmVyT2ZGcmFtZXM2NCA8PSAwKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAg
cmV0dXJuIG51bWJlck9mRnJhbWVzSW42NDsKKyAgICB9CisjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKKyAgICBpZiAobV93ZWJtRGF0YS0+bV9zYW1wbGVzLmlzRW1wdHkoKSkgeworICAgICAgICBS
RUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIk5vIHNhbXBsZSBkZW11eGVkIGZyb20gd2VibSBj
b250YWluZXIiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KIAotICAgIGRvdWJsZSBmaWxl
U2FtcGxlUmF0ZSA9IG1fZmlsZURhdGFGb3JtYXQubVNhbXBsZVJhdGU7CisgICAgLy8gQ2FsY3Vs
YXRlIHRoZSB0b3RhbCBudW1iZXIgb2YgZGVjb2RlZCBzYW1wbGVzIHRoYXQgd2VyZSBkZW11eGVk
LgorICAgIC8vIFRoaXMgY29kZSBvbmx5IGhhbmRsZSB0aGUgQ01TYW1wbGVCdWZmZXIgYXMgZ2Vu
ZXJhdGVkIGJ5IHRoZSBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNCisgICAgLy8gd2hlcmUgYSBBdWRp
b1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyBhcnJheSBpcyBhbHdheXMgcHJvdmlkZWQgZXZlbiB3
aXRoCisgICAgLy8gQ29uc3RhbnQgYml0cmF0ZSBhbmQgY29uc3RhbnQgZnJhbWVzLXBlci1wYWNr
ZXQgYXVkaW8uCisgICAgZm9yIChhdXRvJiBzYW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMp
IHsKKyAgICAgICAgYXV0byBzYW1wbGVCdWZmZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOwor
ICAgICAgICBjb25zdCBhdXRvIGZvcm1hdERlc2NyaXB0aW9uID0gUEFMOjpDTVNhbXBsZUJ1ZmZl
ckdldEZvcm1hdERlc2NyaXB0aW9uKHNhbXBsZUJ1ZmZlcik7CisgICAgICAgIGlmICghZm9ybWF0
RGVzY3JpcHRpb24pIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAi
VW5hYmxlIHRvIHJldHJpZXZlIGZvcm1hdCBkZXNjcmlwdGlvbmcgZnJvbSBzYW1wbGUiKTsKKyAg
ICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBjb25zdCBBdWRpb1N0cmVh
bUJhc2ljRGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNNQXVkaW9Gb3JtYXREZXNjcmlw
dGlvbkdldFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3JpcHRpb24pOworICAgICAg
ICBpZiAoIWFzYmQpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAi
VW5hYmxlIHRvIHJldHJpZXZlIGFzYmQgZnJvbSBmb3JtYXQgZGVzY3JpcHRpb24iKTsKKyAgICAg
ICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQogCisgICAgICAgIGF1dG8gZGVzY3JpcHRpb25z
ID0gZ2V0UGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1ZmZlcik7CisgICAgICAgIGlmIChkZXNj
cmlwdGlvbnMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIC0xOworCisgICAgICAgIGZv
ciAoY29uc3QgYXV0byYgZGVzY3JpcHRpb24gOiBkZXNjcmlwdGlvbnMpIHsKKyAgICAgICAgICAg
IHVpbnQzMl90IGZwcCA9IGRlc2NyaXB0aW9uLm1WYXJpYWJsZUZyYW1lc0luUGFja2V0ID8gZGVz
Y3JpcHRpb24ubVZhcmlhYmxlRnJhbWVzSW5QYWNrZXQgOiBhc2JkLT5tRnJhbWVzUGVyUGFja2V0
OworICAgICAgICAgICAgbnVtYmVyT2ZGcmFtZXNJbjY0ICs9IGZwcDsKKyAgICAgICAgfQorICAg
IH0KKyAgICByZXR1cm4gbnVtYmVyT2ZGcmFtZXNJbjY0OworI2Vsc2UKKyAgICByZXR1cm4gMDsK
KyNlbmRpZjsKK30KKworc3RkOjpvcHRpb25hbDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+
IEF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQoKSBjb25zdAoreworICAgIGlmICghbV93
ZWJtRGF0YSkgeworICAgICAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gZm9ybWF0Owor
ICAgICAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihmb3JtYXQpOworICAgICAgICBpZiAoUEFMOjpF
eHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVBy
b3BlcnR5X0ZpbGVEYXRhRm9ybWF0LCAmc2l6ZSwgJmZvcm1hdCkgIT0gbm9FcnIpCisgICAgICAg
ICAgICByZXR1cm4geyB9OworICAgICAgICByZXR1cm4gZm9ybWF0OworICAgIH0KKworICAgIGlm
IChtX3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4geyB9Owor
CisgICAgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbiA9IFBBTDo6Q01T
YW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbihtX3dlYm1EYXRhLT5tX3NhbXBsZXNbMF0t
PnNhbXBsZUJ1ZmZlcigpKTsKKyAgICBpZiAoIWZvcm1hdERlc2NyaXB0aW9uKQorICAgICAgICBy
ZXR1cm4geyB9OworCisgICAgY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25z
dCBhc2JkID0gUEFMOjpDTUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2Ny
aXB0aW9uKGZvcm1hdERlc2NyaXB0aW9uKTsKKyAgICByZXR1cm4gKmFzYmQ7Cit9CisKK0F1ZGlv
U3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBBdWRpb0ZpbGVSZWFkZXI6OmNsaWVudERhdGFGb3JtYXQo
Y29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwgZmxvYXQgc2FtcGxl
UmF0ZSkgY29uc3QKK3sKICAgICAvLyBNYWtlIGNsaWVudCBmb3JtYXQgc2FtZSBudW1iZXIgb2Yg
Y2hhbm5lbHMgYXMgZmlsZSBmb3JtYXQsIGJ1dCB0d2VhayBhIGZldyB0aGluZ3MuCiAgICAgLy8g
Q2xpZW50IGZvcm1hdCB3aWxsIGJlIGxpbmVhciBQQ00gKGNhbm9uaWNhbCksIGFuZCBwb3RlbnRp
YWxseSBjaGFuZ2Ugc2FtcGxlLXJhdGUuCi0gICAgbV9jbGllbnREYXRhRm9ybWF0ID0gbV9maWxl
RGF0YUZvcm1hdDsKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gb3V0Rm9ybWF0ID0g
aW5Gb3JtYXQ7CiAKICAgICBjb25zdCBpbnQgYnl0ZXNQZXJGbG9hdCA9IHNpemVvZihGbG9hdDMy
KTsKICAgICBjb25zdCBpbnQgYml0c1BlckJ5dGUgPSA4OwotICAgIG1fY2xpZW50RGF0YUZvcm1h
dC5tRm9ybWF0SUQgPSBrQXVkaW9Gb3JtYXRMaW5lYXJQQ007Ci0gICAgbV9jbGllbnREYXRhRm9y
bWF0Lm1Gb3JtYXRGbGFncyA9IGtBdWRpb0Zvcm1hdEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQgfCBr
QXVkaW9Gb3JtYXRGbGFnSXNOb25JbnRlcmxlYXZlZDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQu
bUJ5dGVzUGVyUGFja2V0ID0gYnl0ZXNQZXJGbG9hdDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQu
bUZyYW1lc1BlclBhY2tldCA9IDE7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1CeXRlc1BlckZy
YW1lID0gYnl0ZXNQZXJGbG9hdDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUNoYW5uZWxzUGVy
RnJhbWUgPSBudW1iZXJPZkNoYW5uZWxzOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQml0c1Bl
ckNoYW5uZWwgPSBiaXRzUGVyQnl0ZSAqIGJ5dGVzUGVyRmxvYXQ7CisgICAgb3V0Rm9ybWF0Lm1G
b3JtYXRJRCA9IGtBdWRpb0Zvcm1hdExpbmVhclBDTTsKKyAgICBvdXRGb3JtYXQubUZvcm1hdEZs
YWdzID0ga0F1ZGlvRm9ybWF0RmxhZ3NOYXRpdmVGbG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1hdEZs
YWdJc05vbkludGVybGVhdmVkOworICAgIG91dEZvcm1hdC5tQnl0ZXNQZXJQYWNrZXQgPSBvdXRG
b3JtYXQubUJ5dGVzUGVyRnJhbWUgPSBieXRlc1BlckZsb2F0OworICAgIG91dEZvcm1hdC5tRnJh
bWVzUGVyUGFja2V0ID0gMTsKKyAgICBvdXRGb3JtYXQubUJpdHNQZXJDaGFubmVsID0gYml0c1Bl
ckJ5dGUgKiBieXRlc1BlckZsb2F0OwogCiAgICAgaWYgKHNhbXBsZVJhdGUpCi0gICAgICAgIG1f
Y2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7CisgICAgICAgIG91dEZv
cm1hdC5tU2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7CisKKyAgICByZXR1cm4gb3V0Rm9ybWF0Owor
fQogCi0gICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlU2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVS
ZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9DbGllbnREYXRhRm9ybWF0LCBzaXplb2YoQXVkaW9T
dHJlYW1CYXNpY0Rlc2NyaXB0aW9uKSwgJm1fY2xpZW50RGF0YUZvcm1hdCkgIT0gbm9FcnIpCitS
ZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJh
dGUsIGJvb2wgbWl4VG9Nb25vKQoreworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSBu
dW1iZXJPZkZyYW1lcygpOworICAgIGlmIChudW1iZXJPZkZyYW1lc0luNjQgPD0gMCkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICAvLyBDaGFuZ2UgbnVtYmVyT2ZGcmFtZXM2NCB0byBk
ZXN0aW5hdGlvbiBzYW1wbGUtcmF0ZQotICAgIG51bWJlck9mRnJhbWVzNjQgPSBudW1iZXJPZkZy
YW1lczY0ICogKG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVSYXRl
KTsKLSAgICBzaXplX3QgbnVtYmVyT2ZGcmFtZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51bWJl
ck9mRnJhbWVzNjQpOworICAgIGF1dG8gaW5Gb3JtYXQgPSBmaWxlRGF0YUZvcm1hdCgpOworICAg
IGlmICghaW5Gb3JtYXQpCisgICAgICAgIHJldHVybiBudWxscHRyOwogCisgICAgQXVkaW9TdHJl
YW1CYXNpY0Rlc2NyaXB0aW9uIG91dEZvcm1hdCA9IGNsaWVudERhdGFGb3JtYXQoKmluRm9ybWF0
LCBzYW1wbGVSYXRlKTsKKyAgICBzaXplX3QgbnVtYmVyT2ZDaGFubmVscyA9IGluRm9ybWF0LT5t
Q2hhbm5lbHNQZXJGcmFtZTsKKyAgICBkb3VibGUgZmlsZVNhbXBsZVJhdGUgPSBpbkZvcm1hdC0+
bVNhbXBsZVJhdGU7CisgICAgU0ludDY0IG51bWJlck9mRnJhbWVzT3V0NjQgPSBudW1iZXJPZkZy
YW1lc0luNjQgKiAob3V0Rm9ybWF0Lm1TYW1wbGVSYXRlIC8gZmlsZVNhbXBsZVJhdGUpOworICAg
IHNpemVfdCBudW1iZXJPZkZyYW1lcyA9IHN0YXRpY19jYXN0PHNpemVfdD4obnVtYmVyT2ZGcmFt
ZXNPdXQ2NCk7CiAgICAgc2l6ZV90IGJ1c0NoYW5uZWxDb3VudCA9IG1peFRvTW9ubyA/IDEgOiBu
dW1iZXJPZkNoYW5uZWxzOwogCiAgICAgLy8gQ3JlYXRlIEF1ZGlvQnVzIHdoZXJlIHdlJ2xsIHB1
dCB0aGUgUENNIGF1ZGlvIGRhdGEKICAgICBhdXRvIGF1ZGlvQnVzID0gQXVkaW9CdXM6OmNyZWF0
ZShidXNDaGFubmVsQ291bnQsIG51bWJlck9mRnJhbWVzKTsKLSAgICBhdWRpb0J1cy0+c2V0U2Ft
cGxlUmF0ZShuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxl
UmF0ZSkpOyAvLyBzYXZlIGZvciBsYXRlcgotCi0gICAgLy8gT25seSBhbGxvY2F0ZWQgaW4gdGhl
IG1peFRvTW9ubyBjYXNlOyBkZWFsbG9jYXRlZCBvbiBkZXN0cnVjdGlvbi4KLSAgICBBdWRpb0Zs
b2F0QXJyYXkgbGVmdENoYW5uZWw7Ci0gICAgQXVkaW9GbG9hdEFycmF5IHJpZ2h0Q2hhbm5lbDsK
KyAgICBhdWRpb0J1cy0+c2V0U2FtcGxlUmF0ZShuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KG91dEZv
cm1hdC5tU2FtcGxlUmF0ZSkpOyAvLyBzYXZlIGZvciBsYXRlcgogCi0gICAgQXVkaW9CdWZmZXJM
aXN0KiBidWZmZXJMaXN0ID0gdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5l
bHMpOworICAgIEF1ZGlvQnVmZmVyTGlzdEhvbGRlciBidWZmZXJMaXN0KG51bWJlck9mQ2hhbm5l
bHMpOwogICAgIGlmICghYnVmZmVyTGlzdCkgewogICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChX
ZWJBdWRpbywgInRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlzdCglbGQpIHJldHVybmVkIG51bGwiLCBu
dW1iZXJPZkNoYW5uZWxzKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogICAgIGNv
bnN0IHNpemVfdCBidWZmZXJTaXplID0gbnVtYmVyT2ZGcmFtZXMgKiBzaXplb2YoZmxvYXQpOwog
CisgICAgLy8gT25seSBhbGxvY2F0ZWQgaW4gdGhlIG1peFRvTW9ubyBjYXNlOyBkZWFsbG9jYXRl
ZCBvbiBkZXN0cnVjdGlvbi4KKyAgICBBdWRpb0Zsb2F0QXJyYXkgbGVmdENoYW5uZWw7CisgICAg
QXVkaW9GbG9hdEFycmF5IHJpZ2h0Q2hhbm5lbDsKKwogICAgIFJFTEVBU0VfQVNTRVJUKGJ1ZmZl
ckxpc3QtPm1OdW1iZXJCdWZmZXJzID09IG51bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmIChtaXhU
b01vbm8gJiYgbnVtYmVyT2ZDaGFubmVscyA9PSAyKSB7CiAgICAgICAgIGxlZnRDaGFubmVsLnJl
c2l6ZShudW1iZXJPZkZyYW1lcyk7CkBAIC0yMjIsMTggKzUzMSwzMCBAQCBSZWZQdHI8QXVkaW9C
dXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4
VG9Nb25vKQogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKCF2YWxpZGF0ZUF1ZGlvQnVmZmVy
TGlzdChidWZmZXJMaXN0KSkgeworICAgIGlmICghYnVmZmVyTGlzdC5pc1ZhbGlkKCkpIHsKICAg
ICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJHZW5lcmF0ZWQgYnVmZmVyIGluIEF1
ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKCkgZGlkIG5vdCBwYXNzIHZhbGlkYXRpb24iKTsKICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxp
c3QoYnVmZmVyTGlzdCk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIC8v
IFJlYWQgZnJvbSB0aGUgZmlsZSAob3IgaW4tbWVtb3J5IHZlcnNpb24pCi0gICAgVUludDMyIGZy
YW1lc1RvUmVhZCA9IG51bWJlck9mRnJhbWVzOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVJl
YWQobV9leHRBdWRpb0ZpbGVSZWYsICZmcmFtZXNUb1JlYWQsIGJ1ZmZlckxpc3QpICE9IG5vRXJy
KSB7Ci0gICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7Ci0gICAgICAg
IHJldHVybiBudWxscHRyOworICAgIGlmIChtX3dlYm1EYXRhKSB7CisjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKKyAgICAgICAgYXV0byBkZWNvZGVkRnJhbWVzID0gZGVjb2RlV2ViTURhdGEoYnVm
ZmVyTGlzdCwgbnVtYmVyT2ZGcmFtZXMsICppbkZvcm1hdCwgb3V0Rm9ybWF0KTsKKyAgICAgICAg
aWYgKCFkZWNvZGVkRnJhbWVzKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAg
IC8vIFRoZSBhY3R1YWwgZGVjb2RlZCBudW1iZXIgb2YgZnJhbWVzIG1heSBub3QgbWF0Y2ggdGhl
IG51bWJlciBvZiBmcmFtZXMgY2FsY3VsYXRlZAorICAgICAgICAvLyB3aGlsZSBkZW11eGluZyBh
cyBmcmFtZXMgY2FuIGJlIHRyaW1tZWQuIEl0IHdpbGwgYWx3YXlzIGJlIGxvd2VyLgorICAgICAg
ICBhdWRpb0J1cy0+c2V0TGVuZ3RoKCpkZWNvZGVkRnJhbWVzKTsKKyAgICAgICAgbnVtYmVyT2ZG
cmFtZXMgPSAqZGVjb2RlZEZyYW1lczsKKyNlbmRpZgorICAgIH0gZWxzZSB7CisgICAgICAgIGlm
IChQQUw6OkV4dEF1ZGlvRmlsZVNldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVk
aW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0YUZvcm1hdCwgc2l6ZW9mKEF1ZGlvU3RyZWFtQmFzaWNE
ZXNjcmlwdGlvbiksICZvdXRGb3JtYXQpICE9IG5vRXJyKQorICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKKyAgICAgICAgLy8gUmVhZCBmcm9tIHRoZSBmaWxlIChvciBpbi1tZW1vcnkgdmVy
c2lvbikKKyAgICAgICAgVUludDMyIGZyYW1lc1RvUmVhZCA9IG51bWJlck9mRnJhbWVzOworICAg
ICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVSZWFkKG1fZXh0QXVkaW9GaWxlUmVmLCAmZnJhbWVz
VG9SZWFkLCBidWZmZXJMaXN0KSAhPSBub0VycikKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIH0KIAogICAgIGlmIChtaXhUb01vbm8gJiYgbnVtYmVyT2ZDaGFubmVscyA9PSAyKSB7
CkBAIC0yNDMsOSArNTY0LDYgQEAgUmVmUHRyPEF1ZGlvQnVzPiBBdWRpb0ZpbGVSZWFkZXI6OmNy
ZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRvTW9ubykKICAgICAgICAgICAgIGRl
c3RMW2ldID0gMC41ZiAqIChsZWZ0Q2hhbm5lbFtpXSArIHJpZ2h0Q2hhbm5lbFtpXSk7CiAgICAg
fQogCi0gICAgLy8gQ2xlYW51cAotICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlz
dCk7Ci0KICAgICByZXR1cm4gYXVkaW9CdXM7CiB9CiAKQEAgLTI1NSw2ICs1NzMsMTMgQEAgUmVm
UHRyPEF1ZGlvQnVzPiBjcmVhdGVCdXNGcm9tSW5NZW1vcnlBdWRpb0ZpbGUoY29uc3Qgdm9pZCog
ZGF0YSwgc2l6ZV90IGRhdGFTaXoKICAgICByZXR1cm4gcmVhZGVyLmNyZWF0ZUJ1cyhzYW1wbGVS
YXRlLCBtaXhUb01vbm8pOwogfQogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitXVEZMb2dD
aGFubmVsJiBBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwoKSBjb25zdAoreworICAgIHJldHVy
biBMb2dNZWRpYTsKK30KKyNlbmRpZgorCiB9IC8vIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJM
RShXRUJfQVVESU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaAppbmRleCAwYmJiYmEyNzg1N2Q5NzllY2M2
ODhmODdmMDMzOWY2NjVlZjQyNTI5Li4wN2QyYzBiOTQzMjcxYjAwZDIzNTUwZmIxM2ExMTExMzVj
MjkwYzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9B
dWRpb0ZpbGVSZWFkZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmgKQEAgLTMyLDIwICszMiwyOSBAQAogI2lmIEVO
QUJMRShXRUJfQVVESU8pCiAKICNpbmNsdWRlIDxDb3JlQXVkaW8vQ29yZUF1ZGlvVHlwZXMuaD4K
KyNpbmNsdWRlIDxvcHRpb25hbD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogCiB1c2luZyBFeHRBdWRpb0ZpbGVSZWYgPSBzdHJ1Y3QgT3Bh
cXVlRXh0QXVkaW9GaWxlKjsKIHVzaW5nIEF1ZGlvRmlsZUlEID0gc3RydWN0IE9wYXF1ZUF1ZGlv
RmlsZUlEKjsKK3R5cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2FtcGxlQnVmZmVyKiBDTVNhbXBsZUJ1
ZmZlclJlZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBdWRpb0J1czsKK2NsYXNz
IFNvdXJjZUJ1ZmZlclBhcnNlcldlYk07CitjbGFzcyBBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YTsK
IAogLy8gV3JhcHBlciBjbGFzcyBmb3IgQXVkaW9GaWxlIGFuZCBFeHRBdWRpb0ZpbGUgQ29yZUF1
ZGlvIEFQSXMgZm9yIHJlYWRpbmcgZmlsZXMgYW5kIGluLW1lbW9yeSB2ZXJzaW9ucyBvZiB0aGVt
Li4uCiAKLWNsYXNzIEF1ZGlvRmlsZVJlYWRlciB7CitjbGFzcyBBdWRpb0ZpbGVSZWFkZXIKKyNp
ZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICA6IHB1YmxpYyBMb2dnZXJIZWxwZXIKKyNlbmRp
ZgorewogcHVibGljOgotICAgIGV4cGxpY2l0IEF1ZGlvRmlsZVJlYWRlcihjb25zdCB2b2lkKiBk
YXRhLCBzaXplX3QgZGF0YVNpemUpOworICAgIEF1ZGlvRmlsZVJlYWRlcihjb25zdCB2b2lkKiBk
YXRhLCBzaXplX3QgZGF0YVNpemUpOwogICAgIH5BdWRpb0ZpbGVSZWFkZXIoKTsKIAogICAgIFJl
ZlB0cjxBdWRpb0J1cz4gY3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25v
KTsgLy8gUmV0dXJucyBudWxscHRyIG9uIGVycm9yCkBAIC01Myw5ICs2MiwyNSBAQCBwdWJsaWM6
CiAgICAgY29uc3Qgdm9pZCogZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YTsgfQogICAgIHNp
emVfdCBkYXRhU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YVNpemU7IH0KIAorI2lmICFSRUxF
QVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVy
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisgICAgV1RGTG9nQ2hh
bm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0IGZpbmFsOworICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNz
TmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJBdWRpb0ZpbGVSZWFkZXJDb2NvYSI7IH0KKyNl
bmRpZgorCiBwcml2YXRlOgorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgYm9vbCBpc01h
eWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUpIGNvbnN0OworICAg
IHN0ZDo6dW5pcXVlX3B0cjxBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YT4gZGVtdXhXZWJNRGF0YShj
b25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUpIGNvbnN0OworICAgIFZlY3RvcjxB
dWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPiBnZXRQYWNrZXREZXNjcmlwdGlvbnMoQ01TYW1w
bGVCdWZmZXJSZWYpIGNvbnN0OworICAgIHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBkZWNvZGVXZWJN
RGF0YShBdWRpb0J1ZmZlckxpc3QqLCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMsIGNvbnN0IEF1ZGlv
U3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5Gb3JtYXQsIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNE
ZXNjcmlwdGlvbiYgb3V0Rm9ybWF0KSBjb25zdDsKKyNlbmRpZgogICAgIHN0YXRpYyBPU1N0YXR1
cyByZWFkUHJvYyh2b2lkKiBjbGllbnREYXRhLCBTSW50NjQgcG9zaXRpb24sIFVJbnQzMiByZXF1
ZXN0Q291bnQsIHZvaWQqIGJ1ZmZlciwgVUludDMyKiBhY3R1YWxDb3VudCk7CiAgICAgc3RhdGlj
IFNJbnQ2NCBnZXRTaXplUHJvYyh2b2lkKiBjbGllbnREYXRhKTsKKyAgICBzc2l6ZV90IG51bWJl
ck9mRnJhbWVzKCkgY29uc3Q7CisgICAgc3RkOjpvcHRpb25hbDxBdWRpb1N0cmVhbUJhc2ljRGVz
Y3JpcHRpb24+IGZpbGVEYXRhRm9ybWF0KCkgY29uc3Q7CisgICAgQXVkaW9TdHJlYW1CYXNpY0Rl
c2NyaXB0aW9uIGNsaWVudERhdGFGb3JtYXQoY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0
aW9uJiBpbkZvcm1hdCwgZmxvYXQgc2FtcGxlUmF0ZSkgY29uc3Q7CiAKICAgICBjb25zdCB2b2lk
KiBtX2RhdGEgPSB7IG51bGxwdHIgfTsKICAgICBzaXplX3QgbV9kYXRhU2l6ZSA9IHsgMCB9OwpA
QCAtNjMsOCArODgsMTMgQEAgcHJpdmF0ZToKICAgICBBdWRpb0ZpbGVJRCBtX2F1ZGlvRmlsZUlE
ID0geyBudWxscHRyIH07CiAgICAgRXh0QXVkaW9GaWxlUmVmIG1fZXh0QXVkaW9GaWxlUmVmID0g
eyBudWxscHRyIH07CiAKLSAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gbV9maWxlRGF0
YUZvcm1hdDsKLSAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gbV9jbGllbnREYXRhRm9y
bWF0OworICAgIHN0ZDo6dW5pcXVlX3B0cjxBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YT4gbV93ZWJt
RGF0YTsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IFJlZjxMb2dnZXI+
IG1fbG9nZ2VyOworICAgIGNvbnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsKKyNlbmRpZgorCiB9
OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9B
dWRpb1NhbXBsZURhdGFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2Nv
Y29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCmluZGV4IGExZTcxYmQ1MjIzMjI0MjU3MTZjNmI5
ZTVhY2VkMDZlNTU4MjkzM2EuLjZhZTNiNWNkMWYyZWZkNjIzOWZiMzRkMDEzYTU4Nzc2ZjQxOGM2
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlv
U2FtcGxlRGF0YVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2Nv
Y29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8
d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKLXR5cGVkZWYgY29uc3Qgc3RydWN0IG9wYXF1ZUNNRm9ybWF0RGVzY3JpcHRpb24gKkNN
Rm9ybWF0RGVzY3JpcHRpb25SZWY7CiB0eXBlZGVmIHN0cnVjdCBvcGFxdWVDTVNhbXBsZUJ1ZmZl
ciAqQ01TYW1wbGVCdWZmZXJSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJj
ZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0
YVNvdXJjZS5tbQppbmRleCBkMmI1YWM0NWYzMGZkNGEzYWY1MWI0MjBkZTM3NjQ5YjExNTFjMjI3
Li43MGRjMjQ4NGE1ZWQ2Njg4OWZjYTMzZWUyOTFlYzEwNmE1ZjlmOWE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2Uu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVE
YXRhU291cmNlLm1tCkBAIC0zOSw2ICszOSw3IEBACiAjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgog
I2ltcG9ydCA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAKKyNpbXBvcnQgPHBhbC9jZi9BdWRp
b1Rvb2xib3hTb2Z0TGluay5oPgogI2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTY3LDcgKzY4LDcgQEAgQXVkaW9TYW1wbGVEYXRh
U291cmNlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2Uoc2l6ZV90IG1heGltdW1TYW1wbGVDb3VudCwg
TG9nZ2VySGUKIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6fkF1ZGlvU2FtcGxlRGF0YVNvdXJjZSgp
CiB7CiAgICAgaWYgKG1fY29udmVydGVyKQotICAgICAgICBBdWRpb0NvbnZlcnRlckRpc3Bvc2Uo
bV9jb252ZXJ0ZXIpOworICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZl
cnRlcik7CiB9CiAKIE9TU3RhdHVzIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6c2V0dXBDb252ZXJ0
ZXIoKQpAQCAtNzUsMTQgKzc2LDE0IEBAIE9TU3RhdHVzIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6
c2V0dXBDb252ZXJ0ZXIoKQogICAgIEFTU0VSVChtX2lucHV0RGVzY3JpcHRpb24gJiYgbV9vdXRw
dXREZXNjcmlwdGlvbik7CiAKICAgICBpZiAobV9jb252ZXJ0ZXIpIHsKLSAgICAgICAgQXVkaW9D
b252ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKKyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRl
ckRpc3Bvc2UobV9jb252ZXJ0ZXIpOwogICAgICAgICBtX2NvbnZlcnRlciA9IG51bGxwdHI7CiAg
ICAgfQogCiAgICAgaWYgKCptX2lucHV0RGVzY3JpcHRpb24gPT0gKm1fb3V0cHV0RGVzY3JpcHRp
b24pCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgT1NTdGF0dXMgZXJyID0gQXVkaW9Db252ZXJ0
ZXJOZXcoJm1faW5wdXREZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fb3V0cHV0
RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0aW9uKCksICZtX2NvbnZlcnRlcik7CisgICAgT1NT
dGF0dXMgZXJyID0gUEFMOjpBdWRpb0NvbnZlcnRlck5ldygmbV9pbnB1dERlc2NyaXB0aW9uLT5z
dHJlYW1EZXNjcmlwdGlvbigpLCAmbV9vdXRwdXREZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3JpcHRp
b24oKSwgJm1fY29udmVydGVyKTsKICAgICBpZiAoZXJyKSB7CiAgICAgICAgIFJ1bkxvb3A6Om1h
aW4oKS5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIoKnRoaXMpLCBl
cnJdIHsKICAgICAgICAgICAgIEVSUk9SX0xPRygiQXVkaW9Db252ZXJ0ZXJOZXcgcmV0dXJuZWQg
ZXJyb3IgIiwgZXJyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVw
YWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dh
bWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbQppbmRleCBlM2Q2ZmFjNzA0MzY5NmZjN2Vl
MmE5MjE1ZGIyMWE4ZjdkZjgyNWE1Li5hMzJkZjYyMDQ4ZDMyZDdiMTM0ZGJmNTZkYTAwN2I3MGVj
MjQ3M2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9I
SURHYW1lcGFkUHJvdmlkZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBh
ZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFC
TEUoR0FNRVBBRCkgJiYgUExBVEZPUk0oTUFDKQogCisjaW1wb3J0ICJHYW1lQ29udHJvbGxlckdh
bWVwYWRQcm92aWRlci5oIgogI2ltcG9ydCAiR2FtZXBhZFByb3ZpZGVyQ2xpZW50LmgiCiAjaW1w
b3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUdhbWVwYWQuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0ZUJhc2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAKaW5k
ZXggNGQ4ZWU2MmUwMWI4ZWFlYmFjYzZkMjhiM2EwOTg1Mjk1MmM1ZDgwYS4uYzA2NmMyZDQ4Nzk3
YTRhYWIzYjliZTJhMGVkZDRkODM4YjRiZjVjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZiBFTkFCTEUoVklERU8pCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSA8
d3RmL0xvZ2dlckhlbHBlci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
U2FtcGxlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmgKaW5kZXggZDAzY2RjOGRkNjI1NDE2MDk5
YTUzNzEzNWVlMTFlYzkxMDczNmEwMi4uNTQ1ZjBiZTFjNTBjYmZlNDE3MDE4MDM1NmY4OGNlM2M1
NTJjODZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmgK
QEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQaXhlbEJ1ZmZl
cjsKIAotY2xhc3MgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDIDogcHVibGljIE1l
ZGlhU2FtcGxlIHsKK2NsYXNzIE1lZGlhU2FtcGxlQVZGT2JqQyA6IHB1YmxpYyBNZWRpYVNhbXBs
ZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZShD
TVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQpIHsgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgTWVkaWFTYW1wbGVBVkZPYmpDKHNhbXBsZSwgdHJhY2tJRCkpOyB9CiAgICAgc3Rh
dGljIFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1w
bGUsIEF0b21TdHJpbmcgdHJhY2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBs
ZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0KQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgog
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldEFzRGlzcGxheUltbWVkaWF0ZWx5KE1l
ZGlhU2FtcGxlJik7CiAgICAgc3RhdGljIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gY2xv
bmVTYW1wbGVCdWZmZXJBbmRTZXRBc0Rpc3BsYXlJbW1lZGlhdGVseShDTVNhbXBsZUJ1ZmZlclJl
Zik7CiAKLSAgICBSZWZQdHI8SlNDOjpVaW50OENsYW1wZWRBcnJheT4gZ2V0UkdCQUltYWdlRGF0
YSgpIGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxKU0M6OlVpbnQ4
Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBN
ZWRpYVRpbWUgcHJlc2VudGF0aW9uVGltZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIE1lZGlhVGlt
ZSBkZWNvZGVUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC01OSwxNiArNTksMTYgQEAgcHVibGlj
OgogICAgIFNhbXBsZUZsYWdzIGZsYWdzKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1T
YW1wbGUgcGxhdGZvcm1TYW1wbGUoKSBvdmVycmlkZTsKICAgICBzdGQ6Om9wdGlvbmFsPEJ5dGVS
YW5nZT4gYnl0ZVJhbmdlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBkdW1wKFByaW50U3Ry
ZWFtJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkdW1wKFByaW50
U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBvZmZzZXRUaW1lc3RhbXBzQnkoY29u
c3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRUaW1lc3RhbXBzKGNvbnN0IE1l
ZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYpIG92ZXJyaWRlOwotICAgIGJvb2wgaXNEaXZpc2Fi
bGUoKSBjb25zdCBvdmVycmlkZTsKLSAgICBzdGQ6OnBhaXI8UmVmUHRyPE1lZGlhU2FtcGxlPiwg
UmVmUHRyPE1lZGlhU2FtcGxlPj4gZGl2aWRlKGNvbnN0IE1lZGlhVGltZSYgcHJlc2VudGF0aW9u
VGltZSwgVXNlRW5kVGltZSkgb3ZlcnJpZGU7Ci0gICAgUmVmPE1lZGlhU2FtcGxlPiBjcmVhdGVO
b25EaXNwbGF5aW5nQ29weSgpIGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIGJv
b2wgaXNEaXZpc2FibGUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6
OnBhaXI8UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVmUHRyPE1lZGlhU2FtcGxlPj4gZGl2aWRlKGNv
bnN0IE1lZGlhVGltZSYgcHJlc2VudGF0aW9uVGltZSwgVXNlRW5kVGltZSkgb3ZlcnJpZGU7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgUmVmPE1lZGlhU2FtcGxlPiBjcmVhdGVOb25EaXNwbGF5aW5nQ29w
eSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgVmlkZW9Sb3RhdGlvbiB2aWRlb1JvdGF0aW9uKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9yb3RhdGlvbjsgfQogICAgIGJvb2wgdmlkZW9NaXJy
b3JlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fbWlycm9yZWQ7IH0KLSAgICB1aW50MzJf
dCB2aWRlb1BpeGVsRm9ybWF0KCkgY29uc3QgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdWlu
dDMyX3QgdmlkZW9QaXhlbEZvcm1hdCgpIGNvbnN0IGZpbmFsOwogCiAgICAgQ01TYW1wbGVCdWZm
ZXJSZWYgc2FtcGxlQnVmZmVyKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGUuZ2V0KCk7IH0KIApA
QCAtNzgsMzQgKzc4LDE1IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEJ5dGVSYW5nZU9mZnNldChz
aXplX3QpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKFJldGFpblB0cjxD
TVNhbXBsZUJ1ZmZlclJlZj4mJiBzYW1wbGUpCi0gICAgICAgIDogbV9zYW1wbGUoV1RGTW92ZShz
YW1wbGUpKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVm
ZmVyUmVmIHNhbXBsZSkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgewotICAgIH0K
LSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBBdG9tU3Ry
aW5nIHRyYWNrSUQpCi0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgICAgICAsIG1faWQo
dHJhY2tJRCkKLSAgICB7Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1
ZmZlclJlZiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQpCi0gICAgICAgIDogbV9zYW1wbGUoc2Ft
cGxlKQotICAgICAgICAsIG1faWQoQXRvbVN0cmluZzo6bnVtYmVyKHRyYWNrSUQpKQotICAgIHsK
LSAgICB9Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwg
VmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgYm9vbCBtaXJyb3JlZCkKLSAgICAgICAgOiBtX3NhbXBs
ZShzYW1wbGUpCi0gICAgICAgICwgbV9yb3RhdGlvbihyb3RhdGlvbikKLSAgICAgICAgLCBtX21p
cnJvcmVkKG1pcnJvcmVkKQotICAgIHsKLSAgICB9CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFT
YW1wbGVBVkZPYmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4mJik7CisgICAgV0VCQ09S
RV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYsIEF0b21TdHJp
bmcgdHJhY2tJRCk7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2Ft
cGxlQnVmZmVyUmVmLCB1aW50NjRfdCB0cmFja0lEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRp
YVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYsIFZpZGVvUm90YXRpb24sIGJvb2wgbWly
cm9yZWQpOworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgfk1lZGlhU2FtcGxlQVZGT2JqQygp
OwogCiAgICAgc3RkOjpvcHRpb25hbDxNZWRpYVNhbXBsZTo6Qnl0ZVJhbmdlPiBieXRlUmFuZ2VG
b3JBdHRhY2htZW50KENGU3RyaW5nUmVmIGtleSkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIH5NZWRp
YVNhbXBsZUFWRk9iakMoKSA9IGRlZmF1bHQ7CiAgICAgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVy
UmVmPiBtX3NhbXBsZTsKICAgICBBdG9tU3RyaW5nIG1faWQ7CiAgICAgVmlkZW9Sb3RhdGlvbiBt
X3JvdGF0aW9uIHsgVmlkZW9Sb3RhdGlvbjo6Tm9uZSB9OwpAQCAtMTEzLDQgKzk0LDMgQEAgcHJv
dGVjdGVkOgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBs
ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0KaW5kZXggYzBmMTNkNmVhNWM5NzU3NjdjZThm
NjJhYjY4NDJkN2Q2ZjBmYmI2Yi4uY2YzYzM0MTBhMzhhZGVjNDk1N2M5NzE0MmIzMjQyMjRkNWFm
ZDgxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQpA
QCAtNDUsNiArNDUsMzMgQEAgc3RydWN0IFdURjo6Q0ZUeXBlVHJhaXQ8Q01TYW1wbGVCdWZmZXJS
ZWY+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlh
U2FtcGxlQVZGT2JqQyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+JiYgc2FtcGxlKQorICAg
IDogbV9zYW1wbGUoV1RGTW92ZShzYW1wbGUpKQoreworfQorTWVkaWFTYW1wbGVBVkZPYmpDOjpN
ZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlKQorICAgIDogbV9zYW1w
bGUoc2FtcGxlKQoreworfQorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMo
Q01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBBdG9tU3RyaW5nIHRyYWNrSUQpCisgICAgOiBtX3Nh
bXBsZShzYW1wbGUpCisgICAgLCBtX2lkKHRyYWNrSUQpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9i
akM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIHVpbnQ2NF90
IHRyYWNrSUQpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCisgICAgLCBtX2lkKEF0b21TdHJpbmc6
Om51bWJlcih0cmFja0lEKSkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVB
VkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgVmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwg
Ym9vbCBtaXJyb3JlZCkKKyAgICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1fcm90YXRpb24o
cm90YXRpb24pCisgICAgLCBtX21pcnJvcmVkKG1pcnJvcmVkKQoreworfQorCitNZWRpYVNhbXBs
ZUFWRk9iakM6On5NZWRpYVNhbXBsZUFWRk9iakMoKSA9IGRlZmF1bHQ7CisKIFJlZlB0cjxNZWRp
YVNhbXBsZUFWRk9iakM+IE1lZGlhU2FtcGxlQVZGT2JqQzo6Y3JlYXRlSW1hZ2VTYW1wbGUoUGl4
ZWxCdWZmZXImJiBwaXhlbEJ1ZmZlcikKIHsKICAgICBhdXRvIHNpemUgPSBwaXhlbEJ1ZmZlci5z
aXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0KaW5kZXggOGVl
ZjNiMmVhNjA0YmQxOTgzZDc3ZDM4YmY1MjFhOGQyMWYyMGVkMC4uZDFjODQ0ODgzNjc0MGZkYjc1
YzQwYWM5M2Y3ZGQwOWQ3OGYwMzAwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9u
U2Vzc2lvbi5tbQpAQCAtMzEsMTAgKzMxLDEwIEBACiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01CdWZm
ZXJRdWV1ZS5oPgogI2ltcG9ydCA8Q29yZU1lZGlhL0NNRm9ybWF0RGVzY3JpcHRpb24uaD4KICNp
bXBvcnQgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+Ci0jaW1wb3J0
IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+
CiAjaW1wb3J0IDx3dGYvTWVkaWFUaW1lLmg+CiAjaW1wb3J0IDx3dGYvTW9ub3RvbmljVGltZS5o
PgorI2ltcG9ydCA8d3RmL1J1bkxvb3AuaD4KICNpbXBvcnQgPHd0Zi9TdHJpbmdQcmludFN0cmVh
bS5oPgogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogI2ltcG9ydCA8d3RmL1dURlNlbWFwaG9yZS5o
PgpAQCAtNDIsNiArNDIsNyBAQAogCiAjaW1wb3J0ICJDb3JlVmlkZW9Tb2Z0TGluay5oIgogI2lt
cG9ydCAiVmlkZW9Ub29sYm94U29mdExpbmsuaCIKKyNpbXBvcnQgPHBhbC9jZi9Db3JlTWVkaWFT
b2Z0TGluay5oPgogCiAvLyBFcXVpdmFsZW50IHRvIFdURl9ERUNMQVJFX0NGX1RZUEVfVFJBSVQo
Q01TYW1wbGVCdWZmZXIpOwogLy8gTmVlZGVkIGR1ZSB0byByZXF1aXJlbWVudCBvZiBzcGVjaWZ5
aW5nIHRoZSBQQUwgbmFtZXNwYWNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgKaW5k
ZXggZmVjZTgxMjliZDdmN2ZkZWQ2YTgwNGJhNTJmNzk1MjYxZmU2NWQzMC4uODcxMDRkOGI3YjM1
N2MxNjBiNmRjY2M0MWJmZTFmODllMGE2YzI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXND
b2NvYS5oCkBAIC0zNCw3ICszNCw4IEBAIHR5cGVkZWYgY29uc3Qgc3RydWN0IG9wYXF1ZUNNRm9y
bWF0RGVzY3JpcHRpb24qIENNRm9ybWF0RGVzY3JpcHRpb25SZWY7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotYm9vbCBpc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JU
IGJvb2wgaXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9SVCBib29sIHJl
Z2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7CiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlw
dGlvblJlZj4gY3JlYXRlVm9yYmlzQXVkaW9Gb3JtYXREZXNjcmlwdGlvbihzaXplX3QsIGNvbnN0
IHZvaWQqKTsKIAogc3RydWN0IE9wdXNDb29raWVDb250ZW50cyB7CkBAIC01Miw3ICs1Myw4IEBA
IHN0cnVjdCBPcHVzQ29va2llQ29udGVudHMgewogICAgIGJvb2wgaGFzUGFkZGluZyB7IGZhbHNl
IH07CiB9OwogCi1ib29sIGlzT3B1c0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JU
IGJvb2wgaXNPcHVzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCByZWdp
c3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKIGJvb2wgcGFyc2VPcHVzUHJpdmF0ZURhdGEoc2l6
ZV90IHByaXZhdGVEYXRhU2l6ZSwgY29uc3Qgdm9pZCogcHJpdmF0ZURhdGEsIHNpemVfdCBmcmFt
ZURhdGFTaXplLCBjb25zdCB2b2lkKiBmcmFtZURhdGEsIE9wdXNDb29raWVDb250ZW50cyYpOwog
UmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZU9wdXNBdWRpb0Zvcm1hdERl
c2NyaXB0aW9uKGNvbnN0IE9wdXNDb29raWVDb250ZW50cyYpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0
aWxpdGllc0NvY29hLm1tCmluZGV4IDA2YmQ0OGFlMGQzZDY5MTI1MGI4YTI3NTdkMDI1NmQ0NDg1
OWZjYzQuLjBlMWViMWI3OThhM2M3ZWE2N2VhYjc1YmEzNmU1ODVhZGQ4YzEwYTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxp
dGllc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tCkBAIC0zMiwyMiArMzIsMjggQEAKICNpbXBvcnQg
IkxvZ2dpbmcuaCIKICNpbXBvcnQgIk1lZGlhVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJQbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKKyNpbXBvcnQgPEF1ZGlvVG9vbGJveC9BdWRpb0NvZGVj
Lmg+CiAjaW1wb3J0IDxBdWRpb1Rvb2xib3gvQXVkaW9Db21wb25lbnQuaD4KICNpbXBvcnQgPEF1
ZGlvVG9vbGJveC9BdWRpb0Zvcm1hdC5oPgogI2ltcG9ydCA8Q29yZU1lZGlhL0NNRm9ybWF0RGVz
Y3JpcHRpb24uaD4KICNpbXBvcnQgPGRsZmNuLmg+CiAjaW1wb3J0IDx3dGYvRmxpcEJ5dGVzLmg+
CiAjaW1wb3J0IDx3dGYvU2Vjb25kcy5oPgotCiAjaWYgRU5BQkxFKE9QVVMpCiAjaW1wb3J0IDxs
aWJ3ZWJydGMvb3B1c19kZWZpbmVzLmg+CiAjZW5kaWYKKyNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rv
b2xib3hTb2Z0TGluay5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiBFTkFCTEUoVk9S
QklTKSB8fCBFTkFCTEUoT1BVUykKIHN0YXRpYyBib29sIHJlZ2lzdGVyRGVjb2RlckZhY3Rvcnko
Y29uc3QgY2hhciogZGVjb2Rlck5hbWUsIE9TVHlwZSBkZWNvZGVyVHlwZSkKIHsKKyAgICBBdWRp
b0NvbXBvbmVudERlc2NyaXB0aW9uIGRlc2MgeyBrQXVkaW9EZWNvZGVyQ29tcG9uZW50VHlwZSwg
ZGVjb2RlclR5cGUsICdhcHBsJywga0F1ZGlvQ29tcG9uZW50RmxhZ19TYW5kYm94U2FmZSwgMCB9
OworICAgIEF1ZGlvQ29tcG9uZW50IGNvbXAgPSBQQUw6OkF1ZGlvQ29tcG9uZW50RmluZE5leHQo
MCwgJmRlc2MpOworICAgIGlmIChjb21wKQorICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gQWxyZWFk
eSByZWdpc3RlcmVkLgorCiAgICAgY29uc3RleHByIGNoYXIgYXVkaW9Db21wb25lbnRzRHlsaWJb
XSA9ICIvU3lzdGVtL0xpYnJhcnkvQ29tcG9uZW50cy9BdWRpb0NvZGVjcy5jb21wb25lbnQvQ29u
dGVudHMvTWFjT1MvQXVkaW9Db2RlY3MiOwogICAgIHZvaWQgKmhhbmRsZSA9IGRsb3BlbihhdWRp
b0NvbXBvbmVudHNEeWxpYiwgUlRMRF9MQVpZIHwgUlRMRF9MT0NBTCk7CiAgICAgaWYgKCFoYW5k
bGUpCkBAIC01Nyw3ICs2Myw2IEBAIHN0YXRpYyBib29sIHJlZ2lzdGVyRGVjb2RlckZhY3Rvcnko
Y29uc3QgY2hhciogZGVjb2Rlck5hbWUsIE9TVHlwZSBkZWNvZGVyVHlwZSkKICAgICBpZiAoIWRl
Y29kZXJGYWN0b3J5KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBBdWRpb0NvbXBvbmVu
dERlc2NyaXB0aW9uIGRlc2MgeyAnYWRlYycsIGRlY29kZXJUeXBlLCAnYXBwbCcsIGtBdWRpb0Nv
bXBvbmVudEZsYWdfU2FuZGJveFNhZmUsIDAgfTsKICAgICBpZiAoIUF1ZGlvQ29tcG9uZW50UmVn
aXN0ZXIoJmRlc2MsIENGU1RSKCIiKSwgMCwgZGVjb2RlckZhY3RvcnkpKSB7CiAgICAgICAgIGRs
Y2xvc2UoaGFuZGxlKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNzEsNyArNzYsNyBAQCBz
dGF0aWMgUmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZUF1ZGlvRm9ybWF0
RGVzY3JpcHRpb25Gb3JGb3JtYXQoTwogICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBh
c2JkIHsgfTsKICAgICBhc2JkLm1Gb3JtYXRJRCA9IGZvcm1hdElEOwogICAgIHVpbnQzMl90IHNp
emUgPSBzaXplb2YoYXNiZCk7Ci0gICAgYXV0byBlcnJvciA9IEF1ZGlvRm9ybWF0R2V0UHJvcGVy
dHkoa0F1ZGlvRm9ybWF0UHJvcGVydHlfRm9ybWF0SW5mbywgbWFnaWNDb29raWUuc2l6ZSgpLCBt
YWdpY0Nvb2tpZS5kYXRhKCksICZzaXplLCAmYXNiZCk7CisgICAgYXV0byBlcnJvciA9IFBBTDo6
QXVkaW9Gb3JtYXRHZXRQcm9wZXJ0eShrQXVkaW9Gb3JtYXRQcm9wZXJ0eV9Gb3JtYXRJbmZvLCBt
YWdpY0Nvb2tpZS5zaXplKCksIG1hZ2ljQ29va2llLmRhdGEoKSwgJnNpemUsICZhc2JkKTsKICAg
ICBpZiAoZXJyb3IpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWEsICJjcmVhdGVB
dWRpb0Zvcm1hdERlc2NyaXB0aW9uRm9yRm9ybWF0IGZhaWxlZCB3aXRoIGVycm9yICVkICglLjRz
KSIsIGVycm9yLCAoY2hhciAqKSZlcnJvcik7CiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAt
MzI2LDE5ICszMzEsMzAgQEAgc3RhdGljIFZlY3Rvcjx1aW50OF90PiBjb29raWVGcm9tT3B1c0Nv
b2tpZUNvbnRlbnRzKGNvbnN0IE9wdXNDb29raWVDb250ZW50cyYgY28KIAogYm9vbCBpc09wdXNE
ZWNvZGVyQXZhaWxhYmxlKCkKIHsKLSAgICBzdGF0aWMgYm9vbCBhdmFpbGFibGU7Ci0KICNpZiBF
TkFCTEUoT1BVUykgJiYgUExBVEZPUk0oTUFDKQogICAgIGlmICghUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyOjpvcHVzRGVjb2RlckVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CisgICAgcmV0dXJuIHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworYm9vbCByZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVk
ZWQoKQoreworI2lmIEVOQUJMRShPUFVTKSAmJiBQTEFURk9STShNQUMpCisgICAgc3RhdGljIGJv
b2wgYXZhaWxhYmxlOworCiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47CiAg
ICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewotICAgICAgICBhdmFpbGFibGUgPSByZWdp
c3RlckRlY29kZXJGYWN0b3J5KCJBQ09wdXNEZWNvZGVyRmFjdG9yeSIsICdvcHVzJyk7CisgICAg
ICAgIGF2YWlsYWJsZSA9IHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDT3B1c0RlY29kZXJGYWN0
b3J5Iiwga0F1ZGlvRm9ybWF0T3B1cyk7CiAgICAgfSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBh
dmFpbGFibGU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiBSZXRhaW5Q
dHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlT3B1c0F1ZGlvRm9ybWF0RGVzY3JpcHRp
b24oY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJiBjb29raWVDb250ZW50cykKQEAgLTQxOCwxOSAr
NDM0LDMwIEBAIHN0YXRpYyBWZWN0b3I8dWludDhfdD4gY29va2llRnJvbVZvcmJpc0NvZGVjUHJp
dmF0ZShzaXplX3QgY29kZWNQcml2YXRlU2l6ZSwgY29uCiAKIGJvb2wgaXNWb3JiaXNEZWNvZGVy
QXZhaWxhYmxlKCkKIHsKLSAgICBzdGF0aWMgYm9vbCBhdmFpbGFibGU7Ci0KICNpZiBFTkFCTEUo
Vk9SQklTKSAmJiBQTEFURk9STShNQUMpCiAgICAgaWYgKCFQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXI6OnZvcmJpc0RlY29kZXJFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAor
ICAgIHJldHVybiByZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworYm9vbCByZWdpc3RlclZvcmJpc0RlY29kZXJJZk5l
ZWRlZCgpCit7CisjaWYgRU5BQkxFKFZPUkJJUykgJiYgUExBVEZPUk0oTUFDKQorICAgIHN0YXRp
YyBib29sIGF2YWlsYWJsZTsKKwogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2Vu
OwogICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKICAgICAgICAgYXZhaWxhYmxlID0g
cmVnaXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNWb3JiaXNEZWNvZGVyRmFjdG9yeSIsICd2b3JiJyk7
CiAgICAgfSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBhdmFpbGFibGU7CisjZWxzZQorICAgIHJl
dHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJl
Zj4gY3JlYXRlVm9yYmlzQXVkaW9Gb3JtYXREZXNjcmlwdGlvbihzaXplX3QgcHJpdmF0ZURhdGFT
aXplLCBjb25zdCB2b2lkKiBwcml2YXRlRGF0YSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434196</attachid>
            <date>2021-07-26 02:51:50 -0700</date>
            <delta_ts>2021-07-28 18:49:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210726195148.patch</filename>
            <type>text/plain</type>
            <size>123658</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyYTY2YjRkOGRhMjM5ZGVmMTI5MGE1
OTc0ZWYzNjAyNTViYjI0NjUuLjFlZDUxMjdlNzQzMTgzNmIyMjU0OGFhZGEyNDEwMDI3MTdjYjBk
NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFdlYk1XZWJBdWRpb0Vu
YWJsZWQgcHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3Ig
bWltZXR5cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlz
YWJsZWQgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJl
ZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yMyAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFNoYXJlZEJ1ZmZlcjo6dGFrZURhdGEoKSBpcyBh
IGJpdCBkYW5nZXJvdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxNTlhZDNjMDZjNTRiY2Q5ZGYzYzQ4YWYxODNh
MWM4OWJhNjhlN2MxLi5mYTEzN2RkZjlmNTJkYTFiMDM5YWU4YTFkYzEzYTI0Nzc5NmI1ZTRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTAzIEBACisyMDIxLTA3LTIxICBKZWFuLVl2ZXMgQXZlbmFy
ZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1ZGlvXSBBZGQgd2VibS9vcHVzIGNv
bnRhaW5lciBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjcxMTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5NDM3MDY3PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZv
ciB3ZWJtIGluIFdlYiBBdWRpby4KKyAgICAgICAgQXMgZGVjb2RpbmcgbmVlZHMgdG8gYmUgcGVy
Zm9ybWVkIGluIHRoZSB3ZWIgY29udGVudCBwcm9jZXNzIHdlCisgICAgICAgIG5lZWQgdG8gZW5z
dXJlIHRoYXQgdGhlIGRlY29kZXJzIGFyZSBhdmFpbGFibGUgdGhlcmUuIEZvciBzZWN1cml0eQor
ICAgICAgICByZWFzb25zLCBjb20uYXBwbGUuYXVkaW8uQXVkaW9Db21wb25lbnRSZWdpc3RyYXIg
bWFjaCBjYWxscyBhcmUgYmxvY2tlZAorICAgICAgICB3aGljaCBwcmV2ZW50cyByZWdpc3Rlcmlu
ZyBhIG5ldyBhdWRpbyBjb21wb25lbnQuCisgICAgICAgIFdlIGluc3RlYWQgcmVnaXN0ZXIgaXQg
aW4gdGhlIFVJIHByb2Nlc3Mgc28gdGhhdCBBdWRpb0NvbXBvbmVudEZldGNoU2VydmVyUmVnaXN0
cmF0aW9ucworICAgICAgICBTUEkgY2FuIGZvcndhcmQgdGhlIHJlZ2lzdHJhdGlvbiBpbiB0aGUg
d2ViIHByb2Nlc3MuCisgICAgICAgIFVuZm9ydHVuYXRlbHksIGZvciB1bmtub3duIHJlYXNvbnMs
IHRoaXMgZmFpbHMgZm9yIFZvcmJpcyBhdWRpbyBjb2RlYyAoYnVnIDIyODEzOSkuCisKKyAgICAg
ICAgVG8gZGVtdXggdGhlIHdlYm0gY29udGVudCwgd2UgdXNlIHRoZSBleGlzdGluZyBTb3VyY2VC
dWZmZXJQYXJzZXJXZWJNIHRvIGV4dHJhY3QgYWxsCisgICAgICAgIGF1ZGlvIHBhY2tldHMuIFdl
IHRoZW4gaXRlcmF0ZSBvdmVyIGFsbCBDTSBTYW1wbGVzIGFuZCBkZWNvZGUgdGhlbSBpbnRvIFBD
TSwgcGVyZm9ybWluZworICAgICAgICByZXNhbXBsaW5nIGFzIG5lZWRlZCBvbiB0aGUgZmx5Lgor
ICAgICAgICBUaGVyZSBhcmUgdGhpbmdzIGxlZnQgdG8gZml4LgorICAgICAgICAtIE9wdXMgYW5k
IFZvcmJpcyBlbmNvZGVyIGRlbGF5IGlzbid0IGhhbmRsZWQgKGJ1ZyAyMjgxNDApIHdoaWNoIGxl
YXZlcyBhdWRpYmxlCisgICAgICAgIHNpbGVuY2UgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZGVz
dGluYXRpb24gYnVmZmVyLgorICAgICAgICAtIFdlIGNhbiBvbmx5IGRlY29kZSBtb25vIGFuZCBz
dGVyZW8gY29udGVudC4gT3B1cyBhbmQgVm9yYmlzIGxldCB5b3UgZGVmaW5lIGEKKyAgICAgICAg
Y3VzdG9tIGNoYW5uZWwgb3JkZXJpbmcsIHRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWQgd2l0aCBh
bWJpc29uaWMgYXVkaW8gKHdpdGggb3B1cyAyNTUgbW9kZSkuCisgICAgICAgIENvcmVNZWRpYSBk
b2Vzbid0IGVhc2lseSBkZWFsIHdpdGggc3VjaCByZS1vcmRlcmluZyBhcyBpdCBhcHBlYXJzIHRv
IGJlIGVzc2VudGlhbGx5CisgICAgICAgIGRlc2lnbmVkIGZvciBhdWRpYmxlIGNvbnRlbnQuIFdp
dGggbW9yZSB0aGFuIDIgY2hhbm5lbHMsIGRlY29kaW5nIHdpbGwgZWl0aGVyIGZhaWwKKyAgICAg
ICAgb3IgcHJvZHVjZSBjaGFubmVscyBpbiB0aGUgd3Jvbmcgb3JkZXIuCisKKyAgICAgICAgVGVz
dDogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKKworICAgICAgICAq
IEhlYWRlcnMuY21ha2U6IEV4cG9ydCBoZWFkZXIgc28gdGhhdCB3ZSBjYW4gcmVnaXN0ZXIgdGhl
IGRlY29kZXIgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBzYW1lIGFzIGFib3ZlLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5
VHlwZSBjb25zdCk6IE1ha2UgY2FuUGxheVR5cGUod2VibS9hdWRpbzsgY29kZWNzPW9wdXMpCisg
ICAgICAgIHdvcmsgaWYgZmVhdHVyZXMgaXMgc2V0LgorICAgICAgICAqIHBhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0V2ViTVdlYkF1ZGlvRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjp3ZWJNV2ViQXVkaW9FbmFibGVkIGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9NZWRpYVNhbXBsZS5oOiBGbHktYnkgZml4OiByZW1vdmUgdW5uZWNlc3NhcnkgV0VCQ09S
RV9FWFBPUlQKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1czo6c2V0TGVuZ3RoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9BdWRpb0J1cy5oOiBBZGQgc2V0TGVuZ3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhlIHJlcG9y
dGVkIGxlbmd0aAorICAgICAgICB3aXRob3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5nIHN0b3Jh
Z2UuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmg6IEFkZCBzZXRMZW5n
dGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0aGUgcmVwb3J0ZWQKKyAgICAgICAgbGVuZ3RoIHdpdGhv
dXQgdG91Y2hpbmcgdGhlIHVuZGVybHlpbmcgc3RvcmFnZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9h
dWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0
cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QpOiBGaXggY2hlY2tlZEludCB1c2UgdG8gY2F0Y2ggcG90
ZW50aWFsIG92ZXJmbG93CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6
OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6IEFkZCBjb252ZW5pZW5jZSBjbGFzcyB0aGF0CisgICAg
ICAgIGZyZWUgd3JhcHBlZCBBdWRpb0J1ZmZlckxpc3Qgb2JqZWN0IG9uIGV4aXQuCisgICAgICAg
IChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6On5BdWRpb0J1ZmZlckxpc3RIb2xkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvciBib29s
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0
b3ItPiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9w
ZXJhdG9yKiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6
OmlzVmFsaWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpBdWRp
b0ZpbGVSZWFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjppc01heWJl
V2ViTSBjb25zdCk6IE1ldGhvZCB0byBjaGVjayBpZiB0aGUgYnVmZmVyCisgICAgICAgIGNvbnRh
aW5zIFdlYk0gZGF0YS4KKyAgICAgICAgKFdlYkNvcmU6OnBhc3N0aHJvdWdoSW5wdXREYXRhQ2Fs
bGJhY2spOiBSZXF1aXJlZCBmb3IgQXVkaW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlci4KKyAg
ICAgICAgV2lsbCBmZWVkIHRoZSBkZWNvZGVyIHRoZSBkYXRhIHRvIGRlY29kZSwgc3BsaXR0aW5n
IHRoZSBtdWx0aXBsZSBwYWNrZXRzIGZvdW5kCisgICAgICAgIGluIHRoZSBDTVNhbXBsZUJ1ZmZl
ci4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMgY29u
c3QpOiBSZXR1cm4gdGhlIHRvdGFsIG51bWJlciBvZgorICAgICAgICBkZWNvZGVkIGZyYW1lcyBp
biB0aGUgcGFja2V0cy4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURh
dGFGb3JtYXQgY29uc3QpOiBDcmVhdGUgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uCisgICAg
ICAgIHJlbGF0ZWQgdG8gdGhlIGRlbXV4ZWQgYXVkaW8gdHJhY2suIG51bGxvcHQgaWYgdW5zdXBw
b3J0ZWQgY29udGVudC4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6Y2xpZW50
RGF0YUZvcm1hdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNy
ZWF0ZUJ1cyk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwg
Y29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNv
Y29hLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291
cmNlLmg6IFJlbW92ZSB1bnVzZWQgdHlwZWRlZi4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW06CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nh
bXBsZURhdGFTb3VyY2U6On5BdWRpb1NhbXBsZURhdGFTb3VyY2UpOiBGbHktYnkgZml4LCBtYWtl
IGl0IHVzZQorICAgICAgICBQQUwgc29mdGxpbmtzCisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nh
bXBsZURhdGFTb3VyY2U6OnNldHVwQ29udmVydGVyKTogRmx5LWJ5IGZpeCwgbWFrZSBpdCB1c2Ug
UEFMCisgICAgICAgIHNvZnRsaW5rcworICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJ
REdhbWVwYWRQcm92aWRlci5tbTogRmx5LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0ZUJhc2UuY3BwOiBGbHktYnkgZml4
LCBhZGQgbWlzc2luZyBoZWFkZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmg6CisgICAgICAgIEZseS1ieSBmaXggcmVx
dWlyZWQgYnkgd2Via2l0LXByZXBhcmUgOiBkb24ndCB0YWcgdGhlIHdob2xlIGNsYXNzIGFzIFdF
QkNPUkVfRVhQT1JULgorICAgICAgICBNb3ZlIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yIGZ1
bmN0aW9uIGRlZmluaXRpb25zIG91dC1vZi1saW5lIHRvIHByZXZlbnQKKyAgICAgICAgbGlua2Fn
ZSBlcnJvcnMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMpOiBNb3ZlIGNvZGUKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06IEZseS1ieSBmaXgs
IGFkZCBtaXNzaW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oOiBFeHBvcnQgc29tZSBzeW1ib2xzLCBhZGQgbmV3Cisg
ICAgICAgIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lz
dGVyRGVjb2RlckZhY3RvcnkpOiBJbnN0ZWFkIG9mIGF0dGVtcHRpbmcgdG8gcmVnaXN0ZXIgdGhl
IGRlY29kZXIKKyAgICAgICAgYnkgZGwtb3BlbmluZyB0aGUgcmVxdWlyZWQgbGlicmFyeSwgZmly
c3QgYXR0ZW1wdGluZyB0byBzZWUgaWYgdGhlIGRlY29kZXIgaXMKKyAgICAgICAgYWxyZWFkeSBh
dmFpbGFibGUuIENhbGxpbmcgQXVkaW9Db21wb25lbnRSZWdpc3RlciBpbiB0aGUgd2ViIGNvbnRl
bnQgcHJvY2VzcworICAgICAgICB3aGVuIHRoZSBHUFUgcHJvY2VzcyBpcyBlbmFibGVkIHdpbGwg
ZmFpbCBkdWUgdG8gc2FuZGJveCBzZXR0aW5ncy4gV2hpY2ggd291bGQKKyAgICAgICAgaW5jb3Jy
ZWN0bHkgcmVwb3J0IHRoZSBjb2RlYyB0byBub3QgYmUgYXZhaWxhYmxlIHdoZW4gaXQgd2FzLgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCk6
CisgICAgICAgIChXZWJDb3JlOjppc09wdXNEZWNvZGVyQXZhaWxhYmxlKTogRmx5LWJ5IGZpeCwg
c2hvdWxkIHRoZSBtZXRob2QgYmUgY2FsbGVkCisgICAgICAgIG9uIG5vbi1tYWMgcGxhdGZvcm0g
aXQgd291bGQgaGF2ZSByZXR1cm4gdGhlIHVuaXRpYWxpemVkIHZhbHVlIG9mIHRoZSBhdmFpbGFi
bGUKKyAgICAgICAgc3RhdGljIHZhcmlhYmxlLgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJP
cHVzRGVjb2RlcklmTmVlZGVkKTogQWRkZWQKKyAgICAgICAgKFdlYkNvcmU6OmlzVm9yYmlzRGVj
b2RlckF2YWlsYWJsZSk6IFNhbWUgYXMgaXNPcHVzRGVjb2RlckF2YWlsYWJsZQorICAgICAgICAo
V2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQpOiBBZGRlZAorCiAyMDIxLTA3
LTI0ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBbQXBwbGUg
UGF5XSBEbyBub3QgYWRkIGNvdXBvbiBjb2RlIGBBcHBsZVBheUVycm9yQ29kZWAgdmFsdWVzIGZv
ciBzeXN0ZW1zIHRoYXQgZG8gbm90IHN1cHBvcnQgaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGYw
MTlkM2NlMTIwM2YzZmExMDRlZjlmYWM0ZmZhNDA2YWI5MDJmNjAuLmYyYWFjYmI4NDAyZDBjNDE2
MWEzZjZmYmY5OTM5NGY1OGNjNTNkYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDIxLTA3LTIxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAg
ICAgICAgW1dlYkF1ZGlvXSBBZGQgd2VibS9vcHVzIGNvbnRhaW5lciBzdXBwb3J0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxMTAKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzc5NDM3MDY3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCB2YXJpb3VzIEFWRm91bmRhdGlvbiAoQVZBdWRpb0NvbnZl
cnRlcikgcmVsYXRlZCBtZXRob2RzIGFuZAorICAgICAgICBDb3JlTWVkaWEgdG8gYWNjZXNzIHJl
cXVpcmVkIENNU2FtcGxlQnVmZmVyIHJlbGF0ZWQgbWV0aG9kcy4KKworICAgICAgICAqIHBhbC9j
Zi9Db3JlTWVkaWFTb2Z0TGluay5jcHA6CisgICAgICAgICogcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmg6CisgICAgICAgICogcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmg6CisgICAg
ICAgICogcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tOgorCiAyMDIxLTA3LTIxICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2
ZXJ0aW5nIHIyODAxMjkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA0ZmVjMjRmZjI3YTlhMzg1NGRlY2FjY2JiZDI2
YjBiMjA0NDlhNDIuLmMwNzQ4ZTg4NzI1MzRlNzU2NjhiZjMxY2QzMDQ1ZDY3MTJjN2FhZTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGRlZmF1bHQgdmFsdWUg
Zm9yIHdlYm1fd2ViYXVkaW8gZmVhdHVyZSBmbGFnIGZvciB0aGUgZGlmZmVyZW50IHBsYXRmb3Jt
cy4KKyAgICAgICAgRGlzYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgcGxhdGZvcm1zLgorICAgICAg
ICBGbHktYnkgZml4OiBkb24ndCBtYWtlIHdlYm0gcGFyc2VyIGRlcGVuZGVudCBvbiBWUDkgc3Vw
cG9ydC4KKworICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0Ogor
ICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0OgorICAgICAgICAqIEZlYXR1
cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktp
dC13YXRjaG9zLnBsaXN0OgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZGVm
YXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlv
Q29tcG9uZW50UmVnaXN0cmF0aW9ucyk6CisKIDIwMjEtMDctMjUgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gVW5pZmllZCBmaWVsZCBpcyB1
bnNlbGVjdGVkIGFmdGVyIGZvY3VzaW5nIFVSTCBiYXIgaWYgdGV4dCB3YXMgc2VsZWN0ZWQgaW4g
YSBmaXhlZCBwb3NpdGlvbiBjb250YWluZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0
cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dU
Ri9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5k
ZXggNmQzNmEwMWVjNzIzNDc5NjgwNzcxM2IxYWQzODZlMzBhMTYzMDcxYS4uMDc2N2UzOTlkNjhj
NGExZWZhYjQ0ZDUxOGQzMmViZjdmNTRkODU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3Jp
cHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291
cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlh
bWwKQEAgLTEyNjEsNiArMTI2MSwxOCBAQCBXZWJNUGFyc2VyRW5hYmxlZDoKICAgICBXZWJLaXQ6
CiAgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAKK1dl
Yk1XZWJBdWRpb0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWJNIFdlYiBBdWRpbyIK
KyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdlYk0gV2ViIEF1ZGlvIgorICBj
b25kaXRpb246IEVOQUJMRShNRURJQV9TT1VSQ0UpCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJL
aXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNV2ViQXVkaW9FbmFi
bGVkKCkKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNV2Vi
QXVkaW9FbmFibGVkKCkKKwogIyBGSVhNRTogSXMgdGhpcyBpbXBsZW1lbnRlZCBmb3IgV2ViS2l0
TGVnYWN5PyBJZiBub3QsIHRoaXMgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gV2ViS2l0TGVnYWN5
IGVudGlyZWx5LgogV2ViUlRDSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDoKICAgdHlwZTog
Ym9vbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggM2IxYmI1NTBmNTY4MWE0ZjVkZDIzNjBhMTQxODlh
OGVjYWQwNTdiOS4uOWE2MWVlZmY1NGI3YzY1MDIwYTI4ZTk0YzZiZWUzZDU0M2M3NDU5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9IZWFkZXJzLmNtYWtlCkBAIC0xMzM1LDYgKzEzMzUsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9u
c0dMQU5HTEUuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdM
QU5HTEVVdGlsaXRpZXMuaAogCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EuaAorCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0LmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxp
c3REcmF3R2x5cGhzUmVjb3JkZXIuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKaW5kZXggZmMwNjY4YTRhOTFhZmUxMGI2NTE1OWNh
MDgyZTE4MjgxZmQ1MDM1Ny4uNGEzZTkwY2Q0NDA2Nzc1OTIxMjJmMTZmYTUxOGFhNTRlOTU3Y2Nj
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGlu
ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5j
cHAKQEAgLTM2LDYgKzM2LDggQEAKICNpbmNsdWRlIDxDb3JlVmlkZW8vQ29yZVZpZGVvLmg+CiAj
ZW5kaWYKIAorI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgorCiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01BWF9BTExPV0VEID49IDEwMTQwMCkKICNkZWZpbmUgQ01TQU1QTEVCVUZGRVJDQUxMX05PRVND
QVBFIENGX05PRVNDQVBFCiAjZWxzZQpAQCAtNDcsMTEgKzQ5LDEzIEBAIFNPRlRfTElOS19GUkFN
RVdPUktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VYUE9SVCkK
IAogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVk
aWEsIENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tCdWZmZXJS
ZWYgdGhlU291cmNlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0
aCwgdm9pZCogZGVzdGluYXRpb24pLCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0RhdGEsIGRh
dGFMZW5ndGgsIGRlc3RpbmF0aW9uKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyR2V0RGF0
YUxlbmd0aCwgc2l6ZV90LCAoQ01CbG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhlQnVmZmVy
KSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4s
IChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0
aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVm
ZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2b2lkKiBzb3VyY2VCeXRlcywg
Q01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6ZV90IG9mZnNldEludG9EZXN0
aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0ZXMsIGRlc3RpbmF0aW9uQnVm
ZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgpLCBQQUxfRVhQT1JUKQogU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENN
Rm9ybWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBDRkRpY3Rpb25hcnlSZWYsIChDTUZvcm1h
dERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYyksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVO
Q1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZm
ZXJHZXRUeXBlSUQsIENGVHlwZUlELCAodm9pZCksICgpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxl
QnVmZmVyR2V0RGF0YUJ1ZmZlciwgQ01CbG9ja0J1ZmZlclJlZiwgKENNU2FtcGxlQnVmZmVyUmVm
IHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNj
cmlwdGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYp
LCAoc2J1ZiksIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tl
dERlc2NyaXB0aW9ucywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBzaXplX3Qg
cGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbiogcGFj
a2V0RGVzY3JpcHRpb25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRP
dXQpLCAoc2J1ZiwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRpb25zT3V0
LCBwYWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElO
S19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBs
ZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8sIE9TU3RhdHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYg
c2J1ZiwgQ01JdGVtSW5kZXggc2FtcGxlSW5kZXgsIENNU2FtcGxlVGltaW5nSW5mbyogdGltaW5n
SW5mb091dCksIChzYnVmLCBzYW1wbGVJbmRleCwgdGltaW5nSW5mb091dCksIFBBTF9FWFBPUlQp
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJEYXRhSXNSZWFkeSwgQm9vbGVhbiwgKENNU2FtcGxlQnVmZmVyUmVm
IHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiAKQEAgLTEwOCw2ICsxMTIsNyBAQCBTT0ZUX0xJ
TktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwga0NNVGV4
dFZlcnRpY2FsTGF5b3V0XwogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBP
UlQoUEFMLCBDb3JlTWVkaWEsIGtDTVRleHRWZXJ0aWNhbExheW91dF9SaWdodFRvTGVmdCwgQ0ZT
dHJpbmdSZWYsIFBBTF9FWFBPUlQpCiAKICNpZiBQTEFURk9STShDT0NPQSkKK1NPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVm
ZmVyQ3JlYXRlQ29udGlndW91cywgT1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVB
bGxvY2F0b3IsIENNQmxvY2tCdWZmZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBi
bG9ja0FsbG9jYXRvciwgY29uc3QgQ01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0
b21CbG9ja1NvdXJjZSwgc2l6ZV90IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENN
QmxvY2tCdWZmZXJGbGFncyBmbGFncywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQp
LCAoc3RydWN0dXJlQWxsb2NhdG9yLCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0
b21CbG9ja1NvdXJjZSwgb2Zmc2V0VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZm
ZXJPdXQpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9F
WFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVN1YlR5cGUs
IEZvdXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFM
X0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwg
Q29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFUeXBlLCBDTU1lZGlhVHlwZSwg
KENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDFkYjUx
ODFmYzU2ZGJmYjA1ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLjg4ZTYyOTViM2MzZWU1MjNhNTc3
ZDcyNjY0MTBkMWIwNDY2ZmMxNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Y2YvQ29yZU1lZGlhU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0Nv
cmVNZWRpYVNvZnRMaW5rLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBVU0UoQVZGT1VOREFUSU9O
KQogLy8gRklYTUU6IFNob3VsZCBiZSBVU0UoQ09SRU1FRElBKSwgYnV0IHRoaXMgaXNuJ3QgY3Vy
cmVudGx5IGRlZmluZWQgb24gV2luZG93cy4KIAorI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVk
aW9UeXBlcy5oPgogI2luY2x1ZGUgPHBhbC9zcGkvY2YvQ29yZU1lZGlhU1BJLmg+CiAjaW5jbHVk
ZSA8d3RmL1NvZnRMaW5raW5nLmg+CiAKQEAgLTQ5LDYgKzUwLDggQEAgU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVz
LCBPU1N0YXQKICNkZWZpbmUgQ01CbG9ja0J1ZmZlckNvcHlEYXRhQnl0ZXMgc29mdExpbmtfQ29y
ZU1lZGlhX0NNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgsIHNpemVf
dCwgKENNQmxvY2tCdWZmZXJSZWYgdGhlQnVmZmVyKSwgKHRoZUJ1ZmZlcikpCiAjZGVmaW5lIENN
QmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVmZmVy
R2V0RGF0YUxlbmd0aAorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVk
aWEsIENNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cywgQm9vbGVhbiwgKENNQmxvY2tCdWZm
ZXJSZWYgdGhlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0LCBzaXplX3QgbGVuZ3RoKSwgKHRoZUJ1ZmZl
ciwgb2Zmc2V0LCBsZW5ndGgpKQorI2RlZmluZSBDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3Vv
dXMgc29mdExpbmtfQ29yZU1lZGlhX0NNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cwogU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJS
ZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNvdXJjZUJ5dGVzLCBDTUJs
b2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zmc2V0SW50b0Rlc3RpbmF0
aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVzdGluYXRpb25CdWZmZXIs
IG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCkpCiAjZGVmaW5lIENNQmxvY2tCdWZm
ZXJSZXBsYWNlRGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVmZmVyUmVwbGFj
ZURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEs
IENNRm9ybWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBDRkRpY3Rpb25hcnlSZWYsIChDTUZv
cm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYykpCkBAIC01OSw2ICs2Miw4IEBAIFNPRlRf
TElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdl
dERhdGFCdWZmZXIsIENNQmxvCiAjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlciBz
b2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyCiBTT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRGb3Jt
YXREZXNjcmlwdGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwgKENNU2FtcGxlQnVmZmVyUmVm
IHNidWYpLCAoc2J1ZikpCiAjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRp
b24gc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24K
K1NPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENNU2FtcGxl
QnVmZmVyUmVmIHNidWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRpb1N0cmVh
bVBhY2tldERlc2NyaXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCogcGFja2V0
RGVzY3JpcHRpb25zU2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlvbnNTaXpl
LCBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVkZWRPdXQp
KQorI2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25z
IHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVz
Y3JpcHRpb25zCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwg
Q01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZvLCBPU1N0YXR1cywgKENNU2FtcGxlQnVm
ZmVyUmVmIHNidWYsIENNSXRlbUluZGV4IHNhbXBsZUluZGV4LCBDTVNhbXBsZVRpbWluZ0luZm8q
IHRpbWluZ0luZm9PdXQpLCAoc2J1Ziwgc2FtcGxlSW5kZXgsIHRpbWluZ0luZm9PdXQpKQogI2Rl
ZmluZSBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8gc29mdExpbmtfQ29yZU1lZGlh
X0NNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyRGF0YUlzUmVhZHksIEJvb2xl
YW4sIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQpAQCAtMTY4LDYgKzE3Myw4IEBA
IFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBrQ01UZXh0VmVy
dGljYWxMYXlvdXRfUmlnaHRUb0xlZnQsCiAKICNpZiBQTEFURk9STShDT0NPQSkKIAorU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDcmVh
dGVDb250aWd1b3VzLCBPU1N0YXR1cywgKENGQWxsb2NhdG9yUmVmIHN0cnVjdHVyZUFsbG9jYXRv
ciwgQ01CbG9ja0J1ZmZlclJlZiBzb3VyY2VCdWZmZXIsIENGQWxsb2NhdG9yUmVmIGJsb2NrQWxs
b2NhdG9yLCBjb25zdCBDTUJsb2NrQnVmZmVyQ3VzdG9tQmxvY2tTb3VyY2UqIGN1c3RvbUJsb2Nr
U291cmNlLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgQ01CbG9ja0J1
ZmZlckZsYWdzIGZsYWdzLCBDTUJsb2NrQnVmZmVyUmVmKiBibG9ja0J1ZmZlck91dCksIChzdHJ1
Y3R1cmVBbGxvY2F0b3IsIHNvdXJjZUJ1ZmZlciwgYmxvY2tBbGxvY2F0b3IsIGN1c3RvbUJsb2Nr
U291cmNlLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGZsYWdzLCBibG9ja0J1ZmZlck91dCkp
CisjZGVmaW5lIENNQmxvY2tCdWZmZXJDcmVhdGVDb250aWd1b3VzIHNvZnRMaW5rX0NvcmVNZWRp
YV9DTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVN1YlR5cGUs
IEZvdXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSkKICNk
ZWZpbmUgQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3ViVHlwZSBzb2Z0TGlua19Db3JlTWVk
aWFfQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3ViVHlwZQogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVR5
cGUsIENNTWVkaWFUeXBlLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRlc2MpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0
TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlu
ay5oCmluZGV4IGIzMjQxNTliZTFlZmU3YTVlNWZlMmIyNjRkNDFhNmEwYzg0ZmQ0OWIuLjcwMGU5
YzMyYzRjZmIxYmRjMzBlY2Y0N2EwMDA2MzA3MjA1MjY5MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKQEAgLTMyNCw0ICsz
MjQsMTEgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBBVkZvdW5kYXRpb24s
IEFWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWQKICNkZWZpbmUgQVZPdXRwdXRDb250ZXh0
T3V0cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbiBQQUw6OmdldF9BVkZvdW5kYXRpb25f
QVZPdXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbigpCiAjZW5k
aWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvQ29udmVydGVyKQorU09GVF9MSU5L
X0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvRm9ybWF0KQorU09GVF9MSU5LX0NMQVNTX0ZP
Ul9IRUFERVIoUEFMLCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlcikKK1NPRlRfTElOS19DTEFTU19G
T1JfSEVBREVSKFBBTCwgQVZBdWRpb1BDTUJ1ZmZlcikKKyNlbmRpZiAvLyBQTEFURk9STShDT0NP
QSkKKwogI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQppbmRleCAzN2M4YjFmYWZk
NThjY2JjNmU4NTBjNmYzMDExNzY3YzdkYTMxNjQ1Li43MzM5ODQ1ZTA3MjY1ODAxZTA2NDAzMDNi
MmUyOTFhMDEyNGU4NzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29h
L0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29j
b2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KQEAgLTIzMCw3ICsyMzAsNyBAQCBTT0ZUX0xJTktf
Q09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRp
b1Nlc3Npb25Sb3V0ZQogCiBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZBSUxfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZVUkxBc3NldEhUVFBDb29raWVzS2V5LCBO
U1N0cmluZyAqLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9T
T1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRSZXF1aXJlc0N1
c3RvbVVSTExvYWRpbmdLZXksIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCi0jZW5kaWYKKyNlbmRp
ZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYg
IVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9TT1VSQ0UoUEFMLCBBVkZvdW5kYXRpb24sIEFWQ2FwdHVyZVNlc3Npb25TZXRBdXRo
b3JpemVkVG9Vc2VDYW1lcmFJbk11bHRpcGxlRm9yZWdyb3VuZEFwcExheW91dCwgdm9pZCwgKEFW
Q2FwdHVyZVNlc3Npb24gKnNlc3Npb24pLCAoc2Vzc2lvbikpCkBAIC0yNDQsNCArMjQ0LDExIEBA
IFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0
aW9uLCBBVlJvdXRlRGV0ZWN0b3JNdWx0CiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZPdXRwdXRDb250ZXh0T3V0cHV0RGV2aWNl
c0RpZENoYW5nZU5vdGlmaWNhdGlvbiwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKICNlbmRpZiAv
LyBIQVZFKEFWUk9VVEVQSUNLRVJWSUVXKQogCisjaWYgUExBVEZPUk0oQ09DT0EpCitTT0ZUX0xJ
TktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRp
b0NvbnZlcnRlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhf
RVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvRm9ybWF0LCBQQUxfRVhQT1JUKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9Db21wcmVzc2VkQnVmZmVyLCBQQUxfRVhQT1JUKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9T
T1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9QQ01CdWZmZXIsIFBB
TF9FWFBPUlQpCisjZW5kaWYKKwogI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzYx
MDQxOGJiZmE4ODZmOTc0OGQ1NTlkYTRhYmE4Y2E1OGUxYmY0Yi4uOTg0MmNjMjI1ZmMzYTZjOTcw
YzE1MGQyNGE4NWVkOGFiMDM3OWIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjMyLDcgKzIzMiw3IEBACiAJCTA3RUU3NkVD
MUJFOTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUExQkU5NkRCMDAwRjg5
MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDdFRTc2RUYxQkVBNjE5ODAwRjg5MTMzIC8qIE1v
Y2tSZWFsdGltZVZpZGVvU291cmNlTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwN0VFNzZFRDFCRUE2MTk4MDBGODkxMzMgLyogTW9ja1JlYWx0aW1l
VmlkZW9Tb3VyY2VNYWMuaCAqLzsgfTsKIAkJMDdGNEU5MzMyMEIzNTg3RjAwMkUzODAzIC8qIEFW
QXNzZXRNSU1FVHlwZUNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwN0M4QUQxMjFEMDczRDYzMDA4N0M1Q0UgLyogQVZBc3NldE1JTUVUeXBlQ2Fj
aGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkw
N0Y1Q0ZGNTI1ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkY0MjU4MkE0
RjgwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oICovOyB9OworCQkwN0Y1Q0ZG
NTI1ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkY0MjU4MkE0RjgwMDY2
MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RjVDRkY2MjU4MkE1MjkwMDY2MkVGNSAvKiBX
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA3RjVDRkYyMjU4MkE0RjgwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGls
aXRpZXNDb2NvYS5tbSAqLzsgfTsKIAkJMDdGODc2ODQxQUQ1ODBGOTAwOTA1ODQ5IC8qIE1lZGlh
UGxheWJhY2tUYXJnZXRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwN0Y4NzY4MzFBRDRBOTQ1MDA5MDU4NDkgLyogTWVkaWFQbGF5YmFja1Rh
cmdldENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkwN0Y5NDQxNjE4NjREMDQ2MDA1RDMxQ0IgLyogUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
REFFOEMwODE3NDZCOTU3MDA1MzJENzggLyogUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGEzYjNhMmYxMTU3YzJiN2U1MDBi
MmEwNGU0NjhlZDU2YWQyMDQ0YmMuLjdkN2NkMmNlMWRlZmI4YzA1MTAzYjQzODFkYTc1ZjcwYjcy
ODM0N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTA1
NSw3ICsxMDU1LDcgQEAgU3RyaW5nIEhUTUxNZWRpYUVsZW1lbnQ6OmNhblBsYXlUeXBlKGNvbnN0
IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0CiAgICAgLy8gVGVtcG9yYXJpbHkgd29yayBhcm91bmQg
YnVnIDIyNjkyMi4gRm9yIG5vdyBjbGFpbSB0aGF0IHRoZSBvcHVzIGFuZCB2b3JiaXMgY29kZWNz
IGFyZW4ndCBzdXBwb3J0ZWQKICAgICAvLyBzbyB0aGF0IHNpdGVzIHJlbHlpbmcgb24gdGhpcyB0
ZXN0IHRvIGRldGVybWluZSBpZiB3ZWJhdWRpbyB1c2Ugb2Ygb3B1cyBvciB2b3JiaXMgd29uJ3Qg
ZXJyb3IuCiAgICAgYXV0byBjb2RlY3MgPSBjb250ZW50VHlwZS5jb2RlY3MoKTsKLSAgICBpZiAo
c3VwcG9ydCA9PSBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc1N1cHBvcnRlZCAmJiAoY29k
ZWNzLmNvbnRhaW5zKCJvcHVzIikgfHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCisgICAg
aWYgKHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYg
KChjb2RlY3MuY29udGFpbnMoIm9wdXMiKSAmJiAhd2ViTVdlYkF1ZGlvRW5hYmxlZCgpKSB8fCBj
b2RlY3MuY29udGFpbnMoInZvcmJpcyIpKSkKICAgICAgICAgc3VwcG9ydCA9IE1lZGlhUGxheWVy
OjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkOwogI2VuZGlmCiAKQEAgLTgxNzUsNiArODE3
NSwxNSBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Omhhc01lZGlhU3RyZWFtU291cmNlKCkgY29u
c3QKICNlbmRpZgogfQogCitib29sIEhUTUxNZWRpYUVsZW1lbnQ6OndlYk1XZWJBdWRpb0VuYWJs
ZWQoKSBjb25zdAoreworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgcmV0dXJuIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViTVdlYkF1ZGlvRW5hYmxlZCgp
OworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogI2lmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhU3RyZWFtQ2FwdHVyZVN0YXJ0
ZWQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAxMDUxYzA1
ODUzZmMwMTJlZGRhY2Q4Yjc0Yzk0NWFiYmFjMmQ1MzIwLi5mOTI2ZWQ2MjczMDExZDUxNjQ4YWRl
ZjU3OTdkYmVkZmE2ZGI4MmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aApAQCAtOTM5LDYgKzkzOSw4IEBAIHByaXZhdGU6CiAgICAgY29uc3QgTG9nZ2VyJiBtZWRpYVBs
YXllckxvZ2dlcigpIGZpbmFsIHsgcmV0dXJuIGxvZ2dlcigpOyB9CiAjZW5kaWYKIAorICAgIGJv
b2wgd2ViTVdlYkF1ZGlvRW5hYmxlZCgpIGNvbnN0OworCiAgICAgVGltZXIgbV9wcm9ncmVzc0V2
ZW50VGltZXI7CiAgICAgVGltZXIgbV9wbGF5YmFja1Byb2dyZXNzVGltZXI7CiAgICAgVGltZXIg
bV9zY2FuVGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oCmluZGV4IGEwZDNjZWE3OWQ3ZTBhZTA3NDgyNDBkZDIyZWVlMmQ1NTc1MDQ0YTYuLjY4NWEw
YTJhZDc1NDcyNjk5YWViZjIxOWZhMGMyNTE1MjFiZWIwYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC0yMzUsNiArMjM1LDggQEAgcHVibGlj
OgogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgdm9pZCBzZXRXZWJNUGFyc2VyRW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBtX3dlYk1QYXJzZXJFbmFibGVkID0gaXNFbmFibGVkOyB9CiAg
ICAgYm9vbCB3ZWJNUGFyc2VyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVBhcnNlckVu
YWJsZWQ7IH0KKyAgICB2b2lkIHNldFdlYk1XZWJBdWRpb0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQp
IHsgbV93ZWJNV2ViQXVkaW9FbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCB3ZWJNV2Vi
QXVkaW9FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJNV2ViQXVkaW9FbmFibGVkOyB9CiAj
ZW5kaWYKIAogI2lmIEhBVkUoQ0VMRVNUSUFMKQpAQCAtMzcxLDYgKzM3Myw3IEBAIHByaXZhdGU6
CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIGJvb2wgbV93ZWJNUGFyc2VyRW5hYmxl
ZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX3dlYk1XZWJBdWRpb0VuYWJsZWQgeyBmYWxzZSB9Owog
I2VuZGlmCiAKICNpZiBIQVZFKENFTEVTVElBTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01lZGlhU2FtcGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNh
bXBsZS5oCmluZGV4IDhkYTYwMzc3ODgyNDMzMzBhZTI1MGQ5YzEwYzcyZWUwNTg4ZTc2MGMuLjA4
NDdiOTc0ZTkzZTg3MmEyMjllN2ExNjEwZjJkNDRlOTAyY2MwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTWVkaWFTYW1wbGUuaApAQCAtNTcsNyArNTcsNyBAQCBzdHJ1Y3QgUGxhdGZvcm1TYW1w
bGUgewogICAgIH0gc2FtcGxlOwogfTsKIAotY2xhc3MgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1w
bGUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TWVkaWFTYW1wbGU+IHsKK2NsYXNzIE1l
ZGlhU2FtcGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CiBw
dWJsaWM6CiAgICAgdmlydHVhbCB+TWVkaWFTYW1wbGUoKSA9IGRlZmF1bHQ7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcAppbmRleCAyNDNlMTA2YjllMzNkYTkz
ZGU5YTBjYWQzM2JjMDhlOTIwNjUzMjAwLi43ZjAzYzMzMWVlMjAxMGM5ODkyOWEwMzI0ZGNhYzk1
NWQ2NWY4YmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b0J1cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3Bw
CkBAIC03Myw2ICs3MywxNiBAQCB2b2lkIEF1ZGlvQnVzOjpzZXRDaGFubmVsTWVtb3J5KHVuc2ln
bmVkIGNoYW5uZWxJbmRleCwgZmxvYXQqIHN0b3JhZ2UsIHNpemVfdCBsZQogICAgIH0KIH0KIAor
dm9pZCBBdWRpb0J1czo6c2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCit7CisgICAgUkVMRUFT
RV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihuZXdMZW5ndGggPD0gbV9sZW5ndGgp
OworICAgIGlmIChuZXdMZW5ndGggPT0gbV9sZW5ndGgpCisgICAgICAgIHJldHVybjsKKyAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKKyAgICAgICAg
bV9jaGFubmVsc1tpXS0+c2V0TGVuZ3RoKG5ld0xlbmd0aCk7CisgICAgbV9sZW5ndGggPSBuZXdM
ZW5ndGg7Cit9CisKIHZvaWQgQXVkaW9CdXM6Onplcm8oKQogewogICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBtX2NoYW5uZWxzLnNpemUoKTsgKytpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDBlODExMjExYjRkYTJjYThjNjcwYjU4YjMyOTZiMzVj
ZTY5Y2Q0YS4uMzE3NTUxYzllZjExNWYyNmMwOWU1ODAwODkzNmMyNDViYzE0YTA3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCkBAIC04Myw2ICs4Myw5IEBAIHB1
YmxpYzoKICAgICAvLyBOdW1iZXIgb2Ygc2FtcGxlLWZyYW1lcwogICAgIHNpemVfdCBsZW5ndGgo
KSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQogCisgICAgLy8gUmVkdWNlIHRoZSBudW1iZXIg
b2YgZnJhbWVzIGF2YWlsYWJsZSB3aXRob3V0IGNoYW5naW5nIHRoZSBhbGxvY2F0ZWQgbWVtb3J5
IHNpemUuCisgICAgdm9pZCBzZXRMZW5ndGgoc2l6ZV90KTsKKwogICAgIC8vIFNhbXBsZS1yYXRl
IDogMC4wIGlmIHVua25vd24gb3IgImRvbid0IGNhcmUiCiAgICAgZmxvYXQgc2FtcGxlUmF0ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxlUmF0ZTsgfQogICAgIHZvaWQgc2V0U2FtcGxlUmF0ZShm
bG9hdCBzYW1wbGVSYXRlKSB7IG1fc2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKaW5kZXggOTc1YmQwYjVhYmQ4
ZjcyNTVhMDVhN2RkNzBmOTY1MGIxZDQ5NDY2Ny4uMTY3NmY1NmI2ZGRiOTcwOWMyZDQ2ZTc4OWU2
OTk4YmEyZmYxNTUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
QXVkaW9DaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9D
aGFubmVsLmgKQEAgLTc0LDYgKzc0LDEzIEBAIHB1YmxpYzoKICAgICAvLyBIb3cgbWFueSBzYW1w
bGUtZnJhbWVzIGRvIHdlIGNvbnRhaW4/CiAgICAgc2l6ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fbGVuZ3RoOyB9CiAKKyAgICAvLyBTZXQgbmV3IGxlbmd0aC4gQ2FuIG9ubHkgYmUgc2V0
IHRvIGEgdmFsdWUgbG93ZXIgdGhhbiB0aGUgY3VycmVudCBsZW5ndGguCisgICAgdm9pZCBzZXRM
ZW5ndGgoc2l6ZV90IG5ld0xlbmd0aCkKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJ
VEhfU0VDVVJJVFlfSU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IGxlbmd0aCgpKTsKKyAgICAgICAg
bV9sZW5ndGggPSBuZXdMZW5ndGg7CisgICAgfQorCiAgICAgLy8gRGlyZWN0IGFjY2VzcyB0byBQ
Q00gc2FtcGxlIGRhdGEuIE5vbi1jb25zdCBhY2Nlc3NvciBjbGVhcnMgc2lsZW50IGZsYWcuCiAg
ICAgZmxvYXQqIG11dGFibGVEYXRhKCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKaW5k
ZXggNWQ1NmI5ZWUxYTBkM2Q2N2E3OWMzMDc2MWQxMzgxNWQ3YzA2NDRjZS4uYjQ0NjAyN2E4MjVh
ZjQ0N2M0NDljOTBmOGM1YWViM2UwOTM3ODcxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcApA
QCAtMzQsMjEgKzM0LDM2IEBACiAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgogI2luY2x1ZGUgIkF1
ZGlvRmlsZVJlYWRlci5oIgorI2luY2x1ZGUgIkF1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIgorI2lu
Y2x1ZGUgIkF1ZGlvVHJhY2tQcml2YXRlLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgi
CisjaW5jbHVkZSAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKKyNpbmNsdWRlICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKKyNpbmNsdWRlICJWaWRlb1RyYWNr
UHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgiCisjaW5jbHVk
ZSA8QXVkaW9Ub29sYm94L0F1ZGlvQ29udmVydGVyLmg+CiAjaW5jbHVkZSA8QXVkaW9Ub29sYm94
L0V4dGVuZGVkQXVkaW9GaWxlLmg+CiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5k
YXRpb24uaD4KLSNpbmNsdWRlIDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNs
dWRlIDxTb3VyY2VCdWZmZXJQYXJzZXJXZWJNLmg+CisjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1
ZGUgPHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+
CisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9TY29wZS5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRl
IDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgV0FSTl9VTlVT
RURfUkVUVVJOIEF1ZGlvQnVmZmVyTGlzdCogdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KHNpemVf
dCBudW1iZXJPZkJ1ZmZlcnMpCiB7CisgICAgaWYgKCFudW1iZXJPZkJ1ZmZlcnMpCisgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIENoZWNrZWRTaXplIGJ1ZmZlckxpc3RTaXplID0gc2l6ZW9m
KEF1ZGlvQnVmZmVyTGlzdCkgLSBzaXplb2YoQXVkaW9CdWZmZXIpOwotICAgIGJ1ZmZlckxpc3RT
aXplICs9IG51bWJlck9mQnVmZmVycyAqIHNpemVvZihBdWRpb0J1ZmZlcik7CisgICAgYnVmZmVy
TGlzdFNpemUgKz0gV1RGOjpjaGVja2VkUHJvZHVjdDxzaXplX3Q+KG51bWJlck9mQnVmZmVycywg
c2l6ZW9mKEF1ZGlvQnVmZmVyKSk7CiAgICAgaWYgKGJ1ZmZlckxpc3RTaXplLmhhc092ZXJmbG93
ZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTg3LDEwICsxMDIsNTQgQEAgc3Rh
dGljIGJvb2wgdmFsaWRhdGVBdWRpb0J1ZmZlckxpc3QoQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJM
aXN0KQogICAgIHJldHVybiB0cnVlOwogfQogCisvLyBPbiBzdGFjayBSQUlJIGNsYXNzIHRoYXQg
d2lsbCBmcmVlIHRoZSBhbGxvY2F0ZWQgQXVkaW9CdWZmZXJMaXN0KiBhcyBuZWVkZWQuCitjbGFz
cyBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgeworcHVibGljOgorICAgIGV4cGxpY2l0IEF1ZGlvQnVm
ZmVyTGlzdEhvbGRlcihzaXplX3QgbnVtYmVyT2ZDaGFubmVscykKKyAgICAgICAgOiBtX2J1ZmZl
ckxpc3QodHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpKQorICAgIHsK
KyAgICB9CisKKyAgICB+QXVkaW9CdWZmZXJMaXN0SG9sZGVyKCkKKyAgICB7CisgICAgICAgIGlm
IChtX2J1ZmZlckxpc3QpCisgICAgICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KG1fYnVm
ZmVyTGlzdCk7CisgICAgfQorCisgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsg
cmV0dXJuICEhbV9idWZmZXJMaXN0OyB9CisgICAgQXVkaW9CdWZmZXJMaXN0KiBvcGVyYXRvci0+
KCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXJMaXN0OyB9CisgICAgb3BlcmF0b3IgQXVkaW9CdWZm
ZXJMaXN0KigpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyTGlzdDsgfQorICAgIGJvb2wgaXNWYWxp
ZCgpIGNvbnN0IHsgcmV0dXJuIHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7
IH0KK3ByaXZhdGU6CisgICAgQXVkaW9CdWZmZXJMaXN0KiBtX2J1ZmZlckxpc3Q7Cit9OworCitj
bGFzcyBBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CisKK3B1YmxpYzoKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIFNvdXJjZUJ1ZmZl
clBhcnNlcldlYk06OkluaXRpYWxpemF0aW9uU2VnbWVudCBtX2luaXRTZWdtZW50OworI2VuZGlm
CisgICAgTWVkaWFUaW1lIG1fZHVyYXRpb247CisgICAgVmVjdG9yPFJlZjxNZWRpYVNhbXBsZUFW
Rk9iakM+PiBtX3NhbXBsZXM7Cit9OworCiBBdWRpb0ZpbGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRl
cihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpemUpCiAgICAgOiBtX2RhdGEoZGF0YSkK
ICAgICAsIG1fZGF0YVNpemUoZGF0YVNpemUpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisg
ICAgLCBtX2xvZ2dlcihMb2dnZXI6OmNyZWF0ZSh0aGlzKSkKKyAgICAsIG1fbG9nSWRlbnRpZmll
cihMb2dnZXJIZWxwZXI6OnVuaXF1ZUxvZ0lkZW50aWZpZXIoKSkKKyNlbmRpZgogeworI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCisgICAgaWYgKGlzTWF5YmVXZWJNKHN0YXRpY19jYXN0PGNvbnN0
IHVpbnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpKSB7CisgICAgICAgIG1fd2VibURhdGEgPSBkZW11
eFdlYk1EYXRhKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpOwor
ICAgICAgICBpZiAobV93ZWJtRGF0YSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5k
aWYKICAgICBpZiAoUEFMOjpBdWRpb0ZpbGVPcGVuV2l0aENhbGxiYWNrcyh0aGlzLCByZWFkUHJv
YywgMCwgZ2V0U2l6ZVByb2MsIDAsIDAsICZtX2F1ZGlvRmlsZUlEKSAhPSBub0VycikKICAgICAg
ICAgcmV0dXJuOwogCkBAIC0xMTEsNiArMTcwLDE5MCBAQCBBdWRpb0ZpbGVSZWFkZXI6On5BdWRp
b0ZpbGVSZWFkZXIoKQogICAgIG1fYXVkaW9GaWxlSUQgPSAwOwogfQogCisjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKK2Jvb2wgQXVkaW9GaWxlUmVhZGVyOjppc01heWJlV2ViTShjb25zdCB1aW50
OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUpIGNvbnN0Cit7CisgICAgLy8gRnJvbSBodHRwczov
L21pbWVzbmlmZi5zcGVjLndoYXR3Zy5vcmcvI3NpZ25hdHVyZS1mb3Itd2VibQorICAgIHJldHVy
biBkYXRhU2l6ZSA+PSA0ICYmIGRhdGFbMF0gPT0gMHgxQSAmJiBkYXRhWzFdID09IDB4NDUgJiYg
ZGF0YVsyXSA9PSAweERGICYmIGRhdGFbM10gPT0gMHhBMzsKK30KKworc3RkOjp1bmlxdWVfcHRy
PEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPiBBdWRpb0ZpbGVSZWFkZXI6OmRlbXV4V2ViTURhdGEo
Y29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKSBjb25zdAoreworICAgIGF1dG8g
cGFyc2VyID0gYWRvcHRSZWYobmV3IFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0oKSk7CisgICAgYm9v
bCBlcnJvciA9IGZhbHNlOworICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IGF1ZGlvVHJhY2tJ
ZDsKKyAgICBNZWRpYVRpbWUgZHVyYXRpb247CisgICAgU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6
SW5pdGlhbGl6YXRpb25TZWdtZW50IGluaXRTZWdtZW50OworICAgIFZlY3RvcjxSZWY8TWVkaWFT
YW1wbGVBVkZPYmpDPj4gc2FtcGxlczsKKyAgICBwYXJzZXItPnNldERpZEVuY291bnRlckVycm9y
RHVyaW5nUGFyc2luZ0NhbGxiYWNrKFsmXSh1aW50NjRfdCkgeworICAgICAgICBlcnJvciA9IHRy
dWU7CisgICAgfSk7CisgICAgcGFyc2VyLT5zZXREaWRQYXJzZUluaXRpYWxpemF0aW9uRGF0YUNh
bGxiYWNrKFsmXShTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJbml0aWFsaXphdGlvblNlZ21lbnQm
JiBpbml0KSB7CisgICAgICAgIGZvciAoYXV0byYgYXVkaW9UcmFjayA6IGluaXQuYXVkaW9UcmFj
a3MpIHsKKyAgICAgICAgICAgIGlmIChhdWRpb1RyYWNrLnRyYWNrICYmIGF1ZGlvVHJhY2sudHJh
Y2stPnRyYWNrVUlEKCkpIHsKKyAgICAgICAgICAgICAgICBkdXJhdGlvbiA9IGluaXQuZHVyYXRp
b247CisgICAgICAgICAgICAgICAgYXVkaW9UcmFja0lkID0gYXVkaW9UcmFjay50cmFjay0+dHJh
Y2tVSUQoKTsKKyAgICAgICAgICAgICAgICBpbml0U2VnbWVudCA9IFdURk1vdmUoaW5pdCk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7
CisgICAgcGFyc2VyLT5zZXREaWRQcm92aWRlTWVkaWFEYXRhQ2FsbGJhY2soWyZdKFJlZjxNZWRp
YVNhbXBsZT4mJiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQsIGNvbnN0IFN0cmluZyYpIHsKKyAg
ICAgICAgaWYgKCFhdWRpb1RyYWNrSWQgfHwgdHJhY2tJRCAhPSAqYXVkaW9UcmFja0lkKQorICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICBzYW1wbGVzLmFwcGVuZChzdGF0aWNfcmVmZXJlbmNl
X2Nhc3Q8TWVkaWFTYW1wbGVBVkZPYmpDPihXVEZNb3ZlKHNhbXBsZSkpKTsKKyAgICB9KTsKKyAg
ICBwYXJzZXItPnNldENhbGxPbkNsaWVudFRocmVhZENhbGxiYWNrKFtdKFdURjo6RnVuY3Rpb248
dm9pZCgpPiYmIGZ1bmN0aW9uKSB7CisgICAgICAgIGZ1bmN0aW9uKCk7CisgICAgfSk7CisgICAg
VmVjdG9yPHVpbnQ4X3Q+IHZlY3RvcihkYXRhLCBkYXRhU2l6ZSk7CisgICAgU291cmNlQnVmZmVy
UGFyc2VyOjpTZWdtZW50IHNlZ21lbnQoV1RGTW92ZSh2ZWN0b3IpKTsKKyAgICBwYXJzZXItPmFw
cGVuZERhdGEoV1RGTW92ZShzZWdtZW50KSk7CisgICAgaWYgKCFhdWRpb1RyYWNrSWQpCisgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgIHBhcnNlci0+Zmx1c2hQZW5kaW5nQXVkaW9CdWZmZXJz
KCk7CisgICAgcmV0dXJuIG1ha2VVbmlxdWU8QXVkaW9GaWxlUmVhZGVyV2ViTURhdGE+KEF1ZGlv
RmlsZVJlYWRlcldlYk1EYXRhIHsgV1RGTW92ZShpbml0U2VnbWVudCksIFdURk1vdmUoZHVyYXRp
b24pLCBXVEZNb3ZlKHNhbXBsZXMpIH0pOworfQorCitzdHJ1Y3QgUGFzc3Rocm91Z2hVc2VyRGF0
YSB7CisgICAgVUludDMyIG1fY2hhbm5lbHM7CisgICAgVUludDMyIG1fZGF0YVNpemU7CisgICAg
Y29uc3Qgdm9pZCogbV9kYXRhOworICAgIFVJbnQzMiBtX2luZGV4OworICAgIFZlY3RvcjxBdWRp
b1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPiYgbV9wYWNrZXRzOworfTsKKworLy8gRXJyb3IgdmFs
dWUgd2UgcGFzcyB0aHJvdWdoIHRoZSBkZWNvZGVyIHRvIHNpZ25hbCB0aGF0IG5vdGhpbmcKKy8v
IGhhcyBnb25lIHdyb25nIGR1cmluZyBkZWNvZGluZyBhbmQgd2UncmUgZG9uZSBwcm9jZXNzaW5n
IHRoZSBwYWNrZXQuCitjb25zdCB1aW50MzJfdCBrTm9Nb3JlRGF0YUVyciA9ICdNT0FSJzsKKwor
c3RhdGljIE9TU3RhdHVzIHBhc3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2soQXVkaW9Db252ZXJ0
ZXJSZWYsIFVJbnQzMiogbnVtRGF0YVBhY2tldHMsIEF1ZGlvQnVmZmVyTGlzdCogZGF0YSwgQXVk
aW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbioqIHBhY2tldERlc2MsIHZvaWQqIGluVXNlckRhdGEp
Cit7CisgICAgYXV0byogdXNlckRhdGEgPSBzdGF0aWNfY2FzdDxQYXNzdGhyb3VnaFVzZXJEYXRh
Kj4oaW5Vc2VyRGF0YSk7CisgICAgaWYgKHVzZXJEYXRhLT5tX2luZGV4ID09IHVzZXJEYXRhLT5t
X3BhY2tldHMuc2l6ZSgpKSB7CisgICAgICAgICpudW1EYXRhUGFja2V0cyA9IDA7CisgICAgICAg
IHJldHVybiBrTm9Nb3JlRGF0YUVycjsKKyAgICB9CisKKyAgICBpZiAocGFja2V0RGVzYykgewor
ICAgICAgICBpZiAodXNlckRhdGEtPm1faW5kZXggPj0gdXNlckRhdGEtPm1fcGFja2V0cy5zaXpl
KCkpIHsKKyAgICAgICAgICAgICpudW1EYXRhUGFja2V0cyA9IDA7CisgICAgICAgICAgICByZXR1
cm4ga0F1ZGlvQ29udmVydGVyRXJyX1JlcXVpcmVzUGFja2V0RGVzY3JpcHRpb25zRXJyb3I7Cisg
ICAgICAgIH0KKyAgICAgICAgKnBhY2tldERlc2MgPSAmdXNlckRhdGEtPm1fcGFja2V0c1t1c2Vy
RGF0YS0+bV9pbmRleF07CisgICAgfQorCisgICAgZGF0YS0+bUJ1ZmZlcnNbMF0ubU51bWJlckNo
YW5uZWxzID0gdXNlckRhdGEtPm1fY2hhbm5lbHM7CisgICAgZGF0YS0+bUJ1ZmZlcnNbMF0ubURh
dGFCeXRlU2l6ZSA9IHVzZXJEYXRhLT5tX2RhdGFTaXplOworICAgIGRhdGEtPm1CdWZmZXJzWzBd
Lm1EYXRhID0gY29uc3RfY2FzdDx2b2lkKj4odXNlckRhdGEtPm1fZGF0YSk7CisKKyAgICAqbnVt
RGF0YVBhY2tldHMgPSAxOworICAgIHVzZXJEYXRhLT5tX2luZGV4Kys7CisKKyAgICByZXR1cm4g
bm9FcnI7Cit9CisKK1ZlY3RvcjxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPiBBdWRpb0Zp
bGVSZWFkZXI6OmdldFBhY2tldERlc2NyaXB0aW9ucyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVC
dWZmZXIpIGNvbnN0Cit7CisgICAgc2l6ZV90IHBhY2tldERlc2NyaXB0aW9uc1NpemU7CisgICAg
aWYgKFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyhz
YW1wbGVCdWZmZXIsIDAsIG51bGxwdHIsICZwYWNrZXREZXNjcmlwdGlvbnNTaXplKSAhPSBub0Vy
cikgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBnZXQg
cGFja2V0IGRlc2NyaXB0aW9uIGxpc3Qgc2l6ZSIpOworICAgICAgICByZXR1cm4geyB9OworICAg
IH0KKyAgICBzaXplX3QgbnVtRGVzY3JpcHRpb25zID0gcGFja2V0RGVzY3JpcHRpb25zU2l6ZSAv
IHNpemVvZihBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKTsKKyAgICBpZiAoIW51bURlc2Ny
aXB0aW9ucykgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIk5vIHBhY2tl
dCBkZXNjcmlwdGlvbiBmb3VuZC4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAg
VmVjdG9yPEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24+IGRlc2NyaXB0aW9ucyhudW1EZXNj
cmlwdGlvbnMpOworICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNr
ZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBkZXNj
cmlwdGlvbnMuZGF0YSgpLCBudWxscHRyKSAhPSBub0VycikgeworICAgICAgICBSRUxFQVNFX0xP
R19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBnZXQgcGFja2V0IGRlc2NyaXB0aW9uIGxpc3Qi
KTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgYXV0byBudW1QYWNrZXRzID0gUEFM
OjpDTVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2FtcGxlQnVmZmVyKTsKKyAgICBpZiAobnVt
RGVzY3JpcHRpb25zICE9IHNpemVfdChudW1QYWNrZXRzKSkgeworICAgICAgICBSRUxFQVNFX0xP
R19GQVVMVChXZWJBdWRpbywgIlVuaGFuZGxlZCBDTVNhbXBsZUJ1ZmZlciBzdHJ1Y3R1cmUiKTsK
KyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgcmV0dXJuIGRlc2NyaXB0aW9uczsKK30K
Kworc3RkOjpvcHRpb25hbDxzaXplX3Q+IEF1ZGlvRmlsZVJlYWRlcjo6ZGVjb2RlV2ViTURhdGEo
QXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0LCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMsIGNvbnN0
IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5Gb3JtYXQsIGNvbnN0IEF1ZGlvU3RyZWFt
QmFzaWNEZXNjcmlwdGlvbiYgb3V0Rm9ybWF0KSBjb25zdAoreworICAgIEF1ZGlvQ29udmVydGVy
UmVmIGNvbnZlcnRlcjsKKyAgICBpZiAoUEFMOjpBdWRpb0NvbnZlcnRlck5ldygmaW5Gb3JtYXQs
ICZvdXRGb3JtYXQsICZjb252ZXJ0ZXIpICE9IG5vRXJyKSB7CisgICAgICAgIFJFTEVBU0VfTE9H
X0ZBVUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIGNyZWF0ZSBkZWNvZGVyIik7CisgICAgICAgIHJl
dHVybiB7IH07CisgICAgfQorICAgIGF1dG8gY2xlYW51cCA9IG1ha2VTY29wZUV4aXQoWyZdIHsK
KyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bvc2UoY29udmVydGVyKTsKKyAgICB9KTsK
KyAgICBhdXRvIGZvcm1hdERlc2NyaXB0aW9uID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1h
dERlc2NyaXB0aW9uKG1fd2VibURhdGEtPm1fc2FtcGxlc1swXS0+c2FtcGxlQnVmZmVyKCkpOwor
ICAgIGlmICghZm9ybWF0RGVzY3JpcHRpb24pIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQo
V2ViQXVkaW8sICJVbmFibGUgdG8gcmV0cmlldmUgZm9ybWF0IGRlc2NyaXB0aW9uIGZyb20gZmly
c3Qgc2FtcGxlIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorICAgIHNpemVfdCBtYWdp
Y0Nvb2tpZVNpemUgPSAwOworICAgIGNvbnN0IHZvaWQqIG1hZ2ljQ29va2llID0gUEFMOjpDTUF1
ZGlvRm9ybWF0RGVzY3JpcHRpb25HZXRNYWdpY0Nvb2tpZShmb3JtYXREZXNjcmlwdGlvbiwgJm1h
Z2ljQ29va2llU2l6ZSk7CisgICAgaWYgKG1hZ2ljQ29va2llICYmIG1hZ2ljQ29va2llU2l6ZSkK
KyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlclNldFByb3BlcnR5KGNvbnZlcnRlciwga0F1ZGlv
Q29udmVydGVyRGVjb21wcmVzc2lvbk1hZ2ljQ29va2llLCBtYWdpY0Nvb2tpZVNpemUsIG1hZ2lj
Q29va2llKTsKKworICAgIEF1ZGlvQnVmZmVyTGlzdEhvbGRlciBkZWNvZGVkQnVmZmVyTGlzdChp
bkZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZSk7CisgICAgaWYgKCFkZWNvZGVkQnVmZmVyTGlzdCkg
eworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBjcmVhdGUg
ZGVjb2RlciIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIHNpemVfdCBkZWNv
ZGVkRnJhbWVzID0gMDsKKyAgICBPU1N0YXR1cyBzdGF0dXM7CisgICAgZm9yIChhdXRvJiBzYW1w
bGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgQ01TYW1wbGVCdWZmZXJSZWYg
c2FtcGxlQnVmZmVyID0gc2FtcGxlLT5zYW1wbGVCdWZmZXIoKTsKKyAgICAgICAgYXV0byBidWZm
ZXIgPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlcihzYW1wbGVCdWZmZXIpOworICAg
ICAgICBBU1NFUlQoUEFMOjpDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMoYnVmZmVyLCAw
LCAwKSk7CisgICAgICAgIGlmICghUEFMOjpDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMo
YnVmZmVyLCAwLCAwKSkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8s
ICJVbmFibGUgdG8gcmVhZCBzYW1wbGUgY29udGVudCAobm90IGNvbnRpZ3VvdXMpIik7CisgICAg
ICAgICAgICByZXR1cm4geyB9OworICAgICAgICB9CisKKyAgICAgICAgc2l6ZV90IHNyY1NpemUg
PSBQQUw6OkNNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoKGJ1ZmZlcik7CisgICAgICAgIGNoYXIq
IHNyY0RhdGEgPSBudWxscHRyOworICAgICAgICBpZiAoUEFMOjpDTUJsb2NrQnVmZmVyR2V0RGF0
YVBvaW50ZXIoYnVmZmVyLCAwLCBudWxscHRyLCBudWxscHRyLCAmc3JjRGF0YSkgIT0gbm9FcnIp
IHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIHJl
dHJpZXZlIGRhdGEiKTsKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIH0KKworICAg
ICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IGdldFBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZm
ZXIpOworICAgICAgICBpZiAoZGVzY3JpcHRpb25zLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJl
dHVybiB7IH07CisKKyAgICAgICAgUGFzc3Rocm91Z2hVc2VyRGF0YSB1c2VyRGF0YSA9IHsgaW5G
b3JtYXQubUNoYW5uZWxzUGVyRnJhbWUsIFVJbnQzMihzcmNTaXplKSwgc3JjRGF0YSwgMCwgZGVz
Y3JpcHRpb25zIH07CisKKyAgICAgICAgZG8geworICAgICAgICAgICAgaWYgKG51bWJlck9mRnJh
bWVzIDwgZGVjb2RlZEZyYW1lcykgeworICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxU
KFdlYkF1ZGlvLCAiRGVjb2RlZCBtb3JlIGZyYW1lcyB0aGFuIGZpcnN0IGNhbGN1bGF0ZWQiKTsK
KyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAgICAgfQorICAgICAgICAgICAg
Ly8gaW46IHRoZSBtYXggbnVtYmVyIG9mIHBhY2tldHMgd2UgY2FuIGhhbmRsZSBmcm9tIHRoZSBk
ZWNvZGVyLgorICAgICAgICAgICAgLy8gb3V0OiB0aGUgbnVtYmVyIG9mIHBhY2tldHMgdGhlIGRl
Y29kZXIgaXMgYWN0dWFsbHkgcmV0dXJuaW5nLgorICAgICAgICAgICAgVUludDMyIG51bUZyYW1l
cyA9IHN0ZDo6bWluPHVpbnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptYXgo
KSAvIHNpemVvZihmbG9hdCksIG51bWJlck9mRnJhbWVzIC0gZGVjb2RlZEZyYW1lcyk7CisKKyAg
ICAgICAgICAgIGZvciAoVUludDMyIGkgPSAwOyBpIDwgaW5Gb3JtYXQubUNoYW5uZWxzUGVyRnJh
bWU7IGkrKykgeworICAgICAgICAgICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5tQnVmZmVyc1tp
XS5tTnVtYmVyQ2hhbm5lbHMgPSAxOworICAgICAgICAgICAgICAgIGRlY29kZWRCdWZmZXJMaXN0
LT5tQnVmZmVyc1tpXS5tRGF0YUJ5dGVTaXplID0gbnVtRnJhbWVzICogc2l6ZW9mKGZsb2F0KTsK
KyAgICAgICAgICAgICAgICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGEgPSBz
dGF0aWNfY2FzdDxmbG9hdCo+KGJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1EYXRhKSArIGRlY29k
ZWRGcmFtZXM7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBzdGF0dXMgPSBQQUw6OkF1ZGlv
Q29udmVydGVyRmlsbENvbXBsZXhCdWZmZXIoY29udmVydGVyLCBwYXNzdGhyb3VnaElucHV0RGF0
YUNhbGxiYWNrLCAmdXNlckRhdGEsICZudW1GcmFtZXMsIGRlY29kZWRCdWZmZXJMaXN0LCBudWxs
cHRyKTsKKyAgICAgICAgICAgIGlmIChzdGF0dXMgJiYgc3RhdHVzICE9IGtOb01vcmVEYXRhRXJy
KSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJFcnJvciBk
ZWNvZGluZyBkYXRhIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGRlY29kZWRGcmFtZXMgKz0gbnVtRnJhbWVzOworICAgICAgICB9IHdo
aWxlIChzdGF0dXMgIT0ga05vTW9yZURhdGFFcnIpOworICAgIH0KKyAgICByZXR1cm4gZGVjb2Rl
ZEZyYW1lczsKK30KKyNlbmRpZgorCiBPU1N0YXR1cyBBdWRpb0ZpbGVSZWFkZXI6OnJlYWRQcm9j
KHZvaWQqIGNsaWVudERhdGEsIFNJbnQ2NCBwb3NpdGlvbiwgVUludDMyIHJlcXVlc3RDb3VudCwg
dm9pZCogYnVmZmVyLCBVSW50MzIqIGFjdHVhbENvdW50KQogewogICAgIGF1dG8qIGF1ZGlvRmls
ZVJlYWRlciA9IHN0YXRpY19jYXN0PEF1ZGlvRmlsZVJlYWRlcio+KGNsaWVudERhdGEpOwpAQCAt
MTM2LDY3ICszNzksMTMzIEBAIFNJbnQ2NCBBdWRpb0ZpbGVSZWFkZXI6OmdldFNpemVQcm9jKHZv
aWQqIGNsaWVudERhdGEpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF1ZGlvRmlsZVJlYWRlcio+
KGNsaWVudERhdGEpLT5kYXRhU2l6ZSgpOwogfQogCi1SZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmls
ZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQorc3Np
emVfdCBBdWRpb0ZpbGVSZWFkZXI6Om51bWJlck9mRnJhbWVzKCkgY29uc3QKIHsKLSAgICBpZiAo
IW1fZXh0QXVkaW9GaWxlUmVmKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBTSW50NjQg
bnVtYmVyT2ZGcmFtZXNJbjY0ID0gMDsKIAotICAgIC8vIEdldCBmaWxlJ3MgZGF0YSBmb3JtYXQK
LSAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihtX2ZpbGVEYXRhRm9ybWF0KTsKLSAgICBpZiAoUEFM
OjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmls
ZVByb3BlcnR5X0ZpbGVEYXRhRm9ybWF0LCAmc2l6ZSwgJm1fZmlsZURhdGFGb3JtYXQpICE9IG5v
RXJyKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoIW1fd2VibURhdGEpIHsKKyAg
ICAgICAgaWYgKCFtX2V4dEF1ZGlvRmlsZVJlZikKKyAgICAgICAgICAgIHJldHVybiAtMTsKIAot
ICAgIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzID0gbV9maWxlRGF0YUZvcm1hdC5tQ2hhbm5lbHNQ
ZXJGcmFtZTsKKyAgICAgICAgVUludDMyIHNpemUgPSBzaXplb2YobnVtYmVyT2ZGcmFtZXNJbjY0
KTsKKyAgICAgICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0Zp
bGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9GaWxlTGVuZ3RoRnJhbWVzLCAmc2l6ZSwgJm51
bWJlck9mRnJhbWVzSW42NCkgIT0gbm9FcnIgfHwgbnVtYmVyT2ZGcmFtZXNJbjY0IDw9IDApIHsK
KyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIHJldHJp
ZXZlIG51bWJlciBvZiBmcmFtZXMgaW4gY29udGVudCAodW5zdXBwb3J0ZWQ/Iik7CisgICAgICAg
ICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KIAotICAgIC8vIE51bWJlciBvZiBmcmFtZXMKLSAg
ICBTSW50NjQgbnVtYmVyT2ZGcmFtZXM2NCA9IDA7Ci0gICAgc2l6ZSA9IHNpemVvZihudW1iZXJP
ZkZyYW1lczY0KTsKLSAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1
ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVMZW5ndGhGcmFtZXMsICZzaXpl
LCAmbnVtYmVyT2ZGcmFtZXM2NCkgIT0gbm9FcnIgfHwgbnVtYmVyT2ZGcmFtZXM2NCA8PSAwKQot
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIG51bWJlck9mRnJhbWVzSW42
NDsKKyAgICB9CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBpZiAobV93ZWJtRGF0YS0+
bV9zYW1wbGVzLmlzRW1wdHkoKSkgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRp
bywgIk5vIHNhbXBsZSBkZW11eGVkIGZyb20gd2VibSBjb250YWluZXIiKTsKKyAgICAgICAgcmV0
dXJuIC0xOworICAgIH0KIAotICAgIGRvdWJsZSBmaWxlU2FtcGxlUmF0ZSA9IG1fZmlsZURhdGFG
b3JtYXQubVNhbXBsZVJhdGU7CisgICAgLy8gQ2FsY3VsYXRlIHRoZSB0b3RhbCBudW1iZXIgb2Yg
ZGVjb2RlZCBzYW1wbGVzIHRoYXQgd2VyZSBkZW11eGVkLgorICAgIC8vIFRoaXMgY29kZSBvbmx5
IGhhbmRsZSB0aGUgQ01TYW1wbGVCdWZmZXIgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBTb3VyY2VCdWZm
ZXJQYXJzZXJXZWJNCisgICAgLy8gd2hlcmUgYSBBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
cyBhcnJheSBpcyBhbHdheXMgcHJvdmlkZWQgZXZlbiB3aXRoCisgICAgLy8gQ29uc3RhbnQgYml0
cmF0ZSBhbmQgY29uc3RhbnQgZnJhbWVzLXBlci1wYWNrZXQgYXVkaW8uCisgICAgZm9yIChhdXRv
JiBzYW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgYXV0byBzYW1wbGVC
dWZmZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICBjb25zdCBhdXRvIGZvcm1h
dERlc2NyaXB0aW9uID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKHNh
bXBsZUJ1ZmZlcik7CisgICAgICAgIGlmICghZm9ybWF0RGVzY3JpcHRpb24pIHsKKyAgICAgICAg
ICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIHJldHJpZXZlIGZvcm1h
dCBkZXNjcmlwdGlvbmcgZnJvbSBzYW1wbGUiKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAg
ICAgICAgfQorICAgICAgICBjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qIGNvbnN0
IGFzYmQgPSBQQUw6OkNNQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkdldFN0cmVhbUJhc2ljRGVzY3Jp
cHRpb24oZm9ybWF0RGVzY3JpcHRpb24pOworICAgICAgICBpZiAoIWFzYmQpIHsKKyAgICAgICAg
ICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIHJldHJpZXZlIGFzYmQg
ZnJvbSBmb3JtYXQgZGVzY3JpcHRpb24iKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAg
ICAgfQogCisgICAgICAgIGF1dG8gZGVzY3JpcHRpb25zID0gZ2V0UGFja2V0RGVzY3JpcHRpb25z
KHNhbXBsZUJ1ZmZlcik7CisgICAgICAgIGlmIChkZXNjcmlwdGlvbnMuaXNFbXB0eSgpKQorICAg
ICAgICAgICAgcmV0dXJuIC0xOworCisgICAgICAgIGZvciAoY29uc3QgYXV0byYgZGVzY3JpcHRp
b24gOiBkZXNjcmlwdGlvbnMpIHsKKyAgICAgICAgICAgIHVpbnQzMl90IGZwcCA9IGRlc2NyaXB0
aW9uLm1WYXJpYWJsZUZyYW1lc0luUGFja2V0ID8gZGVzY3JpcHRpb24ubVZhcmlhYmxlRnJhbWVz
SW5QYWNrZXQgOiBhc2JkLT5tRnJhbWVzUGVyUGFja2V0OworICAgICAgICAgICAgbnVtYmVyT2ZG
cmFtZXNJbjY0ICs9IGZwcDsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gbnVtYmVyT2ZG
cmFtZXNJbjY0OworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCitzdGQ6Om9wdGlv
bmFsPEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gQXVkaW9GaWxlUmVhZGVyOjpmaWxlRGF0
YUZvcm1hdCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3dlYm1EYXRhKSB7CisgICAgICAgIEF1ZGlv
U3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBmb3JtYXQ7CisgICAgICAgIFVJbnQzMiBzaXplID0gc2l6
ZW9mKGZvcm1hdCk7CisgICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1f
ZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZz
aXplLCAmZm9ybWF0KSAhPSBub0VycikKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAg
IHJldHVybiBmb3JtYXQ7CisgICAgfQorCisgICAgaWYgKG1fd2VibURhdGEtPm1fc2FtcGxlcy5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBDTUZvcm1hdERlc2NyaXB0aW9u
UmVmIGZvcm1hdERlc2NyaXB0aW9uID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2Ny
aXB0aW9uKG1fd2VibURhdGEtPm1fc2FtcGxlc1swXS0+c2FtcGxlQnVmZmVyKCkpOworICAgIGlm
ICghZm9ybWF0RGVzY3JpcHRpb24pCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBjb25zdCBB
dWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNNQXVkaW9Gb3Jt
YXREZXNjcmlwdGlvbkdldFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3JpcHRpb24p
OworICAgIHJldHVybiAqYXNiZDsKK30KKworQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIEF1
ZGlvRmlsZVJlYWRlcjo6Y2xpZW50RGF0YUZvcm1hdChjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVz
Y3JpcHRpb24mIGluRm9ybWF0LCBmbG9hdCBzYW1wbGVSYXRlKSBjb25zdAorewogICAgIC8vIE1h
a2UgY2xpZW50IGZvcm1hdCBzYW1lIG51bWJlciBvZiBjaGFubmVscyBhcyBmaWxlIGZvcm1hdCwg
YnV0IHR3ZWFrIGEgZmV3IHRoaW5ncy4KICAgICAvLyBDbGllbnQgZm9ybWF0IHdpbGwgYmUgbGlu
ZWFyIFBDTSAoY2Fub25pY2FsKSwgYW5kIHBvdGVudGlhbGx5IGNoYW5nZSBzYW1wbGUtcmF0ZS4K
LSAgICBtX2NsaWVudERhdGFGb3JtYXQgPSBtX2ZpbGVEYXRhRm9ybWF0OworICAgIEF1ZGlvU3Ry
ZWFtQmFzaWNEZXNjcmlwdGlvbiBvdXRGb3JtYXQgPSBpbkZvcm1hdDsKIAogICAgIGNvbnN0IGlu
dCBieXRlc1BlckZsb2F0ID0gc2l6ZW9mKEZsb2F0MzIpOwogICAgIGNvbnN0IGludCBiaXRzUGVy
Qnl0ZSA9IDg7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1Gb3JtYXRJRCA9IGtBdWRpb0Zvcm1h
dExpbmVhclBDTTsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUZvcm1hdEZsYWdzID0ga0F1ZGlv
Rm9ybWF0RmxhZ3NOYXRpdmVGbG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1hdEZsYWdJc05vbkludGVy
bGVhdmVkOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQnl0ZXNQZXJQYWNrZXQgPSBieXRlc1Bl
ckZsb2F0OwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tRnJhbWVzUGVyUGFja2V0ID0gMTsKLSAg
ICBtX2NsaWVudERhdGFGb3JtYXQubUJ5dGVzUGVyRnJhbWUgPSBieXRlc1BlckZsb2F0OwotICAg
IG1fY2xpZW50RGF0YUZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZSA9IG51bWJlck9mQ2hhbm5lbHM7
Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1CaXRzUGVyQ2hhbm5lbCA9IGJpdHNQZXJCeXRlICog
Ynl0ZXNQZXJGbG9hdDsKKyAgICBvdXRGb3JtYXQubUZvcm1hdElEID0ga0F1ZGlvRm9ybWF0TGlu
ZWFyUENNOworICAgIG91dEZvcm1hdC5tRm9ybWF0RmxhZ3MgPSBrQXVkaW9Gb3JtYXRGbGFnc05h
dGl2ZUZsb2F0UGFja2VkIHwga0F1ZGlvRm9ybWF0RmxhZ0lzTm9uSW50ZXJsZWF2ZWQ7CisgICAg
b3V0Rm9ybWF0Lm1CeXRlc1BlclBhY2tldCA9IG91dEZvcm1hdC5tQnl0ZXNQZXJGcmFtZSA9IGJ5
dGVzUGVyRmxvYXQ7CisgICAgb3V0Rm9ybWF0Lm1GcmFtZXNQZXJQYWNrZXQgPSAxOworICAgIG91
dEZvcm1hdC5tQml0c1BlckNoYW5uZWwgPSBiaXRzUGVyQnl0ZSAqIGJ5dGVzUGVyRmxvYXQ7CiAK
ICAgICBpZiAoc2FtcGxlUmF0ZSkKLSAgICAgICAgbV9jbGllbnREYXRhRm9ybWF0Lm1TYW1wbGVS
YXRlID0gc2FtcGxlUmF0ZTsKKyAgICAgICAgb3V0Rm9ybWF0Lm1TYW1wbGVSYXRlID0gc2FtcGxl
UmF0ZTsKKworICAgIHJldHVybiBvdXRGb3JtYXQ7Cit9CiAKLSAgICBpZiAoUEFMOjpFeHRBdWRp
b0ZpbGVTZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5
X0NsaWVudERhdGFGb3JtYXQsIHNpemVvZihBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24pLCAm
bV9jbGllbnREYXRhRm9ybWF0KSAhPSBub0VycikKK1JlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxl
UmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCit7Cisg
ICAgU0ludDY0IG51bWJlck9mRnJhbWVzSW42NCA9IG51bWJlck9mRnJhbWVzKCk7CisgICAgaWYg
KG51bWJlck9mRnJhbWVzSW42NCA8PSAwKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAg
IC8vIENoYW5nZSBudW1iZXJPZkZyYW1lczY0IHRvIGRlc3RpbmF0aW9uIHNhbXBsZS1yYXRlCi0g
ICAgbnVtYmVyT2ZGcmFtZXM2NCA9IG51bWJlck9mRnJhbWVzNjQgKiAobV9jbGllbnREYXRhRm9y
bWF0Lm1TYW1wbGVSYXRlIC8gZmlsZVNhbXBsZVJhdGUpOwotICAgIHNpemVfdCBudW1iZXJPZkZy
YW1lcyA9IHN0YXRpY19jYXN0PHNpemVfdD4obnVtYmVyT2ZGcmFtZXM2NCk7CisgICAgYXV0byBp
bkZvcm1hdCA9IGZpbGVEYXRhRm9ybWF0KCk7CisgICAgaWYgKCFpbkZvcm1hdCkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gb3V0Rm9y
bWF0ID0gY2xpZW50RGF0YUZvcm1hdCgqaW5Gb3JtYXQsIHNhbXBsZVJhdGUpOworICAgIHNpemVf
dCBudW1iZXJPZkNoYW5uZWxzID0gaW5Gb3JtYXQtPm1DaGFubmVsc1BlckZyYW1lOworICAgIGRv
dWJsZSBmaWxlU2FtcGxlUmF0ZSA9IGluRm9ybWF0LT5tU2FtcGxlUmF0ZTsKKyAgICBTSW50NjQg
bnVtYmVyT2ZGcmFtZXNPdXQ2NCA9IG51bWJlck9mRnJhbWVzSW42NCAqIChvdXRGb3JtYXQubVNh
bXBsZVJhdGUgLyBmaWxlU2FtcGxlUmF0ZSk7CisgICAgc2l6ZV90IG51bWJlck9mRnJhbWVzID0g
c3RhdGljX2Nhc3Q8c2l6ZV90PihudW1iZXJPZkZyYW1lc091dDY0KTsKICAgICBzaXplX3QgYnVz
Q2hhbm5lbENvdW50ID0gbWl4VG9Nb25vID8gMSA6IG51bWJlck9mQ2hhbm5lbHM7CiAKICAgICAv
LyBDcmVhdGUgQXVkaW9CdXMgd2hlcmUgd2UnbGwgcHV0IHRoZSBQQ00gYXVkaW8gZGF0YQogICAg
IGF1dG8gYXVkaW9CdXMgPSBBdWRpb0J1czo6Y3JlYXRlKGJ1c0NoYW5uZWxDb3VudCwgbnVtYmVy
T2ZGcmFtZXMpOwotICAgIGF1ZGlvQnVzLT5zZXRTYW1wbGVSYXRlKG5hcnJvd1ByZWNpc2lvblRv
RmxvYXQobV9jbGllbnREYXRhRm9ybWF0Lm1TYW1wbGVSYXRlKSk7IC8vIHNhdmUgZm9yIGxhdGVy
Ci0KLSAgICAvLyBPbmx5IGFsbG9jYXRlZCBpbiB0aGUgbWl4VG9Nb25vIGNhc2U7IGRlYWxsb2Nh
dGVkIG9uIGRlc3RydWN0aW9uLgotICAgIEF1ZGlvRmxvYXRBcnJheSBsZWZ0Q2hhbm5lbDsKLSAg
ICBBdWRpb0Zsb2F0QXJyYXkgcmlnaHRDaGFubmVsOworICAgIGF1ZGlvQnVzLT5zZXRTYW1wbGVS
YXRlKG5hcnJvd1ByZWNpc2lvblRvRmxvYXQob3V0Rm9ybWF0Lm1TYW1wbGVSYXRlKSk7IC8vIHNh
dmUgZm9yIGxhdGVyCiAKLSAgICBBdWRpb0J1ZmZlckxpc3QqIGJ1ZmZlckxpc3QgPSB0cnlDcmVh
dGVBdWRpb0J1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CisgICAgQXVkaW9CdWZmZXJMaXN0
SG9sZGVyIGJ1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CiAgICAgaWYgKCFidWZmZXJMaXN0
KSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAidHJ5Q3JlYXRlQXVkaW9C
dWZmZXJMaXN0KCVsZCkgcmV0dXJuZWQgbnVsbCIsIG51bWJlck9mQ2hhbm5lbHMpOwogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAgICAgY29uc3Qgc2l6ZV90IGJ1ZmZlclNpemUgPSBu
dW1iZXJPZkZyYW1lcyAqIHNpemVvZihmbG9hdCk7CiAKKyAgICAvLyBPbmx5IGFsbG9jYXRlZCBp
biB0aGUgbWl4VG9Nb25vIGNhc2U7IGRlYWxsb2NhdGVkIG9uIGRlc3RydWN0aW9uLgorICAgIEF1
ZGlvRmxvYXRBcnJheSBsZWZ0Q2hhbm5lbDsKKyAgICBBdWRpb0Zsb2F0QXJyYXkgcmlnaHRDaGFu
bmVsOworCiAgICAgUkVMRUFTRV9BU1NFUlQoYnVmZmVyTGlzdC0+bU51bWJlckJ1ZmZlcnMgPT0g
bnVtYmVyT2ZDaGFubmVscyk7CiAgICAgaWYgKG1peFRvTW9ubyAmJiBudW1iZXJPZkNoYW5uZWxz
ID09IDIpIHsKICAgICAgICAgbGVmdENoYW5uZWwucmVzaXplKG51bWJlck9mRnJhbWVzKTsKQEAg
LTIyMiwxOCArNTMxLDMwIEBAIFJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVh
dGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAgICAgIH0KICAgICB9
CiAKLSAgICBpZiAoIXZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpKSB7CisgICAg
aWYgKCFidWZmZXJMaXN0LmlzVmFsaWQoKSkgewogICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChX
ZWJBdWRpbywgIkdlbmVyYXRlZCBidWZmZXIgaW4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMo
KSBkaWQgbm90IHBhc3MgdmFsaWRhdGlvbiIpOwogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICAgICAgZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KTsKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgLy8gUmVhZCBmcm9tIHRoZSBmaWxlIChvciBp
bi1tZW1vcnkgdmVyc2lvbikKLSAgICBVSW50MzIgZnJhbWVzVG9SZWFkID0gbnVtYmVyT2ZGcmFt
ZXM7Ci0gICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlUmVhZChtX2V4dEF1ZGlvRmlsZVJlZiwgJmZy
YW1lc1RvUmVhZCwgYnVmZmVyTGlzdCkgIT0gbm9FcnIpIHsKLSAgICAgICAgZGVzdHJveUF1ZGlv
QnVmZmVyTGlzdChidWZmZXJMaXN0KTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYg
KG1fd2VibURhdGEpIHsKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgICAgICBhdXRvIGRl
Y29kZWRGcmFtZXMgPSBkZWNvZGVXZWJNRGF0YShidWZmZXJMaXN0LCBudW1iZXJPZkZyYW1lcywg
KmluRm9ybWF0LCBvdXRGb3JtYXQpOworICAgICAgICBpZiAoIWRlY29kZWRGcmFtZXMpCisgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgLy8gVGhlIGFjdHVhbCBkZWNvZGVkIG51
bWJlciBvZiBmcmFtZXMgbWF5IG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIGZyYW1lcyBjYWxjdWxh
dGVkCisgICAgICAgIC8vIHdoaWxlIGRlbXV4aW5nIGFzIGZyYW1lcyBjYW4gYmUgdHJpbW1lZC4g
SXQgd2lsbCBhbHdheXMgYmUgbG93ZXIuCisgICAgICAgIGF1ZGlvQnVzLT5zZXRMZW5ndGgoKmRl
Y29kZWRGcmFtZXMpOworICAgICAgICBudW1iZXJPZkZyYW1lcyA9ICpkZWNvZGVkRnJhbWVzOwor
I2VuZGlmCisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlU2V0UHJv
cGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9wZXJ0eV9DbGllbnREYXRh
Rm9ybWF0LCBzaXplb2YoQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKSwgJm91dEZvcm1hdCkg
IT0gbm9FcnIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAvLyBSZWFk
IGZyb20gdGhlIGZpbGUgKG9yIGluLW1lbW9yeSB2ZXJzaW9uKQorICAgICAgICBVSW50MzIgZnJh
bWVzVG9SZWFkID0gbnVtYmVyT2ZGcmFtZXM7CisgICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmls
ZVJlYWQobV9leHRBdWRpb0ZpbGVSZWYsICZmcmFtZXNUb1JlYWQsIGJ1ZmZlckxpc3QpICE9IG5v
RXJyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKG1peFRv
TW9ubyAmJiBudW1iZXJPZkNoYW5uZWxzID09IDIpIHsKQEAgLTI0Myw5ICs1NjQsNiBAQCBSZWZQ
dHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUs
IGJvb2wgbWl4VG9Nb25vKQogICAgICAgICAgICAgZGVzdExbaV0gPSAwLjVmICogKGxlZnRDaGFu
bmVsW2ldICsgcmlnaHRDaGFubmVsW2ldKTsKICAgICB9CiAKLSAgICAvLyBDbGVhbnVwCi0gICAg
ZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KTsKLQogICAgIHJldHVybiBhdWRpb0J1
czsKIH0KIApAQCAtMjU1LDYgKzU3MywxMyBAQCBSZWZQdHI8QXVkaW9CdXM+IGNyZWF0ZUJ1c0Zy
b21Jbk1lbW9yeUF1ZGlvRmlsZShjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpegogICAg
IHJldHVybiByZWFkZXIuY3JlYXRlQnVzKHNhbXBsZVJhdGUsIG1peFRvTW9ubyk7CiB9CiAKKyNp
ZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dURkxvZ0NoYW5uZWwmIEF1ZGlvRmlsZVJlYWRlcjo6
bG9nQ2hhbm5lbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIExvZ01lZGlhOworfQorI2VuZGlmCisK
IH0gLy8gV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVURJTykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29h
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJD
b2NvYS5oCmluZGV4IDBiYmJiYTI3ODU3ZDk3OWVjYzY4OGY4N2YwMzM5ZjY2NWVmNDI1MjkuLjA3
ZDJjMGI5NDMyNzFiMDBkMjM1NTBmYjEzYTExMTEzNWMyOTBjOWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29j
b2EuaApAQCAtMzIsMjAgKzMyLDI5IEBACiAjaWYgRU5BQkxFKFdFQl9BVURJTykKIAogI2luY2x1
ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgorI2luY2x1ZGUgPG9wdGlvbmFsPgorI2lu
Y2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIHVz
aW5nIEV4dEF1ZGlvRmlsZVJlZiA9IHN0cnVjdCBPcGFxdWVFeHRBdWRpb0ZpbGUqOwogdXNpbmcg
QXVkaW9GaWxlSUQgPSBzdHJ1Y3QgT3BhcXVlQXVkaW9GaWxlSUQqOwordHlwZWRlZiBzdHJ1Y3Qg
b3BhcXVlQ01TYW1wbGVCdWZmZXIqIENNU2FtcGxlQnVmZmVyUmVmOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIEF1ZGlvQnVzOworY2xhc3MgU291cmNlQnVmZmVyUGFyc2VyV2ViTTsK
K2NsYXNzIEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhOwogCiAvLyBXcmFwcGVyIGNsYXNzIGZvciBB
dWRpb0ZpbGUgYW5kIEV4dEF1ZGlvRmlsZSBDb3JlQXVkaW8gQVBJcyBmb3IgcmVhZGluZyBmaWxl
cyBhbmQgaW4tbWVtb3J5IHZlcnNpb25zIG9mIHRoZW0uLi4KIAotY2xhc3MgQXVkaW9GaWxlUmVh
ZGVyIHsKK2NsYXNzIEF1ZGlvRmlsZVJlYWRlcgorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAor
ICAgIDogcHVibGljIExvZ2dlckhlbHBlcgorI2VuZGlmCit7CiBwdWJsaWM6Ci0gICAgZXhwbGlj
aXQgQXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSk7Cisg
ICAgQXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSk7CiAg
ICAgfkF1ZGlvRmlsZVJlYWRlcigpOwogCiAgICAgUmVmUHRyPEF1ZGlvQnVzPiBjcmVhdGVCdXMo
ZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pOyAvLyBSZXR1cm5zIG51bGxwdHIgb24g
ZXJyb3IKQEAgLTUzLDkgKzYyLDI1IEBAIHB1YmxpYzoKICAgICBjb25zdCB2b2lkKiBkYXRhKCkg
Y29uc3QgeyByZXR1cm4gbV9kYXRhOyB9CiAgICAgc2l6ZV90IGRhdGFTaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9kYXRhU2l6ZTsgfQogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29u
c3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsg
fQorICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBt
X2xvZ0lkZW50aWZpZXI7IH0KKyAgICBXVEZMb2dDaGFubmVsJiBsb2dDaGFubmVsKCkgY29uc3Qg
ZmluYWw7CisgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gIkF1ZGlvRmlsZVJlYWRlckNvY29hIjsgfQorI2VuZGlmCisKIHByaXZhdGU6CisjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKKyAgICBib29sIGlzTWF5YmVXZWJNKGNvbnN0IHVpbnQ4X3QqIGRh
dGEsIHNpemVfdCBkYXRhU2l6ZSkgY29uc3Q7CisgICAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvRmls
ZVJlYWRlcldlYk1EYXRhPiBkZW11eFdlYk1EYXRhKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVf
dCBkYXRhU2l6ZSkgY29uc3Q7CisgICAgVmVjdG9yPEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRp
b24+IGdldFBhY2tldERlc2NyaXB0aW9ucyhDTVNhbXBsZUJ1ZmZlclJlZikgY29uc3Q7CisgICAg
c3RkOjpvcHRpb25hbDxzaXplX3Q+IGRlY29kZVdlYk1EYXRhKEF1ZGlvQnVmZmVyTGlzdCosIHNp
emVfdCBudW1iZXJPZkZyYW1lcywgY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBp
bkZvcm1hdCwgY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBvdXRGb3JtYXQpIGNv
bnN0OworI2VuZGlmCiAgICAgc3RhdGljIE9TU3RhdHVzIHJlYWRQcm9jKHZvaWQqIGNsaWVudERh
dGEsIFNJbnQ2NCBwb3NpdGlvbiwgVUludDMyIHJlcXVlc3RDb3VudCwgdm9pZCogYnVmZmVyLCBV
SW50MzIqIGFjdHVhbENvdW50KTsKICAgICBzdGF0aWMgU0ludDY0IGdldFNpemVQcm9jKHZvaWQq
IGNsaWVudERhdGEpOworICAgIHNzaXplX3QgbnVtYmVyT2ZGcmFtZXMoKSBjb25zdDsKKyAgICBz
dGQ6Om9wdGlvbmFsPEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbj4gZmlsZURhdGFGb3JtYXQo
KSBjb25zdDsKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gY2xpZW50RGF0YUZvcm1h
dChjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9ybWF0LCBmbG9hdCBzYW1w
bGVSYXRlKSBjb25zdDsKIAogICAgIGNvbnN0IHZvaWQqIG1fZGF0YSA9IHsgbnVsbHB0ciB9Owog
ICAgIHNpemVfdCBtX2RhdGFTaXplID0geyAwIH07CkBAIC02Myw4ICs4OCwxMyBAQCBwcml2YXRl
OgogICAgIEF1ZGlvRmlsZUlEIG1fYXVkaW9GaWxlSUQgPSB7IG51bGxwdHIgfTsKICAgICBFeHRB
dWRpb0ZpbGVSZWYgbV9leHRBdWRpb0ZpbGVSZWYgPSB7IG51bGxwdHIgfTsKIAotICAgIEF1ZGlv
U3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBtX2ZpbGVEYXRhRm9ybWF0OwotICAgIEF1ZGlvU3RyZWFt
QmFzaWNEZXNjcmlwdGlvbiBtX2NsaWVudERhdGFGb3JtYXQ7CisgICAgc3RkOjp1bmlxdWVfcHRy
PEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPiBtX3dlYm1EYXRhOworCisjaWYgIVJFTEVBU0VfTE9H
X0RJU0FCTEVECisgICAgY29uc3QgUmVmPExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29uc3Qgdm9p
ZCogbV9sb2dJZGVudGlmaWVyOworI2VuZGlmCisKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNl
LmgKaW5kZXggYTFlNzFiZDUyMjMyMjQyNTcxNmM2YjllNWFjZWQwNmU1NTgyOTMzYS4uNmFlM2I1
Y2QxZjJlZmQ2MjM5ZmIzNGQwMTNhNTg3NzZmNDE4YzZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNl
LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdHlwZWRlZiBjb25zdCBzdHJ1
Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlwdGlvbiAqQ01Gb3JtYXREZXNjcmlwdGlvblJlZjsKIHR5
cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2FtcGxlQnVmZmVyICpDTVNhbXBsZUJ1ZmZlclJlZjsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCmluZGV4IGQyYjVhYzQ1
ZjMwZmQ0YTNhZjUxYjQyMGRlMzc2NDliMTE1MWMyMjcuLjcwZGMyNDg0YTVlZDY2ODg5ZmNhMzNl
ZTI5MWVjMTA2YTVmOWY5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KQEAgLTM5LDYgKzM5
LDcgQEAKICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRT
dHJlYW0uaD4KIAorI2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CiAjaW1w
b3J0IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNjcsNyArNjgsNyBAQCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OkF1ZGlvU2FtcGxlRGF0YVNv
dXJjZShzaXplX3QgbWF4aW11bVNhbXBsZUNvdW50LCBMb2dnZXJIZQogQXVkaW9TYW1wbGVEYXRh
U291cmNlOjp+QXVkaW9TYW1wbGVEYXRhU291cmNlKCkKIHsKICAgICBpZiAobV9jb252ZXJ0ZXIp
Ci0gICAgICAgIEF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CisgICAgICAgIFBB
TDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKIH0KIAogT1NTdGF0dXMgQXVk
aW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCkBAIC03NSwxNCArNzYsMTQgQEAg
T1NTdGF0dXMgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZlcnRlcigpCiAgICAgQVNT
RVJUKG1faW5wdXREZXNjcmlwdGlvbiAmJiBtX291dHB1dERlc2NyaXB0aW9uKTsKIAogICAgIGlm
IChtX2NvbnZlcnRlcikgewotICAgICAgICBBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0
ZXIpOworICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CiAg
ICAgICAgIG1fY29udmVydGVyID0gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAoKm1faW5wdXRE
ZXNjcmlwdGlvbiA9PSAqbV9vdXRwdXREZXNjcmlwdGlvbikKICAgICAgICAgcmV0dXJuIDA7CiAK
LSAgICBPU1N0YXR1cyBlcnIgPSBBdWRpb0NvbnZlcnRlck5ldygmbV9pbnB1dERlc2NyaXB0aW9u
LT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9vdXRwdXREZXNjcmlwdGlvbi0+c3RyZWFtRGVzY3Jp
cHRpb24oKSwgJm1fY29udmVydGVyKTsKKyAgICBPU1N0YXR1cyBlcnIgPSBQQUw6OkF1ZGlvQ29u
dmVydGVyTmV3KCZtX2lucHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0aW9uKCksICZtX291
dHB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9jb252ZXJ0ZXIpOwogICAg
IGlmIChlcnIpIHsKICAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cigqdGhpcyksIGVycl0gewogICAgICAgICAgICAgRVJST1Jf
TE9HKCJBdWRpb0NvbnZlcnRlck5ldyByZXR1cm5lZCBlcnJvciAiLCBlcnIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVy
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3Zp
ZGVyLm1tCmluZGV4IGUzZDZmYWM3MDQzNjk2ZmM3ZWUyYTkyMTVkYjIxYThmN2RmODI1YTUuLmEz
MmRmNjIwNDhkMzJkN2IxMzRkYmY1NmRhMDA3YjcwZWMyNDczZjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIu
bW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKSAmJiBQTEFURk9STShN
QUMpCiAKKyNpbXBvcnQgIkdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLmgiCiAjaW1wb3J0
ICJHYW1lcGFkUHJvdmlkZXJDbGllbnQuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQg
IlBsYXRmb3JtR2FtZXBhZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcAppbmRleCA0ZDhlZTYyZTAxYjhlYWViYWNjNmQy
OGIzYTA5ODUyOTUyYzVkODBhLi5jMDY2YzJkNDg3OTdhNGFhYjNiOWJlMmEwZWRkNGQ4MzhiNGJm
NWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1By
aXZhdGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFj
a1ByaXZhdGVCYXNlLmNwcApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShWSURFTykKIAog
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFW
Rk9iakMuaAppbmRleCBkMDNjZGM4ZGQ2MjU0MTYwOTlhNTM3MTM1ZWUxMWVjOTEwNzM2YTAyLi41
NDVmMGJlMWM1MGNiZmU0MTcwMTgwMzU2Zjg4Y2UzYzU1MmM4NmY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBs
ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMuaApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBpeGVsQnVmZmVyOwogCi1jbGFzcyBXRUJDT1JFX0VYUE9S
VCBNZWRpYVNhbXBsZUFWRk9iakMgOiBwdWJsaWMgTWVkaWFTYW1wbGUgeworY2xhc3MgTWVkaWFT
YW1wbGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2FtcGxlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwg
dWludDY0X3QgdHJhY2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9i
akMoc2FtcGxlLCB0cmFja0lEKSk7IH0KICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxlQVZGT2Jq
Qz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lEKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU2FtcGxlQVZGT2JqQyhzYW1wbGUsIHRyYWNrSUQp
KTsgfQpAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IHZvaWQgc2V0QXNEaXNwbGF5SW1tZWRpYXRlbHkoTWVkaWFTYW1wbGUmKTsKICAgICBzdGF0aWMg
UmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBjbG9uZVNhbXBsZUJ1ZmZlckFuZFNldEFzRGlz
cGxheUltbWVkaWF0ZWx5KENNU2FtcGxlQnVmZmVyUmVmKTsKIAotICAgIFJlZlB0cjxKU0M6OlVp
bnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
V0VCQ09SRV9FWFBPUlQgUmVmUHRyPEpTQzo6VWludDhDbGFtcGVkQXJyYXk+IGdldFJHQkFJbWFn
ZURhdGEoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIE1lZGlhVGltZSBwcmVzZW50YXRpb25UaW1l
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTWVkaWFUaW1lIGRlY29kZVRpbWUoKSBjb25zdCBvdmVy
cmlkZTsKQEAgLTU5LDE2ICs1OSwxNiBAQCBwdWJsaWM6CiAgICAgU2FtcGxlRmxhZ3MgZmxhZ3Mo
KSBjb25zdCBvdmVycmlkZTsKICAgICBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBsZSgpIG92
ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9uYWw8Qnl0ZVJhbmdlPiBieXRlUmFuZ2UoKSBjb25zdCBv
dmVycmlkZTsKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsK
ICAgICB2b2lkIG9mZnNldFRpbWVzdGFtcHNCeShjb25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZTsK
ICAgICB2b2lkIHNldFRpbWVzdGFtcHMoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1l
Jikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRlOwotICAg
IHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFTYW1wbGU+LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBkaXZp
ZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVzZW50YXRpb25UaW1lLCBVc2VFbmRUaW1lKSBvdmVycmlk
ZTsKLSAgICBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qg
b3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92
ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIHN0ZDo6cGFpcjxSZWZQdHI8TWVkaWFTYW1wbGU+
LCBSZWZQdHI8TWVkaWFTYW1wbGU+PiBkaXZpZGUoY29uc3QgTWVkaWFUaW1lJiBwcmVzZW50YXRp
b25UaW1lLCBVc2VFbmRUaW1lKSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBSZWY8TWVk
aWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAg
ICBWaWRlb1JvdGF0aW9uIHZpZGVvUm90YXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBt
X3JvdGF0aW9uOyB9CiAgICAgYm9vbCB2aWRlb01pcnJvcmVkKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gbV9taXJyb3JlZDsgfQotICAgIHVpbnQzMl90IHZpZGVvUGl4ZWxGb3JtYXQoKSBjb25z
dCBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB1aW50MzJfdCB2aWRlb1BpeGVsRm9ybWF0KCkg
Y29uc3QgZmluYWw7CiAKICAgICBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIoKSBjb25z
dCB7IHJldHVybiBtX3NhbXBsZS5nZXQoKTsgfQogCkBAIC03OCwzNCArNzgsMTUgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0Qnl0ZVJhbmdlT2Zmc2V0KHNpemVfdCk7CiAKIHByb3RlY3RlZDoKLSAg
ICBNZWRpYVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmIHNhbXBs
ZSkKLSAgICAgICAgOiBtX3NhbXBsZShXVEZNb3ZlKHNhbXBsZSkpCi0gICAgewotICAgIH0KLSAg
ICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlKQotICAgICAgICA6
IG1fc2FtcGxlKHNhbXBsZSkKLSAgICB7Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhD
TVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkKLSAgICAgICAgOiBt
X3NhbXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9pZCh0cmFja0lEKQotICAgIHsKLSAgICB9Ci0g
ICAgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0X3Qg
dHJhY2tJRCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9pZChBdG9t
U3RyaW5nOjpudW1iZXIodHJhY2tJRCkpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFW
Rk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJvdGF0aW9uLCBi
b29sIG1pcnJvcmVkKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAgICAgLCBtX3Jv
dGF0aW9uKHJvdGF0aW9uKQotICAgICAgICAsIG1fbWlycm9yZWQobWlycm9yZWQpCi0gICAgewot
ICAgIH0KKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENN
U2FtcGxlQnVmZmVyUmVmPiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9i
akMoQ01TYW1wbGVCdWZmZXJSZWYpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZG
T2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiwgQXRvbVN0cmluZyB0cmFja0lEKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYsIHVpbnQ2NF90IHRy
YWNrSUQpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1
ZmZlclJlZiwgVmlkZW9Sb3RhdGlvbiwgYm9vbCBtaXJyb3JlZCk7CisgICAgV0VCQ09SRV9FWFBP
UlQgdmlydHVhbCB+TWVkaWFTYW1wbGVBVkZPYmpDKCk7CiAKICAgICBzdGQ6Om9wdGlvbmFsPE1l
ZGlhU2FtcGxlOjpCeXRlUmFuZ2U+IGJ5dGVSYW5nZUZvckF0dGFjaG1lbnQoQ0ZTdHJpbmdSZWYg
a2V5KSBjb25zdDsKIAotICAgIHZpcnR1YWwgfk1lZGlhU2FtcGxlQVZGT2JqQygpID0gZGVmYXVs
dDsKICAgICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IG1fc2FtcGxlOwogICAgIEF0b21T
dHJpbmcgbV9pZDsKICAgICBWaWRlb1JvdGF0aW9uIG1fcm90YXRpb24geyBWaWRlb1JvdGF0aW9u
OjpOb25lIH07CkBAIC0xMTMsNCArOTQsMyBAQCBwcm90ZWN0ZWQ6CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2Jq
Qy5tbQppbmRleCBjMGYxM2Q2ZWE1Yzk3NTc2N2NlOGY2MmFiNjg0MmQ3ZDZmMGZiYjZiLi5jZjNj
MzQxMGEzOGFkZWM0OTU3Yzk3MTQyYjMyNDIyNGQ1YWZkODEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFW
Rk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tCkBAIC00NSw2ICs0NSwzMyBAQCBzdHJ1Y3Qg
V1RGOjpDRlR5cGVUcmFpdDxDTVNhbXBsZUJ1ZmZlclJlZj4gewogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKFJldGFpblB0cjxD
TVNhbXBsZUJ1ZmZlclJlZj4mJiBzYW1wbGUpCisgICAgOiBtX3NhbXBsZShXVEZNb3ZlKHNhbXBs
ZSkpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBs
ZUJ1ZmZlclJlZiBzYW1wbGUpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCit7Cit9CitNZWRpYVNh
bXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUs
IEF0b21TdHJpbmcgdHJhY2tJRCkKKyAgICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1faWQo
dHJhY2tJRCkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKENN
U2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgdWludDY0X3QgdHJhY2tJRCkKKyAgICA6IG1fc2FtcGxl
KHNhbXBsZSkKKyAgICAsIG1faWQoQXRvbVN0cmluZzo6bnVtYmVyKHRyYWNrSUQpKQoreworfQor
TWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYg
c2FtcGxlLCBWaWRlb1JvdGF0aW9uIHJvdGF0aW9uLCBib29sIG1pcnJvcmVkKQorICAgIDogbV9z
YW1wbGUoc2FtcGxlKQorICAgICwgbV9yb3RhdGlvbihyb3RhdGlvbikKKyAgICAsIG1fbWlycm9y
ZWQobWlycm9yZWQpCit7Cit9CisKK01lZGlhU2FtcGxlQVZGT2JqQzo6fk1lZGlhU2FtcGxlQVZG
T2JqQygpID0gZGVmYXVsdDsKKwogUmVmUHRyPE1lZGlhU2FtcGxlQVZGT2JqQz4gTWVkaWFTYW1w
bGVBVkZPYmpDOjpjcmVhdGVJbWFnZVNhbXBsZShQaXhlbEJ1ZmZlciYmIHBpeGVsQnVmZmVyKQog
ewogICAgIGF1dG8gc2l6ZSA9IHBpeGVsQnVmZmVyLnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vz
c2lvbi5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVE
ZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQppbmRleCA4ZWVmM2IyZWE2MDRiZDE5ODNkNzdkMzhiZjUy
MWE4ZDIxZjIwZWQwLi5kMWM4NDQ4ODM2NzQwZmRiNzVjNDBhYzkzZjdkZDA5ZDc4ZjAzMDAwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3Jl
RGVjb21wcmVzc2lvblNlc3Npb24ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCkBAIC0zMSwxMCArMzEs
MTAgQEAKICNpbXBvcnQgPENvcmVNZWRpYS9DTUJ1ZmZlclF1ZXVlLmg+CiAjaW1wb3J0IDxDb3Jl
TWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlvbi5oPgogI2ltcG9ydCA8cGFsL2F2Zm91bmRhdGlvbi9N
ZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGlu
ay5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9NZWRpYVRpbWUu
aD4KICNpbXBvcnQgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CisjaW1wb3J0IDx3dGYvUnVuTG9vcC5o
PgogI2ltcG9ydCA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9y
Lmg+CiAjaW1wb3J0IDx3dGYvV1RGU2VtYXBob3JlLmg+CkBAIC00Miw2ICs0Miw3IEBACiAKICNp
bXBvcnQgIkNvcmVWaWRlb1NvZnRMaW5rLmgiCiAjaW1wb3J0ICJWaWRlb1Rvb2xib3hTb2Z0TGlu
ay5oIgorI2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIC8vIEVxdWl2YWxl
bnQgdG8gV1RGX0RFQ0xBUkVfQ0ZfVFlQRV9UUkFJVChDTVNhbXBsZUJ1ZmZlcik7CiAvLyBOZWVk
ZWQgZHVlIHRvIHJlcXVpcmVtZW50IG9mIHNwZWNpZnlpbmcgdGhlIFBBTCBuYW1lc3BhY2UuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVk
aW9VdGlsaXRpZXNDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaAppbmRleCBmZWNlODEyOWJkN2Y3ZmRlZDZhODA0
YmE1MmY3OTUyNjFmZTY1ZDMwLi44NzEwNGQ4YjdiMzU3YzE2MGI2ZGNjYzQxYmZlMWY4OWUwYTZj
MjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgKQEAgLTM0LDcgKzM0LDggQEAg
dHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlwdGlvbiogQ01Gb3JtYXRE
ZXNjcmlwdGlvblJlZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIGlzVm9yYmlzRGVj
b2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBpc1ZvcmJpc0RlY29kZXJBdmFp
bGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVk
ZWQoKTsKIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVWb3JiaXNBdWRp
b0Zvcm1hdERlc2NyaXB0aW9uKHNpemVfdCwgY29uc3Qgdm9pZCopOwogCiBzdHJ1Y3QgT3B1c0Nv
b2tpZUNvbnRlbnRzIHsKQEAgLTUyLDcgKzUzLDggQEAgc3RydWN0IE9wdXNDb29raWVDb250ZW50
cyB7CiAgICAgYm9vbCBoYXNQYWRkaW5nIHsgZmFsc2UgfTsKIH07CiAKLWJvb2wgaXNPcHVzRGVj
b2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxh
YmxlKCk7CitXRUJDT1JFX0VYUE9SVCBib29sIHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgp
OwogYm9vbCBwYXJzZU9wdXNQcml2YXRlRGF0YShzaXplX3QgcHJpdmF0ZURhdGFTaXplLCBjb25z
dCB2b2lkKiBwcml2YXRlRGF0YSwgc2l6ZV90IGZyYW1lRGF0YVNpemUsIGNvbnN0IHZvaWQqIGZy
YW1lRGF0YSwgT3B1c0Nvb2tpZUNvbnRlbnRzJik7CiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlw
dGlvblJlZj4gY3JlYXRlT3B1c0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oY29uc3QgT3B1c0Nvb2tp
ZUNvbnRlbnRzJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0KaW5kZXggMDZi
ZDQ4YWUwZDNkNjkxMjUwYjhhMjc1N2QwMjU2ZDQ0ODU5ZmNjNC4uMGUxZWIxYjc5OGEzYzdlYTY3
ZWFiNzViYTM2ZTU4NWFkZDhjMTBhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2Eu
bW0KQEAgLTMyLDIyICszMiwyOCBAQAogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTWVk
aWFVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgor
I2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvQ29kZWMuaD4KICNpbXBvcnQgPEF1ZGlvVG9vbGJv
eC9BdWRpb0NvbXBvbmVudC5oPgogI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvRm9ybWF0Lmg+
CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlvbi5oPgogI2ltcG9ydCA8ZGxm
Y24uaD4KICNpbXBvcnQgPHd0Zi9GbGlwQnl0ZXMuaD4KICNpbXBvcnQgPHd0Zi9TZWNvbmRzLmg+
Ci0KICNpZiBFTkFCTEUoT1BVUykKICNpbXBvcnQgPGxpYndlYnJ0Yy9vcHVzX2RlZmluZXMuaD4K
ICNlbmRpZgorI2ltcG9ydCA8cGFsL2NmL0F1ZGlvVG9vbGJveFNvZnRMaW5rLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShWT1JCSVMpIHx8IEVOQUJMRShPUFVTKQogc3Rh
dGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeShjb25zdCBjaGFyKiBkZWNvZGVyTmFtZSwg
T1NUeXBlIGRlY29kZXJUeXBlKQogeworICAgIEF1ZGlvQ29tcG9uZW50RGVzY3JpcHRpb24gZGVz
YyB7IGtBdWRpb0RlY29kZXJDb21wb25lbnRUeXBlLCBkZWNvZGVyVHlwZSwgJ2FwcGwnLCBrQXVk
aW9Db21wb25lbnRGbGFnX1NhbmRib3hTYWZlLCAwIH07CisgICAgQXVkaW9Db21wb25lbnQgY29t
cCA9IFBBTDo6QXVkaW9Db21wb25lbnRGaW5kTmV4dCgwLCAmZGVzYyk7CisgICAgaWYgKGNvbXAp
CisgICAgICAgIHJldHVybiB0cnVlOyAvLyBBbHJlYWR5IHJlZ2lzdGVyZWQuCisKICAgICBjb25z
dGV4cHIgY2hhciBhdWRpb0NvbXBvbmVudHNEeWxpYltdID0gIi9TeXN0ZW0vTGlicmFyeS9Db21w
b25lbnRzL0F1ZGlvQ29kZWNzLmNvbXBvbmVudC9Db250ZW50cy9NYWNPUy9BdWRpb0NvZGVjcyI7
CiAgICAgdm9pZCAqaGFuZGxlID0gZGxvcGVuKGF1ZGlvQ29tcG9uZW50c0R5bGliLCBSVExEX0xB
WlkgfCBSVExEX0xPQ0FMKTsKICAgICBpZiAoIWhhbmRsZSkKQEAgLTU3LDcgKzYzLDYgQEAgc3Rh
dGljIGJvb2wgcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeShjb25zdCBjaGFyKiBkZWNvZGVyTmFtZSwg
T1NUeXBlIGRlY29kZXJUeXBlKQogICAgIGlmICghZGVjb2RlckZhY3RvcnkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIEF1ZGlvQ29tcG9uZW50RGVzY3JpcHRpb24gZGVzYyB7ICdhZGVj
JywgZGVjb2RlclR5cGUsICdhcHBsJywga0F1ZGlvQ29tcG9uZW50RmxhZ19TYW5kYm94U2FmZSwg
MCB9OwogICAgIGlmICghQXVkaW9Db21wb25lbnRSZWdpc3RlcigmZGVzYywgQ0ZTVFIoIiIpLCAw
LCBkZWNvZGVyRmFjdG9yeSkpIHsKICAgICAgICAgZGxjbG9zZShoYW5kbGUpOwogICAgICAgICBy
ZXR1cm4gZmFsc2U7CkBAIC03MSw3ICs3Niw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q01Gb3JtYXRE
ZXNjcmlwdGlvblJlZj4gY3JlYXRlQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdChPCiAg
ICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIGFzYmQgeyB9OwogICAgIGFzYmQubUZvcm1h
dElEID0gZm9ybWF0SUQ7CiAgICAgdWludDMyX3Qgc2l6ZSA9IHNpemVvZihhc2JkKTsKLSAgICBh
dXRvIGVycm9yID0gQXVkaW9Gb3JtYXRHZXRQcm9wZXJ0eShrQXVkaW9Gb3JtYXRQcm9wZXJ0eV9G
b3JtYXRJbmZvLCBtYWdpY0Nvb2tpZS5zaXplKCksIG1hZ2ljQ29va2llLmRhdGEoKSwgJnNpemUs
ICZhc2JkKTsKKyAgICBhdXRvIGVycm9yID0gUEFMOjpBdWRpb0Zvcm1hdEdldFByb3BlcnR5KGtB
dWRpb0Zvcm1hdFByb3BlcnR5X0Zvcm1hdEluZm8sIG1hZ2ljQ29va2llLnNpemUoKSwgbWFnaWND
b29raWUuZGF0YSgpLCAmc2l6ZSwgJmFzYmQpOwogICAgIGlmIChlcnJvcikgewogICAgICAgICBS
RUxFQVNFX0xPR19FUlJPUihNZWRpYSwgImNyZWF0ZUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25Gb3JG
b3JtYXQgZmFpbGVkIHdpdGggZXJyb3IgJWQgKCUuNHMpIiwgZXJyb3IsIChjaGFyICopJmVycm9y
KTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0zMjYsMTkgKzMzMSwzMCBAQCBzdGF0aWMg
VmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZyb21PcHVzQ29va2llQ29udGVudHMoY29uc3QgT3B1c0Nv
b2tpZUNvbnRlbnRzJiBjbwogCiBib29sIGlzT3B1c0RlY29kZXJBdmFpbGFibGUoKQogewotICAg
IHN0YXRpYyBib29sIGF2YWlsYWJsZTsKLQogI2lmIEVOQUJMRShPUFVTKSAmJiBQTEFURk9STShN
QUMpCiAgICAgaWYgKCFQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6Om9wdXNEZWNvZGVyRW5h
YmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICByZXR1cm4gcmVnaXN0ZXJPcHVz
RGVjb2RlcklmTmVlZGVkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQor
Citib29sIHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpCit7CisjaWYgRU5BQkxFKE9QVVMp
ICYmIFBMQVRGT1JNKE1BQykKKyAgICBzdGF0aWMgYm9vbCBhdmFpbGFibGU7CisKICAgICBzdGF0
aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9r
ZW4sIF57Ci0gICAgICAgIGF2YWlsYWJsZSA9IHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDT3B1
c0RlY29kZXJGYWN0b3J5IiwgJ29wdXMnKTsKKyAgICAgICAgYXZhaWxhYmxlID0gcmVnaXN0ZXJE
ZWNvZGVyRmFjdG9yeSgiQUNPcHVzRGVjb2RlckZhY3RvcnkiLCBrQXVkaW9Gb3JtYXRPcHVzKTsK
ICAgICB9KTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGF2YWlsYWJsZTsKKyNlbHNlCisgICAgcmV0
dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVm
PiBjcmVhdGVPcHVzQXVkaW9Gb3JtYXREZXNjcmlwdGlvbihjb25zdCBPcHVzQ29va2llQ29udGVu
dHMmIGNvb2tpZUNvbnRlbnRzKQpAQCAtNDE4LDE5ICs0MzQsMzAgQEAgc3RhdGljIFZlY3Rvcjx1
aW50OF90PiBjb29raWVGcm9tVm9yYmlzQ29kZWNQcml2YXRlKHNpemVfdCBjb2RlY1ByaXZhdGVT
aXplLCBjb24KIAogYm9vbCBpc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUoKQogewotICAgIHN0YXRp
YyBib29sIGF2YWlsYWJsZTsKLQogI2lmIEVOQUJMRShWT1JCSVMpICYmIFBMQVRGT1JNKE1BQykK
ICAgICBpZiAoIVBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6dm9yYmlzRGVjb2RlckVuYWJs
ZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgcmV0dXJuIHJlZ2lzdGVyVm9yYmlz
RGVjb2RlcklmTmVlZGVkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQor
Citib29sIHJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCkKK3sKKyNpZiBFTkFCTEUoVk9S
QklTKSAmJiBQTEFURk9STShNQUMpCisgICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOworCiAgICAg
c3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47CiAgICAgZGlzcGF0Y2hfb25jZSgmb25j
ZVRva2VuLCBeewogICAgICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJB
Q1ZvcmJpc0RlY29kZXJGYWN0b3J5IiwgJ3ZvcmInKTsKICAgICB9KTsKLSNlbmRpZgogCiAgICAg
cmV0dXJuIGF2YWlsYWJsZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAK
IFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVWb3JiaXNBdWRpb0Zvcm1h
dERlc2NyaXB0aW9uKHNpemVfdCBwcml2YXRlRGF0YVNpemUsIGNvbnN0IHZvaWQqIHByaXZhdGVE
YXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxl
dHZvcy5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3Mu
cGxpc3QKaW5kZXggYWU0ZWU0NTdhMjEzMTMzOGY2YTViNzVlZDc1ZjYzNmYzYTBmNTI2MC4uZjFi
NGFhYWVlMGIxNzE0N2QzNjVmYzFlMmJmNzc2MzA5OGIyN2EzYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0CkBAIC04Nyw2ICs4Nywx
MSBAQAogICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KICAgICAgICAgPHRydWUvPgogICAgIDwv
ZGljdD4KKyAgICA8a2V5PndlYm1fd2ViYXVkaW88L2tleT4KKyAgICA8ZGljdD4KKyAgICAgICAg
PGtleT5FbmFibGVkPC9rZXk+CisgICAgICAgIDx0cnVlLz4KKyAgICA8L2RpY3Q+CiAgICAgPGtl
eT5SQl9mdWxsX21hbmFnZV9XS19qZXRzYW08L2tleT4KICAgICA8ZGljdD4KICAgICAgICAgPGtl
eT5FbmFibGVkPC9rZXk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9X
ZWJLaXQtaW9zLnBsaXN0IGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5w
bGlzdAppbmRleCA2MjFjOTIxNjZjODkyY2I1NDFjZmE3NmI2MjM4MTU2NjhhMWVjMjc3Li41MGQw
M2NmYmQ3NDE3NThkYTkzZGYyNmVmODg4MzI4Zjc0NGRlMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQv
RmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxpc3QKQEAgLTg3LDYgKzg3LDExIEBACiAgICAgICAg
IDxrZXk+RW5hYmxlZDwva2V5PgogICAgICAgICA8dHJ1ZS8+CiAgICAgPC9kaWN0PgorICAgIDxr
ZXk+d2VibV93ZWJhdWRpbzwva2V5PgorICAgIDxkaWN0PgorICAgICAgICA8a2V5PkVuYWJsZWQ8
L2tleT4KKyAgICAgICAgPHRydWUvPgorICAgIDwvZGljdD4KICAgICA8a2V5PlJCX2Z1bGxfbWFu
YWdlX1dLX2pldHNhbTwva2V5PgogICAgIDxkaWN0PgogICAgICAgICA8a2V5PkVuYWJsZWQ8L2tl
eT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1tYWNvcy5w
bGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdAppbmRl
eCA2MjFjOTIxNjZjODkyY2I1NDFjZmE3NmI2MjM4MTU2NjhhMWVjMjc3Li41MGQwM2NmYmQ3NDE3
NThkYTkzZGYyNmVmODg4MzI4Zjc0NGRlMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Zl
YXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0dXJl
RmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0CkBAIC04Nyw2ICs4NywxMSBAQAogICAgICAgICA8a2V5
PkVuYWJsZWQ8L2tleT4KICAgICAgICAgPHRydWUvPgogICAgIDwvZGljdD4KKyAgICA8a2V5Pndl
Ym1fd2ViYXVkaW88L2tleT4KKyAgICA8ZGljdD4KKyAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
CisgICAgICAgIDx0cnVlLz4KKyAgICA8L2RpY3Q+CiAgICAgPGtleT5SQl9mdWxsX21hbmFnZV9X
S19qZXRzYW08L2tleT4KICAgICA8ZGljdD4KICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlz
dCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC13YXRjaG9zLnBsaXN0CmluZGV4
IGFlNGVlNDU3YTIxMzEzMzhmNmE1Yjc1ZWQ3NWY2MzZmM2EwZjUyNjAuLmYxYjRhYWFlZTBiMTcx
NDdkMzY1ZmMxZTJiZjc3NjMwOThiMjdhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVh
dHVyZUZsYWdzL1dlYktpdC13YXRjaG9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVy
ZUZsYWdzL1dlYktpdC13YXRjaG9zLnBsaXN0CkBAIC04Nyw2ICs4NywxMSBAQAogICAgICAgICA8
a2V5PkVuYWJsZWQ8L2tleT4KICAgICAgICAgPHRydWUvPgogICAgIDwvZGljdD4KKyAgICA8a2V5
PndlYm1fd2ViYXVkaW88L2tleT4KKyAgICA8ZGljdD4KKyAgICAgICAgPGtleT5FbmFibGVkPC9r
ZXk+CisgICAgICAgIDx0cnVlLz4KKyAgICA8L2RpY3Q+CiAgICAgPGtleT5SQl9mdWxsX21hbmFn
ZV9XS19qZXRzYW08L2tleT4KICAgICA8ZGljdD4KICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXggNDRiYTg4NTU1OWYx
MWIxMmI4YTg1MWQ3Njk5MTMyOWQzYjE5ZmYyOC4uNWE0OWZlZjA4OTQ4MzIxZjcwY2NjZjk2Njg1
YTY1NzI0YTkwYTI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApA
QCAtNDUxLDcgKzQ1MSw3IEBAIHZvaWQgR1BVUHJvY2Vzczo6ZW5hYmxlVlA5RGVjb2RlcnMoYm9v
bCBzaG91bGRFbmFibGVWUDhEZWNvZGVyLCBib29sIHNob3VsZEVuYWJsCiB9CiAjZW5kaWYKIAot
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKIHZvaWQgR1BVUHJvY2Vzczo6c2V0V2ViTVBhcnNlckVuYWJsZWQoYm9vbCBlbmFi
bGVkKQogewogICAgIGlmIChtX3dlYk1QYXJzZXJFbmFibGVkID09IGVuYWJsZWQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAppbmRleCA0OWMzZDc3MWJmMTc0ZDhmOWZkY2M4ZDI0
MWIzMTA3NmIwYzViNmFmLi41NmRiZmU0N2MyNzhjYmVmNGRkNTk5OWQ1NTdjOGI4NTY1YmM2MmM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKQEAgLTE0MSw3ICsxNDEsNyBA
QCBwcml2YXRlOgogICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGFkZGl0aW9uYWxTdGF0ZUZv
ckRpYWdub3N0aWNSZXBvcnQoKSBjb25zdCBmaW5hbDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkgJiYgRU5BQkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAg
IHZvaWQgc2V0V2ViTVBhcnNlckVuYWJsZWQoYm9vbCk7CiAjZW5kaWYKIApAQCAtMTk0LDcgKzE5
NCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2VuYWJsZVZQOURlY29kZXIgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9lbmFibGVWUDlTV0RlY29kZXIgeyBmYWxzZSB9OwogI2VuZGlmCi0jaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkgJiYgRU5BQkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNF
KQogICAgIGJvb2wgbV93ZWJNUGFyc2VyRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKICNpZiBF
TkFCTEUoV0VCTV9GT1JNQVRfUkVBREVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA2OTFkYTc4ZDJjZjkzMjhlYTc5ZTI0YzJkNjQ2
MjAwMzZiNWU0MjQ5Li40ZjAxOTY1NDNhM2QwNThlMDE2YzM5NjZlZGExNjQ3ZmE2MWJiYjI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpA
QCAtNTEsNyArNTEsNyBAQCBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsK
ICAgICBEaXNwbGF5Q29uZmlndXJhdGlvbkNoYW5nZWQoQ0dEaXJlY3REaXNwbGF5SUQgZGlzcGxh
eUlELCBDR0Rpc3BsYXlDaGFuZ2VTdW1tYXJ5RmxhZ3MgZmxhZ3MpCiAjZW5kaWYKIAotI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKICAgICBTZXRXZWJNUGFyc2VyRW5hYmxlZChib29sIGVuYWJsZWQpOwogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVl
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMu
Y3BwCmluZGV4IDMyMTJlN2FlMTAxOTU1MjY3ODdmZWI5ZDM2MGNmNjA0ZmM4MzNmYjcuLjFhZmU3
NjUwNzhjZWY1MTM0Yzg5ZjViNGZkZmJlNjE2YjJmY2VhMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcApAQCAtMzI4LDYg
KzMyOCwxNSBAQCBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKK2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKQoreworI2lmIEhBVkUo
U1lTVEVNX0ZFQVRVUkVfRkxBR1MpCisgICAgcmV0dXJuIGlzRmVhdHVyZUZsYWdFbmFibGVkKCJ3
ZWJtX3dlYmF1ZGlvIik7CisjZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsKK30KKwogI2VuZGlm
IC8vIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRl
eCA5MDI0N2U4YzFkMTIyY2E2ZmE1ZDg3ZTZmZmQ2YjcyNzk2MzczZDU1Li4yOWE0MDFkN2E0M2Y5
NDNhYzhmNGEwNzI4MzhkNzM1ZWU2OTY4YTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaApAQCAtMTExLDYgKzExMSw3IEBAIGJv
b2wgZGVmYXVsdFZQOVNXRGVjb2RlckVuYWJsZWRPbkJhdHRlcnkoKTsKIAogI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCiBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpOworYm9vbCBkZWZh
dWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpOwogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJv
eHlDb2NvYS5tbQppbmRleCBlZjU1MThhYWRiMDJkNWJmNWNiZjE2N2UxMjQwN2VlOTA3NDcxNWU3
Li5lYjJjZDgyNmQzNzNhZTVhZDk4MzQwMzU4YmQ5Y2ZhYjI4ZGI0YzNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQpA
QCAtMzgsNiArMzgsNyBAQAogI2ltcG9ydCAiV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW1wb3J0
ICJXZWJQcm9jZXNzUG9vbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25D
aGVja3MuaD4KKyNpbXBvcnQgPFdlYkNvcmUvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaD4KICNp
bXBvcnQgPHN5cy9zeXNjdGwuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2lt
cG9ydCA8d3RmL1Njb3BlLmg+CkBAIC0yOTUsNiArMjk2LDkgQEAgdm9pZCBXZWJQcm9jZXNzUHJv
eHk6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoKQogCiAgICAgZGlzcGF0Y2hfYXN5
bmMoZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZB
VUxULCAwKSwgW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gKCkgbXV0YWJsZSB7CiAg
ICAgICAgIENGRGF0YVJlZiByZWdpc3RyYXRpb25zIHsgbnVsbHB0ciB9OworCisgICAgICAgIFdl
YkNvcmU6OnJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgpOworICAgICAgICBXZWJDb3JlOjpy
ZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOwogICAgICAgICBpZiAobm9FcnIgIT0gQXVk
aW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMoJnJlZ2lzdHJhdGlvbnMpIHx8ICFy
ZWdpc3RyYXRpb25zKQogICAgICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1
ZXMuaAppbmRleCBhNTkyOTdhZjNmZGE1NWNmNTNkOWQ5MDgxYWI5OTdjNGY3YmU1NDljLi43MWFj
ZDgwODg2ODM1OWZlMTY4MWI3MDRkYTVlYTUwNzllMzY0OTYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0
VmFsdWVzLmgKQEAgLTg3LDYgKzg3LDcgQEAgYm9vbCBkZWZhdWx0V2hlZWxFdmVudEdlc3R1cmVz
QmVjb21lTm9uQmxvY2tpbmcoKTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiBib29sIGRl
ZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpOworYm9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxl
ZCgpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoVlA5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0gYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5t
bQppbmRleCAzNTJmZGM1ZTE4YWYyYzU4YjQyZmU0ZTBlN2NmNjczNzFkNjhjZTZjLi4xNmM1OTcy
MjkxOTcxZjE5OTFjNDBhZWE4MWQwZmZiZDZmNjU5ZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZh
bHVlcy5tbQpAQCAtMjk4LDYgKzI5OCwxNSBAQCBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxl
ZCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJs
ZWQoKQoreworI2lmIEhBVkUoU1lTVEVNX0ZFQVRVUkVfRkxBR1MpCisgICAgcmV0dXJuIGlzRmVh
dHVyZUZsYWdFbmFibGVkKCJ3ZWJtX3dlYmF1ZGlvIik7CisjZW5kaWYKKworICAgIHJldHVybiBm
YWxzZTsKK30KKwogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAKICNpZiBFTkFCTEUo
VlA5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGYzODljNDBjNjQ3YWNkZmJmOGVhMzgzMzBjZTEyNWEwZGYxYjA5N2EuLmQ2
MTJiN2YzYzEwYjk0MTJlMjhhNjVkMTlhYjU5YjA0MDdkM2M0MzkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OCBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisg
ICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOiBPbmx5
IGVuYWJsZSB0ZXN0IG9uIG1hY09TIE1vbnRlcmV5CisgICAgICAgICogd2ViYXVkaW8vZGVjb2Rl
LWF1ZGlvLWRhdGEtYmFzaWMuaHRtbDogZml4IHdoaXRlc3BhY2UKKyAgICAgICAgKiB3ZWJhdWRp
by9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL29wdXMud2VibTogQWRkZWQuCisgICAg
ICAgICogd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL3ZvcmJpcy53ZWJtOiBBZGRlZC4KKwogMjAy
MS0wNy0yNSAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAg
ICAgUGFydGx5IGltcGxlbWVudCBGdW5jdGlvbi5wcm90b3R5cGUue2NhbGxlcixhcmd1bWVudHN9
IHJlZmxlY3Rpb24gcHJvcG9zYWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggNjJmYzc1YTkyNzU4OTZjODM4ZmU5NTNjZThiZjQ4ZGQwNTY2YzEyNC4uNWQ5
MjUyZjFjY2I3ZGYzYTU5OTlmMGExYTZlNjNiMTFkYzY3ZGMwYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3NzAsNiArMTc3MCw3IEBAIHdlYmtpdC5v
cmcvYi8yMTQxNTUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9y
aWdpbi1lbWJlZGRlci1wCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSBtZWRpYS9tZWRpYS1z
b3VyY2UvbWVkaWEtc291cmNlLXdlYm0tdm9yYmlzLXBhcnRpYWwuaHRtbCBbIFNraXAgXQogWyBD
YXRhbGluYSBNb2phdmUgQmlnU3VyIF0gbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXdlYm0tb3B1
cy1wYXJ0aWFsLmh0bWwgWyBTa2lwIF0KIFsgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIG1lZGlh
L21lZGlhLXNvdXJjZS9tZWRpYS13ZWJtLW9wdXMtcGFydGlhbC1hYm9ydC5odG1sIFsgU2tpcCBd
CitbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13
ZWJtLW9wdXMuaHRtbCBbIFNraXAgXQogCiB3ZWJraXQub3JnL2IvMjE0NDIyIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW9jb250
ZXh0LWludGVyZmFjZS9zdXNwZW5kLWFmdGVyLWNvbnN0cnVjdC5odG1sIFsgUGFzcyBGYWlsdXJl
IF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEt
YmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2lj
Lmh0bWwKaW5kZXggYTMzM2I2NWFhZWY5ZGI2NGVkNTNmY2IwNTYzMWNmYzE1MTQwNTBkMS4uN2Yw
OGIyOTA1OTJjYzJmMzQ0ZmE1NjVmYjBkYWE0YjI2NmY4ODI5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sCkBAIC03LDcgKzcsNyBA
QAogPGJvZHk+CiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIkJhc2ljIHRlc3RzIGZvciBkZWNvZGVB
dWRpb0RhdGEgZnVuY3Rpb24uIik7Ci0gICAgCisKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKIAogdmFyIGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7CkBAIC0zNCwxOSArMzQsMTkg
QEAgZnVuY3Rpb24gcnVuRGVjb2RlVGVzdChpbmRleCkgewogICAgIHZhciByZXF1ZXN0ID0gbmV3
IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgcmVxdWVzdC5vcGVuKCJHRVQiLCBkZWNvZGVDYXNlQXJy
YXlbaW5kZXhdLnVybCwgdHJ1ZSk7CiAgICAgcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAiYXJyYXli
dWZmZXIiOwotICAgIAorCiAgICAgcmVxdWVzdC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAg
ICAgY29udGV4dC5kZWNvZGVBdWRpb0RhdGEocmVxdWVzdC5yZXNwb25zZSwgc3VjY2Vzc0NhbGxi
YWNrLCBlcnJvckNhbGxiYWNrKTsKLSAgICAgICAgCisKICAgICAgICAgZnVuY3Rpb24gc3VjY2Vz
c0NhbGxiYWNrKCkgewogICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VBcnJheVtpbmRleF0ucmVz
dWx0KQogICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5
W2luZGV4XS51cmwgKyAgIiB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNv
cnJlY3RseS4iKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJUaGUgIiArIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsICsgIiB0ZXN0OiBzdWNjZXNzQ2Fs
bGJhY2sgd2FzIG5vdCBjYWxsZWQuIik7Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgcnVu
RGVjb2RlVGVzdCgrK2luZGV4KTsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBmdW5j
dGlvbiBlcnJvckNhbGxiYWNrKCkgewogICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VBcnJheVtp
bmRleF0ucmVzdWx0KQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoZSAiICsgZGVjb2Rl
Q2FzZUFycmF5W2luZGV4XS51cmwgKyAiIHRlc3Q6IGVycm9yQ2FsbGJhY2sgd2FzIGNhbGxlZCBp
bmNvcnJlY3RseS4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1h
dWRpby1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9k
ZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0YmMw
MTA4ZDQ0Y2Q1ZjQ3NDZmNjk5N2U2MGM1ZTQ3MzU2ZmE0ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgdGhhdCBkZWNvZGluZyBhbiBvcHVzIHdlYm0gZmls
ZSBzdWNjZWVkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBTdWNjZXNz
ZnVsbHkgZGVjb2RlZCBjb250ZW50CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2Rl
LWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUt
YXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTc3MjgwMTI3MDBhZjNkNjgy
NGUyMDkwODVmNGRjZWUzNzhjNzBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
YXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKQEAgLTAsMCArMSwzMSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgZGVjb2RpbmcgYW4gb3B1cyB3ZWJt
IGZpbGUgc3VjY2VlZHMiKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIg
Y29udGV4dCA9IG5ldyB3aW5kb3cuQXVkaW9Db250ZXh0KCk7Cit2YXIgcmVxdWVzdCA9IG5ldyBY
TUxIdHRwUmVxdWVzdCgpOworcmVxdWVzdC5vcGVuKCJHRVQiLCAncmVzb3VyY2VzL21lZGlhL29w
dXMud2VibScsIHRydWUpOworcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAiYXJyYXlidWZmZXIiOwor
CityZXF1ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGNvbnRleHQuZGVjb2RlQXVkaW9E
YXRhKHJlcXVlc3QucmVzcG9uc2UsIChidWZmZXIpID0+IHsKKyAgICAgICAgdGVzdFBhc3NlZCgi
U3VjY2Vzc2Z1bGx5IGRlY29kZWQgY29udGVudCIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgIH0sICgpID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiRmFpbGVkIHRvIGRlY29kZSBm
aWxlIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgfSk7Cit9CityZXF1ZXN0LnNl
bmQoKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJtIGIvTGF5b3V0VGVzdHMvd2Vi
YXVkaW8vcmVzb3VyY2VzL21lZGlhL29wdXMud2VibQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODQ5NGNiOTE0YTdk
ODc0Y2IwMmViMDFkN2Y3YjYzNTkwMWM5ZDFjCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNTkx
Mwp6Y21jSiQxOXhPaylXI2R6Iz5CUjUrblUoNmpnRD5HIz42JXpIWVQ9aENwWjgxejVEPzh0bk9a
YFJgb2YoPnNRYS0KelVBM3pVTXtLKCZQZEYzK0VkMmNRejV7Pj4tdmdrODFCMmE3amNrUihldV5P
ZzVHPDdkYjZ9d1ZGMX1ZfXhoJDZzCnp4eX5xK3MkZ2BmM053e3pLKjlmKEZqUS07ZUBnJTRJLWBI
O1AqZXhhUmpMRGwxXiYxQU9Rckx0R0xVY287KHduNQp6cjE/TE9gflR6UEtkVHozU0wlWmhnJDNt
VFZxXns3JS1BXlRJb1JvJDcjVEgkez1hMz5oO1lGOyReV3Q5S2xBciQKenwxYXhTMEttP307aXhq
WGRxUntvYU09Skw7XnlvaVMzOHI/UCQ3SzxNS3UtbSR7PUk8ZUQlJj91JVJaUEFPT2cyCnpMTExD
NUliODdBO2VRQHhXQzk+R0U9KkV6YUNNZTZIOGNTUjtSRnVve0dYY3R4Q214QkpPN19RTH1BPClV
X1NiUAp6N0k0SWghbz1pNzZoeV84TVpeQlRoV182LTcjUjBPOFVIXyl7b25WSntKLXhfe2J7dUVQ
b3RTd1NwUkRecF5jQEgKentme1o7cWxJRWM7aTc4RkxhSV48QH1nbk1qRXZtPnlfbzEzOEdwWF4t
dnRDakFreU9Ne2RvKWtEaVZxVjAwOU1qCnpffCpEZU1UPmxAS1lzTio5VzZoeGtCUSpHd0s8VXxI
P311NklQNFc9VVV+Y2k8OzhGOSZFX25mbiZoUyZlb0VEeAp6YGYkJDNEc3J8NUhQbSMhTF42UGU/
QTA3NXhlUipvXktGNk1iT0QofnZRVnZpUmo7Xmx5IT95SUByfWheWSp+ZWoKelZtIWJrbj5FNGZn
RlJAU05WeVlBNVlRYlVEeDxyaW5SVGttLTIrc2A4QTBBNSFRNVJhKFJnazR1XjheOWA0U2xnCnp2
WEp9aGYyZCs8aD92YERMbykjTUpjPWBEPXw/TXEqT0NsUW1qPXZSRkElJkY3M3BLfjY8MEA0Mik2
aHBfc29DXgp6ZVN2Rn0rZEdpTlFiUnApKENtWHFFb1M4Wm95V0tHO1l5UVFSTns/JnNiaHcpY0l4
dTJqTmpRMlElKkB9aXBOLVoKenJAND99bz1zPShfekpSQHFffE9raykhKGdrWmZyYnE4eU9JaUUh
aVR4KDdLJiplPyMhJUtaaE90V01ZK3UqZGIjCnpZNnwkaEV0dlNJOzV3eCkrLSEqdTs3RT9qI2J7
I2lIVXtJYXUpMSpjXylpRFgxX2A2VntESD4tKl5YSlhZVD4lJAp6Z1RuV2lhNm8yRz9uTGlabmxL
I2ZGc2pSV1chWWFObENOd3d3QEJ+fDBFOGEhQT87aGckOCNyNmkyNSN1KkYreTgKemtZX1JnN21g
fn45dkRRcTkyM0t5Um91VHI9ckd6Sl5fME5WX3BhWntFYzE9b2xgfVNndmFYe28kez1iZ0U4ST1J
CnpLUGFJIXMxRyZ9eW9wTXtYSV51akJRcypJWWR9U2lZIVg2NE44VFckR2wkdzJxKzIkPEopRlgo
WClAdDxiV2MrSAp6WEZETX1ZYiZtMlF9cGx6MTw8Zip3UkxOKiZIZ1UlVUpANzsoQGtldEpCIypD
NClzeyg+WT9CYj1sPW9hQ1N4PU8KeiY5TTgyMWIhKVczfl96Xmg+XjklR3E/KW81Tj5uJWI+ezhS
YHdOeVBFfHFxJmVeTkVtME99ciUrLWJ4PmJ7SmQjCnpudFJ4bGtFS1dtOVJOZlhAYk5HRDhFbX5n
Zmt8WWFvdkVZVlBVcD4ydzNPP2VRZFhwJXJ2OCpnfEVpSS1BYUVhagp6R35tWTZae3tJans9PHpG
Jlk2M3NLQmlWcnJyJVdMam05RHtWTWlyR2B5ayU7WWU+KDdia1oqYHZHKHR7PiljWFEKejV0TmMw
NUJib1VHbnRibXpvXkZ8PFMwODlyKWN4OFJmO2d2RE1mVGZrfTttT3JlZ2VII0Jqcj4haCFKd3VH
aklVCno3cnxBcTwkaS03Mjx7R2A/Rn44QGo5c0U/QUBGYHZXKnpnPjNZPjV9KzRPPDhCaFVJbGo8
RlMxTnU2TVVrQiQ8Xgp6dy13QGhHeCtjRmlMX0FTVGdCKFVJcTBoPyo4VjN5ZUFUUHdYfUV4Qj4t
WVhoMj1mKU8kS3QqaWMreXtySk1ldy0Kekh8TlF8X0FDQ3VWc1gkTVpSbE5VQ2k3WDNSYT93clE4
cTxGWGFGRi1mUjl5ezBHOClEeDYmaER1NDd7aTVqUnRlCnokMFJrUTx3dTg/KyhEbHI4I3ROLXla
d2dfRUw4PDwod3QqXmRNak54blQ1Qz0meWphZ29pPEdtKlg2cXApbTsoPwp6Rm5AKWAyO1YhMktX
K0dibHVTZ3E+IXF5ZE9sQjd8aHF+JT43QHE0X2BFbH1MSVZyV0xvUVRScGp2aSktX0slMT0Keipm
cD9kYHQtMHxDNXFDb01QZnNlRz5oNkZqZUJYdnNFUlNCKDQ3O2BIeDdJe0w8X2wyZlpWZyVpKldY
NTlCMGo3Cnp4NEl8anpDUzxtYk0yX1UwLXtPeU4jNG4/N2l9Km8/KWQoc1hNbTxWTz1PZlpGdUE/
XnF+JXpvWmIqK21HZD9oZgp6NDljXkc+MyVhY2Y3eyRKPG9AQWZ7cXhxc3FhfUJVXyEjS1RRITUk
UGwhdFdtJWU9ZHlYaC11JSNreG9jNCo7YX0KemdONWxJRWZyOHF0bW8jNSpFU2cxTX5DTE82SzFB
YXRWJWVeanZgYDY8NDhrN0syb0hreilXdnNnfnBqRWlXNlZnCnp5YUNNajc8SGh3a3lYMDFoTCQp
WkpLM1kqOUpvYVhiMHpxKlJCNkI/QSMwaVB3NVNZXmU2P19POzlmRX1tdUJfJAp6VjcoYGcoOUBC
KjYhe1RTSW5yM3VfMChUPnQjZUJVTmZLfE1leSk4NTlKIyVZOE43JVpUV1RyNnhhcE88KHxMQWoK
ekwwTzt9VnliPklQRjVjSXhDIzwjNWIjPUxQZWBOU2NMWkMxUjckTHtnaGVabCV6JT1oRmwyamMr
T3ZqNSNDO3deCno8NiVBeVJ3Xip9I1diQVktNTNhe2h0bCpDKjVVYSNjYGhyY28jK0JBRUBST2JS
Kzc3ejc5JG8hOUtvVFRiVX4jWAp6NGZ2PzVkeHBKTT4oTWVhbEdnVT9YNyk/bUEzaV9zV2NuWVU+
MlJSNGFqS1drSkM0MyRFZGB6amFVPmRYVWFpIzcKeiRsc3B3JCNSXiMzO1ljcTA0ZTgwdWZZU08t
Pl53Mk54PUFaaG0yQDtQZzhzMjAkMjBGRzh8YXVUeHZrVz9wcTckCnpTOHg+blFhe0NBPVZURFFQ
Z2gwaEFxekB1UUprNEslbWViej5Ddm5kYVZXZ1gpbSlTUVBWTXM4VyNUTG9uVlkpcgp6O0R8SlZH
bjhTVGdmUUdGbkF4JTMhfkM9R2dMTGI3XkhsM3wqWW5pZkl6Pzd4WjJ8TV5xZW97SFR5cFc9PFVv
VGkKentNSzJaJWZXNz1wWUF2UUpBSTBZPWI8ZVZpO3E8T2BYYzlJWEp8NWZkSjFNR2IwT341RiY0
RSh7JSRPRyZTPHN4Cno0MCgkRWtOcm0xVGItN3lPQHxINmRHUmFxNWl3YVdjfS0wWkJlMislO1VB
X1NQTGZyVDVIPGtGXlM+fjJvYCglaQp6JndvODVuNmJxRD9eNGtUdWhAMmA4Yj50aC1HP3N+THBj
NGJIOXJeZTQpX3IoY0J8Pm4haSpneClQfjtEcnl2cGsKektWelBxMUY1aGU9bFNrSWdvRzJBYm5T
WjJZUiVzXzl3ZD9pXlVXJUFTSyl7THZMZHFVPyEoYVlUMyU8bnktU1hfCnpVS0k+Mzw9R2spcEx2
O3p7NHd5dFdgIUZLUllTRlIqb31fTG5ZTVdnMDF6JmApemZPZE08VT9jSnkkaURAIWAlQAp6RTxx
SjNeP1hZbElhdjA7RkF9S3pOQk4zTEE2KngldT48eVNWYWYtJWAhPE8kOyU/Qy1kQkFpLXF+P21v
IUNCN3UKei0oPHloNmw7XnxFeFJpUU1jKU1SVStCQGQlbkJ3ezcjRHRSQHhPTnZaO3lMcTdVVnNV
NiFIe307QEpGP2klQk12Cno4aFpKbHdqbnt0Q1ZuKTczam03d1Bjc0xNWlIldzcwcmY7TGY5U2s3
RzF8ZWJyaUY7RVBiNkpTeVF1el92eCVEVwp6KS0jQHZfN0c/KSVlZzJSUD5CT2BCbVIhIVpIezRB
Jl41X15NXnhLRiNrJGpUejQ1TypLJlVuWEtvcDM1NF5CaEMKelpwdDF4I3I/c34tME9WSXhsdGw3
aH1TLTw0el5wXzItfHV7KkdxdzBQfXMlSDJidnYjO0AyfHRWbWhEWG0lWWh3CnozVmV5aUxfJWpp
YTQ3LTFsfjBFe2N+fF5HaHEkWGFMYiFBYSM9UnFWWnZmK2hTODZgaSp1N3BVUUBGa1M2PDVJPgp6
azsoUmwmRDB5WF9KaUVNR0JoMz5QcnNFZzN3V1VsTSNVSjJUPVhwbl5HaS13TzdZVFlhTFZHbUAw
TVdxQVlSfCQKek5meXlaK3QqYkRLXzY/RSN7UHpxY0k+fEl0Z2N1anQpUUhMbzB5I1dWRTshc0tY
ZUx5PXJGdEJlMnMmSzReSlN8CnpOKjZjRXhxM247QWxTVTxuTF82ME93fnR5NnEpYTJ5fjVJSlor
USlVc0htJnI1PEZhcj1jY28yU14xe3pJc2hwcwp6SV9HPTAwaFFsezIycFJ5UF50al5MREFaXz02
JXFjQ3MleU1kaUdIKilIfXJAR0tCQlVOZ201a01HUUF0QUVURVcKejk/bFVXUkdGSVNAVFVJZXlK
Zi02R1RpR29jRWRpVWt0X35Mdi0/ZkQjRSllUmhvY2dfOzZBeW9HNiFJYV9jU0VkCnpJUnlRWHhO
SmZLVGAtJjNNN3ByNz9uIW94Rn1IQnp5TWEoM204SzBiU2k/MW1hMTVoM3Y3ZX1NJGc1TmokNGlF
bwp6MiFVdXkhVFNvTz8pVkxfT0Z9WGVwKj9OUWc3cTZlU1V7O2VjUUpeRyg5NkhiWD85U008PVd3
cWNQb2NKe1NUOXEKejBYcUI9MkM5OUw1SFNGI2BOeXdmbnkzbldZWiNyIUBnNmk1Y0p9entRaztq
fTAqRE5uKHVGaVpaPFdRKHohIWdVCnojT25pNXoydiNpckpXJipCVC12JitqTGpRT3JsUV9XSHd6
MCk7dkYwPipLK1dTfiVMRSlsdXdnb31BeGhBPUtgewp6KWZ8bT9PUDdaI1NqcjQhYEF4WEEmfmpZ
WjYhRm8wYH4wYjJ6d18wTm5yeX1xQklMdEVqUUkyQ2ErQDs0UXMoVUEKeiRzZVFadkt3UWNeKSl0
aUBLfndVQ2U1eFohaV4/UFNEQXd7ak8jZkxxQmoxXnIpUTIjI0ZpeHdrQk54ZnYxKSk9CnpOJUM2
S2h1NUZBMiYtTSpXQj5+QypPV2dwTWImRzghZHJQajxYQjk8OWAxbTZfRD9pLVVSSnk4OUxaMGhN
YUV9Jgp6JUUyK05kWXVDO0coWm80ZVc5T3omYnY9bCpGdjZmOXU2cjhEMXpCQyFaMzI8cjwkLVc1
fjJuR2pSa3p7ZSVKa0IKeklRYnk0SVBlZjQlJFE5PCgjVjduQkBpYE05KkUyUEwrO2ZCJnJNKnhX
VzFYXz97VTdtPU97e3lnQU5fS050IXBNCno/SjcjOG1wPTk0bCFPIV90aHI4UEtINkl+WUo/YHxm
IUhiM0UtU2EpSkNPZnpaWnAka0VpXzg/TGZlfTNtcCs7MQp6aDJzJVJAYXgleDxtemFWRXJoTiQk
JVc7VXBtOyQ+YHhVcExpYT0wK1dmcGp9RkRgfT9ffmhLTkdVI09gN2JifWkKekJKWlhEJmljYXU1
dD1tWk9AdmUhTHZ6aGc4SSRwSzFfYDRidyE5VXBwVit1T2Q2PUtnQVhZNFdOU3cpdl4yVUsrCnpa
U34+c2dEfGclRl5QPUpOTkNiNnFMWj0zRiM+Z0BXX2RKRXUxa058X19QbTlVKnxPTEpPM21IbzQx
dyt4cClxagp6IysoRGwzfjJsRUlqNEx6VTtXT2tVJEAoQmYyeFl2ZXU2c2RYVyZCdDBOTT1ySUZe
aFEheW9DRElfeWcqVm1eNzgKejlgXkp+LUZrc29KJktodCpQcUNyR2pnUm43Y3UkRFNvSzxtNyFA
TEpQamRlYjs8Vmd3PDA3YDJCQWchKkh5PGptCno7c3RRKW9Fa31oYH1IMFFtSHk+ZEpaRHZuKnNG
bEhMXkZjP1Vfcmc3NnJhclY9fj9EJUxfeXZzUSZTaCNtbWVjIwp6KWtRcE9WQilHTCN2cEN8bTw1
a1gtY0NCczdGMFUwdDdkR3RFIShhXm1rPytqe3t9bEgqRkc0clh7aGNAUkVZMjIKempxQlljJGkr
YUFfZkBNI15KTFgxOz1UR2NKWVNTZ3lIeVZnQ18qXzh7UGcxfEEjT0dxS0c9e3dsUnZ+SURDVWNJ
Cno8VGgjV3I+cSZReCZRUVFIVFh+eHV1Un5wWiV7a2U8Sm5LTXVOO0hGNlVGQUZ3c2Z8JCZMPnl0
PXhjJVZEZDNhPgp6SVdeP0ByZGxOWHtXfWMhMU5EYSNCPj9DKTtOJDI8WHNLVDxpTmpiNVl7JXZB
Rn4tOFAqYWlzY2V4Kkc0T1B9azgKelBOTFV2YnczbSlUYFAqTnFlPD1WbElqcUBpOHY9NW8hdjZC
WDFeXkxNcHxwRlJ5ZGozSCVvMTY8ZnJ+KnU/Wjs8CnpiRF4rRUB9ST1WYnlNY056UU8kJnpuQUhF
SFJWVHgrVUluWllGTTJAViNGK3sxKzRqVFJJdjhQQ3Faei08eXE+JQp6UGdgUz1wKCl9PyZeZl9m
U2RqaTVPKG5TTHlpI2VLbCRobGdnMyNqaCNGQ0xPcFFJMEM4MVMlQT4lb3BXJWNCQ08KekReNUx0
MG9oP3RAeFR7VEU+N3NeJUA4JV92QFN0PlZfYTt8IyEpRmFnVW4hOWRsUSRLI3RTI2FiZD1ZWl8p
Nk9FCnpLVjJIJT51cTNhNWJLOVBLMCg/JlY7Qm41NHJ0bGcmdjJ2WXtNVTFncExiV2dSKEJIUy08
aDxedEw1VUs3RERaVgp6S1M3KVowMVc7a0R2aWFkLW99WXIrZ21PVzBjWkBgV2tCbGdjPSlIU1E7
a2FaUENlSzEkQ1Y0XjE2R0NhMXtPLVIKellfJjhTamtSfGNRS007fDtje2JXUGVfaVFCbzJ8S3de
UlkqVXJBTEBjcWlBMTRVSncoYzNJe0NvKCVuQTRINnk2CnomVylqTDA9NCNPJH55NVAyUFRtQDFu
ZVU7S0RNYEVNX1c8a3FvXzFxPE0mWTRtJkJ5PjsxYFdXbzhrNDlOWWctRQp6P3dZaHpKUWFna0tA
bTk/SU4lVEB5cTJgQDJwKlJUZ1ZLVlNqdCM0cHtxXn5sMzxRUkNeIT1TbFNQVi1tKSlLSnUKekpO
T3pBQStyMnMrSUkpJmlPbH01ZTAwQ3dQPCh0KGhCRGcjb3NoViVDUWdPUTI/K3dlJiVlelhFekJQ
amhVTHxBCnokOWVJPFlMZnolOVpUP2pSRD9QezZjSXM5TE94SHRPbyNSQ3dXZTYqPnB+cUpZMm91
ZXVzYHZOMzs+TSVMcmNWKQp6YEdtSG8qcVd9ant6OUh0SE1nKWBnU2Nud3RMaSktRCpvRjF1Znox
ZFFqNEI8TFBtYEVGXjNQd0xKeWpQYj5MZTUKemxUKn4kX3AyUzlwcDNoZXBgRn1AQmAkMHF0OX12
KGpwKXBCN3wtJENWZVBQSzh0Xk8/c3pOTmo9UT9sNSFUI2prCnorPShZZHc3MD9mclB2RDdBN3hV
dHdwa0h2MlUmeiVNRkNhP1oxeHFhbE1AeDQ/eUB9PmBuUihpTz87dF9uMkdwXwp6UmI7V1hgU09r
U1ImWSo9THVUdz8mKjtRPF4pTEg3a1olSUl2Qk90fVBxalMqRG1GblpVeVZhWnVkb1NDbTZtLTMK
elIxPWR6anhaSVI1Pio2NXdlRjlBWH11QXFXOXw1fkpFP3I3PmhxU0BAbj8hclp7ezNNWCNCbjVy
YkU4ZT4tZ1V+CnpOTkh2I3ckKGRMbGV6SlpjJWFgISQleSl2bk5HJDNJVXEzcm5DP0dMMjNGelE8
N0tybGUoOH5KczA+byFjakZXMgp6PDReKHdKa2JJRnsrdDZqa3ojdjZEZWYoV2RrUWFWRkNAcjxR
U1NteiNXMmRlcUx+fShEMUkxWGpkSWduKnBpNioKeko4NT8mUHtjfm8+Unp9KUohalVmPyR0eXdm
ZVZzU2FXYUhfeiRZcT9KYkM2WSMjbiV7TSQjeSYmaSEtJHNgTH10Cnpgd0pDcC1uNGIrTCNtNi0+
YE91cGM4eUczeHFGNXFQQmx6IzZYV242THozfDZqPWB6KilxampTS31ybmApZTdHMwp6TXJKeXtY
Tnh8QExATWtLaTghazc/WiFRdjV7LUs/bkV7Mn5QRVQ9WFdBSEN+VDY4SExfd2dvIWtXWFdBTVVj
U2cKel5XRzZmPCpkMlg9VjtfenFeRWdjWHFWUn4/LURHPiRoJSR9YH5pWWJ4WXctRmdnaERPWHQq
MjVHT3ZtJkl4ZSheCnp0cX1CbyNVJTchSlRITXZsST4xeShpUFdwOU0kbHJKNilYekZKSyU+bG40
SX4mbVJsPytVUSt1K3VpMGdrezs3Mwp6I0hIcEshVHlSJHpzRjVHdDUjc0Y8R1ZnfmtEU1FzTEo2
U2JneiZ6WnJ0MHR+PGM2dypoYnZtNEhUTj8pI1FSN24Kek9AI153aGNPY05TV2tqR1ZrOyhzU1Io
Q3M2QlVBKTl8P2BmU3dyRzZ2KEpCWE1XQntvYHZSM34oP3ZWKmg7P0tFCnp3X2RVYjR8SDsrJFIl
Y2Q0VSRyYGVENUE1TSk0bSEjKGd0dC1QcXZzRDdEJWdsaUEwbUdXUyRWdWpaVXc8bXtmVAp6e3lQ
TTY8aHBhdEhlTnBjO2BfS3pKel9WKndQJW58QEc7JS17dHRTbDB0TGRjOU57IW5zR3NiJWNtdzQw
T242UnwKemQmISlqS2gmeyQmSHwre1Y7TW43KDMte1ZSUSlTaHM1QVk+cylSezYjXmdWekJMQEpo
e1RJejY5SGFMOEc0OV47Cnolaj1JdEBLK1ZqbTZXMVdoJHw3I3grfVcmN0cjP21mVlltfVF0NE5f
X0l7flJ7PEZsLS1naUtnVkZIPjNXWV50aQp6KG9+NHlKWFNhX2dDc25pUG17cTw2Q2IwZilhdiM4
OD0pS3hYN3w0ITc5PUJpRHsyMXMzQFIlYjRadz5JS0AjfUQKektSdm0qMkFRVXw0SzwyTG9Rakw0
NiZ1MSVSRH5IT2lmTjdqQlZTOFghQFh4RnIzU2FTTys5TTgkZmxNamNXU193CnpJPFolPkZmUHhm
dEYxKnV5NkI7PDFTTWIoWGJLcT9xKCRxfTlPbmhidFBtRjxqdDlTYmhHZitKUSpVV0hCcm5+Jgp6
WXc3WDJ0YlNoJHkkbllENVZaYGFGT00yeThpeXJNX1h3SDRPe348X2cxcV5RSW1Ha3p0T2otZ3Rl
MUJPSlM1KkgKemg3dzwlMihuSkBAQnwofHd4UHtBPSljaHYyPntzZzJoPncxN0VrbXxmJVhnKG1e
UnRwTGd5Pno/PlQka0k4dVY/CnpXWVl4KFgoRjl6cCU/QGU7TTU+e0k+eX45QXxIVnVFenYpWT5P
KW5LK3ojPk1wRXgxUm5OI3AkWG8tfilzekxtUgp6WnpIUFApJXxFcXllYHJ1TEohaCZ1OX5oYlY7
NiFNbSV6SChva1Zvdm8jSGBnI2djT2soeXR8Rms/NVBHUHxOWlcKenprITdFNHcxKkd6VktQYi0j
NFRESkN6RWFDMF9jTit8elU1eDFRUXpXdG8leEx4NUM1TVFiIURDSmFRKTVmalFuCnpCXkwjdGlQ
NyVnaTYrNEYkNCM/c0goIUdLdk99IXMkdTtINzB+eEB2eEh1Qm5oVDJITjIzPUpXbGpEbFE2Xlgm
QQp6RXxQPksjQiFpVTtmczRmJCNhTl5xUDxqeWk/aiNzQSFiclZVcXxveEJQTCNDSUlacD5yajdK
ejVIZURNcDlnO14KejtSMWt0ZTwrPTl1WUAxcnJgQEJuYVQtTWgtUlVAZSpBTkU7Nl9ESURCYXIk
KCR9Ujl9TVVCSz4zVFRqa0x8SDNCCnpMS2c7QWltcDYlTThPZWRHY1pIUEF9czI7I2kqK0JUYU1e
ODZKKjNDdWFPPVVtVytoYnRgSyZ8KlkjQkZFemUqUQp6SGt2dzd6ZWxJU29CTUo8IW1mSH1ePz9h
NWYkaUZALVU4a3otK3JRezg4cGQmQ3JrfUNfLWdwS0pZbykpbEJVNHUKekt9WHNIeU9QQkcqQ2BO
dUx7SihEdVhRZ0FMYjlwN3N2Pj5YOFVnO2lCKThLSDhvTT19eF9wYH1kN1ApYl9faElGCnowYi0w
PnUtWjRQSkt6cmFQPT1TZldGeUc2QTVDQFRXPGZrPGx8MDQ8dlRrWCZaT1F7UldpYnNCX2p1U1dt
MC1BOwp6dm5xJUM0SUlyVTlwJlM3ZDVheDNyOT9YYV4xdGpfSXstTjBDK1ZIRm10IztYI0hEJH5P
dkx9Pj9Uc1N+Ti1HNkkKel90QHN+YFo2TnBkS1NMaG9ed3o0Ny1JRGc7Uj5LPTVaY2FQMi1eOHdO
TDBIdVhhK3B6ViFycTI3TXpDRiZ3ZF9aCnpJTiFRJXdXWEplWll3RjtLWWBUKi19elBuSl9PTWc+
ejkwMj5wMEg/eWNUREgtPHtyOGJCUHNjdHI0QldqeXxDMgp6Jk8pek1EanFJLTA7ZGQmTWA4NFpR
IWhpST9WUF84K1p9dyRvSTglNGhnO247Sl91TTw3JTk8Rk0lMyU7SF9DViQKejI5SiNkYWpHY35a
KShockdUWCsjYWhFa1J4VD45bnNObFh7NjtkbDR3P1kwK185TUx8dGBjS35TRDBJfk9IejMmCnpk
X19pRHc/OE1DRWoqSjYmODcjUmx1Sys2UDhGR0lsVG9CaVBrYXxvYEFwcm5AdnpoZiQ8b0YhUn12
NEQ8aU97aAp6PUF4RkZINGNvbEIofiZVNUh4eTwxJXtuNnZKdThHXlpEanJQTj5CN0k7aG92WWcx
NTwqVTBSUTg5KFo0MD9NPmkKekc0RExRIy1AI3V5aUpnKmg9I1E7d0QhWD47OFB9KGR4Tnh0I2Zu
VnpmOUE1YzAodSFmNW5nfk5WJTNtNSllVjtOCnokMWBHem45KFdJSiUwcG5ZVCEhIVgya0pwRjhn
LVg/cDVKPkFveHB0aWRAaXMtdXd6eihzQ3ZabFhtT2BJI3dpOQp6MDAxdWVROHVuKjF2THYpQlJo
QGZeRF49PnhvJmhkIUBHP2BNYytYKVhVOTlTUipDdD5KUX1Qd041Vn1RV08zYFEKeio5PFpIdXMr
TmltLTw2MFNDIytBVHJgPEBFSW09cnVVQyg0SHpLczJCT1lpMDYpMjlgOWdZfWJMZCFlKSp8Ryhq
CnpOZSF7U1d7QkNWQ3JwQF9KMXM9LSlIUV9QIzhQekJSJnQjeUUjQnNKRmxJfXQqek13JXptUjhl
ViNhNUBmQDk1QQp6Ykc3dkUxdT4oTnpEIzMyUmxMbDtvMV5XN3hlQytadiQ9ZCo+QT5DZUJzalhp
bV5jNT5xXy1BJXpAfjxXPCNhJSUKelNyREN0S3NiYFg+P1QkRHNLdzNiWX4jfWc/b0l9cSVTKXU8
MzRPa09sS1NiYSRnKXh0UyZrTS1YRTtwam9jcV9uCnomOHB5NVRpTysjPXF1cWtKZllobjQzSlZf
KHBTN3dweGdCQzxCMHkhK3pGXks1eG8+YV4lQVc7MXRvKjd2QGMzeQp6SV4rPjghYytGYXNGanp1
ODBrXz5ESm17dlhKMnJRclpgWH1BJmozS0VMZW4zX0t1clU2PWFEZko7cV5RaD52d2YKenJwMGYl
M1NnKXk5b3swRUgpcmp5O1ZEQmFTbT1lPUIkNGpsOEdCYFkqdEpBNkVQdUFPRTEyPVJ6TiU4X0Yw
X1ZrCnpgYmpCfjApWDNwYHNqPndZbnZyUSkmbGRSXkZ+NklaM2xFMkxgMyN9c15ETWB8NXV7ZT03
USlxRzxKVCVpTUFfbgp6RFpAWnY/RH5FPWRneTNEJDBEZExiKTF1dm5waXNfYUNydlNQU0hZQ3M7
TE4zKzlqQE4/e3kyel50WUo9UHsqZEkKenckenVLZXE7ZERXYWllJCklbnwjJiFmRFM2WF99ayRs
d3M3IzNsIyZMVVpIe0cpMGtXeVI2YUcoe1FGdjNWUjVFCnp2WVUoPTdBUjtnIylIOyE7dG5VMXB7
RDlgLTFzYkFuKzIzbzJwbF51ME1qZHUjPiYyRXhxezdpMjk0dzI0Y0pgUgp6Nm4lfCFpKERqIUpO
cUo+TVE3eXxObm56c3k1YnsjJiF4VFZLVkFIeEBtOG0qJDY+PlVKODhfI2xlQUtYUmVNX2gKelok
WE1ZclhmejxXPkxGaipOTTttWEhWZEpKdWU/Xz8mITgqZHg0PCo5PjxVVyNXV1QwYWNIXmVRU0Mo
bSsqQj9MCnpsRj9HVXNYc3x4b3JZZWVhYDUwYmwkS0EtUn11Kk1GdUtoMio1RF9UX3Yje0dZUENh
Yl8lQ0R1Z0xAcHhaYCF9dQp6JU1iWSUrfnhvZzBiek9OMDgoU0l2TGNlZ3k0KzdjLVlVbFNWYHxT
UWdvNyNZTm4/fkctNWJQIyVORHRJWX1rOXAKelZCXnIwSFdKOGlwQFc0UUcrJnpzaWwweHlLKWUl
JChRalFma1c9VWhvcn1GPnQpSmZQQHVvfDhOREJBYnlKWXdeCno9Z0pscy1BTClnKE4xcSMwTVZ0
TFpHfXQ9IWRpbEFWVz1SNlc4Q0F2RkUxc2BKQ0QqRzUpaDUwcCsjKTszTCMzaQp6N3tRWShsTUhD
UVpGRX1AcTx8MlNHOCVmM2FRSkxDcFA2IzF6OGx5X2VZM3s1cStoWnBfITB8NHA7LVp9KlVSekAK
ekpXWH1mOF54Z187e3hzdklsNnVAe3J1emF7LT50MjIoeVc/UkI1KT1JWSRzPXRQKHFRQ05nYEw2
XkFwPHlqRTJlCnpFUXQqeGR2bFJla2B6KXFaSmJuayZBZ1Jodzc3Unc1ej03QFIjdUJfVTlgTkxQ
KH1raypMcUh6XmRfX31tP05JYQp6OWMocGwkJjxqfXlTMj85Mz9Kd2VPc2lTX3FicTFvX2J0PztK
ei1iRXlsWXp7JlMtZmA+MGhPQUg/NEs0JHMpYioKel54WVpyISlOTTFadU5DUj0lNSUjbnhiLXt2
Smlfb0Z7VCNRNGxgIzYkP15jWm1GKnw1P0cmZUFqNFlvZnhPci1DCnpDbUJRYlg5Q2lVKzZZO356
bk44eThhYmRXVW5fe2NWbCVRbShWbjM3YktVRDk1NGVGVEpaZHBQIVN4PTdpRyM8Swp6U094NCQ+
TGkkKEx1KCk1JUFTO05oMUAjRjtqeFUyQGUwRy00NSNUUzBgQnQtKGJ5KyY0a0pHQ004UTlsN3kh
VkoKektWczdQP1kjVTU9ZlMmQFY4c2o7MW9rYTBKeU9HUyV3eDlxU1chJXE0aWA1MipZNTZrUXg9
bn1ndk9EbkdVKCpwCnp0YHxFbihxWiRuWlBQb1VfKVFnS0NVYmA9ditQZjQtZXpgZ0BZNUNLZm1J
U1I1ai0wUUhWdXB+ZUB4VDJiK0hZQwp6ITRubTQ0SXlRS3d7c3p0cl4yKjRvc0N3aV9NQ1lUNWN0
Y1dLMFFDMDNtYmRYKFRKem03T0AweV90QUFEe21QKUsKektMbVVWME5EP2RBPnBCQ0M2Nklve3Eq
U3FIcERsa15rQjI1Z2ppcDk5UjRDYi1mPDw1c3Q8elRrK1IyfHU/djhZCnotbyhaSTE8R0pQbzVx
KyRNbEchJUY4KkhRZ1klalVfP0pKfDgtSFVobnM+YTBFRFgtVyVaZVowVVV3YihMZ24jbQp6NjIm
c0dRNE1RcEFyRl5wc2BUc01NQHxgdiFmfCp9UERXOW0lLSpEc1NgSk4yVDxZV3hGPV93Xl5wQ0Q/
RGgpQSEKej9rKVpMVmA8STt1ajd0fWlYekFiNkcrJiFfcl5ycE1ST1RQUUh7S0hHfHIweTYhfXc2
JmJhXjk5O1FuJiRvNHEzCno0Z2p0dWA3XjxeSlQoaEdVd3dJYD9qOFMkUWRNU0J7eGFtZE0md19s
U2NFUlhlRUIlKV5mJUJMVUJCYX14NTk3Ygp6RTltTENYOGJhJG5PeFomVy1ASWpgKnRLRnBPQU4/
O21aQTx5cmlBdGt6YGZLSGJEKSp7c20yeUJGQmhDe2Z4KDgKejVlRjEzQk1iKWI5THcoWXQwQDRk
SykkYHFGZFkhZFFqKUNWYFJFMENqVnlsP2JfYz1kTSFpPWpCUU5XO0RqV15SCnpxc1EySyVGQ3Z5
MkB3Z0BgTlY+KTV2THY9WH1oTWBjfH5QR1hnM1gkekx3Qj42NTlwOGViMXp8JW9pVHNtNi18cwp6
KXQ+U1Q0PTNNVTRtdzM/dzZTJFZaPFp6ezgmQXc3R2h5UnIkbiptWEA0dEU2S2VjS08ofj1Bfl80
fEhGKEx8JFUKejtjekhzYTkxWDIkKmkranBWayNkWFZDTjcjbnwzTypzM15odTJKZyh7dkFLcFlw
bE5gdyVsdmRTNXd2TDx+YnFRCnpBWTg8V3crRzQrKlRGTDNJOXVAWnYoVVJYWjE8RFdXckxQKTBr
fFQ5Kkg7UWd7VyVjSGE+dGxrWkttfmxANiRQVAp6Q24rITxkOylkYy04JDk+JERGJFR1RV9vLUU9
P1ZmTzkocVo4OEdJVEIqa0Qle3xXR19yVzw2fis7YEpJJEJvTWMKelU/O2xoRipiKndfWDsxVUJp
ITxjdWckTUI5ZnBlbDQ/JE9MKmA+TUFCI2Ved19gM243NE9qTTU4UzVaOChlUThhCnpSZHp7WWhR
ajFYK3tNfmxmIzMkWF9fPjtJZmswe2NaY1NHNEspSTJgRlh8Wm5pRnR4PmpxSHAlYXRkM0BxSlBa
Xgp6JjBMa1p0PFBtRlVhJk87UHMlXn1DUG59Vih+bUQmSTllcUAoJWRaZTRLPmk4QXgzPk1EeG5z
RndEMWc5SzZQTnUKemRAKXkqbmEkajRWP1ZjUWx2aWt1fEZLYzdhcThKc05veT5nS1pIJG1SPz9s
N0N3V3NkdT5NQyp7amUpa0A3Qz9hCnpsI1g3aEhYfWJ6NDchRGlZKmxnP3VITG9XN1Z1eWhLd09i
ZVE8Z1VVVGVSdH1TVzB5K2kme2E4d2dhXiFsWWV0Qwp6aTtNJkFnWGpkaUlGMjRLKClNcztkOHx0
Zl5IN0lFelMjQWBTKVcoe199PkFUaE5uKCRXdU1JblpQQTdAWDx9XmkKej5mRDhsbWEhciFJXy1k
ZjthVzJQUUJAI30hMXk/dEVxVHszISpwJnpMekReYUI7Wl5HdzBnZlpmbDlGR1VBLWdECnpiP3lg
SSRyWGAyWDZmQXxwfW5RRTdxblNTYWdASVRAbjBBZV5uRiVoVih2V3ArX0J0KGJ0Z204JWpqWEJV
QmozZAp6JHZ4MDhgekxPe09AOCNuM0lHeE5MMXZTJXtHNiVQSEc2KHQxUnZ3cDVRQUIxPCM5SnBB
S0xYQHYjdFNlU0lxMF8Kend5PmhZPm9QSFcqMGBoPHZJNyQ0QD1gcUh6JkJhcHQ7bU1gdEhXYz9A
TTA7UEAqX2MxeUMjamomaiVrcUstUW1PCnphZH5rSV5ndlU2NDh0JWA/OTFGUSlUcXJ1VjNxOyVS
NUQhdUVgeHlfUmR4JVNgLXh9c0E1SjxkNlZuZDJtKTc2YQp6R0V8USVNIWVHek1iZF9WN3poZSg3
KVpSQ2lvKV9UMC1wbSoqR1pXbyFoN1hOMHptQGFyTlZ+PE56KW9JJHdeZEoKejFuJDw1WjhaU2N0
QjJvPmdQMCpgX0B3RXE2TDV4PlBIQiZ7Y0E7RTBGUCskS0MpZk45V00pdDRCOVBRZzEoSnc3Cnow
enpzJCNfTz03R35TdyhwaVEle25mX2NyeGl8SDZDNWd3NHFWXnh1Q292XnAtSTUjXjdxVShiSitB
WnNRbTgzJAp6bXx1ZHo5PSRGPF5FQGc1aH5eSkE0Y2o/UCUpWCRsPlV6REpQeHImWjRwYHtTMk5Z
Z0xuQTZCU0o1RDw+MzYmTGMKemBlSWt+by1fNjhPQT1haTdJUWtDNCY9ZVFHakBBZzQhZT9NMlpV
Q0VANmB9JnByPktrQH1gJGFQMl9DdkMxe3NtCnpCPzY1ajcmcypqVSt5VUN6UXNucWU5TF8xNHFu
dVlzfSNWWEx2RmMqUS1AX2Urd0lmdXBacm85KSNUYmlsdUBkcwp6dzUyXjlKNTQzb3ZfT0N4Z3po
O1VtITtRTjNDWWI0e0ohJmRGeGpeVXdhcihfMiM4cTZGWGdMSyY8bmNyJHNFIXAKenBrR3xIaCR5
VzV5WX58T1lDe15rQ2lYYEdybU43aj8pcz9waUVVOzlUTUNJcDNpe2Y8enxOWis9VllLSUB3OGRs
CnpUTE0tazFkS0k3KDdKWjB5PXtiVTdqMUE+cmleMjc4YXFaZWs9NGglZHpWTVRNPzI1cSM4cz9C
NDZId2tSZGZJbAp6K3lCTjlJT1NXJTJXYj9iKDxlMzwoKD5jJlc8Y1k+aztRU34hPSo2U2VOX2oz
cEheKTFxRDtkZVFSeX01Q1hFO3cKelUhe15eXkUqZHpCJlZJWFc/aUtkJDx1UH0hVlJ9VHd+cHVR
USF8JV88VUxSNl9vP3BUN1YyfTdaRComJntzQzM7CnpeYnNSM3RNSiNJaCRvJX1QdV5fQ2lsdzh3
ezlfK3JjNE1seFBGR3AreFhfaEtZezMtTGpHPXJEVWpScnMjOXAkUQp6Tndmc0taeGdOOyl5WXkx
NVVoRCZBXkRiYFpYUX43cGMjNG1gezBoN1Z1en5WQ3N7c3l3a2xOcWk5dXNpV1IrWFAKellpLXpG
OVpTOUVIJXdmV3ZJXk10KVI2KURTY2E8LUU9cm8tVUNwXjtLcmIqRHBfZ09vKF40U2pAOWplZWUp
VEZLCnpeR0I/dGBKbz5IeG1JKmkmQVJyUDg8JnwpQHA2RnJNPj9fNjZQT1FfMjQmKXo9cFVEKTEl
THA0dn1OR2lBZj5SMAp6QUtnc3VxclA/ZGtJa1JSeHI8SnExanhjPysyYS1hXjx2cjlBP1p3Yno8
O3QxcSVTeHRDeUBofWF0I1U4MTZUN2sKeldua25PKT4/dlpRR0laQ3JKZWo1QTdSYl5lWFUpQHAz
YUVZNmJPfih6VlZwfFJyaXVZVH5EZHdLbXRCc08kMXpNCnpReHkwMVdhPlI7VTNnbSZrJXQ8KnEt
NDQkSyVsbXZCRkhyUmVLUyk0ZE8xfk1nZWIhWCYkKE84UlQ0VURwSGE9IQp6Qmw3WE1QNW9yaUh+
XkVUQn5xamUmfkI9a2YmeUUpUElGdXY9dnhoankoY1A2X0pFRExSMXRnPTx0OXUjTjkkR2sKejdD
I15hYkRqQmlSUGB6ezRubXpGKEU9bUxHclZWcU1xQ0kyQ0V+Y05SZWJzU0pGeil0TD5hNz97VDNa
Y3ZAdXxRCnpyRm5ffU5KYXlfVCtOcT0mQ3A7bHlubyl4TEE5ZTlaVCNRfCpCU3NNQ0UlbFhvUlIw
dnZufXB4aHh3N2NfS1lUNAp6MG1YdlloRW88dVFIMnk9N3kmQSVvVXIwNk5SI1JCWSlgdkJ4I2o3
QjE9WEFxKXxgdFlaMVhEV2taPStLSzZiMFoKekpNMk56M0h8dmpCKGp5cz0jJUxtRiRNU1o2T0JO
amtsOFpwc00yJWchcWk2eVFAKV5jJkR2UlpkQ2xOaG5lQ2wyCnpVcV9ZMig5VlhUVGdQZ3gmfEp2
SWJ8YiF3TzBIa094YnZWWD4xNSMqSUolSkU2I01tc0NncD1lQzZkMlQtUGtTMQp6N1p2PTQpUj9j
PiNVYDZ+Sy1wdVhhPm5POEgrbHRPSXxXbmNuSX0ybGd9ZXtuSjBzfmpDX3JxeVJ6PCFEI2l1XkAK
ejJEcHRCcEIqOSU1KChNdD9Qdmxwd2RQajIzTThAJj1JdGtRbGllWmVaIXZwO2t7QlooYzJMWH14
ZEQxRTw7SmlKCnoxMWtZMzUlRUpaRDsobW9FRHthQ0NBbiQrNWJxNjFRIUstQkw8RH1DWEVMJl4j
ZlZMYXZzMXNLYjBZT1dBYThxUAp6JGI1MU56eTdrSGo5NTJ7YipxaUZuKiFgIWg7TTk8aW80YDcj
ISN5YVRPQERjKWA1YDQmbzxZP0Qzb2AyTk5LQHoKel8rSylyOGVTMGJhSGJJcm9hY1ZGTXd3TTsy
Mms0cD4mNXg+VX19QXpHMD8lfGJoQjV+SXY5cG17RiNURDMhcXFqCnpWNnB5IWZ3SjtHbSRGS0sq
Pm05QTVCNTtfI2tJXkoqQll3PyQlVko2Jm9vUWBUX2w3TDBJM04wPSpvQDJ3YVN6bQp6TFhgZTlM
a0NNRUsteWRUa14pSUJkYHd3UkFiZVJOeXViX1I5OVkzbXQtOzEjTDZaWUthWmZ9enQxMCVrRVQ4
ZjAKem1lbGB9Vmtqc2J4ZyVScSpZNkwqI34zZXNQYDx+SkkhcEtKZiEhMlB6dUg/VnMxWlJuI089
V187clREYlUtbHBaCno/TjU1JnFJZmpjaWs9WSFJS2J7fWpaVDd9cmVRVXNIYStLT19rNT0yTV5z
ZWRjNj5CTWwqPEVoJHdRe08wdC1tewp6b0NgOTZqe2ZvITNxZVc2QHZPKVRhKU4oVz98YlVCUXIp
QX11VHR7NXVzMSlLWDRENUkzPUM9ZzYpNHEwbilvM1cKemxBREU5OEk8UTNMVEhEMFAtNnNtX2g/
flNraWN0KUIrUXopXk1sQjUmUihuIz9nQk85c0B0eDRFVHArJGNWRD9hCnpUQk0+dm00MDg5WCRs
ZV9ma3BoY1hhdiQ3QFhedVJ2OH5YZWshdkUmX3c0dEg9eGZ8QyFSUXlaaiQldWJBZyZgeAp6TCRp
QUplVTQla3soRFNOYldPMkVDWikpdyZhJGthLUxSIyY8bSt0XnshZmc7bm5vYEBtaDRkMUNsKHJJ
QTg4Z3kKeiEhZXxfQTRjIUQ9LX53MXtUSDBHNTNWd3tTV0glJWdyX211ayErNF9rWlloKURCVEsq
UiNDUzNpaDJNKXEzd0hZCnp8RFpVQW00JStmJGE9Njl8OFNCfWRWYGtDLSt3QTA+UjQkX180JV9h
bDVtI2Fxc3EmbVo5OWoxM202QjJtPnBpUwp6Snc/Sz4jTlk+TjA0Q1hPUE5wJm5oNHFxIXpLRSZL
XmB8MFFSUUlhOGBAdyYyK0g1OStlNFg9M0IoeCNaV0E0TX0KejZ5ZVFNI0ZTQ1JwT3FIMm9Wbyt+
JSlJXntZfjdMc090c09KVkhCUElObEA3K093KnxkX3hTWF8zK0ZEaGRPd18pCnowVSZjZm9Fa3VK
Q3duODdTdEQ8Sihha3U2LVBUclQlJGR3PSt7QjFOMUo9QW9zM1U0X2xwfSh3Sj5xWjtYaClrMwp6
Q24lXlRrZTJyZlJJP3l+MGYmP2dLQ3ImYStrYSpfZEMwfDExNnQzTkFEJj52dCZrV1BmWTR+RUBX
TksmISVKa1gKem5kIS1CYk8+WDdBMCk0PlFmcl9RcDxsdmNQPlBkb1paMzNzMmp3Kj8qK21KP2Z5
bHF6cmFLcE4/K2A5ckV9Q0c9CnpJdm8+RXZXcFB3e2pvWHElbyN9WkRVR3tQYkkyZTxxNmF+NmMl
RGJzMStFTHNrbUx5YFQrcjZxeFF5bnwwUV5hawp6bFlOKV8lZXZGO0FyfXA2cCoka2tndmRAQ3Fu
RklFP0ozbW4/O0JtSCUtRz1QNUkzMS1vWFRDbGdKbURLTGdJRHgKelpvdDNwYX5mTEQkSXs5eXNK
ZzUtNygzUVdaTCFpXldCOXZrMFRaTzd3cl9Dbk56d0wtemtRdGlleFV2QXlGVURICnpsdy0landk
TEc2Y3U4aTZwMGkhcTc7RjcrRFdNXjBnUk1mXzErMmw/SyFnNjNOSypgJFlyRitZJGJ1KUYwJmdG
egp6ck93VEM1Xn5xc3ZkPypqazlOZGxvJCoweW88Slh8dUR+UUdEb315X0NNX1U3dFp8cWBANEV+
ODcoV1JTaDlPPiMKenR+dXxIU1lrNTVjb1UoRmE/RCNjNismWVh6ZHozZlo3KTBvbl9JKXchSTJx
MFVyUTs4YjZZalhFY01heiZrNGtECnpgKF5pSjxTaFkrWmR1Vmd5TThVeE13b0hZUzd+P0hva2N2
SGgwTkA+bjFUI2h5fm52dm1WWnp2QnFHYkQlMzxuOAp6N3N2S0BXOXUla1lQKHJBXiNfWHJHV1h9
KElmUDBGQG53RkJBU3BDPDs9MkJ2MUB3P3sodz9BeSpHQXBRQTdUMVcKemxuJCspUTdgYDVESldf
bSE8QiRgVFBOa0FfbGMyNWcld3ZBb0tzMyZZZEtsJXBNSyNDZXI7S0pJeWBfKDhrJWxUCnpvZyF7
a2lvcXFLRV9LNXdvNiZmWG5OMW92YWtMbjRPb0c/bFpWVUcmY1RkYEstfUw8ZmYpam59TEtuWDMl
JHchYAp6ZCRwQ3UrKnVlanhjY1FZYzBPdVdAaT49ZmR5VCFoK3MrfTA4aV82d2x5TnNHe0ZLVkMx
ZD1PSkVjIUUtPF5oMWIKentgOFFRT0coRFY4RDJSYDhUPE1LY3Z+MTBjLVV1dFZtKHVJUEFGQFRs
PGZNYlZnZDJkUmY3RFU/UE1iUCRGQUBsCnpFdSo7JWM0bCs/YFJUcU1GcSZTb2N0ZSU5aVNaYTl4
a2J6bT9YcmtuVVg8NWcwRytSUi13Vjt+PH1FIVU8Qy0wQQp6WkV4MER1MD9seUQ2Y3BfPzV5M0t2
R0VCJTRQaWR4VC17Vz9VKWlTRUI8QEhhKjVIenVBTldDY3tOSyVWMFp8Q1oKensoLWcqVmlDYnIr
Xl9AcnB4R0ZxS0EpTFNYR2ZjWkxwPXk5ZGs5KzlLUGgkVGM/NFdHISluN2t7PUY1UnM/IVNACnop
dVB8KGNQJiV2ZUpkYkw3YWg/SG58eGJOR2FHQm1DYWlHb2BLPlJrOUVoPmMoeGh4MktzbXBPd0sr
e1czYH56ZAp6ZVRDNypjaDNXZnB4fWk0KypNKlBXX1lRQk4+TFV2ZkJpbFA7ayFXOEhxQjZVNHY7
PXJLKF5eOVJrOGxFbjBxPy0KenArXnFAaDV3PGF6TH1TJm55OGFGT1ZOWjthV3ZNZ3VIbj5FT0J8
TEViQ3d3VGRzYWolRVU7fmsjakVULXpuMUJzCno0R1I7ZWhfYlNPd2tAR2BmI1pCLTxicFpQUDFS
PVFVP3BoJWZARkNJVj83RCZ6IX4lPGAwQHhGMDE4KVIlaT07cgp6bkdDYiotQHQqZFNwfG04O2k4
Q0tvZVRIdStybU1paykkR0YhSkNjciVKbjM8KkMmKHZvQSVuVXJsfnJ3aXJ7KF4KekhQUVROcU5K
YEpjU0o9ZiNxbjFtVTR6TFVnRyU7bkhpMjFvVVVUU2BUVGhuMGpjOWE/WTIpV1BkTHJVOW9JKj9r
CnooKm40bjxtS2d7RGN7I1pZTWB1I3wyZzhwKTM5emNVd1hxdGdwTyZhS0ohcnFTUU5zRGFZNG1H
WU1ybzhwUiN+PAp6JT5HfChSKT8qRCl2YkR8Wis3WiZKYkU7TDlHIStEY05qaFA7bHhPT3ItJXRe
d2xFT19zaCNRe1V7bkI1cTkwKCEKejBna19hMU9LVkBkMW93Qz5obU1HUmk8R0BNJjViSiVWRGEx
aVcpeWJpdTJyYThTSkVgaSRwQTtFaU5kd0FNaSVNCnpkUFFwJiM8RktZe1FIYmdHRDRsNlEpJmRf
aFRSWWJ7T1ppMDd4eSYmcUhWdTxSUVcqJlpJeUZqbE5lOExKZkdwRAp6KFMoQ3tea3hRXktefkE3
I2pJZj4tX0d2WFhld15salpNaS1YQ2FFfFVxVDt7UXg3S0NaN2YjYlhjbkZqVUYlMjcKekgxbk0x
JUYlKDg+Nl92NlkxRlByNDNBSHgra3thPiY1ITMtMUR5KFhiPmAybXtZRHVWYklJMGdOS0hQKHVU
aHE5CnpZPFVBRih2Ni14SHNFa2l6WUhmX2ljUiNCdXp3Z2FXbGxqME8zXz1We0ZofnVscG44bXRG
Q24hOD5fP0A/ezluawp6I1hZJkNLezZOfHtHZm1EKndXKnRpbF5JZy1NMyN1VSFtWk5fd2Q3dDZh
ZFFoIV4qcnElTXUrYDQxYjklaTZlKyoKemRrS0teYWd8QyVfd1leLTFWdi1qQzVPTW9tcG8zO2ZB
OD9eMkd4VC0+dCU+S1ZIemdJeSRidUdIQFVsKnc3cl5kCnpDZjIqOy18fnFJSTdPekZ0NTJFOFZr
WEhAOHRwKkdZelUpVj9MRjZmO3dnUGReNnVSTillX3R0enclOWNgaWkhbgp6dEBMfGlnN190ZyhV
dXx4Mmx4JUtRWXtQQztUJW4zfDBjWUM4Xlc4TCRvcCNHNXo9dDU4R2ptTHtKRWd0bGRkUD4KejQj
aTttQEFlenRDRU08Q2NkJW1wPz8pWVNSfG8kfUxiazMqQyQoPF5UXkBsc0UyUiF2Nnw2RTtgMncx
NndmRTZmCnoyYGo4TFMzNiVCKV49TGEtRVdKT3hud1dwenlTI3thIXo2Zm5EYE5ATEY0Y2VCPFBz
fWxCbnlzd1Ihb0A7JlBzcwp6eyomV20+TXkkTmg1P3IhT2F1VD5zaGA+NXY4cUhJSDRmNmZ3KWBl
TE5aNUpRNU9PZUFXXndRM3t1JiVVRGpWdlcKeikkbTJsakd9NUN6QiVgWj5+JExrTXhFR1NSfVFk
bjJjbXlOUlZ0dGgtbklRXmY3Zk9xai1Ia1hWcEswQS1fM0VICno8ZUdzYkV5cUhkKzhjaklQOVp1
anMrbmcrKURLNXhSNz48bDdTOGI1UEUpdGktKDg5VHhlUj5UTW1NcXN4XztXawp6Kn57UDY2VmN3
KU4hMTxBPDtaPjxKeTZAflNOXi1kaWdCNmFMZm1BIW1tdTtkRkYhe0JyfXVhV0FwcHRfKV5EKXAK
ekNDK19aKTF5JUxIVE5nYF5wZzVhPHNFI2NZZHdaRDB1SDt+SHNNZU9xTSFZcClLZlM7bGN2d3BC
Sjg+eVczY2lFCnpTI0haaSUxQGVxdHI0NENLfElHNlpSelI7ZCs2OExyQF45Zz16eiooO01uPURG
RGIlKXB2OFppczZsbXFncnQzMwp6ezhBWnI7bVI0WDRkK1k8QUluJiVobWJiWW5SVDhLbyRxeHdy
Q0cxWiZZT2ZycDkmNmV5Rk52Pj05WlVOJShuTCMKelNHWlh3WE1xPjdvYnFaQVd3dl9vI0I4aSQr
V0FBaD0jYXprN20janlpSmtjUUV2bik9cG0jVmY1TDxSSCVmQ2lPCnpjfkxZbXdIJlElPWVeSmtP
WkUwdHded04xUHJgNzRAYD9sN1hKe15rI0ZraSFzRFo4MUxxMWVeO3ZKQUVSJXF0dAp6e14+SiMk
TWVTd2pkYjlHNXhwSkJRNmU5bm9oKj9VTjR0LXBfWDhoKEI2fn01TyhRNTRvNzJBNXJAQXNnQTkz
OygKejtLTS1SOGJYMTZXTDYkKTc8YD4jPXNUMSY5dHArX3tSRHBJT1hBZ2xNVDRZNmRIX3lzR25W
O34hdXdrcTRiby1wCnpOfUBCYjMwZzZYPj48a2ZNP0Z7b1B7JHVPbihAeHVEQG5HaUM5Yzx6bF5A
V245I2FIdnlUYTE4TkhoOEFNZmEmeAp6Ul5aMChHZUMzaFkoT0UhXlJGMlhYJmt+cFk8P0l8aW5u
aTFnS2c8YDshSmdgIUpSWXhyT3Qoe3EtSHRpY2ooZUwKenpLSypWUCl3RjQjQipTeXFDcElDYz5Y
ODlDfjNBKT9JYTApZGwyOUIwJU9vTyRjbUFIP1YhNmhsMWdNfFBecHplCnpWNE0xT3h1fXs/aSko
O2tTXiVFPzcxIUF4dW9pR1plP0tDb1k0X3YySTJPPXxoIXZiSjgqNnBXVXJZYSlFJGk0cgp6NlUl
XiYrMjEzZ3Y+OXpXWT81NjYjVWZ6R1RrcT91dVh+NF9eeEc7a2Q7X295c3BLV3xSb0hnJFdyOzM3
aldXQVEKenZiMDByYWZuO3xWJGkjMUMqRFlxVERPKks5KjJJcUdleyNMMkd4dyFhe2U8ZiNzYDNn
e0djKFo4d1NUTi0/aldhCnpDPSkhaUgyellOXj5jPUU1PyFvPWJeeyM7TUdpNn4qPTcoTVJaTDxl
M0Y9O3U3V1FZZj5waCRnNSpaY0BxNGBhVQp6Qmc8YnZtJVBDampjUT1RX2dZZjw0YnVxRWF+ZDNa
QigjemtkNWl1RUFPdl5GLUNscT5SJUt+ZyQ/UE8jNns9JWMKem07WD5gNWBOVDIpNDYmQV5MbVom
UVBeZ3IycypDOGshdDNnKWxeY1otQG9xTzNRKTgrNTNKe2BwRUdSSDhgN1NMCnpFNFpxfE1UPVFI
MjNjLThsUkM1Yk9UMVI/Y2Y4bDhuJVpHYkpAOW5FTlcxLUAxZWcqJUEkJUhtP2JnbTN5TnxVcAp6
ZyhVVVgldzJ2RkVyantIbXF1R1J7MTwqemY/bV5vOThWc2FhfDZIKzMqcFo3aU0rbD1BZXJedGw4
UHtmZmZ8XjMKeitad2kwcWpIeVdfV3NHP3tRJTFOMGk7UjtVSyQ/cilnfUZHe0ROSU1gRSRJaD5g
JUM2aiM8VmkhZU5Zb3hFY3pHCnpIaiV1TjdAYyRnPng4WSg3YEMpSExwNW5kVGdiP0Q3WWZANUhs
MkhrYzVafUhHVFo8dEglPklrbTxSNi01TFMjMgp6MlhVNWEwMHl+ZytOfUYtQD5mJXNeNWU3Yk8/
KnorakBLe2lecDQpSXFsUVpAbSs7M2c0QGhAQmdII35xdU5SJTEKemNVdnxtWmFzZWN7SEhwczF+
U2h3PSppPVdETlp3NVVqelMtdDxEbWZxYH53IVQxTHpoWSU5VHJJPj9oV3g0PUtsCnp5b01vUXc2
X1UhUCQzMl5ZbHtfdiRhNF40ZVItI1FeKlM8Z1omU2ZuLXs+V1pIYWR3bEsxMytxKlJsUzUqWG1Z
VAp6UVkxe3UhS1JMOUd1NzctdWlEWXIrODBKM0Y3RFAtN2BXcVFMNkMwNiE0MytFTUwmUjAwSDhI
THA7PTYmdyhse1oKekkqdzgrQ2VCaGhfLWVzN1VpPC05NW9taSt5Xj4xbjA3RkI+OF5UcmBUOSh5
aWd7c3BqI2RWV21eOTBgblpNYkopCnpnMUVRR3dMM2A0ZzJAKFFvT29LeT9AQUleclVkVjEmKlVM
UylXfT1TYz4penxkdXA0JCEkKWNHMD9jVUZZY21CRwp6NitPSXVWZFRJSlV1UiR3TTI+SjtyMDJO
P3Epdkd9IzBzfTFPa1MyJG89JiNxQEIpbTQ1c3NqMCQ8UClhUmAkQmEKelotY0tOSTQmWHtZfTte
ZnApQiRNQCR1Mn0/QX5CV2xiaExaJjlgJExzNjUlT19tVGR9enBoaChAREAze0RKN3ZVCnpxTEVH
Kyt2Q345QGFiVE14Z2dZZHRfYEZROE5RTVFYfDVqQ19AeTRsYklhPlElYDFCNFJ3KHtmcyk5bXck
UH1YZwp6e2x+M3YwaWdYcVAleHxfcmxNfnpQLU9WK2ZVfkNUcVIyfFJENGBrUz1sZlB0emY8NWNp
U0RfWiZnK01Ncn04fGkKek80dDVkYHp3SCQkTm1Rdnl3JUBZVEJYLU9LWWg5TURHMzQoTWRZTThM
dVY7X0JnQEdVZUNqKiVHVSlJd1M2YD8+CnopU0dXVzBoWktyY2k3SShuaCQpS3hJISpCeXFZUGJe
a1pEYktpNyNAQDloTSljREdGTF5iVExKcl4tZzhSYC15Ngp6MUExPWAocnkjcGJpVTIkUDd3Vnxo
Nlk+JV89K2RFbEc9SXppYj97ek9mY1lHTWVmK1U9NXQ/e0g8SGdXR0g7KUkKeipiKUo8byUyZFE3
bSlTI3VROHBtYE1DJnA7e2BEeGIxZng/O2ZYWUpzITlwVXQ3UX0jeW5afmVRQ01wQFdwKWZoCno7
Snw+O0tsMmdsRVJNeGwrTDt7KE5TKlhvX09HX25LJU81dWdhRldgQTNFZUQxcTR1YGUhJCVINChI
O1ZRPVpRRgp6JWJPUiFFRFZ8VzNVM2MrJHYzU3ViZDBfYzJlND9wdVpUWnVjd0diOGlsTTxwX3Yh
b15SNClqM1RJZFNFbXlRfDQKenhPVyRMZTNwbyoyQGlgZWZ2U2d2T19ibDxqOWZvJWk3Zn57PDFe
T3xabnR6cmdNISomPTl3WGdKK3t6REcoczVGCnpMSXpQd3lKWDleTSo5Pm02YkZaY0heTlYxeThX
dntGRnw9YTcyUGVSUTY8I3NFTFgxWm9ifXM+eUJBKXhBQmMzYgp6YSF+YWloPCl2YDshYGRSRSZv
UUBVTUwtVzJJbE1mQ3EyWGBwMnxyZEkpX3Y/NH53RndAc3laX3NuN3FOWVN8VVcKejs7Zmh6SnRW
N0MrJCRgUGwhTSFDSFMqZj9rNCUhdHZQSSZ1PUxZPCYyMVViPl4qVDE5PXpsWSEjKDJ1b1ljQnY8
CmZeV1preHsmIWVBcCk7LSMwTXJgIWIxM3thNVAwVlgwUSFGYmowa2I+CgpsaXRlcmFsIDAKSGNt
Vj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVk
aWEvdm9yYmlzLndlYm0gYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvdm9y
YmlzLndlYm0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDYwYTdlMjE4NTZjZTQ5ZDdhMzNhMzQzYjc4OWU1ZDhiYzU5
ZDc5OQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTgxNjEKemNtZUlhY3tvK3l7fENERUlVTXNt
JnF0WU9BflQwNUx2cWFYUHpWdHNwJHoqTk4rYC11QSZ2fjgzQEt4Vih9O3tJCno1a2gxcldKPF96
PyQrbn5gK2RLXmBfSH00XlNrJC1gYHJFUHYjbnZUPjl5VyN5QCZQUWNudjJDXll5UDFBcEszYAp6
dz8/NFFVbmZ4TyRIcz93b2pJPzZqZXljbUFmVUxkVX5kUTxUKnFJcW5CYG4tR0pCcUVeKGRhaHhh
X1JlVj94MHsKekY7NDRCS097RDZfQjtqMlczXyhlWlNePm8rMk5sa3p0d1hqR3hxcVMjZWVEbjR1
N2xyZjgla2BzflZ9SEN2aTtyCnpJNVlVaCQ8dnE0cztKNFM5K2d2NlBfV2JjcEsqaWhpTVo2RHpy
OHI8eldKNVBmNGF2TUpWYnkoLVh5WGQkdDRPWgp6PjdDM2FmSjMjcGFpSWE4Un09TnpZfFNuOGpq
aUdjc0lSeTMzOD5tYyspTl5UUHskY2gwQG1ZIWBCOVhoMENYdVoKel8+NkRKS2BQNE5AeGRQZTtN
I3ZHWi1DSk08VDQ8TWY0aXFEcipgQ15kazFlcGw+Y09rPkwwVSgwMWcwPTVOQGdDCnojVVkmVyUp
SSh8b0BzdmxVY1deaXtnVylRezdOVUN4PG9fTGdvfXYhaUIxeFB7eGxuS1B+ZShnSUQzNE85PF59
MQp6c0o4dj5JQnsoeGwmRnJSYDV2Uyg+O0tvb1B+OFd+KXVSQE9wSEAoI2tERjIzOypVMn13YFdH
dT1DU2NpYFZIQX0KemtKWFd2TU8yTE5hVHhWXntgaStONT1wVkk2Jmc2PkRPNG08ViF0VkxlMms7
aFB0MS1wUkB2Zj5fdHAjTntIRn5PCnpKKV5XWmo5diRLe0JiPmAyTj9BUl9WX05uUXI+dGViIXdx
X3RnPEh1TkNTWlFLcUJkWjFUOGFmNEszJlpmRWoxTwp6LWhQMzxeQT47UzZNaX5zMV93JDYzX3kq
JVhPdldBYm5+MGhaNHJtdHFKUXQlPipYP0NIR2dsVnpyfkZKeisyRTgKelVTT3lDVGgwPnpZTkE/
RnYzKmpwUHRzaUNQM3Jpb2s1Sz55ZkM2Ym9gSXdjfmk0MjIyWW4hM0VeUH5UOUo3c3pDCnp7NElg
UCRVTllDd2hXVn5mYWJ5Y29kPXtGRmlWb2NZeHV1RmhQaDFgQUo5fiZQdmxNJDlUPkFzb35SNHQ4
cjRTSgp6JlBpJWlwVVZ5RD9WUWIzPl90S2thdmtXaWtAeDB1VWxTY0B7fFNqZGlSak9rSSFMP0Zg
YHRhNDx0LTh0dEI2UjsKenpFTypXQ0BYdyNXfTd9aUxQbWBkbU59KmVYKDB6eXtlQXArXlBOQUo/
STJwKCh3TFJne3t7KH16eF9VKiVsek4zCnp7QykyKSRqRXFjJXZXIW05K1JYVm5EZkNOWEYwPkde
aiZYclVWKC07RT81N0BgKzErRDM9TH0wJW5PeiM7e08xUwp6MHl0e24xYT9jS3w5WUhCNnUhekd7
NyYqQUcxZiQ/dG5AKk9Ra1Rycj8hT08+I203JD5IUiU7IUdhcisjY3hgRVEKelVnZVgkLSVzX3E/
Nl95UGooISFqbUxgKEw4SjR0dkB4dm42PnRsRjQoPH1+Wks5ZVo8RmdLVzFzYE1XP3U/SkhGCnpm
Y1lCI2RsckZ6LT5kdzZFVFJeeSRTd09wTiMlbztwLXJnUVAqJGl6ZVUjSTFnM0QmcTd2JGF3SiND
LW08P3VpNQp6ZX07fCUwRS1hJktMZTNgJU5eM0tKfTs4Tns5blVGQ0tMcCpwWkg1fSN4KXxRMTBw
PkdHVW5eYj00eyMpPzFtcWQKelpRZ1VaU2c0LTJJT19GNSNsYEJWaTtlQWh5UjdxMGIpbG5veWhi
O3BDalI0Z3E1MztTUnNifF5BQ3xtKk5iPmZ5CnorRCNFLW9LSkBveituem5XWVV6eCYxdHBVQkY0
OHhlUSRlNVdSPjJfeyhkaHtze0hST2ZjZkIrZ0RhXmRKZ0Y9Xgp6c1drbE5lQnkxTmRzKEdyKzB5
U3k3TW0mO3s7ekpqelhVRDx6KHRXMCE2R0x0TUdQJkd6K1pHPmBVNzxOVW56PGgKejJGcjh9REV+
OVlfaVdrLXBtckRrKik7dyYwUllmPFI8bjEjPVFtPiY5a2k2U3Y2M0NNRyNzP0RgTTxpJUp9OF45
CnpBOzhqckd6Zz9JVGdsNDQmOEE1ZklXdXRYNXomTCphPFRZe2soNzZCe1g0fTM/cGp5Z1laKF5J
U0lSXkBsSnZTfAp6aX4xJFNEbjQyM0MkSmFZXl5vR1FXVkEja0Y5OSVUTHo2LUx4RWRNY3spLUYl
WTAzPSFUMT9mLU8jaDBEbjR4OU4KeihhTEAzZjVyYmRle2NpSnhPRlkkeyNQWVBMbn5TPUQrVm44
aXAldCZtRVdWYUVSZnlmZXxgTyorcDAjfEdHT1Z+CnpgajU3ZGhQMi1RS1FYVFZiIVkkbzNqVioy
MDVpaHNDWHRgSkZndEl9QSZ8JWhme2EqMlhsXyZWcHBDTDkmRWlVNAp6Q199ZnNeZ2EtTTcwbXZQ
ZyRSPE5fV18jKGpGRjZmPC18aygmYnAwYzVQZ3txO1VYbCVoeGZuTjVie1EhdlR6YyEKejtheEco
NXdwWlkxfXI1c3wxUn5QQSFLTGZNbnAxZGcjIUJqP3ZxLVE3WDt2R3dKYnk/eEgpYWwzNG5jO1hj
N1NLCno0JXJnT00qcUxOeyUzPSVBUTEoRUIjO0slcFU2eGlFc0F2M2ZHbzs+RXd9X2lNdVdVOGFu
UVNKSip6VnBVfVdQKgp6MFNmPnlaPVQ0UXVeSFlqXjM0YGM1OzZYdVd6TyFLSnJ8TVpgKkwwRFZB
djBRdlk4RG5sK0Vzel8/QW00bkF2YjMKel4yKzFePn5TVHByJEVCaCN9cSZ4MV5BUUJJQXFVODxj
VE1obHg2PUBpe1gxXkdiPGI4K2EoY3NoX0t8RlR+Yn5uCnpXNDVrIXpAbl5lWSFkI0pUd2VZSVh+
PiklZER+XyVeeUAobE5RPm5ebipLS1chUD85dylDSFNWOyt0SndVUzNJTwp6Vjl0KXo9YHN7Ym43
alZLeDRpc09sTl9fekwzTj1uNHchPTttTV4/aCFyMzQteCE3ZXYyU3BafFlVdUdjTHI4dj4Kejdk
Vks/YlJub1NAKn4xKzNOYnhKRCFLWjdKUks5Ukt2KV9ETzhgTFBFQDhLTnJ5d1I9I0xXOXZCJVdQ
Z090ZzV3Cnp2Syg3dlgoYERPWiozd2FUOXsjWlBTUz9pUW5EPEFSJG9kcSgtTUdUMHZoPXg7Qyh0
dzBHMHtCM2Rhd2FfTmhaZgp6Pj5qPTk7dytYKWlnVVQ/Q1deQyY3LVRIVGdLK2I/cUt2O0hrRU97
JG4hMDUxVSU0bTQoZ2N4fFBNSnVHI2BvJXAKejdpU0QwQCh+KlYpXz43MT8za3JFdG9JamdPOTte
NF5mLVZVS2BLays/YCVuQW14dmt2R1hkcUR8QWw4SkdLfmsmCnptckQoQ0FhYTQzamczbzwld0he
akckfGF3aFFSVTxYaWFrZFA2dyFZQHpobHlHbEYyfEpRVjhuSWcyM2t5bUUxKgp6MjduYWBEbkxa
PipgODM3PGZXNVFfN3B3Zm1wSmFZRyg7ciNWJURiPmo/Yns5TXBuZ3RrVXVMaExQJFI0JCleSz4K
ej5KIWN6Y18xT1VgKX5CJDU2Z3F4ZUBGanNnPTcpbz81fjlPOX1pMEskM19pbz0/KyhHeWZsN3E/
fmNxVTFTOH41Cno7eDZWNnExVHJ6d3gmakE7RyhyLUApUHw7I1d8NnBrQjxJdExWRVFpZ2ZsOyNr
O3d+VClSJlplVzl3bGQ4RTxLNgp6QjNveWxZKko4byt0UT9CJl58QDZ0bXU8dGE+ZCYtRGFNa3xK
fn0yVmF2dF9LRTJ8d29fdmlfP2hvNit9R2o1TlIKekhgSCNQezwwK189TlI1bkE5aitGOWR6X2xj
KzM2OERZPntWSjZUYUBZczZBVUBzbCRFVlIyfCs1UFJkdVcwQ3RECnpIISluaUhMTCleNGE8eFcy
fF9hblJUTnBLczNUT3RzODN5QmppbWh6MzFfNG5QfHNpZSRJPTh6YHh7RUx7UEN8NAp6dngoJldn
QXhaU2w0Tm4qLSZ8JUJpUSojbWVgIW8qTUh2U25PTVBVdCRWQn5wUHFZWTthMVlYYDN5e2Uoa3hX
Mn0KejY9eHRybU1tczlwJUlOfHdVbUBCVztkWjBNbHo4IVlaSUQrY3ZnZnM1M29sbkZwKSVObXRQ
R0xqPUE7M2QyQmRPCno3dChNRXs8RXVpQX5NZnwzYDxFXyFgTVRgKyhxMWAkMm1ncWohQzcjXnAt
dGttYzdfbmsqcXw7Xz42UkdyQ0R9Owp6ZGlAeyNwKGlDVnZZRmlhWkBHKHhnR34hVTc/RTkzNTVS
QzUwQjghekJZLXBzekpAU2dMe1hnSjEyRVIkWUApI3sKentoKTk+NEtzQHNnZ1g8ZkY5KXBjb3Jf
JFlhZCNsT2BLZH5ARm9pSStvKHYtcXJyXiZGZGNfdFB7KnZLVHpvYitzCno3TzU4aTJDI3kzJj42
Nj55emY1az5Faj1DRiszOEVQZlNUZUhifl4rMGc7STJEdkMyT1AhOGVkO3BPOE81RVF9Kwp6QTM3
fDhZfiRlWGoqVyFAMTtzeFMpal56czs9cDJueUJgd3JGOVUoTjJNUEE+XyphRDJ1PClBVXNibDVf
aEwjNGAKenstK0I2LXYhUWlrZGkoQXQrTX1qUzwoTTJkbCU4U0p5Y1c/VyY3WiNmYzV1MV5OK2dp
LVNOUCVGd3d4cVFxUzdoCnp7Rks0OTM8VSpeZ0lpSGZMRSkmdi13T2J0VnxBZ1NXcGV+al9AMDAk
Z2ZqMX5HejMrOXVvMUJ2bTR6QShDNWQ8VQp6bGpfQmVmVkcoOSZpIz5eQHRpQUNiMm5jI0tKZEQp
KnQ/WTQqNkpEUGs7fnc7Tmo5d2hNaW0kKUBOe0JBK3JURXUKejtnb05HZmpUSmNBXjxlKGBFe3cr
Xnd7cVQ/JG8xd3BJX0JTZTBFNCZaQCN8V2EpOVk7dz1JNjVAKUs9I2NIZWd6CnpQc2d6TkpaSHBV
TXdhJUQ0ISpsO0MrKWlNdE5xSlZPXztBOGQ1XlBEUG5pSFBGdDFlSWQrODNFQFZFKDQpbmkoNQp6
NEtQREFgSmc1eVFIWGhEYy0oPyFlMS1HYz9YVTROTUYxI1ZJaTJlaGM4UHVeb1JSZEpkfE9TaUtj
TU8yPHJ2PlMKejspfFlFUUA2KUNmLUpTZ3R2a09TWmE/M3NwRlZlfkhGVlEoQ34jKWc+R0lGSl48
MUdqOGJUZXQpPlJ7T3lQOUdwCnplRWVjRUY4RGBLZmA7dTRGcjBiQXdDM3NFQGN+VnE7Rz8td3Ap
Vj1kV0o1bW5WQis+QitJZXctVWpWN25NVSFibAp6citIO1JYektTU19DJlVUJmQ8eEFEKndPfDh9
dEQ4d29OZHVOV3RYYHZxJmFNOGZGWF4yNT88QjRUMW1Kd3hjZXEKekcwRkJReDZDbm5ocERyQlcp
a3dULVhiRXZfPnwyS2ZVYE0tdkJ5TEo4XnN6bCUxJFZNYDImd3tsUFdpe3MwTl5eCnpgbXJ1PVp1
Q2hFMFBgKUJmWkZTe0orUChOTE1YT1NQbFcqMztCayQmVzczQXs5UlZ2Pm1NbktxJk9ASiVGWWQl
dgp6SnlTQXApXn16N0chKTwmN0o4cXVQWE5feSh5TTA5ZlJrezAmTV5LPl9fI2cyaTRqN30/elc2
PmNZYztpP0pLRH0KekVDPXdfSUgyfVAtYG5ZclFiYHYpY0dTYEBuVUQ0LSNFK2haYWtLI0Y8bDY7
a15gIWVqZUhgRislejBlZHNsJE80CnpOKShwS3ZMcHtPR2E+UyVOWHlPYno1MXNGJT0qclFHamkx
cCFQR2Y+U3JCJmF3fDYpSGtraWJwRWRBWnpfM2gwcQp6djc9PzArJCp+Uzc2cmRYPXEyUmF6fm5p
ZzMlfl94Vjg1QkNje3lHJF5KOEM5QiM4MnwhZzx8V3lIKlY7aHIzVkMKekJxWWRTWCREalhRdHB+
NEl1UzBMMitGY1p1LSFzeSEzblR2KSNARW8wfFF7UnJROXtLYUE+WnE7JWNFZHdedFRMCnoxKjlj
bT9pSW5mUisyNG5MWSk4elpkd0UmMS1FTDViQGF0XlBMQCUoUzw4VmNITDdQOT8oVmZ4Jm1IfiFN
aW17dwp6Jl9AbXllWkU4N2gmcDY0RUlSTXNQQjs7aSN8eCVae1lMMyVmc3A2Wmx9UXRRZVN9TjRl
WChQRW4mMCpGPiFtSl8KeilHdkw5cFJQcG0oQUZ3U0U/TypXQ3pocG9fZUlmQzI1VnQtTWtrOCNT
NUd5aUtAfjZuTWxfRkdgb3IhI0Joa3xMCnpSQ1RfbzE7a2ZMYz5CeGZBZFFRZkp4MnFGbU0wQnh2
TWxoK0JHdChAKkNeJGo/a2A2WVBFZ1V+MiowQHxBRnZYQgp6Xm49UWYtV0JaKWtOZ3UyOUtTYT8w
KUhLRXFwJlohdU5CfEJkel87UiopcjNnZGpkcCZJXl5hQWdWeHVlYVBZWF4Kemp9cThhWl8xUnda
bkc/RGd4NiltVSlPSSZNWDFYWnZKeGwoN2QwOWVFaDxVUFFPOH48Pmo0VT0/JUJYdTxUaVRICnpn
VVBsVystRlJxbTY1WHdMVH1SYEBNI2MkOS1PQ3ZgUjR0U3taTjQ2bVNiYWZZcGckc1pNVGozO2hw
UUY/WExxfgp6RVc3SFNLQyVBZCllZkhuPH0kLTRiKj9jOUVlMjN8V3c5PmNFfmZMOWYtUE08dmE7
dmZHNlJISWI9TDNPLWZuVD0Kej56bW85WkVyTmdLRCkxISswI1NNK3hTZj52KEBPZHI5YENwe3Ez
bitmZ3pDKEtzWHc3Z2h3aCVDTkU2PDQ5eGtPCnpNfmlEKl5AVEVJcDZSUTZ7MnBQWDBVK0VIO25l
KngmMGpPN1hgNX1eTjgjeWQzYXgtU1AyOS0wbk0zTig3b05QSQp6a3hnK0kwdyNDakh7MSZKb1dl
Qmp0cXkramNneXA+SDZkUHxUK09zKmU0K3pYbENAYEsmdX1vYDBjamVkZDsjP1cKelNRfnQxMkp3
ZlUzUiQ7V05QbE8mTn5mUHdoTCQqVXkkUGApJGl9Pyl3Kj04PTBNM15HNUdUc1I2UExLczBLbWlq
CnpkdigtNjJtbTw8PzhRSkp3Ym56clExMilLSUtZQlp2bWNpIWpEPEJPSE5XV1peMy01THFGSl9M
VVRDTVRvWmA0bAp6c2lSdlR5WmBNJXpBPklxY1BXNDhKc2Y/TyVObnBuZXlxbDFpX2p4SG09eW0o
PHlyN2ZqaUozIWZUWjJFKyshc2YKeiVnZTBRUmhuXyooWk4pdWxvRXI8QyheY1R3UXZmTVI8cmVz
VElhKGtFUlZlTjxnJXU8RjFwczE+ZW9kaF5rd2tPCnpsVS0/QXlsMVQ5bmEkcSVoVVBycTxjcTNp
KUd0ZTI8KSEmbVlZYmMkTDUrKkxfVT55RzdnXlU/XmA9RnJ3b01yUwp6KSNodHVsSkd8eyhSbnR1
VSNrO0U2dTs8KlIjKX5HMEI7cmdwNSp5Wl5mfFVPUC08VjwpeXc8NXVuZFRKJkhBYXgKel9HZ0Yj
WUxhPHBTTWYwX1FReClBMEg7XlhZcVlqfU8mK20meSNkdUBATClTQ3Y7ZkIrWn5fUU1xbHNDJVRv
N09mCnpNRSVISldQX1VXT30hdD5VWl5LZTA3MDs7KWJUTzlCK05edVIwfjxHUE1pLXliVFAwLVlQ
WEJ8UTVyQ3J5d0A5eAp6VDJsbHN4clJmNkphdHVvXns/U1lsSmVVT3gpYT5VU19PQkhpZ2Z1fWsj
OE8leG0xSXwmMSVWSSE1MkEjVDFHIXQKem8tJEUoZF9zSy0yQGBieFhvbWBLTWl7PyVgSE1kJSkr
Ynlme1VfISlGRXZENUpia2FIPTdeJE4jQ15pVTlaKTNRCno4PVFUYD9hSHcqVU9XQGtjWlZJRDBZ
QHNxe1RZMTVTbGVMdHVLKHN8d1ZQeSZ1S2lFJTlreXkkdWZiTGRRZUhoPQp6Um1IRyF6OEZMV3ti
WSN6ViM2IUNleDVqPUYyR1B+a2A4dWRjMEl9TnFqMlBZIT9XeysjYmBiTnM7XnBTVTh1ZFQKelB3
T0JISUA7X0M9JitQKXNUcUBuZkU1QjFzblM5blhkKUVfVGYwMX09U2xFUU4kbHxuZUU8KH0wKWAz
KjxuYld1CnpSR1I+PCFMRU5xR25PLWFFWl5BNHdoemRYQ2lLYFAjdU44aWlNX15DWWpIc3JNOS0y
WHBOeT14NTMwPWJ7PDxITQp6Y0xKTEg/S29vN0EyaipGTGZ+fnFKUjxZZDlJcmhLZyprVSNkKjhp
QWNTWkxsdz5kVmFobTUrdU0ta2grTkpmZU4KeilXNnNDe1lpaCZkM0w2WVZnUnQ4K3NsPWd8OFdP
UGhATG9oYGotSVF5fj4hTjJ8a3V7eGVKPTxkKDNnMCg0Y1hgCnpIe0wkO2kjXyRuUWhaP3tATkw0
VVBxK1pgVztNRHE9OHlZU3g8fCZUWXZiPTYzZURiMWQ7Tz9AbmpJe1RkVmBLVgp6enBII0oza3l3
UHNkKmVNKkx+MyNwMWt2NVUrN2FYRWxLWi00JVpZMTlUcVZ8KSExRm1EbV9tRFAlREVNVXMqbWoK
ekRVZyFIJDMhS1Y9d1FqVnhXVDVmKlZHQG5YKEJYRz8zMmd2VGcqV2w+eThscj4qSWlXa2JFM2pT
NFJRbXlBI0MjCnpUKyNyRFIzYj9MZDJsckUpekBLJVJQZk8mRWFqQipuc2BffnlwMCZtQHB9aX5Y
dU8tODxMeFl2IXtqKDJtY2gmcwp6ZXQmfjlkc1BgVWJrKms0Z3Q7cmN4JDI0TXojKE0hZjsyYzdR
cDRZO3NIcFdMOS1sSndEbypxOVY/KjFIeH5uKWIKejJkJDRAN25TVmZofUBgV2ViPkdvVlohQkw7
TV5uWiRFMykxYSN7Tip7NUZfZXolWFo+Mz02bHpWfE50KnkmNSV+Cno7c1Y+ZkNiIzt9YHM/enp7
dDFJNlZxUWl6ZSFNOX5SVUFzKCRQeExLMzdrWFpOZjNpWCZSaT0tNCU1cHc+NmdIJAp6LTc8R09m
X3QzfWx6QUpzc29nI1hfUVE/Iz9JTyhwNiN6eCM7dkEhPlZyO14+YVdxYnBaWDZYNEJ+PGJBVXtC
SCEKemUjYSs3KldWRGl0U1NWSUxDfDY2JnxrU1YjST5DfT8xfDwxZmUyKUdeaWVRV3NIYUsqYnFI
M052OW81TWYhMDBBCno5e3BZRUx7dWppVlV6Q00mRmhnfE5scShXZXRnclBzVFFzWUE1bWI5b1hl
JCkmTT5DfHFCbU9sPygqfVQlJUJsUQp6a2l3PTxZZjRKI2R7TSsqQC1PRVB0ZEhCLTc1VG5IbFkz
VVVLNCU8ZVhJdU03KkpwKXxvQTdmKk9QRzZIO1k5JXMKenokNVlJSlo7Q2xsU301YjI4Xjk2SnJx
UmlZZFY1KmdPV0wzUEJfPGRffX5mRCRRNn1ZKUVYOzNJKmdqTXlWaiZ5CnpMTiMzJXZBeTZMP1cl
U0t0S3Y+OF9gJHRSOEdkdV49VXFHVVpeZyQjTD83UVRvbDg/WUxSNkNyKCpVJWwzMnUrNAp6QChQ
U2BVb2FLaThZP0VEYUlKX3FfRzNYO2M9clFod3tPd0xYdnExRk85UHdtb3k7bWtQNjl4RkFlaj1U
KSZ0bEoKemJmQzE1ZW1lM3AwNVdtc0xBWHA4dE15KGMzYiljRDBLcFVvc30hTks5QHpETyU5S3Jz
eVlBaVJkXnJkNUMrViowCnpQRXdWczZWe04xUWdfKChYbjByWXlWU2t3N2xeMFJPPGBwYj03VXlm
OWxQcEFDIS1QfU1iWmBHQVZ5Jjgrb3t6Sgp6TDs0cWVAN1ZGWU1mZ05JNUUwJEA0KENDfEprb0pE
SHVrd1NOLWREd0Zlfj13X3JPeHUqSUFYIS0tR3FERTIrQlQKejdtWlk0TE1UKmM/JVBjS0ZhVz1p
N0okZCQ8akt5P2d4eGB3dHRjV1I9eSU8bj9MRmo4UjBXc09yRlkmNj9Pd0FKCno+YUViKnpJZ3Bs
LXE0Mzh3QVglMml6PVdHLSRpWH1uKXptUUByNCZiK2NmUmlNa0EhM3JaVzN5c34rV2heZ3B6Mgp6
QXp1fW5xeWo0JiFYYDNrbX0wajVFOzE1UUUtSFgpUCVPPnkjPzZWVF8+TDszKCgrSUlGbHRLKU1M
UGFAVXtNekwKemxAajFpQXlqc1YwS1VRZEpoS2AzJUImKFdvVnYlS0dSSUs0cSlxQVdacENIfjV1
KyZXS0NKdjhhfCFQMyN7Q3tECno2aDhGYzUzazlFMyZ9JFBJVGBRb0F8VyhTRmJNbFo0KFladiYp
RWZqcCZtUFhFPkUkWXs/RX14KW1MJU1IfUlSXgp6SEhmYCgtX0hHdCFXe3c3JThCK3IzRGxyNzlm
ZW4jUk19RERuLTcjYEB8c2xSYEZTfVR4K2FDNjhKdDE2bCFURm4KemhaSX09LTlLbjx6cHJ8diQ8
X0JoaGF7Z35mb305MTtyVGlBPD9HPFA4ZWl+QTtueFM/b1N+VEptZDhRLTU8Y0VoCnp7NCFQWkdX
ekU2dGcqWHVHbVdJUEV0RUswUVA+UyNEemZxTlE3QypQa0JiXnxYOWNCI1pqVlp0ZVpEJCpmaXgx
VQp6ajVgRiZ6UHl1OU9BQk5gSHxsKnxXfDRWZksreExaViN8YipHPFlwRj0wTGc/Q1YoQVNoeGhw
RmUwTVo7JXJ8bFUKenJ5IWNqRXA3TTJKMF51dCVufkpsbmRCejs1K1NNVFMoI3lSTDJIPjFqNzxD
WlpDaUdPenRGc0g1KllwM1l+TmBWCnp7KTRZPnJvUGN1PFhWN21HaGd7Nml6NEJ8OXQrQ0hwKlFK
SEVzcm9lYVpZdWxHTklaRG1OYEFBMlI/dEZXOE9PIwp6UVMkZ31Zdyl8OVRae2dEey0/bFY2YjNJ
d2ZuVUp3RTEkaj4/bUc0TDRYO2xOYGU5JjBFIVlpST5FTmhgZzUrMTgKeipQRld1VnRPJXdILTY3
VXpWZkVlMHE5VlRJMTZBYyUqWSlUYUx1ek1hIWc/O2RLZCNRbHY4d307Ozl+Z2koI2t7Cnpqa35w
RW89fUhqQVRmfmVkaz1CYXI1dG5zXypZNkxOTXkyLVpwNzM7by02Nit1O2F4S218P1laMW5VPkNo
RGkzTgp6ZmNfNG1xITtTKDUrR0sxb00tbDlQaihpe043d28lTTIrbE4wKzl1aCRAazwtbjs4Ujgw
UnJmQEBmfHBQO25JRWMKelVeKTFsdHwralVTcWRsK3FfOEdRI2JYYmtPOGVBWU9LXjJVZEJfSFRf
QiU9fjdPSkJyOSZrK0o/MUJfTTNsbHR4CnohbmYoTXUzM1UlUz5ROHdZdHBpSWN9aEdUVkNfcm5B
cDV3c0dLJX41OHZjUyZoYkVvR3AmfkxiSGpeU2FtYWheJQp6PV5VdWdYX2RTa2g0VHx3JWhjWDtE
ZmU3KzxENl5PQXElTn0wMyNQM1pLT01uYFU5LXlBcVdKZ0txMDVKQkI2TzIKenJrX21KKGJlWVlm
bmVJQk9YTW18UWxWYXlGP2pVO20lcF54RXNaOG9veHtxTj92UWVYdW5vU0ZfSCtPTSF0NXB4CnpG
NWBrMDJnI2g4UUhvbiVUemR0QClGMFg1azFve1hCUzJDSTszVnFtaUJXJk93ISlHYHh1dDErakVk
KGZMU0cyPQp6T3Z3a1FwLX1QYT13MWVuVWU+PFkqMy1fWCpCPXZFNW4mQ3ZuNURVKSYtIUdPO2JZ
aXVKS0R7NmZzJVBXe01OWisKeiZGTFhmN2duYTVGUWlMQEYzRFEzUTsmOX5wT217WTRKTk5aO01S
fT4yTUpHVXB6eCZuQiNDY2t0JDwheWdQV1ZSCnp3SSEoaU1nUjhpdFQqNGQjNmZIemRgaERYXigr
OXA/MEJuU15DQzE7JiY2PjA7YSZ6S1hlM3JgOUVUZDUoRiYpYQp6VmpHIz11VWY3ajIoNz1tMmN8
blV7SmB3akRfJSFIa3omeUoqX0c2SyQ7fFBqejJFQmAhQFFGUzhecHVBQCt7MlEKekpWKHk5QjM5
eW5lcUAzTz8jRDYxQHxCKD5ORWJwYV5fNlNgdGkja3tecyROazAjdTxNR1hjX3IkN3pvTHNDdzN8
CnpDI3lSZ0RhTXtXWntEQktkO0U1JHlvNCoyOWFsamxtRnhaO0tEKkNhS1ItfD41aWs1Xjs3RTlt
TipQd2V6bnJ4dgp6RyN2VTFRXigpfmJBZ3lSeUkpR3JyTitLUEVnYThjZip3K3p4QGNNTHRQRUxN
Zy1UcU1NUE9ueUxwNj9kSiZvcG8KemNXOGhXOzIqPCtxQztEaUtmcWBrcmoheSNeR0krV3VXUWRS
aU9PKU1ZTiZaNkZ4PyNGTEVvbCV2ODBiNTAoYyp1CnpxKz1JYG1TQFpnenBtOzs/Pk1oUC1GKzx7
QVZ1Y34ySzx5a1l5QSRZe195I2tDKmU9eml8RC14SzVuKWQyZ3E3cgp6TiV3c2I2KUloQmg0PU8q
SEI2Q0IzMnM5JWQtTW8qRShUM2MwPXFffmpHVWxUdzx0bTZefHlRfTQjO1ghQVZCdTsKelE1eEhk
d2hNZ05od0Amd2EjajMpNzxDRz1KOGJ0NFkrfmFMOCFwUSgxYGpAOHhzRGR5JD1HSEN3Rik4ViZx
O1NGCno0c3NJe1JlVXIodWVEIzgre3p5SCtNaFVMLTA/QDBJV2Y0ZSVYI1JPI0k/aD1uY0MwNzNW
Pyh9cjxyTHYoTXNqRwp6JUV1SiM0RTJmKFUqbjsrRDNPfFRyJDVSe145cGg1NCFyMlJiJHhpLXEy
bG5eUG9BcVlqNSRCQGAjLXVLRihPcGwKelh+N3gycmZjYWQ5PjNnKjtzZ1orQXV8VEEwPnJpVXtt
Pk9FeTspTWAwPSt8Q1p+diRPe0JDYiR7TVd0cmMpRCpXCno5bWJxY2JvWjAzTjRqY017bG1FQnc5
ZT96NT1EOHxpP0U9SzJeN0lQOCRrdVN3ZCV+bEwhbD1GYHxBJTReeWJtawp6cnRyaSN7IVZAaCFx
bD9ieUFlSU5gdyhyJVgjbGhhNUFsNGppKFB1cG5PSU5ZRV5IKH41d1A8X2FsNnhwT1YzQV8Kejkr
XzlRWD5YYG9pNlRQM1NDOTdRY0d1cG8oO0dWTjluKylqIT1GPnpEQH1CbXgxQCE/RGB2X1QpKUFt
YyptRkFjCnomYVVeQns4Mis4Nz1zKmQ7NjdtNUpFWGwjT2x+IUokUUY0PTJhUzUwZ0RYeU41M2g9
fU5EWjNNZjVJRno4M1F8aQp6LVNkQ1opfGZaMlJKREcwdjI3Oz9sWUlzUCp3NCY7S2ZoTE84Ul5z
eXp1STR1UndeQ3x7UEN3TV48fll0KGhAdVMKekxENSptKms9fHtVJFBYU3h8eW9EdXt1bWBDQ1V1
emVIcCVWKi1eWHI8Nko4RD58RHMqYH5iVlRxTiY0MG5LMllSCnpLX3x8OGcyR3c/bG1Qb3JHeFJO
M3tIfnNFeHc1KileQGYrM1FpZDZ4RmZxP3Q+Z3JEMF8jQiVudCF3PFdmN0NyTAp6PG5oR3A7XjdD
TkBIcWlXTURRYCY5R2NEZV4xSGR8THclbChrUCRiWDclKj87aTVePSZ6cSlAKCkjSiN3YkBLOXQK
eiZnQEF0ZHdVSiRWJCp1cXl2WmNHdXo+KDIhPTRefmUrK2QtVS1pRCRqaDxmeytHIUZ2Ty1uKCVI
PUM+MytjZWF4CnpyckZtZVNINjVZeGE4S0cyTnpaVUctK1YzU3dlKiExbjRHJFpBPCVVdkNyT2J4
VzQ/OUtTPmdLMHYtI0ZaVCQkMQp6ZWN1eEdmZ0lXek99NmsobmMzWGpuMHdNKnl3fnZmJCV9IUh0
THgxVlc8NTZfT1N3STJ7Y31RO3ZhcGk/LUdaSEcKek1vWlh1PnNQWmNEfTtTc14mTF44Sz1wNDtF
QTBNfHkpemxXaHx2KStQeUprXzhAPUQ/PmFUOHw5T3hAZTlfKyhiCnorcUtlcj5LYk9iRXU+QUdt
QSs+dilIX2FxR1Q7JlF4PnIjfEFAfHRsWjJhK35FXmo9RmVHR3k9WjZSa2cre2U0Zwp6TT5XciFj
JTBLdEEpKXVsb0FLUDReQz1kV0BfJVokYGBhTWctZElzTFk3cmolSn4wd0txTi18TVNMcipoIyVn
UyYKelYlfH52bmtgaDRtYzdNZ0E4MktsX3dmYWNGUUE0OHp0NzBrMV47Pj8+NztXKmthd15tLU1H
YGNZfH5ZVjhYSERpCnpLQFBnKkA2dmAyd3czPiFRc3YxRlBsQz4oY0loZzl0Rjx3bXl9cD5TJEd0
ayY7YFRQJF8/Uj5ISkM8aVo5dFN2OQp6Tmh4KVJecX5KYHpUZCpXKGQlMXBpS3UkdFJQfFkqQSkh
PW09Rl5QU0xHSEZUNzNXU1hiSXVRe0k+M0xwSyNkJTEKelFrKW0kMkB1TE8xPWh+UylkRnlKZyN9
cCNVRU0qOERnIXJZbXA4dWh6I1RoQkFqd0J9bm0kPHFlNWRYc2l8MkIlCnpYS25RTm5JY1FjY05t
SmROODx4aE10Pl85ZUdHV3xXZGhvS2s4SXVjMWdIUzlgKGZUNG9uY0QkSnA2VVUqWT8kdwp6R2A1
c2dXdmFTTyR9al4mPnZzY2kkWWh1cCUzZTFkbEB5KSg0UHo0MEFHZFpJYUVtP3NAUlpTcUAjTlFk
eTw0O1oKem0kPmBvJElxOGJeJFg8Xk1CVWc8MHczVVN2JSRleTdyMU5QZlhKKXNVdUFeOURhNSFe
dCp3UXpBdEVRTjczUFFuCnpwODE3dVJIY1RAZiFkNyZVYTNkJVMhRD4zWS1OZXE/fXJJRHBEUj1e
Q1ZoVnhlZFR3fFVBMFJFeUFAXnsqdkU5agp6QDJDd2F8RDthaihAb01WTHRFeG08XmVuRnJvPjsm
Y2p3SHpKZFYxWSF1eWlPJFRoek5lUjtyVG5vQ3VQZklHNXcKejZkQjNYY1hfaD9BVnBkWV48SXll
eCt1JFkoNUhZWCRPQkpNKypvWXxAS31rUjBsQDFtcnQlbXgxUkpabDE5JXdHCnpIMn5PRmJCOVBq
REN8VElBe1E/WF89MGJ5TS1sZlVJXkRYMzMrVDUxV1h7YyYjbT4zTlhNKWxpKG8lZCs5UGxzSAp6
dm1gKGJAVksjVSRmZ1ZAKlledE5oOTVnSms2dVUqcFlgcEhlc29Vd2l+TygjVmt+VktDOT0oQHNq
RlI4QTlLNkQKeiZaNFlecXZSZHFDUXxHOHpMdntrRSZSIWNaQCZkJU9aM1g5VlFOKitzTCEoVEdy
emo4Zm5uNyZDZEpNXzQqSGZFCno/KztPKTU3ditiSlhwOEkjYylfRVJRT0l3Mj99SmR6UDchMkxP
WEF9bjEkKSVJa1hPUHJVUT0rVWpgKDNhbUd0JAp6SjMrRGFFVXA7QVQoRXo8ZEFVKXphTHYpP3U0
Sk1PSjVhdWFCfkUzYXZje15JMFpnakFSc0NwckxQK3lIJnF9P1EKengpKihhdjxXfTxSc0FlfDFB
NXo1MUlNWCMwWU1Qd21jcCFsYmc4cH40OFVjTFF3Sj1wZUIkPl9pYXtubD9UNFUyCnpjXlFjNGoj
ej53VEd4UEJZZkkxcmAxZipkRDNEQ2E1PHAxdDBNeDhETikhbWN0WHhMQnUmbTwmZmQpV1BacVJ5
VAp6KiElcGQxbnR3PXF4fEo4XztOO3N1aV48JUFNQVNXXz1eeXlucmhiOHYteUQ7Xm92Nz48b2BW
QUsxTilSKCVaPEoKemM3TSRJSUcoJmNETCVEMm9AekpCYWBHYWA4fHtBNFYqc1hlWVR2dVUxMjxx
SWwoS3RhXjZ7JTEte1Y2dHhvRDQ5CnpYP1d5N1UrUj5WK2dCTWFhaVp7ITNZK2EtKi1ZZnYhJUpA
Tnk2SDBtNmlnU2YqVzRXZW1XSEl0JGMzRXlJfVd2QAp6NU88QEJEMkYyXkcrKS03bFh3dm4jOUde
U0pCXit5IXAkemRuPmNwZCs9MDc7eSl0YWhXYHF4SilMTWw3ViNgYFEKentxTj5NMzFxY00yOGtX
PFByeUJWWEpLRktFbj9kVz1KMWtLVmItRHBudlF8cmtRRVkpZmR2b2s3fSNJfTVRT2M/CnplaDRG
RW9PR1olbE1sZmNrd2VHa24jRy1DXnVTJTRhWX5qdENnVDhldSV+cW52NGxRcW54STBRKkAjK3Vt
QEV2fAp6LVBNNTt0b1hePWNtZ28waWt0Z2BINSoycG01NnhRR1liUEZ2YUtscm51U3soVz95PnEt
bXN3fFEoRyZ3OH5rTVAKekNrJXstPz91Q0Y4RzJMKiU+V1ZfSCM5cGJZZXVvTUl9VDBwOHtERzlI
e04yVihzfWVvUEVQOGluemt1Rm96Y0RjCnoxSnpkaiZiZkpCSDxnUFIoJXtwWjRKSk0pX2l0TSRF
SC0qST5TO0szYn49cngoR01iMHRxbEVPUzx4SHRPbjdXKAp6M0oyMUdFJmwzWDlre2FScj5haUdK
Xjs5cWVpcyFQSShSPit3MWxnYTIkJHc4UHk/S2txaj5OK15Ebj1DTCRxYmAKejZnJFBIT1JTLV51
aVd2ZFYjIVc9KntXMDJAVGVCX2lAS2tqYCVXMmBrTjlZZUYzb3d3RUR0P31mUDJHKzw+Pm1oCnpL
SF4xcyk7K3IhRCYrP2YtWT1VNzMzfmd0ZmMxfjkyQEAzUENKK2B7Wi1hWnYhemVJVzxyO35JOXcp
QXU5enhJYAp6SzFSQ0o2fT5ObG9RV2RXMXYpZzI0TT1VUSl6O3hEaU1laVFrZD9naXhGWUV4M0wj
SiYwb3NGSU9eKk5lJU5lKCkKemgpTFkkWFM9c0tUTypTNEl9X1dgRCYpU0ZPQUdfUisyc3JBS0VV
Unl1fGR3ezBaYkJTSUx5aShyMDFQVDZ+b09YCnpAI0xoTV9YfkUkYlNzZnFXKzApcnB0Und+NHsq
Xz40JWRpI3I9c2liYmU4QlY9ZVE2c0tFPE14Y3ROLUt4d0l0TAp6USo4UGomNWx3T0NKPi0pam5T
WTkyTnskUHN2a0NqciNfUjwxb2ItKkArMjxXPnVtQ0h5SG1kWm9DR0FgaEg/T1UKenlXYnlHVEJ3
KGV4RjloIW1QPThGJTZMKHJvQ2NoWTtyO1JEVGkrKj8wY0Z9OGNedT8reGh1M15VRUtjbCM3IUE9
CnpVbyhBaU0qU3E5Q298bS07Rlp5cSFyM3JIPSkofW1FI1hGdG8hcSM/VEZqdTlnZ0JWRUJ6UGcp
Qj0hNlVyI1Y1PQp6VHxuemYpK3N6VlVuY3BzP0pjVXU4fjhBJXtRNSZjJk1wQm5vckZeZGo0cD18
MiMqbV45QmBobz9hTmVVM3Y3PlcKenRsN2k2Xmc1aH1edihyN2VZOHc8SGBsbWQ2UnwrdVBma2Eo
OSlGSl93eilIb1RsTkQrLVFud002LTZXc3luNHRBCnopd3xLMjh7ZU91ZjEzYGo4WUNKcDE3ZCZX
ZSZ1P3tRODQqXj1JWCt7WjJMT2ZIP2hnfU94a2o5dG8oQiZjIVYtSQp6e0ImaEZzSWluPlpxVzhA
YnFvSzYreE1lRylUb2E1Ozx4aFY1Wkx0JGR2ZEZWVVRRUDtGJjJkLSU5TnZNZnhZJigKekdiRU1p
MlRtbzFPRmhvSTclJXc4UGBrVX1rMGFrKSRFd0JeNz1DR2s4REZzVkd4U0NsKU55dWlSTlJWXzJS
WGtDCnpaVjMpTj9aezZKVT9xeWR7MHFwYCljOEdgelZWSWg/MVUpI2skWkg9WlY7MnZANHBoSDMq
bVkmP0M+QVc/S1R1SAp6ZnZBTTZUa0dRUkUzNENwMlVYYzBIez44aWZSKEJQZ198N2lOUn54VEJm
KEw2amAmJFhMTzhvMzBWTTxMc01tJEsKei1FJD1OIzg0fHIrOCZ3RXFzdiRrT0l0JnlUK3lkTylZ
azdPPTRoQ3w7SmlaPWltIXc1eWYjZGQ0dyFxRWFpdGJACnpHSkk9SDQoPWRnRFhAcU9hYDYxWEd9
QWc0NnZUcyROPEd1cHNgfjVQcXs9Ny10KSE+JUJXKTxNSXxhTTIlbnZlNgp6aUsjc3BWbl8zdmp7
WkV1V25BVDY2MCtRNigwLXFDSnt8KEYkN1NjP2ltMylXamY1WXFHQEp1dmRfPUApYS05LSgKejlG
fDxseGpjSkRgV1o1OHRMO0NoTCh1VHt7cFlKXy1mSGNrTjRzZj00RmVTWVAqPXBeSWdVO2E+OGIr
VV5kfX5CCno5ZER6b2FZNGs0YUF7elo/O31NQGw7Xn5EWUZuTkViVXFEU00zSE91QCZrM2hFaktT
JXV+PjRsbEw0ZnxqMGg+dAp6eU1JSztaKTlVZTd6NilLbCpBXjMqSCQqU0AwZFdPc344O3AhQVRW
QTgwQE0oYD5Lazk9OSFURGsmezteKEJ7blYKel8+OFgkNW5ZJiZUe25FfUElV3Q/NWY8RmBHUEZ2
O0Z8OXtPM1lHe3djSFFnY2RBaD8mNT9FeHQ0dj1+aytqRzZgCnpCX2BMRistblRwLUgoWEdKfmNt
WCpWfjZ5dXB1Z314dU9BT1YwMW9EUUZuYE8xb2Y/KzBrMj9FZHFfaEI7XllMRAp6VXg7Z1ptQlQt
dENwfDdOckthfClGVFkpfUBBSkw+Jmd2cSRiR2xjOUNQVHBkMFVEKXIwcUFUQCV5LVoyMEkjJigK
elVzK09XVntORiQyfVhFeiZyTks4QjQ4KFpsXm9LK0xqZ1lLTHM8MHNsQ0khOUkzfGUoVipPdl5H
QGRpT1c3P2BrCnpfQlBINS1nQyZ0WG8/KG84P3lkUmJLKWRqSGI0bGh2d2VYVDQwMz12WlYwfmlk
cUVTOTgyRE5xPSFvPFY1YURISgp6M0wzYVBrUyNNY3VvUUlQSm98KV9MUDd2cHZRaCs7QmI+KTBf
OXw3fGxNdThJPCt2Wig8KiVmKSsmKj9VMX1PK0wKejE7fHxqKUE1dFpOM018LSs0bSVQTEtMMjVj
IVdaMWJ4I2lRV0V8QUpnNndlM3JrPChKMTBGWnNPJGhzWWw0K3JxCnojSms+U3A/LUdIQ2skNUxV
M1FjY0RMP0JEIWw7UyU7P1F1a1NVRz9idjQjPkpQSTdgSDJ8bSpYUjFKZlZkMTx7VAp6PUU7e2xI
bWU7ZXY/K2ZUSmlKODAqcWN5LStMKCt9NSMjYzNKd2ZMU2JvQFAoaj1zQXg1eWtHPWBiRnJeJnQo
czsKemBIK3orZXtuPD5hYklsJS1RWVl+Y2R0QXY9VlVkMjdhIWB6UjtJKTRWd3NuQmtLek9HJWUm
RnhZJD4me08tSTReCnpIZGE3dnQpSzwtPjsodGtmLXQ2ZEkwKyRFMGkrZmszPmVyTCpDe35gP2Vo
NXlEMmM1WkhROEQwQWlOJnxPTk18Nwp6aEpTQ195Yyt1Y2ZVcVdYY1R3djEhZlFLLXRoWHdKNnJE
VzB7UmdISDx2dUpwMyhsKntkYzxlU0NJc21wUjBeK1YKej0/aF5lUzQjP0l1bGw+bChpej1hSj4z
S3FYSCFjWVI7fWsqdjVmNTZuZClfNyY9YUZBelU/PyhCUjZBeWJLQUd4CnprWiopaitiUWI4MlF3
UzhYYFBeQiUlYSh4ZUM1dmAhQX50aUE9TEFteWA0WUZaS3FuSXo2OXxvP3VNeX5ONTxeYQp6ck0k
bm14XmJmOCFgNTcmWVNJRyFWJVhIWmM3QVRKPSpEeThuOW9ufDJIal5HciR4akd4UV9BYUR+VDhl
Iz50USkKejgzcEtQK2dFKUBMMW1LQGNvPU9HVTtnZ1VsKTZwQUgkVFhSUVdqWnRgPCFRRFFJVDRy
UGVBaCg1TVN5I2Z9IUFrCnpEdEZtajFoVkQ8d3JIQEBxO3hBQDNQQigoKT5RMm0yaSN9QkxCWXht
NVktaXhqd3REJjMjVlBESGBhTHJDdHxpPQp6PiZOTH4wWmBzTmBFYVNhRFF8ZnZheVJhZ3tLeFor
ITNGbEdVWWYxPHNgIylgZng8VGdSMkoreFE1Kzt4em5UfXQKemJMczV2WGZuJU5ZZn44amVnIXwo
NzQ/cVZFJX1iIW40YUUkPlh2K3NKVGo2MEowaj93V3VIa09TIzszJCVfJW93CnpiJVUoRykhYWlt
YURJbjNYWmROciR8OXh4OGpMdmtlVGdHb0Z9RyolJmZgaEVLZUg1OHlLNX1IUXgjQE1DcFIpaQp6
KSlXblc2dUU5I1NHKWgqeTRMMlJNKklyemZ0LWNQZyZsYyU2SDx2KDg1Zi01X2pKMkIkLWBGOUU/
VEBCZGJ+KEoKemFFeENXIyNtMWR5XlVNR2ojaGNYP1p0MU88JT9mfTZAQnJ9KVFGP3Vkem4hUE9i
czVGempVPFJCQ2tSPFVERDt6CnoqVVAkRGdLQEZxcFNRN1dLNkxtfj1SWWtLTnh3MF90JmpVYypk
byZNMEJoXipCRmp3dD5qOEBBYCtzSnxHelk2Mgp6WEl8UjctfXtLKE9ZYShXPHx3WnpeZmA4V09t
JSZLWVZgYj52Kyh1dGxJYHo+JCg0UWtPJXQ9OT4hMHU2JWRmfEQKentMcktXdE5efk9ufnN4dkhY
LXdiPWQtVD5JMiY1bGZ6QS1nJUd1UGhffkMjQyshOGY0YCt3UkBSSFQqPSpXUE56Cnpec3dLN0Vs
T0xAaV9ZVF5hZGJfNT5tNmIrcWhta1U1PjAxKWpjNkdZeHBkMH0hbV40ZTB+fT1lWkR6a08jdElP
aAp6YnEpTH4kdT1xMDA+cTh9b2VXd2I+I3lkcnA+fGlTQm13RHUxXjdIZFU/THVQVHBUQiQkYEdk
a0Z7UkN1ako5UmAKejs/flU0X3N7ND04YWk8SD9xKDsrMilQfC1iYHgoX0U3NzF7OV55OXRmKSt5
YV5NJi1eQkJ+cDRQbj1nPGIrP2xkCnpebF41IUY0Y1E7I1FoYVRJJElIaGUwfktJV1h3OV8lK0dK
Pm42RjU8SF53JmYjVGhXPHkmSTYpYGdqNWd3cVFTMgp6bF9FYlcmZEBjRGUzYzxUeHdraTg1RCM4
fShnMkA3bisycGpqKmIjPkNkOXM9OFJYRys7U3k3dGMjVSsrX0VtMksKej47NCEkVW1IYmhPNDgl
VVM3fHxGUWY/QiR7M1dFPUtIRyVtQ0czdWcxPmN4REpSNmVfPUZAZ2t5YHhfN09mTStGCnpqMF8t
blo0fV5xK3NIJEU/cXdUe0pIZUhsK09yXiE+b3c5KCNRM0p3dnszSi1iaGQ1bzYqdCZeNG9ZWTNB
bHk0KAp6KE4rUDtUWjJ3cjFhdDhBUHJtckJLU0RjS3NMdngmcG5vYnRmcjZkXzRAQkhyWnZnQ0w8
TiEmUmZGaS1JLSlDeTcKeldJbyRWeEc3b0REeURhUD5wb0M2P2Y7IUJqPW1AVDBkPW8/SnltP0BU
WUZWaDN6TVM/NFlZQCQoKFZfU0d6bj9ZCno1aih9anxCfk9OYHZzMU5ZVyRmV1VOeFdyVm1PSiVh
QVk3JFVMclBQZjs9fCZiakU+Y3hOIWRGX0krbzBgaWMpUAp6YisxbCY8M3NCMkdHVGY4VXUwZ3Zk
ZzU0aDN4T2JqTSNoNDI9cys+N0ktUERVO2d2SGl1VmQ5KSgmfmhHSjhDRWgKejV8R1dnS2t3ZTc3
UjJuRVZuYVdAe2d4WEFwVjluWWkwbmZXO09wdjIxT14wY1o9Nk04Y1clPGI1RTEkbnZGWmVXCno4
b2MhVUhVdUJZNUh+KX52VTRhPWF2S0lCJTx1YiNOWWxFSUVBVEM4PHBrRHlPaEFmKGVxJkQqLXo1
Y0pFPSUocgp6Yy0wX2M+U2whe3ZheXIkOEhecXdgVn0oZTB3P3pCbyRkNGhUc35uTElkRG9fITV0
dyoxaT5NTWBPUGtkSEY0U3cKejR0PXsoLUtSKkttLUNNRzZZK2w0cDEkYG82YUU5UTAzekpqZUdx
NkMwe242akxeeyROMUYpQlJCNV9eOCs4R3s9CnohO28wMXFHI1JoWWIpMGs/KkY3Xl5IZjEoUl93
WS1TNENHNkpLej5kaT5ta1NSYUtLI210eytRSyFsM2VpSyhDQgp6KnMqR2hsbkBIZWhXcElTYyRs
ITFVOC1kRXlaKzdVN3ZWLXVHJWNWNjxGfmMoQ2VKUSpRek0lLTIrSGVpajc3MGEKenM2VCNvUnRW
cT55PDg2MkZuP2o1QV5ZJUpRfnJgWk0qRGQ9WnxUe0l2ck53fm1oWnBnITdZRVFreXszNz4kUzZ4
CnpkK2ZGeWRBVmgzY1ozaElLPUZ2Q2FqNiEwMHhUaER3ZHtjSmpsT0QqJF4tNnJqMVpgZkErdn5w
YFBFMkRQJiVYXgp6UlpmPEtJVnpOYzV0VXYrTGdaP1NwQTxRZTY+TzFPamZmQzxqUjc/UDUwbm45
PCoxKnEmZ1lxQGVmKjZMKy1fcy0Keld7VDlob0YldyhmbGZsWUJ1V2pfYnAoNkY0d1hJYHJAcXln
S2REa3IocVZzKmBIb1dSPGlpV31yNlRjPF5idVJkCnpzU25lfkQpdHo3TlI4dEBvM0pGZmN0cHQ+
U0ReU3kzQVNLJjQ9O0xrRXNUcHU4N3oxYGVzVFgpQ2NTVlM3ZEQoXgp6MmNGQStscHIyNWQzR0Ip
Z24wUXQ0RHB4ZnlvYDdfWVJ+QEdyVT18I0pmeFQ4dG1eZH5iKGs8MjVya2VOSX0yZ2EKemk1ZHlJ
UTRAfC1mT3FNJmxAakckMnVTU2l4QXBMUm9jaHsjKj5UcW9YYSgrJW1vRmZxS0ZHSDZ7a3AlZ00x
aXw2CnorVTxnSDRLPDZocmNkbTtgeGR9RGRTP15pTTFUYWhCXj8yRXEtdXluJU40QH5oPnx7UVUo
c3BzcFdpS3JDM0QhNwp6byVMbiYhZm5VJVhjfUlCQTM+fjBINjw0NkRBV0BucGZQWT4rMDVnPGl8
XmV0Z2I+SVNwMCNsdiFrdShXejlWblkKejZVciloSSY1bj5sVFMlIWFYV3BpQGQkKSVCMjMoaXlC
Y3p3fDFRU2s8aW0lZ3ZycX5SQ0RNVjh5Q1VjM09qQFJlCnpHc0RUJlZJRTtxU0M2V0ZgZiVsaVIt
c0Z7I0JFYFpnKWxaYT9RJW82OX1ubV80e2N2UWVOaCVKeT1qTm8oO1RuJQp6JlEmNzU1fHU/S0h6
JnFNWCt4Zn5rWWJoZ2hVa0dUKHtfYXQ0e2hzcT5sTGJvIy05fl4kbENxV3cpZFBLY3RzNSoKenp1
M0UwdGY9NWR7dTZULXRXNTgwRGFQITVIYkE3bkg4JFFSY1dBTV5XODw4fjI0eU19UT4rTiRTRC0h
O2h4OEsyCnotSElgS2phbiUhS3Z0c29BdGdZJXgjTiFqM1BfbCl6N3EpUmd6IztkSUNjXkBzRStl
X2F1Jm5LN21VX0FhM3ckcwp6ejxHX0xrQyFqOUszaEI1NzxKRnRHZkd+c2ZNIz4zRXtNZX57IWhq
MD09ZCtPeF9mOy1KfjchX2xjeituTF83Q3EKekE+bW93cTB8azhjUT5nNSYqVzt7SURnbU9OQ0ln
TFBtdj1NO2lCPmkjY2pJIy1BODxMQHlHP1c3alFIb3QtQV9ECnptPUZlcExKekAwYl9IOWghRSNf
YHF4VHJZbiZvclphN1FNOSkyd25waz5vUFEpTjI9QnpTbyZALVZ0RU9VQUQmVQp6a1QrMyNVWEJv
VGhrcXwwPW9jakdGITBfPGhsfldadzFwTz9CQmo5aVZwRz5vNUVRclMqdFhBfiUqNzVtTjkmKEYK
ellYRTcqQ1Zge1cxK292blltek9GenVuZDAxaDkpWG41PnxuLSNYdjswJiZocEtGOFNnMHhTMitQ
YXVlYVlNSUVHCnpDPF40YDtfXj5PPzN1KShKcVBGbCptbXRNPj9sPS1sTWtYWDNLUClFQGM4d0Za
JmtgcWFYVjkxckRLTnt5dShjRgp6NigmNXskVmVkfGx3eUxXZDsxK2MpWlJIeDslfi1SPkwpblBq
YlpPKmReXlltV2BIX34ob35gQUx3NHNnSnhKfmMKektLUGhxVDJGaWl7a09GO21PY29rd3w+dVV1
ZTZERT1QajMhRWBiNGotYm9VMXtQZiNvK313SmJ5VkIhI2lYIVo/CnpYMkYrRjk8TjlTWXBIMVN4
QyM7QzhVYERSdCYjQzYtQ08oU3RSfjtlWHJEa24zT0JqOD8mJV8xUHMhKyZKbUprVAp6cFJhRFcx
dHUkMWBoNVh0WjA+bDk1eiZwX1RFRFBRMHEpOE4lQTIxSj9uVHozUGFoP0BmQz59XlRsaWNVRUNg
Uj0KekBwYn1JcHRZUFZPTD08PXAoTDNieGA7V0g4PHNid0BeUG0mYlRXVGI0NnhNMF9IUGV5N0BZ
bmJtSjd5XnkmbDJICno2cHI/IyslKyNUTSFYaUhaYUpMVkpLfig0VT5XZXBic3c/b151Mjc/e2kh
fF8qZEA8YyZuQ14qcWwmeyN6SyU9IQp6YVB3RyFTZH1jeFZSalRpYllkfHpkfF9UV2M2fXVOZVM1
PEUlVTc0PnIrMGpgT1VieHxOPkZTSUQ9JCQ9czVMQkYKejFuIXZKKTRVWUhtPW5vXm5pPTUmWGJF
d0p7PHEmX1NKd21fVCFlSHw0LXtxSE1Pej84eUJ8S31hUmZnKmlmU0Y1CnplRVZ1NUNqVU88X0Bu
dW1sUzYpJVBKfT8/ZWt1VDskZ1VlMkxLRGdEMEpJZUN0OHJuO2l6d35qPG5kS1lHe183cwp6aCZu
Jj1GPVN1ciNUNzgkNCFGfi1xamZVejV5dF9YO2coNFlVa28oe1ZEVEpjM1g/en1gc01fdlVvSjNz
R1hwdjAKejIhdV9NUW9ubWtlQn5CNCF0aEh7QjchYjAwZXVGfV5MPk5Sa3BuRDU5SDRFT0lJT0k8
UWNEczdAYiFuVS1LSlQ0CnpWcF9KfFVUSHM/KFo4cyE3Sk8rcjwlTjI0ZGVWV2QwcjxxQ2hrNSk0
Z0M+JGNuQ1YpYGhrMGUjKEsxWXlmYEB+Vgp6NWNMenoxO0h3bChNRUNHZ2tvSk5xTCFjfHF2c2JT
JkF8SVNZTE1VYHpCK0pDaSpXPUMqWmNjME1OYDF0Y2ArdX0KejJQfDhEamdWRX55YntOVUp1TWRq
dD1EZEJZZUQ3UT5QR2FlPkVXRkdHUSh3ZTZrdVAhJmYwVz81OUcpMmZlSjIoCnozaCtfUEhjc0U3
JjlZI1BiWmpqJUcyaElEaCF7YkUpNUVLUkVldlg8dmYkJH5heGBFQkk+YCl4OH1UeFBMWUh7MAp6
M3I9UUg3Mjd2TUk9enhRVz9Mc1kwSjVrVTI8WGYzeE5xamBXI3gyTzZ8ZXMwVGJSQ0JQLXxBX2ok
dnVjTnEjUXQKek80al9BJmtnMGptQDNId0NZQ3NjJWV7XjZRajE+d2ReV0xJXj59OClxNXpDYTA+
JFVCK1l4Rm5ASkd6QHVsczNFCnpGLS0oU3pTaHMma2NrdHFXP3lAP2lnPntmdCY4R0BTc0R+YUIr
ZlVxcF9xWl8oenE/amwjOW42TCVQZkBATSpgNwp6TmJpaHUtUThxakJrZTI3VF5rKnUoP1lmYiZj
MjkjKHhDR3dje3taQihicl49VzJYMXowNC1LTDxebUxpUioyQ04KekQyPF90b0N4RjJGUUF5RC1h
WFBSakN6PkJPVnlrTko9Jjk/MW40YjBUPDYxPXFec3FTZX5iZGE3QHEtez5VfVU3CnpCZUdPKGlP
TElAY2VgOGViXzxfYyRqUlMqKWN4diNlVXklWHo2SXkwYkcqKikmY0l6eEthcTZIIWY0Oyo0Jl5p
WAp6Zlkhdl5AfFBGJUYzPlQ/QFRvYlVpdGRqbF5VflVqWmNWMHlvPWoqQl5YMGZ7Sml8O09qQSky
O1A3RmYzOUZOeDAKekQrT3paKyFgQmFCLT9za0VJaHl9Xk1tKVZkMXpEUmVKfillUDg0VTEtcGQw
KVc3b3o+b0MtXl87OGliaW8rRGh7CnphRjAkLVhsb1MjVigyLXIkdFBTODB3THM/R3E0KUFXI0t3
fndNSio9MzxDI256dURLOClxWnw0WVpDJktRK31fTwp6ZSgwIUkkcU4jPGZPMHgwT3RDaUpOQjEw
eHUtJUl0dXRCNnQ4Z3ZpeUJIbWRzeytkX3Y4MHMjMG1sO0N3WWgrM1AKekl0KnRQUkhCU25sJkAh
N003ckI1Nnt1PV5ybDZIKiRIb3UqTj5+VyFRYUdBTlduTnJjRyE1ZkFeaX5gantaSW4kCnpfQHY+
QlRnUCpnMFVjX19ecXs/bnhEd2FFbHc8KUdudm0qbHkmZyliajR2Uyk0b34jJFNwWkRgLXVGZG88
fTFAOwp6TmkkSjNhKlNuTHtmNXF4b09gPERGbklMbCplIURuaThTQk0mSXJsUW05ISgyNT97bHN6
S3hrKGppUzc5Jkk8UiUKej5oT15AKT4xPHVzKmR9b2l3UmYjJiozaEYxJSVZQzQ5UUlJQjIraTQ8
Qis2bTxHcilObFdrdFZwUFRtQGE4dTVHCnpVMDs0NDk4M0BMX0kwN1chMVFuWHheJjJnN3U8K2xh
K3A7WXtWayt5d34kdDw/SURPKUs1MHVieXU7YW0tQWEwPQp6YC11SEl3SXVFOHF2bjB5QCNaVXle
cHdQJFlmbHFUMj5JNy11QXAoJF5DVDx8SWAtKTBVMjgta2ZlN2R9Y3puS1MKelkqezh9VWVZWThZ
VCpJZnRyI307K2xwN3llYH5+JDNeS25nSzc0VisjYUJ9Jm0ocX5BKlkpeGhacGl3SFJKeWVvCnoh
c3c+TFolLWBjZGBoQlFrYChUb3V6bTlaP28rPzgtRGhRYTEkNXN5aT47Tnk9RylQM3pvcmxXPEhU
IV5ROyk9eQp6eTNqI09MMmBIQDx9fV4yaSRoKVJFYDl5THI+KlQhMXhVU2x5My1OZnleSnxHQTsj
U2ghPW5obFJuX2lOaD99QE4KellsKW9xdHA2R2xrfU82fWopMisoVyZnWUhHKWlyfnBfNkNAKCRY
U05yY2V5c3RxU2hhMzBtK0Q2KSN+S2FtVV9lCnpuMktmWDdBSTw2K1V4QFZveiltWjEtTVRRdzc5
N1N7SzJweTY7QHJhKylkVzduNXpJZS09LXY+aHYzJFJxU3hqKAp6b2diJFo5OEVSeUtRa3FNaWxC
YVQjUTlRI2w1dm1QJWt9NGFUMD1yWXVrWGpsaXtVKEV1SD9ST1Bmfk1FaCVaUDIKeiNLfSoyNjs8
eyNTMWpje2pIR0F6dVdxN1N3dU5aIV5iejx8c0tedGBUQld9NStTdFhuJk57Z0RpTVJIb1pNeHJr
Cno5dyVpdlA+bmhuJDFVPk0mVHtsT0dKeVcwUlVoOHMlcnpDYj9yWT58S21GYHxHTkBoMVpFaj5U
PCZJZ2NBSUg0WQp6b0t8eTsjbGU/TnglRU9aT3RoZXllOHBMKVN2dyQ3WEhLOW5XKWdNZXUqcnxq
S0V3RUNJe2oyTXpgKSEmcSMqZnsKejdxYGskVGtXSFdMe2J2YmtHPURRa14tOWI8NCtjNDJFK0JK
REhZMSQ7MTdiOG0jfkolTEMzKkFvd0BacV4oZ189ClFDdjZnLSltWX07NiQxTUkwUVhZbTNqaEVC
CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434485</attachid>
            <date>2021-07-28 18:50:03 -0700</date>
            <delta_ts>2021-07-28 18:53:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210729115001.patch</filename>
            <type>text/plain</type>
            <size>123782</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU3NjZmNDYxMDE1MzI4YzkxMjZhMTg4
MmE2NGJiM2ZjYmM2OGJmZTYuLmVhZGUxNGY0YTdlMzc0NGVmYWRmYjYwYWU0MjVkMzNmNDZjZmU3
YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFdlYk1XZWJBdWRpb0Vu
YWJsZWQgcHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3Ig
bWltZXR5cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlz
YWJsZWQgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJl
ZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yNiAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIFdlYktpdCBpcyBtYWtpbmcgR3Jv
dXBBY3Rpdml0aWVzIEFQSSBjYWxscyBmb3IgYWxsIFdlYktpdCBjbGllbnRzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggYTk5ODBhN2I4ZmNhNmI4M2M3NGM4NzZhM2U2ODllZjM2Y2NkMWJlMS4uZjgzMmI1ZTdiMzg4
M2RjNjY0ZTEwNjdlMDZmOTQ0YWI5YzYzNzRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMyBA
QAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAg
ICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igd2VibSBpbiBXZWIgQXVkaW8uCisgICAg
ICAgIEFzIGRlY29kaW5nIG5lZWRzIHRvIGJlIHBlcmZvcm1lZCBpbiB0aGUgd2ViIGNvbnRlbnQg
cHJvY2VzcyB3ZQorICAgICAgICBuZWVkIHRvIGVuc3VyZSB0aGF0IHRoZSBkZWNvZGVycyBhcmUg
YXZhaWxhYmxlIHRoZXJlLiBGb3Igc2VjdXJpdHkKKyAgICAgICAgcmVhc29ucywgY29tLmFwcGxl
LmF1ZGlvLkF1ZGlvQ29tcG9uZW50UmVnaXN0cmFyIG1hY2ggY2FsbHMgYXJlIGJsb2NrZWQKKyAg
ICAgICAgd2hpY2ggcHJldmVudHMgcmVnaXN0ZXJpbmcgYSBuZXcgYXVkaW8gY29tcG9uZW50Lgor
ICAgICAgICBXZSBpbnN0ZWFkIHJlZ2lzdGVyIGl0IGluIHRoZSBVSSBwcm9jZXNzIHNvIHRoYXQg
QXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMKKyAgICAgICAgU1BJIGNhbiBm
b3J3YXJkIHRoZSByZWdpc3RyYXRpb24gaW4gdGhlIHdlYiBwcm9jZXNzLgorICAgICAgICBVbmZv
cnR1bmF0ZWx5LCBmb3IgdW5rbm93biByZWFzb25zLCB0aGlzIGZhaWxzIGZvciBWb3JiaXMgYXVk
aW8gY29kZWMgKGJ1ZyAyMjgxMzkpLgorCisgICAgICAgIFRvIGRlbXV4IHRoZSB3ZWJtIGNvbnRl
bnQsIHdlIHVzZSB0aGUgZXhpc3RpbmcgU291cmNlQnVmZmVyUGFyc2VyV2ViTSB0byBleHRyYWN0
IGFsbAorICAgICAgICBhdWRpbyBwYWNrZXRzLiBXZSB0aGVuIGl0ZXJhdGUgb3ZlciBhbGwgQ00g
U2FtcGxlcyBhbmQgZGVjb2RlIHRoZW0gaW50byBQQ00sIHBlcmZvcm1pbmcKKyAgICAgICAgcmVz
YW1wbGluZyBhcyBuZWVkZWQgb24gdGhlIGZseS4KKyAgICAgICAgVGhlcmUgYXJlIHRoaW5ncyBs
ZWZ0IHRvIGZpeC4KKyAgICAgICAgLSBPcHVzIGFuZCBWb3JiaXMgZW5jb2RlciBkZWxheSBpc24n
dCBoYW5kbGVkIChidWcgMjI4MTQwKSB3aGljaCBsZWF2ZXMgYXVkaWJsZQorICAgICAgICBzaWxl
bmNlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlci4KKyAgICAgICAg
LSBXZSBjYW4gb25seSBkZWNvZGUgbW9ubyBhbmQgc3RlcmVvIGNvbnRlbnQuIE9wdXMgYW5kIFZv
cmJpcyBsZXQgeW91IGRlZmluZSBhCisgICAgICAgIGN1c3RvbSBjaGFubmVsIG9yZGVyaW5nLCB0
aGlzIGlzIHBhcnRpY3VsYXJseSB1c2VkIHdpdGggYW1iaXNvbmljIGF1ZGlvICh3aXRoIG9wdXMg
MjU1IG1vZGUpLgorICAgICAgICBDb3JlTWVkaWEgZG9lc24ndCBlYXNpbHkgZGVhbCB3aXRoIHN1
Y2ggcmUtb3JkZXJpbmcgYXMgaXQgYXBwZWFycyB0byBiZSBlc3NlbnRpYWxseQorICAgICAgICBk
ZXNpZ25lZCBmb3IgYXVkaWJsZSBjb250ZW50LiBXaXRoIG1vcmUgdGhhbiAyIGNoYW5uZWxzLCBk
ZWNvZGluZyB3aWxsIGVpdGhlciBmYWlsCisgICAgICAgIG9yIHByb2R1Y2UgY2hhbm5lbHMgaW4g
dGhlIHdyb25nIG9yZGVyLgorCisgICAgICAgIFRlc3Q6IHdlYmF1ZGlvL2RlY29kZS1hdWRpby1k
YXRhLXdlYm0tb3B1cy5odG1sCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOiBFeHBvcnQgaGVh
ZGVyIHNvIHRoYXQgd2UgY2FuIHJlZ2lzdGVyIHRoZSBkZWNvZGVyIGluIHRoZSBVSSBwcm9jZXNz
LgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogc2FtZSBhcyBh
Ym92ZS4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y2FuUGxheVR5cGUgY29uc3QpOiBNYWtlIGNhblBsYXlU
eXBlKHdlYm0vYXVkaW87IGNvZGVjcz1vcHVzKQorICAgICAgICB3b3JrIGlmIGZlYXR1cmVzIGlz
IHNldC4KKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYk1XZWJBdWRpb0VuYWJsZWQp
OgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2ViTVdlYkF1ZGlv
RW5hYmxlZCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vTWVkaWFTYW1wbGUuaDogRmx5LWJ5
IGZpeDogcmVtb3ZlIHVubmVjZXNzYXJ5IFdFQkNPUkVfRVhQT1JUCisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vQXVkaW9CdXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdXM6OnNldExl
bmd0aCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaDogQWRkIHNldExlbmd0
aCBtZXRob2QuIFdpbGwgY2hhbmdlIHRoZSByZXBvcnRlZCBsZW5ndGgKKyAgICAgICAgd2l0aG91
dCB0b3VjaGluZyB0aGUgdW5kZXJseWluZyBzdG9yYWdlLgorICAgICAgICAqIHBsYXRmb3JtL2F1
ZGlvL0F1ZGlvQ2hhbm5lbC5oOiBBZGQgc2V0TGVuZ3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhl
IHJlcG9ydGVkCisgICAgICAgIGxlbmd0aCB3aXRob3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5n
IHN0b3JhZ2UuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVy
Q29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KTog
Rml4IGNoZWNrZWRJbnQgdXNlIHRvIGNhdGNoIHBvdGVudGlhbCBvdmVyZmxvdworICAgICAgICAo
V2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXIpOiBB
ZGQgY29udmVuaWVuY2UgY2xhc3MgdGhhdAorICAgICAgICBmcmVlIHdyYXBwZWQgQXVkaW9CdWZm
ZXJMaXN0IG9iamVjdCBvbiBleGl0LgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0
SG9sZGVyOjp+QXVkaW9CdWZmZXJMaXN0SG9sZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
QnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3IgYm9vbCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yLT4gY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvciogY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjppc1ZhbGlkIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6QXVkaW9GaWxlUmVhZGVyKToKKyAgICAgICAgKFdl
YkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6aXNNYXliZVdlYk0gY29uc3QpOiBNZXRob2QgdG8gY2hl
Y2sgaWYgdGhlIGJ1ZmZlcgorICAgICAgICBjb250YWlucyBXZWJNIGRhdGEuCisgICAgICAgIChX
ZWJDb3JlOjpwYXNzdGhyb3VnaElucHV0RGF0YUNhbGxiYWNrKTogUmVxdWlyZWQgZm9yIEF1ZGlv
Q29udmVydGVyRmlsbENvbXBsZXhCdWZmZXIuCisgICAgICAgIFdpbGwgZmVlZCB0aGUgZGVjb2Rl
ciB0aGUgZGF0YSB0byBkZWNvZGUsIHNwbGl0dGluZyB0aGUgbXVsdGlwbGUgcGFja2V0cyBmb3Vu
ZAorICAgICAgICBpbiB0aGUgQ01TYW1wbGVCdWZmZXIuCisgICAgICAgIChXZWJDb3JlOjpBdWRp
b0ZpbGVSZWFkZXI6Om51bWJlck9mRnJhbWVzIGNvbnN0KTogUmV0dXJuIHRoZSB0b3RhbCBudW1i
ZXIgb2YKKyAgICAgICAgZGVjb2RlZCBmcmFtZXMgaW4gdGhlIHBhY2tldHMuCisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmZpbGVEYXRhRm9ybWF0IGNvbnN0KTogQ3JlYXRlIEF1
ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbgorICAgICAgICByZWxhdGVkIHRvIHRoZSBkZW11eGVk
IGF1ZGlvIHRyYWNrLiBudWxsb3B0IGlmIHVuc3VwcG9ydGVkIGNvbnRlbnQuCisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNsaWVudERhdGFGb3JtYXQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMpOgorICAgICAgICAoV2ViQ29y
ZTo6QXVkaW9GaWxlUmVhZGVyOjpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oOiBSZW1vdmUgdW51c2VkIHR5cGVk
ZWYuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNl
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TYW1wbGVEYXRhU291cmNlOjp+QXVkaW9TYW1w
bGVEYXRhU291cmNlKTogRmx5LWJ5IGZpeCwgbWFrZSBpdCB1c2UKKyAgICAgICAgUEFMIHNvZnRs
aW5rcworICAgICAgICAoV2ViQ29yZTo6QXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZl
cnRlcik6IEZseS1ieSBmaXgsIG1ha2UgaXQgdXNlIFBBTAorICAgICAgICBzb2Z0bGlua3MKKyAg
ICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW06IEZseS1i
eSBmaXgsIGFkZCBtaXNzaW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9U
cmFja1ByaXZhdGVCYXNlLmNwcDogRmx5LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZG
T2JqQy5oOgorICAgICAgICBGbHktYnkgZml4IHJlcXVpcmVkIGJ5IHdlYmtpdC1wcmVwYXJlIDog
ZG9uJ3QgdGFnIHRoZSB3aG9sZSBjbGFzcyBhcyBXRUJDT1JFX0VYUE9SVC4KKyAgICAgICAgTW92
ZSBjb25zdHJ1Y3RvciBhbmQgZGVzdHJ1Y3RvciBmdW5jdGlvbiBkZWZpbml0aW9ucyBvdXQtb2Yt
bGluZSB0byBwcmV2ZW50CisgICAgICAgIGxpbmthZ2UgZXJyb3JzLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKTog
TW92ZSBjb2RlCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29t
cHJlc3Npb25TZXNzaW9uLm1tOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaDog
RXhwb3J0IHNvbWUgc3ltYm9scywgYWRkIG5ldworICAgICAgICBtZXRob2QgZGVmaW5pdGlvbnMu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29j
b2EubW06CisgICAgICAgIChXZWJDb3JlOjpyZWdpc3RlckRlY29kZXJGYWN0b3J5KTogSW5zdGVh
ZCBvZiBhdHRlbXB0aW5nIHRvIHJlZ2lzdGVyIHRoZSBkZWNvZGVyCisgICAgICAgIGJ5IGRsLW9w
ZW5pbmcgdGhlIHJlcXVpcmVkIGxpYnJhcnksIGZpcnN0IGF0dGVtcHRpbmcgdG8gc2VlIGlmIHRo
ZSBkZWNvZGVyIGlzCisgICAgICAgIGFscmVhZHkgYXZhaWxhYmxlLiBDYWxsaW5nIEF1ZGlvQ29t
cG9uZW50UmVnaXN0ZXIgaW4gdGhlIHdlYiBjb250ZW50IHByb2Nlc3MKKyAgICAgICAgd2hlbiB0
aGUgR1BVIHByb2Nlc3MgaXMgZW5hYmxlZCB3aWxsIGZhaWwgZHVlIHRvIHNhbmRib3ggc2V0dGlu
Z3MuIFdoaWNoIHdvdWxkCisgICAgICAgIGluY29ycmVjdGx5IHJlcG9ydCB0aGUgY29kZWMgdG8g
bm90IGJlIGF2YWlsYWJsZSB3aGVuIGl0IHdhcy4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUF1
ZGlvRm9ybWF0RGVzY3JpcHRpb25Gb3JGb3JtYXQpOgorICAgICAgICAoV2ViQ29yZTo6aXNPcHVz
RGVjb2RlckF2YWlsYWJsZSk6IEZseS1ieSBmaXgsIHNob3VsZCB0aGUgbWV0aG9kIGJlIGNhbGxl
ZAorICAgICAgICBvbiBub24tbWFjIHBsYXRmb3JtIGl0IHdvdWxkIGhhdmUgcmV0dXJuIHRoZSB1
bml0aWFsaXplZCB2YWx1ZSBvZiB0aGUgYXZhaWxhYmxlCisgICAgICAgIHN0YXRpYyB2YXJpYWJs
ZS4KKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCk6IEFkZGVk
CisgICAgICAgIChXZWJDb3JlOjppc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUpOiBTYW1lIGFzIGlz
T3B1c0RlY29kZXJBdmFpbGFibGUKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lzdGVyVm9yYmlzRGVj
b2RlcklmTmVlZGVkKTogQWRkZWQKKwogMjAyMS0wNy0yNiAgSm9obnNvbiBaaG91ICA8cWlhb3Nv
bmdfemhvdUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhpcyBpcyByZXNwb25kaW5nIHRvIGZlZWRi
YWNrIG9uIHIyODAzMTAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBmMDE5ZDNjZTEyMDNmM2ZhMTA0
ZWY5ZmFjNGZmYTQwNmFiOTAyZjYwLi5mMmFhY2JiODQwMmQwYzQxNjFhM2Y2ZmJmOTkzOTRmNThj
YzUzZGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMS0wNy0yMSAg
SmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10g
QWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83
OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgdmFyaW91cyBBVkZvdW5kYXRpb24gKEFWQXVkaW9Db252ZXJ0ZXIpIHJlbGF0ZWQgbWV0
aG9kcyBhbmQKKyAgICAgICAgQ29yZU1lZGlhIHRvIGFjY2VzcyByZXF1aXJlZCBDTVNhbXBsZUJ1
ZmZlciByZWxhdGVkIG1ldGhvZHMuCisKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1lZGlhU29mdExp
bmsuY3BwOgorICAgICAgICAqIHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oOgorICAgICAgICAq
IHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9B
VkZvdW5kYXRpb25Tb2Z0TGluay5tbToKKwogMjAyMS0wNy0yMSAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjgwMTI5Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCAxNDE3NWMyYTMwYjk2MjkxZjg2MThiNzg2OTgxM2JkNGQ3OGVlYjY3Li45N2Zh
M2NiOGRmYWU3MTFlOTI5MTk4MDM1MDU1NjZkOGQzZmQ5ZWExIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDIxLTA3LTIxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisK
KyAgICAgICAgW1dlYkF1ZGlvXSBBZGQgd2VibS9vcHVzIGNvbnRhaW5lciBzdXBwb3J0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxMTAKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzc5NDM3MDY3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkZWZhdWx0IHZhbHVlIGZvciB3ZWJtX3dlYmF1ZGlv
IGZlYXR1cmUgZmxhZyBmb3IgdGhlIGRpZmZlcmVudCBwbGF0Zm9ybXMuCisgICAgICAgIERpc2Fi
bGVkIGJ5IGRlZmF1bHQgb24gYWxsIHBsYXRmb3Jtcy4KKyAgICAgICAgRmx5LWJ5IGZpeDogZG9u
J3QgbWFrZSB3ZWJtIHBhcnNlciBkZXBlbmRlbnQgb24gVlA5IHN1cHBvcnQuCisKKyAgICAgICAg
KiBGZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdDoKKyAgICAgICAgKiBGZWF0dXJl
RmxhZ3MvV2ViS2l0LWlvcy5wbGlzdDoKKyAgICAgICAgKiBGZWF0dXJlRmxhZ3MvV2ViS2l0LW1h
Y29zLnBsaXN0OgorICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdDoK
KyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNz
L0dQVVByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OmRlZmF1bHRXZWJNV2ViQXVkaW9F
bmFibGVkKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJh
dGlvbnMpOgorCiAyMDIxLTA3LTI2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgog
CiAgICAgICAgIFJFR1JFU1NJT046IFtpT1NdIEFTU0VSVElPTiBGQUlMRUQ6ICFtX21lc3NhZ2VS
ZWNlaXZlck1hcENvdW50IHVuZGVyIFdlYktpdDo6UmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVy
Ojp+UmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
U2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291
cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlh
bWwKaW5kZXggNGFhZjc1OWFiMDQxZDliYmQ0MTlhYjMyYmE0ODU5MzZjZjIzZmM3Zi4uMzYwYTBj
ZDgyYzhiNmMzYzhmYWU0Zjg0ZTE1M2JjYTE1OGIzNjRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysr
IGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVu
dGFsLnlhbWwKQEAgLTEyNjEsNiArMTI2MSwxOCBAQCBXZWJNUGFyc2VyRW5hYmxlZDoKICAgICBX
ZWJLaXQ6CiAgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgp
CiAKK1dlYk1XZWJBdWRpb0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgd2ViY29yZUJpbmRpbmc6
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWJNIFdlYiBB
dWRpbyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdlYk0gV2ViIEF1ZGlv
IgorICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TT1VSQ0UpCisgIGRlZmF1bHRWYWx1ZToKKyAg
ICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNV2ViQXVk
aW9FbmFibGVkKCkKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRX
ZWJNV2ViQXVkaW9FbmFibGVkKCkKKwogIyBGSVhNRTogSXMgdGhpcyBpbXBsZW1lbnRlZCBmb3Ig
V2ViS2l0TGVnYWN5PyBJZiBub3QsIHRoaXMgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gV2ViS2l0
TGVnYWN5IGVudGlyZWx5LgogV2ViUlRDSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDoKICAg
dHlwZTogYm9vbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggM2IxYmI1NTBmNTY4MWE0ZjVkZDIzNjBh
MTQxODlhOGVjYWQwNTdiOS4uOWE2MWVlZmY1NGI3YzY1MDIwYTI4ZTk0YzZiZWUzZDU0M2M3NDU5
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMzM1LDYgKzEzMzUsOCBAQCBzZXQoV2ViQ29yZV9Q
UklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0
ZW5zaW9uc0dMQU5HTEUuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29u
dGV4dEdMQU5HTEVVdGlsaXRpZXMuaAogCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2Vi
TUF1ZGlvVXRpbGl0aWVzQ29jb2EuaAorCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxp
c3RzL0Rpc3BsYXlMaXN0LmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3REcmF3R2x5cGhzUmVjb3JkZXIuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKaW5kZXggZmMwNjY4YTRhOTFhZmUxMGI2
NTE1OWNhMDgyZTE4MjgxZmQ1MDM1Ny4uNGEzZTkwY2Q0NDA2Nzc1OTIxMjJmMTZmYTUxOGFhNTRl
OTU3Y2NjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFT
b2Z0TGluay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0
TGluay5jcHAKQEAgLTM2LDYgKzM2LDggQEAKICNpbmNsdWRlIDxDb3JlVmlkZW8vQ29yZVZpZGVv
Lmg+CiAjZW5kaWYKIAorI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgorCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwMCkKICNkZWZpbmUgQ01TQU1QTEVCVUZGRVJDQUxM
X05PRVNDQVBFIENGX05PRVNDQVBFCiAjZWxzZQpAQCAtNDcsMTEgKzQ5LDEzIEBAIFNPRlRfTElO
S19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VY
UE9SVCkKIAogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBD
b3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tC
dWZmZXJSZWYgdGhlU291cmNlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0
YUxlbmd0aCwgdm9pZCogZGVzdGluYXRpb24pLCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0Rh
dGEsIGRhdGFMZW5ndGgsIGRlc3RpbmF0aW9uKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
R2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01CbG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhl
QnVmZmVyKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhf
RVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJv
b2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90
IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKIFNPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJs
b2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2b2lkKiBzb3VyY2VC
eXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6ZV90IG9mZnNldElu
dG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0ZXMsIGRlc3RpbmF0
aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgpLCBQQUxfRVhQT1JU
KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVk
aWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBDRkRpY3Rpb25hcnlSZWYsIChD
TUZvcm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYyksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJ
TktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1w
bGVCdWZmZXJHZXRUeXBlSUQsIENGVHlwZUlELCAodm9pZCksICgpLCBQQUxfRVhQT1JUKQogU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENN
U2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlciwgQ01CbG9ja0J1ZmZlclJlZiwgKENNU2FtcGxlQnVm
ZmVyUmVmIHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRGb3Jt
YXREZXNjcmlwdGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwgKENNU2FtcGxlQnVmZmVyUmVm
IHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVh
bVBhY2tldERlc2NyaXB0aW9ucywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBz
aXplX3QgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
biogcGFja2V0RGVzY3JpcHRpb25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVO
ZWVkZWRPdXQpLCAoc2J1ZiwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRp
b25zT3V0LCBwYWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0KSwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBD
TVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8sIE9TU3RhdHVzLCAoQ01TYW1wbGVCdWZm
ZXJSZWYgc2J1ZiwgQ01JdGVtSW5kZXggc2FtcGxlSW5kZXgsIENNU2FtcGxlVGltaW5nSW5mbyog
dGltaW5nSW5mb091dCksIChzYnVmLCBzYW1wbGVJbmRleCwgdGltaW5nSW5mb091dCksIFBBTF9F
WFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENv
cmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJEYXRhSXNSZWFkeSwgQm9vbGVhbiwgKENNU2FtcGxlQnVm
ZmVyUmVmIHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiAKQEAgLTEwOCw2ICsxMTIsNyBAQCBT
T0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwg
a0NNVGV4dFZlcnRpY2FsTGF5b3V0XwogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lU
SF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIGtDTVRleHRWZXJ0aWNhbExheW91dF9SaWdodFRvTGVm
dCwgQ0ZTdHJpbmdSZWYsIFBBTF9FWFBPUlQpCiAKICNpZiBQTEFURk9STShDT0NPQSkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJs
b2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywgT1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1
Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZmZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRv
clJlZiBibG9ja0FsbG9jYXRvciwgY29uc3QgQ01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNl
KiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5n
dGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFncywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZm
ZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9yLCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9y
LCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxv
Y2tCdWZmZXJPdXQpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0Vf
V0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVN1
YlR5cGUsIEZvdXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNj
KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFUeXBlLCBDTU1lZGlh
VHlwZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGlu
ay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4
IDFkYjUxODFmYzU2ZGJmYjA1ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLjg4ZTYyOTViM2MzZWU1
MjNhNTc3ZDcyNjY0MTBkMWIwNDY2ZmMxNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBVU0UoQVZGT1VO
REFUSU9OKQogLy8gRklYTUU6IFNob3VsZCBiZSBVU0UoQ09SRU1FRElBKSwgYnV0IHRoaXMgaXNu
J3QgY3VycmVudGx5IGRlZmluZWQgb24gV2luZG93cy4KIAorI2luY2x1ZGUgPENvcmVBdWRpby9D
b3JlQXVkaW9UeXBlcy5oPgogI2luY2x1ZGUgPHBhbC9zcGkvY2YvQ29yZU1lZGlhU1BJLmg+CiAj
aW5jbHVkZSA8d3RmL1NvZnRMaW5raW5nLmg+CiAKQEAgLTQ5LDYgKzUwLDggQEAgU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5RGF0
YUJ5dGVzLCBPU1N0YXQKICNkZWZpbmUgQ01CbG9ja0J1ZmZlckNvcHlEYXRhQnl0ZXMgc29mdExp
bmtfQ29yZU1lZGlhX0NNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzCiBTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgs
IHNpemVfdCwgKENNQmxvY2tCdWZmZXJSZWYgdGhlQnVmZmVyKSwgKHRoZUJ1ZmZlcikpCiAjZGVm
aW5lIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2Nr
QnVmZmVyR2V0RGF0YUxlbmd0aAorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBD
b3JlTWVkaWEsIENNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cywgQm9vbGVhbiwgKENNQmxv
Y2tCdWZmZXJSZWYgdGhlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0LCBzaXplX3QgbGVuZ3RoKSwgKHRo
ZUJ1ZmZlciwgb2Zmc2V0LCBsZW5ndGgpKQorI2RlZmluZSBDTUJsb2NrQnVmZmVySXNSYW5nZUNv
bnRpZ3VvdXMgc29mdExpbmtfQ29yZU1lZGlhX0NNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91
cwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tC
dWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNvdXJjZUJ5dGVz
LCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zmc2V0SW50b0Rl
c3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVzdGluYXRpb25C
dWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCkpCiAjZGVmaW5lIENNQmxv
Y2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVmZmVy
UmVwbGFjZURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBDRkRpY3Rpb25hcnlSZWYs
IChDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYykpCkBAIC01OSw2ICs2Miw4IEBA
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckdldERhdGFCdWZmZXIsIENNQmxvCiAjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1
ZmZlciBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyCiBTT0ZU
X0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJH
ZXRGb3JtYXREZXNjcmlwdGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwgKENNU2FtcGxlQnVm
ZmVyUmVmIHNidWYpLCAoc2J1ZikpCiAjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVz
Y3JpcHRpb24gc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3Jp
cHRpb24KK1NPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNh
bXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENN
U2FtcGxlQnVmZmVyUmVmIHNidWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRp
b1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCog
cGFja2V0RGVzY3JpcHRpb25zU2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlv
bnNTaXplLCBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVk
ZWRPdXQpKQorI2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3Jp
cHRpb25zIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFj
a2V0RGVzY3JpcHRpb25zCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVN
ZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZvLCBPU1N0YXR1cywgKENNU2Ft
cGxlQnVmZmVyUmVmIHNidWYsIENNSXRlbUluZGV4IHNhbXBsZUluZGV4LCBDTVNhbXBsZVRpbWlu
Z0luZm8qIHRpbWluZ0luZm9PdXQpLCAoc2J1Ziwgc2FtcGxlSW5kZXgsIHRpbWluZ0luZm9PdXQp
KQogI2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8gc29mdExpbmtfQ29y
ZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbwogU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyRGF0YUlzUmVhZHks
IEJvb2xlYW4sIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQpAQCAtMTY4LDYgKzE3
Myw4IEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBrQ01U
ZXh0VmVydGljYWxMYXlvdXRfUmlnaHRUb0xlZnQsCiAKICNpZiBQTEFURk9STShDT0NPQSkKIAor
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZm
ZXJDcmVhdGVDb250aWd1b3VzLCBPU1N0YXR1cywgKENGQWxsb2NhdG9yUmVmIHN0cnVjdHVyZUFs
bG9jYXRvciwgQ01CbG9ja0J1ZmZlclJlZiBzb3VyY2VCdWZmZXIsIENGQWxsb2NhdG9yUmVmIGJs
b2NrQWxsb2NhdG9yLCBjb25zdCBDTUJsb2NrQnVmZmVyQ3VzdG9tQmxvY2tTb3VyY2UqIGN1c3Rv
bUJsb2NrU291cmNlLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgQ01C
bG9ja0J1ZmZlckZsYWdzIGZsYWdzLCBDTUJsb2NrQnVmZmVyUmVmKiBibG9ja0J1ZmZlck91dCks
IChzdHJ1Y3R1cmVBbGxvY2F0b3IsIHNvdXJjZUJ1ZmZlciwgYmxvY2tBbGxvY2F0b3IsIGN1c3Rv
bUJsb2NrU291cmNlLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGZsYWdzLCBibG9ja0J1ZmZl
ck91dCkpCisjZGVmaW5lIENNQmxvY2tCdWZmZXJDcmVhdGVDb250aWd1b3VzIHNvZnRMaW5rX0Nv
cmVNZWRpYV9DTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cwogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVN1
YlR5cGUsIEZvdXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNj
KSkKICNkZWZpbmUgQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3ViVHlwZSBzb2Z0TGlua19D
b3JlTWVkaWFfQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3ViVHlwZQogU09GVF9MSU5LX0ZV
TkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRN
ZWRpYVR5cGUsIENNTWVkaWFUeXBlLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRl
c2MpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRp
b25Tb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25T
b2Z0TGluay5oCmluZGV4IGIzMjQxNTliZTFlZmU3YTVlNWZlMmIyNjRkNDFhNmEwYzg0ZmQ0OWIu
LjcwMGU5YzMyYzRjZmIxYmRjMzBlY2Y0N2EwMDA2MzA3MjA1MjY5MGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKQEAgLTMy
NCw0ICszMjQsMTEgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBBVkZvdW5k
YXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWQKICNkZWZpbmUgQVZPdXRwdXRD
b250ZXh0T3V0cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbiBQQUw6OmdldF9BVkZvdW5k
YXRpb25fQVZPdXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbigp
CiAjZW5kaWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09B
KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvQ29udmVydGVyKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvRm9ybWF0KQorU09GVF9MSU5LX0NM
QVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlcikKK1NPRlRfTElOS19D
TEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb1BDTUJ1ZmZlcikKKyNlbmRpZiAvLyBQTEFURk9S
TShDT0NPQSkKKwogI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQppbmRleCAzN2M4
YjFmYWZkNThjY2JjNmU4NTBjNmYzMDExNzY3YzdkYTMxNjQ1Li43MzM5ODQ1ZTA3MjY1ODAxZTA2
NDAzMDNiMmUyOTFhMDEyNGU4NzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KQEAgLTIzMCw3ICsyMzAsNyBAQCBTT0ZU
X0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwg
QVZBdWRpb1Nlc3Npb25Sb3V0ZQogCiBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZBSUxfRk9SX1NP
VVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZVUkxBc3NldEhUVFBDb29raWVz
S2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlM
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRSZXF1
aXJlc0N1c3RvbVVSTExvYWRpbmdLZXksIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCi0jZW5kaWYK
KyNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBBVkZvdW5kYXRpb24sIEFWQ2FwdHVyZVNlc3Npb25T
ZXRBdXRob3JpemVkVG9Vc2VDYW1lcmFJbk11bHRpcGxlRm9yZWdyb3VuZEFwcExheW91dCwgdm9p
ZCwgKEFWQ2FwdHVyZVNlc3Npb24gKnNlc3Npb24pLCAoc2Vzc2lvbikpCkBAIC0yNDQsNCArMjQ0
LDExIEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZG
b3VuZGF0aW9uLCBBVlJvdXRlRGV0ZWN0b3JNdWx0CiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NP
VVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZPdXRwdXRDb250ZXh0T3V0cHV0
RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbiwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKICNl
bmRpZiAvLyBIQVZFKEFWUk9VVEVQSUNLRVJWSUVXKQogCisjaWYgUExBVEZPUk0oQ09DT0EpCitT
T0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwg
QVZBdWRpb0NvbnZlcnRlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNF
X1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvRm9ybWF0LCBQQUxfRVhQT1JU
KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRp
b24sIEFWQXVkaW9Db21wcmVzc2VkQnVmZmVyLCBQQUxfRVhQT1JUKQorU09GVF9MSU5LX0NMQVNT
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9QQ01CdWZm
ZXIsIFBBTF9FWFBPUlQpCisjZW5kaWYKKwogI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggOWI2MzU4YjFiMGYxNjFiNjZlNzc3YTkxZGI0Yzc2ZGQxZjZmNmRlYi4uMzg1N2MzMjM0MTlk
MjZhNzAxZDYzNGRlNTNlOTUyOGE0YmExMDRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjMyLDcgKzIzMiw3IEBACiAJCTA3
RUU3NkVDMUJFOTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUExQkU5NkRC
MDAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDdFRTc2RUYxQkVBNjE5ODAwRjg5MTMz
IC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0VFNzZFRDFCRUE2MTk4MDBGODkxMzMgLyogTW9ja1Jl
YWx0aW1lVmlkZW9Tb3VyY2VNYWMuaCAqLzsgfTsKIAkJMDdGNEU5MzMyMEIzNTg3RjAwMkUzODAz
IC8qIEFWQXNzZXRNSU1FVHlwZUNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwN0M4QUQxMjFEMDczRDYzMDA4N0M1Q0UgLyogQVZBc3NldE1JTUVU
eXBlQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwotCQkwN0Y1Q0ZGNTI1ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2Eu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkY0
MjU4MkE0RjgwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oICovOyB9OworCQkw
N0Y1Q0ZGNTI1ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkY0MjU4MkE0
RjgwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RjVDRkY2MjU4MkE1MjkwMDY2MkVG
NSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkYyMjU4MkE0RjgwMDY2MkVGNSAvKiBXZWJNQXVk
aW9VdGlsaXRpZXNDb2NvYS5tbSAqLzsgfTsKIAkJMDdGODc2ODQxQUQ1ODBGOTAwOTA1ODQ5IC8q
IE1lZGlhUGxheWJhY2tUYXJnZXRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y4NzY4MzFBRDRBOTQ1MDA5MDU4NDkgLyogTWVkaWFQbGF5
YmFja1RhcmdldENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkwN0Y5NDQxNjE4NjREMDQ2MDA1RDMxQ0IgLyogUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDREFFOEMwODE3NDZCOTU3MDA1MzJENzggLyogUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDcxYzQ1N2JhMGU0MGQ3
OTI0YmJmMDY0MTc0Nzg5MDhhYzlkZGU3OTYuLjhhODA3ZDEyMjNkMDQyZTdmMmY0MDA4MmFlMDU3
NjQwOTJlYWYxMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApA
QCAtMTA0Niw2ICsxMDQ2LDE1IEBAIEhUTUxNZWRpYUVsZW1lbnQ6Ok5ldHdvcmtTdGF0ZSBIVE1M
TWVkaWFFbGVtZW50OjpuZXR3b3JrU3RhdGUoKSBjb25zdAogICAgIHJldHVybiBtX25ldHdvcmtT
dGF0ZTsKIH0KIAorc3RhdGljIGlubGluZSBib29sIHdlYk1XZWJBdWRpb0VuYWJsZWQoKQorewor
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViTVdlYkF1ZGlvRW5hYmxlZCgpOworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogU3RyaW5nIEhUTUxNZWRpYUVsZW1lbnQ6OmNhblBs
YXlUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0CiB7CiAgICAgTWVkaWFFbmdpbmVT
dXBwb3J0UGFyYW1ldGVycyBwYXJhbWV0ZXJzOwpAQCAtMTA1OSw3ICsxMDY4LDcgQEAgU3RyaW5n
IEhUTUxNZWRpYUVsZW1lbnQ6OmNhblBsYXlUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNv
bnN0CiAgICAgLy8gVGVtcG9yYXJpbHkgd29yayBhcm91bmQgYnVnIDIyNjkyMi4gRm9yIG5vdyBj
bGFpbSB0aGF0IHRoZSBvcHVzIGFuZCB2b3JiaXMgY29kZWNzIGFyZW4ndCBzdXBwb3J0ZWQKICAg
ICAvLyBzbyB0aGF0IHNpdGVzIHJlbHlpbmcgb24gdGhpcyB0ZXN0IHRvIGRldGVybWluZSBpZiB3
ZWJhdWRpbyB1c2Ugb2Ygb3B1cyBvciB2b3JiaXMgd29uJ3QgZXJyb3IuCiAgICAgYXV0byBjb2Rl
Y3MgPSBjb250ZW50VHlwZS5jb2RlY3MoKTsKLSAgICBpZiAoc3VwcG9ydCA9PSBNZWRpYVBsYXll
cjo6U3VwcG9ydHNUeXBlOjpJc1N1cHBvcnRlZCAmJiAoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikg
fHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCisgICAgaWYgKHN1cHBvcnQgPT0gTWVkaWFQ
bGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYgKChjb2RlY3MuY29udGFpbnMoIm9w
dXMiKSAmJiAhd2ViTVdlYkF1ZGlvRW5hYmxlZCgpKSB8fCBjb2RlY3MuY29udGFpbnMoInZvcmJp
cyIpKSkKICAgICAgICAgc3VwcG9ydCA9IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzTm90
U3VwcG9ydGVkOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgKaW5kZXggYTBkM2NlYTc5ZDdlMGFlMDc0ODI0MGRkMjJlZWUyZDU1NzUwNDRh
Ni4uNjg1YTBhMmFkNzU0NzI2OTlhZWJmMjE5ZmEwYzI1MTUyMWJlYjBiOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTIzNSw2ICsyMzUsOCBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICB2b2lkIHNldFdlYk1QYXJz
ZXJFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fd2ViTVBhcnNlckVuYWJsZWQgPSBpc0VuYWJs
ZWQ7IH0KICAgICBib29sIHdlYk1QYXJzZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJN
UGFyc2VyRW5hYmxlZDsgfQorICAgIHZvaWQgc2V0V2ViTVdlYkF1ZGlvRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX3dlYk1XZWJBdWRpb0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBib29s
IHdlYk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYk1XZWJBdWRpb0VuYWJs
ZWQ7IH0KICNlbmRpZgogCiAjaWYgSEFWRShDRUxFU1RJQUwpCkBAIC0zNzEsNiArMzczLDcgQEAg
cHJpdmF0ZToKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgYm9vbCBtX3dlYk1QYXJz
ZXJFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fd2ViTVdlYkF1ZGlvRW5hYmxlZCB7IGZh
bHNlIH07CiAjZW5kaWYKIAogI2lmIEhBVkUoQ0VMRVNUSUFMKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L01lZGlhU2FtcGxlLmgKaW5kZXggOGRhNjAzNzc4ODI0MzMzMGFlMjUwZDljMTBjNzJlZTA1ODhl
NzYwYy4uMDg0N2I5NzRlOTNlODcyYTIyOWU3YTE2MTBmMmQ0NGU5MDJjYzBiZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCkBAIC01Nyw3ICs1Nyw3IEBAIHN0cnVjdCBQbGF0
Zm9ybVNhbXBsZSB7CiAgICAgfSBzYW1wbGU7CiB9OwogCi1jbGFzcyBXRUJDT1JFX0VYUE9SVCBN
ZWRpYVNhbXBsZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4gewor
Y2xhc3MgTWVkaWFTYW1wbGUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TWVkaWFTYW1w
bGU+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYVNhbXBsZSgpID0gZGVmYXVsdDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCmluZGV4IDI0M2UxMDZi
OWUzM2RhOTNkZTlhMGNhZDMzYmMwOGU5MjA2NTMyMDAuLjdmMDNjMzMxZWUyMDEwYzk4OTI5YTAz
MjRkY2FjOTU1ZDY1ZjhiYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0F1ZGlvQnVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b0J1cy5jcHAKQEAgLTczLDYgKzczLDE2IEBAIHZvaWQgQXVkaW9CdXM6OnNldENoYW5uZWxNZW1v
cnkodW5zaWduZWQgY2hhbm5lbEluZGV4LCBmbG9hdCogc3RvcmFnZSwgc2l6ZV90IGxlCiAgICAg
fQogfQogCit2b2lkIEF1ZGlvQnVzOjpzZXRMZW5ndGgoc2l6ZV90IG5ld0xlbmd0aCkKK3sKKyAg
ICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG5ld0xlbmd0aCA8PSBt
X2xlbmd0aCk7CisgICAgaWYgKG5ld0xlbmd0aCA9PSBtX2xlbmd0aCkKKyAgICAgICAgcmV0dXJu
OworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoYW5uZWxzLnNpemUoKTsgKytpKQor
ICAgICAgICBtX2NoYW5uZWxzW2ldLT5zZXRMZW5ndGgobmV3TGVuZ3RoKTsKKyAgICBtX2xlbmd0
aCA9IG5ld0xlbmd0aDsKK30KKwogdm9pZCBBdWRpb0J1czo6emVybygpCiB7CiAgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhbm5lbHMuc2l6ZSgpOyArK2kpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA0MGU4MTEyMTFiNGRhMmNhOGM2NzBiNThi
MzI5NmIzNWNlNjljZDRhLi4zMTc1NTFjOWVmMTE1ZjI2YzA5ZTU4MDA4OTM2YzI0NWJjMTRhMDcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKQEAgLTgzLDYgKzgz
LDkgQEAgcHVibGljOgogICAgIC8vIE51bWJlciBvZiBzYW1wbGUtZnJhbWVzCiAgICAgc2l6ZV90
IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CiAKKyAgICAvLyBSZWR1Y2UgdGhl
IG51bWJlciBvZiBmcmFtZXMgYXZhaWxhYmxlIHdpdGhvdXQgY2hhbmdpbmcgdGhlIGFsbG9jYXRl
ZCBtZW1vcnkgc2l6ZS4KKyAgICB2b2lkIHNldExlbmd0aChzaXplX3QpOworCiAgICAgLy8gU2Ft
cGxlLXJhdGUgOiAwLjAgaWYgdW5rbm93biBvciAiZG9uJ3QgY2FyZSIKICAgICBmbG9hdCBzYW1w
bGVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVSYXRlOyB9CiAgICAgdm9pZCBzZXRTYW1w
bGVSYXRlKGZsb2F0IHNhbXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxlUmF0ZTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAppbmRleCA5NzVi
ZDBiNWFiZDhmNzI1NWEwNWE3ZGQ3MGY5NjUwYjFkNDk0NjY3Li4xNjc2ZjU2YjZkZGI5NzA5YzJk
NDZlNzg5ZTY5OThiYTJmZjE1NTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9BdWRpb0NoYW5uZWwuaApAQCAtNzQsNiArNzQsMTMgQEAgcHVibGljOgogICAgIC8vIEhvdyBt
YW55IHNhbXBsZS1mcmFtZXMgZG8gd2UgY29udGFpbj8KICAgICBzaXplX3QgbGVuZ3RoKCkgY29u
c3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFNldCBuZXcgbGVuZ3RoLiBDYW4gb25s
eSBiZSBzZXQgdG8gYSB2YWx1ZSBsb3dlciB0aGFuIHRoZSBjdXJyZW50IGxlbmd0aC4KKyAgICB2
b2lkIHNldExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKQorICAgIHsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihuZXdMZW5ndGggPD0gbGVuZ3RoKCkpOwor
ICAgICAgICBtX2xlbmd0aCA9IG5ld0xlbmd0aDsKKyAgICB9CisKICAgICAvLyBEaXJlY3QgYWNj
ZXNzIHRvIFBDTSBzYW1wbGUgZGF0YS4gTm9uLWNvbnN0IGFjY2Vzc29yIGNsZWFycyBzaWxlbnQg
ZmxhZy4KICAgICBmbG9hdCogbXV0YWJsZURhdGEoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29h
LmNwcAppbmRleCA1ZDU2YjllZTFhMGQzZDY3YTc5YzMwNzYxZDEzODE1ZDdjMDY0NGNlLi45YjY5
YTgxMjU4ZjIyZTZiMmU5ZjJiYzUxOTYxYmE0NzdjYjMzYzczIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29j
b2EuY3BwCkBAIC0zNCwyMSArMzQsMzYgQEAKIAogI2luY2x1ZGUgIkF1ZGlvQnVzLmgiCiAjaW5j
bHVkZSAiQXVkaW9GaWxlUmVhZGVyLmgiCisjaW5jbHVkZSAiQXVkaW9TYW1wbGVEYXRhU291cmNl
LmgiCisjaW5jbHVkZSAiQXVkaW9UcmFja1ByaXZhdGUuaCIKICNpbmNsdWRlICJGbG9hdENvbnZl
cnNpb24uaCIKKyNpbmNsdWRlICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlLmgiCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgorI2luY2x1ZGUgIk1lZGlhU2FtcGxlQVZGT2JqQy5oIgorI2luY2x1ZGUgIlZp
ZGVvVHJhY2tQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCIK
KyNpbmNsdWRlIDxBdWRpb1Rvb2xib3gvQXVkaW9Db252ZXJ0ZXIuaD4KICNpbmNsdWRlIDxBdWRp
b1Rvb2xib3gvRXh0ZW5kZWRBdWRpb0ZpbGUuaD4KICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9D
b3JlRm91bmRhdGlvbi5oPgotI2luY2x1ZGUgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5o
PgorI2luY2x1ZGUgPFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0uaD4KKyNpbmNsdWRlIDxsaW1pdHM+
CiAjaW5jbHVkZSA8d3RmL0NoZWNrZWRBcml0aG1ldGljLmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RN
YWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1Njb3BlLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgor
I2luY2x1ZGUgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5oPgorI2luY2x1ZGUgPHBhbC9j
Zi9Db3JlTWVkaWFTb2Z0TGluay5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBX
QVJOX1VOVVNFRF9SRVRVUk4gQXVkaW9CdWZmZXJMaXN0KiB0cnlDcmVhdGVBdWRpb0J1ZmZlckxp
c3Qoc2l6ZV90IG51bWJlck9mQnVmZmVycykKIHsKKyAgICBpZiAoIW51bWJlck9mQnVmZmVycykK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgQ2hlY2tlZFNpemUgYnVmZmVyTGlzdFNpemUg
PSBzaXplb2YoQXVkaW9CdWZmZXJMaXN0KSAtIHNpemVvZihBdWRpb0J1ZmZlcik7Ci0gICAgYnVm
ZmVyTGlzdFNpemUgKz0gbnVtYmVyT2ZCdWZmZXJzICogc2l6ZW9mKEF1ZGlvQnVmZmVyKTsKKyAg
ICBidWZmZXJMaXN0U2l6ZSArPSBXVEY6OmNoZWNrZWRQcm9kdWN0PHNpemVfdD4obnVtYmVyT2ZC
dWZmZXJzLCBzaXplb2YoQXVkaW9CdWZmZXIpKTsKICAgICBpZiAoYnVmZmVyTGlzdFNpemUuaGFz
T3ZlcmZsb3dlZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApAQCAtODcsMTAgKzEwMiw1
NSBAQCBzdGF0aWMgYm9vbCB2YWxpZGF0ZUF1ZGlvQnVmZmVyTGlzdChBdWRpb0J1ZmZlckxpc3Qq
IGJ1ZmZlckxpc3QpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKy8vIE9uIHN0YWNrIFJBSUkgY2xh
c3MgdGhhdCB3aWxsIGZyZWUgdGhlIGFsbG9jYXRlZCBBdWRpb0J1ZmZlckxpc3QqIGFzIG5lZWRl
ZC4KK2NsYXNzIEF1ZGlvQnVmZmVyTGlzdEhvbGRlciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQg
QXVkaW9CdWZmZXJMaXN0SG9sZGVyKHNpemVfdCBudW1iZXJPZkNoYW5uZWxzKQorICAgICAgICA6
IG1fYnVmZmVyTGlzdCh0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscykp
CisgICAgeworICAgIH0KKworICAgIH5BdWRpb0J1ZmZlckxpc3RIb2xkZXIoKQorICAgIHsKKyAg
ICAgICAgaWYgKG1fYnVmZmVyTGlzdCkKKyAgICAgICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxp
c3QobV9idWZmZXJMaXN0KTsKKyAgICB9CisKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkg
Y29uc3QgeyByZXR1cm4gISFtX2J1ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3QqIG9w
ZXJhdG9yLT4oKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlckxpc3Q7IH0KKyAgICBvcGVyYXRvciBB
dWRpb0J1ZmZlckxpc3QqKCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXJMaXN0OyB9CisgICAgQXVk
aW9CdWZmZXJMaXN0JiBvcGVyYXRvciooKSBjb25zdCB7IEFTU0VSVChtX2J1ZmZlckxpc3QpOyBy
ZXR1cm4gKm1fYnVmZmVyTGlzdDsgfQorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJu
IHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7IH0KK3ByaXZhdGU6CisgICAg
QXVkaW9CdWZmZXJMaXN0KiBtX2J1ZmZlckxpc3Q7Cit9OworCitjbGFzcyBBdWRpb0ZpbGVSZWFk
ZXJXZWJNRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisKK3B1YmxpYzoKKyNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk06OkluaXRp
YWxpemF0aW9uU2VnbWVudCBtX2luaXRTZWdtZW50OworI2VuZGlmCisgICAgTWVkaWFUaW1lIG1f
ZHVyYXRpb247CisgICAgVmVjdG9yPFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+PiBtX3NhbXBsZXM7
Cit9OworCiBBdWRpb0ZpbGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRlcihjb25zdCB2b2lkKiBkYXRh
LCBzaXplX3QgZGF0YVNpemUpCiAgICAgOiBtX2RhdGEoZGF0YSkKICAgICAsIG1fZGF0YVNpemUo
ZGF0YVNpemUpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ2dlcihMb2dn
ZXI6OmNyZWF0ZSh0aGlzKSkKKyAgICAsIG1fbG9nSWRlbnRpZmllcihMb2dnZXJIZWxwZXI6OnVu
aXF1ZUxvZ0lkZW50aWZpZXIoKSkKKyNlbmRpZgogeworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CisgICAgaWYgKGlzTWF5YmVXZWJNKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwg
ZGF0YVNpemUpKSB7CisgICAgICAgIG1fd2VibURhdGEgPSBkZW11eFdlYk1EYXRhKHN0YXRpY19j
YXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpOworICAgICAgICBpZiAobV93ZWJt
RGF0YSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKICAgICBpZiAoUEFMOjpB
dWRpb0ZpbGVPcGVuV2l0aENhbGxiYWNrcyh0aGlzLCByZWFkUHJvYywgMCwgZ2V0U2l6ZVByb2Ms
IDAsIDAsICZtX2F1ZGlvRmlsZUlEKSAhPSBub0VycikKICAgICAgICAgcmV0dXJuOwogCkBAIC0x
MTEsNiArMTcxLDE5NCBAQCBBdWRpb0ZpbGVSZWFkZXI6On5BdWRpb0ZpbGVSZWFkZXIoKQogICAg
IG1fYXVkaW9GaWxlSUQgPSAwOwogfQogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKK2Jvb2wg
QXVkaW9GaWxlUmVhZGVyOjppc01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3Qg
ZGF0YVNpemUpIGNvbnN0Cit7CisgICAgLy8gRnJvbSBodHRwczovL21pbWVzbmlmZi5zcGVjLndo
YXR3Zy5vcmcvI3NpZ25hdHVyZS1mb3Itd2VibQorICAgIHJldHVybiBkYXRhU2l6ZSA+PSA0ICYm
IGRhdGFbMF0gPT0gMHgxQSAmJiBkYXRhWzFdID09IDB4NDUgJiYgZGF0YVsyXSA9PSAweERGICYm
IGRhdGFbM10gPT0gMHhBMzsKK30KKworc3RkOjp1bmlxdWVfcHRyPEF1ZGlvRmlsZVJlYWRlcldl
Yk1EYXRhPiBBdWRpb0ZpbGVSZWFkZXI6OmRlbXV4V2ViTURhdGEoY29uc3QgdWludDhfdCogZGF0
YSwgc2l6ZV90IGRhdGFTaXplKSBjb25zdAoreworICAgIGF1dG8gcGFyc2VyID0gYWRvcHRSZWYo
bmV3IFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0oKSk7CisgICAgYm9vbCBlcnJvciA9IGZhbHNlOwor
ICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IGF1ZGlvVHJhY2tJZDsKKyAgICBNZWRpYVRpbWUg
ZHVyYXRpb247CisgICAgU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25TZWdt
ZW50IGluaXRTZWdtZW50OworICAgIFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPj4gc2Ft
cGxlczsKKyAgICBwYXJzZXItPnNldERpZEVuY291bnRlckVycm9yRHVyaW5nUGFyc2luZ0NhbGxi
YWNrKFsmXSh1aW50NjRfdCkgeworICAgICAgICBlcnJvciA9IHRydWU7CisgICAgfSk7CisgICAg
cGFyc2VyLT5zZXREaWRQYXJzZUluaXRpYWxpemF0aW9uRGF0YUNhbGxiYWNrKFsmXShTb3VyY2VC
dWZmZXJQYXJzZXJXZWJNOjpJbml0aWFsaXphdGlvblNlZ21lbnQmJiBpbml0KSB7CisgICAgICAg
IGZvciAoYXV0byYgYXVkaW9UcmFjayA6IGluaXQuYXVkaW9UcmFja3MpIHsKKyAgICAgICAgICAg
IGlmIChhdWRpb1RyYWNrLnRyYWNrICYmIGF1ZGlvVHJhY2sudHJhY2stPnRyYWNrVUlEKCkpIHsK
KyAgICAgICAgICAgICAgICBkdXJhdGlvbiA9IGluaXQuZHVyYXRpb247CisgICAgICAgICAgICAg
ICAgYXVkaW9UcmFja0lkID0gYXVkaW9UcmFjay50cmFjay0+dHJhY2tVSUQoKTsKKyAgICAgICAg
ICAgICAgICBpbml0U2VnbWVudCA9IFdURk1vdmUoaW5pdCk7CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7CisgICAgcGFyc2VyLT5zZXRE
aWRQcm92aWRlTWVkaWFEYXRhQ2FsbGJhY2soWyZdKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUs
IHVpbnQ2NF90IHRyYWNrSUQsIGNvbnN0IFN0cmluZyYpIHsKKyAgICAgICAgaWYgKCFhdWRpb1Ry
YWNrSWQgfHwgdHJhY2tJRCAhPSAqYXVkaW9UcmFja0lkKQorICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICBzYW1wbGVzLmFwcGVuZChzdGF0aWNfcmVmZXJlbmNlX2Nhc3Q8TWVkaWFTYW1wbGVB
VkZPYmpDPihXVEZNb3ZlKHNhbXBsZSkpKTsKKyAgICB9KTsKKyAgICBwYXJzZXItPnNldENhbGxP
bkNsaWVudFRocmVhZENhbGxiYWNrKFtdKGF1dG8mJiBmdW5jdGlvbikgeworICAgICAgICBmdW5j
dGlvbigpOworICAgIH0pOworICAgIFNvdXJjZUJ1ZmZlclBhcnNlcjo6U2VnbWVudCBzZWdtZW50
KHsgZGF0YSwgZGF0YVNpemUgfSk7CisgICAgcGFyc2VyLT5hcHBlbmREYXRhKFdURk1vdmUoc2Vn
bWVudCkpOworICAgIGlmICghYXVkaW9UcmFja0lkKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICBwYXJzZXItPmZsdXNoUGVuZGluZ0F1ZGlvQnVmZmVycygpOworICAgIHJldHVybiBtYWtl
VW5pcXVlPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPihBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YSB7
IFdURk1vdmUoaW5pdFNlZ21lbnQpLCBXVEZNb3ZlKGR1cmF0aW9uKSwgV1RGTW92ZShzYW1wbGVz
KSB9KTsKK30KKworc3RydWN0IFBhc3N0aHJvdWdoVXNlckRhdGEgeworICAgIFVJbnQzMiBtX2No
YW5uZWxzOworICAgIFVJbnQzMiBtX2RhdGFTaXplOworICAgIGNvbnN0IHZvaWQqIG1fZGF0YTsK
KyAgICBVSW50MzIgbV9pbmRleDsKKyAgICBWZWN0b3I8QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlw
dGlvbj4mIG1fcGFja2V0czsKK307CisKKy8vIEVycm9yIHZhbHVlIHdlIHBhc3MgdGhyb3VnaCB0
aGUgZGVjb2RlciB0byBzaWduYWwgdGhhdCBub3RoaW5nCisvLyBoYXMgZ29uZSB3cm9uZyBkdXJp
bmcgZGVjb2RpbmcgYW5kIHdlJ3JlIGRvbmUgcHJvY2Vzc2luZyB0aGUgcGFja2V0LgorY29uc3Qg
dWludDMyX3Qga05vTW9yZURhdGFFcnIgPSAnTU9BUic7CisKK3N0YXRpYyBPU1N0YXR1cyBwYXNz
dGhyb3VnaElucHV0RGF0YUNhbGxiYWNrKEF1ZGlvQ29udmVydGVyUmVmLCBVSW50MzIqIG51bURh
dGFQYWNrZXRzLCBBdWRpb0J1ZmZlckxpc3QqIGRhdGEsIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3Jp
cHRpb24qKiBwYWNrZXREZXNjLCB2b2lkKiBpblVzZXJEYXRhKQoreworICAgIEFTU0VSVChudW1E
YXRhUGFja2V0cyAmJiBkYXRhICYmIGluVXNlckRhdGEpOworICAgIGlmICghbnVtRGF0YVBhY2tl
dHMgfHwgIWRhdGEgfHwgIWluVXNlckRhdGEpCisgICAgICAgIHJldHVybiBrQXVkaW9Db252ZXJ0
ZXJFcnJfVW5zcGVjaWZpZWRFcnJvcjsKKworICAgIGF1dG8qIHVzZXJEYXRhID0gc3RhdGljX2Nh
c3Q8UGFzc3Rocm91Z2hVc2VyRGF0YSo+KGluVXNlckRhdGEpOworICAgIGlmICh1c2VyRGF0YS0+
bV9pbmRleCA9PSB1c2VyRGF0YS0+bV9wYWNrZXRzLnNpemUoKSkgeworICAgICAgICAqbnVtRGF0
YVBhY2tldHMgPSAwOworICAgICAgICByZXR1cm4ga05vTW9yZURhdGFFcnI7CisgICAgfQorCisg
ICAgaWYgKHBhY2tldERlc2MpIHsKKyAgICAgICAgaWYgKHVzZXJEYXRhLT5tX2luZGV4ID49IHVz
ZXJEYXRhLT5tX3BhY2tldHMuc2l6ZSgpKSB7CisgICAgICAgICAgICAqbnVtRGF0YVBhY2tldHMg
PSAwOworICAgICAgICAgICAgcmV0dXJuIGtBdWRpb0NvbnZlcnRlckVycl9SZXF1aXJlc1BhY2tl
dERlc2NyaXB0aW9uc0Vycm9yOworICAgICAgICB9CisgICAgICAgICpwYWNrZXREZXNjID0gJnVz
ZXJEYXRhLT5tX3BhY2tldHNbdXNlckRhdGEtPm1faW5kZXhdOworICAgIH0KKworICAgIGRhdGEt
Pm1CdWZmZXJzWzBdLm1OdW1iZXJDaGFubmVscyA9IHVzZXJEYXRhLT5tX2NoYW5uZWxzOworICAg
IGRhdGEtPm1CdWZmZXJzWzBdLm1EYXRhQnl0ZVNpemUgPSB1c2VyRGF0YS0+bV9kYXRhU2l6ZTsK
KyAgICBkYXRhLT5tQnVmZmVyc1swXS5tRGF0YSA9IGNvbnN0X2Nhc3Q8dm9pZCo+KHVzZXJEYXRh
LT5tX2RhdGEpOworCisgICAgKm51bURhdGFQYWNrZXRzID0gMTsKKyAgICB1c2VyRGF0YS0+bV9p
bmRleCsrOworCisgICAgcmV0dXJuIG5vRXJyOworfQorCitWZWN0b3I8QXVkaW9TdHJlYW1QYWNr
ZXREZXNjcmlwdGlvbj4gQXVkaW9GaWxlUmVhZGVyOjpnZXRQYWNrZXREZXNjcmlwdGlvbnMoQ01T
YW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyKSBjb25zdAoreworICAgIHNpemVfdCBwYWNrZXRE
ZXNjcmlwdGlvbnNTaXplOworICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJl
YW1QYWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCAwLCBudWxscHRyLCAmcGFja2V0RGVz
Y3JpcHRpb25zU2l6ZSkgIT0gbm9FcnIpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2Vi
QXVkaW8sICJVbmFibGUgdG8gZ2V0IHBhY2tldCBkZXNjcmlwdGlvbiBsaXN0IHNpemUiKTsKKyAg
ICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgc2l6ZV90IG51bURlc2NyaXB0aW9ucyA9IHBh
Y2tldERlc2NyaXB0aW9uc1NpemUgLyBzaXplb2YoQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
bik7CisgICAgaWYgKCFudW1EZXNjcmlwdGlvbnMpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFV
TFQoV2ViQXVkaW8sICJObyBwYWNrZXQgZGVzY3JpcHRpb24gZm91bmQuIik7CisgICAgICAgIHJl
dHVybiB7IH07CisgICAgfQorICAgIFZlY3RvcjxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
PiBkZXNjcmlwdGlvbnMobnVtRGVzY3JpcHRpb25zKTsKKyAgICBpZiAoUEFMOjpDTVNhbXBsZUJ1
ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1ZmZlciwgcGFja2V0
RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3JpcHRpb25zLmRhdGEoKSwgbnVsbHB0cikgIT0gbm9FcnIp
IHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8gZ2V0IHBh
Y2tldCBkZXNjcmlwdGlvbiBsaXN0Iik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorICAg
IGF1dG8gbnVtUGFja2V0cyA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXROdW1TYW1wbGVzKHNhbXBs
ZUJ1ZmZlcik7CisgICAgaWYgKG51bURlc2NyaXB0aW9ucyAhPSBzaXplX3QobnVtUGFja2V0cykp
IHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmhhbmRsZWQgQ01TYW1w
bGVCdWZmZXIgc3RydWN0dXJlIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorICAgIHJl
dHVybiBkZXNjcmlwdGlvbnM7Cit9CisKK3N0ZDo6b3B0aW9uYWw8c2l6ZV90PiBBdWRpb0ZpbGVS
ZWFkZXI6OmRlY29kZVdlYk1EYXRhKEF1ZGlvQnVmZmVyTGlzdCYgYnVmZmVyTGlzdCwgc2l6ZV90
IG51bWJlck9mRnJhbWVzLCBjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9y
bWF0LCBjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIG91dEZvcm1hdCkgY29uc3QK
K3sKKyAgICBBdWRpb0NvbnZlcnRlclJlZiBjb252ZXJ0ZXI7CisgICAgaWYgKFBBTDo6QXVkaW9D
b252ZXJ0ZXJOZXcoJmluRm9ybWF0LCAmb3V0Rm9ybWF0LCAmY29udmVydGVyKSAhPSBub0Vycikg
eworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBjcmVhdGUg
ZGVjb2RlciIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKyAgICBhdXRvIGNsZWFudXAg
PSBtYWtlU2NvcGVFeGl0KFsmXSB7CisgICAgICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3Nl
KGNvbnZlcnRlcik7CisgICAgfSk7CisgICAgQVNTRVJUKG1fd2VibURhdGEgJiYgIW1fd2VibURh
dGEtPm1fc2FtcGxlcy5pc0VtcHR5KCkgJiYgbV93ZWJtRGF0YS0+bV9zYW1wbGVzWzBdLT5zYW1w
bGVCdWZmZXIoKSwgIlN0cnVjdHVyZSBpbnRlZ3JpdHkgd2FzIGNoZWNrZWQgaW4gbnVtYmVyT2ZG
cmFtZXMiKTsKKyAgICBhdXRvIGZvcm1hdERlc2NyaXB0aW9uID0gUEFMOjpDTVNhbXBsZUJ1ZmZl
ckdldEZvcm1hdERlc2NyaXB0aW9uKG1fd2VibURhdGEtPm1fc2FtcGxlc1swXS0+c2FtcGxlQnVm
ZmVyKCkpOworICAgIGlmICghZm9ybWF0RGVzY3JpcHRpb24pIHsKKyAgICAgICAgUkVMRUFTRV9M
T0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8gcmV0cmlldmUgZm9ybWF0IGRlc2NyaXB0aW9u
IGZyb20gZmlyc3Qgc2FtcGxlIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorICAgIHNp
emVfdCBtYWdpY0Nvb2tpZVNpemUgPSAwOworICAgIGNvbnN0IHZvaWQqIG1hZ2ljQ29va2llID0g
UEFMOjpDTUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25HZXRNYWdpY0Nvb2tpZShmb3JtYXREZXNjcmlw
dGlvbiwgJm1hZ2ljQ29va2llU2l6ZSk7CisgICAgaWYgKG1hZ2ljQ29va2llICYmIG1hZ2ljQ29v
a2llU2l6ZSkKKyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlclNldFByb3BlcnR5KGNvbnZlcnRl
ciwga0F1ZGlvQ29udmVydGVyRGVjb21wcmVzc2lvbk1hZ2ljQ29va2llLCBtYWdpY0Nvb2tpZVNp
emUsIG1hZ2ljQ29va2llKTsKKworICAgIEF1ZGlvQnVmZmVyTGlzdEhvbGRlciBkZWNvZGVkQnVm
ZmVyTGlzdChpbkZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZSk7CisgICAgaWYgKCFkZWNvZGVkQnVm
ZmVyTGlzdCkgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0
byBjcmVhdGUgZGVjb2RlciIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIHNp
emVfdCBkZWNvZGVkRnJhbWVzID0gMDsKKyAgICBPU1N0YXR1cyBzdGF0dXM7CisgICAgZm9yIChh
dXRvJiBzYW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgQ01TYW1wbGVC
dWZmZXJSZWYgc2FtcGxlQnVmZmVyID0gc2FtcGxlLT5zYW1wbGVCdWZmZXIoKTsKKyAgICAgICAg
YXV0byBidWZmZXIgPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlcihzYW1wbGVCdWZm
ZXIpOworICAgICAgICBBU1NFUlQoUEFMOjpDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMo
YnVmZmVyLCAwLCAwKSk7CisgICAgICAgIGlmICghUEFMOjpDTUJsb2NrQnVmZmVySXNSYW5nZUNv
bnRpZ3VvdXMoYnVmZmVyLCAwLCAwKSkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQo
V2ViQXVkaW8sICJVbmFibGUgdG8gcmVhZCBzYW1wbGUgY29udGVudCAobm90IGNvbnRpZ3VvdXMp
Iik7CisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICB9CisKKyAgICAgICAgc2l6ZV90
IHNyY1NpemUgPSBQQUw6OkNNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoKGJ1ZmZlcik7CisgICAg
ICAgIGNoYXIqIHNyY0RhdGEgPSBudWxscHRyOworICAgICAgICBpZiAoUEFMOjpDTUJsb2NrQnVm
ZmVyR2V0RGF0YVBvaW50ZXIoYnVmZmVyLCAwLCBudWxscHRyLCBudWxscHRyLCAmc3JjRGF0YSkg
IT0gbm9FcnIpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5h
YmxlIHRvIHJldHJpZXZlIGRhdGEiKTsKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAg
IH0KKworICAgICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IGdldFBhY2tldERlc2NyaXB0aW9ucyhz
YW1wbGVCdWZmZXIpOworICAgICAgICBpZiAoZGVzY3JpcHRpb25zLmlzRW1wdHkoKSkKKyAgICAg
ICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgUGFzc3Rocm91Z2hVc2VyRGF0YSB1c2VyRGF0
YSA9IHsgaW5Gb3JtYXQubUNoYW5uZWxzUGVyRnJhbWUsIFVJbnQzMihzcmNTaXplKSwgc3JjRGF0
YSwgMCwgZGVzY3JpcHRpb25zIH07CisKKyAgICAgICAgZG8geworICAgICAgICAgICAgaWYgKG51
bWJlck9mRnJhbWVzIDwgZGVjb2RlZEZyYW1lcykgeworICAgICAgICAgICAgICAgIFJFTEVBU0Vf
TE9HX0ZBVUxUKFdlYkF1ZGlvLCAiRGVjb2RlZCBtb3JlIGZyYW1lcyB0aGFuIGZpcnN0IGNhbGN1
bGF0ZWQiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgLy8gaW46IHRoZSBtYXggbnVtYmVyIG9mIHBhY2tldHMgd2UgY2FuIGhhbmRsZSBm
cm9tIHRoZSBkZWNvZGVyLgorICAgICAgICAgICAgLy8gb3V0OiB0aGUgbnVtYmVyIG9mIHBhY2tl
dHMgdGhlIGRlY29kZXIgaXMgYWN0dWFsbHkgcmV0dXJuaW5nLgorICAgICAgICAgICAgVUludDMy
IG51bUZyYW1lcyA9IHN0ZDo6bWluPHVpbnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMy
X3Q+OjptYXgoKSAvIHNpemVvZihmbG9hdCksIG51bWJlck9mRnJhbWVzIC0gZGVjb2RlZEZyYW1l
cyk7CisKKyAgICAgICAgICAgIGZvciAoVUludDMyIGkgPSAwOyBpIDwgaW5Gb3JtYXQubUNoYW5u
ZWxzUGVyRnJhbWU7IGkrKykgeworICAgICAgICAgICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5t
QnVmZmVyc1tpXS5tTnVtYmVyQ2hhbm5lbHMgPSAxOworICAgICAgICAgICAgICAgIGRlY29kZWRC
dWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YUJ5dGVTaXplID0gbnVtRnJhbWVzICogc2l6ZW9m
KGZsb2F0KTsKKyAgICAgICAgICAgICAgICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0u
bURhdGEgPSBzdGF0aWNfY2FzdDxmbG9hdCo+KGJ1ZmZlckxpc3QubUJ1ZmZlcnNbaV0ubURhdGEp
ICsgZGVjb2RlZEZyYW1lczsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0YXR1cyA9IFBB
TDo6QXVkaW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlcihjb252ZXJ0ZXIsIHBhc3N0aHJvdWdo
SW5wdXREYXRhQ2FsbGJhY2ssICZ1c2VyRGF0YSwgJm51bUZyYW1lcywgZGVjb2RlZEJ1ZmZlckxp
c3QsIG51bGxwdHIpOworICAgICAgICAgICAgaWYgKHN0YXR1cyAmJiBzdGF0dXMgIT0ga05vTW9y
ZURhdGFFcnIpIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywg
IkVycm9yIGRlY29kaW5nIGRhdGEiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgZGVjb2RlZEZyYW1lcyArPSBudW1GcmFtZXM7CisgICAg
ICAgIH0gd2hpbGUgKHN0YXR1cyAhPSBrTm9Nb3JlRGF0YUVycik7CisgICAgfQorICAgIHJldHVy
biBkZWNvZGVkRnJhbWVzOworfQorI2VuZGlmCisKIE9TU3RhdHVzIEF1ZGlvRmlsZVJlYWRlcjo6
cmVhZFByb2Modm9pZCogY2xpZW50RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVz
dENvdW50LCB2b2lkKiBidWZmZXIsIFVJbnQzMiogYWN0dWFsQ291bnQpCiB7CiAgICAgYXV0byog
YXVkaW9GaWxlUmVhZGVyID0gc3RhdGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50RGF0
YSk7CkBAIC0xMzYsNjcgKzM4NCwxMzcgQEAgU0ludDY0IEF1ZGlvRmlsZVJlYWRlcjo6Z2V0U2l6
ZVByb2Modm9pZCogY2xpZW50RGF0YSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXVkaW9GaWxl
UmVhZGVyKj4oY2xpZW50RGF0YSktPmRhdGFTaXplKCk7CiB9CiAKLVJlZlB0cjxBdWRpb0J1cz4g
QXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01v
bm8pCitzc2l6ZV90IEF1ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMoKSBjb25zdAogewot
ICAgIGlmICghbV9leHRBdWRpb0ZpbGVSZWYpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAg
IFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSAwOwogCi0gICAgLy8gR2V0IGZpbGUncyBkYXRh
IGZvcm1hdAotICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKG1fZmlsZURhdGFGb3JtYXQpOwotICAg
IGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0
QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZzaXplLCAmbV9maWxlRGF0YUZvcm1h
dCkgIT0gbm9FcnIpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghbV93ZWJtRGF0
YSkgeworICAgICAgICBpZiAoIW1fZXh0QXVkaW9GaWxlUmVmKQorICAgICAgICAgICAgcmV0dXJu
IC0xOwogCi0gICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBtX2ZpbGVEYXRhRm9ybWF0Lm1D
aGFubmVsc1BlckZyYW1lOworICAgICAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihudW1iZXJPZkZy
YW1lc0luNjQpOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4
dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVMZW5ndGhGcmFtZXMsICZz
aXplLCAmbnVtYmVyT2ZGcmFtZXNJbjY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lc0luNjQg
PD0gMCkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUg
dG8gcmV0cmlldmUgbnVtYmVyIG9mIGZyYW1lcyBpbiBjb250ZW50ICh1bnN1cHBvcnRlZD8iKTsK
KyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQogCi0gICAgLy8gTnVtYmVyIG9mIGZy
YW1lcwotICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lczY0ID0gMDsKLSAgICBzaXplID0gc2l6ZW9m
KG51bWJlck9mRnJhbWVzNjQpOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5
KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmlsZUxlbmd0aEZyYW1l
cywgJnNpemUsICZudW1iZXJPZkZyYW1lczY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lczY0
IDw9IDApCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gbnVtYmVyT2ZG
cmFtZXNJbjY0OworICAgIH0KKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIGlmIChtX3dl
Ym1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxU
KFdlYkF1ZGlvLCAiTm8gc2FtcGxlIGRlbXV4ZWQgZnJvbSB3ZWJtIGNvbnRhaW5lciIpOworICAg
ICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgLy8gQ2FsY3VsYXRlIHRoZSB0b3RhbCBudW1i
ZXIgb2YgZGVjb2RlZCBzYW1wbGVzIHRoYXQgd2VyZSBkZW11eGVkLgorICAgIC8vIFRoaXMgY29k
ZSBvbmx5IGhhbmRsZSB0aGUgQ01TYW1wbGVCdWZmZXIgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBTb3Vy
Y2VCdWZmZXJQYXJzZXJXZWJNCisgICAgLy8gd2hlcmUgYSBBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9ucyBhcnJheSBpcyBhbHdheXMgcHJvdmlkZWQgZXZlbiB3aXRoCisgICAgLy8gQ29uc3Rh
bnQgYml0cmF0ZSBhbmQgY29uc3RhbnQgZnJhbWVzLXBlci1wYWNrZXQgYXVkaW8uCisgICAgZm9y
IChhdXRvJiBzYW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgYXV0byBz
YW1wbGVCdWZmZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICBpZiAoIXNhbXBs
ZUJ1ZmZlcikgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJJbXBv
c3NpYmxlIG1lbW9yeSBjb3JydXB0aW9uIGVuY291bnRlcmVkIik7CisgICAgICAgICAgICByZXR1
cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgY29uc3QgYXV0byBmb3JtYXREZXNjcmlwdGlvbiA9
IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbihzYW1wbGVCdWZmZXIpOwor
ICAgICAgICBpZiAoIWZvcm1hdERlc2NyaXB0aW9uKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xP
R19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byByZXRyaWV2ZSBmb3JtYXQgZGVzY3JpcHRpb25n
IGZyb20gc2FtcGxlIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAg
ICAgY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25zdCBhc2JkID0gUEFMOjpD
TUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKGZvcm1hdERl
c2NyaXB0aW9uKTsKKyAgICAgICAgaWYgKCFhc2JkKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xP
R19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byByZXRyaWV2ZSBhc2JkIGZyb20gZm9ybWF0IGRl
c2NyaXB0aW9uIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKworICAgICAg
ICBhdXRvIGRlc2NyaXB0aW9ucyA9IGdldFBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIp
OworICAgICAgICBpZiAoZGVzY3JpcHRpb25zLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVy
biAtMTsKKworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGRlc2NyaXB0aW9uIDogZGVzY3JpcHRp
b25zKSB7CisgICAgICAgICAgICB1aW50MzJfdCBmcHAgPSBkZXNjcmlwdGlvbi5tVmFyaWFibGVG
cmFtZXNJblBhY2tldCA/IGRlc2NyaXB0aW9uLm1WYXJpYWJsZUZyYW1lc0luUGFja2V0IDogYXNi
ZC0+bUZyYW1lc1BlclBhY2tldDsKKyAgICAgICAgICAgIG51bWJlck9mRnJhbWVzSW42NCArPSBm
cHA7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIG51bWJlck9mRnJhbWVzSW42NDsKKyNl
bHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKworc3RkOjpvcHRpb25hbDxBdWRpb1N0cmVh
bUJhc2ljRGVzY3JpcHRpb24+IEF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQoKSBjb25z
dAoreworICAgIGlmICghbV93ZWJtRGF0YSkgeworICAgICAgICBBdWRpb1N0cmVhbUJhc2ljRGVz
Y3JpcHRpb24gZm9ybWF0OworICAgICAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihmb3JtYXQpOwor
ICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJl
Ziwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVEYXRhRm9ybWF0LCAmc2l6ZSwgJmZvcm1hdCkg
IT0gbm9FcnIpCisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICByZXR1cm4gZm9ybWF0
OworICAgIH0KKworICAgIGlmIChtX3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm4geyB9OwogCi0gICAgZG91YmxlIGZpbGVTYW1wbGVSYXRlID0gbV9maWxlRGF0
YUZvcm1hdC5tU2FtcGxlUmF0ZTsKKyAgICBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERl
c2NyaXB0aW9uID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKG1fd2Vi
bURhdGEtPm1fc2FtcGxlc1swXS0+c2FtcGxlQnVmZmVyKCkpOworICAgIGlmICghZm9ybWF0RGVz
Y3JpcHRpb24pCisgICAgICAgIHJldHVybiB7IH07CiAKKyAgICBjb25zdCBBdWRpb1N0cmVhbUJh
c2ljRGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNNQXVkaW9Gb3JtYXREZXNjcmlwdGlv
bkdldFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3JpcHRpb24pOworICAgIHJldHVy
biAqYXNiZDsKK30KKworQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIEF1ZGlvRmlsZVJlYWRl
cjo6Y2xpZW50RGF0YUZvcm1hdChjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGlu
Rm9ybWF0LCBmbG9hdCBzYW1wbGVSYXRlKSBjb25zdAorewogICAgIC8vIE1ha2UgY2xpZW50IGZv
cm1hdCBzYW1lIG51bWJlciBvZiBjaGFubmVscyBhcyBmaWxlIGZvcm1hdCwgYnV0IHR3ZWFrIGEg
ZmV3IHRoaW5ncy4KICAgICAvLyBDbGllbnQgZm9ybWF0IHdpbGwgYmUgbGluZWFyIFBDTSAoY2Fu
b25pY2FsKSwgYW5kIHBvdGVudGlhbGx5IGNoYW5nZSBzYW1wbGUtcmF0ZS4KLSAgICBtX2NsaWVu
dERhdGFGb3JtYXQgPSBtX2ZpbGVEYXRhRm9ybWF0OworICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNj
cmlwdGlvbiBvdXRGb3JtYXQgPSBpbkZvcm1hdDsKIAogICAgIGNvbnN0IGludCBieXRlc1BlckZs
b2F0ID0gc2l6ZW9mKEZsb2F0MzIpOwogICAgIGNvbnN0IGludCBiaXRzUGVyQnl0ZSA9IDg7Ci0g
ICAgbV9jbGllbnREYXRhRm9ybWF0Lm1Gb3JtYXRJRCA9IGtBdWRpb0Zvcm1hdExpbmVhclBDTTsK
LSAgICBtX2NsaWVudERhdGFGb3JtYXQubUZvcm1hdEZsYWdzID0ga0F1ZGlvRm9ybWF0RmxhZ3NO
YXRpdmVGbG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1hdEZsYWdJc05vbkludGVybGVhdmVkOwotICAg
IG1fY2xpZW50RGF0YUZvcm1hdC5tQnl0ZXNQZXJQYWNrZXQgPSBieXRlc1BlckZsb2F0OwotICAg
IG1fY2xpZW50RGF0YUZvcm1hdC5tRnJhbWVzUGVyUGFja2V0ID0gMTsKLSAgICBtX2NsaWVudERh
dGFGb3JtYXQubUJ5dGVzUGVyRnJhbWUgPSBieXRlc1BlckZsb2F0OwotICAgIG1fY2xpZW50RGF0
YUZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZSA9IG51bWJlck9mQ2hhbm5lbHM7Ci0gICAgbV9jbGll
bnREYXRhRm9ybWF0Lm1CaXRzUGVyQ2hhbm5lbCA9IGJpdHNQZXJCeXRlICogYnl0ZXNQZXJGbG9h
dDsKKyAgICBvdXRGb3JtYXQubUZvcm1hdElEID0ga0F1ZGlvRm9ybWF0TGluZWFyUENNOworICAg
IG91dEZvcm1hdC5tRm9ybWF0RmxhZ3MgPSBrQXVkaW9Gb3JtYXRGbGFnc05hdGl2ZUZsb2F0UGFj
a2VkIHwga0F1ZGlvRm9ybWF0RmxhZ0lzTm9uSW50ZXJsZWF2ZWQ7CisgICAgb3V0Rm9ybWF0Lm1C
eXRlc1BlclBhY2tldCA9IG91dEZvcm1hdC5tQnl0ZXNQZXJGcmFtZSA9IGJ5dGVzUGVyRmxvYXQ7
CisgICAgb3V0Rm9ybWF0Lm1GcmFtZXNQZXJQYWNrZXQgPSAxOworICAgIG91dEZvcm1hdC5tQml0
c1BlckNoYW5uZWwgPSBiaXRzUGVyQnl0ZSAqIGJ5dGVzUGVyRmxvYXQ7CiAKICAgICBpZiAoc2Ft
cGxlUmF0ZSkKLSAgICAgICAgbV9jbGllbnREYXRhRm9ybWF0Lm1TYW1wbGVSYXRlID0gc2FtcGxl
UmF0ZTsKKyAgICAgICAgb3V0Rm9ybWF0Lm1TYW1wbGVSYXRlID0gc2FtcGxlUmF0ZTsKIAotICAg
IGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0
QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0YUZvcm1hdCwgc2l6ZW9mKEF1ZGlvU3RyZWFtQmFz
aWNEZXNjcmlwdGlvbiksICZtX2NsaWVudERhdGFGb3JtYXQpICE9IG5vRXJyKQorICAgIHJldHVy
biBvdXRGb3JtYXQ7Cit9CisKK1JlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVh
dGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCit7CisgICAgU0ludDY0IG51
bWJlck9mRnJhbWVzSW42NCA9IG51bWJlck9mRnJhbWVzKCk7CisgICAgaWYgKG51bWJlck9mRnJh
bWVzSW42NCA8PSAwKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIC8vIENoYW5nZSBu
dW1iZXJPZkZyYW1lczY0IHRvIGRlc3RpbmF0aW9uIHNhbXBsZS1yYXRlCi0gICAgbnVtYmVyT2ZG
cmFtZXM2NCA9IG51bWJlck9mRnJhbWVzNjQgKiAobV9jbGllbnREYXRhRm9ybWF0Lm1TYW1wbGVS
YXRlIC8gZmlsZVNhbXBsZVJhdGUpOwotICAgIHNpemVfdCBudW1iZXJPZkZyYW1lcyA9IHN0YXRp
Y19jYXN0PHNpemVfdD4obnVtYmVyT2ZGcmFtZXM2NCk7CisgICAgYXV0byBpbkZvcm1hdCA9IGZp
bGVEYXRhRm9ybWF0KCk7CisgICAgaWYgKCFpbkZvcm1hdCkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gb3V0Rm9ybWF0ID0gY2xpZW50
RGF0YUZvcm1hdCgqaW5Gb3JtYXQsIHNhbXBsZVJhdGUpOworICAgIHNpemVfdCBudW1iZXJPZkNo
YW5uZWxzID0gaW5Gb3JtYXQtPm1DaGFubmVsc1BlckZyYW1lOworICAgIGRvdWJsZSBmaWxlU2Ft
cGxlUmF0ZSA9IGluRm9ybWF0LT5tU2FtcGxlUmF0ZTsKKyAgICBTSW50NjQgbnVtYmVyT2ZGcmFt
ZXNPdXQ2NCA9IG51bWJlck9mRnJhbWVzSW42NCAqIChvdXRGb3JtYXQubVNhbXBsZVJhdGUgLyBm
aWxlU2FtcGxlUmF0ZSk7CisgICAgc2l6ZV90IG51bWJlck9mRnJhbWVzID0gc3RhdGljX2Nhc3Q8
c2l6ZV90PihudW1iZXJPZkZyYW1lc091dDY0KTsKICAgICBzaXplX3QgYnVzQ2hhbm5lbENvdW50
ID0gbWl4VG9Nb25vID8gMSA6IG51bWJlck9mQ2hhbm5lbHM7CiAKICAgICAvLyBDcmVhdGUgQXVk
aW9CdXMgd2hlcmUgd2UnbGwgcHV0IHRoZSBQQ00gYXVkaW8gZGF0YQogICAgIGF1dG8gYXVkaW9C
dXMgPSBBdWRpb0J1czo6Y3JlYXRlKGJ1c0NoYW5uZWxDb3VudCwgbnVtYmVyT2ZGcmFtZXMpOwot
ICAgIGF1ZGlvQnVzLT5zZXRTYW1wbGVSYXRlKG5hcnJvd1ByZWNpc2lvblRvRmxvYXQobV9jbGll
bnREYXRhRm9ybWF0Lm1TYW1wbGVSYXRlKSk7IC8vIHNhdmUgZm9yIGxhdGVyCi0KLSAgICAvLyBP
bmx5IGFsbG9jYXRlZCBpbiB0aGUgbWl4VG9Nb25vIGNhc2U7IGRlYWxsb2NhdGVkIG9uIGRlc3Ry
dWN0aW9uLgotICAgIEF1ZGlvRmxvYXRBcnJheSBsZWZ0Q2hhbm5lbDsKLSAgICBBdWRpb0Zsb2F0
QXJyYXkgcmlnaHRDaGFubmVsOworICAgIGF1ZGlvQnVzLT5zZXRTYW1wbGVSYXRlKG5hcnJvd1By
ZWNpc2lvblRvRmxvYXQob3V0Rm9ybWF0Lm1TYW1wbGVSYXRlKSk7IC8vIHNhdmUgZm9yIGxhdGVy
CiAKLSAgICBBdWRpb0J1ZmZlckxpc3QqIGJ1ZmZlckxpc3QgPSB0cnlDcmVhdGVBdWRpb0J1ZmZl
ckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CisgICAgQXVkaW9CdWZmZXJMaXN0SG9sZGVyIGJ1ZmZl
ckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CiAgICAgaWYgKCFidWZmZXJMaXN0KSB7CiAgICAgICAg
IFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAidHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KCVs
ZCkgcmV0dXJuZWQgbnVsbCIsIG51bWJlck9mQ2hhbm5lbHMpOwogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICB9CiAgICAgY29uc3Qgc2l6ZV90IGJ1ZmZlclNpemUgPSBudW1iZXJPZkZyYW1l
cyAqIHNpemVvZihmbG9hdCk7CiAKKyAgICAvLyBPbmx5IGFsbG9jYXRlZCBpbiB0aGUgbWl4VG9N
b25vIGNhc2U7IGRlYWxsb2NhdGVkIG9uIGRlc3RydWN0aW9uLgorICAgIEF1ZGlvRmxvYXRBcnJh
eSBsZWZ0Q2hhbm5lbDsKKyAgICBBdWRpb0Zsb2F0QXJyYXkgcmlnaHRDaGFubmVsOworCiAgICAg
UkVMRUFTRV9BU1NFUlQoYnVmZmVyTGlzdC0+bU51bWJlckJ1ZmZlcnMgPT0gbnVtYmVyT2ZDaGFu
bmVscyk7CiAgICAgaWYgKG1peFRvTW9ubyAmJiBudW1iZXJPZkNoYW5uZWxzID09IDIpIHsKICAg
ICAgICAgbGVmdENoYW5uZWwucmVzaXplKG51bWJlck9mRnJhbWVzKTsKQEAgLTIyMiwxOCArNTQw
LDMwIEBAIFJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQg
c2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAo
IXZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpKSB7CisgICAgaWYgKCFidWZmZXJM
aXN0LmlzVmFsaWQoKSkgewogICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIkdl
bmVyYXRlZCBidWZmZXIgaW4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoKSBkaWQgbm90IHBh
c3MgdmFsaWRhdGlvbiIpOwogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAg
ZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KTsKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgfQogCi0gICAgLy8gUmVhZCBmcm9tIHRoZSBmaWxlIChvciBpbi1tZW1vcnkgdmVy
c2lvbikKLSAgICBVSW50MzIgZnJhbWVzVG9SZWFkID0gbnVtYmVyT2ZGcmFtZXM7Ci0gICAgaWYg
KFBBTDo6RXh0QXVkaW9GaWxlUmVhZChtX2V4dEF1ZGlvRmlsZVJlZiwgJmZyYW1lc1RvUmVhZCwg
YnVmZmVyTGlzdCkgIT0gbm9FcnIpIHsKLSAgICAgICAgZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChi
dWZmZXJMaXN0KTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKG1fd2VibURhdGEp
IHsKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgICAgICBhdXRvIGRlY29kZWRGcmFtZXMg
PSBkZWNvZGVXZWJNRGF0YSgqYnVmZmVyTGlzdCwgbnVtYmVyT2ZGcmFtZXMsICppbkZvcm1hdCwg
b3V0Rm9ybWF0KTsKKyAgICAgICAgaWYgKCFkZWNvZGVkRnJhbWVzKQorICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgICAgIC8vIFRoZSBhY3R1YWwgZGVjb2RlZCBudW1iZXIgb2YgZnJh
bWVzIG1heSBub3QgbWF0Y2ggdGhlIG51bWJlciBvZiBmcmFtZXMgY2FsY3VsYXRlZAorICAgICAg
ICAvLyB3aGlsZSBkZW11eGluZyBhcyBmcmFtZXMgY2FuIGJlIHRyaW1tZWQuIEl0IHdpbGwgYWx3
YXlzIGJlIGxvd2VyLgorICAgICAgICBhdWRpb0J1cy0+c2V0TGVuZ3RoKCpkZWNvZGVkRnJhbWVz
KTsKKyAgICAgICAgbnVtYmVyT2ZGcmFtZXMgPSAqZGVjb2RlZEZyYW1lczsKKyNlbmRpZgorICAg
IH0gZWxzZSB7CisgICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFByb3BlcnR5KG1fZXh0
QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0YUZvcm1hdCwgc2l6
ZW9mKEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksICZvdXRGb3JtYXQpICE9IG5vRXJyKQor
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgLy8gUmVhZCBmcm9tIHRoZSBm
aWxlIChvciBpbi1tZW1vcnkgdmVyc2lvbikKKyAgICAgICAgVUludDMyIGZyYW1lc1RvUmVhZCA9
IG51bWJlck9mRnJhbWVzOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVSZWFkKG1fZXh0
QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCBidWZmZXJMaXN0KSAhPSBub0VycikKKyAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIGlmIChtaXhUb01vbm8gJiYgbnVt
YmVyT2ZDaGFubmVscyA9PSAyKSB7CkBAIC0yNDMsOSArNTczLDYgQEAgUmVmUHRyPEF1ZGlvQnVz
PiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRv
TW9ubykKICAgICAgICAgICAgIGRlc3RMW2ldID0gMC41ZiAqIChsZWZ0Q2hhbm5lbFtpXSArIHJp
Z2h0Q2hhbm5lbFtpXSk7CiAgICAgfQogCi0gICAgLy8gQ2xlYW51cAotICAgIGRlc3Ryb3lBdWRp
b0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7Ci0KICAgICByZXR1cm4gYXVkaW9CdXM7CiB9CiAKQEAg
LTI1NSw2ICs1ODIsMTMgQEAgUmVmUHRyPEF1ZGlvQnVzPiBjcmVhdGVCdXNGcm9tSW5NZW1vcnlB
dWRpb0ZpbGUoY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGRhdGFTaXoKICAgICByZXR1cm4gcmVh
ZGVyLmNyZWF0ZUJ1cyhzYW1wbGVSYXRlLCBtaXhUb01vbm8pOwogfQogCisjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECitXVEZMb2dDaGFubmVsJiBBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwo
KSBjb25zdAoreworICAgIHJldHVybiBMb2dNZWRpYTsKK30KKyNlbmRpZgorCiB9IC8vIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVESU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaAppbmRl
eCAwYmJiYmEyNzg1N2Q5NzllY2M2ODhmODdmMDMzOWY2NjVlZjQyNTI5Li44NmM5YjcxMzY4YjQ1
MTdkZTNkNWY4OTk0ODBmMGI1YTQ1YTM0NjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmgKQEAgLTMy
LDIwICszMiwyOSBAQAogI2lmIEVOQUJMRShXRUJfQVVESU8pCiAKICNpbmNsdWRlIDxDb3JlQXVk
aW8vQ29yZUF1ZGlvVHlwZXMuaD4KKyNpbmNsdWRlIDxvcHRpb25hbD4KKyNpbmNsdWRlIDx3dGYv
TG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiB1c2luZyBFeHRBdWRp
b0ZpbGVSZWYgPSBzdHJ1Y3QgT3BhcXVlRXh0QXVkaW9GaWxlKjsKIHVzaW5nIEF1ZGlvRmlsZUlE
ID0gc3RydWN0IE9wYXF1ZUF1ZGlvRmlsZUlEKjsKK3R5cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2Ft
cGxlQnVmZmVyKiBDTVNhbXBsZUJ1ZmZlclJlZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBBdWRpb0J1czsKK2NsYXNzIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk07CitjbGFzcyBBdWRp
b0ZpbGVSZWFkZXJXZWJNRGF0YTsKIAogLy8gV3JhcHBlciBjbGFzcyBmb3IgQXVkaW9GaWxlIGFu
ZCBFeHRBdWRpb0ZpbGUgQ29yZUF1ZGlvIEFQSXMgZm9yIHJlYWRpbmcgZmlsZXMgYW5kIGluLW1l
bW9yeSB2ZXJzaW9ucyBvZiB0aGVtLi4uCiAKLWNsYXNzIEF1ZGlvRmlsZVJlYWRlciB7CitjbGFz
cyBBdWRpb0ZpbGVSZWFkZXIKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICA6IHB1Ymxp
YyBMb2dnZXJIZWxwZXIKKyNlbmRpZgorewogcHVibGljOgotICAgIGV4cGxpY2l0IEF1ZGlvRmls
ZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpemUpOworICAgIEF1ZGlvRmls
ZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpemUpOwogICAgIH5BdWRpb0Zp
bGVSZWFkZXIoKTsKIAogICAgIFJlZlB0cjxBdWRpb0J1cz4gY3JlYXRlQnVzKGZsb2F0IHNhbXBs
ZVJhdGUsIGJvb2wgbWl4VG9Nb25vKTsgLy8gUmV0dXJucyBudWxscHRyIG9uIGVycm9yCkBAIC01
Myw5ICs2MiwyNSBAQCBwdWJsaWM6CiAgICAgY29uc3Qgdm9pZCogZGF0YSgpIGNvbnN0IHsgcmV0
dXJuIG1fZGF0YTsgfQogICAgIHNpemVfdCBkYXRhU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0
YVNpemU7IH0KIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IExvZ2dlciYg
bG9nZ2VyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBjb25z
dCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlm
aWVyOyB9CisgICAgV1RGTG9nQ2hhbm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0IGZpbmFsOworICAg
IGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJBdWRpb0Zp
bGVSZWFkZXJDb2NvYSI7IH0KKyNlbmRpZgorCiBwcml2YXRlOgorI2lmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCisgICAgYm9vbCBpc01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3Qg
ZGF0YVNpemUpIGNvbnN0OworICAgIHN0ZDo6dW5pcXVlX3B0cjxBdWRpb0ZpbGVSZWFkZXJXZWJN
RGF0YT4gZGVtdXhXZWJNRGF0YShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUp
IGNvbnN0OworICAgIFZlY3RvcjxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPiBnZXRQYWNr
ZXREZXNjcmlwdGlvbnMoQ01TYW1wbGVCdWZmZXJSZWYpIGNvbnN0OworICAgIHN0ZDo6b3B0aW9u
YWw8c2l6ZV90PiBkZWNvZGVXZWJNRGF0YShBdWRpb0J1ZmZlckxpc3QmLCBzaXplX3QgbnVtYmVy
T2ZGcmFtZXMsIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5Gb3JtYXQsIGNv
bnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgb3V0Rm9ybWF0KSBjb25zdDsKKyNlbmRp
ZgogICAgIHN0YXRpYyBPU1N0YXR1cyByZWFkUHJvYyh2b2lkKiBjbGllbnREYXRhLCBTSW50NjQg
cG9zaXRpb24sIFVJbnQzMiByZXF1ZXN0Q291bnQsIHZvaWQqIGJ1ZmZlciwgVUludDMyKiBhY3R1
YWxDb3VudCk7CiAgICAgc3RhdGljIFNJbnQ2NCBnZXRTaXplUHJvYyh2b2lkKiBjbGllbnREYXRh
KTsKKyAgICBzc2l6ZV90IG51bWJlck9mRnJhbWVzKCkgY29uc3Q7CisgICAgc3RkOjpvcHRpb25h
bDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+IGZpbGVEYXRhRm9ybWF0KCkgY29uc3Q7Cisg
ICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIGNsaWVudERhdGFGb3JtYXQoY29uc3QgQXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwgZmxvYXQgc2FtcGxlUmF0ZSkgY29u
c3Q7CiAKICAgICBjb25zdCB2b2lkKiBtX2RhdGEgPSB7IG51bGxwdHIgfTsKICAgICBzaXplX3Qg
bV9kYXRhU2l6ZSA9IHsgMCB9OwpAQCAtNjMsOCArODgsMTMgQEAgcHJpdmF0ZToKICAgICBBdWRp
b0ZpbGVJRCBtX2F1ZGlvRmlsZUlEID0geyBudWxscHRyIH07CiAgICAgRXh0QXVkaW9GaWxlUmVm
IG1fZXh0QXVkaW9GaWxlUmVmID0geyBudWxscHRyIH07CiAKLSAgICBBdWRpb1N0cmVhbUJhc2lj
RGVzY3JpcHRpb24gbV9maWxlRGF0YUZvcm1hdDsKLSAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3Jp
cHRpb24gbV9jbGllbnREYXRhRm9ybWF0OworICAgIHN0ZDo6dW5pcXVlX3B0cjxBdWRpb0ZpbGVS
ZWFkZXJXZWJNRGF0YT4gbV93ZWJtRGF0YTsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAor
ICAgIGNvbnN0IFJlZjxMb2dnZXI+IG1fbG9nZ2VyOworICAgIGNvbnN0IHZvaWQqIG1fbG9nSWRl
bnRpZmllcjsKKyNlbmRpZgorCiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCmluZGV4IGEx
ZTcxYmQ1MjIzMjI0MjU3MTZjNmI5ZTVhY2VkMDZlNTU4MjkzM2EuLjZhZTNiNWNkMWYyZWZkNjIz
OWZiMzRkMDEzYTU4Nzc2ZjQxOGM2ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCkBAIC0zMyw3
ICszMyw2IEBACiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLXR5cGVkZWYgY29uc3Qgc3RydWN0IG9wYXF1ZUNN
Rm9ybWF0RGVzY3JpcHRpb24gKkNNRm9ybWF0RGVzY3JpcHRpb25SZWY7CiB0eXBlZGVmIHN0cnVj
dCBvcGFxdWVDTVNhbXBsZUJ1ZmZlciAqQ01TYW1wbGVCdWZmZXJSZWY7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29h
L0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQppbmRleCBkMmI1YWM0NWYzMGZkNGEzYWY1
MWI0MjBkZTM3NjQ5YjExNTFjMjI3Li43MGRjMjQ4NGE1ZWQ2Njg4OWZjYTMzZWUyOTFlYzEwNmE1
ZjlmOWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9B
dWRpb1NhbXBsZURhdGFTb3VyY2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCkBAIC0zOSw2ICszOSw3IEBACiAjaW1w
b3J0IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAK
KyNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5oPgogI2ltcG9ydCA8cGFsL2Nm
L0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTY3LDcgKzY4
LDcgQEAgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2Uoc2l6ZV90
IG1heGltdW1TYW1wbGVDb3VudCwgTG9nZ2VySGUKIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6fkF1
ZGlvU2FtcGxlRGF0YVNvdXJjZSgpCiB7CiAgICAgaWYgKG1fY29udmVydGVyKQotICAgICAgICBB
dWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOworICAgICAgICBQQUw6OkF1ZGlvQ29u
dmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CiB9CiAKIE9TU3RhdHVzIEF1ZGlvU2FtcGxlRGF0
YVNvdXJjZTo6c2V0dXBDb252ZXJ0ZXIoKQpAQCAtNzUsMTQgKzc2LDE0IEBAIE9TU3RhdHVzIEF1
ZGlvU2FtcGxlRGF0YVNvdXJjZTo6c2V0dXBDb252ZXJ0ZXIoKQogICAgIEFTU0VSVChtX2lucHV0
RGVzY3JpcHRpb24gJiYgbV9vdXRwdXREZXNjcmlwdGlvbik7CiAKICAgICBpZiAobV9jb252ZXJ0
ZXIpIHsKLSAgICAgICAgQXVkaW9Db252ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKKyAgICAg
ICAgUEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOwogICAgICAgICBtX2Nv
bnZlcnRlciA9IG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKCptX2lucHV0RGVzY3JpcHRpb24g
PT0gKm1fb3V0cHV0RGVzY3JpcHRpb24pCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgT1NTdGF0
dXMgZXJyID0gQXVkaW9Db252ZXJ0ZXJOZXcoJm1faW5wdXREZXNjcmlwdGlvbi0+c3RyZWFtRGVz
Y3JpcHRpb24oKSwgJm1fb3V0cHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0aW9uKCksICZt
X2NvbnZlcnRlcik7CisgICAgT1NTdGF0dXMgZXJyID0gUEFMOjpBdWRpb0NvbnZlcnRlck5ldygm
bV9pbnB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9vdXRwdXREZXNjcmlw
dGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fY29udmVydGVyKTsKICAgICBpZiAoZXJyKSB7
CiAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9
IG1ha2VSZWZQdHIoKnRoaXMpLCBlcnJdIHsKICAgICAgICAgICAgIEVSUk9SX0xPRygiQXVkaW9D
b252ZXJ0ZXJOZXcgcmV0dXJuZWQgZXJyb3IgIiwgZXJyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbQppbmRl
eCBlM2Q2ZmFjNzA0MzY5NmZjN2VlMmE5MjE1ZGIyMWE4ZjdkZjgyNWE1Li5hMzJkZjYyMDQ4ZDMy
ZDdiMTM0ZGJmNTZkYTAwN2I3MGVjMjQ3M2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tCkBAIC0yOCw2
ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoR0FNRVBBRCkgJiYgUExBVEZPUk0oTUFDKQogCisjaW1w
b3J0ICJHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5oIgogI2ltcG9ydCAiR2FtZXBhZFBy
b3ZpZGVyQ2xpZW50LmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUdh
bWVwYWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Ry
YWNrUHJpdmF0ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJh
Y2tQcml2YXRlQmFzZS5jcHAKaW5kZXggNGQ4ZWU2MmUwMWI4ZWFlYmFjYzZkMjhiM2EwOTg1Mjk1
MmM1ZDgwYS4uYzA2NmMyZDQ4Nzk3YTRhYWIzYjliZTJhMGVkZDRkODM4YjRiZjVjMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFz
ZS5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoVklERU8pCiAKICNpbmNsdWRlICJM
b2dnaW5nLmgiCi0jaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmgKaW5k
ZXggZDAzY2RjOGRkNjI1NDE2MDk5YTUzNzEzNWVlMTFlYzkxMDczNmEwMi4uNTQ1ZjBiZTFjNTBj
YmZlNDE3MDE4MDM1NmY4OGNlM2M1NTJjODZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBQaXhlbEJ1ZmZlcjsKIAotY2xhc3MgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1w
bGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2FtcGxlIHsKK2NsYXNzIE1lZGlhU2FtcGxlQVZGT2Jq
QyA6IHB1YmxpYyBNZWRpYVNhbXBsZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNZWRpYVNh
bXBsZUFWRk9iakM+IGNyZWF0ZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIHVpbnQ2NF90IHRy
YWNrSUQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFTYW1wbGVBVkZPYmpDKHNhbXBsZSwg
dHJhY2tJRCkpOyB9CiAgICAgc3RhdGljIFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZShD
TVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0KQEAgLTQ0
LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldEFz
RGlzcGxheUltbWVkaWF0ZWx5KE1lZGlhU2FtcGxlJik7CiAgICAgc3RhdGljIFJldGFpblB0cjxD
TVNhbXBsZUJ1ZmZlclJlZj4gY2xvbmVTYW1wbGVCdWZmZXJBbmRTZXRBc0Rpc3BsYXlJbW1lZGlh
dGVseShDTVNhbXBsZUJ1ZmZlclJlZik7CiAKLSAgICBSZWZQdHI8SlNDOjpVaW50OENsYW1wZWRB
cnJheT4gZ2V0UkdCQUltYWdlRGF0YSgpIGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQ
T1JUIFJlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VEYXRhKCkgY29u
c3Qgb3ZlcnJpZGU7CiAKICAgICBNZWRpYVRpbWUgcHJlc2VudGF0aW9uVGltZSgpIGNvbnN0IG92
ZXJyaWRlOwogICAgIE1lZGlhVGltZSBkZWNvZGVUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC01
OSwxNiArNTksMTYgQEAgcHVibGljOgogICAgIFNhbXBsZUZsYWdzIGZsYWdzKCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgUGxhdGZvcm1TYW1wbGUgcGxhdGZvcm1TYW1wbGUoKSBvdmVycmlkZTsKICAg
ICBzdGQ6Om9wdGlvbmFsPEJ5dGVSYW5nZT4gYnl0ZVJhbmdlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0g
ICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBv
ZmZzZXRUaW1lc3RhbXBzQnkoY29uc3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBz
ZXRUaW1lc3RhbXBzKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYpIG92ZXJyaWRl
OwotICAgIGJvb2wgaXNEaXZpc2FibGUoKSBjb25zdCBvdmVycmlkZTsKLSAgICBzdGQ6OnBhaXI8
UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVmUHRyPE1lZGlhU2FtcGxlPj4gZGl2aWRlKGNvbnN0IE1l
ZGlhVGltZSYgcHJlc2VudGF0aW9uVGltZSwgVXNlRW5kVGltZSkgb3ZlcnJpZGU7Ci0gICAgUmVm
PE1lZGlhU2FtcGxlPiBjcmVhdGVOb25EaXNwbGF5aW5nQ29weSgpIGNvbnN0IG92ZXJyaWRlOwor
ICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNEaXZpc2FibGUoKSBjb25zdCBvdmVycmlkZTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBzdGQ6OnBhaXI8UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVmUHRyPE1l
ZGlhU2FtcGxlPj4gZGl2aWRlKGNvbnN0IE1lZGlhVGltZSYgcHJlc2VudGF0aW9uVGltZSwgVXNl
RW5kVGltZSkgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgUmVmPE1lZGlhU2FtcGxlPiBj
cmVhdGVOb25EaXNwbGF5aW5nQ29weSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgVmlkZW9Sb3Rh
dGlvbiB2aWRlb1JvdGF0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9yb3RhdGlvbjsg
fQogICAgIGJvb2wgdmlkZW9NaXJyb3JlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fbWly
cm9yZWQ7IH0KLSAgICB1aW50MzJfdCB2aWRlb1BpeGVsRm9ybWF0KCkgY29uc3QgZmluYWw7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdWludDMyX3QgdmlkZW9QaXhlbEZvcm1hdCgpIGNvbnN0IGZpbmFs
OwogCiAgICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyKCkgY29uc3QgeyByZXR1cm4g
bV9zYW1wbGUuZ2V0KCk7IH0KIApAQCAtNzgsMzQgKzc4LDE1IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldEJ5dGVSYW5nZU9mZnNldChzaXplX3QpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgTWVkaWFTYW1w
bGVBVkZPYmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4mJiBzYW1wbGUpCi0gICAgICAg
IDogbV9zYW1wbGUoV1RGTW92ZShzYW1wbGUpKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFTYW1w
bGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSkKLSAgICAgICAgOiBtX3NhbXBsZShz
YW1wbGUpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZm
ZXJSZWYgc2FtcGxlLCBBdG9tU3RyaW5nIHRyYWNrSUQpCi0gICAgICAgIDogbV9zYW1wbGUoc2Ft
cGxlKQotICAgICAgICAsIG1faWQodHJhY2tJRCkKLSAgICB7Ci0gICAgfQotICAgIE1lZGlhU2Ft
cGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQpCi0g
ICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgICAgICAsIG1faWQoQXRvbVN0cmluZzo6bnVt
YmVyKHRyYWNrSUQpKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2Ft
cGxlQnVmZmVyUmVmIHNhbXBsZSwgVmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgYm9vbCBtaXJyb3Jl
ZCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9yb3RhdGlvbihyb3Rh
dGlvbikKLSAgICAgICAgLCBtX21pcnJvcmVkKG1pcnJvcmVkKQotICAgIHsKLSAgICB9CisgICAg
V0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZl
clJlZj4mJik7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxl
QnVmZmVyUmVmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1w
bGVCdWZmZXJSZWYsIEF0b21TdHJpbmcgdHJhY2tJRCk7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVk
aWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmLCB1aW50NjRfdCB0cmFja0lEKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYsIFZp
ZGVvUm90YXRpb24sIGJvb2wgbWlycm9yZWQpOworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwg
fk1lZGlhU2FtcGxlQVZGT2JqQygpOwogCiAgICAgc3RkOjpvcHRpb25hbDxNZWRpYVNhbXBsZTo6
Qnl0ZVJhbmdlPiBieXRlUmFuZ2VGb3JBdHRhY2htZW50KENGU3RyaW5nUmVmIGtleSkgY29uc3Q7
CiAKLSAgICB2aXJ0dWFsIH5NZWRpYVNhbXBsZUFWRk9iakMoKSA9IGRlZmF1bHQ7CiAgICAgUmV0
YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBtX3NhbXBsZTsKICAgICBBdG9tU3RyaW5nIG1faWQ7
CiAgICAgVmlkZW9Sb3RhdGlvbiBtX3JvdGF0aW9uIHsgVmlkZW9Sb3RhdGlvbjo6Tm9uZSB9OwpA
QCAtMTEzLDQgKzk0LDMgQEAgcHJvdGVjdGVkOgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0KaW5kZXgg
YzBmMTNkNmVhNWM5NzU3NjdjZThmNjJhYjY4NDJkN2Q2ZjBmYmI2Yi4uY2YzYzM0MTBhMzhhZGVj
NDk1N2M5NzE0MmIzMjQyMjRkNWFmZDgxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhU2FtcGxlQVZGT2JqQy5tbQpAQCAtNDUsNiArNDUsMzMgQEAgc3RydWN0IFdURjo6Q0ZUeXBl
VHJhaXQ8Q01TYW1wbGVCdWZmZXJSZWY+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitNZWRp
YVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZm
ZXJSZWY+JiYgc2FtcGxlKQorICAgIDogbV9zYW1wbGUoV1RGTW92ZShzYW1wbGUpKQoreworfQor
TWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYg
c2FtcGxlKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQoreworfQorTWVkaWFTYW1wbGVBVkZPYmpD
OjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBBdG9tU3RyaW5n
IHRyYWNrSUQpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCisgICAgLCBtX2lkKHRyYWNrSUQpCit7
Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZl
clJlZiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCisg
ICAgLCBtX2lkKEF0b21TdHJpbmc6Om51bWJlcih0cmFja0lEKSkKK3sKK30KK01lZGlhU2FtcGxl
QVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgVmlk
ZW9Sb3RhdGlvbiByb3RhdGlvbiwgYm9vbCBtaXJyb3JlZCkKKyAgICA6IG1fc2FtcGxlKHNhbXBs
ZSkKKyAgICAsIG1fcm90YXRpb24ocm90YXRpb24pCisgICAgLCBtX21pcnJvcmVkKG1pcnJvcmVk
KQoreworfQorCitNZWRpYVNhbXBsZUFWRk9iakM6On5NZWRpYVNhbXBsZUFWRk9iakMoKSA9IGRl
ZmF1bHQ7CisKIFJlZlB0cjxNZWRpYVNhbXBsZUFWRk9iakM+IE1lZGlhU2FtcGxlQVZGT2JqQzo6
Y3JlYXRlSW1hZ2VTYW1wbGUoUGl4ZWxCdWZmZXImJiBwaXhlbEJ1ZmZlcikKIHsKICAgICBhdXRv
IHNpemUgPSBwaXhlbEJ1ZmZlci5zaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lv
blNlc3Npb24ubW0KaW5kZXggOGVlZjNiMmVhNjA0YmQxOTgzZDc3ZDM4YmY1MjFhOGQyMWYyMGVk
MC4uZDFjODQ0ODgzNjc0MGZkYjc1YzQwYWM5M2Y3ZGQwOWQ3OGYwMzAwMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Np
b25TZXNzaW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQpAQCAtMzEsMTAgKzMxLDEwIEBACiAjaW1w
b3J0IDxDb3JlTWVkaWEvQ01CdWZmZXJRdWV1ZS5oPgogI2ltcG9ydCA8Q29yZU1lZGlhL0NNRm9y
bWF0RGVzY3JpcHRpb24uaD4KICNpbXBvcnQgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZG
b3VuZGF0aW9uLmg+Ci0jaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KICNpbXBv
cnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvTWVkaWFUaW1lLmg+CiAjaW1wb3J0
IDx3dGYvTW9ub3RvbmljVGltZS5oPgorI2ltcG9ydCA8d3RmL1J1bkxvb3AuaD4KICNpbXBvcnQg
PHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogI2ltcG9y
dCA8d3RmL1dURlNlbWFwaG9yZS5oPgpAQCAtNDIsNiArNDIsNyBAQAogCiAjaW1wb3J0ICJDb3Jl
VmlkZW9Tb2Z0TGluay5oIgogI2ltcG9ydCAiVmlkZW9Ub29sYm94U29mdExpbmsuaCIKKyNpbXBv
cnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogCiAvLyBFcXVpdmFsZW50IHRvIFdURl9E
RUNMQVJFX0NGX1RZUEVfVFJBSVQoQ01TYW1wbGVCdWZmZXIpOwogLy8gTmVlZGVkIGR1ZSB0byBy
ZXF1aXJlbWVudCBvZiBzcGVjaWZ5aW5nIHRoZSBQQUwgbmFtZXNwYWNlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVz
Q29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRp
b1V0aWxpdGllc0NvY29hLmgKaW5kZXggZmVjZTgxMjliZDdmN2ZkZWQ2YTgwNGJhNTJmNzk1MjYx
ZmU2NWQzMC4uODcxMDRkOGI3YjM1N2MxNjBiNmRjY2M0MWJmZTFmODllMGE2YzI3MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRp
bGl0aWVzQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCkBAIC0zNCw3ICszNCw4IEBAIHR5cGVkZWYgY29u
c3Qgc3RydWN0IG9wYXF1ZUNNRm9ybWF0RGVzY3JpcHRpb24qIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCBpc1ZvcmJpc0RlY29kZXJBdmFpbGFi
bGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgaXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKCk7CitX
RUJDT1JFX0VYUE9SVCBib29sIHJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7CiBSZXRh
aW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlVm9yYmlzQXVkaW9Gb3JtYXREZXNj
cmlwdGlvbihzaXplX3QsIGNvbnN0IHZvaWQqKTsKIAogc3RydWN0IE9wdXNDb29raWVDb250ZW50
cyB7CkBAIC01Miw3ICs1Myw4IEBAIHN0cnVjdCBPcHVzQ29va2llQ29udGVudHMgewogICAgIGJv
b2wgaGFzUGFkZGluZyB7IGZhbHNlIH07CiB9OwogCi1ib29sIGlzT3B1c0RlY29kZXJBdmFpbGFi
bGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgaXNPcHVzRGVjb2RlckF2YWlsYWJsZSgpOworV0VC
Q09SRV9FWFBPUlQgYm9vbCByZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKIGJvb2wgcGFy
c2VPcHVzUHJpdmF0ZURhdGEoc2l6ZV90IHByaXZhdGVEYXRhU2l6ZSwgY29uc3Qgdm9pZCogcHJp
dmF0ZURhdGEsIHNpemVfdCBmcmFtZURhdGFTaXplLCBjb25zdCB2b2lkKiBmcmFtZURhdGEsIE9w
dXNDb29raWVDb250ZW50cyYpOwogUmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25SZWY+IGNy
ZWF0ZU9wdXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKGNvbnN0IE9wdXNDb29raWVDb250ZW50cyYp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tCmluZGV4IDA2YmQ0OGFlMGQzZDY5
MTI1MGI4YTI3NTdkMDI1NmQ0NDg1OWZjYzQuLjBlMWViMWI3OThhM2M3ZWE2N2VhYjc1YmEzNmU1
ODVhZGQ4YzEwYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tCkBAIC0zMiwy
MiArMzIsMjggQEAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk1lZGlhVXRpbGl0aWVz
LmgiCiAjaW1wb3J0ICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKKyNpbXBvcnQgPEF1
ZGlvVG9vbGJveC9BdWRpb0NvZGVjLmg+CiAjaW1wb3J0IDxBdWRpb1Rvb2xib3gvQXVkaW9Db21w
b25lbnQuaD4KICNpbXBvcnQgPEF1ZGlvVG9vbGJveC9BdWRpb0Zvcm1hdC5oPgogI2ltcG9ydCA8
Q29yZU1lZGlhL0NNRm9ybWF0RGVzY3JpcHRpb24uaD4KICNpbXBvcnQgPGRsZmNuLmg+CiAjaW1w
b3J0IDx3dGYvRmxpcEJ5dGVzLmg+CiAjaW1wb3J0IDx3dGYvU2Vjb25kcy5oPgotCiAjaWYgRU5B
QkxFKE9QVVMpCiAjaW1wb3J0IDxsaWJ3ZWJydGMvb3B1c19kZWZpbmVzLmg+CiAjZW5kaWYKKyNp
bXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICNpZiBFTkFCTEUoVk9SQklTKSB8fCBFTkFCTEUoT1BVUykKIHN0YXRpYyBib29sIHJl
Z2lzdGVyRGVjb2RlckZhY3RvcnkoY29uc3QgY2hhciogZGVjb2Rlck5hbWUsIE9TVHlwZSBkZWNv
ZGVyVHlwZSkKIHsKKyAgICBBdWRpb0NvbXBvbmVudERlc2NyaXB0aW9uIGRlc2MgeyBrQXVkaW9E
ZWNvZGVyQ29tcG9uZW50VHlwZSwgZGVjb2RlclR5cGUsICdhcHBsJywga0F1ZGlvQ29tcG9uZW50
RmxhZ19TYW5kYm94U2FmZSwgMCB9OworICAgIEF1ZGlvQ29tcG9uZW50IGNvbXAgPSBQQUw6OkF1
ZGlvQ29tcG9uZW50RmluZE5leHQoMCwgJmRlc2MpOworICAgIGlmIChjb21wKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsgLy8gQWxyZWFkeSByZWdpc3RlcmVkLgorCiAgICAgY29uc3RleHByIGNoYXIg
YXVkaW9Db21wb25lbnRzRHlsaWJbXSA9ICIvU3lzdGVtL0xpYnJhcnkvQ29tcG9uZW50cy9BdWRp
b0NvZGVjcy5jb21wb25lbnQvQ29udGVudHMvTWFjT1MvQXVkaW9Db2RlY3MiOwogICAgIHZvaWQg
KmhhbmRsZSA9IGRsb3BlbihhdWRpb0NvbXBvbmVudHNEeWxpYiwgUlRMRF9MQVpZIHwgUlRMRF9M
T0NBTCk7CiAgICAgaWYgKCFoYW5kbGUpCkBAIC01Nyw3ICs2Myw2IEBAIHN0YXRpYyBib29sIHJl
Z2lzdGVyRGVjb2RlckZhY3RvcnkoY29uc3QgY2hhciogZGVjb2Rlck5hbWUsIE9TVHlwZSBkZWNv
ZGVyVHlwZSkKICAgICBpZiAoIWRlY29kZXJGYWN0b3J5KQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKLSAgICBBdWRpb0NvbXBvbmVudERlc2NyaXB0aW9uIGRlc2MgeyAnYWRlYycsIGRlY29kZXJU
eXBlLCAnYXBwbCcsIGtBdWRpb0NvbXBvbmVudEZsYWdfU2FuZGJveFNhZmUsIDAgfTsKICAgICBp
ZiAoIUF1ZGlvQ29tcG9uZW50UmVnaXN0ZXIoJmRlc2MsIENGU1RSKCIiKSwgMCwgZGVjb2RlckZh
Y3RvcnkpKSB7CiAgICAgICAgIGRsY2xvc2UoaGFuZGxlKTsKICAgICAgICAgcmV0dXJuIGZhbHNl
OwpAQCAtNzEsNyArNzYsNyBAQCBzdGF0aWMgUmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25S
ZWY+IGNyZWF0ZUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25Gb3JGb3JtYXQoTwogICAgIEF1ZGlvU3Ry
ZWFtQmFzaWNEZXNjcmlwdGlvbiBhc2JkIHsgfTsKICAgICBhc2JkLm1Gb3JtYXRJRCA9IGZvcm1h
dElEOwogICAgIHVpbnQzMl90IHNpemUgPSBzaXplb2YoYXNiZCk7Ci0gICAgYXV0byBlcnJvciA9
IEF1ZGlvRm9ybWF0R2V0UHJvcGVydHkoa0F1ZGlvRm9ybWF0UHJvcGVydHlfRm9ybWF0SW5mbywg
bWFnaWNDb29raWUuc2l6ZSgpLCBtYWdpY0Nvb2tpZS5kYXRhKCksICZzaXplLCAmYXNiZCk7Cisg
ICAgYXV0byBlcnJvciA9IFBBTDo6QXVkaW9Gb3JtYXRHZXRQcm9wZXJ0eShrQXVkaW9Gb3JtYXRQ
cm9wZXJ0eV9Gb3JtYXRJbmZvLCBtYWdpY0Nvb2tpZS5zaXplKCksIG1hZ2ljQ29va2llLmRhdGEo
KSwgJnNpemUsICZhc2JkKTsKICAgICBpZiAoZXJyb3IpIHsKICAgICAgICAgUkVMRUFTRV9MT0df
RVJST1IoTWVkaWEsICJjcmVhdGVBdWRpb0Zvcm1hdERlc2NyaXB0aW9uRm9yRm9ybWF0IGZhaWxl
ZCB3aXRoIGVycm9yICVkICglLjRzKSIsIGVycm9yLCAoY2hhciAqKSZlcnJvcik7CiAgICAgICAg
IHJldHVybiBudWxscHRyOwpAQCAtMzI2LDE5ICszMzEsMzAgQEAgc3RhdGljIFZlY3Rvcjx1aW50
OF90PiBjb29raWVGcm9tT3B1c0Nvb2tpZUNvbnRlbnRzKGNvbnN0IE9wdXNDb29raWVDb250ZW50
cyYgY28KIAogYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCkKIHsKLSAgICBzdGF0aWMgYm9v
bCBhdmFpbGFibGU7Ci0KICNpZiBFTkFCTEUoT1BVUykgJiYgUExBVEZPUk0oTUFDKQogICAgIGlm
ICghUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpvcHVzRGVjb2RlckVuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgcmV0dXJuIHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5l
ZWRlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworYm9vbCByZWdp
c3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKQoreworI2lmIEVOQUJMRShPUFVTKSAmJiBQTEFURk9S
TShNQUMpCisgICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOworCiAgICAgc3RhdGljIGRpc3BhdGNo
X29uY2VfdCBvbmNlVG9rZW47CiAgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewotICAg
ICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJBQ09wdXNEZWNvZGVyRmFj
dG9yeSIsICdvcHVzJyk7CisgICAgICAgIGF2YWlsYWJsZSA9IHJlZ2lzdGVyRGVjb2RlckZhY3Rv
cnkoIkFDT3B1c0RlY29kZXJGYWN0b3J5Iiwga0F1ZGlvRm9ybWF0T3B1cyk7CiAgICAgfSk7Ci0j
ZW5kaWYKIAogICAgIHJldHVybiBhdmFpbGFibGU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsK
KyNlbmRpZgogfQogCiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlT3B1
c0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJiBjb29raWVD
b250ZW50cykKQEAgLTQxOCwxOSArNDM0LDMwIEBAIHN0YXRpYyBWZWN0b3I8dWludDhfdD4gY29v
a2llRnJvbVZvcmJpc0NvZGVjUHJpdmF0ZShzaXplX3QgY29kZWNQcml2YXRlU2l6ZSwgY29uCiAK
IGJvb2wgaXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKCkKIHsKLSAgICBzdGF0aWMgYm9vbCBhdmFp
bGFibGU7Ci0KICNpZiBFTkFCTEUoVk9SQklTKSAmJiBQTEFURk9STShNQUMpCiAgICAgaWYgKCFQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnZvcmJpc0RlY29kZXJFbmFibGVkKCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAorICAgIHJldHVybiByZWdpc3RlclZvcmJpc0RlY29kZXJJZk5l
ZWRlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworYm9vbCByZWdp
c3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpCit7CisjaWYgRU5BQkxFKFZPUkJJUykgJiYgUExB
VEZPUk0oTUFDKQorICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKKwogICAgIHN0YXRpYyBkaXNw
YXRjaF9vbmNlX3Qgb25jZVRva2VuOwogICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsK
ICAgICAgICAgYXZhaWxhYmxlID0gcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNWb3JiaXNEZWNv
ZGVyRmFjdG9yeSIsICd2b3JiJyk7CiAgICAgfSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBhdmFp
bGFibGU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiBSZXRhaW5QdHI8
Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlVm9yYmlzQXVkaW9Gb3JtYXREZXNjcmlwdGlv
bihzaXplX3QgcHJpdmF0ZURhdGFTaXplLCBjb25zdCB2b2lkKiBwcml2YXRlRGF0YSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3MucGxpc3Qg
Yi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0CmluZGV4
IGFlNGVlNDU3YTIxMzEzMzhmNmE1Yjc1ZWQ3NWY2MzZmM2EwZjUyNjAuLmYxYjRhYWFlZTBiMTcx
NDdkMzY1ZmMxZTJiZjc3NjMwOThiMjdhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVh
dHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3MucGxpc3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0
dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdApAQCAtODcsNiArODcsMTEgQEAKICAgICAg
ICAgPGtleT5FbmFibGVkPC9rZXk+CiAgICAgICAgIDx0cnVlLz4KICAgICA8L2RpY3Q+CisgICAg
PGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+CisgICAgPGRpY3Q+CisgICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgorICAgICAgICA8dHJ1ZS8+CisgICAgPC9kaWN0PgogICAgIDxrZXk+UkJfZnVsbF9t
YW5hZ2VfV0tfamV0c2FtPC9rZXk+CiAgICAgPGRpY3Q+CiAgICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5w
bGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxpc3QKaW5kZXgg
NjIxYzkyMTY2Yzg5MmNiNTQxY2ZhNzZiNjIzODE1NjY4YTFlYzI3Ny4uNTBkMDNjZmJkNzQxNzU4
ZGE5M2RmMjZlZjg4ODMyOGY3NDRkZTM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9GZWF0
dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFn
cy9XZWJLaXQtaW9zLnBsaXN0CkBAIC04Nyw2ICs4NywxMSBAQAogICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KICAgICAgICAgPHRydWUvPgogICAgIDwvZGljdD4KKyAgICA8a2V5PndlYm1fd2Vi
YXVkaW88L2tleT4KKyAgICA8ZGljdD4KKyAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CisgICAg
ICAgIDx0cnVlLz4KKyAgICA8L2RpY3Q+CiAgICAgPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRz
YW08L2tleT4KICAgICA8ZGljdD4KICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3QgYi9Tb3Vy
Y2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3QKaW5kZXggNjIxYzkyMTY2
Yzg5MmNiNTQxY2ZhNzZiNjIzODE1NjY4YTFlYzI3Ny4uNTBkMDNjZmJkNzQxNzU4ZGE5M2RmMjZl
Zjg4ODMyOGY3NDRkZTM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3Mv
V2ViS2l0LW1hY29zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktp
dC1tYWNvcy5wbGlzdApAQCAtODcsNiArODcsMTEgQEAKICAgICAgICAgPGtleT5FbmFibGVkPC9r
ZXk+CiAgICAgICAgIDx0cnVlLz4KICAgICA8L2RpY3Q+CisgICAgPGtleT53ZWJtX3dlYmF1ZGlv
PC9rZXk+CisgICAgPGRpY3Q+CisgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgorICAgICAgICA8
dHJ1ZS8+CisgICAgPC9kaWN0PgogICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9r
ZXk+CiAgICAgPGRpY3Q+CiAgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3QgYi9Tb3VyY2Uv
V2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdAppbmRleCBhZTRlZTQ1N2Ey
MTMxMzM4ZjZhNWI3NWVkNzVmNjM2ZjNhMGY1MjYwLi5mMWI0YWFhZWUwYjE3MTQ3ZDM2NWZjMWUy
YmY3NzYzMDk4YjI3YTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9X
ZWJLaXQtd2F0Y2hvcy5wbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJL
aXQtd2F0Y2hvcy5wbGlzdApAQCAtODcsNiArODcsMTEgQEAKICAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+CiAgICAgICAgIDx0cnVlLz4KICAgICA8L2RpY3Q+CisgICAgPGtleT53ZWJtX3dlYmF1
ZGlvPC9rZXk+CisgICAgPGRpY3Q+CisgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgorICAgICAg
ICA8dHJ1ZS8+CisgICAgPC9kaWN0PgogICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2Ft
PC9rZXk+CiAgICAgPGRpY3Q+CiAgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCmluZGV4IDQ0YmE4ODU1NTlmMTFiMTJiOGE4NTFk
NzY5OTEzMjlkM2IxOWZmMjguLjVhNDlmZWYwODk0ODMyMWY3MGNjY2Y5NjY4NWE2NTcyNGE5MGEy
NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKQEAgLTQ1MSw3ICs0
NTEsNyBAQCB2b2lkIEdQVVByb2Nlc3M6OmVuYWJsZVZQOURlY29kZXJzKGJvb2wgc2hvdWxkRW5h
YmxlVlA4RGVjb2RlciwgYm9vbCBzaG91bGRFbmFibAogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUo
TUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiB2
b2lkIEdQVVByb2Nlc3M6OnNldFdlYk1QYXJzZXJFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAg
ICBpZiAobV93ZWJNUGFyc2VyRW5hYmxlZCA9PSBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzLmgKaW5kZXggNDljM2Q3NzFiZjE3NGQ4ZjlmZGNjOGQyNDFiMzEwNzZiMGM1
YjZhZi4uNTZkYmZlNDdjMjc4Y2JlZjRkZDU5OTlkNTU3YzhiODU2NWJjNjJjNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCkBAIC0xNDEsNyArMTQxLDcgQEAgcHJpdmF0ZToK
ICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBhZGRpdGlvbmFsU3RhdGVGb3JEaWFnbm9zdGlj
UmVwb3J0KCkgY29uc3QgZmluYWw7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
ICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICB2b2lkIHNldFdl
Yk1QYXJzZXJFbmFibGVkKGJvb2wpOwogI2VuZGlmCiAKQEAgLTE5NCw3ICsxOTQsNyBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9lbmFibGVWUDlEZWNvZGVyIHsgZmFsc2UgfTsKICAgICBib29sIG1f
ZW5hYmxlVlA5U1dEZWNvZGVyIHsgZmFsc2UgfTsKICNlbmRpZgotI2lmIEVOQUJMRShNRURJQV9T
T1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBib29s
IG1fd2ViTVBhcnNlckVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAjaWYgRU5BQkxFKFdFQk1f
Rk9STUFUX1JFQURFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3Mu
bWVzc2FnZXMuaW4KaW5kZXggNjkxZGE3OGQyY2Y5MzI4ZWE3OWUyNGMyZDY0NjIwMDM2YjVlNDI0
OS4uNGYwMTk2NTQzYTNkMDU4ZTAxNmMzOTY2ZWRhMTY0N2ZhNjFiYmIyNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTUxLDcgKzUx
LDcgQEAgbWVzc2FnZXMgLT4gR1BVUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGlzcGxh
eUNvbmZpZ3VyYXRpb25DaGFuZ2VkKENHRGlyZWN0RGlzcGxheUlEIGRpc3BsYXlJRCwgQ0dEaXNw
bGF5Q2hhbmdlU3VtbWFyeUZsYWdzIGZsYWdzKQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgU2V0
V2ViTVBhcnNlckVuYWJsZWQoYm9vbCBlbmFibGVkKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcAppbmRleCAy
YmE2Mjg3M2YzMmIzMWMwMzY5YTFhNTE0ZmYxY2IwMzg5MjRlYjczLi45NzJiZjFiZjc0MjM0MGRl
MTE4OTA3NDc4MTM2ODhjMTVkYzRjNzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKQEAgLTMzMiw2ICszMzIsMTUgQEAg
Ym9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKQogICAgIHJldHVybiB0cnVlOwogfQogCiti
b29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCkKK3sKKyNpZiBIQVZFKFNZU1RFTV9GRUFU
VVJFX0ZMQUdTKQorICAgIHJldHVybiBpc0ZlYXR1cmVGbGFnRW5hYmxlZCgid2VibV93ZWJhdWRp
byIpOworI2VuZGlmCisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKICNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU09VUkNFKQogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT05fQ09PUkRJTkFUT1IpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1
ZXMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5o
CmluZGV4IDM1YTJmNmZkZGQ3NTU0N2U2NDc4YWExNjlmZTBmYjkyOGM0YjFhNDguLjhiMzUzYzBm
MGU5NTVlZTkwMmM5MTRlZTZkZjlmMDFlNjZiYzVjMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCkBAIC0xMTEsNiArMTExLDcg
QEAgYm9vbCBkZWZhdWx0VlA5U1dEZWNvZGVyRW5hYmxlZE9uQmF0dGVyeSgpOwogCiAjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKIGJvb2wgZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCk7Citib29s
IGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJ
QV9TRVNTSU9OX0NPT1JESU5BVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQppbmRleCBlZjU1MThhYWRiMDJkNWJmNWNi
ZjE2N2UxMjQwN2VlOTA3NDcxNWU3Li5lYjJjZDgyNmQzNzNhZTVhZDk4MzQwMzU4YmQ5Y2ZhYjI4
ZGI0YzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUHJveHlDb2NvYS5tbQpAQCAtMzgsNiArMzgsNyBAQAogI2ltcG9ydCAiV2ViUHJvY2Vz
c01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzUG9vbC5oIgogI2ltcG9ydCA8V2ViQ29y
ZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KKyNpbXBvcnQgPFdlYkNvcmUvV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EuaD4KICNpbXBvcnQgPHN5cy9zeXNjdGwuaD4KICNpbXBvcnQgPHd0Zi9O
ZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3RmL1Njb3BlLmg+CkBAIC0yOTUsNiArMjk2LDkg
QEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMo
KQogCiAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRD
SF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwgW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0
aGlzKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgIENGRGF0YVJlZiByZWdpc3RyYXRpb25zIHsgbnVs
bHB0ciB9OworCisgICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgp
OworICAgICAgICBXZWJDb3JlOjpyZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOwogICAg
ICAgICBpZiAobm9FcnIgIT0gQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMo
JnJlZ2lzdHJhdGlvbnMpIHx8ICFyZWdpc3RyYXRpb25zKQogICAgICAgICAgICAgcmV0dXJuOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCBhNTkyOTdhZjNmZGE1NWNmNTNkOWQ5MDgx
YWI5OTdjNGY3YmU1NDljLi43MWFjZDgwODg2ODM1OWZlMTY4MWI3MDRkYTVlYTUwNzllMzY0OTYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTg3LDYgKzg3LDcgQEAgYm9vbCBkZWZh
dWx0V2hlZWxFdmVudEdlc3R1cmVzQmVjb21lTm9uQmxvY2tpbmcoKTsKIAogI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCiBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpOworYm9vbCBkZWZh
dWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoVlA5KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0Rl
ZmF1bHRWYWx1ZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzRGVmYXVsdFZhbHVlcy5tbQppbmRleCAzNTJmZGM1ZTE4YWYyYzU4YjQyZmU0ZTBlN2Nm
NjczNzFkNjhjZTZjLi4xNmM1OTcyMjkxOTcxZjE5OTFjNDBhZWE4MWQwZmZiZDZmNjU5ZDNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQpAQCAtMjk4LDYgKzI5OCwxNSBAQCBib29sIGRl
ZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgZGVm
YXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKQoreworI2lmIEhBVkUoU1lTVEVNX0ZFQVRVUkVfRkxB
R1MpCisgICAgcmV0dXJuIGlzRmVhdHVyZUZsYWdFbmFibGVkKCJ3ZWJtX3dlYmF1ZGlvIik7Cisj
ZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsKK30KKwogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9T
T1VSQ0UpCiAKICNpZiBFTkFCTEUoVlA5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVmMDdmMmVmNWY3YzM0YjY0Mjg2Zjc1
MDZjODU5Yjk1OTFhNDdlYTYuLjYyMDhlODc5ODVkYTFlNWUyMzZmOTc3YTM3ZTg2MTc5NTdmNjg0
NDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2ZW5hcmQg
IDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1cyBjb250
YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9U
ZXN0RXhwZWN0YXRpb25zOiBPbmx5IGVuYWJsZSB0ZXN0IG9uIG1hY09TIE1vbnRlcmV5CisgICAg
ICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbDogZml4IHdoaXRlc3Bh
Y2UKKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJt
LW9wdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL29w
dXMud2VibTogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL3ZvcmJp
cy53ZWJtOiBBZGRlZC4KKwogMjAyMS0wNy0yNiAgRXJpYyBIdXRjaGlzb24gIDxlaHV0Y2hpc29u
QGFwcGxlLmNvbT4KIAogICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2NvcGluZy9jc3Mtc2NvcGluZy1zaGFkb3ctZHluYW1pYy1yZW1vdmUtc3R5bGUtZGV0
YWNoZWQuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDAxZjc4YzdiZTdlNjM3NGVkMTg0YjFlNTUyMTMzNTEwZGNi
OGM2N2MuLmYyMjIxOGZkNmJiYTk0ZjMyNGJjYWViMzllZWI0ODlkNjk2OGYxNjMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNzY3LDYgKzE3NjcsNyBA
QCB3ZWJraXQub3JnL2IvMjE0MTU1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcAogWyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gbWVk
aWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS13ZWJtLXZvcmJpcy1wYXJ0aWFsLmh0bWwgWyBT
a2lwIF0KIFsgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRp
YS13ZWJtLW9wdXMtcGFydGlhbC5odG1sIFsgU2tpcCBdCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdT
dXIgXSBtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtd2VibS1vcHVzLXBhcnRpYWwtYWJvcnQuaHRt
bCBbIFNraXAgXQorWyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gd2ViYXVkaW8vZGVjb2RlLWF1
ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwgWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9iLzIxNDQyMiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhl
LWF1ZGlvY29udGV4dC1pbnRlcmZhY2Uvc3VzcGVuZC1hZnRlci1jb25zdHJ1Y3QuaHRtbCBbIFBh
c3MgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1h
dWRpby1kYXRhLWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8t
ZGF0YS1iYXNpYy5odG1sCmluZGV4IGEzMzNiNjVhYWVmOWRiNjRlZDUzZmNiMDU2MzFjZmMxNTE0
MDUwZDEuLjdmMDhiMjkwNTkyY2MyZjM0NGZhNTY1ZmIwZGFhNGIyNjZmODgyOWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApAQCAt
Nyw3ICs3LDcgQEAKIDxib2R5PgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJCYXNpYyB0ZXN0cyBm
b3IgZGVjb2RlQXVkaW9EYXRhIGZ1bmN0aW9uLiIpOwotICAgIAorCiB3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CiAKIHZhciBjb250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgpOwpAQCAtMzQs
MTkgKzM0LDE5IEBAIGZ1bmN0aW9uIHJ1bkRlY29kZVRlc3QoaW5kZXgpIHsKICAgICB2YXIgcmVx
dWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgIHJlcXVlc3Qub3BlbigiR0VUIiwgZGVj
b2RlQ2FzZUFycmF5W2luZGV4XS51cmwsIHRydWUpOwogICAgIHJlcXVlc3QucmVzcG9uc2VUeXBl
ID0gImFycmF5YnVmZmVyIjsKLSAgICAKKwogICAgIHJlcXVlc3Qub25sb2FkID0gZnVuY3Rpb24o
KSB7CiAgICAgICAgIGNvbnRleHQuZGVjb2RlQXVkaW9EYXRhKHJlcXVlc3QucmVzcG9uc2UsIHN1
Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Ci0gICAgICAgIAorCiAgICAgICAgIGZ1bmN0
aW9uIHN1Y2Nlc3NDYWxsYmFjaygpIHsKICAgICAgICAgICAgIGlmIChkZWNvZGVDYXNlQXJyYXlb
aW5kZXhdLnJlc3VsdCkKICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJUaGUgIiArIGRlY29k
ZUNhc2VBcnJheVtpbmRleF0udXJsICsgICIgdGVzdDogc3VjY2Vzc0NhbGxiYWNrIGhhcyBiZWVu
IGNhbGxlZCBjb3JyZWN0bHkuIik7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCArICIgdGVzdDog
c3VjY2Vzc0NhbGxiYWNrIHdhcyBub3QgY2FsbGVkLiIpOwotICAgICAgICAgICAgCisKICAgICAg
ICAgICAgIHJ1bkRlY29kZVRlc3QoKytpbmRleCk7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAg
ICAgICAgZnVuY3Rpb24gZXJyb3JDYWxsYmFjaygpIHsKICAgICAgICAgICAgIGlmIChkZWNvZGVD
YXNlQXJyYXlbaW5kZXhdLnJlc3VsdCkKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaGUg
IiArIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsICsgIiB0ZXN0OiBlcnJvckNhbGxiYWNrIHdh
cyBjYWxsZWQgaW5jb3JyZWN0bHkuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRp
by9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40NGJjMDEwOGQ0NGNkNWY0NzQ2ZjY5OTdlNjBjNWU0NzM1NmZhNGU0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0IHRoYXQgZGVjb2RpbmcgYW4gb3B1
cyB3ZWJtIGZpbGUgc3VjY2VlZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgU3VjY2Vzc2Z1bGx5IGRlY29kZWQgY29udGVudAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1
ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjU3NzI4MDEy
NzAwYWYzZDY4MjRlMjA5MDg1ZjRkY2VlMzc4YzcwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sCkBAIC0wLDAg
KzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSJyZXNvdXJjZXMvYXVkaW8tdGVzdGluZy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGRlY29kaW5nIGFu
IG9wdXMgd2VibSBmaWxlIHN1Y2NlZWRzIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKwordmFyIGNvbnRleHQgPSBuZXcgd2luZG93LkF1ZGlvQ29udGV4dCgpOwordmFyIHJlcXVl
c3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKK3JlcXVlc3Qub3BlbigiR0VUIiwgJ3Jlc291cmNl
cy9tZWRpYS9vcHVzLndlYm0nLCB0cnVlKTsKK3JlcXVlc3QucmVzcG9uc2VUeXBlID0gImFycmF5
YnVmZmVyIjsKKworcmVxdWVzdC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBjb250ZXh0LmRl
Y29kZUF1ZGlvRGF0YShyZXF1ZXN0LnJlc3BvbnNlLCAoYnVmZmVyKSA9PiB7CisgICAgICAgIHRl
c3RQYXNzZWQoIlN1Y2Nlc3NmdWxseSBkZWNvZGVkIGNvbnRlbnQiKTsKKyAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICB9LCAoKSA9PiB7CisgICAgICAgIHRlc3RGYWlsZWQoIkZhaWxlZCB0
byBkZWNvZGUgZmlsZSIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgIH0pOworfQor
cmVxdWVzdC5zZW5kKCk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL29wdXMud2VibSBiL0xheW91
dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9vcHVzLndlYm0KbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTg0
OTRjYjkxNGE3ZDg3NGNiMDJlYjAxZDdmN2I2MzU5MDFjOWQxYwpHSVQgYmluYXJ5IHBhdGNoCmxp
dGVyYWwgMTU5MTMKemNtY0okMTl4T2spVyNkeiM+QlI1K25VKDZqZ0Q+RyM+NiV6SFlUPWhDcFo4
MXo1RD84dG5PWmBSYG9mKD5zUWEtCnpVQTN6VU17SygmUGRGMytFZDJjUXo1ez4+LXZnazgxQjJh
N2pja1IoZXVeT2c1Rzw3ZGI2fXdWRjF9WX14aCQ2cwp6eHl+cStzJGdgZjNOd3t6Syo5ZihGalEt
O2VAZyU0SS1gSDtQKmV4YVJqTERsMV4mMUFPUXJMdEdMVWNvOyh3bjUKenIxP0xPYH5UelBLZFR6
M1NMJVpoZyQzbVRWcV57NyUtQV5USW9SbyQ3I1RIJHs9YTM+aDtZRjskXld0OUtsQXIkCnp8MWF4
UzBLbT99O2l4alhkcVJ7b2FNPUpMO155b2lTMzhyP1AkN0s8TUt1LW0kez1JPGVEJSY/dSVSWlBB
T09nMgp6TExMQzVJYjg3QTtlUUB4V0M5PkdFPSpFemFDTWU2SDhjU1I7UkZ1b3tHWGN0eENteEJK
TzdfUUx9QTwpVV9TYlAKejdJNEloIW89aTc2aHlfOE1aXkJUaFdfNi03I1IwTzhVSF8pe29uVkp7
Si14X3tie3VFUG90U3dTcFJEXnBeY0BICnp7ZntaO3FsSUVjO2k3OEZMYUlePEB9Z25NakV2bT55
X28xMzhHcFheLXZ0Q2pBa3lPTXtkbylrRGlWcVYwMDlNagp6X3wqRGVNVD5sQEtZc04qOVc2aHhr
QlEqR3dLPFV8SD99dTZJUDRXPVVVfmNpPDs4RjkmRV9uZm4maFMmZW9FRHgKemBmJCQzRHNyfDVI
UG0jIUxeNlBlP0EwNzV4ZVIqb15LRjZNYk9EKH52UVZ2aVJqO15seSE/eUlAcn1oXlkqfmVqCnpW
bSFia24+RTRmZ0ZSQFNOVnlZQTVZUWJVRHg8cmluUlRrbS0yK3NgOEEwQTUhUTVSYShSZ2s0dV44
XjlgNFNsZwp6dlhKfWhmMmQrPGg/dmBETG8pI01KYz1gRD18P01xKk9DbFFtaj12UkZBJSZGNzNw
S342PDBANDIpNmhwX3NvQ14KemVTdkZ9K2RHaU5RYlJwKShDbVhxRW9TOFpveVdLRztZeVFRUk57
PyZzYmh3KWNJeHUyak5qUTJRJSpAfWlwTi1aCnpyQDQ/fW89cz0oX3pKUkBxX3xPa2spIShna1pm
cmJxOHlPSWlFIWlUeCg3SyYqZT8jISVLWmhPdFdNWSt1KmRiIwp6WTZ8JGhFdHZTSTs1d3gpKy0h
KnU7N0U/aiNieyNpSFV7SWF1KTEqY18paURYMV9gNlZ7REg+LSpeWEpYWVQ+JSQKemdUbldpYTZv
Mkc/bkxpWm5sSyNmRnNqUldXIVlhTmxDTnd3d0BCfnwwRThhIUE/O2hnJDgjcjZpMjUjdSpGK3k4
CnprWV9SZzdtYH5+OXZEUXE5MjNLeVJvdVRyPXJHekpeXzBOVl9wYVp7RWMxPW9sYH1TZ3ZhWHtv
JHs9YmdFOEk9SQp6S1BhSSFzMUcmfXlvcE17WEledWpCUXMqSVlkfVNpWSFYNjROOFRXJEdsJHcy
cSsyJDxKKUZYKFgpQHQ8YldjK0gKelhGRE19WWImbTJRfXBsejE8PGYqd1JMTiomSGdVJVVKQDc7
KEBrZXRKQiMqQzQpc3soPlk/QmI9bD1vYUNTeD1PCnomOU04MjFiISlXM35fel5oPl45JUdxPylv
NU4+biViPns4UmB3TnlQRXxxcSZlXk5FbTBPfXIlKy1ieD5ie0pkIwp6bnRSeGxrRUtXbTlSTmZY
QGJOR0Q4RW1+Z2ZrfFlhb3ZFWVZQVXA+MnczTz9lUWRYcCVydjgqZ3xFaUktQWFFYWoKekd+bVk2
Wnt7SWp7PTx6RiZZNjNzS0JpVnJyciVXTGptOUR7Vk1pckdgeWslO1llPig3YmtaKmB2Ryh0ez4p
Y1hRCno1dE5jMDVCYm9VR250Ym16b15GfDxTMDg5ciljeDhSZjtndkRNZlRma307bU9yZWdlSCNC
anI+IWghSnd1R2pJVQp6N3J8QXE8JGktNzI8e0dgP0Z+OEBqOXNFP0FARmB2Vyp6Zz4zWT41fSs0
Tzw4QmhVSWxqPEZTMU51Nk1Va0IkPF4Kenctd0BoR3grY0ZpTF9BU1RnQihVSXEwaD8qOFYzeWVB
VFB3WH1FeEI+LVlYaDI9ZilPJEt0KmljK3l7ckpNZXctCnpIfE5RfF9BQ0N1VnNYJE1aUmxOVUNp
N1gzUmE/d3JROHE8RlhhRkYtZlI5eXswRzgpRHg2JmhEdTQ3e2k1alJ0ZQp6JDBSa1E8d3U4Pyso
RGxyOCN0Ti15WndnX0VMODw8KHd0Kl5kTWpOeG5UNUM9JnlqYWdvaTxHbSpYNnFwKW07KD8KekZu
QClgMjtWITJLVytHYmx1U2dxPiFxeWRPbEI3fGhxfiU+N0BxNF9gRWx9TElWcldMb1FUUnBqdmkp
LV9LJTE9CnoqZnA/ZGB0LTB8QzVxQ29NUGZzZUc+aDZGamVCWHZzRVJTQig0NztgSHg3SXtMPF9s
MmZaVmclaSpXWDU5QjBqNwp6eDRJfGp6Q1M8bWJNMl9VMC17T3lOIzRuPzdpfSpvPylkKHNYTW08
Vk89T2ZaRnVBP15xfiV6b1piKittR2Q/aGYKejQ5Y15HPjMlYWNmN3skSjxvQEFme3F4cXNxYX1C
VV8hI0tUUSE1JFBsIXRXbSVlPWR5WGgtdSUja3hvYzQqO2F9CnpnTjVsSUVmcjhxdG1vIzUqRVNn
MU1+Q0xPNksxQWF0ViVlXmp2YGA2PDQ4azdLMm9Ia3opV3ZzZ35wakVpVzZWZwp6eWFDTWo3PEho
d2t5WDAxaEwkKVpKSzNZKjlKb2FYYjB6cSpSQjZCP0EjMGlQdzVTWV5lNj9fTzs5ZkV9bXVCXyQK
elY3KGBnKDlAQio2IXtUU0lucjN1XzAoVD50I2VCVU5mS3xNZXkpODU5SiMlWThONyVaVFdUcjZ4
YXBPPCh8TEFqCnpMME87fVZ5Yj5JUEY1Y0l4QyM8IzViIz1MUGVgTlNjTFpDMVI3JEx7Z2hlWmwl
eiU9aEZsMmpjK092ajUjQzt3Xgp6PDYlQXlSd14qfSNXYkFZLTUzYXtodGwqQyo1VWEjY2BocmNv
IytCQUVAUk9iUis3N3o3OSRvITlLb1RUYlV+I1gKejRmdj81ZHhwSk0+KE1lYWxHZ1U/WDcpP21B
M2lfc1djbllVPjJSUjRhaktXa0pDNDMkRWRgemphVT5kWFVhaSM3CnokbHNwdyQjUl4jMztZY3Ew
NGU4MHVmWVNPLT5edzJOeD1BWmhtMkA7UGc4czIwJDIwRkc4fGF1VHh2a1c/cHE3JAp6Uzh4Pm5R
YXtDQT1WVERRUGdoMGhBcXpAdVFKazRLJW1lYno+Q3ZuZGFWV2dYKW0pU1FQVk1zOFcjVExvblZZ
KXIKejtEfEpWR244U1RnZlFHRm5BeCUzIX5DPUdnTExiN15IbDN8KlluaWZJej83eFoyfE1ecWVv
e0hUeXBXPTxVb1RpCnp7TUsyWiVmVzc9cFlBdlFKQUkwWT1iPGVWaTtxPE9gWGM5SVhKfDVmZEox
TUdiME9+NUYmNEUoeyUkT0cmUzxzeAp6NDAoJEVrTnJtMVRiLTd5T0B8SDZkR1JhcTVpd2FXY30t
MFpCZTIrJTtVQV9TUExmclQ1SDxrRl5TPn4yb2AoJWkKeiZ3bzg1bjZicUQ/XjRrVHVoQDJgOGI+
dGgtRz9zfkxwYzRiSDlyXmU0KV9yKGNCfD5uIWkqZ3gpUH47RHJ5dnBrCnpLVnpQcTFGNWhlPWxT
a0lnb0cyQWJuU1oyWVIlc185d2Q/aV5VVyVBU0spe0x2TGRxVT8hKGFZVDMlPG55LVNYXwp6VUtJ
PjM8PUdrKXBMdjt6ezR3eXRXYCFGS1JZU0ZSKm99X0xuWU1XZzAxeiZgKXpmT2RNPFU/Y0p5JGlE
QCFgJUAKekU8cUozXj9YWWxJYXYwO0ZBfUt6TkJOM0xBNip4JXU+PHlTVmFmLSVgITxPJDslP0Mt
ZEJBaS1xfj9tbyFDQjd1CnotKDx5aDZsO158RXhSaVFNYylNUlUrQkBkJW5Cd3s3I0R0UkB4T052
Wjt5THE3VVZzVTYhSHt9O0BKRj9pJUJNdgp6OGhaSmx3am57dENWbik3M2ptN3dQY3NMTVpSJXc3
MHJmO0xmOVNrN0cxfGVicmlGO0VQYjZKU3lRdXpfdnglRFcKeiktI0B2XzdHPyklZWcyUlA+Qk9g
Qm1SISFaSHs0QSZeNV9eTV54S0YjayRqVHo0NU8qSyZVblhLb3AzNTReQmhDCnpacHQxeCNyP3N+
LTBPVkl4bHRsN2h9Uy08NHpecF8yLXx1eypHcXcwUH1zJUgyYnZ2IztAMnx0Vm1oRFhtJVlodwp6
M1ZleWlMXyVqaWE0Ny0xbH4wRXtjfnxeR2hxJFhhTGIhQWEjPVJxVlp2ZitoUzg2YGkqdTdwVVFA
RmtTNjw1ST4Kems7KFJsJkQweVhfSmlFTUdCaDM+UHJzRWczd1dVbE0jVUoyVD1YcG5eR2ktd083
WVRZYUxWR21AME1XcUFZUnwkCnpOZnl5Wit0KmJES182P0Uje1B6cWNJPnxJdGdjdWp0KVFITG8w
eSNXVkU7IXNLWGVMeT1yRnRCZTJzJks0XkpTfAp6Tio2Y0V4cTNuO0FsU1U8bkxfNjBPd350eTZx
KWEyeX41SUpaK1EpVXNIbSZyNTxGYXI9Y2NvMlNeMXt6SXNocHMKeklfRz0wMGhRbHsyMnBSeVBe
dGpeTERBWl89NiVxY0NzJXlNZGlHSCopSH1yQEdLQkJVTmdtNWtNR1FBdEFFVEVXCno5P2xVV1JH
RklTQFRVSWV5SmYtNkdUaUdvY0VkaVVrdF9+THYtP2ZEI0UpZVJob2NnXzs2QXlvRzYhSWFfY1NF
ZAp6SVJ5UVh4TkpmS1RgLSYzTTdwcjc/biFveEZ9SEJ6eU1hKDNtOEswYlNpPzFtYTE1aDN2N2V9
TSRnNU5qJDRpRW8KejIhVXV5IVRTb08/KVZMX09GfVhlcCo/TlFnN3E2ZVNVeztlY1FKXkcoOTZI
Ylg/OVNNPD1Xd3FjUG9jSntTVDlxCnowWHFCPTJDOTlMNUhTRiNgTnl3Zm55M25XWVojciFAZzZp
NWNKfXp7UWs7an0wKkRObih1RmlaWjxXUSh6ISFnVQp6I09uaTV6MnYjaXJKVyYqQlQtdiYrakxq
UU9ybFFfV0h3ejApO3ZGMD4qSytXU34lTEUpbHV3Z299QXhoQT1LYHsKeilmfG0/T1A3WiNTanI0
IWBBeFhBJn5qWVo2IUZvMGB+MGIyendfME5ucnl9cUJJTHRFalFJMkNhK0A7NFFzKFVBCnokc2VR
WnZLd1FjXikpdGlAS353VUNlNXhaIWleP1BTREF3e2pPI2ZMcUJqMV5yKVEyIyNGaXh3a0JOeGZ2
MSkpPQp6TiVDNktodTVGQTImLU0qV0I+fkMqT1dncE1iJkc4IWRyUGo8WEI5PDlgMW02X0Q/aS1V
Ukp5ODlMWjBoTWFFfSYKeiVFMitOZFl1QztHKFpvNGVXOU96JmJ2PWwqRnY2Zjl1NnI4RDF6QkMh
WjMyPHI8JC1XNX4ybkdqUmt6e2UlSmtCCnpJUWJ5NElQZWY0JSRROTwoI1Y3bkJAaWBNOSpFMlBM
KztmQiZyTSp4V1cxWF8/e1U3bT1Pe3t5Z0FOX0tOdCFwTQp6P0o3IzhtcD05NGwhTyFfdGhyOFBL
SDZJfllKP2B8ZiFIYjNFLVNhKUpDT2Z6WlpwJGtFaV84P0xmZX0zbXArOzEKemgycyVSQGF4JXg8
bXphVkVyaE4kJCVXO1VwbTskPmB4VXBMaWE9MCtXZnBqfUZEYH0/X35oS05HVSNPYDdiYn1pCnpC
SlpYRCZpY2F1NXQ9bVpPQHZlIUx2emhnOEkkcEsxX2A0YnchOVVwcFYrdU9kNj1LZ0FYWTRXTlN3
KXZeMlVLKwp6WlN+PnNnRHxnJUZeUD1KTk5DYjZxTFo9M0YjPmdAV19kSkV1MWtOfF9fUG05VSp8
T0xKTzNtSG80MXcreHApcWoKeiMrKERsM34ybEVJajRMelU7V09rVSRAKEJmMnhZdmV1NnNkWFcm
QnQwTk09cklGXmhRIXlvQ0RJX3lnKlZtXjc4Cno5YF5Kfi1Ga3NvSiZLaHQqUHFDckdqZ1JuN2N1
JERTb0s8bTchQExKUGpkZWI7PFZndzwwN2AyQkFnISpIeTxqbQp6O3N0USlvRWt9aGB9SDBRbUh5
PmRKWkR2bipzRmxITF5GYz9VX3JnNzZyYXJWPX4/RCVMX3l2c1EmU2gjbW1lYyMKeilrUXBPVkIp
R0wjdnBDfG08NWtYLWNDQnM3RjBVMHQ3ZEd0RSEoYV5taz8rant7fWxIKkZHNHJYe2hjQFJFWTIy
CnpqcUJZYyRpK2FBX2ZATSNeSkxYMTs9VEdjSllTU2d5SHlWZ0NfKl84e1BnMXxBI09HcUtHPXt3
bFJ2fklEQ1VjSQp6PFRoI1dyPnEmUXgmUVFRSFRYfnh1dVJ+cFole2tlPEpuS011TjtIRjZVRkFG
d3NmfCQmTD55dD14YyVWRGQzYT4KeklXXj9AcmRsTlh7V31jITFORGEjQj4/Qyk7TiQyPFhzS1Q8
aU5qYjVZeyV2QUZ+LThQKmFpc2NleCpHNE9QfWs4CnpQTkxVdmJ3M20pVGBQKk5xZTw9VmxJanFA
aTh2PTVvIXY2QlgxXl5MTXB8cEZSeWRqM0glbzE2PGZyfip1P1o7PAp6YkReK0VAfUk9VmJ5TWNO
elFPJCZ6bkFIRUhSVlR4K1VJblpZRk0yQFYjRit7MSs0alRSSXY4UENxWnotPHlxPiUKelBnYFM9
cCgpfT8mXmZfZlNkamk1TyhuU0x5aSNlS2wkaGxnZzMjamgjRkNMT3BRSTBDODFTJUE+JW9wVyVj
QkNPCnpEXjVMdDBvaD90QHhUe1RFPjdzXiVAOCVfdkBTdD5WX2E7fCMhKUZhZ1VuITlkbFEkSyN0
UyNhYmQ9WVpfKTZPRQp6S1YySCU+dXEzYTViSzlQSzAoPyZWO0JuNTRydGxnJnYydll7TVUxZ3BM
YldnUihCSFMtPGg8XnRMNVVLN0REWlYKektTNylaMDFXO2tEdmlhZC1vfVlyK2dtT1cwY1pAYFdr
QmxnYz0pSFNRO2thWlBDZUsxJENWNF4xNkdDYTF7Ty1SCnpZXyY4U2prUnxjUUtNO3w7Y3tiV1Bl
X2lRQm8yfEt3XlJZKlVyQUxAY3FpQTE0VUp3KGMzSXtDbyglbkE0SDZ5Ngp6JlcpakwwPTQjTyR+
eTVQMlBUbUAxbmVVO0tETWBFTV9XPGtxb18xcTxNJlk0bSZCeT47MWBXV284azQ5TllnLUUKej93
WWh6SlFhZ2tLQG05P0lOJVRAeXEyYEAycCpSVGdWS1ZTanQjNHB7cV5+bDM8UVJDXiE9U2xTUFYt
bSkpS0p1CnpKTk96QUErcjJzK0lJKSZpT2x9NWUwMEN3UDwodChoQkRnI29zaFYlQ1FnT1EyPyt3
ZSYlZXpYRXpCUGpoVUx8QQp6JDllSTxZTGZ6JTlaVD9qUkQ/UHs2Y0lzOUxPeEh0T28jUkN3V2U2
Kj5wfnFKWTJvdWV1c2B2TjM7Pk0lTHJjVikKemBHbUhvKnFXfWp7ejlIdEhNZylgZ1Njbnd0TGkp
LUQqb0YxdWZ6MWRRajRCPExQbWBFRl4zUHdMSnlqUGI+TGU1CnpsVCp+JF9wMlM5cHAzaGVwYEZ9
QEJgJDBxdDl9dihqcClwQjd8LSRDVmVQUEs4dF5PP3N6Tk5qPVE/bDUhVCNqawp6Kz0oWWR3NzA/
ZnJQdkQ3QTd4VXR3cGtIdjJVJnolTUZDYT9aMXhxYWxNQHg0P3lAfT5gblIoaU8/O3RfbjJHcF8K
elJiO1dYYFNPa1NSJlkqPUx1VHc/Jio7UTxeKUxIN2taJUlJdkJPdH1QcWpTKkRtRm5aVXlWYVp1
ZG9TQ202bS0zCnpSMT1kemp4WklSNT4qNjV3ZUY5QVh9dUFxVzl8NX5KRT9yNz5ocVNAQG4/IXJa
e3szTVgjQm41cmJFOGU+LWdVfgp6Tk5IdiN3JChkTGxlekpaYyVhYCEkJXkpdm5ORyQzSVVxM3Ju
Qz9HTDIzRnpRPDdLcmxlKDh+SnMwPm8hY2pGVzIKejw0Xih3SmtiSUZ7K3Q2amt6I3Y2RGVmKFdk
a1FhVkZDQHI8UVNTbXojVzJkZXFMfn0oRDFJMVhqZElnbipwaTYqCnpKODU/JlB7Y35vPlJ6fSlK
IWpVZj8kdHl3ZmVWc1NhV2FIX3okWXE/SmJDNlkjI24le00kI3kmJmkhLSRzYEx9dAp6YHdKQ3At
bjRiK0wjbTYtPmBPdXBjOHlHM3hxRjVxUEJseiM2WFduNkx6M3w2aj1geiopcWpqU0t9cm5gKWU3
RzMKek1ySnl7WE54fEBMQE1rS2k4IWs3P1ohUXY1ey1LP25FezJ+UEVUPVhXQUhDflQ2OEhMX3dn
byFrV1hXQU1VY1NnCnpeV0c2ZjwqZDJYPVY7X3pxXkVnY1hxVlJ+Py1ERz4kaCUkfWB+aVlieFl3
LUZnZ2hET1h0KjI1R092bSZJeGUoXgp6dHF9Qm8jVSU3IUpUSE12bEk+MXkoaVBXcDlNJGxySjYp
WHpGSkslPmxuNEl+Jm1SbD8rVVErdSt1aTBna3s7NzMKeiNISHBLIVR5UiR6c0Y1R3Q1I3NGPEdW
Z35rRFNRc0xKNlNiZ3omelpydDB0fjxjNncqaGJ2bTRIVE4/KSNRUjduCnpPQCNed2hjT2NOU1dr
akdWazsoc1NSKENzNkJVQSk5fD9gZlN3ckc2dihKQlhNV0J7b2B2UjN+KD92VipoOz9LRQp6d19k
VWI0fEg7KyRSJWNkNFUkcmBlRDVBNU0pNG0hIyhndHQtUHF2c0Q3RCVnbGlBMG1HV1MkVnVqWlV3
PG17ZlQKent5UE02PGhwYXRIZU5wYztgX0t6SnpfVip3UCVufEBHOyUte3R0U2wwdExkYzlOeyFu
c0dzYiVjbXc0ME9uNlJ8CnpkJiEpaktoJnskJkh8K3tWO01uNygzLXtWUlEpU2hzNUFZPnMpUns2
I15nVnpCTEBKaHtUSXo2OUhhTDhHNDleOwp6JWo9SXRASytWam02VzFXaCR8NyN4K31XJjdHIz9t
ZlZZbX1RdDROX19Je35SezxGbC0tZ2lLZ1ZGSD4zV1ledGkKeihvfjR5SlhTYV9nQ3NuaVBte3E8
NkNiMGYpYXYjODg9KUt4WDd8NCE3OT1CaUR7MjFzM0BSJWI0Wnc+SUtAI31ECnpLUnZtKjJBUVV8
NEs8MkxvUWpMNDYmdTElUkR+SE9pZk43akJWUzhYIUBYeEZyM1NhU08rOU04JGZsTWpjV1Nfdwp6
STxaJT5GZlB4ZnRGMSp1eTZCOzwxU01iKFhiS3E/cSgkcX05T25oYnRQbUY8anQ5U2JoR2YrSlEq
VVdIQnJufiYKell3N1gydGJTaCR5JG5ZRDVWWmBhRk9NMnk4aXlyTV9Yd0g0T3t+PF9nMXFeUUlt
R2t6dE9qLWd0ZTFCT0pTNSpICnpoN3c8JTIobkpAQEJ8KHx3eFB7QT0pY2h2Mj57c2cyaD53MTdF
a218ZiVYZyhtXlJ0cExneT56Pz5UJGtJOHVWPwp6V1lZeChYKEY5enAlP0BlO001PntJPnl+OUF8
SFZ1RXp2KVk+TyluSyt6Iz5NcEV4MVJuTiNwJFhvLX4pc3pMbVIKelp6SFBQKSV8RXF5ZWBydUxK
IWgmdTl+aGJWOzYhTW0lekgob2tWb3ZvI0hgZyNnY09rKHl0fEZrPzVQR1B8TlpXCnp6ayE3RTR3
MSpHelZLUGItIzRUREpDekVhQzBfY04rfHpVNXgxUVF6V3RvJXhMeDVDNU1RYiFEQ0phUSk1ZmpR
bgp6Ql5MI3RpUDclZ2k2KzRGJDQjP3NIKCFHS3ZPfSFzJHU7SDcwfnhAdnhIdUJuaFQySE4yMz1K
V2xqRGxRNl5YJkEKekV8UD5LI0IhaVU7ZnM0ZiQjYU5ecVA8anlpP2ojc0EhYnJWVXF8b3hCUEwj
Q0lJWnA+cmo3Sno1SGVETXA5ZzteCno7UjFrdGU8Kz05dVlAMXJyYEBCbmFULU1oLVJVQGUqQU5F
OzZfRElEQmFyJCgkfVI5fU1VQks+M1RUamtMfEgzQgp6TEtnO0FpbXA2JU04T2VkR2NaSFBBfXMy
OyNpKitCVGFNXjg2SiozQ3VhTz1VbVcraGJ0YEsmfCpZI0JGRXplKlEKekhrdnc3emVsSVNvQk1K
PCFtZkh9Xj8/YTVmJGlGQC1VOGt6LStyUXs4OHBkJkNya31DXy1ncEtKWW8pKWxCVTR1CnpLfVhz
SHlPUEJHKkNgTnVMe0ooRHVYUWdBTGI5cDdzdj4+WDhVZztpQik4S0g4b009fXhfcGB9ZDdQKWJf
X2hJRgp6MGItMD51LVo0UEpLenJhUD09U2ZXRnlHNkE1Q0BUVzxmazxsfDA0PHZUa1gmWk9Re1JX
aWJzQl9qdVNXbTAtQTsKenZucSVDNElJclU5cCZTN2Q1YXgzcjk/WGFeMXRqX0l7LU4wQytWSEZt
dCM7WCNIRCR+T3ZMfT4/VHNTfk4tRzZJCnpfdEBzfmBaNk5wZEtTTGhvXnd6NDctSURnO1I+Sz01
WmNhUDItXjh3TkwwSHVYYStwelYhcnEyN016Q0Ymd2RfWgp6SU4hUSV3V1hKZVpZd0Y7S1lgVCot
fXpQbkpfT01nPno5MDI+cDBIP3ljVERILTx7cjhiQlBzY3RyNEJXanl8QzIKeiZPKXpNRGpxSS0w
O2RkJk1gODRaUSFoaUk/VlBfOCtafXckb0k4JTRoZztuO0pfdU08NyU5PEZNJTMlO0hfQ1YkCnoy
OUojZGFqR2N+WikoaHJHVFgrI2FoRWtSeFQ+OW5zTmxYezY7ZGw0dz9ZMCtfOU1MfHRgY0t+U0Qw
SX5PSHozJgp6ZF9faUR3PzhNQ0VqKko2Jjg3I1JsdUsrNlA4RkdJbFRvQmlQa2F8b2BBcHJuQHZ6
aGYkPG9GIVJ9djREPGlPe2gKej1BeEZGSDRjb2xCKH4mVTVIeHk8MSV7bjZ2SnU4R15aRGpyUE4+
QjdJO2hvdllnMTU8KlUwUlE4OShaNDA/TT5pCnpHNERMUSMtQCN1eWlKZypoPSNRO3dEIVg+OzhQ
fShkeE54dCNmblZ6ZjlBNWMwKHUhZjVuZ35OViUzbTUpZVY7Tgp6JDFgR3puOShXSUolMHBuWVQh
ISFYMmtKcEY4Zy1YP3A1Sj5Bb3hwdGlkQGlzLXV3enooc0N2WmxYbU9gSSN3aTkKejAwMXVlUTh1
bioxdkx2KUJSaEBmXkRePT54byZoZCFARz9gTWMrWClYVTk5U1IqQ3Q+SlF9UHdONVZ9UVdPM2BR
CnoqOTxaSHVzK05pbS08NjBTQyMrQVRyYDxARUltPXJ1VUMoNEh6S3MyQk9ZaTA2KTI5YDlnWX1i
TGQhZSkqfEcoagp6TmUhe1NXe0JDVkNycEBfSjFzPS0pSFFfUCM4UHpCUiZ0I3lFI0JzSkZsSX10
KnpNdyV6bVI4ZVYjYTVAZkA5NUEKemJHN3ZFMXU+KE56RCMzMlJsTGw7bzFeVzd4ZUMrWnYkPWQq
PkE+Q2VCc2pYaW1eYzU+cV8tQSV6QH48VzwjYSUlCnpTckRDdEtzYmBYPj9UJERzS3czYll+I31n
P29JfXElUyl1PDM0T2tPbEtTYmEkZyl4dFMma00tWEU7cGpvY3Ffbgp6JjhweTVUaU8rIz1xdXFr
SmZZaG40M0pWXyhwUzd3cHhnQkM8QjB5ISt6Rl5LNXhvPmFeJUFXOzF0byo3dkBjM3kKekleKz44
IWMrRmFzRmp6dTgwa18+REpte3ZYSjJyUXJaYFh9QSZqM0tFTGVuM19LdXJVNj1hRGZKO3FeUWg+
dndmCnpycDBmJTNTZyl5OW97MEVIKXJqeTtWREJhU209ZT1CJDRqbDhHQmBZKnRKQTZFUHVBT0Ux
Mj1Sek4lOF9GMF9Wawp6YGJqQn4wKVgzcGBzaj53WW52clEpJmxkUl5GfjZJWjNsRTJMYDMjfXNe
RE1gfDV1e2U9N1EpcUc8SlQlaU1BX24KekRaQFp2P0R+RT1kZ3kzRCQwRGRMYikxdXZucGlzX2FD
cnZTUFNIWUNzO0xOMys5akBOP3t5MnpedFlKPVB7KmRJCnp3JHp1S2VxO2REV2FpZSQpJW58IyYh
ZkRTNlhffWskbHdzNyMzbCMmTFVaSHtHKTBrV3lSNmFHKHtRRnYzVlI1RQp6dllVKD03QVI7ZyMp
SDshO3RuVTFwe0Q5YC0xc2JBbisyM28ycGxedTBNamR1Iz4mMkV4cXs3aTI5NHcyNGNKYFIKejZu
JXwhaShEaiFKTnFKPk1RN3l8Tm5uenN5NWJ7IyYheFRWS1ZBSHhAbThtKiQ2Pj5VSjg4XyNsZUFL
WFJlTV9oCnpaJFhNWXJYZno8Vz5MRmoqTk07bVhIVmRKSnVlP18/JiE4KmR4NDwqOT48VVcjV1dU
MGFjSF5lUVNDKG0rKkI/TAp6bEY/R1VzWHN8eG9yWWVlYWA1MGJsJEtBLVJ9dSpNRnVLaDIqNURf
VF92I3tHWVBDYWJfJUNEdWdMQHB4WmAhfXUKeiVNYlklK354b2cwYnpPTjA4KFNJdkxjZWd5NCs3
Yy1ZVWxTVmB8U1FnbzcjWU5uP35HLTViUCMlTkR0SVl9azlwCnpWQl5yMEhXSjhpcEBXNFFHKyZ6
c2lsMHh5SyllJSQoUWpRZmtXPVVob3J9Rj50KUpmUEB1b3w4TkRCQWJ5Sll3Xgp6PWdKbHMtQUwp
ZyhOMXEjME1WdExaR310PSFkaWxBVlc9UjZXOENBdkZFMXNgSkNEKkc1KWg1MHArIyk7M0wjM2kK
ejd7UVkobE1IQ1FaRkV9QHE8fDJTRzglZjNhUUpMQ3BQNiMxejhseV9lWTN7NXEraFpwXyEwfDRw
Oy1afSpVUnpACnpKV1h9ZjheeGdfO3t4c3ZJbDZ1QHtydXphey0+dDIyKHlXP1JCNSk9SVkkcz10
UChxUUNOZ2BMNl5BcDx5akUyZQp6RVF0KnhkdmxSZWtgeilxWkpibmsmQWdSaHc3N1J3NXo9N0BS
I3VCX1U5YE5MUCh9a2sqTHFIel5kX199bT9OSWEKejljKHBsJCY8an15UzI/OTM/SndlT3NpU19x
YnExb19idD87SnotYkV5bFl6eyZTLWZgPjBoT0FIPzRLNCRzKWIqCnpeeFlaciEpTk0xWnVOQ1I9
JTUlI254Yi17dkppX29Ge1QjUTRsYCM2JD9eY1ptRip8NT9HJmVBajRZb2Z4T3ItQwp6Q21CUWJY
OUNpVSs2WTt+em5OOHk4YWJkV1VuX3tjVmwlUW0oVm4zN2JLVUQ5NTRlRlRKWmRwUCFTeD03aUcj
PEsKelNPeDQkPkxpJChMdSgpNSVBUztOaDFAI0Y7anhVMkBlMEctNDUjVFMwYEJ0LShieSsmNGtK
R0NNOFE5bDd5IVZKCnpLVnM3UD9ZI1U1PWZTJkBWOHNqOzFva2EwSnlPR1Mld3g5cVNXISVxNGlg
NTIqWTU2a1F4PW59Z3ZPRG5HVSgqcAp6dGB8RW4ocVokblpQUG9VXylRZ0tDVWJgPXYrUGY0LWV6
YGdAWTVDS2ZtSVNSNWotMFFIVnVwfmVAeFQyYitIWUMKeiE0bm00NEl5UUt3e3N6dHJeMio0b3ND
d2lfTUNZVDVjdGNXSzBRQzAzbWJkWChUSnptN09AMHlfdEFBRHttUClLCnpLTG1VVjBORD9kQT5w
QkNDNjZJb3txKlNxSHBEbGtea0IyNWdqaXA5OVI0Q2ItZjw8NXN0PHpUaytSMnx1P3Y4WQp6LW8o
WkkxPEdKUG81cSskTWxHISVGOCpIUWdZJWpVXz9KSnw4LUhVaG5zPmEwRURYLVclWmVaMFVVd2Io
TGduI20KejYyJnNHUTRNUXBBckZecHNgVHNNTUB8YHYhZnwqfVBEVzltJS0qRHNTYEpOMlQ8WVd4
Rj1fd15ecENEP0RoKUEhCno/aylaTFZgPEk7dWo3dH1pWHpBYjZHKyYhX3JecnBNUk9UUFFIe0tI
R3xyMHk2IX13NiZiYV45OTtRbiYkbzRxMwp6NGdqdHVgN148XkpUKGhHVXd3SWA/ajhTJFFkTVNC
e3hhbWRNJndfbFNjRVJYZUVCJSleZiVCTFVCQmF9eDU5N2IKekU5bUxDWDhiYSRuT3haJlctQElq
YCp0S0ZwT0FOPzttWkE8eXJpQXRremBmS0hiRCkqe3NtMnlCRkJoQ3tmeCg4Cno1ZUYxM0JNYili
OUx3KFl0MEA0ZEspJGBxRmRZIWRRailDVmBSRTBDalZ5bD9iX2M9ZE0haT1qQlFOVztEaldeUgp6
cXNRMkslRkN2eTJAd2dAYE5WPik1dkx2PVh9aE1gY3x+UEdYZzNYJHpMd0I+NjU5cDhlYjF6fCVv
aVRzbTYtfHMKeil0PlNUND0zTVU0bXczP3c2UyRWWjxaens4JkF3N0doeVJyJG4qbVhANHRFNktl
Y0tPKH49QX5fNHxIRihMfCRVCno7Y3pIc2E5MVgyJCppK2pwVmsjZFhWQ043I258M08qczNeaHUy
Smcoe3ZBS3BZcGxOYHclbHZkUzV3dkw8fmJxUQp6QVk4PFd3K0c0KypURkwzSTl1QFp2KFVSWFox
PERXV3JMUCkwa3xUOSpIO1Fne1clY0hhPnRsa1pLbX5sQDYkUFQKekNuKyE8ZDspZGMtOCQ5PiRE
RiRUdUVfby1FPT9WZk85KHFaODhHSVRCKmtEJXt8V0dfclc8Nn4rO2BKSSRCb01jCnpVPztsaEYq
Yip3X1g7MVVCaSE8Y3VnJE1COWZwZWw0PyRPTCpgPk1BQiNlXndfYDNuNzRPak01OFM1WjgoZVE4
YQp6UmR6e1loUWoxWCt7TX5sZiMzJFhfXz47SWZrMHtjWmNTRzRLKUkyYEZYfFpuaUZ0eD5qcUhw
JWF0ZDNAcUpQWl4KeiYwTGtadDxQbUZVYSZPO1BzJV59Q1BufVYofm1EJkk5ZXFAKCVkWmU0Sz5p
OEF4Mz5NRHhuc0Z3RDFnOUs2UE51CnpkQCl5Km5hJGo0Vj9WY1FsdmlrdXxGS2M3YXE4SnNOb3k+
Z0taSCRtUj8/bDdDd1dzZHU+TUMqe2plKWtAN0M/YQp6bCNYN2hIWH1iejQ3IURpWSpsZz91SExv
VzdWdXloS3dPYmVRPGdVVVRlUnR9U1cweStpJnthOHdnYV4hbFlldEMKemk7TSZBZ1hqZGlJRjI0
SygpTXM7ZDh8dGZeSDdJRXpTI0FgUylXKHtffT5BVGhObigkV3VNSW5aUEE3QFg8fV5pCno+ZkQ4
bG1hIXIhSV8tZGY7YVcyUFFCQCN9ITF5P3RFcVR7MyEqcCZ6THpEXmFCO1peR3cwZ2ZaZmw5RkdV
QS1nRAp6Yj95YEkkclhgMlg2ZkF8cH1uUUU3cW5TU2FnQElUQG4wQWVebkYlaFYodldwK19CdChi
dGdtOCVqalhCVUJqM2QKeiR2eDA4YHpMT3tPQDgjbjNJR3hOTDF2UyV7RzYlUEhHNih0MVJ2d3A1
UUFCMTwjOUpwQUtMWEB2I3RTZVNJcTBfCnp3eT5oWT5vUEhXKjBgaDx2STckNEA9YHFIeiZCYXB0
O21NYHRIV2M/QE0wO1BAKl9jMXlDI2pqJmola3FLLVFtTwp6YWR+a0leZ3ZVNjQ4dCVgPzkxRlEp
VHFydVYzcTslUjVEIXVFYHh5X1JkeCVTYC14fXNBNUo8ZDZWbmQybSk3NmEKekdFfFElTSFlR3pN
YmRfVjd6aGUoNylaUkNpbylfVDAtcG0qKkdaV28haDdYTjB6bUBhck5WfjxOeilvSSR3XmRKCnox
biQ8NVo4WlNjdEIybz5nUDAqYF9Ad0VxNkw1eD5QSEIme2NBO0UwRlArJEtDKWZOOVdNKXQ0QjlQ
UWcxKEp3Nwp6MHp6cyQjX089N0d+U3cocGlRJXtuZl9jcnhpfEg2QzVndzRxVl54dUNvdl5wLUk1
I143cVUoYkorQVpzUW04MyQKem18dWR6OT0kRjxeRUBnNWh+XkpBNGNqP1AlKVgkbD5VekRKUHhy
Jlo0cGB7UzJOWWdMbkE2QlNKNUQ8PjM2JkxjCnpgZUlrfm8tXzY4T0E9YWk3SVFrQzQmPWVRR2pA
QWc0IWU/TTJaVUNFQDZgfSZwcj5La0B9YCRhUDJfQ3ZDMXtzbQp6Qj82NWo3JnMqalUreVVDelFz
bnFlOUxfMTRxbnVZc30jVlhMdkZjKlEtQF9lK3dJZnVwWnJvOSkjVGJpbHVAZHMKenc1Ml45SjU0
M292X09DeGd6aDtVbSE7UU4zQ1liNHtKISZkRnhqXlV3YXIoXzIjOHE2RlhnTEsmPG5jciRzRSFw
Cnpwa0d8SGgkeVc1eVl+fE9ZQ3tea0NpWGBHcm1ON2o/KXM/cGlFVTs5VE1DSXAzaXtmPHp8Tlor
PVZZS0lAdzhkbAp6VExNLWsxZEtJNyg3SloweT17YlU3ajFBPnJpXjI3OGFxWmVrPTRoJWR6Vk1U
TT8yNXEjOHM/QjQ2SHdrUmRmSWwKeit5Qk45SU9TVyUyV2I/Yig8ZTM8KCg+YyZXPGNZPms7UVN+
IT0qNlNlTl9qM3BIXikxcUQ7ZGVRUnl9NUNYRTt3CnpVIXteXl5FKmR6QiZWSVhXP2lLZCQ8dVB9
IVZSfVR3fnB1UVEhfCVfPFVMUjZfbz9wVDdWMn03WkQqJiZ7c0MzOwp6XmJzUjN0TUojSWgkbyV9
UHVeX0NpbHc4d3s5XytyYzRNbHhQRkdwK3hYX2hLWXszLUxqRz1yRFVqUnJzIzlwJFEKek53ZnNL
WnhnTjspeVl5MTVVaEQmQV5EYmBaWFF+N3BjIzRtYHswaDdWdXp+VkNze3N5d2tsTnFpOXVzaVdS
K1hQCnpZaS16RjlaUzlFSCV3Zld2SV5NdClSNilEU2NhPC1FPXJvLVVDcF47S3JiKkRwX2dPbyhe
NFNqQDlqZWVlKVRGSwp6XkdCP3RgSm8+SHhtSSppJkFSclA4PCZ8KUBwNkZyTT4/XzY2UE9RXzI0
Jil6PXBVRCkxJUxwNHZ9TkdpQWY+UjAKekFLZ3N1cXJQP2RrSWtSUnhyPEpxMWp4Yz8rMmEtYV48
dnI5QT9ad2J6PDt0MXElU3h0Q3lAaH1hdCNVODE2VDdrCnpXbmtuTyk+P3ZaUUdJWkNySmVqNUE3
UmJeZVhVKUBwM2FFWTZiT34oelZWcHxScml1WVR+RGR3S210QnNPJDF6TQp6UXh5MDFXYT5SO1Uz
Z20mayV0PCpxLTQ0JEslbG12QkZIclJlS1MpNGRPMX5NZ2ViIVgmJChPOFJUNFVEcEhhPSEKekJs
N1hNUDVvcmlIfl5FVEJ+cWplJn5CPWtmJnlFKVBJRnV2PXZ4aGp5KGNQNl9KRURMUjF0Zz08dDl1
I045JEdrCno3QyNeYWJEakJpUlBgens0bm16RihFPW1MR3JWVnFNcUNJMkNFfmNOUmVic1NKRnop
dEw+YTc/e1QzWmN2QHV8UQp6ckZuX31OSmF5X1QrTnE9JkNwO2x5bm8peExBOWU5WlQjUXwqQlNz
TUNFJWxYb1JSMHZ2bn1weGh4dzdjX0tZVDQKejBtWHZZaEVvPHVRSDJ5PTd5JkElb1VyMDZOUiNS
QlkpYHZCeCNqN0IxPVhBcSl8YHRZWjFYRFdrWj0rS0s2YjBaCnpKTTJOejNIfHZqQihqeXM9IyVM
bUYkTVNaNk9CTmprbDhacHNNMiVnIXFpNnlRQCleYyZEdlJaZENsTmhuZUNsMgp6VXFfWTIoOVZY
VFRnUGd4JnxKdklifGIhd08wSGtPeGJ2Vlg+MTUjKklKJUpFNiNNbXNDZ3A9ZUM2ZDJULVBrUzEK
ejdadj00KVI/Yz4jVWA2fkstcHVYYT5uTzhIK2x0T0l8V25jbkl9MmxnfWV7bkowc35qQ19ycXlS
ejwhRCNpdV5ACnoyRHB0QnBCKjklNSgoTXQ/UHZscHdkUGoyM004QCY9SXRrUWxpZVplWiF2cDtr
e0JaKGMyTFh9eGREMUU8O0ppSgp6MTFrWTM1JUVKWkQ7KG1vRUR7YUNDQW4kKzVicTYxUSFLLUJM
PER9Q1hFTCZeI2ZWTGF2czFzS2IwWU9XQWE4cVAKeiRiNTFOenk3a0hqOTUye2IqcWlGbiohYCFo
O005PGlvNGA3IyEjeWFUT0BEYylgNWA0Jm88WT9EM29gMk5OS0B6CnpfK0spcjhlUzBiYUhiSXJv
YWNWRk13d007MjJrNHA+JjV4PlV9fUF6RzA/JXxiaEI1fkl2OXBte0YjVEQzIXFxagp6VjZweSFm
d0o7R20kRktLKj5tOUE1QjU7XyNrSV5KKkJZdz8kJVZKNiZvb1FgVF9sN0wwSTNOMD0qb0Ayd2FT
em0KekxYYGU5TGtDTUVLLXlkVGteKUlCZGB3d1JBYmVSTnl1Yl9SOTlZM210LTsxI0w2WllLYVpm
fXp0MTAla0VUOGYwCnptZWxgfVZranNieGclUnEqWTZMKiN+M2VzUGA8fkpJIXBLSmYhITJQenVI
P1ZzMVpSbiNPPVdfO3JURGJVLWxwWgp6P041NSZxSWZqY2lrPVkhSUtie31qWlQ3fXJlUVVzSGEr
S09fazU9Mk1ec2VkYzY+Qk1sKjxFaCR3UXtPMHQtbXsKem9DYDk2antmbyEzcWVXNkB2TylUYSlO
KFc/fGJVQlFyKUF9dVR0ezV1czEpS1g0RDVJMz1DPWc2KTRxMG4pbzNXCnpsQURFOThJPFEzTFRI
RDBQLTZzbV9oP35Ta2ljdClCK1F6KV5NbEI1JlIobiM/Z0JPOXNAdHg0RVRwKyRjVkQ/YQp6VEJN
PnZtNDA4OVgkbGVfZmtwaGNYYXYkN0BYXnVSdjh+WGVrIXZFJl93NHRIPXhmfEMhUlF5WmokJXVi
QWcmYHgKekwkaUFKZVU0JWt7KERTTmJXTzJFQ1opKXcmYSRrYS1MUiMmPG0rdF57IWZnO25ub2BA
bWg0ZDFDbChySUE4OGd5CnohIWV8X0E0YyFEPS1+dzF7VEgwRzUzVnd7U1dIJSVncl9tdWshKzRf
a1pZaClEQlRLKlIjQ1MzaWgyTSlxM3dIWQp6fERaVUFtNCUrZiRhPTY5fDhTQn1kVmBrQy0rd0Ew
PlI0JF9fNCVfYWw1bSNhcXNxJm1aOTlqMTNtNkIybT5waVMKekp3P0s+I05ZPk4wNENYT1BOcCZu
aDRxcSF6S0UmS15gfDBRUlFJYThgQHcmMitINTkrZTRYPTNCKHgjWldBNE19Cno2eWVRTSNGU0NS
cE9xSDJvVm8rfiUpSV57WX43THNPdHNPSlZIQlBJTmxANytPdyp8ZF94U1hfMytGRGhkT3dfKQp6
MFUmY2ZvRWt1SkN3bjg3U3REPEooYWt1Ni1QVHJUJSRkdz0re0IxTjFKPUFvczNVNF9scH0od0o+
cVo7WGgpazMKekNuJV5Ua2UycmZSST95fjBmJj9nS0NyJmEra2EqX2RDMHwxMTZ0M05BRCY+dnQm
a1dQZlk0fkVAV05LJiElSmtYCnpuZCEtQmJPPlg3QTApND5RZnJfUXA8bHZjUD5QZG9aWjMzczJq
dyo/KittSj9meWxxenJhS3BOPytgOXJFfUNHPQp6SXZvPkV2V3BQd3tqb1hxJW8jfVpEVUd7UGJJ
MmU8cTZhfjZjJURiczErRUxza21MeWBUK3I2cXhReW58MFFeYWsKemxZTilfJWV2RjtBcn1wNnAq
JGtrZ3ZkQENxbkZJRT9KM21uPztCbUglLUc9UDVJMzEtb1hUQ2xnSm1ES0xnSUR4Cnpab3QzcGF+
ZkxEJEl7OXlzSmc1LTcoM1FXWkwhaV5XQjl2azBUWk83d3JfQ25OendMLXprUXRpZXhVdkF5RlVE
SAp6bHctJWp3ZExHNmN1OGk2cDBpIXE3O0Y3K0RXTV4wZ1JNZl8xKzJsP0shZzYzTksqYCRZckYr
WSRidSlGMCZnRnoKenJPd1RDNV5+cXN2ZD8qams5TmRsbyQqMHlvPEpYfHVEflFHRG99eV9DTV9V
N3RafHFgQDRFfjg3KFdSU2g5Tz4jCnp0fnV8SFNZazU1Y29VKEZhP0QjYzYrJllYemR6M2ZaNykw
b25fSSl3IUkycTBVclE7OGI2WWpYRWNNYXomazRrRAp6YCheaUo8U2hZK1pkdVZneU04VXhNd29I
WVM3fj9Ib2tjdkhoME5APm4xVCNoeX5udnZtVlp6dkJxR2JEJTM8bjgKejdzdktAVzl1JWtZUChy
QV4jX1hyR1dYfShJZlAwRkBud0ZCQVNwQzw7PTJCdjFAdz97KHc/QXkqR0FwUUE3VDFXCnpsbiQr
KVE3YGA1REpXX20hPEIkYFRQTmtBX2xjMjVnJXd2QW9LczMmWWRLbCVwTUsjQ2VyO0tKSXlgXyg4
ayVsVAp6b2che2tpb3FxS0VfSzV3bzYmZlhuTjFvdmFrTG40T29HP2xaVlVHJmNUZGBLLX1MPGZm
KWpufUxLblgzJSR3IWAKemQkcEN1Kyp1ZWp4Y2NRWWMwT3VXQGk+PWZkeVQhaCtzK30wOGlfNnds
eU5zR3tGS1ZDMWQ9T0pFYyFFLTxeaDFiCnp7YDhRUU9HKERWOEQyUmA4VDxNS2N2fjEwYy1VdXRW
bSh1SVBBRkBUbDxmTWJWZ2QyZFJmN0RVP1BNYlAkRkFAbAp6RXUqOyVjNGwrP2BSVHFNRnEmU29j
dGUlOWlTWmE5eGtiem0/WHJrblVYPDVnMEcrUlItd1Y7fjx9RSFVPEMtMEEKelpFeDBEdTA/bHlE
NmNwXz81eTNLdkdFQiU0UGlkeFQte1c/VSlpU0VCPEBIYSo1SHp1QU5XQ2N7TkslVjBafENaCnp7
KC1nKlZpQ2JyK15fQHJweEdGcUtBKUxTWEdmY1pMcD15OWRrOSs5S1BoJFRjPzRXRyEpbjdrez1G
NVJzPyFTQAp6KXVQfChjUCYldmVKZGJMN2FoP0hufHhiTkdhR0JtQ2FpR29gSz5SazlFaD5jKHho
eDJLc21wT3dLK3tXM2B+emQKemVUQzcqY2gzV2ZweH1pNCsqTSpQV19ZUUJOPkxVdmZCaWxQO2sh
VzhIcUI2VTR2Oz1ySyheXjlSazhsRW4wcT8tCnpwK15xQGg1dzxhekx9UyZueThhRk9WTlo7YVd2
TWd1SG4+RU9CfExFYkN3d1Rkc2FqJUVVO35rI2pFVC16bjFCcwp6NEdSO2VoX2JTT3drQEdgZiNa
Qi08YnBaUFAxUj1RVT9waCVmQEZDSVY/N0QmeiF+JTxgMEB4RjAxOClSJWk9O3IKem5HQ2IqLUB0
KmRTcHxtODtpOENLb2VUSHUrcm1NaWspJEdGIUpDY3IlSm4zPCpDJih2b0ElblVybH5yd2lyeyhe
CnpIUFFUTnFOSmBKY1NKPWYjcW4xbVU0ekxVZ0clO25IaTIxb1VVVFNgVFRobjBqYzlhP1kyKVdQ
ZExyVTlvSSo/awp6KCpuNG48bUtne0RjeyNaWU1gdSN8Mmc4cCkzOXpjVXdYcXRncE8mYUtKIXJx
U1FOc0RhWTRtR1lNcm84cFIjfjwKeiU+R3woUik/KkQpdmJEfForN1omSmJFO0w5RyErRGNOamhQ
O2x4T09yLSV0XndsRU9fc2gjUXtVe25CNXE5MCghCnowZ2tfYTFPS1ZAZDFvd0M+aG1NR1JpPEdA
TSY1YkolVkRhMWlXKXliaXUycmE4U0pFYGkkcEE7RWlOZHdBTWklTQp6ZFBRcCYjPEZLWXtRSGJn
R0Q0bDZRKSZkX2hUUllie09aaTA3eHkmJnFIVnU8UlFXKiZaSXlGamxOZThMSmZHcEQKeihTKEN7
Xmt4UV5LXn5BNyNqSWY+LV9HdlhYZXdebGpaTWktWENhRXxVcVQ7e1F4N0tDWjdmI2JYY25GalVG
JTI3CnpIMW5NMSVGJSg4PjZfdjZZMUZQcjQzQUh4K2t7YT4mNSEzLTFEeShYYj5gMm17WUR1VmJJ
STBnTktIUCh1VGhxOQp6WTxVQUYodjYteEhzRWtpellIZl9pY1IjQnV6d2dhV2xsajBPM189VntG
aH51bHBuOG10RkNuITg+Xz9AP3s5bmsKeiNYWSZDS3s2Tnx7R2ZtRCp3Vyp0aWxeSWctTTMjdVUh
bVpOX3dkN3Q2YWRRaCFeKnJxJU11K2A0MWI5JWk2ZSsqCnpka0tLXmFnfEMlX3dZXi0xVnYtakM1
T01vbXBvMztmQTg/XjJHeFQtPnQlPktWSHpnSXkkYnVHSEBVbCp3N3JeZAp6Q2YyKjstfH5xSUk3
T3pGdDUyRThWa1hIQDh0cCpHWXpVKVY/TEY2Zjt3Z1BkXjZ1Uk4pZV90dHp3JTljYGlpIW4KenRA
THxpZzdfdGcoVXV8eDJseCVLUVl7UEM7VCVuM3wwY1lDOF5XOEwkb3AjRzV6PXQ1OEdqbUx7SkVn
dGxkZFA+Cno0I2k7bUBBZXp0Q0VNPENjZCVtcD8/KVlTUnxvJH1MYmszKkMkKDxeVF5AbHNFMlIh
djZ8NkU7YDJ3MTZ3ZkU2Zgp6MmBqOExTMzYlQilePUxhLUVXSk94bndXcHp5UyN7YSF6NmZuRGBO
QExGNGNlQjxQc31sQm55c3dSIW9AOyZQc3MKensqJldtPk15JE5oNT9yIU9hdVQ+c2hgPjV2OHFI
SUg0ZjZmdylgZUxOWjVKUTVPT2VBV153UTN7dSYlVURqVnZXCnopJG0ybGpHfTVDekIlYFo+fiRM
a014RUdTUn1RZG4yY215TlJWdHRoLW5JUV5mN2ZPcWotSGtYVnBLMEEtXzNFSAp6PGVHc2JFeXFI
ZCs4Y2pJUDladWpzK25nKylESzV4Ujc+PGw3UzhiNVBFKXRpLSg4OVR4ZVI+VE1tTXFzeF87V2sK
eip+e1A2NlZjdylOITE8QTw7Wj48Snk2QH5TTl4tZGlnQjZhTGZtQSFtbXU7ZEZGIXtCcn11YVdB
cHB0XyleRClwCnpDQytfWikxeSVMSFROZ2BecGc1YTxzRSNjWWR3WkQwdUg7fkhzTWVPcU0hWXAp
S2ZTO2xjdndwQko4PnlXM2NpRQp6UyNIWmklMUBlcXRyNDRDS3xJRzZaUnpSO2QrNjhMckBeOWc9
enoqKDtNbj1ERkRiJSlwdjhaaXM2bG1xZ3J0MzMKens4QVpyO21SNFg0ZCtZPEFJbiYlaG1iYllu
UlQ4S28kcXh3ckNHMVomWU9mcnA5JjZleUZOdj49OVpVTiUobkwjCnpTR1pYd1hNcT43b2JxWkFX
d3ZfbyNCOGkkK1dBQWg9I2F6azdtI2p5aUprY1FFdm4pPXBtI1ZmNUw8UkglZkNpTwp6Y35MWW13
SCZRJT1lXkprT1pFMHR3XndOMVByYDc0QGA/bDdYSnteayNGa2khc0RaODFMcTFlXjt2SkFFUiVx
dHQKentePkojJE1lU3dqZGI5RzV4cEpCUTZlOW5vaCo/VU40dC1wX1g4aChCNn59NU8oUTU0bzcy
QTVyQEFzZ0E5MzsoCno7S00tUjhiWDE2V0w2JCk3PGA+Iz1zVDEmOXRwK197UkRwSU9YQWdsTVQ0
WTZkSF95c0duVjt+IXV3a3E0Ym8tcAp6Tn1AQmIzMGc2WD4+PGtmTT9Ge29QeyR1T24oQHh1REBu
R2lDOWM8emxeQFduOSNhSHZ5VGExOE5IaDhBTWZhJngKelJeWjAoR2VDM2hZKE9FIV5SRjJYWCZr
fnBZPD9JfGlubmkxZ0tnPGA7IUpnYCFKUll4ck90KHtxLUh0aWNqKGVMCnp6S0sqVlApd0Y0I0Iq
U3lxQ3BJQ2M+WDg5Q34zQSk/SWEwKWRsMjlCMCVPb08kY21BSD9WITZobDFnTXxQXnB6ZQp6VjRN
MU94dX17P2kpKDtrU14lRT83MSFBeHVvaUdaZT9LQ29ZNF92MkkyTz18aCF2Yko4KjZwV1VyWWEp
RSRpNHIKejZVJV4mKzIxM2d2Pjl6V1k/NTY2I1VmekdUa3E/dXVYfjRfXnhHO2tkO19veXNwS1d8
Um9IZyRXcjszN2pXV0FRCnp2YjAwcmFmbjt8ViRpIzFDKkRZcVRETypLOSoySXFHZXsjTDJHeHch
YXtlPGYjc2AzZ3tHYyhaOHdTVE4tP2pXYQp6Qz0pIWlIMnpZTl4+Yz1FNT8hbz1iXnsjO01HaTZ+
Kj03KE1SWkw8ZTNGPTt1N1dRWWY+cGgkZzUqWmNAcTRgYVUKekJnPGJ2bSVQQ2pqY1E9UV9nWWY8
NGJ1cUVhfmQzWkIoI3prZDVpdUVBT3ZeRi1DbHE+UiVLfmckP1BPIzZ7PSVjCnptO1g+YDVgTlQy
KTQ2JkFeTG1aJlFQXmdyMnMqQzhrIXQzZylsXmNaLUBvcU8zUSk4KzUzSntgcEVHUkg4YDdTTAp6
RTRacXxNVD1RSDIzYy04bFJDNWJPVDFSP2NmOGw4biVaR2JKQDluRU5XMS1AMWVnKiVBJCVIbT9i
Z20zeU58VXAKemcoVVVYJXcydkZFcmp7SG1xdUdSezE8KnpmP21ebzk4VnNhYXw2SCszKnBaN2lN
K2w9QWVyXnRsOFB7ZmZmfF4zCnorWndpMHFqSHlXX1dzRz97USUxTjBpO1I7VUskP3IpZ31GR3tE
TklNYEUkSWg+YCVDNmojPFZpIWVOWW94RWN6Rwp6SGoldU43QGMkZz54OFkoN2BDKUhMcDVuZFRn
Yj9EN1lmQDVIbDJIa2M1Wn1IR1RaPHRIJT5Ja208UjYtNUxTIzIKejJYVTVhMDB5fmcrTn1GLUA+
ZiVzXjVlN2JPPyp6K2pAS3tpXnA0KUlxbFFaQG0rOzNnNEBoQEJnSCN+cXVOUiUxCnpjVXZ8bVph
c2Vje0hIcHMxflNodz0qaT1XRE5adzVVanpTLXQ8RG1mcWB+dyFUMUx6aFklOVRyST4/aFd4ND1L
bAp6eW9Nb1F3Nl9VIVAkMzJeWWx7X3YkYTReNGVSLSNRXipTPGdaJlNmbi17PldaSGFkd2xLMTMr
cSpSbFM1KlhtWVQKelFZMXt1IUtSTDlHdTc3LXVpRFlyKzgwSjNGN0RQLTdgV3FRTDZDMDYhNDMr
RU1MJlIwMEg4SExwOz02JncobHtaCnpJKnc4K0NlQmhoXy1lczdVaTwtOTVvbWkreV4+MW4wN0ZC
PjheVHJgVDkoeWlne3NwaiNkVldtXjkwYG5aTWJKKQp6ZzFFUUd3TDNgNGcyQChRb09vS3k/QEFJ
XnJVZFYxJipVTFMpV309U2M+KXp8ZHVwNCQhJCljRzA/Y1VGWWNtQkcKejYrT0l1VmRUSUpVdVIk
d00yPko7cjAyTj9xKXZHfSMwc30xT2tTMiRvPSYjcUBCKW00NXNzajAkPFApYVJgJEJhCnpaLWNL
Tkk0Jlh7WX07XmZwKUIkTUAkdTJ9P0F+QldsYmhMWiY5YCRMczY1JU9fbVRkfXpwaGgoQERAM3tE
Sjd2VQp6cUxFRysrdkN+OUBhYlRNeGdnWWR0X2BGUThOUU1RWHw1akNfQHk0bGJJYT5RJWAxQjRS
dyh7ZnMpOW13JFB9WGcKentsfjN2MGlnWHFQJXh8X3JsTX56UC1PVitmVX5DVHFSMnxSRDRga1M9
bGZQdHpmPDVjaVNEX1omZytNTXJ9OHxpCnpPNHQ1ZGB6d0gkJE5tUXZ5dyVAWVRCWC1PS1loOU1E
RzM0KE1kWU04THVWO19CZ0BHVWVDaiolR1UpSXdTNmA/Pgp6KVNHV1cwaFpLcmNpN0kobmgkKUt4
SSEqQnlxWVBiXmtaRGJLaTcjQEA5aE0pY0RHRkxeYlRMSnJeLWc4UmAteTYKejFBMT1gKHJ5I3Bi
aVUyJFA3d1Z8aDZZPiVfPStkRWxHPUl6aWI/e3pPZmNZR01lZitVPTV0P3tIPEhnV0dIOylJCnoq
YilKPG8lMmRRN20pUyN1UThwbWBNQyZwO3tgRHhiMWZ4PztmWFlKcyE5cFV0N1F9I3luWn5lUUNN
cEBXcClmaAp6O0p8PjtLbDJnbEVSTXhsK0w7eyhOUypYb19PR19uSyVPNXVnYUZXYEEzRWVEMXE0
dWBlISQlSDQoSDtWUT1aUUYKeiViT1IhRURWfFczVTNjKyR2M1N1YmQwX2MyZTQ/cHVaVFp1Y3dH
YjhpbE08cF92IW9eUjQpajNUSWRTRW15UXw0Cnp4T1ckTGUzcG8qMkBpYGVmdlNndk9fYmw8ajlm
byVpN2Z+ezwxXk98Wm50enJnTSEqJj05d1hnSit7ekRHKHM1Rgp6TEl6UHd5Slg5Xk0qOT5tNmJG
WmNIXk5WMXk4V3Z7RkZ8PWE3MlBlUlE2PCNzRUxYMVpvYn1zPnlCQSl4QUJjM2IKemEhfmFpaDwp
dmA7IWBkUkUmb1FAVU1MLVcySWxNZkNxMlhgcDJ8cmRJKV92PzR+d0Z3QHN5Wl9zbjdxTllTfFVX
Cno7O2Zoekp0VjdDKyQkYFBsIU0hQ0hTKmY/azQlIXR2UEkmdT1MWTwmMjFVYj5eKlQxOT16bFkh
IygydW9ZY0J2PApmXldaa3h7JiFlQXApOy0jME1yYCFiMTN7YTVQMFZYMFEhRmJqMGtiPgoKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVz
b3VyY2VzL21lZGlhL3ZvcmJpcy53ZWJtIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2Vz
L21lZGlhL3ZvcmJpcy53ZWJtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2MGE3ZTIxODU2Y2U0OWQ3YTMzYTM0M2I3
ODllNWQ4YmM1OWQ3OTkKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE4MTYxCnpjbWVJYWN7byt5
e3xDREVJVU1zbSZxdFlPQX5UMDVMdnFhWFB6VnRzcCR6Kk5OK2AtdUEmdn44M0BLeFYofTt7SQp6
NWtoMXJXSjxfej8kK25+YCtkS15gX0h9NF5TayQtYGByRVB2I252VD45eVcjeUAmUFFjbnYyQ15Z
eVAxQXBLM2AKenc/PzRRVW5meE8kSHM/d29qST82amV5Y21BZlVMZFV+ZFE8VCpxSXFuQmBuLUdK
QnFFXihkYWh4YV9SZVY/eDB7CnpGOzQ0QktPe0Q2X0I7ajJXM18oZVpTXj5vKzJObGt6dHdYakd4
cXFTI2VlRG40dTdscmY4JWtgc35WfUhDdmk7cgp6STVZVWgkPHZxNHM7SjRTOStndjZQX1diY3BL
KmloaU1aNkR6cjhyPHpXSjVQZjRhdk1KVmJ5KC1YeVhkJHQ0T1oKej43QzNhZkozI3BhaUlhOFJ9
PU56WXxTbjhqamlHY3NJUnkzMzg+bWMrKU5eVFB7JGNoMEBtWSFgQjlYaDBDWHVaCnpfPjZESktg
UDROQHhkUGU7TSN2R1otQ0pNPFQ0PE1mNGlxRHIqYENeZGsxZXBsPmNPaz5MMFUoMDFnMD01TkBn
Qwp6I1VZJlclKUkofG9Ac3ZsVWNXXml7Z1cpUXs3TlVDeDxvX0xnb312IWlCMXhQe3hsbktQfmUo
Z0lEMzRPOTxefTEKenNKOHY+SUJ7KHhsJkZyUmA1dlMoPjtLb29QfjhXfil1UkBPcEhAKCNrREYy
MzsqVTJ9d2BXR3U9Q1NjaWBWSEF9CnprSlhXdk1PMkxOYVR4Vl57YGkrTjU9cFZJNiZnNj5ETzRt
PFYhdFZMZTJrO2hQdDEtcFJAdmY+X3RwI057SEZ+Twp6SileV1pqOXYkS3tCYj5gMk4/QVJfVl9O
blFyPnRlYiF3cV90ZzxIdU5DU1pRS3FCZFoxVDhhZjRLMyZaZkVqMU8Kei1oUDM8XkE+O1M2TWl+
czFfdyQ2M195KiVYT3ZXQWJufjBoWjRybXRxSlF0JT4qWD9DSEdnbFZ6cn5GSnorMkU4CnpVU095
Q1RoMD56WU5BP0Z2MypqcFB0c2lDUDNyaW9rNUs+eWZDNmJvYEl3Y35pNDIyMlluITNFXlB+VDlK
N3N6Qwp6ezRJYFAkVU5ZQ3doV1Z+ZmFieWNvZD17RkZpVm9jWXh1dUZoUGgxYEFKOX4mUHZsTSQ5
VD5Bc29+UjR0OHI0U0oKeiZQaSVpcFVWeUQ/VlFiMz5fdEtrYXZrV2lrQHgwdVVsU2NAe3xTamRp
UmpPa0khTD9GYGB0YTQ8dC04dHRCNlI7Cnp6RU8qV0NAWHcjV303fWlMUG1gZG1OfSplWCgwenl7
ZUFwK15QTkFKP0kycCgod0xSZ3t7eyh9enhfVSolbHpOMwp6e0MpMikkakVxYyV2VyFtOStSWFZu
RGZDTlhGMD5HXmomWHJVVigtO0U/NTdAYCsxK0QzPUx9MCVuT3ojO3tPMVMKejB5dHtuMWE/Y0t8
OVlIQjZ1IXpHezcmKkFHMWYkP3RuQCpPUWtUcnI/IU9PPiNtNyQ+SFIlOyFHYXIrI2N4YEVRCnpV
Z2VYJC0lc19xPzZfeVBqKCEham1MYChMOEo0dHZAeHZuNj50bEY0KDx9flpLOWVaPEZnS1cxc2BN
Vz91P0pIRgp6ZmNZQiNkbHJGei0+ZHc2RVRSXnkkU3dPcE4jJW87cC1yZ1FQKiRpemVVI0kxZzNE
JnE3diRhd0ojQy1tPD91aTUKemV9O3wlMEUtYSZLTGUzYCVOXjNLSn07OE57OW5VRkNLTHAqcFpI
NX0jeCl8UTEwcD5HR1VuXmI9NHsjKT8xbXFkCnpaUWdVWlNnNC0ySU9fRjUjbGBCVmk7ZUFoeVI3
cTBiKWxub3loYjtwQ2pSNGdxNTM7U1JzYnxeQUN8bSpOYj5meQp6K0QjRS1vS0pAb3orbnpuV1lV
engmMXRwVUJGNDh4ZVEkZTVXUj4yX3soZGh7c3tIUk9mY2ZCK2dEYV5kSmdGPV4KenNXa2xOZUJ5
MU5kcyhHcisweVN5N01tJjt7O3pKanpYVUQ8eih0VzAhNkdMdE1HUCZHeitaRz5gVTc8TlVuejxo
CnoyRnI4fURFfjlZX2lXay1wbXJEayopO3cmMFJZZjxSPG4xIz1RbT4mOWtpNlN2NjNDTUcjcz9E
YE08aSVKfTheOQp6QTs4anJHemc/SVRnbDQ0JjhBNWZJV3V0WDV6JkwqYTxUWXtrKDc2QntYNH0z
P3BqeWdZWiheSVNJUl5AbEp2U3wKeml+MSRTRG40MjNDJEphWV5eb0dRV1ZBI2tGOTklVEx6Ni1M
eEVkTWN7KS1GJVkwMz0hVDE/Zi1PI2gwRG40eDlOCnooYUxAM2Y1cmJkZXtjaUp4T0ZZJHsjUFlQ
TG5+Uz1EK1ZuOGlwJXQmbUVXVmFFUmZ5ZmV8YE8qK3AwI3xHR09Wfgp6YGo1N2RoUDItUUtRWFRW
YiFZJG8zalYqMjA1aWhzQ1h0YEpGZ3RJfUEmfCVoZnthKjJYbF8mVnBwQ0w5JkVpVTQKekNffWZz
XmdhLU03MG12UGckUjxOX1dfIyhqRkY2ZjwtfGsoJmJwMGM1UGd7cTtVWGwlaHhmbk41YntRIXZU
emMhCno7YXhHKDV3cFpZMX1yNXN8MVJ+UEEhS0xmTW5wMWRnIyFCaj92cS1RN1g7dkd3SmJ5P3hI
KWFsMzRuYztYYzdTSwp6NCVyZ09NKnFMTnslMz0lQVExKEVCIztLJXBVNnhpRXNBdjNmR287PkV3
fV9pTXVXVThhblFTSkoqelZwVX1XUCoKejBTZj55Wj1UNFF1XkhZal4zNGBjNTs2WHVXek8hS0py
fE1aYCpMMERWQXYwUXZZOERubCtFc3pfP0FtNG5BdmIzCnpeMisxXj5+U1RwciRFQmgjfXEmeDFe
QVFCSUFxVTg8Y1RNaGx4Nj1AaXtYMV5HYjxiOCthKGNzaF9LfEZUfmJ+bgp6VzQ1ayF6QG5eZVkh
ZCNKVHdlWUlYfj4pJWREfl8lXnlAKGxOUT5uXm4qS0tXIVA/OXcpQ0hTVjsrdEp3VVMzSU8KelY5
dCl6PWBze2JuN2pWS3g0aXNPbE5fX3pMM049bjR3IT07bU1eP2ghcjM0LXghN2V2MlNwWnxZVXVH
Y0xyOHY+Cno3ZFZLP2JSbm9TQCp+MSszTmJ4SkQhS1o3SlJLOVJLdilfRE84YExQRUA4S05yeXdS
PSNMVzl2QiVXUGdPdGc1dwp6dksoN3ZYKGBET1oqM3dhVDl7I1pQU1M/aVFuRDxBUiRvZHEoLU1H
VDB2aD14O0ModHcwRzB7QjNkYXdhX05oWmYKej4+aj05O3crWClpZ1VUP0NXXkMmNy1USFRnSyti
P3FLdjtIa0VPeyRuITA1MVUlNG00KGdjeHxQTUp1RyNgbyVwCno3aVNEMEAofipWKV8+NzE/M2ty
RXRvSWpnTzk7XjReZi1WVUtgS2srP2AlbkFteHZrdkdYZHFEfEFsOEpHS35rJgp6bXJEKENBYWE0
M2pnM288JXdIXmpHJHxhd2hRUlU8WGlha2RQNnchWUB6aGx5R2xGMnxKUVY4bklnMjNreW1FMSoK
ejI3bmFgRG5MWj4qYDgzNzxmVzVRXzdwd2ZtcEphWUcoO3IjViVEYj5qP2J7OU1wbmd0a1V1TGhM
UCRSNCQpXks+Cno+SiFjemNfMU9VYCl+QiQ1NmdxeGVARmpzZz03KW8/NX45Tzl9aTBLJDNfaW89
PysoR3lmbDdxP35jcVUxUzh+NQp6O3g2VjZxMVRyend4JmpBO0coci1AKVB8OyNXfDZwa0I8SXRM
VkVRaWdmbDsjazt3flQpUiZaZVc5d2xkOEU8SzYKekIzb3lsWSpKOG8rdFE/QiZefEA2dG11PHRh
PmQmLURhTWt8Sn59MlZhdnRfS0UyfHdvX3ZpXz9obzYrfUdqNU5SCnpIYEgjUHs8MCtfPU5SNW5B
OWorRjlkel9sYyszNjhEWT57Vko2VGFAWXM2QVVAc2wkRVZSMnwrNVBSZHVXMEN0RAp6SCEpbmlI
TEwpXjRhPHhXMnxfYW5SVE5wS3MzVE90czgzeUJqaW1oejMxXzRuUHxzaWUkST04emB4e0VMe1BD
fDQKenZ4KCZXZ0F4WlNsNE5uKi0mfCVCaVEqI21lYCFvKk1IdlNuT01QVXQkVkJ+cFBxWVk7YTFZ
WGAzeXtlKGt4VzJ9Cno2PXh0cm1NbXM5cCVJTnx3VW1AQlc7ZFowTWx6OCFZWklEK2N2Z2ZzNTNv
bG5GcCklTm10UEdMaj1BOzNkMkJkTwp6N3QoTUV7PEV1aUF+TWZ8M2A8RV8hYE1UYCsocTFgJDJt
Z3FqIUM3I15wLXRrbWM3X25rKnF8O18+NlJHckNEfTsKemRpQHsjcChpQ1Z2WUZpYVpARyh4Z0d+
IVU3P0U5MzU1UkM1MEI4IXpCWS1wc3pKQFNnTHtYZ0oxMkVSJFlAKSN7Cnp7aCk5PjRLc0BzZ2dY
PGZGOSlwY29yXyRZYWQjbE9gS2R+QEZvaUkrbyh2LXFycl4mRmRjX3RQeyp2S1R6b2Ircwp6N081
OGkyQyN5MyY+NjY+eXpmNWs+RWo9Q0YrMzhFUGZTVGVIYn5eKzBnO0kyRHZDMk9QIThlZDtwTzhP
NUVRfSsKekEzN3w4WX4kZVhqKlchQDE7c3hTKWpeenM7PXAybnlCYHdyRjlVKE4yTVBBPl8qYUQy
dTwpQVVzYmw1X2hMIzRgCnp7LStCNi12IVFpa2RpKEF0K019alM8KE0yZGwlOFNKeWNXP1cmN1oj
ZmM1dTFeTitnaS1TTlAlRnd3eHFRcVM3aAp6e0ZLNDkzPFUqXmdJaUhmTEUpJnYtd09idFZ8QWdT
V3BlfmpfQDAwJGdmajF+R3ozKzl1bzFCdm00ekEoQzVkPFUKemxqX0JlZlZHKDkmaSM+XkB0aUFD
YjJuYyNLSmREKSp0P1k0KjZKRFBrO353O05qOXdoTWltJClATntCQStyVEV1Cno7Z29OR2ZqVEpj
QV48ZShgRXt3K153e3FUPyRvMXdwSV9CU2UwRTQmWkAjfFdhKTlZO3c9STY1QClLPSNjSGVnegp6
UHNnek5KWkhwVU13YSVENCEqbDtDKylpTXROcUpWT187QThkNV5QRFBuaUhQRnQxZUlkKzgzRUBW
RSg0KW5pKDUKejRLUERBYEpnNXlRSFhoRGMtKD8hZTEtR2M/WFU0Tk1GMSNWSWkyZWhjOFB1Xm9S
UmRKZHxPU2lLY01PMjxydj5TCno7KXxZRVFANilDZi1KU2d0dmtPU1phPzNzcEZWZX5IRlZRKEN+
IylnPkdJRkpePDFHajhiVGV0KT5Se095UDlHcAp6ZUVlY0VGOERgS2ZgO3U0RnIwYkF3QzNzRUBj
flZxO0c/LXdwKVY9ZFdKNW1uVkIrPkIrSWV3LVVqVjduTVUhYmwKenIrSDtSWHpLU1NfQyZVVCZk
PHhBRCp3T3w4fXREOHdvTmR1Tld0WGB2cSZhTThmRlheMjU/PEI0VDFtSnd4Y2VxCnpHMEZCUXg2
Q25uaHBEckJXKWt3VC1YYkV2Xz58MktmVWBNLXZCeUxKOF5zemwlMSRWTWAyJnd7bFBXaXtzME5e
Xgp6YG1ydT1adUNoRTBQYClCZlpGU3tKK1AoTkxNWE9TUGxXKjM7QmskJlc3M0F7OVJWdj5tTW5L
cSZPQEolRllkJXYKekp5U0FwKV59ejdHISk8JjdKOHF1UFhOX3koeU0wOWZSa3swJk1eSz5fXyNn
Mmk0ajd9P3pXNj5jWWM7aT9KS0R9CnpFQz13X0lIMn1QLWBuWXJRYmB2KWNHU2BAblVENC0jRSto
WmFrSyNGPGw2O2teYCFlamVIYEYrJXowZWRzbCRPNAp6TikocEt2THB7T0dhPlMlTlh5T2J6NTFz
RiU9KnJRR2ppMXAhUEdmPlNyQiZhd3w2KUhra2licEVkQVp6XzNoMHEKenY3PT8wKyQqflM3NnJk
WD1xMlJhen5uaWczJX5feFY4NUJDY3t5RyReSjhDOUIjODJ8IWc8fFd5SCpWO2hyM1ZDCnpCcVlk
U1gkRGpYUXRwfjRJdVMwTDIrRmNadS0hc3khM25UdikjQEVvMHxRe1JyUTl7S2FBPlpxOyVjRWR3
XnRUTAp6MSo5Y20/aUluZlIrMjRuTFkpOHpaZHdFJjEtRUw1YkBhdF5QTEAlKFM8OFZjSEw3UDk/
KFZmeCZtSH4hTWlte3cKeiZfQG15ZVpFODdoJnA2NEVJUk1zUEI7O2kjfHglWntZTDMlZnNwNlps
fVF0UWVTfU40ZVgoUEVuJjAqRj4hbUpfCnopR3ZMOXBSUHBtKEFGd1NFP08qV0N6aHBvX2VJZkMy
NVZ0LU1razgjUzVHeWlLQH42bk1sX0ZHYG9yISNCaGt8TAp6UkNUX28xO2tmTGM+QnhmQWRRUWZK
eDJxRm1NMEJ4dk1saCtCR3QoQCpDXiRqP2tgNllQRWdVfjIqMEB8QUZ2WEIKel5uPVFmLVdCWilr
Tmd1MjlLU2E/MClIS0VxcCZaIXVOQnxCZHpfO1IqKXIzZ2RqZHAmSV5eYUFnVnh1ZWFQWVheCnpq
fXE4YVpfMVJ3Wm5HP0RneDYpbVUpT0kmTVgxWFp2SnhsKDdkMDllRWg8VVBRTzh+PD5qNFU9PyVC
WHU8VGlUSAp6Z1VQbFcrLUZScW02NVh3TFR9UmBATSNjJDktT0N2YFI0dFN7Wk40Nm1TYmFmWXBn
JHNaTVRqMztocFFGP1hMcX4KekVXN0hTS0MlQWQpZWZIbjx9JC00Yio/YzlFZTIzfFd3OT5jRX5m
TDlmLVBNPHZhO3ZmRzZSSEliPUwzTy1mblQ9Cno+em1vOVpFck5nS0QpMSErMCNTTSt4U2Y+dihA
T2RyOWBDcHtxM24rZmd6QyhLc1h3N2dod2glQ05FNjw0OXhrTwp6TX5pRCpeQFRFSXA2UlE2ezJw
UFgwVStFSDtuZSp4JjBqTzdYYDV9Xk44I3lkM2F4LVNQMjktMG5NM04oN29OUEkKemt4ZytJMHcj
Q2pIezEmSm9XZUJqdHF5K2pjZ3lwPkg2ZFB8VCtPcyplNCt6WGxDQGBLJnV9b2AwY2plZGQ7Iz9X
CnpTUX50MTJKd2ZVM1IkO1dOUGxPJk5+ZlB3aEwkKlV5JFBgKSRpfT8pdyo9OD0wTTNeRzVHVHNS
NlBMS3MwS21pagp6ZHYoLTYybW08PD84UUpKd2JuenJRMTIpS0lLWUJadm1jaSFqRDxCT0hOV1da
XjMtNUxxRkpfTFVUQ01Ub1pgNGwKenNpUnZUeVpgTSV6QT5JcWNQVzQ4SnNmP08lTm5wbmV5cWwx
aV9qeEhtPXltKDx5cjdmamlKMyFmVFoyRSsrIXNmCnolZ2UwUVJobl8qKFpOKXVsb0VyPEMoXmNU
d1F2Zk1SPHJlc1RJYShrRVJWZU48ZyV1PEYxcHMxPmVvZGhea3drTwp6bFUtP0F5bDFUOW5hJHEl
aFVQcnE8Y3EzaSlHdGUyPCkhJm1ZWWJjJEw1KypMX1U+eUc3Z15VP15gPUZyd29NclMKeikjaHR1
bEpHfHsoUm50dVUjaztFNnU7PCpSIyl+RzBCO3JncDUqeVpeZnxVT1AtPFY8KXl3PDV1bmRUSiZI
QWF4CnpfR2dGI1lMYTxwU01mMF9RUXgpQTBIO15YWXFZan1PJittJnkjZHVAQEwpU0N2O2ZCK1p+
X1FNcWxzQyVUbzdPZgp6TUUlSEpXUF9VV099IXQ+VVpeS2UwNzA7OyliVE85QitOXnVSMH48R1BN
aS15YlRQMC1ZUFhCfFE1ckNyeXdAOXgKelQybGxzeHJSZjZKYXR1b157P1NZbEplVU94KWE+VVNf
T0JIaWdmdX1rIzhPJXhtMUl8JjElVkkhNTJBI1QxRyF0CnpvLSRFKGRfc0stMkBgYnhYb21gS01p
ez8lYEhNZCUpK2J5ZntVXyEpRkV2RDVKYmthSD03XiROI0NeaVU5WikzUQp6OD1RVGA/YUh3KlVP
V0BrY1pWSUQwWUBzcXtUWTE1U2xlTHR1SyhzfHdWUHkmdUtpRSU5a3l5JHVmYkxkUWVIaD0KelJt
SEchejhGTFd7YlkjelYjNiFDZXg1aj1GMkdQfmtgOHVkYzBJfU5xajJQWSE/V3srI2JgYk5zO15w
U1U4dWRUCnpQd09CSElAO19DPSYrUClzVHFAbmZFNUIxc25TOW5YZClFX1RmMDF9PVNsRVFOJGx8
bmVFPCh9MClgMyo8bmJXdQp6UkdSPjwhTEVOcUduTy1hRVpeQTR3aHpkWENpS2BQI3VOOGlpTV9e
Q1lqSHNyTTktMlhwTnk9eDUzMD1iezw8SE0KemNMSkxIP0tvbzdBMmoqRkxmfn5xSlI8WWQ5SXJo
S2cqa1UjZCo4aUFjU1pMbHc+ZFZhaG01K3VNLWtoK05KZmVOCnopVzZzQ3tZaWgmZDNMNllWZ1J0
OCtzbD1nfDhXT1BoQExvaGBqLUlReX4+IU4yfGt1e3hlSj08ZCgzZzAoNGNYYAp6SHtMJDtpI18k
blFoWj97QE5MNFVQcStaYFc7TURxPTh5WVN4PHwmVFl2Yj02M2VEYjFkO08/QG5qSXtUZFZgS1YK
enpwSCNKM2t5d1BzZCplTSpMfjMjcDFrdjVVKzdhWEVsS1otNCVaWTE5VHFWfCkhMUZtRG1fbURQ
JURFTVVzKm1qCnpEVWchSCQzIUtWPXdRalZ4V1Q1ZipWR0BuWChCWEc/MzJndlRnKldsPnk4bHI+
KklpV2tiRTNqUzRSUW15QSNDIwp6VCsjckRSM2I/TGQybHJFKXpASyVSUGZPJkVhakIqbnNgX355
cDAmbUBwfWl+WHVPLTg8THhZdiF7aigybWNoJnMKemV0Jn45ZHNQYFViayprNGd0O3JjeCQyNE16
IyhNIWY7MmM3UXA0WTtzSHBXTDktbEp3RG8qcTlWPyoxSHh+biliCnoyZCQ0QDduU1ZmaH1AYFdl
Yj5Hb1ZaIUJMO01eblokRTMpMWEje04qezVGX2V6JVhaPjM9Nmx6VnxOdCp5JjUlfgp6O3NWPmZD
YiM7fWBzP3p6e3QxSTZWcVFpemUhTTl+UlVBcygkUHhMSzM3a1haTmYzaVgmUmk9LTQlNXB3PjZn
SCQKei03PEdPZl90M31sekFKc3NvZyNYX1FRPyM/SU8ocDYjengjO3ZBIT5WcjtePmFXcWJwWlg2
WDRCfjxiQVV7QkghCnplI2ErNypXVkRpdFNTVklMQ3w2NiZ8a1NWI0k+Q30/MXw8MWZlMilHXmll
UVdzSGFLKmJxSDNOdjlvNU1mITAwQQp6OXtwWUVMe3VqaVZVekNNJkZoZ3xObHEoV2V0Z3JQc1RR
c1lBNW1iOW9YZSQpJk0+Q3xxQm1PbD8oKn1UJSVCbFEKemtpdz08WWY0SiNke00rKkAtT0VQdGRI
Qi03NVRuSGxZM1VVSzQlPGVYSXVNNypKcCl8b0E3ZipPUEc2SDtZOSVzCnp6JDVZSUpaO0NsbFN9
NWIyOF45NkpycVJpWWRWNSpnT1dMM1BCXzxkX31+ZkQkUTZ9WSlFWDszSSpnak15VmomeQp6TE4j
MyV2QXk2TD9XJVNLdEt2PjhfYCR0UjhHZHVePVVxR1VaXmckI0w/N1FUb2w4P1lMUjZDcigqVSVs
MzJ1KzQKekAoUFNgVW9hS2k4WT9FRGFJSl9xX0czWDtjPXJRaHd7T3dMWHZxMUZPOVB3bW95O21r
UDY5eEZBZWo9VCkmdGxKCnpiZkMxNWVtZTNwMDVXbXNMQVhwOHRNeShjM2IpY0QwS3BVb3N9IU5L
OUB6RE8lOUtyc3lZQWlSZF5yZDVDK1YqMAp6UEV3VnM2VntOMVFnXygoWG4wcll5VlNrdzdsXjBS
TzxgcGI9N1V5ZjlsUHBBQyEtUH1NYlpgR0FWeSY4K297ekoKekw7NHFlQDdWRllNZmdOSTVFMCRA
NChDQ3xKa29KREh1a3dTTi1kRHdGZX49d19yT3h1KklBWCEtLUdxREUyK0JUCno3bVpZNExNVCpj
PyVQY0tGYVc9aTdKJGQkPGpLeT9neHhgd3R0Y1dSPXklPG4/TEZqOFIwV3NPckZZJjY/T3dBSgp6
PmFFYip6SWdwbC1xNDM4d0FYJTJpej1XRy0kaVh9bil6bVFAcjQmYitjZlJpTWtBITNyWlczeXN+
K1doXmdwejIKekF6dX1ucXlqNCYhWGAza219MGo1RTsxNVFFLUhYKVAlTz55Iz82VlRfPkw7Mygo
K0lJRmx0SylNTFBhQFV7TXpMCnpsQGoxaUF5anNWMEtVUWRKaEtgMyVCJihXb1Z2JUtHUklLNHEp
cUFXWnBDSH41dSsmV0tDSnY4YXwhUDMje0N7RAp6Nmg4RmM1M2s5RTMmfSRQSVRgUW9BfFcoU0Zi
TWxaNChZWnYmKUVmanAmbVBYRT5FJFl7P0V9eCltTCVNSH1JUl4KekhIZmAoLV9IR3QhV3t3NyU4
QityM0Rscjc5ZmVuI1JNfUREbi03I2BAfHNsUmBGU31UeCthQzY4SnQxNmwhVEZuCnpoWkl9PS05
S248enByfHYkPF9CaGhhe2d+Zm99OTE7clRpQTw/RzxQOGVpfkE7bnhTP29TflRKbWQ4US01PGNF
aAp6ezQhUFpHV3pFNnRnKlh1R21XSVBFdEVLMFFQPlMjRHpmcU5RN0MqUGtCYl58WDljQiNaalZa
dGVaRCQqZml4MVUKemo1YEYmelB5dTlPQUJOYEh8bCp8V3w0VmZLK3hMWlYjfGIqRzxZcEY9MExn
P0NWKEFTaHhocEZlME1aOyVyfGxVCnpyeSFjakVwN00ySjBedXQlbn5KbG5kQno7NStTTVRTKCN5
UkwySD4xajc8Q1paQ2lHT3p0RnNINSpZcDNZfk5gVgp6eyk0WT5yb1BjdTxYVjdtR2hnezZpejRC
fDl0K0NIcCpRSkhFc3JvZWFaWXVsR05JWkRtTmBBQTJSP3RGVzhPTyMKelFTJGd9WXcpfDlUWntn
RHstP2xWNmIzSXdmblVKd0UxJGo+P21HNEw0WDtsTmBlOSYwRSFZaUk+RU5oYGc1KzE4CnoqUEZX
dVZ0TyV3SC02N1V6VmZFZTBxOVZUSTE2QWMlKlkpVGFMdXpNYSFnPztkS2QjUWx2OHd9Ozs5fmdp
KCNrewp6amt+cEVvPX1IakFUZn5lZGs9QmFyNXRuc18qWTZMTk15Mi1acDczO28tNjYrdTtheEtt
fD9ZWjFuVT5DaERpM04KemZjXzRtcSE7Uyg1K0dLMW9NLWw5UGooaXtON3dvJU0yK2xOMCs5dWgk
QGs8LW47OFI4MFJyZkBAZnxwUDtuSUVjCnpVXikxbHR8K2pVU3FkbCtxXzhHUSNiWGJrTzhlQVlP
S14yVWRCX0hUX0IlPX43T0pCcjkmaytKPzFCX00zbGx0eAp6IW5mKE11MzNVJVM+UTh3WXRwaUlj
fWhHVFZDX3JuQXA1d3NHSyV+NTh2Y1MmaGJFb0dwJn5MYkhqXlNhbWFoXiUKej1eVXVnWF9kU2to
NFR8dyVoY1g7RGZlNys8RDZeT0FxJU59MDMjUDNaS09NbmBVOS15QXFXSmdLcTA1SkJCNk8yCnpy
a19tSihiZVlZZm5lSUJPWE1tfFFsVmF5Rj9qVTttJXBeeEVzWjhvb3h7cU4/dlFlWHVub1NGX0gr
T00hdDVweAp6RjVgazAyZyNoOFFIb24lVHpkdEApRjBYNWsxb3tYQlMyQ0k7M1ZxbWlCVyZPdyEp
R2B4dXQxK2pFZChmTFNHMj0Kek92d2tRcC19UGE9dzFlblVlPjxZKjMtX1gqQj12RTVuJkN2bjVE
VSkmLSFHTztiWWl1SktEezZmcyVQV3tNTlorCnomRkxYZjdnbmE1RlFpTEBGM0RRM1E7Jjl+cE9t
e1k0Sk5OWjtNUn0+Mk1KR1VwengmbkIjQ2NrdCQ8IXlnUFdWUgp6d0khKGlNZ1I4aXRUKjRkIzZm
SHpkYGhEWF4oKzlwPzBCblNeQ0MxOyYmNj4wO2EmektYZTNyYDlFVGQ1KEYmKWEKelZqRyM9dVVm
N2oyKDc9bTJjfG5Ve0pgd2pEXyUhSGt6JnlKKl9HNkskO3xQanoyRUJgIUBRRlM4XnB1QUArezJR
CnpKVih5OUIzOXluZXFAM08/I0Q2MUB8Qig+TkVicGFeXzZTYHRpI2t7XnMkTmswI3U8TUdYY19y
JDd6b0xzQ3czfAp6QyN5UmdEYU17V1p7REJLZDtFNSR5bzQqMjlhbGpsbUZ4WjtLRCpDYUtSLXw+
NWlrNV47N0U5bU4qUHdlem5yeHYKekcjdlUxUV4oKX5iQWd5UnlJKUdyck4rS1BFZ2E4Y2Yqdyt6
eEBjTUx0UEVMTWctVHFNTVBPbnlMcDY/ZEomb3BvCnpjVzhoVzsyKjwrcUM7RGlLZnFga3JqIXkj
XkdJK1d1V1FkUmlPTylNWU4mWjZGeD8jRkxFb2wldjgwYjUwKGMqdQp6cSs9SWBtU0BaZ3pwbTs7
Pz5NaFAtRis8e0FWdWN+Mks8eWtZeUEkWXtfeSNrQyplPXppfEQteEs1bilkMmdxN3IKek4ld3Ni
NilJaEJoND1PKkhCNkNCMzJzOSVkLU1vKkUoVDNjMD1xX35qR1VsVHc8dG02Xnx5UX00IztYIUFW
QnU7CnpRNXhIZHdoTWdOaHdAJndhI2ozKTc8Q0c9SjhidDRZK35hTDghcFEoMWBqQDh4c0RkeSQ9
R0hDd0YpOFYmcTtTRgp6NHNzSXtSZVVyKHVlRCM4K3t6eUgrTWhVTC0wP0AwSVdmNGUlWCNSTyNJ
P2g9bmNDMDczVj8ofXI8ckx2KE1zakcKeiVFdUojNEUyZihVKm47K0QzT3xUciQ1UnteOXBoNTQh
cjJSYiR4aS1xMmxuXlBvQXFZajUkQkBgIy11S0YoT3BsCnpYfjd4MnJmY2FkOT4zZyo7c2daK0F1
fFRBMD5yaVV7bT5PRXk7KU1gMD0rfENafnYkT3tCQ2Ike01XdHJjKUQqVwp6OW1icWNib1owM040
amNNe2xtRUJ3OWU/ejU9RDh8aT9FPUsyXjdJUDgka3VTd2QlfmxMIWw9RmB8QSU0XnlibWsKenJ0
cmkjeyFWQGghcWw/YnlBZUlOYHcociVYI2xoYTVBbDRqaShQdXBuT0lOWUVeSCh+NXdQPF9hbDZ4
cE9WM0FfCno5K185UVg+WGBvaTZUUDNTQzk3UWNHdXBvKDtHVk45bispaiE9Rj56REB9Qm14MUAh
P0Rgdl9UKSlBbWMqbUZBYwp6JmFVXkJ7ODIrODc9cypkOzY3bTVKRVhsI09sfiFKJFFGND0yYVM1
MGdEWHlONTNoPX1ORFozTWY1SUZ6ODNRfGkKei1TZENaKXxmWjJSSkRHMHYyNzs/bFlJc1AqdzQm
O0tmaExPOFJec3l6dUk0dVJ3XkN8e1BDd01ePH5ZdChoQHVTCnpMRDUqbSprPXx7VSRQWFN4fHlv
RHV7dW1gQ0NVdXplSHAlViotXlhyPDZKOEQ+fERzKmB+YlZUcU4mNDBuSzJZUgp6S198fDhnMkd3
P2xtUG9yR3hSTjN7SH5zRXh3NSopXkBmKzNRaWQ2eEZmcT90PmdyRDBfI0IlbnQhdzxXZjdDckwK
ejxuaEdwO143Q05ASHFpV01EUWAmOUdjRGVeMUhkfEx3JWwoa1AkYlg3JSo/O2k1Xj0menEpQCgp
I0ojd2JASzl0CnomZ0BBdGR3VUokViQqdXF5dlpjR3V6PigyIT00Xn5lKytkLVUtaUQkamg8Znsr
RyFGdk8tbiglSD1DPjMrY2VheAp6cnJGbWVTSDY1WXhhOEtHMk56WlVHLStWM1N3ZSohMW40RyRa
QTwlVXZDck9ieFc0PzlLUz5nSzB2LSNGWlQkJDEKemVjdXhHZmdJV3pPfTZrKG5jM1hqbjB3TSp5
d352ZiQlfSFIdEx4MVZXPDU2X09Td0kye2N9UTt2YXBpPy1HWkhHCnpNb1pYdT5zUFpjRH07U3Ne
JkxeOEs9cDQ7RUEwTXx5KXpsV2h8dikrUHlKa184QD1EPz5hVDh8OU94QGU5XysoYgp6K3FLZXI+
S2JPYkV1PkFHbUErPnYpSF9hcUdUOyZReD5yI3xBQHx0bFoyYSt+RV5qPUZlR0d5PVo2UmtnK3tl
NGcKek0+V3IhYyUwS3RBKSl1bG9BS1A0XkM9ZFdAXyVaJGBgYU1nLWRJc0xZN3JqJUp+MHdLcU4t
fE1TTHIqaCMlZ1MmCnpWJXx+dm5rYGg0bWM3TWdBODJLbF93ZmFjRlFBNDh6dDcwazFeOz4/Pjc7
VyprYXdebS1NR2BjWXx+WVY4WEhEaQp6S0BQZypANnZgMnd3Mz4hUXN2MUZQbEM+KGNJaGc5dEY8
d215fXA+UyRHdGsmO2BUUCRfP1I+SEpDPGlaOXRTdjkKek5oeClSXnF+SmB6VGQqVyhkJTFwaUt1
JHRSUHxZKkEpIT1tPUZeUFNMR0hGVDczV1NYYkl1UXtJPjNMcEsjZCUxCnpRayltJDJAdUxPMT1o
flMpZEZ5SmcjfXAjVUVNKjhEZyFyWW1wOHVoeiNUaEJBandCfW5tJDxxZTVkWHNpfDJCJQp6WEtu
UU5uSWNRY2NObUpkTjg8eGhNdD5fOWVHR1d8V2Rob0trOEl1YzFnSFM5YChmVDRvbmNEJEpwNlVV
Klk/JHcKekdgNXNnV3ZhU08kfWpeJj52c2NpJFlodXAlM2UxZGxAeSkoNFB6NDBBR2RaSWFFbT9z
QFJaU3FAI05RZHk8NDtaCnptJD5gbyRJcThiXiRYPF5NQlVnPDB3M1VTdiUkZXk3cjFOUGZYSilz
VXVBXjlEYTUhXnQqd1F6QXRFUU43M1BRbgp6cDgxN3VSSGNUQGYhZDcmVWEzZCVTIUQ+M1ktTmVx
P31ySURwRFI9XkNWaFZ4ZWRUd3xVQTBSRXlBQF57KnZFOWoKekAyQ3dhfEQ7YWooQG9NVkx0RXht
PF5lbkZybz47JmNqd0h6SmRWMVkhdXlpTyRUaHpOZVI7clRub0N1UGZJRzV3Cno2ZEIzWGNYX2g/
QVZwZFlePEl5ZXgrdSRZKDVIWVgkT0JKTSsqb1l8QEt9a1IwbEAxbXJ0JW14MVJKWmwxOSV3Rwp6
SDJ+T0ZiQjlQakRDfFRJQXtRP1hfPTBieU0tbGZVSV5EWDMzK1Q1MVdYe2MmI20+M05YTSlsaShv
JWQrOVBsc0gKenZtYChiQFZLI1UkZmdWQCpZXnROaDk1Z0prNnVVKnBZYHBIZXNvVXdpfk8oI1Zr
flZLQzk9KEBzakZSOEE5SzZECnomWjRZXnF2UmRxQ1F8Rzh6THZ7a0UmUiFjWkAmZCVPWjNYOVZR
Tiorc0whKFRHcnpqOGZubjcmQ2RKTV80KkhmRQp6Pys7Tyk1N3YrYkpYcDhJI2MpX0VSUU9JdzI/
fUpkelA3ITJMT1hBfW4xJCklSWtYT1ByVVE9K1VqYCgzYW1HdCQKekozK0RhRVVwO0FUKEV6PGRB
VSl6YUx2KT91NEpNT0o1YXVhQn5FM2F2Y3teSTBaZ2pBUnNDcHJMUCt5SCZxfT9RCnp4KSooYXY8
V308UnNBZXwxQTV6NTFJTVgjMFlNUHdtY3AhbGJnOHB+NDhVY0xRd0o9cGVCJD5faWF7bmw/VDRV
Mgp6Y15RYzRqI3o+d1RHeFBCWWZJMXJgMWYqZEQzRENhNTxwMXQwTXg4RE4pIW1jdFh4TEJ1Jm08
JmZkKVdQWnFSeVQKeiohJXBkMW50dz1xeHxKOF87TjtzdWlePCVBTUFTV189Xnl5bnJoYjh2LXlE
O15vdjc+PG9gVkFLMU4pUiglWjxKCnpjN00kSUlHKCZjREwlRDJvQHpKQmFgR2FgOHx7QTRWKnNY
ZVlUdnVVMTI8cUlsKEt0YV42eyUxLXtWNnR4b0Q0OQp6WD9XeTdVK1I+VitnQk1hYWlaeyEzWSth
LSotWWZ2ISVKQE55NkgwbTZpZ1NmKlc0V2VtV0hJdCRjM0V5SX1XdkAKejVPPEBCRDJGMl5HKykt
N2xYd3ZuIzlHXlNKQl4reSFwJHpkbj5jcGQrPTA3O3kpdGFoV2BxeEopTE1sN1YjYGBRCnp7cU4+
TTMxcWNNMjhrVzxQcnlCVlhKS0ZLRW4/ZFc9SjFrS1ZiLURwbnZRfHJrUUVZKWZkdm9rN30jSX01
UU9jPwp6ZWg0RkVvT0daJWxNbGZja3dlR2tuI0ctQ151UyU0YVl+anRDZ1Q4ZXUlfnFudjRsUXFu
eEkwUSpAIyt1bUBFdnwKei1QTTU7dG9YXj1jbWdvMGlrdGdgSDUqMnBtNTZ4UUdZYlBGdmFLbHJu
dVN7KFc/eT5xLW1zd3xRKEcmdzh+a01QCnpDayV7LT8/dUNGOEcyTColPldWX0gjOXBiWWV1b01J
fVQwcDh7REc5SHtOMlYoc31lb1BFUDhpbnprdUZvemNEYwp6MUp6ZGomYmZKQkg8Z1BSKCV7cFo0
SkpNKV9pdE0kRUgtKkk+UztLM2J+PXJ4KEdNYjB0cWxFT1M8eEh0T243VygKejNKMjFHRSZsM1g5
a3thUnI+YWlHSl47OXFlaXMhUEkoUj4rdzFsZ2EyJCR3OFB5P0trcWo+TiteRG49Q0wkcWJgCno2
ZyRQSE9SUy1edWlXdmRWIyFXPSp7VzAyQFRlQl9pQEtramAlVzJga045WWVGM293d0VEdD99ZlAy
Rys8Pj5taAp6S0heMXMpOytyIUQmKz9mLVk9VTczM35ndGZjMX45MkBAM1BDSitge1otYVp2IXpl
SVc8cjt+STl3KUF1OXp4SWAKeksxUkNKNn0+TmxvUVdkVzF2KWcyNE09VVEpejt4RGlNZWlRa2Q/
Z2l4RllFeDNMI0omMG9zRklPXipOZSVOZSgpCnpoKUxZJFhTPXNLVE8qUzRJfV9XYEQmKVNGT0FH
X1IrMnNyQUtFVVJ5dXxkd3swWmJCU0lMeWkocjAxUFQ2fm9PWAp6QCNMaE1fWH5FJGJTc2ZxVysw
KXJwdFJ3fjR7Kl8+NCVkaSNyPXNpYmJlOEJWPWVRNnNLRTxNeGN0Ti1LeHdJdEwKelEqOFBqJjVs
d09DSj4tKWpuU1k5Mk57JFBzdmtDanIjX1I8MW9iLSpAKzI8Vz51bUNIeUhtZFpvQ0dBYGhIP09V
Cnp5V2J5R1RCdyhleEY5aCFtUD04RiU2TChyb0NjaFk7cjtSRFRpKyo/MGNGfThjXnU/K3hodTNe
VUVLY2wjNyFBPQp6VW8oQWlNKlNxOUNvfG0tO0ZaeXEhcjNySD0pKH1tRSNYRnRvIXEjP1RGanU5
Z2dCVkVCelBnKUI9ITZVciNWNT0KelR8bnpmKStzelZVbmNwcz9KY1V1OH44QSV7UTUmYyZNcEJu
b3JGXmRqNHA9fDIjKm1eOUJgaG8/YU5lVTN2Nz5XCnp0bDdpNl5nNWh9XnYocjdlWTh3PEhgbG1k
NlJ8K3VQZmthKDkpRkpfd3opSG9UbE5EKy1RbndNNi02V3N5bjR0QQp6KXd8SzI4e2VPdWYxM2Bq
OFlDSnAxN2QmV2UmdT97UTg0Kl49SVgre1oyTE9mSD9oZ31PeGtqOXRvKEImYyFWLUkKentCJmhG
c0lpbj5acVc4QGJxb0s2K3hNZUcpVG9hNTs8eGhWNVpMdCRkdmRGVlVUUVA7RiYyZC0lOU52TWZ4
WSYoCnpHYkVNaTJUbW8xT0Zob0k3JSV3OFBga1V9azBhaykkRXdCXjc9Q0drOERGc1ZHeFNDbClO
eXVpUk5SVl8yUlhrQwp6WlYzKU4/Wns2SlU/cXlkezBxcGApYzhHYHpWVkloPzFVKSNrJFpIPVpW
OzJ2QDRwaEgzKm1ZJj9DPkFXP0tUdUgKemZ2QU02VGtHUVJFMzRDcDJVWGMwSHs+OGlmUihCUGdf
fDdpTlJ+eFRCZihMNmpgJiRYTE84bzMwVk08THNNbSRLCnotRSQ9TiM4NHxyKzgmd0Vxc3Yka09J
dCZ5VCt5ZE8pWWs3Tz00aEN8O0ppWj1pbSF3NXlmI2RkNHchcUVhaXRiQAp6R0pJPUg0KD1kZ0RY
QHFPYWA2MVhHfUFnNDZ2VHMkTjxHdXBzYH41UHF7PTctdCkhPiVCVyk8TUl8YU0yJW52ZTYKemlL
I3NwVm5fM3Zqe1pFdVduQVQ2NjArUTYoMC1xQ0p7fChGJDdTYz9pbTMpV2pmNVlxR0BKdXZkXz1A
KWEtOS0oCno5Rnw8bHhqY0pEYFdaNTh0TDtDaEwodVR7e3BZSl8tZkhja040c2Y9NEZlU1lQKj1w
XklnVTthPjhiK1VeZH1+Qgp6OWREem9hWTRrNGFBe3paPzt9TUBsO15+RFlGbk5FYlVxRFNNM0hP
dUAmazNoRWpLUyV1fj40bGxMNGZ8ajBoPnQKenlNSUs7Wik5VWU3ejYpS2wqQV4zKkgkKlNAMGRX
T3N+ODtwIUFUVkE4MEBNKGA+S2s5PTkhVERrJns7XihCe25WCnpfPjhYJDVuWSYmVHtuRX1BJVd0
PzVmPEZgR1BGdjtGfDl7TzNZR3t3Y0hRZ2NkQWg/JjU/RXh0NHY9fmsrakc2YAp6Ql9gTEYrLW5U
cC1IKFhHSn5jbVgqVn42eXVwdWd9eHVPQU9WMDFvRFFGbmBPMW9mPyswazI/RWRxX2hCO15ZTEQK
elV4O2dabUJULXRDcHw3TnJLYXwpRlRZKX1AQUpMPiZndnEkYkdsYzlDUFRwZDBVRClyMHFBVEAl
eS1aMjBJIyYoCnpVcytPV1Z7TkYkMn1YRXomck5LOEI0OChabF5vSytMamdZS0xzPDBzbENJITlJ
M3xlKFYqT3ZeR0BkaU9XNz9gawp6X0JQSDUtZ0MmdFhvPyhvOD95ZFJiSylkakhiNGxodndlWFQ0
MDM9dlpWMH5pZHFFUzk4MkROcT0hbzxWNWFESEoKejNMM2FQa1MjTWN1b1FJUEpvfClfTFA3dnB2
UWgrO0JiPikwXzl8N3xsTXU4STwrdlooPColZikrJio/VTF9TytMCnoxO3x8ailBNXRaTjNNfC0r
NG0lUExLTDI1YyFXWjFieCNpUVdFfEFKZzZ3ZTNyazwoSjEwRlpzTyRoc1lsNCtycQp6I0prPlNw
Py1HSENrJDVMVTNRY2NETD9CRCFsO1MlOz9RdWtTVUc/YnY0Iz5KUEk3YEgyfG0qWFIxSmZWZDE8
e1QKej1FO3tsSG1lO2V2PytmVEppSjgwKnFjeS0rTCgrfTUjI2MzSndmTFNib0BQKGo9c0F4NXlr
Rz1gYkZyXiZ0KHM7CnpgSCt6K2V7bjw+YWJJbCUtUVlZfmNkdEF2PVZVZDI3YSFgelI7SSk0Vndz
bkJrS3pPRyVlJkZ4WSQ+JntPLUk0Xgp6SGRhN3Z0KUs8LT47KHRrZi10NmRJMCskRTBpK2ZrMz5l
ckwqQ3t+YD9laDV5RDJjNVpIUThEMEFpTiZ8T05NfDcKemhKU0NfeWMrdWNmVXFXWGNUd3YxIWZR
Sy10aFh3SjZyRFcwe1JnSEg8dnVKcDMobCp7ZGM8ZVNDSXNtcFIwXitWCno9P2heZVM0Iz9JdWxs
PmwoaXo9YUo+M0txWEghY1lSO31rKnY1ZjU2bmQpXzcmPWFGQXpVPz8oQlI2QXliS0FHeAp6a1oq
KWorYlFiODJRd1M4WGBQXkIlJWEoeGVDNXZgIUF+dGlBPUxBbXlgNFlGWktxbkl6Njl8bz91TXl+
TjU8XmEKenJNJG5teF5iZjghYDU3JllTSUchViVYSFpjN0FUSj0qRHk4bjlvbnwySGpeR3IkeGpH
eFFfQWFEflQ4ZSM+dFEpCno4M3BLUCtnRSlATDFtS0Bjbz1PR1U7Z2dVbCk2cEFIJFRYUlFXalp0
YDwhUURRSVQ0clBlQWgoNU1TeSNmfSFBawp6RHRGbWoxaFZEPHdySEBAcTt4QUAzUEIoKCk+UTJt
MmkjfUJMQll4bTVZLWl4and0RCYzI1ZQREhgYUxyQ3R8aT0Kej4mTkx+MFpgc05gRWFTYURRfGZ2
YXlSYWd7S3haKyEzRmxHVVlmMTxzYCMpYGZ4PFRnUjJKK3hRNSs7eHpuVH10CnpiTHM1dlhmbiVO
WWZ+OGplZyF8KDc0P3FWRSV9YiFuNGFFJD5YditzSlRqNjBKMGo/d1d1SGtPUyM7MyQlXyVvdwp6
YiVVKEcpIWFpbWFESW4zWFpkTnIkfDl4eDhqTHZrZVRnR29GfUcqJSZmYGhFS2VINTh5SzV9SFF4
I0BNQ3BSKWkKeikpV25XNnVFOSNTRyloKnk0TDJSTSpJcnpmdC1jUGcmbGMlNkg8dig4NWYtNV9q
SjJCJC1gRjlFP1RAQmRifihKCnphRXhDVyMjbTFkeV5VTUdqI2hjWD9adDFPPCU/Zn02QEJyfSlR
Rj91ZHpuIVBPYnM1RnpqVTxSQkNrUjxVREQ7egp6KlVQJERnS0BGcXBTUTdXSzZMbX49UllrS054
dzBfdCZqVWMqZG8mTTBCaF4qQkZqd3Q+ajhAQWArc0p8R3pZNjIKelhJfFI3LX17SyhPWWEoVzx8
d1p6XmZgOFdPbSUmS1lWYGI+disodXRsSWB6PiQoNFFrTyV0PTk+ITB1NiVkZnxECnp7THJLV3RO
Xn5Pbn5zeHZIWC13Yj1kLVQ+STImNWxmekEtZyVHdVBoX35DI0MrIThmNGArd1JAUkhUKj0qV1BO
egp6XnN3SzdFbE9MQGlfWVReYWRiXzU+bTZiK3FobWtVNT4wMSlqYzZHWXhwZDB9IW1eNGUwfn09
ZVpEemtPI3RJT2gKemJxKUx+JHU9cTAwPnE4fW9lV3diPiN5ZHJwPnxpU0Jtd0R1MV43SGRVP0x1
UFRwVEIkJGBHZGtGe1JDdWpKOVJgCno7P35VNF9zezQ9OGFpPEg/cSg7KzIpUHwtYmB4KF9FNzcx
ezleeTl0ZikreWFeTSYtXkJCfnA0UG49ZzxiKz9sZAp6XmxeNSFGNGNROyNRaGFUSSRJSGhlMH5L
SVdYdzlfJStHSj5uNkY1PEhedyZmI1RoVzx5Jkk2KWBnajVnd3FRUzIKemxfRWJXJmRAY0RlM2M8
VHh3a2k4NUQjOH0oZzJAN24rMnBqaipiIz5DZDlzPThSWEcrO1N5N3RjI1UrK19FbTJLCno+OzQh
JFVtSGJoTzQ4JVVTN3x8RlFmP0IkezNXRT1LSEclbUNHM3VnMT5jeERKUjZlXz1GQGdreWB4XzdP
Zk0rRgp6ajBfLW5aNH1ecStzSCRFP3F3VHtKSGVIbCtPcl4hPm93OSgjUTNKd3Z7M0otYmhkNW82
KnQmXjRvWVkzQWx5NCgKeihOK1A7VFoyd3IxYXQ4QVBybXJCS1NEY0tzTHZ4JnBub2J0ZnI2ZF80
QEJIclp2Z0NMPE4hJlJmRmktSS0pQ3k3CnpXSW8kVnhHN29ERHlEYVA+cG9DNj9mOyFCaj1tQFQw
ZD1vP0p5bT9AVFlGVmgzek1TPzRZWUAkKChWX1NHem4/WQp6NWoofWp8Qn5PTmB2czFOWVckZldV
TnhXclZtT0olYUFZNyRVTHJQUGY7PXwmYmpFPmN4TiFkRl9JK28wYGljKVAKemIrMWwmPDNzQjJH
R1RmOFV1MGd2ZGc1NGgzeE9iak0jaDQyPXMrPjdJLVBEVTtndkhpdVZkOSkoJn5oR0o4Q0VoCno1
fEdXZ0trd2U3N1IybkVWbmFXQHtneFhBcFY5bllpMG5mVztPcHYyMU9eMGNaPTZNOGNXJTxiNUUx
JG52RlplVwp6OG9jIVVIVXVCWTVIfil+dlU0YT1hdktJQiU8dWIjTllsRUlFQVRDODxwa0R5T2hB
ZihlcSZEKi16NWNKRT0lKHIKemMtMF9jPlNsIXt2YXlyJDhIXnF3YFZ9KGUwdz96Qm8kZDRoVHN+
bkxJZERvXyE1dHcqMWk+TU1gT1BrZEhGNFN3Cno0dD17KC1LUipLbS1DTUc2WStsNHAxJGBvNmFF
OVEwM3pKamVHcTZDMHtuNmpMXnskTjFGKUJSQjVfXjgrOEd7PQp6ITtvMDFxRyNSaFliKTBrPypG
N15eSGYxKFJfd1ktUzRDRzZKS3o+ZGk+bWtTUmFLSyNtdHsrUUshbDNlaUsoQ0IKeipzKkdobG5A
SGVoV3BJU2MkbCExVTgtZEV5Wis3VTd2Vi11RyVjVjY8Rn5jKENlSlEqUXpNJS0yK0hlaWo3NzBh
CnpzNlQjb1J0VnE+eTw4NjJGbj9qNUFeWSVKUX5yYFpNKkRkPVp8VHtJdnJOd35taFpwZyE3WUVR
a3l7Mzc+JFM2eAp6ZCtmRnlkQVZoM2NaM2hJSz1GdkNhajYhMDB4VGhEd2R7Y0pqbE9EKiReLTZy
ajFaYGZBK3Z+cGBQRTJEUCYlWF4KelJaZjxLSVZ6TmM1dFV2K0xnWj9TcEE8UWU2Pk8xT2pmZkM8
alI3P1A1MG5uOTwqMSpxJmdZcUBlZio2TCstX3MtCnpXe1Q5aG9GJXcoZmxmbFlCdVdqX2JwKDZG
NHdYSWByQHF5Z0tkRGtyKHFWcypgSG9XUjxpaVd9cjZUYzxeYnVSZAp6c1NuZX5EKXR6N05SOHRA
bzNKRmZjdHB0PlNEXlN5M0FTSyY0PTtMa0VzVHB1ODd6MWBlc1RYKUNjU1ZTN2REKF4KejJjRkEr
bHByMjVkM0dCKWduMFF0NERweGZ5b2A3X1lSfkBHclU9fCNKZnhUOHRtXmR+YihrPDI1cmtlTkl9
MmdhCnppNWR5SVE0QHwtZk9xTSZsQGpHJDJ1U1NpeEFwTFJvY2h7Iyo+VHFvWGEoKyVtb0ZmcUtG
R0g2e2twJWdNMWl8Ngp6K1U8Z0g0Szw2aHJjZG07YHhkfURkUz9eaU0xVGFoQl4/MkVxLXV5biVO
NEB+aD58e1FVKHNwc3BXaUtyQzNEITcKem8lTG4mIWZuVSVYY31JQkEzPn4wSDY8NDZEQVdAbnBm
UFk+KzA1ZzxpfF5ldGdiPklTcDAjbHYha3UoV3o5Vm5ZCno2VXIpaEkmNW4+bFRTJSFhWFdwaUBk
JCklQjIzKGl5QmN6d3wxUVNrPGltJWd2cnF+UkNETVY4eUNVYzNPakBSZQp6R3NEVCZWSUU7cVND
NldGYGYlbGlSLXNGeyNCRWBaZylsWmE/USVvNjl9bm1fNHtjdlFlTmglSnk9ak5vKDtUbiUKeiZR
Jjc1NXx1P0tIeiZxTVgreGZ+a1liaGdoVWtHVCh7X2F0NHtoc3E+bExibyMtOX5eJGxDcVd3KWRQ
S2N0czUqCnp6dTNFMHRmPTVke3U2VC10VzU4MERhUCE1SGJBN25IOCRRUmNXQU1eVzg8OH4yNHlN
fVE+K04kU0QtITtoeDhLMgp6LUhJYEtqYW4lIUt2dHNvQXRnWSV4I04hajNQX2wpejdxKVJneiM7
ZElDY15Ac0UrZV9hdSZuSzdtVV9BYTN3JHMKeno8R19Ma0MhajlLM2hCNTc8SkZ0R2ZHfnNmTSM+
M0V7TWV+eyFoajA9PWQrT3hfZjstSn43IV9sY3orbkxfN0NxCnpBPm1vd3EwfGs4Y1E+ZzUmKlc7
e0lEZ21PTkNJZ0xQbXY9TTtpQj5pI2NqSSMtQTg8TEB5Rz9XN2pRSG90LUFfRAp6bT1GZXBMSnpA
MGJfSDloIUUjX2BxeFRyWW4mb3JaYTdRTTkpMnducGs+b1BRKU4yPUJ6U28mQC1WdEVPVUFEJlUK
emtUKzMjVVhCb1Roa3F8MD1vY2pHRiEwXzxobH5XWncxcE8/QkJqOWlWcEc+bzVFUXJTKnRYQX4l
Kjc1bU45JihGCnpZWEU3KkNWYHtXMStvdm5ZbXpPRnp1bmQwMWg5KVhuNT58bi0jWHY7MCYmaHBL
RjhTZzB4UzIrUGF1ZWFZTUlFRwp6QzxeNGA7X14+Tz8zdSkoSnFQRmwqbW10TT4/bD0tbE1rWFgz
S1ApRUBjOHdGWiZrYHFhWFY5MXJES057eXUoY0YKejYoJjV7JFZlZHxsd3lMV2Q7MStjKVpSSHg7
JX4tUj5MKW5QamJaTypkXl5ZbVdgSF9+KG9+YEFMdzRzZ0p4Sn5jCnpLS1BocVQyRmlpe2tPRjtt
T2Nva3d8PnVVdWU2REU9UGozIUVgYjRqLWJvVTF7UGYjbyt9d0pieVZCISNpWCFaPwp6WDJGK0Y5
PE45U1lwSDFTeEMjO0M4VWBEUnQmI0M2LUNPKFN0Un47ZVhyRGtuM09Cajg/JiVfMVBzISsmSm1K
a1QKenBSYURXMXR1JDFgaDVYdFowPmw5NXomcF9URURQUTBxKThOJUEyMUo/blR6M1BhaD9AZkM+
fV5UbGljVUVDYFI9CnpAcGJ9SXB0WVBWT0w9PD1wKEwzYnhgO1dIODxzYndAXlBtJmJUV1RiNDZ4
TTBfSFBleTdAWW5ibUo3eV55JmwySAp6NnByPyMrJSsjVE0hWGlIWmFKTFZKS34oNFU+V2VwYnN3
P29edTI3P3tpIXxfKmRAPGMmbkNeKnFsJnsjekslPSEKemFQd0chU2R9Y3hWUmpUaWJZZHx6ZHxf
VFdjNn11TmVTNTxFJVU3ND5yKzBqYE9VYnh8Tj5GU0lEPSQkPXM1TEJGCnoxbiF2Sik0VVlIbT1u
b15uaT01JlhiRXdKezxxJl9TSndtX1QhZUh8NC17cUhNT3o/OHlCfEt9YVJmZyppZlNGNQp6ZUVW
dTVDalVPPF9AbnVtbFM2KSVQSn0/P2VrdVQ7JGdVZTJMS0RnRDBKSWVDdDhybjtpend+ajxuZEtZ
R3tfN3MKemgmbiY9Rj1TdXIjVDc4JDQhRn4tcWpmVXo1eXRfWDtnKDRZVWtvKHtWRFRKYzNYP3p9
YHNNX3ZVb0ozc0dYcHYwCnoyIXVfTVFvbm1rZUJ+QjQhdGhIe0I3IWIwMGV1Rn1eTD5OUmtwbkQ1
OUg0RU9JSU9JPFFjRHM3QGIhblUtS0pUNAp6VnBfSnxVVEhzPyhaOHMhN0pPK3I8JU4yNGRlVldk
MHI8cUNoazUpNGdDPiRjbkNWKWBoazBlIyhLMVl5ZmBAflYKejVjTHp6MTtId2woTUVDR2drb0pO
cUwhY3xxdnNiUyZBfElTWUxNVWB6QitKQ2kqVz1DKlpjYzBNTmAxdGNgK3V9CnoyUHw4RGpnVkV+
eWJ7TlVKdU1kanQ9RGRCWWVEN1E+UEdhZT5FV0ZHR1Eod2U2a3VQISZmMFc/NTlHKTJmZUoyKAp6
M2grX1BIY3NFNyY5WSNQYlpqaiVHMmhJRGghe2JFKTVFS1JFZXZYPHZmJCR+YXhgRUJJPmApeDh9
VHhQTFlIezAKejNyPVFINzI3dk1JPXp4UVc/THNZMEo1a1UyPFhmM3hOcWpgVyN4Mk82fGVzMFRi
UkNCUC18QV9qJHZ1Y05xI1F0CnpPNGpfQSZrZzBqbUAzSHdDWUNzYyVle142UWoxPndkXldMSV4+
fTgpcTV6Q2EwPiRVQitZeEZuQEpHekB1bHMzRQp6Ri0tKFN6U2hzJmtja3RxVz95QD9pZz57ZnQm
OEdAU3NEfmFCK2ZVcXBfcVpfKHpxP2psIzluNkwlUGZAQE0qYDcKek5iaWh1LVE4cWpCa2UyN1Re
ayp1KD9ZZmImYzI5Iyh4Q0d3Y3t7WkIoYnJePVcyWDF6MDQtS0w8Xm1MaVIqMkNOCnpEMjxfdG9D
eEYyRlFBeUQtYVhQUmpDej5CT1Z5a05KPSY5PzFuNGIwVDw2MT1xXnNxU2V+YmRhN0BxLXs+VX1V
Nwp6QmVHTyhpT0xJQGNlYDhlYl88X2MkalJTKiljeHYjZVV5JVh6Nkl5MGJHKiopJmNJenhLYXE2
SCFmNDsqNCZeaVgKemZZIXZeQHxQRiVGMz5UP0BUb2JVaXRkamxeVX5ValpjVjB5bz1qKkJeWDBm
e0ppfDtPakEpMjtQN0ZmMzlGTngwCnpEK096WishYEJhQi0/c2tFSWh5fV5NbSlWZDF6RFJlSn4p
ZVA4NFUxLXBkMClXN296Pm9DLV5fOzhpYmlvK0Roewp6YUYwJC1YbG9TI1YoMi1yJHRQUzgwd0xz
P0dxNClBVyNLd353TUoqPTM8QyNuenVESzgpcVp8NFlaQyZLUSt9X08KemUoMCFJJHFOIzxmTzB4
ME90Q2lKTkIxMHh1LSVJdHV0QjZ0OGd2aXlCSG1kc3srZF92ODBzIzBtbDtDd1loKzNQCnpJdCp0
UFJIQlNubCZAITdNN3JCNTZ7dT1ecmw2SCokSG91Kk4+flchUWFHQU5Xbk5yY0chNWZBXml+YGp7
WkluJAp6X0B2PkJUZ1AqZzBVY19fXnF7P254RHdhRWx3PClHbnZtKmx5JmcpYmo0dlMpNG9+IyRT
cFpEYC11RmRvPH0xQDsKek5pJEozYSpTbkx7ZjVxeG9PYDxERm5JTGwqZSFEbmk4U0JNJklybFFt
OSEoMjU/e2xzekt4ayhqaVM3OSZJPFIlCno+aE9eQCk+MTx1cypkfW9pd1JmIyYqM2hGMSUlWUM0
OVFJSUIyK2k0PEIrNm08R3IpTmxXa3RWcFBUbUBhOHU1Rwp6VTA7NDQ5ODNATF9JMDdXITFRblh4
XiYyZzd1PCtsYStwO1l7VmsreXd+JHQ8P0lETylLNTB1Ynl1O2FtLUFhMD0KemAtdUhJd0l1RThx
dm4weUAjWlV5XnB3UCRZZmxxVDI+STctdUFwKCReQ1Q8fElgLSkwVTI4LWtmZTdkfWN6bktTCnpZ
Kns4fVVlWVk4WVQqSWZ0ciN9OytscDd5ZWB+fiQzXktuZ0s3NFYrI2FCfSZtKHF+QSpZKXhoWnBp
d0hSSnllbwp6IXN3PkxaJS1gY2RgaEJRa2AoVG91em05Wj9vKz84LURoUWExJDVzeWk+O055PUcp
UDN6b3JsVzxIVCFeUTspPXkKenkzaiNPTDJgSEA8fX1eMmkkaClSRWA5eUxyPipUITF4VVNseTMt
TmZ5Xkp8R0E7I1NoIT1uaGxSbl9pTmg/fUBOCnpZbClvcXRwNkdsa31PNn1qKTIrKFcmZ1lIRylp
cn5wXzZDQCgkWFNOcmNleXN0cVNoYTMwbStENikjfkthbVVfZQp6bjJLZlg3QUk8NitVeEBWb3op
bVoxLU1UUXc3OTdTe0sycHk2O0ByYSspZFc3bjV6SWUtPS12Pmh2MyRScVN4aigKem9nYiRaOThF
UnlLUWtxTWlsQmFUI1E5USNsNXZtUCVrfTRhVDA9cll1a1hqbGl7VShFdUg/Uk9QZn5NRWglWlAy
CnojS30qMjY7PHsjUzFqY3tqSEdBenVXcTdTd3VOWiFeYno8fHNLXnRgVEJXfTUrU3RYbiZOe2dE
aU1SSG9aTXhyawp6OXclaXZQPm5obiQxVT5NJlR7bE9HSnlXMFJVaDhzJXJ6Q2I/clk+fEttRmB8
R05AaDFaRWo+VDwmSWdjQUlINFkKem9LfHk7I2xlP054JUVPWk90aGV5ZThwTClTdnckN1hISzlu
VylnTWV1KnJ8aktFd0VDSXtqMk16YCkhJnEjKmZ7Cno3cWBrJFRrV0hXTHtidmJrRz1EUWteLTli
PDQrYzQyRStCSkRIWTEkOzE3YjhtI35KJUxDMypBb3dAWnFeKGdfPQpRQ3Y2Zy0pbVl9OzYkMU1J
MFFYWW0zamhFQgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434487</attachid>
            <date>2021-07-28 18:53:08 -0700</date>
            <delta_ts>2021-07-28 20:26:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210729115306.patch</filename>
            <type>text/plain</type>
            <size>123782</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU3NjZmNDYxMDE1MzI4YzkxMjZhMTg4
MmE2NGJiM2ZjYmM2OGJmZTYuLmVhZGUxNGY0YTdlMzc0NGVmYWRmYjYwYWU0MjVkMzNmNDZjZmU3
YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFdlYk1XZWJBdWRpb0Vu
YWJsZWQgcHJlZmVyZW5jZSB0byBtYWtlIGNhblBsYXlUeXBlIHJldHVybiBwcm9iYWJseSBmb3Ig
bWltZXR5cGU6CisgICAgICAgICJhdWRpby93ZWJtOyBjb2RlY3M9b3B1cyIKKyAgICAgICAgRGlz
YWJsZWQgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJl
ZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0wNy0yNiAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIFdlYktpdCBpcyBtYWtpbmcgR3Jv
dXBBY3Rpdml0aWVzIEFQSSBjYWxscyBmb3IgYWxsIFdlYktpdCBjbGllbnRzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggYTk5ODBhN2I4ZmNhNmI4M2M3NGM4NzZhM2U2ODllZjM2Y2NkMWJlMS4uZjgzMmI1ZTdiMzg4
M2RjNjY0ZTEwNjdlMDZmOTQ0YWI5YzYzNzRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMyBA
QAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAg
ICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igd2VibSBpbiBXZWIgQXVkaW8uCisgICAg
ICAgIEFzIGRlY29kaW5nIG5lZWRzIHRvIGJlIHBlcmZvcm1lZCBpbiB0aGUgd2ViIGNvbnRlbnQg
cHJvY2VzcyB3ZQorICAgICAgICBuZWVkIHRvIGVuc3VyZSB0aGF0IHRoZSBkZWNvZGVycyBhcmUg
YXZhaWxhYmxlIHRoZXJlLiBGb3Igc2VjdXJpdHkKKyAgICAgICAgcmVhc29ucywgY29tLmFwcGxl
LmF1ZGlvLkF1ZGlvQ29tcG9uZW50UmVnaXN0cmFyIG1hY2ggY2FsbHMgYXJlIGJsb2NrZWQKKyAg
ICAgICAgd2hpY2ggcHJldmVudHMgcmVnaXN0ZXJpbmcgYSBuZXcgYXVkaW8gY29tcG9uZW50Lgor
ICAgICAgICBXZSBpbnN0ZWFkIHJlZ2lzdGVyIGl0IGluIHRoZSBVSSBwcm9jZXNzIHNvIHRoYXQg
QXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMKKyAgICAgICAgU1BJIGNhbiBm
b3J3YXJkIHRoZSByZWdpc3RyYXRpb24gaW4gdGhlIHdlYiBwcm9jZXNzLgorICAgICAgICBVbmZv
cnR1bmF0ZWx5LCBmb3IgdW5rbm93biByZWFzb25zLCB0aGlzIGZhaWxzIGZvciBWb3JiaXMgYXVk
aW8gY29kZWMgKGJ1ZyAyMjgxMzkpLgorCisgICAgICAgIFRvIGRlbXV4IHRoZSB3ZWJtIGNvbnRl
bnQsIHdlIHVzZSB0aGUgZXhpc3RpbmcgU291cmNlQnVmZmVyUGFyc2VyV2ViTSB0byBleHRyYWN0
IGFsbAorICAgICAgICBhdWRpbyBwYWNrZXRzLiBXZSB0aGVuIGl0ZXJhdGUgb3ZlciBhbGwgQ00g
U2FtcGxlcyBhbmQgZGVjb2RlIHRoZW0gaW50byBQQ00sIHBlcmZvcm1pbmcKKyAgICAgICAgcmVz
YW1wbGluZyBhcyBuZWVkZWQgb24gdGhlIGZseS4KKyAgICAgICAgVGhlcmUgYXJlIHRoaW5ncyBs
ZWZ0IHRvIGZpeC4KKyAgICAgICAgLSBPcHVzIGFuZCBWb3JiaXMgZW5jb2RlciBkZWxheSBpc24n
dCBoYW5kbGVkIChidWcgMjI4MTQwKSB3aGljaCBsZWF2ZXMgYXVkaWJsZQorICAgICAgICBzaWxl
bmNlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlci4KKyAgICAgICAg
LSBXZSBjYW4gb25seSBkZWNvZGUgbW9ubyBhbmQgc3RlcmVvIGNvbnRlbnQuIE9wdXMgYW5kIFZv
cmJpcyBsZXQgeW91IGRlZmluZSBhCisgICAgICAgIGN1c3RvbSBjaGFubmVsIG9yZGVyaW5nLCB0
aGlzIGlzIHBhcnRpY3VsYXJseSB1c2VkIHdpdGggYW1iaXNvbmljIGF1ZGlvICh3aXRoIG9wdXMg
MjU1IG1vZGUpLgorICAgICAgICBDb3JlTWVkaWEgZG9lc24ndCBlYXNpbHkgZGVhbCB3aXRoIHN1
Y2ggcmUtb3JkZXJpbmcgYXMgaXQgYXBwZWFycyB0byBiZSBlc3NlbnRpYWxseQorICAgICAgICBk
ZXNpZ25lZCBmb3IgYXVkaWJsZSBjb250ZW50LiBXaXRoIG1vcmUgdGhhbiAyIGNoYW5uZWxzLCBk
ZWNvZGluZyB3aWxsIGVpdGhlciBmYWlsCisgICAgICAgIG9yIHByb2R1Y2UgY2hhbm5lbHMgaW4g
dGhlIHdyb25nIG9yZGVyLgorCisgICAgICAgIFRlc3Q6IHdlYmF1ZGlvL2RlY29kZS1hdWRpby1k
YXRhLXdlYm0tb3B1cy5odG1sCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOiBFeHBvcnQgaGVh
ZGVyIHNvIHRoYXQgd2UgY2FuIHJlZ2lzdGVyIHRoZSBkZWNvZGVyIGluIHRoZSBVSSBwcm9jZXNz
LgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogc2FtZSBhcyBh
Ym92ZS4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y2FuUGxheVR5cGUgY29uc3QpOiBNYWtlIGNhblBsYXlU
eXBlKHdlYm0vYXVkaW87IGNvZGVjcz1vcHVzKQorICAgICAgICB3b3JrIGlmIGZlYXR1cmVzIGlz
IHNldC4KKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYk1XZWJBdWRpb0VuYWJsZWQp
OgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2ViTVdlYkF1ZGlv
RW5hYmxlZCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vTWVkaWFTYW1wbGUuaDogRmx5LWJ5
IGZpeDogcmVtb3ZlIHVubmVjZXNzYXJ5IFdFQkNPUkVfRVhQT1JUCisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vQXVkaW9CdXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdXM6OnNldExl
bmd0aCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaDogQWRkIHNldExlbmd0
aCBtZXRob2QuIFdpbGwgY2hhbmdlIHRoZSByZXBvcnRlZCBsZW5ndGgKKyAgICAgICAgd2l0aG91
dCB0b3VjaGluZyB0aGUgdW5kZXJseWluZyBzdG9yYWdlLgorICAgICAgICAqIHBsYXRmb3JtL2F1
ZGlvL0F1ZGlvQ2hhbm5lbC5oOiBBZGQgc2V0TGVuZ3RoIG1ldGhvZC4gV2lsbCBjaGFuZ2UgdGhl
IHJlcG9ydGVkCisgICAgICAgIGxlbmd0aCB3aXRob3V0IHRvdWNoaW5nIHRoZSB1bmRlcmx5aW5n
IHN0b3JhZ2UuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVy
Q29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KTog
Rml4IGNoZWNrZWRJbnQgdXNlIHRvIGNhdGNoIHBvdGVudGlhbCBvdmVyZmxvdworICAgICAgICAo
V2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXIpOiBB
ZGQgY29udmVuaWVuY2UgY2xhc3MgdGhhdAorICAgICAgICBmcmVlIHdyYXBwZWQgQXVkaW9CdWZm
ZXJMaXN0IG9iamVjdCBvbiBleGl0LgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0
SG9sZGVyOjp+QXVkaW9CdWZmZXJMaXN0SG9sZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
QnVmZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3IgYm9vbCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yLT4gY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjpvcGVyYXRvciogY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0SG9sZGVyOjppc1ZhbGlkIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6QXVkaW9GaWxlUmVhZGVyKToKKyAgICAgICAgKFdl
YkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6aXNNYXliZVdlYk0gY29uc3QpOiBNZXRob2QgdG8gY2hl
Y2sgaWYgdGhlIGJ1ZmZlcgorICAgICAgICBjb250YWlucyBXZWJNIGRhdGEuCisgICAgICAgIChX
ZWJDb3JlOjpwYXNzdGhyb3VnaElucHV0RGF0YUNhbGxiYWNrKTogUmVxdWlyZWQgZm9yIEF1ZGlv
Q29udmVydGVyRmlsbENvbXBsZXhCdWZmZXIuCisgICAgICAgIFdpbGwgZmVlZCB0aGUgZGVjb2Rl
ciB0aGUgZGF0YSB0byBkZWNvZGUsIHNwbGl0dGluZyB0aGUgbXVsdGlwbGUgcGFja2V0cyBmb3Vu
ZAorICAgICAgICBpbiB0aGUgQ01TYW1wbGVCdWZmZXIuCisgICAgICAgIChXZWJDb3JlOjpBdWRp
b0ZpbGVSZWFkZXI6Om51bWJlck9mRnJhbWVzIGNvbnN0KTogUmV0dXJuIHRoZSB0b3RhbCBudW1i
ZXIgb2YKKyAgICAgICAgZGVjb2RlZCBmcmFtZXMgaW4gdGhlIHBhY2tldHMuCisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmZpbGVEYXRhRm9ybWF0IGNvbnN0KTogQ3JlYXRlIEF1
ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbgorICAgICAgICByZWxhdGVkIHRvIHRoZSBkZW11eGVk
IGF1ZGlvIHRyYWNrLiBudWxsb3B0IGlmIHVuc3VwcG9ydGVkIGNvbnRlbnQuCisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNsaWVudERhdGFGb3JtYXQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMpOgorICAgICAgICAoV2ViQ29y
ZTo6QXVkaW9GaWxlUmVhZGVyOjpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oOiBSZW1vdmUgdW51c2VkIHR5cGVk
ZWYuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNl
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TYW1wbGVEYXRhU291cmNlOjp+QXVkaW9TYW1w
bGVEYXRhU291cmNlKTogRmx5LWJ5IGZpeCwgbWFrZSBpdCB1c2UKKyAgICAgICAgUEFMIHNvZnRs
aW5rcworICAgICAgICAoV2ViQ29yZTo6QXVkaW9TYW1wbGVEYXRhU291cmNlOjpzZXR1cENvbnZl
cnRlcik6IEZseS1ieSBmaXgsIG1ha2UgaXQgdXNlIFBBTAorICAgICAgICBzb2Z0bGlua3MKKyAg
ICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW06IEZseS1i
eSBmaXgsIGFkZCBtaXNzaW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9U
cmFja1ByaXZhdGVCYXNlLmNwcDogRmx5LWJ5IGZpeCwgYWRkIG1pc3NpbmcgaGVhZGVyLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZG
T2JqQy5oOgorICAgICAgICBGbHktYnkgZml4IHJlcXVpcmVkIGJ5IHdlYmtpdC1wcmVwYXJlIDog
ZG9uJ3QgdGFnIHRoZSB3aG9sZSBjbGFzcyBhcyBXRUJDT1JFX0VYUE9SVC4KKyAgICAgICAgTW92
ZSBjb25zdHJ1Y3RvciBhbmQgZGVzdHJ1Y3RvciBmdW5jdGlvbiBkZWZpbml0aW9ucyBvdXQtb2Yt
bGluZSB0byBwcmV2ZW50CisgICAgICAgIGxpbmthZ2UgZXJyb3JzLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKTog
TW92ZSBjb2RlCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29t
cHJlc3Npb25TZXNzaW9uLm1tOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaDog
RXhwb3J0IHNvbWUgc3ltYm9scywgYWRkIG5ldworICAgICAgICBtZXRob2QgZGVmaW5pdGlvbnMu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29j
b2EubW06CisgICAgICAgIChXZWJDb3JlOjpyZWdpc3RlckRlY29kZXJGYWN0b3J5KTogSW5zdGVh
ZCBvZiBhdHRlbXB0aW5nIHRvIHJlZ2lzdGVyIHRoZSBkZWNvZGVyCisgICAgICAgIGJ5IGRsLW9w
ZW5pbmcgdGhlIHJlcXVpcmVkIGxpYnJhcnksIGZpcnN0IGF0dGVtcHRpbmcgdG8gc2VlIGlmIHRo
ZSBkZWNvZGVyIGlzCisgICAgICAgIGFscmVhZHkgYXZhaWxhYmxlLiBDYWxsaW5nIEF1ZGlvQ29t
cG9uZW50UmVnaXN0ZXIgaW4gdGhlIHdlYiBjb250ZW50IHByb2Nlc3MKKyAgICAgICAgd2hlbiB0
aGUgR1BVIHByb2Nlc3MgaXMgZW5hYmxlZCB3aWxsIGZhaWwgZHVlIHRvIHNhbmRib3ggc2V0dGlu
Z3MuIFdoaWNoIHdvdWxkCisgICAgICAgIGluY29ycmVjdGx5IHJlcG9ydCB0aGUgY29kZWMgdG8g
bm90IGJlIGF2YWlsYWJsZSB3aGVuIGl0IHdhcy4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUF1
ZGlvRm9ybWF0RGVzY3JpcHRpb25Gb3JGb3JtYXQpOgorICAgICAgICAoV2ViQ29yZTo6aXNPcHVz
RGVjb2RlckF2YWlsYWJsZSk6IEZseS1ieSBmaXgsIHNob3VsZCB0aGUgbWV0aG9kIGJlIGNhbGxl
ZAorICAgICAgICBvbiBub24tbWFjIHBsYXRmb3JtIGl0IHdvdWxkIGhhdmUgcmV0dXJuIHRoZSB1
bml0aWFsaXplZCB2YWx1ZSBvZiB0aGUgYXZhaWxhYmxlCisgICAgICAgIHN0YXRpYyB2YXJpYWJs
ZS4KKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCk6IEFkZGVk
CisgICAgICAgIChXZWJDb3JlOjppc1ZvcmJpc0RlY29kZXJBdmFpbGFibGUpOiBTYW1lIGFzIGlz
T3B1c0RlY29kZXJBdmFpbGFibGUKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lzdGVyVm9yYmlzRGVj
b2RlcklmTmVlZGVkKTogQWRkZWQKKwogMjAyMS0wNy0yNiAgSm9obnNvbiBaaG91ICA8cWlhb3Nv
bmdfemhvdUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhpcyBpcyByZXNwb25kaW5nIHRvIGZlZWRi
YWNrIG9uIHIyODAzMTAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBmMDE5ZDNjZTEyMDNmM2ZhMTA0
ZWY5ZmFjNGZmYTQwNmFiOTAyZjYwLi5mMmFhY2JiODQwMmQwYzQxNjFhM2Y2ZmJmOTkzOTRmNThj
YzUzZGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMS0wNy0yMSAg
SmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10g
QWRkIHdlYm0vb3B1cyBjb250YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83
OTQzNzA2Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgdmFyaW91cyBBVkZvdW5kYXRpb24gKEFWQXVkaW9Db252ZXJ0ZXIpIHJlbGF0ZWQgbWV0
aG9kcyBhbmQKKyAgICAgICAgQ29yZU1lZGlhIHRvIGFjY2VzcyByZXF1aXJlZCBDTVNhbXBsZUJ1
ZmZlciByZWxhdGVkIG1ldGhvZHMuCisKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1lZGlhU29mdExp
bmsuY3BwOgorICAgICAgICAqIHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oOgorICAgICAgICAq
IHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9B
VkZvdW5kYXRpb25Tb2Z0TGluay5tbToKKwogMjAyMS0wNy0yMSAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjgwMTI5Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCAxNDE3NWMyYTMwYjk2MjkxZjg2MThiNzg2OTgxM2JkNGQ3OGVlYjY3Li45N2Zh
M2NiOGRmYWU3MTFlOTI5MTk4MDM1MDU1NjZkOGQzZmQ5ZWExIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDIxLTA3LTIxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisK
KyAgICAgICAgW1dlYkF1ZGlvXSBBZGQgd2VibS9vcHVzIGNvbnRhaW5lciBzdXBwb3J0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxMTAKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzc5NDM3MDY3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkZWZhdWx0IHZhbHVlIGZvciB3ZWJtX3dlYmF1ZGlv
IGZlYXR1cmUgZmxhZyBmb3IgdGhlIGRpZmZlcmVudCBwbGF0Zm9ybXMuCisgICAgICAgIERpc2Fi
bGVkIGJ5IGRlZmF1bHQgb24gYWxsIHBsYXRmb3Jtcy4KKyAgICAgICAgRmx5LWJ5IGZpeDogZG9u
J3QgbWFrZSB3ZWJtIHBhcnNlciBkZXBlbmRlbnQgb24gVlA5IHN1cHBvcnQuCisKKyAgICAgICAg
KiBGZWF0dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdDoKKyAgICAgICAgKiBGZWF0dXJl
RmxhZ3MvV2ViS2l0LWlvcy5wbGlzdDoKKyAgICAgICAgKiBGZWF0dXJlRmxhZ3MvV2ViS2l0LW1h
Y29zLnBsaXN0OgorICAgICAgICAqIEZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdDoK
KyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNz
L0dQVVByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OmRlZmF1bHRXZWJNV2ViQXVkaW9F
bmFibGVkKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJh
dGlvbnMpOgorCiAyMDIxLTA3LTI2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgog
CiAgICAgICAgIFJFR1JFU1NJT046IFtpT1NdIEFTU0VSVElPTiBGQUlMRUQ6ICFtX21lc3NhZ2VS
ZWNlaXZlck1hcENvdW50IHVuZGVyIFdlYktpdDo6UmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVy
Ojp+UmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
U2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291
cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlh
bWwKaW5kZXggNGFhZjc1OWFiMDQxZDliYmQ0MTlhYjMyYmE0ODU5MzZjZjIzZmM3Zi4uMzYwYTBj
ZDgyYzhiNmMzYzhmYWU0Zjg0ZTE1M2JjYTE1OGIzNjRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysr
IGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVu
dGFsLnlhbWwKQEAgLTEyNjEsNiArMTI2MSwxOCBAQCBXZWJNUGFyc2VyRW5hYmxlZDoKICAgICBX
ZWJLaXQ6CiAgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgp
CiAKK1dlYk1XZWJBdWRpb0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgd2ViY29yZUJpbmRpbmc6
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWJNIFdlYiBB
dWRpbyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdlYk0gV2ViIEF1ZGlv
IgorICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TT1VSQ0UpCisgIGRlZmF1bHRWYWx1ZToKKyAg
ICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJNV2ViQXVk
aW9FbmFibGVkKCkKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRX
ZWJNV2ViQXVkaW9FbmFibGVkKCkKKwogIyBGSVhNRTogSXMgdGhpcyBpbXBsZW1lbnRlZCBmb3Ig
V2ViS2l0TGVnYWN5PyBJZiBub3QsIHRoaXMgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gV2ViS2l0
TGVnYWN5IGVudGlyZWx5LgogV2ViUlRDSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDoKICAg
dHlwZTogYm9vbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggM2IxYmI1NTBmNTY4MWE0ZjVkZDIzNjBh
MTQxODlhOGVjYWQwNTdiOS4uOWE2MWVlZmY1NGI3YzY1MDIwYTI4ZTk0YzZiZWUzZDU0M2M3NDU5
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMzM1LDYgKzEzMzUsOCBAQCBzZXQoV2ViQ29yZV9Q
UklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0
ZW5zaW9uc0dMQU5HTEUuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29u
dGV4dEdMQU5HTEVVdGlsaXRpZXMuaAogCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2Vi
TUF1ZGlvVXRpbGl0aWVzQ29jb2EuaAorCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxp
c3RzL0Rpc3BsYXlMaXN0LmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3REcmF3R2x5cGhzUmVjb3JkZXIuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKaW5kZXggZmMwNjY4YTRhOTFhZmUxMGI2
NTE1OWNhMDgyZTE4MjgxZmQ1MDM1Ny4uNGEzZTkwY2Q0NDA2Nzc1OTIxMjJmMTZmYTUxOGFhNTRl
OTU3Y2NjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFT
b2Z0TGluay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0
TGluay5jcHAKQEAgLTM2LDYgKzM2LDggQEAKICNpbmNsdWRlIDxDb3JlVmlkZW8vQ29yZVZpZGVv
Lmg+CiAjZW5kaWYKIAorI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgorCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwMCkKICNkZWZpbmUgQ01TQU1QTEVCVUZGRVJDQUxM
X05PRVNDQVBFIENGX05PRVNDQVBFCiAjZWxzZQpAQCAtNDcsMTEgKzQ5LDEzIEBAIFNPRlRfTElO
S19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgUEFMX0VY
UE9SVCkKIAogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBD
b3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzLCBPU1N0YXR1cywgKENNQmxvY2tC
dWZmZXJSZWYgdGhlU291cmNlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0
YUxlbmd0aCwgdm9pZCogZGVzdGluYXRpb24pLCAodGhlU291cmNlQnVmZmVyLCBvZmZzZXRUb0Rh
dGEsIGRhdGFMZW5ndGgsIGRlc3RpbmF0aW9uKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVy
R2V0RGF0YUxlbmd0aCwgc2l6ZV90LCAoQ01CbG9ja0J1ZmZlclJlZiB0aGVCdWZmZXIpLCAodGhl
QnVmZmVyKSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhf
RVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJv
b2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZlciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90
IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVuZ3RoKSwgUEFMX0VYUE9SVCkKIFNPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJs
b2NrQnVmZmVyUmVwbGFjZURhdGFCeXRlcywgT1NTdGF0dXMsIChjb25zdCB2b2lkKiBzb3VyY2VC
eXRlcywgQ01CbG9ja0J1ZmZlclJlZiBkZXN0aW5hdGlvbkJ1ZmZlciwgc2l6ZV90IG9mZnNldElu
dG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRhdGFMZW5ndGgpLCAoc291cmNlQnl0ZXMsIGRlc3RpbmF0
aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIGRhdGFMZW5ndGgpLCBQQUxfRVhQT1JU
KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVk
aWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBDRkRpY3Rpb25hcnlSZWYsIChD
TUZvcm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYyksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJ
TktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1w
bGVCdWZmZXJHZXRUeXBlSUQsIENGVHlwZUlELCAodm9pZCksICgpLCBQQUxfRVhQT1JUKQogU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENN
U2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlciwgQ01CbG9ja0J1ZmZlclJlZiwgKENNU2FtcGxlQnVm
ZmVyUmVmIHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRGb3Jt
YXREZXNjcmlwdGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwgKENNU2FtcGxlQnVmZmVyUmVm
IHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVh
bVBhY2tldERlc2NyaXB0aW9ucywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBz
aXplX3QgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
biogcGFja2V0RGVzY3JpcHRpb25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1NpemVO
ZWVkZWRPdXQpLCAoc2J1ZiwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3JpcHRp
b25zT3V0LCBwYWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0KSwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBD
TVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8sIE9TU3RhdHVzLCAoQ01TYW1wbGVCdWZm
ZXJSZWYgc2J1ZiwgQ01JdGVtSW5kZXggc2FtcGxlSW5kZXgsIENNU2FtcGxlVGltaW5nSW5mbyog
dGltaW5nSW5mb091dCksIChzYnVmLCBzYW1wbGVJbmRleCwgdGltaW5nSW5mb091dCksIFBBTF9F
WFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENv
cmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJEYXRhSXNSZWFkeSwgQm9vbGVhbiwgKENNU2FtcGxlQnVm
ZmVyUmVmIHNidWYpLCAoc2J1ZiksIFBBTF9FWFBPUlQpCiAKQEAgLTEwOCw2ICsxMTIsNyBAQCBT
T0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwg
a0NNVGV4dFZlcnRpY2FsTGF5b3V0XwogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lU
SF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIGtDTVRleHRWZXJ0aWNhbExheW91dF9SaWdodFRvTGVm
dCwgQ0ZTdHJpbmdSZWYsIFBBTF9FWFBPUlQpCiAKICNpZiBQTEFURk9STShDT0NPQSkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJs
b2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywgT1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1
Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZmZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRv
clJlZiBibG9ja0FsbG9jYXRvciwgY29uc3QgQ01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNl
KiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5n
dGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFncywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZm
ZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9yLCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9y
LCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxv
Y2tCdWZmZXJPdXQpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0Vf
V0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVN1
YlR5cGUsIEZvdXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNj
KSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFUeXBlLCBDTU1lZGlh
VHlwZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSwgUEFMX0VYUE9SVCkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGlu
ay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4
IDFkYjUxODFmYzU2ZGJmYjA1ZmI5ZjNhY2MzNzU5OGU0YjAzNzA5ZjAuLjg4ZTYyOTViM2MzZWU1
MjNhNTc3ZDcyNjY0MTBkMWIwNDY2ZmMxNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBVU0UoQVZGT1VO
REFUSU9OKQogLy8gRklYTUU6IFNob3VsZCBiZSBVU0UoQ09SRU1FRElBKSwgYnV0IHRoaXMgaXNu
J3QgY3VycmVudGx5IGRlZmluZWQgb24gV2luZG93cy4KIAorI2luY2x1ZGUgPENvcmVBdWRpby9D
b3JlQXVkaW9UeXBlcy5oPgogI2luY2x1ZGUgPHBhbC9zcGkvY2YvQ29yZU1lZGlhU1BJLmg+CiAj
aW5jbHVkZSA8d3RmL1NvZnRMaW5raW5nLmg+CiAKQEAgLTQ5LDYgKzUwLDggQEAgU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZmZXJDb3B5RGF0
YUJ5dGVzLCBPU1N0YXQKICNkZWZpbmUgQ01CbG9ja0J1ZmZlckNvcHlEYXRhQnl0ZXMgc29mdExp
bmtfQ29yZU1lZGlhX0NNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzCiBTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgs
IHNpemVfdCwgKENNQmxvY2tCdWZmZXJSZWYgdGhlQnVmZmVyKSwgKHRoZUJ1ZmZlcikpCiAjZGVm
aW5lIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2Nr
QnVmZmVyR2V0RGF0YUxlbmd0aAorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBD
b3JlTWVkaWEsIENNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91cywgQm9vbGVhbiwgKENNQmxv
Y2tCdWZmZXJSZWYgdGhlQnVmZmVyLCBzaXplX3Qgb2Zmc2V0LCBzaXplX3QgbGVuZ3RoKSwgKHRo
ZUJ1ZmZlciwgb2Zmc2V0LCBsZW5ndGgpKQorI2RlZmluZSBDTUJsb2NrQnVmZmVySXNSYW5nZUNv
bnRpZ3VvdXMgc29mdExpbmtfQ29yZU1lZGlhX0NNQmxvY2tCdWZmZXJJc1JhbmdlQ29udGlndW91
cwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tC
dWZmZXJSZXBsYWNlRGF0YUJ5dGVzLCBPU1N0YXR1cywgKGNvbnN0IHZvaWQqIHNvdXJjZUJ5dGVz
LCBDTUJsb2NrQnVmZmVyUmVmIGRlc3RpbmF0aW9uQnVmZmVyLCBzaXplX3Qgb2Zmc2V0SW50b0Rl
c3RpbmF0aW9uLCBzaXplX3QgZGF0YUxlbmd0aCksIChzb3VyY2VCeXRlcywgZGVzdGluYXRpb25C
dWZmZXIsIG9mZnNldEludG9EZXN0aW5hdGlvbiwgZGF0YUxlbmd0aCkpCiAjZGVmaW5lIENNQmxv
Y2tCdWZmZXJSZXBsYWNlRGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2NrQnVmZmVy
UmVwbGFjZURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3Jl
TWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zLCBDRkRpY3Rpb25hcnlSZWYs
IChDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYykpCkBAIC01OSw2ICs2Miw4IEBA
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckdldERhdGFCdWZmZXIsIENNQmxvCiAjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1
ZmZlciBzb2Z0TGlua19Db3JlTWVkaWFfQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyCiBTT0ZU
X0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJH
ZXRGb3JtYXREZXNjcmlwdGlvbiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiwgKENNU2FtcGxlQnVm
ZmVyUmVmIHNidWYpLCAoc2J1ZikpCiAjZGVmaW5lIENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVz
Y3JpcHRpb24gc29mdExpbmtfQ29yZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3Jp
cHRpb24KK1NPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNh
bXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zLCBPU1N0YXR1cywgKENN
U2FtcGxlQnVmZmVyUmVmIHNidWYsIHNpemVfdCBwYWNrZXREZXNjcmlwdGlvbnNTaXplLCBBdWRp
b1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKiBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHNpemVfdCog
cGFja2V0RGVzY3JpcHRpb25zU2l6ZU5lZWRlZE91dCksIChzYnVmLCBwYWNrZXREZXNjcmlwdGlv
bnNTaXplLCBwYWNrZXREZXNjcmlwdGlvbnNPdXQsIHBhY2tldERlc2NyaXB0aW9uc1NpemVOZWVk
ZWRPdXQpKQorI2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3Jp
cHRpb25zIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFj
a2V0RGVzY3JpcHRpb25zCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVN
ZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZvLCBPU1N0YXR1cywgKENNU2Ft
cGxlQnVmZmVyUmVmIHNidWYsIENNSXRlbUluZGV4IHNhbXBsZUluZGV4LCBDTVNhbXBsZVRpbWlu
Z0luZm8qIHRpbWluZ0luZm9PdXQpLCAoc2J1Ziwgc2FtcGxlSW5kZXgsIHRpbWluZ0luZm9PdXQp
KQogI2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWluZ0luZm8gc29mdExpbmtfQ29y
ZU1lZGlhX0NNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5mbwogU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyRGF0YUlzUmVhZHks
IEJvb2xlYW4sIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpKQpAQCAtMTY4LDYgKzE3
Myw4IEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBrQ01U
ZXh0VmVydGljYWxMYXlvdXRfUmlnaHRUb0xlZnQsCiAKICNpZiBQTEFURk9STShDT0NPQSkKIAor
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQmxvY2tCdWZm
ZXJDcmVhdGVDb250aWd1b3VzLCBPU1N0YXR1cywgKENGQWxsb2NhdG9yUmVmIHN0cnVjdHVyZUFs
bG9jYXRvciwgQ01CbG9ja0J1ZmZlclJlZiBzb3VyY2VCdWZmZXIsIENGQWxsb2NhdG9yUmVmIGJs
b2NrQWxsb2NhdG9yLCBjb25zdCBDTUJsb2NrQnVmZmVyQ3VzdG9tQmxvY2tTb3VyY2UqIGN1c3Rv
bUJsb2NrU291cmNlLCBzaXplX3Qgb2Zmc2V0VG9EYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgQ01C
bG9ja0J1ZmZlckZsYWdzIGZsYWdzLCBDTUJsb2NrQnVmZmVyUmVmKiBibG9ja0J1ZmZlck91dCks
IChzdHJ1Y3R1cmVBbGxvY2F0b3IsIHNvdXJjZUJ1ZmZlciwgYmxvY2tBbGxvY2F0b3IsIGN1c3Rv
bUJsb2NrU291cmNlLCBvZmZzZXRUb0RhdGEsIGRhdGFMZW5ndGgsIGZsYWdzLCBibG9ja0J1ZmZl
ck91dCkpCisjZGVmaW5lIENNQmxvY2tCdWZmZXJDcmVhdGVDb250aWd1b3VzIHNvZnRMaW5rX0Nv
cmVNZWRpYV9DTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cwogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRNZWRpYVN1
YlR5cGUsIEZvdXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNj
KSkKICNkZWZpbmUgQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3ViVHlwZSBzb2Z0TGlua19D
b3JlTWVkaWFfQ01Gb3JtYXREZXNjcmlwdGlvbkdldE1lZGlhU3ViVHlwZQogU09GVF9MSU5LX0ZV
TkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRpb25HZXRN
ZWRpYVR5cGUsIENNTWVkaWFUeXBlLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBkZXNjKSwgKGRl
c2MpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRp
b25Tb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25T
b2Z0TGluay5oCmluZGV4IGIzMjQxNTliZTFlZmU3YTVlNWZlMmIyNjRkNDFhNmEwYzg0ZmQ0OWIu
LjcwMGU5YzMyYzRjZmIxYmRjMzBlY2Y0N2EwMDA2MzA3MjA1MjY5MGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKQEAgLTMy
NCw0ICszMjQsMTEgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBBVkZvdW5k
YXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWQKICNkZWZpbmUgQVZPdXRwdXRD
b250ZXh0T3V0cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbiBQQUw6OmdldF9BVkZvdW5k
YXRpb25fQVZPdXRwdXRDb250ZXh0T3V0cHV0RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbigp
CiAjZW5kaWYgLy8gSEFWRShBVlJPVVRFUElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09B
KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvQ29udmVydGVyKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvRm9ybWF0KQorU09GVF9MSU5LX0NM
QVNTX0ZPUl9IRUFERVIoUEFMLCBBVkF1ZGlvQ29tcHJlc3NlZEJ1ZmZlcikKK1NPRlRfTElOS19D
TEFTU19GT1JfSEVBREVSKFBBTCwgQVZBdWRpb1BDTUJ1ZmZlcikKKyNlbmRpZiAvLyBQTEFURk9S
TShDT0NPQSkKKwogI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQppbmRleCAzN2M4
YjFmYWZkNThjY2JjNmU4NTBjNmYzMDExNzY3YzdkYTMxNjQ1Li43MzM5ODQ1ZTA3MjY1ODAxZTA2
NDAzMDNiMmUyOTFhMDEyNGU4NzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KQEAgLTIzMCw3ICsyMzAsNyBAQCBTT0ZU
X0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwg
QVZBdWRpb1Nlc3Npb25Sb3V0ZQogCiBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZBSUxfRk9SX1NP
VVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZVUkxBc3NldEhUVFBDb29raWVz
S2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlM
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRSZXF1
aXJlc0N1c3RvbVVSTExvYWRpbmdLZXksIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCi0jZW5kaWYK
KyNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBBVkZvdW5kYXRpb24sIEFWQ2FwdHVyZVNlc3Npb25T
ZXRBdXRob3JpemVkVG9Vc2VDYW1lcmFJbk11bHRpcGxlRm9yZWdyb3VuZEFwcExheW91dCwgdm9p
ZCwgKEFWQ2FwdHVyZVNlc3Npb24gKnNlc3Npb24pLCAoc2Vzc2lvbikpCkBAIC0yNDQsNCArMjQ0
LDExIEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZG
b3VuZGF0aW9uLCBBVlJvdXRlRGV0ZWN0b3JNdWx0CiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NP
VVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZPdXRwdXRDb250ZXh0T3V0cHV0
RGV2aWNlc0RpZENoYW5nZU5vdGlmaWNhdGlvbiwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKICNl
bmRpZiAvLyBIQVZFKEFWUk9VVEVQSUNLRVJWSUVXKQogCisjaWYgUExBVEZPUk0oQ09DT0EpCitT
T0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwg
QVZBdWRpb0NvbnZlcnRlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNF
X1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvRm9ybWF0LCBQQUxfRVhQT1JU
KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRp
b24sIEFWQXVkaW9Db21wcmVzc2VkQnVmZmVyLCBQQUxfRVhQT1JUKQorU09GVF9MSU5LX0NMQVNT
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9QQ01CdWZm
ZXIsIFBBTF9FWFBPUlQpCisjZW5kaWYKKwogI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggOWI2MzU4YjFiMGYxNjFiNjZlNzc3YTkxZGI0Yzc2ZGQxZjZmNmRlYi4uMzg1N2MzMjM0MTlk
MjZhNzAxZDYzNGRlNTNlOTUyOGE0YmExMDRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjMyLDcgKzIzMiw3IEBACiAJCTA3
RUU3NkVDMUJFOTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFRTc2RUExQkU5NkRC
MDAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDdFRTc2RUYxQkVBNjE5ODAwRjg5MTMz
IC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0VFNzZFRDFCRUE2MTk4MDBGODkxMzMgLyogTW9ja1Jl
YWx0aW1lVmlkZW9Tb3VyY2VNYWMuaCAqLzsgfTsKIAkJMDdGNEU5MzMyMEIzNTg3RjAwMkUzODAz
IC8qIEFWQXNzZXRNSU1FVHlwZUNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwN0M4QUQxMjFEMDczRDYzMDA4N0M1Q0UgLyogQVZBc3NldE1JTUVU
eXBlQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwotCQkwN0Y1Q0ZGNTI1ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2Eu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkY0
MjU4MkE0RjgwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oICovOyB9OworCQkw
N0Y1Q0ZGNTI1ODJBNTFEMDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkY0MjU4MkE0
RjgwMDY2MkVGNSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RjVDRkY2MjU4MkE1MjkwMDY2MkVG
NSAvKiBXZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RjVDRkYyMjU4MkE0RjgwMDY2MkVGNSAvKiBXZWJNQXVk
aW9VdGlsaXRpZXNDb2NvYS5tbSAqLzsgfTsKIAkJMDdGODc2ODQxQUQ1ODBGOTAwOTA1ODQ5IC8q
IE1lZGlhUGxheWJhY2tUYXJnZXRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y4NzY4MzFBRDRBOTQ1MDA5MDU4NDkgLyogTWVkaWFQbGF5
YmFja1RhcmdldENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkwN0Y5NDQxNjE4NjREMDQ2MDA1RDMxQ0IgLyogUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDREFFOEMwODE3NDZCOTU3MDA1MzJENzggLyogUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDcxYzQ1N2JhMGU0MGQ3
OTI0YmJmMDY0MTc0Nzg5MDhhYzlkZGU3OTYuLjhhODA3ZDEyMjNkMDQyZTdmMmY0MDA4MmFlMDU3
NjQwOTJlYWYxMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApA
QCAtMTA0Niw2ICsxMDQ2LDE1IEBAIEhUTUxNZWRpYUVsZW1lbnQ6Ok5ldHdvcmtTdGF0ZSBIVE1M
TWVkaWFFbGVtZW50OjpuZXR3b3JrU3RhdGUoKSBjb25zdAogICAgIHJldHVybiBtX25ldHdvcmtT
dGF0ZTsKIH0KIAorc3RhdGljIGlubGluZSBib29sIHdlYk1XZWJBdWRpb0VuYWJsZWQoKQorewor
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViTVdlYkF1ZGlvRW5hYmxlZCgpOworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogU3RyaW5nIEhUTUxNZWRpYUVsZW1lbnQ6OmNhblBs
YXlUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0CiB7CiAgICAgTWVkaWFFbmdpbmVT
dXBwb3J0UGFyYW1ldGVycyBwYXJhbWV0ZXJzOwpAQCAtMTA1OSw3ICsxMDY4LDcgQEAgU3RyaW5n
IEhUTUxNZWRpYUVsZW1lbnQ6OmNhblBsYXlUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNv
bnN0CiAgICAgLy8gVGVtcG9yYXJpbHkgd29yayBhcm91bmQgYnVnIDIyNjkyMi4gRm9yIG5vdyBj
bGFpbSB0aGF0IHRoZSBvcHVzIGFuZCB2b3JiaXMgY29kZWNzIGFyZW4ndCBzdXBwb3J0ZWQKICAg
ICAvLyBzbyB0aGF0IHNpdGVzIHJlbHlpbmcgb24gdGhpcyB0ZXN0IHRvIGRldGVybWluZSBpZiB3
ZWJhdWRpbyB1c2Ugb2Ygb3B1cyBvciB2b3JiaXMgd29uJ3QgZXJyb3IuCiAgICAgYXV0byBjb2Rl
Y3MgPSBjb250ZW50VHlwZS5jb2RlY3MoKTsKLSAgICBpZiAoc3VwcG9ydCA9PSBNZWRpYVBsYXll
cjo6U3VwcG9ydHNUeXBlOjpJc1N1cHBvcnRlZCAmJiAoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikg
fHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCisgICAgaWYgKHN1cHBvcnQgPT0gTWVkaWFQ
bGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQgJiYgKChjb2RlY3MuY29udGFpbnMoIm9w
dXMiKSAmJiAhd2ViTVdlYkF1ZGlvRW5hYmxlZCgpKSB8fCBjb2RlY3MuY29udGFpbnMoInZvcmJp
cyIpKSkKICAgICAgICAgc3VwcG9ydCA9IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzTm90
U3VwcG9ydGVkOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgKaW5kZXggYTBkM2NlYTc5ZDdlMGFlMDc0ODI0MGRkMjJlZWUyZDU1NzUwNDRh
Ni4uNjg1YTBhMmFkNzU0NzI2OTlhZWJmMjE5ZmEwYzI1MTUyMWJlYjBiOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTIzNSw2ICsyMzUsOCBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICB2b2lkIHNldFdlYk1QYXJz
ZXJFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fd2ViTVBhcnNlckVuYWJsZWQgPSBpc0VuYWJs
ZWQ7IH0KICAgICBib29sIHdlYk1QYXJzZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJN
UGFyc2VyRW5hYmxlZDsgfQorICAgIHZvaWQgc2V0V2ViTVdlYkF1ZGlvRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX3dlYk1XZWJBdWRpb0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBib29s
IHdlYk1XZWJBdWRpb0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYk1XZWJBdWRpb0VuYWJs
ZWQ7IH0KICNlbmRpZgogCiAjaWYgSEFWRShDRUxFU1RJQUwpCkBAIC0zNzEsNiArMzczLDcgQEAg
cHJpdmF0ZToKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgYm9vbCBtX3dlYk1QYXJz
ZXJFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fd2ViTVdlYkF1ZGlvRW5hYmxlZCB7IGZh
bHNlIH07CiAjZW5kaWYKIAogI2lmIEhBVkUoQ0VMRVNUSUFMKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L01lZGlhU2FtcGxlLmgKaW5kZXggOGRhNjAzNzc4ODI0MzMzMGFlMjUwZDljMTBjNzJlZTA1ODhl
NzYwYy4uMDg0N2I5NzRlOTNlODcyYTIyOWU3YTE2MTBmMmQ0NGU5MDJjYzBiZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCkBAIC01Nyw3ICs1Nyw3IEBAIHN0cnVjdCBQbGF0
Zm9ybVNhbXBsZSB7CiAgICAgfSBzYW1wbGU7CiB9OwogCi1jbGFzcyBXRUJDT1JFX0VYUE9SVCBN
ZWRpYVNhbXBsZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVNhbXBsZT4gewor
Y2xhc3MgTWVkaWFTYW1wbGUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TWVkaWFTYW1w
bGU+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYVNhbXBsZSgpID0gZGVmYXVsdDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCmluZGV4IDI0M2UxMDZi
OWUzM2RhOTNkZTlhMGNhZDMzYmMwOGU5MjA2NTMyMDAuLjdmMDNjMzMxZWUyMDEwYzk4OTI5YTAz
MjRkY2FjOTU1ZDY1ZjhiYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0F1ZGlvQnVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b0J1cy5jcHAKQEAgLTczLDYgKzczLDE2IEBAIHZvaWQgQXVkaW9CdXM6OnNldENoYW5uZWxNZW1v
cnkodW5zaWduZWQgY2hhbm5lbEluZGV4LCBmbG9hdCogc3RvcmFnZSwgc2l6ZV90IGxlCiAgICAg
fQogfQogCit2b2lkIEF1ZGlvQnVzOjpzZXRMZW5ndGgoc2l6ZV90IG5ld0xlbmd0aCkKK3sKKyAg
ICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG5ld0xlbmd0aCA8PSBt
X2xlbmd0aCk7CisgICAgaWYgKG5ld0xlbmd0aCA9PSBtX2xlbmd0aCkKKyAgICAgICAgcmV0dXJu
OworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoYW5uZWxzLnNpemUoKTsgKytpKQor
ICAgICAgICBtX2NoYW5uZWxzW2ldLT5zZXRMZW5ndGgobmV3TGVuZ3RoKTsKKyAgICBtX2xlbmd0
aCA9IG5ld0xlbmd0aDsKK30KKwogdm9pZCBBdWRpb0J1czo6emVybygpCiB7CiAgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhbm5lbHMuc2l6ZSgpOyArK2kpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA0MGU4MTEyMTFiNGRhMmNhOGM2NzBiNThi
MzI5NmIzNWNlNjljZDRhLi4zMTc1NTFjOWVmMTE1ZjI2YzA5ZTU4MDA4OTM2YzI0NWJjMTRhMDcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKQEAgLTgzLDYgKzgz
LDkgQEAgcHVibGljOgogICAgIC8vIE51bWJlciBvZiBzYW1wbGUtZnJhbWVzCiAgICAgc2l6ZV90
IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CiAKKyAgICAvLyBSZWR1Y2UgdGhl
IG51bWJlciBvZiBmcmFtZXMgYXZhaWxhYmxlIHdpdGhvdXQgY2hhbmdpbmcgdGhlIGFsbG9jYXRl
ZCBtZW1vcnkgc2l6ZS4KKyAgICB2b2lkIHNldExlbmd0aChzaXplX3QpOworCiAgICAgLy8gU2Ft
cGxlLXJhdGUgOiAwLjAgaWYgdW5rbm93biBvciAiZG9uJ3QgY2FyZSIKICAgICBmbG9hdCBzYW1w
bGVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVSYXRlOyB9CiAgICAgdm9pZCBzZXRTYW1w
bGVSYXRlKGZsb2F0IHNhbXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxlUmF0ZTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAppbmRleCA5NzVi
ZDBiNWFiZDhmNzI1NWEwNWE3ZGQ3MGY5NjUwYjFkNDk0NjY3Li4xNjc2ZjU2YjZkZGI5NzA5YzJk
NDZlNzg5ZTY5OThiYTJmZjE1NTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9BdWRpb0NoYW5uZWwuaApAQCAtNzQsNiArNzQsMTMgQEAgcHVibGljOgogICAgIC8vIEhvdyBt
YW55IHNhbXBsZS1mcmFtZXMgZG8gd2UgY29udGFpbj8KICAgICBzaXplX3QgbGVuZ3RoKCkgY29u
c3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIC8vIFNldCBuZXcgbGVuZ3RoLiBDYW4gb25s
eSBiZSBzZXQgdG8gYSB2YWx1ZSBsb3dlciB0aGFuIHRoZSBjdXJyZW50IGxlbmd0aC4KKyAgICB2
b2lkIHNldExlbmd0aChzaXplX3QgbmV3TGVuZ3RoKQorICAgIHsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihuZXdMZW5ndGggPD0gbGVuZ3RoKCkpOwor
ICAgICAgICBtX2xlbmd0aCA9IG5ld0xlbmd0aDsKKyAgICB9CisKICAgICAvLyBEaXJlY3QgYWNj
ZXNzIHRvIFBDTSBzYW1wbGUgZGF0YS4gTm9uLWNvbnN0IGFjY2Vzc29yIGNsZWFycyBzaWxlbnQg
ZmxhZy4KICAgICBmbG9hdCogbXV0YWJsZURhdGEoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29h
LmNwcAppbmRleCA1ZDU2YjllZTFhMGQzZDY3YTc5YzMwNzYxZDEzODE1ZDdjMDY0NGNlLi45YjY5
YTgxMjU4ZjIyZTZiMmU5ZjJiYzUxOTYxYmE0NzdjYjMzYzczIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29j
b2EuY3BwCkBAIC0zNCwyMSArMzQsMzYgQEAKIAogI2luY2x1ZGUgIkF1ZGlvQnVzLmgiCiAjaW5j
bHVkZSAiQXVkaW9GaWxlUmVhZGVyLmgiCisjaW5jbHVkZSAiQXVkaW9TYW1wbGVEYXRhU291cmNl
LmgiCisjaW5jbHVkZSAiQXVkaW9UcmFja1ByaXZhdGUuaCIKICNpbmNsdWRlICJGbG9hdENvbnZl
cnNpb24uaCIKKyNpbmNsdWRlICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlLmgiCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgorI2luY2x1ZGUgIk1lZGlhU2FtcGxlQVZGT2JqQy5oIgorI2luY2x1ZGUgIlZp
ZGVvVHJhY2tQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCIK
KyNpbmNsdWRlIDxBdWRpb1Rvb2xib3gvQXVkaW9Db252ZXJ0ZXIuaD4KICNpbmNsdWRlIDxBdWRp
b1Rvb2xib3gvRXh0ZW5kZWRBdWRpb0ZpbGUuaD4KICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9D
b3JlRm91bmRhdGlvbi5oPgotI2luY2x1ZGUgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5o
PgorI2luY2x1ZGUgPFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0uaD4KKyNpbmNsdWRlIDxsaW1pdHM+
CiAjaW5jbHVkZSA8d3RmL0NoZWNrZWRBcml0aG1ldGljLmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RN
YWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1Njb3BlLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgor
I2luY2x1ZGUgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5oPgorI2luY2x1ZGUgPHBhbC9j
Zi9Db3JlTWVkaWFTb2Z0TGluay5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBX
QVJOX1VOVVNFRF9SRVRVUk4gQXVkaW9CdWZmZXJMaXN0KiB0cnlDcmVhdGVBdWRpb0J1ZmZlckxp
c3Qoc2l6ZV90IG51bWJlck9mQnVmZmVycykKIHsKKyAgICBpZiAoIW51bWJlck9mQnVmZmVycykK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgQ2hlY2tlZFNpemUgYnVmZmVyTGlzdFNpemUg
PSBzaXplb2YoQXVkaW9CdWZmZXJMaXN0KSAtIHNpemVvZihBdWRpb0J1ZmZlcik7Ci0gICAgYnVm
ZmVyTGlzdFNpemUgKz0gbnVtYmVyT2ZCdWZmZXJzICogc2l6ZW9mKEF1ZGlvQnVmZmVyKTsKKyAg
ICBidWZmZXJMaXN0U2l6ZSArPSBXVEY6OmNoZWNrZWRQcm9kdWN0PHNpemVfdD4obnVtYmVyT2ZC
dWZmZXJzLCBzaXplb2YoQXVkaW9CdWZmZXIpKTsKICAgICBpZiAoYnVmZmVyTGlzdFNpemUuaGFz
T3ZlcmZsb3dlZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApAQCAtODcsMTAgKzEwMiw1
NSBAQCBzdGF0aWMgYm9vbCB2YWxpZGF0ZUF1ZGlvQnVmZmVyTGlzdChBdWRpb0J1ZmZlckxpc3Qq
IGJ1ZmZlckxpc3QpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKy8vIE9uIHN0YWNrIFJBSUkgY2xh
c3MgdGhhdCB3aWxsIGZyZWUgdGhlIGFsbG9jYXRlZCBBdWRpb0J1ZmZlckxpc3QqIGFzIG5lZWRl
ZC4KK2NsYXNzIEF1ZGlvQnVmZmVyTGlzdEhvbGRlciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQg
QXVkaW9CdWZmZXJMaXN0SG9sZGVyKHNpemVfdCBudW1iZXJPZkNoYW5uZWxzKQorICAgICAgICA6
IG1fYnVmZmVyTGlzdCh0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QobnVtYmVyT2ZDaGFubmVscykp
CisgICAgeworICAgIH0KKworICAgIH5BdWRpb0J1ZmZlckxpc3RIb2xkZXIoKQorICAgIHsKKyAg
ICAgICAgaWYgKG1fYnVmZmVyTGlzdCkKKyAgICAgICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxp
c3QobV9idWZmZXJMaXN0KTsKKyAgICB9CisKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkg
Y29uc3QgeyByZXR1cm4gISFtX2J1ZmZlckxpc3Q7IH0KKyAgICBBdWRpb0J1ZmZlckxpc3QqIG9w
ZXJhdG9yLT4oKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlckxpc3Q7IH0KKyAgICBvcGVyYXRvciBB
dWRpb0J1ZmZlckxpc3QqKCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXJMaXN0OyB9CisgICAgQXVk
aW9CdWZmZXJMaXN0JiBvcGVyYXRvciooKSBjb25zdCB7IEFTU0VSVChtX2J1ZmZlckxpc3QpOyBy
ZXR1cm4gKm1fYnVmZmVyTGlzdDsgfQorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJu
IHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7IH0KK3ByaXZhdGU6CisgICAg
QXVkaW9CdWZmZXJMaXN0KiBtX2J1ZmZlckxpc3Q7Cit9OworCitjbGFzcyBBdWRpb0ZpbGVSZWFk
ZXJXZWJNRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisKK3B1YmxpYzoKKyNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk06OkluaXRp
YWxpemF0aW9uU2VnbWVudCBtX2luaXRTZWdtZW50OworI2VuZGlmCisgICAgTWVkaWFUaW1lIG1f
ZHVyYXRpb247CisgICAgVmVjdG9yPFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+PiBtX3NhbXBsZXM7
Cit9OworCiBBdWRpb0ZpbGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRlcihjb25zdCB2b2lkKiBkYXRh
LCBzaXplX3QgZGF0YVNpemUpCiAgICAgOiBtX2RhdGEoZGF0YSkKICAgICAsIG1fZGF0YVNpemUo
ZGF0YVNpemUpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ2dlcihMb2dn
ZXI6OmNyZWF0ZSh0aGlzKSkKKyAgICAsIG1fbG9nSWRlbnRpZmllcihMb2dnZXJIZWxwZXI6OnVu
aXF1ZUxvZ0lkZW50aWZpZXIoKSkKKyNlbmRpZgogeworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CisgICAgaWYgKGlzTWF5YmVXZWJNKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwg
ZGF0YVNpemUpKSB7CisgICAgICAgIG1fd2VibURhdGEgPSBkZW11eFdlYk1EYXRhKHN0YXRpY19j
YXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwgZGF0YVNpemUpOworICAgICAgICBpZiAobV93ZWJt
RGF0YSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKICAgICBpZiAoUEFMOjpB
dWRpb0ZpbGVPcGVuV2l0aENhbGxiYWNrcyh0aGlzLCByZWFkUHJvYywgMCwgZ2V0U2l6ZVByb2Ms
IDAsIDAsICZtX2F1ZGlvRmlsZUlEKSAhPSBub0VycikKICAgICAgICAgcmV0dXJuOwogCkBAIC0x
MTEsNiArMTcxLDE5NCBAQCBBdWRpb0ZpbGVSZWFkZXI6On5BdWRpb0ZpbGVSZWFkZXIoKQogICAg
IG1fYXVkaW9GaWxlSUQgPSAwOwogfQogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKK2Jvb2wg
QXVkaW9GaWxlUmVhZGVyOjppc01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3Qg
ZGF0YVNpemUpIGNvbnN0Cit7CisgICAgLy8gRnJvbSBodHRwczovL21pbWVzbmlmZi5zcGVjLndo
YXR3Zy5vcmcvI3NpZ25hdHVyZS1mb3Itd2VibQorICAgIHJldHVybiBkYXRhU2l6ZSA+PSA0ICYm
IGRhdGFbMF0gPT0gMHgxQSAmJiBkYXRhWzFdID09IDB4NDUgJiYgZGF0YVsyXSA9PSAweERGICYm
IGRhdGFbM10gPT0gMHhBMzsKK30KKworc3RkOjp1bmlxdWVfcHRyPEF1ZGlvRmlsZVJlYWRlcldl
Yk1EYXRhPiBBdWRpb0ZpbGVSZWFkZXI6OmRlbXV4V2ViTURhdGEoY29uc3QgdWludDhfdCogZGF0
YSwgc2l6ZV90IGRhdGFTaXplKSBjb25zdAoreworICAgIGF1dG8gcGFyc2VyID0gYWRvcHRSZWYo
bmV3IFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0oKSk7CisgICAgYm9vbCBlcnJvciA9IGZhbHNlOwor
ICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IGF1ZGlvVHJhY2tJZDsKKyAgICBNZWRpYVRpbWUg
ZHVyYXRpb247CisgICAgU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5pdGlhbGl6YXRpb25TZWdt
ZW50IGluaXRTZWdtZW50OworICAgIFZlY3RvcjxSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPj4gc2Ft
cGxlczsKKyAgICBwYXJzZXItPnNldERpZEVuY291bnRlckVycm9yRHVyaW5nUGFyc2luZ0NhbGxi
YWNrKFsmXSh1aW50NjRfdCkgeworICAgICAgICBlcnJvciA9IHRydWU7CisgICAgfSk7CisgICAg
cGFyc2VyLT5zZXREaWRQYXJzZUluaXRpYWxpemF0aW9uRGF0YUNhbGxiYWNrKFsmXShTb3VyY2VC
dWZmZXJQYXJzZXJXZWJNOjpJbml0aWFsaXphdGlvblNlZ21lbnQmJiBpbml0KSB7CisgICAgICAg
IGZvciAoYXV0byYgYXVkaW9UcmFjayA6IGluaXQuYXVkaW9UcmFja3MpIHsKKyAgICAgICAgICAg
IGlmIChhdWRpb1RyYWNrLnRyYWNrICYmIGF1ZGlvVHJhY2sudHJhY2stPnRyYWNrVUlEKCkpIHsK
KyAgICAgICAgICAgICAgICBkdXJhdGlvbiA9IGluaXQuZHVyYXRpb247CisgICAgICAgICAgICAg
ICAgYXVkaW9UcmFja0lkID0gYXVkaW9UcmFjay50cmFjay0+dHJhY2tVSUQoKTsKKyAgICAgICAg
ICAgICAgICBpbml0U2VnbWVudCA9IFdURk1vdmUoaW5pdCk7CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7CisgICAgcGFyc2VyLT5zZXRE
aWRQcm92aWRlTWVkaWFEYXRhQ2FsbGJhY2soWyZdKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUs
IHVpbnQ2NF90IHRyYWNrSUQsIGNvbnN0IFN0cmluZyYpIHsKKyAgICAgICAgaWYgKCFhdWRpb1Ry
YWNrSWQgfHwgdHJhY2tJRCAhPSAqYXVkaW9UcmFja0lkKQorICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICBzYW1wbGVzLmFwcGVuZChzdGF0aWNfcmVmZXJlbmNlX2Nhc3Q8TWVkaWFTYW1wbGVB
VkZPYmpDPihXVEZNb3ZlKHNhbXBsZSkpKTsKKyAgICB9KTsKKyAgICBwYXJzZXItPnNldENhbGxP
bkNsaWVudFRocmVhZENhbGxiYWNrKFtdKGF1dG8mJiBmdW5jdGlvbikgeworICAgICAgICBmdW5j
dGlvbigpOworICAgIH0pOworICAgIFNvdXJjZUJ1ZmZlclBhcnNlcjo6U2VnbWVudCBzZWdtZW50
KHsgZGF0YSwgZGF0YVNpemUgfSk7CisgICAgcGFyc2VyLT5hcHBlbmREYXRhKFdURk1vdmUoc2Vn
bWVudCkpOworICAgIGlmICghYXVkaW9UcmFja0lkKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICBwYXJzZXItPmZsdXNoUGVuZGluZ0F1ZGlvQnVmZmVycygpOworICAgIHJldHVybiBtYWtl
VW5pcXVlPEF1ZGlvRmlsZVJlYWRlcldlYk1EYXRhPihBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YSB7
IFdURk1vdmUoaW5pdFNlZ21lbnQpLCBXVEZNb3ZlKGR1cmF0aW9uKSwgV1RGTW92ZShzYW1wbGVz
KSB9KTsKK30KKworc3RydWN0IFBhc3N0aHJvdWdoVXNlckRhdGEgeworICAgIFVJbnQzMiBtX2No
YW5uZWxzOworICAgIFVJbnQzMiBtX2RhdGFTaXplOworICAgIGNvbnN0IHZvaWQqIG1fZGF0YTsK
KyAgICBVSW50MzIgbV9pbmRleDsKKyAgICBWZWN0b3I8QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlw
dGlvbj4mIG1fcGFja2V0czsKK307CisKKy8vIEVycm9yIHZhbHVlIHdlIHBhc3MgdGhyb3VnaCB0
aGUgZGVjb2RlciB0byBzaWduYWwgdGhhdCBub3RoaW5nCisvLyBoYXMgZ29uZSB3cm9uZyBkdXJp
bmcgZGVjb2RpbmcgYW5kIHdlJ3JlIGRvbmUgcHJvY2Vzc2luZyB0aGUgcGFja2V0LgorY29uc3Qg
dWludDMyX3Qga05vTW9yZURhdGFFcnIgPSAnTU9BUic7CisKK3N0YXRpYyBPU1N0YXR1cyBwYXNz
dGhyb3VnaElucHV0RGF0YUNhbGxiYWNrKEF1ZGlvQ29udmVydGVyUmVmLCBVSW50MzIqIG51bURh
dGFQYWNrZXRzLCBBdWRpb0J1ZmZlckxpc3QqIGRhdGEsIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3Jp
cHRpb24qKiBwYWNrZXREZXNjLCB2b2lkKiBpblVzZXJEYXRhKQoreworICAgIEFTU0VSVChudW1E
YXRhUGFja2V0cyAmJiBkYXRhICYmIGluVXNlckRhdGEpOworICAgIGlmICghbnVtRGF0YVBhY2tl
dHMgfHwgIWRhdGEgfHwgIWluVXNlckRhdGEpCisgICAgICAgIHJldHVybiBrQXVkaW9Db252ZXJ0
ZXJFcnJfVW5zcGVjaWZpZWRFcnJvcjsKKworICAgIGF1dG8qIHVzZXJEYXRhID0gc3RhdGljX2Nh
c3Q8UGFzc3Rocm91Z2hVc2VyRGF0YSo+KGluVXNlckRhdGEpOworICAgIGlmICh1c2VyRGF0YS0+
bV9pbmRleCA9PSB1c2VyRGF0YS0+bV9wYWNrZXRzLnNpemUoKSkgeworICAgICAgICAqbnVtRGF0
YVBhY2tldHMgPSAwOworICAgICAgICByZXR1cm4ga05vTW9yZURhdGFFcnI7CisgICAgfQorCisg
ICAgaWYgKHBhY2tldERlc2MpIHsKKyAgICAgICAgaWYgKHVzZXJEYXRhLT5tX2luZGV4ID49IHVz
ZXJEYXRhLT5tX3BhY2tldHMuc2l6ZSgpKSB7CisgICAgICAgICAgICAqbnVtRGF0YVBhY2tldHMg
PSAwOworICAgICAgICAgICAgcmV0dXJuIGtBdWRpb0NvbnZlcnRlckVycl9SZXF1aXJlc1BhY2tl
dERlc2NyaXB0aW9uc0Vycm9yOworICAgICAgICB9CisgICAgICAgICpwYWNrZXREZXNjID0gJnVz
ZXJEYXRhLT5tX3BhY2tldHNbdXNlckRhdGEtPm1faW5kZXhdOworICAgIH0KKworICAgIGRhdGEt
Pm1CdWZmZXJzWzBdLm1OdW1iZXJDaGFubmVscyA9IHVzZXJEYXRhLT5tX2NoYW5uZWxzOworICAg
IGRhdGEtPm1CdWZmZXJzWzBdLm1EYXRhQnl0ZVNpemUgPSB1c2VyRGF0YS0+bV9kYXRhU2l6ZTsK
KyAgICBkYXRhLT5tQnVmZmVyc1swXS5tRGF0YSA9IGNvbnN0X2Nhc3Q8dm9pZCo+KHVzZXJEYXRh
LT5tX2RhdGEpOworCisgICAgKm51bURhdGFQYWNrZXRzID0gMTsKKyAgICB1c2VyRGF0YS0+bV9p
bmRleCsrOworCisgICAgcmV0dXJuIG5vRXJyOworfQorCitWZWN0b3I8QXVkaW9TdHJlYW1QYWNr
ZXREZXNjcmlwdGlvbj4gQXVkaW9GaWxlUmVhZGVyOjpnZXRQYWNrZXREZXNjcmlwdGlvbnMoQ01T
YW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyKSBjb25zdAoreworICAgIHNpemVfdCBwYWNrZXRE
ZXNjcmlwdGlvbnNTaXplOworICAgIGlmIChQQUw6OkNNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJl
YW1QYWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyLCAwLCBudWxscHRyLCAmcGFja2V0RGVz
Y3JpcHRpb25zU2l6ZSkgIT0gbm9FcnIpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2Vi
QXVkaW8sICJVbmFibGUgdG8gZ2V0IHBhY2tldCBkZXNjcmlwdGlvbiBsaXN0IHNpemUiKTsKKyAg
ICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgc2l6ZV90IG51bURlc2NyaXB0aW9ucyA9IHBh
Y2tldERlc2NyaXB0aW9uc1NpemUgLyBzaXplb2YoQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlv
bik7CisgICAgaWYgKCFudW1EZXNjcmlwdGlvbnMpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFV
TFQoV2ViQXVkaW8sICJObyBwYWNrZXQgZGVzY3JpcHRpb24gZm91bmQuIik7CisgICAgICAgIHJl
dHVybiB7IH07CisgICAgfQorICAgIFZlY3RvcjxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9u
PiBkZXNjcmlwdGlvbnMobnVtRGVzY3JpcHRpb25zKTsKKyAgICBpZiAoUEFMOjpDTVNhbXBsZUJ1
ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25zKHNhbXBsZUJ1ZmZlciwgcGFja2V0
RGVzY3JpcHRpb25zU2l6ZSwgZGVzY3JpcHRpb25zLmRhdGEoKSwgbnVsbHB0cikgIT0gbm9FcnIp
IHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8gZ2V0IHBh
Y2tldCBkZXNjcmlwdGlvbiBsaXN0Iik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorICAg
IGF1dG8gbnVtUGFja2V0cyA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXROdW1TYW1wbGVzKHNhbXBs
ZUJ1ZmZlcik7CisgICAgaWYgKG51bURlc2NyaXB0aW9ucyAhPSBzaXplX3QobnVtUGFja2V0cykp
IHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmhhbmRsZWQgQ01TYW1w
bGVCdWZmZXIgc3RydWN0dXJlIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorICAgIHJl
dHVybiBkZXNjcmlwdGlvbnM7Cit9CisKK3N0ZDo6b3B0aW9uYWw8c2l6ZV90PiBBdWRpb0ZpbGVS
ZWFkZXI6OmRlY29kZVdlYk1EYXRhKEF1ZGlvQnVmZmVyTGlzdCYgYnVmZmVyTGlzdCwgc2l6ZV90
IG51bWJlck9mRnJhbWVzLCBjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9y
bWF0LCBjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIG91dEZvcm1hdCkgY29uc3QK
K3sKKyAgICBBdWRpb0NvbnZlcnRlclJlZiBjb252ZXJ0ZXI7CisgICAgaWYgKFBBTDo6QXVkaW9D
b252ZXJ0ZXJOZXcoJmluRm9ybWF0LCAmb3V0Rm9ybWF0LCAmY29udmVydGVyKSAhPSBub0Vycikg
eworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byBjcmVhdGUg
ZGVjb2RlciIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKyAgICBhdXRvIGNsZWFudXAg
PSBtYWtlU2NvcGVFeGl0KFsmXSB7CisgICAgICAgIFBBTDo6QXVkaW9Db252ZXJ0ZXJEaXNwb3Nl
KGNvbnZlcnRlcik7CisgICAgfSk7CisgICAgQVNTRVJUKG1fd2VibURhdGEgJiYgIW1fd2VibURh
dGEtPm1fc2FtcGxlcy5pc0VtcHR5KCkgJiYgbV93ZWJtRGF0YS0+bV9zYW1wbGVzWzBdLT5zYW1w
bGVCdWZmZXIoKSwgIlN0cnVjdHVyZSBpbnRlZ3JpdHkgd2FzIGNoZWNrZWQgaW4gbnVtYmVyT2ZG
cmFtZXMiKTsKKyAgICBhdXRvIGZvcm1hdERlc2NyaXB0aW9uID0gUEFMOjpDTVNhbXBsZUJ1ZmZl
ckdldEZvcm1hdERlc2NyaXB0aW9uKG1fd2VibURhdGEtPm1fc2FtcGxlc1swXS0+c2FtcGxlQnVm
ZmVyKCkpOworICAgIGlmICghZm9ybWF0RGVzY3JpcHRpb24pIHsKKyAgICAgICAgUkVMRUFTRV9M
T0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8gcmV0cmlldmUgZm9ybWF0IGRlc2NyaXB0aW9u
IGZyb20gZmlyc3Qgc2FtcGxlIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorICAgIHNp
emVfdCBtYWdpY0Nvb2tpZVNpemUgPSAwOworICAgIGNvbnN0IHZvaWQqIG1hZ2ljQ29va2llID0g
UEFMOjpDTUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25HZXRNYWdpY0Nvb2tpZShmb3JtYXREZXNjcmlw
dGlvbiwgJm1hZ2ljQ29va2llU2l6ZSk7CisgICAgaWYgKG1hZ2ljQ29va2llICYmIG1hZ2ljQ29v
a2llU2l6ZSkKKyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlclNldFByb3BlcnR5KGNvbnZlcnRl
ciwga0F1ZGlvQ29udmVydGVyRGVjb21wcmVzc2lvbk1hZ2ljQ29va2llLCBtYWdpY0Nvb2tpZVNp
emUsIG1hZ2ljQ29va2llKTsKKworICAgIEF1ZGlvQnVmZmVyTGlzdEhvbGRlciBkZWNvZGVkQnVm
ZmVyTGlzdChpbkZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZSk7CisgICAgaWYgKCFkZWNvZGVkQnVm
ZmVyTGlzdCkgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0
byBjcmVhdGUgZGVjb2RlciIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIHNp
emVfdCBkZWNvZGVkRnJhbWVzID0gMDsKKyAgICBPU1N0YXR1cyBzdGF0dXM7CisgICAgZm9yIChh
dXRvJiBzYW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgQ01TYW1wbGVC
dWZmZXJSZWYgc2FtcGxlQnVmZmVyID0gc2FtcGxlLT5zYW1wbGVCdWZmZXIoKTsKKyAgICAgICAg
YXV0byBidWZmZXIgPSBQQUw6OkNNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlcihzYW1wbGVCdWZm
ZXIpOworICAgICAgICBBU1NFUlQoUEFMOjpDTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMo
YnVmZmVyLCAwLCAwKSk7CisgICAgICAgIGlmICghUEFMOjpDTUJsb2NrQnVmZmVySXNSYW5nZUNv
bnRpZ3VvdXMoYnVmZmVyLCAwLCAwKSkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQo
V2ViQXVkaW8sICJVbmFibGUgdG8gcmVhZCBzYW1wbGUgY29udGVudCAobm90IGNvbnRpZ3VvdXMp
Iik7CisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICB9CisKKyAgICAgICAgc2l6ZV90
IHNyY1NpemUgPSBQQUw6OkNNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoKGJ1ZmZlcik7CisgICAg
ICAgIGNoYXIqIHNyY0RhdGEgPSBudWxscHRyOworICAgICAgICBpZiAoUEFMOjpDTUJsb2NrQnVm
ZmVyR2V0RGF0YVBvaW50ZXIoYnVmZmVyLCAwLCBudWxscHRyLCBudWxscHRyLCAmc3JjRGF0YSkg
IT0gbm9FcnIpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5h
YmxlIHRvIHJldHJpZXZlIGRhdGEiKTsKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAg
IH0KKworICAgICAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IGdldFBhY2tldERlc2NyaXB0aW9ucyhz
YW1wbGVCdWZmZXIpOworICAgICAgICBpZiAoZGVzY3JpcHRpb25zLmlzRW1wdHkoKSkKKyAgICAg
ICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgUGFzc3Rocm91Z2hVc2VyRGF0YSB1c2VyRGF0
YSA9IHsgaW5Gb3JtYXQubUNoYW5uZWxzUGVyRnJhbWUsIFVJbnQzMihzcmNTaXplKSwgc3JjRGF0
YSwgMCwgZGVzY3JpcHRpb25zIH07CisKKyAgICAgICAgZG8geworICAgICAgICAgICAgaWYgKG51
bWJlck9mRnJhbWVzIDwgZGVjb2RlZEZyYW1lcykgeworICAgICAgICAgICAgICAgIFJFTEVBU0Vf
TE9HX0ZBVUxUKFdlYkF1ZGlvLCAiRGVjb2RlZCBtb3JlIGZyYW1lcyB0aGFuIGZpcnN0IGNhbGN1
bGF0ZWQiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgLy8gaW46IHRoZSBtYXggbnVtYmVyIG9mIHBhY2tldHMgd2UgY2FuIGhhbmRsZSBm
cm9tIHRoZSBkZWNvZGVyLgorICAgICAgICAgICAgLy8gb3V0OiB0aGUgbnVtYmVyIG9mIHBhY2tl
dHMgdGhlIGRlY29kZXIgaXMgYWN0dWFsbHkgcmV0dXJuaW5nLgorICAgICAgICAgICAgVUludDMy
IG51bUZyYW1lcyA9IHN0ZDo6bWluPHVpbnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMy
X3Q+OjptYXgoKSAvIHNpemVvZihmbG9hdCksIG51bWJlck9mRnJhbWVzIC0gZGVjb2RlZEZyYW1l
cyk7CisKKyAgICAgICAgICAgIGZvciAoVUludDMyIGkgPSAwOyBpIDwgaW5Gb3JtYXQubUNoYW5u
ZWxzUGVyRnJhbWU7IGkrKykgeworICAgICAgICAgICAgICAgIGRlY29kZWRCdWZmZXJMaXN0LT5t
QnVmZmVyc1tpXS5tTnVtYmVyQ2hhbm5lbHMgPSAxOworICAgICAgICAgICAgICAgIGRlY29kZWRC
dWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YUJ5dGVTaXplID0gbnVtRnJhbWVzICogc2l6ZW9m
KGZsb2F0KTsKKyAgICAgICAgICAgICAgICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0u
bURhdGEgPSBzdGF0aWNfY2FzdDxmbG9hdCo+KGJ1ZmZlckxpc3QubUJ1ZmZlcnNbaV0ubURhdGEp
ICsgZGVjb2RlZEZyYW1lczsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0YXR1cyA9IFBB
TDo6QXVkaW9Db252ZXJ0ZXJGaWxsQ29tcGxleEJ1ZmZlcihjb252ZXJ0ZXIsIHBhc3N0aHJvdWdo
SW5wdXREYXRhQ2FsbGJhY2ssICZ1c2VyRGF0YSwgJm51bUZyYW1lcywgZGVjb2RlZEJ1ZmZlckxp
c3QsIG51bGxwdHIpOworICAgICAgICAgICAgaWYgKHN0YXR1cyAmJiBzdGF0dXMgIT0ga05vTW9y
ZURhdGFFcnIpIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywg
IkVycm9yIGRlY29kaW5nIGRhdGEiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgZGVjb2RlZEZyYW1lcyArPSBudW1GcmFtZXM7CisgICAg
ICAgIH0gd2hpbGUgKHN0YXR1cyAhPSBrTm9Nb3JlRGF0YUVycik7CisgICAgfQorICAgIHJldHVy
biBkZWNvZGVkRnJhbWVzOworfQorI2VuZGlmCisKIE9TU3RhdHVzIEF1ZGlvRmlsZVJlYWRlcjo6
cmVhZFByb2Modm9pZCogY2xpZW50RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVxdWVz
dENvdW50LCB2b2lkKiBidWZmZXIsIFVJbnQzMiogYWN0dWFsQ291bnQpCiB7CiAgICAgYXV0byog
YXVkaW9GaWxlUmVhZGVyID0gc3RhdGljX2Nhc3Q8QXVkaW9GaWxlUmVhZGVyKj4oY2xpZW50RGF0
YSk7CkBAIC0xMzYsNjcgKzM4NCwxMzcgQEAgU0ludDY0IEF1ZGlvRmlsZVJlYWRlcjo6Z2V0U2l6
ZVByb2Modm9pZCogY2xpZW50RGF0YSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXVkaW9GaWxl
UmVhZGVyKj4oY2xpZW50RGF0YSktPmRhdGFTaXplKCk7CiB9CiAKLVJlZlB0cjxBdWRpb0J1cz4g
QXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01v
bm8pCitzc2l6ZV90IEF1ZGlvRmlsZVJlYWRlcjo6bnVtYmVyT2ZGcmFtZXMoKSBjb25zdAogewot
ICAgIGlmICghbV9leHRBdWRpb0ZpbGVSZWYpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAg
IFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSAwOwogCi0gICAgLy8gR2V0IGZpbGUncyBkYXRh
IGZvcm1hdAotICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKG1fZmlsZURhdGFGb3JtYXQpOwotICAg
IGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0
QXVkaW9GaWxlUHJvcGVydHlfRmlsZURhdGFGb3JtYXQsICZzaXplLCAmbV9maWxlRGF0YUZvcm1h
dCkgIT0gbm9FcnIpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghbV93ZWJtRGF0
YSkgeworICAgICAgICBpZiAoIW1fZXh0QXVkaW9GaWxlUmVmKQorICAgICAgICAgICAgcmV0dXJu
IC0xOwogCi0gICAgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMgPSBtX2ZpbGVEYXRhRm9ybWF0Lm1D
aGFubmVsc1BlckZyYW1lOworICAgICAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihudW1iZXJPZkZy
YW1lc0luNjQpOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4
dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVMZW5ndGhGcmFtZXMsICZz
aXplLCAmbnVtYmVyT2ZGcmFtZXNJbjY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lc0luNjQg
PD0gMCkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUg
dG8gcmV0cmlldmUgbnVtYmVyIG9mIGZyYW1lcyBpbiBjb250ZW50ICh1bnN1cHBvcnRlZD8iKTsK
KyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQogCi0gICAgLy8gTnVtYmVyIG9mIGZy
YW1lcwotICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lczY0ID0gMDsKLSAgICBzaXplID0gc2l6ZW9m
KG51bWJlck9mRnJhbWVzNjQpOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZUdldFByb3BlcnR5
KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfRmlsZUxlbmd0aEZyYW1l
cywgJnNpemUsICZudW1iZXJPZkZyYW1lczY0KSAhPSBub0VyciB8fCBudW1iZXJPZkZyYW1lczY0
IDw9IDApCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gbnVtYmVyT2ZG
cmFtZXNJbjY0OworICAgIH0KKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIGlmIChtX3dl
Ym1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxU
KFdlYkF1ZGlvLCAiTm8gc2FtcGxlIGRlbXV4ZWQgZnJvbSB3ZWJtIGNvbnRhaW5lciIpOworICAg
ICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgLy8gQ2FsY3VsYXRlIHRoZSB0b3RhbCBudW1i
ZXIgb2YgZGVjb2RlZCBzYW1wbGVzIHRoYXQgd2VyZSBkZW11eGVkLgorICAgIC8vIFRoaXMgY29k
ZSBvbmx5IGhhbmRsZSB0aGUgQ01TYW1wbGVCdWZmZXIgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBTb3Vy
Y2VCdWZmZXJQYXJzZXJXZWJNCisgICAgLy8gd2hlcmUgYSBBdWRpb1N0cmVhbVBhY2tldERlc2Ny
aXB0aW9ucyBhcnJheSBpcyBhbHdheXMgcHJvdmlkZWQgZXZlbiB3aXRoCisgICAgLy8gQ29uc3Rh
bnQgYml0cmF0ZSBhbmQgY29uc3RhbnQgZnJhbWVzLXBlci1wYWNrZXQgYXVkaW8uCisgICAgZm9y
IChhdXRvJiBzYW1wbGUgOiBtX3dlYm1EYXRhLT5tX3NhbXBsZXMpIHsKKyAgICAgICAgYXV0byBz
YW1wbGVCdWZmZXIgPSBzYW1wbGUtPnNhbXBsZUJ1ZmZlcigpOworICAgICAgICBpZiAoIXNhbXBs
ZUJ1ZmZlcikgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJJbXBv
c3NpYmxlIG1lbW9yeSBjb3JydXB0aW9uIGVuY291bnRlcmVkIik7CisgICAgICAgICAgICByZXR1
cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgY29uc3QgYXV0byBmb3JtYXREZXNjcmlwdGlvbiA9
IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbihzYW1wbGVCdWZmZXIpOwor
ICAgICAgICBpZiAoIWZvcm1hdERlc2NyaXB0aW9uKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xP
R19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byByZXRyaWV2ZSBmb3JtYXQgZGVzY3JpcHRpb25n
IGZyb20gc2FtcGxlIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAg
ICAgY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25zdCBhc2JkID0gUEFMOjpD
TUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKGZvcm1hdERl
c2NyaXB0aW9uKTsKKyAgICAgICAgaWYgKCFhc2JkKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xP
R19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byByZXRyaWV2ZSBhc2JkIGZyb20gZm9ybWF0IGRl
c2NyaXB0aW9uIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKworICAgICAg
ICBhdXRvIGRlc2NyaXB0aW9ucyA9IGdldFBhY2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIp
OworICAgICAgICBpZiAoZGVzY3JpcHRpb25zLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVy
biAtMTsKKworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGRlc2NyaXB0aW9uIDogZGVzY3JpcHRp
b25zKSB7CisgICAgICAgICAgICB1aW50MzJfdCBmcHAgPSBkZXNjcmlwdGlvbi5tVmFyaWFibGVG
cmFtZXNJblBhY2tldCA/IGRlc2NyaXB0aW9uLm1WYXJpYWJsZUZyYW1lc0luUGFja2V0IDogYXNi
ZC0+bUZyYW1lc1BlclBhY2tldDsKKyAgICAgICAgICAgIG51bWJlck9mRnJhbWVzSW42NCArPSBm
cHA7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIG51bWJlck9mRnJhbWVzSW42NDsKKyNl
bHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKworc3RkOjpvcHRpb25hbDxBdWRpb1N0cmVh
bUJhc2ljRGVzY3JpcHRpb24+IEF1ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQoKSBjb25z
dAoreworICAgIGlmICghbV93ZWJtRGF0YSkgeworICAgICAgICBBdWRpb1N0cmVhbUJhc2ljRGVz
Y3JpcHRpb24gZm9ybWF0OworICAgICAgICBVSW50MzIgc2l6ZSA9IHNpemVvZihmb3JtYXQpOwor
ICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJl
Ziwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVEYXRhRm9ybWF0LCAmc2l6ZSwgJmZvcm1hdCkg
IT0gbm9FcnIpCisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICByZXR1cm4gZm9ybWF0
OworICAgIH0KKworICAgIGlmIChtX3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm4geyB9OwogCi0gICAgZG91YmxlIGZpbGVTYW1wbGVSYXRlID0gbV9maWxlRGF0
YUZvcm1hdC5tU2FtcGxlUmF0ZTsKKyAgICBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERl
c2NyaXB0aW9uID0gUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKG1fd2Vi
bURhdGEtPm1fc2FtcGxlc1swXS0+c2FtcGxlQnVmZmVyKCkpOworICAgIGlmICghZm9ybWF0RGVz
Y3JpcHRpb24pCisgICAgICAgIHJldHVybiB7IH07CiAKKyAgICBjb25zdCBBdWRpb1N0cmVhbUJh
c2ljRGVzY3JpcHRpb24qIGNvbnN0IGFzYmQgPSBQQUw6OkNNQXVkaW9Gb3JtYXREZXNjcmlwdGlv
bkdldFN0cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3JpcHRpb24pOworICAgIHJldHVy
biAqYXNiZDsKK30KKworQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIEF1ZGlvRmlsZVJlYWRl
cjo6Y2xpZW50RGF0YUZvcm1hdChjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGlu
Rm9ybWF0LCBmbG9hdCBzYW1wbGVSYXRlKSBjb25zdAorewogICAgIC8vIE1ha2UgY2xpZW50IGZv
cm1hdCBzYW1lIG51bWJlciBvZiBjaGFubmVscyBhcyBmaWxlIGZvcm1hdCwgYnV0IHR3ZWFrIGEg
ZmV3IHRoaW5ncy4KICAgICAvLyBDbGllbnQgZm9ybWF0IHdpbGwgYmUgbGluZWFyIFBDTSAoY2Fu
b25pY2FsKSwgYW5kIHBvdGVudGlhbGx5IGNoYW5nZSBzYW1wbGUtcmF0ZS4KLSAgICBtX2NsaWVu
dERhdGFGb3JtYXQgPSBtX2ZpbGVEYXRhRm9ybWF0OworICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNj
cmlwdGlvbiBvdXRGb3JtYXQgPSBpbkZvcm1hdDsKIAogICAgIGNvbnN0IGludCBieXRlc1BlckZs
b2F0ID0gc2l6ZW9mKEZsb2F0MzIpOwogICAgIGNvbnN0IGludCBiaXRzUGVyQnl0ZSA9IDg7Ci0g
ICAgbV9jbGllbnREYXRhRm9ybWF0Lm1Gb3JtYXRJRCA9IGtBdWRpb0Zvcm1hdExpbmVhclBDTTsK
LSAgICBtX2NsaWVudERhdGFGb3JtYXQubUZvcm1hdEZsYWdzID0ga0F1ZGlvRm9ybWF0RmxhZ3NO
YXRpdmVGbG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1hdEZsYWdJc05vbkludGVybGVhdmVkOwotICAg
IG1fY2xpZW50RGF0YUZvcm1hdC5tQnl0ZXNQZXJQYWNrZXQgPSBieXRlc1BlckZsb2F0OwotICAg
IG1fY2xpZW50RGF0YUZvcm1hdC5tRnJhbWVzUGVyUGFja2V0ID0gMTsKLSAgICBtX2NsaWVudERh
dGFGb3JtYXQubUJ5dGVzUGVyRnJhbWUgPSBieXRlc1BlckZsb2F0OwotICAgIG1fY2xpZW50RGF0
YUZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZSA9IG51bWJlck9mQ2hhbm5lbHM7Ci0gICAgbV9jbGll
bnREYXRhRm9ybWF0Lm1CaXRzUGVyQ2hhbm5lbCA9IGJpdHNQZXJCeXRlICogYnl0ZXNQZXJGbG9h
dDsKKyAgICBvdXRGb3JtYXQubUZvcm1hdElEID0ga0F1ZGlvRm9ybWF0TGluZWFyUENNOworICAg
IG91dEZvcm1hdC5tRm9ybWF0RmxhZ3MgPSBrQXVkaW9Gb3JtYXRGbGFnc05hdGl2ZUZsb2F0UGFj
a2VkIHwga0F1ZGlvRm9ybWF0RmxhZ0lzTm9uSW50ZXJsZWF2ZWQ7CisgICAgb3V0Rm9ybWF0Lm1C
eXRlc1BlclBhY2tldCA9IG91dEZvcm1hdC5tQnl0ZXNQZXJGcmFtZSA9IGJ5dGVzUGVyRmxvYXQ7
CisgICAgb3V0Rm9ybWF0Lm1GcmFtZXNQZXJQYWNrZXQgPSAxOworICAgIG91dEZvcm1hdC5tQml0
c1BlckNoYW5uZWwgPSBiaXRzUGVyQnl0ZSAqIGJ5dGVzUGVyRmxvYXQ7CiAKICAgICBpZiAoc2Ft
cGxlUmF0ZSkKLSAgICAgICAgbV9jbGllbnREYXRhRm9ybWF0Lm1TYW1wbGVSYXRlID0gc2FtcGxl
UmF0ZTsKKyAgICAgICAgb3V0Rm9ybWF0Lm1TYW1wbGVSYXRlID0gc2FtcGxlUmF0ZTsKIAotICAg
IGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFByb3BlcnR5KG1fZXh0QXVkaW9GaWxlUmVmLCBrRXh0
QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0YUZvcm1hdCwgc2l6ZW9mKEF1ZGlvU3RyZWFtQmFz
aWNEZXNjcmlwdGlvbiksICZtX2NsaWVudERhdGFGb3JtYXQpICE9IG5vRXJyKQorICAgIHJldHVy
biBvdXRGb3JtYXQ7Cit9CisKK1JlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVh
dGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCit7CisgICAgU0ludDY0IG51
bWJlck9mRnJhbWVzSW42NCA9IG51bWJlck9mRnJhbWVzKCk7CisgICAgaWYgKG51bWJlck9mRnJh
bWVzSW42NCA8PSAwKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIC8vIENoYW5nZSBu
dW1iZXJPZkZyYW1lczY0IHRvIGRlc3RpbmF0aW9uIHNhbXBsZS1yYXRlCi0gICAgbnVtYmVyT2ZG
cmFtZXM2NCA9IG51bWJlck9mRnJhbWVzNjQgKiAobV9jbGllbnREYXRhRm9ybWF0Lm1TYW1wbGVS
YXRlIC8gZmlsZVNhbXBsZVJhdGUpOwotICAgIHNpemVfdCBudW1iZXJPZkZyYW1lcyA9IHN0YXRp
Y19jYXN0PHNpemVfdD4obnVtYmVyT2ZGcmFtZXM2NCk7CisgICAgYXV0byBpbkZvcm1hdCA9IGZp
bGVEYXRhRm9ybWF0KCk7CisgICAgaWYgKCFpbkZvcm1hdCkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gb3V0Rm9ybWF0ID0gY2xpZW50
RGF0YUZvcm1hdCgqaW5Gb3JtYXQsIHNhbXBsZVJhdGUpOworICAgIHNpemVfdCBudW1iZXJPZkNo
YW5uZWxzID0gaW5Gb3JtYXQtPm1DaGFubmVsc1BlckZyYW1lOworICAgIGRvdWJsZSBmaWxlU2Ft
cGxlUmF0ZSA9IGluRm9ybWF0LT5tU2FtcGxlUmF0ZTsKKyAgICBTSW50NjQgbnVtYmVyT2ZGcmFt
ZXNPdXQ2NCA9IG51bWJlck9mRnJhbWVzSW42NCAqIChvdXRGb3JtYXQubVNhbXBsZVJhdGUgLyBm
aWxlU2FtcGxlUmF0ZSk7CisgICAgc2l6ZV90IG51bWJlck9mRnJhbWVzID0gc3RhdGljX2Nhc3Q8
c2l6ZV90PihudW1iZXJPZkZyYW1lc091dDY0KTsKICAgICBzaXplX3QgYnVzQ2hhbm5lbENvdW50
ID0gbWl4VG9Nb25vID8gMSA6IG51bWJlck9mQ2hhbm5lbHM7CiAKICAgICAvLyBDcmVhdGUgQXVk
aW9CdXMgd2hlcmUgd2UnbGwgcHV0IHRoZSBQQ00gYXVkaW8gZGF0YQogICAgIGF1dG8gYXVkaW9C
dXMgPSBBdWRpb0J1czo6Y3JlYXRlKGJ1c0NoYW5uZWxDb3VudCwgbnVtYmVyT2ZGcmFtZXMpOwot
ICAgIGF1ZGlvQnVzLT5zZXRTYW1wbGVSYXRlKG5hcnJvd1ByZWNpc2lvblRvRmxvYXQobV9jbGll
bnREYXRhRm9ybWF0Lm1TYW1wbGVSYXRlKSk7IC8vIHNhdmUgZm9yIGxhdGVyCi0KLSAgICAvLyBP
bmx5IGFsbG9jYXRlZCBpbiB0aGUgbWl4VG9Nb25vIGNhc2U7IGRlYWxsb2NhdGVkIG9uIGRlc3Ry
dWN0aW9uLgotICAgIEF1ZGlvRmxvYXRBcnJheSBsZWZ0Q2hhbm5lbDsKLSAgICBBdWRpb0Zsb2F0
QXJyYXkgcmlnaHRDaGFubmVsOworICAgIGF1ZGlvQnVzLT5zZXRTYW1wbGVSYXRlKG5hcnJvd1By
ZWNpc2lvblRvRmxvYXQob3V0Rm9ybWF0Lm1TYW1wbGVSYXRlKSk7IC8vIHNhdmUgZm9yIGxhdGVy
CiAKLSAgICBBdWRpb0J1ZmZlckxpc3QqIGJ1ZmZlckxpc3QgPSB0cnlDcmVhdGVBdWRpb0J1ZmZl
ckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CisgICAgQXVkaW9CdWZmZXJMaXN0SG9sZGVyIGJ1ZmZl
ckxpc3QobnVtYmVyT2ZDaGFubmVscyk7CiAgICAgaWYgKCFidWZmZXJMaXN0KSB7CiAgICAgICAg
IFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAidHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KCVs
ZCkgcmV0dXJuZWQgbnVsbCIsIG51bWJlck9mQ2hhbm5lbHMpOwogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICB9CiAgICAgY29uc3Qgc2l6ZV90IGJ1ZmZlclNpemUgPSBudW1iZXJPZkZyYW1l
cyAqIHNpemVvZihmbG9hdCk7CiAKKyAgICAvLyBPbmx5IGFsbG9jYXRlZCBpbiB0aGUgbWl4VG9N
b25vIGNhc2U7IGRlYWxsb2NhdGVkIG9uIGRlc3RydWN0aW9uLgorICAgIEF1ZGlvRmxvYXRBcnJh
eSBsZWZ0Q2hhbm5lbDsKKyAgICBBdWRpb0Zsb2F0QXJyYXkgcmlnaHRDaGFubmVsOworCiAgICAg
UkVMRUFTRV9BU1NFUlQoYnVmZmVyTGlzdC0+bU51bWJlckJ1ZmZlcnMgPT0gbnVtYmVyT2ZDaGFu
bmVscyk7CiAgICAgaWYgKG1peFRvTW9ubyAmJiBudW1iZXJPZkNoYW5uZWxzID09IDIpIHsKICAg
ICAgICAgbGVmdENoYW5uZWwucmVzaXplKG51bWJlck9mRnJhbWVzKTsKQEAgLTIyMiwxOCArNTQw
LDMwIEBAIFJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQg
c2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAo
IXZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpKSB7CisgICAgaWYgKCFidWZmZXJM
aXN0LmlzVmFsaWQoKSkgewogICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIkdl
bmVyYXRlZCBidWZmZXIgaW4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoKSBkaWQgbm90IHBh
c3MgdmFsaWRhdGlvbiIpOwogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAg
ZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChidWZmZXJMaXN0KTsKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgfQogCi0gICAgLy8gUmVhZCBmcm9tIHRoZSBmaWxlIChvciBpbi1tZW1vcnkgdmVy
c2lvbikKLSAgICBVSW50MzIgZnJhbWVzVG9SZWFkID0gbnVtYmVyT2ZGcmFtZXM7Ci0gICAgaWYg
KFBBTDo6RXh0QXVkaW9GaWxlUmVhZChtX2V4dEF1ZGlvRmlsZVJlZiwgJmZyYW1lc1RvUmVhZCwg
YnVmZmVyTGlzdCkgIT0gbm9FcnIpIHsKLSAgICAgICAgZGVzdHJveUF1ZGlvQnVmZmVyTGlzdChi
dWZmZXJMaXN0KTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKG1fd2VibURhdGEp
IHsKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgICAgICBhdXRvIGRlY29kZWRGcmFtZXMg
PSBkZWNvZGVXZWJNRGF0YSgqYnVmZmVyTGlzdCwgbnVtYmVyT2ZGcmFtZXMsICppbkZvcm1hdCwg
b3V0Rm9ybWF0KTsKKyAgICAgICAgaWYgKCFkZWNvZGVkRnJhbWVzKQorICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgICAgIC8vIFRoZSBhY3R1YWwgZGVjb2RlZCBudW1iZXIgb2YgZnJh
bWVzIG1heSBub3QgbWF0Y2ggdGhlIG51bWJlciBvZiBmcmFtZXMgY2FsY3VsYXRlZAorICAgICAg
ICAvLyB3aGlsZSBkZW11eGluZyBhcyBmcmFtZXMgY2FuIGJlIHRyaW1tZWQuIEl0IHdpbGwgYWx3
YXlzIGJlIGxvd2VyLgorICAgICAgICBhdWRpb0J1cy0+c2V0TGVuZ3RoKCpkZWNvZGVkRnJhbWVz
KTsKKyAgICAgICAgbnVtYmVyT2ZGcmFtZXMgPSAqZGVjb2RlZEZyYW1lczsKKyNlbmRpZgorICAg
IH0gZWxzZSB7CisgICAgICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVNldFByb3BlcnR5KG1fZXh0
QXVkaW9GaWxlUmVmLCBrRXh0QXVkaW9GaWxlUHJvcGVydHlfQ2xpZW50RGF0YUZvcm1hdCwgc2l6
ZW9mKEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksICZvdXRGb3JtYXQpICE9IG5vRXJyKQor
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgLy8gUmVhZCBmcm9tIHRoZSBm
aWxlIChvciBpbi1tZW1vcnkgdmVyc2lvbikKKyAgICAgICAgVUludDMyIGZyYW1lc1RvUmVhZCA9
IG51bWJlck9mRnJhbWVzOworICAgICAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVSZWFkKG1fZXh0
QXVkaW9GaWxlUmVmLCAmZnJhbWVzVG9SZWFkLCBidWZmZXJMaXN0KSAhPSBub0VycikKKyAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIGlmIChtaXhUb01vbm8gJiYgbnVt
YmVyT2ZDaGFubmVscyA9PSAyKSB7CkBAIC0yNDMsOSArNTczLDYgQEAgUmVmUHRyPEF1ZGlvQnVz
PiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRv
TW9ubykKICAgICAgICAgICAgIGRlc3RMW2ldID0gMC41ZiAqIChsZWZ0Q2hhbm5lbFtpXSArIHJp
Z2h0Q2hhbm5lbFtpXSk7CiAgICAgfQogCi0gICAgLy8gQ2xlYW51cAotICAgIGRlc3Ryb3lBdWRp
b0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7Ci0KICAgICByZXR1cm4gYXVkaW9CdXM7CiB9CiAKQEAg
LTI1NSw2ICs1ODIsMTMgQEAgUmVmUHRyPEF1ZGlvQnVzPiBjcmVhdGVCdXNGcm9tSW5NZW1vcnlB
dWRpb0ZpbGUoY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGRhdGFTaXoKICAgICByZXR1cm4gcmVh
ZGVyLmNyZWF0ZUJ1cyhzYW1wbGVSYXRlLCBtaXhUb01vbm8pOwogfQogCisjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECitXVEZMb2dDaGFubmVsJiBBdWRpb0ZpbGVSZWFkZXI6OmxvZ0NoYW5uZWwo
KSBjb25zdAoreworICAgIHJldHVybiBMb2dNZWRpYTsKK30KKyNlbmRpZgorCiB9IC8vIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVESU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaAppbmRl
eCAwYmJiYmEyNzg1N2Q5NzllY2M2ODhmODdmMDMzOWY2NjVlZjQyNTI5Li44NmM5YjcxMzY4YjQ1
MTdkZTNkNWY4OTk0ODBmMGI1YTQ1YTM0NjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmgKQEAgLTMy
LDIwICszMiwyOSBAQAogI2lmIEVOQUJMRShXRUJfQVVESU8pCiAKICNpbmNsdWRlIDxDb3JlQXVk
aW8vQ29yZUF1ZGlvVHlwZXMuaD4KKyNpbmNsdWRlIDxvcHRpb25hbD4KKyNpbmNsdWRlIDx3dGYv
TG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiB1c2luZyBFeHRBdWRp
b0ZpbGVSZWYgPSBzdHJ1Y3QgT3BhcXVlRXh0QXVkaW9GaWxlKjsKIHVzaW5nIEF1ZGlvRmlsZUlE
ID0gc3RydWN0IE9wYXF1ZUF1ZGlvRmlsZUlEKjsKK3R5cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2Ft
cGxlQnVmZmVyKiBDTVNhbXBsZUJ1ZmZlclJlZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBBdWRpb0J1czsKK2NsYXNzIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk07CitjbGFzcyBBdWRp
b0ZpbGVSZWFkZXJXZWJNRGF0YTsKIAogLy8gV3JhcHBlciBjbGFzcyBmb3IgQXVkaW9GaWxlIGFu
ZCBFeHRBdWRpb0ZpbGUgQ29yZUF1ZGlvIEFQSXMgZm9yIHJlYWRpbmcgZmlsZXMgYW5kIGluLW1l
bW9yeSB2ZXJzaW9ucyBvZiB0aGVtLi4uCiAKLWNsYXNzIEF1ZGlvRmlsZVJlYWRlciB7CitjbGFz
cyBBdWRpb0ZpbGVSZWFkZXIKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICA6IHB1Ymxp
YyBMb2dnZXJIZWxwZXIKKyNlbmRpZgorewogcHVibGljOgotICAgIGV4cGxpY2l0IEF1ZGlvRmls
ZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpemUpOworICAgIEF1ZGlvRmls
ZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpemUpOwogICAgIH5BdWRpb0Zp
bGVSZWFkZXIoKTsKIAogICAgIFJlZlB0cjxBdWRpb0J1cz4gY3JlYXRlQnVzKGZsb2F0IHNhbXBs
ZVJhdGUsIGJvb2wgbWl4VG9Nb25vKTsgLy8gUmV0dXJucyBudWxscHRyIG9uIGVycm9yCkBAIC01
Myw5ICs2MiwyNSBAQCBwdWJsaWM6CiAgICAgY29uc3Qgdm9pZCogZGF0YSgpIGNvbnN0IHsgcmV0
dXJuIG1fZGF0YTsgfQogICAgIHNpemVfdCBkYXRhU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0
YVNpemU7IH0KIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IExvZ2dlciYg
bG9nZ2VyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBjb25z
dCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlm
aWVyOyB9CisgICAgV1RGTG9nQ2hhbm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0IGZpbmFsOworICAg
IGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJBdWRpb0Zp
bGVSZWFkZXJDb2NvYSI7IH0KKyNlbmRpZgorCiBwcml2YXRlOgorI2lmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCisgICAgYm9vbCBpc01heWJlV2ViTShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3Qg
ZGF0YVNpemUpIGNvbnN0OworICAgIHN0ZDo6dW5pcXVlX3B0cjxBdWRpb0ZpbGVSZWFkZXJXZWJN
RGF0YT4gZGVtdXhXZWJNRGF0YShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YVNpemUp
IGNvbnN0OworICAgIFZlY3RvcjxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPiBnZXRQYWNr
ZXREZXNjcmlwdGlvbnMoQ01TYW1wbGVCdWZmZXJSZWYpIGNvbnN0OworICAgIHN0ZDo6b3B0aW9u
YWw8c2l6ZV90PiBkZWNvZGVXZWJNRGF0YShBdWRpb0J1ZmZlckxpc3QmLCBzaXplX3QgbnVtYmVy
T2ZGcmFtZXMsIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgaW5Gb3JtYXQsIGNv
bnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYgb3V0Rm9ybWF0KSBjb25zdDsKKyNlbmRp
ZgogICAgIHN0YXRpYyBPU1N0YXR1cyByZWFkUHJvYyh2b2lkKiBjbGllbnREYXRhLCBTSW50NjQg
cG9zaXRpb24sIFVJbnQzMiByZXF1ZXN0Q291bnQsIHZvaWQqIGJ1ZmZlciwgVUludDMyKiBhY3R1
YWxDb3VudCk7CiAgICAgc3RhdGljIFNJbnQ2NCBnZXRTaXplUHJvYyh2b2lkKiBjbGllbnREYXRh
KTsKKyAgICBzc2l6ZV90IG51bWJlck9mRnJhbWVzKCkgY29uc3Q7CisgICAgc3RkOjpvcHRpb25h
bDxBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24+IGZpbGVEYXRhRm9ybWF0KCkgY29uc3Q7Cisg
ICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIGNsaWVudERhdGFGb3JtYXQoY29uc3QgQXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwgZmxvYXQgc2FtcGxlUmF0ZSkgY29u
c3Q7CiAKICAgICBjb25zdCB2b2lkKiBtX2RhdGEgPSB7IG51bGxwdHIgfTsKICAgICBzaXplX3Qg
bV9kYXRhU2l6ZSA9IHsgMCB9OwpAQCAtNjMsOCArODgsMTMgQEAgcHJpdmF0ZToKICAgICBBdWRp
b0ZpbGVJRCBtX2F1ZGlvRmlsZUlEID0geyBudWxscHRyIH07CiAgICAgRXh0QXVkaW9GaWxlUmVm
IG1fZXh0QXVkaW9GaWxlUmVmID0geyBudWxscHRyIH07CiAKLSAgICBBdWRpb1N0cmVhbUJhc2lj
RGVzY3JpcHRpb24gbV9maWxlRGF0YUZvcm1hdDsKLSAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3Jp
cHRpb24gbV9jbGllbnREYXRhRm9ybWF0OworICAgIHN0ZDo6dW5pcXVlX3B0cjxBdWRpb0ZpbGVS
ZWFkZXJXZWJNRGF0YT4gbV93ZWJtRGF0YTsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAor
ICAgIGNvbnN0IFJlZjxMb2dnZXI+IG1fbG9nZ2VyOworICAgIGNvbnN0IHZvaWQqIG1fbG9nSWRl
bnRpZmllcjsKKyNlbmRpZgorCiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCmluZGV4IGEx
ZTcxYmQ1MjIzMjI0MjU3MTZjNmI5ZTVhY2VkMDZlNTU4MjkzM2EuLjZhZTNiNWNkMWYyZWZkNjIz
OWZiMzRkMDEzYTU4Nzc2ZjQxOGM2ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCkBAIC0zMyw3
ICszMyw2IEBACiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLXR5cGVkZWYgY29uc3Qgc3RydWN0IG9wYXF1ZUNN
Rm9ybWF0RGVzY3JpcHRpb24gKkNNRm9ybWF0RGVzY3JpcHRpb25SZWY7CiB0eXBlZGVmIHN0cnVj
dCBvcGFxdWVDTVNhbXBsZUJ1ZmZlciAqQ01TYW1wbGVCdWZmZXJSZWY7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29h
L0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQppbmRleCBkMmI1YWM0NWYzMGZkNGEzYWY1
MWI0MjBkZTM3NjQ5YjExNTFjMjI3Li43MGRjMjQ4NGE1ZWQ2Njg4OWZjYTMzZWUyOTFlYzEwNmE1
ZjlmOWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9B
dWRpb1NhbXBsZURhdGFTb3VyY2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCkBAIC0zOSw2ICszOSw3IEBACiAjaW1w
b3J0IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAK
KyNpbXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5oPgogI2ltcG9ydCA8cGFsL2Nm
L0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTY3LDcgKzY4
LDcgQEAgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2Uoc2l6ZV90
IG1heGltdW1TYW1wbGVDb3VudCwgTG9nZ2VySGUKIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6fkF1
ZGlvU2FtcGxlRGF0YVNvdXJjZSgpCiB7CiAgICAgaWYgKG1fY29udmVydGVyKQotICAgICAgICBB
dWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOworICAgICAgICBQQUw6OkF1ZGlvQ29u
dmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CiB9CiAKIE9TU3RhdHVzIEF1ZGlvU2FtcGxlRGF0
YVNvdXJjZTo6c2V0dXBDb252ZXJ0ZXIoKQpAQCAtNzUsMTQgKzc2LDE0IEBAIE9TU3RhdHVzIEF1
ZGlvU2FtcGxlRGF0YVNvdXJjZTo6c2V0dXBDb252ZXJ0ZXIoKQogICAgIEFTU0VSVChtX2lucHV0
RGVzY3JpcHRpb24gJiYgbV9vdXRwdXREZXNjcmlwdGlvbik7CiAKICAgICBpZiAobV9jb252ZXJ0
ZXIpIHsKLSAgICAgICAgQXVkaW9Db252ZXJ0ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKKyAgICAg
ICAgUEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252ZXJ0ZXIpOwogICAgICAgICBtX2Nv
bnZlcnRlciA9IG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKCptX2lucHV0RGVzY3JpcHRpb24g
PT0gKm1fb3V0cHV0RGVzY3JpcHRpb24pCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgT1NTdGF0
dXMgZXJyID0gQXVkaW9Db252ZXJ0ZXJOZXcoJm1faW5wdXREZXNjcmlwdGlvbi0+c3RyZWFtRGVz
Y3JpcHRpb24oKSwgJm1fb3V0cHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0aW9uKCksICZt
X2NvbnZlcnRlcik7CisgICAgT1NTdGF0dXMgZXJyID0gUEFMOjpBdWRpb0NvbnZlcnRlck5ldygm
bV9pbnB1dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9vdXRwdXREZXNjcmlw
dGlvbi0+c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fY29udmVydGVyKTsKICAgICBpZiAoZXJyKSB7
CiAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9
IG1ha2VSZWZQdHIoKnRoaXMpLCBlcnJdIHsKICAgICAgICAgICAgIEVSUk9SX0xPRygiQXVkaW9D
b252ZXJ0ZXJOZXcgcmV0dXJuZWQgZXJyb3IgIiwgZXJyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbQppbmRl
eCBlM2Q2ZmFjNzA0MzY5NmZjN2VlMmE5MjE1ZGIyMWE4ZjdkZjgyNWE1Li5hMzJkZjYyMDQ4ZDMy
ZDdiMTM0ZGJmNTZkYTAwN2I3MGVjMjQ3M2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLm1tCkBAIC0yOCw2
ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoR0FNRVBBRCkgJiYgUExBVEZPUk0oTUFDKQogCisjaW1w
b3J0ICJHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5oIgogI2ltcG9ydCAiR2FtZXBhZFBy
b3ZpZGVyQ2xpZW50LmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUdh
bWVwYWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Ry
YWNrUHJpdmF0ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJh
Y2tQcml2YXRlQmFzZS5jcHAKaW5kZXggNGQ4ZWU2MmUwMWI4ZWFlYmFjYzZkMjhiM2EwOTg1Mjk1
MmM1ZDgwYS4uYzA2NmMyZDQ4Nzk3YTRhYWIzYjliZTJhMGVkZDRkODM4YjRiZjVjMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFz
ZS5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoVklERU8pCiAKICNpbmNsdWRlICJM
b2dnaW5nLmgiCi0jaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmgKaW5k
ZXggZDAzY2RjOGRkNjI1NDE2MDk5YTUzNzEzNWVlMTFlYzkxMDczNmEwMi4uNTQ1ZjBiZTFjNTBj
YmZlNDE3MDE4MDM1NmY4OGNlM2M1NTJjODZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTYW1wbGVBVkZPYmpDLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBQaXhlbEJ1ZmZlcjsKIAotY2xhc3MgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1w
bGVBVkZPYmpDIDogcHVibGljIE1lZGlhU2FtcGxlIHsKK2NsYXNzIE1lZGlhU2FtcGxlQVZGT2Jq
QyA6IHB1YmxpYyBNZWRpYVNhbXBsZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNZWRpYVNh
bXBsZUFWRk9iakM+IGNyZWF0ZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIHVpbnQ2NF90IHRy
YWNrSUQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFTYW1wbGVBVkZPYmpDKHNhbXBsZSwg
dHJhY2tJRCkpOyB9CiAgICAgc3RhdGljIFJlZjxNZWRpYVNhbXBsZUFWRk9iakM+IGNyZWF0ZShD
TVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIEF0b21TdHJpbmcgdHJhY2tJRCkgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0KQEAgLTQ0
LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldEFz
RGlzcGxheUltbWVkaWF0ZWx5KE1lZGlhU2FtcGxlJik7CiAgICAgc3RhdGljIFJldGFpblB0cjxD
TVNhbXBsZUJ1ZmZlclJlZj4gY2xvbmVTYW1wbGVCdWZmZXJBbmRTZXRBc0Rpc3BsYXlJbW1lZGlh
dGVseShDTVNhbXBsZUJ1ZmZlclJlZik7CiAKLSAgICBSZWZQdHI8SlNDOjpVaW50OENsYW1wZWRB
cnJheT4gZ2V0UkdCQUltYWdlRGF0YSgpIGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQ
T1JUIFJlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5PiBnZXRSR0JBSW1hZ2VEYXRhKCkgY29u
c3Qgb3ZlcnJpZGU7CiAKICAgICBNZWRpYVRpbWUgcHJlc2VudGF0aW9uVGltZSgpIGNvbnN0IG92
ZXJyaWRlOwogICAgIE1lZGlhVGltZSBkZWNvZGVUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC01
OSwxNiArNTksMTYgQEAgcHVibGljOgogICAgIFNhbXBsZUZsYWdzIGZsYWdzKCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgUGxhdGZvcm1TYW1wbGUgcGxhdGZvcm1TYW1wbGUoKSBvdmVycmlkZTsKICAg
ICBzdGQ6Om9wdGlvbmFsPEJ5dGVSYW5nZT4gYnl0ZVJhbmdlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0g
ICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBv
ZmZzZXRUaW1lc3RhbXBzQnkoY29uc3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBz
ZXRUaW1lc3RhbXBzKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYpIG92ZXJyaWRl
OwotICAgIGJvb2wgaXNEaXZpc2FibGUoKSBjb25zdCBvdmVycmlkZTsKLSAgICBzdGQ6OnBhaXI8
UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVmUHRyPE1lZGlhU2FtcGxlPj4gZGl2aWRlKGNvbnN0IE1l
ZGlhVGltZSYgcHJlc2VudGF0aW9uVGltZSwgVXNlRW5kVGltZSkgb3ZlcnJpZGU7Ci0gICAgUmVm
PE1lZGlhU2FtcGxlPiBjcmVhdGVOb25EaXNwbGF5aW5nQ29weSgpIGNvbnN0IG92ZXJyaWRlOwor
ICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNEaXZpc2FibGUoKSBjb25zdCBvdmVycmlkZTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBzdGQ6OnBhaXI8UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVmUHRyPE1l
ZGlhU2FtcGxlPj4gZGl2aWRlKGNvbnN0IE1lZGlhVGltZSYgcHJlc2VudGF0aW9uVGltZSwgVXNl
RW5kVGltZSkgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgUmVmPE1lZGlhU2FtcGxlPiBj
cmVhdGVOb25EaXNwbGF5aW5nQ29weSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgVmlkZW9Sb3Rh
dGlvbiB2aWRlb1JvdGF0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9yb3RhdGlvbjsg
fQogICAgIGJvb2wgdmlkZW9NaXJyb3JlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fbWly
cm9yZWQ7IH0KLSAgICB1aW50MzJfdCB2aWRlb1BpeGVsRm9ybWF0KCkgY29uc3QgZmluYWw7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdWludDMyX3QgdmlkZW9QaXhlbEZvcm1hdCgpIGNvbnN0IGZpbmFs
OwogCiAgICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyKCkgY29uc3QgeyByZXR1cm4g
bV9zYW1wbGUuZ2V0KCk7IH0KIApAQCAtNzgsMzQgKzc4LDE1IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldEJ5dGVSYW5nZU9mZnNldChzaXplX3QpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgTWVkaWFTYW1w
bGVBVkZPYmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4mJiBzYW1wbGUpCi0gICAgICAg
IDogbV9zYW1wbGUoV1RGTW92ZShzYW1wbGUpKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFTYW1w
bGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSkKLSAgICAgICAgOiBtX3NhbXBsZShz
YW1wbGUpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZm
ZXJSZWYgc2FtcGxlLCBBdG9tU3RyaW5nIHRyYWNrSUQpCi0gICAgICAgIDogbV9zYW1wbGUoc2Ft
cGxlKQotICAgICAgICAsIG1faWQodHJhY2tJRCkKLSAgICB7Ci0gICAgfQotICAgIE1lZGlhU2Ft
cGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQpCi0g
ICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgICAgICAsIG1faWQoQXRvbVN0cmluZzo6bnVt
YmVyKHRyYWNrSUQpKQotICAgIHsKLSAgICB9Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2Ft
cGxlQnVmZmVyUmVmIHNhbXBsZSwgVmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgYm9vbCBtaXJyb3Jl
ZCkKLSAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCi0gICAgICAgICwgbV9yb3RhdGlvbihyb3Rh
dGlvbikKLSAgICAgICAgLCBtX21pcnJvcmVkKG1pcnJvcmVkKQotICAgIHsKLSAgICB9CisgICAg
V0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZl
clJlZj4mJik7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxl
QnVmZmVyUmVmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1w
bGVCdWZmZXJSZWYsIEF0b21TdHJpbmcgdHJhY2tJRCk7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVk
aWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmLCB1aW50NjRfdCB0cmFja0lEKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYsIFZp
ZGVvUm90YXRpb24sIGJvb2wgbWlycm9yZWQpOworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwg
fk1lZGlhU2FtcGxlQVZGT2JqQygpOwogCiAgICAgc3RkOjpvcHRpb25hbDxNZWRpYVNhbXBsZTo6
Qnl0ZVJhbmdlPiBieXRlUmFuZ2VGb3JBdHRhY2htZW50KENGU3RyaW5nUmVmIGtleSkgY29uc3Q7
CiAKLSAgICB2aXJ0dWFsIH5NZWRpYVNhbXBsZUFWRk9iakMoKSA9IGRlZmF1bHQ7CiAgICAgUmV0
YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBtX3NhbXBsZTsKICAgICBBdG9tU3RyaW5nIG1faWQ7
CiAgICAgVmlkZW9Sb3RhdGlvbiBtX3JvdGF0aW9uIHsgVmlkZW9Sb3RhdGlvbjo6Tm9uZSB9OwpA
QCAtMTEzLDQgKzk0LDMgQEAgcHJvdGVjdGVkOgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0KaW5kZXgg
YzBmMTNkNmVhNWM5NzU3NjdjZThmNjJhYjY4NDJkN2Q2ZjBmYmI2Yi4uY2YzYzM0MTBhMzhhZGVj
NDk1N2M5NzE0MmIzMjQyMjRkNWFmZDgxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhU2FtcGxlQVZGT2JqQy5tbQpAQCAtNDUsNiArNDUsMzMgQEAgc3RydWN0IFdURjo6Q0ZUeXBl
VHJhaXQ8Q01TYW1wbGVCdWZmZXJSZWY+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitNZWRp
YVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZm
ZXJSZWY+JiYgc2FtcGxlKQorICAgIDogbV9zYW1wbGUoV1RGTW92ZShzYW1wbGUpKQoreworfQor
TWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYg
c2FtcGxlKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQoreworfQorTWVkaWFTYW1wbGVBVkZPYmpD
OjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCBBdG9tU3RyaW5n
IHRyYWNrSUQpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCisgICAgLCBtX2lkKHRyYWNrSUQpCit7
Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZl
clJlZiBzYW1wbGUsIHVpbnQ2NF90IHRyYWNrSUQpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCisg
ICAgLCBtX2lkKEF0b21TdHJpbmc6Om51bWJlcih0cmFja0lEKSkKK3sKK30KK01lZGlhU2FtcGxl
QVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgVmlk
ZW9Sb3RhdGlvbiByb3RhdGlvbiwgYm9vbCBtaXJyb3JlZCkKKyAgICA6IG1fc2FtcGxlKHNhbXBs
ZSkKKyAgICAsIG1fcm90YXRpb24ocm90YXRpb24pCisgICAgLCBtX21pcnJvcmVkKG1pcnJvcmVk
KQoreworfQorCitNZWRpYVNhbXBsZUFWRk9iakM6On5NZWRpYVNhbXBsZUFWRk9iakMoKSA9IGRl
ZmF1bHQ7CisKIFJlZlB0cjxNZWRpYVNhbXBsZUFWRk9iakM+IE1lZGlhU2FtcGxlQVZGT2JqQzo6
Y3JlYXRlSW1hZ2VTYW1wbGUoUGl4ZWxCdWZmZXImJiBwaXhlbEJ1ZmZlcikKIHsKICAgICBhdXRv
IHNpemUgPSBwaXhlbEJ1ZmZlci5zaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lv
blNlc3Npb24ubW0KaW5kZXggOGVlZjNiMmVhNjA0YmQxOTgzZDc3ZDM4YmY1MjFhOGQyMWYyMGVk
MC4uZDFjODQ0ODgzNjc0MGZkYjc1YzQwYWM5M2Y3ZGQwOWQ3OGYwMzAwMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Np
b25TZXNzaW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQpAQCAtMzEsMTAgKzMxLDEwIEBACiAjaW1w
b3J0IDxDb3JlTWVkaWEvQ01CdWZmZXJRdWV1ZS5oPgogI2ltcG9ydCA8Q29yZU1lZGlhL0NNRm9y
bWF0RGVzY3JpcHRpb24uaD4KICNpbXBvcnQgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZG
b3VuZGF0aW9uLmg+Ci0jaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KICNpbXBv
cnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvTWVkaWFUaW1lLmg+CiAjaW1wb3J0
IDx3dGYvTW9ub3RvbmljVGltZS5oPgorI2ltcG9ydCA8d3RmL1J1bkxvb3AuaD4KICNpbXBvcnQg
PHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogI2ltcG9y
dCA8d3RmL1dURlNlbWFwaG9yZS5oPgpAQCAtNDIsNiArNDIsNyBAQAogCiAjaW1wb3J0ICJDb3Jl
VmlkZW9Tb2Z0TGluay5oIgogI2ltcG9ydCAiVmlkZW9Ub29sYm94U29mdExpbmsuaCIKKyNpbXBv
cnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogCiAvLyBFcXVpdmFsZW50IHRvIFdURl9E
RUNMQVJFX0NGX1RZUEVfVFJBSVQoQ01TYW1wbGVCdWZmZXIpOwogLy8gTmVlZGVkIGR1ZSB0byBy
ZXF1aXJlbWVudCBvZiBzcGVjaWZ5aW5nIHRoZSBQQUwgbmFtZXNwYWNlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVz
Q29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRp
b1V0aWxpdGllc0NvY29hLmgKaW5kZXggZmVjZTgxMjliZDdmN2ZkZWQ2YTgwNGJhNTJmNzk1MjYx
ZmU2NWQzMC4uODcxMDRkOGI3YjM1N2MxNjBiNmRjY2M0MWJmZTFmODllMGE2YzI3MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRp
bGl0aWVzQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCkBAIC0zNCw3ICszNCw4IEBAIHR5cGVkZWYgY29u
c3Qgc3RydWN0IG9wYXF1ZUNNRm9ybWF0RGVzY3JpcHRpb24qIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCBpc1ZvcmJpc0RlY29kZXJBdmFpbGFi
bGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgaXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKCk7CitX
RUJDT1JFX0VYUE9SVCBib29sIHJlZ2lzdGVyVm9yYmlzRGVjb2RlcklmTmVlZGVkKCk7CiBSZXRh
aW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlVm9yYmlzQXVkaW9Gb3JtYXREZXNj
cmlwdGlvbihzaXplX3QsIGNvbnN0IHZvaWQqKTsKIAogc3RydWN0IE9wdXNDb29raWVDb250ZW50
cyB7CkBAIC01Miw3ICs1Myw4IEBAIHN0cnVjdCBPcHVzQ29va2llQ29udGVudHMgewogICAgIGJv
b2wgaGFzUGFkZGluZyB7IGZhbHNlIH07CiB9OwogCi1ib29sIGlzT3B1c0RlY29kZXJBdmFpbGFi
bGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgaXNPcHVzRGVjb2RlckF2YWlsYWJsZSgpOworV0VC
Q09SRV9FWFBPUlQgYm9vbCByZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKIGJvb2wgcGFy
c2VPcHVzUHJpdmF0ZURhdGEoc2l6ZV90IHByaXZhdGVEYXRhU2l6ZSwgY29uc3Qgdm9pZCogcHJp
dmF0ZURhdGEsIHNpemVfdCBmcmFtZURhdGFTaXplLCBjb25zdCB2b2lkKiBmcmFtZURhdGEsIE9w
dXNDb29raWVDb250ZW50cyYpOwogUmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25SZWY+IGNy
ZWF0ZU9wdXNBdWRpb0Zvcm1hdERlc2NyaXB0aW9uKGNvbnN0IE9wdXNDb29raWVDb250ZW50cyYp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tCmluZGV4IDA2YmQ0OGFlMGQzZDY5
MTI1MGI4YTI3NTdkMDI1NmQ0NDg1OWZjYzQuLjBlMWViMWI3OThhM2M3ZWE2N2VhYjc1YmEzNmU1
ODVhZGQ4YzEwYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLm1tCkBAIC0zMiwy
MiArMzIsMjggQEAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk1lZGlhVXRpbGl0aWVz
LmgiCiAjaW1wb3J0ICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKKyNpbXBvcnQgPEF1
ZGlvVG9vbGJveC9BdWRpb0NvZGVjLmg+CiAjaW1wb3J0IDxBdWRpb1Rvb2xib3gvQXVkaW9Db21w
b25lbnQuaD4KICNpbXBvcnQgPEF1ZGlvVG9vbGJveC9BdWRpb0Zvcm1hdC5oPgogI2ltcG9ydCA8
Q29yZU1lZGlhL0NNRm9ybWF0RGVzY3JpcHRpb24uaD4KICNpbXBvcnQgPGRsZmNuLmg+CiAjaW1w
b3J0IDx3dGYvRmxpcEJ5dGVzLmg+CiAjaW1wb3J0IDx3dGYvU2Vjb25kcy5oPgotCiAjaWYgRU5B
QkxFKE9QVVMpCiAjaW1wb3J0IDxsaWJ3ZWJydGMvb3B1c19kZWZpbmVzLmg+CiAjZW5kaWYKKyNp
bXBvcnQgPHBhbC9jZi9BdWRpb1Rvb2xib3hTb2Z0TGluay5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICNpZiBFTkFCTEUoVk9SQklTKSB8fCBFTkFCTEUoT1BVUykKIHN0YXRpYyBib29sIHJl
Z2lzdGVyRGVjb2RlckZhY3RvcnkoY29uc3QgY2hhciogZGVjb2Rlck5hbWUsIE9TVHlwZSBkZWNv
ZGVyVHlwZSkKIHsKKyAgICBBdWRpb0NvbXBvbmVudERlc2NyaXB0aW9uIGRlc2MgeyBrQXVkaW9E
ZWNvZGVyQ29tcG9uZW50VHlwZSwgZGVjb2RlclR5cGUsICdhcHBsJywga0F1ZGlvQ29tcG9uZW50
RmxhZ19TYW5kYm94U2FmZSwgMCB9OworICAgIEF1ZGlvQ29tcG9uZW50IGNvbXAgPSBQQUw6OkF1
ZGlvQ29tcG9uZW50RmluZE5leHQoMCwgJmRlc2MpOworICAgIGlmIChjb21wKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsgLy8gQWxyZWFkeSByZWdpc3RlcmVkLgorCiAgICAgY29uc3RleHByIGNoYXIg
YXVkaW9Db21wb25lbnRzRHlsaWJbXSA9ICIvU3lzdGVtL0xpYnJhcnkvQ29tcG9uZW50cy9BdWRp
b0NvZGVjcy5jb21wb25lbnQvQ29udGVudHMvTWFjT1MvQXVkaW9Db2RlY3MiOwogICAgIHZvaWQg
KmhhbmRsZSA9IGRsb3BlbihhdWRpb0NvbXBvbmVudHNEeWxpYiwgUlRMRF9MQVpZIHwgUlRMRF9M
T0NBTCk7CiAgICAgaWYgKCFoYW5kbGUpCkBAIC01Nyw3ICs2Myw2IEBAIHN0YXRpYyBib29sIHJl
Z2lzdGVyRGVjb2RlckZhY3RvcnkoY29uc3QgY2hhciogZGVjb2Rlck5hbWUsIE9TVHlwZSBkZWNv
ZGVyVHlwZSkKICAgICBpZiAoIWRlY29kZXJGYWN0b3J5KQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKLSAgICBBdWRpb0NvbXBvbmVudERlc2NyaXB0aW9uIGRlc2MgeyAnYWRlYycsIGRlY29kZXJU
eXBlLCAnYXBwbCcsIGtBdWRpb0NvbXBvbmVudEZsYWdfU2FuZGJveFNhZmUsIDAgfTsKICAgICBp
ZiAoIUF1ZGlvQ29tcG9uZW50UmVnaXN0ZXIoJmRlc2MsIENGU1RSKCIiKSwgMCwgZGVjb2RlckZh
Y3RvcnkpKSB7CiAgICAgICAgIGRsY2xvc2UoaGFuZGxlKTsKICAgICAgICAgcmV0dXJuIGZhbHNl
OwpAQCAtNzEsNyArNzYsNyBAQCBzdGF0aWMgUmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25S
ZWY+IGNyZWF0ZUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25Gb3JGb3JtYXQoTwogICAgIEF1ZGlvU3Ry
ZWFtQmFzaWNEZXNjcmlwdGlvbiBhc2JkIHsgfTsKICAgICBhc2JkLm1Gb3JtYXRJRCA9IGZvcm1h
dElEOwogICAgIHVpbnQzMl90IHNpemUgPSBzaXplb2YoYXNiZCk7Ci0gICAgYXV0byBlcnJvciA9
IEF1ZGlvRm9ybWF0R2V0UHJvcGVydHkoa0F1ZGlvRm9ybWF0UHJvcGVydHlfRm9ybWF0SW5mbywg
bWFnaWNDb29raWUuc2l6ZSgpLCBtYWdpY0Nvb2tpZS5kYXRhKCksICZzaXplLCAmYXNiZCk7Cisg
ICAgYXV0byBlcnJvciA9IFBBTDo6QXVkaW9Gb3JtYXRHZXRQcm9wZXJ0eShrQXVkaW9Gb3JtYXRQ
cm9wZXJ0eV9Gb3JtYXRJbmZvLCBtYWdpY0Nvb2tpZS5zaXplKCksIG1hZ2ljQ29va2llLmRhdGEo
KSwgJnNpemUsICZhc2JkKTsKICAgICBpZiAoZXJyb3IpIHsKICAgICAgICAgUkVMRUFTRV9MT0df
RVJST1IoTWVkaWEsICJjcmVhdGVBdWRpb0Zvcm1hdERlc2NyaXB0aW9uRm9yRm9ybWF0IGZhaWxl
ZCB3aXRoIGVycm9yICVkICglLjRzKSIsIGVycm9yLCAoY2hhciAqKSZlcnJvcik7CiAgICAgICAg
IHJldHVybiBudWxscHRyOwpAQCAtMzI2LDE5ICszMzEsMzAgQEAgc3RhdGljIFZlY3Rvcjx1aW50
OF90PiBjb29raWVGcm9tT3B1c0Nvb2tpZUNvbnRlbnRzKGNvbnN0IE9wdXNDb29raWVDb250ZW50
cyYgY28KIAogYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCkKIHsKLSAgICBzdGF0aWMgYm9v
bCBhdmFpbGFibGU7Ci0KICNpZiBFTkFCTEUoT1BVUykgJiYgUExBVEZPUk0oTUFDKQogICAgIGlm
ICghUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpvcHVzRGVjb2RlckVuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgcmV0dXJuIHJlZ2lzdGVyT3B1c0RlY29kZXJJZk5l
ZWRlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworYm9vbCByZWdp
c3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKQoreworI2lmIEVOQUJMRShPUFVTKSAmJiBQTEFURk9S
TShNQUMpCisgICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOworCiAgICAgc3RhdGljIGRpc3BhdGNo
X29uY2VfdCBvbmNlVG9rZW47CiAgICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewotICAg
ICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJBQ09wdXNEZWNvZGVyRmFj
dG9yeSIsICdvcHVzJyk7CisgICAgICAgIGF2YWlsYWJsZSA9IHJlZ2lzdGVyRGVjb2RlckZhY3Rv
cnkoIkFDT3B1c0RlY29kZXJGYWN0b3J5Iiwga0F1ZGlvRm9ybWF0T3B1cyk7CiAgICAgfSk7Ci0j
ZW5kaWYKIAogICAgIHJldHVybiBhdmFpbGFibGU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsK
KyNlbmRpZgogfQogCiBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlT3B1
c0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oY29uc3QgT3B1c0Nvb2tpZUNvbnRlbnRzJiBjb29raWVD
b250ZW50cykKQEAgLTQxOCwxOSArNDM0LDMwIEBAIHN0YXRpYyBWZWN0b3I8dWludDhfdD4gY29v
a2llRnJvbVZvcmJpc0NvZGVjUHJpdmF0ZShzaXplX3QgY29kZWNQcml2YXRlU2l6ZSwgY29uCiAK
IGJvb2wgaXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKCkKIHsKLSAgICBzdGF0aWMgYm9vbCBhdmFp
bGFibGU7Ci0KICNpZiBFTkFCTEUoVk9SQklTKSAmJiBQTEFURk9STShNQUMpCiAgICAgaWYgKCFQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnZvcmJpc0RlY29kZXJFbmFibGVkKCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAorICAgIHJldHVybiByZWdpc3RlclZvcmJpc0RlY29kZXJJZk5l
ZWRlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworYm9vbCByZWdp
c3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpCit7CisjaWYgRU5BQkxFKFZPUkJJUykgJiYgUExB
VEZPUk0oTUFDKQorICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZTsKKwogICAgIHN0YXRpYyBkaXNw
YXRjaF9vbmNlX3Qgb25jZVRva2VuOwogICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsK
ICAgICAgICAgYXZhaWxhYmxlID0gcmVnaXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNWb3JiaXNEZWNv
ZGVyRmFjdG9yeSIsICd2b3JiJyk7CiAgICAgfSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBhdmFp
bGFibGU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiBSZXRhaW5QdHI8
Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gY3JlYXRlVm9yYmlzQXVkaW9Gb3JtYXREZXNjcmlwdGlv
bihzaXplX3QgcHJpdmF0ZURhdGFTaXplLCBjb25zdCB2b2lkKiBwcml2YXRlRGF0YSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3MucGxpc3Qg
Yi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0CmluZGV4
IGFlNGVlNDU3YTIxMzEzMzhmNmE1Yjc1ZWQ3NWY2MzZmM2EwZjUyNjAuLmYxYjRhYWFlZTBiMTcx
NDdkMzY1ZmMxZTJiZjc3NjMwOThiMjdhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVh
dHVyZUZsYWdzL1dlYktpdC1hcHBsZXR2b3MucGxpc3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0
dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdApAQCAtODcsNiArODcsMTEgQEAKICAgICAg
ICAgPGtleT5FbmFibGVkPC9rZXk+CiAgICAgICAgIDx0cnVlLz4KICAgICA8L2RpY3Q+CisgICAg
PGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+CisgICAgPGRpY3Q+CisgICAgICAgIDxrZXk+RW5hYmxl
ZDwva2V5PgorICAgICAgICA8dHJ1ZS8+CisgICAgPC9kaWN0PgogICAgIDxrZXk+UkJfZnVsbF9t
YW5hZ2VfV0tfamV0c2FtPC9rZXk+CiAgICAgPGRpY3Q+CiAgICAgICAgIDxrZXk+RW5hYmxlZDwv
a2V5PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5w
bGlzdCBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxpc3QKaW5kZXgg
NjIxYzkyMTY2Yzg5MmNiNTQxY2ZhNzZiNjIzODE1NjY4YTFlYzI3Ny4uNTBkMDNjZmJkNzQxNzU4
ZGE5M2RmMjZlZjg4ODMyOGY3NDRkZTM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9GZWF0
dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFn
cy9XZWJLaXQtaW9zLnBsaXN0CkBAIC04Nyw2ICs4NywxMSBAQAogICAgICAgICA8a2V5PkVuYWJs
ZWQ8L2tleT4KICAgICAgICAgPHRydWUvPgogICAgIDwvZGljdD4KKyAgICA8a2V5PndlYm1fd2Vi
YXVkaW88L2tleT4KKyAgICA8ZGljdD4KKyAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CisgICAg
ICAgIDx0cnVlLz4KKyAgICA8L2RpY3Q+CiAgICAgPGtleT5SQl9mdWxsX21hbmFnZV9XS19qZXRz
YW08L2tleT4KICAgICA8ZGljdD4KICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3QgYi9Tb3Vy
Y2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3QKaW5kZXggNjIxYzkyMTY2
Yzg5MmNiNTQxY2ZhNzZiNjIzODE1NjY4YTFlYzI3Ny4uNTBkMDNjZmJkNzQxNzU4ZGE5M2RmMjZl
Zjg4ODMyOGY3NDRkZTM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3Mv
V2ViS2l0LW1hY29zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktp
dC1tYWNvcy5wbGlzdApAQCAtODcsNiArODcsMTEgQEAKICAgICAgICAgPGtleT5FbmFibGVkPC9r
ZXk+CiAgICAgICAgIDx0cnVlLz4KICAgICA8L2RpY3Q+CisgICAgPGtleT53ZWJtX3dlYmF1ZGlv
PC9rZXk+CisgICAgPGRpY3Q+CisgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgorICAgICAgICA8
dHJ1ZS8+CisgICAgPC9kaWN0PgogICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9r
ZXk+CiAgICAgPGRpY3Q+CiAgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3QgYi9Tb3VyY2Uv
V2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtd2F0Y2hvcy5wbGlzdAppbmRleCBhZTRlZTQ1N2Ey
MTMxMzM4ZjZhNWI3NWVkNzVmNjM2ZjNhMGY1MjYwLi5mMWI0YWFhZWUwYjE3MTQ3ZDM2NWZjMWUy
YmY3NzYzMDk4YjI3YTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9X
ZWJLaXQtd2F0Y2hvcy5wbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJL
aXQtd2F0Y2hvcy5wbGlzdApAQCAtODcsNiArODcsMTEgQEAKICAgICAgICAgPGtleT5FbmFibGVk
PC9rZXk+CiAgICAgICAgIDx0cnVlLz4KICAgICA8L2RpY3Q+CisgICAgPGtleT53ZWJtX3dlYmF1
ZGlvPC9rZXk+CisgICAgPGRpY3Q+CisgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgorICAgICAg
ICA8dHJ1ZS8+CisgICAgPC9kaWN0PgogICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2Ft
PC9rZXk+CiAgICAgPGRpY3Q+CiAgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCmluZGV4IDQ0YmE4ODU1NTlmMTFiMTJiOGE4NTFk
NzY5OTEzMjlkM2IxOWZmMjguLjVhNDlmZWYwODk0ODMyMWY3MGNjY2Y5NjY4NWE2NTcyNGE5MGEy
NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKQEAgLTQ1MSw3ICs0
NTEsNyBAQCB2b2lkIEdQVVByb2Nlc3M6OmVuYWJsZVZQOURlY29kZXJzKGJvb2wgc2hvdWxkRW5h
YmxlVlA4RGVjb2RlciwgYm9vbCBzaG91bGRFbmFibAogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUo
TUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiB2
b2lkIEdQVVByb2Nlc3M6OnNldFdlYk1QYXJzZXJFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAg
ICBpZiAobV93ZWJNUGFyc2VyRW5hYmxlZCA9PSBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzLmgKaW5kZXggNDljM2Q3NzFiZjE3NGQ4ZjlmZGNjOGQyNDFiMzEwNzZiMGM1
YjZhZi4uNTZkYmZlNDdjMjc4Y2JlZjRkZDU5OTlkNTU3YzhiODU2NWJjNjJjNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCkBAIC0xNDEsNyArMTQxLDcgQEAgcHJpdmF0ZToK
ICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBhZGRpdGlvbmFsU3RhdGVGb3JEaWFnbm9zdGlj
UmVwb3J0KCkgY29uc3QgZmluYWw7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
ICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICB2b2lkIHNldFdl
Yk1QYXJzZXJFbmFibGVkKGJvb2wpOwogI2VuZGlmCiAKQEAgLTE5NCw3ICsxOTQsNyBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9lbmFibGVWUDlEZWNvZGVyIHsgZmFsc2UgfTsKICAgICBib29sIG1f
ZW5hYmxlVlA5U1dEZWNvZGVyIHsgZmFsc2UgfTsKICNlbmRpZgotI2lmIEVOQUJMRShNRURJQV9T
T1VSQ0UpICYmIEVOQUJMRShWUDkpCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBib29s
IG1fd2ViTVBhcnNlckVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAjaWYgRU5BQkxFKFdFQk1f
Rk9STUFUX1JFQURFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3Mu
bWVzc2FnZXMuaW4KaW5kZXggNjkxZGE3OGQyY2Y5MzI4ZWE3OWUyNGMyZDY0NjIwMDM2YjVlNDI0
OS4uNGYwMTk2NTQzYTNkMDU4ZTAxNmMzOTY2ZWRhMTY0N2ZhNjFiYmIyNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTUxLDcgKzUx
LDcgQEAgbWVzc2FnZXMgLT4gR1BVUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGlzcGxh
eUNvbmZpZ3VyYXRpb25DaGFuZ2VkKENHRGlyZWN0RGlzcGxheUlEIGRpc3BsYXlJRCwgQ0dEaXNw
bGF5Q2hhbmdlU3VtbWFyeUZsYWdzIGZsYWdzKQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgU2V0
V2ViTVBhcnNlckVuYWJsZWQoYm9vbCBlbmFibGVkKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcAppbmRleCAy
YmE2Mjg3M2YzMmIzMWMwMzY5YTFhNTE0ZmYxY2IwMzg5MjRlYjczLi45NzJiZjFiZjc0MjM0MGRl
MTE4OTA3NDc4MTM2ODhjMTVkYzRjNzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKQEAgLTMzMiw2ICszMzIsMTUgQEAg
Ym9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKQogICAgIHJldHVybiB0cnVlOwogfQogCiti
b29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCkKK3sKKyNpZiBIQVZFKFNZU1RFTV9GRUFU
VVJFX0ZMQUdTKQorICAgIHJldHVybiBpc0ZlYXR1cmVGbGFnRW5hYmxlZCgid2VibV93ZWJhdWRp
byIpOworI2VuZGlmCisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKICNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU09VUkNFKQogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT05fQ09PUkRJTkFUT1IpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1
ZXMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5o
CmluZGV4IDM1YTJmNmZkZGQ3NTU0N2U2NDc4YWExNjlmZTBmYjkyOGM0YjFhNDguLjhiMzUzYzBm
MGU5NTVlZTkwMmM5MTRlZTZkZjlmMDFlNjZiYzVjMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCkBAIC0xMTEsNiArMTExLDcg
QEAgYm9vbCBkZWZhdWx0VlA5U1dEZWNvZGVyRW5hYmxlZE9uQmF0dGVyeSgpOwogCiAjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKIGJvb2wgZGVmYXVsdFdlYk1QYXJzZXJFbmFibGVkKCk7Citib29s
IGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFibGVkKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJ
QV9TRVNTSU9OX0NPT1JESU5BVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQppbmRleCBlZjU1MThhYWRiMDJkNWJmNWNi
ZjE2N2UxMjQwN2VlOTA3NDcxNWU3Li5lYjJjZDgyNmQzNzNhZTVhZDk4MzQwMzU4YmQ5Y2ZhYjI4
ZGI0YzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUHJveHlDb2NvYS5tbQpAQCAtMzgsNiArMzgsNyBAQAogI2ltcG9ydCAiV2ViUHJvY2Vz
c01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzUG9vbC5oIgogI2ltcG9ydCA8V2ViQ29y
ZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KKyNpbXBvcnQgPFdlYkNvcmUvV2ViTUF1ZGlv
VXRpbGl0aWVzQ29jb2EuaD4KICNpbXBvcnQgPHN5cy9zeXNjdGwuaD4KICNpbXBvcnQgPHd0Zi9O
ZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3RmL1Njb3BlLmg+CkBAIC0yOTUsNiArMjk2LDkg
QEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMo
KQogCiAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRD
SF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwgW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0
aGlzKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgIENGRGF0YVJlZiByZWdpc3RyYXRpb25zIHsgbnVs
bHB0ciB9OworCisgICAgICAgIFdlYkNvcmU6OnJlZ2lzdGVyT3B1c0RlY29kZXJJZk5lZWRlZCgp
OworICAgICAgICBXZWJDb3JlOjpyZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOwogICAg
ICAgICBpZiAobm9FcnIgIT0gQXVkaW9Db21wb25lbnRGZXRjaFNlcnZlclJlZ2lzdHJhdGlvbnMo
JnJlZ2lzdHJhdGlvbnMpIHx8ICFyZWdpc3RyYXRpb25zKQogICAgICAgICAgICAgcmV0dXJuOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCBhNTkyOTdhZjNmZGE1NWNmNTNkOWQ5MDgx
YWI5OTdjNGY3YmU1NDljLi43MWFjZDgwODg2ODM1OWZlMTY4MWI3MDRkYTVlYTUwNzllMzY0OTYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTg3LDYgKzg3LDcgQEAgYm9vbCBkZWZh
dWx0V2hlZWxFdmVudEdlc3R1cmVzQmVjb21lTm9uQmxvY2tpbmcoKTsKIAogI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCiBib29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpOworYm9vbCBkZWZh
dWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoVlA5KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0Rl
ZmF1bHRWYWx1ZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzRGVmYXVsdFZhbHVlcy5tbQppbmRleCAzNTJmZGM1ZTE4YWYyYzU4YjQyZmU0ZTBlN2Nm
NjczNzFkNjhjZTZjLi4xNmM1OTcyMjkxOTcxZjE5OTFjNDBhZWE4MWQwZmZiZDZmNjU5ZDNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQpAQCAtMjk4LDYgKzI5OCwxNSBAQCBib29sIGRl
ZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgZGVm
YXVsdFdlYk1XZWJBdWRpb0VuYWJsZWQoKQoreworI2lmIEhBVkUoU1lTVEVNX0ZFQVRVUkVfRkxB
R1MpCisgICAgcmV0dXJuIGlzRmVhdHVyZUZsYWdFbmFibGVkKCJ3ZWJtX3dlYmF1ZGlvIik7Cisj
ZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsKK30KKwogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9T
T1VSQ0UpCiAKICNpZiBFTkFCTEUoVlA5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVmMDdmMmVmNWY3YzM0YjY0Mjg2Zjc1
MDZjODU5Yjk1OTFhNDdlYTYuLjYyMDhlODc5ODVkYTFlNWUyMzZmOTc3YTM3ZTg2MTc5NTdmNjg0
NDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0wNy0yMSAgSmVhbi1ZdmVzIEF2ZW5hcmQg
IDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdWRpb10gQWRkIHdlYm0vb3B1cyBjb250
YWluZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI3MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTQzNzA2Nz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9U
ZXN0RXhwZWN0YXRpb25zOiBPbmx5IGVuYWJsZSB0ZXN0IG9uIG1hY09TIE1vbnRlcmV5CisgICAg
ICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbDogZml4IHdoaXRlc3Bh
Y2UKKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJt
LW9wdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL29w
dXMud2VibTogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL3ZvcmJp
cy53ZWJtOiBBZGRlZC4KKwogMjAyMS0wNy0yNiAgRXJpYyBIdXRjaGlzb24gIDxlaHV0Y2hpc29u
QGFwcGxlLmNvbT4KIAogICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2NvcGluZy9jc3Mtc2NvcGluZy1zaGFkb3ctZHluYW1pYy1yZW1vdmUtc3R5bGUtZGV0
YWNoZWQuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDAxZjc4YzdiZTdlNjM3NGVkMTg0YjFlNTUyMTMzNTEwZGNi
OGM2N2MuLmYyMjIxOGZkNmJiYTk0ZjMyNGJjYWViMzllZWI0ODlkNjk2OGYxNjMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNzY3LDYgKzE3NjcsNyBA
QCB3ZWJraXQub3JnL2IvMjE0MTU1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcAogWyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gbWVk
aWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS13ZWJtLXZvcmJpcy1wYXJ0aWFsLmh0bWwgWyBT
a2lwIF0KIFsgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRp
YS13ZWJtLW9wdXMtcGFydGlhbC5odG1sIFsgU2tpcCBdCiBbIENhdGFsaW5hIE1vamF2ZSBCaWdT
dXIgXSBtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtd2VibS1vcHVzLXBhcnRpYWwtYWJvcnQuaHRt
bCBbIFNraXAgXQorWyBDYXRhbGluYSBNb2phdmUgQmlnU3VyIF0gd2ViYXVkaW8vZGVjb2RlLWF1
ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwgWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9iLzIxNDQyMiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhl
LWF1ZGlvY29udGV4dC1pbnRlcmZhY2Uvc3VzcGVuZC1hZnRlci1jb25zdHJ1Y3QuaHRtbCBbIFBh
c3MgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1h
dWRpby1kYXRhLWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8t
ZGF0YS1iYXNpYy5odG1sCmluZGV4IGEzMzNiNjVhYWVmOWRiNjRlZDUzZmNiMDU2MzFjZmMxNTE0
MDUwZDEuLjdmMDhiMjkwNTkyY2MyZjM0NGZhNTY1ZmIwZGFhNGIyNjZmODgyOWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApAQCAt
Nyw3ICs3LDcgQEAKIDxib2R5PgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJCYXNpYyB0ZXN0cyBm
b3IgZGVjb2RlQXVkaW9EYXRhIGZ1bmN0aW9uLiIpOwotICAgIAorCiB3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CiAKIHZhciBjb250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgpOwpAQCAtMzQs
MTkgKzM0LDE5IEBAIGZ1bmN0aW9uIHJ1bkRlY29kZVRlc3QoaW5kZXgpIHsKICAgICB2YXIgcmVx
dWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgIHJlcXVlc3Qub3BlbigiR0VUIiwgZGVj
b2RlQ2FzZUFycmF5W2luZGV4XS51cmwsIHRydWUpOwogICAgIHJlcXVlc3QucmVzcG9uc2VUeXBl
ID0gImFycmF5YnVmZmVyIjsKLSAgICAKKwogICAgIHJlcXVlc3Qub25sb2FkID0gZnVuY3Rpb24o
KSB7CiAgICAgICAgIGNvbnRleHQuZGVjb2RlQXVkaW9EYXRhKHJlcXVlc3QucmVzcG9uc2UsIHN1
Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Ci0gICAgICAgIAorCiAgICAgICAgIGZ1bmN0
aW9uIHN1Y2Nlc3NDYWxsYmFjaygpIHsKICAgICAgICAgICAgIGlmIChkZWNvZGVDYXNlQXJyYXlb
aW5kZXhdLnJlc3VsdCkKICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJUaGUgIiArIGRlY29k
ZUNhc2VBcnJheVtpbmRleF0udXJsICsgICIgdGVzdDogc3VjY2Vzc0NhbGxiYWNrIGhhcyBiZWVu
IGNhbGxlZCBjb3JyZWN0bHkuIik7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCArICIgdGVzdDog
c3VjY2Vzc0NhbGxiYWNrIHdhcyBub3QgY2FsbGVkLiIpOwotICAgICAgICAgICAgCisKICAgICAg
ICAgICAgIHJ1bkRlY29kZVRlc3QoKytpbmRleCk7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAg
ICAgICAgZnVuY3Rpb24gZXJyb3JDYWxsYmFjaygpIHsKICAgICAgICAgICAgIGlmIChkZWNvZGVD
YXNlQXJyYXlbaW5kZXhdLnJlc3VsdCkKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaGUg
IiArIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsICsgIiB0ZXN0OiBlcnJvckNhbGxiYWNrIHdh
cyBjYWxsZWQgaW5jb3JyZWN0bHkuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRp
by9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40NGJjMDEwOGQ0NGNkNWY0NzQ2ZjY5OTdlNjBjNWU0NzM1NmZhNGU0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0IHRoYXQgZGVjb2RpbmcgYW4gb3B1
cyB3ZWJtIGZpbGUgc3VjY2VlZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgU3VjY2Vzc2Z1bGx5IGRlY29kZWQgY29udGVudAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1
ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjU3NzI4MDEy
NzAwYWYzZDY4MjRlMjA5MDg1ZjRkY2VlMzc4YzcwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sCkBAIC0wLDAg
KzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSJyZXNvdXJjZXMvYXVkaW8tdGVzdGluZy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGRlY29kaW5nIGFu
IG9wdXMgd2VibSBmaWxlIHN1Y2NlZWRzIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKwordmFyIGNvbnRleHQgPSBuZXcgd2luZG93LkF1ZGlvQ29udGV4dCgpOwordmFyIHJlcXVl
c3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKK3JlcXVlc3Qub3BlbigiR0VUIiwgJ3Jlc291cmNl
cy9tZWRpYS9vcHVzLndlYm0nLCB0cnVlKTsKK3JlcXVlc3QucmVzcG9uc2VUeXBlID0gImFycmF5
YnVmZmVyIjsKKworcmVxdWVzdC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBjb250ZXh0LmRl
Y29kZUF1ZGlvRGF0YShyZXF1ZXN0LnJlc3BvbnNlLCAoYnVmZmVyKSA9PiB7CisgICAgICAgIHRl
c3RQYXNzZWQoIlN1Y2Nlc3NmdWxseSBkZWNvZGVkIGNvbnRlbnQiKTsKKyAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICB9LCAoKSA9PiB7CisgICAgICAgIHRlc3RGYWlsZWQoIkZhaWxlZCB0
byBkZWNvZGUgZmlsZSIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgIH0pOworfQor
cmVxdWVzdC5zZW5kKCk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL29wdXMud2VibSBiL0xheW91
dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9vcHVzLndlYm0KbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTg0
OTRjYjkxNGE3ZDg3NGNiMDJlYjAxZDdmN2I2MzU5MDFjOWQxYwpHSVQgYmluYXJ5IHBhdGNoCmxp
dGVyYWwgMTU5MTMKemNtY0okMTl4T2spVyNkeiM+QlI1K25VKDZqZ0Q+RyM+NiV6SFlUPWhDcFo4
MXo1RD84dG5PWmBSYG9mKD5zUWEtCnpVQTN6VU17SygmUGRGMytFZDJjUXo1ez4+LXZnazgxQjJh
N2pja1IoZXVeT2c1Rzw3ZGI2fXdWRjF9WX14aCQ2cwp6eHl+cStzJGdgZjNOd3t6Syo5ZihGalEt
O2VAZyU0SS1gSDtQKmV4YVJqTERsMV4mMUFPUXJMdEdMVWNvOyh3bjUKenIxP0xPYH5UelBLZFR6
M1NMJVpoZyQzbVRWcV57NyUtQV5USW9SbyQ3I1RIJHs9YTM+aDtZRjskXld0OUtsQXIkCnp8MWF4
UzBLbT99O2l4alhkcVJ7b2FNPUpMO155b2lTMzhyP1AkN0s8TUt1LW0kez1JPGVEJSY/dSVSWlBB
T09nMgp6TExMQzVJYjg3QTtlUUB4V0M5PkdFPSpFemFDTWU2SDhjU1I7UkZ1b3tHWGN0eENteEJK
TzdfUUx9QTwpVV9TYlAKejdJNEloIW89aTc2aHlfOE1aXkJUaFdfNi03I1IwTzhVSF8pe29uVkp7
Si14X3tie3VFUG90U3dTcFJEXnBeY0BICnp7ZntaO3FsSUVjO2k3OEZMYUlePEB9Z25NakV2bT55
X28xMzhHcFheLXZ0Q2pBa3lPTXtkbylrRGlWcVYwMDlNagp6X3wqRGVNVD5sQEtZc04qOVc2aHhr
QlEqR3dLPFV8SD99dTZJUDRXPVVVfmNpPDs4RjkmRV9uZm4maFMmZW9FRHgKemBmJCQzRHNyfDVI
UG0jIUxeNlBlP0EwNzV4ZVIqb15LRjZNYk9EKH52UVZ2aVJqO15seSE/eUlAcn1oXlkqfmVqCnpW
bSFia24+RTRmZ0ZSQFNOVnlZQTVZUWJVRHg8cmluUlRrbS0yK3NgOEEwQTUhUTVSYShSZ2s0dV44
XjlgNFNsZwp6dlhKfWhmMmQrPGg/dmBETG8pI01KYz1gRD18P01xKk9DbFFtaj12UkZBJSZGNzNw
S342PDBANDIpNmhwX3NvQ14KemVTdkZ9K2RHaU5RYlJwKShDbVhxRW9TOFpveVdLRztZeVFRUk57
PyZzYmh3KWNJeHUyak5qUTJRJSpAfWlwTi1aCnpyQDQ/fW89cz0oX3pKUkBxX3xPa2spIShna1pm
cmJxOHlPSWlFIWlUeCg3SyYqZT8jISVLWmhPdFdNWSt1KmRiIwp6WTZ8JGhFdHZTSTs1d3gpKy0h
KnU7N0U/aiNieyNpSFV7SWF1KTEqY18paURYMV9gNlZ7REg+LSpeWEpYWVQ+JSQKemdUbldpYTZv
Mkc/bkxpWm5sSyNmRnNqUldXIVlhTmxDTnd3d0BCfnwwRThhIUE/O2hnJDgjcjZpMjUjdSpGK3k4
CnprWV9SZzdtYH5+OXZEUXE5MjNLeVJvdVRyPXJHekpeXzBOVl9wYVp7RWMxPW9sYH1TZ3ZhWHtv
JHs9YmdFOEk9SQp6S1BhSSFzMUcmfXlvcE17WEledWpCUXMqSVlkfVNpWSFYNjROOFRXJEdsJHcy
cSsyJDxKKUZYKFgpQHQ8YldjK0gKelhGRE19WWImbTJRfXBsejE8PGYqd1JMTiomSGdVJVVKQDc7
KEBrZXRKQiMqQzQpc3soPlk/QmI9bD1vYUNTeD1PCnomOU04MjFiISlXM35fel5oPl45JUdxPylv
NU4+biViPns4UmB3TnlQRXxxcSZlXk5FbTBPfXIlKy1ieD5ie0pkIwp6bnRSeGxrRUtXbTlSTmZY
QGJOR0Q4RW1+Z2ZrfFlhb3ZFWVZQVXA+MnczTz9lUWRYcCVydjgqZ3xFaUktQWFFYWoKekd+bVk2
Wnt7SWp7PTx6RiZZNjNzS0JpVnJyciVXTGptOUR7Vk1pckdgeWslO1llPig3YmtaKmB2Ryh0ez4p
Y1hRCno1dE5jMDVCYm9VR250Ym16b15GfDxTMDg5ciljeDhSZjtndkRNZlRma307bU9yZWdlSCNC
anI+IWghSnd1R2pJVQp6N3J8QXE8JGktNzI8e0dgP0Z+OEBqOXNFP0FARmB2Vyp6Zz4zWT41fSs0
Tzw4QmhVSWxqPEZTMU51Nk1Va0IkPF4Kenctd0BoR3grY0ZpTF9BU1RnQihVSXEwaD8qOFYzeWVB
VFB3WH1FeEI+LVlYaDI9ZilPJEt0KmljK3l7ckpNZXctCnpIfE5RfF9BQ0N1VnNYJE1aUmxOVUNp
N1gzUmE/d3JROHE8RlhhRkYtZlI5eXswRzgpRHg2JmhEdTQ3e2k1alJ0ZQp6JDBSa1E8d3U4Pyso
RGxyOCN0Ti15WndnX0VMODw8KHd0Kl5kTWpOeG5UNUM9JnlqYWdvaTxHbSpYNnFwKW07KD8KekZu
QClgMjtWITJLVytHYmx1U2dxPiFxeWRPbEI3fGhxfiU+N0BxNF9gRWx9TElWcldMb1FUUnBqdmkp
LV9LJTE9CnoqZnA/ZGB0LTB8QzVxQ29NUGZzZUc+aDZGamVCWHZzRVJTQig0NztgSHg3SXtMPF9s
MmZaVmclaSpXWDU5QjBqNwp6eDRJfGp6Q1M8bWJNMl9VMC17T3lOIzRuPzdpfSpvPylkKHNYTW08
Vk89T2ZaRnVBP15xfiV6b1piKittR2Q/aGYKejQ5Y15HPjMlYWNmN3skSjxvQEFme3F4cXNxYX1C
VV8hI0tUUSE1JFBsIXRXbSVlPWR5WGgtdSUja3hvYzQqO2F9CnpnTjVsSUVmcjhxdG1vIzUqRVNn
MU1+Q0xPNksxQWF0ViVlXmp2YGA2PDQ4azdLMm9Ia3opV3ZzZ35wakVpVzZWZwp6eWFDTWo3PEho
d2t5WDAxaEwkKVpKSzNZKjlKb2FYYjB6cSpSQjZCP0EjMGlQdzVTWV5lNj9fTzs5ZkV9bXVCXyQK
elY3KGBnKDlAQio2IXtUU0lucjN1XzAoVD50I2VCVU5mS3xNZXkpODU5SiMlWThONyVaVFdUcjZ4
YXBPPCh8TEFqCnpMME87fVZ5Yj5JUEY1Y0l4QyM8IzViIz1MUGVgTlNjTFpDMVI3JEx7Z2hlWmwl
eiU9aEZsMmpjK092ajUjQzt3Xgp6PDYlQXlSd14qfSNXYkFZLTUzYXtodGwqQyo1VWEjY2BocmNv
IytCQUVAUk9iUis3N3o3OSRvITlLb1RUYlV+I1gKejRmdj81ZHhwSk0+KE1lYWxHZ1U/WDcpP21B
M2lfc1djbllVPjJSUjRhaktXa0pDNDMkRWRgemphVT5kWFVhaSM3CnokbHNwdyQjUl4jMztZY3Ew
NGU4MHVmWVNPLT5edzJOeD1BWmhtMkA7UGc4czIwJDIwRkc4fGF1VHh2a1c/cHE3JAp6Uzh4Pm5R
YXtDQT1WVERRUGdoMGhBcXpAdVFKazRLJW1lYno+Q3ZuZGFWV2dYKW0pU1FQVk1zOFcjVExvblZZ
KXIKejtEfEpWR244U1RnZlFHRm5BeCUzIX5DPUdnTExiN15IbDN8KlluaWZJej83eFoyfE1ecWVv
e0hUeXBXPTxVb1RpCnp7TUsyWiVmVzc9cFlBdlFKQUkwWT1iPGVWaTtxPE9gWGM5SVhKfDVmZEox
TUdiME9+NUYmNEUoeyUkT0cmUzxzeAp6NDAoJEVrTnJtMVRiLTd5T0B8SDZkR1JhcTVpd2FXY30t
MFpCZTIrJTtVQV9TUExmclQ1SDxrRl5TPn4yb2AoJWkKeiZ3bzg1bjZicUQ/XjRrVHVoQDJgOGI+
dGgtRz9zfkxwYzRiSDlyXmU0KV9yKGNCfD5uIWkqZ3gpUH47RHJ5dnBrCnpLVnpQcTFGNWhlPWxT
a0lnb0cyQWJuU1oyWVIlc185d2Q/aV5VVyVBU0spe0x2TGRxVT8hKGFZVDMlPG55LVNYXwp6VUtJ
PjM8PUdrKXBMdjt6ezR3eXRXYCFGS1JZU0ZSKm99X0xuWU1XZzAxeiZgKXpmT2RNPFU/Y0p5JGlE
QCFgJUAKekU8cUozXj9YWWxJYXYwO0ZBfUt6TkJOM0xBNip4JXU+PHlTVmFmLSVgITxPJDslP0Mt
ZEJBaS1xfj9tbyFDQjd1CnotKDx5aDZsO158RXhSaVFNYylNUlUrQkBkJW5Cd3s3I0R0UkB4T052
Wjt5THE3VVZzVTYhSHt9O0BKRj9pJUJNdgp6OGhaSmx3am57dENWbik3M2ptN3dQY3NMTVpSJXc3
MHJmO0xmOVNrN0cxfGVicmlGO0VQYjZKU3lRdXpfdnglRFcKeiktI0B2XzdHPyklZWcyUlA+Qk9g
Qm1SISFaSHs0QSZeNV9eTV54S0YjayRqVHo0NU8qSyZVblhLb3AzNTReQmhDCnpacHQxeCNyP3N+
LTBPVkl4bHRsN2h9Uy08NHpecF8yLXx1eypHcXcwUH1zJUgyYnZ2IztAMnx0Vm1oRFhtJVlodwp6
M1ZleWlMXyVqaWE0Ny0xbH4wRXtjfnxeR2hxJFhhTGIhQWEjPVJxVlp2ZitoUzg2YGkqdTdwVVFA
RmtTNjw1ST4Kems7KFJsJkQweVhfSmlFTUdCaDM+UHJzRWczd1dVbE0jVUoyVD1YcG5eR2ktd083
WVRZYUxWR21AME1XcUFZUnwkCnpOZnl5Wit0KmJES182P0Uje1B6cWNJPnxJdGdjdWp0KVFITG8w
eSNXVkU7IXNLWGVMeT1yRnRCZTJzJks0XkpTfAp6Tio2Y0V4cTNuO0FsU1U8bkxfNjBPd350eTZx
KWEyeX41SUpaK1EpVXNIbSZyNTxGYXI9Y2NvMlNeMXt6SXNocHMKeklfRz0wMGhRbHsyMnBSeVBe
dGpeTERBWl89NiVxY0NzJXlNZGlHSCopSH1yQEdLQkJVTmdtNWtNR1FBdEFFVEVXCno5P2xVV1JH
RklTQFRVSWV5SmYtNkdUaUdvY0VkaVVrdF9+THYtP2ZEI0UpZVJob2NnXzs2QXlvRzYhSWFfY1NF
ZAp6SVJ5UVh4TkpmS1RgLSYzTTdwcjc/biFveEZ9SEJ6eU1hKDNtOEswYlNpPzFtYTE1aDN2N2V9
TSRnNU5qJDRpRW8KejIhVXV5IVRTb08/KVZMX09GfVhlcCo/TlFnN3E2ZVNVeztlY1FKXkcoOTZI
Ylg/OVNNPD1Xd3FjUG9jSntTVDlxCnowWHFCPTJDOTlMNUhTRiNgTnl3Zm55M25XWVojciFAZzZp
NWNKfXp7UWs7an0wKkRObih1RmlaWjxXUSh6ISFnVQp6I09uaTV6MnYjaXJKVyYqQlQtdiYrakxq
UU9ybFFfV0h3ejApO3ZGMD4qSytXU34lTEUpbHV3Z299QXhoQT1LYHsKeilmfG0/T1A3WiNTanI0
IWBBeFhBJn5qWVo2IUZvMGB+MGIyendfME5ucnl9cUJJTHRFalFJMkNhK0A7NFFzKFVBCnokc2VR
WnZLd1FjXikpdGlAS353VUNlNXhaIWleP1BTREF3e2pPI2ZMcUJqMV5yKVEyIyNGaXh3a0JOeGZ2
MSkpPQp6TiVDNktodTVGQTImLU0qV0I+fkMqT1dncE1iJkc4IWRyUGo8WEI5PDlgMW02X0Q/aS1V
Ukp5ODlMWjBoTWFFfSYKeiVFMitOZFl1QztHKFpvNGVXOU96JmJ2PWwqRnY2Zjl1NnI4RDF6QkMh
WjMyPHI8JC1XNX4ybkdqUmt6e2UlSmtCCnpJUWJ5NElQZWY0JSRROTwoI1Y3bkJAaWBNOSpFMlBM
KztmQiZyTSp4V1cxWF8/e1U3bT1Pe3t5Z0FOX0tOdCFwTQp6P0o3IzhtcD05NGwhTyFfdGhyOFBL
SDZJfllKP2B8ZiFIYjNFLVNhKUpDT2Z6WlpwJGtFaV84P0xmZX0zbXArOzEKemgycyVSQGF4JXg8
bXphVkVyaE4kJCVXO1VwbTskPmB4VXBMaWE9MCtXZnBqfUZEYH0/X35oS05HVSNPYDdiYn1pCnpC
SlpYRCZpY2F1NXQ9bVpPQHZlIUx2emhnOEkkcEsxX2A0YnchOVVwcFYrdU9kNj1LZ0FYWTRXTlN3
KXZeMlVLKwp6WlN+PnNnRHxnJUZeUD1KTk5DYjZxTFo9M0YjPmdAV19kSkV1MWtOfF9fUG05VSp8
T0xKTzNtSG80MXcreHApcWoKeiMrKERsM34ybEVJajRMelU7V09rVSRAKEJmMnhZdmV1NnNkWFcm
QnQwTk09cklGXmhRIXlvQ0RJX3lnKlZtXjc4Cno5YF5Kfi1Ga3NvSiZLaHQqUHFDckdqZ1JuN2N1
JERTb0s8bTchQExKUGpkZWI7PFZndzwwN2AyQkFnISpIeTxqbQp6O3N0USlvRWt9aGB9SDBRbUh5
PmRKWkR2bipzRmxITF5GYz9VX3JnNzZyYXJWPX4/RCVMX3l2c1EmU2gjbW1lYyMKeilrUXBPVkIp
R0wjdnBDfG08NWtYLWNDQnM3RjBVMHQ3ZEd0RSEoYV5taz8rant7fWxIKkZHNHJYe2hjQFJFWTIy
CnpqcUJZYyRpK2FBX2ZATSNeSkxYMTs9VEdjSllTU2d5SHlWZ0NfKl84e1BnMXxBI09HcUtHPXt3
bFJ2fklEQ1VjSQp6PFRoI1dyPnEmUXgmUVFRSFRYfnh1dVJ+cFole2tlPEpuS011TjtIRjZVRkFG
d3NmfCQmTD55dD14YyVWRGQzYT4KeklXXj9AcmRsTlh7V31jITFORGEjQj4/Qyk7TiQyPFhzS1Q8
aU5qYjVZeyV2QUZ+LThQKmFpc2NleCpHNE9QfWs4CnpQTkxVdmJ3M20pVGBQKk5xZTw9VmxJanFA
aTh2PTVvIXY2QlgxXl5MTXB8cEZSeWRqM0glbzE2PGZyfip1P1o7PAp6YkReK0VAfUk9VmJ5TWNO
elFPJCZ6bkFIRUhSVlR4K1VJblpZRk0yQFYjRit7MSs0alRSSXY4UENxWnotPHlxPiUKelBnYFM9
cCgpfT8mXmZfZlNkamk1TyhuU0x5aSNlS2wkaGxnZzMjamgjRkNMT3BRSTBDODFTJUE+JW9wVyVj
QkNPCnpEXjVMdDBvaD90QHhUe1RFPjdzXiVAOCVfdkBTdD5WX2E7fCMhKUZhZ1VuITlkbFEkSyN0
UyNhYmQ9WVpfKTZPRQp6S1YySCU+dXEzYTViSzlQSzAoPyZWO0JuNTRydGxnJnYydll7TVUxZ3BM
YldnUihCSFMtPGg8XnRMNVVLN0REWlYKektTNylaMDFXO2tEdmlhZC1vfVlyK2dtT1cwY1pAYFdr
QmxnYz0pSFNRO2thWlBDZUsxJENWNF4xNkdDYTF7Ty1SCnpZXyY4U2prUnxjUUtNO3w7Y3tiV1Bl
X2lRQm8yfEt3XlJZKlVyQUxAY3FpQTE0VUp3KGMzSXtDbyglbkE0SDZ5Ngp6JlcpakwwPTQjTyR+
eTVQMlBUbUAxbmVVO0tETWBFTV9XPGtxb18xcTxNJlk0bSZCeT47MWBXV284azQ5TllnLUUKej93
WWh6SlFhZ2tLQG05P0lOJVRAeXEyYEAycCpSVGdWS1ZTanQjNHB7cV5+bDM8UVJDXiE9U2xTUFYt
bSkpS0p1CnpKTk96QUErcjJzK0lJKSZpT2x9NWUwMEN3UDwodChoQkRnI29zaFYlQ1FnT1EyPyt3
ZSYlZXpYRXpCUGpoVUx8QQp6JDllSTxZTGZ6JTlaVD9qUkQ/UHs2Y0lzOUxPeEh0T28jUkN3V2U2
Kj5wfnFKWTJvdWV1c2B2TjM7Pk0lTHJjVikKemBHbUhvKnFXfWp7ejlIdEhNZylgZ1Njbnd0TGkp
LUQqb0YxdWZ6MWRRajRCPExQbWBFRl4zUHdMSnlqUGI+TGU1CnpsVCp+JF9wMlM5cHAzaGVwYEZ9
QEJgJDBxdDl9dihqcClwQjd8LSRDVmVQUEs4dF5PP3N6Tk5qPVE/bDUhVCNqawp6Kz0oWWR3NzA/
ZnJQdkQ3QTd4VXR3cGtIdjJVJnolTUZDYT9aMXhxYWxNQHg0P3lAfT5gblIoaU8/O3RfbjJHcF8K
elJiO1dYYFNPa1NSJlkqPUx1VHc/Jio7UTxeKUxIN2taJUlJdkJPdH1QcWpTKkRtRm5aVXlWYVp1
ZG9TQ202bS0zCnpSMT1kemp4WklSNT4qNjV3ZUY5QVh9dUFxVzl8NX5KRT9yNz5ocVNAQG4/IXJa
e3szTVgjQm41cmJFOGU+LWdVfgp6Tk5IdiN3JChkTGxlekpaYyVhYCEkJXkpdm5ORyQzSVVxM3Ju
Qz9HTDIzRnpRPDdLcmxlKDh+SnMwPm8hY2pGVzIKejw0Xih3SmtiSUZ7K3Q2amt6I3Y2RGVmKFdk
a1FhVkZDQHI8UVNTbXojVzJkZXFMfn0oRDFJMVhqZElnbipwaTYqCnpKODU/JlB7Y35vPlJ6fSlK
IWpVZj8kdHl3ZmVWc1NhV2FIX3okWXE/SmJDNlkjI24le00kI3kmJmkhLSRzYEx9dAp6YHdKQ3At
bjRiK0wjbTYtPmBPdXBjOHlHM3hxRjVxUEJseiM2WFduNkx6M3w2aj1geiopcWpqU0t9cm5gKWU3
RzMKek1ySnl7WE54fEBMQE1rS2k4IWs3P1ohUXY1ey1LP25FezJ+UEVUPVhXQUhDflQ2OEhMX3dn
byFrV1hXQU1VY1NnCnpeV0c2ZjwqZDJYPVY7X3pxXkVnY1hxVlJ+Py1ERz4kaCUkfWB+aVlieFl3
LUZnZ2hET1h0KjI1R092bSZJeGUoXgp6dHF9Qm8jVSU3IUpUSE12bEk+MXkoaVBXcDlNJGxySjYp
WHpGSkslPmxuNEl+Jm1SbD8rVVErdSt1aTBna3s7NzMKeiNISHBLIVR5UiR6c0Y1R3Q1I3NGPEdW
Z35rRFNRc0xKNlNiZ3omelpydDB0fjxjNncqaGJ2bTRIVE4/KSNRUjduCnpPQCNed2hjT2NOU1dr
akdWazsoc1NSKENzNkJVQSk5fD9gZlN3ckc2dihKQlhNV0J7b2B2UjN+KD92VipoOz9LRQp6d19k
VWI0fEg7KyRSJWNkNFUkcmBlRDVBNU0pNG0hIyhndHQtUHF2c0Q3RCVnbGlBMG1HV1MkVnVqWlV3
PG17ZlQKent5UE02PGhwYXRIZU5wYztgX0t6SnpfVip3UCVufEBHOyUte3R0U2wwdExkYzlOeyFu
c0dzYiVjbXc0ME9uNlJ8CnpkJiEpaktoJnskJkh8K3tWO01uNygzLXtWUlEpU2hzNUFZPnMpUns2
I15nVnpCTEBKaHtUSXo2OUhhTDhHNDleOwp6JWo9SXRASytWam02VzFXaCR8NyN4K31XJjdHIz9t
ZlZZbX1RdDROX19Je35SezxGbC0tZ2lLZ1ZGSD4zV1ledGkKeihvfjR5SlhTYV9nQ3NuaVBte3E8
NkNiMGYpYXYjODg9KUt4WDd8NCE3OT1CaUR7MjFzM0BSJWI0Wnc+SUtAI31ECnpLUnZtKjJBUVV8
NEs8MkxvUWpMNDYmdTElUkR+SE9pZk43akJWUzhYIUBYeEZyM1NhU08rOU04JGZsTWpjV1Nfdwp6
STxaJT5GZlB4ZnRGMSp1eTZCOzwxU01iKFhiS3E/cSgkcX05T25oYnRQbUY8anQ5U2JoR2YrSlEq
VVdIQnJufiYKell3N1gydGJTaCR5JG5ZRDVWWmBhRk9NMnk4aXlyTV9Yd0g0T3t+PF9nMXFeUUlt
R2t6dE9qLWd0ZTFCT0pTNSpICnpoN3c8JTIobkpAQEJ8KHx3eFB7QT0pY2h2Mj57c2cyaD53MTdF
a218ZiVYZyhtXlJ0cExneT56Pz5UJGtJOHVWPwp6V1lZeChYKEY5enAlP0BlO001PntJPnl+OUF8
SFZ1RXp2KVk+TyluSyt6Iz5NcEV4MVJuTiNwJFhvLX4pc3pMbVIKelp6SFBQKSV8RXF5ZWBydUxK
IWgmdTl+aGJWOzYhTW0lekgob2tWb3ZvI0hgZyNnY09rKHl0fEZrPzVQR1B8TlpXCnp6ayE3RTR3
MSpHelZLUGItIzRUREpDekVhQzBfY04rfHpVNXgxUVF6V3RvJXhMeDVDNU1RYiFEQ0phUSk1ZmpR
bgp6Ql5MI3RpUDclZ2k2KzRGJDQjP3NIKCFHS3ZPfSFzJHU7SDcwfnhAdnhIdUJuaFQySE4yMz1K
V2xqRGxRNl5YJkEKekV8UD5LI0IhaVU7ZnM0ZiQjYU5ecVA8anlpP2ojc0EhYnJWVXF8b3hCUEwj
Q0lJWnA+cmo3Sno1SGVETXA5ZzteCno7UjFrdGU8Kz05dVlAMXJyYEBCbmFULU1oLVJVQGUqQU5F
OzZfRElEQmFyJCgkfVI5fU1VQks+M1RUamtMfEgzQgp6TEtnO0FpbXA2JU04T2VkR2NaSFBBfXMy
OyNpKitCVGFNXjg2SiozQ3VhTz1VbVcraGJ0YEsmfCpZI0JGRXplKlEKekhrdnc3emVsSVNvQk1K
PCFtZkh9Xj8/YTVmJGlGQC1VOGt6LStyUXs4OHBkJkNya31DXy1ncEtKWW8pKWxCVTR1CnpLfVhz
SHlPUEJHKkNgTnVMe0ooRHVYUWdBTGI5cDdzdj4+WDhVZztpQik4S0g4b009fXhfcGB9ZDdQKWJf
X2hJRgp6MGItMD51LVo0UEpLenJhUD09U2ZXRnlHNkE1Q0BUVzxmazxsfDA0PHZUa1gmWk9Re1JX
aWJzQl9qdVNXbTAtQTsKenZucSVDNElJclU5cCZTN2Q1YXgzcjk/WGFeMXRqX0l7LU4wQytWSEZt
dCM7WCNIRCR+T3ZMfT4/VHNTfk4tRzZJCnpfdEBzfmBaNk5wZEtTTGhvXnd6NDctSURnO1I+Sz01
WmNhUDItXjh3TkwwSHVYYStwelYhcnEyN016Q0Ymd2RfWgp6SU4hUSV3V1hKZVpZd0Y7S1lgVCot
fXpQbkpfT01nPno5MDI+cDBIP3ljVERILTx7cjhiQlBzY3RyNEJXanl8QzIKeiZPKXpNRGpxSS0w
O2RkJk1gODRaUSFoaUk/VlBfOCtafXckb0k4JTRoZztuO0pfdU08NyU5PEZNJTMlO0hfQ1YkCnoy
OUojZGFqR2N+WikoaHJHVFgrI2FoRWtSeFQ+OW5zTmxYezY7ZGw0dz9ZMCtfOU1MfHRgY0t+U0Qw
SX5PSHozJgp6ZF9faUR3PzhNQ0VqKko2Jjg3I1JsdUsrNlA4RkdJbFRvQmlQa2F8b2BBcHJuQHZ6
aGYkPG9GIVJ9djREPGlPe2gKej1BeEZGSDRjb2xCKH4mVTVIeHk8MSV7bjZ2SnU4R15aRGpyUE4+
QjdJO2hvdllnMTU8KlUwUlE4OShaNDA/TT5pCnpHNERMUSMtQCN1eWlKZypoPSNRO3dEIVg+OzhQ
fShkeE54dCNmblZ6ZjlBNWMwKHUhZjVuZ35OViUzbTUpZVY7Tgp6JDFgR3puOShXSUolMHBuWVQh
ISFYMmtKcEY4Zy1YP3A1Sj5Bb3hwdGlkQGlzLXV3enooc0N2WmxYbU9gSSN3aTkKejAwMXVlUTh1
bioxdkx2KUJSaEBmXkRePT54byZoZCFARz9gTWMrWClYVTk5U1IqQ3Q+SlF9UHdONVZ9UVdPM2BR
CnoqOTxaSHVzK05pbS08NjBTQyMrQVRyYDxARUltPXJ1VUMoNEh6S3MyQk9ZaTA2KTI5YDlnWX1i
TGQhZSkqfEcoagp6TmUhe1NXe0JDVkNycEBfSjFzPS0pSFFfUCM4UHpCUiZ0I3lFI0JzSkZsSX10
KnpNdyV6bVI4ZVYjYTVAZkA5NUEKemJHN3ZFMXU+KE56RCMzMlJsTGw7bzFeVzd4ZUMrWnYkPWQq
PkE+Q2VCc2pYaW1eYzU+cV8tQSV6QH48VzwjYSUlCnpTckRDdEtzYmBYPj9UJERzS3czYll+I31n
P29JfXElUyl1PDM0T2tPbEtTYmEkZyl4dFMma00tWEU7cGpvY3Ffbgp6JjhweTVUaU8rIz1xdXFr
SmZZaG40M0pWXyhwUzd3cHhnQkM8QjB5ISt6Rl5LNXhvPmFeJUFXOzF0byo3dkBjM3kKekleKz44
IWMrRmFzRmp6dTgwa18+REpte3ZYSjJyUXJaYFh9QSZqM0tFTGVuM19LdXJVNj1hRGZKO3FeUWg+
dndmCnpycDBmJTNTZyl5OW97MEVIKXJqeTtWREJhU209ZT1CJDRqbDhHQmBZKnRKQTZFUHVBT0Ux
Mj1Sek4lOF9GMF9Wawp6YGJqQn4wKVgzcGBzaj53WW52clEpJmxkUl5GfjZJWjNsRTJMYDMjfXNe
RE1gfDV1e2U9N1EpcUc8SlQlaU1BX24KekRaQFp2P0R+RT1kZ3kzRCQwRGRMYikxdXZucGlzX2FD
cnZTUFNIWUNzO0xOMys5akBOP3t5MnpedFlKPVB7KmRJCnp3JHp1S2VxO2REV2FpZSQpJW58IyYh
ZkRTNlhffWskbHdzNyMzbCMmTFVaSHtHKTBrV3lSNmFHKHtRRnYzVlI1RQp6dllVKD03QVI7ZyMp
SDshO3RuVTFwe0Q5YC0xc2JBbisyM28ycGxedTBNamR1Iz4mMkV4cXs3aTI5NHcyNGNKYFIKejZu
JXwhaShEaiFKTnFKPk1RN3l8Tm5uenN5NWJ7IyYheFRWS1ZBSHhAbThtKiQ2Pj5VSjg4XyNsZUFL
WFJlTV9oCnpaJFhNWXJYZno8Vz5MRmoqTk07bVhIVmRKSnVlP18/JiE4KmR4NDwqOT48VVcjV1dU
MGFjSF5lUVNDKG0rKkI/TAp6bEY/R1VzWHN8eG9yWWVlYWA1MGJsJEtBLVJ9dSpNRnVLaDIqNURf
VF92I3tHWVBDYWJfJUNEdWdMQHB4WmAhfXUKeiVNYlklK354b2cwYnpPTjA4KFNJdkxjZWd5NCs3
Yy1ZVWxTVmB8U1FnbzcjWU5uP35HLTViUCMlTkR0SVl9azlwCnpWQl5yMEhXSjhpcEBXNFFHKyZ6
c2lsMHh5SyllJSQoUWpRZmtXPVVob3J9Rj50KUpmUEB1b3w4TkRCQWJ5Sll3Xgp6PWdKbHMtQUwp
ZyhOMXEjME1WdExaR310PSFkaWxBVlc9UjZXOENBdkZFMXNgSkNEKkc1KWg1MHArIyk7M0wjM2kK
ejd7UVkobE1IQ1FaRkV9QHE8fDJTRzglZjNhUUpMQ3BQNiMxejhseV9lWTN7NXEraFpwXyEwfDRw
Oy1afSpVUnpACnpKV1h9ZjheeGdfO3t4c3ZJbDZ1QHtydXphey0+dDIyKHlXP1JCNSk9SVkkcz10
UChxUUNOZ2BMNl5BcDx5akUyZQp6RVF0KnhkdmxSZWtgeilxWkpibmsmQWdSaHc3N1J3NXo9N0BS
I3VCX1U5YE5MUCh9a2sqTHFIel5kX199bT9OSWEKejljKHBsJCY8an15UzI/OTM/SndlT3NpU19x
YnExb19idD87SnotYkV5bFl6eyZTLWZgPjBoT0FIPzRLNCRzKWIqCnpeeFlaciEpTk0xWnVOQ1I9
JTUlI254Yi17dkppX29Ge1QjUTRsYCM2JD9eY1ptRip8NT9HJmVBajRZb2Z4T3ItQwp6Q21CUWJY
OUNpVSs2WTt+em5OOHk4YWJkV1VuX3tjVmwlUW0oVm4zN2JLVUQ5NTRlRlRKWmRwUCFTeD03aUcj
PEsKelNPeDQkPkxpJChMdSgpNSVBUztOaDFAI0Y7anhVMkBlMEctNDUjVFMwYEJ0LShieSsmNGtK
R0NNOFE5bDd5IVZKCnpLVnM3UD9ZI1U1PWZTJkBWOHNqOzFva2EwSnlPR1Mld3g5cVNXISVxNGlg
NTIqWTU2a1F4PW59Z3ZPRG5HVSgqcAp6dGB8RW4ocVokblpQUG9VXylRZ0tDVWJgPXYrUGY0LWV6
YGdAWTVDS2ZtSVNSNWotMFFIVnVwfmVAeFQyYitIWUMKeiE0bm00NEl5UUt3e3N6dHJeMio0b3ND
d2lfTUNZVDVjdGNXSzBRQzAzbWJkWChUSnptN09AMHlfdEFBRHttUClLCnpLTG1VVjBORD9kQT5w
QkNDNjZJb3txKlNxSHBEbGtea0IyNWdqaXA5OVI0Q2ItZjw8NXN0PHpUaytSMnx1P3Y4WQp6LW8o
WkkxPEdKUG81cSskTWxHISVGOCpIUWdZJWpVXz9KSnw4LUhVaG5zPmEwRURYLVclWmVaMFVVd2Io
TGduI20KejYyJnNHUTRNUXBBckZecHNgVHNNTUB8YHYhZnwqfVBEVzltJS0qRHNTYEpOMlQ8WVd4
Rj1fd15ecENEP0RoKUEhCno/aylaTFZgPEk7dWo3dH1pWHpBYjZHKyYhX3JecnBNUk9UUFFIe0tI
R3xyMHk2IX13NiZiYV45OTtRbiYkbzRxMwp6NGdqdHVgN148XkpUKGhHVXd3SWA/ajhTJFFkTVNC
e3hhbWRNJndfbFNjRVJYZUVCJSleZiVCTFVCQmF9eDU5N2IKekU5bUxDWDhiYSRuT3haJlctQElq
YCp0S0ZwT0FOPzttWkE8eXJpQXRremBmS0hiRCkqe3NtMnlCRkJoQ3tmeCg4Cno1ZUYxM0JNYili
OUx3KFl0MEA0ZEspJGBxRmRZIWRRailDVmBSRTBDalZ5bD9iX2M9ZE0haT1qQlFOVztEaldeUgp6
cXNRMkslRkN2eTJAd2dAYE5WPik1dkx2PVh9aE1gY3x+UEdYZzNYJHpMd0I+NjU5cDhlYjF6fCVv
aVRzbTYtfHMKeil0PlNUND0zTVU0bXczP3c2UyRWWjxaens4JkF3N0doeVJyJG4qbVhANHRFNktl
Y0tPKH49QX5fNHxIRihMfCRVCno7Y3pIc2E5MVgyJCppK2pwVmsjZFhWQ043I258M08qczNeaHUy
Smcoe3ZBS3BZcGxOYHclbHZkUzV3dkw8fmJxUQp6QVk4PFd3K0c0KypURkwzSTl1QFp2KFVSWFox
PERXV3JMUCkwa3xUOSpIO1Fne1clY0hhPnRsa1pLbX5sQDYkUFQKekNuKyE8ZDspZGMtOCQ5PiRE
RiRUdUVfby1FPT9WZk85KHFaODhHSVRCKmtEJXt8V0dfclc8Nn4rO2BKSSRCb01jCnpVPztsaEYq
Yip3X1g7MVVCaSE8Y3VnJE1COWZwZWw0PyRPTCpgPk1BQiNlXndfYDNuNzRPak01OFM1WjgoZVE4
YQp6UmR6e1loUWoxWCt7TX5sZiMzJFhfXz47SWZrMHtjWmNTRzRLKUkyYEZYfFpuaUZ0eD5qcUhw
JWF0ZDNAcUpQWl4KeiYwTGtadDxQbUZVYSZPO1BzJV59Q1BufVYofm1EJkk5ZXFAKCVkWmU0Sz5p
OEF4Mz5NRHhuc0Z3RDFnOUs2UE51CnpkQCl5Km5hJGo0Vj9WY1FsdmlrdXxGS2M3YXE4SnNOb3k+
Z0taSCRtUj8/bDdDd1dzZHU+TUMqe2plKWtAN0M/YQp6bCNYN2hIWH1iejQ3IURpWSpsZz91SExv
VzdWdXloS3dPYmVRPGdVVVRlUnR9U1cweStpJnthOHdnYV4hbFlldEMKemk7TSZBZ1hqZGlJRjI0
SygpTXM7ZDh8dGZeSDdJRXpTI0FgUylXKHtffT5BVGhObigkV3VNSW5aUEE3QFg8fV5pCno+ZkQ4
bG1hIXIhSV8tZGY7YVcyUFFCQCN9ITF5P3RFcVR7MyEqcCZ6THpEXmFCO1peR3cwZ2ZaZmw5RkdV
QS1nRAp6Yj95YEkkclhgMlg2ZkF8cH1uUUU3cW5TU2FnQElUQG4wQWVebkYlaFYodldwK19CdChi
dGdtOCVqalhCVUJqM2QKeiR2eDA4YHpMT3tPQDgjbjNJR3hOTDF2UyV7RzYlUEhHNih0MVJ2d3A1
UUFCMTwjOUpwQUtMWEB2I3RTZVNJcTBfCnp3eT5oWT5vUEhXKjBgaDx2STckNEA9YHFIeiZCYXB0
O21NYHRIV2M/QE0wO1BAKl9jMXlDI2pqJmola3FLLVFtTwp6YWR+a0leZ3ZVNjQ4dCVgPzkxRlEp
VHFydVYzcTslUjVEIXVFYHh5X1JkeCVTYC14fXNBNUo8ZDZWbmQybSk3NmEKekdFfFElTSFlR3pN
YmRfVjd6aGUoNylaUkNpbylfVDAtcG0qKkdaV28haDdYTjB6bUBhck5WfjxOeilvSSR3XmRKCnox
biQ8NVo4WlNjdEIybz5nUDAqYF9Ad0VxNkw1eD5QSEIme2NBO0UwRlArJEtDKWZOOVdNKXQ0QjlQ
UWcxKEp3Nwp6MHp6cyQjX089N0d+U3cocGlRJXtuZl9jcnhpfEg2QzVndzRxVl54dUNvdl5wLUk1
I143cVUoYkorQVpzUW04MyQKem18dWR6OT0kRjxeRUBnNWh+XkpBNGNqP1AlKVgkbD5VekRKUHhy
Jlo0cGB7UzJOWWdMbkE2QlNKNUQ8PjM2JkxjCnpgZUlrfm8tXzY4T0E9YWk3SVFrQzQmPWVRR2pA
QWc0IWU/TTJaVUNFQDZgfSZwcj5La0B9YCRhUDJfQ3ZDMXtzbQp6Qj82NWo3JnMqalUreVVDelFz
bnFlOUxfMTRxbnVZc30jVlhMdkZjKlEtQF9lK3dJZnVwWnJvOSkjVGJpbHVAZHMKenc1Ml45SjU0
M292X09DeGd6aDtVbSE7UU4zQ1liNHtKISZkRnhqXlV3YXIoXzIjOHE2RlhnTEsmPG5jciRzRSFw
Cnpwa0d8SGgkeVc1eVl+fE9ZQ3tea0NpWGBHcm1ON2o/KXM/cGlFVTs5VE1DSXAzaXtmPHp8Tlor
PVZZS0lAdzhkbAp6VExNLWsxZEtJNyg3SloweT17YlU3ajFBPnJpXjI3OGFxWmVrPTRoJWR6Vk1U
TT8yNXEjOHM/QjQ2SHdrUmRmSWwKeit5Qk45SU9TVyUyV2I/Yig8ZTM8KCg+YyZXPGNZPms7UVN+
IT0qNlNlTl9qM3BIXikxcUQ7ZGVRUnl9NUNYRTt3CnpVIXteXl5FKmR6QiZWSVhXP2lLZCQ8dVB9
IVZSfVR3fnB1UVEhfCVfPFVMUjZfbz9wVDdWMn03WkQqJiZ7c0MzOwp6XmJzUjN0TUojSWgkbyV9
UHVeX0NpbHc4d3s5XytyYzRNbHhQRkdwK3hYX2hLWXszLUxqRz1yRFVqUnJzIzlwJFEKek53ZnNL
WnhnTjspeVl5MTVVaEQmQV5EYmBaWFF+N3BjIzRtYHswaDdWdXp+VkNze3N5d2tsTnFpOXVzaVdS
K1hQCnpZaS16RjlaUzlFSCV3Zld2SV5NdClSNilEU2NhPC1FPXJvLVVDcF47S3JiKkRwX2dPbyhe
NFNqQDlqZWVlKVRGSwp6XkdCP3RgSm8+SHhtSSppJkFSclA4PCZ8KUBwNkZyTT4/XzY2UE9RXzI0
Jil6PXBVRCkxJUxwNHZ9TkdpQWY+UjAKekFLZ3N1cXJQP2RrSWtSUnhyPEpxMWp4Yz8rMmEtYV48
dnI5QT9ad2J6PDt0MXElU3h0Q3lAaH1hdCNVODE2VDdrCnpXbmtuTyk+P3ZaUUdJWkNySmVqNUE3
UmJeZVhVKUBwM2FFWTZiT34oelZWcHxScml1WVR+RGR3S210QnNPJDF6TQp6UXh5MDFXYT5SO1Uz
Z20mayV0PCpxLTQ0JEslbG12QkZIclJlS1MpNGRPMX5NZ2ViIVgmJChPOFJUNFVEcEhhPSEKekJs
N1hNUDVvcmlIfl5FVEJ+cWplJn5CPWtmJnlFKVBJRnV2PXZ4aGp5KGNQNl9KRURMUjF0Zz08dDl1
I045JEdrCno3QyNeYWJEakJpUlBgens0bm16RihFPW1MR3JWVnFNcUNJMkNFfmNOUmVic1NKRnop
dEw+YTc/e1QzWmN2QHV8UQp6ckZuX31OSmF5X1QrTnE9JkNwO2x5bm8peExBOWU5WlQjUXwqQlNz
TUNFJWxYb1JSMHZ2bn1weGh4dzdjX0tZVDQKejBtWHZZaEVvPHVRSDJ5PTd5JkElb1VyMDZOUiNS
QlkpYHZCeCNqN0IxPVhBcSl8YHRZWjFYRFdrWj0rS0s2YjBaCnpKTTJOejNIfHZqQihqeXM9IyVM
bUYkTVNaNk9CTmprbDhacHNNMiVnIXFpNnlRQCleYyZEdlJaZENsTmhuZUNsMgp6VXFfWTIoOVZY
VFRnUGd4JnxKdklifGIhd08wSGtPeGJ2Vlg+MTUjKklKJUpFNiNNbXNDZ3A9ZUM2ZDJULVBrUzEK
ejdadj00KVI/Yz4jVWA2fkstcHVYYT5uTzhIK2x0T0l8V25jbkl9MmxnfWV7bkowc35qQ19ycXlS
ejwhRCNpdV5ACnoyRHB0QnBCKjklNSgoTXQ/UHZscHdkUGoyM004QCY9SXRrUWxpZVplWiF2cDtr
e0JaKGMyTFh9eGREMUU8O0ppSgp6MTFrWTM1JUVKWkQ7KG1vRUR7YUNDQW4kKzVicTYxUSFLLUJM
PER9Q1hFTCZeI2ZWTGF2czFzS2IwWU9XQWE4cVAKeiRiNTFOenk3a0hqOTUye2IqcWlGbiohYCFo
O005PGlvNGA3IyEjeWFUT0BEYylgNWA0Jm88WT9EM29gMk5OS0B6CnpfK0spcjhlUzBiYUhiSXJv
YWNWRk13d007MjJrNHA+JjV4PlV9fUF6RzA/JXxiaEI1fkl2OXBte0YjVEQzIXFxagp6VjZweSFm
d0o7R20kRktLKj5tOUE1QjU7XyNrSV5KKkJZdz8kJVZKNiZvb1FgVF9sN0wwSTNOMD0qb0Ayd2FT
em0KekxYYGU5TGtDTUVLLXlkVGteKUlCZGB3d1JBYmVSTnl1Yl9SOTlZM210LTsxI0w2WllLYVpm
fXp0MTAla0VUOGYwCnptZWxgfVZranNieGclUnEqWTZMKiN+M2VzUGA8fkpJIXBLSmYhITJQenVI
P1ZzMVpSbiNPPVdfO3JURGJVLWxwWgp6P041NSZxSWZqY2lrPVkhSUtie31qWlQ3fXJlUVVzSGEr
S09fazU9Mk1ec2VkYzY+Qk1sKjxFaCR3UXtPMHQtbXsKem9DYDk2antmbyEzcWVXNkB2TylUYSlO
KFc/fGJVQlFyKUF9dVR0ezV1czEpS1g0RDVJMz1DPWc2KTRxMG4pbzNXCnpsQURFOThJPFEzTFRI
RDBQLTZzbV9oP35Ta2ljdClCK1F6KV5NbEI1JlIobiM/Z0JPOXNAdHg0RVRwKyRjVkQ/YQp6VEJN
PnZtNDA4OVgkbGVfZmtwaGNYYXYkN0BYXnVSdjh+WGVrIXZFJl93NHRIPXhmfEMhUlF5WmokJXVi
QWcmYHgKekwkaUFKZVU0JWt7KERTTmJXTzJFQ1opKXcmYSRrYS1MUiMmPG0rdF57IWZnO25ub2BA
bWg0ZDFDbChySUE4OGd5CnohIWV8X0E0YyFEPS1+dzF7VEgwRzUzVnd7U1dIJSVncl9tdWshKzRf
a1pZaClEQlRLKlIjQ1MzaWgyTSlxM3dIWQp6fERaVUFtNCUrZiRhPTY5fDhTQn1kVmBrQy0rd0Ew
PlI0JF9fNCVfYWw1bSNhcXNxJm1aOTlqMTNtNkIybT5waVMKekp3P0s+I05ZPk4wNENYT1BOcCZu
aDRxcSF6S0UmS15gfDBRUlFJYThgQHcmMitINTkrZTRYPTNCKHgjWldBNE19Cno2eWVRTSNGU0NS
cE9xSDJvVm8rfiUpSV57WX43THNPdHNPSlZIQlBJTmxANytPdyp8ZF94U1hfMytGRGhkT3dfKQp6
MFUmY2ZvRWt1SkN3bjg3U3REPEooYWt1Ni1QVHJUJSRkdz0re0IxTjFKPUFvczNVNF9scH0od0o+
cVo7WGgpazMKekNuJV5Ua2UycmZSST95fjBmJj9nS0NyJmEra2EqX2RDMHwxMTZ0M05BRCY+dnQm
a1dQZlk0fkVAV05LJiElSmtYCnpuZCEtQmJPPlg3QTApND5RZnJfUXA8bHZjUD5QZG9aWjMzczJq
dyo/KittSj9meWxxenJhS3BOPytgOXJFfUNHPQp6SXZvPkV2V3BQd3tqb1hxJW8jfVpEVUd7UGJJ
MmU8cTZhfjZjJURiczErRUxza21MeWBUK3I2cXhReW58MFFeYWsKemxZTilfJWV2RjtBcn1wNnAq
JGtrZ3ZkQENxbkZJRT9KM21uPztCbUglLUc9UDVJMzEtb1hUQ2xnSm1ES0xnSUR4Cnpab3QzcGF+
ZkxEJEl7OXlzSmc1LTcoM1FXWkwhaV5XQjl2azBUWk83d3JfQ25OendMLXprUXRpZXhVdkF5RlVE
SAp6bHctJWp3ZExHNmN1OGk2cDBpIXE3O0Y3K0RXTV4wZ1JNZl8xKzJsP0shZzYzTksqYCRZckYr
WSRidSlGMCZnRnoKenJPd1RDNV5+cXN2ZD8qams5TmRsbyQqMHlvPEpYfHVEflFHRG99eV9DTV9V
N3RafHFgQDRFfjg3KFdSU2g5Tz4jCnp0fnV8SFNZazU1Y29VKEZhP0QjYzYrJllYemR6M2ZaNykw
b25fSSl3IUkycTBVclE7OGI2WWpYRWNNYXomazRrRAp6YCheaUo8U2hZK1pkdVZneU04VXhNd29I
WVM3fj9Ib2tjdkhoME5APm4xVCNoeX5udnZtVlp6dkJxR2JEJTM8bjgKejdzdktAVzl1JWtZUChy
QV4jX1hyR1dYfShJZlAwRkBud0ZCQVNwQzw7PTJCdjFAdz97KHc/QXkqR0FwUUE3VDFXCnpsbiQr
KVE3YGA1REpXX20hPEIkYFRQTmtBX2xjMjVnJXd2QW9LczMmWWRLbCVwTUsjQ2VyO0tKSXlgXyg4
ayVsVAp6b2che2tpb3FxS0VfSzV3bzYmZlhuTjFvdmFrTG40T29HP2xaVlVHJmNUZGBLLX1MPGZm
KWpufUxLblgzJSR3IWAKemQkcEN1Kyp1ZWp4Y2NRWWMwT3VXQGk+PWZkeVQhaCtzK30wOGlfNnds
eU5zR3tGS1ZDMWQ9T0pFYyFFLTxeaDFiCnp7YDhRUU9HKERWOEQyUmA4VDxNS2N2fjEwYy1VdXRW
bSh1SVBBRkBUbDxmTWJWZ2QyZFJmN0RVP1BNYlAkRkFAbAp6RXUqOyVjNGwrP2BSVHFNRnEmU29j
dGUlOWlTWmE5eGtiem0/WHJrblVYPDVnMEcrUlItd1Y7fjx9RSFVPEMtMEEKelpFeDBEdTA/bHlE
NmNwXz81eTNLdkdFQiU0UGlkeFQte1c/VSlpU0VCPEBIYSo1SHp1QU5XQ2N7TkslVjBafENaCnp7
KC1nKlZpQ2JyK15fQHJweEdGcUtBKUxTWEdmY1pMcD15OWRrOSs5S1BoJFRjPzRXRyEpbjdrez1G
NVJzPyFTQAp6KXVQfChjUCYldmVKZGJMN2FoP0hufHhiTkdhR0JtQ2FpR29gSz5SazlFaD5jKHho
eDJLc21wT3dLK3tXM2B+emQKemVUQzcqY2gzV2ZweH1pNCsqTSpQV19ZUUJOPkxVdmZCaWxQO2sh
VzhIcUI2VTR2Oz1ySyheXjlSazhsRW4wcT8tCnpwK15xQGg1dzxhekx9UyZueThhRk9WTlo7YVd2
TWd1SG4+RU9CfExFYkN3d1Rkc2FqJUVVO35rI2pFVC16bjFCcwp6NEdSO2VoX2JTT3drQEdgZiNa
Qi08YnBaUFAxUj1RVT9waCVmQEZDSVY/N0QmeiF+JTxgMEB4RjAxOClSJWk9O3IKem5HQ2IqLUB0
KmRTcHxtODtpOENLb2VUSHUrcm1NaWspJEdGIUpDY3IlSm4zPCpDJih2b0ElblVybH5yd2lyeyhe
CnpIUFFUTnFOSmBKY1NKPWYjcW4xbVU0ekxVZ0clO25IaTIxb1VVVFNgVFRobjBqYzlhP1kyKVdQ
ZExyVTlvSSo/awp6KCpuNG48bUtne0RjeyNaWU1gdSN8Mmc4cCkzOXpjVXdYcXRncE8mYUtKIXJx
U1FOc0RhWTRtR1lNcm84cFIjfjwKeiU+R3woUik/KkQpdmJEfForN1omSmJFO0w5RyErRGNOamhQ
O2x4T09yLSV0XndsRU9fc2gjUXtVe25CNXE5MCghCnowZ2tfYTFPS1ZAZDFvd0M+aG1NR1JpPEdA
TSY1YkolVkRhMWlXKXliaXUycmE4U0pFYGkkcEE7RWlOZHdBTWklTQp6ZFBRcCYjPEZLWXtRSGJn
R0Q0bDZRKSZkX2hUUllie09aaTA3eHkmJnFIVnU8UlFXKiZaSXlGamxOZThMSmZHcEQKeihTKEN7
Xmt4UV5LXn5BNyNqSWY+LV9HdlhYZXdebGpaTWktWENhRXxVcVQ7e1F4N0tDWjdmI2JYY25GalVG
JTI3CnpIMW5NMSVGJSg4PjZfdjZZMUZQcjQzQUh4K2t7YT4mNSEzLTFEeShYYj5gMm17WUR1VmJJ
STBnTktIUCh1VGhxOQp6WTxVQUYodjYteEhzRWtpellIZl9pY1IjQnV6d2dhV2xsajBPM189VntG
aH51bHBuOG10RkNuITg+Xz9AP3s5bmsKeiNYWSZDS3s2Tnx7R2ZtRCp3Vyp0aWxeSWctTTMjdVUh
bVpOX3dkN3Q2YWRRaCFeKnJxJU11K2A0MWI5JWk2ZSsqCnpka0tLXmFnfEMlX3dZXi0xVnYtakM1
T01vbXBvMztmQTg/XjJHeFQtPnQlPktWSHpnSXkkYnVHSEBVbCp3N3JeZAp6Q2YyKjstfH5xSUk3
T3pGdDUyRThWa1hIQDh0cCpHWXpVKVY/TEY2Zjt3Z1BkXjZ1Uk4pZV90dHp3JTljYGlpIW4KenRA
THxpZzdfdGcoVXV8eDJseCVLUVl7UEM7VCVuM3wwY1lDOF5XOEwkb3AjRzV6PXQ1OEdqbUx7SkVn
dGxkZFA+Cno0I2k7bUBBZXp0Q0VNPENjZCVtcD8/KVlTUnxvJH1MYmszKkMkKDxeVF5AbHNFMlIh
djZ8NkU7YDJ3MTZ3ZkU2Zgp6MmBqOExTMzYlQilePUxhLUVXSk94bndXcHp5UyN7YSF6NmZuRGBO
QExGNGNlQjxQc31sQm55c3dSIW9AOyZQc3MKensqJldtPk15JE5oNT9yIU9hdVQ+c2hgPjV2OHFI
SUg0ZjZmdylgZUxOWjVKUTVPT2VBV153UTN7dSYlVURqVnZXCnopJG0ybGpHfTVDekIlYFo+fiRM
a014RUdTUn1RZG4yY215TlJWdHRoLW5JUV5mN2ZPcWotSGtYVnBLMEEtXzNFSAp6PGVHc2JFeXFI
ZCs4Y2pJUDladWpzK25nKylESzV4Ujc+PGw3UzhiNVBFKXRpLSg4OVR4ZVI+VE1tTXFzeF87V2sK
eip+e1A2NlZjdylOITE8QTw7Wj48Snk2QH5TTl4tZGlnQjZhTGZtQSFtbXU7ZEZGIXtCcn11YVdB
cHB0XyleRClwCnpDQytfWikxeSVMSFROZ2BecGc1YTxzRSNjWWR3WkQwdUg7fkhzTWVPcU0hWXAp
S2ZTO2xjdndwQko4PnlXM2NpRQp6UyNIWmklMUBlcXRyNDRDS3xJRzZaUnpSO2QrNjhMckBeOWc9
enoqKDtNbj1ERkRiJSlwdjhaaXM2bG1xZ3J0MzMKens4QVpyO21SNFg0ZCtZPEFJbiYlaG1iYllu
UlQ4S28kcXh3ckNHMVomWU9mcnA5JjZleUZOdj49OVpVTiUobkwjCnpTR1pYd1hNcT43b2JxWkFX
d3ZfbyNCOGkkK1dBQWg9I2F6azdtI2p5aUprY1FFdm4pPXBtI1ZmNUw8UkglZkNpTwp6Y35MWW13
SCZRJT1lXkprT1pFMHR3XndOMVByYDc0QGA/bDdYSnteayNGa2khc0RaODFMcTFlXjt2SkFFUiVx
dHQKentePkojJE1lU3dqZGI5RzV4cEpCUTZlOW5vaCo/VU40dC1wX1g4aChCNn59NU8oUTU0bzcy
QTVyQEFzZ0E5MzsoCno7S00tUjhiWDE2V0w2JCk3PGA+Iz1zVDEmOXRwK197UkRwSU9YQWdsTVQ0
WTZkSF95c0duVjt+IXV3a3E0Ym8tcAp6Tn1AQmIzMGc2WD4+PGtmTT9Ge29QeyR1T24oQHh1REBu
R2lDOWM8emxeQFduOSNhSHZ5VGExOE5IaDhBTWZhJngKelJeWjAoR2VDM2hZKE9FIV5SRjJYWCZr
fnBZPD9JfGlubmkxZ0tnPGA7IUpnYCFKUll4ck90KHtxLUh0aWNqKGVMCnp6S0sqVlApd0Y0I0Iq
U3lxQ3BJQ2M+WDg5Q34zQSk/SWEwKWRsMjlCMCVPb08kY21BSD9WITZobDFnTXxQXnB6ZQp6VjRN
MU94dX17P2kpKDtrU14lRT83MSFBeHVvaUdaZT9LQ29ZNF92MkkyTz18aCF2Yko4KjZwV1VyWWEp
RSRpNHIKejZVJV4mKzIxM2d2Pjl6V1k/NTY2I1VmekdUa3E/dXVYfjRfXnhHO2tkO19veXNwS1d8
Um9IZyRXcjszN2pXV0FRCnp2YjAwcmFmbjt8ViRpIzFDKkRZcVRETypLOSoySXFHZXsjTDJHeHch
YXtlPGYjc2AzZ3tHYyhaOHdTVE4tP2pXYQp6Qz0pIWlIMnpZTl4+Yz1FNT8hbz1iXnsjO01HaTZ+
Kj03KE1SWkw8ZTNGPTt1N1dRWWY+cGgkZzUqWmNAcTRgYVUKekJnPGJ2bSVQQ2pqY1E9UV9nWWY8
NGJ1cUVhfmQzWkIoI3prZDVpdUVBT3ZeRi1DbHE+UiVLfmckP1BPIzZ7PSVjCnptO1g+YDVgTlQy
KTQ2JkFeTG1aJlFQXmdyMnMqQzhrIXQzZylsXmNaLUBvcU8zUSk4KzUzSntgcEVHUkg4YDdTTAp6
RTRacXxNVD1RSDIzYy04bFJDNWJPVDFSP2NmOGw4biVaR2JKQDluRU5XMS1AMWVnKiVBJCVIbT9i
Z20zeU58VXAKemcoVVVYJXcydkZFcmp7SG1xdUdSezE8KnpmP21ebzk4VnNhYXw2SCszKnBaN2lN
K2w9QWVyXnRsOFB7ZmZmfF4zCnorWndpMHFqSHlXX1dzRz97USUxTjBpO1I7VUskP3IpZ31GR3tE
TklNYEUkSWg+YCVDNmojPFZpIWVOWW94RWN6Rwp6SGoldU43QGMkZz54OFkoN2BDKUhMcDVuZFRn
Yj9EN1lmQDVIbDJIa2M1Wn1IR1RaPHRIJT5Ja208UjYtNUxTIzIKejJYVTVhMDB5fmcrTn1GLUA+
ZiVzXjVlN2JPPyp6K2pAS3tpXnA0KUlxbFFaQG0rOzNnNEBoQEJnSCN+cXVOUiUxCnpjVXZ8bVph
c2Vje0hIcHMxflNodz0qaT1XRE5adzVVanpTLXQ8RG1mcWB+dyFUMUx6aFklOVRyST4/aFd4ND1L
bAp6eW9Nb1F3Nl9VIVAkMzJeWWx7X3YkYTReNGVSLSNRXipTPGdaJlNmbi17PldaSGFkd2xLMTMr
cSpSbFM1KlhtWVQKelFZMXt1IUtSTDlHdTc3LXVpRFlyKzgwSjNGN0RQLTdgV3FRTDZDMDYhNDMr
RU1MJlIwMEg4SExwOz02JncobHtaCnpJKnc4K0NlQmhoXy1lczdVaTwtOTVvbWkreV4+MW4wN0ZC
PjheVHJgVDkoeWlne3NwaiNkVldtXjkwYG5aTWJKKQp6ZzFFUUd3TDNgNGcyQChRb09vS3k/QEFJ
XnJVZFYxJipVTFMpV309U2M+KXp8ZHVwNCQhJCljRzA/Y1VGWWNtQkcKejYrT0l1VmRUSUpVdVIk
d00yPko7cjAyTj9xKXZHfSMwc30xT2tTMiRvPSYjcUBCKW00NXNzajAkPFApYVJgJEJhCnpaLWNL
Tkk0Jlh7WX07XmZwKUIkTUAkdTJ9P0F+QldsYmhMWiY5YCRMczY1JU9fbVRkfXpwaGgoQERAM3tE
Sjd2VQp6cUxFRysrdkN+OUBhYlRNeGdnWWR0X2BGUThOUU1RWHw1akNfQHk0bGJJYT5RJWAxQjRS
dyh7ZnMpOW13JFB9WGcKentsfjN2MGlnWHFQJXh8X3JsTX56UC1PVitmVX5DVHFSMnxSRDRga1M9
bGZQdHpmPDVjaVNEX1omZytNTXJ9OHxpCnpPNHQ1ZGB6d0gkJE5tUXZ5dyVAWVRCWC1PS1loOU1E
RzM0KE1kWU04THVWO19CZ0BHVWVDaiolR1UpSXdTNmA/Pgp6KVNHV1cwaFpLcmNpN0kobmgkKUt4
SSEqQnlxWVBiXmtaRGJLaTcjQEA5aE0pY0RHRkxeYlRMSnJeLWc4UmAteTYKejFBMT1gKHJ5I3Bi
aVUyJFA3d1Z8aDZZPiVfPStkRWxHPUl6aWI/e3pPZmNZR01lZitVPTV0P3tIPEhnV0dIOylJCnoq
YilKPG8lMmRRN20pUyN1UThwbWBNQyZwO3tgRHhiMWZ4PztmWFlKcyE5cFV0N1F9I3luWn5lUUNN
cEBXcClmaAp6O0p8PjtLbDJnbEVSTXhsK0w7eyhOUypYb19PR19uSyVPNXVnYUZXYEEzRWVEMXE0
dWBlISQlSDQoSDtWUT1aUUYKeiViT1IhRURWfFczVTNjKyR2M1N1YmQwX2MyZTQ/cHVaVFp1Y3dH
YjhpbE08cF92IW9eUjQpajNUSWRTRW15UXw0Cnp4T1ckTGUzcG8qMkBpYGVmdlNndk9fYmw8ajlm
byVpN2Z+ezwxXk98Wm50enJnTSEqJj05d1hnSit7ekRHKHM1Rgp6TEl6UHd5Slg5Xk0qOT5tNmJG
WmNIXk5WMXk4V3Z7RkZ8PWE3MlBlUlE2PCNzRUxYMVpvYn1zPnlCQSl4QUJjM2IKemEhfmFpaDwp
dmA7IWBkUkUmb1FAVU1MLVcySWxNZkNxMlhgcDJ8cmRJKV92PzR+d0Z3QHN5Wl9zbjdxTllTfFVX
Cno7O2Zoekp0VjdDKyQkYFBsIU0hQ0hTKmY/azQlIXR2UEkmdT1MWTwmMjFVYj5eKlQxOT16bFkh
IygydW9ZY0J2PApmXldaa3h7JiFlQXApOy0jME1yYCFiMTN7YTVQMFZYMFEhRmJqMGtiPgoKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVz
b3VyY2VzL21lZGlhL3ZvcmJpcy53ZWJtIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2Vz
L21lZGlhL3ZvcmJpcy53ZWJtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2MGE3ZTIxODU2Y2U0OWQ3YTMzYTM0M2I3
ODllNWQ4YmM1OWQ3OTkKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE4MTYxCnpjbWVJYWN7byt5
e3xDREVJVU1zbSZxdFlPQX5UMDVMdnFhWFB6VnRzcCR6Kk5OK2AtdUEmdn44M0BLeFYofTt7SQp6
NWtoMXJXSjxfej8kK25+YCtkS15gX0h9NF5TayQtYGByRVB2I252VD45eVcjeUAmUFFjbnYyQ15Z
eVAxQXBLM2AKenc/PzRRVW5meE8kSHM/d29qST82amV5Y21BZlVMZFV+ZFE8VCpxSXFuQmBuLUdK
QnFFXihkYWh4YV9SZVY/eDB7CnpGOzQ0QktPe0Q2X0I7ajJXM18oZVpTXj5vKzJObGt6dHdYakd4
cXFTI2VlRG40dTdscmY4JWtgc35WfUhDdmk7cgp6STVZVWgkPHZxNHM7SjRTOStndjZQX1diY3BL
KmloaU1aNkR6cjhyPHpXSjVQZjRhdk1KVmJ5KC1YeVhkJHQ0T1oKej43QzNhZkozI3BhaUlhOFJ9
PU56WXxTbjhqamlHY3NJUnkzMzg+bWMrKU5eVFB7JGNoMEBtWSFgQjlYaDBDWHVaCnpfPjZESktg
UDROQHhkUGU7TSN2R1otQ0pNPFQ0PE1mNGlxRHIqYENeZGsxZXBsPmNPaz5MMFUoMDFnMD01TkBn
Qwp6I1VZJlclKUkofG9Ac3ZsVWNXXml7Z1cpUXs3TlVDeDxvX0xnb312IWlCMXhQe3hsbktQfmUo
Z0lEMzRPOTxefTEKenNKOHY+SUJ7KHhsJkZyUmA1dlMoPjtLb29QfjhXfil1UkBPcEhAKCNrREYy
MzsqVTJ9d2BXR3U9Q1NjaWBWSEF9CnprSlhXdk1PMkxOYVR4Vl57YGkrTjU9cFZJNiZnNj5ETzRt
PFYhdFZMZTJrO2hQdDEtcFJAdmY+X3RwI057SEZ+Twp6SileV1pqOXYkS3tCYj5gMk4/QVJfVl9O
blFyPnRlYiF3cV90ZzxIdU5DU1pRS3FCZFoxVDhhZjRLMyZaZkVqMU8Kei1oUDM8XkE+O1M2TWl+
czFfdyQ2M195KiVYT3ZXQWJufjBoWjRybXRxSlF0JT4qWD9DSEdnbFZ6cn5GSnorMkU4CnpVU095
Q1RoMD56WU5BP0Z2MypqcFB0c2lDUDNyaW9rNUs+eWZDNmJvYEl3Y35pNDIyMlluITNFXlB+VDlK
N3N6Qwp6ezRJYFAkVU5ZQ3doV1Z+ZmFieWNvZD17RkZpVm9jWXh1dUZoUGgxYEFKOX4mUHZsTSQ5
VD5Bc29+UjR0OHI0U0oKeiZQaSVpcFVWeUQ/VlFiMz5fdEtrYXZrV2lrQHgwdVVsU2NAe3xTamRp
UmpPa0khTD9GYGB0YTQ8dC04dHRCNlI7Cnp6RU8qV0NAWHcjV303fWlMUG1gZG1OfSplWCgwenl7
ZUFwK15QTkFKP0kycCgod0xSZ3t7eyh9enhfVSolbHpOMwp6e0MpMikkakVxYyV2VyFtOStSWFZu
RGZDTlhGMD5HXmomWHJVVigtO0U/NTdAYCsxK0QzPUx9MCVuT3ojO3tPMVMKejB5dHtuMWE/Y0t8
OVlIQjZ1IXpHezcmKkFHMWYkP3RuQCpPUWtUcnI/IU9PPiNtNyQ+SFIlOyFHYXIrI2N4YEVRCnpV
Z2VYJC0lc19xPzZfeVBqKCEham1MYChMOEo0dHZAeHZuNj50bEY0KDx9flpLOWVaPEZnS1cxc2BN
Vz91P0pIRgp6ZmNZQiNkbHJGei0+ZHc2RVRSXnkkU3dPcE4jJW87cC1yZ1FQKiRpemVVI0kxZzNE
JnE3diRhd0ojQy1tPD91aTUKemV9O3wlMEUtYSZLTGUzYCVOXjNLSn07OE57OW5VRkNLTHAqcFpI
NX0jeCl8UTEwcD5HR1VuXmI9NHsjKT8xbXFkCnpaUWdVWlNnNC0ySU9fRjUjbGBCVmk7ZUFoeVI3
cTBiKWxub3loYjtwQ2pSNGdxNTM7U1JzYnxeQUN8bSpOYj5meQp6K0QjRS1vS0pAb3orbnpuV1lV
engmMXRwVUJGNDh4ZVEkZTVXUj4yX3soZGh7c3tIUk9mY2ZCK2dEYV5kSmdGPV4KenNXa2xOZUJ5
MU5kcyhHcisweVN5N01tJjt7O3pKanpYVUQ8eih0VzAhNkdMdE1HUCZHeitaRz5gVTc8TlVuejxo
CnoyRnI4fURFfjlZX2lXay1wbXJEayopO3cmMFJZZjxSPG4xIz1RbT4mOWtpNlN2NjNDTUcjcz9E
YE08aSVKfTheOQp6QTs4anJHemc/SVRnbDQ0JjhBNWZJV3V0WDV6JkwqYTxUWXtrKDc2QntYNH0z
P3BqeWdZWiheSVNJUl5AbEp2U3wKeml+MSRTRG40MjNDJEphWV5eb0dRV1ZBI2tGOTklVEx6Ni1M
eEVkTWN7KS1GJVkwMz0hVDE/Zi1PI2gwRG40eDlOCnooYUxAM2Y1cmJkZXtjaUp4T0ZZJHsjUFlQ
TG5+Uz1EK1ZuOGlwJXQmbUVXVmFFUmZ5ZmV8YE8qK3AwI3xHR09Wfgp6YGo1N2RoUDItUUtRWFRW
YiFZJG8zalYqMjA1aWhzQ1h0YEpGZ3RJfUEmfCVoZnthKjJYbF8mVnBwQ0w5JkVpVTQKekNffWZz
XmdhLU03MG12UGckUjxOX1dfIyhqRkY2ZjwtfGsoJmJwMGM1UGd7cTtVWGwlaHhmbk41YntRIXZU
emMhCno7YXhHKDV3cFpZMX1yNXN8MVJ+UEEhS0xmTW5wMWRnIyFCaj92cS1RN1g7dkd3SmJ5P3hI
KWFsMzRuYztYYzdTSwp6NCVyZ09NKnFMTnslMz0lQVExKEVCIztLJXBVNnhpRXNBdjNmR287PkV3
fV9pTXVXVThhblFTSkoqelZwVX1XUCoKejBTZj55Wj1UNFF1XkhZal4zNGBjNTs2WHVXek8hS0py
fE1aYCpMMERWQXYwUXZZOERubCtFc3pfP0FtNG5BdmIzCnpeMisxXj5+U1RwciRFQmgjfXEmeDFe
QVFCSUFxVTg8Y1RNaGx4Nj1AaXtYMV5HYjxiOCthKGNzaF9LfEZUfmJ+bgp6VzQ1ayF6QG5eZVkh
ZCNKVHdlWUlYfj4pJWREfl8lXnlAKGxOUT5uXm4qS0tXIVA/OXcpQ0hTVjsrdEp3VVMzSU8KelY5
dCl6PWBze2JuN2pWS3g0aXNPbE5fX3pMM049bjR3IT07bU1eP2ghcjM0LXghN2V2MlNwWnxZVXVH
Y0xyOHY+Cno3ZFZLP2JSbm9TQCp+MSszTmJ4SkQhS1o3SlJLOVJLdilfRE84YExQRUA4S05yeXdS
PSNMVzl2QiVXUGdPdGc1dwp6dksoN3ZYKGBET1oqM3dhVDl7I1pQU1M/aVFuRDxBUiRvZHEoLU1H
VDB2aD14O0ModHcwRzB7QjNkYXdhX05oWmYKej4+aj05O3crWClpZ1VUP0NXXkMmNy1USFRnSyti
P3FLdjtIa0VPeyRuITA1MVUlNG00KGdjeHxQTUp1RyNgbyVwCno3aVNEMEAofipWKV8+NzE/M2ty
RXRvSWpnTzk7XjReZi1WVUtgS2srP2AlbkFteHZrdkdYZHFEfEFsOEpHS35rJgp6bXJEKENBYWE0
M2pnM288JXdIXmpHJHxhd2hRUlU8WGlha2RQNnchWUB6aGx5R2xGMnxKUVY4bklnMjNreW1FMSoK
ejI3bmFgRG5MWj4qYDgzNzxmVzVRXzdwd2ZtcEphWUcoO3IjViVEYj5qP2J7OU1wbmd0a1V1TGhM
UCRSNCQpXks+Cno+SiFjemNfMU9VYCl+QiQ1NmdxeGVARmpzZz03KW8/NX45Tzl9aTBLJDNfaW89
PysoR3lmbDdxP35jcVUxUzh+NQp6O3g2VjZxMVRyend4JmpBO0coci1AKVB8OyNXfDZwa0I8SXRM
VkVRaWdmbDsjazt3flQpUiZaZVc5d2xkOEU8SzYKekIzb3lsWSpKOG8rdFE/QiZefEA2dG11PHRh
PmQmLURhTWt8Sn59MlZhdnRfS0UyfHdvX3ZpXz9obzYrfUdqNU5SCnpIYEgjUHs8MCtfPU5SNW5B
OWorRjlkel9sYyszNjhEWT57Vko2VGFAWXM2QVVAc2wkRVZSMnwrNVBSZHVXMEN0RAp6SCEpbmlI
TEwpXjRhPHhXMnxfYW5SVE5wS3MzVE90czgzeUJqaW1oejMxXzRuUHxzaWUkST04emB4e0VMe1BD
fDQKenZ4KCZXZ0F4WlNsNE5uKi0mfCVCaVEqI21lYCFvKk1IdlNuT01QVXQkVkJ+cFBxWVk7YTFZ
WGAzeXtlKGt4VzJ9Cno2PXh0cm1NbXM5cCVJTnx3VW1AQlc7ZFowTWx6OCFZWklEK2N2Z2ZzNTNv
bG5GcCklTm10UEdMaj1BOzNkMkJkTwp6N3QoTUV7PEV1aUF+TWZ8M2A8RV8hYE1UYCsocTFgJDJt
Z3FqIUM3I15wLXRrbWM3X25rKnF8O18+NlJHckNEfTsKemRpQHsjcChpQ1Z2WUZpYVpARyh4Z0d+
IVU3P0U5MzU1UkM1MEI4IXpCWS1wc3pKQFNnTHtYZ0oxMkVSJFlAKSN7Cnp7aCk5PjRLc0BzZ2dY
PGZGOSlwY29yXyRZYWQjbE9gS2R+QEZvaUkrbyh2LXFycl4mRmRjX3RQeyp2S1R6b2Ircwp6N081
OGkyQyN5MyY+NjY+eXpmNWs+RWo9Q0YrMzhFUGZTVGVIYn5eKzBnO0kyRHZDMk9QIThlZDtwTzhP
NUVRfSsKekEzN3w4WX4kZVhqKlchQDE7c3hTKWpeenM7PXAybnlCYHdyRjlVKE4yTVBBPl8qYUQy
dTwpQVVzYmw1X2hMIzRgCnp7LStCNi12IVFpa2RpKEF0K019alM8KE0yZGwlOFNKeWNXP1cmN1oj
ZmM1dTFeTitnaS1TTlAlRnd3eHFRcVM3aAp6e0ZLNDkzPFUqXmdJaUhmTEUpJnYtd09idFZ8QWdT
V3BlfmpfQDAwJGdmajF+R3ozKzl1bzFCdm00ekEoQzVkPFUKemxqX0JlZlZHKDkmaSM+XkB0aUFD
YjJuYyNLSmREKSp0P1k0KjZKRFBrO353O05qOXdoTWltJClATntCQStyVEV1Cno7Z29OR2ZqVEpj
QV48ZShgRXt3K153e3FUPyRvMXdwSV9CU2UwRTQmWkAjfFdhKTlZO3c9STY1QClLPSNjSGVnegp6
UHNnek5KWkhwVU13YSVENCEqbDtDKylpTXROcUpWT187QThkNV5QRFBuaUhQRnQxZUlkKzgzRUBW
RSg0KW5pKDUKejRLUERBYEpnNXlRSFhoRGMtKD8hZTEtR2M/WFU0Tk1GMSNWSWkyZWhjOFB1Xm9S
UmRKZHxPU2lLY01PMjxydj5TCno7KXxZRVFANilDZi1KU2d0dmtPU1phPzNzcEZWZX5IRlZRKEN+
IylnPkdJRkpePDFHajhiVGV0KT5Se095UDlHcAp6ZUVlY0VGOERgS2ZgO3U0RnIwYkF3QzNzRUBj
flZxO0c/LXdwKVY9ZFdKNW1uVkIrPkIrSWV3LVVqVjduTVUhYmwKenIrSDtSWHpLU1NfQyZVVCZk
PHhBRCp3T3w4fXREOHdvTmR1Tld0WGB2cSZhTThmRlheMjU/PEI0VDFtSnd4Y2VxCnpHMEZCUXg2
Q25uaHBEckJXKWt3VC1YYkV2Xz58MktmVWBNLXZCeUxKOF5zemwlMSRWTWAyJnd7bFBXaXtzME5e
Xgp6YG1ydT1adUNoRTBQYClCZlpGU3tKK1AoTkxNWE9TUGxXKjM7QmskJlc3M0F7OVJWdj5tTW5L
cSZPQEolRllkJXYKekp5U0FwKV59ejdHISk8JjdKOHF1UFhOX3koeU0wOWZSa3swJk1eSz5fXyNn
Mmk0ajd9P3pXNj5jWWM7aT9KS0R9CnpFQz13X0lIMn1QLWBuWXJRYmB2KWNHU2BAblVENC0jRSto
WmFrSyNGPGw2O2teYCFlamVIYEYrJXowZWRzbCRPNAp6TikocEt2THB7T0dhPlMlTlh5T2J6NTFz
RiU9KnJRR2ppMXAhUEdmPlNyQiZhd3w2KUhra2licEVkQVp6XzNoMHEKenY3PT8wKyQqflM3NnJk
WD1xMlJhen5uaWczJX5feFY4NUJDY3t5RyReSjhDOUIjODJ8IWc8fFd5SCpWO2hyM1ZDCnpCcVlk
U1gkRGpYUXRwfjRJdVMwTDIrRmNadS0hc3khM25UdikjQEVvMHxRe1JyUTl7S2FBPlpxOyVjRWR3
XnRUTAp6MSo5Y20/aUluZlIrMjRuTFkpOHpaZHdFJjEtRUw1YkBhdF5QTEAlKFM8OFZjSEw3UDk/
KFZmeCZtSH4hTWlte3cKeiZfQG15ZVpFODdoJnA2NEVJUk1zUEI7O2kjfHglWntZTDMlZnNwNlps
fVF0UWVTfU40ZVgoUEVuJjAqRj4hbUpfCnopR3ZMOXBSUHBtKEFGd1NFP08qV0N6aHBvX2VJZkMy
NVZ0LU1razgjUzVHeWlLQH42bk1sX0ZHYG9yISNCaGt8TAp6UkNUX28xO2tmTGM+QnhmQWRRUWZK
eDJxRm1NMEJ4dk1saCtCR3QoQCpDXiRqP2tgNllQRWdVfjIqMEB8QUZ2WEIKel5uPVFmLVdCWilr
Tmd1MjlLU2E/MClIS0VxcCZaIXVOQnxCZHpfO1IqKXIzZ2RqZHAmSV5eYUFnVnh1ZWFQWVheCnpq
fXE4YVpfMVJ3Wm5HP0RneDYpbVUpT0kmTVgxWFp2SnhsKDdkMDllRWg8VVBRTzh+PD5qNFU9PyVC
WHU8VGlUSAp6Z1VQbFcrLUZScW02NVh3TFR9UmBATSNjJDktT0N2YFI0dFN7Wk40Nm1TYmFmWXBn
JHNaTVRqMztocFFGP1hMcX4KekVXN0hTS0MlQWQpZWZIbjx9JC00Yio/YzlFZTIzfFd3OT5jRX5m
TDlmLVBNPHZhO3ZmRzZSSEliPUwzTy1mblQ9Cno+em1vOVpFck5nS0QpMSErMCNTTSt4U2Y+dihA
T2RyOWBDcHtxM24rZmd6QyhLc1h3N2dod2glQ05FNjw0OXhrTwp6TX5pRCpeQFRFSXA2UlE2ezJw
UFgwVStFSDtuZSp4JjBqTzdYYDV9Xk44I3lkM2F4LVNQMjktMG5NM04oN29OUEkKemt4ZytJMHcj
Q2pIezEmSm9XZUJqdHF5K2pjZ3lwPkg2ZFB8VCtPcyplNCt6WGxDQGBLJnV9b2AwY2plZGQ7Iz9X
CnpTUX50MTJKd2ZVM1IkO1dOUGxPJk5+ZlB3aEwkKlV5JFBgKSRpfT8pdyo9OD0wTTNeRzVHVHNS
NlBMS3MwS21pagp6ZHYoLTYybW08PD84UUpKd2JuenJRMTIpS0lLWUJadm1jaSFqRDxCT0hOV1da
XjMtNUxxRkpfTFVUQ01Ub1pgNGwKenNpUnZUeVpgTSV6QT5JcWNQVzQ4SnNmP08lTm5wbmV5cWwx
aV9qeEhtPXltKDx5cjdmamlKMyFmVFoyRSsrIXNmCnolZ2UwUVJobl8qKFpOKXVsb0VyPEMoXmNU
d1F2Zk1SPHJlc1RJYShrRVJWZU48ZyV1PEYxcHMxPmVvZGhea3drTwp6bFUtP0F5bDFUOW5hJHEl
aFVQcnE8Y3EzaSlHdGUyPCkhJm1ZWWJjJEw1KypMX1U+eUc3Z15VP15gPUZyd29NclMKeikjaHR1
bEpHfHsoUm50dVUjaztFNnU7PCpSIyl+RzBCO3JncDUqeVpeZnxVT1AtPFY8KXl3PDV1bmRUSiZI
QWF4CnpfR2dGI1lMYTxwU01mMF9RUXgpQTBIO15YWXFZan1PJittJnkjZHVAQEwpU0N2O2ZCK1p+
X1FNcWxzQyVUbzdPZgp6TUUlSEpXUF9VV099IXQ+VVpeS2UwNzA7OyliVE85QitOXnVSMH48R1BN
aS15YlRQMC1ZUFhCfFE1ckNyeXdAOXgKelQybGxzeHJSZjZKYXR1b157P1NZbEplVU94KWE+VVNf
T0JIaWdmdX1rIzhPJXhtMUl8JjElVkkhNTJBI1QxRyF0CnpvLSRFKGRfc0stMkBgYnhYb21gS01p
ez8lYEhNZCUpK2J5ZntVXyEpRkV2RDVKYmthSD03XiROI0NeaVU5WikzUQp6OD1RVGA/YUh3KlVP
V0BrY1pWSUQwWUBzcXtUWTE1U2xlTHR1SyhzfHdWUHkmdUtpRSU5a3l5JHVmYkxkUWVIaD0KelJt
SEchejhGTFd7YlkjelYjNiFDZXg1aj1GMkdQfmtgOHVkYzBJfU5xajJQWSE/V3srI2JgYk5zO15w
U1U4dWRUCnpQd09CSElAO19DPSYrUClzVHFAbmZFNUIxc25TOW5YZClFX1RmMDF9PVNsRVFOJGx8
bmVFPCh9MClgMyo8bmJXdQp6UkdSPjwhTEVOcUduTy1hRVpeQTR3aHpkWENpS2BQI3VOOGlpTV9e
Q1lqSHNyTTktMlhwTnk9eDUzMD1iezw8SE0KemNMSkxIP0tvbzdBMmoqRkxmfn5xSlI8WWQ5SXJo
S2cqa1UjZCo4aUFjU1pMbHc+ZFZhaG01K3VNLWtoK05KZmVOCnopVzZzQ3tZaWgmZDNMNllWZ1J0
OCtzbD1nfDhXT1BoQExvaGBqLUlReX4+IU4yfGt1e3hlSj08ZCgzZzAoNGNYYAp6SHtMJDtpI18k
blFoWj97QE5MNFVQcStaYFc7TURxPTh5WVN4PHwmVFl2Yj02M2VEYjFkO08/QG5qSXtUZFZgS1YK
enpwSCNKM2t5d1BzZCplTSpMfjMjcDFrdjVVKzdhWEVsS1otNCVaWTE5VHFWfCkhMUZtRG1fbURQ
JURFTVVzKm1qCnpEVWchSCQzIUtWPXdRalZ4V1Q1ZipWR0BuWChCWEc/MzJndlRnKldsPnk4bHI+
KklpV2tiRTNqUzRSUW15QSNDIwp6VCsjckRSM2I/TGQybHJFKXpASyVSUGZPJkVhakIqbnNgX355
cDAmbUBwfWl+WHVPLTg8THhZdiF7aigybWNoJnMKemV0Jn45ZHNQYFViayprNGd0O3JjeCQyNE16
IyhNIWY7MmM3UXA0WTtzSHBXTDktbEp3RG8qcTlWPyoxSHh+biliCnoyZCQ0QDduU1ZmaH1AYFdl
Yj5Hb1ZaIUJMO01eblokRTMpMWEje04qezVGX2V6JVhaPjM9Nmx6VnxOdCp5JjUlfgp6O3NWPmZD
YiM7fWBzP3p6e3QxSTZWcVFpemUhTTl+UlVBcygkUHhMSzM3a1haTmYzaVgmUmk9LTQlNXB3PjZn
SCQKei03PEdPZl90M31sekFKc3NvZyNYX1FRPyM/SU8ocDYjengjO3ZBIT5WcjtePmFXcWJwWlg2
WDRCfjxiQVV7QkghCnplI2ErNypXVkRpdFNTVklMQ3w2NiZ8a1NWI0k+Q30/MXw8MWZlMilHXmll
UVdzSGFLKmJxSDNOdjlvNU1mITAwQQp6OXtwWUVMe3VqaVZVekNNJkZoZ3xObHEoV2V0Z3JQc1RR
c1lBNW1iOW9YZSQpJk0+Q3xxQm1PbD8oKn1UJSVCbFEKemtpdz08WWY0SiNke00rKkAtT0VQdGRI
Qi03NVRuSGxZM1VVSzQlPGVYSXVNNypKcCl8b0E3ZipPUEc2SDtZOSVzCnp6JDVZSUpaO0NsbFN9
NWIyOF45NkpycVJpWWRWNSpnT1dMM1BCXzxkX31+ZkQkUTZ9WSlFWDszSSpnak15VmomeQp6TE4j
MyV2QXk2TD9XJVNLdEt2PjhfYCR0UjhHZHVePVVxR1VaXmckI0w/N1FUb2w4P1lMUjZDcigqVSVs
MzJ1KzQKekAoUFNgVW9hS2k4WT9FRGFJSl9xX0czWDtjPXJRaHd7T3dMWHZxMUZPOVB3bW95O21r
UDY5eEZBZWo9VCkmdGxKCnpiZkMxNWVtZTNwMDVXbXNMQVhwOHRNeShjM2IpY0QwS3BVb3N9IU5L
OUB6RE8lOUtyc3lZQWlSZF5yZDVDK1YqMAp6UEV3VnM2VntOMVFnXygoWG4wcll5VlNrdzdsXjBS
TzxgcGI9N1V5ZjlsUHBBQyEtUH1NYlpgR0FWeSY4K297ekoKekw7NHFlQDdWRllNZmdOSTVFMCRA
NChDQ3xKa29KREh1a3dTTi1kRHdGZX49d19yT3h1KklBWCEtLUdxREUyK0JUCno3bVpZNExNVCpj
PyVQY0tGYVc9aTdKJGQkPGpLeT9neHhgd3R0Y1dSPXklPG4/TEZqOFIwV3NPckZZJjY/T3dBSgp6
PmFFYip6SWdwbC1xNDM4d0FYJTJpej1XRy0kaVh9bil6bVFAcjQmYitjZlJpTWtBITNyWlczeXN+
K1doXmdwejIKekF6dX1ucXlqNCYhWGAza219MGo1RTsxNVFFLUhYKVAlTz55Iz82VlRfPkw7Mygo
K0lJRmx0SylNTFBhQFV7TXpMCnpsQGoxaUF5anNWMEtVUWRKaEtgMyVCJihXb1Z2JUtHUklLNHEp
cUFXWnBDSH41dSsmV0tDSnY4YXwhUDMje0N7RAp6Nmg4RmM1M2s5RTMmfSRQSVRgUW9BfFcoU0Zi
TWxaNChZWnYmKUVmanAmbVBYRT5FJFl7P0V9eCltTCVNSH1JUl4KekhIZmAoLV9IR3QhV3t3NyU4
QityM0Rscjc5ZmVuI1JNfUREbi03I2BAfHNsUmBGU31UeCthQzY4SnQxNmwhVEZuCnpoWkl9PS05
S248enByfHYkPF9CaGhhe2d+Zm99OTE7clRpQTw/RzxQOGVpfkE7bnhTP29TflRKbWQ4US01PGNF
aAp6ezQhUFpHV3pFNnRnKlh1R21XSVBFdEVLMFFQPlMjRHpmcU5RN0MqUGtCYl58WDljQiNaalZa
dGVaRCQqZml4MVUKemo1YEYmelB5dTlPQUJOYEh8bCp8V3w0VmZLK3hMWlYjfGIqRzxZcEY9MExn
P0NWKEFTaHhocEZlME1aOyVyfGxVCnpyeSFjakVwN00ySjBedXQlbn5KbG5kQno7NStTTVRTKCN5
UkwySD4xajc8Q1paQ2lHT3p0RnNINSpZcDNZfk5gVgp6eyk0WT5yb1BjdTxYVjdtR2hnezZpejRC
fDl0K0NIcCpRSkhFc3JvZWFaWXVsR05JWkRtTmBBQTJSP3RGVzhPTyMKelFTJGd9WXcpfDlUWntn
RHstP2xWNmIzSXdmblVKd0UxJGo+P21HNEw0WDtsTmBlOSYwRSFZaUk+RU5oYGc1KzE4CnoqUEZX
dVZ0TyV3SC02N1V6VmZFZTBxOVZUSTE2QWMlKlkpVGFMdXpNYSFnPztkS2QjUWx2OHd9Ozs5fmdp
KCNrewp6amt+cEVvPX1IakFUZn5lZGs9QmFyNXRuc18qWTZMTk15Mi1acDczO28tNjYrdTtheEtt
fD9ZWjFuVT5DaERpM04KemZjXzRtcSE7Uyg1K0dLMW9NLWw5UGooaXtON3dvJU0yK2xOMCs5dWgk
QGs8LW47OFI4MFJyZkBAZnxwUDtuSUVjCnpVXikxbHR8K2pVU3FkbCtxXzhHUSNiWGJrTzhlQVlP
S14yVWRCX0hUX0IlPX43T0pCcjkmaytKPzFCX00zbGx0eAp6IW5mKE11MzNVJVM+UTh3WXRwaUlj
fWhHVFZDX3JuQXA1d3NHSyV+NTh2Y1MmaGJFb0dwJn5MYkhqXlNhbWFoXiUKej1eVXVnWF9kU2to
NFR8dyVoY1g7RGZlNys8RDZeT0FxJU59MDMjUDNaS09NbmBVOS15QXFXSmdLcTA1SkJCNk8yCnpy
a19tSihiZVlZZm5lSUJPWE1tfFFsVmF5Rj9qVTttJXBeeEVzWjhvb3h7cU4/dlFlWHVub1NGX0gr
T00hdDVweAp6RjVgazAyZyNoOFFIb24lVHpkdEApRjBYNWsxb3tYQlMyQ0k7M1ZxbWlCVyZPdyEp
R2B4dXQxK2pFZChmTFNHMj0Kek92d2tRcC19UGE9dzFlblVlPjxZKjMtX1gqQj12RTVuJkN2bjVE
VSkmLSFHTztiWWl1SktEezZmcyVQV3tNTlorCnomRkxYZjdnbmE1RlFpTEBGM0RRM1E7Jjl+cE9t
e1k0Sk5OWjtNUn0+Mk1KR1VwengmbkIjQ2NrdCQ8IXlnUFdWUgp6d0khKGlNZ1I4aXRUKjRkIzZm
SHpkYGhEWF4oKzlwPzBCblNeQ0MxOyYmNj4wO2EmektYZTNyYDlFVGQ1KEYmKWEKelZqRyM9dVVm
N2oyKDc9bTJjfG5Ve0pgd2pEXyUhSGt6JnlKKl9HNkskO3xQanoyRUJgIUBRRlM4XnB1QUArezJR
CnpKVih5OUIzOXluZXFAM08/I0Q2MUB8Qig+TkVicGFeXzZTYHRpI2t7XnMkTmswI3U8TUdYY19y
JDd6b0xzQ3czfAp6QyN5UmdEYU17V1p7REJLZDtFNSR5bzQqMjlhbGpsbUZ4WjtLRCpDYUtSLXw+
NWlrNV47N0U5bU4qUHdlem5yeHYKekcjdlUxUV4oKX5iQWd5UnlJKUdyck4rS1BFZ2E4Y2Yqdyt6
eEBjTUx0UEVMTWctVHFNTVBPbnlMcDY/ZEomb3BvCnpjVzhoVzsyKjwrcUM7RGlLZnFga3JqIXkj
XkdJK1d1V1FkUmlPTylNWU4mWjZGeD8jRkxFb2wldjgwYjUwKGMqdQp6cSs9SWBtU0BaZ3pwbTs7
Pz5NaFAtRis8e0FWdWN+Mks8eWtZeUEkWXtfeSNrQyplPXppfEQteEs1bilkMmdxN3IKek4ld3Ni
NilJaEJoND1PKkhCNkNCMzJzOSVkLU1vKkUoVDNjMD1xX35qR1VsVHc8dG02Xnx5UX00IztYIUFW
QnU7CnpRNXhIZHdoTWdOaHdAJndhI2ozKTc8Q0c9SjhidDRZK35hTDghcFEoMWBqQDh4c0RkeSQ9
R0hDd0YpOFYmcTtTRgp6NHNzSXtSZVVyKHVlRCM4K3t6eUgrTWhVTC0wP0AwSVdmNGUlWCNSTyNJ
P2g9bmNDMDczVj8ofXI8ckx2KE1zakcKeiVFdUojNEUyZihVKm47K0QzT3xUciQ1UnteOXBoNTQh
cjJSYiR4aS1xMmxuXlBvQXFZajUkQkBgIy11S0YoT3BsCnpYfjd4MnJmY2FkOT4zZyo7c2daK0F1
fFRBMD5yaVV7bT5PRXk7KU1gMD0rfENafnYkT3tCQ2Ike01XdHJjKUQqVwp6OW1icWNib1owM040
amNNe2xtRUJ3OWU/ejU9RDh8aT9FPUsyXjdJUDgka3VTd2QlfmxMIWw9RmB8QSU0XnlibWsKenJ0
cmkjeyFWQGghcWw/YnlBZUlOYHcociVYI2xoYTVBbDRqaShQdXBuT0lOWUVeSCh+NXdQPF9hbDZ4
cE9WM0FfCno5K185UVg+WGBvaTZUUDNTQzk3UWNHdXBvKDtHVk45bispaiE9Rj56REB9Qm14MUAh
P0Rgdl9UKSlBbWMqbUZBYwp6JmFVXkJ7ODIrODc9cypkOzY3bTVKRVhsI09sfiFKJFFGND0yYVM1
MGdEWHlONTNoPX1ORFozTWY1SUZ6ODNRfGkKei1TZENaKXxmWjJSSkRHMHYyNzs/bFlJc1AqdzQm
O0tmaExPOFJec3l6dUk0dVJ3XkN8e1BDd01ePH5ZdChoQHVTCnpMRDUqbSprPXx7VSRQWFN4fHlv
RHV7dW1gQ0NVdXplSHAlViotXlhyPDZKOEQ+fERzKmB+YlZUcU4mNDBuSzJZUgp6S198fDhnMkd3
P2xtUG9yR3hSTjN7SH5zRXh3NSopXkBmKzNRaWQ2eEZmcT90PmdyRDBfI0IlbnQhdzxXZjdDckwK
ejxuaEdwO143Q05ASHFpV01EUWAmOUdjRGVeMUhkfEx3JWwoa1AkYlg3JSo/O2k1Xj0menEpQCgp
I0ojd2JASzl0CnomZ0BBdGR3VUokViQqdXF5dlpjR3V6PigyIT00Xn5lKytkLVUtaUQkamg8Znsr
RyFGdk8tbiglSD1DPjMrY2VheAp6cnJGbWVTSDY1WXhhOEtHMk56WlVHLStWM1N3ZSohMW40RyRa
QTwlVXZDck9ieFc0PzlLUz5nSzB2LSNGWlQkJDEKemVjdXhHZmdJV3pPfTZrKG5jM1hqbjB3TSp5
d352ZiQlfSFIdEx4MVZXPDU2X09Td0kye2N9UTt2YXBpPy1HWkhHCnpNb1pYdT5zUFpjRH07U3Ne
JkxeOEs9cDQ7RUEwTXx5KXpsV2h8dikrUHlKa184QD1EPz5hVDh8OU94QGU5XysoYgp6K3FLZXI+
S2JPYkV1PkFHbUErPnYpSF9hcUdUOyZReD5yI3xBQHx0bFoyYSt+RV5qPUZlR0d5PVo2UmtnK3tl
NGcKek0+V3IhYyUwS3RBKSl1bG9BS1A0XkM9ZFdAXyVaJGBgYU1nLWRJc0xZN3JqJUp+MHdLcU4t
fE1TTHIqaCMlZ1MmCnpWJXx+dm5rYGg0bWM3TWdBODJLbF93ZmFjRlFBNDh6dDcwazFeOz4/Pjc7
VyprYXdebS1NR2BjWXx+WVY4WEhEaQp6S0BQZypANnZgMnd3Mz4hUXN2MUZQbEM+KGNJaGc5dEY8
d215fXA+UyRHdGsmO2BUUCRfP1I+SEpDPGlaOXRTdjkKek5oeClSXnF+SmB6VGQqVyhkJTFwaUt1
JHRSUHxZKkEpIT1tPUZeUFNMR0hGVDczV1NYYkl1UXtJPjNMcEsjZCUxCnpRayltJDJAdUxPMT1o
flMpZEZ5SmcjfXAjVUVNKjhEZyFyWW1wOHVoeiNUaEJBandCfW5tJDxxZTVkWHNpfDJCJQp6WEtu
UU5uSWNRY2NObUpkTjg8eGhNdD5fOWVHR1d8V2Rob0trOEl1YzFnSFM5YChmVDRvbmNEJEpwNlVV
Klk/JHcKekdgNXNnV3ZhU08kfWpeJj52c2NpJFlodXAlM2UxZGxAeSkoNFB6NDBBR2RaSWFFbT9z
QFJaU3FAI05RZHk8NDtaCnptJD5gbyRJcThiXiRYPF5NQlVnPDB3M1VTdiUkZXk3cjFOUGZYSilz
VXVBXjlEYTUhXnQqd1F6QXRFUU43M1BRbgp6cDgxN3VSSGNUQGYhZDcmVWEzZCVTIUQ+M1ktTmVx
P31ySURwRFI9XkNWaFZ4ZWRUd3xVQTBSRXlBQF57KnZFOWoKekAyQ3dhfEQ7YWooQG9NVkx0RXht
PF5lbkZybz47JmNqd0h6SmRWMVkhdXlpTyRUaHpOZVI7clRub0N1UGZJRzV3Cno2ZEIzWGNYX2g/
QVZwZFlePEl5ZXgrdSRZKDVIWVgkT0JKTSsqb1l8QEt9a1IwbEAxbXJ0JW14MVJKWmwxOSV3Rwp6
SDJ+T0ZiQjlQakRDfFRJQXtRP1hfPTBieU0tbGZVSV5EWDMzK1Q1MVdYe2MmI20+M05YTSlsaShv
JWQrOVBsc0gKenZtYChiQFZLI1UkZmdWQCpZXnROaDk1Z0prNnVVKnBZYHBIZXNvVXdpfk8oI1Zr
flZLQzk9KEBzakZSOEE5SzZECnomWjRZXnF2UmRxQ1F8Rzh6THZ7a0UmUiFjWkAmZCVPWjNYOVZR
Tiorc0whKFRHcnpqOGZubjcmQ2RKTV80KkhmRQp6Pys7Tyk1N3YrYkpYcDhJI2MpX0VSUU9JdzI/
fUpkelA3ITJMT1hBfW4xJCklSWtYT1ByVVE9K1VqYCgzYW1HdCQKekozK0RhRVVwO0FUKEV6PGRB
VSl6YUx2KT91NEpNT0o1YXVhQn5FM2F2Y3teSTBaZ2pBUnNDcHJMUCt5SCZxfT9RCnp4KSooYXY8
V308UnNBZXwxQTV6NTFJTVgjMFlNUHdtY3AhbGJnOHB+NDhVY0xRd0o9cGVCJD5faWF7bmw/VDRV
Mgp6Y15RYzRqI3o+d1RHeFBCWWZJMXJgMWYqZEQzRENhNTxwMXQwTXg4RE4pIW1jdFh4TEJ1Jm08
JmZkKVdQWnFSeVQKeiohJXBkMW50dz1xeHxKOF87TjtzdWlePCVBTUFTV189Xnl5bnJoYjh2LXlE
O15vdjc+PG9gVkFLMU4pUiglWjxKCnpjN00kSUlHKCZjREwlRDJvQHpKQmFgR2FgOHx7QTRWKnNY
ZVlUdnVVMTI8cUlsKEt0YV42eyUxLXtWNnR4b0Q0OQp6WD9XeTdVK1I+VitnQk1hYWlaeyEzWSth
LSotWWZ2ISVKQE55NkgwbTZpZ1NmKlc0V2VtV0hJdCRjM0V5SX1XdkAKejVPPEBCRDJGMl5HKykt
N2xYd3ZuIzlHXlNKQl4reSFwJHpkbj5jcGQrPTA3O3kpdGFoV2BxeEopTE1sN1YjYGBRCnp7cU4+
TTMxcWNNMjhrVzxQcnlCVlhKS0ZLRW4/ZFc9SjFrS1ZiLURwbnZRfHJrUUVZKWZkdm9rN30jSX01
UU9jPwp6ZWg0RkVvT0daJWxNbGZja3dlR2tuI0ctQ151UyU0YVl+anRDZ1Q4ZXUlfnFudjRsUXFu
eEkwUSpAIyt1bUBFdnwKei1QTTU7dG9YXj1jbWdvMGlrdGdgSDUqMnBtNTZ4UUdZYlBGdmFLbHJu
dVN7KFc/eT5xLW1zd3xRKEcmdzh+a01QCnpDayV7LT8/dUNGOEcyTColPldWX0gjOXBiWWV1b01J
fVQwcDh7REc5SHtOMlYoc31lb1BFUDhpbnprdUZvemNEYwp6MUp6ZGomYmZKQkg8Z1BSKCV7cFo0
SkpNKV9pdE0kRUgtKkk+UztLM2J+PXJ4KEdNYjB0cWxFT1M8eEh0T243VygKejNKMjFHRSZsM1g5
a3thUnI+YWlHSl47OXFlaXMhUEkoUj4rdzFsZ2EyJCR3OFB5P0trcWo+TiteRG49Q0wkcWJgCno2
ZyRQSE9SUy1edWlXdmRWIyFXPSp7VzAyQFRlQl9pQEtramAlVzJga045WWVGM293d0VEdD99ZlAy
Rys8Pj5taAp6S0heMXMpOytyIUQmKz9mLVk9VTczM35ndGZjMX45MkBAM1BDSitge1otYVp2IXpl
SVc8cjt+STl3KUF1OXp4SWAKeksxUkNKNn0+TmxvUVdkVzF2KWcyNE09VVEpejt4RGlNZWlRa2Q/
Z2l4RllFeDNMI0omMG9zRklPXipOZSVOZSgpCnpoKUxZJFhTPXNLVE8qUzRJfV9XYEQmKVNGT0FH
X1IrMnNyQUtFVVJ5dXxkd3swWmJCU0lMeWkocjAxUFQ2fm9PWAp6QCNMaE1fWH5FJGJTc2ZxVysw
KXJwdFJ3fjR7Kl8+NCVkaSNyPXNpYmJlOEJWPWVRNnNLRTxNeGN0Ti1LeHdJdEwKelEqOFBqJjVs
d09DSj4tKWpuU1k5Mk57JFBzdmtDanIjX1I8MW9iLSpAKzI8Vz51bUNIeUhtZFpvQ0dBYGhIP09V
Cnp5V2J5R1RCdyhleEY5aCFtUD04RiU2TChyb0NjaFk7cjtSRFRpKyo/MGNGfThjXnU/K3hodTNe
VUVLY2wjNyFBPQp6VW8oQWlNKlNxOUNvfG0tO0ZaeXEhcjNySD0pKH1tRSNYRnRvIXEjP1RGanU5
Z2dCVkVCelBnKUI9ITZVciNWNT0KelR8bnpmKStzelZVbmNwcz9KY1V1OH44QSV7UTUmYyZNcEJu
b3JGXmRqNHA9fDIjKm1eOUJgaG8/YU5lVTN2Nz5XCnp0bDdpNl5nNWh9XnYocjdlWTh3PEhgbG1k
NlJ8K3VQZmthKDkpRkpfd3opSG9UbE5EKy1RbndNNi02V3N5bjR0QQp6KXd8SzI4e2VPdWYxM2Bq
OFlDSnAxN2QmV2UmdT97UTg0Kl49SVgre1oyTE9mSD9oZ31PeGtqOXRvKEImYyFWLUkKentCJmhG
c0lpbj5acVc4QGJxb0s2K3hNZUcpVG9hNTs8eGhWNVpMdCRkdmRGVlVUUVA7RiYyZC0lOU52TWZ4
WSYoCnpHYkVNaTJUbW8xT0Zob0k3JSV3OFBga1V9azBhaykkRXdCXjc9Q0drOERGc1ZHeFNDbClO
eXVpUk5SVl8yUlhrQwp6WlYzKU4/Wns2SlU/cXlkezBxcGApYzhHYHpWVkloPzFVKSNrJFpIPVpW
OzJ2QDRwaEgzKm1ZJj9DPkFXP0tUdUgKemZ2QU02VGtHUVJFMzRDcDJVWGMwSHs+OGlmUihCUGdf
fDdpTlJ+eFRCZihMNmpgJiRYTE84bzMwVk08THNNbSRLCnotRSQ9TiM4NHxyKzgmd0Vxc3Yka09J
dCZ5VCt5ZE8pWWs3Tz00aEN8O0ppWj1pbSF3NXlmI2RkNHchcUVhaXRiQAp6R0pJPUg0KD1kZ0RY
QHFPYWA2MVhHfUFnNDZ2VHMkTjxHdXBzYH41UHF7PTctdCkhPiVCVyk8TUl8YU0yJW52ZTYKemlL
I3NwVm5fM3Zqe1pFdVduQVQ2NjArUTYoMC1xQ0p7fChGJDdTYz9pbTMpV2pmNVlxR0BKdXZkXz1A
KWEtOS0oCno5Rnw8bHhqY0pEYFdaNTh0TDtDaEwodVR7e3BZSl8tZkhja040c2Y9NEZlU1lQKj1w
XklnVTthPjhiK1VeZH1+Qgp6OWREem9hWTRrNGFBe3paPzt9TUBsO15+RFlGbk5FYlVxRFNNM0hP
dUAmazNoRWpLUyV1fj40bGxMNGZ8ajBoPnQKenlNSUs7Wik5VWU3ejYpS2wqQV4zKkgkKlNAMGRX
T3N+ODtwIUFUVkE4MEBNKGA+S2s5PTkhVERrJns7XihCe25WCnpfPjhYJDVuWSYmVHtuRX1BJVd0
PzVmPEZgR1BGdjtGfDl7TzNZR3t3Y0hRZ2NkQWg/JjU/RXh0NHY9fmsrakc2YAp6Ql9gTEYrLW5U
cC1IKFhHSn5jbVgqVn42eXVwdWd9eHVPQU9WMDFvRFFGbmBPMW9mPyswazI/RWRxX2hCO15ZTEQK
elV4O2dabUJULXRDcHw3TnJLYXwpRlRZKX1AQUpMPiZndnEkYkdsYzlDUFRwZDBVRClyMHFBVEAl
eS1aMjBJIyYoCnpVcytPV1Z7TkYkMn1YRXomck5LOEI0OChabF5vSytMamdZS0xzPDBzbENJITlJ
M3xlKFYqT3ZeR0BkaU9XNz9gawp6X0JQSDUtZ0MmdFhvPyhvOD95ZFJiSylkakhiNGxodndlWFQ0
MDM9dlpWMH5pZHFFUzk4MkROcT0hbzxWNWFESEoKejNMM2FQa1MjTWN1b1FJUEpvfClfTFA3dnB2
UWgrO0JiPikwXzl8N3xsTXU4STwrdlooPColZikrJio/VTF9TytMCnoxO3x8ailBNXRaTjNNfC0r
NG0lUExLTDI1YyFXWjFieCNpUVdFfEFKZzZ3ZTNyazwoSjEwRlpzTyRoc1lsNCtycQp6I0prPlNw
Py1HSENrJDVMVTNRY2NETD9CRCFsO1MlOz9RdWtTVUc/YnY0Iz5KUEk3YEgyfG0qWFIxSmZWZDE8
e1QKej1FO3tsSG1lO2V2PytmVEppSjgwKnFjeS0rTCgrfTUjI2MzSndmTFNib0BQKGo9c0F4NXlr
Rz1gYkZyXiZ0KHM7CnpgSCt6K2V7bjw+YWJJbCUtUVlZfmNkdEF2PVZVZDI3YSFgelI7SSk0Vndz
bkJrS3pPRyVlJkZ4WSQ+JntPLUk0Xgp6SGRhN3Z0KUs8LT47KHRrZi10NmRJMCskRTBpK2ZrMz5l
ckwqQ3t+YD9laDV5RDJjNVpIUThEMEFpTiZ8T05NfDcKemhKU0NfeWMrdWNmVXFXWGNUd3YxIWZR
Sy10aFh3SjZyRFcwe1JnSEg8dnVKcDMobCp7ZGM8ZVNDSXNtcFIwXitWCno9P2heZVM0Iz9JdWxs
PmwoaXo9YUo+M0txWEghY1lSO31rKnY1ZjU2bmQpXzcmPWFGQXpVPz8oQlI2QXliS0FHeAp6a1oq
KWorYlFiODJRd1M4WGBQXkIlJWEoeGVDNXZgIUF+dGlBPUxBbXlgNFlGWktxbkl6Njl8bz91TXl+
TjU8XmEKenJNJG5teF5iZjghYDU3JllTSUchViVYSFpjN0FUSj0qRHk4bjlvbnwySGpeR3IkeGpH
eFFfQWFEflQ4ZSM+dFEpCno4M3BLUCtnRSlATDFtS0Bjbz1PR1U7Z2dVbCk2cEFIJFRYUlFXalp0
YDwhUURRSVQ0clBlQWgoNU1TeSNmfSFBawp6RHRGbWoxaFZEPHdySEBAcTt4QUAzUEIoKCk+UTJt
MmkjfUJMQll4bTVZLWl4and0RCYzI1ZQREhgYUxyQ3R8aT0Kej4mTkx+MFpgc05gRWFTYURRfGZ2
YXlSYWd7S3haKyEzRmxHVVlmMTxzYCMpYGZ4PFRnUjJKK3hRNSs7eHpuVH10CnpiTHM1dlhmbiVO
WWZ+OGplZyF8KDc0P3FWRSV9YiFuNGFFJD5YditzSlRqNjBKMGo/d1d1SGtPUyM7MyQlXyVvdwp6
YiVVKEcpIWFpbWFESW4zWFpkTnIkfDl4eDhqTHZrZVRnR29GfUcqJSZmYGhFS2VINTh5SzV9SFF4
I0BNQ3BSKWkKeikpV25XNnVFOSNTRyloKnk0TDJSTSpJcnpmdC1jUGcmbGMlNkg8dig4NWYtNV9q
SjJCJC1gRjlFP1RAQmRifihKCnphRXhDVyMjbTFkeV5VTUdqI2hjWD9adDFPPCU/Zn02QEJyfSlR
Rj91ZHpuIVBPYnM1RnpqVTxSQkNrUjxVREQ7egp6KlVQJERnS0BGcXBTUTdXSzZMbX49UllrS054
dzBfdCZqVWMqZG8mTTBCaF4qQkZqd3Q+ajhAQWArc0p8R3pZNjIKelhJfFI3LX17SyhPWWEoVzx8
d1p6XmZgOFdPbSUmS1lWYGI+disodXRsSWB6PiQoNFFrTyV0PTk+ITB1NiVkZnxECnp7THJLV3RO
Xn5Pbn5zeHZIWC13Yj1kLVQ+STImNWxmekEtZyVHdVBoX35DI0MrIThmNGArd1JAUkhUKj0qV1BO
egp6XnN3SzdFbE9MQGlfWVReYWRiXzU+bTZiK3FobWtVNT4wMSlqYzZHWXhwZDB9IW1eNGUwfn09
ZVpEemtPI3RJT2gKemJxKUx+JHU9cTAwPnE4fW9lV3diPiN5ZHJwPnxpU0Jtd0R1MV43SGRVP0x1
UFRwVEIkJGBHZGtGe1JDdWpKOVJgCno7P35VNF9zezQ9OGFpPEg/cSg7KzIpUHwtYmB4KF9FNzcx
ezleeTl0ZikreWFeTSYtXkJCfnA0UG49ZzxiKz9sZAp6XmxeNSFGNGNROyNRaGFUSSRJSGhlMH5L
SVdYdzlfJStHSj5uNkY1PEhedyZmI1RoVzx5Jkk2KWBnajVnd3FRUzIKemxfRWJXJmRAY0RlM2M8
VHh3a2k4NUQjOH0oZzJAN24rMnBqaipiIz5DZDlzPThSWEcrO1N5N3RjI1UrK19FbTJLCno+OzQh
JFVtSGJoTzQ4JVVTN3x8RlFmP0IkezNXRT1LSEclbUNHM3VnMT5jeERKUjZlXz1GQGdreWB4XzdP
Zk0rRgp6ajBfLW5aNH1ecStzSCRFP3F3VHtKSGVIbCtPcl4hPm93OSgjUTNKd3Z7M0otYmhkNW82
KnQmXjRvWVkzQWx5NCgKeihOK1A7VFoyd3IxYXQ4QVBybXJCS1NEY0tzTHZ4JnBub2J0ZnI2ZF80
QEJIclp2Z0NMPE4hJlJmRmktSS0pQ3k3CnpXSW8kVnhHN29ERHlEYVA+cG9DNj9mOyFCaj1tQFQw
ZD1vP0p5bT9AVFlGVmgzek1TPzRZWUAkKChWX1NHem4/WQp6NWoofWp8Qn5PTmB2czFOWVckZldV
TnhXclZtT0olYUFZNyRVTHJQUGY7PXwmYmpFPmN4TiFkRl9JK28wYGljKVAKemIrMWwmPDNzQjJH
R1RmOFV1MGd2ZGc1NGgzeE9iak0jaDQyPXMrPjdJLVBEVTtndkhpdVZkOSkoJn5oR0o4Q0VoCno1
fEdXZ0trd2U3N1IybkVWbmFXQHtneFhBcFY5bllpMG5mVztPcHYyMU9eMGNaPTZNOGNXJTxiNUUx
JG52RlplVwp6OG9jIVVIVXVCWTVIfil+dlU0YT1hdktJQiU8dWIjTllsRUlFQVRDODxwa0R5T2hB
ZihlcSZEKi16NWNKRT0lKHIKemMtMF9jPlNsIXt2YXlyJDhIXnF3YFZ9KGUwdz96Qm8kZDRoVHN+
bkxJZERvXyE1dHcqMWk+TU1gT1BrZEhGNFN3Cno0dD17KC1LUipLbS1DTUc2WStsNHAxJGBvNmFF
OVEwM3pKamVHcTZDMHtuNmpMXnskTjFGKUJSQjVfXjgrOEd7PQp6ITtvMDFxRyNSaFliKTBrPypG
N15eSGYxKFJfd1ktUzRDRzZKS3o+ZGk+bWtTUmFLSyNtdHsrUUshbDNlaUsoQ0IKeipzKkdobG5A
SGVoV3BJU2MkbCExVTgtZEV5Wis3VTd2Vi11RyVjVjY8Rn5jKENlSlEqUXpNJS0yK0hlaWo3NzBh
CnpzNlQjb1J0VnE+eTw4NjJGbj9qNUFeWSVKUX5yYFpNKkRkPVp8VHtJdnJOd35taFpwZyE3WUVR
a3l7Mzc+JFM2eAp6ZCtmRnlkQVZoM2NaM2hJSz1GdkNhajYhMDB4VGhEd2R7Y0pqbE9EKiReLTZy
ajFaYGZBK3Z+cGBQRTJEUCYlWF4KelJaZjxLSVZ6TmM1dFV2K0xnWj9TcEE8UWU2Pk8xT2pmZkM8
alI3P1A1MG5uOTwqMSpxJmdZcUBlZio2TCstX3MtCnpXe1Q5aG9GJXcoZmxmbFlCdVdqX2JwKDZG
NHdYSWByQHF5Z0tkRGtyKHFWcypgSG9XUjxpaVd9cjZUYzxeYnVSZAp6c1NuZX5EKXR6N05SOHRA
bzNKRmZjdHB0PlNEXlN5M0FTSyY0PTtMa0VzVHB1ODd6MWBlc1RYKUNjU1ZTN2REKF4KejJjRkEr
bHByMjVkM0dCKWduMFF0NERweGZ5b2A3X1lSfkBHclU9fCNKZnhUOHRtXmR+YihrPDI1cmtlTkl9
MmdhCnppNWR5SVE0QHwtZk9xTSZsQGpHJDJ1U1NpeEFwTFJvY2h7Iyo+VHFvWGEoKyVtb0ZmcUtG
R0g2e2twJWdNMWl8Ngp6K1U8Z0g0Szw2aHJjZG07YHhkfURkUz9eaU0xVGFoQl4/MkVxLXV5biVO
NEB+aD58e1FVKHNwc3BXaUtyQzNEITcKem8lTG4mIWZuVSVYY31JQkEzPn4wSDY8NDZEQVdAbnBm
UFk+KzA1ZzxpfF5ldGdiPklTcDAjbHYha3UoV3o5Vm5ZCno2VXIpaEkmNW4+bFRTJSFhWFdwaUBk
JCklQjIzKGl5QmN6d3wxUVNrPGltJWd2cnF+UkNETVY4eUNVYzNPakBSZQp6R3NEVCZWSUU7cVND
NldGYGYlbGlSLXNGeyNCRWBaZylsWmE/USVvNjl9bm1fNHtjdlFlTmglSnk9ak5vKDtUbiUKeiZR
Jjc1NXx1P0tIeiZxTVgreGZ+a1liaGdoVWtHVCh7X2F0NHtoc3E+bExibyMtOX5eJGxDcVd3KWRQ
S2N0czUqCnp6dTNFMHRmPTVke3U2VC10VzU4MERhUCE1SGJBN25IOCRRUmNXQU1eVzg8OH4yNHlN
fVE+K04kU0QtITtoeDhLMgp6LUhJYEtqYW4lIUt2dHNvQXRnWSV4I04hajNQX2wpejdxKVJneiM7
ZElDY15Ac0UrZV9hdSZuSzdtVV9BYTN3JHMKeno8R19Ma0MhajlLM2hCNTc8SkZ0R2ZHfnNmTSM+
M0V7TWV+eyFoajA9PWQrT3hfZjstSn43IV9sY3orbkxfN0NxCnpBPm1vd3EwfGs4Y1E+ZzUmKlc7
e0lEZ21PTkNJZ0xQbXY9TTtpQj5pI2NqSSMtQTg8TEB5Rz9XN2pRSG90LUFfRAp6bT1GZXBMSnpA
MGJfSDloIUUjX2BxeFRyWW4mb3JaYTdRTTkpMnducGs+b1BRKU4yPUJ6U28mQC1WdEVPVUFEJlUK
emtUKzMjVVhCb1Roa3F8MD1vY2pHRiEwXzxobH5XWncxcE8/QkJqOWlWcEc+bzVFUXJTKnRYQX4l
Kjc1bU45JihGCnpZWEU3KkNWYHtXMStvdm5ZbXpPRnp1bmQwMWg5KVhuNT58bi0jWHY7MCYmaHBL
RjhTZzB4UzIrUGF1ZWFZTUlFRwp6QzxeNGA7X14+Tz8zdSkoSnFQRmwqbW10TT4/bD0tbE1rWFgz
S1ApRUBjOHdGWiZrYHFhWFY5MXJES057eXUoY0YKejYoJjV7JFZlZHxsd3lMV2Q7MStjKVpSSHg7
JX4tUj5MKW5QamJaTypkXl5ZbVdgSF9+KG9+YEFMdzRzZ0p4Sn5jCnpLS1BocVQyRmlpe2tPRjtt
T2Nva3d8PnVVdWU2REU9UGozIUVgYjRqLWJvVTF7UGYjbyt9d0pieVZCISNpWCFaPwp6WDJGK0Y5
PE45U1lwSDFTeEMjO0M4VWBEUnQmI0M2LUNPKFN0Un47ZVhyRGtuM09Cajg/JiVfMVBzISsmSm1K
a1QKenBSYURXMXR1JDFgaDVYdFowPmw5NXomcF9URURQUTBxKThOJUEyMUo/blR6M1BhaD9AZkM+
fV5UbGljVUVDYFI9CnpAcGJ9SXB0WVBWT0w9PD1wKEwzYnhgO1dIODxzYndAXlBtJmJUV1RiNDZ4
TTBfSFBleTdAWW5ibUo3eV55JmwySAp6NnByPyMrJSsjVE0hWGlIWmFKTFZKS34oNFU+V2VwYnN3
P29edTI3P3tpIXxfKmRAPGMmbkNeKnFsJnsjekslPSEKemFQd0chU2R9Y3hWUmpUaWJZZHx6ZHxf
VFdjNn11TmVTNTxFJVU3ND5yKzBqYE9VYnh8Tj5GU0lEPSQkPXM1TEJGCnoxbiF2Sik0VVlIbT1u
b15uaT01JlhiRXdKezxxJl9TSndtX1QhZUh8NC17cUhNT3o/OHlCfEt9YVJmZyppZlNGNQp6ZUVW
dTVDalVPPF9AbnVtbFM2KSVQSn0/P2VrdVQ7JGdVZTJMS0RnRDBKSWVDdDhybjtpend+ajxuZEtZ
R3tfN3MKemgmbiY9Rj1TdXIjVDc4JDQhRn4tcWpmVXo1eXRfWDtnKDRZVWtvKHtWRFRKYzNYP3p9
YHNNX3ZVb0ozc0dYcHYwCnoyIXVfTVFvbm1rZUJ+QjQhdGhIe0I3IWIwMGV1Rn1eTD5OUmtwbkQ1
OUg0RU9JSU9JPFFjRHM3QGIhblUtS0pUNAp6VnBfSnxVVEhzPyhaOHMhN0pPK3I8JU4yNGRlVldk
MHI8cUNoazUpNGdDPiRjbkNWKWBoazBlIyhLMVl5ZmBAflYKejVjTHp6MTtId2woTUVDR2drb0pO
cUwhY3xxdnNiUyZBfElTWUxNVWB6QitKQ2kqVz1DKlpjYzBNTmAxdGNgK3V9CnoyUHw4RGpnVkV+
eWJ7TlVKdU1kanQ9RGRCWWVEN1E+UEdhZT5FV0ZHR1Eod2U2a3VQISZmMFc/NTlHKTJmZUoyKAp6
M2grX1BIY3NFNyY5WSNQYlpqaiVHMmhJRGghe2JFKTVFS1JFZXZYPHZmJCR+YXhgRUJJPmApeDh9
VHhQTFlIezAKejNyPVFINzI3dk1JPXp4UVc/THNZMEo1a1UyPFhmM3hOcWpgVyN4Mk82fGVzMFRi
UkNCUC18QV9qJHZ1Y05xI1F0CnpPNGpfQSZrZzBqbUAzSHdDWUNzYyVle142UWoxPndkXldMSV4+
fTgpcTV6Q2EwPiRVQitZeEZuQEpHekB1bHMzRQp6Ri0tKFN6U2hzJmtja3RxVz95QD9pZz57ZnQm
OEdAU3NEfmFCK2ZVcXBfcVpfKHpxP2psIzluNkwlUGZAQE0qYDcKek5iaWh1LVE4cWpCa2UyN1Re
ayp1KD9ZZmImYzI5Iyh4Q0d3Y3t7WkIoYnJePVcyWDF6MDQtS0w8Xm1MaVIqMkNOCnpEMjxfdG9D
eEYyRlFBeUQtYVhQUmpDej5CT1Z5a05KPSY5PzFuNGIwVDw2MT1xXnNxU2V+YmRhN0BxLXs+VX1V
Nwp6QmVHTyhpT0xJQGNlYDhlYl88X2MkalJTKiljeHYjZVV5JVh6Nkl5MGJHKiopJmNJenhLYXE2
SCFmNDsqNCZeaVgKemZZIXZeQHxQRiVGMz5UP0BUb2JVaXRkamxeVX5ValpjVjB5bz1qKkJeWDBm
e0ppfDtPakEpMjtQN0ZmMzlGTngwCnpEK096WishYEJhQi0/c2tFSWh5fV5NbSlWZDF6RFJlSn4p
ZVA4NFUxLXBkMClXN296Pm9DLV5fOzhpYmlvK0Roewp6YUYwJC1YbG9TI1YoMi1yJHRQUzgwd0xz
P0dxNClBVyNLd353TUoqPTM8QyNuenVESzgpcVp8NFlaQyZLUSt9X08KemUoMCFJJHFOIzxmTzB4
ME90Q2lKTkIxMHh1LSVJdHV0QjZ0OGd2aXlCSG1kc3srZF92ODBzIzBtbDtDd1loKzNQCnpJdCp0
UFJIQlNubCZAITdNN3JCNTZ7dT1ecmw2SCokSG91Kk4+flchUWFHQU5Xbk5yY0chNWZBXml+YGp7
WkluJAp6X0B2PkJUZ1AqZzBVY19fXnF7P254RHdhRWx3PClHbnZtKmx5JmcpYmo0dlMpNG9+IyRT
cFpEYC11RmRvPH0xQDsKek5pJEozYSpTbkx7ZjVxeG9PYDxERm5JTGwqZSFEbmk4U0JNJklybFFt
OSEoMjU/e2xzekt4ayhqaVM3OSZJPFIlCno+aE9eQCk+MTx1cypkfW9pd1JmIyYqM2hGMSUlWUM0
OVFJSUIyK2k0PEIrNm08R3IpTmxXa3RWcFBUbUBhOHU1Rwp6VTA7NDQ5ODNATF9JMDdXITFRblh4
XiYyZzd1PCtsYStwO1l7VmsreXd+JHQ8P0lETylLNTB1Ynl1O2FtLUFhMD0KemAtdUhJd0l1RThx
dm4weUAjWlV5XnB3UCRZZmxxVDI+STctdUFwKCReQ1Q8fElgLSkwVTI4LWtmZTdkfWN6bktTCnpZ
Kns4fVVlWVk4WVQqSWZ0ciN9OytscDd5ZWB+fiQzXktuZ0s3NFYrI2FCfSZtKHF+QSpZKXhoWnBp
d0hSSnllbwp6IXN3PkxaJS1gY2RgaEJRa2AoVG91em05Wj9vKz84LURoUWExJDVzeWk+O055PUcp
UDN6b3JsVzxIVCFeUTspPXkKenkzaiNPTDJgSEA8fX1eMmkkaClSRWA5eUxyPipUITF4VVNseTMt
TmZ5Xkp8R0E7I1NoIT1uaGxSbl9pTmg/fUBOCnpZbClvcXRwNkdsa31PNn1qKTIrKFcmZ1lIRylp
cn5wXzZDQCgkWFNOcmNleXN0cVNoYTMwbStENikjfkthbVVfZQp6bjJLZlg3QUk8NitVeEBWb3op
bVoxLU1UUXc3OTdTe0sycHk2O0ByYSspZFc3bjV6SWUtPS12Pmh2MyRScVN4aigKem9nYiRaOThF
UnlLUWtxTWlsQmFUI1E5USNsNXZtUCVrfTRhVDA9cll1a1hqbGl7VShFdUg/Uk9QZn5NRWglWlAy
CnojS30qMjY7PHsjUzFqY3tqSEdBenVXcTdTd3VOWiFeYno8fHNLXnRgVEJXfTUrU3RYbiZOe2dE
aU1SSG9aTXhyawp6OXclaXZQPm5obiQxVT5NJlR7bE9HSnlXMFJVaDhzJXJ6Q2I/clk+fEttRmB8
R05AaDFaRWo+VDwmSWdjQUlINFkKem9LfHk7I2xlP054JUVPWk90aGV5ZThwTClTdnckN1hISzlu
VylnTWV1KnJ8aktFd0VDSXtqMk16YCkhJnEjKmZ7Cno3cWBrJFRrV0hXTHtidmJrRz1EUWteLTli
PDQrYzQyRStCSkRIWTEkOzE3YjhtI35KJUxDMypBb3dAWnFeKGdfPQpRQ3Y2Zy0pbVl9OzYkMU1J
MFFYWW0zamhFQgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434493</attachid>
            <date>2021-07-28 20:26:50 -0700</date>
            <delta_ts>2021-07-28 21:18:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227110-20210729132648.patch</filename>
            <type>text/plain</type>
            <size>123757</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU3NjZmNDYxMDE1MzI4YzkxMjZhMTg4
MmE2NGJiM2ZjYmM2OGJmZTYuLjJiNDllYTZmY2QzOWQ0YTY0MDU5YjhmMTYxNzk3ZjRlMDc5YzRk
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8
anlhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFp
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzExMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgSmVyIE5vYmxlLgorCisgICAgICAgIEFkZCBXZWJNV2ViQXVkaW9FbmFibGVk
IHByZWZlcmVuY2UgdG8gbWFrZSBjYW5QbGF5VHlwZSByZXR1cm4gcHJvYmFibHkgZm9yIG1pbWV0
eXBlOgorICAgICAgICAiYXVkaW8vd2VibTsgY29kZWNzPW9wdXMiCisgICAgICAgIERpc2FibGVk
IGJ5IGRlZmF1bHQuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzRXhwZXJpbWVudGFsLnlhbWw6CisKIDIwMjEtMDctMjYgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBXZWJLaXQgaXMgbWFraW5nIEdyb3VwQWN0
aXZpdGllcyBBUEkgY2FsbHMgZm9yIGFsbCBXZWJLaXQgY2xpZW50cwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGE5
OTgwYTdiOGZjYTZiODNjNzRjODc2YTNlNjg5ZWYzNmNjZDFiZTEuLmI5YzRlYWVhMGNlNWZmYWFl
MzY2ZTdlNTYwNDM5ZGRjNDZkNDI4NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMDMgQEAKKzIw
MjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNvbT4KKworICAgICAgICBb
V2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmVyIE5vYmxlLgorCisg
ICAgICAgIEFkZCBzdXBwb3J0IGZvciB3ZWJtIGluIFdlYiBBdWRpby4KKyAgICAgICAgQXMgZGVj
b2RpbmcgbmVlZHMgdG8gYmUgcGVyZm9ybWVkIGluIHRoZSB3ZWIgY29udGVudCBwcm9jZXNzIHdl
CisgICAgICAgIG5lZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGRlY29kZXJzIGFyZSBhdmFpbGFibGUg
dGhlcmUuIEZvciBzZWN1cml0eQorICAgICAgICByZWFzb25zLCBjb20uYXBwbGUuYXVkaW8uQXVk
aW9Db21wb25lbnRSZWdpc3RyYXIgbWFjaCBjYWxscyBhcmUgYmxvY2tlZAorICAgICAgICB3aGlj
aCBwcmV2ZW50cyByZWdpc3RlcmluZyBhIG5ldyBhdWRpbyBjb21wb25lbnQuCisgICAgICAgIFdl
IGluc3RlYWQgcmVnaXN0ZXIgaXQgaW4gdGhlIFVJIHByb2Nlc3Mgc28gdGhhdCBBdWRpb0NvbXBv
bmVudEZldGNoU2VydmVyUmVnaXN0cmF0aW9ucworICAgICAgICBTUEkgY2FuIGZvcndhcmQgdGhl
IHJlZ2lzdHJhdGlvbiBpbiB0aGUgd2ViIHByb2Nlc3MuCisgICAgICAgIFVuZm9ydHVuYXRlbHks
IGZvciB1bmtub3duIHJlYXNvbnMsIHRoaXMgZmFpbHMgZm9yIFZvcmJpcyBhdWRpbyBjb2RlYyAo
YnVnIDIyODEzOSkuCisKKyAgICAgICAgVG8gZGVtdXggdGhlIHdlYm0gY29udGVudCwgd2UgdXNl
IHRoZSBleGlzdGluZyBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNIHRvIGV4dHJhY3QgYWxsCisgICAg
ICAgIGF1ZGlvIHBhY2tldHMuIFdlIHRoZW4gaXRlcmF0ZSBvdmVyIGFsbCBDTSBTYW1wbGVzIGFu
ZCBkZWNvZGUgdGhlbSBpbnRvIFBDTSwgcGVyZm9ybWluZworICAgICAgICByZXNhbXBsaW5nIGFz
IG5lZWRlZCBvbiB0aGUgZmx5LgorICAgICAgICBUaGVyZSBhcmUgdGhpbmdzIGxlZnQgdG8gZml4
LgorICAgICAgICAtIE9wdXMgYW5kIFZvcmJpcyBlbmNvZGVyIGRlbGF5IGlzbid0IGhhbmRsZWQg
KGJ1ZyAyMjgxNDApIHdoaWNoIGxlYXZlcyBhdWRpYmxlCisgICAgICAgIHNpbGVuY2UgYXQgdGhl
IGJlZ2lubmluZyBvZiB0aGUgZGVzdGluYXRpb24gYnVmZmVyLgorICAgICAgICAtIFdlIGNhbiBv
bmx5IGRlY29kZSBtb25vIGFuZCBzdGVyZW8gY29udGVudC4gT3B1cyBhbmQgVm9yYmlzIGxldCB5
b3UgZGVmaW5lIGEKKyAgICAgICAgY3VzdG9tIGNoYW5uZWwgb3JkZXJpbmcsIHRoaXMgaXMgcGFy
dGljdWxhcmx5IHVzZWQgd2l0aCBhbWJpc29uaWMgYXVkaW8gKHdpdGggb3B1cyAyNTUgbW9kZSku
CisgICAgICAgIENvcmVNZWRpYSBkb2Vzbid0IGVhc2lseSBkZWFsIHdpdGggc3VjaCByZS1vcmRl
cmluZyBhcyBpdCBhcHBlYXJzIHRvIGJlIGVzc2VudGlhbGx5CisgICAgICAgIGRlc2lnbmVkIGZv
ciBhdWRpYmxlIGNvbnRlbnQuIFdpdGggbW9yZSB0aGFuIDIgY2hhbm5lbHMsIGRlY29kaW5nIHdp
bGwgZWl0aGVyIGZhaWwKKyAgICAgICAgb3IgcHJvZHVjZSBjaGFubmVscyBpbiB0aGUgd3Jvbmcg
b3JkZXIuCisKKyAgICAgICAgVGVzdDogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2VibS1v
cHVzLmh0bWwKKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6IEV4cG9ydCBoZWFkZXIgc28gdGhh
dCB3ZSBjYW4gcmVnaXN0ZXIgdGhlIGRlY29kZXIgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBzYW1lIGFzIGFib3ZlLgorICAg
ICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50OjpjYW5QbGF5VHlwZSBjb25zdCk6IE1ha2UgY2FuUGxheVR5cGUod2VibS9h
dWRpbzsgY29kZWNzPW9wdXMpCisgICAgICAgIHdvcmsgaWYgZmVhdHVyZXMgaXMgc2V0LgorICAg
ICAgICAqIHBhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViTVdlYkF1ZGlvRW5hYmxlZCk6CisgICAgICAg
IChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3ZWJNV2ViQXVkaW9FbmFibGVkIGNv
bnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9NZWRpYVNhbXBsZS5oOiBGbHktYnkgZml4OiByZW1v
dmUgdW5uZWNlc3NhcnkgV0VCQ09SRV9FWFBPUlQKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9B
dWRpb0J1cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1czo6c2V0TGVuZ3RoKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oOiBBZGQgc2V0TGVuZ3RoIG1ldGhvZC4g
V2lsbCBjaGFuZ2UgdGhlIHJlcG9ydGVkIGxlbmd0aAorICAgICAgICB3aXRob3V0IHRvdWNoaW5n
IHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9D
aGFubmVsLmg6IEFkZCBzZXRMZW5ndGggbWV0aG9kLiBXaWxsIGNoYW5nZSB0aGUgcmVwb3J0ZWQK
KyAgICAgICAgbGVuZ3RoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHVuZGVybHlpbmcgc3RvcmFnZS4K
KyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QpOiBGaXggY2hlY2tl
ZEludCB1c2UgdG8gY2F0Y2ggcG90ZW50aWFsIG92ZXJmbG93CisgICAgICAgIChXZWJDb3JlOjpB
dWRpb0J1ZmZlckxpc3RIb2xkZXI6OkF1ZGlvQnVmZmVyTGlzdEhvbGRlcik6IEFkZCBjb252ZW5p
ZW5jZSBjbGFzcyB0aGF0CisgICAgICAgIGZyZWUgd3JhcHBlZCBBdWRpb0J1ZmZlckxpc3Qgb2Jq
ZWN0IG9uIGV4aXQuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlckxpc3RIb2xkZXI6On5B
dWRpb0J1ZmZlckxpc3RIb2xkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJMaXN0
SG9sZGVyOjpvcGVyYXRvciBib29sIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVm
ZmVyTGlzdEhvbGRlcjo6b3BlcmF0b3ItPiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRp
b0J1ZmZlckxpc3RIb2xkZXI6Om9wZXJhdG9yKiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpB
dWRpb0J1ZmZlckxpc3RIb2xkZXI6OmlzVmFsaWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9GaWxlUmVhZGVyOjppc01heWJlV2ViTSBjb25zdCk6IE1ldGhvZCB0byBjaGVjayBpZiB0aGUg
YnVmZmVyCisgICAgICAgIGNvbnRhaW5zIFdlYk0gZGF0YS4KKyAgICAgICAgKFdlYkNvcmU6OnBh
c3N0aHJvdWdoSW5wdXREYXRhQ2FsbGJhY2spOiBSZXF1aXJlZCBmb3IgQXVkaW9Db252ZXJ0ZXJG
aWxsQ29tcGxleEJ1ZmZlci4KKyAgICAgICAgV2lsbCBmZWVkIHRoZSBkZWNvZGVyIHRoZSBkYXRh
IHRvIGRlY29kZSwgc3BsaXR0aW5nIHRoZSBtdWx0aXBsZSBwYWNrZXRzIGZvdW5kCisgICAgICAg
IGluIHRoZSBDTVNhbXBsZUJ1ZmZlci4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRl
cjo6bnVtYmVyT2ZGcmFtZXMgY29uc3QpOiBSZXR1cm4gdGhlIHRvdGFsIG51bWJlciBvZgorICAg
ICAgICBkZWNvZGVkIGZyYW1lcyBpbiB0aGUgcGFja2V0cy4KKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvRmlsZVJlYWRlcjo6ZmlsZURhdGFGb3JtYXQgY29uc3QpOiBDcmVhdGUgQXVkaW9TdHJlYW1C
YXNpY0Rlc2NyaXB0aW9uCisgICAgICAgIHJlbGF0ZWQgdG8gdGhlIGRlbXV4ZWQgYXVkaW8gdHJh
Y2suIG51bGxvcHQgaWYgdW5zdXBwb3J0ZWQgY29udGVudC4KKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvRmlsZVJlYWRlcjo6Y2xpZW50RGF0YUZvcm1hdCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0Zp
bGVSZWFkZXI6OmxvZ0NoYW5uZWwgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2Nv
Y29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29j
b2EvQXVkaW9TYW1wbGVEYXRhU291cmNlLmg6IFJlbW92ZSB1bnVzZWQgdHlwZWRlZi4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW06CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6On5BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UpOiBGbHktYnkgZml4LCBtYWtlIGl0IHVzZQorICAgICAgICBQQUwgc29mdGxpbmtzCisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnNldHVwQ29udmVydGVyKTogRmx5
LWJ5IGZpeCwgbWFrZSBpdCB1c2UgUEFMCisgICAgICAgIHNvZnRsaW5rcworICAgICAgICAqIHBs
YXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbTogRmx5LWJ5IGZpeCwgYWRk
IG1pc3NpbmcgaGVhZGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0
ZUJhc2UuY3BwOiBGbHktYnkgZml4LCBhZGQgbWlzc2luZyBoZWFkZXIuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLmg6Cisg
ICAgICAgIEZseS1ieSBmaXggcmVxdWlyZWQgYnkgd2Via2l0LXByZXBhcmUgOiBkb24ndCB0YWcg
dGhlIHdob2xlIGNsYXNzIGFzIFdFQkNPUkVfRVhQT1JULgorICAgICAgICBNb3ZlIGNvbnN0cnVj
dG9yIGFuZCBkZXN0cnVjdG9yIGZ1bmN0aW9uIGRlZmluaXRpb25zIG91dC1vZi1saW5lIHRvIHBy
ZXZlbnQKKyAgICAgICAgbGlua2FnZSBlcnJvcnMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRpYVNhbXBsZUFWRk9iakMpOiBNb3ZlIGNvZGUK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNl
c3Npb24ubW06IEZseS1ieSBmaXgsIGFkZCBtaXNzaW5nIGhlYWRlci4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oOiBFeHBvcnQgc29t
ZSBzeW1ib2xzLCBhZGQgbmV3CisgICAgICAgIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OnJlZ2lzdGVyRGVjb2RlckZhY3RvcnkpOiBJbnN0ZWFkIG9mIGF0dGVt
cHRpbmcgdG8gcmVnaXN0ZXIgdGhlIGRlY29kZXIKKyAgICAgICAgYnkgZGwtb3BlbmluZyB0aGUg
cmVxdWlyZWQgbGlicmFyeSwgZmlyc3QgYXR0ZW1wdGluZyB0byBzZWUgaWYgdGhlIGRlY29kZXIg
aXMKKyAgICAgICAgYWxyZWFkeSBhdmFpbGFibGUuIENhbGxpbmcgQXVkaW9Db21wb25lbnRSZWdp
c3RlciBpbiB0aGUgd2ViIGNvbnRlbnQgcHJvY2VzcworICAgICAgICB3aGVuIHRoZSBHUFUgcHJv
Y2VzcyBpcyBlbmFibGVkIHdpbGwgZmFpbCBkdWUgdG8gc2FuZGJveCBzZXR0aW5ncy4gV2hpY2gg
d291bGQKKyAgICAgICAgaW5jb3JyZWN0bHkgcmVwb3J0IHRoZSBjb2RlYyB0byBub3QgYmUgYXZh
aWxhYmxlIHdoZW4gaXQgd2FzLgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQXVkaW9Gb3JtYXRE
ZXNjcmlwdGlvbkZvckZvcm1hdCk6CisgICAgICAgIChXZWJDb3JlOjppc09wdXNEZWNvZGVyQXZh
aWxhYmxlKTogRmx5LWJ5IGZpeCwgc2hvdWxkIHRoZSBtZXRob2QgYmUgY2FsbGVkCisgICAgICAg
IG9uIG5vbi1tYWMgcGxhdGZvcm0gaXQgd291bGQgaGF2ZSByZXR1cm4gdGhlIHVuaXRpYWxpemVk
IHZhbHVlIG9mIHRoZSBhdmFpbGFibGUKKyAgICAgICAgc3RhdGljIHZhcmlhYmxlLgorICAgICAg
ICAoV2ViQ29yZTo6cmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKTogQWRkZWQKKyAgICAgICAg
KFdlYkNvcmU6OmlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSk6IFNhbWUgYXMgaXNPcHVzRGVjb2Rl
ckF2YWlsYWJsZQorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVk
ZWQpOiBBZGRlZAorCiAyMDIxLTA3LTI2ICBKb2huc29uIFpob3UgIDxxaWFvc29uZ196aG91QGFw
cGxlLmNvbT4KIAogICAgICAgICBUaGlzIGlzIHJlc3BvbmRpbmcgdG8gZmVlZGJhY2sgb24gcjI4
MDMxMC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGYwMTlkM2NlMTIwM2YzZmExMDRlZjlmYWM0ZmZh
NDA2YWI5MDJmNjAuLjc3NTAwMDUxZmM1OWQ5N2Q4ZTQ2NDhiNmQ3ZjkxMTI5ODMxN2ZhMWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA3LTIxICBKZWFuLVl2ZXMg
QXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1ZGlvXSBBZGQgd2VibS9v
cHVzIGNvbnRhaW5lciBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjcxMTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5NDM3MDY3Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IEplciBOb2JsZS4KKworICAgICAgICBBZGQgdmFyaW91cyBB
VkZvdW5kYXRpb24gKEFWQXVkaW9Db252ZXJ0ZXIpIHJlbGF0ZWQgbWV0aG9kcyBhbmQKKyAgICAg
ICAgQ29yZU1lZGlhIHRvIGFjY2VzcyByZXF1aXJlZCBDTVNhbXBsZUJ1ZmZlciByZWxhdGVkIG1l
dGhvZHMuCisKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwOgorICAgICAg
ICAqIHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9BVkZv
dW5kYXRpb25Tb2Z0TGluay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0
TGluay5tbToKKwogMjAyMS0wNy0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjgwMTI5LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxNDE3
NWMyYTMwYjk2MjkxZjg2MThiNzg2OTgxM2JkNGQ3OGVlYjY3Li40ZjE4MDliM2U1ZWIzYzk5ZGE3
MjYxYjI2YjYxZjVlMDE0MGY0Y2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA3
LTIxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1
ZGlvXSBBZGQgd2VibS9vcHVzIGNvbnRhaW5lciBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxMTAKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzc5NDM3MDY3PgorCisgICAgICAgIFJldmlld2VkIGJ5IEplciBOb2JsZS4KKworICAgICAg
ICBBZGQgZGVmYXVsdCB2YWx1ZSBmb3Igd2VibV93ZWJhdWRpbyBmZWF0dXJlIGZsYWcgZm9yIHRo
ZSBkaWZmZXJlbnQgcGxhdGZvcm1zLgorICAgICAgICBEaXNhYmxlZCBieSBkZWZhdWx0IG9uIGFs
bCBwbGF0Zm9ybXMuCisgICAgICAgIEZseS1ieSBmaXg6IGRvbid0IG1ha2Ugd2VibSBwYXJzZXIg
ZGVwZW5kZW50IG9uIFZQOSBzdXBwb3J0LgorCisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktp
dC1hcHBsZXR2b3MucGxpc3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxp
c3Q6CisgICAgICAgICogRmVhdHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdDoKKyAgICAgICAg
KiBGZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3Q6CisgICAgICAgICogR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCk6CisgICAgICAgICog
U2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Byb3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKToKKwogMjAyMS0wNy0y
NiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9O
OiBbaU9TXSBBU1NFUlRJT04gRkFJTEVEOiAhbV9tZXNzYWdlUmVjZWl2ZXJNYXBDb3VudCB1bmRl
ciBXZWJLaXQ6OlJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcjo6flJlbW90ZUF1ZGlvSGFyZHdh
cmVMaXN0ZW5lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMv
V2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVm
ZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCmluZGV4IDRhYWY3NTlhYjA0
MWQ5YmJkNDE5YWIzMmJhNDg1OTM2Y2YyM2ZjN2YuLjM2MGEwY2Q4MmM4YjZjM2M4ZmFlNGY4NGUx
NTNiY2ExNThiMzY0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNl
cy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0
cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC0xMjYxLDYg
KzEyNjEsMTggQEAgV2ViTVBhcnNlckVuYWJsZWQ6CiAgICAgV2ViS2l0OgogICAgICAgZGVmYXVs
dDogV2ViS2l0OjpkZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKQogCitXZWJNV2ViQXVkaW9FbmFi
bGVkOgorICB0eXBlOiBib29sCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViTSBXZWIgQXVkaW8iCisgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIkVuYWJsZSBXZWJNIFdlYiBBdWRpbyIKKyAgY29uZGl0aW9uOiBFTkFC
TEUoTUVESUFfU09VUkNFKQorICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5OgorICAg
ICAgZGVmYXVsdDogV2ViS2l0OjpkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgpCisgICAgV2Vi
S2l0OgorICAgICAgZGVmYXVsdDogV2ViS2l0OjpkZWZhdWx0V2ViTVdlYkF1ZGlvRW5hYmxlZCgp
CisKICMgRklYTUU6IElzIHRoaXMgaW1wbGVtZW50ZWQgZm9yIFdlYktpdExlZ2FjeT8gSWYgbm90
LCB0aGlzIHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIFdlYktpdExlZ2FjeSBlbnRpcmVseS4KIFdl
YlJUQ0gyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJz
LmNtYWtlCmluZGV4IDNiMWJiNTUwZjU2ODFhNGY1ZGQyMzYwYTE0MTg5YThlY2FkMDU3YjkuLjlh
NjFlZWZmNTRiN2M2NTAyMGEyOGU5NGM2YmVlM2Q1NDNjNzQ1OWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFr
ZQpAQCAtMTMzNSw2ICsxMzM1LDggQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVB
REVSUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0V4dGVuc2lvbnNHTEFOR0xFLmgKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVz
LmgKIAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29h
LmgKKwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5oCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0RHJhd0dseXBoc1Jl
Y29yZGVyLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RE
cmF3aW5nQ29udGV4dC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0Nv
cmVNZWRpYVNvZnRMaW5rLmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuY3BwCmluZGV4IGZjMDY2OGE0YTkxYWZlMTBiNjUxNTljYTA4MmUxODI4MWZkNTAz
NTcuLjRhM2U5MGNkNDQwNjc3NTkyMTIyZjE2ZmE1MThhYTU0ZTk1N2NjYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCkBAIC0zNiw2ICsz
Niw4IEBACiAjaW5jbHVkZSA8Q29yZVZpZGVvL0NvcmVWaWRlby5oPgogI2VuZGlmCiAKKyNpbmNs
dWRlIDxDb3JlQXVkaW8vQ29yZUF1ZGlvVHlwZXMuaD4KKwogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+
PSAxMDE0MDApCiAjZGVmaW5lIENNU0FNUExFQlVGRkVSQ0FMTF9OT0VTQ0FQRSBDRl9OT0VTQ0FQ
RQogI2Vsc2UKQEAgLTQ3LDExICs0OSwxMyBAQCBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIFBBTF9FWFBPUlQpCiAKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVm
ZmVyQ29weURhdGFCeXRlcywgT1NTdGF0dXMsIChDTUJsb2NrQnVmZmVyUmVmIHRoZVNvdXJjZUJ1
ZmZlciwgc2l6ZV90IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIHZvaWQqIGRlc3Rp
bmF0aW9uKSwgKHRoZVNvdXJjZUJ1ZmZlciwgb2Zmc2V0VG9EYXRhLCBkYXRhTGVuZ3RoLCBkZXN0
aW5hdGlvbiksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgsIHNpemVf
dCwgKENNQmxvY2tCdWZmZXJSZWYgdGhlQnVmZmVyKSwgKHRoZUJ1ZmZlciksIFBBTF9FWFBPUlQp
CitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRp
YSwgQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzLCBCb29sZWFuLCAoQ01CbG9ja0J1ZmZl
clJlZiB0aGVCdWZmZXIsIHNpemVfdCBvZmZzZXQsIHNpemVfdCBsZW5ndGgpLCAodGhlQnVmZmVy
LCBvZmZzZXQsIGxlbmd0aCksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NP
VVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRh
Qnl0ZXMsIE9TU3RhdHVzLCAoY29uc3Qgdm9pZCogc291cmNlQnl0ZXMsIENNQmxvY2tCdWZmZXJS
ZWYgZGVzdGluYXRpb25CdWZmZXIsIHNpemVfdCBvZmZzZXRJbnRvRGVzdGluYXRpb24sIHNpemVf
dCBkYXRhTGVuZ3RoKSwgKHNvdXJjZUJ5dGVzLCBkZXN0aW5hdGlvbkJ1ZmZlciwgb2Zmc2V0SW50
b0Rlc3RpbmF0aW9uLCBkYXRhTGVuZ3RoKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0
aW9uR2V0RXh0ZW5zaW9ucywgQ0ZEaWN0aW9uYXJ5UmVmLCAoQ01Gb3JtYXREZXNjcmlwdGlvblJl
ZiBkZXNjKSwgKGRlc2MpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0VHlwZUlELCBD
RlR5cGVJRCwgKHZvaWQpLCAoKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckdldERhdGFC
dWZmZXIsIENNQmxvY2tCdWZmZXJSZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYp
LCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQo
UEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24sIENNRm9y
bWF0RGVzY3JpcHRpb25SZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYpLCBQQUxf
RVhQT1JUKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBD
b3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMs
IE9TU3RhdHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1Ziwgc2l6ZV90IHBhY2tldERlc2NyaXB0
aW9uc1NpemUsIEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24qIHBhY2tldERlc2NyaXB0aW9u
c091dCwgc2l6ZV90KiBwYWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0KSwgKHNidWYsIHBh
Y2tldERlc2NyaXB0aW9uc1NpemUsIHBhY2tldERlc2NyaXB0aW9uc091dCwgcGFja2V0RGVzY3Jp
cHRpb25zU2l6ZU5lZWRlZE91dCksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRTYW1w
bGVUaW1pbmdJbmZvLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYsIENNSXRlbUlu
ZGV4IHNhbXBsZUluZGV4LCBDTVNhbXBsZVRpbWluZ0luZm8qIHRpbWluZ0luZm9PdXQpLCAoc2J1
Ziwgc2FtcGxlSW5kZXgsIHRpbWluZ0luZm9PdXQpLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0ZV
TkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVm
ZmVyRGF0YUlzUmVhZHksIEJvb2xlYW4sIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYp
LCBQQUxfRVhQT1JUKQogCkBAIC0xMDgsNiArMTEyLDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZP
Ul9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIGtDTVRleHRWZXJ0aWNhbExheW91
dF8KIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1l
ZGlhLCBrQ01UZXh0VmVydGljYWxMYXlvdXRfUmlnaHRUb0xlZnQsIENGU3RyaW5nUmVmLCBQQUxf
RVhQT1JUKQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NP
VVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01CbG9ja0J1ZmZlckNyZWF0ZUNvbnRp
Z3VvdXMsIE9TU3RhdHVzLCAoQ0ZBbGxvY2F0b3JSZWYgc3RydWN0dXJlQWxsb2NhdG9yLCBDTUJs
b2NrQnVmZmVyUmVmIHNvdXJjZUJ1ZmZlciwgQ0ZBbGxvY2F0b3JSZWYgYmxvY2tBbGxvY2F0b3Is
IGNvbnN0IENNQmxvY2tCdWZmZXJDdXN0b21CbG9ja1NvdXJjZSogY3VzdG9tQmxvY2tTb3VyY2Us
IHNpemVfdCBvZmZzZXRUb0RhdGEsIHNpemVfdCBkYXRhTGVuZ3RoLCBDTUJsb2NrQnVmZmVyRmxh
Z3MgZmxhZ3MsIENNQmxvY2tCdWZmZXJSZWYqIGJsb2NrQnVmZmVyT3V0KSwgKHN0cnVjdHVyZUFs
bG9jYXRvciwgc291cmNlQnVmZmVyLCBibG9ja0FsbG9jYXRvciwgY3VzdG9tQmxvY2tTb3VyY2Us
IG9mZnNldFRvRGF0YSwgZGF0YUxlbmd0aCwgZmxhZ3MsIGJsb2NrQnVmZmVyT3V0KSwgUEFMX0VY
UE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29y
ZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFTdWJUeXBlLCBGb3VyQ2hhckNvZGUs
IChDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYyksIFBBTF9FWFBPUlQpCiBTT0ZU
X0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwgQ01G
b3JtYXREZXNjcmlwdGlvbkdldE1lZGlhVHlwZSwgQ01NZWRpYVR5cGUsIChDTUZvcm1hdERlc2Ny
aXB0aW9uUmVmIGRlc2MpLCAoZGVzYyksIFBBTF9FWFBPUlQpCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaAppbmRleCAxZGI1MTgxZmM1NmRiZmIwNWZi
OWYzYWNjMzc1OThlNGIwMzcwOWYwLi44OGU2Mjk1YjNjM2VlNTIzYTU3N2Q3MjY2NDEwZDFiMDQ2
NmZjMTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNv
ZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGlu
ay5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgVVNFKEFWRk9VTkRBVElPTikKIC8vIEZJWE1FOiBT
aG91bGQgYmUgVVNFKENPUkVNRURJQSksIGJ1dCB0aGlzIGlzbid0IGN1cnJlbnRseSBkZWZpbmVk
IG9uIFdpbmRvd3MuCiAKKyNpbmNsdWRlIDxDb3JlQXVkaW8vQ29yZUF1ZGlvVHlwZXMuaD4KICNp
bmNsdWRlIDxwYWwvc3BpL2NmL0NvcmVNZWRpYVNQSS5oPgogI2luY2x1ZGUgPHd0Zi9Tb2Z0TGlu
a2luZy5oPgogCkBAIC00OSw2ICs1MCw4IEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVS
KFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcywgT1NTdGF0CiAjZGVm
aW5lIENNQmxvY2tCdWZmZXJDb3B5RGF0YUJ5dGVzIHNvZnRMaW5rX0NvcmVNZWRpYV9DTUJsb2Nr
QnVmZmVyQ29weURhdGFCeXRlcwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBD
b3JlTWVkaWEsIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoLCBzaXplX3QsIChDTUJsb2NrQnVm
ZmVyUmVmIHRoZUJ1ZmZlciksICh0aGVCdWZmZXIpKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyR2V0
RGF0YUxlbmd0aCBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGgK
K1NPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVm
ZmVySXNSYW5nZUNvbnRpZ3VvdXMsIEJvb2xlYW4sIChDTUJsb2NrQnVmZmVyUmVmIHRoZUJ1ZmZl
ciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCksICh0aGVCdWZmZXIsIG9mZnNldCwgbGVu
Z3RoKSkKKyNkZWZpbmUgQ01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzIHNvZnRMaW5rX0Nv
cmVNZWRpYV9DTUJsb2NrQnVmZmVySXNSYW5nZUNvbnRpZ3VvdXMKIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFCeXRl
cywgT1NTdGF0dXMsIChjb25zdCB2b2lkKiBzb3VyY2VCeXRlcywgQ01CbG9ja0J1ZmZlclJlZiBk
ZXN0aW5hdGlvbkJ1ZmZlciwgc2l6ZV90IG9mZnNldEludG9EZXN0aW5hdGlvbiwgc2l6ZV90IGRh
dGFMZW5ndGgpLCAoc291cmNlQnl0ZXMsIGRlc3RpbmF0aW9uQnVmZmVyLCBvZmZzZXRJbnRvRGVz
dGluYXRpb24sIGRhdGFMZW5ndGgpKQogI2RlZmluZSBDTUJsb2NrQnVmZmVyUmVwbGFjZURhdGFC
eXRlcyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZlclJlcGxhY2VEYXRhQnl0ZXMKIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2Ny
aXB0aW9uR2V0RXh0ZW5zaW9ucywgQ0ZEaWN0aW9uYXJ5UmVmLCAoQ01Gb3JtYXREZXNjcmlwdGlv
blJlZiBkZXNjKSwgKGRlc2MpKQpAQCAtNTksNiArNjIsOCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05f
Rk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyLCBD
TUJsbwogI2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldERhdGFCdWZmZXIgc29mdExpbmtfQ29yZU1l
ZGlhX0NNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlcgogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3JpcHRpb24s
IENNRm9ybWF0RGVzY3JpcHRpb25SZWYsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmKSwgKHNidWYp
KQogI2RlZmluZSBDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uIHNvZnRMaW5rX0Nv
cmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uCitTT0ZUX0xJTktfRlVO
Q1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0
cmVhbVBhY2tldERlc2NyaXB0aW9ucywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVm
LCBzaXplX3QgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlw
dGlvbiogcGFja2V0RGVzY3JpcHRpb25zT3V0LCBzaXplX3QqIHBhY2tldERlc2NyaXB0aW9uc1Np
emVOZWVkZWRPdXQpLCAoc2J1ZiwgcGFja2V0RGVzY3JpcHRpb25zU2l6ZSwgcGFja2V0RGVzY3Jp
cHRpb25zT3V0LCBwYWNrZXREZXNjcmlwdGlvbnNTaXplTmVlZGVkT3V0KSkKKyNkZWZpbmUgQ01T
YW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucyBzb2Z0TGlua19Db3Jl
TWVkaWFfQ01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9ucwogU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVy
R2V0U2FtcGxlVGltaW5nSW5mbywgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBD
TUl0ZW1JbmRleCBzYW1wbGVJbmRleCwgQ01TYW1wbGVUaW1pbmdJbmZvKiB0aW1pbmdJbmZvT3V0
KSwgKHNidWYsIHNhbXBsZUluZGV4LCB0aW1pbmdJbmZvT3V0KSkKICNkZWZpbmUgQ01TYW1wbGVC
dWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZvIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZl
ckdldFNhbXBsZVRpbWluZ0luZm8KIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwg
Q29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckRhdGFJc1JlYWR5LCBCb29sZWFuLCAoQ01TYW1wbGVC
dWZmZXJSZWYgc2J1ZiksIChzYnVmKSkKQEAgLTE2OCw2ICsxNzMsOCBAQCBTT0ZUX0xJTktfQ09O
U1RBTlRfRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwga0NNVGV4dFZlcnRpY2FsTGF5b3V0X1Jp
Z2h0VG9MZWZ0LAogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAKK1NPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUJsb2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cywg
T1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBzdHJ1Y3R1cmVBbGxvY2F0b3IsIENNQmxvY2tCdWZm
ZXJSZWYgc291cmNlQnVmZmVyLCBDRkFsbG9jYXRvclJlZiBibG9ja0FsbG9jYXRvciwgY29uc3Qg
Q01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKiBjdXN0b21CbG9ja1NvdXJjZSwgc2l6ZV90
IG9mZnNldFRvRGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIENNQmxvY2tCdWZmZXJGbGFncyBmbGFn
cywgQ01CbG9ja0J1ZmZlclJlZiogYmxvY2tCdWZmZXJPdXQpLCAoc3RydWN0dXJlQWxsb2NhdG9y
LCBzb3VyY2VCdWZmZXIsIGJsb2NrQWxsb2NhdG9yLCBjdXN0b21CbG9ja1NvdXJjZSwgb2Zmc2V0
VG9EYXRhLCBkYXRhTGVuZ3RoLCBmbGFncywgYmxvY2tCdWZmZXJPdXQpKQorI2RlZmluZSBDTUJs
b2NrQnVmZmVyQ3JlYXRlQ29udGlndW91cyBzb2Z0TGlua19Db3JlTWVkaWFfQ01CbG9ja0J1ZmZl
ckNyZWF0ZUNvbnRpZ3VvdXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29y
ZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFTdWJUeXBlLCBGb3VyQ2hhckNvZGUs
IChDTUZvcm1hdERlc2NyaXB0aW9uUmVmIGRlc2MpLCAoZGVzYykpCiAjZGVmaW5lIENNRm9ybWF0
RGVzY3JpcHRpb25HZXRNZWRpYVN1YlR5cGUgc29mdExpbmtfQ29yZU1lZGlhX0NNRm9ybWF0RGVz
Y3JpcHRpb25HZXRNZWRpYVN1YlR5cGUKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBDTUZvcm1hdERlc2NyaXB0aW9uR2V0TWVkaWFUeXBlLCBDTU1lZGlhVHlw
ZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZGVzYyksIChkZXNjKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaCBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaAppbmRleCBiMzI0
MTU5YmUxZWZlN2E1ZTVmZTJiMjY0ZDQxYTZhMGM4NGZkNDliLi43MDBlOWMzMmM0Y2ZiMWJkYzMw
ZWNmNDdhMDAwNjMwNzIwNTI2OTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCkBAIC0zMjQsNCArMzI0LDExIEBAIFNPRlRf
TElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQVZGb3VuZGF0aW9uLCBBVk91dHB1dENvbnRl
eHRPdXRwdXREZXZpY2VzRGlkCiAjZGVmaW5lIEFWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNE
aWRDaGFuZ2VOb3RpZmljYXRpb24gUEFMOjpnZXRfQVZGb3VuZGF0aW9uX0FWT3V0cHV0Q29udGV4
dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3RpZmljYXRpb24oKQogI2VuZGlmIC8vIEhBVkUoQVZS
T1VURVBJQ0tFUlZJRVcpCiAKKyNpZiBQTEFURk9STShDT0NPQSkKK1NPRlRfTElOS19DTEFTU19G
T1JfSEVBREVSKFBBTCwgQVZBdWRpb0NvbnZlcnRlcikKK1NPRlRfTElOS19DTEFTU19GT1JfSEVB
REVSKFBBTCwgQVZBdWRpb0Zvcm1hdCkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwg
QVZBdWRpb0NvbXByZXNzZWRCdWZmZXIpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUws
IEFWQXVkaW9QQ01CdWZmZXIpCisjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCisKICNlbmRpZiAv
LyBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29j
b2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggMzdjOGIxZmFmZDU4Y2NiYzZlODUwYzZm
MzAxMTc2N2M3ZGEzMTY0NS4uNzMzOTg0NWUwNzI2NTgwMWUwNjQwMzAzYjJlMjkxYTAxMjRlODcw
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25T
b2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlv
blNvZnRMaW5rLm1tCkBAIC0yMzAsNyArMjMwLDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9T
T1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9TZXNzaW9uUm91dGUK
IAogU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFM
LCBBVkZvdW5kYXRpb24sIEFWVVJMQXNzZXRIVFRQQ29va2llc0tleSwgTlNTdHJpbmcgKiwgUEFM
X0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTF9GT1JfU09VUkNFX1dJVEhfRVhQ
T1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0UmVxdWlyZXNDdXN0b21VUkxMb2FkaW5n
S2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQotI2VuZGlmCisjZW5kaWYgLy8gUExBVEZPUk0o
SU9TX0ZBTUlMWSkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShXQVRD
SE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNF
KFBBTCwgQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uU2V0QXV0aG9yaXplZFRvVXNlQ2Ft
ZXJhSW5NdWx0aXBsZUZvcmVncm91bmRBcHBMYXlvdXQsIHZvaWQsIChBVkNhcHR1cmVTZXNzaW9u
ICpzZXNzaW9uKSwgKHNlc3Npb24pKQpAQCAtMjQ0LDQgKzI0NCwxMSBAQCBTT0ZUX0xJTktfQ09O
U1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZSb3V0ZURl
dGVjdG9yTXVsdAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFM
LCBBVkZvdW5kYXRpb24sIEFWT3V0cHV0Q29udGV4dE91dHB1dERldmljZXNEaWRDaGFuZ2VOb3Rp
ZmljYXRpb24sIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiAjZW5kaWYgLy8gSEFWRShBVlJPVVRF
UElDS0VSVklFVykKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9T
T1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9Db252ZXJ0ZXIsIFBB
TF9FWFBPUlQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFW
Rm91bmRhdGlvbiwgQVZBdWRpb0Zvcm1hdCwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvQ29tcHJlc3Nl
ZEJ1ZmZlciwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQ
T1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvUENNQnVmZmVyLCBQQUxfRVhQT1JUKQorI2Vu
ZGlmCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDliNjM1OGIxYjBmMTYxYjY2
ZTc3N2E5MWRiNGM3NmRkMWY2ZjZkZWIuLjM4NTdjMzIzNDE5ZDI2YTcwMWQ2MzRkZTUzZTk1Mjhh
NGJhMTA0ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTIzMiw3ICsyMzIsNyBAQAogCQkwN0VFNzZFQzFCRTk2REIwMDBGODkx
MzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RUU3NkVBMUJFOTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVh
bHRpbWVWaWRlb1NvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRl
b1NvdXJjZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDdFRTc2RUQxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlTWFj
LmggKi87IH07CiAJCTA3RjRFOTMzMjBCMzU4N0YwMDJFMzgwMyAvKiBBVkFzc2V0TUlNRVR5cGVD
YWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdD
OEFEMTIxRDA3M0Q2MzAwODdDNUNFIC8qIEFWQXNzZXRNSU1FVHlwZUNhY2hlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMDdGNUNGRjUyNTgyQTUx
RDAwNjYyRUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1ODJBNEY4MDA2NjJFRjUgLyog
V2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgfTsKKwkJMDdGNUNGRjUyNTgyQTUxRDAwNjYy
RUY1IC8qIFdlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Y1Q0ZGNDI1ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1
ZGlvVXRpbGl0aWVzQ29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkwN0Y1Q0ZGNjI1ODJBNTI5MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0
aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwN0Y1Q0ZGMjI1ODJBNEY4MDA2NjJFRjUgLyogV2ViTUF1ZGlvVXRpbGl0aWVzQ29jb2EubW0g
Ki87IH07CiAJCTA3Rjg3Njg0MUFENTgwRjkwMDkwNTg0OSAvKiBNZWRpYVBsYXliYWNrVGFyZ2V0
Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDdGODc2ODMxQUQ0QTk0NTAwOTA1ODQ5IC8qIE1lZGlhUGxheWJhY2tUYXJnZXRDb250ZXh0Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDdGOTQ0
MTYxODY0RDA0NjAwNUQzMUNCIC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBRThDMDgxNzQ2Qjk1
NzAwNTMyRDc4IC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcAppbmRleCA3MWM0NTdiYTBlNDBkNzkyNGJiZjA2NDE3NDc4OTA4YWM5
ZGRlNzk2Li44YTgwN2QxMjIzZDA0MmU3ZjJmNDAwODJhZTA1NzY0MDkyZWFmMTI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTEwNDYsNiArMTA0NiwxNSBA
QCBIVE1MTWVkaWFFbGVtZW50OjpOZXR3b3JrU3RhdGUgSFRNTE1lZGlhRWxlbWVudDo6bmV0d29y
a1N0YXRlKCkgY29uc3QKICAgICByZXR1cm4gbV9uZXR3b3JrU3RhdGU7CiB9CiAKK3N0YXRpYyBp
bmxpbmUgYm9vbCB3ZWJNV2ViQXVkaW9FbmFibGVkKCkKK3sKKyNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKQorICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LndlYk1XZWJBdWRpb0VuYWJsZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlm
Cit9CisKIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VHlwZShjb25zdCBTdHJpbmcm
IG1pbWVUeXBlKSBjb25zdAogewogICAgIE1lZGlhRW5naW5lU3VwcG9ydFBhcmFtZXRlcnMgcGFy
YW1ldGVyczsKQEAgLTEwNTksNyArMTA2OCw3IEBAIFN0cmluZyBIVE1MTWVkaWFFbGVtZW50Ojpj
YW5QbGF5VHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogICAgIC8vIFRlbXBvcmFy
aWx5IHdvcmsgYXJvdW5kIGJ1ZyAyMjY5MjIuIEZvciBub3cgY2xhaW0gdGhhdCB0aGUgb3B1cyBh
bmQgdm9yYmlzIGNvZGVjcyBhcmVuJ3Qgc3VwcG9ydGVkCiAgICAgLy8gc28gdGhhdCBzaXRlcyBy
ZWx5aW5nIG9uIHRoaXMgdGVzdCB0byBkZXRlcm1pbmUgaWYgd2ViYXVkaW8gdXNlIG9mIG9wdXMg
b3Igdm9yYmlzIHdvbid0IGVycm9yLgogICAgIGF1dG8gY29kZWNzID0gY29udGVudFR5cGUuY29k
ZWNzKCk7Ci0gICAgaWYgKHN1cHBvcnQgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNT
dXBwb3J0ZWQgJiYgKGNvZGVjcy5jb250YWlucygib3B1cyIpIHx8IGNvZGVjcy5jb250YWlucygi
dm9yYmlzIikpKQorICAgIGlmIChzdXBwb3J0ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6
OklzU3VwcG9ydGVkICYmICgoY29kZWNzLmNvbnRhaW5zKCJvcHVzIikgJiYgIXdlYk1XZWJBdWRp
b0VuYWJsZWQoKSkgfHwgY29kZWNzLmNvbnRhaW5zKCJ2b3JiaXMiKSkpCiAgICAgICAgIHN1cHBv
cnQgPSBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZDsKICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4IGEw
ZDNjZWE3OWQ3ZTBhZTA3NDgyNDBkZDIyZWVlMmQ1NTc1MDQ0YTYuLjY4NWEwYTJhZDc1NDcyNjk5
YWViZjIxOWZhMGMyNTE1MjFiZWIwYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC0yMzUsNiArMjM1LDggQEAgcHVibGljOgogI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCiAgICAgdm9pZCBzZXRXZWJNUGFyc2VyRW5hYmxlZChib29sIGlzRW5h
YmxlZCkgeyBtX3dlYk1QYXJzZXJFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCB3ZWJN
UGFyc2VyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViTVBhcnNlckVuYWJsZWQ7IH0KKyAg
ICB2b2lkIHNldFdlYk1XZWJBdWRpb0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV93ZWJNV2Vi
QXVkaW9FbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCB3ZWJNV2ViQXVkaW9FbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV93ZWJNV2ViQXVkaW9FbmFibGVkOyB9CiAjZW5kaWYKIAogI2lm
IEhBVkUoQ0VMRVNUSUFMKQpAQCAtMzcxLDYgKzM3Myw3IEBAIHByaXZhdGU6CiAKICNpZiBFTkFC
TEUoTUVESUFfU09VUkNFKQogICAgIGJvb2wgbV93ZWJNUGFyc2VyRW5hYmxlZCB7IGZhbHNlIH07
CisgICAgYm9vbCBtX3dlYk1XZWJBdWRpb0VuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKICNp
ZiBIQVZFKENFTEVTVElBTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01l
ZGlhU2FtcGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCmluZGV4
IDhkYTYwMzc3ODgyNDMzMzBhZTI1MGQ5YzEwYzcyZWUwNTg4ZTc2MGMuLjA4NDdiOTc0ZTkzZTg3
MmEyMjllN2ExNjEwZjJkNDRlOTAyY2MwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lZGlhU2FtcGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFT
YW1wbGUuaApAQCAtNTcsNyArNTcsNyBAQCBzdHJ1Y3QgUGxhdGZvcm1TYW1wbGUgewogICAgIH0g
c2FtcGxlOwogfTsKIAotY2xhc3MgV0VCQ09SRV9FWFBPUlQgTWVkaWFTYW1wbGUgOiBwdWJsaWMg
VGhyZWFkU2FmZVJlZkNvdW50ZWQ8TWVkaWFTYW1wbGU+IHsKK2NsYXNzIE1lZGlhU2FtcGxlIDog
cHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhU2FtcGxlPiB7CiBwdWJsaWM6CiAgICAg
dmlydHVhbCB+TWVkaWFTYW1wbGUoKSA9IGRlZmF1bHQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcAppbmRleCAyNDNlMTA2YjllMzNkYTkzZGU5YTBjYWQzM2Jj
MDhlOTIwNjUzMjAwLi43ZjAzYzMzMWVlMjAxMGM5ODkyOWEwMzI0ZGNhYzk1NWQ2NWY4YmJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCkBAIC03Myw2ICs3
MywxNiBAQCB2b2lkIEF1ZGlvQnVzOjpzZXRDaGFubmVsTWVtb3J5KHVuc2lnbmVkIGNoYW5uZWxJ
bmRleCwgZmxvYXQqIHN0b3JhZ2UsIHNpemVfdCBsZQogICAgIH0KIH0KIAordm9pZCBBdWRpb0J1
czo6c2V0TGVuZ3RoKHNpemVfdCBuZXdMZW5ndGgpCit7CisgICAgUkVMRUFTRV9BU1NFUlRfV0lU
SF9TRUNVUklUWV9JTVBMSUNBVElPTihuZXdMZW5ndGggPD0gbV9sZW5ndGgpOworICAgIGlmIChu
ZXdMZW5ndGggPT0gbV9sZW5ndGgpCisgICAgICAgIHJldHVybjsKKyAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbV9jaGFubmVscy5zaXplKCk7ICsraSkKKyAgICAgICAgbV9jaGFubmVsc1tp
XS0+c2V0TGVuZ3RoKG5ld0xlbmd0aCk7CisgICAgbV9sZW5ndGggPSBuZXdMZW5ndGg7Cit9CisK
IHZvaWQgQXVkaW9CdXM6Onplcm8oKQogewogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBt
X2NoYW5uZWxzLnNpemUoKTsgKytpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vQXVkaW9CdXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
QnVzLmgKaW5kZXggNDBlODExMjExYjRkYTJjYThjNjcwYjU4YjMyOTZiMzVjZTY5Y2Q0YS4uMzE3
NTUxYzllZjExNWYyNmMwOWU1ODAwODkzNmMyNDViYzE0YTA3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCkBAIC04Myw2ICs4Myw5IEBAIHB1YmxpYzoKICAgICAv
LyBOdW1iZXIgb2Ygc2FtcGxlLWZyYW1lcwogICAgIHNpemVfdCBsZW5ndGgoKSBjb25zdCB7IHJl
dHVybiBtX2xlbmd0aDsgfQogCisgICAgLy8gUmVkdWNlIHRoZSBudW1iZXIgb2YgZnJhbWVzIGF2
YWlsYWJsZSB3aXRob3V0IGNoYW5naW5nIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHNpemUuCisgICAg
dm9pZCBzZXRMZW5ndGgoc2l6ZV90KTsKKwogICAgIC8vIFNhbXBsZS1yYXRlIDogMC4wIGlmIHVu
a25vd24gb3IgImRvbid0IGNhcmUiCiAgICAgZmxvYXQgc2FtcGxlUmF0ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fc2FtcGxlUmF0ZTsgfQogICAgIHZvaWQgc2V0U2FtcGxlUmF0ZShmbG9hdCBzYW1wbGVS
YXRlKSB7IG1fc2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKaW5kZXggOTc1YmQwYjVhYmQ4ZjcyNTVhMDVhN2Rk
NzBmOTY1MGIxZDQ5NDY2Ny4uMTY3NmY1NmI2ZGRiOTcwOWMyZDQ2ZTc4OWU2OTk4YmEyZmYxNTUy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVs
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKQEAg
LTc0LDYgKzc0LDEzIEBAIHB1YmxpYzoKICAgICAvLyBIb3cgbWFueSBzYW1wbGUtZnJhbWVzIGRv
IHdlIGNvbnRhaW4/CiAgICAgc2l6ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3Ro
OyB9CiAKKyAgICAvLyBTZXQgbmV3IGxlbmd0aC4gQ2FuIG9ubHkgYmUgc2V0IHRvIGEgdmFsdWUg
bG93ZXIgdGhhbiB0aGUgY3VycmVudCBsZW5ndGguCisgICAgdm9pZCBzZXRMZW5ndGgoc2l6ZV90
IG5ld0xlbmd0aCkKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlf
SU1QTElDQVRJT04obmV3TGVuZ3RoIDw9IGxlbmd0aCgpKTsKKyAgICAgICAgbV9sZW5ndGggPSBu
ZXdMZW5ndGg7CisgICAgfQorCiAgICAgLy8gRGlyZWN0IGFjY2VzcyB0byBQQ00gc2FtcGxlIGRh
dGEuIE5vbi1jb25zdCBhY2Nlc3NvciBjbGVhcnMgc2lsZW50IGZsYWcuCiAgICAgZmxvYXQqIG11
dGFibGVEYXRhKCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAKaW5kZXggNWQ1NmI5ZWUx
YTBkM2Q2N2E3OWMzMDc2MWQxMzgxNWQ3YzA2NDRjZS4uOWI2OWE4MTI1OGYyMmU2YjJlOWYyYmM1
MTk2MWJhNDc3Y2IzM2M3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcApAQCAtMzQsMjEgKzM0
LDM2IEBACiAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgogI2luY2x1ZGUgIkF1ZGlvRmlsZVJlYWRl
ci5oIgorI2luY2x1ZGUgIkF1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIgorI2luY2x1ZGUgIkF1ZGlv
VHJhY2tQcml2YXRlLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCisjaW5jbHVkZSAi
SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRl
ICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKKyNpbmNsdWRlICJWaWRlb1RyYWNrUHJpdmF0ZS5oIgor
I2luY2x1ZGUgIldlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgiCisjaW5jbHVkZSA8QXVkaW9Ub29s
Ym94L0F1ZGlvQ29udmVydGVyLmg+CiAjaW5jbHVkZSA8QXVkaW9Ub29sYm94L0V4dGVuZGVkQXVk
aW9GaWxlLmg+CiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KLSNp
bmNsdWRlIDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxTb3VyY2VC
dWZmZXJQYXJzZXJXZWJNLmg+CisjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHd0Zi9DaGVj
a2VkQXJpdGhtZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8
d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0
Zi9TY29wZS5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQXVk
aW9Ub29sYm94U29mdExpbmsuaD4KKyNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIEF1
ZGlvQnVmZmVyTGlzdCogdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KHNpemVfdCBudW1iZXJPZkJ1
ZmZlcnMpCiB7CisgICAgaWYgKCFudW1iZXJPZkJ1ZmZlcnMpCisgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIENoZWNrZWRTaXplIGJ1ZmZlckxpc3RTaXplID0gc2l6ZW9mKEF1ZGlvQnVmZmVy
TGlzdCkgLSBzaXplb2YoQXVkaW9CdWZmZXIpOwotICAgIGJ1ZmZlckxpc3RTaXplICs9IG51bWJl
ck9mQnVmZmVycyAqIHNpemVvZihBdWRpb0J1ZmZlcik7CisgICAgYnVmZmVyTGlzdFNpemUgKz0g
V1RGOjpjaGVja2VkUHJvZHVjdDxzaXplX3Q+KG51bWJlck9mQnVmZmVycywgc2l6ZW9mKEF1ZGlv
QnVmZmVyKSk7CiAgICAgaWYgKGJ1ZmZlckxpc3RTaXplLmhhc092ZXJmbG93ZWQoKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTg3LDEwICsxMDIsNTUgQEAgc3RhdGljIGJvb2wgdmFs
aWRhdGVBdWRpb0J1ZmZlckxpc3QoQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0KQogICAgIHJl
dHVybiB0cnVlOwogfQogCisvLyBPbiBzdGFjayBSQUlJIGNsYXNzIHRoYXQgd2lsbCBmcmVlIHRo
ZSBhbGxvY2F0ZWQgQXVkaW9CdWZmZXJMaXN0KiBhcyBuZWVkZWQuCitjbGFzcyBBdWRpb0J1ZmZl
ckxpc3RIb2xkZXIgeworcHVibGljOgorICAgIGV4cGxpY2l0IEF1ZGlvQnVmZmVyTGlzdEhvbGRl
cihzaXplX3QgbnVtYmVyT2ZDaGFubmVscykKKyAgICAgICAgOiBtX2J1ZmZlckxpc3QodHJ5Q3Jl
YXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpKQorICAgIHsKKyAgICB9CisKKyAg
ICB+QXVkaW9CdWZmZXJMaXN0SG9sZGVyKCkKKyAgICB7CisgICAgICAgIGlmIChtX2J1ZmZlckxp
c3QpCisgICAgICAgICAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KG1fYnVmZmVyTGlzdCk7Cisg
ICAgfQorCisgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuICEhbV9i
dWZmZXJMaXN0OyB9CisgICAgQXVkaW9CdWZmZXJMaXN0KiBvcGVyYXRvci0+KCkgY29uc3QgeyBy
ZXR1cm4gbV9idWZmZXJMaXN0OyB9CisgICAgb3BlcmF0b3IgQXVkaW9CdWZmZXJMaXN0KigpIGNv
bnN0IHsgcmV0dXJuIG1fYnVmZmVyTGlzdDsgfQorICAgIEF1ZGlvQnVmZmVyTGlzdCYgb3BlcmF0
b3IqKCkgY29uc3QgeyBBU1NFUlQobV9idWZmZXJMaXN0KTsgcmV0dXJuICptX2J1ZmZlckxpc3Q7
IH0KKyAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiB2YWxpZGF0ZUF1ZGlvQnVmZmVy
TGlzdChtX2J1ZmZlckxpc3QpOyB9Citwcml2YXRlOgorICAgIEF1ZGlvQnVmZmVyTGlzdCogbV9i
dWZmZXJMaXN0OworfTsKKworY2xhc3MgQXVkaW9GaWxlUmVhZGVyV2ViTURhdGEgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworCitwdWJsaWM6CisjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKKyAgICBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpJbml0aWFsaXphdGlvblNlZ21lbnQgbV9p
bml0U2VnbWVudDsKKyNlbmRpZgorICAgIE1lZGlhVGltZSBtX2R1cmF0aW9uOworICAgIFZlY3Rv
cjxSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPj4gbV9zYW1wbGVzOworfTsKKwogQXVkaW9GaWxlUmVh
ZGVyOjpBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKQog
ICAgIDogbV9kYXRhKGRhdGEpCiAgICAgLCBtX2RhdGFTaXplKGRhdGFTaXplKQorI2lmICFSRUxF
QVNFX0xPR19ESVNBQkxFRAorICAgICwgbV9sb2dnZXIoTG9nZ2VyOjpjcmVhdGUodGhpcykpCisg
ICAgLCBtX2xvZ0lkZW50aWZpZXIoTG9nZ2VySGVscGVyOjp1bmlxdWVMb2dJZGVudGlmaWVyKCkp
CisjZW5kaWYKIHsKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIGlmIChpc01heWJlV2Vi
TShzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oZGF0YSksIGRhdGFTaXplKSkgeworICAgICAg
ICBtX3dlYm1EYXRhID0gZGVtdXhXZWJNRGF0YShzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4o
ZGF0YSksIGRhdGFTaXplKTsKKyAgICAgICAgaWYgKG1fd2VibURhdGEpCisgICAgICAgICAgICBy
ZXR1cm47CisgICAgfQorI2VuZGlmCiAgICAgaWYgKFBBTDo6QXVkaW9GaWxlT3BlbldpdGhDYWxs
YmFja3ModGhpcywgcmVhZFByb2MsIDAsIGdldFNpemVQcm9jLCAwLCAwLCAmbV9hdWRpb0ZpbGVJ
RCkgIT0gbm9FcnIpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTExLDYgKzE3MSwxOTQgQEAgQXVk
aW9GaWxlUmVhZGVyOjp+QXVkaW9GaWxlUmVhZGVyKCkKICAgICBtX2F1ZGlvRmlsZUlEID0gMDsK
IH0KIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCitib29sIEF1ZGlvRmlsZVJlYWRlcjo6aXNN
YXliZVdlYk0oY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKSBjb25zdAorewor
ICAgIC8vIEZyb20gaHR0cHM6Ly9taW1lc25pZmYuc3BlYy53aGF0d2cub3JnLyNzaWduYXR1cmUt
Zm9yLXdlYm0KKyAgICByZXR1cm4gZGF0YVNpemUgPj0gNCAmJiBkYXRhWzBdID09IDB4MUEgJiYg
ZGF0YVsxXSA9PSAweDQ1ICYmIGRhdGFbMl0gPT0gMHhERiAmJiBkYXRhWzNdID09IDB4QTM7Cit9
CisKK3N0ZDo6dW5pcXVlX3B0cjxBdWRpb0ZpbGVSZWFkZXJXZWJNRGF0YT4gQXVkaW9GaWxlUmVh
ZGVyOjpkZW11eFdlYk1EYXRhKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkg
Y29uc3QKK3sKKyAgICBhdXRvIHBhcnNlciA9IGFkb3B0UmVmKG5ldyBTb3VyY2VCdWZmZXJQYXJz
ZXJXZWJNKCkpOworICAgIGJvb2wgZXJyb3IgPSBmYWxzZTsKKyAgICBzdGQ6Om9wdGlvbmFsPHVp
bnQ2NF90PiBhdWRpb1RyYWNrSWQ7CisgICAgTWVkaWFUaW1lIGR1cmF0aW9uOworICAgIFNvdXJj
ZUJ1ZmZlclBhcnNlcldlYk06OkluaXRpYWxpemF0aW9uU2VnbWVudCBpbml0U2VnbWVudDsKKyAg
ICBWZWN0b3I8UmVmPE1lZGlhU2FtcGxlQVZGT2JqQz4+IHNhbXBsZXM7CisgICAgcGFyc2VyLT5z
ZXREaWRFbmNvdW50ZXJFcnJvckR1cmluZ1BhcnNpbmdDYWxsYmFjayhbJl0odWludDY0X3QpIHsK
KyAgICAgICAgZXJyb3IgPSB0cnVlOworICAgIH0pOworICAgIHBhcnNlci0+c2V0RGlkUGFyc2VJ
bml0aWFsaXphdGlvbkRhdGFDYWxsYmFjayhbJl0oU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6SW5p
dGlhbGl6YXRpb25TZWdtZW50JiYgaW5pdCkgeworICAgICAgICBmb3IgKGF1dG8mIGF1ZGlvVHJh
Y2sgOiBpbml0LmF1ZGlvVHJhY2tzKSB7CisgICAgICAgICAgICBpZiAoYXVkaW9UcmFjay50cmFj
ayAmJiBhdWRpb1RyYWNrLnRyYWNrLT50cmFja1VJRCgpKSB7CisgICAgICAgICAgICAgICAgZHVy
YXRpb24gPSBpbml0LmR1cmF0aW9uOworICAgICAgICAgICAgICAgIGF1ZGlvVHJhY2tJZCA9IGF1
ZGlvVHJhY2sudHJhY2stPnRyYWNrVUlEKCk7CisgICAgICAgICAgICAgICAgaW5pdFNlZ21lbnQg
PSBXVEZNb3ZlKGluaXQpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgIH0pOworICAgIHBhcnNlci0+c2V0RGlkUHJvdmlkZU1lZGlhRGF0YUNh
bGxiYWNrKFsmXShSZWY8TWVkaWFTYW1wbGU+JiYgc2FtcGxlLCB1aW50NjRfdCB0cmFja0lELCBj
b25zdCBTdHJpbmcmKSB7CisgICAgICAgIGlmICghYXVkaW9UcmFja0lkIHx8IHRyYWNrSUQgIT0g
KmF1ZGlvVHJhY2tJZCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgc2FtcGxlcy5hcHBl
bmQoc3RhdGljX3JlZmVyZW5jZV9jYXN0PE1lZGlhU2FtcGxlQVZGT2JqQz4oV1RGTW92ZShzYW1w
bGUpKSk7CisgICAgfSk7CisgICAgcGFyc2VyLT5zZXRDYWxsT25DbGllbnRUaHJlYWRDYWxsYmFj
ayhbXShhdXRvJiYgZnVuY3Rpb24pIHsKKyAgICAgICAgZnVuY3Rpb24oKTsKKyAgICB9KTsKKyAg
ICBTb3VyY2VCdWZmZXJQYXJzZXI6OlNlZ21lbnQgc2VnbWVudCh7IGRhdGEsIGRhdGFTaXplIH0p
OworICAgIHBhcnNlci0+YXBwZW5kRGF0YShXVEZNb3ZlKHNlZ21lbnQpKTsKKyAgICBpZiAoIWF1
ZGlvVHJhY2tJZCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcGFyc2VyLT5mbHVzaFBl
bmRpbmdBdWRpb0J1ZmZlcnMoKTsKKyAgICByZXR1cm4gbWFrZVVuaXF1ZTxBdWRpb0ZpbGVSZWFk
ZXJXZWJNRGF0YT4oQXVkaW9GaWxlUmVhZGVyV2ViTURhdGEgeyBXVEZNb3ZlKGluaXRTZWdtZW50
KSwgV1RGTW92ZShkdXJhdGlvbiksIFdURk1vdmUoc2FtcGxlcykgfSk7Cit9CisKK3N0cnVjdCBQ
YXNzdGhyb3VnaFVzZXJEYXRhIHsKKyAgICBVSW50MzIgbV9jaGFubmVsczsKKyAgICBVSW50MzIg
bV9kYXRhU2l6ZTsKKyAgICBjb25zdCB2b2lkKiBtX2RhdGE7CisgICAgVUludDMyIG1faW5kZXg7
CisgICAgVmVjdG9yPEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24+JiBtX3BhY2tldHM7Cit9
OworCisvLyBFcnJvciB2YWx1ZSB3ZSBwYXNzIHRocm91Z2ggdGhlIGRlY29kZXIgdG8gc2lnbmFs
IHRoYXQgbm90aGluZworLy8gaGFzIGdvbmUgd3JvbmcgZHVyaW5nIGRlY29kaW5nIGFuZCB3ZSdy
ZSBkb25lIHByb2Nlc3NpbmcgdGhlIHBhY2tldC4KK2NvbnN0IHVpbnQzMl90IGtOb01vcmVEYXRh
RXJyID0gJ01PQVInOworCitzdGF0aWMgT1NTdGF0dXMgcGFzc3Rocm91Z2hJbnB1dERhdGFDYWxs
YmFjayhBdWRpb0NvbnZlcnRlclJlZiwgVUludDMyKiBudW1EYXRhUGFja2V0cywgQXVkaW9CdWZm
ZXJMaXN0KiBkYXRhLCBBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uKiogcGFja2V0RGVzYywg
dm9pZCogaW5Vc2VyRGF0YSkKK3sKKyAgICBBU1NFUlQobnVtRGF0YVBhY2tldHMgJiYgZGF0YSAm
JiBpblVzZXJEYXRhKTsKKyAgICBpZiAoIW51bURhdGFQYWNrZXRzIHx8ICFkYXRhIHx8ICFpblVz
ZXJEYXRhKQorICAgICAgICByZXR1cm4ga0F1ZGlvQ29udmVydGVyRXJyX1Vuc3BlY2lmaWVkRXJy
b3I7CisKKyAgICBhdXRvKiB1c2VyRGF0YSA9IHN0YXRpY19jYXN0PFBhc3N0aHJvdWdoVXNlckRh
dGEqPihpblVzZXJEYXRhKTsKKyAgICBpZiAodXNlckRhdGEtPm1faW5kZXggPT0gdXNlckRhdGEt
Pm1fcGFja2V0cy5zaXplKCkpIHsKKyAgICAgICAgKm51bURhdGFQYWNrZXRzID0gMDsKKyAgICAg
ICAgcmV0dXJuIGtOb01vcmVEYXRhRXJyOworICAgIH0KKworICAgIGlmIChwYWNrZXREZXNjKSB7
CisgICAgICAgIGlmICh1c2VyRGF0YS0+bV9pbmRleCA+PSB1c2VyRGF0YS0+bV9wYWNrZXRzLnNp
emUoKSkgeworICAgICAgICAgICAgKm51bURhdGFQYWNrZXRzID0gMDsKKyAgICAgICAgICAgIHJl
dHVybiBrQXVkaW9Db252ZXJ0ZXJFcnJfUmVxdWlyZXNQYWNrZXREZXNjcmlwdGlvbnNFcnJvcjsK
KyAgICAgICAgfQorICAgICAgICAqcGFja2V0RGVzYyA9ICZ1c2VyRGF0YS0+bV9wYWNrZXRzW3Vz
ZXJEYXRhLT5tX2luZGV4XTsKKyAgICB9CisKKyAgICBkYXRhLT5tQnVmZmVyc1swXS5tTnVtYmVy
Q2hhbm5lbHMgPSB1c2VyRGF0YS0+bV9jaGFubmVsczsKKyAgICBkYXRhLT5tQnVmZmVyc1swXS5t
RGF0YUJ5dGVTaXplID0gdXNlckRhdGEtPm1fZGF0YVNpemU7CisgICAgZGF0YS0+bUJ1ZmZlcnNb
MF0ubURhdGEgPSBjb25zdF9jYXN0PHZvaWQqPih1c2VyRGF0YS0+bV9kYXRhKTsKKworICAgICpu
dW1EYXRhUGFja2V0cyA9IDE7CisgICAgdXNlckRhdGEtPm1faW5kZXgrKzsKKworICAgIHJldHVy
biBub0VycjsKK30KKworVmVjdG9yPEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24+IEF1ZGlv
RmlsZVJlYWRlcjo6Z2V0UGFja2V0RGVzY3JpcHRpb25zKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBs
ZUJ1ZmZlcikgY29uc3QKK3sKKyAgICBzaXplX3QgcGFja2V0RGVzY3JpcHRpb25zU2l6ZTsKKyAg
ICBpZiAoUEFMOjpDTVNhbXBsZUJ1ZmZlckdldEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb25z
KHNhbXBsZUJ1ZmZlciwgMCwgbnVsbHB0ciwgJnBhY2tldERlc2NyaXB0aW9uc1NpemUpICE9IG5v
RXJyKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIGdl
dCBwYWNrZXQgZGVzY3JpcHRpb24gbGlzdCBzaXplIik7CisgICAgICAgIHJldHVybiB7IH07Cisg
ICAgfQorICAgIHNpemVfdCBudW1EZXNjcmlwdGlvbnMgPSBwYWNrZXREZXNjcmlwdGlvbnNTaXpl
IC8gc2l6ZW9mKEF1ZGlvU3RyZWFtUGFja2V0RGVzY3JpcHRpb24pOworICAgIGlmICghbnVtRGVz
Y3JpcHRpb25zKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiTm8gcGFj
a2V0IGRlc2NyaXB0aW9uIGZvdW5kLiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKyAg
ICBWZWN0b3I8QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbj4gZGVzY3JpcHRpb25zKG51bURl
c2NyaXB0aW9ucyk7CisgICAgaWYgKFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRBdWRpb1N0cmVhbVBh
Y2tldERlc2NyaXB0aW9ucyhzYW1wbGVCdWZmZXIsIHBhY2tldERlc2NyaXB0aW9uc1NpemUsIGRl
c2NyaXB0aW9ucy5kYXRhKCksIG51bGxwdHIpICE9IG5vRXJyKSB7CisgICAgICAgIFJFTEVBU0Vf
TE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIGdldCBwYWNrZXQgZGVzY3JpcHRpb24gbGlz
dCIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKyAgICBhdXRvIG51bVBhY2tldHMgPSBQ
QUw6OkNNU2FtcGxlQnVmZmVyR2V0TnVtU2FtcGxlcyhzYW1wbGVCdWZmZXIpOworICAgIGlmIChu
dW1EZXNjcmlwdGlvbnMgIT0gc2l6ZV90KG51bVBhY2tldHMpKSB7CisgICAgICAgIFJFTEVBU0Vf
TE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5oYW5kbGVkIENNU2FtcGxlQnVmZmVyIHN0cnVjdHVyZSIp
OworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKyAgICByZXR1cm4gZGVzY3JpcHRpb25zOwor
fQorCitzdGQ6Om9wdGlvbmFsPHNpemVfdD4gQXVkaW9GaWxlUmVhZGVyOjpkZWNvZGVXZWJNRGF0
YShBdWRpb0J1ZmZlckxpc3QmIGJ1ZmZlckxpc3QsIHNpemVfdCBudW1iZXJPZkZyYW1lcywgY29u
c3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwgY29uc3QgQXVkaW9TdHJl
YW1CYXNpY0Rlc2NyaXB0aW9uJiBvdXRGb3JtYXQpIGNvbnN0Cit7CisgICAgQXVkaW9Db252ZXJ0
ZXJSZWYgY29udmVydGVyOworICAgIGlmIChQQUw6OkF1ZGlvQ29udmVydGVyTmV3KCZpbkZvcm1h
dCwgJm91dEZvcm1hdCwgJmNvbnZlcnRlcikgIT0gbm9FcnIpIHsKKyAgICAgICAgUkVMRUFTRV9M
T0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8gY3JlYXRlIGRlY29kZXIiKTsKKyAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICB9CisgICAgYXV0byBjbGVhbnVwID0gbWFrZVNjb3BlRXhpdChbJl0g
eworICAgICAgICBQQUw6OkF1ZGlvQ29udmVydGVyRGlzcG9zZShjb252ZXJ0ZXIpOworICAgIH0p
OworICAgIEFTU0VSVChtX3dlYm1EYXRhICYmICFtX3dlYm1EYXRhLT5tX3NhbXBsZXMuaXNFbXB0
eSgpICYmIG1fd2VibURhdGEtPm1fc2FtcGxlc1swXS0+c2FtcGxlQnVmZmVyKCksICJTdHJ1Y3R1
cmUgaW50ZWdyaXR5IHdhcyBjaGVja2VkIGluIG51bWJlck9mRnJhbWVzIik7CisgICAgYXV0byBm
b3JtYXREZXNjcmlwdGlvbiA9IFBBTDo6Q01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlv
bihtX3dlYm1EYXRhLT5tX3NhbXBsZXNbMF0tPnNhbXBsZUJ1ZmZlcigpKTsKKyAgICBpZiAoIWZv
cm1hdERlc2NyaXB0aW9uKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAi
VW5hYmxlIHRvIHJldHJpZXZlIGZvcm1hdCBkZXNjcmlwdGlvbiBmcm9tIGZpcnN0IHNhbXBsZSIp
OworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKyAgICBzaXplX3QgbWFnaWNDb29raWVTaXpl
ID0gMDsKKyAgICBjb25zdCB2b2lkKiBtYWdpY0Nvb2tpZSA9IFBBTDo6Q01BdWRpb0Zvcm1hdERl
c2NyaXB0aW9uR2V0TWFnaWNDb29raWUoZm9ybWF0RGVzY3JpcHRpb24sICZtYWdpY0Nvb2tpZVNp
emUpOworICAgIGlmIChtYWdpY0Nvb2tpZSAmJiBtYWdpY0Nvb2tpZVNpemUpCisgICAgICAgIFBB
TDo6QXVkaW9Db252ZXJ0ZXJTZXRQcm9wZXJ0eShjb252ZXJ0ZXIsIGtBdWRpb0NvbnZlcnRlckRl
Y29tcHJlc3Npb25NYWdpY0Nvb2tpZSwgbWFnaWNDb29raWVTaXplLCBtYWdpY0Nvb2tpZSk7CisK
KyAgICBBdWRpb0J1ZmZlckxpc3RIb2xkZXIgZGVjb2RlZEJ1ZmZlckxpc3QoaW5Gb3JtYXQubUNo
YW5uZWxzUGVyRnJhbWUpOworICAgIGlmICghZGVjb2RlZEJ1ZmZlckxpc3QpIHsKKyAgICAgICAg
UkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJVbmFibGUgdG8gY3JlYXRlIGRlY29kZXIiKTsK
KyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBzaXplX3QgZGVjb2RlZEZyYW1lcyA9
IDA7CisgICAgT1NTdGF0dXMgc3RhdHVzOworICAgIGZvciAoYXV0byYgc2FtcGxlIDogbV93ZWJt
RGF0YS0+bV9zYW1wbGVzKSB7CisgICAgICAgIENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZUJ1ZmZl
ciA9IHNhbXBsZS0+c2FtcGxlQnVmZmVyKCk7CisgICAgICAgIGF1dG8gYnVmZmVyID0gUEFMOjpD
TVNhbXBsZUJ1ZmZlckdldERhdGFCdWZmZXIoc2FtcGxlQnVmZmVyKTsKKyAgICAgICAgQVNTRVJU
KFBBTDo6Q01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzKGJ1ZmZlciwgMCwgMCkpOworICAg
ICAgICBpZiAoIVBBTDo6Q01CbG9ja0J1ZmZlcklzUmFuZ2VDb250aWd1b3VzKGJ1ZmZlciwgMCwg
MCkpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRv
IHJlYWQgc2FtcGxlIGNvbnRlbnQgKG5vdCBjb250aWd1b3VzKSIpOworICAgICAgICAgICAgcmV0
dXJuIHsgfTsKKyAgICAgICAgfQorCisgICAgICAgIHNpemVfdCBzcmNTaXplID0gUEFMOjpDTUJs
b2NrQnVmZmVyR2V0RGF0YUxlbmd0aChidWZmZXIpOworICAgICAgICBjaGFyKiBzcmNEYXRhID0g
bnVsbHB0cjsKKyAgICAgICAgaWYgKFBBTDo6Q01CbG9ja0J1ZmZlckdldERhdGFQb2ludGVyKGJ1
ZmZlciwgMCwgbnVsbHB0ciwgbnVsbHB0ciwgJnNyY0RhdGEpICE9IG5vRXJyKSB7CisgICAgICAg
ICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIlVuYWJsZSB0byByZXRyaWV2ZSBkYXRh
Iik7CisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICB9CisKKyAgICAgICAgYXV0byBk
ZXNjcmlwdGlvbnMgPSBnZXRQYWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyKTsKKyAgICAg
ICAgaWYgKGRlc2NyaXB0aW9ucy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4geyB9Owor
CisgICAgICAgIFBhc3N0aHJvdWdoVXNlckRhdGEgdXNlckRhdGEgPSB7IGluRm9ybWF0Lm1DaGFu
bmVsc1BlckZyYW1lLCBVSW50MzIoc3JjU2l6ZSksIHNyY0RhdGEsIDAsIGRlc2NyaXB0aW9ucyB9
OworCisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIGlmIChudW1iZXJPZkZyYW1lcyA8IGRlY29k
ZWRGcmFtZXMpIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywg
IkRlY29kZWQgbW9yZSBmcmFtZXMgdGhhbiBmaXJzdCBjYWxjdWxhdGVkIik7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8vIGluOiB0aGUg
bWF4IG51bWJlciBvZiBwYWNrZXRzIHdlIGNhbiBoYW5kbGUgZnJvbSB0aGUgZGVjb2Rlci4KKyAg
ICAgICAgICAgIC8vIG91dDogdGhlIG51bWJlciBvZiBwYWNrZXRzIHRoZSBkZWNvZGVyIGlzIGFj
dHVhbGx5IHJldHVybmluZy4KKyAgICAgICAgICAgIFVJbnQzMiBudW1GcmFtZXMgPSBzdGQ6Om1p
bjx1aW50MzJfdD4oc3RkOjpudW1lcmljX2xpbWl0czxpbnQzMl90Pjo6bWF4KCkgLyBzaXplb2Yo
ZmxvYXQpLCBudW1iZXJPZkZyYW1lcyAtIGRlY29kZWRGcmFtZXMpOworCisgICAgICAgICAgICBm
b3IgKFVJbnQzMiBpID0gMDsgaSA8IGluRm9ybWF0Lm1DaGFubmVsc1BlckZyYW1lOyBpKyspIHsK
KyAgICAgICAgICAgICAgICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubU51bWJlckNo
YW5uZWxzID0gMTsKKyAgICAgICAgICAgICAgICBkZWNvZGVkQnVmZmVyTGlzdC0+bUJ1ZmZlcnNb
aV0ubURhdGFCeXRlU2l6ZSA9IG51bUZyYW1lcyAqIHNpemVvZihmbG9hdCk7CisgICAgICAgICAg
ICAgICAgZGVjb2RlZEJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1EYXRhID0gc3RhdGljX2Nhc3Q8
ZmxvYXQqPihidWZmZXJMaXN0Lm1CdWZmZXJzW2ldLm1EYXRhKSArIGRlY29kZWRGcmFtZXM7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBzdGF0dXMgPSBQQUw6OkF1ZGlvQ29udmVydGVyRmls
bENvbXBsZXhCdWZmZXIoY29udmVydGVyLCBwYXNzdGhyb3VnaElucHV0RGF0YUNhbGxiYWNrLCAm
dXNlckRhdGEsICZudW1GcmFtZXMsIGRlY29kZWRCdWZmZXJMaXN0LCBudWxscHRyKTsKKyAgICAg
ICAgICAgIGlmIChzdGF0dXMgJiYgc3RhdHVzICE9IGtOb01vcmVEYXRhRXJyKSB7CisgICAgICAg
ICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJFcnJvciBkZWNvZGluZyBkYXRh
Iik7CisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIGRlY29kZWRGcmFtZXMgKz0gbnVtRnJhbWVzOworICAgICAgICB9IHdoaWxlIChzdGF0dXMg
IT0ga05vTW9yZURhdGFFcnIpOworICAgIH0KKyAgICByZXR1cm4gZGVjb2RlZEZyYW1lczsKK30K
KyNlbmRpZgorCiBPU1N0YXR1cyBBdWRpb0ZpbGVSZWFkZXI6OnJlYWRQcm9jKHZvaWQqIGNsaWVu
dERhdGEsIFNJbnQ2NCBwb3NpdGlvbiwgVUludDMyIHJlcXVlc3RDb3VudCwgdm9pZCogYnVmZmVy
LCBVSW50MzIqIGFjdHVhbENvdW50KQogewogICAgIGF1dG8qIGF1ZGlvRmlsZVJlYWRlciA9IHN0
YXRpY19jYXN0PEF1ZGlvRmlsZVJlYWRlcio+KGNsaWVudERhdGEpOwpAQCAtMTM2LDY3ICszODQs
MTM3IEBAIFNJbnQ2NCBBdWRpb0ZpbGVSZWFkZXI6OmdldFNpemVQcm9jKHZvaWQqIGNsaWVudERh
dGEpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEF1ZGlvRmlsZVJlYWRlcio+KGNsaWVudERhdGEp
LT5kYXRhU2l6ZSgpOwogfQogCi1SZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3Jl
YXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQorc3NpemVfdCBBdWRpb0Zp
bGVSZWFkZXI6Om51bWJlck9mRnJhbWVzKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fZXh0QXVkaW9G
aWxlUmVmKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBTSW50NjQgbnVtYmVyT2ZGcmFt
ZXNJbjY0ID0gMDsKIAotICAgIC8vIEdldCBmaWxlJ3MgZGF0YSBmb3JtYXQKLSAgICBVSW50MzIg
c2l6ZSA9IHNpemVvZihtX2ZpbGVEYXRhRm9ybWF0KTsKLSAgICBpZiAoUEFMOjpFeHRBdWRpb0Zp
bGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0Zp
bGVEYXRhRm9ybWF0LCAmc2l6ZSwgJm1fZmlsZURhdGFGb3JtYXQpICE9IG5vRXJyKQotICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoIW1fd2VibURhdGEpIHsKKyAgICAgICAgaWYgKCFt
X2V4dEF1ZGlvRmlsZVJlZikKKyAgICAgICAgICAgIHJldHVybiAtMTsKIAotICAgIHNpemVfdCBu
dW1iZXJPZkNoYW5uZWxzID0gbV9maWxlRGF0YUZvcm1hdC5tQ2hhbm5lbHNQZXJGcmFtZTsKKyAg
ICAgICAgVUludDMyIHNpemUgPSBzaXplb2YobnVtYmVyT2ZGcmFtZXNJbjY0KTsKKyAgICAgICAg
aWYgKFBBTDo6RXh0QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRB
dWRpb0ZpbGVQcm9wZXJ0eV9GaWxlTGVuZ3RoRnJhbWVzLCAmc2l6ZSwgJm51bWJlck9mRnJhbWVz
SW42NCkgIT0gbm9FcnIgfHwgbnVtYmVyT2ZGcmFtZXNJbjY0IDw9IDApIHsKKyAgICAgICAgICAg
IFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiVW5hYmxlIHRvIHJldHJpZXZlIG51bWJlciBv
ZiBmcmFtZXMgaW4gY29udGVudCAodW5zdXBwb3J0ZWQ/Iik7CisgICAgICAgICAgICByZXR1cm4g
LTE7CisgICAgICAgIH0KIAotICAgIC8vIE51bWJlciBvZiBmcmFtZXMKLSAgICBTSW50NjQgbnVt
YmVyT2ZGcmFtZXM2NCA9IDA7Ci0gICAgc2l6ZSA9IHNpemVvZihudW1iZXJPZkZyYW1lczY0KTsK
LSAgICBpZiAoUEFMOjpFeHRBdWRpb0ZpbGVHZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwg
a0V4dEF1ZGlvRmlsZVByb3BlcnR5X0ZpbGVMZW5ndGhGcmFtZXMsICZzaXplLCAmbnVtYmVyT2ZG
cmFtZXM2NCkgIT0gbm9FcnIgfHwgbnVtYmVyT2ZGcmFtZXM2NCA8PSAwKQotICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIG51bWJlck9mRnJhbWVzSW42NDsKKyAgICB9Cisj
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBpZiAobV93ZWJtRGF0YS0+bV9zYW1wbGVzLmlz
RW1wdHkoKSkgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgIk5vIHNhbXBs
ZSBkZW11eGVkIGZyb20gd2VibSBjb250YWluZXIiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAg
IH0KKworICAgIC8vIENhbGN1bGF0ZSB0aGUgdG90YWwgbnVtYmVyIG9mIGRlY29kZWQgc2FtcGxl
cyB0aGF0IHdlcmUgZGVtdXhlZC4KKyAgICAvLyBUaGlzIGNvZGUgb25seSBoYW5kbGUgdGhlIENN
U2FtcGxlQnVmZmVyIGFzIGdlbmVyYXRlZCBieSB0aGUgU291cmNlQnVmZmVyUGFyc2VyV2ViTQor
ICAgIC8vIHdoZXJlIGEgQXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbnMgYXJyYXkgaXMgYWx3
YXlzIHByb3ZpZGVkIGV2ZW4gd2l0aAorICAgIC8vIENvbnN0YW50IGJpdHJhdGUgYW5kIGNvbnN0
YW50IGZyYW1lcy1wZXItcGFja2V0IGF1ZGlvLgorICAgIGZvciAoYXV0byYgc2FtcGxlIDogbV93
ZWJtRGF0YS0+bV9zYW1wbGVzKSB7CisgICAgICAgIGF1dG8gc2FtcGxlQnVmZmVyID0gc2FtcGxl
LT5zYW1wbGVCdWZmZXIoKTsKKyAgICAgICAgaWYgKCFzYW1wbGVCdWZmZXIpIHsKKyAgICAgICAg
ICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiSW1wb3NzaWJsZSBtZW1vcnkgY29ycnVw
dGlvbiBlbmNvdW50ZXJlZCIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9Cisg
ICAgICAgIGNvbnN0IGF1dG8gZm9ybWF0RGVzY3JpcHRpb24gPSBQQUw6OkNNU2FtcGxlQnVmZmVy
R2V0Rm9ybWF0RGVzY3JpcHRpb24oc2FtcGxlQnVmZmVyKTsKKyAgICAgICAgaWYgKCFmb3JtYXRE
ZXNjcmlwdGlvbikgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJV
bmFibGUgdG8gcmV0cmlldmUgZm9ybWF0IGRlc2NyaXB0aW9uZyBmcm9tIHNhbXBsZSIpOworICAg
ICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGNvbnN0IEF1ZGlvU3RyZWFt
QmFzaWNEZXNjcmlwdGlvbiogY29uc3QgYXNiZCA9IFBBTDo6Q01BdWRpb0Zvcm1hdERlc2NyaXB0
aW9uR2V0U3RyZWFtQmFzaWNEZXNjcmlwdGlvbihmb3JtYXREZXNjcmlwdGlvbik7CisgICAgICAg
IGlmICghYXNiZCkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJV
bmFibGUgdG8gcmV0cmlldmUgYXNiZCBmcm9tIGZvcm1hdCBkZXNjcmlwdGlvbiIpOworICAgICAg
ICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisKKyAgICAgICAgYXV0byBkZXNjcmlwdGlvbnMg
PSBnZXRQYWNrZXREZXNjcmlwdGlvbnMoc2FtcGxlQnVmZmVyKTsKKyAgICAgICAgaWYgKGRlc2Ny
aXB0aW9ucy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgZm9y
IChjb25zdCBhdXRvJiBkZXNjcmlwdGlvbiA6IGRlc2NyaXB0aW9ucykgeworICAgICAgICAgICAg
dWludDMyX3QgZnBwID0gZGVzY3JpcHRpb24ubVZhcmlhYmxlRnJhbWVzSW5QYWNrZXQgPyBkZXNj
cmlwdGlvbi5tVmFyaWFibGVGcmFtZXNJblBhY2tldCA6IGFzYmQtPm1GcmFtZXNQZXJQYWNrZXQ7
CisgICAgICAgICAgICBudW1iZXJPZkZyYW1lc0luNjQgKz0gZnBwOworICAgICAgICB9CisgICAg
fQorICAgIHJldHVybiBudW1iZXJPZkZyYW1lc0luNjQ7CisjZWxzZQorICAgIHJldHVybiAwOwor
I2VuZGlmCit9CisKK3N0ZDo6b3B0aW9uYWw8QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uPiBB
dWRpb0ZpbGVSZWFkZXI6OmZpbGVEYXRhRm9ybWF0KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fd2Vi
bURhdGEpIHsKKyAgICAgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIGZvcm1hdDsKKyAg
ICAgICAgVUludDMyIHNpemUgPSBzaXplb2YoZm9ybWF0KTsKKyAgICAgICAgaWYgKFBBTDo6RXh0
QXVkaW9GaWxlR2V0UHJvcGVydHkobV9leHRBdWRpb0ZpbGVSZWYsIGtFeHRBdWRpb0ZpbGVQcm9w
ZXJ0eV9GaWxlRGF0YUZvcm1hdCwgJnNpemUsICZmb3JtYXQpICE9IG5vRXJyKQorICAgICAgICAg
ICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJuIGZvcm1hdDsKKyAgICB9CisKKyAgICBpZiAo
bV93ZWJtRGF0YS0+bV9zYW1wbGVzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKIAot
ICAgIGRvdWJsZSBmaWxlU2FtcGxlUmF0ZSA9IG1fZmlsZURhdGFGb3JtYXQubVNhbXBsZVJhdGU7
CisgICAgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbiA9IFBBTDo6Q01T
YW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbihtX3dlYm1EYXRhLT5tX3NhbXBsZXNbMF0t
PnNhbXBsZUJ1ZmZlcigpKTsKKyAgICBpZiAoIWZvcm1hdERlc2NyaXB0aW9uKQorICAgICAgICBy
ZXR1cm4geyB9OwogCisgICAgY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKiBjb25z
dCBhc2JkID0gUEFMOjpDTUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2Ny
aXB0aW9uKGZvcm1hdERlc2NyaXB0aW9uKTsKKyAgICByZXR1cm4gKmFzYmQ7Cit9CisKK0F1ZGlv
U3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBBdWRpb0ZpbGVSZWFkZXI6OmNsaWVudERhdGFGb3JtYXQo
Y29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBpbkZvcm1hdCwgZmxvYXQgc2FtcGxl
UmF0ZSkgY29uc3QKK3sKICAgICAvLyBNYWtlIGNsaWVudCBmb3JtYXQgc2FtZSBudW1iZXIgb2Yg
Y2hhbm5lbHMgYXMgZmlsZSBmb3JtYXQsIGJ1dCB0d2VhayBhIGZldyB0aGluZ3MuCiAgICAgLy8g
Q2xpZW50IGZvcm1hdCB3aWxsIGJlIGxpbmVhciBQQ00gKGNhbm9uaWNhbCksIGFuZCBwb3RlbnRp
YWxseSBjaGFuZ2Ugc2FtcGxlLXJhdGUuCi0gICAgbV9jbGllbnREYXRhRm9ybWF0ID0gbV9maWxl
RGF0YUZvcm1hdDsKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gb3V0Rm9ybWF0ID0g
aW5Gb3JtYXQ7CiAKICAgICBjb25zdCBpbnQgYnl0ZXNQZXJGbG9hdCA9IHNpemVvZihGbG9hdDMy
KTsKICAgICBjb25zdCBpbnQgYml0c1BlckJ5dGUgPSA4OwotICAgIG1fY2xpZW50RGF0YUZvcm1h
dC5tRm9ybWF0SUQgPSBrQXVkaW9Gb3JtYXRMaW5lYXJQQ007Ci0gICAgbV9jbGllbnREYXRhRm9y
bWF0Lm1Gb3JtYXRGbGFncyA9IGtBdWRpb0Zvcm1hdEZsYWdzTmF0aXZlRmxvYXRQYWNrZWQgfCBr
QXVkaW9Gb3JtYXRGbGFnSXNOb25JbnRlcmxlYXZlZDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQu
bUJ5dGVzUGVyUGFja2V0ID0gYnl0ZXNQZXJGbG9hdDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQu
bUZyYW1lc1BlclBhY2tldCA9IDE7Ci0gICAgbV9jbGllbnREYXRhRm9ybWF0Lm1CeXRlc1BlckZy
YW1lID0gYnl0ZXNQZXJGbG9hdDsKLSAgICBtX2NsaWVudERhdGFGb3JtYXQubUNoYW5uZWxzUGVy
RnJhbWUgPSBudW1iZXJPZkNoYW5uZWxzOwotICAgIG1fY2xpZW50RGF0YUZvcm1hdC5tQml0c1Bl
ckNoYW5uZWwgPSBiaXRzUGVyQnl0ZSAqIGJ5dGVzUGVyRmxvYXQ7CisgICAgb3V0Rm9ybWF0Lm1G
b3JtYXRJRCA9IGtBdWRpb0Zvcm1hdExpbmVhclBDTTsKKyAgICBvdXRGb3JtYXQubUZvcm1hdEZs
YWdzID0ga0F1ZGlvRm9ybWF0RmxhZ3NOYXRpdmVGbG9hdFBhY2tlZCB8IGtBdWRpb0Zvcm1hdEZs
YWdJc05vbkludGVybGVhdmVkOworICAgIG91dEZvcm1hdC5tQnl0ZXNQZXJQYWNrZXQgPSBvdXRG
b3JtYXQubUJ5dGVzUGVyRnJhbWUgPSBieXRlc1BlckZsb2F0OworICAgIG91dEZvcm1hdC5tRnJh
bWVzUGVyUGFja2V0ID0gMTsKKyAgICBvdXRGb3JtYXQubUJpdHNQZXJDaGFubmVsID0gYml0c1Bl
ckJ5dGUgKiBieXRlc1BlckZsb2F0OwogCiAgICAgaWYgKHNhbXBsZVJhdGUpCi0gICAgICAgIG1f
Y2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7CisgICAgICAgIG91dEZv
cm1hdC5tU2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7CiAKLSAgICBpZiAoUEFMOjpFeHRBdWRpb0Zp
bGVTZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1ZGlvRmlsZVByb3BlcnR5X0Ns
aWVudERhdGFGb3JtYXQsIHNpemVvZihBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24pLCAmbV9j
bGllbnREYXRhRm9ybWF0KSAhPSBub0VycikKKyAgICByZXR1cm4gb3V0Rm9ybWF0OworfQorCitS
ZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJh
dGUsIGJvb2wgbWl4VG9Nb25vKQoreworICAgIFNJbnQ2NCBudW1iZXJPZkZyYW1lc0luNjQgPSBu
dW1iZXJPZkZyYW1lcygpOworICAgIGlmIChudW1iZXJPZkZyYW1lc0luNjQgPD0gMCkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICAvLyBDaGFuZ2UgbnVtYmVyT2ZGcmFtZXM2NCB0byBk
ZXN0aW5hdGlvbiBzYW1wbGUtcmF0ZQotICAgIG51bWJlck9mRnJhbWVzNjQgPSBudW1iZXJPZkZy
YW1lczY0ICogKG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxlUmF0ZSAvIGZpbGVTYW1wbGVSYXRl
KTsKLSAgICBzaXplX3QgbnVtYmVyT2ZGcmFtZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG51bWJl
ck9mRnJhbWVzNjQpOworICAgIGF1dG8gaW5Gb3JtYXQgPSBmaWxlRGF0YUZvcm1hdCgpOworICAg
IGlmICghaW5Gb3JtYXQpCisgICAgICAgIHJldHVybiBudWxscHRyOwogCisgICAgQXVkaW9TdHJl
YW1CYXNpY0Rlc2NyaXB0aW9uIG91dEZvcm1hdCA9IGNsaWVudERhdGFGb3JtYXQoKmluRm9ybWF0
LCBzYW1wbGVSYXRlKTsKKyAgICBzaXplX3QgbnVtYmVyT2ZDaGFubmVscyA9IGluRm9ybWF0LT5t
Q2hhbm5lbHNQZXJGcmFtZTsKKyAgICBkb3VibGUgZmlsZVNhbXBsZVJhdGUgPSBpbkZvcm1hdC0+
bVNhbXBsZVJhdGU7CisgICAgU0ludDY0IG51bWJlck9mRnJhbWVzT3V0NjQgPSBudW1iZXJPZkZy
YW1lc0luNjQgKiAob3V0Rm9ybWF0Lm1TYW1wbGVSYXRlIC8gZmlsZVNhbXBsZVJhdGUpOworICAg
IHNpemVfdCBudW1iZXJPZkZyYW1lcyA9IHN0YXRpY19jYXN0PHNpemVfdD4obnVtYmVyT2ZGcmFt
ZXNPdXQ2NCk7CiAgICAgc2l6ZV90IGJ1c0NoYW5uZWxDb3VudCA9IG1peFRvTW9ubyA/IDEgOiBu
dW1iZXJPZkNoYW5uZWxzOwogCiAgICAgLy8gQ3JlYXRlIEF1ZGlvQnVzIHdoZXJlIHdlJ2xsIHB1
dCB0aGUgUENNIGF1ZGlvIGRhdGEKICAgICBhdXRvIGF1ZGlvQnVzID0gQXVkaW9CdXM6OmNyZWF0
ZShidXNDaGFubmVsQ291bnQsIG51bWJlck9mRnJhbWVzKTsKLSAgICBhdWRpb0J1cy0+c2V0U2Ft
cGxlUmF0ZShuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KG1fY2xpZW50RGF0YUZvcm1hdC5tU2FtcGxl
UmF0ZSkpOyAvLyBzYXZlIGZvciBsYXRlcgotCi0gICAgLy8gT25seSBhbGxvY2F0ZWQgaW4gdGhl
IG1peFRvTW9ubyBjYXNlOyBkZWFsbG9jYXRlZCBvbiBkZXN0cnVjdGlvbi4KLSAgICBBdWRpb0Zs
b2F0QXJyYXkgbGVmdENoYW5uZWw7Ci0gICAgQXVkaW9GbG9hdEFycmF5IHJpZ2h0Q2hhbm5lbDsK
KyAgICBhdWRpb0J1cy0+c2V0U2FtcGxlUmF0ZShuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KG91dEZv
cm1hdC5tU2FtcGxlUmF0ZSkpOyAvLyBzYXZlIGZvciBsYXRlcgogCi0gICAgQXVkaW9CdWZmZXJM
aXN0KiBidWZmZXJMaXN0ID0gdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5l
bHMpOworICAgIEF1ZGlvQnVmZmVyTGlzdEhvbGRlciBidWZmZXJMaXN0KG51bWJlck9mQ2hhbm5l
bHMpOwogICAgIGlmICghYnVmZmVyTGlzdCkgewogICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChX
ZWJBdWRpbywgInRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlzdCglbGQpIHJldHVybmVkIG51bGwiLCBu
dW1iZXJPZkNoYW5uZWxzKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogICAgIGNv
bnN0IHNpemVfdCBidWZmZXJTaXplID0gbnVtYmVyT2ZGcmFtZXMgKiBzaXplb2YoZmxvYXQpOwog
CisgICAgLy8gT25seSBhbGxvY2F0ZWQgaW4gdGhlIG1peFRvTW9ubyBjYXNlOyBkZWFsbG9jYXRl
ZCBvbiBkZXN0cnVjdGlvbi4KKyAgICBBdWRpb0Zsb2F0QXJyYXkgbGVmdENoYW5uZWw7CisgICAg
QXVkaW9GbG9hdEFycmF5IHJpZ2h0Q2hhbm5lbDsKKwogICAgIFJFTEVBU0VfQVNTRVJUKGJ1ZmZl
ckxpc3QtPm1OdW1iZXJCdWZmZXJzID09IG51bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmIChtaXhU
b01vbm8gJiYgbnVtYmVyT2ZDaGFubmVscyA9PSAyKSB7CiAgICAgICAgIGxlZnRDaGFubmVsLnJl
c2l6ZShudW1iZXJPZkZyYW1lcyk7CkBAIC0yMjIsMTggKzU0MCwzMCBAQCBSZWZQdHI8QXVkaW9C
dXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4
VG9Nb25vKQogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKCF2YWxpZGF0ZUF1ZGlvQnVmZmVy
TGlzdChidWZmZXJMaXN0KSkgeworICAgIGlmICghYnVmZmVyTGlzdC5pc1ZhbGlkKCkpIHsKICAg
ICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJHZW5lcmF0ZWQgYnVmZmVyIGluIEF1
ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKCkgZGlkIG5vdCBwYXNzIHZhbGlkYXRpb24iKTsKICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxp
c3QoYnVmZmVyTGlzdCk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIC8v
IFJlYWQgZnJvbSB0aGUgZmlsZSAob3IgaW4tbWVtb3J5IHZlcnNpb24pCi0gICAgVUludDMyIGZy
YW1lc1RvUmVhZCA9IG51bWJlck9mRnJhbWVzOwotICAgIGlmIChQQUw6OkV4dEF1ZGlvRmlsZVJl
YWQobV9leHRBdWRpb0ZpbGVSZWYsICZmcmFtZXNUb1JlYWQsIGJ1ZmZlckxpc3QpICE9IG5vRXJy
KSB7Ci0gICAgICAgIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7Ci0gICAgICAg
IHJldHVybiBudWxscHRyOworICAgIGlmIChtX3dlYm1EYXRhKSB7CisjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKKyAgICAgICAgYXV0byBkZWNvZGVkRnJhbWVzID0gZGVjb2RlV2ViTURhdGEoKmJ1
ZmZlckxpc3QsIG51bWJlck9mRnJhbWVzLCAqaW5Gb3JtYXQsIG91dEZvcm1hdCk7CisgICAgICAg
IGlmICghZGVjb2RlZEZyYW1lcykKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAg
ICAvLyBUaGUgYWN0dWFsIGRlY29kZWQgbnVtYmVyIG9mIGZyYW1lcyBtYXkgbm90IG1hdGNoIHRo
ZSBudW1iZXIgb2YgZnJhbWVzIGNhbGN1bGF0ZWQKKyAgICAgICAgLy8gd2hpbGUgZGVtdXhpbmcg
YXMgZnJhbWVzIGNhbiBiZSB0cmltbWVkLiBJdCB3aWxsIGFsd2F5cyBiZSBsb3dlci4KKyAgICAg
ICAgYXVkaW9CdXMtPnNldExlbmd0aCgqZGVjb2RlZEZyYW1lcyk7CisgICAgICAgIG51bWJlck9m
RnJhbWVzID0gKmRlY29kZWRGcmFtZXM7CisjZW5kaWYKKyAgICB9IGVsc2UgeworICAgICAgICBp
ZiAoUEFMOjpFeHRBdWRpb0ZpbGVTZXRQcm9wZXJ0eShtX2V4dEF1ZGlvRmlsZVJlZiwga0V4dEF1
ZGlvRmlsZVByb3BlcnR5X0NsaWVudERhdGFGb3JtYXQsIHNpemVvZihBdWRpb1N0cmVhbUJhc2lj
RGVzY3JpcHRpb24pLCAmb3V0Rm9ybWF0KSAhPSBub0VycikKKyAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgICAgIC8vIFJlYWQgZnJvbSB0aGUgZmlsZSAob3IgaW4tbWVtb3J5IHZl
cnNpb24pCisgICAgICAgIFVJbnQzMiBmcmFtZXNUb1JlYWQgPSBudW1iZXJPZkZyYW1lczsKKyAg
ICAgICAgaWYgKFBBTDo6RXh0QXVkaW9GaWxlUmVhZChtX2V4dEF1ZGlvRmlsZVJlZiwgJmZyYW1l
c1RvUmVhZCwgYnVmZmVyTGlzdCkgIT0gbm9FcnIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICB9CiAKICAgICBpZiAobWl4VG9Nb25vICYmIG51bWJlck9mQ2hhbm5lbHMgPT0gMikg
ewpAQCAtMjQzLDkgKzU3Myw2IEBAIFJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpj
cmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAgICAgICAgICBk
ZXN0TFtpXSA9IDAuNWYgKiAobGVmdENoYW5uZWxbaV0gKyByaWdodENoYW5uZWxbaV0pOwogICAg
IH0KIAotICAgIC8vIENsZWFudXAKLSAgICBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxp
c3QpOwotCiAgICAgcmV0dXJuIGF1ZGlvQnVzOwogfQogCkBAIC0yNTUsNiArNTgyLDEzIEBAIFJl
ZlB0cjxBdWRpb0J1cz4gY3JlYXRlQnVzRnJvbUluTWVtb3J5QXVkaW9GaWxlKGNvbnN0IHZvaWQq
IGRhdGEsIHNpemVfdCBkYXRhU2l6CiAgICAgcmV0dXJuIHJlYWRlci5jcmVhdGVCdXMoc2FtcGxl
UmF0ZSwgbWl4VG9Nb25vKTsKIH0KIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9n
Q2hhbm5lbCYgQXVkaW9GaWxlUmVhZGVyOjpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gTG9nTWVkaWE7Cit9CisjZW5kaWYKKwogfSAvLyBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFC
TEUoV0VCX0FVRElPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
Y29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNvY29hLmgKaW5kZXggMGJiYmJhMjc4NTdkOTc5ZWNj
Njg4Zjg3ZjAzMzlmNjY1ZWY0MjUyOS4uODZjOWI3MTM2OGI0NTE3ZGUzZDVmODk5NDgwZjBiNWE0
NWEzNDYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2Ev
QXVkaW9GaWxlUmVhZGVyQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oCkBAIC0zMiwyMCArMzIsMjkgQEAKICNpZiBF
TkFCTEUoV0VCX0FVRElPKQogCiAjaW5jbHVkZSA8Q29yZUF1ZGlvL0NvcmVBdWRpb1R5cGVzLmg+
CisjaW5jbHVkZSA8b3B0aW9uYWw+CisjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogdXNpbmcgRXh0QXVkaW9GaWxlUmVmID0gc3RydWN0IE9w
YXF1ZUV4dEF1ZGlvRmlsZSo7CiB1c2luZyBBdWRpb0ZpbGVJRCA9IHN0cnVjdCBPcGFxdWVBdWRp
b0ZpbGVJRCo7Cit0eXBlZGVmIHN0cnVjdCBvcGFxdWVDTVNhbXBsZUJ1ZmZlciogQ01TYW1wbGVC
dWZmZXJSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXVkaW9CdXM7CitjbGFz
cyBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOworY2xhc3MgQXVkaW9GaWxlUmVhZGVyV2ViTURhdGE7
CiAKIC8vIFdyYXBwZXIgY2xhc3MgZm9yIEF1ZGlvRmlsZSBhbmQgRXh0QXVkaW9GaWxlIENvcmVB
dWRpbyBBUElzIGZvciByZWFkaW5nIGZpbGVzIGFuZCBpbi1tZW1vcnkgdmVyc2lvbnMgb2YgdGhl
bS4uLgogCi1jbGFzcyBBdWRpb0ZpbGVSZWFkZXIgeworY2xhc3MgQXVkaW9GaWxlUmVhZGVyCisj
aWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgOiBwdWJsaWMgTG9nZ2VySGVscGVyCisjZW5k
aWYKK3sKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCog
ZGF0YSwgc2l6ZV90IGRhdGFTaXplKTsKKyAgICBBdWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCog
ZGF0YSwgc2l6ZV90IGRhdGFTaXplKTsKICAgICB+QXVkaW9GaWxlUmVhZGVyKCk7CiAKICAgICBS
ZWZQdHI8QXVkaW9CdXM+IGNyZWF0ZUJ1cyhmbG9hdCBzYW1wbGVSYXRlLCBib29sIG1peFRvTW9u
byk7IC8vIFJldHVybnMgbnVsbHB0ciBvbiBlcnJvcgpAQCAtNTMsOSArNjIsMjUgQEAgcHVibGlj
OgogICAgIGNvbnN0IHZvaWQqIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2RhdGE7IH0KICAgICBz
aXplX3QgZGF0YVNpemUoKSBjb25zdCB7IHJldHVybiBtX2RhdGFTaXplOyB9CiAKKyNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKKyAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmll
cigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIFdURkxvZ0No
YW5uZWwmIGxvZ0NoYW5uZWwoKSBjb25zdCBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBsb2dDbGFz
c05hbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAiQXVkaW9GaWxlUmVhZGVyQ29jb2EiOyB9Cisj
ZW5kaWYKKwogcHJpdmF0ZToKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIGJvb2wgaXNN
YXliZVdlYk0oY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKSBjb25zdDsKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9GaWxlUmVhZGVyV2ViTURhdGE+IGRlbXV4V2ViTURhdGEo
Y29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKSBjb25zdDsKKyAgICBWZWN0b3I8
QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbj4gZ2V0UGFja2V0RGVzY3JpcHRpb25zKENNU2Ft
cGxlQnVmZmVyUmVmKSBjb25zdDsKKyAgICBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gZGVjb2RlV2Vi
TURhdGEoQXVkaW9CdWZmZXJMaXN0Jiwgc2l6ZV90IG51bWJlck9mRnJhbWVzLCBjb25zdCBBdWRp
b1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGluRm9ybWF0LCBjb25zdCBBdWRpb1N0cmVhbUJhc2lj
RGVzY3JpcHRpb24mIG91dEZvcm1hdCkgY29uc3Q7CisjZW5kaWYKICAgICBzdGF0aWMgT1NTdGF0
dXMgcmVhZFByb2Modm9pZCogY2xpZW50RGF0YSwgU0ludDY0IHBvc2l0aW9uLCBVSW50MzIgcmVx
dWVzdENvdW50LCB2b2lkKiBidWZmZXIsIFVJbnQzMiogYWN0dWFsQ291bnQpOwogICAgIHN0YXRp
YyBTSW50NjQgZ2V0U2l6ZVByb2Modm9pZCogY2xpZW50RGF0YSk7CisgICAgc3NpemVfdCBudW1i
ZXJPZkZyYW1lcygpIGNvbnN0OworICAgIHN0ZDo6b3B0aW9uYWw8QXVkaW9TdHJlYW1CYXNpY0Rl
c2NyaXB0aW9uPiBmaWxlRGF0YUZvcm1hdCgpIGNvbnN0OworICAgIEF1ZGlvU3RyZWFtQmFzaWNE
ZXNjcmlwdGlvbiBjbGllbnREYXRhRm9ybWF0KGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlw
dGlvbiYgaW5Gb3JtYXQsIGZsb2F0IHNhbXBsZVJhdGUpIGNvbnN0OwogCiAgICAgY29uc3Qgdm9p
ZCogbV9kYXRhID0geyBudWxscHRyIH07CiAgICAgc2l6ZV90IG1fZGF0YVNpemUgPSB7IDAgfTsK
QEAgLTYzLDggKzg4LDEzIEBAIHByaXZhdGU6CiAgICAgQXVkaW9GaWxlSUQgbV9hdWRpb0ZpbGVJ
RCA9IHsgbnVsbHB0ciB9OwogICAgIEV4dEF1ZGlvRmlsZVJlZiBtX2V4dEF1ZGlvRmlsZVJlZiA9
IHsgbnVsbHB0ciB9OwogCi0gICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIG1fZmlsZURh
dGFGb3JtYXQ7Ci0gICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIG1fY2xpZW50RGF0YUZv
cm1hdDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9GaWxlUmVhZGVyV2ViTURhdGE+IG1fd2Vi
bURhdGE7CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBjb25zdCBSZWY8TG9nZ2Vy
PiBtX2xvZ2dlcjsKKyAgICBjb25zdCB2b2lkKiBtX2xvZ0lkZW50aWZpZXI7CisjZW5kaWYKKwog
fTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2Ev
QXVkaW9TYW1wbGVEYXRhU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaAppbmRleCBhMWU3MWJkNTIyMzIyNDI1NzE2YzZi
OWU1YWNlZDA2ZTU1ODI5MzNhLi42YWUzYjVjZDFmMmVmZDYyMzlmYjM0ZDAxM2E1ODc3NmY0MThj
NmY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRp
b1NhbXBsZURhdGFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9j
b2NvYS9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUg
PHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCi10eXBlZGVmIGNvbnN0IHN0cnVjdCBvcGFxdWVDTUZvcm1hdERlc2NyaXB0aW9uICpD
TUZvcm1hdERlc2NyaXB0aW9uUmVmOwogdHlwZWRlZiBzdHJ1Y3Qgb3BhcXVlQ01TYW1wbGVCdWZm
ZXIgKkNNU2FtcGxlQnVmZmVyUmVmOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb1NhbXBsZURh
dGFTb3VyY2UubW0KaW5kZXggZDJiNWFjNDVmMzBmZDRhM2FmNTFiNDIwZGUzNzY0OWIxMTUxYzIy
Ny4uNzBkYzI0ODRhNWVkNjY4ODlmY2EzM2VlMjkxZWMxMDZhNWY5ZjlhOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9TYW1wbGVEYXRhU291cmNl
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxl
RGF0YVNvdXJjZS5tbQpAQCAtMzksNiArMzksNyBAQAogI2ltcG9ydCA8d3RmL1J1bkxvb3AuaD4K
ICNpbXBvcnQgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogCisjaW1wb3J0IDxwYWwvY2YvQXVk
aW9Ub29sYm94U29mdExpbmsuaD4KICNpbXBvcnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Nyw3ICs2OCw3IEBAIEF1ZGlvU2FtcGxlRGF0
YVNvdXJjZTo6QXVkaW9TYW1wbGVEYXRhU291cmNlKHNpemVfdCBtYXhpbXVtU2FtcGxlQ291bnQs
IExvZ2dlckhlCiBBdWRpb1NhbXBsZURhdGFTb3VyY2U6On5BdWRpb1NhbXBsZURhdGFTb3VyY2Uo
KQogewogICAgIGlmIChtX2NvbnZlcnRlcikKLSAgICAgICAgQXVkaW9Db252ZXJ0ZXJEaXNwb3Nl
KG1fY29udmVydGVyKTsKKyAgICAgICAgUEFMOjpBdWRpb0NvbnZlcnRlckRpc3Bvc2UobV9jb252
ZXJ0ZXIpOwogfQogCiBPU1N0YXR1cyBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnNldHVwQ29udmVy
dGVyKCkKQEAgLTc1LDE0ICs3NiwxNCBAQCBPU1N0YXR1cyBBdWRpb1NhbXBsZURhdGFTb3VyY2U6
OnNldHVwQ29udmVydGVyKCkKICAgICBBU1NFUlQobV9pbnB1dERlc2NyaXB0aW9uICYmIG1fb3V0
cHV0RGVzY3JpcHRpb24pOwogCiAgICAgaWYgKG1fY29udmVydGVyKSB7Ci0gICAgICAgIEF1ZGlv
Q29udmVydGVyRGlzcG9zZShtX2NvbnZlcnRlcik7CisgICAgICAgIFBBTDo6QXVkaW9Db252ZXJ0
ZXJEaXNwb3NlKG1fY29udmVydGVyKTsKICAgICAgICAgbV9jb252ZXJ0ZXIgPSBudWxscHRyOwog
ICAgIH0KIAogICAgIGlmICgqbV9pbnB1dERlc2NyaXB0aW9uID09ICptX291dHB1dERlc2NyaXB0
aW9uKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIE9TU3RhdHVzIGVyciA9IEF1ZGlvQ29udmVy
dGVyTmV3KCZtX2lucHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0aW9uKCksICZtX291dHB1
dERlc2NyaXB0aW9uLT5zdHJlYW1EZXNjcmlwdGlvbigpLCAmbV9jb252ZXJ0ZXIpOworICAgIE9T
U3RhdHVzIGVyciA9IFBBTDo6QXVkaW9Db252ZXJ0ZXJOZXcoJm1faW5wdXREZXNjcmlwdGlvbi0+
c3RyZWFtRGVzY3JpcHRpb24oKSwgJm1fb3V0cHV0RGVzY3JpcHRpb24tPnN0cmVhbURlc2NyaXB0
aW9uKCksICZtX2NvbnZlcnRlcik7CiAgICAgaWYgKGVycikgewogICAgICAgICBSdW5Mb29wOjpt
YWluKCkuZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmUHRyKCp0aGlzKSwg
ZXJyXSB7CiAgICAgICAgICAgICBFUlJPUl9MT0coIkF1ZGlvQ29udmVydGVyTmV3IHJldHVybmVk
IGVycm9yICIsIGVycik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
YW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIubW0KaW5kZXggZTNkNmZhYzcwNDM2OTZmYzdl
ZTJhOTIxNWRiMjFhOGY3ZGY4MjVhNS4uYTMyZGY2MjA0OGQzMmQ3YjEzNGRiZjU2ZGEwMDdiNzBl
YzI0NzNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMv
SElER2FtZXBhZFByb3ZpZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVw
YWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5tbQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5B
QkxFKEdBTUVQQUQpICYmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCAiR2FtZUNvbnRyb2xsZXJH
YW1lcGFkUHJvdmlkZXIuaCIKICNpbXBvcnQgIkdhbWVwYWRQcm92aWRlckNsaWVudC5oIgogI2lt
cG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiUGxhdGZvcm1HYW1lcGFkLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0ZUJhc2UuY3BwCmlu
ZGV4IDRkOGVlNjJlMDFiOGVhZWJhY2M2ZDI4YjNhMDk4NTI5NTJjNWQ4MGEuLmMwNjZjMmQ0ODc5
N2E0YWFiM2I5YmUyYTBlZGQ0ZDgzOGI0YmY1YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0ZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0ZUJhc2UuY3BwCkBAIC0yOSw3ICsyOSw2
IEBACiAjaWYgRU5BQkxFKFZJREVPKQogCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1ZGUg
PHd0Zi9Mb2dnZXJIZWxwZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNhbXBsZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oCmluZGV4IGQwM2NkYzhkZDYyNTQxNjA5
OWE1MzcxMzVlZTExZWM5MTA3MzZhMDIuLjU0NWYwYmUxYzUwY2JmZTQxNzAxODAzNTZmODhjZTNj
NTUyYzg2ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5o
CkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGl4ZWxCdWZm
ZXI7CiAKLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyA6IHB1YmxpYyBN
ZWRpYVNhbXBsZSB7CitjbGFzcyBNZWRpYVNhbXBsZUFWRk9iakMgOiBwdWJsaWMgTWVkaWFTYW1w
bGUgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPiBjcmVhdGUo
Q01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCB1aW50NjRfdCB0cmFja0lEKSB7IHJldHVybiBhZG9w
dFJlZigqbmV3IE1lZGlhU2FtcGxlQVZGT2JqQyhzYW1wbGUsIHRyYWNrSUQpKTsgfQogICAgIHN0
YXRpYyBSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPiBjcmVhdGUoQ01TYW1wbGVCdWZmZXJSZWYgc2Ft
cGxlLCBBdG9tU3RyaW5nIHRyYWNrSUQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFTYW1w
bGVBVkZPYmpDKHNhbXBsZSwgdHJhY2tJRCkpOyB9CkBAIC00NCw3ICs0NCw3IEBAIHB1YmxpYzoK
ICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRBc0Rpc3BsYXlJbW1lZGlhdGVseShN
ZWRpYVNhbXBsZSYpOwogICAgIHN0YXRpYyBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IGNs
b25lU2FtcGxlQnVmZmVyQW5kU2V0QXNEaXNwbGF5SW1tZWRpYXRlbHkoQ01TYW1wbGVCdWZmZXJS
ZWYpOwogCi0gICAgUmVmUHRyPEpTQzo6VWludDhDbGFtcGVkQXJyYXk+IGdldFJHQkFJbWFnZURh
dGEoKSBjb25zdCBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8SlNDOjpVaW50
OENsYW1wZWRBcnJheT4gZ2V0UkdCQUltYWdlRGF0YSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAg
TWVkaWFUaW1lIHByZXNlbnRhdGlvblRpbWUoKSBjb25zdCBvdmVycmlkZTsKICAgICBNZWRpYVRp
bWUgZGVjb2RlVGltZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNTksMTYgKzU5LDE2IEBAIHB1Ymxp
YzoKICAgICBTYW1wbGVGbGFncyBmbGFncygpIGNvbnN0IG92ZXJyaWRlOwogICAgIFBsYXRmb3Jt
U2FtcGxlIHBsYXRmb3JtU2FtcGxlKCkgb3ZlcnJpZGU7CiAgICAgc3RkOjpvcHRpb25hbDxCeXRl
UmFuZ2U+IGJ5dGVSYW5nZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQgZHVtcChQcmludFN0
cmVhbSYpIGNvbnN0IG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZHVtcChQcmlu
dFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgb2Zmc2V0VGltZXN0YW1wc0J5KGNv
bnN0IE1lZGlhVGltZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0VGltZXN0YW1wcyhjb25zdCBN
ZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZTsKLSAgICBib29sIGlzRGl2aXNh
YmxlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgc3RkOjpwYWlyPFJlZlB0cjxNZWRpYVNhbXBsZT4s
IFJlZlB0cjxNZWRpYVNhbXBsZT4+IGRpdmlkZShjb25zdCBNZWRpYVRpbWUmIHByZXNlbnRhdGlv
blRpbWUsIFVzZUVuZFRpbWUpIG92ZXJyaWRlOwotICAgIFJlZjxNZWRpYVNhbXBsZT4gY3JlYXRl
Tm9uRGlzcGxheWluZ0NvcHkoKSBjb25zdCBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIGlzRGl2aXNhYmxlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgc3Rk
OjpwYWlyPFJlZlB0cjxNZWRpYVNhbXBsZT4sIFJlZlB0cjxNZWRpYVNhbXBsZT4+IGRpdmlkZShj
b25zdCBNZWRpYVRpbWUmIHByZXNlbnRhdGlvblRpbWUsIFVzZUVuZFRpbWUpIG92ZXJyaWRlOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFJlZjxNZWRpYVNhbXBsZT4gY3JlYXRlTm9uRGlzcGxheWluZ0Nv
cHkoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIFZpZGVvUm90YXRpb24gdmlkZW9Sb3RhdGlvbigp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fcm90YXRpb247IH0KICAgICBib29sIHZpZGVvTWly
cm9yZWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX21pcnJvcmVkOyB9Ci0gICAgdWludDMy
X3QgdmlkZW9QaXhlbEZvcm1hdCgpIGNvbnN0IGZpbmFsOworICAgIFdFQkNPUkVfRVhQT1JUIHVp
bnQzMl90IHZpZGVvUGl4ZWxGb3JtYXQoKSBjb25zdCBmaW5hbDsKIAogICAgIENNU2FtcGxlQnVm
ZmVyUmVmIHNhbXBsZUJ1ZmZlcigpIGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxlLmdldCgpOyB9CiAK
QEAgLTc4LDM0ICs3OCwxNSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRCeXRlUmFuZ2VPZmZzZXQo
c2l6ZV90KTsKIAogcHJvdGVjdGVkOgotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhSZXRhaW5QdHI8
Q01TYW1wbGVCdWZmZXJSZWY+JiYgc2FtcGxlKQotICAgICAgICA6IG1fc2FtcGxlKFdURk1vdmUo
c2FtcGxlKSkKLSAgICB7Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1
ZmZlclJlZiBzYW1wbGUpCi0gICAgICAgIDogbV9zYW1wbGUoc2FtcGxlKQotICAgIHsKLSAgICB9
Ci0gICAgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0
cmluZyB0cmFja0lEKQotICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKLSAgICAgICAgLCBtX2lk
KHRyYWNrSUQpCi0gICAgewotICAgIH0KLSAgICBNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVC
dWZmZXJSZWYgc2FtcGxlLCB1aW50NjRfdCB0cmFja0lEKQotICAgICAgICA6IG1fc2FtcGxlKHNh
bXBsZSkKLSAgICAgICAgLCBtX2lkKEF0b21TdHJpbmc6Om51bWJlcih0cmFja0lEKSkKLSAgICB7
Ci0gICAgfQotICAgIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUs
IFZpZGVvUm90YXRpb24gcm90YXRpb24sIGJvb2wgbWlycm9yZWQpCi0gICAgICAgIDogbV9zYW1w
bGUoc2FtcGxlKQotICAgICAgICAsIG1fcm90YXRpb24ocm90YXRpb24pCi0gICAgICAgICwgbV9t
aXJyb3JlZChtaXJyb3JlZCkKLSAgICB7Ci0gICAgfQorICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlh
U2FtcGxlQVZGT2JqQyhSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+JiYpOworICAgIFdFQkNP
UkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZik7CisgICAgV0VC
Q09SRV9FWFBPUlQgTWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmLCBBdG9tU3Ry
aW5nIHRyYWNrSUQpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhU2FtcGxlQVZGT2JqQyhDTVNh
bXBsZUJ1ZmZlclJlZiwgdWludDY0X3QgdHJhY2tJRCk7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVk
aWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmLCBWaWRlb1JvdGF0aW9uLCBib29sIG1p
cnJvcmVkKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5NZWRpYVNhbXBsZUFWRk9iakMo
KTsKIAogICAgIHN0ZDo6b3B0aW9uYWw8TWVkaWFTYW1wbGU6OkJ5dGVSYW5nZT4gYnl0ZVJhbmdl
Rm9yQXR0YWNobWVudChDRlN0cmluZ1JlZiBrZXkpIGNvbnN0OwogCi0gICAgdmlydHVhbCB+TWVk
aWFTYW1wbGVBVkZPYmpDKCkgPSBkZWZhdWx0OwogICAgIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZl
clJlZj4gbV9zYW1wbGU7CiAgICAgQXRvbVN0cmluZyBtX2lkOwogICAgIFZpZGVvUm90YXRpb24g
bV9yb3RhdGlvbiB7IFZpZGVvUm90YXRpb246Ok5vbmUgfTsKQEAgLTExMyw0ICs5NCwzIEBAIHBy
b3RlY3RlZDoKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1w
bGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tCmluZGV4IGMwZjEzZDZlYTVjOTc1NzY3Y2U4
ZjYyYWI2ODQyZDdkNmYwZmJiNmIuLmNmM2MzNDEwYTM4YWRlYzQ5NTdjOTcxNDJiMzI0MjI0ZDVh
ZmQ4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0K
QEAgLTQ1LDYgKzQ1LDMzIEBAIHN0cnVjdCBXVEY6OkNGVHlwZVRyYWl0PENNU2FtcGxlQnVmZmVy
UmVmPiB7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorTWVkaWFTYW1wbGVBVkZPYmpDOjpNZWRp
YVNhbXBsZUFWRk9iakMoUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiYmIHNhbXBsZSkKKyAg
ICA6IG1fc2FtcGxlKFdURk1vdmUoc2FtcGxlKSkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6
TWVkaWFTYW1wbGVBVkZPYmpDKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSkKKyAgICA6IG1fc2Ft
cGxlKHNhbXBsZSkKK3sKK30KK01lZGlhU2FtcGxlQVZGT2JqQzo6TWVkaWFTYW1wbGVBVkZPYmpD
KENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgQXRvbVN0cmluZyB0cmFja0lEKQorICAgIDogbV9z
YW1wbGUoc2FtcGxlKQorICAgICwgbV9pZCh0cmFja0lEKQoreworfQorTWVkaWFTYW1wbGVBVkZP
YmpDOjpNZWRpYVNhbXBsZUFWRk9iakMoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLCB1aW50NjRf
dCB0cmFja0lEKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV9pZChBdG9tU3RyaW5n
OjpudW1iZXIodHJhY2tJRCkpCit7Cit9CitNZWRpYVNhbXBsZUFWRk9iakM6Ok1lZGlhU2FtcGxl
QVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIFZpZGVvUm90YXRpb24gcm90YXRpb24s
IGJvb2wgbWlycm9yZWQpCisgICAgOiBtX3NhbXBsZShzYW1wbGUpCisgICAgLCBtX3JvdGF0aW9u
KHJvdGF0aW9uKQorICAgICwgbV9taXJyb3JlZChtaXJyb3JlZCkKK3sKK30KKworTWVkaWFTYW1w
bGVBVkZPYmpDOjp+TWVkaWFTYW1wbGVBVkZPYmpDKCkgPSBkZWZhdWx0OworCiBSZWZQdHI8TWVk
aWFTYW1wbGVBVkZPYmpDPiBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUltYWdlU2FtcGxlKFBp
eGVsQnVmZmVyJiYgcGl4ZWxCdWZmZXIpCiB7CiAgICAgYXV0byBzaXplID0gcGl4ZWxCdWZmZXIu
c2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCmluZGV4IDhl
ZWYzYjJlYTYwNGJkMTk4M2Q3N2QzOGJmNTIxYThkMjFmMjBlZDAuLmQxYzg0NDg4MzY3NDBmZGI3
NWM0MGFjOTNmN2RkMDlkNzhmMDMwMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lv
blNlc3Npb24ubW0KQEAgLTMxLDEwICszMSwxMCBAQAogI2ltcG9ydCA8Q29yZU1lZGlhL0NNQnVm
ZmVyUXVldWUuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERlc2NyaXB0aW9uLmg+CiAj
aW1wb3J0IDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgotI2ltcG9y
dCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5o
PgogI2ltcG9ydCA8d3RmL01lZGlhVGltZS5oPgogI2ltcG9ydCA8d3RmL01vbm90b25pY1RpbWUu
aD4KKyNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJl
YW0uaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi9XVEZTZW1hcGhvcmUu
aD4KQEAgLTQyLDYgKzQyLDcgQEAKIAogI2ltcG9ydCAiQ29yZVZpZGVvU29mdExpbmsuaCIKICNp
bXBvcnQgIlZpZGVvVG9vbGJveFNvZnRMaW5rLmgiCisjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaD4KIAogLy8gRXF1aXZhbGVudCB0byBXVEZfREVDTEFSRV9DRl9UWVBFX1RSQUlU
KENNU2FtcGxlQnVmZmVyKTsKIC8vIE5lZWRlZCBkdWUgdG8gcmVxdWlyZW1lbnQgb2Ygc3BlY2lm
eWluZyB0aGUgUEFMIG5hbWVzcGFjZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5oCmlu
ZGV4IGZlY2U4MTI5YmQ3ZjdmZGVkNmE4MDRiYTUyZjc5NTI2MWZlNjVkMzAuLjg3MTA0ZDhiN2Iz
NTdjMTYwYjZkY2NjNDFiZmUxZjg5ZTBhNmMyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVz
Q29jb2EuaApAQCAtMzQsNyArMzQsOCBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBvcGFxdWVDTUZv
cm1hdERlc2NyaXB0aW9uKiBDTUZvcm1hdERlc2NyaXB0aW9uUmVmOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWJvb2wgaXNWb3JiaXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9S
VCBib29sIGlzVm9yYmlzRGVjb2RlckF2YWlsYWJsZSgpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBy
ZWdpc3RlclZvcmJpc0RlY29kZXJJZk5lZWRlZCgpOwogUmV0YWluUHRyPENNRm9ybWF0RGVzY3Jp
cHRpb25SZWY+IGNyZWF0ZVZvcmJpc0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oc2l6ZV90LCBjb25z
dCB2b2lkKik7CiAKIHN0cnVjdCBPcHVzQ29va2llQ29udGVudHMgewpAQCAtNTIsNyArNTMsOCBA
QCBzdHJ1Y3QgT3B1c0Nvb2tpZUNvbnRlbnRzIHsKICAgICBib29sIGhhc1BhZGRpbmcgeyBmYWxz
ZSB9OwogfTsKIAotYm9vbCBpc09wdXNEZWNvZGVyQXZhaWxhYmxlKCk7CitXRUJDT1JFX0VYUE9S
VCBib29sIGlzT3B1c0RlY29kZXJBdmFpbGFibGUoKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcmVn
aXN0ZXJPcHVzRGVjb2RlcklmTmVlZGVkKCk7CiBib29sIHBhcnNlT3B1c1ByaXZhdGVEYXRhKHNp
emVfdCBwcml2YXRlRGF0YVNpemUsIGNvbnN0IHZvaWQqIHByaXZhdGVEYXRhLCBzaXplX3QgZnJh
bWVEYXRhU2l6ZSwgY29uc3Qgdm9pZCogZnJhbWVEYXRhLCBPcHVzQ29va2llQ29udGVudHMmKTsK
IFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVPcHVzQXVkaW9Gb3JtYXRE
ZXNjcmlwdGlvbihjb25zdCBPcHVzQ29va2llQ29udGVudHMmKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTUF1ZGlvVXRpbGl0aWVzQ29j
b2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9V
dGlsaXRpZXNDb2NvYS5tbQppbmRleCAwNmJkNDhhZTBkM2Q2OTEyNTBiOGEyNzU3ZDAyNTZkNDQ4
NTlmY2M0Li4wZTFlYjFiNzk4YTNjN2VhNjdlYWI3NWJhMzZlNTg1YWRkOGMxMGEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNQXVkaW9VdGls
aXRpZXNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJNQXVkaW9VdGlsaXRpZXNDb2NvYS5tbQpAQCAtMzIsMjIgKzMyLDI4IEBACiAjaW1wb3J0
ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJNZWRpYVV0aWxpdGllcy5oIgogI2ltcG9ydCAiUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCisjaW1wb3J0IDxBdWRpb1Rvb2xib3gvQXVkaW9Db2Rl
Yy5oPgogI2ltcG9ydCA8QXVkaW9Ub29sYm94L0F1ZGlvQ29tcG9uZW50Lmg+CiAjaW1wb3J0IDxB
dWRpb1Rvb2xib3gvQXVkaW9Gb3JtYXQuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERl
c2NyaXB0aW9uLmg+CiAjaW1wb3J0IDxkbGZjbi5oPgogI2ltcG9ydCA8d3RmL0ZsaXBCeXRlcy5o
PgogI2ltcG9ydCA8d3RmL1NlY29uZHMuaD4KLQogI2lmIEVOQUJMRShPUFVTKQogI2ltcG9ydCA8
bGlid2VicnRjL29wdXNfZGVmaW5lcy5oPgogI2VuZGlmCisjaW1wb3J0IDxwYWwvY2YvQXVkaW9U
b29sYm94U29mdExpbmsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgRU5BQkxFKFZP
UkJJUykgfHwgRU5BQkxFKE9QVVMpCiBzdGF0aWMgYm9vbCByZWdpc3RlckRlY29kZXJGYWN0b3J5
KGNvbnN0IGNoYXIqIGRlY29kZXJOYW1lLCBPU1R5cGUgZGVjb2RlclR5cGUpCiB7CisgICAgQXVk
aW9Db21wb25lbnREZXNjcmlwdGlvbiBkZXNjIHsga0F1ZGlvRGVjb2RlckNvbXBvbmVudFR5cGUs
IGRlY29kZXJUeXBlLCAnYXBwbCcsIGtBdWRpb0NvbXBvbmVudEZsYWdfU2FuZGJveFNhZmUsIDAg
fTsKKyAgICBBdWRpb0NvbXBvbmVudCBjb21wID0gUEFMOjpBdWRpb0NvbXBvbmVudEZpbmROZXh0
KDAsICZkZXNjKTsKKyAgICBpZiAoY29tcCkKKyAgICAgICAgcmV0dXJuIHRydWU7IC8vIEFscmVh
ZHkgcmVnaXN0ZXJlZC4KKwogICAgIGNvbnN0ZXhwciBjaGFyIGF1ZGlvQ29tcG9uZW50c0R5bGli
W10gPSAiL1N5c3RlbS9MaWJyYXJ5L0NvbXBvbmVudHMvQXVkaW9Db2RlY3MuY29tcG9uZW50L0Nv
bnRlbnRzL01hY09TL0F1ZGlvQ29kZWNzIjsKICAgICB2b2lkICpoYW5kbGUgPSBkbG9wZW4oYXVk
aW9Db21wb25lbnRzRHlsaWIsIFJUTERfTEFaWSB8IFJUTERfTE9DQUwpOwogICAgIGlmICghaGFu
ZGxlKQpAQCAtNTcsNyArNjMsNiBAQCBzdGF0aWMgYm9vbCByZWdpc3RlckRlY29kZXJGYWN0b3J5
KGNvbnN0IGNoYXIqIGRlY29kZXJOYW1lLCBPU1R5cGUgZGVjb2RlclR5cGUpCiAgICAgaWYgKCFk
ZWNvZGVyRmFjdG9yeSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgQXVkaW9Db21wb25l
bnREZXNjcmlwdGlvbiBkZXNjIHsgJ2FkZWMnLCBkZWNvZGVyVHlwZSwgJ2FwcGwnLCBrQXVkaW9D
b21wb25lbnRGbGFnX1NhbmRib3hTYWZlLCAwIH07CiAgICAgaWYgKCFBdWRpb0NvbXBvbmVudFJl
Z2lzdGVyKCZkZXNjLCBDRlNUUigiIiksIDAsIGRlY29kZXJGYWN0b3J5KSkgewogICAgICAgICBk
bGNsb3NlKGhhbmRsZSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTcxLDcgKzc2LDcgQEAg
c3RhdGljIFJldGFpblB0cjxDTUZvcm1hdERlc2NyaXB0aW9uUmVmPiBjcmVhdGVBdWRpb0Zvcm1h
dERlc2NyaXB0aW9uRm9yRm9ybWF0KE8KICAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24g
YXNiZCB7IH07CiAgICAgYXNiZC5tRm9ybWF0SUQgPSBmb3JtYXRJRDsKICAgICB1aW50MzJfdCBz
aXplID0gc2l6ZW9mKGFzYmQpOwotICAgIGF1dG8gZXJyb3IgPSBBdWRpb0Zvcm1hdEdldFByb3Bl
cnR5KGtBdWRpb0Zvcm1hdFByb3BlcnR5X0Zvcm1hdEluZm8sIG1hZ2ljQ29va2llLnNpemUoKSwg
bWFnaWNDb29raWUuZGF0YSgpLCAmc2l6ZSwgJmFzYmQpOworICAgIGF1dG8gZXJyb3IgPSBQQUw6
OkF1ZGlvRm9ybWF0R2V0UHJvcGVydHkoa0F1ZGlvRm9ybWF0UHJvcGVydHlfRm9ybWF0SW5mbywg
bWFnaWNDb29raWUuc2l6ZSgpLCBtYWdpY0Nvb2tpZS5kYXRhKCksICZzaXplLCAmYXNiZCk7CiAg
ICAgaWYgKGVycm9yKSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAiY3JlYXRl
QXVkaW9Gb3JtYXREZXNjcmlwdGlvbkZvckZvcm1hdCBmYWlsZWQgd2l0aCBlcnJvciAlZCAoJS40
cykiLCBlcnJvciwgKGNoYXIgKikmZXJyb3IpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAg
LTMyNiwxOSArMzMxLDMwIEBAIHN0YXRpYyBWZWN0b3I8dWludDhfdD4gY29va2llRnJvbU9wdXND
b29raWVDb250ZW50cyhjb25zdCBPcHVzQ29va2llQ29udGVudHMmIGNvCiAKIGJvb2wgaXNPcHVz
RGVjb2RlckF2YWlsYWJsZSgpCiB7Ci0gICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwotCiAjaWYg
RU5BQkxFKE9QVVMpICYmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIVBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6b3B1c0RlY29kZXJFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAorICAgIHJldHVybiByZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgcmVnaXN0ZXJPcHVzRGVjb2RlcklmTmVl
ZGVkKCkKK3sKKyNpZiBFTkFCTEUoT1BVUykgJiYgUExBVEZPUk0oTUFDKQorICAgIHN0YXRpYyBi
b29sIGF2YWlsYWJsZTsKKwogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOwog
ICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKLSAgICAgICAgYXZhaWxhYmxlID0gcmVn
aXN0ZXJEZWNvZGVyRmFjdG9yeSgiQUNPcHVzRGVjb2RlckZhY3RvcnkiLCAnb3B1cycpOworICAg
ICAgICBhdmFpbGFibGUgPSByZWdpc3RlckRlY29kZXJGYWN0b3J5KCJBQ09wdXNEZWNvZGVyRmFj
dG9yeSIsIGtBdWRpb0Zvcm1hdE9wdXMpOwogICAgIH0pOwotI2VuZGlmCiAKICAgICByZXR1cm4g
YXZhaWxhYmxlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogUmV0YWlu
UHRyPENNRm9ybWF0RGVzY3JpcHRpb25SZWY+IGNyZWF0ZU9wdXNBdWRpb0Zvcm1hdERlc2NyaXB0
aW9uKGNvbnN0IE9wdXNDb29raWVDb250ZW50cyYgY29va2llQ29udGVudHMpCkBAIC00MTgsMTkg
KzQzNCwzMCBAQCBzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGNvb2tpZUZyb21Wb3JiaXNDb2RlY1By
aXZhdGUoc2l6ZV90IGNvZGVjUHJpdmF0ZVNpemUsIGNvbgogCiBib29sIGlzVm9yYmlzRGVjb2Rl
ckF2YWlsYWJsZSgpCiB7Ci0gICAgc3RhdGljIGJvb2wgYXZhaWxhYmxlOwotCiAjaWYgRU5BQkxF
KFZPUkJJUykgJiYgUExBVEZPUk0oTUFDKQogICAgIGlmICghUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjp2b3JiaXNEZWNvZGVyRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
KyAgICByZXR1cm4gcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgcmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZO
ZWVkZWQoKQoreworI2lmIEVOQUJMRShWT1JCSVMpICYmIFBMQVRGT1JNKE1BQykKKyAgICBzdGF0
aWMgYm9vbCBhdmFpbGFibGU7CisKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tl
bjsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CiAgICAgICAgIGF2YWlsYWJsZSA9
IHJlZ2lzdGVyRGVjb2RlckZhY3RvcnkoIkFDVm9yYmlzRGVjb2RlckZhY3RvcnkiLCAndm9yYicp
OwogICAgIH0pOwotI2VuZGlmCiAKICAgICByZXR1cm4gYXZhaWxhYmxlOworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogUmV0YWluUHRyPENNRm9ybWF0RGVzY3JpcHRpb25S
ZWY+IGNyZWF0ZVZvcmJpc0F1ZGlvRm9ybWF0RGVzY3JpcHRpb24oc2l6ZV90IHByaXZhdGVEYXRh
U2l6ZSwgY29uc3Qgdm9pZCogcHJpdmF0ZURhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBwbGV0dm9zLnBsaXN0IGIvU291cmNlL1dlYktpdC9GZWF0
dXJlRmxhZ3MvV2ViS2l0LWFwcGxldHZvcy5wbGlzdAppbmRleCBhZTRlZTQ1N2EyMTMxMzM4ZjZh
NWI3NWVkNzVmNjM2ZjNhMGY1MjYwLi5mMWI0YWFhZWUwYjE3MTQ3ZDM2NWZjMWUyYmY3NzYzMDk4
YjI3YTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtYXBw
bGV0dm9zLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1hcHBs
ZXR2b3MucGxpc3QKQEAgLTg3LDYgKzg3LDExIEBACiAgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5
PgogICAgICAgICA8dHJ1ZS8+CiAgICAgPC9kaWN0PgorICAgIDxrZXk+d2VibV93ZWJhdWRpbzwv
a2V5PgorICAgIDxkaWN0PgorICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KKyAgICAgICAgPHRy
dWUvPgorICAgIDwvZGljdD4KICAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5
PgogICAgIDxkaWN0PgogICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0
L0ZlYXR1cmVGbGFncy9XZWJLaXQtaW9zLnBsaXN0CmluZGV4IDYyMWM5MjE2NmM4OTJjYjU0MWNm
YTc2YjYyMzgxNTY2OGExZWMyNzcuLjUwZDAzY2ZiZDc0MTc1OGRhOTNkZjI2ZWY4ODgzMjhmNzQ0
ZGUzNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1pb3Mu
cGxpc3QKKysrIGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LWlvcy5wbGlzdApA
QCAtODcsNiArODcsMTEgQEAKICAgICAgICAgPGtleT5FbmFibGVkPC9rZXk+CiAgICAgICAgIDx0
cnVlLz4KICAgICA8L2RpY3Q+CisgICAgPGtleT53ZWJtX3dlYmF1ZGlvPC9rZXk+CisgICAgPGRp
Y3Q+CisgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgorICAgICAgICA8dHJ1ZS8+CisgICAgPC9k
aWN0PgogICAgIDxrZXk+UkJfZnVsbF9tYW5hZ2VfV0tfamV0c2FtPC9rZXk+CiAgICAgPGRpY3Q+
CiAgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9G
ZWF0dXJlRmxhZ3MvV2ViS2l0LW1hY29zLnBsaXN0IGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxh
Z3MvV2ViS2l0LW1hY29zLnBsaXN0CmluZGV4IDYyMWM5MjE2NmM4OTJjYjU0MWNmYTc2YjYyMzgx
NTY2OGExZWMyNzcuLjUwZDAzY2ZiZDc0MTc1OGRhOTNkZjI2ZWY4ODgzMjhmNzQ0ZGUzNmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRmVhdHVyZUZsYWdzL1dlYktpdC1tYWNvcy5wbGlzdAor
KysgYi9Tb3VyY2UvV2ViS2l0L0ZlYXR1cmVGbGFncy9XZWJLaXQtbWFjb3MucGxpc3QKQEAgLTg3
LDYgKzg3LDExIEBACiAgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgogICAgICAgICA8dHJ1ZS8+
CiAgICAgPC9kaWN0PgorICAgIDxrZXk+d2VibV93ZWJhdWRpbzwva2V5PgorICAgIDxkaWN0Pgor
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KKyAgICAgICAgPHRydWUvPgorICAgIDwvZGljdD4K
ICAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgogICAgIDxkaWN0PgogICAg
ICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRmVhdHVy
ZUZsYWdzL1dlYktpdC13YXRjaG9zLnBsaXN0IGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3Mv
V2ViS2l0LXdhdGNob3MucGxpc3QKaW5kZXggYWU0ZWU0NTdhMjEzMTMzOGY2YTViNzVlZDc1ZjYz
NmYzYTBmNTI2MC4uZjFiNGFhYWVlMGIxNzE0N2QzNjVmYzFlMmJmNzc2MzA5OGIyN2EzYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3QK
KysrIGIvU291cmNlL1dlYktpdC9GZWF0dXJlRmxhZ3MvV2ViS2l0LXdhdGNob3MucGxpc3QKQEAg
LTg3LDYgKzg3LDExIEBACiAgICAgICAgIDxrZXk+RW5hYmxlZDwva2V5PgogICAgICAgICA8dHJ1
ZS8+CiAgICAgPC9kaWN0PgorICAgIDxrZXk+d2VibV93ZWJhdWRpbzwva2V5PgorICAgIDxkaWN0
PgorICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KKyAgICAgICAgPHRydWUvPgorICAgIDwvZGlj
dD4KICAgICA8a2V5PlJCX2Z1bGxfbWFuYWdlX1dLX2pldHNhbTwva2V5PgogICAgIDxkaWN0Pgog
ICAgICAgICA8a2V5PkVuYWJsZWQ8L2tleT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9j
ZXNzLmNwcAppbmRleCA0NGJhODg1NTU5ZjExYjEyYjhhODUxZDc2OTkxMzI5ZDNiMTlmZjI4Li41
YTQ5ZmVmMDg5NDgzMjFmNzBjY2NmOTY2ODVhNjU3MjRhOTBhMjVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCkBAIC00NTEsNyArNDUxLDcgQEAgdm9pZCBHUFVQcm9j
ZXNzOjplbmFibGVWUDlEZWNvZGVycyhib29sIHNob3VsZEVuYWJsZVZQOERlY29kZXIsIGJvb2wg
c2hvdWxkRW5hYmwKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgRU5B
QkxFKFZQOSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogdm9pZCBHUFVQcm9jZXNzOjpzZXRX
ZWJNUGFyc2VyRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgaWYgKG1fd2ViTVBhcnNlckVu
YWJsZWQgPT0gZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCmluZGV4
IDQ5YzNkNzcxYmYxNzRkOGY5ZmRjYzhkMjQxYjMxMDc2YjBjNWI2YWYuLjU2ZGJmZTQ3YzI3OGNi
ZWY0ZGQ1OTk5ZDU1N2M4Yjg1NjViYzYyYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MuaApAQCAtMTQxLDcgKzE0MSw3IEBAIHByaXZhdGU6CiAgICAgUmV0YWluUHRyPE5TRGlj
dGlvbmFyeT4gYWRkaXRpb25hbFN0YXRlRm9yRGlhZ25vc3RpY1JlcG9ydCgpIGNvbnN0IGZpbmFs
OwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5KQorI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgdm9pZCBzZXRXZWJNUGFyc2VyRW5hYmxlZChib29s
KTsKICNlbmRpZgogCkBAIC0xOTQsNyArMTk0LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fZW5h
YmxlVlA5RGVjb2RlciB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2VuYWJsZVZQOVNXRGVjb2RlciB7
IGZhbHNlIH07CiAjZW5kaWYKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFCTEUoVlA5
KQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgYm9vbCBtX3dlYk1QYXJzZXJFbmFibGVk
IHsgZmFsc2UgfTsKICNlbmRpZgogI2lmIEVOQUJMRShXRUJNX0ZPUk1BVF9SRUFERVIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDY5
MWRhNzhkMmNmOTMyOGVhNzllMjRjMmQ2NDYyMDAzNmI1ZTQyNDkuLjRmMDE5NjU0M2EzZDA1OGUw
MTZjMzk2NmVkYTE2NDdmYTYxYmJiMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC01MSw3ICs1MSw3IEBAIG1lc3NhZ2VzIC0+IEdQ
VVByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIERpc3BsYXlDb25maWd1cmF0aW9uQ2hhbmdl
ZChDR0RpcmVjdERpc3BsYXlJRCBkaXNwbGF5SUQsIENHRGlzcGxheUNoYW5nZVN1bW1hcnlGbGFn
cyBmbGFncykKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgRU5BQkxFKFZQ
OSkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIFNldFdlYk1QYXJzZXJFbmFibGVkKGJv
b2wgZW5hYmxlZCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKaW5kZXggMmJhNjI4NzNmMzJiMzFjMDM2OWEx
YTUxNGZmMWNiMDM4OTI0ZWI3My4uOTcyYmYxYmY3NDIzNDBkZTExODkwNzQ3ODEzNjg4YzE1ZGM0
YzcyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZh
dWx0VmFsdWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0Rl
ZmF1bHRWYWx1ZXMuY3BwCkBAIC0zMzIsNiArMzMyLDE1IEBAIGJvb2wgZGVmYXVsdFdlYk1QYXJz
ZXJFbmFibGVkKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBkZWZhdWx0V2ViTVdlYkF1
ZGlvRW5hYmxlZCgpCit7CisjaWYgSEFWRShTWVNURU1fRkVBVFVSRV9GTEFHUykKKyAgICByZXR1
cm4gaXNGZWF0dXJlRmxhZ0VuYWJsZWQoIndlYm1fd2ViYXVkaW8iKTsKKyNlbmRpZgorCisgICAg
cmV0dXJuIGZhbHNlOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NPVVJDRSkKIAogI2lm
IEVOQUJMRShNRURJQV9TRVNTSU9OX0NPT1JESU5BVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmggYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCAzNWEyZjZmZGRkNzU1
NDdlNjQ3OGFhMTY5ZmUwZmI5MjhjNGIxYTQ4Li44YjM1M2MwZjBlOTU1ZWU5MDJjOTE0ZWU2ZGY5
ZjAxZTY2YmM1YzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlc0RlZmF1bHRWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlc0RlZmF1bHRWYWx1ZXMuaApAQCAtMTExLDYgKzExMSw3IEBAIGJvb2wgZGVmYXVsdFZQOVNX
RGVjb2RlckVuYWJsZWRPbkJhdHRlcnkoKTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiBi
b29sIGRlZmF1bHRXZWJNUGFyc2VyRW5hYmxlZCgpOworYm9vbCBkZWZhdWx0V2ViTVdlYkF1ZGlv
RW5hYmxlZCgpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTl9DT09SRElOQVRP
UikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
cm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW0KaW5kZXggZWY1NTE4YWFkYjAyZDViZjVjYmYxNjdlMTI0MDdlZTkwNzQ3MTVl
Ny4uZWIyY2Q4MjZkMzczYWU1YWQ5ODM0MDM1OGJkOWNmYWIyOGRiNGMzZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0K
QEAgLTM4LDYgKzM4LDcgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9y
dCAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1dlYk1BdWRpb1V0aWxpdGllc0NvY29hLmg+CiAj
aW1wb3J0IDxzeXMvc3lzY3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNp
bXBvcnQgPHd0Zi9TY29wZS5oPgpAQCAtMjk1LDYgKzI5Niw5IEBAIHZvaWQgV2ViUHJvY2Vzc1By
b3h5OjpzZW5kQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKCkKIAogICAgIGRpc3BhdGNoX2Fz
eW5jKGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJT1JJVFlfREVG
QVVMVCwgMCksIFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldICgpIG11dGFibGUgewog
ICAgICAgICBDRkRhdGFSZWYgcmVnaXN0cmF0aW9ucyB7IG51bGxwdHIgfTsKKworICAgICAgICBX
ZWJDb3JlOjpyZWdpc3Rlck9wdXNEZWNvZGVySWZOZWVkZWQoKTsKKyAgICAgICAgV2ViQ29yZTo6
cmVnaXN0ZXJWb3JiaXNEZWNvZGVySWZOZWVkZWQoKTsKICAgICAgICAgaWYgKG5vRXJyICE9IEF1
ZGlvQ29tcG9uZW50RmV0Y2hTZXJ2ZXJSZWdpc3RyYXRpb25zKCZyZWdpc3RyYXRpb25zKSB8fCAh
cmVnaXN0cmF0aW9ucykKICAgICAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLmgKaW5kZXggYTU5Mjk3YWYzZmRhNTVjZjUzZDlkOTA4MWFiOTk3YzRmN2JlNTQ5Yy4uNzFh
Y2Q4MDg4NjgzNTlmZTE2ODFiNzA0ZGE1ZWE1MDc5ZTM2NDk2MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVs
dFZhbHVlcy5oCkBAIC04Nyw2ICs4Nyw3IEBAIGJvb2wgZGVmYXVsdFdoZWVsRXZlbnRHZXN0dXJl
c0JlY29tZU5vbkJsb2NraW5nKCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogYm9vbCBk
ZWZhdWx0V2ViTVBhcnNlckVuYWJsZWQoKTsKK2Jvb2wgZGVmYXVsdFdlYk1XZWJBdWRpb0VuYWJs
ZWQoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFZQOSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLm1tIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMu
bW0KaW5kZXggMzUyZmRjNWUxOGFmMmM1OGI0MmZlNGUwZTdjZjY3MzcxZDY4Y2U2Yy4uMTZjNTk3
MjI5MTk3MWYxOTkxYzQwYWVhODFkMGZmYmQ2ZjY1OWQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0KKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMubW0KQEAgLTI5OCw2ICsyOTgsMTUgQEAgYm9vbCBkZWZhdWx0V2ViTVBhcnNlckVuYWJs
ZWQoKQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIGRlZmF1bHRXZWJNV2ViQXVkaW9FbmFi
bGVkKCkKK3sKKyNpZiBIQVZFKFNZU1RFTV9GRUFUVVJFX0ZMQUdTKQorICAgIHJldHVybiBpc0Zl
YXR1cmVGbGFnRW5hYmxlZCgid2VibV93ZWJhdWRpbyIpOworI2VuZGlmCisKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU09VUkNFKQogCiAjaWYgRU5BQkxF
KFZQOSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCBlZjA3ZjJlZjVmN2MzNGI2NDI4NmY3NTA2Yzg1OWI5NTkxYTQ3ZWE2Li5i
N2Q4MjRiZjI1MmEzODJlOWZkYzllMDAwYjBhZTE2ODVkOTQ5MGRjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTggQEAKKzIwMjEtMDctMjEgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbV2ViQXVkaW9dIEFkZCB3ZWJtL29wdXMgY29udGFpbmVyIHN1cHBvcnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzExMAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNzk0MzcwNjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmVyIE5v
YmxlLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6IE9ubHkgZW5h
YmxlIHRlc3Qgb24gbWFjT1MgTW9udGVyZXkKKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVk
aW8tZGF0YS1iYXNpYy5odG1sOiBmaXggd2hpdGVzcGFjZQorICAgICAgICAqIHdlYmF1ZGlvL2Rl
Y29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0tb3B1cy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJtOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvdm9yYmlzLndlYm06IEFkZGVkLgorCiAyMDIxLTA3
LTI2ICBFcmljIEh1dGNoaXNvbiAgPGVodXRjaGlzb25AYXBwbGUuY29tPgogCiAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY29waW5nL2Nzcy1zY29waW5n
LXNoYWRvdy1keW5hbWljLXJlbW92ZS1zdHlsZS1kZXRhY2hlZC5odG1sIGlzIGEgZmxha3kgZmFp
bHVyZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMDFm
NzhjN2JlN2U2Mzc0ZWQxODRiMWU1NTIxMzM1MTBkY2I4YzY3Yy4uZjIyMjE4ZmQ2YmJhOTRmMzI0
YmNhZWIzOWVlYjQ4OWQ2OTY4ZjE2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTE3NjcsNiArMTc2Nyw3IEBAIHdlYmtpdC5vcmcvYi8yMTQxNTUgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1w
CiBbIENhdGFsaW5hIE1vamF2ZSBCaWdTdXIgXSBtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291
cmNlLXdlYm0tdm9yYmlzLXBhcnRpYWwuaHRtbCBbIFNraXAgXQogWyBDYXRhbGluYSBNb2phdmUg
QmlnU3VyIF0gbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXdlYm0tb3B1cy1wYXJ0aWFsLmh0bWwg
WyBTa2lwIF0KIFsgQ2F0YWxpbmEgTW9qYXZlIEJpZ1N1ciBdIG1lZGlhL21lZGlhLXNvdXJjZS9t
ZWRpYS13ZWJtLW9wdXMtcGFydGlhbC1hYm9ydC5odG1sIFsgU2tpcCBdCitbIENhdGFsaW5hIE1v
amF2ZSBCaWdTdXIgXSB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMuaHRtbCBb
IFNraXAgXQogCiB3ZWJraXQub3JnL2IvMjE0NDIyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW9jb250ZXh0LWludGVyZmFjZS9z
dXNwZW5kLWFmdGVyLWNvbnN0cnVjdC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWwKaW5kZXggYTMz
M2I2NWFhZWY5ZGI2NGVkNTNmY2IwNTYzMWNmYzE1MTQwNTBkMS4uN2YwOGIyOTA1OTJjYzJmMzQ0
ZmE1NjVmYjBkYWE0YjI2NmY4ODI5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8v
ZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9k
ZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sCkBAIC03LDcgKzcsNyBAQAogPGJvZHk+CiA8c2Ny
aXB0PgogZGVzY3JpcHRpb24oIkJhc2ljIHRlc3RzIGZvciBkZWNvZGVBdWRpb0RhdGEgZnVuY3Rp
b24uIik7Ci0gICAgCisKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAogdmFyIGNvbnRl
eHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7CkBAIC0zNCwxOSArMzQsMTkgQEAgZnVuY3Rpb24gcnVu
RGVjb2RlVGVzdChpbmRleCkgewogICAgIHZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0
KCk7CiAgICAgcmVxdWVzdC5vcGVuKCJHRVQiLCBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdLnVybCwg
dHJ1ZSk7CiAgICAgcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAiYXJyYXlidWZmZXIiOwotICAgIAor
CiAgICAgcmVxdWVzdC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgY29udGV4dC5kZWNv
ZGVBdWRpb0RhdGEocmVxdWVzdC5yZXNwb25zZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxi
YWNrKTsKLSAgICAgICAgCisKICAgICAgICAgZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrKCkgewog
ICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VBcnJheVtpbmRleF0ucmVzdWx0KQogICAgICAgICAg
ICAgICAgIHRlc3RQYXNzZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5W2luZGV4XS51cmwgKyAg
IiB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4iKTsKICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaGUgIiArIGRlY29k
ZUNhc2VBcnJheVtpbmRleF0udXJsICsgIiB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgd2FzIG5vdCBj
YWxsZWQuIik7Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgcnVuRGVjb2RlVGVzdCgrK2lu
ZGV4KTsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBmdW5jdGlvbiBlcnJvckNhbGxi
YWNrKCkgewogICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VBcnJheVtpbmRleF0ucmVzdWx0KQog
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5W2luZGV4
XS51cmwgKyAiIHRlc3Q6IGVycm9yQ2FsbGJhY2sgd2FzIGNhbGxlZCBpbmNvcnJlY3RseS4iKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLXdlYm0t
b3B1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0
YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0YmMwMTA4ZDQ0Y2Q1ZjQ3NDZm
Njk5N2U2MGM1ZTQ3MzU2ZmE0ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJh
dWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJtLW9wdXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTAgQEAKK1Rlc3QgdGhhdCBkZWNvZGluZyBhbiBvcHVzIHdlYm0gZmlsZSBzdWNjZWVkcworCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBTdWNjZXNzZnVsbHkgZGVjb2RlZCBj
b250ZW50CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtd2Vi
bS1vcHVzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS13ZWJt
LW9wdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTc3MjgwMTI3MDBhZjNkNjgyNGUyMDkwODVmNGRjZWUz
NzhjNzBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1
ZGlvLWRhdGEtd2VibS1vcHVzLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InJlc291cmNlcy9h
dWRpby10ZXN0aW5nLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCJUZXN0IHRoYXQgZGVjb2RpbmcgYW4gb3B1cyB3ZWJtIGZpbGUgc3VjY2VlZHMi
KTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgY29udGV4dCA9IG5ldyB3
aW5kb3cuQXVkaW9Db250ZXh0KCk7Cit2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgp
OworcmVxdWVzdC5vcGVuKCJHRVQiLCAncmVzb3VyY2VzL21lZGlhL29wdXMud2VibScsIHRydWUp
OworcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAiYXJyYXlidWZmZXIiOworCityZXF1ZXN0Lm9ubG9h
ZCA9IGZ1bmN0aW9uKCkgeworICAgIGNvbnRleHQuZGVjb2RlQXVkaW9EYXRhKHJlcXVlc3QucmVz
cG9uc2UsIChidWZmZXIpID0+IHsKKyAgICAgICAgdGVzdFBhc3NlZCgiU3VjY2Vzc2Z1bGx5IGRl
Y29kZWQgY29udGVudCIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgIH0sICgpID0+
IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiRmFpbGVkIHRvIGRlY29kZSBmaWxlIik7CisgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgfSk7Cit9CityZXF1ZXN0LnNlbmQoKTsKKworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9y
ZXNvdXJjZXMvbWVkaWEvb3B1cy53ZWJtIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2Vz
L21lZGlhL29wdXMud2VibQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODQ5NGNiOTE0YTdkODc0Y2IwMmViMDFkN2Y3
YjYzNTkwMWM5ZDFjCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNTkxMwp6Y21jSiQxOXhPaylX
I2R6Iz5CUjUrblUoNmpnRD5HIz42JXpIWVQ9aENwWjgxejVEPzh0bk9aYFJgb2YoPnNRYS0KelVB
M3pVTXtLKCZQZEYzK0VkMmNRejV7Pj4tdmdrODFCMmE3amNrUihldV5PZzVHPDdkYjZ9d1ZGMX1Z
fXhoJDZzCnp4eX5xK3MkZ2BmM053e3pLKjlmKEZqUS07ZUBnJTRJLWBIO1AqZXhhUmpMRGwxXiYx
QU9Rckx0R0xVY287KHduNQp6cjE/TE9gflR6UEtkVHozU0wlWmhnJDNtVFZxXns3JS1BXlRJb1Jv
JDcjVEgkez1hMz5oO1lGOyReV3Q5S2xBciQKenwxYXhTMEttP307aXhqWGRxUntvYU09Skw7Xnlv
aVMzOHI/UCQ3SzxNS3UtbSR7PUk8ZUQlJj91JVJaUEFPT2cyCnpMTExDNUliODdBO2VRQHhXQzk+
R0U9KkV6YUNNZTZIOGNTUjtSRnVve0dYY3R4Q214QkpPN19RTH1BPClVX1NiUAp6N0k0SWghbz1p
NzZoeV84TVpeQlRoV182LTcjUjBPOFVIXyl7b25WSntKLXhfe2J7dUVQb3RTd1NwUkRecF5jQEgK
entme1o7cWxJRWM7aTc4RkxhSV48QH1nbk1qRXZtPnlfbzEzOEdwWF4tdnRDakFreU9Ne2RvKWtE
aVZxVjAwOU1qCnpffCpEZU1UPmxAS1lzTio5VzZoeGtCUSpHd0s8VXxIP311NklQNFc9VVV+Y2k8
OzhGOSZFX25mbiZoUyZlb0VEeAp6YGYkJDNEc3J8NUhQbSMhTF42UGU/QTA3NXhlUipvXktGNk1i
T0QofnZRVnZpUmo7Xmx5IT95SUByfWheWSp+ZWoKelZtIWJrbj5FNGZnRlJAU05WeVlBNVlRYlVE
eDxyaW5SVGttLTIrc2A4QTBBNSFRNVJhKFJnazR1XjheOWA0U2xnCnp2WEp9aGYyZCs8aD92YERM
bykjTUpjPWBEPXw/TXEqT0NsUW1qPXZSRkElJkY3M3BLfjY8MEA0Mik2aHBfc29DXgp6ZVN2Rn0r
ZEdpTlFiUnApKENtWHFFb1M4Wm95V0tHO1l5UVFSTns/JnNiaHcpY0l4dTJqTmpRMlElKkB9aXBO
LVoKenJAND99bz1zPShfekpSQHFffE9raykhKGdrWmZyYnE4eU9JaUUhaVR4KDdLJiplPyMhJUta
aE90V01ZK3UqZGIjCnpZNnwkaEV0dlNJOzV3eCkrLSEqdTs3RT9qI2J7I2lIVXtJYXUpMSpjXylp
RFgxX2A2VntESD4tKl5YSlhZVD4lJAp6Z1RuV2lhNm8yRz9uTGlabmxLI2ZGc2pSV1chWWFObENO
d3d3QEJ+fDBFOGEhQT87aGckOCNyNmkyNSN1KkYreTgKemtZX1JnN21gfn45dkRRcTkyM0t5Um91
VHI9ckd6Sl5fME5WX3BhWntFYzE9b2xgfVNndmFYe28kez1iZ0U4ST1JCnpLUGFJIXMxRyZ9eW9w
TXtYSV51akJRcypJWWR9U2lZIVg2NE44VFckR2wkdzJxKzIkPEopRlgoWClAdDxiV2MrSAp6WEZE
TX1ZYiZtMlF9cGx6MTw8Zip3UkxOKiZIZ1UlVUpANzsoQGtldEpCIypDNClzeyg+WT9CYj1sPW9h
Q1N4PU8KeiY5TTgyMWIhKVczfl96Xmg+XjklR3E/KW81Tj5uJWI+ezhSYHdOeVBFfHFxJmVeTkVt
ME99ciUrLWJ4PmJ7SmQjCnpudFJ4bGtFS1dtOVJOZlhAYk5HRDhFbX5nZmt8WWFvdkVZVlBVcD4y
dzNPP2VRZFhwJXJ2OCpnfEVpSS1BYUVhagp6R35tWTZae3tJans9PHpGJlk2M3NLQmlWcnJyJVdM
am05RHtWTWlyR2B5ayU7WWU+KDdia1oqYHZHKHR7PiljWFEKejV0TmMwNUJib1VHbnRibXpvXkZ8
PFMwODlyKWN4OFJmO2d2RE1mVGZrfTttT3JlZ2VII0Jqcj4haCFKd3VHaklVCno3cnxBcTwkaS03
Mjx7R2A/Rn44QGo5c0U/QUBGYHZXKnpnPjNZPjV9KzRPPDhCaFVJbGo8RlMxTnU2TVVrQiQ8Xgp6
dy13QGhHeCtjRmlMX0FTVGdCKFVJcTBoPyo4VjN5ZUFUUHdYfUV4Qj4tWVhoMj1mKU8kS3QqaWMr
eXtySk1ldy0Kekh8TlF8X0FDQ3VWc1gkTVpSbE5VQ2k3WDNSYT93clE4cTxGWGFGRi1mUjl5ezBH
OClEeDYmaER1NDd7aTVqUnRlCnokMFJrUTx3dTg/KyhEbHI4I3ROLXlad2dfRUw4PDwod3QqXmRN
ak54blQ1Qz0meWphZ29pPEdtKlg2cXApbTsoPwp6Rm5AKWAyO1YhMktXK0dibHVTZ3E+IXF5ZE9s
Qjd8aHF+JT43QHE0X2BFbH1MSVZyV0xvUVRScGp2aSktX0slMT0KeipmcD9kYHQtMHxDNXFDb01Q
ZnNlRz5oNkZqZUJYdnNFUlNCKDQ3O2BIeDdJe0w8X2wyZlpWZyVpKldYNTlCMGo3Cnp4NEl8anpD
UzxtYk0yX1UwLXtPeU4jNG4/N2l9Km8/KWQoc1hNbTxWTz1PZlpGdUE/XnF+JXpvWmIqK21HZD9o
Zgp6NDljXkc+MyVhY2Y3eyRKPG9AQWZ7cXhxc3FhfUJVXyEjS1RRITUkUGwhdFdtJWU9ZHlYaC11
JSNreG9jNCo7YX0KemdONWxJRWZyOHF0bW8jNSpFU2cxTX5DTE82SzFBYXRWJWVeanZgYDY8NDhr
N0syb0hreilXdnNnfnBqRWlXNlZnCnp5YUNNajc8SGh3a3lYMDFoTCQpWkpLM1kqOUpvYVhiMHpx
KlJCNkI/QSMwaVB3NVNZXmU2P19POzlmRX1tdUJfJAp6VjcoYGcoOUBCKjYhe1RTSW5yM3VfMChU
PnQjZUJVTmZLfE1leSk4NTlKIyVZOE43JVpUV1RyNnhhcE88KHxMQWoKekwwTzt9VnliPklQRjVj
SXhDIzwjNWIjPUxQZWBOU2NMWkMxUjckTHtnaGVabCV6JT1oRmwyamMrT3ZqNSNDO3deCno8NiVB
eVJ3Xip9I1diQVktNTNhe2h0bCpDKjVVYSNjYGhyY28jK0JBRUBST2JSKzc3ejc5JG8hOUtvVFRi
VX4jWAp6NGZ2PzVkeHBKTT4oTWVhbEdnVT9YNyk/bUEzaV9zV2NuWVU+MlJSNGFqS1drSkM0MyRF
ZGB6amFVPmRYVWFpIzcKeiRsc3B3JCNSXiMzO1ljcTA0ZTgwdWZZU08tPl53Mk54PUFaaG0yQDtQ
ZzhzMjAkMjBGRzh8YXVUeHZrVz9wcTckCnpTOHg+blFhe0NBPVZURFFQZ2gwaEFxekB1UUprNEsl
bWViej5Ddm5kYVZXZ1gpbSlTUVBWTXM4VyNUTG9uVlkpcgp6O0R8SlZHbjhTVGdmUUdGbkF4JTMh
fkM9R2dMTGI3XkhsM3wqWW5pZkl6Pzd4WjJ8TV5xZW97SFR5cFc9PFVvVGkKentNSzJaJWZXNz1w
WUF2UUpBSTBZPWI8ZVZpO3E8T2BYYzlJWEp8NWZkSjFNR2IwT341RiY0RSh7JSRPRyZTPHN4Cno0
MCgkRWtOcm0xVGItN3lPQHxINmRHUmFxNWl3YVdjfS0wWkJlMislO1VBX1NQTGZyVDVIPGtGXlM+
fjJvYCglaQp6JndvODVuNmJxRD9eNGtUdWhAMmA4Yj50aC1HP3N+THBjNGJIOXJeZTQpX3IoY0J8
Pm4haSpneClQfjtEcnl2cGsKektWelBxMUY1aGU9bFNrSWdvRzJBYm5TWjJZUiVzXzl3ZD9pXlVX
JUFTSyl7THZMZHFVPyEoYVlUMyU8bnktU1hfCnpVS0k+Mzw9R2spcEx2O3p7NHd5dFdgIUZLUllT
RlIqb31fTG5ZTVdnMDF6JmApemZPZE08VT9jSnkkaURAIWAlQAp6RTxxSjNeP1hZbElhdjA7RkF9
S3pOQk4zTEE2KngldT48eVNWYWYtJWAhPE8kOyU/Qy1kQkFpLXF+P21vIUNCN3UKei0oPHloNmw7
XnxFeFJpUU1jKU1SVStCQGQlbkJ3ezcjRHRSQHhPTnZaO3lMcTdVVnNVNiFIe307QEpGP2klQk12
Cno4aFpKbHdqbnt0Q1ZuKTczam03d1Bjc0xNWlIldzcwcmY7TGY5U2s3RzF8ZWJyaUY7RVBiNkpT
eVF1el92eCVEVwp6KS0jQHZfN0c/KSVlZzJSUD5CT2BCbVIhIVpIezRBJl41X15NXnhLRiNrJGpU
ejQ1TypLJlVuWEtvcDM1NF5CaEMKelpwdDF4I3I/c34tME9WSXhsdGw3aH1TLTw0el5wXzItfHV7
KkdxdzBQfXMlSDJidnYjO0AyfHRWbWhEWG0lWWh3CnozVmV5aUxfJWppYTQ3LTFsfjBFe2N+fF5H
aHEkWGFMYiFBYSM9UnFWWnZmK2hTODZgaSp1N3BVUUBGa1M2PDVJPgp6azsoUmwmRDB5WF9KaUVN
R0JoMz5QcnNFZzN3V1VsTSNVSjJUPVhwbl5HaS13TzdZVFlhTFZHbUAwTVdxQVlSfCQKek5meXla
K3QqYkRLXzY/RSN7UHpxY0k+fEl0Z2N1anQpUUhMbzB5I1dWRTshc0tYZUx5PXJGdEJlMnMmSzRe
SlN8CnpOKjZjRXhxM247QWxTVTxuTF82ME93fnR5NnEpYTJ5fjVJSlorUSlVc0htJnI1PEZhcj1j
Y28yU14xe3pJc2hwcwp6SV9HPTAwaFFsezIycFJ5UF50al5MREFaXz02JXFjQ3MleU1kaUdIKilI
fXJAR0tCQlVOZ201a01HUUF0QUVURVcKejk/bFVXUkdGSVNAVFVJZXlKZi02R1RpR29jRWRpVWt0
X35Mdi0/ZkQjRSllUmhvY2dfOzZBeW9HNiFJYV9jU0VkCnpJUnlRWHhOSmZLVGAtJjNNN3ByNz9u
IW94Rn1IQnp5TWEoM204SzBiU2k/MW1hMTVoM3Y3ZX1NJGc1TmokNGlFbwp6MiFVdXkhVFNvTz8p
VkxfT0Z9WGVwKj9OUWc3cTZlU1V7O2VjUUpeRyg5NkhiWD85U008PVd3cWNQb2NKe1NUOXEKejBY
cUI9MkM5OUw1SFNGI2BOeXdmbnkzbldZWiNyIUBnNmk1Y0p9entRaztqfTAqRE5uKHVGaVpaPFdR
KHohIWdVCnojT25pNXoydiNpckpXJipCVC12JitqTGpRT3JsUV9XSHd6MCk7dkYwPipLK1dTfiVM
RSlsdXdnb31BeGhBPUtgewp6KWZ8bT9PUDdaI1NqcjQhYEF4WEEmfmpZWjYhRm8wYH4wYjJ6d18w
Tm5yeX1xQklMdEVqUUkyQ2ErQDs0UXMoVUEKeiRzZVFadkt3UWNeKSl0aUBLfndVQ2U1eFohaV4/
UFNEQXd7ak8jZkxxQmoxXnIpUTIjI0ZpeHdrQk54ZnYxKSk9CnpOJUM2S2h1NUZBMiYtTSpXQj5+
QypPV2dwTWImRzghZHJQajxYQjk8OWAxbTZfRD9pLVVSSnk4OUxaMGhNYUV9Jgp6JUUyK05kWXVD
O0coWm80ZVc5T3omYnY9bCpGdjZmOXU2cjhEMXpCQyFaMzI8cjwkLVc1fjJuR2pSa3p7ZSVKa0IK
eklRYnk0SVBlZjQlJFE5PCgjVjduQkBpYE05KkUyUEwrO2ZCJnJNKnhXVzFYXz97VTdtPU97e3ln
QU5fS050IXBNCno/SjcjOG1wPTk0bCFPIV90aHI4UEtINkl+WUo/YHxmIUhiM0UtU2EpSkNPZnpa
WnAka0VpXzg/TGZlfTNtcCs7MQp6aDJzJVJAYXgleDxtemFWRXJoTiQkJVc7VXBtOyQ+YHhVcExp
YT0wK1dmcGp9RkRgfT9ffmhLTkdVI09gN2JifWkKekJKWlhEJmljYXU1dD1tWk9AdmUhTHZ6aGc4
SSRwSzFfYDRidyE5VXBwVit1T2Q2PUtnQVhZNFdOU3cpdl4yVUsrCnpaU34+c2dEfGclRl5QPUpO
TkNiNnFMWj0zRiM+Z0BXX2RKRXUxa058X19QbTlVKnxPTEpPM21IbzQxdyt4cClxagp6IysoRGwz
fjJsRUlqNEx6VTtXT2tVJEAoQmYyeFl2ZXU2c2RYVyZCdDBOTT1ySUZeaFEheW9DRElfeWcqVm1e
NzgKejlgXkp+LUZrc29KJktodCpQcUNyR2pnUm43Y3UkRFNvSzxtNyFATEpQamRlYjs8Vmd3PDA3
YDJCQWchKkh5PGptCno7c3RRKW9Fa31oYH1IMFFtSHk+ZEpaRHZuKnNGbEhMXkZjP1Vfcmc3NnJh
clY9fj9EJUxfeXZzUSZTaCNtbWVjIwp6KWtRcE9WQilHTCN2cEN8bTw1a1gtY0NCczdGMFUwdDdk
R3RFIShhXm1rPytqe3t9bEgqRkc0clh7aGNAUkVZMjIKempxQlljJGkrYUFfZkBNI15KTFgxOz1U
R2NKWVNTZ3lIeVZnQ18qXzh7UGcxfEEjT0dxS0c9e3dsUnZ+SURDVWNJCno8VGgjV3I+cSZReCZR
UVFIVFh+eHV1Un5wWiV7a2U8Sm5LTXVOO0hGNlVGQUZ3c2Z8JCZMPnl0PXhjJVZEZDNhPgp6SVde
P0ByZGxOWHtXfWMhMU5EYSNCPj9DKTtOJDI8WHNLVDxpTmpiNVl7JXZBRn4tOFAqYWlzY2V4Kkc0
T1B9azgKelBOTFV2YnczbSlUYFAqTnFlPD1WbElqcUBpOHY9NW8hdjZCWDFeXkxNcHxwRlJ5ZGoz
SCVvMTY8ZnJ+KnU/Wjs8CnpiRF4rRUB9ST1WYnlNY056UU8kJnpuQUhFSFJWVHgrVUluWllGTTJA
ViNGK3sxKzRqVFJJdjhQQ3Faei08eXE+JQp6UGdgUz1wKCl9PyZeZl9mU2RqaTVPKG5TTHlpI2VL
bCRobGdnMyNqaCNGQ0xPcFFJMEM4MVMlQT4lb3BXJWNCQ08KekReNUx0MG9oP3RAeFR7VEU+N3Ne
JUA4JV92QFN0PlZfYTt8IyEpRmFnVW4hOWRsUSRLI3RTI2FiZD1ZWl8pNk9FCnpLVjJIJT51cTNh
NWJLOVBLMCg/JlY7Qm41NHJ0bGcmdjJ2WXtNVTFncExiV2dSKEJIUy08aDxedEw1VUs3RERaVgp6
S1M3KVowMVc7a0R2aWFkLW99WXIrZ21PVzBjWkBgV2tCbGdjPSlIU1E7a2FaUENlSzEkQ1Y0XjE2
R0NhMXtPLVIKellfJjhTamtSfGNRS007fDtje2JXUGVfaVFCbzJ8S3deUlkqVXJBTEBjcWlBMTRV
SncoYzNJe0NvKCVuQTRINnk2CnomVylqTDA9NCNPJH55NVAyUFRtQDFuZVU7S0RNYEVNX1c8a3Fv
XzFxPE0mWTRtJkJ5PjsxYFdXbzhrNDlOWWctRQp6P3dZaHpKUWFna0tAbTk/SU4lVEB5cTJgQDJw
KlJUZ1ZLVlNqdCM0cHtxXn5sMzxRUkNeIT1TbFNQVi1tKSlLSnUKekpOT3pBQStyMnMrSUkpJmlP
bH01ZTAwQ3dQPCh0KGhCRGcjb3NoViVDUWdPUTI/K3dlJiVlelhFekJQamhVTHxBCnokOWVJPFlM
ZnolOVpUP2pSRD9QezZjSXM5TE94SHRPbyNSQ3dXZTYqPnB+cUpZMm91ZXVzYHZOMzs+TSVMcmNW
KQp6YEdtSG8qcVd9ant6OUh0SE1nKWBnU2Nud3RMaSktRCpvRjF1ZnoxZFFqNEI8TFBtYEVGXjNQ
d0xKeWpQYj5MZTUKemxUKn4kX3AyUzlwcDNoZXBgRn1AQmAkMHF0OX12KGpwKXBCN3wtJENWZVBQ
Szh0Xk8/c3pOTmo9UT9sNSFUI2prCnorPShZZHc3MD9mclB2RDdBN3hVdHdwa0h2MlUmeiVNRkNh
P1oxeHFhbE1AeDQ/eUB9PmBuUihpTz87dF9uMkdwXwp6UmI7V1hgU09rU1ImWSo9THVUdz8mKjtR
PF4pTEg3a1olSUl2Qk90fVBxalMqRG1GblpVeVZhWnVkb1NDbTZtLTMKelIxPWR6anhaSVI1Pio2
NXdlRjlBWH11QXFXOXw1fkpFP3I3PmhxU0BAbj8hclp7ezNNWCNCbjVyYkU4ZT4tZ1V+CnpOTkh2
I3ckKGRMbGV6SlpjJWFgISQleSl2bk5HJDNJVXEzcm5DP0dMMjNGelE8N0tybGUoOH5KczA+byFj
akZXMgp6PDReKHdKa2JJRnsrdDZqa3ojdjZEZWYoV2RrUWFWRkNAcjxRU1NteiNXMmRlcUx+fShE
MUkxWGpkSWduKnBpNioKeko4NT8mUHtjfm8+Unp9KUohalVmPyR0eXdmZVZzU2FXYUhfeiRZcT9K
YkM2WSMjbiV7TSQjeSYmaSEtJHNgTH10Cnpgd0pDcC1uNGIrTCNtNi0+YE91cGM4eUczeHFGNXFQ
Qmx6IzZYV242THozfDZqPWB6KilxampTS31ybmApZTdHMwp6TXJKeXtYTnh8QExATWtLaTghazc/
WiFRdjV7LUs/bkV7Mn5QRVQ9WFdBSEN+VDY4SExfd2dvIWtXWFdBTVVjU2cKel5XRzZmPCpkMlg9
VjtfenFeRWdjWHFWUn4/LURHPiRoJSR9YH5pWWJ4WXctRmdnaERPWHQqMjVHT3ZtJkl4ZSheCnp0
cX1CbyNVJTchSlRITXZsST4xeShpUFdwOU0kbHJKNilYekZKSyU+bG40SX4mbVJsPytVUSt1K3Vp
MGdrezs3Mwp6I0hIcEshVHlSJHpzRjVHdDUjc0Y8R1ZnfmtEU1FzTEo2U2JneiZ6WnJ0MHR+PGM2
dypoYnZtNEhUTj8pI1FSN24Kek9AI153aGNPY05TV2tqR1ZrOyhzU1IoQ3M2QlVBKTl8P2BmU3dy
RzZ2KEpCWE1XQntvYHZSM34oP3ZWKmg7P0tFCnp3X2RVYjR8SDsrJFIlY2Q0VSRyYGVENUE1TSk0
bSEjKGd0dC1QcXZzRDdEJWdsaUEwbUdXUyRWdWpaVXc8bXtmVAp6e3lQTTY8aHBhdEhlTnBjO2Bf
S3pKel9WKndQJW58QEc7JS17dHRTbDB0TGRjOU57IW5zR3NiJWNtdzQwT242UnwKemQmISlqS2gm
eyQmSHwre1Y7TW43KDMte1ZSUSlTaHM1QVk+cylSezYjXmdWekJMQEpoe1RJejY5SGFMOEc0OV47
Cnolaj1JdEBLK1ZqbTZXMVdoJHw3I3grfVcmN0cjP21mVlltfVF0NE5fX0l7flJ7PEZsLS1naUtn
VkZIPjNXWV50aQp6KG9+NHlKWFNhX2dDc25pUG17cTw2Q2IwZilhdiM4OD0pS3hYN3w0ITc5PUJp
RHsyMXMzQFIlYjRadz5JS0AjfUQKektSdm0qMkFRVXw0SzwyTG9Rakw0NiZ1MSVSRH5IT2lmTjdq
QlZTOFghQFh4RnIzU2FTTys5TTgkZmxNamNXU193CnpJPFolPkZmUHhmdEYxKnV5NkI7PDFTTWIo
WGJLcT9xKCRxfTlPbmhidFBtRjxqdDlTYmhHZitKUSpVV0hCcm5+Jgp6WXc3WDJ0YlNoJHkkbllE
NVZaYGFGT00yeThpeXJNX1h3SDRPe348X2cxcV5RSW1Ha3p0T2otZ3RlMUJPSlM1KkgKemg3dzwl
MihuSkBAQnwofHd4UHtBPSljaHYyPntzZzJoPncxN0VrbXxmJVhnKG1eUnRwTGd5Pno/PlQka0k4
dVY/CnpXWVl4KFgoRjl6cCU/QGU7TTU+e0k+eX45QXxIVnVFenYpWT5PKW5LK3ojPk1wRXgxUm5O
I3AkWG8tfilzekxtUgp6WnpIUFApJXxFcXllYHJ1TEohaCZ1OX5oYlY7NiFNbSV6SChva1Zvdm8j
SGBnI2djT2soeXR8Rms/NVBHUHxOWlcKenprITdFNHcxKkd6VktQYi0jNFRESkN6RWFDMF9jTit8
elU1eDFRUXpXdG8leEx4NUM1TVFiIURDSmFRKTVmalFuCnpCXkwjdGlQNyVnaTYrNEYkNCM/c0go
IUdLdk99IXMkdTtINzB+eEB2eEh1Qm5oVDJITjIzPUpXbGpEbFE2XlgmQQp6RXxQPksjQiFpVTtm
czRmJCNhTl5xUDxqeWk/aiNzQSFiclZVcXxveEJQTCNDSUlacD5yajdKejVIZURNcDlnO14KejtS
MWt0ZTwrPTl1WUAxcnJgQEJuYVQtTWgtUlVAZSpBTkU7Nl9ESURCYXIkKCR9Ujl9TVVCSz4zVFRq
a0x8SDNCCnpMS2c7QWltcDYlTThPZWRHY1pIUEF9czI7I2kqK0JUYU1eODZKKjNDdWFPPVVtVyto
YnRgSyZ8KlkjQkZFemUqUQp6SGt2dzd6ZWxJU29CTUo8IW1mSH1ePz9hNWYkaUZALVU4a3otK3JR
ezg4cGQmQ3JrfUNfLWdwS0pZbykpbEJVNHUKekt9WHNIeU9QQkcqQ2BOdUx7SihEdVhRZ0FMYjlw
N3N2Pj5YOFVnO2lCKThLSDhvTT19eF9wYH1kN1ApYl9faElGCnowYi0wPnUtWjRQSkt6cmFQPT1T
ZldGeUc2QTVDQFRXPGZrPGx8MDQ8dlRrWCZaT1F7UldpYnNCX2p1U1dtMC1BOwp6dm5xJUM0SUly
VTlwJlM3ZDVheDNyOT9YYV4xdGpfSXstTjBDK1ZIRm10IztYI0hEJH5Pdkx9Pj9Uc1N+Ti1HNkkK
el90QHN+YFo2TnBkS1NMaG9ed3o0Ny1JRGc7Uj5LPTVaY2FQMi1eOHdOTDBIdVhhK3B6ViFycTI3
TXpDRiZ3ZF9aCnpJTiFRJXdXWEplWll3RjtLWWBUKi19elBuSl9PTWc+ejkwMj5wMEg/eWNUREgt
PHtyOGJCUHNjdHI0QldqeXxDMgp6Jk8pek1EanFJLTA7ZGQmTWA4NFpRIWhpST9WUF84K1p9dyRv
STglNGhnO247Sl91TTw3JTk8Rk0lMyU7SF9DViQKejI5SiNkYWpHY35aKShockdUWCsjYWhFa1J4
VD45bnNObFh7NjtkbDR3P1kwK185TUx8dGBjS35TRDBJfk9IejMmCnpkX19pRHc/OE1DRWoqSjYm
ODcjUmx1Sys2UDhGR0lsVG9CaVBrYXxvYEFwcm5AdnpoZiQ8b0YhUn12NEQ8aU97aAp6PUF4RkZI
NGNvbEIofiZVNUh4eTwxJXtuNnZKdThHXlpEanJQTj5CN0k7aG92WWcxNTwqVTBSUTg5KFo0MD9N
PmkKekc0RExRIy1AI3V5aUpnKmg9I1E7d0QhWD47OFB9KGR4Tnh0I2ZuVnpmOUE1YzAodSFmNW5n
fk5WJTNtNSllVjtOCnokMWBHem45KFdJSiUwcG5ZVCEhIVgya0pwRjhnLVg/cDVKPkFveHB0aWRA
aXMtdXd6eihzQ3ZabFhtT2BJI3dpOQp6MDAxdWVROHVuKjF2THYpQlJoQGZeRF49PnhvJmhkIUBH
P2BNYytYKVhVOTlTUipDdD5KUX1Qd041Vn1RV08zYFEKeio5PFpIdXMrTmltLTw2MFNDIytBVHJg
PEBFSW09cnVVQyg0SHpLczJCT1lpMDYpMjlgOWdZfWJMZCFlKSp8RyhqCnpOZSF7U1d7QkNWQ3Jw
QF9KMXM9LSlIUV9QIzhQekJSJnQjeUUjQnNKRmxJfXQqek13JXptUjhlViNhNUBmQDk1QQp6Ykc3
dkUxdT4oTnpEIzMyUmxMbDtvMV5XN3hlQytadiQ9ZCo+QT5DZUJzalhpbV5jNT5xXy1BJXpAfjxX
PCNhJSUKelNyREN0S3NiYFg+P1QkRHNLdzNiWX4jfWc/b0l9cSVTKXU8MzRPa09sS1NiYSRnKXh0
UyZrTS1YRTtwam9jcV9uCnomOHB5NVRpTysjPXF1cWtKZllobjQzSlZfKHBTN3dweGdCQzxCMHkh
K3pGXks1eG8+YV4lQVc7MXRvKjd2QGMzeQp6SV4rPjghYytGYXNGanp1ODBrXz5ESm17dlhKMnJR
clpgWH1BJmozS0VMZW4zX0t1clU2PWFEZko7cV5RaD52d2YKenJwMGYlM1NnKXk5b3swRUgpcmp5
O1ZEQmFTbT1lPUIkNGpsOEdCYFkqdEpBNkVQdUFPRTEyPVJ6TiU4X0YwX1ZrCnpgYmpCfjApWDNw
YHNqPndZbnZyUSkmbGRSXkZ+NklaM2xFMkxgMyN9c15ETWB8NXV7ZT03USlxRzxKVCVpTUFfbgp6
RFpAWnY/RH5FPWRneTNEJDBEZExiKTF1dm5waXNfYUNydlNQU0hZQ3M7TE4zKzlqQE4/e3kyel50
WUo9UHsqZEkKenckenVLZXE7ZERXYWllJCklbnwjJiFmRFM2WF99ayRsd3M3IzNsIyZMVVpIe0cp
MGtXeVI2YUcoe1FGdjNWUjVFCnp2WVUoPTdBUjtnIylIOyE7dG5VMXB7RDlgLTFzYkFuKzIzbzJw
bF51ME1qZHUjPiYyRXhxezdpMjk0dzI0Y0pgUgp6Nm4lfCFpKERqIUpOcUo+TVE3eXxObm56c3k1
YnsjJiF4VFZLVkFIeEBtOG0qJDY+PlVKODhfI2xlQUtYUmVNX2gKelokWE1ZclhmejxXPkxGaipO
TTttWEhWZEpKdWU/Xz8mITgqZHg0PCo5PjxVVyNXV1QwYWNIXmVRU0MobSsqQj9MCnpsRj9HVXNY
c3x4b3JZZWVhYDUwYmwkS0EtUn11Kk1GdUtoMio1RF9UX3Yje0dZUENhYl8lQ0R1Z0xAcHhaYCF9
dQp6JU1iWSUrfnhvZzBiek9OMDgoU0l2TGNlZ3k0KzdjLVlVbFNWYHxTUWdvNyNZTm4/fkctNWJQ
IyVORHRJWX1rOXAKelZCXnIwSFdKOGlwQFc0UUcrJnpzaWwweHlLKWUlJChRalFma1c9VWhvcn1G
PnQpSmZQQHVvfDhOREJBYnlKWXdeCno9Z0pscy1BTClnKE4xcSMwTVZ0TFpHfXQ9IWRpbEFWVz1S
Nlc4Q0F2RkUxc2BKQ0QqRzUpaDUwcCsjKTszTCMzaQp6N3tRWShsTUhDUVpGRX1AcTx8MlNHOCVm
M2FRSkxDcFA2IzF6OGx5X2VZM3s1cStoWnBfITB8NHA7LVp9KlVSekAKekpXWH1mOF54Z187e3hz
dklsNnVAe3J1emF7LT50MjIoeVc/UkI1KT1JWSRzPXRQKHFRQ05nYEw2XkFwPHlqRTJlCnpFUXQq
eGR2bFJla2B6KXFaSmJuayZBZ1Jodzc3Unc1ej03QFIjdUJfVTlgTkxQKH1raypMcUh6XmRfX31t
P05JYQp6OWMocGwkJjxqfXlTMj85Mz9Kd2VPc2lTX3FicTFvX2J0PztKei1iRXlsWXp7JlMtZmA+
MGhPQUg/NEs0JHMpYioKel54WVpyISlOTTFadU5DUj0lNSUjbnhiLXt2Smlfb0Z7VCNRNGxgIzYk
P15jWm1GKnw1P0cmZUFqNFlvZnhPci1DCnpDbUJRYlg5Q2lVKzZZO356bk44eThhYmRXVW5fe2NW
bCVRbShWbjM3YktVRDk1NGVGVEpaZHBQIVN4PTdpRyM8Swp6U094NCQ+TGkkKEx1KCk1JUFTO05o
MUAjRjtqeFUyQGUwRy00NSNUUzBgQnQtKGJ5KyY0a0pHQ004UTlsN3khVkoKektWczdQP1kjVTU9
ZlMmQFY4c2o7MW9rYTBKeU9HUyV3eDlxU1chJXE0aWA1MipZNTZrUXg9bn1ndk9EbkdVKCpwCnp0
YHxFbihxWiRuWlBQb1VfKVFnS0NVYmA9ditQZjQtZXpgZ0BZNUNLZm1JU1I1ai0wUUhWdXB+ZUB4
VDJiK0hZQwp6ITRubTQ0SXlRS3d7c3p0cl4yKjRvc0N3aV9NQ1lUNWN0Y1dLMFFDMDNtYmRYKFRK
em03T0AweV90QUFEe21QKUsKektMbVVWME5EP2RBPnBCQ0M2Nklve3EqU3FIcERsa15rQjI1Z2pp
cDk5UjRDYi1mPDw1c3Q8elRrK1IyfHU/djhZCnotbyhaSTE8R0pQbzVxKyRNbEchJUY4KkhRZ1kl
alVfP0pKfDgtSFVobnM+YTBFRFgtVyVaZVowVVV3YihMZ24jbQp6NjImc0dRNE1RcEFyRl5wc2BU
c01NQHxgdiFmfCp9UERXOW0lLSpEc1NgSk4yVDxZV3hGPV93Xl5wQ0Q/RGgpQSEKej9rKVpMVmA8
STt1ajd0fWlYekFiNkcrJiFfcl5ycE1ST1RQUUh7S0hHfHIweTYhfXc2JmJhXjk5O1FuJiRvNHEz
Cno0Z2p0dWA3XjxeSlQoaEdVd3dJYD9qOFMkUWRNU0J7eGFtZE0md19sU2NFUlhlRUIlKV5mJUJM
VUJCYX14NTk3Ygp6RTltTENYOGJhJG5PeFomVy1ASWpgKnRLRnBPQU4/O21aQTx5cmlBdGt6YGZL
SGJEKSp7c20yeUJGQmhDe2Z4KDgKejVlRjEzQk1iKWI5THcoWXQwQDRkSykkYHFGZFkhZFFqKUNW
YFJFMENqVnlsP2JfYz1kTSFpPWpCUU5XO0RqV15SCnpxc1EySyVGQ3Z5MkB3Z0BgTlY+KTV2THY9
WH1oTWBjfH5QR1hnM1gkekx3Qj42NTlwOGViMXp8JW9pVHNtNi18cwp6KXQ+U1Q0PTNNVTRtdzM/
dzZTJFZaPFp6ezgmQXc3R2h5UnIkbiptWEA0dEU2S2VjS08ofj1Bfl80fEhGKEx8JFUKejtjekhz
YTkxWDIkKmkranBWayNkWFZDTjcjbnwzTypzM15odTJKZyh7dkFLcFlwbE5gdyVsdmRTNXd2TDx+
YnFRCnpBWTg8V3crRzQrKlRGTDNJOXVAWnYoVVJYWjE8RFdXckxQKTBrfFQ5Kkg7UWd7VyVjSGE+
dGxrWkttfmxANiRQVAp6Q24rITxkOylkYy04JDk+JERGJFR1RV9vLUU9P1ZmTzkocVo4OEdJVEIq
a0Qle3xXR19yVzw2fis7YEpJJEJvTWMKelU/O2xoRipiKndfWDsxVUJpITxjdWckTUI5ZnBlbDQ/
JE9MKmA+TUFCI2Ved19gM243NE9qTTU4UzVaOChlUThhCnpSZHp7WWhRajFYK3tNfmxmIzMkWF9f
PjtJZmswe2NaY1NHNEspSTJgRlh8Wm5pRnR4PmpxSHAlYXRkM0BxSlBaXgp6JjBMa1p0PFBtRlVh
Jk87UHMlXn1DUG59Vih+bUQmSTllcUAoJWRaZTRLPmk4QXgzPk1EeG5zRndEMWc5SzZQTnUKemRA
KXkqbmEkajRWP1ZjUWx2aWt1fEZLYzdhcThKc05veT5nS1pIJG1SPz9sN0N3V3NkdT5NQyp7amUp
a0A3Qz9hCnpsI1g3aEhYfWJ6NDchRGlZKmxnP3VITG9XN1Z1eWhLd09iZVE8Z1VVVGVSdH1TVzB5
K2kme2E4d2dhXiFsWWV0Qwp6aTtNJkFnWGpkaUlGMjRLKClNcztkOHx0Zl5IN0lFelMjQWBTKVco
e199PkFUaE5uKCRXdU1JblpQQTdAWDx9XmkKej5mRDhsbWEhciFJXy1kZjthVzJQUUJAI30hMXk/
dEVxVHszISpwJnpMekReYUI7Wl5HdzBnZlpmbDlGR1VBLWdECnpiP3lgSSRyWGAyWDZmQXxwfW5R
RTdxblNTYWdASVRAbjBBZV5uRiVoVih2V3ArX0J0KGJ0Z204JWpqWEJVQmozZAp6JHZ4MDhgekxP
e09AOCNuM0lHeE5MMXZTJXtHNiVQSEc2KHQxUnZ3cDVRQUIxPCM5SnBBS0xYQHYjdFNlU0lxMF8K
end5PmhZPm9QSFcqMGBoPHZJNyQ0QD1gcUh6JkJhcHQ7bU1gdEhXYz9ATTA7UEAqX2MxeUMjamom
aiVrcUstUW1PCnphZH5rSV5ndlU2NDh0JWA/OTFGUSlUcXJ1VjNxOyVSNUQhdUVgeHlfUmR4JVNg
LXh9c0E1SjxkNlZuZDJtKTc2YQp6R0V8USVNIWVHek1iZF9WN3poZSg3KVpSQ2lvKV9UMC1wbSoq
R1pXbyFoN1hOMHptQGFyTlZ+PE56KW9JJHdeZEoKejFuJDw1WjhaU2N0QjJvPmdQMCpgX0B3RXE2
TDV4PlBIQiZ7Y0E7RTBGUCskS0MpZk45V00pdDRCOVBRZzEoSnc3CnowenpzJCNfTz03R35Tdyhw
aVEle25mX2NyeGl8SDZDNWd3NHFWXnh1Q292XnAtSTUjXjdxVShiSitBWnNRbTgzJAp6bXx1ZHo5
PSRGPF5FQGc1aH5eSkE0Y2o/UCUpWCRsPlV6REpQeHImWjRwYHtTMk5ZZ0xuQTZCU0o1RDw+MzYm
TGMKemBlSWt+by1fNjhPQT1haTdJUWtDNCY9ZVFHakBBZzQhZT9NMlpVQ0VANmB9JnByPktrQH1g
JGFQMl9DdkMxe3NtCnpCPzY1ajcmcypqVSt5VUN6UXNucWU5TF8xNHFudVlzfSNWWEx2RmMqUS1A
X2Urd0lmdXBacm85KSNUYmlsdUBkcwp6dzUyXjlKNTQzb3ZfT0N4Z3poO1VtITtRTjNDWWI0e0oh
JmRGeGpeVXdhcihfMiM4cTZGWGdMSyY8bmNyJHNFIXAKenBrR3xIaCR5VzV5WX58T1lDe15rQ2lY
YEdybU43aj8pcz9waUVVOzlUTUNJcDNpe2Y8enxOWis9VllLSUB3OGRsCnpUTE0tazFkS0k3KDdK
WjB5PXtiVTdqMUE+cmleMjc4YXFaZWs9NGglZHpWTVRNPzI1cSM4cz9CNDZId2tSZGZJbAp6K3lC
TjlJT1NXJTJXYj9iKDxlMzwoKD5jJlc8Y1k+aztRU34hPSo2U2VOX2ozcEheKTFxRDtkZVFSeX01
Q1hFO3cKelUhe15eXkUqZHpCJlZJWFc/aUtkJDx1UH0hVlJ9VHd+cHVRUSF8JV88VUxSNl9vP3BU
N1YyfTdaRComJntzQzM7CnpeYnNSM3RNSiNJaCRvJX1QdV5fQ2lsdzh3ezlfK3JjNE1seFBGR3Ar
eFhfaEtZezMtTGpHPXJEVWpScnMjOXAkUQp6Tndmc0taeGdOOyl5WXkxNVVoRCZBXkRiYFpYUX43
cGMjNG1gezBoN1Z1en5WQ3N7c3l3a2xOcWk5dXNpV1IrWFAKellpLXpGOVpTOUVIJXdmV3ZJXk10
KVI2KURTY2E8LUU9cm8tVUNwXjtLcmIqRHBfZ09vKF40U2pAOWplZWUpVEZLCnpeR0I/dGBKbz5I
eG1JKmkmQVJyUDg8JnwpQHA2RnJNPj9fNjZQT1FfMjQmKXo9cFVEKTElTHA0dn1OR2lBZj5SMAp6
QUtnc3VxclA/ZGtJa1JSeHI8SnExanhjPysyYS1hXjx2cjlBP1p3Yno8O3QxcSVTeHRDeUBofWF0
I1U4MTZUN2sKeldua25PKT4/dlpRR0laQ3JKZWo1QTdSYl5lWFUpQHAzYUVZNmJPfih6VlZwfFJy
aXVZVH5EZHdLbXRCc08kMXpNCnpReHkwMVdhPlI7VTNnbSZrJXQ8KnEtNDQkSyVsbXZCRkhyUmVL
Uyk0ZE8xfk1nZWIhWCYkKE84UlQ0VURwSGE9IQp6Qmw3WE1QNW9yaUh+XkVUQn5xamUmfkI9a2Ym
eUUpUElGdXY9dnhoankoY1A2X0pFRExSMXRnPTx0OXUjTjkkR2sKejdDI15hYkRqQmlSUGB6ezRu
bXpGKEU9bUxHclZWcU1xQ0kyQ0V+Y05SZWJzU0pGeil0TD5hNz97VDNaY3ZAdXxRCnpyRm5ffU5K
YXlfVCtOcT0mQ3A7bHlubyl4TEE5ZTlaVCNRfCpCU3NNQ0UlbFhvUlIwdnZufXB4aHh3N2NfS1lU
NAp6MG1YdlloRW88dVFIMnk9N3kmQSVvVXIwNk5SI1JCWSlgdkJ4I2o3QjE9WEFxKXxgdFlaMVhE
V2taPStLSzZiMFoKekpNMk56M0h8dmpCKGp5cz0jJUxtRiRNU1o2T0JOamtsOFpwc00yJWchcWk2
eVFAKV5jJkR2UlpkQ2xOaG5lQ2wyCnpVcV9ZMig5VlhUVGdQZ3gmfEp2SWJ8YiF3TzBIa094YnZW
WD4xNSMqSUolSkU2I01tc0NncD1lQzZkMlQtUGtTMQp6N1p2PTQpUj9jPiNVYDZ+Sy1wdVhhPm5P
OEgrbHRPSXxXbmNuSX0ybGd9ZXtuSjBzfmpDX3JxeVJ6PCFEI2l1XkAKejJEcHRCcEIqOSU1KChN
dD9Qdmxwd2RQajIzTThAJj1JdGtRbGllWmVaIXZwO2t7QlooYzJMWH14ZEQxRTw7SmlKCnoxMWtZ
MzUlRUpaRDsobW9FRHthQ0NBbiQrNWJxNjFRIUstQkw8RH1DWEVMJl4jZlZMYXZzMXNLYjBZT1dB
YThxUAp6JGI1MU56eTdrSGo5NTJ7YipxaUZuKiFgIWg7TTk8aW80YDcjISN5YVRPQERjKWA1YDQm
bzxZP0Qzb2AyTk5LQHoKel8rSylyOGVTMGJhSGJJcm9hY1ZGTXd3TTsyMms0cD4mNXg+VX19QXpH
MD8lfGJoQjV+SXY5cG17RiNURDMhcXFqCnpWNnB5IWZ3SjtHbSRGS0sqPm05QTVCNTtfI2tJXkoq
Qll3PyQlVko2Jm9vUWBUX2w3TDBJM04wPSpvQDJ3YVN6bQp6TFhgZTlMa0NNRUsteWRUa14pSUJk
YHd3UkFiZVJOeXViX1I5OVkzbXQtOzEjTDZaWUthWmZ9enQxMCVrRVQ4ZjAKem1lbGB9Vmtqc2J4
ZyVScSpZNkwqI34zZXNQYDx+SkkhcEtKZiEhMlB6dUg/VnMxWlJuI089V187clREYlUtbHBaCno/
TjU1JnFJZmpjaWs9WSFJS2J7fWpaVDd9cmVRVXNIYStLT19rNT0yTV5zZWRjNj5CTWwqPEVoJHdR
e08wdC1tewp6b0NgOTZqe2ZvITNxZVc2QHZPKVRhKU4oVz98YlVCUXIpQX11VHR7NXVzMSlLWDRE
NUkzPUM9ZzYpNHEwbilvM1cKemxBREU5OEk8UTNMVEhEMFAtNnNtX2g/flNraWN0KUIrUXopXk1s
QjUmUihuIz9nQk85c0B0eDRFVHArJGNWRD9hCnpUQk0+dm00MDg5WCRsZV9ma3BoY1hhdiQ3QFhe
dVJ2OH5YZWshdkUmX3c0dEg9eGZ8QyFSUXlaaiQldWJBZyZgeAp6TCRpQUplVTQla3soRFNOYldP
MkVDWikpdyZhJGthLUxSIyY8bSt0XnshZmc7bm5vYEBtaDRkMUNsKHJJQTg4Z3kKeiEhZXxfQTRj
IUQ9LX53MXtUSDBHNTNWd3tTV0glJWdyX211ayErNF9rWlloKURCVEsqUiNDUzNpaDJNKXEzd0hZ
Cnp8RFpVQW00JStmJGE9Njl8OFNCfWRWYGtDLSt3QTA+UjQkX180JV9hbDVtI2Fxc3EmbVo5OWox
M202QjJtPnBpUwp6Snc/Sz4jTlk+TjA0Q1hPUE5wJm5oNHFxIXpLRSZLXmB8MFFSUUlhOGBAdyYy
K0g1OStlNFg9M0IoeCNaV0E0TX0KejZ5ZVFNI0ZTQ1JwT3FIMm9Wbyt+JSlJXntZfjdMc090c09K
VkhCUElObEA3K093KnxkX3hTWF8zK0ZEaGRPd18pCnowVSZjZm9Fa3VKQ3duODdTdEQ8Sihha3U2
LVBUclQlJGR3PSt7QjFOMUo9QW9zM1U0X2xwfSh3Sj5xWjtYaClrMwp6Q24lXlRrZTJyZlJJP3l+
MGYmP2dLQ3ImYStrYSpfZEMwfDExNnQzTkFEJj52dCZrV1BmWTR+RUBXTksmISVKa1gKem5kIS1C
Yk8+WDdBMCk0PlFmcl9RcDxsdmNQPlBkb1paMzNzMmp3Kj8qK21KP2Z5bHF6cmFLcE4/K2A5ckV9
Q0c9CnpJdm8+RXZXcFB3e2pvWHElbyN9WkRVR3tQYkkyZTxxNmF+NmMlRGJzMStFTHNrbUx5YFQr
cjZxeFF5bnwwUV5hawp6bFlOKV8lZXZGO0FyfXA2cCoka2tndmRAQ3FuRklFP0ozbW4/O0JtSCUt
Rz1QNUkzMS1vWFRDbGdKbURLTGdJRHgKelpvdDNwYX5mTEQkSXs5eXNKZzUtNygzUVdaTCFpXldC
OXZrMFRaTzd3cl9Dbk56d0wtemtRdGlleFV2QXlGVURICnpsdy0landkTEc2Y3U4aTZwMGkhcTc7
RjcrRFdNXjBnUk1mXzErMmw/SyFnNjNOSypgJFlyRitZJGJ1KUYwJmdGegp6ck93VEM1Xn5xc3Zk
PypqazlOZGxvJCoweW88Slh8dUR+UUdEb315X0NNX1U3dFp8cWBANEV+ODcoV1JTaDlPPiMKenR+
dXxIU1lrNTVjb1UoRmE/RCNjNismWVh6ZHozZlo3KTBvbl9JKXchSTJxMFVyUTs4YjZZalhFY01h
eiZrNGtECnpgKF5pSjxTaFkrWmR1Vmd5TThVeE13b0hZUzd+P0hva2N2SGgwTkA+bjFUI2h5fm52
dm1WWnp2QnFHYkQlMzxuOAp6N3N2S0BXOXUla1lQKHJBXiNfWHJHV1h9KElmUDBGQG53RkJBU3BD
PDs9MkJ2MUB3P3sodz9BeSpHQXBRQTdUMVcKemxuJCspUTdgYDVESldfbSE8QiRgVFBOa0FfbGMy
NWcld3ZBb0tzMyZZZEtsJXBNSyNDZXI7S0pJeWBfKDhrJWxUCnpvZyF7a2lvcXFLRV9LNXdvNiZm
WG5OMW92YWtMbjRPb0c/bFpWVUcmY1RkYEstfUw8ZmYpam59TEtuWDMlJHchYAp6ZCRwQ3UrKnVl
anhjY1FZYzBPdVdAaT49ZmR5VCFoK3MrfTA4aV82d2x5TnNHe0ZLVkMxZD1PSkVjIUUtPF5oMWIK
entgOFFRT0coRFY4RDJSYDhUPE1LY3Z+MTBjLVV1dFZtKHVJUEFGQFRsPGZNYlZnZDJkUmY3RFU/
UE1iUCRGQUBsCnpFdSo7JWM0bCs/YFJUcU1GcSZTb2N0ZSU5aVNaYTl4a2J6bT9YcmtuVVg8NWcw
RytSUi13Vjt+PH1FIVU8Qy0wQQp6WkV4MER1MD9seUQ2Y3BfPzV5M0t2R0VCJTRQaWR4VC17Vz9V
KWlTRUI8QEhhKjVIenVBTldDY3tOSyVWMFp8Q1oKensoLWcqVmlDYnIrXl9AcnB4R0ZxS0EpTFNY
R2ZjWkxwPXk5ZGs5KzlLUGgkVGM/NFdHISluN2t7PUY1UnM/IVNACnopdVB8KGNQJiV2ZUpkYkw3
YWg/SG58eGJOR2FHQm1DYWlHb2BLPlJrOUVoPmMoeGh4MktzbXBPd0sre1czYH56ZAp6ZVRDNypj
aDNXZnB4fWk0KypNKlBXX1lRQk4+TFV2ZkJpbFA7ayFXOEhxQjZVNHY7PXJLKF5eOVJrOGxFbjBx
Py0KenArXnFAaDV3PGF6TH1TJm55OGFGT1ZOWjthV3ZNZ3VIbj5FT0J8TEViQ3d3VGRzYWolRVU7
fmsjakVULXpuMUJzCno0R1I7ZWhfYlNPd2tAR2BmI1pCLTxicFpQUDFSPVFVP3BoJWZARkNJVj83
RCZ6IX4lPGAwQHhGMDE4KVIlaT07cgp6bkdDYiotQHQqZFNwfG04O2k4Q0tvZVRIdStybU1paykk
R0YhSkNjciVKbjM8KkMmKHZvQSVuVXJsfnJ3aXJ7KF4KekhQUVROcU5KYEpjU0o9ZiNxbjFtVTR6
TFVnRyU7bkhpMjFvVVVUU2BUVGhuMGpjOWE/WTIpV1BkTHJVOW9JKj9rCnooKm40bjxtS2d7RGN7
I1pZTWB1I3wyZzhwKTM5emNVd1hxdGdwTyZhS0ohcnFTUU5zRGFZNG1HWU1ybzhwUiN+PAp6JT5H
fChSKT8qRCl2YkR8Wis3WiZKYkU7TDlHIStEY05qaFA7bHhPT3ItJXRed2xFT19zaCNRe1V7bkI1
cTkwKCEKejBna19hMU9LVkBkMW93Qz5obU1HUmk8R0BNJjViSiVWRGExaVcpeWJpdTJyYThTSkVg
aSRwQTtFaU5kd0FNaSVNCnpkUFFwJiM8RktZe1FIYmdHRDRsNlEpJmRfaFRSWWJ7T1ppMDd4eSYm
cUhWdTxSUVcqJlpJeUZqbE5lOExKZkdwRAp6KFMoQ3tea3hRXktefkE3I2pJZj4tX0d2WFhld15s
alpNaS1YQ2FFfFVxVDt7UXg3S0NaN2YjYlhjbkZqVUYlMjcKekgxbk0xJUYlKDg+Nl92NlkxRlBy
NDNBSHgra3thPiY1ITMtMUR5KFhiPmAybXtZRHVWYklJMGdOS0hQKHVUaHE5CnpZPFVBRih2Ni14
SHNFa2l6WUhmX2ljUiNCdXp3Z2FXbGxqME8zXz1We0ZofnVscG44bXRGQ24hOD5fP0A/ezluawp6
I1hZJkNLezZOfHtHZm1EKndXKnRpbF5JZy1NMyN1VSFtWk5fd2Q3dDZhZFFoIV4qcnElTXUrYDQx
YjklaTZlKyoKemRrS0teYWd8QyVfd1leLTFWdi1qQzVPTW9tcG8zO2ZBOD9eMkd4VC0+dCU+S1ZI
emdJeSRidUdIQFVsKnc3cl5kCnpDZjIqOy18fnFJSTdPekZ0NTJFOFZrWEhAOHRwKkdZelUpVj9M
RjZmO3dnUGReNnVSTillX3R0enclOWNgaWkhbgp6dEBMfGlnN190ZyhVdXx4Mmx4JUtRWXtQQztU
JW4zfDBjWUM4Xlc4TCRvcCNHNXo9dDU4R2ptTHtKRWd0bGRkUD4KejQjaTttQEFlenRDRU08Q2Nk
JW1wPz8pWVNSfG8kfUxiazMqQyQoPF5UXkBsc0UyUiF2Nnw2RTtgMncxNndmRTZmCnoyYGo4TFMz
NiVCKV49TGEtRVdKT3hud1dwenlTI3thIXo2Zm5EYE5ATEY0Y2VCPFBzfWxCbnlzd1Ihb0A7JlBz
cwp6eyomV20+TXkkTmg1P3IhT2F1VD5zaGA+NXY4cUhJSDRmNmZ3KWBlTE5aNUpRNU9PZUFXXndR
M3t1JiVVRGpWdlcKeikkbTJsakd9NUN6QiVgWj5+JExrTXhFR1NSfVFkbjJjbXlOUlZ0dGgtbklR
XmY3Zk9xai1Ia1hWcEswQS1fM0VICno8ZUdzYkV5cUhkKzhjaklQOVp1anMrbmcrKURLNXhSNz48
bDdTOGI1UEUpdGktKDg5VHhlUj5UTW1NcXN4XztXawp6Kn57UDY2VmN3KU4hMTxBPDtaPjxKeTZA
flNOXi1kaWdCNmFMZm1BIW1tdTtkRkYhe0JyfXVhV0FwcHRfKV5EKXAKekNDK19aKTF5JUxIVE5n
YF5wZzVhPHNFI2NZZHdaRDB1SDt+SHNNZU9xTSFZcClLZlM7bGN2d3BCSjg+eVczY2lFCnpTI0ha
aSUxQGVxdHI0NENLfElHNlpSelI7ZCs2OExyQF45Zz16eiooO01uPURGRGIlKXB2OFppczZsbXFn
cnQzMwp6ezhBWnI7bVI0WDRkK1k8QUluJiVobWJiWW5SVDhLbyRxeHdyQ0cxWiZZT2ZycDkmNmV5
Rk52Pj05WlVOJShuTCMKelNHWlh3WE1xPjdvYnFaQVd3dl9vI0I4aSQrV0FBaD0jYXprN20janlp
SmtjUUV2bik9cG0jVmY1TDxSSCVmQ2lPCnpjfkxZbXdIJlElPWVeSmtPWkUwdHded04xUHJgNzRA
YD9sN1hKe15rI0ZraSFzRFo4MUxxMWVeO3ZKQUVSJXF0dAp6e14+SiMkTWVTd2pkYjlHNXhwSkJR
NmU5bm9oKj9VTjR0LXBfWDhoKEI2fn01TyhRNTRvNzJBNXJAQXNnQTkzOygKejtLTS1SOGJYMTZX
TDYkKTc8YD4jPXNUMSY5dHArX3tSRHBJT1hBZ2xNVDRZNmRIX3lzR25WO34hdXdrcTRiby1wCnpO
fUBCYjMwZzZYPj48a2ZNP0Z7b1B7JHVPbihAeHVEQG5HaUM5Yzx6bF5AV245I2FIdnlUYTE4Tkho
OEFNZmEmeAp6Ul5aMChHZUMzaFkoT0UhXlJGMlhYJmt+cFk8P0l8aW5uaTFnS2c8YDshSmdgIUpS
WXhyT3Qoe3EtSHRpY2ooZUwKenpLSypWUCl3RjQjQipTeXFDcElDYz5YODlDfjNBKT9JYTApZGwy
OUIwJU9vTyRjbUFIP1YhNmhsMWdNfFBecHplCnpWNE0xT3h1fXs/aSkoO2tTXiVFPzcxIUF4dW9p
R1plP0tDb1k0X3YySTJPPXxoIXZiSjgqNnBXVXJZYSlFJGk0cgp6NlUlXiYrMjEzZ3Y+OXpXWT81
NjYjVWZ6R1RrcT91dVh+NF9eeEc7a2Q7X295c3BLV3xSb0hnJFdyOzM3aldXQVEKenZiMDByYWZu
O3xWJGkjMUMqRFlxVERPKks5KjJJcUdleyNMMkd4dyFhe2U8ZiNzYDNne0djKFo4d1NUTi0/aldh
CnpDPSkhaUgyellOXj5jPUU1PyFvPWJeeyM7TUdpNn4qPTcoTVJaTDxlM0Y9O3U3V1FZZj5waCRn
NSpaY0BxNGBhVQp6Qmc8YnZtJVBDampjUT1RX2dZZjw0YnVxRWF+ZDNaQigjemtkNWl1RUFPdl5G
LUNscT5SJUt+ZyQ/UE8jNns9JWMKem07WD5gNWBOVDIpNDYmQV5MbVomUVBeZ3IycypDOGshdDNn
KWxeY1otQG9xTzNRKTgrNTNKe2BwRUdSSDhgN1NMCnpFNFpxfE1UPVFIMjNjLThsUkM1Yk9UMVI/
Y2Y4bDhuJVpHYkpAOW5FTlcxLUAxZWcqJUEkJUhtP2JnbTN5TnxVcAp6ZyhVVVgldzJ2RkVyantI
bXF1R1J7MTwqemY/bV5vOThWc2FhfDZIKzMqcFo3aU0rbD1BZXJedGw4UHtmZmZ8XjMKeitad2kw
cWpIeVdfV3NHP3tRJTFOMGk7UjtVSyQ/cilnfUZHe0ROSU1gRSRJaD5gJUM2aiM8VmkhZU5Zb3hF
Y3pHCnpIaiV1TjdAYyRnPng4WSg3YEMpSExwNW5kVGdiP0Q3WWZANUhsMkhrYzVafUhHVFo8dEgl
PklrbTxSNi01TFMjMgp6MlhVNWEwMHl+ZytOfUYtQD5mJXNeNWU3Yk8/KnorakBLe2lecDQpSXFs
UVpAbSs7M2c0QGhAQmdII35xdU5SJTEKemNVdnxtWmFzZWN7SEhwczF+U2h3PSppPVdETlp3NVVq
elMtdDxEbWZxYH53IVQxTHpoWSU5VHJJPj9oV3g0PUtsCnp5b01vUXc2X1UhUCQzMl5ZbHtfdiRh
NF40ZVItI1FeKlM8Z1omU2ZuLXs+V1pIYWR3bEsxMytxKlJsUzUqWG1ZVAp6UVkxe3UhS1JMOUd1
NzctdWlEWXIrODBKM0Y3RFAtN2BXcVFMNkMwNiE0MytFTUwmUjAwSDhITHA7PTYmdyhse1oKekkq
dzgrQ2VCaGhfLWVzN1VpPC05NW9taSt5Xj4xbjA3RkI+OF5UcmBUOSh5aWd7c3BqI2RWV21eOTBg
blpNYkopCnpnMUVRR3dMM2A0ZzJAKFFvT29LeT9AQUleclVkVjEmKlVMUylXfT1TYz4penxkdXA0
JCEkKWNHMD9jVUZZY21CRwp6NitPSXVWZFRJSlV1UiR3TTI+SjtyMDJOP3Epdkd9IzBzfTFPa1My
JG89JiNxQEIpbTQ1c3NqMCQ8UClhUmAkQmEKelotY0tOSTQmWHtZfTteZnApQiRNQCR1Mn0/QX5C
V2xiaExaJjlgJExzNjUlT19tVGR9enBoaChAREAze0RKN3ZVCnpxTEVHKyt2Q345QGFiVE14Z2dZ
ZHRfYEZROE5RTVFYfDVqQ19AeTRsYklhPlElYDFCNFJ3KHtmcyk5bXckUH1YZwp6e2x+M3YwaWdY
cVAleHxfcmxNfnpQLU9WK2ZVfkNUcVIyfFJENGBrUz1sZlB0emY8NWNpU0RfWiZnK01Ncn04fGkK
ek80dDVkYHp3SCQkTm1Rdnl3JUBZVEJYLU9LWWg5TURHMzQoTWRZTThMdVY7X0JnQEdVZUNqKiVH
VSlJd1M2YD8+CnopU0dXVzBoWktyY2k3SShuaCQpS3hJISpCeXFZUGJea1pEYktpNyNAQDloTSlj
REdGTF5iVExKcl4tZzhSYC15Ngp6MUExPWAocnkjcGJpVTIkUDd3VnxoNlk+JV89K2RFbEc9SXpp
Yj97ek9mY1lHTWVmK1U9NXQ/e0g8SGdXR0g7KUkKeipiKUo8byUyZFE3bSlTI3VROHBtYE1DJnA7
e2BEeGIxZng/O2ZYWUpzITlwVXQ3UX0jeW5afmVRQ01wQFdwKWZoCno7Snw+O0tsMmdsRVJNeGwr
TDt7KE5TKlhvX09HX25LJU81dWdhRldgQTNFZUQxcTR1YGUhJCVINChIO1ZRPVpRRgp6JWJPUiFF
RFZ8VzNVM2MrJHYzU3ViZDBfYzJlND9wdVpUWnVjd0diOGlsTTxwX3Yhb15SNClqM1RJZFNFbXlR
fDQKenhPVyRMZTNwbyoyQGlgZWZ2U2d2T19ibDxqOWZvJWk3Zn57PDFeT3xabnR6cmdNISomPTl3
WGdKK3t6REcoczVGCnpMSXpQd3lKWDleTSo5Pm02YkZaY0heTlYxeThXdntGRnw9YTcyUGVSUTY8
I3NFTFgxWm9ifXM+eUJBKXhBQmMzYgp6YSF+YWloPCl2YDshYGRSRSZvUUBVTUwtVzJJbE1mQ3Ey
WGBwMnxyZEkpX3Y/NH53RndAc3laX3NuN3FOWVN8VVcKejs7Zmh6SnRWN0MrJCRgUGwhTSFDSFMq
Zj9rNCUhdHZQSSZ1PUxZPCYyMVViPl4qVDE5PXpsWSEjKDJ1b1ljQnY8CmZeV1preHsmIWVBcCk7
LSMwTXJgIWIxM3thNVAwVlgwUSFGYmowa2I+CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvdm9yYmlzLndlYm0g
Yi9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvdm9yYmlzLndlYm0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDYwYTdlMjE4NTZjZTQ5ZDdhMzNhMzQzYjc4OWU1ZDhiYzU5ZDc5OQpHSVQgYmluYXJ5
IHBhdGNoCmxpdGVyYWwgMTgxNjEKemNtZUlhY3tvK3l7fENERUlVTXNtJnF0WU9BflQwNUx2cWFY
UHpWdHNwJHoqTk4rYC11QSZ2fjgzQEt4Vih9O3tJCno1a2gxcldKPF96PyQrbn5gK2RLXmBfSH00
XlNrJC1gYHJFUHYjbnZUPjl5VyN5QCZQUWNudjJDXll5UDFBcEszYAp6dz8/NFFVbmZ4TyRIcz93
b2pJPzZqZXljbUFmVUxkVX5kUTxUKnFJcW5CYG4tR0pCcUVeKGRhaHhhX1JlVj94MHsKekY7NDRC
S097RDZfQjtqMlczXyhlWlNePm8rMk5sa3p0d1hqR3hxcVMjZWVEbjR1N2xyZjgla2BzflZ9SEN2
aTtyCnpJNVlVaCQ8dnE0cztKNFM5K2d2NlBfV2JjcEsqaWhpTVo2RHpyOHI8eldKNVBmNGF2TUpW
YnkoLVh5WGQkdDRPWgp6PjdDM2FmSjMjcGFpSWE4Un09TnpZfFNuOGpqaUdjc0lSeTMzOD5tYysp
Tl5UUHskY2gwQG1ZIWBCOVhoMENYdVoKel8+NkRKS2BQNE5AeGRQZTtNI3ZHWi1DSk08VDQ8TWY0
aXFEcipgQ15kazFlcGw+Y09rPkwwVSgwMWcwPTVOQGdDCnojVVkmVyUpSSh8b0BzdmxVY1deaXtn
VylRezdOVUN4PG9fTGdvfXYhaUIxeFB7eGxuS1B+ZShnSUQzNE85PF59MQp6c0o4dj5JQnsoeGwm
RnJSYDV2Uyg+O0tvb1B+OFd+KXVSQE9wSEAoI2tERjIzOypVMn13YFdHdT1DU2NpYFZIQX0KemtK
WFd2TU8yTE5hVHhWXntgaStONT1wVkk2Jmc2PkRPNG08ViF0VkxlMms7aFB0MS1wUkB2Zj5fdHAj
TntIRn5PCnpKKV5XWmo5diRLe0JiPmAyTj9BUl9WX05uUXI+dGViIXdxX3RnPEh1TkNTWlFLcUJk
WjFUOGFmNEszJlpmRWoxTwp6LWhQMzxeQT47UzZNaX5zMV93JDYzX3kqJVhPdldBYm5+MGhaNHJt
dHFKUXQlPipYP0NIR2dsVnpyfkZKeisyRTgKelVTT3lDVGgwPnpZTkE/RnYzKmpwUHRzaUNQM3Jp
b2s1Sz55ZkM2Ym9gSXdjfmk0MjIyWW4hM0VeUH5UOUo3c3pDCnp7NElgUCRVTllDd2hXVn5mYWJ5
Y29kPXtGRmlWb2NZeHV1RmhQaDFgQUo5fiZQdmxNJDlUPkFzb35SNHQ4cjRTSgp6JlBpJWlwVVZ5
RD9WUWIzPl90S2thdmtXaWtAeDB1VWxTY0B7fFNqZGlSak9rSSFMP0ZgYHRhNDx0LTh0dEI2UjsK
enpFTypXQ0BYdyNXfTd9aUxQbWBkbU59KmVYKDB6eXtlQXArXlBOQUo/STJwKCh3TFJne3t7KH16
eF9VKiVsek4zCnp7QykyKSRqRXFjJXZXIW05K1JYVm5EZkNOWEYwPkdeaiZYclVWKC07RT81N0Bg
KzErRDM9TH0wJW5PeiM7e08xUwp6MHl0e24xYT9jS3w5WUhCNnUhekd7NyYqQUcxZiQ/dG5AKk9R
a1Rycj8hT08+I203JD5IUiU7IUdhcisjY3hgRVEKelVnZVgkLSVzX3E/Nl95UGooISFqbUxgKEw4
SjR0dkB4dm42PnRsRjQoPH1+Wks5ZVo8RmdLVzFzYE1XP3U/SkhGCnpmY1lCI2RsckZ6LT5kdzZF
VFJeeSRTd09wTiMlbztwLXJnUVAqJGl6ZVUjSTFnM0QmcTd2JGF3SiNDLW08P3VpNQp6ZX07fCUw
RS1hJktMZTNgJU5eM0tKfTs4Tns5blVGQ0tMcCpwWkg1fSN4KXxRMTBwPkdHVW5eYj00eyMpPzFt
cWQKelpRZ1VaU2c0LTJJT19GNSNsYEJWaTtlQWh5UjdxMGIpbG5veWhiO3BDalI0Z3E1MztTUnNi
fF5BQ3xtKk5iPmZ5CnorRCNFLW9LSkBveituem5XWVV6eCYxdHBVQkY0OHhlUSRlNVdSPjJfeyhk
aHtze0hST2ZjZkIrZ0RhXmRKZ0Y9Xgp6c1drbE5lQnkxTmRzKEdyKzB5U3k3TW0mO3s7ekpqelhV
RDx6KHRXMCE2R0x0TUdQJkd6K1pHPmBVNzxOVW56PGgKejJGcjh9REV+OVlfaVdrLXBtckRrKik7
dyYwUllmPFI8bjEjPVFtPiY5a2k2U3Y2M0NNRyNzP0RgTTxpJUp9OF45CnpBOzhqckd6Zz9JVGds
NDQmOEE1ZklXdXRYNXomTCphPFRZe2soNzZCe1g0fTM/cGp5Z1laKF5JU0lSXkBsSnZTfAp6aX4x
JFNEbjQyM0MkSmFZXl5vR1FXVkEja0Y5OSVUTHo2LUx4RWRNY3spLUYlWTAzPSFUMT9mLU8jaDBE
bjR4OU4KeihhTEAzZjVyYmRle2NpSnhPRlkkeyNQWVBMbn5TPUQrVm44aXAldCZtRVdWYUVSZnlm
ZXxgTyorcDAjfEdHT1Z+CnpgajU3ZGhQMi1RS1FYVFZiIVkkbzNqVioyMDVpaHNDWHRgSkZndEl9
QSZ8JWhme2EqMlhsXyZWcHBDTDkmRWlVNAp6Q199ZnNeZ2EtTTcwbXZQZyRSPE5fV18jKGpGRjZm
PC18aygmYnAwYzVQZ3txO1VYbCVoeGZuTjVie1EhdlR6YyEKejtheEcoNXdwWlkxfXI1c3wxUn5Q
QSFLTGZNbnAxZGcjIUJqP3ZxLVE3WDt2R3dKYnk/eEgpYWwzNG5jO1hjN1NLCno0JXJnT00qcUxO
eyUzPSVBUTEoRUIjO0slcFU2eGlFc0F2M2ZHbzs+RXd9X2lNdVdVOGFuUVNKSip6VnBVfVdQKgp6
MFNmPnlaPVQ0UXVeSFlqXjM0YGM1OzZYdVd6TyFLSnJ8TVpgKkwwRFZBdjBRdlk4RG5sK0Vzel8/
QW00bkF2YjMKel4yKzFePn5TVHByJEVCaCN9cSZ4MV5BUUJJQXFVODxjVE1obHg2PUBpe1gxXkdi
PGI4K2EoY3NoX0t8RlR+Yn5uCnpXNDVrIXpAbl5lWSFkI0pUd2VZSVh+PiklZER+XyVeeUAobE5R
Pm5ebipLS1chUD85dylDSFNWOyt0SndVUzNJTwp6Vjl0KXo9YHN7Ym43alZLeDRpc09sTl9fekwz
Tj1uNHchPTttTV4/aCFyMzQteCE3ZXYyU3BafFlVdUdjTHI4dj4KejdkVks/YlJub1NAKn4xKzNO
YnhKRCFLWjdKUks5Ukt2KV9ETzhgTFBFQDhLTnJ5d1I9I0xXOXZCJVdQZ090ZzV3Cnp2Syg3dlgo
YERPWiozd2FUOXsjWlBTUz9pUW5EPEFSJG9kcSgtTUdUMHZoPXg7Qyh0dzBHMHtCM2Rhd2FfTmha
Zgp6Pj5qPTk7dytYKWlnVVQ/Q1deQyY3LVRIVGdLK2I/cUt2O0hrRU97JG4hMDUxVSU0bTQoZ2N4
fFBNSnVHI2BvJXAKejdpU0QwQCh+KlYpXz43MT8za3JFdG9JamdPOTteNF5mLVZVS2BLays/YCVu
QW14dmt2R1hkcUR8QWw4SkdLfmsmCnptckQoQ0FhYTQzamczbzwld0heakckfGF3aFFSVTxYaWFr
ZFA2dyFZQHpobHlHbEYyfEpRVjhuSWcyM2t5bUUxKgp6MjduYWBEbkxaPipgODM3PGZXNVFfN3B3
Zm1wSmFZRyg7ciNWJURiPmo/Yns5TXBuZ3RrVXVMaExQJFI0JCleSz4Kej5KIWN6Y18xT1VgKX5C
JDU2Z3F4ZUBGanNnPTcpbz81fjlPOX1pMEskM19pbz0/KyhHeWZsN3E/fmNxVTFTOH41Cno7eDZW
NnExVHJ6d3gmakE7RyhyLUApUHw7I1d8NnBrQjxJdExWRVFpZ2ZsOyNrO3d+VClSJlplVzl3bGQ4
RTxLNgp6QjNveWxZKko4byt0UT9CJl58QDZ0bXU8dGE+ZCYtRGFNa3xKfn0yVmF2dF9LRTJ8d29f
dmlfP2hvNit9R2o1TlIKekhgSCNQezwwK189TlI1bkE5aitGOWR6X2xjKzM2OERZPntWSjZUYUBZ
czZBVUBzbCRFVlIyfCs1UFJkdVcwQ3RECnpIISluaUhMTCleNGE8eFcyfF9hblJUTnBLczNUT3Rz
ODN5QmppbWh6MzFfNG5QfHNpZSRJPTh6YHh7RUx7UEN8NAp6dngoJldnQXhaU2w0Tm4qLSZ8JUJp
USojbWVgIW8qTUh2U25PTVBVdCRWQn5wUHFZWTthMVlYYDN5e2Uoa3hXMn0KejY9eHRybU1tczlw
JUlOfHdVbUBCVztkWjBNbHo4IVlaSUQrY3ZnZnM1M29sbkZwKSVObXRQR0xqPUE7M2QyQmRPCno3
dChNRXs8RXVpQX5NZnwzYDxFXyFgTVRgKyhxMWAkMm1ncWohQzcjXnAtdGttYzdfbmsqcXw7Xz42
UkdyQ0R9Owp6ZGlAeyNwKGlDVnZZRmlhWkBHKHhnR34hVTc/RTkzNTVSQzUwQjghekJZLXBzekpA
U2dMe1hnSjEyRVIkWUApI3sKentoKTk+NEtzQHNnZ1g8ZkY5KXBjb3JfJFlhZCNsT2BLZH5ARm9p
SStvKHYtcXJyXiZGZGNfdFB7KnZLVHpvYitzCno3TzU4aTJDI3kzJj42Nj55emY1az5Faj1DRisz
OEVQZlNUZUhifl4rMGc7STJEdkMyT1AhOGVkO3BPOE81RVF9Kwp6QTM3fDhZfiRlWGoqVyFAMTtz
eFMpal56czs9cDJueUJgd3JGOVUoTjJNUEE+XyphRDJ1PClBVXNibDVfaEwjNGAKenstK0I2LXYh
UWlrZGkoQXQrTX1qUzwoTTJkbCU4U0p5Y1c/VyY3WiNmYzV1MV5OK2dpLVNOUCVGd3d4cVFxUzdo
Cnp7Rks0OTM8VSpeZ0lpSGZMRSkmdi13T2J0VnxBZ1NXcGV+al9AMDAkZ2ZqMX5HejMrOXVvMUJ2
bTR6QShDNWQ8VQp6bGpfQmVmVkcoOSZpIz5eQHRpQUNiMm5jI0tKZEQpKnQ/WTQqNkpEUGs7fnc7
Tmo5d2hNaW0kKUBOe0JBK3JURXUKejtnb05HZmpUSmNBXjxlKGBFe3crXnd7cVQ/JG8xd3BJX0JT
ZTBFNCZaQCN8V2EpOVk7dz1JNjVAKUs9I2NIZWd6CnpQc2d6TkpaSHBVTXdhJUQ0ISpsO0MrKWlN
dE5xSlZPXztBOGQ1XlBEUG5pSFBGdDFlSWQrODNFQFZFKDQpbmkoNQp6NEtQREFgSmc1eVFIWGhE
Yy0oPyFlMS1HYz9YVTROTUYxI1ZJaTJlaGM4UHVeb1JSZEpkfE9TaUtjTU8yPHJ2PlMKejspfFlF
UUA2KUNmLUpTZ3R2a09TWmE/M3NwRlZlfkhGVlEoQ34jKWc+R0lGSl48MUdqOGJUZXQpPlJ7T3lQ
OUdwCnplRWVjRUY4RGBLZmA7dTRGcjBiQXdDM3NFQGN+VnE7Rz8td3ApVj1kV0o1bW5WQis+QitJ
ZXctVWpWN25NVSFibAp6citIO1JYektTU19DJlVUJmQ8eEFEKndPfDh9dEQ4d29OZHVOV3RYYHZx
JmFNOGZGWF4yNT88QjRUMW1Kd3hjZXEKekcwRkJReDZDbm5ocERyQlcpa3dULVhiRXZfPnwyS2ZV
YE0tdkJ5TEo4XnN6bCUxJFZNYDImd3tsUFdpe3MwTl5eCnpgbXJ1PVp1Q2hFMFBgKUJmWkZTe0or
UChOTE1YT1NQbFcqMztCayQmVzczQXs5UlZ2Pm1NbktxJk9ASiVGWWQldgp6SnlTQXApXn16N0ch
KTwmN0o4cXVQWE5feSh5TTA5ZlJrezAmTV5LPl9fI2cyaTRqN30/elc2PmNZYztpP0pLRH0KekVD
PXdfSUgyfVAtYG5ZclFiYHYpY0dTYEBuVUQ0LSNFK2haYWtLI0Y8bDY7a15gIWVqZUhgRislejBl
ZHNsJE80CnpOKShwS3ZMcHtPR2E+UyVOWHlPYno1MXNGJT0qclFHamkxcCFQR2Y+U3JCJmF3fDYp
SGtraWJwRWRBWnpfM2gwcQp6djc9PzArJCp+Uzc2cmRYPXEyUmF6fm5pZzMlfl94Vjg1QkNje3lH
JF5KOEM5QiM4MnwhZzx8V3lIKlY7aHIzVkMKekJxWWRTWCREalhRdHB+NEl1UzBMMitGY1p1LSFz
eSEzblR2KSNARW8wfFF7UnJROXtLYUE+WnE7JWNFZHdedFRMCnoxKjljbT9pSW5mUisyNG5MWSk4
elpkd0UmMS1FTDViQGF0XlBMQCUoUzw4VmNITDdQOT8oVmZ4Jm1IfiFNaW17dwp6Jl9AbXllWkU4
N2gmcDY0RUlSTXNQQjs7aSN8eCVae1lMMyVmc3A2Wmx9UXRRZVN9TjRlWChQRW4mMCpGPiFtSl8K
eilHdkw5cFJQcG0oQUZ3U0U/TypXQ3pocG9fZUlmQzI1VnQtTWtrOCNTNUd5aUtAfjZuTWxfRkdg
b3IhI0Joa3xMCnpSQ1RfbzE7a2ZMYz5CeGZBZFFRZkp4MnFGbU0wQnh2TWxoK0JHdChAKkNeJGo/
a2A2WVBFZ1V+MiowQHxBRnZYQgp6Xm49UWYtV0JaKWtOZ3UyOUtTYT8wKUhLRXFwJlohdU5CfEJk
el87UiopcjNnZGpkcCZJXl5hQWdWeHVlYVBZWF4Kemp9cThhWl8xUndabkc/RGd4NiltVSlPSSZN
WDFYWnZKeGwoN2QwOWVFaDxVUFFPOH48Pmo0VT0/JUJYdTxUaVRICnpnVVBsVystRlJxbTY1WHdM
VH1SYEBNI2MkOS1PQ3ZgUjR0U3taTjQ2bVNiYWZZcGckc1pNVGozO2hwUUY/WExxfgp6RVc3SFNL
QyVBZCllZkhuPH0kLTRiKj9jOUVlMjN8V3c5PmNFfmZMOWYtUE08dmE7dmZHNlJISWI9TDNPLWZu
VD0Kej56bW85WkVyTmdLRCkxISswI1NNK3hTZj52KEBPZHI5YENwe3EzbitmZ3pDKEtzWHc3Z2h3
aCVDTkU2PDQ5eGtPCnpNfmlEKl5AVEVJcDZSUTZ7MnBQWDBVK0VIO25lKngmMGpPN1hgNX1eTjgj
eWQzYXgtU1AyOS0wbk0zTig3b05QSQp6a3hnK0kwdyNDakh7MSZKb1dlQmp0cXkramNneXA+SDZk
UHxUK09zKmU0K3pYbENAYEsmdX1vYDBjamVkZDsjP1cKelNRfnQxMkp3ZlUzUiQ7V05QbE8mTn5m
UHdoTCQqVXkkUGApJGl9Pyl3Kj04PTBNM15HNUdUc1I2UExLczBLbWlqCnpkdigtNjJtbTw8PzhR
Skp3Ym56clExMilLSUtZQlp2bWNpIWpEPEJPSE5XV1peMy01THFGSl9MVVRDTVRvWmA0bAp6c2lS
dlR5WmBNJXpBPklxY1BXNDhKc2Y/TyVObnBuZXlxbDFpX2p4SG09eW0oPHlyN2ZqaUozIWZUWjJF
Kyshc2YKeiVnZTBRUmhuXyooWk4pdWxvRXI8QyheY1R3UXZmTVI8cmVzVElhKGtFUlZlTjxnJXU8
RjFwczE+ZW9kaF5rd2tPCnpsVS0/QXlsMVQ5bmEkcSVoVVBycTxjcTNpKUd0ZTI8KSEmbVlZYmMk
TDUrKkxfVT55RzdnXlU/XmA9RnJ3b01yUwp6KSNodHVsSkd8eyhSbnR1VSNrO0U2dTs8KlIjKX5H
MEI7cmdwNSp5Wl5mfFVPUC08VjwpeXc8NXVuZFRKJkhBYXgKel9HZ0YjWUxhPHBTTWYwX1FReClB
MEg7XlhZcVlqfU8mK20meSNkdUBATClTQ3Y7ZkIrWn5fUU1xbHNDJVRvN09mCnpNRSVISldQX1VX
T30hdD5VWl5LZTA3MDs7KWJUTzlCK05edVIwfjxHUE1pLXliVFAwLVlQWEJ8UTVyQ3J5d0A5eAp6
VDJsbHN4clJmNkphdHVvXns/U1lsSmVVT3gpYT5VU19PQkhpZ2Z1fWsjOE8leG0xSXwmMSVWSSE1
MkEjVDFHIXQKem8tJEUoZF9zSy0yQGBieFhvbWBLTWl7PyVgSE1kJSkrYnlme1VfISlGRXZENUpi
a2FIPTdeJE4jQ15pVTlaKTNRCno4PVFUYD9hSHcqVU9XQGtjWlZJRDBZQHNxe1RZMTVTbGVMdHVL
KHN8d1ZQeSZ1S2lFJTlreXkkdWZiTGRRZUhoPQp6Um1IRyF6OEZMV3tiWSN6ViM2IUNleDVqPUYy
R1B+a2A4dWRjMEl9TnFqMlBZIT9XeysjYmBiTnM7XnBTVTh1ZFQKelB3T0JISUA7X0M9JitQKXNU
cUBuZkU1QjFzblM5blhkKUVfVGYwMX09U2xFUU4kbHxuZUU8KH0wKWAzKjxuYld1CnpSR1I+PCFM
RU5xR25PLWFFWl5BNHdoemRYQ2lLYFAjdU44aWlNX15DWWpIc3JNOS0yWHBOeT14NTMwPWJ7PDxI
TQp6Y0xKTEg/S29vN0EyaipGTGZ+fnFKUjxZZDlJcmhLZyprVSNkKjhpQWNTWkxsdz5kVmFobTUr
dU0ta2grTkpmZU4KeilXNnNDe1lpaCZkM0w2WVZnUnQ4K3NsPWd8OFdPUGhATG9oYGotSVF5fj4h
TjJ8a3V7eGVKPTxkKDNnMCg0Y1hgCnpIe0wkO2kjXyRuUWhaP3tATkw0VVBxK1pgVztNRHE9OHlZ
U3g8fCZUWXZiPTYzZURiMWQ7Tz9AbmpJe1RkVmBLVgp6enBII0oza3l3UHNkKmVNKkx+MyNwMWt2
NVUrN2FYRWxLWi00JVpZMTlUcVZ8KSExRm1EbV9tRFAlREVNVXMqbWoKekRVZyFIJDMhS1Y9d1Fq
VnhXVDVmKlZHQG5YKEJYRz8zMmd2VGcqV2w+eThscj4qSWlXa2JFM2pTNFJRbXlBI0MjCnpUKyNy
RFIzYj9MZDJsckUpekBLJVJQZk8mRWFqQipuc2BffnlwMCZtQHB9aX5YdU8tODxMeFl2IXtqKDJt
Y2gmcwp6ZXQmfjlkc1BgVWJrKms0Z3Q7cmN4JDI0TXojKE0hZjsyYzdRcDRZO3NIcFdMOS1sSndE
bypxOVY/KjFIeH5uKWIKejJkJDRAN25TVmZofUBgV2ViPkdvVlohQkw7TV5uWiRFMykxYSN7Tip7
NUZfZXolWFo+Mz02bHpWfE50KnkmNSV+Cno7c1Y+ZkNiIzt9YHM/enp7dDFJNlZxUWl6ZSFNOX5S
VUFzKCRQeExLMzdrWFpOZjNpWCZSaT0tNCU1cHc+NmdIJAp6LTc8R09mX3QzfWx6QUpzc29nI1hf
UVE/Iz9JTyhwNiN6eCM7dkEhPlZyO14+YVdxYnBaWDZYNEJ+PGJBVXtCSCEKemUjYSs3KldWRGl0
U1NWSUxDfDY2JnxrU1YjST5DfT8xfDwxZmUyKUdeaWVRV3NIYUsqYnFIM052OW81TWYhMDBBCno5
e3BZRUx7dWppVlV6Q00mRmhnfE5scShXZXRnclBzVFFzWUE1bWI5b1hlJCkmTT5DfHFCbU9sPygq
fVQlJUJsUQp6a2l3PTxZZjRKI2R7TSsqQC1PRVB0ZEhCLTc1VG5IbFkzVVVLNCU8ZVhJdU03Kkpw
KXxvQTdmKk9QRzZIO1k5JXMKenokNVlJSlo7Q2xsU301YjI4Xjk2SnJxUmlZZFY1KmdPV0wzUEJf
PGRffX5mRCRRNn1ZKUVYOzNJKmdqTXlWaiZ5CnpMTiMzJXZBeTZMP1clU0t0S3Y+OF9gJHRSOEdk
dV49VXFHVVpeZyQjTD83UVRvbDg/WUxSNkNyKCpVJWwzMnUrNAp6QChQU2BVb2FLaThZP0VEYUlK
X3FfRzNYO2M9clFod3tPd0xYdnExRk85UHdtb3k7bWtQNjl4RkFlaj1UKSZ0bEoKemJmQzE1ZW1l
M3AwNVdtc0xBWHA4dE15KGMzYiljRDBLcFVvc30hTks5QHpETyU5S3JzeVlBaVJkXnJkNUMrViow
CnpQRXdWczZWe04xUWdfKChYbjByWXlWU2t3N2xeMFJPPGBwYj03VXlmOWxQcEFDIS1QfU1iWmBH
QVZ5Jjgrb3t6Sgp6TDs0cWVAN1ZGWU1mZ05JNUUwJEA0KENDfEprb0pESHVrd1NOLWREd0Zlfj13
X3JPeHUqSUFYIS0tR3FERTIrQlQKejdtWlk0TE1UKmM/JVBjS0ZhVz1pN0okZCQ8akt5P2d4eGB3
dHRjV1I9eSU8bj9MRmo4UjBXc09yRlkmNj9Pd0FKCno+YUViKnpJZ3BsLXE0Mzh3QVglMml6PVdH
LSRpWH1uKXptUUByNCZiK2NmUmlNa0EhM3JaVzN5c34rV2heZ3B6Mgp6QXp1fW5xeWo0JiFYYDNr
bX0wajVFOzE1UUUtSFgpUCVPPnkjPzZWVF8+TDszKCgrSUlGbHRLKU1MUGFAVXtNekwKemxAajFp
QXlqc1YwS1VRZEpoS2AzJUImKFdvVnYlS0dSSUs0cSlxQVdacENIfjV1KyZXS0NKdjhhfCFQMyN7
Q3tECno2aDhGYzUzazlFMyZ9JFBJVGBRb0F8VyhTRmJNbFo0KFladiYpRWZqcCZtUFhFPkUkWXs/
RX14KW1MJU1IfUlSXgp6SEhmYCgtX0hHdCFXe3c3JThCK3IzRGxyNzlmZW4jUk19RERuLTcjYEB8
c2xSYEZTfVR4K2FDNjhKdDE2bCFURm4KemhaSX09LTlLbjx6cHJ8diQ8X0JoaGF7Z35mb305MTty
VGlBPD9HPFA4ZWl+QTtueFM/b1N+VEptZDhRLTU8Y0VoCnp7NCFQWkdXekU2dGcqWHVHbVdJUEV0
RUswUVA+UyNEemZxTlE3QypQa0JiXnxYOWNCI1pqVlp0ZVpEJCpmaXgxVQp6ajVgRiZ6UHl1OU9B
Qk5gSHxsKnxXfDRWZksreExaViN8YipHPFlwRj0wTGc/Q1YoQVNoeGhwRmUwTVo7JXJ8bFUKenJ5
IWNqRXA3TTJKMF51dCVufkpsbmRCejs1K1NNVFMoI3lSTDJIPjFqNzxDWlpDaUdPenRGc0g1Kllw
M1l+TmBWCnp7KTRZPnJvUGN1PFhWN21HaGd7Nml6NEJ8OXQrQ0hwKlFKSEVzcm9lYVpZdWxHTkla
RG1OYEFBMlI/dEZXOE9PIwp6UVMkZ31Zdyl8OVRae2dEey0/bFY2YjNJd2ZuVUp3RTEkaj4/bUc0
TDRYO2xOYGU5JjBFIVlpST5FTmhgZzUrMTgKeipQRld1VnRPJXdILTY3VXpWZkVlMHE5VlRJMTZB
YyUqWSlUYUx1ek1hIWc/O2RLZCNRbHY4d307Ozl+Z2koI2t7Cnpqa35wRW89fUhqQVRmfmVkaz1C
YXI1dG5zXypZNkxOTXkyLVpwNzM7by02Nit1O2F4S218P1laMW5VPkNoRGkzTgp6ZmNfNG1xITtT
KDUrR0sxb00tbDlQaihpe043d28lTTIrbE4wKzl1aCRAazwtbjs4UjgwUnJmQEBmfHBQO25JRWMK
elVeKTFsdHwralVTcWRsK3FfOEdRI2JYYmtPOGVBWU9LXjJVZEJfSFRfQiU9fjdPSkJyOSZrK0o/
MUJfTTNsbHR4CnohbmYoTXUzM1UlUz5ROHdZdHBpSWN9aEdUVkNfcm5BcDV3c0dLJX41OHZjUyZo
YkVvR3AmfkxiSGpeU2FtYWheJQp6PV5VdWdYX2RTa2g0VHx3JWhjWDtEZmU3KzxENl5PQXElTn0w
MyNQM1pLT01uYFU5LXlBcVdKZ0txMDVKQkI2TzIKenJrX21KKGJlWVlmbmVJQk9YTW18UWxWYXlG
P2pVO20lcF54RXNaOG9veHtxTj92UWVYdW5vU0ZfSCtPTSF0NXB4CnpGNWBrMDJnI2g4UUhvbiVU
emR0QClGMFg1azFve1hCUzJDSTszVnFtaUJXJk93ISlHYHh1dDErakVkKGZMU0cyPQp6T3Z3a1Fw
LX1QYT13MWVuVWU+PFkqMy1fWCpCPXZFNW4mQ3ZuNURVKSYtIUdPO2JZaXVKS0R7NmZzJVBXe01O
WisKeiZGTFhmN2duYTVGUWlMQEYzRFEzUTsmOX5wT217WTRKTk5aO01SfT4yTUpHVXB6eCZuQiND
Y2t0JDwheWdQV1ZSCnp3SSEoaU1nUjhpdFQqNGQjNmZIemRgaERYXigrOXA/MEJuU15DQzE7JiY2
PjA7YSZ6S1hlM3JgOUVUZDUoRiYpYQp6VmpHIz11VWY3ajIoNz1tMmN8blV7SmB3akRfJSFIa3om
eUoqX0c2SyQ7fFBqejJFQmAhQFFGUzhecHVBQCt7MlEKekpWKHk5QjM5eW5lcUAzTz8jRDYxQHxC
KD5ORWJwYV5fNlNgdGkja3tecyROazAjdTxNR1hjX3IkN3pvTHNDdzN8CnpDI3lSZ0RhTXtXWntE
QktkO0U1JHlvNCoyOWFsamxtRnhaO0tEKkNhS1ItfD41aWs1Xjs3RTltTipQd2V6bnJ4dgp6RyN2
VTFRXigpfmJBZ3lSeUkpR3JyTitLUEVnYThjZip3K3p4QGNNTHRQRUxNZy1UcU1NUE9ueUxwNj9k
SiZvcG8KemNXOGhXOzIqPCtxQztEaUtmcWBrcmoheSNeR0krV3VXUWRSaU9PKU1ZTiZaNkZ4PyNG
TEVvbCV2ODBiNTAoYyp1CnpxKz1JYG1TQFpnenBtOzs/Pk1oUC1GKzx7QVZ1Y34ySzx5a1l5QSRZ
e195I2tDKmU9eml8RC14SzVuKWQyZ3E3cgp6TiV3c2I2KUloQmg0PU8qSEI2Q0IzMnM5JWQtTW8q
RShUM2MwPXFffmpHVWxUdzx0bTZefHlRfTQjO1ghQVZCdTsKelE1eEhkd2hNZ05od0Amd2EjajMp
NzxDRz1KOGJ0NFkrfmFMOCFwUSgxYGpAOHhzRGR5JD1HSEN3Rik4ViZxO1NGCno0c3NJe1JlVXIo
dWVEIzgre3p5SCtNaFVMLTA/QDBJV2Y0ZSVYI1JPI0k/aD1uY0MwNzNWPyh9cjxyTHYoTXNqRwp6
JUV1SiM0RTJmKFUqbjsrRDNPfFRyJDVSe145cGg1NCFyMlJiJHhpLXEybG5eUG9BcVlqNSRCQGAj
LXVLRihPcGwKelh+N3gycmZjYWQ5PjNnKjtzZ1orQXV8VEEwPnJpVXttPk9FeTspTWAwPSt8Q1p+
diRPe0JDYiR7TVd0cmMpRCpXCno5bWJxY2JvWjAzTjRqY017bG1FQnc5ZT96NT1EOHxpP0U9SzJe
N0lQOCRrdVN3ZCV+bEwhbD1GYHxBJTReeWJtawp6cnRyaSN7IVZAaCFxbD9ieUFlSU5gdyhyJVgj
bGhhNUFsNGppKFB1cG5PSU5ZRV5IKH41d1A8X2FsNnhwT1YzQV8KejkrXzlRWD5YYG9pNlRQM1ND
OTdRY0d1cG8oO0dWTjluKylqIT1GPnpEQH1CbXgxQCE/RGB2X1QpKUFtYyptRkFjCnomYVVeQns4
Mis4Nz1zKmQ7NjdtNUpFWGwjT2x+IUokUUY0PTJhUzUwZ0RYeU41M2g9fU5EWjNNZjVJRno4M1F8
aQp6LVNkQ1opfGZaMlJKREcwdjI3Oz9sWUlzUCp3NCY7S2ZoTE84Ul5zeXp1STR1UndeQ3x7UEN3
TV48fll0KGhAdVMKekxENSptKms9fHtVJFBYU3h8eW9EdXt1bWBDQ1V1emVIcCVWKi1eWHI8Nko4
RD58RHMqYH5iVlRxTiY0MG5LMllSCnpLX3x8OGcyR3c/bG1Qb3JHeFJOM3tIfnNFeHc1KileQGYr
M1FpZDZ4RmZxP3Q+Z3JEMF8jQiVudCF3PFdmN0NyTAp6PG5oR3A7XjdDTkBIcWlXTURRYCY5R2NE
ZV4xSGR8THclbChrUCRiWDclKj87aTVePSZ6cSlAKCkjSiN3YkBLOXQKeiZnQEF0ZHdVSiRWJCp1
cXl2WmNHdXo+KDIhPTRefmUrK2QtVS1pRCRqaDxmeytHIUZ2Ty1uKCVIPUM+MytjZWF4CnpyckZt
ZVNINjVZeGE4S0cyTnpaVUctK1YzU3dlKiExbjRHJFpBPCVVdkNyT2J4VzQ/OUtTPmdLMHYtI0Za
VCQkMQp6ZWN1eEdmZ0lXek99NmsobmMzWGpuMHdNKnl3fnZmJCV9IUh0THgxVlc8NTZfT1N3STJ7
Y31RO3ZhcGk/LUdaSEcKek1vWlh1PnNQWmNEfTtTc14mTF44Sz1wNDtFQTBNfHkpemxXaHx2KStQ
eUprXzhAPUQ/PmFUOHw5T3hAZTlfKyhiCnorcUtlcj5LYk9iRXU+QUdtQSs+dilIX2FxR1Q7JlF4
PnIjfEFAfHRsWjJhK35FXmo9RmVHR3k9WjZSa2cre2U0Zwp6TT5XciFjJTBLdEEpKXVsb0FLUDRe
Qz1kV0BfJVokYGBhTWctZElzTFk3cmolSn4wd0txTi18TVNMcipoIyVnUyYKelYlfH52bmtgaDRt
YzdNZ0E4MktsX3dmYWNGUUE0OHp0NzBrMV47Pj8+NztXKmthd15tLU1HYGNZfH5ZVjhYSERpCnpL
QFBnKkA2dmAyd3czPiFRc3YxRlBsQz4oY0loZzl0Rjx3bXl9cD5TJEd0ayY7YFRQJF8/Uj5ISkM8
aVo5dFN2OQp6Tmh4KVJecX5KYHpUZCpXKGQlMXBpS3UkdFJQfFkqQSkhPW09Rl5QU0xHSEZUNzNX
U1hiSXVRe0k+M0xwSyNkJTEKelFrKW0kMkB1TE8xPWh+UylkRnlKZyN9cCNVRU0qOERnIXJZbXA4
dWh6I1RoQkFqd0J9bm0kPHFlNWRYc2l8MkIlCnpYS25RTm5JY1FjY05tSmROODx4aE10Pl85ZUdH
V3xXZGhvS2s4SXVjMWdIUzlgKGZUNG9uY0QkSnA2VVUqWT8kdwp6R2A1c2dXdmFTTyR9al4mPnZz
Y2kkWWh1cCUzZTFkbEB5KSg0UHo0MEFHZFpJYUVtP3NAUlpTcUAjTlFkeTw0O1oKem0kPmBvJElx
OGJeJFg8Xk1CVWc8MHczVVN2JSRleTdyMU5QZlhKKXNVdUFeOURhNSFedCp3UXpBdEVRTjczUFFu
CnpwODE3dVJIY1RAZiFkNyZVYTNkJVMhRD4zWS1OZXE/fXJJRHBEUj1eQ1ZoVnhlZFR3fFVBMFJF
eUFAXnsqdkU5agp6QDJDd2F8RDthaihAb01WTHRFeG08XmVuRnJvPjsmY2p3SHpKZFYxWSF1eWlP
JFRoek5lUjtyVG5vQ3VQZklHNXcKejZkQjNYY1hfaD9BVnBkWV48SXlleCt1JFkoNUhZWCRPQkpN
KypvWXxAS31rUjBsQDFtcnQlbXgxUkpabDE5JXdHCnpIMn5PRmJCOVBqREN8VElBe1E/WF89MGJ5
TS1sZlVJXkRYMzMrVDUxV1h7YyYjbT4zTlhNKWxpKG8lZCs5UGxzSAp6dm1gKGJAVksjVSRmZ1ZA
KlledE5oOTVnSms2dVUqcFlgcEhlc29Vd2l+TygjVmt+VktDOT0oQHNqRlI4QTlLNkQKeiZaNFle
cXZSZHFDUXxHOHpMdntrRSZSIWNaQCZkJU9aM1g5VlFOKitzTCEoVEdyemo4Zm5uNyZDZEpNXzQq
SGZFCno/KztPKTU3ditiSlhwOEkjYylfRVJRT0l3Mj99SmR6UDchMkxPWEF9bjEkKSVJa1hPUHJV
UT0rVWpgKDNhbUd0JAp6SjMrRGFFVXA7QVQoRXo8ZEFVKXphTHYpP3U0Sk1PSjVhdWFCfkUzYXZj
e15JMFpnakFSc0NwckxQK3lIJnF9P1EKengpKihhdjxXfTxSc0FlfDFBNXo1MUlNWCMwWU1Qd21j
cCFsYmc4cH40OFVjTFF3Sj1wZUIkPl9pYXtubD9UNFUyCnpjXlFjNGojej53VEd4UEJZZkkxcmAx
ZipkRDNEQ2E1PHAxdDBNeDhETikhbWN0WHhMQnUmbTwmZmQpV1BacVJ5VAp6KiElcGQxbnR3PXF4
fEo4XztOO3N1aV48JUFNQVNXXz1eeXlucmhiOHYteUQ7Xm92Nz48b2BWQUsxTilSKCVaPEoKemM3
TSRJSUcoJmNETCVEMm9AekpCYWBHYWA4fHtBNFYqc1hlWVR2dVUxMjxxSWwoS3RhXjZ7JTEte1Y2
dHhvRDQ5CnpYP1d5N1UrUj5WK2dCTWFhaVp7ITNZK2EtKi1ZZnYhJUpATnk2SDBtNmlnU2YqVzRX
ZW1XSEl0JGMzRXlJfVd2QAp6NU88QEJEMkYyXkcrKS03bFh3dm4jOUdeU0pCXit5IXAkemRuPmNw
ZCs9MDc7eSl0YWhXYHF4SilMTWw3ViNgYFEKentxTj5NMzFxY00yOGtXPFByeUJWWEpLRktFbj9k
Vz1KMWtLVmItRHBudlF8cmtRRVkpZmR2b2s3fSNJfTVRT2M/CnplaDRGRW9PR1olbE1sZmNrd2VH
a24jRy1DXnVTJTRhWX5qdENnVDhldSV+cW52NGxRcW54STBRKkAjK3VtQEV2fAp6LVBNNTt0b1he
PWNtZ28waWt0Z2BINSoycG01NnhRR1liUEZ2YUtscm51U3soVz95PnEtbXN3fFEoRyZ3OH5rTVAK
ekNrJXstPz91Q0Y4RzJMKiU+V1ZfSCM5cGJZZXVvTUl9VDBwOHtERzlIe04yVihzfWVvUEVQOGlu
emt1Rm96Y0RjCnoxSnpkaiZiZkpCSDxnUFIoJXtwWjRKSk0pX2l0TSRFSC0qST5TO0szYn49cngo
R01iMHRxbEVPUzx4SHRPbjdXKAp6M0oyMUdFJmwzWDlre2FScj5haUdKXjs5cWVpcyFQSShSPit3
MWxnYTIkJHc4UHk/S2txaj5OK15Ebj1DTCRxYmAKejZnJFBIT1JTLV51aVd2ZFYjIVc9KntXMDJA
VGVCX2lAS2tqYCVXMmBrTjlZZUYzb3d3RUR0P31mUDJHKzw+Pm1oCnpLSF4xcyk7K3IhRCYrP2Yt
WT1VNzMzfmd0ZmMxfjkyQEAzUENKK2B7Wi1hWnYhemVJVzxyO35JOXcpQXU5enhJYAp6SzFSQ0o2
fT5ObG9RV2RXMXYpZzI0TT1VUSl6O3hEaU1laVFrZD9naXhGWUV4M0wjSiYwb3NGSU9eKk5lJU5l
KCkKemgpTFkkWFM9c0tUTypTNEl9X1dgRCYpU0ZPQUdfUisyc3JBS0VVUnl1fGR3ezBaYkJTSUx5
aShyMDFQVDZ+b09YCnpAI0xoTV9YfkUkYlNzZnFXKzApcnB0Und+NHsqXz40JWRpI3I9c2liYmU4
QlY9ZVE2c0tFPE14Y3ROLUt4d0l0TAp6USo4UGomNWx3T0NKPi0pam5TWTkyTnskUHN2a0NqciNf
Ujwxb2ItKkArMjxXPnVtQ0h5SG1kWm9DR0FgaEg/T1UKenlXYnlHVEJ3KGV4RjloIW1QPThGJTZM
KHJvQ2NoWTtyO1JEVGkrKj8wY0Z9OGNedT8reGh1M15VRUtjbCM3IUE9CnpVbyhBaU0qU3E5Q298
bS07Rlp5cSFyM3JIPSkofW1FI1hGdG8hcSM/VEZqdTlnZ0JWRUJ6UGcpQj0hNlVyI1Y1PQp6VHxu
emYpK3N6VlVuY3BzP0pjVXU4fjhBJXtRNSZjJk1wQm5vckZeZGo0cD18MiMqbV45QmBobz9hTmVV
M3Y3PlcKenRsN2k2Xmc1aH1edihyN2VZOHc8SGBsbWQ2UnwrdVBma2EoOSlGSl93eilIb1RsTkQr
LVFud002LTZXc3luNHRBCnopd3xLMjh7ZU91ZjEzYGo4WUNKcDE3ZCZXZSZ1P3tRODQqXj1JWCt7
WjJMT2ZIP2hnfU94a2o5dG8oQiZjIVYtSQp6e0ImaEZzSWluPlpxVzhAYnFvSzYreE1lRylUb2E1
Ozx4aFY1Wkx0JGR2ZEZWVVRRUDtGJjJkLSU5TnZNZnhZJigKekdiRU1pMlRtbzFPRmhvSTclJXc4
UGBrVX1rMGFrKSRFd0JeNz1DR2s4REZzVkd4U0NsKU55dWlSTlJWXzJSWGtDCnpaVjMpTj9aezZK
VT9xeWR7MHFwYCljOEdgelZWSWg/MVUpI2skWkg9WlY7MnZANHBoSDMqbVkmP0M+QVc/S1R1SAp6
ZnZBTTZUa0dRUkUzNENwMlVYYzBIez44aWZSKEJQZ198N2lOUn54VEJmKEw2amAmJFhMTzhvMzBW
TTxMc01tJEsKei1FJD1OIzg0fHIrOCZ3RXFzdiRrT0l0JnlUK3lkTylZazdPPTRoQ3w7SmlaPWlt
IXc1eWYjZGQ0dyFxRWFpdGJACnpHSkk9SDQoPWRnRFhAcU9hYDYxWEd9QWc0NnZUcyROPEd1cHNg
fjVQcXs9Ny10KSE+JUJXKTxNSXxhTTIlbnZlNgp6aUsjc3BWbl8zdmp7WkV1V25BVDY2MCtRNigw
LXFDSnt8KEYkN1NjP2ltMylXamY1WXFHQEp1dmRfPUApYS05LSgKejlGfDxseGpjSkRgV1o1OHRM
O0NoTCh1VHt7cFlKXy1mSGNrTjRzZj00RmVTWVAqPXBeSWdVO2E+OGIrVV5kfX5CCno5ZER6b2FZ
NGs0YUF7elo/O31NQGw7Xn5EWUZuTkViVXFEU00zSE91QCZrM2hFaktTJXV+PjRsbEw0ZnxqMGg+
dAp6eU1JSztaKTlVZTd6NilLbCpBXjMqSCQqU0AwZFdPc344O3AhQVRWQTgwQE0oYD5Lazk9OSFU
RGsmezteKEJ7blYKel8+OFgkNW5ZJiZUe25FfUElV3Q/NWY8RmBHUEZ2O0Z8OXtPM1lHe3djSFFn
Y2RBaD8mNT9FeHQ0dj1+aytqRzZgCnpCX2BMRistblRwLUgoWEdKfmNtWCpWfjZ5dXB1Z314dU9B
T1YwMW9EUUZuYE8xb2Y/KzBrMj9FZHFfaEI7XllMRAp6VXg7Z1ptQlQtdENwfDdOckthfClGVFkp
fUBBSkw+Jmd2cSRiR2xjOUNQVHBkMFVEKXIwcUFUQCV5LVoyMEkjJigKelVzK09XVntORiQyfVhF
eiZyTks4QjQ4KFpsXm9LK0xqZ1lLTHM8MHNsQ0khOUkzfGUoVipPdl5HQGRpT1c3P2BrCnpfQlBI
NS1nQyZ0WG8/KG84P3lkUmJLKWRqSGI0bGh2d2VYVDQwMz12WlYwfmlkcUVTOTgyRE5xPSFvPFY1
YURISgp6M0wzYVBrUyNNY3VvUUlQSm98KV9MUDd2cHZRaCs7QmI+KTBfOXw3fGxNdThJPCt2Wig8
KiVmKSsmKj9VMX1PK0wKejE7fHxqKUE1dFpOM018LSs0bSVQTEtMMjVjIVdaMWJ4I2lRV0V8QUpn
NndlM3JrPChKMTBGWnNPJGhzWWw0K3JxCnojSms+U3A/LUdIQ2skNUxVM1FjY0RMP0JEIWw7UyU7
P1F1a1NVRz9idjQjPkpQSTdgSDJ8bSpYUjFKZlZkMTx7VAp6PUU7e2xIbWU7ZXY/K2ZUSmlKODAq
cWN5LStMKCt9NSMjYzNKd2ZMU2JvQFAoaj1zQXg1eWtHPWBiRnJeJnQoczsKemBIK3orZXtuPD5h
YklsJS1RWVl+Y2R0QXY9VlVkMjdhIWB6UjtJKTRWd3NuQmtLek9HJWUmRnhZJD4me08tSTReCnpI
ZGE3dnQpSzwtPjsodGtmLXQ2ZEkwKyRFMGkrZmszPmVyTCpDe35gP2VoNXlEMmM1WkhROEQwQWlO
JnxPTk18Nwp6aEpTQ195Yyt1Y2ZVcVdYY1R3djEhZlFLLXRoWHdKNnJEVzB7UmdISDx2dUpwMyhs
KntkYzxlU0NJc21wUjBeK1YKej0/aF5lUzQjP0l1bGw+bChpej1hSj4zS3FYSCFjWVI7fWsqdjVm
NTZuZClfNyY9YUZBelU/PyhCUjZBeWJLQUd4CnprWiopaitiUWI4MlF3UzhYYFBeQiUlYSh4ZUM1
dmAhQX50aUE9TEFteWA0WUZaS3FuSXo2OXxvP3VNeX5ONTxeYQp6ck0kbm14XmJmOCFgNTcmWVNJ
RyFWJVhIWmM3QVRKPSpEeThuOW9ufDJIal5HciR4akd4UV9BYUR+VDhlIz50USkKejgzcEtQK2dF
KUBMMW1LQGNvPU9HVTtnZ1VsKTZwQUgkVFhSUVdqWnRgPCFRRFFJVDRyUGVBaCg1TVN5I2Z9IUFr
CnpEdEZtajFoVkQ8d3JIQEBxO3hBQDNQQigoKT5RMm0yaSN9QkxCWXhtNVktaXhqd3REJjMjVlBE
SGBhTHJDdHxpPQp6PiZOTH4wWmBzTmBFYVNhRFF8ZnZheVJhZ3tLeForITNGbEdVWWYxPHNgIylg
Zng8VGdSMkoreFE1Kzt4em5UfXQKemJMczV2WGZuJU5ZZn44amVnIXwoNzQ/cVZFJX1iIW40YUUk
Plh2K3NKVGo2MEowaj93V3VIa09TIzszJCVfJW93CnpiJVUoRykhYWltYURJbjNYWmROciR8OXh4
OGpMdmtlVGdHb0Z9RyolJmZgaEVLZUg1OHlLNX1IUXgjQE1DcFIpaQp6KSlXblc2dUU5I1NHKWgq
eTRMMlJNKklyemZ0LWNQZyZsYyU2SDx2KDg1Zi01X2pKMkIkLWBGOUU/VEBCZGJ+KEoKemFFeENX
IyNtMWR5XlVNR2ojaGNYP1p0MU88JT9mfTZAQnJ9KVFGP3Vkem4hUE9iczVGempVPFJCQ2tSPFVE
RDt6CnoqVVAkRGdLQEZxcFNRN1dLNkxtfj1SWWtLTnh3MF90JmpVYypkbyZNMEJoXipCRmp3dD5q
OEBBYCtzSnxHelk2Mgp6WEl8UjctfXtLKE9ZYShXPHx3WnpeZmA4V09tJSZLWVZgYj52Kyh1dGxJ
YHo+JCg0UWtPJXQ9OT4hMHU2JWRmfEQKentMcktXdE5efk9ufnN4dkhYLXdiPWQtVD5JMiY1bGZ6
QS1nJUd1UGhffkMjQyshOGY0YCt3UkBSSFQqPSpXUE56Cnpec3dLN0VsT0xAaV9ZVF5hZGJfNT5t
NmIrcWhta1U1PjAxKWpjNkdZeHBkMH0hbV40ZTB+fT1lWkR6a08jdElPaAp6YnEpTH4kdT1xMDA+
cTh9b2VXd2I+I3lkcnA+fGlTQm13RHUxXjdIZFU/THVQVHBUQiQkYEdka0Z7UkN1ako5UmAKejs/
flU0X3N7ND04YWk8SD9xKDsrMilQfC1iYHgoX0U3NzF7OV55OXRmKSt5YV5NJi1eQkJ+cDRQbj1n
PGIrP2xkCnpebF41IUY0Y1E7I1FoYVRJJElIaGUwfktJV1h3OV8lK0dKPm42RjU8SF53JmYjVGhX
PHkmSTYpYGdqNWd3cVFTMgp6bF9FYlcmZEBjRGUzYzxUeHdraTg1RCM4fShnMkA3bisycGpqKmIj
PkNkOXM9OFJYRys7U3k3dGMjVSsrX0VtMksKej47NCEkVW1IYmhPNDglVVM3fHxGUWY/QiR7M1dF
PUtIRyVtQ0czdWcxPmN4REpSNmVfPUZAZ2t5YHhfN09mTStGCnpqMF8tblo0fV5xK3NIJEU/cXdU
e0pIZUhsK09yXiE+b3c5KCNRM0p3dnszSi1iaGQ1bzYqdCZeNG9ZWTNBbHk0KAp6KE4rUDtUWjJ3
cjFhdDhBUHJtckJLU0RjS3NMdngmcG5vYnRmcjZkXzRAQkhyWnZnQ0w8TiEmUmZGaS1JLSlDeTcK
eldJbyRWeEc3b0REeURhUD5wb0M2P2Y7IUJqPW1AVDBkPW8/SnltP0BUWUZWaDN6TVM/NFlZQCQo
KFZfU0d6bj9ZCno1aih9anxCfk9OYHZzMU5ZVyRmV1VOeFdyVm1PSiVhQVk3JFVMclBQZjs9fCZi
akU+Y3hOIWRGX0krbzBgaWMpUAp6YisxbCY8M3NCMkdHVGY4VXUwZ3ZkZzU0aDN4T2JqTSNoNDI9
cys+N0ktUERVO2d2SGl1VmQ5KSgmfmhHSjhDRWgKejV8R1dnS2t3ZTc3UjJuRVZuYVdAe2d4WEFw
VjluWWkwbmZXO09wdjIxT14wY1o9Nk04Y1clPGI1RTEkbnZGWmVXCno4b2MhVUhVdUJZNUh+KX52
VTRhPWF2S0lCJTx1YiNOWWxFSUVBVEM4PHBrRHlPaEFmKGVxJkQqLXo1Y0pFPSUocgp6Yy0wX2M+
U2whe3ZheXIkOEhecXdgVn0oZTB3P3pCbyRkNGhUc35uTElkRG9fITV0dyoxaT5NTWBPUGtkSEY0
U3cKejR0PXsoLUtSKkttLUNNRzZZK2w0cDEkYG82YUU5UTAzekpqZUdxNkMwe242akxeeyROMUYp
QlJCNV9eOCs4R3s9CnohO28wMXFHI1JoWWIpMGs/KkY3Xl5IZjEoUl93WS1TNENHNkpLej5kaT5t
a1NSYUtLI210eytRSyFsM2VpSyhDQgp6KnMqR2hsbkBIZWhXcElTYyRsITFVOC1kRXlaKzdVN3ZW
LXVHJWNWNjxGfmMoQ2VKUSpRek0lLTIrSGVpajc3MGEKenM2VCNvUnRWcT55PDg2MkZuP2o1QV5Z
JUpRfnJgWk0qRGQ9WnxUe0l2ck53fm1oWnBnITdZRVFreXszNz4kUzZ4CnpkK2ZGeWRBVmgzY1oz
aElLPUZ2Q2FqNiEwMHhUaER3ZHtjSmpsT0QqJF4tNnJqMVpgZkErdn5wYFBFMkRQJiVYXgp6Ulpm
PEtJVnpOYzV0VXYrTGdaP1NwQTxRZTY+TzFPamZmQzxqUjc/UDUwbm45PCoxKnEmZ1lxQGVmKjZM
Ky1fcy0Keld7VDlob0YldyhmbGZsWUJ1V2pfYnAoNkY0d1hJYHJAcXlnS2REa3IocVZzKmBIb1dS
PGlpV31yNlRjPF5idVJkCnpzU25lfkQpdHo3TlI4dEBvM0pGZmN0cHQ+U0ReU3kzQVNLJjQ9O0xr
RXNUcHU4N3oxYGVzVFgpQ2NTVlM3ZEQoXgp6MmNGQStscHIyNWQzR0IpZ24wUXQ0RHB4ZnlvYDdf
WVJ+QEdyVT18I0pmeFQ4dG1eZH5iKGs8MjVya2VOSX0yZ2EKemk1ZHlJUTRAfC1mT3FNJmxAakck
MnVTU2l4QXBMUm9jaHsjKj5UcW9YYSgrJW1vRmZxS0ZHSDZ7a3AlZ00xaXw2CnorVTxnSDRLPDZo
cmNkbTtgeGR9RGRTP15pTTFUYWhCXj8yRXEtdXluJU40QH5oPnx7UVUoc3BzcFdpS3JDM0QhNwp6
byVMbiYhZm5VJVhjfUlCQTM+fjBINjw0NkRBV0BucGZQWT4rMDVnPGl8XmV0Z2I+SVNwMCNsdiFr
dShXejlWblkKejZVciloSSY1bj5sVFMlIWFYV3BpQGQkKSVCMjMoaXlCY3p3fDFRU2s8aW0lZ3Zy
cX5SQ0RNVjh5Q1VjM09qQFJlCnpHc0RUJlZJRTtxU0M2V0ZgZiVsaVItc0Z7I0JFYFpnKWxaYT9R
JW82OX1ubV80e2N2UWVOaCVKeT1qTm8oO1RuJQp6JlEmNzU1fHU/S0h6JnFNWCt4Zn5rWWJoZ2hV
a0dUKHtfYXQ0e2hzcT5sTGJvIy05fl4kbENxV3cpZFBLY3RzNSoKenp1M0UwdGY9NWR7dTZULXRX
NTgwRGFQITVIYkE3bkg4JFFSY1dBTV5XODw4fjI0eU19UT4rTiRTRC0hO2h4OEsyCnotSElgS2ph
biUhS3Z0c29BdGdZJXgjTiFqM1BfbCl6N3EpUmd6IztkSUNjXkBzRStlX2F1Jm5LN21VX0FhM3ck
cwp6ejxHX0xrQyFqOUszaEI1NzxKRnRHZkd+c2ZNIz4zRXtNZX57IWhqMD09ZCtPeF9mOy1Kfjch
X2xjeituTF83Q3EKekE+bW93cTB8azhjUT5nNSYqVzt7SURnbU9OQ0lnTFBtdj1NO2lCPmkjY2pJ
Iy1BODxMQHlHP1c3alFIb3QtQV9ECnptPUZlcExKekAwYl9IOWghRSNfYHF4VHJZbiZvclphN1FN
OSkyd25waz5vUFEpTjI9QnpTbyZALVZ0RU9VQUQmVQp6a1QrMyNVWEJvVGhrcXwwPW9jakdGITBf
PGhsfldadzFwTz9CQmo5aVZwRz5vNUVRclMqdFhBfiUqNzVtTjkmKEYKellYRTcqQ1Zge1cxK292
blltek9GenVuZDAxaDkpWG41PnxuLSNYdjswJiZocEtGOFNnMHhTMitQYXVlYVlNSUVHCnpDPF40
YDtfXj5PPzN1KShKcVBGbCptbXRNPj9sPS1sTWtYWDNLUClFQGM4d0ZaJmtgcWFYVjkxckRLTnt5
dShjRgp6NigmNXskVmVkfGx3eUxXZDsxK2MpWlJIeDslfi1SPkwpblBqYlpPKmReXlltV2BIX34o
b35gQUx3NHNnSnhKfmMKektLUGhxVDJGaWl7a09GO21PY29rd3w+dVV1ZTZERT1QajMhRWBiNGot
Ym9VMXtQZiNvK313SmJ5VkIhI2lYIVo/CnpYMkYrRjk8TjlTWXBIMVN4QyM7QzhVYERSdCYjQzYt
Q08oU3RSfjtlWHJEa24zT0JqOD8mJV8xUHMhKyZKbUprVAp6cFJhRFcxdHUkMWBoNVh0WjA+bDk1
eiZwX1RFRFBRMHEpOE4lQTIxSj9uVHozUGFoP0BmQz59XlRsaWNVRUNgUj0KekBwYn1JcHRZUFZP
TD08PXAoTDNieGA7V0g4PHNid0BeUG0mYlRXVGI0NnhNMF9IUGV5N0BZbmJtSjd5XnkmbDJICno2
cHI/IyslKyNUTSFYaUhaYUpMVkpLfig0VT5XZXBic3c/b151Mjc/e2khfF8qZEA8YyZuQ14qcWwm
eyN6SyU9IQp6YVB3RyFTZH1jeFZSalRpYllkfHpkfF9UV2M2fXVOZVM1PEUlVTc0PnIrMGpgT1Vi
eHxOPkZTSUQ9JCQ9czVMQkYKejFuIXZKKTRVWUhtPW5vXm5pPTUmWGJFd0p7PHEmX1NKd21fVCFl
SHw0LXtxSE1Pej84eUJ8S31hUmZnKmlmU0Y1CnplRVZ1NUNqVU88X0BudW1sUzYpJVBKfT8/ZWt1
VDskZ1VlMkxLRGdEMEpJZUN0OHJuO2l6d35qPG5kS1lHe183cwp6aCZuJj1GPVN1ciNUNzgkNCFG
fi1xamZVejV5dF9YO2coNFlVa28oe1ZEVEpjM1g/en1gc01fdlVvSjNzR1hwdjAKejIhdV9NUW9u
bWtlQn5CNCF0aEh7QjchYjAwZXVGfV5MPk5Sa3BuRDU5SDRFT0lJT0k8UWNEczdAYiFuVS1LSlQ0
CnpWcF9KfFVUSHM/KFo4cyE3Sk8rcjwlTjI0ZGVWV2QwcjxxQ2hrNSk0Z0M+JGNuQ1YpYGhrMGUj
KEsxWXlmYEB+Vgp6NWNMenoxO0h3bChNRUNHZ2tvSk5xTCFjfHF2c2JTJkF8SVNZTE1VYHpCK0pD
aSpXPUMqWmNjME1OYDF0Y2ArdX0KejJQfDhEamdWRX55YntOVUp1TWRqdD1EZEJZZUQ3UT5QR2Fl
PkVXRkdHUSh3ZTZrdVAhJmYwVz81OUcpMmZlSjIoCnozaCtfUEhjc0U3JjlZI1BiWmpqJUcyaElE
aCF7YkUpNUVLUkVldlg8dmYkJH5heGBFQkk+YCl4OH1UeFBMWUh7MAp6M3I9UUg3Mjd2TUk9enhR
Vz9Mc1kwSjVrVTI8WGYzeE5xamBXI3gyTzZ8ZXMwVGJSQ0JQLXxBX2okdnVjTnEjUXQKek80al9B
JmtnMGptQDNId0NZQ3NjJWV7XjZRajE+d2ReV0xJXj59OClxNXpDYTA+JFVCK1l4Rm5ASkd6QHVs
czNFCnpGLS0oU3pTaHMma2NrdHFXP3lAP2lnPntmdCY4R0BTc0R+YUIrZlVxcF9xWl8oenE/amwj
OW42TCVQZkBATSpgNwp6TmJpaHUtUThxakJrZTI3VF5rKnUoP1lmYiZjMjkjKHhDR3dje3taQihi
cl49VzJYMXowNC1LTDxebUxpUioyQ04KekQyPF90b0N4RjJGUUF5RC1hWFBSakN6PkJPVnlrTko9
Jjk/MW40YjBUPDYxPXFec3FTZX5iZGE3QHEtez5VfVU3CnpCZUdPKGlPTElAY2VgOGViXzxfYyRq
UlMqKWN4diNlVXklWHo2SXkwYkcqKikmY0l6eEthcTZIIWY0Oyo0Jl5pWAp6Zlkhdl5AfFBGJUYz
PlQ/QFRvYlVpdGRqbF5VflVqWmNWMHlvPWoqQl5YMGZ7Sml8O09qQSkyO1A3RmYzOUZOeDAKekQr
T3paKyFgQmFCLT9za0VJaHl9Xk1tKVZkMXpEUmVKfillUDg0VTEtcGQwKVc3b3o+b0MtXl87OGli
aW8rRGh7CnphRjAkLVhsb1MjVigyLXIkdFBTODB3THM/R3E0KUFXI0t3fndNSio9MzxDI256dURL
OClxWnw0WVpDJktRK31fTwp6ZSgwIUkkcU4jPGZPMHgwT3RDaUpOQjEweHUtJUl0dXRCNnQ4Z3Zp
eUJIbWRzeytkX3Y4MHMjMG1sO0N3WWgrM1AKekl0KnRQUkhCU25sJkAhN003ckI1Nnt1PV5ybDZI
KiRIb3UqTj5+VyFRYUdBTlduTnJjRyE1ZkFeaX5gantaSW4kCnpfQHY+QlRnUCpnMFVjX19ecXs/
bnhEd2FFbHc8KUdudm0qbHkmZyliajR2Uyk0b34jJFNwWkRgLXVGZG88fTFAOwp6TmkkSjNhKlNu
THtmNXF4b09gPERGbklMbCplIURuaThTQk0mSXJsUW05ISgyNT97bHN6S3hrKGppUzc5Jkk8UiUK
ej5oT15AKT4xPHVzKmR9b2l3UmYjJiozaEYxJSVZQzQ5UUlJQjIraTQ8Qis2bTxHcilObFdrdFZw
UFRtQGE4dTVHCnpVMDs0NDk4M0BMX0kwN1chMVFuWHheJjJnN3U8K2xhK3A7WXtWayt5d34kdDw/
SURPKUs1MHVieXU7YW0tQWEwPQp6YC11SEl3SXVFOHF2bjB5QCNaVXlecHdQJFlmbHFUMj5JNy11
QXAoJF5DVDx8SWAtKTBVMjgta2ZlN2R9Y3puS1MKelkqezh9VWVZWThZVCpJZnRyI307K2xwN3ll
YH5+JDNeS25nSzc0VisjYUJ9Jm0ocX5BKlkpeGhacGl3SFJKeWVvCnohc3c+TFolLWBjZGBoQlFr
YChUb3V6bTlaP28rPzgtRGhRYTEkNXN5aT47Tnk9RylQM3pvcmxXPEhUIV5ROyk9eQp6eTNqI09M
MmBIQDx9fV4yaSRoKVJFYDl5THI+KlQhMXhVU2x5My1OZnleSnxHQTsjU2ghPW5obFJuX2lOaD99
QE4KellsKW9xdHA2R2xrfU82fWopMisoVyZnWUhHKWlyfnBfNkNAKCRYU05yY2V5c3RxU2hhMzBt
K0Q2KSN+S2FtVV9lCnpuMktmWDdBSTw2K1V4QFZveiltWjEtTVRRdzc5N1N7SzJweTY7QHJhKylk
VzduNXpJZS09LXY+aHYzJFJxU3hqKAp6b2diJFo5OEVSeUtRa3FNaWxCYVQjUTlRI2w1dm1QJWt9
NGFUMD1yWXVrWGpsaXtVKEV1SD9ST1Bmfk1FaCVaUDIKeiNLfSoyNjs8eyNTMWpje2pIR0F6dVdx
N1N3dU5aIV5iejx8c0tedGBUQld9NStTdFhuJk57Z0RpTVJIb1pNeHJrCno5dyVpdlA+bmhuJDFV
Pk0mVHtsT0dKeVcwUlVoOHMlcnpDYj9yWT58S21GYHxHTkBoMVpFaj5UPCZJZ2NBSUg0WQp6b0t8
eTsjbGU/TnglRU9aT3RoZXllOHBMKVN2dyQ3WEhLOW5XKWdNZXUqcnxqS0V3RUNJe2oyTXpgKSEm
cSMqZnsKejdxYGskVGtXSFdMe2J2YmtHPURRa14tOWI8NCtjNDJFK0JKREhZMSQ7MTdiOG0jfkol
TEMzKkFvd0BacV4oZ189ClFDdjZnLSltWX07NiQxTUkwUVhZbTNqaEVCCgpsaXRlcmFsIDAKSGNt
Vj9kMDAwMDEKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>