<?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>228331</bug_id>
          
          <creation_ts>2021-07-27 10:14:47 -0700</creation_ts>
          <short_desc>Implement self.structuredClone()</short_desc>
          <delta_ts>2021-08-31 09:52:57 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Domenic Denicola">d</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mkwst</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1779771</commentid>
    <comment_count>0</comment_count>
    <who name="Domenic Denicola">d</who>
    <bug_when>2021-07-27 10:14:47 -0700</bug_when>
    <thetext>Spec PR: https://github.com/whatwg/html/pull/3414
Tests PR: https://github.com/web-platform-tests/wpt/pull/11069
Spec: https://html.spec.whatwg.org/#structured-cloning</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781649</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-03 10:30:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/81468374&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788639</commentid>
    <comment_count>2</comment_count>
      <attachid>436808</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-30 13:27:37 -0700</bug_when>
    <thetext>Created attachment 436808
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788642</commentid>
    <comment_count>3</comment_count>
      <attachid>436809</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-30 13:40:52 -0700</bug_when>
    <thetext>Created attachment 436809
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788705</commentid>
    <comment_count>4</comment_count>
      <attachid>436809</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-30 15:59:54 -0700</bug_when>
    <thetext>Comment on attachment 436809
Patch

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

&gt; Source/WebCore/page/WindowOrWorkerGlobalScope.cpp:51
&gt; +    auto messageData = SerializedScriptValue::create(globalObject, value, WTFMove(options.transfer), ports, SerializationContext::WindowPostMessage);

It&apos;s very unfortunate that we have to serialize to a string just to make the structured clone.
Have we checked the perf of our implementation with other browsers?
We should make sure our implementation isn&apos;t orders of magnitude slower than other browser&apos;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788770</commentid>
    <comment_count>5</comment_count>
      <attachid>436809</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-08-30 19:01:25 -0700</bug_when>
    <thetext>Comment on attachment 436809
Patch

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

&gt; Source/WebCore/page/StructuredSerializeOptions.h:38
&gt; +    StructuredSerializeOptions() = default;
&gt; +    StructuredSerializeOptions(Vector&lt;JSC::Strong&lt;JSC::JSObject&gt;&gt;&amp;&amp; transfer)
&gt; +        : transfer(WTFMove(transfer))
&gt; +    { }

Do we really need these constructors? Annoying that we can’t program with a struct without doing those.

&gt; Source/WebCore/page/WindowOrWorkerGlobalScope.cpp:43
&gt; +    auto* exception = JSC::jsDynamicCast&lt;JSC::Exception*&gt;(vm, error);
&gt; +    if (!exception)
&gt; +        exception = JSC::Exception::create(vm, error);

Does argument-dependent lookup allow us to omit either of these &quot;JSC::&quot; prefixes?

&gt; Source/WebCore/page/WindowOrWorkerGlobalScope.h:37
&gt; +template&lt;typename T&gt; class ExceptionOr;

No need for the &quot;T&quot; here.

&gt; Source/WebCore/workers/Worker.h:34
&gt; +#include &quot;StructuredSerializeOptions.h&quot;

Is this include needed here? To help the bindings compile? I know the header itself could do with a forward declaration instead.

&gt; Source/WebCore/workers/service/ServiceWorker.h:34
&gt; +#include &quot;StructuredSerializeOptions.h&quot;

Same question.

&gt; Source/WebCore/workers/service/ServiceWorkerClient.h:33
&gt; +#include &quot;StructuredSerializeOptions.h&quot;

I suppose same question again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788890</commentid>
    <comment_count>6</comment_count>
      <attachid>436809</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-31 07:17:14 -0700</bug_when>
    <thetext>Comment on attachment 436809
Patch

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

&gt;&gt; Source/WebCore/page/StructuredSerializeOptions.h:38
&gt;&gt; +    { }
&gt; 
&gt; Do we really need these constructors? Annoying that we can’t program with a struct without doing those.

I merely renamed our struct to match the new name in the spec but I&apos;ll check.

&gt;&gt; Source/WebCore/page/WindowOrWorkerGlobalScope.cpp:43
&gt;&gt; +        exception = JSC::Exception::create(vm, error);
&gt; 
&gt; Does argument-dependent lookup allow us to omit either of these &quot;JSC::&quot; prefixes?

Will try.

&gt;&gt; Source/WebCore/workers/Worker.h:34
&gt;&gt; +#include &quot;StructuredSerializeOptions.h&quot;
&gt; 
&gt; Is this include needed here? To help the bindings compile? I know the header itself could do with a forward declaration instead.

Again, just renaming here but I&apos;ll try and reduce header includes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788893</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-31 07:21:46 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #4)
&gt; Comment on attachment 436809 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=436809&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/WindowOrWorkerGlobalScope.cpp:51
&gt; &gt; +    auto messageData = SerializedScriptValue::create(globalObject, value, WTFMove(options.transfer), ports, SerializationContext::WindowPostMessage);
&gt; 
&gt; It&apos;s very unfortunate that we have to serialize to a string just to make the
&gt; structured clone.
&gt; Have we checked the perf of our implementation with other browsers?
&gt; We should make sure our implementation isn&apos;t orders of magnitude slower than
&gt; other browser&apos;s.

I guess I can check once other browsers implement it:
- https://bugs.chromium.org/p/chromium/issues/detail?id=1233571
- https://bugzilla.mozilla.org/show_bug.cgi?id=1722576

Both engines said on the PR that they were interested in implementing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788896</commentid>
    <comment_count>8</comment_count>
      <attachid>436809</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-31 07:44:36 -0700</bug_when>
    <thetext>Comment on attachment 436809
Patch

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

&gt;&gt;&gt; Source/WebCore/page/WindowOrWorkerGlobalScope.cpp:43
&gt;&gt;&gt; +        exception = JSC::Exception::create(vm, error);
&gt;&gt; 
&gt;&gt; Does argument-dependent lookup allow us to omit either of these &quot;JSC::&quot; prefixes?
&gt; 
&gt; Will try.

I couldn&apos;t omit JSC:: for either of these without getting compilation errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788902</commentid>
    <comment_count>9</comment_count>
      <attachid>436809</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-31 07:56:05 -0700</bug_when>
    <thetext>Comment on attachment 436809
Patch

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

&gt;&gt;&gt; Source/WebCore/page/StructuredSerializeOptions.h:38
&gt;&gt;&gt; +    { }
&gt;&gt; 
&gt;&gt; Do we really need these constructors? Annoying that we can’t program with a struct without doing those.
&gt; 
&gt; I merely renamed our struct to match the new name in the spec but I&apos;ll check.

The problem is that we have several IDLs that look like so:
    [CallWith=GlobalObject] undefined postMessage(any message, sequence&lt;object&gt; transfer);
    [CallWith=GlobalObject] undefined postMessage(any message, optional StructuredSerializeOptions options);

Right now, the implementation objects have a single postMessage() function that takes in a `StructuredSerializeOptions&amp;&amp;` and rely on StructuredSerializeOptions&apos;s implicit constructor from a `Vector&lt;JSC::Strong&lt;JSC::JSObject&gt;&gt;&amp;&amp;` for the generated bindings to build.
If I get rid of this constructor, then I have to add postMessage() overloads on those implementation objects, which seems like more code than just keeping the constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788903</commentid>
    <comment_count>10</comment_count>
      <attachid>436883</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-31 08:02:46 -0700</bug_when>
    <thetext>Created attachment 436883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788945</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-31 09:52:53 -0700</bug_when>
    <thetext>Committed r281808 (241144@main): &lt;https://commits.webkit.org/241144@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436883.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436808</attachid>
            <date>2021-08-30 13:27:37 -0700</date>
            <delta_ts>2021-08-30 13:40:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228331-20210830132736.patch</filename>
            <type>text/plain</type>
            <size>67530</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI3ZDJiNTE5N2IzZGE5
ZGI1M2ZlNjE5ZGMxNGQ5NDFmMzQxM2UwNi4uM2ZiZjVlZTlkY2Q1NWRhMTZmOThmZmQ1OTQ1Nzk2
ZWJmNGI3MjAwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIxLTA4LTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHNlbGYuc3Ry
dWN0dXJlZENsb25lKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyODMzMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODE0NjgzNzQ+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHNlbGYu
c3RydWN0dXJlZENsb25lKCkgYXMgcGVyOgorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvI2RvbS1zdHJ1Y3R1cmVkY2xvbmUKKworICAgICAgICBUZXN0czogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9z
dHJ1Y3R1cmVkLWNsb25lLmFueS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3N0cnVjdHVy
ZWQtY2xvbmUuYW55Lndvcmtlci5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1h
a2U6CisgICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9t
L01lc3NhZ2VQb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VQb3J0Ojpwb3N0TWVz
c2FnZSk6CisgICAgICAgICogZG9tL01lc3NhZ2VQb3J0Lmg6CisgICAgICAgICogZG9tL01lc3Nh
Z2VQb3J0LmlkbDoKKyAgICAgICAgKiBwYWdlL0Jhc2U2NFV0aWxpdGllcy5oOgorICAgICAgICAq
IHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgIChXZWJDb3JlOjpXaW5kb3dQb3N0TWVzc2FnZU9w
dGlvbnM6OldpbmRvd1Bvc3RNZXNzYWdlT3B0aW9ucyk6CisgICAgICAgICogcGFnZS9ET01XaW5k
b3cuaWRsOgorICAgICAgICAqIHBhZ2UvU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUG9zdE1lc3NhZ2VPcHRpb25zLmguCisgICAg
ICAgIChXZWJDb3JlOjpTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9uczo6U3RydWN0dXJlZFNlcmlh
bGl6ZU9wdGlvbnMpOgorICAgICAgICAqIHBhZ2UvU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMu
aWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Qb3N0TWVzc2FnZU9wdGlvbnMu
aWRsLgorICAgICAgICAqIHBhZ2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5jcHA6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50
LmguCisgICAgICAgIChXZWJDb3JlOjpXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlOjpyZXBvcnRF
cnJvcik6CisgICAgICAgIChXZWJDb3JlOjpXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlOjpzdHJ1
Y3R1cmVkQ2xvbmUpOgorICAgICAgICAqIHBhZ2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5o
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wYWdlL0Jhc2U2NFV0aWxpdGllcy5oLgorICAg
ICAgICAoV2ViQ29yZTo6V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZTo6c3RydWN0dXJlZENsb25l
KToKKyAgICAgICAgKiBwYWdlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaWRsOgorICAgICAg
ICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OnBvc3RNZXNzYWdlKToKKyAgICAgICAg
KiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vy
cy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5pZGw6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpwb3N0TWVzc2FnZSk6CisgICAgICAg
ICogd29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5pZGw6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXI6
OnBvc3RNZXNzYWdlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5o
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmlkbDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50Ojpwb3N0TWVzc2FnZSk6CisgICAgICAgICogd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckNsaWVudC5pZGw6CisKIDIwMjEtMDgtMzAgIFNpaHVpIExpdSAgPHNp
aHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBB
UEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMDdlNWUwNTU4ZjZkZGQ0MTFlYzRjZjU5NmRlMzQz
ZjQ4M2MwOTc3Yi4uYTAyZTQ3ODcyMmU2NTAzYjExNGEwYTBiYTA0YjFiNjE0Nzk1MWU0MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTEwODgsNyArMTA4OCw2IEBAIHNldChXZWJDb3JlX05PTl9T
VkdfSURMX0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbAogICAg
IHBhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRp
bWluZy5pZGwKLSAgICBwYWdlL1Bvc3RNZXNzYWdlT3B0aW9ucy5pZGwKICAgICBwYWdlL1JlbW90
ZURPTVdpbmRvdy5pZGwKICAgICBwYWdlL1Jlc2l6ZU9ic2VydmVyLmlkbAogICAgIHBhZ2UvUmVz
aXplT2JzZXJ2ZXJDYWxsYmFjay5pZGwKQEAgLTExMDAsNiArMTA5OSw3IEBAIHNldChXZWJDb3Jl
X05PTl9TVkdfSURMX0ZJTEVTCiAgICAgcGFnZS9TY3JvbGxPcHRpb25zLmlkbAogICAgIHBhZ2Uv
U2Nyb2xsVG9PcHRpb25zLmlkbAogICAgIHBhZ2UvU2hhcmVEYXRhLmlkbAorICAgIHBhZ2UvU3Ry
dWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaWRsCiAgICAgcGFnZS9VbmRvSXRlbS5pZGwKICAgICBw
YWdlL1VuZG9NYW5hZ2VyLmlkbAogICAgIHBhZ2UvVmlzdWFsVmlld3BvcnQuaWRsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA1MTFiNTEz
MTIwMGFiZWM4M2JlNDkwN2E3YmU0MTkyM2E2MmYzNjk5Li4yMWIzNGEwYmRkODRhZGI0MGUwMTFk
ZmJiOWZlMTE4MDMwMDE5MGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKQEAgLTExNzYsNiArMTE3Niw3IEBAICQoUFJPSkVDVF9ESVIpL3Bh
Z2UvU2Nyb2xsT3B0aW9ucy5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvU2Nyb2xsVG9PcHRpb25z
LmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9TZXR0aW5ncy55YW1sCiAkKFBST0pFQ1RfRElSKS9w
YWdlL1NoYXJlRGF0YS5pZGwKKyQoUFJPSkVDVF9ESVIpL3BhZ2UvU3RydWN0dXJlZFNlcmlhbGl6
ZU9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1VuZG9JdGVtLmlkbAogJChQUk9KRUNU
X0RJUikvcGFnZS9VbmRvTWFuYWdlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvVXNlck1lc3Nh
Z2VIYW5kbGVyLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdAppbmRleCA5YjQ4NGFiYTQ4YzJjNWNmYzYwYWNlZWVjMjkzZWJjYTljMzk3MWVi
Li5hNjJhNjEzNjkxNjAzNDRhMGRlMDU0MzExZmQxOGQzNmIyZDFiNGMyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMjE5OSw2ICsy
MTk5LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNT
dG9yYWdlRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1N0b3JhZ2VFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1N0cmluZ0NhbGxiYWNrLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHJpbmdDYWxsYmFjay5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25z
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHJ1
Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1N0eWxlTWVkaWEuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0eWxlTWVkaWEuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHlsZVByb3BlcnR5TWFwLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZjllZTY0MjhiYTBhNTRkNTRjMDI1N2FhNmQ2YTAwMDFl
MmU0MjFiYy4uZjFhZmI3ZmMzM2Y4M2VmODRkMDIyYTRmYmIwM2JmMjFiNWM3OGQ3YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMDExLDcgKzEwMTEsNiBAQCBKU19CSU5ESU5H
X0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCi0gICAgJChXZWJD
b3JlKS9wYWdlL1Bvc3RNZXNzYWdlT3B0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9S
ZW1vdGVET01XaW5kb3cuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUmVzaXplT2JzZXJ2ZXIu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUmVzaXplT2JzZXJ2ZXJDYWxsYmFjay5pZGwgXApA
QCAtMTAyMyw2ICsxMDIyLDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvU2Nyb2xsT3B0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9TY3JvbGxUb09w
dGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvU2hhcmVEYXRhLmlkbCBcCisgICAgJChX
ZWJDb3JlKS9wYWdlL1N0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9wYWdlL1VuZG9JdGVtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1VuZG9NYW5hZ2Vy
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hl
YWRlcnMuY21ha2UKaW5kZXggNzZjZTBjNjYxZmVlODMwZDE3NmUzNjFmNTc5ODczNWM3YWUxZTBj
ZS4uYWQ4MmQ1ODJlZDM1ZjE5ZTZkMDEyYjQ5NWQxZTdhYzU2ZWQwZTlkNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJz
LmNtYWtlCkBAIC05MzUsNyArOTM1LDYgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktf
SEVBREVSUwogICAgIHBhZ2UvUG9pbnRlckNhcHR1cmVDb250cm9sbGVyLmgKICAgICBwYWdlL1Bv
aW50ZXJDaGFyYWN0ZXJpc3RpY3MuaAogICAgIHBhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmgK
LSAgICBwYWdlL1Bvc3RNZXNzYWdlT3B0aW9ucy5oCiAgICAgcGFnZS9QcmV3YXJtSW5mb3JtYXRp
b24uaAogICAgIHBhZ2UvUHJpbnRDb250ZXh0LmgKICAgICBwYWdlL1Byb2Nlc3NXYXJtaW5nLmgK
QEAgLTk2MCw2ICs5NTksNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJT
CiAgICAgcGFnZS9TcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyLmgKICAgICBwYWdlL1NwZWVjaFN5
bnRoZXNpc0NsaWVudC5oCiAgICAgcGFnZS9TdG9yYWdlQmxvY2tpbmdQb2xpY3kuaAorICAgIHBh
Z2UvU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaAogICAgIHBhZ2UvU3VzcGVuZGFibGVUaW1l
ci5oCiAgICAgcGFnZS9UZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yLmgKICAg
ICBwYWdlL1RleHRJbmRpY2F0b3IuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBhMDBmYzI1ZWY4NTRiNjk3
YzY4ZmQ4OGNjZTM3MWFkMTkyMjBlOWZkLi41YjJkZGFmZmFmZjM1NjA4NzU4Yjk3MmU2YTBmMTQz
MTAyZDZjNTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTcwNCw2ICsxNzA0LDcgQEAgcGFnZS9XaGVl
bEV2ZW50RGVsdGFGaWx0ZXIuY3BwCiBwYWdlL1doZWVsRXZlbnRUZXN0TW9uaXRvci5jcHAKIHBh
Z2UvV2luZG93RmVhdHVyZXMuY3BwCiBwYWdlL1dpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5j
cHAKK3BhZ2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5jcHAKIHBhZ2UvV29ya2VyTmF2aWdh
dG9yLmNwcAogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAogcGFnZS9jc3AvQ29u
dGVudFNlY3VyaXR5UG9saWN5Q2xpZW50LmNwcApAQCAtMzI4OCw3ICszMjg5LDYgQEAgSlNQb3BT
dGF0ZUV2ZW50LmNwcAogSlNQb3NpdGlvbkNhbGxiYWNrLmNwcAogSlNQb3NpdGlvbkVycm9yQ2Fs
bGJhY2suY3BwCiBKU1Bvc2l0aW9uT3B0aW9ucy5jcHAKLUpTUG9zdE1lc3NhZ2VPcHRpb25zLmNw
cAogSlNQcmVkZWZpbmVkQ29sb3JTcGFjZS5jcHAKIEpTUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNw
cAogSlNQcm9ncmVzc0V2ZW50LmNwcApAQCAtMzU3MSw2ICszNTcxLDcgQEAgSlNTdGF0aWNSYW5n
ZS5jcHAKIEpTU3RvcmFnZS5jcHAKIEpTU3RvcmFnZUV2ZW50LmNwcAogSlNTdHJpbmdDYWxsYmFj
ay5jcHAKK0pTU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuY3BwCiBKU1N0eWxlTWVkaWEuY3Bw
CiBKU1N0eWxlUHJvcGVydHlNYXAuY3BwCiBKU1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBmN2Y0ZmM5ZDBmMTYwODE2NGZiZDU1MjJkNWFhYzViOTM0NWEzZjk5Li5kYTYyMmRlYjUy
OGU1NzZmOTljYWU3OTY1ODU2YjVlOGQ0ZGMzNzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjc1LDYgKzEyNzUsNyBAQAog
CQk0NThGRTQwQTE1ODlERjBCMDA1NjA5RTYgLyogUmVuZGVyU2VhcmNoRmllbGQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1OEZFNDA4MTU4OURGMEIw
MDU2MDlFNiAvKiBSZW5kZXJTZWFyY2hGaWVsZC5oICovOyB9OwogCQk0NUZFQTVEMDE1NkRERThD
MDA2NTQxMDEgLyogRGVjaW1hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDVGRUE1Q0UxNTZEREU4QzAwNjU0MTAxIC8qIERlY2ltYWwuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjBCQjYxNjFEMEEx
QkYwMDAyMjE4MTIgLyogQmFzZTY0VXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjBCQjYxNDFEMEExQkVDMDAyMjE4MTIgLyogQmFzZTY0
VXRpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJNDYwQzc0NTkyNkRENjlCQjAwNDI3RDNFIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MEM3
NDU4MjZERDY5OUQwMDQyN0QzRSAvKiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDYwQ0JGMzYxRDRC
Q0QwRTAwOTJFODhFIC8qIEpTRE9NV2luZG93UHJvcGVydGllcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYwQ0JGMzQxRDRCQ0NGRTAwOTJFODhFIC8q
IEpTRE9NV2luZG93UHJvcGVydGllcy5oICovOyB9OwogCQk0NjBFMzA3NzIyMkY0RjAzMDA5QTA2
MDYgLyogRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY1RUREOUYyMjJGNEVDMzAw
QjQ2RTE2IC8qIERldmljZU9yaWVudGF0aW9uT3JNb3Rpb25QZXJtaXNzaW9uU3RhdGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjIxOEFDQjFG
NzJENjRFMDA1NzRGQkUgLyogRE9NSGlnaFJlc1RpbWVTdGFtcC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZFMDE2QUQxRjcyRDYxRTAwMjgyQjJDIC8q
IERPTUhpZ2hSZXNUaW1lU3RhbXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwpAQCAtMTI4Myw3ICsxMjg0LDYgQEAKIAkJNDYzNTIxQUQyMDgxMDkyQTAw
QzI4OTIyIC8qIFdpbmRvd1Byb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NjM1MjFBQTIwODEwOTBCMDBDMjg5MjIgLyogV2luZG93UHJveHkuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjNFQjYy
MzFCODc4OUUwMDA5NkVENTEgLyogVGFnQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYzRUI2MjExQjg3ODlDQjAwOTZFRDUxIC8qIFRh
Z0NvbGxlY3Rpb24uaCAqLzsgfTsKIAkJNDY1MzA3RDAxREI2RUU0ODAwRTQxMzdDIC8qIEpTVUlF
dmVudEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDgzRTA0NUVGMURBQTEwNEYwMEIwRDhCOSAvKiBKU1VJRXZlbnRJbml0LmggKi87IH07Ci0JCTQ2
NjE3MkVDMjNBMkFDMUYwMDNBQjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlvbnMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2NjE3MkVCMjNBMkFCRkEwMDNB
QjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjY1OERDOTFGQTI0Qjg3MDBGN0RENTQgLyogU1dDb250
ZXh0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDY3MjQxM0IxRkEyNEIxNDAwODhCRDZEIC8qIFNXQ29udGV4dE1hbmFnZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjZDMkRBRDI2Qzcz
QUZDMDA2NTE5MzEgLyogUG9saWN5Q29udGFpbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjZDMkRBQjI2QzczQUZCMDA2NTE5MzEgLyogUG9saWN5
Q29udGFpbmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNDY2RUQ4RDMxRURFMDE0NDAwNUU0M0Y2IC8qIEpTRE9NUmVjdExpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2NkVEOEQyMUVERTAxMzUw
MDVFNDNGNiAvKiBKU0RPTVJlY3RMaXN0LmggKi87IH07CkBAIC0xMzM0LDYgKzEzMzQsNyBAQAog
CQk0NkVGQUYxMjFFNUZCOUYxMDBFN0YzNEIgLyogTG93UG93ZXJNb2RlTm90aWZpZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2RUZBRjEwMUU1RkI5
RTEwMEU3RjM0QiAvKiBMb3dQb3dlck1vZGVOb3RpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2RjAyQTFBMjM3MzdGODMwMDEwNkE2NCAv
KiBFdmVudExvb3AuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDlCMEFCQ0ExMjM2NzlBQjMwMEI0NTA4NSAvKiBFdmVudExvb3AuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NkZDQjYxODFBNzA4MjBFMDBD
NUEyMUUgLyogRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDM3QjM3NTE1QzFBN0UxMDA2REM4OTggLyogRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJNDZGRUZCQzgyNkRENjdBMjAwQjBDNDg4IC8qIFN0cnVjdHVyZWRTZXJpYWxp
emVPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NkZFRkJDNjI2REQ2NzgyMDBCMEM0ODggLyogU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NzVD
ODlBNDI2NTBBQzNDMDBGM0I0NTYgLyogRm9ybWF0dGluZ0dlb21ldHJ5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NzVDODlBMzI2NTBBQzNCMDBGM0I0
NTYgLyogRm9ybWF0dGluZ0dlb21ldHJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDc4NjM1NjUyNjUwN0EzODAwQzVFMkUwIC8qIEJsb2NrRm9y
bWF0dGluZ0dlb21ldHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0Nzg2MzU2NDI2NTA3QTM3MDBDNUUyRTAgLyogQmxvY2tGb3JtYXR0aW5nR2VvbWV0
cnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
N0M0RDU3RDI2NTA4QkNCMDBDN0FCMUYgLyogSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0N0M0RDU3QzI2NTA4
QkNBMDBDN0FCMUYgLyogSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgyOTIsNiArODI5Myw4IEBACiAJ
CTQ1RkVBNUNFMTU2RERFOEMwMDY1NDEwMSAvKiBEZWNpbWFsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERlY2ltYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDYwQkI2MTMxRDBBMUJFQzAwMjIxODEyIC8qIEJhc2U2NFV0aWxpdGllcy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCYXNlNjRVdGlsaXRpZXMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0NjBCQjYxNDFEMEExQkVDMDAyMjE4MTIgLyogQmFzZTY0
VXRpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJhc2U2NFV0aWxp
dGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NjBDNzQ1NjI2REQ2OTlEMDA0
MjdEM0UgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDYwQzc0NTgyNkRENjk5RDAwNDI3RDNFIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0NjBDQkYzMzFENEJDQ0ZFMDA5MkU4OEUgLyogSlNET01X
aW5kb3dQcm9wZXJ0aWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTRE9NV2luZG93UHJvcGVydGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ2MENCRjM0MUQ0QkNDRkUwMDkyRTg4RSAvKiBKU0RPTVdpbmRvd1Byb3BlcnRpZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01XaW5kb3dQcm9wZXJ0aWVzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2MEQxOTQ0MUZDRTIxREQwMEMzREI4NSAvKiBK
U1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04MzA4LDggKzgzMTEsNiBAQAogCQk0NjVBOEU3
ODFDOEEyNENFMDBFN0QzRTQgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSdW50aW1lQXBwbGljYXRpb25D
aGVja3NDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY1RUREOUYyMjJG
NEVDMzAwQjQ2RTE2IC8qIERldmljZU9yaWVudGF0aW9uT3JNb3Rpb25QZXJtaXNzaW9uU3RhdGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25Pck1v
dGlvblBlcm1pc3Npb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjVF
RERBMDIyMkY0RUM0MDBCNDZFMTYgLyogRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Np
b25TdGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25Pck1v
dGlvblBlcm1pc3Npb25TdGF0ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2
NjE3MkU5MjNBMkFCRkEwMDNBQjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlvbnMuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFBvc3RNZXNzYWdlT3B0aW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTQ2NjE3MkVCMjNBMkFCRkEwMDNBQjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlv
bnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUG9zdE1lc3NhZ2VPcHRpb25z
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NjUzNkZBMjY0QzhERDEwMEFBRDFE
NyAvKiBKU0F1ZGlvTm9kZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0F1ZGlvTm9k
ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NkMyREFCMjZDNzNB
RkIwMDY1MTkzMSAvKiBQb2xpY3lDb250YWluZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUG9saWN5Q29udGFpbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ2NkRDNkFCMUVERTAyMUQwMDc0NjIyNCAvKiBKU0RPTVJlY3RMaXN0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NUmVjdExpc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtODQwNSw2ICs4NDA2LDggQEAKIAkJNDZFRkFGMEYxRTVGQjlF
MTAwRTdGMzRCIC8qIExvd1Bvd2VyTW9kZU5vdGlmaWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IExvd1Bvd2VyTW9kZU5vdGlmaWVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDZFRkFGMTAxRTVGQjlFMTAwRTdGMzRCIC8qIExvd1Bvd2VyTW9k
ZU5vdGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvd1Bvd2VyTW9k
ZU5vdGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2RjkxQkM5MUZDREQw
RkUwMDE1OTlDMyAvKiBKU1dvcmtlck5hdmlnYXRvckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dvcmtlck5hdmlnYXRvckN1c3RvbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2RkVGQkM2MjZERDY3ODIwMEIwQzQ4OCAvKiBTdHJ1
Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJ1Y3R1cmVkU2VyaWFs
aXplT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkZFRkJDNzI2REQ2
NzgzMDBCMEM0ODggLyogU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN0cnVj
dHVyZWRTZXJpYWxpemVPcHRpb25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDc1Qzg5QTMyNjUwQUMzQjAwRjNCNDU2IC8qIEZvcm1hdHRpbmdHZW9tZXRyeS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb3JtYXR0aW5nR2VvbWV0cnkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDc4NjM1NjQyNjUwN0EzNzAwQzVFMkUwIC8qIEJsb2NrRm9y
bWF0dGluZ0dlb21ldHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJsb2Nr
Rm9ybWF0dGluZ0dlb21ldHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ3QzRE
NTdDMjY1MDhCQ0EwMEM3QUIxRiAvKiBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjEzOSw4ICsyMjE0Miw2IEBACiAJCQkJNUNG
QzQzNEUxOTI0MDZBOTAwQTBEM0I1IC8qIFBvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgKi8sCiAJ
CQkJNUNGQzQzNEYxOTI0MDZBOTAwQTBEM0I1IC8qIFBvaW50ZXJMb2NrQ29udHJvbGxlci5oICov
LAogCQkJCTM3NzJCMDk1MTY1MzU4NTYwMDBBNDlDQSAvKiBQb3B1cE9wZW5pbmdPYnNlcnZlci5o
ICovLAotCQkJCTQ2NjE3MkVCMjNBMkFCRkEwMDNBQjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlvbnMu
aCAqLywKLQkJCQk0NjYxNzJFOTIzQTJBQkZBMDAzQUIzMDkgLyogUG9zdE1lc3NhZ2VPcHRpb25z
LmlkbCAqLywKIAkJCQlFNDYwNUZFQTIxNjY0ODA4MDBFNTMwNDYgLyogUHJld2FybUluZm9ybWF0
aW9uLmggKi8sCiAJCQkJQjc3NkQ0M0MxMTA0NTI3NTAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5j
cHAgKi8sCiAJCQkJQjc3NkQ0M0ExMTA0NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICov
LApAQCAtMjIyMDcsNiArMjIyMDgsOCBAQAogCQkJCTkzQTA0ODI2MjU0OTU1MDAwMDBBQzQ2MiAv
KiBTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyLmggKi8sCiAJCQkJQzE0OTM4MDUyMjM0MjcxOTAw
MENENzA3IC8qIFNwZWVjaFN5bnRoZXNpc0NsaWVudC5oICovLAogCQkJCUJDNEE1MzM2MjU2MDVB
RTEwMDI4QzU5MiAvKiBTdG9yYWdlQmxvY2tpbmdQb2xpY3kuaCAqLywKKwkJCQk0NkZFRkJDNjI2
REQ2NzgyMDBCMEM0ODggLyogU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaCAqLywKKwkJCQk0
NkZFRkJDNzI2REQ2NzgzMDBCMEM0ODggLyogU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaWRs
ICovLAogCQkJCTYyQzEyMTdBMTFBQjlFNzYwMDNDNDYyQyAvKiBTdXNwZW5kYWJsZVRpbWVyLmNw
cCAqLywKIAkJCQk2MkMxMjE3QjExQUI5RTc3MDAzQzQ2MkMgLyogU3VzcGVuZGFibGVUaW1lci5o
ICovLAogCQkJCUJDNEE1MzI0MjU2MDU1NTkwMDI4QzU5MiAvKiBUZXh0RGlyZWN0aW9uU3VibWVu
dUluY2x1c2lvbkJlaGF2aW9yLmggKi8sCkBAIC0yMjI2Nyw2ICsyMjI3MCw4IEBACiAJCQkJN0M2
NzcxMkIyNTI3RDc1RjAwRkRFRjAwIC8qIFdpbmRvd0xvY2FsU3RvcmFnZS5pZGwgKi8sCiAJCQkJ
N0M2NzcxMzcyNTI3REZGNTAwRkRFRjAwIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrQ3J5
cHRvLmlkbCAqLywKIAkJCQk3QzY3NzEzNjI1MjdERjRCMDBGREVGMDAgLyogV2luZG93T3JXb3Jr
ZXJHbG9iYWxTY29wZStQZXJmb3JtYW5jZS5pZGwgKi8sCisJCQkJNDYwQzc0NTYyNkRENjk5RDAw
NDI3RDNFIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuY3BwICovLAorCQkJCTQ2MEM3NDU4
MjZERDY5OUQwMDQyN0QzRSAvKiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmggKi8sCiAJCQkJ
OTM3MTA4MEQxREI3NTQ1NTAwNjA3NDRFIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaWRs
ICovLAogCQkJCTdDNjc3MTJDMjUyN0Q3QzkwMEZERUYwMCAvKiBXaW5kb3dTZXNzaW9uU3RvcmFn
ZS5pZGwgKi8sCiAJCQkJRTEyNzFBMTMwRUVFQzgwNDAwRjYxMjEzIC8qIFdvcmtlck5hdmlnYXRv
ci5jcHAgKi8sCkBAIC0zMzY4NSw2ICszMzY5MCw3IEBACiAJCQkJRDNBQTEwRjQxMjNBOThBQTAw
OTIxNTJCIC8qIE1lZGlhUXVlcnlNYXRjaGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NDkzQjZD
MTFENzRCNDEyMDA4OEU3ODAgLyogTWVkaWFRdWVyeVBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDQ3MTcxMEUyMDVBRjk0NTAwMEExMTZFIC8qIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk0NkZFRkJDODI2REQ2N0EyMDBCMEM0ODggLyogU3RydWN0dXJl
ZFNlcmlhbGl6ZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTREM0IwMEFCMjE1RDY5QTcw
MDc2Qjk4MyAvKiBNZWRpYVJlY29yZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0REI3MTMwRDIx
NkVDQjREMDA5NkE0REQgLyogTWVkaWFSZWNvcmRlckVycm9yRXZlbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTREM0I1MDE2MjE3RTU4QjcwMDY2NURCMSAvKiBNZWRpYVJlY29yZGVyUHJpdmF0ZS5o
IGluIEhlYWRlcnMgKi8sCkBAIC0zNDEwOCw3ICszNDExNCw2IEBACiAJCQkJOTc0NkFGMzAxNEY0
RERFNjAwM0U3QTcwIC8qIFBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMzc5MTlDMjQwQjdEMTg4NjAwQTU2OTk4IC8qIFBvc2l0aW9uSXRlcmF0b3IuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk3NDZBRjMyMTRGNERERTYwMDNFN0E3MCAvKiBQb3NpdGlvbk9wdGlvbnMu
aCBpbiBIZWFkZXJzICovLAotCQkJCTQ2NjE3MkVDMjNBMkFDMUYwMDNBQjMwOSAvKiBQb3N0TWVz
c2FnZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2REJCNjUwMUFCOEM5NkYwMEQ5QTgx
MyAvKiBQb3dlck9ic2VydmVyTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREM3NDcwNDI0QkUy
RkM3MDBDMTg2OEIgLyogUG93ZXJTb3VyY2VOb3RpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzBGMkE0NDExMzg2OUFBQjAwNjZDNTM0IC8qIHByZXByb2Nlc3Nvci5wbSBpbiBIZWFkZXJzICov
LApAQCAtMzQ4NjIsNiArMzQ4NjcsNyBAQAogCQkJCUIyMjI3OUQ0MEQwMEJGMjIwMDcxQjc4MiAv
KiBTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3
OUQ3MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUIyMjI3OURBMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdGRURpc3RhbnRM
aWdodEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ2MEM3NDU5MjZERDY5QkIwMDQyN0Qz
RSAvKiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzU4
RTg4NjEzNjBBMzNCMDBFNDc0OEMgLyogU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjIyMjc5REQwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0ZFRmxvb2RFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzlFMDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHRkVG
dW5jQUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL01lc3NhZ2VQb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAK
aW5kZXggYzFjNWRjOTg2YWNiNzIzNDJlZDEwMGQ2ZmRjOWQ5MTYwZmQ4YzkyNy4uMzQ0NGYyNzk4
MTNjMTYzYzQ4Njg0ZWM2ODU4MjE5MTRlNTA5OWRiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL01lc3NhZ2VQb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBv
cnQuY3BwCkBAIC0xMzIsNyArMTMyLDcgQEAgdm9pZCBNZXNzYWdlUG9ydDo6ZW50YW5nbGUoKQog
ICAgIE1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyOjpmcm9tQ29udGV4dCgqbV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0KS5lbnRhbmdsZUxvY2FsUG9ydEluVGhpc1Byb2Nlc3NUb1JlbW90ZShtX2lk
ZW50aWZpZXIsIG1fcmVtb3RlSWRlbnRpZmllcik7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IE1l
c3NhZ2VQb3J0Ojpwb3N0TWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBzdGF0ZSwgSlNDOjpK
U1ZhbHVlIG1lc3NhZ2VWYWx1ZSwgUG9zdE1lc3NhZ2VPcHRpb25zJiYgb3B0aW9ucykKK0V4Y2Vw
dGlvbk9yPHZvaWQ+IE1lc3NhZ2VQb3J0Ojpwb3N0TWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0
JiBzdGF0ZSwgSlNDOjpKU1ZhbHVlIG1lc3NhZ2VWYWx1ZSwgU3RydWN0dXJlZFNlcmlhbGl6ZU9w
dGlvbnMmJiBvcHRpb25zKQogewogICAgIExPRyhNZXNzYWdlUG9ydHMsICJBdHRlbXB0aW5nIHRv
IHBvc3QgbWVzc2FnZSB0byBwb3J0ICVzICh0byBiZSByZWNlaXZlZCBieSBwb3J0ICVzKSIsIG1f
aWRlbnRpZmllci5sb2dTdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBtX3JlbW90ZUlkZW50aWZpZXIu
bG9nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9NZXNzYWdlUG9ydC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmgKaW5k
ZXggOWI0Y2NiYmQ1NmQ5MWVkZTFkNDcwNGY3ZGNjMGY3OWYwNDQ1OGU2Ni4uYmI0MGVlNDk3NjE2
YThlMjU4ZWZlMmExNzcwNzk5YzJmOThlOTEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL01lc3NhZ2VQb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmgK
QEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJNZXNzYWdlUG9ydENoYW5uZWwuaCIKICNpbmNs
dWRlICJNZXNzYWdlUG9ydElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlV2l0aE1lc3Nh
Z2VQb3J0cy5oIgotI2luY2x1ZGUgIlBvc3RNZXNzYWdlT3B0aW9ucy5oIgorI2luY2x1ZGUgIlN0
cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zLmgiCiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PE1lc3NhZ2VQb3J0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IE1lc3Nh
Z2VQb3J0SWRlbnRpZmllciYgbG9jYWwsIGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcmVt
b3RlKTsKICAgICB2aXJ0dWFsIH5NZXNzYWdlUG9ydCgpOwogCi0gICAgRXhjZXB0aW9uT3I8dm9p
ZD4gcG9zdE1lc3NhZ2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSBtZXNzYWdl
LCBQb3N0TWVzc2FnZU9wdGlvbnMmJik7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gcG9zdE1lc3Nh
Z2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlLCBTdHJ1Y3R1cmVk
U2VyaWFsaXplT3B0aW9ucyYmKTsKIAogICAgIHZvaWQgc3RhcnQoKTsKICAgICB2b2lkIGNsb3Nl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmlkbAppbmRleCA0MjdmOTAyYzZmMTIwMDY1NGI4
NmMyNzdmNzI3YzIwY2JkMGJjOTZhLi4zNGRiNDA4ZDM5N2NjZjllYjQxY2JmMjg5OTYxZGI3NzRk
MDY2M2RjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5pZGwKQEAgLTMyLDcgKzMyLDcgQEAK
ICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKIF0gaW50ZXJmYWNlIE1lc3NhZ2VQb3J0IDogRXZl
bnRUYXJnZXQgewogICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHVuZGVmaW5lZCBwb3N0TWVz
c2FnZShhbnkgbWVzc2FnZSwgc2VxdWVuY2U8b2JqZWN0PiB0cmFuc2Zlcik7Ci0gICAgW0NhbGxX
aXRoPUdsb2JhbE9iamVjdF0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRp
b25hbCBQb3N0TWVzc2FnZU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9i
amVjdF0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRpb25hbCBTdHJ1Y3R1
cmVkU2VyaWFsaXplT3B0aW9ucyBvcHRpb25zKTsKICAgICB1bmRlZmluZWQgc3RhcnQoKTsKICAg
ICB1bmRlZmluZWQgY2xvc2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9C
YXNlNjRVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQmFzZTY0VXRpbGl0aWVzLmgK
aW5kZXggYmFmOWE4MWM0Nzg3ZmUwMTMxYTk3MTYzOWNmNGViNTIxOTcxMzgzZC4uNTQwZTllM2Ew
YjJjOWFlNjBhNzlhY2M3YmYzMjIyMTRjMDdhZWRhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9CYXNlNjRVdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Jhc2U2
NFV0aWxpdGllcy5oCkBAIC0yOSw2ICsyOSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
Ly8gRklYTUU6IFdlIHNob3VsZCBtZXJnZSB0aGVzZSBpbnRvIFdpbmRvd09yV29ya2VyR2xvYmFs
U2NvcGUuCiBjbGFzcyBCYXNlNjRVdGlsaXRpZXMgewogcHVibGljOgogICAgIHN0YXRpYyBFeGNl
cHRpb25PcjxTdHJpbmc+IGJ0b2EoY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAKaW5kZXggOGNiMWJiNTdjMzA5NjMwOTE3MTYyOGFhMzRkM2Y2ZmI4NDRhNTY4OC4uY2Mz
OTgxYjMyNzQzYzhhNzIwNmVkYzM2Mzc1MTQ1YjYzNmUwNTEwMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcApAQCAtMTgwMiwxNyArMTgwMiw2IEBAIHZvaWQgRE9NV2luZG93OjpyZXNpemVU
byhmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KSBjb25zdAogICAgIHBhZ2UtPmNocm9tZSgpLnNl
dFdpbmRvd1JlY3QoYWRqdXN0V2luZG93UmVjdCgqcGFnZSwgdXBkYXRlKSk7CiB9CiAKLXZvaWQg
RE9NV2luZG93OjpyZXBvcnRFcnJvcihKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qs
IEpTQzo6SlNWYWx1ZSBlcnJvcikKLXsKLSAgICBhdXRvJiB2bSA9IGdsb2JhbE9iamVjdC52bSgp
OwotICAgIFJFTEVBU0VfQVNTRVJUKHZtLmN1cnJlbnRUaHJlYWRJc0hvbGRpbmdBUElMb2NrKCkp
OwotICAgIGF1dG8qIGV4Y2VwdGlvbiA9IEpTQzo6anNEeW5hbWljQ2FzdDxKU0M6OkV4Y2VwdGlv
bio+KHZtLCBlcnJvcik7Ci0gICAgaWYgKCFleGNlcHRpb24pCi0gICAgICAgIGV4Y2VwdGlvbiA9
IEpTQzo6RXhjZXB0aW9uOjpjcmVhdGUodm0sIGVycm9yKTsKLQotICAgIHJlcG9ydEV4Y2VwdGlv
bigmZ2xvYmFsT2JqZWN0LCBleGNlcHRpb24pOwotfQotCiBFeGNlcHRpb25PcjxpbnQ+IERPTVdp
bmRvdzo6c2V0VGltZW91dChKU0M6OkpTR2xvYmFsT2JqZWN0JiBzdGF0ZSwgc3RkOjp1bmlxdWVf
cHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCwgVmVjdG9yPEpTQzo6U3Ry
b25nPEpTQzo6VW5rbm93bj4+JiYgYXJndW1lbnRzKQogewogICAgIFJlZlB0ciBjb250ZXh0ID0g
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggZTEw
MTkwNjQ2ODNjYzU4YWNmOGQ1OGE0YmIyYTI2NWE1MzFlYTRjOS4uNmFiYjAzNjYyYTdjZDkzZjA5
Mjc2NmZjZmRkZjJmOGNjNmI3ZTEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0zMywx
MSArMzMsMTIgQEAKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lRGVzdHJ1Y3Rp
b25PYnNlcnZlci5oIgogI2luY2x1ZGUgIkltYWdlQml0bWFwLmgiCi0jaW5jbHVkZSAiUG9zdE1l
c3NhZ2VPcHRpb25zLmgiCiAjaW5jbHVkZSAiUmVkdWNlZFJlc29sdXRpb25TZWNvbmRzLmgiCiAj
aW5jbHVkZSAiU2Nyb2xsVG9PcHRpb25zLmgiCiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKKyNp
bmNsdWRlICJTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oIgogI2luY2x1ZGUgIlN1cHBsZW1l
bnRhYmxlLmgiCisjaW5jbHVkZSAiV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0hhbmRsZVR5cGVzLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvU3Ryb25nLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CkBAIC05OCwxMCArOTksMTAg
QEAgc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogZW51bSBTZXRMb2NhdGlvbkxvY2tpbmcgeyBMb2Nr
SGlzdG9yeUJhc2VkT25HZXN0dXJlU3RhdGUsIExvY2tIaXN0b3J5QW5kQmFja0ZvcndhcmRMaXN0
IH07CiBlbnVtIGNsYXNzIEluY2x1ZGVUYXJnZXRPcmlnaW4geyBObywgWWVzIH07CiAKLXN0cnVj
dCBXaW5kb3dQb3N0TWVzc2FnZU9wdGlvbnMgOiBwdWJsaWMgUG9zdE1lc3NhZ2VPcHRpb25zIHsK
K3N0cnVjdCBXaW5kb3dQb3N0TWVzc2FnZU9wdGlvbnMgOiBwdWJsaWMgU3RydWN0dXJlZFNlcmlh
bGl6ZU9wdGlvbnMgewogICAgIFdpbmRvd1Bvc3RNZXNzYWdlT3B0aW9ucygpID0gZGVmYXVsdDsK
ICAgICBXaW5kb3dQb3N0TWVzc2FnZU9wdGlvbnMoU3RyaW5nJiYgdGFyZ2V0T3JpZ2luLCBWZWN0
b3I8SlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4+JiYgdHJhbnNmZXIpCi0gICAgICAgIDogUG9z
dE1lc3NhZ2VPcHRpb25zKFdURk1vdmUodHJhbnNmZXIpKQorICAgICAgICA6IFN0cnVjdHVyZWRT
ZXJpYWxpemVPcHRpb25zKFdURk1vdmUodHJhbnNmZXIpKQogICAgICAgICAsIHRhcmdldE9yaWdp
bihXVEZNb3ZlKHRhcmdldE9yaWdpbikpCiAgICAgeyB9CiAKQEAgLTExMyw2ICsxMTQsNyBAQCBj
bGFzcyBET01XaW5kb3cgZmluYWwKICAgICA6IHB1YmxpYyBBYnN0cmFjdERPTVdpbmRvdwogICAg
ICwgcHVibGljIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyCiAgICAgLCBwdWJsaWMgQmFzZTY0
VXRpbGl0aWVzCisgICAgLCBwdWJsaWMgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZQogICAgICwg
cHVibGljIFN1cHBsZW1lbnRhYmxlPERPTVdpbmRvdz4gewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoRE9NV2luZG93KTsKIHB1YmxpYzoKQEAgLTM4Niw4ICszODgsNiBAQCBwdWJsaWM6CiAg
ICAgV2ViS2l0TmFtZXNwYWNlKiB3ZWJraXROYW1lc3BhY2UoKTsKICNlbmRpZgogCi0gICAgdm9p
ZCByZXBvcnRFcnJvcihKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlKTsKLQogICAg
IC8vIEZJWE1FOiBXaGVuIHRoaXMgRE9NV2luZG93IGlzIG5vIGxvbmdlciB0aGUgYWN0aXZlIERP
TVdpbmRvdyAoaS5lLiwKICAgICAvLyB3aGVuIGl0cyBkb2N1bWVudCBpcyBubyBsb25nZXIgdGhl
IGRvY3VtZW50IHRoYXQgaXMgZGlzcGxheWVkIGluIGl0cwogICAgIC8vIGZyYW1lKSwgd2Ugd291
bGQgbGlrZSB0byB6ZXJvIG91dCBtX2ZyYW1lIHRvIGF2b2lkIGJlaW5nIGNvbmZ1c2VkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNDBmODc0N2IxZGFmM2UxNDkwNjUwZDMxZjk2NWUx
ZGNmYWUxZjU5YS4uODU4NmVkZDAwMGUxMTg4NTdmNmNiZjI5NTc4MDNkZjdmMGNlZTY5NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMTM0LDcgKzEzNCw3IEBACiAKIFsKICAgICBJ
bXBsZW1lbnRlZEFzPVdpbmRvd1Bvc3RNZXNzYWdlT3B0aW9ucwotXSBkaWN0aW9uYXJ5IFdpbmRv
d1Bvc3RNZXNzYWdlT3B0aW9ucyA6IFBvc3RNZXNzYWdlT3B0aW9ucyB7CitdIGRpY3Rpb25hcnkg
V2luZG93UG9zdE1lc3NhZ2VPcHRpb25zIDogU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMgewog
ICAgIFVTVlN0cmluZyB0YXJnZXRPcmlnaW4gPSAiLyI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Bvc3RNZXNzYWdlT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9Qb3N0TWVzc2FnZU9wdGlvbnMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzYw
YTEzYTZhNzI5M2RlNzcyZTk4N2YzMGI4ZTRkYTRjNTk5NzlmMy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc3RNZXNz
YWdlT3B0aW9ucy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4KLSNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmcuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RydWN0IFBvc3RNZXNzYWdlT3B0aW9ucyB7Ci0g
ICAgUG9zdE1lc3NhZ2VPcHRpb25zKCkgPSBkZWZhdWx0OwotICAgIFBvc3RNZXNzYWdlT3B0aW9u
cyhWZWN0b3I8SlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4+JiYgdHJhbnNmZXIpCi0gICAgICAg
IDogdHJhbnNmZXIoV1RGTW92ZSh0cmFuc2ZlcikpCi0gICAgeyB9Ci0KLSAgICBWZWN0b3I8SlND
OjpTdHJvbmc8SlNDOjpKU09iamVjdD4+IHRyYW5zZmVyOwotfTsKLQotfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Qb3N0TWVzc2FnZU9wdGlvbnMuaWRsIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Qb3N0TWVzc2FnZU9wdGlvbnMuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyODdmZDQyMDM4MzEyYjY5ODZiZGM4YjgzYzc0YjY1YTEzNzYyMGJlLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UG9zdE1lc3NhZ2VPcHRpb25zLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi1kaWN0aW9uYXJ5IFBvc3RNZXNzYWdlT3B0aW9ucyB7Ci0gIHNlcXVlbmNlPG9i
amVjdD4gdHJhbnNmZXIgPSBbXTsKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1N0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cnVj
dHVyZWRTZXJpYWxpemVPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTE1ZDU1YTk1OWM1N2JlNzhiYTQy
MmUzMzU5ZTE3OTlkMzkwNmU3NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaApAQCAtMCwwICsxLDQzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE5LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2Jq
ZWN0Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nLmg+CisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBTdHJ1Y3R1cmVkU2Vy
aWFsaXplT3B0aW9ucyB7CisgICAgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMoKSA9IGRlZmF1
bHQ7CisgICAgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMoVmVjdG9yPEpTQzo6U3Ryb25nPEpT
Qzo6SlNPYmplY3Q+PiYmIHRyYW5zZmVyKQorICAgICAgICA6IHRyYW5zZmVyKFdURk1vdmUodHJh
bnNmZXIpKQorICAgIHsgfQorCisgICAgVmVjdG9yPEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+
PiB0cmFuc2ZlcjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Ry
dWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJ1Y3R1
cmVkU2VyaWFsaXplT3B0aW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjI5ZDE4ZWM3OTdkZjE2YWE3Mzkx
NmQwNDA5MDU2MTlhMDYwZjY5MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaWRsCkBAIC0wLDAgKzEsMjggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK2RpY3Rpb25hcnkgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMgeworICBz
ZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyID0gW107Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjVlMTYzM2Jj
YzE1OWY4ODhmYTNiOWI0ZWE0NjZmYTIyODI4YjkwYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTAsMCArMSw2
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXaW5kb3dP
cldvcmtlckdsb2JhbFNjb3BlLmgiCisKKyNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1
ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVj
dC5oIgorI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCisjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlw
dFZhbHVlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBXaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlOjpyZXBvcnRFcnJvcihKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBK
U0M6OkpTVmFsdWUgZXJyb3IpCit7CisgICAgYXV0byYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsK
KyAgICBSRUxFQVNFX0FTU0VSVCh2bS5jdXJyZW50VGhyZWFkSXNIb2xkaW5nQVBJTG9jaygpKTsK
KyAgICBhdXRvKiBleGNlcHRpb24gPSBKU0M6OmpzRHluYW1pY0Nhc3Q8SlNDOjpFeGNlcHRpb24q
Pih2bSwgZXJyb3IpOworICAgIGlmICghZXhjZXB0aW9uKQorICAgICAgICBleGNlcHRpb24gPSBK
U0M6OkV4Y2VwdGlvbjo6Y3JlYXRlKHZtLCBlcnJvcik7CisKKyAgICByZXBvcnRFeGNlcHRpb24o
Jmdsb2JhbE9iamVjdCwgZXhjZXB0aW9uKTsKK30KKworRXhjZXB0aW9uT3I8SlNDOjpKU1ZhbHVl
PiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlOjpzdHJ1Y3R1cmVkQ2xvbmUoSlNET01HbG9iYWxP
YmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHZhbHVlLCBTdHJ1Y3R1cmVkU2VyaWFs
aXplT3B0aW9ucyYmIG9wdGlvbnMpCit7CisgICAgVmVjdG9yPFJlZlB0cjxNZXNzYWdlUG9ydD4+
IHBvcnRzOworICAgIGF1dG8gbWVzc2FnZURhdGEgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNy
ZWF0ZShnbG9iYWxPYmplY3QsIHZhbHVlLCBXVEZNb3ZlKG9wdGlvbnMudHJhbnNmZXIpLCBwb3J0
cywgU2VyaWFsaXphdGlvbkNvbnRleHQ6OldpbmRvd1Bvc3RNZXNzYWdlKTsKKyAgICBpZiAobWVz
c2FnZURhdGEuaGFzRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBtZXNzYWdlRGF0YS5yZWxl
YXNlRXhjZXB0aW9uKCk7CisKKyAgICBhdXRvIGRpc2VudGFuZ2xlZFBvcnRzID0gTWVzc2FnZVBv
cnQ6OmRpc2VudGFuZ2xlUG9ydHMoV1RGTW92ZShwb3J0cykpOworICAgIGlmIChkaXNlbnRhbmds
ZWRQb3J0cy5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGRpc2VudGFuZ2xlZFBvcnRz
LnJlbGVhc2VFeGNlcHRpb24oKTsKKworICAgIFZlY3RvcjxSZWZQdHI8TWVzc2FnZVBvcnQ+PiBl
bnRhbmdsZWRQb3J0czsKKyAgICBpZiAoYXV0byogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCA9IGds
b2JhbE9iamVjdC5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCisgICAgICAgIGVudGFuZ2xlZFBv
cnRzID0gTWVzc2FnZVBvcnQ6OmVudGFuZ2xlUG9ydHMoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IGRpc2VudGFuZ2xlZFBvcnRzLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKKworICAgIHJldHVybiBt
ZXNzYWdlRGF0YS5yZXR1cm5WYWx1ZSgpLT5kZXNlcmlhbGl6ZShnbG9iYWxPYmplY3QsICZnbG9i
YWxPYmplY3QsIFdURk1vdmUoZW50YW5nbGVkUG9ydHMpKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzI0ZGQwYWRhMzUyYTEyZDZmOGYzNjc5NzUzYjVkZWJkYjJiYWYz
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSAiU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaCIKKworbmFtZXNwYWNlIEpT
QyB7CitjbGFzcyBKU1ZhbHVlOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEpT
RE9NR2xvYmFsT2JqZWN0OwordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgRXhjZXB0aW9uT3I7
CisKK2NsYXNzIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUgeworcHVibGljOgorICAgIHN0YXRp
YyB2b2lkIHJlcG9ydEVycm9yKEpTRE9NR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlKTsKKyAg
ICBzdGF0aWMgRXhjZXB0aW9uT3I8SlNDOjpKU1ZhbHVlPiBzdHJ1Y3R1cmVkQ2xvbmUoSlNET01H
bG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUsIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zJiYg
PSB7IH0pOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaWRsIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmlkbAppbmRleCA0ZDZiYzkyYTU1
OTc0NzI0YjJmYzRiODA3MjliNmI3ZjQ3NzA4ZTg4Li44MGRmZDRjYjQxOWRhNWI2NGUzOTk4Mjgz
YjBlNDc3NTA0MWE2MGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd09y
V29ya2VyR2xvYmFsU2NvcGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2luZG93T3JX
b3JrZXJHbG9iYWxTY29wZS5pZGwKQEAgLTY5LDQgKzY5LDcgQEAgaW50ZXJmYWNlIG1peGluIFdp
bmRvd09yV29ya2VyR2xvYmFsU2NvcGUgewogICAgIC8vIEltYWdlQml0bWFwLgogICAgIFtFbmFi
bGVkQXRSdW50aW1lPUltYWdlQml0bWFwXSBQcm9taXNlPEltYWdlQml0bWFwPiBjcmVhdGVJbWFn
ZUJpdG1hcChJbWFnZUJpdG1hcFNvdXJjZSBpbWFnZSwgb3B0aW9uYWwgSW1hZ2VCaXRtYXBPcHRp
b25zIG9wdGlvbnMpOwogICAgIFtFbmFibGVkQXRSdW50aW1lPUltYWdlQml0bWFwXSBQcm9taXNl
PEltYWdlQml0bWFwPiBjcmVhdGVJbWFnZUJpdG1hcChJbWFnZUJpdG1hcFNvdXJjZSBpbWFnZSwg
bG9uZyBzeCwgbG9uZyBzeSwgbG9uZyBzdywgbG9uZyBzaCwgb3B0aW9uYWwgSW1hZ2VCaXRtYXBP
cHRpb25zIG9wdGlvbnMpOworCisgICAgLy8gc3RydWN0dXJlZCBjbG9uaW5nCisgICAgW0NhbGxX
aXRoPUdsb2JhbE9iamVjdF0gYW55IHN0cnVjdHVyZWRDbG9uZShhbnkgdmFsdWUsIG9wdGlvbmFs
IFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zIG9wdGlvbnMpOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXgg
YTUxNThjZGZlNGUyNmY0NmMwOTMxNzlhN2FiZjhmMTFkZTdiMmEzMS4uZTU5NzUwZTExMzViMGI5
NTI1YTYyMDY0MGQ4OWM4NDI2M2ZlZDgwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTc4LDcgKzc4LDcgQEAg
dm9pZCBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCkK
ICAgICBXb3JrZXJHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCk7CiB9CiAKLUV4
Y2VwdGlvbk9yPHZvaWQ+IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpwb3N0TWVzc2FnZShK
U0M6OkpTR2xvYmFsT2JqZWN0JiBzdGF0ZSwgSlNDOjpKU1ZhbHVlIG1lc3NhZ2VWYWx1ZSwgUG9z
dE1lc3NhZ2VPcHRpb25zJiYgb3B0aW9ucykKK0V4Y2VwdGlvbk9yPHZvaWQ+IERlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlOjpwb3N0TWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBzdGF0ZSwg
SlNDOjpKU1ZhbHVlIG1lc3NhZ2VWYWx1ZSwgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMmJiBv
cHRpb25zKQogewogICAgIFZlY3RvcjxSZWZQdHI8TWVzc2FnZVBvcnQ+PiBwb3J0czsKICAgICBh
dXRvIG1lc3NhZ2UgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShzdGF0ZSwgbWVzc2Fn
ZVZhbHVlLCBXVEZNb3ZlKG9wdGlvbnMudHJhbnNmZXIpLCBwb3J0cywgU2VyaWFsaXphdGlvbkNv
bnRleHQ6OldvcmtlclBvc3RNZXNzYWdlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCBjYTRkNTY4MGU4YjFkMWVjNzZi
NTQ2OWU0YzFjNTRlODU3MmU3OTY2Li43ZjQyNjBiNTQ0Y2FjMGU5NmU1ODlkZThiMWJlYjcxYjFk
MTk1MTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZS5oCkBAIC0zMiw3ICszMiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1
ZGUgIk1lc3NhZ2VQb3J0LmgiCi0jaW5jbHVkZSAiUG9zdE1lc3NhZ2VPcHRpb25zLmgiCisjaW5j
bHVkZSAiU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9i
YWxTY29wZS5oIgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgog
CiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CiAKLSAg
ICBFeGNlcHRpb25Pcjx2b2lkPiBwb3N0TWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlND
OjpKU1ZhbHVlIG1lc3NhZ2UsIFBvc3RNZXNzYWdlT3B0aW9ucyYmKTsKKyAgICBFeGNlcHRpb25P
cjx2b2lkPiBwb3N0TWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlIG1l
c3NhZ2UsIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zJiYpOwogCiAgICAgRGVkaWNhdGVkV29y
a2VyVGhyZWFkJiB0aHJlYWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmlkbAppbmRleCBhMGExMjk4NDBlNGZiMjZhMzU0
MWQ5NDI4NzllYjZmODNmNjRkNDI3Li41MmQ1YjJhNGI0OGVlOTI2M2E1NTJkZWYyOWFkOTAxNTVj
ZDc3YzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlLmlkbApAQCAtMzgsNyArMzgsNyBAQAogICAgIFtSZXBsYWNlYWJsZV0g
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwogCiAgICAgW0NhbGxXaXRoPUdsb2Jh
bE9iamVjdF0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBzZXF1ZW5jZTxvYmpl
Y3Q+IHRyYW5zZmVyKTsKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB1bmRlZmluZWQgcG9z
dE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIFBvc3RNZXNzYWdlT3B0aW9ucyBvcHRpb25z
KTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55
IG1lc3NhZ2UsIG9wdGlvbmFsIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zIG9wdGlvbnMpOwog
CiAgICAgdW5kZWZpbmVkIGNsb3NlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRl
eCBjMDIwZGM1MjlkYjY4YWU0MDBlMTIzYjdhYTcyZDE4NDhiYmIyYmJlLi44ZTA1ZjhjYWM1YzUw
ZGNmYTM0MzRjZTFjODJmNmRjNWVmM2IxNjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3Bw
CkBAIC0xMzYsNyArMTM2LDcgQEAgV29ya2VyOjp+V29ya2VyKCkKICAgICBtX2NvbnRleHRQcm94
eS53b3JrZXJPYmplY3REZXN0cm95ZWQoKTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gV29ya2Vy
Ojpwb3N0TWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBzdGF0ZSwgSlNDOjpKU1ZhbHVlIG1l
c3NhZ2VWYWx1ZSwgUG9zdE1lc3NhZ2VPcHRpb25zJiYgb3B0aW9ucykKK0V4Y2VwdGlvbk9yPHZv
aWQ+IFdvcmtlcjo6cG9zdE1lc3NhZ2UoSlNDOjpKU0dsb2JhbE9iamVjdCYgc3RhdGUsIEpTQzo6
SlNWYWx1ZSBtZXNzYWdlVmFsdWUsIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zJiYgb3B0aW9u
cykKIHsKICAgICBWZWN0b3I8UmVmUHRyPE1lc3NhZ2VQb3J0Pj4gcG9ydHM7CiAgICAgYXV0byBt
ZXNzYWdlID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoc3RhdGUsIG1lc3NhZ2VWYWx1
ZSwgV1RGTW92ZShvcHRpb25zLnRyYW5zZmVyKSwgcG9ydHMsIFNlcmlhbGl6YXRpb25Db250ZXh0
OjpXb3JrZXJQb3N0TWVzc2FnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAppbmRleCBiNzA2OTIx
MTgzMDhkZTg4MzI4Njc3YmM2ZjdkNDUwM2JjYjBmNmMyLi4zNGE5MTM4ZjUyMzAzNGQwNjBkMDZh
M2ZjODUwNGI3Y2QzYmUyYTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKQEAgLTMxLDcgKzMx
LDcgQEAKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkZldGNoUmVxdWVzdENy
ZWRlbnRpYWxzLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKLSNpbmNsdWRlICJQb3N0TWVz
c2FnZU9wdGlvbnMuaCIKKyNpbmNsdWRlICJTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oIgog
I2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIldvcmtlclR5
cGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3MuaD4KQEAgLTYzLDcg
KzYzLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8V29ya2VyPj4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgY29uc3QgU3Ry
aW5nJiB1cmwsIGNvbnN0IE9wdGlvbnMmKTsKICAgICB2aXJ0dWFsIH5Xb3JrZXIoKTsKIAotICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IHBvc3RNZXNzYWdlKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6
OkpTVmFsdWUgbWVzc2FnZSwgUG9zdE1lc3NhZ2VPcHRpb25zJiYpOworICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IHBvc3RNZXNzYWdlKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUgbWVz
c2FnZSwgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMmJik7CiAKICAgICB2b2lkIHRlcm1pbmF0
ZSgpOwogICAgIGJvb2wgd2FzVGVybWluYXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2FzVGVybWlu
YXRlZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCmluZGV4IDcwZTIyOTMyZDYxMTQxNGRj
YmI5ZTE2NDJhMDBhYWQzMjI3NzBiZjEuLmUyZGNlMjU4MDI3YTk1OWVmYjI5MmYyZDUyYTU0NTQw
YjRhNTA5OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKQEAgLTMzLDcgKzMzLDcgQEAK
ICAgICB1bmRlZmluZWQgdGVybWluYXRlKCk7CiAKICAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0
XSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIHNlcXVlbmNlPG9iamVjdD4gdHJh
bnNmZXIpOwotICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHVuZGVmaW5lZCBwb3N0TWVzc2Fn
ZShhbnkgbWVzc2FnZSwgb3B0aW9uYWwgUG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOworICAg
IFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShhbnkgbWVzc2Fn
ZSwgb3B0aW9uYWwgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMgb3B0aW9ucyk7CiAgICAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciBvbm1lc3NhZ2U7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDUxYjgzM2NlMmIwOWNlNzFkMDU5YWU0
ZjM3ZjhlMzlkZTlhODY3ZmMuLmFhZWJjZDQ0OGM0MWI4MWUxY2U1Y2EyNWI1NWZjZGE3NWIzNDZj
NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBA
IC01NDgsMTcgKzU0OCw2IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmRlbGV0ZUpTQ29kZUFu
ZEdDKFN5bmNocm9ub3VzIHN5bmNocm9ub3VzKQogI2VuZGlmCiB9CiAKLXZvaWQgV29ya2VyR2xv
YmFsU2NvcGU6OnJlcG9ydEVycm9yKEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwg
SlNDOjpKU1ZhbHVlIGVycm9yKQotewotICAgIGF1dG8mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7
Ci0gICAgUkVMRUFTRV9BU1NFUlQodm0uY3VycmVudFRocmVhZElzSG9sZGluZ0FQSUxvY2soKSk7
Ci0gICAgYXV0byogZXhjZXB0aW9uID0gSlNDOjpqc0R5bmFtaWNDYXN0PEpTQzo6RXhjZXB0aW9u
Kj4odm0sIGVycm9yKTsKLSAgICBpZiAoIWV4Y2VwdGlvbikKLSAgICAgICAgZXhjZXB0aW9uID0g
SlNDOjpFeGNlcHRpb246OmNyZWF0ZSh2bSwgZXJyb3IpOwotCi0gICAgV2ViQ29yZTo6cmVwb3J0
RXhjZXB0aW9uKCZnbG9iYWxPYmplY3QsIGV4Y2VwdGlvbik7Ci19Ci0KIHZvaWQgV29ya2VyR2xv
YmFsU2NvcGU6OnJlbGVhc2VNZW1vcnlJbldvcmtlcnMoU3luY2hyb25vdXMgc3luY2hyb25vdXMp
CiB7CiAgICAgTG9ja2VyIGxvY2tlciB7IGFsbFdvcmtlckdsb2JhbFNjb3BlSWRlbnRpZmllcnNM
b2NrIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXgg
ZjQwMGNiYjgyNWNkNzk3YmI0ZDY5MDQzMWI1MjQ2ZjVmNWY3YTA1Ni4uZTU2ODdhZWU2MzY1ODdj
NThmYWU3ZjlhOWIyNDZlZDc3Yzg0YTNiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIlNjcmlwdEJ1ZmZl
clNvdXJjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgog
I2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCisjaW5jbHVkZSAiV2luZG93T3JXb3JrZXJHbG9i
YWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgiCiAjaW5j
bHVkZSAiV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIldvcmtl
ckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCIKQEAgLTYzLDcgKzY0LDcgQEAgbmFtZXNwYWNlIElE
QkNsaWVudCB7CiBjbGFzcyBJREJDb25uZWN0aW9uUHJveHk7CiB9CiAKLWNsYXNzIFdvcmtlckds
b2JhbFNjb3BlIDogcHVibGljIFN1cHBsZW1lbnRhYmxlPFdvcmtlckdsb2JhbFNjb3BlPiwgcHVi
bGljIEJhc2U2NFV0aWxpdGllcywgcHVibGljIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlIHsK
K2NsYXNzIFdvcmtlckdsb2JhbFNjb3BlIDogcHVibGljIFN1cHBsZW1lbnRhYmxlPFdvcmtlckds
b2JhbFNjb3BlPiwgcHVibGljIEJhc2U2NFV0aWxpdGllcywgcHVibGljIFdpbmRvd09yV29ya2Vy
R2xvYmFsU2NvcGUsIHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSB7CiAgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChXb3JrZXJHbG9iYWxTY29wZSk7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+V29ya2VyR2xvYmFsU2NvcGUoKTsKQEAgLTEzMCw4ICsxMzEsNiBAQCBwdWJsaWM6CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPEZvbnRMb2FkUmVxdWVzdD4gZm9udExvYWRSZXF1ZXN0KFN0cmlu
ZyYgdXJsLCBib29sIGlzU1ZHLCBib29sIGlzSW5pdGlhdGluZ0VsZW1lbnRJblVzZXJBZ2VudFNo
YWRvd1RyZWUsIExvYWRlZEZyb21PcGFxdWVTb3VyY2UpIGZpbmFsOwogICAgIHZvaWQgYmVnaW5M
b2FkaW5nRm9udFNvb24oRm9udExvYWRSZXF1ZXN0JikgZmluYWw7CiAKLSAgICB2b2lkIHJlcG9y
dEVycm9yKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUpOwotCiAgICAgUmVmZXJy
ZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCBmaW5hbDsKIAogICAgIGNvbnN0IFNldHRp
bmdzOjpWYWx1ZXMmIHNldHRpbmdzVmFsdWVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZXR0
aW5nc1ZhbHVlczsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXIuY3BwCmluZGV4IGFhNDIyZjZjZjA2ZTlhN2RmMGRhZmI0YTk5MmE5NWQyZTVjNGZj
YWYuLjhkNTkzYWYxZTllNTBkYjM4Mzk0MTdkMzg1ZjA3NDk2YzRmZTgzM2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHAKQEAgLTk5LDcg
Kzk5LDcgQEAgU1dDbGllbnRDb25uZWN0aW9uJiBTZXJ2aWNlV29ya2VyOjpzd0Nvbm5lY3Rpb24o
KQogICAgIHJldHVybiBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VX
b3JrZXJDb25uZWN0aW9uKCk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IFNlcnZpY2VXb3JrZXI6
OnBvc3RNZXNzYWdlKEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpKU1Zh
bHVlIG1lc3NhZ2VWYWx1ZSwgUG9zdE1lc3NhZ2VPcHRpb25zJiYgb3B0aW9ucykKK0V4Y2VwdGlv
bk9yPHZvaWQ+IFNlcnZpY2VXb3JrZXI6OnBvc3RNZXNzYWdlKEpTQzo6SlNHbG9iYWxPYmplY3Qm
IGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIG1lc3NhZ2VWYWx1ZSwgU3RydWN0dXJlZFNlcmlh
bGl6ZU9wdGlvbnMmJiBvcHRpb25zKQogewogICAgIGlmIChtX2lzU3RvcHBlZCkKICAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaAppbmRleCBjYjU2N2UyZjgwYWI1YTZk
MDg3ZGZkMjc1ZWFlZTU1NmFlMGNmZjhjLi5hYjlhMTViZDAxOGQ2NTE1MGFjZDIyMjhiN2I0OTI4
ZDY0M2EyZDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyLmgKQEAgLTMwLDggKzMwLDggQEAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIK
ICNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1ZGUgIkV2ZW50
VGFyZ2V0LmgiCi0jaW5jbHVkZSAiUG9zdE1lc3NhZ2VPcHRpb25zLmgiCiAjaW5jbHVkZSAiU2Vy
dmljZVdvcmtlckRhdGEuaCIKKyNpbmNsdWRlICJTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5o
IgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0cm9uZy5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6
CiAgICAgCiAgICAgdm9pZCB1cGRhdGVTdGF0ZShTdGF0ZSk7CiAKLSAgICBFeGNlcHRpb25Pcjx2
b2lkPiBwb3N0TWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlIG1lc3Nh
Z2UsIFBvc3RNZXNzYWdlT3B0aW9ucyYmKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBwb3N0TWVz
c2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlIG1lc3NhZ2UsIFN0cnVjdHVy
ZWRTZXJpYWxpemVPcHRpb25zJiYpOwogCiAgICAgU2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRl
bnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5pZGVudGlmaWVyOyB9CiAgICAgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllcigpIGNv
bnN0IHsgcmV0dXJuIG1fZGF0YS5yZWdpc3RyYXRpb25JZGVudGlmaWVyOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5pZGwKaW5kZXggZDY2ZmEz
Y2MzMTY5ZmJmM2JjYjUxNzRlODVkY2ZiYjY4MmZjNTc0OS4uNThlZGFhMWM5NTE5OTI4ZjQwMzM4
Y2E3N2E2OWI3ODgxNjBhNTM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyLmlkbApAQCAtMzcsNyArMzcsNyBAQAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBVU1ZTdHJpbmcgc2NyaXB0VVJMOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTZXJ2
aWNlV29ya2VyU3RhdGUgc3RhdGU7CiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gdW5kZWZp
bmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyKTsK
LSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1l
c3NhZ2UsIG9wdGlvbmFsIFBvc3RNZXNzYWdlT3B0aW9ucyBvcHRpb25zKTsKKyAgICBbQ2FsbFdp
dGg9R2xvYmFsT2JqZWN0XSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlv
bmFsIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgLy8gZXZlbnQK
ICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc3RhdGVjaGFuZ2U7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5jcHAKaW5k
ZXggYjEzMzRiNDEyYmJlYWIwNTk0NmE4YzZkNDJmODI5NTg0Y2JiMWRjMi4uNDU0MmVmMTBlZWUz
MDE1NWIwZWJmNWQxNTVjOTFhMWY2MDVkMTg5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmNwcApAQCAtODIsNyArODIs
NyBAQCBTdHJpbmcgU2VydmljZVdvcmtlckNsaWVudDo6aWQoKSBjb25zdAogICAgIHJldHVybiBp
ZGVudGlmaWVyKCkudG9TdHJpbmcoKTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gU2VydmljZVdv
cmtlckNsaWVudDo6cG9zdE1lc3NhZ2UoSlNDOjpKU0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTVmFsdWUgbWVzc2FnZVZhbHVlLCBQb3N0TWVzc2FnZU9wdGlvbnMmJiBvcHRpb25z
KQorRXhjZXB0aW9uT3I8dm9pZD4gU2VydmljZVdvcmtlckNsaWVudDo6cG9zdE1lc3NhZ2UoSlND
OjpKU0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgbWVzc2FnZVZhbHVl
LCBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucyYmIG9wdGlvbnMpCiB7CiAgICAgVmVjdG9yPFJl
ZlB0cjxNZXNzYWdlUG9ydD4+IHBvcnRzOwogICAgIGF1dG8gbWVzc2FnZURhdGEgPSBTZXJpYWxp
emVkU2NyaXB0VmFsdWU6OmNyZWF0ZShnbG9iYWxPYmplY3QsIG1lc3NhZ2VWYWx1ZSwgV1RGTW92
ZShvcHRpb25zLnRyYW5zZmVyKSwgcG9ydHMsIFNlcmlhbGl6YXRpb25Db250ZXh0OjpXb3JrZXJQ
b3N0TWVzc2FnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJDbGllbnQuaAppbmRleCAwZmJmY2FjM2UwNTdlNzFhYjU2YzM5ZmFlODNjODg0
ZjUxMDQ4Y2ViLi5mZWExMzk0MWRhOGZkOGY5OTE2YzQzMTI2ZmE0NmQ2MTIyYzcxOGY3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xp
ZW50LmgKQEAgLTI5LDggKzI5LDggQEAKIAogI2luY2x1ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9i
c2VydmVyLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKLSNpbmNsdWRlICJQb3N0TWVzc2Fn
ZU9wdGlvbnMuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5oIgorI2luY2x1
ZGUgIlN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvU3Ryb25nLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAtNjEsNyArNjEs
NyBAQCBwdWJsaWM6CiAKICAgICBJZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVy
biBtX2RhdGEuaWRlbnRpZmllcjsgfQogCi0gICAgRXhjZXB0aW9uT3I8dm9pZD4gcG9zdE1lc3Nh
Z2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlLCBQb3N0TWVzc2Fn
ZU9wdGlvbnMmJik7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gcG9zdE1lc3NhZ2UoSlNDOjpKU0ds
b2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlLCBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0
aW9ucyYmKTsKIAogcHJvdGVjdGVkOgogICAgIFNlcnZpY2VXb3JrZXJDbGllbnQoU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlJiwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5pZGwK
aW5kZXggZTAxMDJkNTk0M2EzNjRlYjZmYmQxMzgyYmY2ZjI4NDJiOGRjZGUzMS4uNGI0MGIxMmFk
ODYxOTZlMzAwNDdhOWUyNmI3NGE5MTJlMjc2NjJiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmlkbApAQCAtMzYsNyAr
MzYsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaWQ7CiAKICAgICBbQ2Fs
bFdpdGg9R2xvYmFsT2JqZWN0XSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIHNl
cXVlbmNlPG9iamVjdD4gdHJhbnNmZXIpOwotICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHVu
ZGVmaW5lZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgb3B0aW9uYWwgUG9zdE1lc3NhZ2VPcHRp
b25zIG9wdGlvbnMpOworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHVuZGVmaW5lZCBwb3N0
TWVzc2FnZShhbnkgbWVzc2FnZSwgb3B0aW9uYWwgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMg
b3B0aW9ucyk7CiB9OwogCiBlbnVtIEZyYW1lVHlwZSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwppbmRleCBhY2U4ZDllY2UxZWU1MmU0Njk5YTNjYmQxOWQ2OTQyYjU5OGYxMzM2Li5hODFh
NzBlMGRmZGQxMDVhY2U2YTliMGUxNDg3ZTg2YzhhOTlmNTM0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMS0wOC0zMCAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBzZWxmLnN0cnVjdHVyZWRDbG9u
ZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjgz
MzEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgxNDY4Mzc0PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcG9ydCBsYXlvdXQgdGVzdCBjb3ZlcmFn
ZSBmcm9tIFdQVC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFw
aXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNsb25lLmFueS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0
dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNsb25lLmFueS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0
dXJlZC1jbG9uZS5hbnkuanM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNsb25lLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5hbnkud29ya2Vy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFw
aXMvc3RydWN0dXJlZC1jbG9uZS93M2MtaW1wb3J0LmxvZzoKKwogMjAyMS0wOC0zMCAgU2lodWkg
TGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1p
c3Npb25zIEFQSQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNs
b25lLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3N0cnVjdHVyZWQtY2xv
bmUuYW55LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYzJlMDliOTZkYzdjZGFiMGEzZWRjMjYw
YTZhZTVkNmM3MGNlNzliCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9z
dHJ1Y3R1cmVkLWNsb25lLmFueS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMjQgQEAKKworUEFT
UyBwcmltaXRpdmUgdW5kZWZpbmVkCitQQVNTIHByaW1pdGl2ZSBudWxsCitQQVNTIHByaW1pdGl2
ZSB0cnVlCitQQVNTIHByaW1pdGl2ZSBmYWxzZQorUEFTUyBwcmltaXRpdmUgc3RyaW5nLCBlbXB0
eSBzdHJpbmcKK1BBU1MgcHJpbWl0aXZlIHN0cmluZywgbG9uZSBoaWdoIHN1cnJvZ2F0ZQorUEFT
UyBwcmltaXRpdmUgc3RyaW5nLCBsb25lIGxvdyBzdXJyb2dhdGUKK1BBU1MgcHJpbWl0aXZlIHN0
cmluZywgTlVMCitQQVNTIHByaW1pdGl2ZSBzdHJpbmcsIGFzdHJhbCBjaGFyYWN0ZXIKK1BBU1Mg
cHJpbWl0aXZlIG51bWJlciwgMC4yCitQQVNTIHByaW1pdGl2ZSBudW1iZXIsIDAKK1BBU1MgcHJp
bWl0aXZlIG51bWJlciwgLTAKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgTmFOCitQQVNTIHByaW1p
dGl2ZSBudW1iZXIsIEluZmluaXR5CitQQVNTIHByaW1pdGl2ZSBudW1iZXIsIC1JbmZpbml0eQor
UEFTUyBwcmltaXRpdmUgbnVtYmVyLCA5MDA3MTk5MjU0NzQwOTkyCitQQVNTIHByaW1pdGl2ZSBu
dW1iZXIsIC05MDA3MTk5MjU0NzQwOTkyCitQQVNTIHByaW1pdGl2ZSBudW1iZXIsIDkwMDcxOTky
NTQ3NDA5OTQKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgLTkwMDcxOTkyNTQ3NDA5OTQKK1BBU1Mg
cHJpbWl0aXZlIEJpZ0ludCwgMG4KK1BBU1MgcHJpbWl0aXZlIEJpZ0ludCwgLTBuCitQQVNTIHBy
aW1pdGl2ZSBCaWdJbnQsIC05MDA3MTk5MjU0NzQwOTk0MDAwbgorUEFTUyBwcmltaXRpdmUgQmln
SW50LCAtOTAwNzE5OTI1NDc0MDk5NDAwMDkwMDcxOTkyNTQ3NDA5OTQwMDA5MDA3MTk5MjU0NzQw
OTk0MDAwOTAwNzE5OTI1NDc0MDk5NDAwMG4KK1BBU1MgQXJyYXkgcHJpbWl0aXZlcworUEFTUyBP
YmplY3QgcHJpbWl0aXZlcworUEFTUyBCb29sZWFuIHRydWUKK1BBU1MgQm9vbGVhbiBmYWxzZQor
UEFTUyBBcnJheSBCb29sZWFuIG9iamVjdHMKK1BBU1MgT2JqZWN0IEJvb2xlYW4gb2JqZWN0cwor
UEFTUyBTdHJpbmcgZW1wdHkgc3RyaW5nCitQQVNTIFN0cmluZyBsb25lIGhpZ2ggc3Vycm9nYXRl
CitQQVNTIFN0cmluZyBsb25lIGxvdyBzdXJyb2dhdGUKK1BBU1MgU3RyaW5nIE5VTAorUEFTUyBT
dHJpbmcgYXN0cmFsIGNoYXJhY3RlcgorUEFTUyBBcnJheSBTdHJpbmcgb2JqZWN0cworUEFTUyBP
YmplY3QgU3RyaW5nIG9iamVjdHMKK1BBU1MgTnVtYmVyIDAuMgorUEFTUyBOdW1iZXIgMAorUEFT
UyBOdW1iZXIgLTAKK1BBU1MgTnVtYmVyIE5hTgorUEFTUyBOdW1iZXIgSW5maW5pdHkKK1BBU1Mg
TnVtYmVyIC1JbmZpbml0eQorUEFTUyBOdW1iZXIgOTAwNzE5OTI1NDc0MDk5MgorUEFTUyBOdW1i
ZXIgLTkwMDcxOTkyNTQ3NDA5OTIKK1BBU1MgTnVtYmVyIDkwMDcxOTkyNTQ3NDA5OTQKK1BBU1Mg
TnVtYmVyIC05MDA3MTk5MjU0NzQwOTk0CitQQVNTIEJpZ0ludCAtOTAwNzE5OTI1NDc0MDk5NG4K
K1BBU1MgQXJyYXkgTnVtYmVyIG9iamVjdHMKK1BBU1MgT2JqZWN0IE51bWJlciBvYmplY3RzCitQ
QVNTIERhdGUgMAorUEFTUyBEYXRlIC0wCitQQVNTIERhdGUgLTguNjRlMTUKK1BBU1MgRGF0ZSA4
LjY0ZTE1CitQQVNTIEFycmF5IERhdGUgb2JqZWN0cworUEFTUyBPYmplY3QgRGF0ZSBvYmplY3Rz
CitQQVNTIFJlZ0V4cCBmbGFncyBhbmQgbGFzdEluZGV4CitQQVNTIFJlZ0V4cCBzdGlja3kgZmxh
ZworUEFTUyBSZWdFeHAgdW5pY29kZSBmbGFnCitQQVNTIFJlZ0V4cCBlbXB0eQorUEFTUyBSZWdF
eHAgc2xhc2gKK1BBU1MgUmVnRXhwIG5ldyBsaW5lCitQQVNTIEFycmF5IFJlZ0V4cCBvYmplY3Qs
IFJlZ0V4cCBmbGFncyBhbmQgbGFzdEluZGV4CitQQVNTIEFycmF5IFJlZ0V4cCBvYmplY3QsIFJl
Z0V4cCBzdGlja3kgZmxhZworUEFTUyBBcnJheSBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgdW5pY29k
ZSBmbGFnCitQQVNTIEFycmF5IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBlbXB0eQorUEFTUyBBcnJh
eSBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgc2xhc2gKK1BBU1MgQXJyYXkgUmVnRXhwIG9iamVjdCwg
UmVnRXhwIG5ldyBsaW5lCitQQVNTIE9iamVjdCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgZmxhZ3Mg
YW5kIGxhc3RJbmRleAorUEFTUyBPYmplY3QgUmVnRXhwIG9iamVjdCwgUmVnRXhwIHN0aWNreSBm
bGFnCitQQVNTIE9iamVjdCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgdW5pY29kZSBmbGFnCitQQVNT
IE9iamVjdCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgZW1wdHkKK1BBU1MgT2JqZWN0IFJlZ0V4cCBv
YmplY3QsIFJlZ0V4cCBzbGFzaAorUEFTUyBPYmplY3QgUmVnRXhwIG9iamVjdCwgUmVnRXhwIG5l
dyBsaW5lCitQQVNTIEJsb2IgYmFzaWMKK1BBU1MgQmxvYiB1bnBhaXJlZCBoaWdoIHN1cnJvZ2F0
ZSAoaW52YWxpZCB1dGYtOCkKK1BBU1MgQmxvYiB1bnBhaXJlZCBsb3cgc3Vycm9nYXRlIChpbnZh
bGlkIHV0Zi04KQorUEFTUyBCbG9iIHBhaXJlZCBzdXJyb2dhdGVzIChpbnZhbGlkIHV0Zi04KQor
UEFTUyBCbG9iIGVtcHR5CitQQVNTIEJsb2IgTlVMCitQQVNTIEFycmF5IEJsb2Igb2JqZWN0LCBC
bG9iIGJhc2ljCitQQVNTIEFycmF5IEJsb2Igb2JqZWN0LCBCbG9iIHVucGFpcmVkIGhpZ2ggc3Vy
cm9nYXRlIChpbnZhbGlkIHV0Zi04KQorUEFTUyBBcnJheSBCbG9iIG9iamVjdCwgQmxvYiB1bnBh
aXJlZCBsb3cgc3Vycm9nYXRlIChpbnZhbGlkIHV0Zi04KQorUEFTUyBBcnJheSBCbG9iIG9iamVj
dCwgQmxvYiBwYWlyZWQgc3Vycm9nYXRlcyAoaW52YWxpZCB1dGYtOCkKK1BBU1MgQXJyYXkgQmxv
YiBvYmplY3QsIEJsb2IgZW1wdHkKK1BBU1MgQXJyYXkgQmxvYiBvYmplY3QsIEJsb2IgTlVMCitQ
QVNTIEFycmF5IEJsb2Igb2JqZWN0LCB0d28gQmxvYnMKK1BBU1MgT2JqZWN0IEJsb2Igb2JqZWN0
LCBCbG9iIGJhc2ljCitQQVNTIE9iamVjdCBCbG9iIG9iamVjdCwgQmxvYiB1bnBhaXJlZCBoaWdo
IHN1cnJvZ2F0ZSAoaW52YWxpZCB1dGYtOCkKK1BBU1MgT2JqZWN0IEJsb2Igb2JqZWN0LCBCbG9i
IHVucGFpcmVkIGxvdyBzdXJyb2dhdGUgKGludmFsaWQgdXRmLTgpCitQQVNTIE9iamVjdCBCbG9i
IG9iamVjdCwgQmxvYiBwYWlyZWQgc3Vycm9nYXRlcyAoaW52YWxpZCB1dGYtOCkKK1BBU1MgT2Jq
ZWN0IEJsb2Igb2JqZWN0LCBCbG9iIGVtcHR5CitQQVNTIE9iamVjdCBCbG9iIG9iamVjdCwgQmxv
YiBOVUwKK1BBU1MgRmlsZSBiYXNpYworUEFTUyBGaWxlTGlzdCBlbXB0eQorUEFTUyBBcnJheSBG
aWxlTGlzdCBvYmplY3QsIEZpbGVMaXN0IGVtcHR5CitQQVNTIE9iamVjdCBGaWxlTGlzdCBvYmpl
Y3QsIEZpbGVMaXN0IGVtcHR5CitQQVNTIEltYWdlRGF0YSAxeDEgdHJhbnNwYXJlbnQgYmxhY2sK
K1BBU1MgSW1hZ2VEYXRhIDF4MSBub24tdHJhbnNwYXJlbnQgbm9uLWJsYWNrCitQQVNTIEFycmF5
IEltYWdlRGF0YSBvYmplY3QsIEltYWdlRGF0YSAxeDEgdHJhbnNwYXJlbnQgYmxhY2sKK1BBU1Mg
QXJyYXkgSW1hZ2VEYXRhIG9iamVjdCwgSW1hZ2VEYXRhIDF4MSBub24tdHJhbnNwYXJlbnQgbm9u
LWJsYWNrCitQQVNTIE9iamVjdCBJbWFnZURhdGEgb2JqZWN0LCBJbWFnZURhdGEgMXgxIHRyYW5z
cGFyZW50IGJsYWNrCitQQVNTIE9iamVjdCBJbWFnZURhdGEgb2JqZWN0LCBJbWFnZURhdGEgMXgx
IG5vbi10cmFuc3BhcmVudCBub24tYmxhY2sKK1BBU1MgQXJyYXkgc3BhcnNlCitQQVNTIEFycmF5
IHdpdGggbm9uLWluZGV4IHByb3BlcnR5CitQQVNTIE9iamVjdCB3aXRoIGluZGV4IHByb3BlcnR5
IGFuZCBsZW5ndGgKK1BBU1MgQXJyYXkgd2l0aCBjaXJjdWxhciByZWZlcmVuY2UKK1BBU1MgT2Jq
ZWN0IHdpdGggY2lyY3VsYXIgcmVmZXJlbmNlCitQQVNTIEFycmF5IHdpdGggaWRlbnRpY2FsIHBy
b3BlcnR5IHZhbHVlcworUEFTUyBPYmplY3Qgd2l0aCBpZGVudGljYWwgcHJvcGVydHkgdmFsdWVz
CitQQVNTIE9iamVjdCB3aXRoIHByb3BlcnR5IG9uIHByb3RvdHlwZQorUEFTUyBPYmplY3Qgd2l0
aCBub24tZW51bWVyYWJsZSBwcm9wZXJ0eQorUEFTUyBPYmplY3Qgd2l0aCBub24td3JpdGFibGUg
cHJvcGVydHkKK1BBU1MgT2JqZWN0IHdpdGggbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0eQorUEFT
UyBJbWFnZUJpdG1hcCAxeDEgdHJhbnNwYXJlbnQgYmxhY2sKK1BBU1MgSW1hZ2VCaXRtYXAgMXgx
IG5vbi10cmFuc3BhcmVudCBub24tYmxhY2sKK1BBU1MgQXJyYXkgSW1hZ2VCaXRtYXAgb2JqZWN0
LCBJbWFnZUJpdG1hcCAxeDEgdHJhbnNwYXJlbnQgYmxhY2sKK1BBU1MgQXJyYXkgSW1hZ2VCaXRt
YXAgb2JqZWN0LCBJbWFnZUJpdG1hcCAxeDEgdHJhbnNwYXJlbnQgbm9uLWJsYWNrCitQQVNTIE9i
amVjdCBJbWFnZUJpdG1hcCBvYmplY3QsIEltYWdlQml0bWFwIDF4MSB0cmFuc3BhcmVudCBibGFj
aworUEFTUyBPYmplY3QgSW1hZ2VCaXRtYXAgb2JqZWN0LCBJbWFnZUJpdG1hcCAxeDEgdHJhbnNw
YXJlbnQgbm9uLWJsYWNrCitGQUlMIE9iamVjdFByb3RvdHlwZSBtdXN0IGxvc2UgaXRzIGV4b3Rp
Yy1uZXNzIHdoZW4gY2xvbmVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xv
bmVkLiIKK1BBU1MgQXJyYXlCdWZmZXIKK1BBU1MgTWVzc2FnZVBvcnQKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFw
aXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNsb25lLmFueS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0
dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNsb25lLmFueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1
MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9z
dHJ1Y3R1cmVkLWNsb25lL3N0cnVjdHVyZWQtY2xvbmUuYW55Lmh0bWwKQEAgLTAsMCArMSBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJl
IHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNsb25lLmFueS5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJh
cHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5hbnkuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzRmOTZmMzNmZGY4ODEyN2ExYzZkMDY2NzgxZjdhYjViODg0Yjc0NgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93
ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5hbnkuanMKQEAgLTAs
MCArMSw5IEBACisvLyBNRVRBOiB0aXRsZT1zdHJ1Y3R1cmVkQ2xvbmUoKSB0ZXN0cworLy8gTUVU
QTogc2NyaXB0PS9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNs
b25lLWJhdHRlcnktb2YtdGVzdHMuanMKKy8vIE1FVEE6IHNjcmlwdD0vaHRtbC93ZWJhcHBhcGlz
L3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS1iYXR0ZXJ5LW9mLXRlc3RzLXdpdGgt
dHJhbnNmZXJhYmxlcy5qcworLy8gTUVUQTogc2NyaXB0PS9odG1sL3dlYmFwcGFwaXMvc3RydWN0
dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNsb25lLWJhdHRlcnktb2YtdGVzdHMtaGFybmVzcy5qcwor
CitydW5TdHJ1Y3R1cmVkQ2xvbmVCYXR0ZXJ5T2ZUZXN0cyh7CisgIHN0cnVjdHVyZWRDbG9uZTog
KG9iaiwgdHJhbnNmZXIpID0+IHNlbGYuc3RydWN0dXJlZENsb25lKG9iaiwgeyB0cmFuc2ZlciB9
KSwKKyAgaGFzRG9jdW1lbnQ6IHR5cGVvZiBkb2N1bWVudCAhPT0gInVuZGVmaW5lZCIsCit9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5hbnkud29y
a2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NzYyNjRlYWYyZjA0YWVkMjg1ODMz
YWRlYzQ5OThlMTEzZDNkYTNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9u
ZS9zdHJ1Y3R1cmVkLWNsb25lLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTA5
IEBACisKK1BBU1MgcHJpbWl0aXZlIHVuZGVmaW5lZAorUEFTUyBwcmltaXRpdmUgbnVsbAorUEFT
UyBwcmltaXRpdmUgdHJ1ZQorUEFTUyBwcmltaXRpdmUgZmFsc2UKK1BBU1MgcHJpbWl0aXZlIHN0
cmluZywgZW1wdHkgc3RyaW5nCitQQVNTIHByaW1pdGl2ZSBzdHJpbmcsIGxvbmUgaGlnaCBzdXJy
b2dhdGUKK1BBU1MgcHJpbWl0aXZlIHN0cmluZywgbG9uZSBsb3cgc3Vycm9nYXRlCitQQVNTIHBy
aW1pdGl2ZSBzdHJpbmcsIE5VTAorUEFTUyBwcmltaXRpdmUgc3RyaW5nLCBhc3RyYWwgY2hhcmFj
dGVyCitQQVNTIHByaW1pdGl2ZSBudW1iZXIsIDAuMgorUEFTUyBwcmltaXRpdmUgbnVtYmVyLCAw
CitQQVNTIHByaW1pdGl2ZSBudW1iZXIsIC0wCitQQVNTIHByaW1pdGl2ZSBudW1iZXIsIE5hTgor
UEFTUyBwcmltaXRpdmUgbnVtYmVyLCBJbmZpbml0eQorUEFTUyBwcmltaXRpdmUgbnVtYmVyLCAt
SW5maW5pdHkKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgOTAwNzE5OTI1NDc0MDk5MgorUEFTUyBw
cmltaXRpdmUgbnVtYmVyLCAtOTAwNzE5OTI1NDc0MDk5MgorUEFTUyBwcmltaXRpdmUgbnVtYmVy
LCA5MDA3MTk5MjU0NzQwOTk0CitQQVNTIHByaW1pdGl2ZSBudW1iZXIsIC05MDA3MTk5MjU0NzQw
OTk0CitQQVNTIHByaW1pdGl2ZSBCaWdJbnQsIDBuCitQQVNTIHByaW1pdGl2ZSBCaWdJbnQsIC0w
bgorUEFTUyBwcmltaXRpdmUgQmlnSW50LCAtOTAwNzE5OTI1NDc0MDk5NDAwMG4KK1BBU1MgcHJp
bWl0aXZlIEJpZ0ludCwgLTkwMDcxOTkyNTQ3NDA5OTQwMDA5MDA3MTk5MjU0NzQwOTk0MDAwOTAw
NzE5OTI1NDc0MDk5NDAwMDkwMDcxOTkyNTQ3NDA5OTQwMDBuCitQQVNTIEFycmF5IHByaW1pdGl2
ZXMKK1BBU1MgT2JqZWN0IHByaW1pdGl2ZXMKK1BBU1MgQm9vbGVhbiB0cnVlCitQQVNTIEJvb2xl
YW4gZmFsc2UKK1BBU1MgQXJyYXkgQm9vbGVhbiBvYmplY3RzCitQQVNTIE9iamVjdCBCb29sZWFu
IG9iamVjdHMKK1BBU1MgU3RyaW5nIGVtcHR5IHN0cmluZworUEFTUyBTdHJpbmcgbG9uZSBoaWdo
IHN1cnJvZ2F0ZQorUEFTUyBTdHJpbmcgbG9uZSBsb3cgc3Vycm9nYXRlCitQQVNTIFN0cmluZyBO
VUwKK1BBU1MgU3RyaW5nIGFzdHJhbCBjaGFyYWN0ZXIKK1BBU1MgQXJyYXkgU3RyaW5nIG9iamVj
dHMKK1BBU1MgT2JqZWN0IFN0cmluZyBvYmplY3RzCitQQVNTIE51bWJlciAwLjIKK1BBU1MgTnVt
YmVyIDAKK1BBU1MgTnVtYmVyIC0wCitQQVNTIE51bWJlciBOYU4KK1BBU1MgTnVtYmVyIEluZmlu
aXR5CitQQVNTIE51bWJlciAtSW5maW5pdHkKK1BBU1MgTnVtYmVyIDkwMDcxOTkyNTQ3NDA5OTIK
K1BBU1MgTnVtYmVyIC05MDA3MTk5MjU0NzQwOTkyCitQQVNTIE51bWJlciA5MDA3MTk5MjU0NzQw
OTk0CitQQVNTIE51bWJlciAtOTAwNzE5OTI1NDc0MDk5NAorUEFTUyBCaWdJbnQgLTkwMDcxOTky
NTQ3NDA5OTRuCitQQVNTIEFycmF5IE51bWJlciBvYmplY3RzCitQQVNTIE9iamVjdCBOdW1iZXIg
b2JqZWN0cworUEFTUyBEYXRlIDAKK1BBU1MgRGF0ZSAtMAorUEFTUyBEYXRlIC04LjY0ZTE1CitQ
QVNTIERhdGUgOC42NGUxNQorUEFTUyBBcnJheSBEYXRlIG9iamVjdHMKK1BBU1MgT2JqZWN0IERh
dGUgb2JqZWN0cworUEFTUyBSZWdFeHAgZmxhZ3MgYW5kIGxhc3RJbmRleAorUEFTUyBSZWdFeHAg
c3RpY2t5IGZsYWcKK1BBU1MgUmVnRXhwIHVuaWNvZGUgZmxhZworUEFTUyBSZWdFeHAgZW1wdHkK
K1BBU1MgUmVnRXhwIHNsYXNoCitQQVNTIFJlZ0V4cCBuZXcgbGluZQorUEFTUyBBcnJheSBSZWdF
eHAgb2JqZWN0LCBSZWdFeHAgZmxhZ3MgYW5kIGxhc3RJbmRleAorUEFTUyBBcnJheSBSZWdFeHAg
b2JqZWN0LCBSZWdFeHAgc3RpY2t5IGZsYWcKK1BBU1MgQXJyYXkgUmVnRXhwIG9iamVjdCwgUmVn
RXhwIHVuaWNvZGUgZmxhZworUEFTUyBBcnJheSBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgZW1wdHkK
K1BBU1MgQXJyYXkgUmVnRXhwIG9iamVjdCwgUmVnRXhwIHNsYXNoCitQQVNTIEFycmF5IFJlZ0V4
cCBvYmplY3QsIFJlZ0V4cCBuZXcgbGluZQorUEFTUyBPYmplY3QgUmVnRXhwIG9iamVjdCwgUmVn
RXhwIGZsYWdzIGFuZCBsYXN0SW5kZXgKK1BBU1MgT2JqZWN0IFJlZ0V4cCBvYmplY3QsIFJlZ0V4
cCBzdGlja3kgZmxhZworUEFTUyBPYmplY3QgUmVnRXhwIG9iamVjdCwgUmVnRXhwIHVuaWNvZGUg
ZmxhZworUEFTUyBPYmplY3QgUmVnRXhwIG9iamVjdCwgUmVnRXhwIGVtcHR5CitQQVNTIE9iamVj
dCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgc2xhc2gKK1BBU1MgT2JqZWN0IFJlZ0V4cCBvYmplY3Qs
IFJlZ0V4cCBuZXcgbGluZQorUEFTUyBCbG9iIGJhc2ljCitQQVNTIEJsb2IgdW5wYWlyZWQgaGln
aCBzdXJyb2dhdGUgKGludmFsaWQgdXRmLTgpCitQQVNTIEJsb2IgdW5wYWlyZWQgbG93IHN1cnJv
Z2F0ZSAoaW52YWxpZCB1dGYtOCkKK1BBU1MgQmxvYiBwYWlyZWQgc3Vycm9nYXRlcyAoaW52YWxp
ZCB1dGYtOCkKK1BBU1MgQmxvYiBlbXB0eQorUEFTUyBCbG9iIE5VTAorUEFTUyBBcnJheSBCbG9i
IG9iamVjdCwgQmxvYiBiYXNpYworUEFTUyBBcnJheSBCbG9iIG9iamVjdCwgQmxvYiB1bnBhaXJl
ZCBoaWdoIHN1cnJvZ2F0ZSAoaW52YWxpZCB1dGYtOCkKK1BBU1MgQXJyYXkgQmxvYiBvYmplY3Qs
IEJsb2IgdW5wYWlyZWQgbG93IHN1cnJvZ2F0ZSAoaW52YWxpZCB1dGYtOCkKK1BBU1MgQXJyYXkg
QmxvYiBvYmplY3QsIEJsb2IgcGFpcmVkIHN1cnJvZ2F0ZXMgKGludmFsaWQgdXRmLTgpCitQQVNT
IEFycmF5IEJsb2Igb2JqZWN0LCBCbG9iIGVtcHR5CitQQVNTIEFycmF5IEJsb2Igb2JqZWN0LCBC
bG9iIE5VTAorUEFTUyBBcnJheSBCbG9iIG9iamVjdCwgdHdvIEJsb2JzCitQQVNTIE9iamVjdCBC
bG9iIG9iamVjdCwgQmxvYiBiYXNpYworUEFTUyBPYmplY3QgQmxvYiBvYmplY3QsIEJsb2IgdW5w
YWlyZWQgaGlnaCBzdXJyb2dhdGUgKGludmFsaWQgdXRmLTgpCitQQVNTIE9iamVjdCBCbG9iIG9i
amVjdCwgQmxvYiB1bnBhaXJlZCBsb3cgc3Vycm9nYXRlIChpbnZhbGlkIHV0Zi04KQorUEFTUyBP
YmplY3QgQmxvYiBvYmplY3QsIEJsb2IgcGFpcmVkIHN1cnJvZ2F0ZXMgKGludmFsaWQgdXRmLTgp
CitQQVNTIE9iamVjdCBCbG9iIG9iamVjdCwgQmxvYiBlbXB0eQorUEFTUyBPYmplY3QgQmxvYiBv
YmplY3QsIEJsb2IgTlVMCitQQVNTIEZpbGUgYmFzaWMKK1BBU1MgQXJyYXkgc3BhcnNlCitQQVNT
IEFycmF5IHdpdGggbm9uLWluZGV4IHByb3BlcnR5CitQQVNTIE9iamVjdCB3aXRoIGluZGV4IHBy
b3BlcnR5IGFuZCBsZW5ndGgKK1BBU1MgQXJyYXkgd2l0aCBjaXJjdWxhciByZWZlcmVuY2UKK1BB
U1MgT2JqZWN0IHdpdGggY2lyY3VsYXIgcmVmZXJlbmNlCitQQVNTIEFycmF5IHdpdGggaWRlbnRp
Y2FsIHByb3BlcnR5IHZhbHVlcworUEFTUyBPYmplY3Qgd2l0aCBpZGVudGljYWwgcHJvcGVydHkg
dmFsdWVzCitQQVNTIE9iamVjdCB3aXRoIHByb3BlcnR5IG9uIHByb3RvdHlwZQorUEFTUyBPYmpl
Y3Qgd2l0aCBub24tZW51bWVyYWJsZSBwcm9wZXJ0eQorUEFTUyBPYmplY3Qgd2l0aCBub24td3Jp
dGFibGUgcHJvcGVydHkKK1BBU1MgT2JqZWN0IHdpdGggbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0
eQorRkFJTCBPYmplY3RQcm90b3R5cGUgbXVzdCBsb3NlIGl0cyBleG90aWMtbmVzcyB3aGVuIGNs
b25lZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJEYXRhQ2xvbmVFcnJvcjogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCitQQVNTIEFy
cmF5QnVmZmVyCitQQVNTIE1lc3NhZ2VQb3J0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQt
Y2xvbmUvc3RydWN0dXJlZC1jbG9uZS5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNs
b25lL3N0cnVjdHVyZWQtY2xvbmUuYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1
MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9z
dHJ1Y3R1cmVkLWNsb25lL3N0cnVjdHVyZWQtY2xvbmUuYW55Lndvcmtlci5odG1sCkBAIC0wLDAg
KzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0
cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBw
YXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3czYy1pbXBvcnQubG9nCmluZGV4IDA4Y2M5NjIwMWRhNmJj
MjRkYWJlZDQwMzEyZmVlZTE0OThhOWExYTkuLjFhZmRiOGM2ZGY3MGY0ODY4ZTdiYjU2ZDM3YjU4
MDE3YTYxMTljMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvdzNjLWltcG9ydC5s
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS93M2MtaW1wb3J0LmxvZwpAQCAtMTcsMyArMTcs
NCBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9u
ZS1iYXR0ZXJ5LW9mLXRlc3RzLWhhcm5lc3MuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3N0cnVj
dHVyZWQtY2xvbmUtYmF0dGVyeS1vZi10ZXN0cy13aXRoLXRyYW5zZmVyYWJsZXMuanMKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9z
dHJ1Y3R1cmVkLWNsb25lL3N0cnVjdHVyZWQtY2xvbmUtYmF0dGVyeS1vZi10ZXN0cy5qcworL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlz
L3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5hbnkuanMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436809</attachid>
            <date>2021-08-30 13:40:52 -0700</date>
            <delta_ts>2021-08-31 08:02:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228331-20210830134051.patch</filename>
            <type>text/plain</type>
            <size>67786</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI3ZDJiNTE5N2IzZGE5
ZGI1M2ZlNjE5ZGMxNGQ5NDFmMzQxM2UwNi4uM2ZiZjVlZTlkY2Q1NWRhMTZmOThmZmQ1OTQ1Nzk2
ZWJmNGI3MjAwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIxLTA4LTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHNlbGYuc3Ry
dWN0dXJlZENsb25lKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyODMzMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODE0NjgzNzQ+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHNlbGYu
c3RydWN0dXJlZENsb25lKCkgYXMgcGVyOgorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvI2RvbS1zdHJ1Y3R1cmVkY2xvbmUKKworICAgICAgICBUZXN0czogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9z
dHJ1Y3R1cmVkLWNsb25lLmFueS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3N0cnVjdHVy
ZWQtY2xvbmUuYW55Lndvcmtlci5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1h
a2U6CisgICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9t
L01lc3NhZ2VQb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VQb3J0Ojpwb3N0TWVz
c2FnZSk6CisgICAgICAgICogZG9tL01lc3NhZ2VQb3J0Lmg6CisgICAgICAgICogZG9tL01lc3Nh
Z2VQb3J0LmlkbDoKKyAgICAgICAgKiBwYWdlL0Jhc2U2NFV0aWxpdGllcy5oOgorICAgICAgICAq
IHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgIChXZWJDb3JlOjpXaW5kb3dQb3N0TWVzc2FnZU9w
dGlvbnM6OldpbmRvd1Bvc3RNZXNzYWdlT3B0aW9ucyk6CisgICAgICAgICogcGFnZS9ET01XaW5k
b3cuaWRsOgorICAgICAgICAqIHBhZ2UvU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUG9zdE1lc3NhZ2VPcHRpb25zLmguCisgICAg
ICAgIChXZWJDb3JlOjpTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9uczo6U3RydWN0dXJlZFNlcmlh
bGl6ZU9wdGlvbnMpOgorICAgICAgICAqIHBhZ2UvU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMu
aWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Qb3N0TWVzc2FnZU9wdGlvbnMu
aWRsLgorICAgICAgICAqIHBhZ2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5jcHA6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50
LmguCisgICAgICAgIChXZWJDb3JlOjpXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlOjpyZXBvcnRF
cnJvcik6CisgICAgICAgIChXZWJDb3JlOjpXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlOjpzdHJ1
Y3R1cmVkQ2xvbmUpOgorICAgICAgICAqIHBhZ2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5o
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wYWdlL0Jhc2U2NFV0aWxpdGllcy5oLgorICAg
ICAgICAoV2ViQ29yZTo6V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZTo6c3RydWN0dXJlZENsb25l
KToKKyAgICAgICAgKiBwYWdlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaWRsOgorICAgICAg
ICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OnBvc3RNZXNzYWdlKToKKyAgICAgICAg
KiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vy
cy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5pZGw6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpwb3N0TWVzc2FnZSk6CisgICAgICAg
ICogd29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5pZGw6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXI6
OnBvc3RNZXNzYWdlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5o
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmlkbDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50Ojpwb3N0TWVzc2FnZSk6CisgICAgICAgICogd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckNsaWVudC5pZGw6CisKIDIwMjEtMDgtMzAgIFNpaHVpIExpdSAgPHNp
aHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBB
UEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMDdlNWUwNTU4ZjZkZGQ0MTFlYzRjZjU5NmRlMzQz
ZjQ4M2MwOTc3Yi4uYTAyZTQ3ODcyMmU2NTAzYjExNGEwYTBiYTA0YjFiNjE0Nzk1MWU0MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTEwODgsNyArMTA4OCw2IEBAIHNldChXZWJDb3JlX05PTl9T
VkdfSURMX0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbAogICAg
IHBhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRp
bWluZy5pZGwKLSAgICBwYWdlL1Bvc3RNZXNzYWdlT3B0aW9ucy5pZGwKICAgICBwYWdlL1JlbW90
ZURPTVdpbmRvdy5pZGwKICAgICBwYWdlL1Jlc2l6ZU9ic2VydmVyLmlkbAogICAgIHBhZ2UvUmVz
aXplT2JzZXJ2ZXJDYWxsYmFjay5pZGwKQEAgLTExMDAsNiArMTA5OSw3IEBAIHNldChXZWJDb3Jl
X05PTl9TVkdfSURMX0ZJTEVTCiAgICAgcGFnZS9TY3JvbGxPcHRpb25zLmlkbAogICAgIHBhZ2Uv
U2Nyb2xsVG9PcHRpb25zLmlkbAogICAgIHBhZ2UvU2hhcmVEYXRhLmlkbAorICAgIHBhZ2UvU3Ry
dWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaWRsCiAgICAgcGFnZS9VbmRvSXRlbS5pZGwKICAgICBw
YWdlL1VuZG9NYW5hZ2VyLmlkbAogICAgIHBhZ2UvVmlzdWFsVmlld3BvcnQuaWRsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA1MTFiNTEz
MTIwMGFiZWM4M2JlNDkwN2E3YmU0MTkyM2E2MmYzNjk5Li4yMWIzNGEwYmRkODRhZGI0MGUwMTFk
ZmJiOWZlMTE4MDMwMDE5MGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKQEAgLTExNzYsNiArMTE3Niw3IEBAICQoUFJPSkVDVF9ESVIpL3Bh
Z2UvU2Nyb2xsT3B0aW9ucy5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvU2Nyb2xsVG9PcHRpb25z
LmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9TZXR0aW5ncy55YW1sCiAkKFBST0pFQ1RfRElSKS9w
YWdlL1NoYXJlRGF0YS5pZGwKKyQoUFJPSkVDVF9ESVIpL3BhZ2UvU3RydWN0dXJlZFNlcmlhbGl6
ZU9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1VuZG9JdGVtLmlkbAogJChQUk9KRUNU
X0RJUikvcGFnZS9VbmRvTWFuYWdlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvVXNlck1lc3Nh
Z2VIYW5kbGVyLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdAppbmRleCA5YjQ4NGFiYTQ4YzJjNWNmYzYwYWNlZWVjMjkzZWJjYTljMzk3MWVi
Li5hNjJhNjEzNjkxNjAzNDRhMGRlMDU0MzExZmQxOGQzNmIyZDFiNGMyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMjE5OSw2ICsy
MTk5LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNT
dG9yYWdlRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1N0b3JhZ2VFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1N0cmluZ0NhbGxiYWNrLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHJpbmdDYWxsYmFjay5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25z
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHJ1
Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1N0eWxlTWVkaWEuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1N0eWxlTWVkaWEuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHlsZVByb3BlcnR5TWFwLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZjllZTY0MjhiYTBhNTRkNTRjMDI1N2FhNmQ2YTAwMDFl
MmU0MjFiYy4uZjFhZmI3ZmMzM2Y4M2VmODRkMDIyYTRmYmIwM2JmMjFiNWM3OGQ3YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMDExLDcgKzEwMTEsNiBAQCBKU19CSU5ESU5H
X0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCi0gICAgJChXZWJD
b3JlKS9wYWdlL1Bvc3RNZXNzYWdlT3B0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9S
ZW1vdGVET01XaW5kb3cuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUmVzaXplT2JzZXJ2ZXIu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUmVzaXplT2JzZXJ2ZXJDYWxsYmFjay5pZGwgXApA
QCAtMTAyMyw2ICsxMDIyLDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvU2Nyb2xsT3B0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9TY3JvbGxUb09w
dGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvU2hhcmVEYXRhLmlkbCBcCisgICAgJChX
ZWJDb3JlKS9wYWdlL1N0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9wYWdlL1VuZG9JdGVtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1VuZG9NYW5hZ2Vy
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hl
YWRlcnMuY21ha2UKaW5kZXggNzZjZTBjNjYxZmVlODMwZDE3NmUzNjFmNTc5ODczNWM3YWUxZTBj
ZS4uZjY4ZGM3ZTRhZWVlMDljNDI1ODkxZWY2Y2RlZmQ5MTQ1MDU1MTFkMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJz
LmNtYWtlCkBAIC05MzUsNyArOTM1LDYgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktf
SEVBREVSUwogICAgIHBhZ2UvUG9pbnRlckNhcHR1cmVDb250cm9sbGVyLmgKICAgICBwYWdlL1Bv
aW50ZXJDaGFyYWN0ZXJpc3RpY3MuaAogICAgIHBhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmgK
LSAgICBwYWdlL1Bvc3RNZXNzYWdlT3B0aW9ucy5oCiAgICAgcGFnZS9QcmV3YXJtSW5mb3JtYXRp
b24uaAogICAgIHBhZ2UvUHJpbnRDb250ZXh0LmgKICAgICBwYWdlL1Byb2Nlc3NXYXJtaW5nLmgK
QEAgLTk2MCw2ICs5NTksNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJT
CiAgICAgcGFnZS9TcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyLmgKICAgICBwYWdlL1NwZWVjaFN5
bnRoZXNpc0NsaWVudC5oCiAgICAgcGFnZS9TdG9yYWdlQmxvY2tpbmdQb2xpY3kuaAorICAgIHBh
Z2UvU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaAogICAgIHBhZ2UvU3VzcGVuZGFibGVUaW1l
ci5oCiAgICAgcGFnZS9UZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yLmgKICAg
ICBwYWdlL1RleHRJbmRpY2F0b3IuaApAQCAtOTg1LDYgKzk4NSw3IEBAIHNldChXZWJDb3JlX1BS
SVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBwYWdlL1doZWVsRXZlbnREZWx0YUZpbHRlci5o
CiAgICAgcGFnZS9XaGVlbEV2ZW50VGVzdE1vbml0b3IuaAogICAgIHBhZ2UvV2luZG93RmVhdHVy
ZXMuaAorICAgIHBhZ2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5oCiAKICAgICBwYWdlL2Nz
cC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaAogICAgIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBv
bGljeUNsaWVudC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGEwMGZjMjVlZjg1NGI2OTdjNjhmZDg4Y2Nl
MzcxYWQxOTIyMGU5ZmQuLjViMmRkYWZmYWZmMzU2MDg3NThiOTcyZTZhMGYxNDMxMDJkNmM1MDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CkBAIC0xNzA0LDYgKzE3MDQsNyBAQCBwYWdlL1doZWVsRXZlbnREZWx0
YUZpbHRlci5jcHAKIHBhZ2UvV2hlZWxFdmVudFRlc3RNb25pdG9yLmNwcAogcGFnZS9XaW5kb3dG
ZWF0dXJlcy5jcHAKIHBhZ2UvV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmNwcAorcGFnZS9X
aW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmNwcAogcGFnZS9Xb3JrZXJOYXZpZ2F0b3IuY3BwCiBw
YWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCiBwYWdlL2NzcC9Db250ZW50U2VjdXJp
dHlQb2xpY3lDbGllbnQuY3BwCkBAIC0zMjg4LDcgKzMyODksNiBAQCBKU1BvcFN0YXRlRXZlbnQu
Y3BwCiBKU1Bvc2l0aW9uQ2FsbGJhY2suY3BwCiBKU1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAK
IEpTUG9zaXRpb25PcHRpb25zLmNwcAotSlNQb3N0TWVzc2FnZU9wdGlvbnMuY3BwCiBKU1ByZWRl
ZmluZWRDb2xvclNwYWNlLmNwcAogSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCiBKU1Byb2dy
ZXNzRXZlbnQuY3BwCkBAIC0zNTcxLDYgKzM1NzEsNyBAQCBKU1N0YXRpY1JhbmdlLmNwcAogSlNT
dG9yYWdlLmNwcAogSlNTdG9yYWdlRXZlbnQuY3BwCiBKU1N0cmluZ0NhbGxiYWNrLmNwcAorSlNT
dHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5jcHAKIEpTU3R5bGVNZWRpYS5jcHAKIEpTU3R5bGVQ
cm9wZXJ0eU1hcC5jcHAKIEpTU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGY3ZjRm
YzlkMGYxNjA4MTY0ZmJkNTUyMmQ1YWFjNWI5MzQ1YTNmOTkuLjliMTFlZDI5YzllMjAxMDYxZjli
Y2ZkNWZiY2MwNTFlN2ZhMTVlNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyNzUsNiArMTI3NSw3IEBACiAJCTQ1OEZFNDBB
MTU4OURGMEIwMDU2MDlFNiAvKiBSZW5kZXJTZWFyY2hGaWVsZC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDU4RkU0MDgxNTg5REYwQjAwNTYwOUU2IC8q
IFJlbmRlclNlYXJjaEZpZWxkLmggKi87IH07CiAJCTQ1RkVBNUQwMTU2RERFOEMwMDY1NDEwMSAv
KiBEZWNpbWFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NUZFQTVDRTE1NkRERThDMDA2NTQxMDEgLyogRGVjaW1hbC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2MEJCNjE2MUQwQTFCRjAwMDIyMTgx
MiAvKiBCYXNlNjRVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ2MEJCNjE0MUQwQTFCRUMwMDIyMTgxMiAvKiBCYXNlNjRVdGlsaXRpZXMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0NjBD
NzQ1OTI2REQ2OUJCMDA0MjdEM0UgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYwQzc0NTgyNkRENjk5
RDAwNDI3RDNFIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjBDQkYzNjFENEJDRDBFMDA5MkU4
OEUgLyogSlNET01XaW5kb3dQcm9wZXJ0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NjBDQkYzNDFENEJDQ0ZFMDA5MkU4OEUgLyogSlNET01XaW5k
b3dQcm9wZXJ0aWVzLmggKi87IH07CiAJCTQ2MEUzMDc3MjIyRjRGMDMwMDlBMDYwNiAvKiBEZXZp
Y2VPcmllbnRhdGlvbk9yTW90aW9uUGVybWlzc2lvblN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjVFREQ5RjIyMkY0RUMzMDBCNDZFMTYgLyog
RGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2MjE4QUNCMUY3MkQ2NEUwMDU3
NEZCRSAvKiBET01IaWdoUmVzVGltZVN0YW1wLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NkUwMTZBRDFGNzJENjFFMDAyODJCMkMgLyogRE9NSGlnaFJl
c1RpbWVTdGFtcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC0xMjgzLDcgKzEyODQsNiBAQAogCQk0NjM1MjFBRDIwODEwOTJBMDBDMjg5MjIgLyog
V2luZG93UHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ2MzUyMUFBMjA4MTA5MEIwMEMyODkyMiAvKiBXaW5kb3dQcm94eS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2M0VCNjIzMUI4Nzg5RTAw
MDk2RUQ1MSAvKiBUYWdDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NjNFQjYyMTFCODc4OUNCMDA5NkVENTEgLyogVGFnQ29sbGVjdGlv
bi5oICovOyB9OwogCQk0NjUzMDdEMDFEQjZFRTQ4MDBFNDEzN0MgLyogSlNVSUV2ZW50SW5pdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNFMDQ1RUYx
REFBMTA0RjAwQjBEOEI5IC8qIEpTVUlFdmVudEluaXQuaCAqLzsgfTsKLQkJNDY2MTcyRUMyM0Ey
QUMxRjAwM0FCMzA5IC8qIFBvc3RNZXNzYWdlT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY2MTcyRUIyM0EyQUJGQTAwM0FCMzA5IC8qIFBv
c3RNZXNzYWdlT3B0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTQ2NjU4REM5MUZBMjRCODcwMEY3REQ1NCAvKiBTV0NvbnRleHRNYW5hZ2Vy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjcyNDEz
QjFGQTI0QjE0MDA4OEJENkQgLyogU1dDb250ZXh0TWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2NkMyREFEMjZDNzNBRkMwMDY1MTkz
MSAvKiBQb2xpY3lDb250YWluZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ2NkMyREFCMjZDNzNBRkIwMDY1MTkzMSAvKiBQb2xpY3lDb250YWluZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjZF
RDhEMzFFREUwMTQ0MDA1RTQzRjYgLyogSlNET01SZWN0TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY2RUQ4RDIxRURFMDEzNTAwNUU0M0Y2IC8q
IEpTRE9NUmVjdExpc3QuaCAqLzsgfTsKQEAgLTEzMzQsNiArMTMzNCw3IEBACiAJCTQ2RUZBRjEy
MUU1RkI5RjEwMEU3RjM0QiAvKiBMb3dQb3dlck1vZGVOb3RpZmllci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZFRkFGMTAxRTVGQjlFMTAwRTdGMzRC
IC8qIExvd1Bvd2VyTW9kZU5vdGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDZGMDJBMUEyMzczN0Y4MzAwMTA2QTY0IC8qIEV2ZW50TG9v
cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwQUJD
QTEyMzY3OUFCMzAwQjQ1MDg1IC8qIEV2ZW50TG9vcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2RkNCNjE4MUE3MDgyMEUwMEM1QTIxRSAvKiBE
aWFnbm9zdGljTG9nZ2luZ0tleXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEMzdCMzc1MTVDMUE3RTEwMDZEQzg5OCAvKiBEaWFnbm9zdGljTG9nZ2lu
Z0tleXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQk0NkZFRkJDODI2REQ2N0EyMDBCMEM0ODggLyogU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2RkVGQkM2
MjZERDY3ODIwMEIwQzQ4OCAvKiBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ3NUM4OUE0MjY1MEFD
M0MwMEYzQjQ1NiAvKiBGb3JtYXR0aW5nR2VvbWV0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ3NUM4OUEzMjY1MEFDM0IwMEYzQjQ1NiAvKiBGb3Jt
YXR0aW5nR2VvbWV0cnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0Nzg2MzU2NTI2NTA3QTM4MDBDNUUyRTAgLyogQmxvY2tGb3JtYXR0aW5nR2Vv
bWV0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ3
ODYzNTY0MjY1MDdBMzcwMEM1RTJFMCAvKiBCbG9ja0Zvcm1hdHRpbmdHZW9tZXRyeS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ3QzRENTdEMjY1
MDhCQ0IwMEM3QUIxRiAvKiBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ3QzRENTdDMjY1MDhCQ0EwMEM3QUIx
RiAvKiBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODI5Miw2ICs4MjkzLDggQEAKIAkJNDVGRUE1Q0Ux
NTZEREU4QzAwNjU0MTAxIC8qIERlY2ltYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRGVjaW1hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjBCQjYxMzFE
MEExQkVDMDAyMjE4MTIgLyogQmFzZTY0VXRpbGl0aWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEJhc2U2NFV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQ2MEJCNjE0MUQwQTFCRUMwMDIyMTgxMiAvKiBCYXNlNjRVdGlsaXRpZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQmFzZTY0VXRpbGl0aWVzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2MEM3NDU2MjZERDY5OUQwMDQyN0QzRSAvKiBX
aW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdpbmRvd09y
V29ya2VyR2xvYmFsU2NvcGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NjBD
NzQ1ODI2REQ2OTlEMDA0MjdEM0UgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQ2MENCRjMzMUQ0QkNDRkUwMDkyRTg4RSAvKiBKU0RPTVdpbmRvd1Byb3Bl
cnRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01XaW5k
b3dQcm9wZXJ0aWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDYwQ0JGMzQx
RDRCQ0NGRTAwOTJFODhFIC8qIEpTRE9NV2luZG93UHJvcGVydGllcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVdpbmRvd1Byb3BlcnRpZXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDYwRDE5NDQxRkNFMjFERDAwQzNEQjg1IC8qIEpTU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTgzMDgsOCArODMxMSw2IEBACiAJCTQ2NUE4RTc4MUM4QTI0Q0Uw
MEU3RDNFNCAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29h
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjVFREQ5RjIyMkY0RUMzMDBCNDZF
MTYgLyogRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uUGVybWlz
c2lvblN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NUVEREEwMjIyRjRF
QzQwMEI0NkUxNiAvKiBEZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uUGVybWlzc2lvblN0YXRlLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBEZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uUGVybWlz
c2lvblN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDY2MTcyRTkyM0Ey
QUJGQTAwM0FCMzA5IC8qIFBvc3RNZXNzYWdlT3B0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gUG9zdE1lc3NhZ2VPcHRpb25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJNDY2MTcyRUIyM0EyQUJGQTAwM0FCMzA5IC8qIFBvc3RNZXNzYWdlT3B0aW9ucy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb3N0TWVzc2FnZU9wdGlvbnMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2NTM2RkEyNjRDOEREMTAwQUFEMUQ3IC8qIEpTQXVk
aW9Ob2RlQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXVkaW9Ob2RlQ3VzdG9tLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2QzJEQUIyNkM3M0FGQjAwNjUxOTMx
IC8qIFBvbGljeUNvbnRhaW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
b2xpY3lDb250YWluZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2REM2QUIx
RURFMDIxRDAwNzQ2MjI0IC8qIEpTRE9NUmVjdExpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNET01SZWN0TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC04NDA1LDYgKzg0MDYsOCBAQAogCQk0NkVGQUYwRjFFNUZCOUUxMDBFN0YzNEIg
LyogTG93UG93ZXJNb2RlTm90aWZpZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTG93UG93ZXJNb2RlTm90aWZpZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0NkVGQUYxMDFFNUZCOUUxMDBFN0YzNEIgLyogTG93UG93ZXJNb2RlTm90aWZpZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG93UG93ZXJNb2RlTm90aWZpZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZGOTFCQzkxRkNERDBGRTAwMTU5OUMz
IC8qIEpTV29ya2VyTmF2aWdhdG9yQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTV29ya2VyTmF2aWdhdG9yQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDZGRUZCQzYyNkRENjc4MjAwQjBDNDg4IC8qIFN0cnVjdHVyZWRTZXJp
YWxpemVPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25z
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2RkVGQkM3MjZERDY3ODMwMEIwQzQ4
OCAvKiBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU3RydWN0dXJlZFNlcmlh
bGl6ZU9wdGlvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NzVDODlBMzI2
NTBBQzNCMDBGM0I0NTYgLyogRm9ybWF0dGluZ0dlb21ldHJ5LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEZvcm1hdHRpbmdHZW9tZXRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0Nzg2MzU2NDI2NTA3QTM3MDBDNUUyRTAgLyogQmxvY2tGb3JtYXR0aW5nR2Vv
bWV0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQmxvY2tGb3JtYXR0aW5n
R2VvbWV0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDdDNEQ1N0MyNjUwOEJD
QTAwQzdBQjFGIC8qIElubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIyMTM5LDggKzIyMTQyLDYgQEAKIAkJCQk1Q0ZDNDM0RTE5MjQw
NkE5MDBBMEQzQjUgLyogUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcCAqLywKIAkJCQk1Q0ZDNDM0
RjE5MjQwNkE5MDBBMEQzQjUgLyogUG9pbnRlckxvY2tDb250cm9sbGVyLmggKi8sCiAJCQkJMzc3
MkIwOTUxNjUzNTg1NjAwMEE0OUNBIC8qIFBvcHVwT3BlbmluZ09ic2VydmVyLmggKi8sCi0JCQkJ
NDY2MTcyRUIyM0EyQUJGQTAwM0FCMzA5IC8qIFBvc3RNZXNzYWdlT3B0aW9ucy5oICovLAotCQkJ
CTQ2NjE3MkU5MjNBMkFCRkEwMDNBQjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlvbnMuaWRsICovLAog
CQkJCUU0NjA1RkVBMjE2NjQ4MDgwMEU1MzA0NiAvKiBQcmV3YXJtSW5mb3JtYXRpb24uaCAqLywK
IAkJCQlCNzc2RDQzQzExMDQ1Mjc1MDBCRUIwRUMgLyogUHJpbnRDb250ZXh0LmNwcCAqLywKIAkJ
CQlCNzc2RDQzQTExMDQ1MjVEMDBCRUIwRUMgLyogUHJpbnRDb250ZXh0LmggKi8sCkBAIC0yMjIw
Nyw2ICsyMjIwOCw4IEBACiAJCQkJOTNBMDQ4MjYyNTQ5NTUwMDAwMEFDNDYyIC8qIFNwZWVjaFJl
Y29nbml0aW9uUHJvdmlkZXIuaCAqLywKIAkJCQlDMTQ5MzgwNTIyMzQyNzE5MDAwQ0Q3MDcgLyog
U3BlZWNoU3ludGhlc2lzQ2xpZW50LmggKi8sCiAJCQkJQkM0QTUzMzYyNTYwNUFFMTAwMjhDNTky
IC8qIFN0b3JhZ2VCbG9ja2luZ1BvbGljeS5oICovLAorCQkJCTQ2RkVGQkM2MjZERDY3ODIwMEIw
QzQ4OCAvKiBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oICovLAorCQkJCTQ2RkVGQkM3MjZE
RDY3ODMwMEIwQzQ4OCAvKiBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5pZGwgKi8sCiAJCQkJ
NjJDMTIxN0ExMUFCOUU3NjAwM0M0NjJDIC8qIFN1c3BlbmRhYmxlVGltZXIuY3BwICovLAogCQkJ
CTYyQzEyMTdCMTFBQjlFNzcwMDNDNDYyQyAvKiBTdXNwZW5kYWJsZVRpbWVyLmggKi8sCiAJCQkJ
QkM0QTUzMjQyNTYwNTU1OTAwMjhDNTkyIC8qIFRleHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9u
QmVoYXZpb3IuaCAqLywKQEAgLTIyMjY3LDYgKzIyMjcwLDggQEAKIAkJCQk3QzY3NzEyQjI1MjdE
NzVGMDBGREVGMDAgLyogV2luZG93TG9jYWxTdG9yYWdlLmlkbCAqLywKIAkJCQk3QzY3NzEzNzI1
MjdERkY1MDBGREVGMDAgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStDcnlwdG8uaWRsICov
LAogCQkJCTdDNjc3MTM2MjUyN0RGNEIwMEZERUYwMCAvKiBXaW5kb3dPcldvcmtlckdsb2JhbFNj
b3BlK1BlcmZvcm1hbmNlLmlkbCAqLywKKwkJCQk0NjBDNzQ1NjI2REQ2OTlEMDA0MjdEM0UgLyog
V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5jcHAgKi8sCisJCQkJNDYwQzc0NTgyNkRENjk5RDAw
NDI3RDNFIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaCAqLywKIAkJCQk5MzcxMDgwRDFE
Qjc1NDU1MDA2MDc0NEUgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5pZGwgKi8sCiAJCQkJ
N0M2NzcxMkMyNTI3RDdDOTAwRkRFRjAwIC8qIFdpbmRvd1Nlc3Npb25TdG9yYWdlLmlkbCAqLywK
IAkJCQlFMTI3MUExMzBFRUVDODA0MDBGNjEyMTMgLyogV29ya2VyTmF2aWdhdG9yLmNwcCAqLywK
QEAgLTM0MTA4LDcgKzM0MTEzLDYgQEAKIAkJCQk5NzQ2QUYzMDE0RjREREU2MDAzRTdBNzAgLyog
UG9zaXRpb25FcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzkxOUMyNDBCN0Qx
ODg2MDBBNTY5OTggLyogUG9zaXRpb25JdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc0
NkFGMzIxNEY0RERFNjAwM0U3QTcwIC8qIFBvc2l0aW9uT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJNDY2MTcyRUMyM0EyQUMxRjAwM0FCMzA5IC8qIFBvc3RNZXNzYWdlT3B0aW9ucy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDZEQkI2NTAxQUI4Qzk2RjAwRDlBODEzIC8qIFBvd2VyT2JzZXJ2
ZXJNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQzc0NzA0MjRCRTJGQzcwMEMxODY4QiAvKiBQ
b3dlclNvdXJjZU5vdGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEYyQTQ0MTEzODY5QUFC
MDA2NkM1MzQgLyogcHJlcHJvY2Vzc29yLnBtIGluIEhlYWRlcnMgKi8sCkBAIC0zNDc1NSw2ICsz
NDc1OSw3IEBACiAJCQkJRUNBNjgwQzcxRTY3NzI0NTAwNzMxRDIwIC8qIFN0cmluZ1V0aWxpdGll
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUI2QzQxNTMxMzQ0OTQ5MDAwMDg1QjYyIC8qIFN0cmlu
Z1dpdGhEaXJlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNEI4MjA1MUQ2REYwRTUwMDc3
RUJFMyAvKiBTdHJ1Y3R1cmVkQ2xvbmUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ2RkVGQkM4MjZE
RDY3QTIwMEIwQzQ4OCAvKiBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDFFNjdBODMyNUQxNjg0NzAwN0IwQTRDIC8qIFNUVU5NZXNzYWdlUGFyc2luZy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNzEzOTIyQkUyNTE4QUI3NzAwNURCM0MyIC8qIFN0eWxlYWJs
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ1QkE2QjYyMzc2MjJBMzAwNERGQzA3IC8qIFN0eWxl
QWRqdXN0ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzU0MzYsNiArMzU0NDEsNyBAQAogCQkJCTlC
MjdGQzYwMjM0RDlBREIwMDM5NEE0NiAvKiBXaW5kb3dFdmVudExvb3AuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDODI0M0U5MEQwQ0ZENzUwMDQ2MEM4RiAvKiBXaW5kb3dGZWF0dXJlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0U5OUFGNTMwQjEzODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxs
b3dlZEluZGljYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDYwQzc0NTkyNkRENjlCQjAwNDI3
RDNFIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQx
RDEyOUNFMUYzRDBFRjYwMEQxNUU0NyAvKiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkNCNDFCQjRDNEU4MDAxMjg5OEYgLyogV2luZG93
T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDYzNTIxQUQyMDgxMDkyQTAwQzI4OTIyIC8qIFdpbmRvd1Byb3h5LmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCmluZGV4IGMxYzVkYzk4NmFjYjcyMzQyZWQxMDBk
NmZkYzlkOTE2MGZkOGM5MjcuLjM0NDRmMjc5ODEzYzE2M2M0ODY4NGVjNjg1ODIxOTE0ZTUwOTlk
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNwcApAQCAtMTMyLDcgKzEzMiw3IEBAIHZv
aWQgTWVzc2FnZVBvcnQ6OmVudGFuZ2xlKCkKICAgICBNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRl
cjo6ZnJvbUNvbnRleHQoKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkuZW50YW5nbGVMb2NhbFBv
cnRJblRoaXNQcm9jZXNzVG9SZW1vdGUobV9pZGVudGlmaWVyLCBtX3JlbW90ZUlkZW50aWZpZXIp
OwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBNZXNzYWdlUG9ydDo6cG9zdE1lc3NhZ2UoSlNDOjpK
U0dsb2JhbE9iamVjdCYgc3RhdGUsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlVmFsdWUsIFBvc3RNZXNz
YWdlT3B0aW9ucyYmIG9wdGlvbnMpCitFeGNlcHRpb25Pcjx2b2lkPiBNZXNzYWdlUG9ydDo6cG9z
dE1lc3NhZ2UoSlNDOjpKU0dsb2JhbE9iamVjdCYgc3RhdGUsIEpTQzo6SlNWYWx1ZSBtZXNzYWdl
VmFsdWUsIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zJiYgb3B0aW9ucykKIHsKICAgICBMT0co
TWVzc2FnZVBvcnRzLCAiQXR0ZW1wdGluZyB0byBwb3N0IG1lc3NhZ2UgdG8gcG9ydCAlcyAodG8g
YmUgcmVjZWl2ZWQgYnkgcG9ydCAlcykiLCBtX2lkZW50aWZpZXIubG9nU3RyaW5nKCkudXRmOCgp
LmRhdGEoKSwgbV9yZW1vdGVJZGVudGlmaWVyLmxvZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCmluZGV4IDliNGNjYmJkNTZkOTFlZGUxZDQ3MDRmN2Rj
YzBmNzlmMDQ0NThlNjYuLmJiNDBlZTQ5NzYxNmE4ZTI1OGVmZTJhMTc3MDc5OWMyZjk4ZTkxMmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSAi
TWVzc2FnZVBvcnRDaGFubmVsLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnRJZGVudGlmaWVyLmgi
CiAjaW5jbHVkZSAiTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMuaCIKLSNpbmNsdWRlICJQb3N0TWVz
c2FnZU9wdGlvbnMuaCIKKyNpbmNsdWRlICJTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oIgog
I2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNTIsNyArNTIs
NyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNZXNzYWdlUG9ydD4gY3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIGxvY2FsLCBjb25z
dCBNZXNzYWdlUG9ydElkZW50aWZpZXImIHJlbW90ZSk7CiAgICAgdmlydHVhbCB+TWVzc2FnZVBv
cnQoKTsKIAotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBvc3RNZXNzYWdlKEpTQzo6SlNHbG9iYWxP
YmplY3QmLCBKU0M6OkpTVmFsdWUgbWVzc2FnZSwgUG9zdE1lc3NhZ2VPcHRpb25zJiYpOworICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IHBvc3RNZXNzYWdlKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6
OkpTVmFsdWUgbWVzc2FnZSwgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMmJik7CiAKICAgICB2
b2lkIHN0YXJ0KCk7CiAgICAgdm9pZCBjbG9zZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL01lc3NhZ2VQb3J0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5p
ZGwKaW5kZXggNDI3ZjkwMmM2ZjEyMDA2NTRiODZjMjc3ZjcyN2MyMGNiZDBiYzk2YS4uMzRkYjQw
OGQzOTdjY2Y5ZWI0MWNiZjI4OTk2MWRiNzc0ZDA2NjNkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL01lc3NhZ2VQb3J0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2Fn
ZVBvcnQuaWRsCkBAIC0zMiw3ICszMiw3IEBACiAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCiBd
IGludGVyZmFjZSBNZXNzYWdlUG9ydCA6IEV2ZW50VGFyZ2V0IHsKICAgICBbQ2FsbFdpdGg9R2xv
YmFsT2JqZWN0XSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIHNlcXVlbmNlPG9i
amVjdD4gdHJhbnNmZXIpOwotICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHVuZGVmaW5lZCBw
b3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgb3B0aW9uYWwgUG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlv
bnMpOworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShh
bnkgbWVzc2FnZSwgb3B0aW9uYWwgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMgb3B0aW9ucyk7
CiAgICAgdW5kZWZpbmVkIHN0YXJ0KCk7CiAgICAgdW5kZWZpbmVkIGNsb3NlKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQmFzZTY0VXRpbGl0aWVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Jhc2U2NFV0aWxpdGllcy5oCmluZGV4IGJhZjlhODFjNDc4N2ZlMDEzMWE5NzE2
MzljZjRlYjUyMTk3MTM4M2QuLjU0MGU5ZTNhMGIyYzlhZTYwYTc5YWNjN2JmMzIyMjE0YzA3YWVk
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQmFzZTY0VXRpbGl0aWVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9CYXNlNjRVdGlsaXRpZXMuaApAQCAtMjksNiArMjksNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEZJWE1FOiBXZSBzaG91bGQgbWVyZ2UgdGhl
c2UgaW50byBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLgogY2xhc3MgQmFzZTY0VXRpbGl0aWVz
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8U3RyaW5nPiBidG9hKGNvbnN0IFN0
cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDhjYjFiYjU3YzMwOTYzMDkx
NzE2MjhhYTM0ZDNmNmZiODQ0YTU2ODguLmNjMzk4MWIzMjc0M2M4YTcyMDZlZGMzNjM3NTE0NWI2
MzZlMDUxMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTE4MDIsMTcgKzE4MDIs
NiBAQCB2b2lkIERPTVdpbmRvdzo6cmVzaXplVG8oZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCkg
Y29uc3QKICAgICBwYWdlLT5jaHJvbWUoKS5zZXRXaW5kb3dSZWN0KGFkanVzdFdpbmRvd1JlY3Qo
KnBhZ2UsIHVwZGF0ZSkpOwogfQogCi12b2lkIERPTVdpbmRvdzo6cmVwb3J0RXJyb3IoSlNDOjpK
U0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgZXJyb3IpCi17Ci0gICAg
YXV0byYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKLSAgICBSRUxFQVNFX0FTU0VSVCh2bS5jdXJy
ZW50VGhyZWFkSXNIb2xkaW5nQVBJTG9jaygpKTsKLSAgICBhdXRvKiBleGNlcHRpb24gPSBKU0M6
OmpzRHluYW1pY0Nhc3Q8SlNDOjpFeGNlcHRpb24qPih2bSwgZXJyb3IpOwotICAgIGlmICghZXhj
ZXB0aW9uKQotICAgICAgICBleGNlcHRpb24gPSBKU0M6OkV4Y2VwdGlvbjo6Y3JlYXRlKHZtLCBl
cnJvcik7Ci0KLSAgICByZXBvcnRFeGNlcHRpb24oJmdsb2JhbE9iamVjdCwgZXhjZXB0aW9uKTsK
LX0KLQogRXhjZXB0aW9uT3I8aW50PiBET01XaW5kb3c6OnNldFRpbWVvdXQoSlNDOjpKU0dsb2Jh
bE9iamVjdCYgc3RhdGUsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwg
aW50IHRpbWVvdXQsIFZlY3RvcjxKU0M6OlN0cm9uZzxKU0M6OlVua25vd24+PiYmIGFyZ3VtZW50
cykKIHsKICAgICBSZWZQdHIgY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IGUxMDE5MDY0NjgzY2M1OGFjZjhkNThhNGJiMmEyNjVh
NTMxZWE0YzkuLjZhYmIwMzY2MmE3Y2Q5M2YwOTI3NjZmY2ZkZGYyZjhjYzZiN2UxMDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMzMsMTEgKzMzLDEyIEBACiAjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJJbWFn
ZUJpdG1hcC5oIgotI2luY2x1ZGUgIlBvc3RNZXNzYWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIlJl
ZHVjZWRSZXNvbHV0aW9uU2Vjb25kcy5oIgogI2luY2x1ZGUgIlNjcm9sbFRvT3B0aW9ucy5oIgog
I2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCisjaW5jbHVkZSAiU3RydWN0dXJlZFNlcmlhbGl6ZU9w
dGlvbnMuaCIKICNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgorI2luY2x1ZGUgIldpbmRvd09y
V29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9IYW5kbGVUeXBl
cy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0cm9uZy5oPgogI2luY2x1ZGUgPHd0Zi9G
dW5jdGlvbi5oPgpAQCAtOTgsMTAgKzk5LDEwIEBAIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsKIGVu
dW0gU2V0TG9jYXRpb25Mb2NraW5nIHsgTG9ja0hpc3RvcnlCYXNlZE9uR2VzdHVyZVN0YXRlLCBM
b2NrSGlzdG9yeUFuZEJhY2tGb3J3YXJkTGlzdCB9OwogZW51bSBjbGFzcyBJbmNsdWRlVGFyZ2V0
T3JpZ2luIHsgTm8sIFllcyB9OwogCi1zdHJ1Y3QgV2luZG93UG9zdE1lc3NhZ2VPcHRpb25zIDog
cHVibGljIFBvc3RNZXNzYWdlT3B0aW9ucyB7CitzdHJ1Y3QgV2luZG93UG9zdE1lc3NhZ2VPcHRp
b25zIDogcHVibGljIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zIHsKICAgICBXaW5kb3dQb3N0
TWVzc2FnZU9wdGlvbnMoKSA9IGRlZmF1bHQ7CiAgICAgV2luZG93UG9zdE1lc3NhZ2VPcHRpb25z
KFN0cmluZyYmIHRhcmdldE9yaWdpbiwgVmVjdG9yPEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+
PiYmIHRyYW5zZmVyKQotICAgICAgICA6IFBvc3RNZXNzYWdlT3B0aW9ucyhXVEZNb3ZlKHRyYW5z
ZmVyKSkKKyAgICAgICAgOiBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucyhXVEZNb3ZlKHRyYW5z
ZmVyKSkKICAgICAgICAgLCB0YXJnZXRPcmlnaW4oV1RGTW92ZSh0YXJnZXRPcmlnaW4pKQogICAg
IHsgfQogCkBAIC0xMTMsNiArMTE0LDcgQEAgY2xhc3MgRE9NV2luZG93IGZpbmFsCiAgICAgOiBw
dWJsaWMgQWJzdHJhY3RET01XaW5kb3cKICAgICAsIHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25P
YnNlcnZlcgogICAgICwgcHVibGljIEJhc2U2NFV0aWxpdGllcworICAgICwgcHVibGljIFdpbmRv
d09yV29ya2VyR2xvYmFsU2NvcGUKICAgICAsIHB1YmxpYyBTdXBwbGVtZW50YWJsZTxET01XaW5k
b3c+IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKERPTVdpbmRvdyk7CiBwdWJsaWM6CkBA
IC0zODYsOCArMzg4LDYgQEAgcHVibGljOgogICAgIFdlYktpdE5hbWVzcGFjZSogd2Via2l0TmFt
ZXNwYWNlKCk7CiAjZW5kaWYKIAotICAgIHZvaWQgcmVwb3J0RXJyb3IoSlNDOjpKU0dsb2JhbE9i
amVjdCYsIEpTQzo6SlNWYWx1ZSk7Ci0KICAgICAvLyBGSVhNRTogV2hlbiB0aGlzIERPTVdpbmRv
dyBpcyBubyBsb25nZXIgdGhlIGFjdGl2ZSBET01XaW5kb3cgKGkuZS4sCiAgICAgLy8gd2hlbiBp
dHMgZG9jdW1lbnQgaXMgbm8gbG9uZ2VyIHRoZSBkb2N1bWVudCB0aGF0IGlzIGRpc3BsYXllZCBp
biBpdHMKICAgICAvLyBmcmFtZSksIHdlIHdvdWxkIGxpa2UgdG8gemVybyBvdXQgbV9mcmFtZSB0
byBhdm9pZCBiZWluZyBjb25mdXNlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDQw
Zjg3NDdiMWRhZjNlMTQ5MDY1MGQzMWY5NjVlMWRjZmFlMWY1OWEuLjg1ODZlZGQwMDBlMTE4ODU3
ZjZjYmYyOTU3ODAzZGY3ZjBjZWU2OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAg
LTEzNCw3ICsxMzQsNyBAQAogCiBbCiAgICAgSW1wbGVtZW50ZWRBcz1XaW5kb3dQb3N0TWVzc2Fn
ZU9wdGlvbnMKLV0gZGljdGlvbmFyeSBXaW5kb3dQb3N0TWVzc2FnZU9wdGlvbnMgOiBQb3N0TWVz
c2FnZU9wdGlvbnMgeworXSBkaWN0aW9uYXJ5IFdpbmRvd1Bvc3RNZXNzYWdlT3B0aW9ucyA6IFN0
cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zIHsKICAgICBVU1ZTdHJpbmcgdGFyZ2V0T3JpZ2luID0g
Ii8iOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3N0TWVzc2FnZU9w
dGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9zdE1lc3NhZ2VPcHRpb25zLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2MGExM2E2YTcyOTNkZTc3MmU5ODdmMzBiOGU0ZGE0
YzU5OTc5ZjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Qb3N0TWVzc2FnZU9wdGlvbnMuaAorKysgL2Rldi9udWxsCkBA
IC0xLDQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25n
Lmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0
cnVjdCBQb3N0TWVzc2FnZU9wdGlvbnMgewotICAgIFBvc3RNZXNzYWdlT3B0aW9ucygpID0gZGVm
YXVsdDsKLSAgICBQb3N0TWVzc2FnZU9wdGlvbnMoVmVjdG9yPEpTQzo6U3Ryb25nPEpTQzo6SlNP
YmplY3Q+PiYmIHRyYW5zZmVyKQotICAgICAgICA6IHRyYW5zZmVyKFdURk1vdmUodHJhbnNmZXIp
KQotICAgIHsgfQotCi0gICAgVmVjdG9yPEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+PiB0cmFu
c2ZlcjsKLX07Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9zdE1lc3Nh
Z2VPcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9zdE1lc3NhZ2VPcHRpb25zLmlk
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjg3ZmQ0MjAzODMxMmI2OTg2YmRjOGI4
M2M3NGI2NWExMzc2MjBiZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc3RNZXNzYWdlT3B0aW9ucy5pZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotZGljdGlvbmFyeSBQb3N0TWVz
c2FnZU9wdGlvbnMgewotICBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyID0gW107Ci19OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmUxNWQ1NWE5NTljNTdiZTc4YmE0MjJlMzM1OWUxNzk5ZDM5MDZlNzcKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25z
LmgKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOS0yMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU09iamVjdC5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL1N0cm9uZy5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitzdHJ1Y3QgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMgeworICAgIFN0cnVjdHVy
ZWRTZXJpYWxpemVPcHRpb25zKCkgPSBkZWZhdWx0OworICAgIFN0cnVjdHVyZWRTZXJpYWxpemVP
cHRpb25zKFZlY3RvcjxKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0Pj4mJiB0cmFuc2ZlcikKKyAg
ICAgICAgOiB0cmFuc2ZlcihXVEZNb3ZlKHRyYW5zZmVyKSkKKyAgICB7IH0KKworICAgIFZlY3Rv
cjxKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0Pj4gdHJhbnNmZXI7Cit9OworCit9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIyOWQxOGVjNzk3ZGYxNmFhNzM5MTZkMDQwOTA1NjE5YTA2MGY2OTIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25z
LmlkbApAQCAtMCwwICsxLDI4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitkaWN0aW9uYXJ5IFN0cnVj
dHVyZWRTZXJpYWxpemVPcHRpb25zIHsKKyAgc2VxdWVuY2U8b2JqZWN0PiB0cmFuc2ZlciA9IFtd
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2luZG93T3JXb3JrZXJHbG9i
YWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI1ZTE2MzNiY2MxNTlmODg4ZmEzYjliNGVhNDY2ZmEyMjgyOGI5
MGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd09yV29ya2Vy
R2xvYmFsU2NvcGUuY3BwCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5oIgorCisjaW5j
bHVkZSAiRXhjZXB0aW9uT3IuaCIKKyNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgi
CisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJNZXNzYWdlUG9ydC5o
IgorI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3ZvaWQgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZTo6cmVwb3J0RXJyb3IoSlNET01H
bG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIGVycm9yKQoreworICAgIGF1
dG8mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgUkVMRUFTRV9BU1NFUlQodm0uY3VycmVu
dFRocmVhZElzSG9sZGluZ0FQSUxvY2soKSk7CisgICAgYXV0byogZXhjZXB0aW9uID0gSlNDOjpq
c0R5bmFtaWNDYXN0PEpTQzo6RXhjZXB0aW9uKj4odm0sIGVycm9yKTsKKyAgICBpZiAoIWV4Y2Vw
dGlvbikKKyAgICAgICAgZXhjZXB0aW9uID0gSlNDOjpFeGNlcHRpb246OmNyZWF0ZSh2bSwgZXJy
b3IpOworCisgICAgcmVwb3J0RXhjZXB0aW9uKCZnbG9iYWxPYmplY3QsIGV4Y2VwdGlvbik7Cit9
CisKK0V4Y2VwdGlvbk9yPEpTQzo6SlNWYWx1ZT4gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZTo6
c3RydWN0dXJlZENsb25lKEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNW
YWx1ZSB2YWx1ZSwgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMmJiBvcHRpb25zKQoreworICAg
IFZlY3RvcjxSZWZQdHI8TWVzc2FnZVBvcnQ+PiBwb3J0czsKKyAgICBhdXRvIG1lc3NhZ2VEYXRh
ID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwgV1RG
TW92ZShvcHRpb25zLnRyYW5zZmVyKSwgcG9ydHMsIFNlcmlhbGl6YXRpb25Db250ZXh0OjpXaW5k
b3dQb3N0TWVzc2FnZSk7CisgICAgaWYgKG1lc3NhZ2VEYXRhLmhhc0V4Y2VwdGlvbigpKQorICAg
ICAgICByZXR1cm4gbWVzc2FnZURhdGEucmVsZWFzZUV4Y2VwdGlvbigpOworCisgICAgYXV0byBk
aXNlbnRhbmdsZWRQb3J0cyA9IE1lc3NhZ2VQb3J0OjpkaXNlbnRhbmdsZVBvcnRzKFdURk1vdmUo
cG9ydHMpKTsKKyAgICBpZiAoZGlzZW50YW5nbGVkUG9ydHMuaGFzRXhjZXB0aW9uKCkpCisgICAg
ICAgIHJldHVybiBkaXNlbnRhbmdsZWRQb3J0cy5yZWxlYXNlRXhjZXB0aW9uKCk7CisKKyAgICBW
ZWN0b3I8UmVmUHRyPE1lc3NhZ2VQb3J0Pj4gZW50YW5nbGVkUG9ydHM7CisgICAgaWYgKGF1dG8q
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgPSBnbG9iYWxPYmplY3Quc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpKQorICAgICAgICBlbnRhbmdsZWRQb3J0cyA9IE1lc3NhZ2VQb3J0OjplbnRhbmdsZVBv
cnRzKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBkaXNlbnRhbmdsZWRQb3J0cy5yZWxlYXNlUmV0
dXJuVmFsdWUoKSk7CisKKyAgICByZXR1cm4gbWVzc2FnZURhdGEucmV0dXJuVmFsdWUoKS0+ZGVz
ZXJpYWxpemUoZ2xvYmFsT2JqZWN0LCAmZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudGFuZ2xlZFBv
cnRzKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMyNGRkMGFkYTM1
MmExMmQ2ZjhmMzY3OTc1M2I1ZGViZGIyYmFmMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5oCkBAIC0wLDAgKzEsNDYgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlN0cnVjdHVyZWRTZXJpYWxp
emVPcHRpb25zLmgiCisKK25hbWVzcGFjZSBKU0MgeworY2xhc3MgSlNWYWx1ZTsKK30KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK3RlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIEV4Y2VwdGlvbk9yOworCitjbGFzcyBXaW5kb3dPcldvcmtlckdsb2Jh
bFNjb3BlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCByZXBvcnRFcnJvcihKU0RPTUdsb2Jh
bE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPEpTQzo6SlNW
YWx1ZT4gc3RydWN0dXJlZENsb25lKEpTRE9NR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlLCBT
dHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucyYmID0geyB9KTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaW5kb3dPcldvcmtl
ckdsb2JhbFNjb3BlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2luZG93T3JXb3JrZXJHbG9i
YWxTY29wZS5pZGwKaW5kZXggNGQ2YmM5MmE1NTk3NDcyNGIyZmM0YjgwNzI5YjZiN2Y0NzcwOGU4
OC4uODBkZmQ0Y2I0MTlkYTViNjRlMzk5ODI4M2IwZTQ3NzUwNDFhNjBjZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaWRsCkBAIC02OSw0
ICs2OSw3IEBAIGludGVyZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlIHsKICAg
ICAvLyBJbWFnZUJpdG1hcC4KICAgICBbRW5hYmxlZEF0UnVudGltZT1JbWFnZUJpdG1hcF0gUHJv
bWlzZTxJbWFnZUJpdG1hcD4gY3JlYXRlSW1hZ2VCaXRtYXAoSW1hZ2VCaXRtYXBTb3VyY2UgaW1h
Z2UsIG9wdGlvbmFsIEltYWdlQml0bWFwT3B0aW9ucyBvcHRpb25zKTsKICAgICBbRW5hYmxlZEF0
UnVudGltZT1JbWFnZUJpdG1hcF0gUHJvbWlzZTxJbWFnZUJpdG1hcD4gY3JlYXRlSW1hZ2VCaXRt
YXAoSW1hZ2VCaXRtYXBTb3VyY2UgaW1hZ2UsIGxvbmcgc3gsIGxvbmcgc3ksIGxvbmcgc3csIGxv
bmcgc2gsIG9wdGlvbmFsIEltYWdlQml0bWFwT3B0aW9ucyBvcHRpb25zKTsKKworICAgIC8vIHN0
cnVjdHVyZWQgY2xvbmluZworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIGFueSBzdHJ1Y3R1
cmVkQ2xvbmUoYW55IHZhbHVlLCBvcHRpb25hbCBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucyBv
cHRpb25zKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGE1MTU4Y2RmZTRlMjZmNDZjMDkzMTc5YTdhYmY4
ZjExZGU3YjJhMzEuLmU1OTc1MGUxMTM1YjBiOTUyNWE2MjA2NDBkODljODQyNjNmZWQ4MGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUuY3BwCkBAIC03OCw3ICs3OCw3IEBAIHZvaWQgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGU6OnByZXBhcmVGb3JEZXN0cnVjdGlvbigpCiAgICAgV29ya2VyR2xvYmFsU2NvcGU6OnByZXBh
cmVGb3JEZXN0cnVjdGlvbigpOwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZTo6cG9zdE1lc3NhZ2UoSlNDOjpKU0dsb2JhbE9iamVjdCYgc3RhdGUsIEpT
Qzo6SlNWYWx1ZSBtZXNzYWdlVmFsdWUsIFBvc3RNZXNzYWdlT3B0aW9ucyYmIG9wdGlvbnMpCitF
eGNlcHRpb25Pcjx2b2lkPiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6cG9zdE1lc3NhZ2Uo
SlNDOjpKU0dsb2JhbE9iamVjdCYgc3RhdGUsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlVmFsdWUsIFN0
cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zJiYgb3B0aW9ucykKIHsKICAgICBWZWN0b3I8UmVmUHRy
PE1lc3NhZ2VQb3J0Pj4gcG9ydHM7CiAgICAgYXV0byBtZXNzYWdlID0gU2VyaWFsaXplZFNjcmlw
dFZhbHVlOjpjcmVhdGUoc3RhdGUsIG1lc3NhZ2VWYWx1ZSwgV1RGTW92ZShvcHRpb25zLnRyYW5z
ZmVyKSwgcG9ydHMsIFNlcmlhbGl6YXRpb25Db250ZXh0OjpXb3JrZXJQb3N0TWVzc2FnZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
LmgKaW5kZXggY2E0ZDU2ODBlOGIxZDFlYzc2YjU0NjllNGMxYzU0ZTg1NzJlNzk2Ni4uN2Y0MjYw
YjU0NGNhYzBlOTZlNTg5ZGU4YjFiZWI3MWIxZDE5NTEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMzIsNyArMzIs
NyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgotI2luY2x1ZGUg
IlBvc3RNZXNzYWdlT3B0aW9ucy5oIgorI2luY2x1ZGUgIlN0cnVjdHVyZWRTZXJpYWxpemVPcHRp
b25zLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKIAogbmFtZXNwYWNlIEpTQyB7
CkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbmFtZTsgfQogCi0gICAgRXhjZXB0aW9uT3I8dm9pZD4gcG9zdE1lc3Nh
Z2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlLCBQb3N0TWVzc2Fn
ZU9wdGlvbnMmJik7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gcG9zdE1lc3NhZ2UoSlNDOjpKU0ds
b2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlLCBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0
aW9ucyYmKTsKIAogICAgIERlZGljYXRlZFdvcmtlclRocmVhZCYgdGhyZWFkKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUu
aWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5p
ZGwKaW5kZXggYTBhMTI5ODQwZTRmYjI2YTM1NDFkOTQyODc5ZWI2ZjgzZjY0ZDQyNy4uNTJkNWIy
YTRiNDhlZTkyNjNhNTUyZGVmMjlhZDkwMTU1Y2Q3N2M0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwKQEAgLTM4LDcg
KzM4LDcgQEAKICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
bmFtZTsKIAogICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHVuZGVmaW5lZCBwb3N0TWVzc2Fn
ZShhbnkgbWVzc2FnZSwgc2VxdWVuY2U8b2JqZWN0PiB0cmFuc2Zlcik7Ci0gICAgW0NhbGxXaXRo
PUdsb2JhbE9iamVjdF0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRpb25h
bCBQb3N0TWVzc2FnZU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVj
dF0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRpb25hbCBTdHJ1Y3R1cmVk
U2VyaWFsaXplT3B0aW9ucyBvcHRpb25zKTsKIAogICAgIHVuZGVmaW5lZCBjbG9zZSgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggYzAyMGRjNTI5ZGI2OGFlNDAwZTEyM2I3YWE3
MmQxODQ4YmJiMmJiZS4uOGUwNWY4Y2FjNWM1MGRjZmEzNDM0Y2UxYzgyZjZkYzVlZjNiMTY4NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtMTM2LDcgKzEzNiw3IEBAIFdvcmtlcjo6
fldvcmtlcigpCiAgICAgbV9jb250ZXh0UHJveHkud29ya2VyT2JqZWN0RGVzdHJveWVkKCk7CiB9
CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IFdvcmtlcjo6cG9zdE1lc3NhZ2UoSlNDOjpKU0dsb2JhbE9i
amVjdCYgc3RhdGUsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlVmFsdWUsIFBvc3RNZXNzYWdlT3B0aW9u
cyYmIG9wdGlvbnMpCitFeGNlcHRpb25Pcjx2b2lkPiBXb3JrZXI6OnBvc3RNZXNzYWdlKEpTQzo6
SlNHbG9iYWxPYmplY3QmIHN0YXRlLCBKU0M6OkpTVmFsdWUgbWVzc2FnZVZhbHVlLCBTdHJ1Y3R1
cmVkU2VyaWFsaXplT3B0aW9ucyYmIG9wdGlvbnMpCiB7CiAgICAgVmVjdG9yPFJlZlB0cjxNZXNz
YWdlUG9ydD4+IHBvcnRzOwogICAgIGF1dG8gbWVzc2FnZSA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTo6Y3JlYXRlKHN0YXRlLCBtZXNzYWdlVmFsdWUsIFdURk1vdmUob3B0aW9ucy50cmFuc2Zlciks
IHBvcnRzLCBTZXJpYWxpemF0aW9uQ29udGV4dDo6V29ya2VyUG9zdE1lc3NhZ2UpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyLmgKaW5kZXggYjcwNjkyMTE4MzA4ZGU4ODMyODY3N2JjNmY3ZDQ1MDNiY2Iw
ZjZjMi4uMzRhOTEzOGY1MjMwMzRkMDYwZDA2YTNmYzg1MDRiN2NkM2JlMmE1NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlci5oCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQu
aCIKICNpbmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFscy5oIgogI2luY2x1ZGUgIk1lc3Nh
Z2VQb3J0LmgiCi0jaW5jbHVkZSAiUG9zdE1lc3NhZ2VPcHRpb25zLmgiCisjaW5jbHVkZSAiU3Ry
dWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJD
bGllbnQuaCIKICNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvUnVudGltZUZsYWdzLmg+CkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
RXhjZXB0aW9uT3I8UmVmPFdvcmtlcj4+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
SlNDOjpSdW50aW1lRmxhZ3MsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBPcHRpb25zJik7CiAg
ICAgdmlydHVhbCB+V29ya2VyKCk7CiAKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBwb3N0TWVzc2Fn
ZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlIG1lc3NhZ2UsIFBvc3RNZXNzYWdl
T3B0aW9ucyYmKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBwb3N0TWVzc2FnZShKU0M6OkpTR2xv
YmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlIG1lc3NhZ2UsIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRp
b25zJiYpOwogCiAgICAgdm9pZCB0ZXJtaW5hdGUoKTsKICAgICBib29sIHdhc1Rlcm1pbmF0ZWQo
KSBjb25zdCB7IHJldHVybiBtX3dhc1Rlcm1pbmF0ZWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmlkbAppbmRleCA3MGUyMjkzMmQ2MTE0MTRkY2JiOWUxNjQyYTAwYWFkMzIyNzcwYmYxLi5lMmRj
ZTI1ODAyN2E5NTllZmIyOTJmMmQ1MmE1NDU0MGI0YTUwOTlhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXIuaWRsCkBAIC0zMyw3ICszMyw3IEBACiAgICAgdW5kZWZpbmVkIHRlcm1pbmF0ZSgpOwog
CiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBt
ZXNzYWdlLCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyKTsKLSAgICBbQ2FsbFdpdGg9R2xvYmFs
T2JqZWN0XSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIFBvc3RN
ZXNzYWdlT3B0aW9ucyBvcHRpb25zKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB1bmRl
ZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIFN0cnVjdHVyZWRTZXJpYWxp
emVPcHRpb25zIG9wdGlvbnMpOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tZXNzYWdl
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcApp
bmRleCA1MWI4MzNjZTJiMDljZTcxZDA1OWFlNGYzN2Y4ZTM5ZGU5YTg2N2ZjLi5hYWViY2Q0NDhj
NDFiODFlMWNlNWNhMjViNTVmY2RhNzViMzQ2YzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtNTQ4LDE3ICs1NDgsNiBAQCB2b2lkIFdvcmtl
ckdsb2JhbFNjb3BlOjpkZWxldGVKU0NvZGVBbmRHQyhTeW5jaHJvbm91cyBzeW5jaHJvbm91cykK
ICNlbmRpZgogfQogCi12b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpyZXBvcnRFcnJvcihKU0M6OkpT
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBlcnJvcikKLXsKLSAgICBh
dXRvJiB2bSA9IGdsb2JhbE9iamVjdC52bSgpOwotICAgIFJFTEVBU0VfQVNTRVJUKHZtLmN1cnJl
bnRUaHJlYWRJc0hvbGRpbmdBUElMb2NrKCkpOwotICAgIGF1dG8qIGV4Y2VwdGlvbiA9IEpTQzo6
anNEeW5hbWljQ2FzdDxKU0M6OkV4Y2VwdGlvbio+KHZtLCBlcnJvcik7Ci0gICAgaWYgKCFleGNl
cHRpb24pCi0gICAgICAgIGV4Y2VwdGlvbiA9IEpTQzo6RXhjZXB0aW9uOjpjcmVhdGUodm0sIGVy
cm9yKTsKLQotICAgIFdlYkNvcmU6OnJlcG9ydEV4Y2VwdGlvbigmZ2xvYmFsT2JqZWN0LCBleGNl
cHRpb24pOwotfQotCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpyZWxlYXNlTWVtb3J5SW5Xb3Jr
ZXJzKFN5bmNocm9ub3VzIHN5bmNocm9ub3VzKQogewogICAgIExvY2tlciBsb2NrZXIgeyBhbGxX
b3JrZXJHbG9iYWxTY29wZUlkZW50aWZpZXJzTG9jayB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IGY0MDBjYmI4MjVjZDc5N2JiNGQ2OTA0MzFiNTI0
NmY1ZjVmN2EwNTYuLmU1Njg3YWVlNjM2NTg3YzU4ZmFlN2Y5YTliMjQ2ZWQ3N2M4NGEzYjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTMyLDYgKzMy
LDcgQEAKICNpbmNsdWRlICJTY3JpcHRCdWZmZXJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgor
I2luY2x1ZGUgIldpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJP
cldvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFNjcmlwdENv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJXb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCkBA
IC02Myw3ICs2NCw3IEBAIG5hbWVzcGFjZSBJREJDbGllbnQgewogY2xhc3MgSURCQ29ubmVjdGlv
blByb3h5OwogfQogCi1jbGFzcyBXb3JrZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBTdXBwbGVtZW50
YWJsZTxXb3JrZXJHbG9iYWxTY29wZT4sIHB1YmxpYyBCYXNlNjRVdGlsaXRpZXMsIHB1YmxpYyBX
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZSB7CitjbGFzcyBXb3JrZXJHbG9iYWxTY29wZSA6IHB1
YmxpYyBTdXBwbGVtZW50YWJsZTxXb3JrZXJHbG9iYWxTY29wZT4sIHB1YmxpYyBCYXNlNjRVdGls
aXRpZXMsIHB1YmxpYyBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLCBwdWJsaWMgV29ya2VyT3JX
b3JrbGV0R2xvYmFsU2NvcGUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoV29ya2VyR2xv
YmFsU2NvcGUpOwogcHVibGljOgogICAgIHZpcnR1YWwgfldvcmtlckdsb2JhbFNjb3BlKCk7CkBA
IC0xMzAsOCArMTMxLDYgQEAgcHVibGljOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxGb250TG9hZFJl
cXVlc3Q+IGZvbnRMb2FkUmVxdWVzdChTdHJpbmcmIHVybCwgYm9vbCBpc1NWRywgYm9vbCBpc0lu
aXRpYXRpbmdFbGVtZW50SW5Vc2VyQWdlbnRTaGFkb3dUcmVlLCBMb2FkZWRGcm9tT3BhcXVlU291
cmNlKSBmaW5hbDsKICAgICB2b2lkIGJlZ2luTG9hZGluZ0ZvbnRTb29uKEZvbnRMb2FkUmVxdWVz
dCYpIGZpbmFsOwogCi0gICAgdm9pZCByZXBvcnRFcnJvcihKU0M6OkpTR2xvYmFsT2JqZWN0Jiwg
SlNDOjpKU1ZhbHVlKTsKLQogICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkgY29u
c3QgZmluYWw7CiAKICAgICBjb25zdCBTZXR0aW5nczo6VmFsdWVzJiBzZXR0aW5nc1ZhbHVlcygp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2V0dGluZ3NWYWx1ZXM7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcAppbmRleCBhYTQyMmY2Y2Yw
NmU5YTdkZjBkYWZiNGE5OTJhOTVkMmU1YzRmY2FmLi44ZDU5M2FmMWU5ZTUwZGIzODM5NDE3ZDM4
NWYwNzQ5NmM0ZmU4MzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXIuY3BwCkBAIC05OSw3ICs5OSw3IEBAIFNXQ2xpZW50Q29ubmVjdGlvbiYg
U2VydmljZVdvcmtlcjo6c3dDb25uZWN0aW9uKCkKICAgICByZXR1cm4gU2VydmljZVdvcmtlclBy
b3ZpZGVyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpOwogfQogCi1FeGNl
cHRpb25Pcjx2b2lkPiBTZXJ2aWNlV29ya2VyOjpwb3N0TWVzc2FnZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlVmFsdWUsIFBvc3RNZXNzYWdl
T3B0aW9ucyYmIG9wdGlvbnMpCitFeGNlcHRpb25Pcjx2b2lkPiBTZXJ2aWNlV29ya2VyOjpwb3N0
TWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBt
ZXNzYWdlVmFsdWUsIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zJiYgb3B0aW9ucykKIHsKICAg
ICBpZiAobV9pc1N0b3BwZWQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3Rh
dGVFcnJvciB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyLmgKaW5kZXggY2I1NjdlMmY4MGFiNWE2ZDA4N2RmZDI3NWVhZWU1NTZhZTBjZmY4Yy4uYWI5
YTE1YmQwMThkNjUxNTBhY2QyMjI4YjdiNDkyOGQ2NDNhMmQ5MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oCkBAIC0zMCw4ICszMCw4IEBACiAj
aW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9u
T2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgotI2luY2x1ZGUgIlBvc3RNZXNz
YWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJEYXRhLmgiCisjaW5jbHVkZSAi
U3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9T
dHJvbmcuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9VUkwu
aD4KQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAgIAogICAgIHZvaWQgdXBkYXRlU3RhdGUo
U3RhdGUpOwogCi0gICAgRXhjZXB0aW9uT3I8dm9pZD4gcG9zdE1lc3NhZ2UoSlNDOjpKU0dsb2Jh
bE9iamVjdCYsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlLCBQb3N0TWVzc2FnZU9wdGlvbnMmJik7Cisg
ICAgRXhjZXB0aW9uT3I8dm9pZD4gcG9zdE1lc3NhZ2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpT
Qzo6SlNWYWx1ZSBtZXNzYWdlLCBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucyYmKTsKIAogICAg
IFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2Rh
dGEuaWRlbnRpZmllcjsgfQogICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
IHJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2RhdGEucmVnaXN0cmF0
aW9uSWRlbnRpZmllcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXIuaWRsCmluZGV4IGQ2NmZhM2NjMzE2OWZiZjNiY2I1MTc0ZTg1ZGNmYmI2ODJm
YzU3NDkuLjU4ZWRhYTFjOTUxOTkyOGY0MDMzOGNhNzdhNjliNzg4MTYwYTUzNWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5pZGwKQEAgLTM3
LDcgKzM3LDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHNjcmlwdFVSTDsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgU2VydmljZVdvcmtlclN0YXRlIHN0YXRlOwogICAgIFtD
YWxsV2l0aD1HbG9iYWxPYmplY3RdIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwg
c2VxdWVuY2U8b2JqZWN0PiB0cmFuc2Zlcik7Ci0gICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdF0g
dW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRpb25hbCBQb3N0TWVzc2FnZU9w
dGlvbnMgb3B0aW9ucyk7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gdW5kZWZpbmVkIHBv
c3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRpb25hbCBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9u
cyBvcHRpb25zKTsKIAogICAgIC8vIGV2ZW50CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBv
bnN0YXRlY2hhbmdlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDbGllbnQuY3BwCmluZGV4IGIxMzM0YjQxMmJiZWFiMDU5NDZhOGM2ZDQy
ZjgyOTU4NGNiYjFkYzIuLjQ1NDJlZjEwZWVlMzAxNTViMGViZjVkMTU1YzkxYTFmNjA1ZDE4OTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNsaWVudC5jcHAKQEAgLTgyLDcgKzgyLDcgQEAgU3RyaW5nIFNlcnZpY2VXb3JrZXJDbGll
bnQ6OmlkKCkgY29uc3QKICAgICByZXR1cm4gaWRlbnRpZmllcigpLnRvU3RyaW5nKCk7CiB9CiAK
LUV4Y2VwdGlvbk9yPHZvaWQ+IFNlcnZpY2VXb3JrZXJDbGllbnQ6OnBvc3RNZXNzYWdlKEpTQzo6
SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIG1lc3NhZ2VWYWx1ZSwg
UG9zdE1lc3NhZ2VPcHRpb25zJiYgb3B0aW9ucykKK0V4Y2VwdGlvbk9yPHZvaWQ+IFNlcnZpY2VX
b3JrZXJDbGllbnQ6OnBvc3RNZXNzYWdlKEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCwgSlNDOjpKU1ZhbHVlIG1lc3NhZ2VWYWx1ZSwgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMm
JiBvcHRpb25zKQogewogICAgIFZlY3RvcjxSZWZQdHI8TWVzc2FnZVBvcnQ+PiBwb3J0czsKICAg
ICBhdXRvIG1lc3NhZ2VEYXRhID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoZ2xvYmFs
T2JqZWN0LCBtZXNzYWdlVmFsdWUsIFdURk1vdmUob3B0aW9ucy50cmFuc2ZlciksIHBvcnRzLCBT
ZXJpYWxpemF0aW9uQ29udGV4dDo6V29ya2VyUG9zdE1lc3NhZ2UpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmgKaW5kZXggMGZi
ZmNhYzNlMDU3ZTcxYWI1NmMzOWZhZTgzYzg4NGY1MTA0OGNlYi4uZmVhMTM5NDFkYThmZDhmOTkx
NmM0MzEyNmZhNDZkNjEyMmM3MThmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5oCkBAIC0yOSw4ICsyOSw4IEBACiAKICNp
bmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlv
bk9yLmgiCi0jaW5jbHVkZSAiUG9zdE1lc3NhZ2VPcHRpb25zLmgiCiAjaW5jbHVkZSAiU2Vydmlj
ZVdvcmtlckNsaWVudERhdGEuaCIKKyNpbmNsdWRlICJTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9u
cy5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0cm9uZy5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CiAKQEAgLTYxLDcgKzYxLDcgQEAgcHVibGljOgogCiAgICAgSWRlbnRpZmll
ciBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLmlkZW50aWZpZXI7IH0KIAotICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IHBvc3RNZXNzYWdlKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6
OkpTVmFsdWUgbWVzc2FnZSwgUG9zdE1lc3NhZ2VPcHRpb25zJiYpOworICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IHBvc3RNZXNzYWdlKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUgbWVz
c2FnZSwgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMmJik7CiAKIHByb3RlY3RlZDoKICAgICBT
ZXJ2aWNlV29ya2VyQ2xpZW50KFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSYsIFNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsCmluZGV4IGUwMTAyZDU5NDNhMzY0ZWI2ZmJkMTM4
MmJmNmYyODQyYjhkY2RlMzEuLjRiNDBiMTJhZDg2MTk2ZTMwMDQ3YTllMjZiNzRhOTEyZTI3NjYy
YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyQ2xpZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNsaWVudC5pZGwKQEAgLTM2LDcgKzM2LDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGlkOwogCiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gdW5kZWZpbmVk
IHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyKTsKLSAg
ICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3Nh
Z2UsIG9wdGlvbmFsIFBvc3RNZXNzYWdlT3B0aW9ucyBvcHRpb25zKTsKKyAgICBbQ2FsbFdpdGg9
R2xvYmFsT2JqZWN0XSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFs
IFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zIG9wdGlvbnMpOwogfTsKIAogZW51bSBGcmFtZVR5
cGUgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYWNlOGQ5ZWNlMWVlNTJlNDY5
OWEzY2JkMTlkNjk0MmI1OThmMTMzNi4uYTgxYTcwZTBkZmRkMTA1YWNlNmE5YjBlMTQ4N2U4NmM4
YTk5ZjUzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMjEtMDgtMzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBJ
bXBsZW1lbnQgc2VsZi5zdHJ1Y3R1cmVkQ2xvbmUoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MzMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84
MTQ2ODM3ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbXBvcnQgbGF5b3V0IHRlc3QgY292ZXJhZ2UgZnJvbSBXUFQuCisKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJl
ZC1jbG9uZS5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5h
bnkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBw
YXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3N0cnVjdHVyZWQtY2xvbmUuYW55LmpzOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xv
bmUvc3RydWN0dXJlZC1jbG9uZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25l
L3N0cnVjdHVyZWQtY2xvbmUuYW55Lndvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvdzNjLWltcG9y
dC5sb2c6CisKIDIwMjEtMDgtMzAgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0
cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3Ry
dWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNsb25lLmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2MyZTA5Yjk2ZGM3Y2RhYjBhM2VkYzI2MGE2YWU1ZDZjNzBjZTc5YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93
ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5hbnktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTI0IEBACisKK1BBU1MgcHJpbWl0aXZlIHVuZGVmaW5lZAorUEFTUyBw
cmltaXRpdmUgbnVsbAorUEFTUyBwcmltaXRpdmUgdHJ1ZQorUEFTUyBwcmltaXRpdmUgZmFsc2UK
K1BBU1MgcHJpbWl0aXZlIHN0cmluZywgZW1wdHkgc3RyaW5nCitQQVNTIHByaW1pdGl2ZSBzdHJp
bmcsIGxvbmUgaGlnaCBzdXJyb2dhdGUKK1BBU1MgcHJpbWl0aXZlIHN0cmluZywgbG9uZSBsb3cg
c3Vycm9nYXRlCitQQVNTIHByaW1pdGl2ZSBzdHJpbmcsIE5VTAorUEFTUyBwcmltaXRpdmUgc3Ry
aW5nLCBhc3RyYWwgY2hhcmFjdGVyCitQQVNTIHByaW1pdGl2ZSBudW1iZXIsIDAuMgorUEFTUyBw
cmltaXRpdmUgbnVtYmVyLCAwCitQQVNTIHByaW1pdGl2ZSBudW1iZXIsIC0wCitQQVNTIHByaW1p
dGl2ZSBudW1iZXIsIE5hTgorUEFTUyBwcmltaXRpdmUgbnVtYmVyLCBJbmZpbml0eQorUEFTUyBw
cmltaXRpdmUgbnVtYmVyLCAtSW5maW5pdHkKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgOTAwNzE5
OTI1NDc0MDk5MgorUEFTUyBwcmltaXRpdmUgbnVtYmVyLCAtOTAwNzE5OTI1NDc0MDk5MgorUEFT
UyBwcmltaXRpdmUgbnVtYmVyLCA5MDA3MTk5MjU0NzQwOTk0CitQQVNTIHByaW1pdGl2ZSBudW1i
ZXIsIC05MDA3MTk5MjU0NzQwOTk0CitQQVNTIHByaW1pdGl2ZSBCaWdJbnQsIDBuCitQQVNTIHBy
aW1pdGl2ZSBCaWdJbnQsIC0wbgorUEFTUyBwcmltaXRpdmUgQmlnSW50LCAtOTAwNzE5OTI1NDc0
MDk5NDAwMG4KK1BBU1MgcHJpbWl0aXZlIEJpZ0ludCwgLTkwMDcxOTkyNTQ3NDA5OTQwMDA5MDA3
MTk5MjU0NzQwOTk0MDAwOTAwNzE5OTI1NDc0MDk5NDAwMDkwMDcxOTkyNTQ3NDA5OTQwMDBuCitQ
QVNTIEFycmF5IHByaW1pdGl2ZXMKK1BBU1MgT2JqZWN0IHByaW1pdGl2ZXMKK1BBU1MgQm9vbGVh
biB0cnVlCitQQVNTIEJvb2xlYW4gZmFsc2UKK1BBU1MgQXJyYXkgQm9vbGVhbiBvYmplY3RzCitQ
QVNTIE9iamVjdCBCb29sZWFuIG9iamVjdHMKK1BBU1MgU3RyaW5nIGVtcHR5IHN0cmluZworUEFT
UyBTdHJpbmcgbG9uZSBoaWdoIHN1cnJvZ2F0ZQorUEFTUyBTdHJpbmcgbG9uZSBsb3cgc3Vycm9n
YXRlCitQQVNTIFN0cmluZyBOVUwKK1BBU1MgU3RyaW5nIGFzdHJhbCBjaGFyYWN0ZXIKK1BBU1Mg
QXJyYXkgU3RyaW5nIG9iamVjdHMKK1BBU1MgT2JqZWN0IFN0cmluZyBvYmplY3RzCitQQVNTIE51
bWJlciAwLjIKK1BBU1MgTnVtYmVyIDAKK1BBU1MgTnVtYmVyIC0wCitQQVNTIE51bWJlciBOYU4K
K1BBU1MgTnVtYmVyIEluZmluaXR5CitQQVNTIE51bWJlciAtSW5maW5pdHkKK1BBU1MgTnVtYmVy
IDkwMDcxOTkyNTQ3NDA5OTIKK1BBU1MgTnVtYmVyIC05MDA3MTk5MjU0NzQwOTkyCitQQVNTIE51
bWJlciA5MDA3MTk5MjU0NzQwOTk0CitQQVNTIE51bWJlciAtOTAwNzE5OTI1NDc0MDk5NAorUEFT
UyBCaWdJbnQgLTkwMDcxOTkyNTQ3NDA5OTRuCitQQVNTIEFycmF5IE51bWJlciBvYmplY3RzCitQ
QVNTIE9iamVjdCBOdW1iZXIgb2JqZWN0cworUEFTUyBEYXRlIDAKK1BBU1MgRGF0ZSAtMAorUEFT
UyBEYXRlIC04LjY0ZTE1CitQQVNTIERhdGUgOC42NGUxNQorUEFTUyBBcnJheSBEYXRlIG9iamVj
dHMKK1BBU1MgT2JqZWN0IERhdGUgb2JqZWN0cworUEFTUyBSZWdFeHAgZmxhZ3MgYW5kIGxhc3RJ
bmRleAorUEFTUyBSZWdFeHAgc3RpY2t5IGZsYWcKK1BBU1MgUmVnRXhwIHVuaWNvZGUgZmxhZwor
UEFTUyBSZWdFeHAgZW1wdHkKK1BBU1MgUmVnRXhwIHNsYXNoCitQQVNTIFJlZ0V4cCBuZXcgbGlu
ZQorUEFTUyBBcnJheSBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgZmxhZ3MgYW5kIGxhc3RJbmRleAor
UEFTUyBBcnJheSBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgc3RpY2t5IGZsYWcKK1BBU1MgQXJyYXkg
UmVnRXhwIG9iamVjdCwgUmVnRXhwIHVuaWNvZGUgZmxhZworUEFTUyBBcnJheSBSZWdFeHAgb2Jq
ZWN0LCBSZWdFeHAgZW1wdHkKK1BBU1MgQXJyYXkgUmVnRXhwIG9iamVjdCwgUmVnRXhwIHNsYXNo
CitQQVNTIEFycmF5IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBuZXcgbGluZQorUEFTUyBPYmplY3Qg
UmVnRXhwIG9iamVjdCwgUmVnRXhwIGZsYWdzIGFuZCBsYXN0SW5kZXgKK1BBU1MgT2JqZWN0IFJl
Z0V4cCBvYmplY3QsIFJlZ0V4cCBzdGlja3kgZmxhZworUEFTUyBPYmplY3QgUmVnRXhwIG9iamVj
dCwgUmVnRXhwIHVuaWNvZGUgZmxhZworUEFTUyBPYmplY3QgUmVnRXhwIG9iamVjdCwgUmVnRXhw
IGVtcHR5CitQQVNTIE9iamVjdCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgc2xhc2gKK1BBU1MgT2Jq
ZWN0IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBuZXcgbGluZQorUEFTUyBCbG9iIGJhc2ljCitQQVNT
IEJsb2IgdW5wYWlyZWQgaGlnaCBzdXJyb2dhdGUgKGludmFsaWQgdXRmLTgpCitQQVNTIEJsb2Ig
dW5wYWlyZWQgbG93IHN1cnJvZ2F0ZSAoaW52YWxpZCB1dGYtOCkKK1BBU1MgQmxvYiBwYWlyZWQg
c3Vycm9nYXRlcyAoaW52YWxpZCB1dGYtOCkKK1BBU1MgQmxvYiBlbXB0eQorUEFTUyBCbG9iIE5V
TAorUEFTUyBBcnJheSBCbG9iIG9iamVjdCwgQmxvYiBiYXNpYworUEFTUyBBcnJheSBCbG9iIG9i
amVjdCwgQmxvYiB1bnBhaXJlZCBoaWdoIHN1cnJvZ2F0ZSAoaW52YWxpZCB1dGYtOCkKK1BBU1Mg
QXJyYXkgQmxvYiBvYmplY3QsIEJsb2IgdW5wYWlyZWQgbG93IHN1cnJvZ2F0ZSAoaW52YWxpZCB1
dGYtOCkKK1BBU1MgQXJyYXkgQmxvYiBvYmplY3QsIEJsb2IgcGFpcmVkIHN1cnJvZ2F0ZXMgKGlu
dmFsaWQgdXRmLTgpCitQQVNTIEFycmF5IEJsb2Igb2JqZWN0LCBCbG9iIGVtcHR5CitQQVNTIEFy
cmF5IEJsb2Igb2JqZWN0LCBCbG9iIE5VTAorUEFTUyBBcnJheSBCbG9iIG9iamVjdCwgdHdvIEJs
b2JzCitQQVNTIE9iamVjdCBCbG9iIG9iamVjdCwgQmxvYiBiYXNpYworUEFTUyBPYmplY3QgQmxv
YiBvYmplY3QsIEJsb2IgdW5wYWlyZWQgaGlnaCBzdXJyb2dhdGUgKGludmFsaWQgdXRmLTgpCitQ
QVNTIE9iamVjdCBCbG9iIG9iamVjdCwgQmxvYiB1bnBhaXJlZCBsb3cgc3Vycm9nYXRlIChpbnZh
bGlkIHV0Zi04KQorUEFTUyBPYmplY3QgQmxvYiBvYmplY3QsIEJsb2IgcGFpcmVkIHN1cnJvZ2F0
ZXMgKGludmFsaWQgdXRmLTgpCitQQVNTIE9iamVjdCBCbG9iIG9iamVjdCwgQmxvYiBlbXB0eQor
UEFTUyBPYmplY3QgQmxvYiBvYmplY3QsIEJsb2IgTlVMCitQQVNTIEZpbGUgYmFzaWMKK1BBU1Mg
RmlsZUxpc3QgZW1wdHkKK1BBU1MgQXJyYXkgRmlsZUxpc3Qgb2JqZWN0LCBGaWxlTGlzdCBlbXB0
eQorUEFTUyBPYmplY3QgRmlsZUxpc3Qgb2JqZWN0LCBGaWxlTGlzdCBlbXB0eQorUEFTUyBJbWFn
ZURhdGEgMXgxIHRyYW5zcGFyZW50IGJsYWNrCitQQVNTIEltYWdlRGF0YSAxeDEgbm9uLXRyYW5z
cGFyZW50IG5vbi1ibGFjaworUEFTUyBBcnJheSBJbWFnZURhdGEgb2JqZWN0LCBJbWFnZURhdGEg
MXgxIHRyYW5zcGFyZW50IGJsYWNrCitQQVNTIEFycmF5IEltYWdlRGF0YSBvYmplY3QsIEltYWdl
RGF0YSAxeDEgbm9uLXRyYW5zcGFyZW50IG5vbi1ibGFjaworUEFTUyBPYmplY3QgSW1hZ2VEYXRh
IG9iamVjdCwgSW1hZ2VEYXRhIDF4MSB0cmFuc3BhcmVudCBibGFjaworUEFTUyBPYmplY3QgSW1h
Z2VEYXRhIG9iamVjdCwgSW1hZ2VEYXRhIDF4MSBub24tdHJhbnNwYXJlbnQgbm9uLWJsYWNrCitQ
QVNTIEFycmF5IHNwYXJzZQorUEFTUyBBcnJheSB3aXRoIG5vbi1pbmRleCBwcm9wZXJ0eQorUEFT
UyBPYmplY3Qgd2l0aCBpbmRleCBwcm9wZXJ0eSBhbmQgbGVuZ3RoCitQQVNTIEFycmF5IHdpdGgg
Y2lyY3VsYXIgcmVmZXJlbmNlCitQQVNTIE9iamVjdCB3aXRoIGNpcmN1bGFyIHJlZmVyZW5jZQor
UEFTUyBBcnJheSB3aXRoIGlkZW50aWNhbCBwcm9wZXJ0eSB2YWx1ZXMKK1BBU1MgT2JqZWN0IHdp
dGggaWRlbnRpY2FsIHByb3BlcnR5IHZhbHVlcworUEFTUyBPYmplY3Qgd2l0aCBwcm9wZXJ0eSBv
biBwcm90b3R5cGUKK1BBU1MgT2JqZWN0IHdpdGggbm9uLWVudW1lcmFibGUgcHJvcGVydHkKK1BB
U1MgT2JqZWN0IHdpdGggbm9uLXdyaXRhYmxlIHByb3BlcnR5CitQQVNTIE9iamVjdCB3aXRoIG5v
bi1jb25maWd1cmFibGUgcHJvcGVydHkKK1BBU1MgSW1hZ2VCaXRtYXAgMXgxIHRyYW5zcGFyZW50
IGJsYWNrCitQQVNTIEltYWdlQml0bWFwIDF4MSBub24tdHJhbnNwYXJlbnQgbm9uLWJsYWNrCitQ
QVNTIEFycmF5IEltYWdlQml0bWFwIG9iamVjdCwgSW1hZ2VCaXRtYXAgMXgxIHRyYW5zcGFyZW50
IGJsYWNrCitQQVNTIEFycmF5IEltYWdlQml0bWFwIG9iamVjdCwgSW1hZ2VCaXRtYXAgMXgxIHRy
YW5zcGFyZW50IG5vbi1ibGFjaworUEFTUyBPYmplY3QgSW1hZ2VCaXRtYXAgb2JqZWN0LCBJbWFn
ZUJpdG1hcCAxeDEgdHJhbnNwYXJlbnQgYmxhY2sKK1BBU1MgT2JqZWN0IEltYWdlQml0bWFwIG9i
amVjdCwgSW1hZ2VCaXRtYXAgMXgxIHRyYW5zcGFyZW50IG5vbi1ibGFjaworRkFJTCBPYmplY3RQ
cm90b3R5cGUgbXVzdCBsb3NlIGl0cyBleG90aWMtbmVzcyB3aGVuIGNsb25lZCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJv
cjogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCitQQVNTIEFycmF5QnVmZmVyCitQQVNT
IE1lc3NhZ2VQb3J0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJl
ZC1jbG9uZS5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5h
bnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0
OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNs
b25lLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZv
ciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0t
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQt
Y2xvbmUvc3RydWN0dXJlZC1jbG9uZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3N0cnVj
dHVyZWQtY2xvbmUuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0Zjk2ZjMzZmRmODgxMjdhMWM2ZDA2Njc4
MWY3YWI1Yjg4NGI3NDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3N0
cnVjdHVyZWQtY2xvbmUuYW55LmpzCkBAIC0wLDAgKzEsOSBAQAorLy8gTUVUQTogdGl0bGU9c3Ry
dWN0dXJlZENsb25lKCkgdGVzdHMKKy8vIE1FVEE6IHNjcmlwdD0vaHRtbC93ZWJhcHBhcGlzL3N0
cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS1iYXR0ZXJ5LW9mLXRlc3RzLmpzCisvLyBN
RVRBOiBzY3JpcHQ9L2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3N0cnVjdHVyZWQt
Y2xvbmUtYmF0dGVyeS1vZi10ZXN0cy13aXRoLXRyYW5zZmVyYWJsZXMuanMKKy8vIE1FVEE6IHNj
cmlwdD0vaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS1i
YXR0ZXJ5LW9mLXRlc3RzLWhhcm5lc3MuanMKKworcnVuU3RydWN0dXJlZENsb25lQmF0dGVyeU9m
VGVzdHMoeworICBzdHJ1Y3R1cmVkQ2xvbmU6IChvYmosIHRyYW5zZmVyKSA9PiBzZWxmLnN0cnVj
dHVyZWRDbG9uZShvYmosIHsgdHJhbnNmZXIgfSksCisgIGhhc0RvY3VtZW50OiB0eXBlb2YgZG9j
dW1lbnQgIT09ICJ1bmRlZmluZWQiLAorfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNs
b25lL3N0cnVjdHVyZWQtY2xvbmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1
cmVkLWNsb25lL3N0cnVjdHVyZWQtY2xvbmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDc2MjY0ZWFmMmYwNGFlZDI4NTgzM2FkZWM0OTk4ZTExM2QzZGEzYwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwOSBAQAorCitQQVNTIHByaW1pdGl2ZSB1bmRlZmlu
ZWQKK1BBU1MgcHJpbWl0aXZlIG51bGwKK1BBU1MgcHJpbWl0aXZlIHRydWUKK1BBU1MgcHJpbWl0
aXZlIGZhbHNlCitQQVNTIHByaW1pdGl2ZSBzdHJpbmcsIGVtcHR5IHN0cmluZworUEFTUyBwcmlt
aXRpdmUgc3RyaW5nLCBsb25lIGhpZ2ggc3Vycm9nYXRlCitQQVNTIHByaW1pdGl2ZSBzdHJpbmcs
IGxvbmUgbG93IHN1cnJvZ2F0ZQorUEFTUyBwcmltaXRpdmUgc3RyaW5nLCBOVUwKK1BBU1MgcHJp
bWl0aXZlIHN0cmluZywgYXN0cmFsIGNoYXJhY3RlcgorUEFTUyBwcmltaXRpdmUgbnVtYmVyLCAw
LjIKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgMAorUEFTUyBwcmltaXRpdmUgbnVtYmVyLCAtMAor
UEFTUyBwcmltaXRpdmUgbnVtYmVyLCBOYU4KK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgSW5maW5p
dHkKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgLUluZmluaXR5CitQQVNTIHByaW1pdGl2ZSBudW1i
ZXIsIDkwMDcxOTkyNTQ3NDA5OTIKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgLTkwMDcxOTkyNTQ3
NDA5OTIKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgOTAwNzE5OTI1NDc0MDk5NAorUEFTUyBwcmlt
aXRpdmUgbnVtYmVyLCAtOTAwNzE5OTI1NDc0MDk5NAorUEFTUyBwcmltaXRpdmUgQmlnSW50LCAw
bgorUEFTUyBwcmltaXRpdmUgQmlnSW50LCAtMG4KK1BBU1MgcHJpbWl0aXZlIEJpZ0ludCwgLTkw
MDcxOTkyNTQ3NDA5OTQwMDBuCitQQVNTIHByaW1pdGl2ZSBCaWdJbnQsIC05MDA3MTk5MjU0NzQw
OTk0MDAwOTAwNzE5OTI1NDc0MDk5NDAwMDkwMDcxOTkyNTQ3NDA5OTQwMDA5MDA3MTk5MjU0NzQw
OTk0MDAwbgorUEFTUyBBcnJheSBwcmltaXRpdmVzCitQQVNTIE9iamVjdCBwcmltaXRpdmVzCitQ
QVNTIEJvb2xlYW4gdHJ1ZQorUEFTUyBCb29sZWFuIGZhbHNlCitQQVNTIEFycmF5IEJvb2xlYW4g
b2JqZWN0cworUEFTUyBPYmplY3QgQm9vbGVhbiBvYmplY3RzCitQQVNTIFN0cmluZyBlbXB0eSBz
dHJpbmcKK1BBU1MgU3RyaW5nIGxvbmUgaGlnaCBzdXJyb2dhdGUKK1BBU1MgU3RyaW5nIGxvbmUg
bG93IHN1cnJvZ2F0ZQorUEFTUyBTdHJpbmcgTlVMCitQQVNTIFN0cmluZyBhc3RyYWwgY2hhcmFj
dGVyCitQQVNTIEFycmF5IFN0cmluZyBvYmplY3RzCitQQVNTIE9iamVjdCBTdHJpbmcgb2JqZWN0
cworUEFTUyBOdW1iZXIgMC4yCitQQVNTIE51bWJlciAwCitQQVNTIE51bWJlciAtMAorUEFTUyBO
dW1iZXIgTmFOCitQQVNTIE51bWJlciBJbmZpbml0eQorUEFTUyBOdW1iZXIgLUluZmluaXR5CitQ
QVNTIE51bWJlciA5MDA3MTk5MjU0NzQwOTkyCitQQVNTIE51bWJlciAtOTAwNzE5OTI1NDc0MDk5
MgorUEFTUyBOdW1iZXIgOTAwNzE5OTI1NDc0MDk5NAorUEFTUyBOdW1iZXIgLTkwMDcxOTkyNTQ3
NDA5OTQKK1BBU1MgQmlnSW50IC05MDA3MTk5MjU0NzQwOTk0bgorUEFTUyBBcnJheSBOdW1iZXIg
b2JqZWN0cworUEFTUyBPYmplY3QgTnVtYmVyIG9iamVjdHMKK1BBU1MgRGF0ZSAwCitQQVNTIERh
dGUgLTAKK1BBU1MgRGF0ZSAtOC42NGUxNQorUEFTUyBEYXRlIDguNjRlMTUKK1BBU1MgQXJyYXkg
RGF0ZSBvYmplY3RzCitQQVNTIE9iamVjdCBEYXRlIG9iamVjdHMKK1BBU1MgUmVnRXhwIGZsYWdz
IGFuZCBsYXN0SW5kZXgKK1BBU1MgUmVnRXhwIHN0aWNreSBmbGFnCitQQVNTIFJlZ0V4cCB1bmlj
b2RlIGZsYWcKK1BBU1MgUmVnRXhwIGVtcHR5CitQQVNTIFJlZ0V4cCBzbGFzaAorUEFTUyBSZWdF
eHAgbmV3IGxpbmUKK1BBU1MgQXJyYXkgUmVnRXhwIG9iamVjdCwgUmVnRXhwIGZsYWdzIGFuZCBs
YXN0SW5kZXgKK1BBU1MgQXJyYXkgUmVnRXhwIG9iamVjdCwgUmVnRXhwIHN0aWNreSBmbGFnCitQ
QVNTIEFycmF5IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCB1bmljb2RlIGZsYWcKK1BBU1MgQXJyYXkg
UmVnRXhwIG9iamVjdCwgUmVnRXhwIGVtcHR5CitQQVNTIEFycmF5IFJlZ0V4cCBvYmplY3QsIFJl
Z0V4cCBzbGFzaAorUEFTUyBBcnJheSBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgbmV3IGxpbmUKK1BB
U1MgT2JqZWN0IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBmbGFncyBhbmQgbGFzdEluZGV4CitQQVNT
IE9iamVjdCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgc3RpY2t5IGZsYWcKK1BBU1MgT2JqZWN0IFJl
Z0V4cCBvYmplY3QsIFJlZ0V4cCB1bmljb2RlIGZsYWcKK1BBU1MgT2JqZWN0IFJlZ0V4cCBvYmpl
Y3QsIFJlZ0V4cCBlbXB0eQorUEFTUyBPYmplY3QgUmVnRXhwIG9iamVjdCwgUmVnRXhwIHNsYXNo
CitQQVNTIE9iamVjdCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgbmV3IGxpbmUKK1BBU1MgQmxvYiBi
YXNpYworUEFTUyBCbG9iIHVucGFpcmVkIGhpZ2ggc3Vycm9nYXRlIChpbnZhbGlkIHV0Zi04KQor
UEFTUyBCbG9iIHVucGFpcmVkIGxvdyBzdXJyb2dhdGUgKGludmFsaWQgdXRmLTgpCitQQVNTIEJs
b2IgcGFpcmVkIHN1cnJvZ2F0ZXMgKGludmFsaWQgdXRmLTgpCitQQVNTIEJsb2IgZW1wdHkKK1BB
U1MgQmxvYiBOVUwKK1BBU1MgQXJyYXkgQmxvYiBvYmplY3QsIEJsb2IgYmFzaWMKK1BBU1MgQXJy
YXkgQmxvYiBvYmplY3QsIEJsb2IgdW5wYWlyZWQgaGlnaCBzdXJyb2dhdGUgKGludmFsaWQgdXRm
LTgpCitQQVNTIEFycmF5IEJsb2Igb2JqZWN0LCBCbG9iIHVucGFpcmVkIGxvdyBzdXJyb2dhdGUg
KGludmFsaWQgdXRmLTgpCitQQVNTIEFycmF5IEJsb2Igb2JqZWN0LCBCbG9iIHBhaXJlZCBzdXJy
b2dhdGVzIChpbnZhbGlkIHV0Zi04KQorUEFTUyBBcnJheSBCbG9iIG9iamVjdCwgQmxvYiBlbXB0
eQorUEFTUyBBcnJheSBCbG9iIG9iamVjdCwgQmxvYiBOVUwKK1BBU1MgQXJyYXkgQmxvYiBvYmpl
Y3QsIHR3byBCbG9icworUEFTUyBPYmplY3QgQmxvYiBvYmplY3QsIEJsb2IgYmFzaWMKK1BBU1Mg
T2JqZWN0IEJsb2Igb2JqZWN0LCBCbG9iIHVucGFpcmVkIGhpZ2ggc3Vycm9nYXRlIChpbnZhbGlk
IHV0Zi04KQorUEFTUyBPYmplY3QgQmxvYiBvYmplY3QsIEJsb2IgdW5wYWlyZWQgbG93IHN1cnJv
Z2F0ZSAoaW52YWxpZCB1dGYtOCkKK1BBU1MgT2JqZWN0IEJsb2Igb2JqZWN0LCBCbG9iIHBhaXJl
ZCBzdXJyb2dhdGVzIChpbnZhbGlkIHV0Zi04KQorUEFTUyBPYmplY3QgQmxvYiBvYmplY3QsIEJs
b2IgZW1wdHkKK1BBU1MgT2JqZWN0IEJsb2Igb2JqZWN0LCBCbG9iIE5VTAorUEFTUyBGaWxlIGJh
c2ljCitQQVNTIEFycmF5IHNwYXJzZQorUEFTUyBBcnJheSB3aXRoIG5vbi1pbmRleCBwcm9wZXJ0
eQorUEFTUyBPYmplY3Qgd2l0aCBpbmRleCBwcm9wZXJ0eSBhbmQgbGVuZ3RoCitQQVNTIEFycmF5
IHdpdGggY2lyY3VsYXIgcmVmZXJlbmNlCitQQVNTIE9iamVjdCB3aXRoIGNpcmN1bGFyIHJlZmVy
ZW5jZQorUEFTUyBBcnJheSB3aXRoIGlkZW50aWNhbCBwcm9wZXJ0eSB2YWx1ZXMKK1BBU1MgT2Jq
ZWN0IHdpdGggaWRlbnRpY2FsIHByb3BlcnR5IHZhbHVlcworUEFTUyBPYmplY3Qgd2l0aCBwcm9w
ZXJ0eSBvbiBwcm90b3R5cGUKK1BBU1MgT2JqZWN0IHdpdGggbm9uLWVudW1lcmFibGUgcHJvcGVy
dHkKK1BBU1MgT2JqZWN0IHdpdGggbm9uLXdyaXRhYmxlIHByb3BlcnR5CitQQVNTIE9iamVjdCB3
aXRoIG5vbi1jb25maWd1cmFibGUgcHJvcGVydHkKK0ZBSUwgT2JqZWN0UHJvdG90eXBlIG11c3Qg
bG9zZSBpdHMgZXhvdGljLW5lc3Mgd2hlbiBjbG9uZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3I6IFRoZSBvYmplY3Qg
Y2FuIG5vdCBiZSBjbG9uZWQuIgorUEFTUyBBcnJheUJ1ZmZlcgorUEFTUyBNZXNzYWdlUG9ydAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3N0cnVjdHVyZWQtY2xvbmUuYW55Lndv
cmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNsb25lLmFueS53b3Jr
ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0
OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNs
b25lLmFueS53b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1
aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQg
dGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1
Y3R1cmVkLWNsb25lL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS93M2MtaW1w
b3J0LmxvZwppbmRleCAwOGNjOTYyMDFkYTZiYzI0ZGFiZWQ0MDMxMmZlZWUxNDk4YTlhMWE5Li4x
YWZkYjhjNmRmNzBmNDg2OGU3YmI1NmQzN2I1ODAxN2E2MTE5YzEyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9z
dHJ1Y3R1cmVkLWNsb25lL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUv
dzNjLWltcG9ydC5sb2cKQEAgLTE3LDMgKzE3LDQgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1
Y3R1cmVkLWNsb25lL3N0cnVjdHVyZWQtY2xvbmUtYmF0dGVyeS1vZi10ZXN0cy1oYXJuZXNzLmpz
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFw
cGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNsb25lLWJhdHRlcnktb2YtdGVzdHMt
d2l0aC10cmFuc2ZlcmFibGVzLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNs
b25lLWJhdHRlcnktb2YtdGVzdHMuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3N0cnVjdHVyZWQt
Y2xvbmUuYW55LmpzCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436883</attachid>
            <date>2021-08-31 08:02:46 -0700</date>
            <delta_ts>2021-08-31 09:52:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228331-20210831080245.patch</filename>
            <type>text/plain</type>
            <size>70300</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmU3ZThkYTYyYTdlZDhj
ZmM4N2QwNGZlNmQ3MTkxZWY0ZTM2YjkxZC4uZGQ3MWUzMjNhMGQwMTFkNWM3MDM0ZjFlYWFiNDQ1
ZGM1NWZkNGVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIxLTA4LTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHNlbGYuc3Ry
dWN0dXJlZENsb25lKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyODMzMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODE0NjgzNzQ+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIEltcGxlbWVudCBzZWxmLnN0
cnVjdHVyZWRDbG9uZSgpIGFzIHBlcjoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnLyNkb20tc3RydWN0dXJlZGNsb25lCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3Ry
dWN0dXJlZC1jbG9uZS5hbnkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVk
LWNsb25lLmFueS53b3JrZXIuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtl
OgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9N
ZXNzYWdlUG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZXNzYWdlUG9ydDo6cG9zdE1lc3Nh
Z2UpOgorICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydC5oOgorICAgICAgICAqIGRvbS9NZXNzYWdl
UG9ydC5pZGw6CisgICAgICAgICogcGFnZS9CYXNlNjRVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBw
YWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAoV2ViQ29yZTo6V2luZG93UG9zdE1lc3NhZ2VPcHRp
b25zOjpXaW5kb3dQb3N0TWVzc2FnZU9wdGlvbnMpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
LmlkbDoKKyAgICAgICAgKiBwYWdlL1N0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zLmg6IFJlbmFt
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc3RNZXNzYWdlT3B0aW9ucy5oLgorICAgICAg
ICAoV2ViQ29yZTo6U3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnM6OlN0cnVjdHVyZWRTZXJpYWxp
emVPcHRpb25zKToKKyAgICAgICAgKiBwYWdlL1N0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zLmlk
bDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUG9zdE1lc3NhZ2VPcHRpb25zLmlk
bC4KKyAgICAgICAgKiBwYWdlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuY3BwOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5o
LgorICAgICAgICAoV2ViQ29yZTo6V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZTo6cmVwb3J0RXJy
b3IpOgorICAgICAgICAoV2ViQ29yZTo6V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZTo6c3RydWN0
dXJlZENsb25lKToKKyAgICAgICAgKiBwYWdlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9CYXNlNjRVdGlsaXRpZXMuaC4KKyAgICAg
ICAgKFdlYkNvcmU6OldpbmRvd09yV29ya2VyR2xvYmFsU2NvcGU6OnN0cnVjdHVyZWRDbG9uZSk6
CisgICAgICAgICogcGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmlkbDoKKyAgICAgICAg
KiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpwb3N0TWVzc2FnZSk6CisgICAgICAgICog
d29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMv
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlcjo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaWRsOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyOjpw
b3N0TWVzc2FnZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaDoK
KyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5pZGw6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2VydmljZVdvcmtlckNsaWVudDo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAqIHdvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50Lmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsOgorCiAyMDIxLTA4LTMxICBBbGFuIEJ1anRhcyAgPHph
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gTWFrZSBuYW1pbmcg
bW9yZSBjb25zaXN0ZW50IGFjcm9zcyBMYXlvdXQ6OlJ1biBhbmQgSW50ZWdyYXRpb246OlJ1biBz
dHJ1Y3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGU1OGFiZjJhM2Q0ZDJkZWIwNmQ3MTY2ZWYx
MzljMzc3NTY5ZGE1YmMuLjY5MTE1NDM0ZGEzY2I5ZmZkNmU1YWZiMTc3MmVhZjE4YTVmNTBmOGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMDg5LDcgKzEwODksNiBAQCBzZXQoV2ViQ29yZV9O
T05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwK
ICAgICBwYWdlL1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFu
Y2VUaW1pbmcuaWRsCi0gICAgcGFnZS9Qb3N0TWVzc2FnZU9wdGlvbnMuaWRsCiAgICAgcGFnZS9S
ZW1vdGVET01XaW5kb3cuaWRsCiAgICAgcGFnZS9SZXNpemVPYnNlcnZlci5pZGwKICAgICBwYWdl
L1Jlc2l6ZU9ic2VydmVyQ2FsbGJhY2suaWRsCkBAIC0xMTAxLDYgKzExMDAsNyBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvU2Nyb2xsT3B0aW9ucy5pZGwKICAgICBw
YWdlL1Njcm9sbFRvT3B0aW9ucy5pZGwKICAgICBwYWdlL1NoYXJlRGF0YS5pZGwKKyAgICBwYWdl
L1N0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zLmlkbAogICAgIHBhZ2UvVW5kb0l0ZW0uaWRsCiAg
ICAgcGFnZS9VbmRvTWFuYWdlci5pZGwKICAgICBwYWdlL1Zpc3VhbFZpZXdwb3J0LmlkbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggNTU1
ODAyNjY0OWMxZjNkMDVlY2I0NTM0N2QxNTQ0ZDRlZWU5OWQ2ZC4uZTJkMTEwYjg1ZWVjNDdiMWI2
YTg2YjAxOTg5ZDFkNzljYzM4MDY4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMTc3LDYgKzExNzcsNyBAQCAkKFBST0pFQ1RfRElS
KS9wYWdlL1Njcm9sbE9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1Njcm9sbFRvT3B0
aW9ucy5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvU2V0dGluZ3MueWFtbAogJChQUk9KRUNUX0RJ
UikvcGFnZS9TaGFyZURhdGEuaWRsCiskKFBST0pFQ1RfRElSKS9wYWdlL1N0cnVjdHVyZWRTZXJp
YWxpemVPcHRpb25zLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9VbmRvSXRlbS5pZGwKICQoUFJP
SkVDVF9ESVIpL3BhZ2UvVW5kb01hbmFnZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1VzZXJN
ZXNzYWdlSGFuZGxlci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QKaW5kZXggNjRiNzFkYzQ3YmRjZDYzMTNiZjAzMGQwNGE4MGUzNjJiYWQ4
NzU1Yi4uZGQ0Nzg3ZmY3N2E4OTgwMDEzNjY3YmU2ODU3NmExNGEwMTg2MDA4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTIyMDEs
NiArMjIwMSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTU3RvcmFnZUV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNTdG9yYWdlRXZlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNTdHJpbmdDYWxsYmFjay5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3RyaW5nQ2FsbGJhY2suaAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0
aW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
U3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHlsZU1lZGlhLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTdHlsZU1lZGlhLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU3R5bGVQcm9wZXJ0eU1hcC5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGZiMDk0MzA2NWY3Mzg0MTlkNGU0ZTc2YWQ2Nzgy
N2I5ZDVhNmQzZmYuLmFiZjE3YjcyZGM3YTg1MTg2NjBiMjk1NzFiNzBhYTM5NzBhNjc1NDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTAxMiw3ICsxMDEyLDYgQEAgSlNfQklO
RElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVNlcnZlclRpbWluZy5p
ZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXAotICAgICQo
V2ViQ29yZSkvcGFnZS9Qb3N0TWVzc2FnZU9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Bh
Z2UvUmVtb3RlRE9NV2luZG93LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1Jlc2l6ZU9ic2Vy
dmVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1Jlc2l6ZU9ic2VydmVyQ2FsbGJhY2suaWRs
IFwKQEAgLTEwMjQsNiArMTAyMyw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJD
b3JlKS9wYWdlL1Njcm9sbE9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvU2Nyb2xs
VG9PcHRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1NoYXJlRGF0YS5pZGwgXAorICAg
ICQoV2ViQ29yZSkvcGFnZS9TdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5pZGwgXAogICAgICQo
V2ViQ29yZSkvcGFnZS9VbmRvSXRlbS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9VbmRvTWFu
YWdlci5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXIuaWRsIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9IZWFkZXJzLmNtYWtlCmluZGV4IDc2Y2UwYzY2MWZlZTgzMGQxNzZlMzYxZjU3OTg3MzVjN2Fl
MWUwY2UuLmY2OGRjN2U0YWVlZTA5YzQyNTg5MWVmNmNkZWZkOTE0NTA1NTExZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZQpAQCAtOTM1LDcgKzkzNSw2IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVX
T1JLX0hFQURFUlMKICAgICBwYWdlL1BvaW50ZXJDYXB0dXJlQ29udHJvbGxlci5oCiAgICAgcGFn
ZS9Qb2ludGVyQ2hhcmFjdGVyaXN0aWNzLmgKICAgICBwYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxl
ci5oCi0gICAgcGFnZS9Qb3N0TWVzc2FnZU9wdGlvbnMuaAogICAgIHBhZ2UvUHJld2FybUluZm9y
bWF0aW9uLmgKICAgICBwYWdlL1ByaW50Q29udGV4dC5oCiAgICAgcGFnZS9Qcm9jZXNzV2FybWlu
Zy5oCkBAIC05NjAsNiArOTU5LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVB
REVSUwogICAgIHBhZ2UvU3BlZWNoUmVjb2duaXRpb25Qcm92aWRlci5oCiAgICAgcGFnZS9TcGVl
Y2hTeW50aGVzaXNDbGllbnQuaAogICAgIHBhZ2UvU3RvcmFnZUJsb2NraW5nUG9saWN5LmgKKyAg
ICBwYWdlL1N0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zLmgKICAgICBwYWdlL1N1c3BlbmRhYmxl
VGltZXIuaAogICAgIHBhZ2UvVGV4dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNpb25CZWhhdmlvci5o
CiAgICAgcGFnZS9UZXh0SW5kaWNhdG9yLmgKQEAgLTk4NSw2ICs5ODUsNyBAQCBzZXQoV2ViQ29y
ZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGFnZS9XaGVlbEV2ZW50RGVsdGFGaWx0
ZXIuaAogICAgIHBhZ2UvV2hlZWxFdmVudFRlc3RNb25pdG9yLmgKICAgICBwYWdlL1dpbmRvd0Zl
YXR1cmVzLmgKKyAgICBwYWdlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaAogCiAgICAgcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKICAgICBwYWdlL2NzcC9Db250ZW50U2VjdXJp
dHlQb2xpY3lDbGllbnQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA1M2U1YjdhOTRkMmY5ZGFmNjc1MGQ3
OThiNDU4M2I0OWFkZTAzZGViLi4yNGM1MTVjMDU3YjI0ZjBmMmZmNjEyMjllODRiOTRjNmE1NzY5
YzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTcwNiw2ICsxNzA2LDcgQEAgcGFnZS9XaGVlbEV2ZW50
RGVsdGFGaWx0ZXIuY3BwCiBwYWdlL1doZWVsRXZlbnRUZXN0TW9uaXRvci5jcHAKIHBhZ2UvV2lu
ZG93RmVhdHVyZXMuY3BwCiBwYWdlL1dpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5jcHAKK3Bh
Z2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5jcHAKIHBhZ2UvV29ya2VyTmF2aWdhdG9yLmNw
cAogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAogcGFnZS9jc3AvQ29udGVudFNl
Y3VyaXR5UG9saWN5Q2xpZW50LmNwcApAQCAtMzI5MCw3ICszMjkxLDYgQEAgSlNQb3BTdGF0ZUV2
ZW50LmNwcAogSlNQb3NpdGlvbkNhbGxiYWNrLmNwcAogSlNQb3NpdGlvbkVycm9yQ2FsbGJhY2su
Y3BwCiBKU1Bvc2l0aW9uT3B0aW9ucy5jcHAKLUpTUG9zdE1lc3NhZ2VPcHRpb25zLmNwcAogSlNQ
cmVkZWZpbmVkQ29sb3JTcGFjZS5jcHAKIEpTUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcAogSlNQ
cm9ncmVzc0V2ZW50LmNwcApAQCAtMzU3Myw2ICszNTczLDcgQEAgSlNTdGF0aWNSYW5nZS5jcHAK
IEpTU3RvcmFnZS5jcHAKIEpTU3RvcmFnZUV2ZW50LmNwcAogSlNTdHJpbmdDYWxsYmFjay5jcHAK
K0pTU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuY3BwCiBKU1N0eWxlTWVkaWEuY3BwCiBKU1N0
eWxlUHJvcGVydHlNYXAuY3BwCiBKU1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1
Mzk2YWYwY2M5ZmJlNzc0Njk3ZmQ3ZWVhZTBmNDRlMjZjMDQwMjRlLi44ZjFjM2QzYWVmYjA3NmJj
YmI3MDIwYTU1MWU1ZTI5ZmE0ZWMwNjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjc2LDYgKzEyNzYsNyBAQAogCQk0NThG
RTQwQTE1ODlERjBCMDA1NjA5RTYgLyogUmVuZGVyU2VhcmNoRmllbGQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1OEZFNDA4MTU4OURGMEIwMDU2MDlF
NiAvKiBSZW5kZXJTZWFyY2hGaWVsZC5oICovOyB9OwogCQk0NUZFQTVEMDE1NkRERThDMDA2NTQx
MDEgLyogRGVjaW1hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDVGRUE1Q0UxNTZEREU4QzAwNjU0MTAxIC8qIERlY2ltYWwuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjBCQjYxNjFEMEExQkYwMDAy
MjE4MTIgLyogQmFzZTY0VXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NjBCQjYxNDFEMEExQkVDMDAyMjE4MTIgLyogQmFzZTY0VXRpbGl0
aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
NDYwQzc0NTkyNkRENjlCQjAwNDI3RDNFIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MEM3NDU4MjZE
RDY5OUQwMDQyN0QzRSAvKiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDYwQ0JGMzYxRDRCQ0QwRTAw
OTJFODhFIC8qIEpTRE9NV2luZG93UHJvcGVydGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYwQ0JGMzQxRDRCQ0NGRTAwOTJFODhFIC8qIEpTRE9N
V2luZG93UHJvcGVydGllcy5oICovOyB9OwogCQk0NjBFMzA3NzIyMkY0RjAzMDA5QTA2MDYgLyog
RGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY1RUREOUYyMjJGNEVDMzAwQjQ2RTE2
IC8qIERldmljZU9yaWVudGF0aW9uT3JNb3Rpb25QZXJtaXNzaW9uU3RhdGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjIxOEFDQjFGNzJENjRF
MDA1NzRGQkUgLyogRE9NSGlnaFJlc1RpbWVTdGFtcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZFMDE2QUQxRjcyRDYxRTAwMjgyQjJDIC8qIERPTUhp
Z2hSZXNUaW1lU3RhbXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtMTI4NCw3ICsxMjg1LDYgQEAKIAkJNDYzNTIxQUQyMDgxMDkyQTAwQzI4OTIy
IC8qIFdpbmRvd1Byb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NjM1MjFBQTIwODEwOTBCMDBDMjg5MjIgLyogV2luZG93UHJveHkuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjNFQjYyMzFCODc4
OUUwMDA5NkVENTEgLyogVGFnQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDYzRUI2MjExQjg3ODlDQjAwOTZFRDUxIC8qIFRhZ0NvbGxl
Y3Rpb24uaCAqLzsgfTsKIAkJNDY1MzA3RDAxREI2RUU0ODAwRTQxMzdDIC8qIEpTVUlFdmVudElu
aXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzRTA0
NUVGMURBQTEwNEYwMEIwRDhCOSAvKiBKU1VJRXZlbnRJbml0LmggKi87IH07Ci0JCTQ2NjE3MkVD
MjNBMkFDMUYwMDNBQjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2NjE3MkVCMjNBMkFCRkEwMDNBQjMwOSAv
KiBQb3N0TWVzc2FnZU9wdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0NjY1OERDOTFGQTI0Qjg3MDBGN0RENTQgLyogU1dDb250ZXh0TWFu
YWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY3
MjQxM0IxRkEyNEIxNDAwODhCRDZEIC8qIFNXQ29udGV4dE1hbmFnZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjZDMkRBRDI2QzczQUZDMDA2
NTE5MzEgLyogUG9saWN5Q29udGFpbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NjZDMkRBQjI2QzczQUZCMDA2NTE5MzEgLyogUG9saWN5Q29udGFp
bmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDY2RUQ4RDMxRURFMDE0NDAwNUU0M0Y2IC8qIEpTRE9NUmVjdExpc3QuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2NkVEOEQyMUVERTAxMzUwMDVFNDNG
NiAvKiBKU0RPTVJlY3RMaXN0LmggKi87IH07CkBAIC0xMzM1LDYgKzEzMzUsNyBAQAogCQk0NkVG
QUYxMjFFNUZCOUYxMDBFN0YzNEIgLyogTG93UG93ZXJNb2RlTm90aWZpZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2RUZBRjEwMUU1RkI5RTEwMEU3
RjM0QiAvKiBMb3dQb3dlck1vZGVOb3RpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2RjAyQTFBMjM3MzdGODMwMDEwNkE2NCAvKiBFdmVu
dExvb3AuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlC
MEFCQ0ExMjM2NzlBQjMwMEI0NTA4NSAvKiBFdmVudExvb3AuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NkZDQjYxODFBNzA4MjBFMDBDNUEyMUUg
LyogRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRDM3QjM3NTE1QzFBN0UxMDA2REM4OTggLyogRGlhZ25vc3RpY0xv
Z2dpbmdLZXlzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJNDZGRUZCQzgyNkRENjdBMjAwQjBDNDg4IC8qIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRp
b25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkZF
RkJDNjI2REQ2NzgyMDBCMEM0ODggLyogU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NzVDODlBNDI2
NTBBQzNDMDBGM0I0NTYgLyogRm9ybWF0dGluZ0dlb21ldHJ5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NzVDODlBMzI2NTBBQzNCMDBGM0I0NTYgLyog
Rm9ybWF0dGluZ0dlb21ldHJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNDc4NjM1NjUyNjUwN0EzODAwQzVFMkUwIC8qIEJsb2NrRm9ybWF0dGlu
Z0dlb21ldHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0Nzg2MzU2NDI2NTA3QTM3MDBDNUUyRTAgLyogQmxvY2tGb3JtYXR0aW5nR2VvbWV0cnkuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0N0M0RDU3
RDI2NTA4QkNCMDBDN0FCMUYgLyogSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0N0M0RDU3QzI2NTA4QkNBMDBD
N0FCMUYgLyogSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgyOTksNiArODMwMCw4IEBACiAJCTQ1RkVB
NUNFMTU2RERFOEMwMDY1NDEwMSAvKiBEZWNpbWFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERlY2ltYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDYwQkI2
MTMxRDBBMUJFQzAwMjIxODEyIC8qIEJhc2U2NFV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCYXNlNjRVdGlsaXRpZXMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NjBCQjYxNDFEMEExQkVDMDAyMjE4MTIgLyogQmFzZTY0VXRpbGl0
aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJhc2U2NFV0aWxpdGllcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NjBDNzQ1NjI2REQ2OTlEMDA0MjdEM0Ug
LyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXaW5k
b3dPcldvcmtlckdsb2JhbFNjb3BlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDYwQzc0NTgyNkRENjk5RDAwNDI3RDNFIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NjBDQkYzMzFENEJDQ0ZFMDA5MkU4OEUgLyogSlNET01XaW5kb3dQ
cm9wZXJ0aWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9N
V2luZG93UHJvcGVydGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2MENC
RjM0MUQ0QkNDRkUwMDkyRTg4RSAvKiBKU0RPTVdpbmRvd1Byb3BlcnRpZXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01XaW5kb3dQcm9wZXJ0aWVzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2MEQxOTQ0MUZDRTIxREQwMEMzREI4NSAvKiBKU1NlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04MzE1LDggKzgzMTgsNiBAQAogCQk0NjVBOEU3ODFDOEEy
NENFMDBFN0QzRTQgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSdW50aW1lQXBwbGljYXRpb25DaGVja3ND
b2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY1RUREOUYyMjJGNEVDMzAw
QjQ2RTE2IC8qIERldmljZU9yaWVudGF0aW9uT3JNb3Rpb25QZXJtaXNzaW9uU3RhdGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBl
cm1pc3Npb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjVFRERBMDIy
MkY0RUM0MDBCNDZFMTYgLyogRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0
ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBl
cm1pc3Npb25TdGF0ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2NjE3MkU5
MjNBMkFCRkEwMDNBQjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlvbnMuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFBvc3RNZXNzYWdlT3B0aW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTQ2NjE3MkVCMjNBMkFCRkEwMDNBQjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlvbnMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUG9zdE1lc3NhZ2VPcHRpb25zLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NjUzNkZBMjY0QzhERDEwMEFBRDFENyAvKiBK
U0F1ZGlvTm9kZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0F1ZGlvTm9kZUN1c3Rv
bS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NkMyREFCMjZDNzNBRkIwMDY1
MTkzMSAvKiBQb2xpY3lDb250YWluZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUG9saWN5Q29udGFpbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NkRD
NkFCMUVERTAyMUQwMDc0NjIyNCAvKiBKU0RPTVJlY3RMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NUmVjdExpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtODQxMiw2ICs4NDEzLDggQEAKIAkJNDZFRkFGMEYxRTVGQjlFMTAwRTdG
MzRCIC8qIExvd1Bvd2VyTW9kZU5vdGlmaWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IExvd1Bvd2VyTW9kZU5vdGlmaWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDZFRkFGMTAxRTVGQjlFMTAwRTdGMzRCIC8qIExvd1Bvd2VyTW9kZU5vdGlm
aWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvd1Bvd2VyTW9kZU5vdGlm
aWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2RjkxQkM5MUZDREQwRkUwMDE1
OTlDMyAvKiBKU1dvcmtlck5hdmlnYXRvckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1dvcmtlck5hdmlnYXRvckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQ2RkVGQkM2MjZERDY3ODIwMEIwQzQ4OCAvKiBTdHJ1Y3R1cmVk
U2VyaWFsaXplT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0
aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkZFRkJDNzI2REQ2NzgzMDBC
MEM0ODggLyogU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN0cnVjdHVyZWRT
ZXJpYWxpemVPcHRpb25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDc1Qzg5
QTMyNjUwQUMzQjAwRjNCNDU2IC8qIEZvcm1hdHRpbmdHZW9tZXRyeS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBGb3JtYXR0aW5nR2VvbWV0cnkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDc4NjM1NjQyNjUwN0EzNzAwQzVFMkUwIC8qIEJsb2NrRm9ybWF0dGlu
Z0dlb21ldHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJsb2NrRm9ybWF0
dGluZ0dlb21ldHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ3QzRENTdDMjY1
MDhCQ0EwMEM3QUIxRiAvKiBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjE1Miw4ICsyMjE1NSw2IEBACiAJCQkJNUNGQzQzNEUx
OTI0MDZBOTAwQTBEM0I1IC8qIFBvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJNUNG
QzQzNEYxOTI0MDZBOTAwQTBEM0I1IC8qIFBvaW50ZXJMb2NrQ29udHJvbGxlci5oICovLAogCQkJ
CTM3NzJCMDk1MTY1MzU4NTYwMDBBNDlDQSAvKiBQb3B1cE9wZW5pbmdPYnNlcnZlci5oICovLAot
CQkJCTQ2NjE3MkVCMjNBMkFCRkEwMDNBQjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlvbnMuaCAqLywK
LQkJCQk0NjYxNzJFOTIzQTJBQkZBMDAzQUIzMDkgLyogUG9zdE1lc3NhZ2VPcHRpb25zLmlkbCAq
LywKIAkJCQlFNDYwNUZFQTIxNjY0ODA4MDBFNTMwNDYgLyogUHJld2FybUluZm9ybWF0aW9uLmgg
Ki8sCiAJCQkJQjc3NkQ0M0MxMTA0NTI3NTAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5jcHAgKi8s
CiAJCQkJQjc3NkQ0M0ExMTA0NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovLApAQCAt
MjIyMjAsNiArMjIyMjEsOCBAQAogCQkJCTkzQTA0ODI2MjU0OTU1MDAwMDBBQzQ2MiAvKiBTcGVl
Y2hSZWNvZ25pdGlvblByb3ZpZGVyLmggKi8sCiAJCQkJQzE0OTM4MDUyMjM0MjcxOTAwMENENzA3
IC8qIFNwZWVjaFN5bnRoZXNpc0NsaWVudC5oICovLAogCQkJCUJDNEE1MzM2MjU2MDVBRTEwMDI4
QzU5MiAvKiBTdG9yYWdlQmxvY2tpbmdQb2xpY3kuaCAqLywKKwkJCQk0NkZFRkJDNjI2REQ2Nzgy
MDBCMEM0ODggLyogU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaCAqLywKKwkJCQk0NkZFRkJD
NzI2REQ2NzgzMDBCMEM0ODggLyogU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaWRsICovLAog
CQkJCTYyQzEyMTdBMTFBQjlFNzYwMDNDNDYyQyAvKiBTdXNwZW5kYWJsZVRpbWVyLmNwcCAqLywK
IAkJCQk2MkMxMjE3QjExQUI5RTc3MDAzQzQ2MkMgLyogU3VzcGVuZGFibGVUaW1lci5oICovLAog
CQkJCUJDNEE1MzI0MjU2MDU1NTkwMDI4QzU5MiAvKiBUZXh0RGlyZWN0aW9uU3VibWVudUluY2x1
c2lvbkJlaGF2aW9yLmggKi8sCkBAIC0yMjI4MCw2ICsyMjI4Myw4IEBACiAJCQkJN0M2NzcxMkIy
NTI3RDc1RjAwRkRFRjAwIC8qIFdpbmRvd0xvY2FsU3RvcmFnZS5pZGwgKi8sCiAJCQkJN0M2Nzcx
MzcyNTI3REZGNTAwRkRFRjAwIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrQ3J5cHRvLmlk
bCAqLywKIAkJCQk3QzY3NzEzNjI1MjdERjRCMDBGREVGMDAgLyogV2luZG93T3JXb3JrZXJHbG9i
YWxTY29wZStQZXJmb3JtYW5jZS5pZGwgKi8sCisJCQkJNDYwQzc0NTYyNkRENjk5RDAwNDI3RDNF
IC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuY3BwICovLAorCQkJCTQ2MEM3NDU4MjZERDY5
OUQwMDQyN0QzRSAvKiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmggKi8sCiAJCQkJOTM3MTA4
MEQxREI3NTQ1NTAwNjA3NDRFIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaWRsICovLAog
CQkJCTdDNjc3MTJDMjUyN0Q3QzkwMEZERUYwMCAvKiBXaW5kb3dTZXNzaW9uU3RvcmFnZS5pZGwg
Ki8sCiAJCQkJRTEyNzFBMTMwRUVFQzgwNDAwRjYxMjEzIC8qIFdvcmtlck5hdmlnYXRvci5jcHAg
Ki8sCkBAIC0zNDEyMiw3ICszNDEyNyw2IEBACiAJCQkJOTc0NkFGMzAxNEY0RERFNjAwM0U3QTcw
IC8qIFBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc5MTlDMjQw
QjdEMTg4NjAwQTU2OTk4IC8qIFBvc2l0aW9uSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTk3NDZBRjMyMTRGNERERTYwMDNFN0E3MCAvKiBQb3NpdGlvbk9wdGlvbnMuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTQ2NjE3MkVDMjNBMkFDMUYwMDNBQjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlvbnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ2REJCNjUwMUFCOEM5NkYwMEQ5QTgxMyAvKiBQb3dlck9i
c2VydmVyTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREM3NDcwNDI0QkUyRkM3MDBDMTg2OEIg
LyogUG93ZXJTb3VyY2VOb3RpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzBGMkE0NDExMzg2
OUFBQjAwNjZDNTM0IC8qIHByZXByb2Nlc3Nvci5wbSBpbiBIZWFkZXJzICovLApAQCAtMzQ3Njks
NiArMzQ3NzMsNyBAQAogCQkJCUVDQTY4MEM3MUU2NzcyNDUwMDczMUQyMCAvKiBTdHJpbmdVdGls
aXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCNkM0MTUzMTM0NDk0OTAwMDA4NUI2MiAvKiBT
dHJpbmdXaXRoRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTRCODIwNTFENkRGMEU1
MDA3N0VCRTMgLyogU3RydWN0dXJlZENsb25lLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NkZFRkJD
ODI2REQ2N0EyMDBCMEM0ODggLyogU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQxRTY3QTgzMjVEMTY4NDcwMDdCMEE0QyAvKiBTVFVOTWVzc2FnZVBhcnNp
bmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTcxMzkyMkJFMjUxOEFCNzcwMDVEQjNDMiAvKiBTdHls
ZWFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NUJBNkI2MjM3NjIyQTMwMDRERkMwNyAvKiBT
dHlsZUFkanVzdGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTM1NDUwLDYgKzM1NDU1LDcgQEAKIAkJ
CQk5QjI3RkM2MDIzNEQ5QURCMDAzOTRBNDYgLyogV2luZG93RXZlbnRMb29wLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzgyNDNFOTBEMENGRDc1MDA0NjBDOEYgLyogV2luZG93RmVhdHVyZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTdFOTlBRjUzMEIxMzg0NjQ2OEZCMDFBNSAvKiBXaW5kb3dGb2N1
c0FsbG93ZWRJbmRpY2F0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ2MEM3NDU5MjZERDY5QkIw
MDQyN0QzRSAvKiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0MUQxMjlDRTFGM0QwRUY2MDBEMTVFNDcgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4NUZDQjQxQkI0QzRFODAwMTI4OThGIC8qIFdp
bmRvd09yV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQ2MzUyMUFEMjA4MTA5MkEwMEMyODkyMiAvKiBXaW5kb3dQcm94eS5oIGluIEhlYWRlcnMg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNwcAppbmRleCBjMWM1ZGM5ODZhY2I3MjM0MmVk
MTAwZDZmZGM5ZDkxNjBmZDhjOTI3Li5lMmM3NWVkM2NkM2EwY2FiYmVmMmVlOWI3YjZjYzFiZWI0
ZTY4YjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAK
ICNpbmNsdWRlICJNZXNzYWdlRXZlbnQuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydENoYW5uZWxQ
cm92aWRlci5oIgogI2luY2x1ZGUgIk1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzLmgiCisjaW5jbHVk
ZSAiU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxT
Y29wZS5oIgogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0
aW9uSGFuZGxlci5oPgpAQCAtMTMyLDcgKzEzMyw3IEBAIHZvaWQgTWVzc2FnZVBvcnQ6OmVudGFu
Z2xlKCkKICAgICBNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6ZnJvbUNvbnRleHQoKm1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCkuZW50YW5nbGVMb2NhbFBvcnRJblRoaXNQcm9jZXNzVG9SZW1v
dGUobV9pZGVudGlmaWVyLCBtX3JlbW90ZUlkZW50aWZpZXIpOwogfQogCi1FeGNlcHRpb25Pcjx2
b2lkPiBNZXNzYWdlUG9ydDo6cG9zdE1lc3NhZ2UoSlNDOjpKU0dsb2JhbE9iamVjdCYgc3RhdGUs
IEpTQzo6SlNWYWx1ZSBtZXNzYWdlVmFsdWUsIFBvc3RNZXNzYWdlT3B0aW9ucyYmIG9wdGlvbnMp
CitFeGNlcHRpb25Pcjx2b2lkPiBNZXNzYWdlUG9ydDo6cG9zdE1lc3NhZ2UoSlNDOjpKU0dsb2Jh
bE9iamVjdCYgc3RhdGUsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlVmFsdWUsIFN0cnVjdHVyZWRTZXJp
YWxpemVPcHRpb25zJiYgb3B0aW9ucykKIHsKICAgICBMT0coTWVzc2FnZVBvcnRzLCAiQXR0ZW1w
dGluZyB0byBwb3N0IG1lc3NhZ2UgdG8gcG9ydCAlcyAodG8gYmUgcmVjZWl2ZWQgYnkgcG9ydCAl
cykiLCBtX2lkZW50aWZpZXIubG9nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgbV9yZW1vdGVJZGVu
dGlmaWVyLmxvZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9y
dC5oCmluZGV4IDliNGNjYmJkNTZkOTFlZGUxZDQ3MDRmN2RjYzBmNzlmMDQ0NThlNjYuLjJhMTU4
ZTczODA5MTk0M2UyMjFmN2FhZGNlNjljZjY5MzRlNTQzMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdl
UG9ydC5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiTWVzc2FnZVBvcnRDaGFubmVsLmgi
CiAjaW5jbHVkZSAiTWVzc2FnZVBvcnRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVdp
dGhNZXNzYWdlUG9ydHMuaCIKLSNpbmNsdWRlICJQb3N0TWVzc2FnZU9wdGlvbnMuaCIKICNpbmNs
dWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQ1LDYgKzQ0LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIAorc3RydWN0IFN0cnVjdHVyZWRT
ZXJpYWxpemVPcHRpb25zOworCiBjbGFzcyBNZXNzYWdlUG9ydCBmaW5hbCA6IHB1YmxpYyBBY3Rp
dmVET01PYmplY3QsIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhIHsKICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShNZXNzYWdlUG9ydCk7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChNZXNzYWdlUG9ydCk7CkBAIC01Miw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PE1lc3NhZ2VQb3J0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IE1lc3Nh
Z2VQb3J0SWRlbnRpZmllciYgbG9jYWwsIGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcmVt
b3RlKTsKICAgICB2aXJ0dWFsIH5NZXNzYWdlUG9ydCgpOwogCi0gICAgRXhjZXB0aW9uT3I8dm9p
ZD4gcG9zdE1lc3NhZ2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSBtZXNzYWdl
LCBQb3N0TWVzc2FnZU9wdGlvbnMmJik7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gcG9zdE1lc3Nh
Z2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlLCBTdHJ1Y3R1cmVk
U2VyaWFsaXplT3B0aW9ucyYmKTsKIAogICAgIHZvaWQgc3RhcnQoKTsKICAgICB2b2lkIGNsb3Nl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmlkbAppbmRleCA0MjdmOTAyYzZmMTIwMDY1NGI4
NmMyNzdmNzI3YzIwY2JkMGJjOTZhLi4zNGRiNDA4ZDM5N2NjZjllYjQxY2JmMjg5OTYxZGI3NzRk
MDY2M2RjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5pZGwKQEAgLTMyLDcgKzMyLDcgQEAK
ICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKIF0gaW50ZXJmYWNlIE1lc3NhZ2VQb3J0IDogRXZl
bnRUYXJnZXQgewogICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHVuZGVmaW5lZCBwb3N0TWVz
c2FnZShhbnkgbWVzc2FnZSwgc2VxdWVuY2U8b2JqZWN0PiB0cmFuc2Zlcik7Ci0gICAgW0NhbGxX
aXRoPUdsb2JhbE9iamVjdF0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRp
b25hbCBQb3N0TWVzc2FnZU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9i
amVjdF0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRpb25hbCBTdHJ1Y3R1
cmVkU2VyaWFsaXplT3B0aW9ucyBvcHRpb25zKTsKICAgICB1bmRlZmluZWQgc3RhcnQoKTsKICAg
ICB1bmRlZmluZWQgY2xvc2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9C
YXNlNjRVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQmFzZTY0VXRpbGl0aWVzLmgK
aW5kZXggYmFmOWE4MWM0Nzg3ZmUwMTMxYTk3MTYzOWNmNGViNTIxOTcxMzgzZC4uNTQwZTllM2Ew
YjJjOWFlNjBhNzlhY2M3YmYzMjIyMTRjMDdhZWRhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9CYXNlNjRVdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Jhc2U2
NFV0aWxpdGllcy5oCkBAIC0yOSw2ICsyOSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
Ly8gRklYTUU6IFdlIHNob3VsZCBtZXJnZSB0aGVzZSBpbnRvIFdpbmRvd09yV29ya2VyR2xvYmFs
U2NvcGUuCiBjbGFzcyBCYXNlNjRVdGlsaXRpZXMgewogcHVibGljOgogICAgIHN0YXRpYyBFeGNl
cHRpb25PcjxTdHJpbmc+IGJ0b2EoY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAKaW5kZXggOGNiMWJiNTdjMzA5NjMwOTE3MTYyOGFhMzRkM2Y2ZmI4NDRhNTY4OC4uY2Mz
OTgxYjMyNzQzYzhhNzIwNmVkYzM2Mzc1MTQ1YjYzNmUwNTEwMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcApAQCAtMTgwMiwxNyArMTgwMiw2IEBAIHZvaWQgRE9NV2luZG93OjpyZXNpemVU
byhmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KSBjb25zdAogICAgIHBhZ2UtPmNocm9tZSgpLnNl
dFdpbmRvd1JlY3QoYWRqdXN0V2luZG93UmVjdCgqcGFnZSwgdXBkYXRlKSk7CiB9CiAKLXZvaWQg
RE9NV2luZG93OjpyZXBvcnRFcnJvcihKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qs
IEpTQzo6SlNWYWx1ZSBlcnJvcikKLXsKLSAgICBhdXRvJiB2bSA9IGdsb2JhbE9iamVjdC52bSgp
OwotICAgIFJFTEVBU0VfQVNTRVJUKHZtLmN1cnJlbnRUaHJlYWRJc0hvbGRpbmdBUElMb2NrKCkp
OwotICAgIGF1dG8qIGV4Y2VwdGlvbiA9IEpTQzo6anNEeW5hbWljQ2FzdDxKU0M6OkV4Y2VwdGlv
bio+KHZtLCBlcnJvcik7Ci0gICAgaWYgKCFleGNlcHRpb24pCi0gICAgICAgIGV4Y2VwdGlvbiA9
IEpTQzo6RXhjZXB0aW9uOjpjcmVhdGUodm0sIGVycm9yKTsKLQotICAgIHJlcG9ydEV4Y2VwdGlv
bigmZ2xvYmFsT2JqZWN0LCBleGNlcHRpb24pOwotfQotCiBFeGNlcHRpb25PcjxpbnQ+IERPTVdp
bmRvdzo6c2V0VGltZW91dChKU0M6OkpTR2xvYmFsT2JqZWN0JiBzdGF0ZSwgc3RkOjp1bmlxdWVf
cHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCwgVmVjdG9yPEpTQzo6U3Ry
b25nPEpTQzo6VW5rbm93bj4+JiYgYXJndW1lbnRzKQogewogICAgIFJlZlB0ciBjb250ZXh0ID0g
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggZTEw
MTkwNjQ2ODNjYzU4YWNmOGQ1OGE0YmIyYTI2NWE1MzFlYTRjOS4uNmFiYjAzNjYyYTdjZDkzZjA5
Mjc2NmZjZmRkZjJmOGNjNmI3ZTEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0zMywx
MSArMzMsMTIgQEAKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lRGVzdHJ1Y3Rp
b25PYnNlcnZlci5oIgogI2luY2x1ZGUgIkltYWdlQml0bWFwLmgiCi0jaW5jbHVkZSAiUG9zdE1l
c3NhZ2VPcHRpb25zLmgiCiAjaW5jbHVkZSAiUmVkdWNlZFJlc29sdXRpb25TZWNvbmRzLmgiCiAj
aW5jbHVkZSAiU2Nyb2xsVG9PcHRpb25zLmgiCiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKKyNp
bmNsdWRlICJTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5oIgogI2luY2x1ZGUgIlN1cHBsZW1l
bnRhYmxlLmgiCisjaW5jbHVkZSAiV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0hhbmRsZVR5cGVzLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvU3Ryb25nLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CkBAIC05OCwxMCArOTksMTAg
QEAgc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogZW51bSBTZXRMb2NhdGlvbkxvY2tpbmcgeyBMb2Nr
SGlzdG9yeUJhc2VkT25HZXN0dXJlU3RhdGUsIExvY2tIaXN0b3J5QW5kQmFja0ZvcndhcmRMaXN0
IH07CiBlbnVtIGNsYXNzIEluY2x1ZGVUYXJnZXRPcmlnaW4geyBObywgWWVzIH07CiAKLXN0cnVj
dCBXaW5kb3dQb3N0TWVzc2FnZU9wdGlvbnMgOiBwdWJsaWMgUG9zdE1lc3NhZ2VPcHRpb25zIHsK
K3N0cnVjdCBXaW5kb3dQb3N0TWVzc2FnZU9wdGlvbnMgOiBwdWJsaWMgU3RydWN0dXJlZFNlcmlh
bGl6ZU9wdGlvbnMgewogICAgIFdpbmRvd1Bvc3RNZXNzYWdlT3B0aW9ucygpID0gZGVmYXVsdDsK
ICAgICBXaW5kb3dQb3N0TWVzc2FnZU9wdGlvbnMoU3RyaW5nJiYgdGFyZ2V0T3JpZ2luLCBWZWN0
b3I8SlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4+JiYgdHJhbnNmZXIpCi0gICAgICAgIDogUG9z
dE1lc3NhZ2VPcHRpb25zKFdURk1vdmUodHJhbnNmZXIpKQorICAgICAgICA6IFN0cnVjdHVyZWRT
ZXJpYWxpemVPcHRpb25zKFdURk1vdmUodHJhbnNmZXIpKQogICAgICAgICAsIHRhcmdldE9yaWdp
bihXVEZNb3ZlKHRhcmdldE9yaWdpbikpCiAgICAgeyB9CiAKQEAgLTExMyw2ICsxMTQsNyBAQCBj
bGFzcyBET01XaW5kb3cgZmluYWwKICAgICA6IHB1YmxpYyBBYnN0cmFjdERPTVdpbmRvdwogICAg
ICwgcHVibGljIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyCiAgICAgLCBwdWJsaWMgQmFzZTY0
VXRpbGl0aWVzCisgICAgLCBwdWJsaWMgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZQogICAgICwg
cHVibGljIFN1cHBsZW1lbnRhYmxlPERPTVdpbmRvdz4gewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoRE9NV2luZG93KTsKIHB1YmxpYzoKQEAgLTM4Niw4ICszODgsNiBAQCBwdWJsaWM6CiAg
ICAgV2ViS2l0TmFtZXNwYWNlKiB3ZWJraXROYW1lc3BhY2UoKTsKICNlbmRpZgogCi0gICAgdm9p
ZCByZXBvcnRFcnJvcihKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlKTsKLQogICAg
IC8vIEZJWE1FOiBXaGVuIHRoaXMgRE9NV2luZG93IGlzIG5vIGxvbmdlciB0aGUgYWN0aXZlIERP
TVdpbmRvdyAoaS5lLiwKICAgICAvLyB3aGVuIGl0cyBkb2N1bWVudCBpcyBubyBsb25nZXIgdGhl
IGRvY3VtZW50IHRoYXQgaXMgZGlzcGxheWVkIGluIGl0cwogICAgIC8vIGZyYW1lKSwgd2Ugd291
bGQgbGlrZSB0byB6ZXJvIG91dCBtX2ZyYW1lIHRvIGF2b2lkIGJlaW5nIGNvbmZ1c2VkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNDBmODc0N2IxZGFmM2UxNDkwNjUwZDMxZjk2NWUx
ZGNmYWUxZjU5YS4uODU4NmVkZDAwMGUxMTg4NTdmNmNiZjI5NTc4MDNkZjdmMGNlZTY5NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMTM0LDcgKzEzNCw3IEBACiAKIFsKICAgICBJ
bXBsZW1lbnRlZEFzPVdpbmRvd1Bvc3RNZXNzYWdlT3B0aW9ucwotXSBkaWN0aW9uYXJ5IFdpbmRv
d1Bvc3RNZXNzYWdlT3B0aW9ucyA6IFBvc3RNZXNzYWdlT3B0aW9ucyB7CitdIGRpY3Rpb25hcnkg
V2luZG93UG9zdE1lc3NhZ2VPcHRpb25zIDogU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMgewog
ICAgIFVTVlN0cmluZyB0YXJnZXRPcmlnaW4gPSAiLyI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Bvc3RNZXNzYWdlT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9Qb3N0TWVzc2FnZU9wdGlvbnMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzYw
YTEzYTZhNzI5M2RlNzcyZTk4N2YzMGI4ZTRkYTRjNTk5NzlmMy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc3RNZXNz
YWdlT3B0aW9ucy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4KLSNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmcuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RydWN0IFBvc3RNZXNzYWdlT3B0aW9ucyB7Ci0g
ICAgUG9zdE1lc3NhZ2VPcHRpb25zKCkgPSBkZWZhdWx0OwotICAgIFBvc3RNZXNzYWdlT3B0aW9u
cyhWZWN0b3I8SlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4+JiYgdHJhbnNmZXIpCi0gICAgICAg
IDogdHJhbnNmZXIoV1RGTW92ZSh0cmFuc2ZlcikpCi0gICAgeyB9Ci0KLSAgICBWZWN0b3I8SlND
OjpTdHJvbmc8SlNDOjpKU09iamVjdD4+IHRyYW5zZmVyOwotfTsKLQotfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Qb3N0TWVzc2FnZU9wdGlvbnMuaWRsIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Qb3N0TWVzc2FnZU9wdGlvbnMuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyODdmZDQyMDM4MzEyYjY5ODZiZGM4YjgzYzc0YjY1YTEzNzYyMGJlLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UG9zdE1lc3NhZ2VPcHRpb25zLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi1kaWN0aW9uYXJ5IFBvc3RNZXNzYWdlT3B0aW9ucyB7Ci0gIHNlcXVlbmNlPG9i
amVjdD4gdHJhbnNmZXIgPSBbXTsKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1N0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cnVj
dHVyZWRTZXJpYWxpemVPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjIxZGE1YWIwYzk1ZTY2NWQwNzkz
MzE0MmU4OWJjMmU5OWViMGI5ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaApAQCAtMCwwICsxLDQzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE5LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2Jq
ZWN0Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nLmg+CisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBTdHJ1Y3R1cmVkU2Vy
aWFsaXplT3B0aW9ucyB7CisgICAgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMoKSA9IGRlZmF1
bHQ7CisgICAgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMoVmVjdG9yPEpTQzo6U3Ryb25nPEpT
Qzo6SlNPYmplY3Q+PiYmIHRyYW5zZmVyKQorICAgICAgICA6IHRyYW5zZmVyKFdURk1vdmUodHJh
bnNmZXIpKQorICAgIHsgfQorCisgICAgVmVjdG9yPEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+
PiB0cmFuc2ZlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaWRsIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucy5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjI5ZDE4ZWM3OTdkZjE2YWE3MzkxNmQwNDA5MDU2MTlhMDYwZjY5MgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaWRsCkBA
IC0wLDAgKzEsMjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2RpY3Rpb25hcnkgU3RydWN0dXJlZFNl
cmlhbGl6ZU9wdGlvbnMgeworICBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyID0gW107Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3Bl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDFmOGE0ZTBiNmQ5M2E1ODJjNTUxMWQ2Njk3YmY2YjhiYWZjMDgyOAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2luZG93T3JXb3JrZXJHbG9iYWxT
Y29wZS5jcHAKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmgiCisKKyNpbmNsdWRlICJF
eGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNs
dWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCisjaW5j
bHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCisjaW5jbHVkZSAiU3RydWN0dXJlZFNlcmlh
bGl6ZU9wdGlvbnMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIFdpbmRvd09yV29y
a2VyR2xvYmFsU2NvcGU6OnJlcG9ydEVycm9yKEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QsIEpTQzo6SlNWYWx1ZSBlcnJvcikKK3sKKyAgICBhdXRvJiB2bSA9IGdsb2JhbE9iamVjdC52
bSgpOworICAgIFJFTEVBU0VfQVNTRVJUKHZtLmN1cnJlbnRUaHJlYWRJc0hvbGRpbmdBUElMb2Nr
KCkpOworICAgIGF1dG8qIGV4Y2VwdGlvbiA9IEpTQzo6anNEeW5hbWljQ2FzdDxKU0M6OkV4Y2Vw
dGlvbio+KHZtLCBlcnJvcik7CisgICAgaWYgKCFleGNlcHRpb24pCisgICAgICAgIGV4Y2VwdGlv
biA9IEpTQzo6RXhjZXB0aW9uOjpjcmVhdGUodm0sIGVycm9yKTsKKworICAgIHJlcG9ydEV4Y2Vw
dGlvbigmZ2xvYmFsT2JqZWN0LCBleGNlcHRpb24pOworfQorCitFeGNlcHRpb25PcjxKU0M6OkpT
VmFsdWU+IFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGU6OnN0cnVjdHVyZWRDbG9uZShKU0RPTUds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgdmFsdWUsIFN0cnVjdHVyZWRT
ZXJpYWxpemVPcHRpb25zJiYgb3B0aW9ucykKK3sKKyAgICBWZWN0b3I8UmVmUHRyPE1lc3NhZ2VQ
b3J0Pj4gcG9ydHM7CisgICAgYXV0byBtZXNzYWdlRGF0YSA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgdmFsdWUsIFdURk1vdmUob3B0aW9ucy50cmFuc2Zlciks
IHBvcnRzLCBTZXJpYWxpemF0aW9uQ29udGV4dDo6V2luZG93UG9zdE1lc3NhZ2UpOworICAgIGlm
IChtZXNzYWdlRGF0YS5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIG1lc3NhZ2VEYXRh
LnJlbGVhc2VFeGNlcHRpb24oKTsKKworICAgIGF1dG8gZGlzZW50YW5nbGVkUG9ydHMgPSBNZXNz
YWdlUG9ydDo6ZGlzZW50YW5nbGVQb3J0cyhXVEZNb3ZlKHBvcnRzKSk7CisgICAgaWYgKGRpc2Vu
dGFuZ2xlZFBvcnRzLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gZGlzZW50YW5nbGVk
UG9ydHMucmVsZWFzZUV4Y2VwdGlvbigpOworCisgICAgVmVjdG9yPFJlZlB0cjxNZXNzYWdlUG9y
dD4+IGVudGFuZ2xlZFBvcnRzOworICAgIGlmIChhdXRvKiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
ID0gZ2xvYmFsT2JqZWN0LnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKKyAgICAgICAgZW50YW5n
bGVkUG9ydHMgPSBNZXNzYWdlUG9ydDo6ZW50YW5nbGVQb3J0cygqc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgZGlzZW50YW5nbGVkUG9ydHMucmVsZWFzZVJldHVyblZhbHVlKCkpOworCisgICAgcmV0
dXJuIG1lc3NhZ2VEYXRhLnJldHVyblZhbHVlKCktPmRlc2VyaWFsaXplKGdsb2JhbE9iamVjdCwg
Jmdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRhbmdsZWRQb3J0cykpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd09yV29y
a2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2luZG93T3JXb3JrZXJHbG9i
YWxTY29wZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5Mjg3ZDc2MDMxNTg3NjdjOWVmZmZmZjc5ZTE2ZGU4MmY1
YzE0ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd09yV29y
a2VyR2xvYmFsU2NvcGUuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKK25hbWVzcGFjZSBKU0MgeworY2xhc3MgSlNWYWx1ZTsKK30KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK3RlbXBsYXRlPHR5cGVuYW1lPiBj
bGFzcyBFeGNlcHRpb25PcjsKKworc3RydWN0IFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zOwor
CitjbGFzcyBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
dm9pZCByZXBvcnRFcnJvcihKU0RPTUdsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CisgICAg
c3RhdGljIEV4Y2VwdGlvbk9yPEpTQzo6SlNWYWx1ZT4gc3RydWN0dXJlZENsb25lKEpTRE9NR2xv
YmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlLCBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucyYmKTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5pZGwKaW5kZXggNGQ2YmM5MmE1NTk3NDcyNGIy
ZmM0YjgwNzI5YjZiN2Y0NzcwOGU4OC4uODBkZmQ0Y2I0MTlkYTViNjRlMzk5ODI4M2IwZTQ3NzUw
NDFhNjBjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd09yV29ya2VyR2xv
YmFsU2NvcGUuaWRsCkBAIC02OSw0ICs2OSw3IEBAIGludGVyZmFjZSBtaXhpbiBXaW5kb3dPcldv
cmtlckdsb2JhbFNjb3BlIHsKICAgICAvLyBJbWFnZUJpdG1hcC4KICAgICBbRW5hYmxlZEF0UnVu
dGltZT1JbWFnZUJpdG1hcF0gUHJvbWlzZTxJbWFnZUJpdG1hcD4gY3JlYXRlSW1hZ2VCaXRtYXAo
SW1hZ2VCaXRtYXBTb3VyY2UgaW1hZ2UsIG9wdGlvbmFsIEltYWdlQml0bWFwT3B0aW9ucyBvcHRp
b25zKTsKICAgICBbRW5hYmxlZEF0UnVudGltZT1JbWFnZUJpdG1hcF0gUHJvbWlzZTxJbWFnZUJp
dG1hcD4gY3JlYXRlSW1hZ2VCaXRtYXAoSW1hZ2VCaXRtYXBTb3VyY2UgaW1hZ2UsIGxvbmcgc3gs
IGxvbmcgc3ksIGxvbmcgc3csIGxvbmcgc2gsIG9wdGlvbmFsIEltYWdlQml0bWFwT3B0aW9ucyBv
cHRpb25zKTsKKworICAgIC8vIHN0cnVjdHVyZWQgY2xvbmluZworICAgIFtDYWxsV2l0aD1HbG9i
YWxPYmplY3RdIGFueSBzdHJ1Y3R1cmVkQ2xvbmUoYW55IHZhbHVlLCBvcHRpb25hbCBTdHJ1Y3R1
cmVkU2VyaWFsaXplT3B0aW9ucyBvcHRpb25zKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGE1MTU4Y2Rm
ZTRlMjZmNDZjMDkzMTc5YTdhYmY4ZjExZGU3YjJhMzEuLjg3MWUwYWFmODYwMjAyODczODNhZWVi
ODhjNjg3YTI2ZDcyOWY5NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVk
ZSAiUlRDVHJhbnNmb3JtRXZlbnQuaCIKICNpbmNsdWRlICJSZXF1ZXN0QW5pbWF0aW9uRnJhbWVD
YWxsYmFjay5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVkZSAiU3RydWN0
dXJlZFNlcmlhbGl6ZU9wdGlvbnMuaCIKICNpbmNsdWRlICJXb3JrZXIuaCIKICNpZiBFTkFCTEUo
T0ZGU0NSRUVOX0NBTlZBUykKICNpbmNsdWRlICJXb3JrZXJBbmltYXRpb25Db250cm9sbGVyLmgi
CkBAIC03OCw3ICs3OSw3IEBAIHZvaWQgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OnByZXBh
cmVGb3JEZXN0cnVjdGlvbigpCiAgICAgV29ya2VyR2xvYmFsU2NvcGU6OnByZXBhcmVGb3JEZXN0
cnVjdGlvbigpOwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZTo6cG9zdE1lc3NhZ2UoSlNDOjpKU0dsb2JhbE9iamVjdCYgc3RhdGUsIEpTQzo6SlNWYWx1
ZSBtZXNzYWdlVmFsdWUsIFBvc3RNZXNzYWdlT3B0aW9ucyYmIG9wdGlvbnMpCitFeGNlcHRpb25P
cjx2b2lkPiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6cG9zdE1lc3NhZ2UoSlNDOjpKU0ds
b2JhbE9iamVjdCYgc3RhdGUsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlVmFsdWUsIFN0cnVjdHVyZWRT
ZXJpYWxpemVPcHRpb25zJiYgb3B0aW9ucykKIHsKICAgICBWZWN0b3I8UmVmUHRyPE1lc3NhZ2VQ
b3J0Pj4gcG9ydHM7CiAgICAgYXV0byBtZXNzYWdlID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpj
cmVhdGUoc3RhdGUsIG1lc3NhZ2VWYWx1ZSwgV1RGTW92ZShvcHRpb25zLnRyYW5zZmVyKSwgcG9y
dHMsIFNlcmlhbGl6YXRpb25Db250ZXh0OjpXb3JrZXJQb3N0TWVzc2FnZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXgg
Y2E0ZDU2ODBlOGIxZDFlYzc2YjU0NjllNGMxYzU0ZTg1NzJlNzk2Ni4uMGMwMjM3N2FlMjg5MjZh
M2MxYTU5NzBhYjI4ODMzNTdkNjM4ZmQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMzIsNyArMzIsNiBAQAogI3By
YWdtYSBvbmNlCiAKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgotI2luY2x1ZGUgIlBvc3RNZXNz
YWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNTAsNiArNDksOCBAQCBjbGFzcyBSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjsK
IGNsYXNzIFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrOwogY2xhc3MgU2VyaWFsaXplZFNj
cmlwdFZhbHVlOwogCitzdHJ1Y3QgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnM7CisKICNpZiBF
TkFCTEUoT0ZGU0NSRUVOX0NBTlZBU19JTl9XT1JLRVJTKQogY2xhc3MgV29ya2VyQW5pbWF0aW9u
Q29udHJvbGxlcjsKIApAQCAtNjYsNyArNjcsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBTdHJp
bmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KIAotICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHBvc3RNZXNzYWdlKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUgbWVzc2Fn
ZSwgUG9zdE1lc3NhZ2VPcHRpb25zJiYpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBvc3RNZXNz
YWdlKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUgbWVzc2FnZSwgU3RydWN0dXJl
ZFNlcmlhbGl6ZU9wdGlvbnMmJik7CiAKICAgICBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVh
ZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUuaWRsCmluZGV4IGEwYTEyOTg0MGU0ZmIyNmEzNTQxZDk0Mjg3OWViNmY4M2Y2
NGQ0MjcuLjUyZDViMmE0YjQ4ZWU5MjYzYTU1MmRlZjI5YWQ5MDE1NWNkNzdjNDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUu
aWRsCkBAIC0zOCw3ICszOCw3IEBACiAgICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG5hbWU7CiAKICAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB1bmRlZmlu
ZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIpOwot
ICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShhbnkgbWVz
c2FnZSwgb3B0aW9uYWwgUG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOworICAgIFtDYWxsV2l0
aD1HbG9iYWxPYmplY3RdIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgb3B0aW9u
YWwgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMgb3B0aW9ucyk7CiAKICAgICB1bmRlZmluZWQg
Y2xvc2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IGMwMjBkYzUyOWRiNjhh
ZTQwMGUxMjNiN2FhNzJkMTg0OGJiYjJiYmUuLmQxODdiZTMyNGQ4YzA0MjkzN2VmZGYzMGY3MmQ2
MmZkMWI3M2QwMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTQxLDYgKzQxLDcg
QEAKICNlbmRpZgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTZWN1
cml0eU9yaWdpbi5oIgorI2luY2x1ZGUgIlN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zLmgiCiAj
aW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlw
dExvYWRlci5oIgogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgpAQCAtMTM2LDcgKzEzNyw3IEBA
IFdvcmtlcjo6fldvcmtlcigpCiAgICAgbV9jb250ZXh0UHJveHkud29ya2VyT2JqZWN0RGVzdHJv
eWVkKCk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IFdvcmtlcjo6cG9zdE1lc3NhZ2UoSlNDOjpK
U0dsb2JhbE9iamVjdCYgc3RhdGUsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlVmFsdWUsIFBvc3RNZXNz
YWdlT3B0aW9ucyYmIG9wdGlvbnMpCitFeGNlcHRpb25Pcjx2b2lkPiBXb3JrZXI6OnBvc3RNZXNz
YWdlKEpTQzo6SlNHbG9iYWxPYmplY3QmIHN0YXRlLCBKU0M6OkpTVmFsdWUgbWVzc2FnZVZhbHVl
LCBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9ucyYmIG9wdGlvbnMpCiB7CiAgICAgVmVjdG9yPFJl
ZlB0cjxNZXNzYWdlUG9ydD4+IHBvcnRzOwogICAgIGF1dG8gbWVzc2FnZSA9IFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTo6Y3JlYXRlKHN0YXRlLCBtZXNzYWdlVmFsdWUsIFdURk1vdmUob3B0aW9ucy50
cmFuc2ZlciksIHBvcnRzLCBTZXJpYWxpemF0aW9uQ29udGV4dDo6V29ya2VyUG9zdE1lc3NhZ2Up
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXggYjcwNjkyMTE4MzA4ZGU4ODMyODY3N2JjNmY3
ZDQ1MDNiY2IwZjZjMi4uNjYwNjhmNTllZjkyN2ViZjE0MjYyY2ZhZmJkMGVlMDUxOTU0ZmQ4ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAiRXZl
bnRUYXJnZXQuaCIKICNpbmNsdWRlICJGZXRjaFJlcXVlc3RDcmVkZW50aWFscy5oIgogI2luY2x1
ZGUgIk1lc3NhZ2VQb3J0LmgiCi0jaW5jbHVkZSAiUG9zdE1lc3NhZ2VPcHRpb25zLmgiCiAjaW5j
bHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiV29ya2VyVHlwZS5o
IgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1J1bnRpbWVGbGFncy5oPgpAQCAtNTIsNiArNTEs
OCBAQCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV29ya2VyR2xvYmFsU2Nv
cGVQcm94eTsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlcjsKIAorc3RydWN0IFN0cnVjdHVyZWRT
ZXJpYWxpemVPcHRpb25zOworCiBjbGFzcyBXb3JrZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RX
b3JrZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVy
Q2xpZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdvcmtlcik7CiBwdWJsaWM6CkBA
IC02Myw3ICs2NCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFdvcmtl
cj4+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3MsIGNv
bnN0IFN0cmluZyYgdXJsLCBjb25zdCBPcHRpb25zJik7CiAgICAgdmlydHVhbCB+V29ya2VyKCk7
CiAKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBwb3N0TWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0
JiwgSlNDOjpKU1ZhbHVlIG1lc3NhZ2UsIFBvc3RNZXNzYWdlT3B0aW9ucyYmKTsKKyAgICBFeGNl
cHRpb25Pcjx2b2lkPiBwb3N0TWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1Zh
bHVlIG1lc3NhZ2UsIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zJiYpOwogCiAgICAgdm9pZCB0
ZXJtaW5hdGUoKTsKICAgICBib29sIHdhc1Rlcm1pbmF0ZWQoKSBjb25zdCB7IHJldHVybiBtX3dh
c1Rlcm1pbmF0ZWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAppbmRleCA3MGUyMjkzMmQ2
MTE0MTRkY2JiOWUxNjQyYTAwYWFkMzIyNzcwYmYxLi5lMmRjZTI1ODAyN2E5NTllZmIyOTJmMmQ1
MmE1NDU0MGI0YTUwOTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCkBAIC0zMyw3ICsz
Myw3IEBACiAgICAgdW5kZWZpbmVkIHRlcm1pbmF0ZSgpOwogCiAgICAgW0NhbGxXaXRoPUdsb2Jh
bE9iamVjdF0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBzZXF1ZW5jZTxvYmpl
Y3Q+IHRyYW5zZmVyKTsKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB1bmRlZmluZWQgcG9z
dE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIFBvc3RNZXNzYWdlT3B0aW9ucyBvcHRpb25z
KTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55
IG1lc3NhZ2UsIG9wdGlvbmFsIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zIG9wdGlvbnMpOwog
ICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tZXNzYWdlOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCA1MWI4MzNjZTJiMDljZTcx
ZDA1OWFlNGYzN2Y4ZTM5ZGU5YTg2N2ZjLi5hYWViY2Q0NDhjNDFiODFlMWNlNWNhMjViNTVmY2Rh
NzViMzQ2YzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
LmNwcApAQCAtNTQ4LDE3ICs1NDgsNiBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpkZWxldGVK
U0NvZGVBbmRHQyhTeW5jaHJvbm91cyBzeW5jaHJvbm91cykKICNlbmRpZgogfQogCi12b2lkIFdv
cmtlckdsb2JhbFNjb3BlOjpyZXBvcnRFcnJvcihKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QsIEpTQzo6SlNWYWx1ZSBlcnJvcikKLXsKLSAgICBhdXRvJiB2bSA9IGdsb2JhbE9iamVj
dC52bSgpOwotICAgIFJFTEVBU0VfQVNTRVJUKHZtLmN1cnJlbnRUaHJlYWRJc0hvbGRpbmdBUElM
b2NrKCkpOwotICAgIGF1dG8qIGV4Y2VwdGlvbiA9IEpTQzo6anNEeW5hbWljQ2FzdDxKU0M6OkV4
Y2VwdGlvbio+KHZtLCBlcnJvcik7Ci0gICAgaWYgKCFleGNlcHRpb24pCi0gICAgICAgIGV4Y2Vw
dGlvbiA9IEpTQzo6RXhjZXB0aW9uOjpjcmVhdGUodm0sIGVycm9yKTsKLQotICAgIFdlYkNvcmU6
OnJlcG9ydEV4Y2VwdGlvbigmZ2xvYmFsT2JqZWN0LCBleGNlcHRpb24pOwotfQotCiB2b2lkIFdv
cmtlckdsb2JhbFNjb3BlOjpyZWxlYXNlTWVtb3J5SW5Xb3JrZXJzKFN5bmNocm9ub3VzIHN5bmNo
cm9ub3VzKQogewogICAgIExvY2tlciBsb2NrZXIgeyBhbGxXb3JrZXJHbG9iYWxTY29wZUlkZW50
aWZpZXJzTG9jayB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5o
CmluZGV4IGY0MDBjYmI4MjVjZDc5N2JiNGQ2OTA0MzFiNTI0NmY1ZjVmN2EwNTYuLmU1Njg3YWVl
NjM2NTg3YzU4ZmFlN2Y5YTliMjQ2ZWQ3N2M4NGEzYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJTY3Jp
cHRCdWZmZXJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCIKICNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgorI2luY2x1ZGUgIldpbmRvd09yV29y
a2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5o
IgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJXb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCkBAIC02Myw3ICs2NCw3IEBAIG5hbWVz
cGFjZSBJREJDbGllbnQgewogY2xhc3MgSURCQ29ubmVjdGlvblByb3h5OwogfQogCi1jbGFzcyBX
b3JrZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBTdXBwbGVtZW50YWJsZTxXb3JrZXJHbG9iYWxTY29w
ZT4sIHB1YmxpYyBCYXNlNjRVdGlsaXRpZXMsIHB1YmxpYyBXb3JrZXJPcldvcmtsZXRHbG9iYWxT
Y29wZSB7CitjbGFzcyBXb3JrZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBTdXBwbGVtZW50YWJsZTxX
b3JrZXJHbG9iYWxTY29wZT4sIHB1YmxpYyBCYXNlNjRVdGlsaXRpZXMsIHB1YmxpYyBXaW5kb3dP
cldvcmtlckdsb2JhbFNjb3BlLCBwdWJsaWMgV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUgewog
ICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoV29ya2VyR2xvYmFsU2NvcGUpOwogcHVibGljOgog
ICAgIHZpcnR1YWwgfldvcmtlckdsb2JhbFNjb3BlKCk7CkBAIC0xMzAsOCArMTMxLDYgQEAgcHVi
bGljOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxGb250TG9hZFJlcXVlc3Q+IGZvbnRMb2FkUmVxdWVz
dChTdHJpbmcmIHVybCwgYm9vbCBpc1NWRywgYm9vbCBpc0luaXRpYXRpbmdFbGVtZW50SW5Vc2Vy
QWdlbnRTaGFkb3dUcmVlLCBMb2FkZWRGcm9tT3BhcXVlU291cmNlKSBmaW5hbDsKICAgICB2b2lk
IGJlZ2luTG9hZGluZ0ZvbnRTb29uKEZvbnRMb2FkUmVxdWVzdCYpIGZpbmFsOwogCi0gICAgdm9p
ZCByZXBvcnRFcnJvcihKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlKTsKLQogICAg
IFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkgY29uc3QgZmluYWw7CiAKICAgICBjb25z
dCBTZXR0aW5nczo6VmFsdWVzJiBzZXR0aW5nc1ZhbHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IG1fc2V0dGluZ3NWYWx1ZXM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyLmNwcAppbmRleCBhYTQyMmY2Y2YwNmU5YTdkZjBkYWZiNGE5OTJhOTVk
MmU1YzRmY2FmLi4zNzc0MjU3ODdkNWY0MTFmM2M4MTUyOWU2MzRiNTlkZDM1NmVlYTkzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuY3BwCkBA
IC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgiCiAj
aW5jbHVkZSAiU2VydmljZVdvcmtlclByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtl
clRocmVhZC5oIgorI2luY2x1ZGUgIlN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zLmgiCiAjaW5j
bHVkZSAiV29ya2VyU1dDbGllbnRDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSlNDSlNWYWx1ZUlubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5o
PgpAQCAtOTksNyArMTAwLDcgQEAgU1dDbGllbnRDb25uZWN0aW9uJiBTZXJ2aWNlV29ya2VyOjpz
d0Nvbm5lY3Rpb24oKQogICAgIHJldHVybiBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRv
bigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IFNl
cnZpY2VXb3JrZXI6OnBvc3RNZXNzYWdlKEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCwgSlNDOjpKU1ZhbHVlIG1lc3NhZ2VWYWx1ZSwgUG9zdE1lc3NhZ2VPcHRpb25zJiYgb3B0aW9u
cykKK0V4Y2VwdGlvbk9yPHZvaWQ+IFNlcnZpY2VXb3JrZXI6OnBvc3RNZXNzYWdlKEpTQzo6SlNH
bG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIG1lc3NhZ2VWYWx1ZSwgU3Ry
dWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMmJiBvcHRpb25zKQogewogICAgIGlmIChtX2lzU3RvcHBl
ZCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaAppbmRleCBjYjU2
N2UyZjgwYWI1YTZkMDg3ZGZkMjc1ZWFlZTU1NmFlMGNmZjhjLi45ZjAxMDNmNTA3MGEwMGNhODE5
YzRlNzZhN2NkYmFiOTFhNGQ2MTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJBY3RpdmVE
T01PYmplY3QuaCIKICNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2lu
Y2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVkZSAiUG9zdE1lc3NhZ2VPcHRpb25zLmgiCiAj
aW5jbHVkZSAiU2VydmljZVdvcmtlckRhdGEuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9T
dHJvbmcuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtNDYsNiArNDUsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIFNXQ2xpZW50Q29ubmVjdGlv
bjsKIAorc3RydWN0IFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zOworCiBjbGFzcyBTZXJ2aWNl
V29ya2VyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8U2VydmljZVdvcmtlcj4sIHB1YmxpYyBF
dmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKICAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFNlcnZpY2VXb3JrZXIpOwogcHVibGljOgpAQCAtNjAsNyAr
NjEsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCB1cGRhdGVTdGF0ZShTdGF0ZSk7CiAKLSAg
ICBFeGNlcHRpb25Pcjx2b2lkPiBwb3N0TWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlND
OjpKU1ZhbHVlIG1lc3NhZ2UsIFBvc3RNZXNzYWdlT3B0aW9ucyYmKTsKKyAgICBFeGNlcHRpb25P
cjx2b2lkPiBwb3N0TWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlIG1l
c3NhZ2UsIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zJiYpOwogCiAgICAgU2VydmljZVdvcmtl
cklkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5pZGVudGlmaWVy
OyB9CiAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9u
SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5yZWdpc3RyYXRpb25JZGVudGlmaWVy
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5p
ZGwKaW5kZXggZDY2ZmEzY2MzMTY5ZmJmM2JjYjUxNzRlODVkY2ZiYjY4MmZjNTc0OS4uNThlZGFh
MWM5NTE5OTI4ZjQwMzM4Y2E3N2E2OWI3ODgxNjBhNTM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmlkbApAQCAtMzcsNyArMzcsNyBAQAog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgc2NyaXB0VVJMOwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBTZXJ2aWNlV29ya2VyU3RhdGUgc3RhdGU7CiAgICAgW0NhbGxXaXRoPUdsb2Jh
bE9iamVjdF0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBzZXF1ZW5jZTxvYmpl
Y3Q+IHRyYW5zZmVyKTsKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB1bmRlZmluZWQgcG9z
dE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIFBvc3RNZXNzYWdlT3B0aW9ucyBvcHRpb25z
KTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55
IG1lc3NhZ2UsIG9wdGlvbmFsIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zIG9wdGlvbnMpOwog
CiAgICAgLy8gZXZlbnQKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc3RhdGVjaGFuZ2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNsaWVudC5jcHAKaW5kZXggYjEzMzRiNDEyYmJlYWIwNTk0NmE4YzZkNDJmODI5NTg0Y2JiMWRj
Mi4uNTk2YjljZGM5OTRmNTUwODBiNjM5MTcxODliNzhlYjhmNzdjZDMzNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmNw
cApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5o
IgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29y
a2VyV2luZG93Q2xpZW50LmgiCisjaW5jbHVkZSAiU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC04Miw3ICs4Myw3IEBAIFN0cmluZyBTZXJ2
aWNlV29ya2VyQ2xpZW50OjppZCgpIGNvbnN0CiAgICAgcmV0dXJuIGlkZW50aWZpZXIoKS50b1N0
cmluZygpOwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBTZXJ2aWNlV29ya2VyQ2xpZW50Ojpwb3N0
TWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBt
ZXNzYWdlVmFsdWUsIFBvc3RNZXNzYWdlT3B0aW9ucyYmIG9wdGlvbnMpCitFeGNlcHRpb25Pcjx2
b2lkPiBTZXJ2aWNlV29ya2VyQ2xpZW50Ojpwb3N0TWVzc2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0
JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlVmFsdWUsIFN0cnVjdHVyZWRTZXJp
YWxpemVPcHRpb25zJiYgb3B0aW9ucykKIHsKICAgICBWZWN0b3I8UmVmUHRyPE1lc3NhZ2VQb3J0
Pj4gcG9ydHM7CiAgICAgYXV0byBtZXNzYWdlRGF0YSA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6
Y3JlYXRlKGdsb2JhbE9iamVjdCwgbWVzc2FnZVZhbHVlLCBXVEZNb3ZlKG9wdGlvbnMudHJhbnNm
ZXIpLCBwb3J0cywgU2VyaWFsaXphdGlvbkNvbnRleHQ6OldvcmtlclBvc3RNZXNzYWdlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVu
dC5oCmluZGV4IDBmYmZjYWMzZTA1N2U3MWFiNTZjMzlmYWU4M2M4ODRmNTEwNDhjZWIuLjJlMmM5
OWYwMzBjNzZhYjljYjFhMjMwMThiMmI0OTcxODg4Yzk5YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaApAQCAtMjksNyAr
MjksNiBAQAogCiAjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNs
dWRlICJFeGNlcHRpb25Pci5oIgotI2luY2x1ZGUgIlBvc3RNZXNzYWdlT3B0aW9ucy5oIgogI2lu
Y2x1ZGUgIlNlcnZpY2VXb3JrZXJDbGllbnREYXRhLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvU3Ryb25nLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQzLDYgKzQyLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU7
CiAKK3N0cnVjdCBTdHJ1Y3R1cmVkU2VyaWFsaXplT3B0aW9uczsKKwogY2xhc3MgU2VydmljZVdv
cmtlckNsaWVudCA6IHB1YmxpYyBSZWZDb3VudGVkPFNlcnZpY2VXb3JrZXJDbGllbnQ+LCBwdWJs
aWMgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIgewogcHVibGljOgogICAgIHVzaW5nIElkZW50
aWZpZXIgPSBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjsKQEAgLTYxLDcgKzYyLDcgQEAg
cHVibGljOgogCiAgICAgSWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9k
YXRhLmlkZW50aWZpZXI7IH0KIAotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBvc3RNZXNzYWdlKEpT
Qzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUgbWVzc2FnZSwgUG9zdE1lc3NhZ2VPcHRp
b25zJiYpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBvc3RNZXNzYWdlKEpTQzo6SlNHbG9iYWxP
YmplY3QmLCBKU0M6OkpTVmFsdWUgbWVzc2FnZSwgU3RydWN0dXJlZFNlcmlhbGl6ZU9wdGlvbnMm
Jik7CiAKIHByb3RlY3RlZDoKICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50KFNlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZSYsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsCmluZGV4
IGUwMTAyZDU5NDNhMzY0ZWI2ZmJkMTM4MmJmNmYyODQyYjhkY2RlMzEuLjRiNDBiMTJhZDg2MTk2
ZTMwMDQ3YTllMjZiNzRhOTEyZTI3NjYyYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5pZGwKQEAgLTM2LDcgKzM2LDcg
QEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlkOwogCiAgICAgW0NhbGxXaXRo
PUdsb2JhbE9iamVjdF0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBzZXF1ZW5j
ZTxvYmplY3Q+IHRyYW5zZmVyKTsKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB1bmRlZmlu
ZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIFBvc3RNZXNzYWdlT3B0aW9ucyBv
cHRpb25zKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB1bmRlZmluZWQgcG9zdE1lc3Nh
Z2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIFN0cnVjdHVyZWRTZXJpYWxpemVPcHRpb25zIG9wdGlv
bnMpOwogfTsKIAogZW51bSBGcmFtZVR5cGUgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
aW5kZXggNjRkNDc2MjQ5ODE5NWM1ZTM4MTVmZmFhNDgwMmZlYWU2ZDM1Y2U3My4uMjc0M2FhZGUy
MjFmNmFjZmI3YjU4YmRmM2QwYTk5MjYwOWEzZjJmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDgtMzAgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgc2VsZi5zdHJ1Y3R1cmVkQ2xvbmUoKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MzMxCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MTQ2ODM3ND4KKworICAgICAgICBSZXZpZXdlZCBieSBS
eW9zdWtlIE5pd2EuCisKKyAgICAgICAgSW1wb3J0IGxheW91dCB0ZXN0IGNvdmVyYWdlIGZyb20g
V1BULgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1
Y3R1cmVkLWNsb25lL3N0cnVjdHVyZWQtY2xvbmUuYW55LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNs
b25lL3N0cnVjdHVyZWQtY2xvbmUuYW55Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNs
b25lLmFueS5qczogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2Vi
YXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3N0cnVjdHVyZWQtY2xvbmUuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFw
cGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNsb25lLmFueS53b3JrZXIuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1
Y3R1cmVkLWNsb25lL3czYy1pbXBvcnQubG9nOgorCiAyMDIxLTA4LTMxICBBbnR0aSBLb2l2aXN0
byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIENhc2NhZGUgTGF5ZXJzXSBDb21w
dXRlIG9yZGVyIGNvcnJlY3RseSBmb3IgbGF0ZSBhZGRlZCBzdWJsYXllcnMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBh
cGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5hbnktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFw
aXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNsb25lLmFueS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uY2MyZTA5Yjk2ZGM3Y2RhYjBhM2VkYzI2MGE2YWU1ZDZjNzBjZTc5YgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5hbnktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTI0IEBACisKK1BBU1MgcHJpbWl0aXZlIHVuZGVmaW5lZAor
UEFTUyBwcmltaXRpdmUgbnVsbAorUEFTUyBwcmltaXRpdmUgdHJ1ZQorUEFTUyBwcmltaXRpdmUg
ZmFsc2UKK1BBU1MgcHJpbWl0aXZlIHN0cmluZywgZW1wdHkgc3RyaW5nCitQQVNTIHByaW1pdGl2
ZSBzdHJpbmcsIGxvbmUgaGlnaCBzdXJyb2dhdGUKK1BBU1MgcHJpbWl0aXZlIHN0cmluZywgbG9u
ZSBsb3cgc3Vycm9nYXRlCitQQVNTIHByaW1pdGl2ZSBzdHJpbmcsIE5VTAorUEFTUyBwcmltaXRp
dmUgc3RyaW5nLCBhc3RyYWwgY2hhcmFjdGVyCitQQVNTIHByaW1pdGl2ZSBudW1iZXIsIDAuMgor
UEFTUyBwcmltaXRpdmUgbnVtYmVyLCAwCitQQVNTIHByaW1pdGl2ZSBudW1iZXIsIC0wCitQQVNT
IHByaW1pdGl2ZSBudW1iZXIsIE5hTgorUEFTUyBwcmltaXRpdmUgbnVtYmVyLCBJbmZpbml0eQor
UEFTUyBwcmltaXRpdmUgbnVtYmVyLCAtSW5maW5pdHkKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwg
OTAwNzE5OTI1NDc0MDk5MgorUEFTUyBwcmltaXRpdmUgbnVtYmVyLCAtOTAwNzE5OTI1NDc0MDk5
MgorUEFTUyBwcmltaXRpdmUgbnVtYmVyLCA5MDA3MTk5MjU0NzQwOTk0CitQQVNTIHByaW1pdGl2
ZSBudW1iZXIsIC05MDA3MTk5MjU0NzQwOTk0CitQQVNTIHByaW1pdGl2ZSBCaWdJbnQsIDBuCitQ
QVNTIHByaW1pdGl2ZSBCaWdJbnQsIC0wbgorUEFTUyBwcmltaXRpdmUgQmlnSW50LCAtOTAwNzE5
OTI1NDc0MDk5NDAwMG4KK1BBU1MgcHJpbWl0aXZlIEJpZ0ludCwgLTkwMDcxOTkyNTQ3NDA5OTQw
MDA5MDA3MTk5MjU0NzQwOTk0MDAwOTAwNzE5OTI1NDc0MDk5NDAwMDkwMDcxOTkyNTQ3NDA5OTQw
MDBuCitQQVNTIEFycmF5IHByaW1pdGl2ZXMKK1BBU1MgT2JqZWN0IHByaW1pdGl2ZXMKK1BBU1Mg
Qm9vbGVhbiB0cnVlCitQQVNTIEJvb2xlYW4gZmFsc2UKK1BBU1MgQXJyYXkgQm9vbGVhbiBvYmpl
Y3RzCitQQVNTIE9iamVjdCBCb29sZWFuIG9iamVjdHMKK1BBU1MgU3RyaW5nIGVtcHR5IHN0cmlu
ZworUEFTUyBTdHJpbmcgbG9uZSBoaWdoIHN1cnJvZ2F0ZQorUEFTUyBTdHJpbmcgbG9uZSBsb3cg
c3Vycm9nYXRlCitQQVNTIFN0cmluZyBOVUwKK1BBU1MgU3RyaW5nIGFzdHJhbCBjaGFyYWN0ZXIK
K1BBU1MgQXJyYXkgU3RyaW5nIG9iamVjdHMKK1BBU1MgT2JqZWN0IFN0cmluZyBvYmplY3RzCitQ
QVNTIE51bWJlciAwLjIKK1BBU1MgTnVtYmVyIDAKK1BBU1MgTnVtYmVyIC0wCitQQVNTIE51bWJl
ciBOYU4KK1BBU1MgTnVtYmVyIEluZmluaXR5CitQQVNTIE51bWJlciAtSW5maW5pdHkKK1BBU1Mg
TnVtYmVyIDkwMDcxOTkyNTQ3NDA5OTIKK1BBU1MgTnVtYmVyIC05MDA3MTk5MjU0NzQwOTkyCitQ
QVNTIE51bWJlciA5MDA3MTk5MjU0NzQwOTk0CitQQVNTIE51bWJlciAtOTAwNzE5OTI1NDc0MDk5
NAorUEFTUyBCaWdJbnQgLTkwMDcxOTkyNTQ3NDA5OTRuCitQQVNTIEFycmF5IE51bWJlciBvYmpl
Y3RzCitQQVNTIE9iamVjdCBOdW1iZXIgb2JqZWN0cworUEFTUyBEYXRlIDAKK1BBU1MgRGF0ZSAt
MAorUEFTUyBEYXRlIC04LjY0ZTE1CitQQVNTIERhdGUgOC42NGUxNQorUEFTUyBBcnJheSBEYXRl
IG9iamVjdHMKK1BBU1MgT2JqZWN0IERhdGUgb2JqZWN0cworUEFTUyBSZWdFeHAgZmxhZ3MgYW5k
IGxhc3RJbmRleAorUEFTUyBSZWdFeHAgc3RpY2t5IGZsYWcKK1BBU1MgUmVnRXhwIHVuaWNvZGUg
ZmxhZworUEFTUyBSZWdFeHAgZW1wdHkKK1BBU1MgUmVnRXhwIHNsYXNoCitQQVNTIFJlZ0V4cCBu
ZXcgbGluZQorUEFTUyBBcnJheSBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgZmxhZ3MgYW5kIGxhc3RJ
bmRleAorUEFTUyBBcnJheSBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgc3RpY2t5IGZsYWcKK1BBU1Mg
QXJyYXkgUmVnRXhwIG9iamVjdCwgUmVnRXhwIHVuaWNvZGUgZmxhZworUEFTUyBBcnJheSBSZWdF
eHAgb2JqZWN0LCBSZWdFeHAgZW1wdHkKK1BBU1MgQXJyYXkgUmVnRXhwIG9iamVjdCwgUmVnRXhw
IHNsYXNoCitQQVNTIEFycmF5IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBuZXcgbGluZQorUEFTUyBP
YmplY3QgUmVnRXhwIG9iamVjdCwgUmVnRXhwIGZsYWdzIGFuZCBsYXN0SW5kZXgKK1BBU1MgT2Jq
ZWN0IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBzdGlja3kgZmxhZworUEFTUyBPYmplY3QgUmVnRXhw
IG9iamVjdCwgUmVnRXhwIHVuaWNvZGUgZmxhZworUEFTUyBPYmplY3QgUmVnRXhwIG9iamVjdCwg
UmVnRXhwIGVtcHR5CitQQVNTIE9iamVjdCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgc2xhc2gKK1BB
U1MgT2JqZWN0IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBuZXcgbGluZQorUEFTUyBCbG9iIGJhc2lj
CitQQVNTIEJsb2IgdW5wYWlyZWQgaGlnaCBzdXJyb2dhdGUgKGludmFsaWQgdXRmLTgpCitQQVNT
IEJsb2IgdW5wYWlyZWQgbG93IHN1cnJvZ2F0ZSAoaW52YWxpZCB1dGYtOCkKK1BBU1MgQmxvYiBw
YWlyZWQgc3Vycm9nYXRlcyAoaW52YWxpZCB1dGYtOCkKK1BBU1MgQmxvYiBlbXB0eQorUEFTUyBC
bG9iIE5VTAorUEFTUyBBcnJheSBCbG9iIG9iamVjdCwgQmxvYiBiYXNpYworUEFTUyBBcnJheSBC
bG9iIG9iamVjdCwgQmxvYiB1bnBhaXJlZCBoaWdoIHN1cnJvZ2F0ZSAoaW52YWxpZCB1dGYtOCkK
K1BBU1MgQXJyYXkgQmxvYiBvYmplY3QsIEJsb2IgdW5wYWlyZWQgbG93IHN1cnJvZ2F0ZSAoaW52
YWxpZCB1dGYtOCkKK1BBU1MgQXJyYXkgQmxvYiBvYmplY3QsIEJsb2IgcGFpcmVkIHN1cnJvZ2F0
ZXMgKGludmFsaWQgdXRmLTgpCitQQVNTIEFycmF5IEJsb2Igb2JqZWN0LCBCbG9iIGVtcHR5CitQ
QVNTIEFycmF5IEJsb2Igb2JqZWN0LCBCbG9iIE5VTAorUEFTUyBBcnJheSBCbG9iIG9iamVjdCwg
dHdvIEJsb2JzCitQQVNTIE9iamVjdCBCbG9iIG9iamVjdCwgQmxvYiBiYXNpYworUEFTUyBPYmpl
Y3QgQmxvYiBvYmplY3QsIEJsb2IgdW5wYWlyZWQgaGlnaCBzdXJyb2dhdGUgKGludmFsaWQgdXRm
LTgpCitQQVNTIE9iamVjdCBCbG9iIG9iamVjdCwgQmxvYiB1bnBhaXJlZCBsb3cgc3Vycm9nYXRl
IChpbnZhbGlkIHV0Zi04KQorUEFTUyBPYmplY3QgQmxvYiBvYmplY3QsIEJsb2IgcGFpcmVkIHN1
cnJvZ2F0ZXMgKGludmFsaWQgdXRmLTgpCitQQVNTIE9iamVjdCBCbG9iIG9iamVjdCwgQmxvYiBl
bXB0eQorUEFTUyBPYmplY3QgQmxvYiBvYmplY3QsIEJsb2IgTlVMCitQQVNTIEZpbGUgYmFzaWMK
K1BBU1MgRmlsZUxpc3QgZW1wdHkKK1BBU1MgQXJyYXkgRmlsZUxpc3Qgb2JqZWN0LCBGaWxlTGlz
dCBlbXB0eQorUEFTUyBPYmplY3QgRmlsZUxpc3Qgb2JqZWN0LCBGaWxlTGlzdCBlbXB0eQorUEFT
UyBJbWFnZURhdGEgMXgxIHRyYW5zcGFyZW50IGJsYWNrCitQQVNTIEltYWdlRGF0YSAxeDEgbm9u
LXRyYW5zcGFyZW50IG5vbi1ibGFjaworUEFTUyBBcnJheSBJbWFnZURhdGEgb2JqZWN0LCBJbWFn
ZURhdGEgMXgxIHRyYW5zcGFyZW50IGJsYWNrCitQQVNTIEFycmF5IEltYWdlRGF0YSBvYmplY3Qs
IEltYWdlRGF0YSAxeDEgbm9uLXRyYW5zcGFyZW50IG5vbi1ibGFjaworUEFTUyBPYmplY3QgSW1h
Z2VEYXRhIG9iamVjdCwgSW1hZ2VEYXRhIDF4MSB0cmFuc3BhcmVudCBibGFjaworUEFTUyBPYmpl
Y3QgSW1hZ2VEYXRhIG9iamVjdCwgSW1hZ2VEYXRhIDF4MSBub24tdHJhbnNwYXJlbnQgbm9uLWJs
YWNrCitQQVNTIEFycmF5IHNwYXJzZQorUEFTUyBBcnJheSB3aXRoIG5vbi1pbmRleCBwcm9wZXJ0
eQorUEFTUyBPYmplY3Qgd2l0aCBpbmRleCBwcm9wZXJ0eSBhbmQgbGVuZ3RoCitQQVNTIEFycmF5
IHdpdGggY2lyY3VsYXIgcmVmZXJlbmNlCitQQVNTIE9iamVjdCB3aXRoIGNpcmN1bGFyIHJlZmVy
ZW5jZQorUEFTUyBBcnJheSB3aXRoIGlkZW50aWNhbCBwcm9wZXJ0eSB2YWx1ZXMKK1BBU1MgT2Jq
ZWN0IHdpdGggaWRlbnRpY2FsIHByb3BlcnR5IHZhbHVlcworUEFTUyBPYmplY3Qgd2l0aCBwcm9w
ZXJ0eSBvbiBwcm90b3R5cGUKK1BBU1MgT2JqZWN0IHdpdGggbm9uLWVudW1lcmFibGUgcHJvcGVy
dHkKK1BBU1MgT2JqZWN0IHdpdGggbm9uLXdyaXRhYmxlIHByb3BlcnR5CitQQVNTIE9iamVjdCB3
aXRoIG5vbi1jb25maWd1cmFibGUgcHJvcGVydHkKK1BBU1MgSW1hZ2VCaXRtYXAgMXgxIHRyYW5z
cGFyZW50IGJsYWNrCitQQVNTIEltYWdlQml0bWFwIDF4MSBub24tdHJhbnNwYXJlbnQgbm9uLWJs
YWNrCitQQVNTIEFycmF5IEltYWdlQml0bWFwIG9iamVjdCwgSW1hZ2VCaXRtYXAgMXgxIHRyYW5z
cGFyZW50IGJsYWNrCitQQVNTIEFycmF5IEltYWdlQml0bWFwIG9iamVjdCwgSW1hZ2VCaXRtYXAg
MXgxIHRyYW5zcGFyZW50IG5vbi1ibGFjaworUEFTUyBPYmplY3QgSW1hZ2VCaXRtYXAgb2JqZWN0
LCBJbWFnZUJpdG1hcCAxeDEgdHJhbnNwYXJlbnQgYmxhY2sKK1BBU1MgT2JqZWN0IEltYWdlQml0
bWFwIG9iamVjdCwgSW1hZ2VCaXRtYXAgMXgxIHRyYW5zcGFyZW50IG5vbi1ibGFjaworRkFJTCBP
YmplY3RQcm90b3R5cGUgbXVzdCBsb3NlIGl0cyBleG90aWMtbmVzcyB3aGVuIGNsb25lZCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xv
bmVFcnJvcjogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCitQQVNTIEFycmF5QnVmZmVy
CitQQVNTIE1lc3NhZ2VQb3J0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3Ry
dWN0dXJlZC1jbG9uZS5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1j
bG9uZS5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYw
OTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1
cmVkLWNsb25lLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVp
cmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0
ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVj
dHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25l
L3N0cnVjdHVyZWQtY2xvbmUuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0Zjk2ZjMzZmRmODgxMjdhMWM2
ZDA2Njc4MWY3YWI1Yjg4NGI3NDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNs
b25lL3N0cnVjdHVyZWQtY2xvbmUuYW55LmpzCkBAIC0wLDAgKzEsOSBAQAorLy8gTUVUQTogdGl0
bGU9c3RydWN0dXJlZENsb25lKCkgdGVzdHMKKy8vIE1FVEE6IHNjcmlwdD0vaHRtbC93ZWJhcHBh
cGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS1iYXR0ZXJ5LW9mLXRlc3RzLmpz
CisvLyBNRVRBOiBzY3JpcHQ9L2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3N0cnVj
dHVyZWQtY2xvbmUtYmF0dGVyeS1vZi10ZXN0cy13aXRoLXRyYW5zZmVyYWJsZXMuanMKKy8vIE1F
VEE6IHNjcmlwdD0vaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1j
bG9uZS1iYXR0ZXJ5LW9mLXRlc3RzLWhhcm5lc3MuanMKKworcnVuU3RydWN0dXJlZENsb25lQmF0
dGVyeU9mVGVzdHMoeworICBzdHJ1Y3R1cmVkQ2xvbmU6IChvYmosIHRyYW5zZmVyKSA9PiBzZWxm
LnN0cnVjdHVyZWRDbG9uZShvYmosIHsgdHJhbnNmZXIgfSksCisgIGhhc0RvY3VtZW50OiB0eXBl
b2YgZG9jdW1lbnQgIT09ICJ1bmRlZmluZWQiLAorfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1
cmVkLWNsb25lL3N0cnVjdHVyZWQtY2xvbmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9z
dHJ1Y3R1cmVkLWNsb25lL3N0cnVjdHVyZWQtY2xvbmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDc2MjY0ZWFmMmYwNGFlZDI4NTgzM2FkZWM0OTk4ZTExM2QzZGEzYwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQtY2xvbmUvc3RydWN0dXJlZC1jbG9uZS5hbnku
d29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwOSBAQAorCitQQVNTIHByaW1pdGl2ZSB1
bmRlZmluZWQKK1BBU1MgcHJpbWl0aXZlIG51bGwKK1BBU1MgcHJpbWl0aXZlIHRydWUKK1BBU1Mg
cHJpbWl0aXZlIGZhbHNlCitQQVNTIHByaW1pdGl2ZSBzdHJpbmcsIGVtcHR5IHN0cmluZworUEFT
UyBwcmltaXRpdmUgc3RyaW5nLCBsb25lIGhpZ2ggc3Vycm9nYXRlCitQQVNTIHByaW1pdGl2ZSBz
dHJpbmcsIGxvbmUgbG93IHN1cnJvZ2F0ZQorUEFTUyBwcmltaXRpdmUgc3RyaW5nLCBOVUwKK1BB
U1MgcHJpbWl0aXZlIHN0cmluZywgYXN0cmFsIGNoYXJhY3RlcgorUEFTUyBwcmltaXRpdmUgbnVt
YmVyLCAwLjIKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgMAorUEFTUyBwcmltaXRpdmUgbnVtYmVy
LCAtMAorUEFTUyBwcmltaXRpdmUgbnVtYmVyLCBOYU4KK1BBU1MgcHJpbWl0aXZlIG51bWJlciwg
SW5maW5pdHkKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgLUluZmluaXR5CitQQVNTIHByaW1pdGl2
ZSBudW1iZXIsIDkwMDcxOTkyNTQ3NDA5OTIKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgLTkwMDcx
OTkyNTQ3NDA5OTIKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgOTAwNzE5OTI1NDc0MDk5NAorUEFT
UyBwcmltaXRpdmUgbnVtYmVyLCAtOTAwNzE5OTI1NDc0MDk5NAorUEFTUyBwcmltaXRpdmUgQmln
SW50LCAwbgorUEFTUyBwcmltaXRpdmUgQmlnSW50LCAtMG4KK1BBU1MgcHJpbWl0aXZlIEJpZ0lu
dCwgLTkwMDcxOTkyNTQ3NDA5OTQwMDBuCitQQVNTIHByaW1pdGl2ZSBCaWdJbnQsIC05MDA3MTk5
MjU0NzQwOTk0MDAwOTAwNzE5OTI1NDc0MDk5NDAwMDkwMDcxOTkyNTQ3NDA5OTQwMDA5MDA3MTk5
MjU0NzQwOTk0MDAwbgorUEFTUyBBcnJheSBwcmltaXRpdmVzCitQQVNTIE9iamVjdCBwcmltaXRp
dmVzCitQQVNTIEJvb2xlYW4gdHJ1ZQorUEFTUyBCb29sZWFuIGZhbHNlCitQQVNTIEFycmF5IEJv
b2xlYW4gb2JqZWN0cworUEFTUyBPYmplY3QgQm9vbGVhbiBvYmplY3RzCitQQVNTIFN0cmluZyBl
bXB0eSBzdHJpbmcKK1BBU1MgU3RyaW5nIGxvbmUgaGlnaCBzdXJyb2dhdGUKK1BBU1MgU3RyaW5n
IGxvbmUgbG93IHN1cnJvZ2F0ZQorUEFTUyBTdHJpbmcgTlVMCitQQVNTIFN0cmluZyBhc3RyYWwg
Y2hhcmFjdGVyCitQQVNTIEFycmF5IFN0cmluZyBvYmplY3RzCitQQVNTIE9iamVjdCBTdHJpbmcg
b2JqZWN0cworUEFTUyBOdW1iZXIgMC4yCitQQVNTIE51bWJlciAwCitQQVNTIE51bWJlciAtMAor
UEFTUyBOdW1iZXIgTmFOCitQQVNTIE51bWJlciBJbmZpbml0eQorUEFTUyBOdW1iZXIgLUluZmlu
aXR5CitQQVNTIE51bWJlciA5MDA3MTk5MjU0NzQwOTkyCitQQVNTIE51bWJlciAtOTAwNzE5OTI1
NDc0MDk5MgorUEFTUyBOdW1iZXIgOTAwNzE5OTI1NDc0MDk5NAorUEFTUyBOdW1iZXIgLTkwMDcx
OTkyNTQ3NDA5OTQKK1BBU1MgQmlnSW50IC05MDA3MTk5MjU0NzQwOTk0bgorUEFTUyBBcnJheSBO
dW1iZXIgb2JqZWN0cworUEFTUyBPYmplY3QgTnVtYmVyIG9iamVjdHMKK1BBU1MgRGF0ZSAwCitQ
QVNTIERhdGUgLTAKK1BBU1MgRGF0ZSAtOC42NGUxNQorUEFTUyBEYXRlIDguNjRlMTUKK1BBU1Mg
QXJyYXkgRGF0ZSBvYmplY3RzCitQQVNTIE9iamVjdCBEYXRlIG9iamVjdHMKK1BBU1MgUmVnRXhw
IGZsYWdzIGFuZCBsYXN0SW5kZXgKK1BBU1MgUmVnRXhwIHN0aWNreSBmbGFnCitQQVNTIFJlZ0V4
cCB1bmljb2RlIGZsYWcKK1BBU1MgUmVnRXhwIGVtcHR5CitQQVNTIFJlZ0V4cCBzbGFzaAorUEFT
UyBSZWdFeHAgbmV3IGxpbmUKK1BBU1MgQXJyYXkgUmVnRXhwIG9iamVjdCwgUmVnRXhwIGZsYWdz
IGFuZCBsYXN0SW5kZXgKK1BBU1MgQXJyYXkgUmVnRXhwIG9iamVjdCwgUmVnRXhwIHN0aWNreSBm
bGFnCitQQVNTIEFycmF5IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCB1bmljb2RlIGZsYWcKK1BBU1Mg
QXJyYXkgUmVnRXhwIG9iamVjdCwgUmVnRXhwIGVtcHR5CitQQVNTIEFycmF5IFJlZ0V4cCBvYmpl
Y3QsIFJlZ0V4cCBzbGFzaAorUEFTUyBBcnJheSBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgbmV3IGxp
bmUKK1BBU1MgT2JqZWN0IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBmbGFncyBhbmQgbGFzdEluZGV4
CitQQVNTIE9iamVjdCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgc3RpY2t5IGZsYWcKK1BBU1MgT2Jq
ZWN0IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCB1bmljb2RlIGZsYWcKK1BBU1MgT2JqZWN0IFJlZ0V4
cCBvYmplY3QsIFJlZ0V4cCBlbXB0eQorUEFTUyBPYmplY3QgUmVnRXhwIG9iamVjdCwgUmVnRXhw
IHNsYXNoCitQQVNTIE9iamVjdCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgbmV3IGxpbmUKK1BBU1Mg
QmxvYiBiYXNpYworUEFTUyBCbG9iIHVucGFpcmVkIGhpZ2ggc3Vycm9nYXRlIChpbnZhbGlkIHV0
Zi04KQorUEFTUyBCbG9iIHVucGFpcmVkIGxvdyBzdXJyb2dhdGUgKGludmFsaWQgdXRmLTgpCitQ
QVNTIEJsb2IgcGFpcmVkIHN1cnJvZ2F0ZXMgKGludmFsaWQgdXRmLTgpCitQQVNTIEJsb2IgZW1w
dHkKK1BBU1MgQmxvYiBOVUwKK1BBU1MgQXJyYXkgQmxvYiBvYmplY3QsIEJsb2IgYmFzaWMKK1BB
U1MgQXJyYXkgQmxvYiBvYmplY3QsIEJsb2IgdW5wYWlyZWQgaGlnaCBzdXJyb2dhdGUgKGludmFs
aWQgdXRmLTgpCitQQVNTIEFycmF5IEJsb2Igb2JqZWN0LCBCbG9iIHVucGFpcmVkIGxvdyBzdXJy
b2dhdGUgKGludmFsaWQgdXRmLTgpCitQQVNTIEFycmF5IEJsb2Igb2JqZWN0LCBCbG9iIHBhaXJl
ZCBzdXJyb2dhdGVzIChpbnZhbGlkIHV0Zi04KQorUEFTUyBBcnJheSBCbG9iIG9iamVjdCwgQmxv
YiBlbXB0eQorUEFTUyBBcnJheSBCbG9iIG9iamVjdCwgQmxvYiBOVUwKK1BBU1MgQXJyYXkgQmxv
YiBvYmplY3QsIHR3byBCbG9icworUEFTUyBPYmplY3QgQmxvYiBvYmplY3QsIEJsb2IgYmFzaWMK
K1BBU1MgT2JqZWN0IEJsb2Igb2JqZWN0LCBCbG9iIHVucGFpcmVkIGhpZ2ggc3Vycm9nYXRlIChp
bnZhbGlkIHV0Zi04KQorUEFTUyBPYmplY3QgQmxvYiBvYmplY3QsIEJsb2IgdW5wYWlyZWQgbG93
IHN1cnJvZ2F0ZSAoaW52YWxpZCB1dGYtOCkKK1BBU1MgT2JqZWN0IEJsb2Igb2JqZWN0LCBCbG9i
IHBhaXJlZCBzdXJyb2dhdGVzIChpbnZhbGlkIHV0Zi04KQorUEFTUyBPYmplY3QgQmxvYiBvYmpl
Y3QsIEJsb2IgZW1wdHkKK1BBU1MgT2JqZWN0IEJsb2Igb2JqZWN0LCBCbG9iIE5VTAorUEFTUyBG
aWxlIGJhc2ljCitQQVNTIEFycmF5IHNwYXJzZQorUEFTUyBBcnJheSB3aXRoIG5vbi1pbmRleCBw
cm9wZXJ0eQorUEFTUyBPYmplY3Qgd2l0aCBpbmRleCBwcm9wZXJ0eSBhbmQgbGVuZ3RoCitQQVNT
IEFycmF5IHdpdGggY2lyY3VsYXIgcmVmZXJlbmNlCitQQVNTIE9iamVjdCB3aXRoIGNpcmN1bGFy
IHJlZmVyZW5jZQorUEFTUyBBcnJheSB3aXRoIGlkZW50aWNhbCBwcm9wZXJ0eSB2YWx1ZXMKK1BB
U1MgT2JqZWN0IHdpdGggaWRlbnRpY2FsIHByb3BlcnR5IHZhbHVlcworUEFTUyBPYmplY3Qgd2l0
aCBwcm9wZXJ0eSBvbiBwcm90b3R5cGUKK1BBU1MgT2JqZWN0IHdpdGggbm9uLWVudW1lcmFibGUg
cHJvcGVydHkKK1BBU1MgT2JqZWN0IHdpdGggbm9uLXdyaXRhYmxlIHByb3BlcnR5CitQQVNTIE9i
amVjdCB3aXRoIG5vbi1jb25maWd1cmFibGUgcHJvcGVydHkKK0ZBSUwgT2JqZWN0UHJvdG90eXBl
IG11c3QgbG9zZSBpdHMgZXhvdGljLW5lc3Mgd2hlbiBjbG9uZWQgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3I6IFRoZSBv
YmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgorUEFTUyBBcnJheUJ1ZmZlcgorUEFTUyBNZXNzYWdl
UG9ydAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3N0cnVjdHVyZWQtY2xvbmUu
YW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNsb25lLmFu
eS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYw
OTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1
cmVkLWNsb25lLmFueS53b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBp
cyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1w
bGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBp
cy9zdHJ1Y3R1cmVkLWNsb25lL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS93
M2MtaW1wb3J0LmxvZwppbmRleCAwOGNjOTYyMDFkYTZiYzI0ZGFiZWQ0MDMxMmZlZWUxNDk4YTlh
MWE5Li4xYWZkYjhjNmRmNzBmNDg2OGU3YmI1NmQzN2I1ODAxN2E2MTE5YzEyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBw
YXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3N0cnVjdHVyZWQt
Y2xvbmUvdzNjLWltcG9ydC5sb2cKQEAgLTE3LDMgKzE3LDQgQEAgTGlzdCBvZiBmaWxlczoKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBp
cy9zdHJ1Y3R1cmVkLWNsb25lL3N0cnVjdHVyZWQtY2xvbmUtYmF0dGVyeS1vZi10ZXN0cy1oYXJu
ZXNzLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1cmVkLWNsb25lLWJhdHRlcnktb2Yt
dGVzdHMtd2l0aC10cmFuc2ZlcmFibGVzLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc3RydWN0dXJlZC1jbG9uZS9zdHJ1Y3R1
cmVkLWNsb25lLWJhdHRlcnktb2YtdGVzdHMuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zdHJ1Y3R1cmVkLWNsb25lL3N0cnVj
dHVyZWQtY2xvbmUuYW55LmpzCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>