<?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>190539</bug_id>
          
          <creation_ts>2018-10-12 14:35:27 -0700</creation_ts>
          <short_desc>Window&apos;s properties such as &apos;location&apos; should not become null when it loses its browsing context</short_desc>
          <delta_ts>2018-10-16 13:29:15 -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>DOM</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>
          
          <blocked>190595</blocked>
    
    <blocked>190636</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1468596</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-12 14:35:27 -0700</bug_when>
    <thetext>Window&apos;s properties such as &apos;location&apos; should not become null when it loses its browsing context. This Webkit behavior is not standard and does not match other browsers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468651</commentid>
    <comment_count>1</comment_count>
      <attachid>352219</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-12 15:46:52 -0700</bug_when>
    <thetext>Created attachment 352219
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468675</commentid>
    <comment_count>2</comment_count>
      <attachid>352226</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-12 16:06:39 -0700</bug_when>
    <thetext>Created attachment 352226
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468724</commentid>
    <comment_count>3</comment_count>
      <attachid>352226</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-10-12 17:04:45 -0700</bug_when>
    <thetext>Comment on attachment 352226
Patch

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

&gt; LayoutTests/imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url.window-expected.txt:3
&gt; -FAIL document.open() does not change document&apos;s URL (active but not fully active document) null is not an object (evaluating &apos;childWin.location.href&apos;)
&gt; +FAIL document.open() does not change document&apos;s URL (active but not fully active document) assert_equals: expected &quot;http://localhost:8800/common/blank.html&quot; but got &quot;&quot;

This doesn&apos;t look great.  What&apos;s going on here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468727</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-12 17:08:43 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #3)
&gt; Comment on attachment 352226 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=352226&amp;action=review
&gt; 
&gt; &gt; LayoutTests/imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url.window-expected.txt:3
&gt; &gt; -FAIL document.open() does not change document&apos;s URL (active but not fully active document) null is not an object (evaluating &apos;childWin.location.href&apos;)
&gt; &gt; +FAIL document.open() does not change document&apos;s URL (active but not fully active document) assert_equals: expected &quot;http://localhost:8800/common/blank.html&quot; but got &quot;&quot;
&gt; 
&gt; This doesn&apos;t look great.  What&apos;s going on here?

It is a progression since location is no longer null. However, we are still failing because the test expects the URL to persist after the window is detached.

We are currently discussing standardizing what the URL should be here:
https://github.com/whatwg/html/issues/3959

Right now browsers behave like so or location.href:
- Firefox and Safari (after this patch): &quot;&quot;
- Edge: &quot;about:blank&quot;
- Chrome: undefined

The test&apos;s check would fail in all browsers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468741</commentid>
    <comment_count>5</comment_count>
      <attachid>352226</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-12 17:42:04 -0700</bug_when>
    <thetext>Comment on attachment 352226
Patch

Rejecting attachment 352226 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 352226, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 5000 characters of output:
sts/http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html
	M	LayoutTests/http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html
	M	LayoutTests/http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html
	M	LayoutTests/imported/w3c/ChangeLog
	M	LayoutTests/imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url.window-expected.txt
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/bindings/js/JSDOMBindingSecurity.cpp
	M	Source/WebCore/bindings/js/JSDOMBindingSecurity.h
	M	Source/WebCore/bindings/js/JSDOMWindowProperties.cpp
	M	Source/WebCore/bindings/js/JSLocationCustom.cpp
	M	Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
	M	Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp
	M	Source/WebCore/crypto/SubtleCrypto.cpp
	M	Source/WebCore/crypto/SubtleCrypto.h
	M	Source/WebCore/page/Crypto.cpp
	M	Source/WebCore/page/Crypto.h
	M	Source/WebCore/page/DOMWindow.cpp
	M	Source/WebCore/page/DOMWindow.h
	M	Source/WebCore/page/DOMWindow.idl
	M	Source/WebCore/workers/WorkerGlobalScope.cpp

ERROR from SVN:
A repository hook failed: Commit blocked by pre-commit hook (exit code 1) with output:
Commits are currently disabled while we update infrastructure.
W: 218abe29b566a06fd2973d601416627f65df110a and refs/remotes/origin/master differ, using rebase:
:040000 040000 6bbd0664e6a439c15f87cd969e1eee70148fe569 92eda367eb67787361b8f4da2a96959390505aa7 M	LayoutTests
:040000 040000 1d754bfd1dfd42e7ffd6131d53ac4117000f8fbe db349c7d53434e63104b36e19511df8a3253ad7d M	Source
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	A	LayoutTests/http/tests/dom/cross-origin-detached-window-properties-expected.txt
	A	LayoutTests/http/tests/dom/cross-origin-detached-window-properties.html
	A	LayoutTests/http/tests/dom/resources/post-message-to-parent-when-loaded.html
	A	LayoutTests/http/tests/dom/same-origin-detached-window-properties-expected.txt
	A	LayoutTests/http/tests/dom/same-origin-detached-window-properties.html
	M	LayoutTests/ChangeLog
	M	LayoutTests/fast/frames/detached-frame-property-expected.txt
	M	LayoutTests/fast/frames/detached-frame-property.html
	M	LayoutTests/http/tests/security/named-window-property-from-same-origin-inactive-document-expected.txt
	M	LayoutTests/http/tests/security/named-window-property-from-same-origin-inactive-document.html
	M	LayoutTests/http/tests/security/xss-DENIED-named-window-property-from-cross-origin-inactive-document-expected.txt
	M	LayoutTests/http/tests/security/xss-DENIED-named-window-property-from-cross-origin-inactive-document.html
	M	LayoutTests/http/tests/security/xss-DENIED-script-inject-into-inactive-window.html
	M	LayoutTests/http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html
	M	LayoutTests/http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html
	M	LayoutTests/http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html
	M	LayoutTests/imported/w3c/ChangeLog
	M	LayoutTests/imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url.window-expected.txt
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/bindings/js/JSDOMBindingSecurity.cpp
	M	Source/WebCore/bindings/js/JSDOMBindingSecurity.h
	M	Source/WebCore/bindings/js/JSDOMWindowProperties.cpp
	M	Source/WebCore/bindings/js/JSLocationCustom.cpp
	M	Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
	M	Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp
	M	Source/WebCore/crypto/SubtleCrypto.cpp
	M	Source/WebCore/crypto/SubtleCrypto.h
	M	Source/WebCore/page/Crypto.cpp
	M	Source/WebCore/page/Crypto.h
	M	Source/WebCore/page/DOMWindow.cpp
	M	Source/WebCore/page/DOMWindow.h
	M	Source/WebCore/page/DOMWindow.idl
	M	Source/WebCore/workers/WorkerGlobalScope.cpp

ERROR from SVN:
A repository hook failed: Commit blocked by pre-commit hook (exit code 1) with output:
Commits are currently disabled while we update infrastructure.
W: 218abe29b566a06fd2973d601416627f65df110a and refs/remotes/origin/master differ, using rebase:
:040000 040000 6bbd0664e6a439c15f87cd969e1eee70148fe569 92eda367eb67787361b8f4da2a96959390505aa7 M	LayoutTests
:040000 040000 1d754bfd1dfd42e7ffd6131d53ac4117000f8fbe db349c7d53434e63104b36e19511df8a3253ad7d M	Source
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
Current branch master is up to date.

Full output: https://webkit-queues.webkit.org/results/9560157</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469197</commentid>
    <comment_count>6</comment_count>
      <attachid>352226</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-15 07:54:32 -0700</bug_when>
    <thetext>Comment on attachment 352226
Patch

Clearing flags on attachment: 352226

Committed r237105: &lt;https://trac.webkit.org/changeset/237105&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469198</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-15 07:54:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469199</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-15 07:55:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/45271076&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352219</attachid>
            <date>2018-10-12 15:46:52 -0700</date>
            <delta_ts>2018-10-12 16:06:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190539-20181012154651.patch</filename>
            <type>text/plain</type>
            <size>69834</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTJiNjI4NmU0N2YxZGY0
ZTU5YzNlYmFlZGQyZGE2ODBhYTAwYTdlNS4uNjAzMDI3YTAwNzM2ZjJmZDBkZDhiNWY3YTQ0NTY5
YWQ2ZDk4NzA2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE4LTEwLTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2luZG93J3MgcHJvcGVydGll
cyBzdWNoIGFzICdsb2NhdGlvbicgc2hvdWxkIG5vdCBiZWNvbWUgbnVsbCB3aGVuIGl0IGxvc2Vz
IGl0cyBicm93c2luZyBjb250ZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTA1MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXaW5kb3cncyBwcm9wZXJ0aWVzIHN1Y2ggYXMgJ2xvY2F0aW9uJyBzaG91
bGQgbm90IGJlY29tZSBudWxsIHdoZW4gaXQgbG9zZXMgaXRzIGJyb3dzaW5nIGNvbnRleHQuCisg
ICAgICAgIFRoaXMgV2Via2l0IGJlaGF2aW9yIGlzIG5vdCBzdGFuZGFyZCBhbmQgZG9lcyBub3Qg
bWF0Y2ggb3RoZXIgYnJvd3NlcnMgc28gdGhpcyBwYXRjaCBtYWtlcyBpdCBzbworICAgICAgICB0
aGF0IHRob3NlIHByb3BlcnRpZXMgcGVyc2lzdC4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0
cy9kb20vY3Jvc3Mtb3JpZ2luLWRldGFjaGVkLXdpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKKyAgICAg
ICAgICAgICAgIGh0dHAvdGVzdHMvZG9tL3NhbWUtb3JpZ2luLWRldGFjaGVkLXdpbmRvdy1wcm9w
ZXJ0aWVzLmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZ1NlY3VyaXR5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nl
c3NUb0RPTVdpbmRvdyk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nU2VjdXJp
dHkuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1Byb3BlcnRpZXMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6anNET01XaW5kb3dQcm9wZXJ0aWVzR2V0T3duUHJvcGVydHlTbG90
TmFtZWRJdGVtR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93UHJvcGVydGll
czo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0xvY2F0aW9u
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldE93blByb3BlcnR5U2xvdENvbW1vbik6
CisgICAgICAgIChXZWJDb3JlOjpwdXRDb21tb24pOgorICAgICAgICAoV2ViQ29yZTo6SlNMb2Nh
dGlvbjo6ZGVsZXRlUHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6SlNMb2NhdGlvbjo6ZGVs
ZXRlUHJvcGVydHlCeUluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkpTTG9jYXRpb246OmdldE93
blByb3BlcnR5TmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6SlNMb2NhdGlvbjo6ZGVmaW5lT3du
UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6SlNMb2NhdGlvbjo6Z2V0UHJvdG90eXBlKToK
KyAgICAgICAgKFdlYkNvcmU6OkpTTG9jYXRpb246OnRvU3RyaW5nTmFtZSk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUF0
dHJpYnV0ZUdldHRlckJvZHlEZWZpbml0aW9uKToKKyAgICAgICAgKEdlbmVyYXRlQXR0cmlidXRl
U2V0dGVyQm9keURlZmluaXRpb24pOgorICAgICAgICAoR2VuZXJhdGVPcGVyYXRpb25Cb2R5RGVm
aW5pdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2
ZURPTU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RBY3RpdmVET01PYmplY3RF
eGNpdGluZ0F0dHJHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0QWN0aXZlRE9NT2Jq
ZWN0UHJvdG90eXBlRnVuY3Rpb25FeGNpdGluZ0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogY3J5
cHRvL1N1YnRsZUNyeXB0by5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJ0bGVDcnlwdG86OlN1
YnRsZUNyeXB0byk6CisgICAgICAgICogY3J5cHRvL1N1YnRsZUNyeXB0by5oOgorICAgICAgICAo
V2ViQ29yZTo6U3VidGxlQ3J5cHRvOjpjcmVhdGUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6fkRvY3VtZW50KToKKyAgICAgICAgKiBw
YWdlL0NyeXB0by5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG86OkNyeXB0byk6CisgICAg
ICAgICogcGFnZS9DcnlwdG8uaDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0bzo6Y3JlYXRlKToK
KyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5k
b3c6On5ET01XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpmcmFtZURlc3Ry
b3llZCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNjcmVlbik6CisgICAgICAgIChX
ZWJDb3JlOjpET01XaW5kb3c6Omhpc3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93
OjpjcnlwdG8pOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojpsb2NhdGlvbmJhcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6Om1lbnViYXIpOgorICAgICAgICAoV2ViQ29yZTo6
RE9NV2luZG93OjpwZXJzb25hbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNj
cm9sbGJhcnMpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzdGF0dXNiYXIpOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojp0b29sYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVdpbmRvdzo6Y29uc29sZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmFw
cGxpY2F0aW9uQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpuYXZpZ2F0b3Ip
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpwZXJmb3JtYW5jZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmxvY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVdpbmRvdzo6dmlzdWFsVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojpz
dHlsZU1lZGlhKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2Uv
RE9NV2luZG93LmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpjcnlwdG8pOgorCiAyMDE4LTEw
LTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBET01DYWNo
ZSBzaG91bGQgZGVyZWZlcmVuY2UgaXRzZWxmIGFzIHNvb24gYXMgc3RvcHBlZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nU2VjdXJpdHkuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nU2VjdXJpdHkuY3BwCmluZGV4
IDcwZDc0YjJjMjUzYTdmNGQwZGU2NzYyYWVhYjZmZWIwZWY2NTRhNTEuLjc4NmEwOWRiODQ0YzE1
MDU5NzcwM2E4ZTRhOTRlNmRjNTNiYmUwOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQmluZGluZ1NlY3VyaXR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUJpbmRpbmdTZWN1cml0eS5jcHAKQEAgLTc3LDYgKzc3LDExIEBAIGJv
b2wgQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoRXhlY1N0YXRlJiBz
dGF0ZSwgRnJhbWUmIGZyYW1lLCBTCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEJpbmRp
bmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhFeGVjU3RhdGUmIHN0YXRl
LCBET01XaW5kb3cqIGdsb2JhbE9iamVjdCwgU3RyaW5nJiBtZXNzYWdlKQoreworICAgIHJldHVy
biBnbG9iYWxPYmplY3QgJiYgc2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhzdGF0ZSwgKmds
b2JhbE9iamVjdCwgbWVzc2FnZSk7Cit9CisKIGJvb2wgQmluZGluZ1NlY3VyaXR5OjpzaG91bGRB
bGxvd0FjY2Vzc1RvRE9NV2luZG93KEV4ZWNTdGF0ZSYgc3RhdGUsIERPTVdpbmRvdyYgZ2xvYmFs
T2JqZWN0LCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgaWYgKEJpbmRpbmdTZWN1cml0eTo6c2hv
dWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdygmc3RhdGUsIGdsb2JhbE9iamVjdCwgRG9Ob3RSZXBv
cnRTZWN1cml0eUVycm9yKSkKQEAgLTkwLDYgKzk1LDExIEBAIGJvb2wgQmluZGluZ1NlY3VyaXR5
OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgRE9N
V2luCiAgICAgcmV0dXJuIGNhbkFjY2Vzc0RvY3VtZW50KHN0YXRlLCB0YXJnZXQuZG9jdW1lbnQo
KSwgcmVwb3J0aW5nT3B0aW9uKTsKIH0KIAorYm9vbCBCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFs
bG93QWNjZXNzVG9ET01XaW5kb3coSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBET01XaW5kb3cqIHRh
cmdldCwgU2VjdXJpdHlSZXBvcnRpbmdPcHRpb24gcmVwb3J0aW5nT3B0aW9uKQoreworICAgIHJl
dHVybiB0YXJnZXQgJiYgc2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhzdGF0ZSwgKnRhcmdl
dCwgcmVwb3J0aW5nT3B0aW9uKTsKK30KKwogYm9vbCBCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFs
bG93QWNjZXNzVG9GcmFtZShKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEZyYW1lKiB0YXJnZXQsIFNl
Y3VyaXR5UmVwb3J0aW5nT3B0aW9uIHJlcG9ydGluZ09wdGlvbikKIHsKICAgICByZXR1cm4gdGFy
Z2V0ICYmIGNhbkFjY2Vzc0RvY3VtZW50KHN0YXRlLCB0YXJnZXQtPmRvY3VtZW50KCksIHJlcG9y
dGluZ09wdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmdTZWN1cml0eS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5k
aW5nU2VjdXJpdHkuaAppbmRleCAyZjMzODc2ODAzYTBlOGFjZmMwZGQ4MjZmZWZhZWExYzk5MDhk
NGZmLi5lYmRiOGE5MDBkMTc1YzY4MDNkMWJhYWU5YjljMzYxZmIzMmQxMzUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmdTZWN1cml0eS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZ1NlY3VyaXR5LmgKQEAgLTQ5
LDYgKzQ5LDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gRXhjZXB0aW9uT3I8VCo+IGNoZWNrU2Vj
dXJpdHlGb3JOb2RlKEpTQzo6RXhlY1N0YXRlJiwgRXhjZXAKIAogYm9vbCBzaG91bGRBbGxvd0Fj
Y2Vzc1RvRE9NV2luZG93KEpTQzo6RXhlY1N0YXRlKiwgRE9NV2luZG93JiwgU2VjdXJpdHlSZXBv
cnRpbmdPcHRpb24gPSBMb2dTZWN1cml0eUVycm9yKTsKIGJvb2wgc2hvdWxkQWxsb3dBY2Nlc3NU
b0RPTVdpbmRvdyhKU0M6OkV4ZWNTdGF0ZSYsIERPTVdpbmRvdyYsIFN0cmluZyYgbWVzc2FnZSk7
Citib29sIHNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coSlNDOjpFeGVjU3RhdGUqLCBET01X
aW5kb3cqLCBTZWN1cml0eVJlcG9ydGluZ09wdGlvbiA9IExvZ1NlY3VyaXR5RXJyb3IpOworYm9v
bCBzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KEpTQzo6RXhlY1N0YXRlJiwgRE9NV2luZG93
KiwgU3RyaW5nJiBtZXNzYWdlKTsKIGJvb2wgc2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKEpTQzo6
RXhlY1N0YXRlKiwgRnJhbWUqLCBTZWN1cml0eVJlcG9ydGluZ09wdGlvbiA9IExvZ1NlY3VyaXR5
RXJyb3IpOwogYm9vbCBzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoSlNDOjpFeGVjU3RhdGUmLCBG
cmFtZSYsIFN0cmluZyYgbWVzc2FnZSk7CiBib29sIHNob3VsZEFsbG93QWNjZXNzVG9Ob2RlKEpT
Qzo6RXhlY1N0YXRlJiwgTm9kZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dQcm9wZXJ0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93UHJvcGVydGllcy5jcHAKaW5kZXggZTllZWRjODJkOWE2MjU5YzY3NWE2
Nzc3NjNkNjUwODlhMjc5OTNjNC4uMzA4Y2EwZTk0ZDhhMGZjMWIwN2Y1ZTk0MTY1NmZmMWU2M2Ew
NDUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dQ
cm9wZXJ0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d1Byb3BlcnRpZXMuY3BwCkBAIC00MSwyNiArNDEsMjggQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsK
IAogY29uc3QgQ2xhc3NJbmZvIEpTRE9NV2luZG93UHJvcGVydGllczo6c19pbmZvID0geyAiV2lu
ZG93UHJvcGVydGllcyIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9N
RVRIT0RfVEFCTEUoSlNET01XaW5kb3dQcm9wZXJ0aWVzKSB9OwogCi1zdGF0aWMgYm9vbCBqc0RP
TVdpbmRvd1Byb3BlcnRpZXNHZXRPd25Qcm9wZXJ0eVNsb3ROYW1lZEl0ZW1HZXR0ZXIoSlNET01X
aW5kb3dQcm9wZXJ0aWVzKiB0aGlzT2JqZWN0LCBGcmFtZSYgZnJhbWUsIEV4ZWNTdGF0ZSogZXhl
YywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQorc3RhdGlj
IGJvb2wganNET01XaW5kb3dQcm9wZXJ0aWVzR2V0T3duUHJvcGVydHlTbG90TmFtZWRJdGVtR2V0
dGVyKEpTRE9NV2luZG93UHJvcGVydGllcyogdGhpc09iamVjdCwgRE9NV2luZG93JiB3aW5kb3cs
IEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90
JiBzbG90KQogewogICAgIC8vIENoZWNrIGZvciBjaGlsZCBmcmFtZXMgYnkgbmFtZSBiZWZvcmUg
YnVpbHQtaW4gcHJvcGVydGllcyB0byBtYXRjaCBNb3ppbGxhLiBUaGlzIGRvZXMKICAgICAvLyBu
b3QgbWF0Y2ggSUUsIGJ1dCBzb21lIHNpdGVzIGVuZCB1cCBuYW1pbmcgZnJhbWVzIHRoaW5ncyB0
aGF0IGNvbmZsaWN0IHdpdGggd2luZG93CiAgICAgLy8gcHJvcGVydGllcyB0aGF0IGFyZSBpbiBN
b3ogYnV0IG5vdCBJRS4gU2luY2Ugd2UgaGF2ZSBzb21lIG9mIHRoZXNlLCB3ZSBoYXZlIHRvIGRv
IGl0CiAgICAgLy8gdGhlIE1veiB3YXkuCi0gICAgaWYgKGF1dG8qIHNjb3BlZENoaWxkID0gZnJh
bWUudHJlZSgpLnNjb3BlZENoaWxkKHByb3BlcnR5TmFtZVRvQXRvbWljU3RyaW5nKHByb3BlcnR5
TmFtZSkpKSB7Ci0gICAgICAgIHNsb3Quc2V0VmFsdWUodGhpc09iamVjdCwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRl
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0sIHRvSlMoZXhlYywgc2NvcGVkQ2hp
bGQtPmRvY3VtZW50KCktPmRvbVdpbmRvdygpKSk7Ci0gICAgICAgIHJldHVybiB0cnVlOworICAg
IGlmIChhdXRvKiBmcmFtZSA9IHdpbmRvdy5mcmFtZSgpKSB7CisgICAgICAgIGlmIChhdXRvKiBz
Y29wZWRDaGlsZCA9IGZyYW1lLT50cmVlKCkuc2NvcGVkQ2hpbGQocHJvcGVydHlOYW1lVG9BdG9t
aWNTdHJpbmcocHJvcGVydHlOYW1lKSkpIHsKKyAgICAgICAgICAgIHNsb3Quc2V0VmFsdWUodGhp
c09iamVjdCwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0s
IHRvSlMoZXhlYywgc2NvcGVkQ2hpbGQtPmRvY3VtZW50KCktPmRvbVdpbmRvdygpKSk7CisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQogICAgIH0KIAotICAgIGlmICghQmluZGlu
Z1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoZXhlYywgJmZyYW1lLCBUaHJvd1Nl
Y3VyaXR5RXJyb3IpKQorICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vz
c1RvRE9NV2luZG93KGV4ZWMsIHdpbmRvdywgVGhyb3dTZWN1cml0eUVycm9yKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgLy8gRklYTUU6IFNlYXJjaCB0aGUgd2hvbGUgZnJhbWUgaGll
cmFyY2h5IHNvbWV3aGVyZSBhcm91bmQgaGVyZS4KICAgICAvLyBXZSBuZWVkIHRvIHRlc3QgdGhl
IGNvcnJlY3QgcHJpb3JpdHkgb3JkZXIuCiAKICAgICAvLyBBbGxvdyBzaG9ydGN1dHMgbGlrZSAn
SW1hZ2UxJyBpbnN0ZWFkIG9mIGRvY3VtZW50LmltYWdlcy5JbWFnZTEKLSAgICBEb2N1bWVudCog
ZG9jdW1lbnQgPSBmcmFtZS5kb2N1bWVudCgpOwotICAgIGlmIChpczxIVE1MRG9jdW1lbnQ+KCpk
b2N1bWVudCkpIHsKKyAgICBhdXRvKiBkb2N1bWVudCA9IHdpbmRvdy5kb2N1bWVudCgpOworICAg
IGlmIChpczxIVE1MRG9jdW1lbnQ+KGRvY3VtZW50KSkgewogICAgICAgICBhdXRvJiBodG1sRG9j
dW1lbnQgPSBkb3duY2FzdDxIVE1MRG9jdW1lbnQ+KCpkb2N1bWVudCk7CiAgICAgICAgIGF1dG8q
IGF0b21pY1Byb3BlcnR5TmFtZSA9IHByb3BlcnR5TmFtZS5wdWJsaWNOYW1lKCk7CiAgICAgICAg
IGlmIChhdG9taWNQcm9wZXJ0eU5hbWUgJiYgaHRtbERvY3VtZW50Lmhhc1dpbmRvd05hbWVkSXRl
bSgqYXRvbWljUHJvcGVydHlOYW1lKSkgewpAQCAtOTcsMTEgKzk5LDcgQEAgYm9vbCBKU0RPTVdp
bmRvd1Byb3BlcnRpZXM6OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVj
U3RhdGUqIHN0YXQKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgYXV0byYgd2luZG93ID0g
anNXaW5kb3ctPndyYXBwZWQoKTsKLQotICAgIGlmIChhdXRvKiBmcmFtZSA9IHdpbmRvdy5mcmFt
ZSgpKQotICAgICAgICByZXR1cm4ganNET01XaW5kb3dQcm9wZXJ0aWVzR2V0T3duUHJvcGVydHlT
bG90TmFtZWRJdGVtR2V0dGVyKHRoaXNPYmplY3QsICpmcmFtZSwgc3RhdGUsIHByb3BlcnR5TmFt
ZSwgc2xvdCk7Ci0KLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIGpzRE9NV2luZG93UHJv
cGVydGllc0dldE93blByb3BlcnR5U2xvdE5hbWVkSXRlbUdldHRlcih0aGlzT2JqZWN0LCB3aW5k
b3csIHN0YXRlLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCiBib29sIEpTRE9NV2luZG93UHJv
cGVydGllczo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU09iamVjdCogb2JqZWN0LCBFeGVj
U3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBpbmRleCwgUHJvcGVydHlTbG90JiBzbG90KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcAppbmRleCBkMjg2
OWQ2MzMyNzQ4NjhkOTU0ZjY3MTY2ZDk4NzA2ZjNkNmM5YTlkLi4xMWQyMmE3MTg3N2NlMzczYzE5
ODdmYmEyYjkyNjM3NmMxZDYxMTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0xvY2F0aW9uQ3VzdG9tLmNwcApAQCAtMzksMTEgKzM5LDcgQEAgc3RhdGljIGJvb2wgZ2V0
T3duUHJvcGVydHlTbG90Q29tbW9uKEpTTG9jYXRpb24mIHRoaXNPYmplY3QsIEV4ZWNTdGF0ZSYg
c3RhdGUsIFAKICAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNM
QVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIEZyYW1lKiBmcmFtZSA9IHRoaXNPYmplY3Qud3Jh
cHBlZCgpLmZyYW1lKCk7Ci0gICAgaWYgKCFmcmFtZSkgewotICAgICAgICBzbG90LnNldFVuZGVm
aW5lZCgpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9CisgICAgYXV0byogd2luZG93ID0g
dGhpc09iamVjdC53cmFwcGVkKCkud2luZG93KCk7CiAKICAgICAvLyBXaGVuIGFjY2Vzc2luZyBM
b2NhdGlvbiBjcm9zcy1kb21haW4sIGZ1bmN0aW9ucyBhcmUgYWx3YXlzIHRoZSBuYXRpdmUgYnVp
bHQtaW4gb25lcy4KICAgICAvLyBTZWUgSlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xvdERl
bGVnYXRlIGZvciBhZGRpdGlvbmFsIGRldGFpbHMuCkBAIC01MSw3ICs0Nyw3IEBAIHN0YXRpYyBi
b29sIGdldE93blByb3BlcnR5U2xvdENvbW1vbihKU0xvY2F0aW9uJiB0aGlzT2JqZWN0LCBFeGVj
U3RhdGUmIHN0YXRlLCBQCiAgICAgLy8gT3VyIGN1c3RvbSBjb2RlIGlzIG9ubHkgbmVlZGVkIHRv
IGltcGxlbWVudCB0aGUgV2luZG93IGNyb3NzLWRvbWFpbiBzY2hlbWUsIHNvIGlmIGFjY2VzcyBp
cwogICAgIC8vIGFsbG93ZWQsIHJldHVybiBmYWxzZSBzbyB0aGUgbm9ybWFsIGxvb2t1cCB3aWxs
IHRha2UgcGxhY2UuCiAgICAgU3RyaW5nIG1lc3NhZ2U7Ci0gICAgaWYgKEJpbmRpbmdTZWN1cml0
eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKHN0YXRlLCAqZnJhbWUsIG1lc3NhZ2UpKQorICAg
IGlmIChCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coc3RhdGUs
IHdpbmRvdywgbWVzc2FnZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIGh0dHBz
Oi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2Nyb3Nzb3JpZ2luZ2V0b3ducHJvcGVydHloZWxwZXIt
KC1vLC1wLSkKQEAgLTEwMSwxMCArOTcsNiBAQCBib29sIEpTTG9jYXRpb246OmdldE93blByb3Bl
cnR5U2xvdEJ5SW5kZXgoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBzdGF0ZSwgdQogCiBz
dGF0aWMgYm9vbCBwdXRDb21tb24oSlNMb2NhdGlvbiYgdGhpc09iamVjdCwgRXhlY1N0YXRlJiBz
dGF0ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKLSAgICBGcmFtZSogZnJhbWUgPSB0
aGlzT2JqZWN0LndyYXBwZWQoKS5mcmFtZSgpOwotICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJl
dHVybiB0cnVlOwotCiAgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKICAgICAvLyBTaWxlbnRseSBi
bG9jayBhY2Nlc3MgdG8gdG9TdHJpbmcgYW5kIHZhbHVlT2YuCiAgICAgaWYgKHByb3BlcnR5TmFt
ZSA9PSB2bS5wcm9wZXJ0eU5hbWVzLT50b1N0cmluZyB8fCBwcm9wZXJ0eU5hbWUgPT0gdm0ucHJv
cGVydHlOYW1lcy0+dmFsdWVPZikKQEAgLTExNyw3ICsxMDksNyBAQCBzdGF0aWMgYm9vbCBwdXRD
b21tb24oSlNMb2NhdGlvbiYgdGhpc09iamVjdCwgRXhlY1N0YXRlJiBzdGF0ZSwgUHJvcGVydHlO
YW1lIHBybwogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAvLyBCbG9jayBhY2Nlc3MgYW5k
IHRocm93IGlmIHRoZXJlIGlzIGEgc2VjdXJpdHkgZXJyb3IuCi0gICAgaWYgKCFCaW5kaW5nU2Vj
dXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9GcmFtZSgmc3RhdGUsIGZyYW1lLCBUaHJvd1NlY3Vy
aXR5RXJyb3IpKQorICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1Rv
RE9NV2luZG93KCZzdGF0ZSwgdGhpc09iamVjdC53cmFwcGVkKCkud2luZG93KCksIFRocm93U2Vj
dXJpdHlFcnJvcikpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgcmV0dXJuIGZhbHNlOwpA
QCAtMTQ5LDcgKzE0MSw3IEBAIGJvb2wgSlNMb2NhdGlvbjo6ZGVsZXRlUHJvcGVydHkoSlNDZWxs
KiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wCiB7CiAgICAgSlNMb2Nh
dGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0xvY2F0aW9uKj4oY2VsbCk7CiAgICAgLy8gT25s
eSBhbGxvdyBkZWxldGluZyBieSBmcmFtZXMgaW4gdGhlIHNhbWUgb3JpZ2luLgotICAgIGlmICgh
QmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoZXhlYywgdGhpc09iamVj
dC0+d3JhcHBlZCgpLmZyYW1lKCksIFRocm93U2VjdXJpdHlFcnJvcikpCisgICAgaWYgKCFCaW5k
aW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coZXhlYywgdGhpc09iamVj
dC0+d3JhcHBlZCgpLndpbmRvdygpLCBUaHJvd1NlY3VyaXR5RXJyb3IpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgcmV0dXJuIEJhc2U6OmRlbGV0ZVByb3BlcnR5KHRoaXNPYmplY3QsIGV4
ZWMsIHByb3BlcnR5TmFtZSk7CiB9CkBAIC0xNTgsNyArMTUwLDcgQEAgYm9vbCBKU0xvY2F0aW9u
OjpkZWxldGVQcm9wZXJ0eUJ5SW5kZXgoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVu
c2lnbmVkIHAKIHsKICAgICBKU0xvY2F0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTTG9jYXRp
b24qPihjZWxsKTsKICAgICAvLyBPbmx5IGFsbG93IGRlbGV0aW5nIGJ5IGZyYW1lcyBpbiB0aGUg
c2FtZSBvcmlnaW4uCi0gICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNz
VG9GcmFtZShleGVjLCB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZnJhbWUoKSwgVGhyb3dTZWN1cml0
eUVycm9yKSkKKyAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RP
TVdpbmRvdyhleGVjLCB0aGlzT2JqZWN0LT53cmFwcGVkKCkud2luZG93KCksIFRocm93U2VjdXJp
dHlFcnJvcikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gQmFzZTo6ZGVsZXRl
UHJvcGVydHlCeUluZGV4KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CkBAIC0x
NjYsNyArMTU4LDcgQEAgYm9vbCBKU0xvY2F0aW9uOjpkZWxldGVQcm9wZXJ0eUJ5SW5kZXgoSlND
ZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHAKIHZvaWQgSlNMb2NhdGlvbjo6
Z2V0T3duUHJvcGVydHlOYW1lcyhKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFBy
b3BlcnR5TmFtZUFycmF5JiBwcm9wZXJ0eU5hbWVzLCBFbnVtZXJhdGlvbk1vZGUgbW9kZSkKIHsK
ICAgICBKU0xvY2F0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTTG9jYXRpb24qPihvYmplY3Qp
OwotICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoZXhl
YywgdGhpc09iamVjdC0+d3JhcHBlZCgpLmZyYW1lKCksIERvTm90UmVwb3J0U2VjdXJpdHlFcnJv
cikpIHsKKyAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdp
bmRvdyhleGVjLCB0aGlzT2JqZWN0LT53cmFwcGVkKCkud2luZG93KCksIERvTm90UmVwb3J0U2Vj
dXJpdHlFcnJvcikpIHsKICAgICAgICAgaWYgKG1vZGUuaW5jbHVkZURvbnRFbnVtUHJvcGVydGll
cygpKQogICAgICAgICAgICAgYWRkQ3Jvc3NPcmlnaW5Pd25Qcm9wZXJ0eU5hbWVzPENyb3NzT3Jp
Z2luT2JqZWN0OjpMb2NhdGlvbj4oKmV4ZWMsIHByb3BlcnR5TmFtZXMpOwogICAgICAgICByZXR1
cm47CkBAIC0xNzcsNyArMTY5LDcgQEAgdm9pZCBKU0xvY2F0aW9uOjpnZXRPd25Qcm9wZXJ0eU5h
bWVzKEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHkKIGJvb2wgSlNM
b2NhdGlvbjo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBl
eGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBjb25zdCBQcm9wZXJ0eURlc2NyaXB0b3Im
IGRlc2NyaXB0b3IsIGJvb2wgdGhyb3dFeGNlcHRpb24pCiB7CiAgICAgSlNMb2NhdGlvbiogdGhp
c09iamVjdCA9IGpzQ2FzdDxKU0xvY2F0aW9uKj4ob2JqZWN0KTsKLSAgICBpZiAoIUJpbmRpbmdT
ZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKGV4ZWMsIHRoaXNPYmplY3QtPndyYXBw
ZWQoKS5mcmFtZSgpLCBUaHJvd1NlY3VyaXR5RXJyb3IpKQorICAgIGlmICghQmluZGluZ1NlY3Vy
aXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KGV4ZWMsIHRoaXNPYmplY3QtPndyYXBw
ZWQoKS53aW5kb3coKSwgVGhyb3dTZWN1cml0eUVycm9yKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKQEAgLTE4OSw3ICsxODEsNyBAQCBib29sIEpT
TG9jYXRpb246OmRlZmluZU93blByb3BlcnR5KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSog
ZXhlYywgUHJvcGVydHlOYQogSlNWYWx1ZSBKU0xvY2F0aW9uOjpnZXRQcm90b3R5cGUoSlNPYmpl
Y3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTTG9jYXRpb24qIHRoaXNPYmpl
Y3QgPSBqc0Nhc3Q8SlNMb2NhdGlvbio+KG9iamVjdCk7Ci0gICAgaWYgKCFCaW5kaW5nU2VjdXJp
dHk6OnNob3VsZEFsbG93QWNjZXNzVG9GcmFtZShleGVjLCB0aGlzT2JqZWN0LT53cmFwcGVkKCku
ZnJhbWUoKSwgRG9Ob3RSZXBvcnRTZWN1cml0eUVycm9yKSkKKyAgICBpZiAoIUJpbmRpbmdTZWN1
cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhleGVjLCB0aGlzT2JqZWN0LT53cmFw
cGVkKCkud2luZG93KCksIERvTm90UmVwb3J0U2VjdXJpdHlFcnJvcikpCiAgICAgICAgIHJldHVy
biBqc051bGwoKTsKIAogICAgIHJldHVybiBCYXNlOjpnZXRQcm90b3R5cGUob2JqZWN0LCBleGVj
KTsKQEAgLTIwNiw3ICsxOTgsNyBAQCBib29sIEpTTG9jYXRpb246OnByZXZlbnRFeHRlbnNpb25z
KEpTT2JqZWN0KiwgRXhlY1N0YXRlKiBleGVjKQogU3RyaW5nIEpTTG9jYXRpb246OnRvU3RyaW5n
TmFtZShjb25zdCBKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgYXV0
byogdGhpc09iamVjdCA9IGpzQ2FzdDxjb25zdCBKU0xvY2F0aW9uKj4ob2JqZWN0KTsKLSAgICBp
ZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKGV4ZWMsIHRoaXNP
YmplY3QtPndyYXBwZWQoKS5mcmFtZSgpLCBEb05vdFJlcG9ydFNlY3VyaXR5RXJyb3IpKQorICAg
IGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KGV4ZWMs
IHRoaXNPYmplY3QtPndyYXBwZWQoKS53aW5kb3coKSwgRG9Ob3RSZXBvcnRTZWN1cml0eUVycm9y
KSkKICAgICAgICAgcmV0dXJuICJPYmplY3QiX3M7CiAgICAgcmV0dXJuICJMb2NhdGlvbiJfczsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KaW5kZXggMjE4MGNiNTVhNmU2NDFlZDQ5MzM1NmNhYmI3N2YxYTljYTI3MDcxNS4uNDhm
Y2U3YmMxNmE4ODBkNjNmNDMyYTAxOGYxZmVlMmY2N2JmNWJkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTQ3NzcsNyAr
NDc3Nyw3IEBAIHN1YiBHZW5lcmF0ZUF0dHJpYnV0ZUdldHRlckJvZHlEZWZpbml0aW9uCiAgICAg
ICAgIGlmICgkaW50ZXJmYWNlLT50eXBlLT5uYW1lIGVxICJET01XaW5kb3ciKSB7CiAgICAgICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3Vs
ZEFsbG93QWNjZXNzVG9ET01XaW5kb3coJnN0YXRlLCB0aGlzT2JqZWN0LndyYXBwZWQoKSwgVGhy
b3dTZWN1cml0eUVycm9yKSlcbiIpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAiICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0Fj
Y2Vzc1RvRnJhbWUoJnN0YXRlLCB0aGlzT2JqZWN0LndyYXBwZWQoKS5mcmFtZSgpLCBUaHJvd1Nl
Y3VyaXR5RXJyb3IpKVxuIik7CisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAg
aWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coJnN0YXRl
LCB0aGlzT2JqZWN0LndyYXBwZWQoKS53aW5kb3coKSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIp
OwogICAgICAgICB9CiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgcmV0dXJu
IGpzVW5kZWZpbmVkKCk7XG4iKTsKICAgICB9CkBAIC00OTA1LDcgKzQ5MDUsNyBAQCBzdWIgR2Vu
ZXJhdGVBdHRyaWJ1dGVTZXR0ZXJCb2R5RGVmaW5pdGlvbgogICAgICAgICBpZiAoJGludGVyZmFj
ZS0+dHlwZS0+bmFtZSBlcSAiRE9NV2luZG93IikgewogICAgICAgICAgICAgcHVzaChAJG91dHB1
dEFycmF5LCAiICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9N
V2luZG93KCZzdGF0ZSwgdGhpc09iamVjdC53cmFwcGVkKCksIFRocm93U2VjdXJpdHlFcnJvcikp
XG4iKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKCZzdGF0
ZSwgdGhpc09iamVjdC53cmFwcGVkKCkuZnJhbWUoKSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIp
OworICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlmICghQmluZGluZ1NlY3Vy
aXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KCZzdGF0ZSwgdGhpc09iamVjdC53cmFw
cGVkKCkud2luZG93KCksIFRocm93U2VjdXJpdHlFcnJvcikpXG4iKTsKICAgICAgICAgfQogICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVybiBmYWxzZTtcbiIpOwogICAg
IH0KQEAgLTUxMjQsNyArNTEyNCw3IEBAIHN1YiBHZW5lcmF0ZU9wZXJhdGlvbkJvZHlEZWZpbml0
aW9uCiAgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlmICghQmluZGlu
Z1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KHN0YXRlLCBjYXN0ZWRUaGlz
LT53cmFwcGVkKCksIFRocm93U2VjdXJpdHlFcnJvcikpXG4iKTsKICAgICAgICAgICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7XG4iKTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAiICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0Fj
Y2Vzc1RvRnJhbWUoc3RhdGUsIGNhc3RlZFRoaXMtPndyYXBwZWQoKS5mcmFtZSgpLCBUaHJvd1Nl
Y3VyaXR5RXJyb3IpKVxuIik7CisgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAi
ICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KHN0
YXRlLCBjYXN0ZWRUaGlzLT53cmFwcGVkKCkud2luZG93KCksIFRocm93U2VjdXJpdHlFcnJvcikp
XG4iKTsKICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7XG4iKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAppbmRleCA2MjkxNmQzNmJi
NTVhNjkzMjI2MmZmYTU1ZGMyNGNlNmVlM2JlODYzLi4wZjcxNTRhYzQwNDUzZjM3YTlmYmIxZWQ5
MjhmNjJlNTUzMDMxYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcApAQCAt
MjAwLDcgKzIwMCw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RBY3RpdmVET01PYmpl
Y3RFeGNpdGluZ0F0dHJHZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwKIHsKICAgICBVTlVTRURfUEFS
QU0odGhyb3dTY29wZSk7CiAgICAgVU5VU0VEX1BBUkFNKHN0YXRlKTsKLSAgICBpZiAoIUJpbmRp
bmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKCZzdGF0ZSwgdGhpc09iamVjdC53
cmFwcGVkKCkuZnJhbWUoKSwgVGhyb3dTZWN1cml0eUVycm9yKSkKKyAgICBpZiAoIUJpbmRpbmdT
ZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdygmc3RhdGUsIHRoaXNPYmplY3Qu
d3JhcHBlZCgpLndpbmRvdygpLCBUaHJvd1NlY3VyaXR5RXJyb3IpKQogICAgICAgICByZXR1cm4g
anNVbmRlZmluZWQoKTsKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAg
ICAgSlNWYWx1ZSByZXN1bHQgPSB0b0pTPElETExvbmc+KHN0YXRlLCB0aHJvd1Njb3BlLCBpbXBs
LmV4Y2l0aW5nQXR0cigpKTsKQEAgLTIxNiw3ICsyMTYsNyBAQCBzdGF0aWMgaW5saW5lIEpTQzo6
RW5jb2RlZEpTVmFsdWUganNUZXN0QWN0aXZlRE9NT2JqZWN0UHJvdG90eXBlRnVuY3Rpb25FeGNp
dGluZwogewogICAgIFVOVVNFRF9QQVJBTShzdGF0ZSk7CiAgICAgVU5VU0VEX1BBUkFNKHRocm93
U2NvcGUpOwotICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRnJh
bWUoc3RhdGUsIGNhc3RlZFRoaXMtPndyYXBwZWQoKS5mcmFtZSgpLCBUaHJvd1NlY3VyaXR5RXJy
b3IpKQorICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2lu
ZG93KHN0YXRlLCBjYXN0ZWRUaGlzLT53cmFwcGVkKCkud2luZG93KCksIFRocm93U2VjdXJpdHlF
cnJvcikpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAg
ICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKICAgICBpZiAoVU5MSUtFTFko
c3RhdGUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL1N1YnRsZUNyeXB0by5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5
cHRvLmNwcAppbmRleCA3YWYxZTYyZGRhYTkyY2YxZTVkNzlkZjA1YmNkOTJlYzA5YWJmOTE3Li5k
ZjJmMWViYzBiMTg4ZmNjZTRkY2MyODNmNWFhMTQxNjNjYTI5ZDFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vU3VidGxlQ3J5cHRvLmNwcApAQCAtNTYsOCArNTYsOCBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAotU3VidGxlQ3J5cHRvOjpTdWJ0bGVDcnlwdG8o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKLSAgICA6IENvbnRleHREZXN0cnVjdGlv
bk9ic2VydmVyKCZjb250ZXh0KQorU3VidGxlQ3J5cHRvOjpTdWJ0bGVDcnlwdG8oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVy
KGNvbnRleHQpCiAgICAgLCBtX3dvcmtRdWV1ZShXb3JrUXVldWU6OmNyZWF0ZSgiY29tLmFwcGxl
LldlYktpdC5DcnlwdG9RdWV1ZSIpKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL1N1YnRsZUNyeXB0by5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0
by5oCmluZGV4IDA0ZTYwM2VmOTY1NDU4OGY3NmVmOWM4MjAyNjI2NGUzNjdhYjJmMTguLmFmZDM5
N2JmMzEwNDAyMjA2Y2M1ZjVmMzRmOWNlZmYxOWZiMjgyZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
U3VidGxlQ3J5cHRvLmgKQEAgLTU0LDcgKzU0LDcgQEAgZW51bSBjbGFzcyBDcnlwdG9LZXlVc2Fn
ZTsKIAogY2xhc3MgU3VidGxlQ3J5cHRvIDogcHVibGljIENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyLCBwdWJsaWMgUmVmQ291bnRlZDxTdWJ0bGVDcnlwdG8+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQ
dHI8U3VidGxlQ3J5cHRvPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTdWJ0bGVDcnlwdG8+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSB7IHJldHVybiBhZG9wdFJl
ZigqbmV3IFN1YnRsZUNyeXB0byhjb250ZXh0KSk7IH0KKyAgICBzdGF0aWMgUmVmPFN1YnRsZUNy
eXB0bz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIHsgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU3VidGxlQ3J5cHRvKGNvbnRleHQpKTsgfQogICAgIH5TdWJ0bGVDcnlwdG8o
KTsKIAogICAgIHVzaW5nIEtleUZvcm1hdCA9IENyeXB0b0tleUZvcm1hdDsKQEAgLTc2LDcgKzc2
LDcgQEAgcHVibGljOgogICAgIHZvaWQgdW53cmFwS2V5KEpTQzo6RXhlY1N0YXRlJiwgS2V5Rm9y
bWF0LCBCdWZmZXJTb3VyY2UmJiB3cmFwcGVkS2V5LCBDcnlwdG9LZXkmIHVud3JhcHBpbmdLZXks
IEFsZ29yaXRobUlkZW50aWZpZXImJiB1bndyYXBBbGdvcml0aG0sIEFsZ29yaXRobUlkZW50aWZp
ZXImJiB1bndyYXBwZWRLZXlBbGdvcml0aG0sIGJvb2wgZXh0cmFjdGFibGUsIFZlY3RvcjxDcnlw
dG9LZXlVc2FnZT4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKIHByaXZhdGU6Ci0gICAg
ZXhwbGljaXQgU3VidGxlQ3J5cHRvKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKyAgICBleHBs
aWNpdCBTdWJ0bGVDcnlwdG8oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogCiAgICAgaW5saW5l
IGZyaWVuZCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBnZXRQcm9taXNlKERlZmVycmVkUHJvbWlz
ZSosIFdlYWtQdHI8U3VidGxlQ3J5cHRvPik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IDA5MDBmYTVhODRhOGVlZDQ0MzIzZjc5ZGM0MTNhYThkMzNlYWMzMGEuLjU3NTRjNGJhOThhY2Mx
MzFlMzU0YjZiMWZmNWI1NDE2YTI2YmRiNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
NjA5LDcgKzYwOSw3IEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQogCiAgICAgLy8gRklYTUU6IFNo
b3VsZCB3ZSByZXNldCBtX2RvbVdpbmRvdyB3aGVuIHdlIGRldGFjaCBmcm9tIHRoZSBGcmFtZT8K
ICAgICBpZiAobV9kb21XaW5kb3cpCi0gICAgICAgIG1fZG9tV2luZG93LT5yZXNldFVubGVzc1N1
c3BlbmRlZEZvckRvY3VtZW50U3VzcGVuc2lvbigpOworICAgICAgICBtX2RvbVdpbmRvdy0+d2ls
bERlc3Ryb3lEb2N1bWVudEluRnJhbWUoKTsKIAogICAgIG1fc2NyaXB0UnVubmVyID0gbnVsbHB0
cjsKICAgICBtX21vZHVsZUxvYWRlciA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NyeXB0by5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5jcHAKaW5k
ZXggN2E0NjNiZmViNWUzZjI4NDQ3ZGVkZGYxYjUyMjcwOGJlYWE5NTA1YS4uYmMzN2NlY2I4MmQ1
YTAxN2U3MTljZGYwNmJlNzU4NzZmMzBmNGVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9DcnlwdG8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5cHRvLmNwcApAQCAt
NDIsOCArNDIsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNyeXB0bzo6Q3J5cHRvKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCi0gICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25P
YnNlcnZlcigmY29udGV4dCkKK0NyeXB0bzo6Q3J5cHRvKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQpCisgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcihjb250ZXh0KQogI2lm
IEVOQUJMRShTVUJUTEVfQ1JZUFRPKQogICAgICwgbV9zdWJ0bGUoU3VidGxlQ3J5cHRvOjpjcmVh
dGUoY29udGV4dCkpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5
cHRvLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5oCmluZGV4IGZiMjQ3MGU2ZGRjOTFh
ZWQ5M2IzOGQ1Y2Y2Y2ZlMWZjMzZiMmVjY2QuLjM2NTI2NTUzMTZiMmI1ZTEzMTQ1MzdlNzNmYmI2
NTdkZjA4ZTYwZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5cHRvLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uaApAQCAtNDIsNyArNDIsNyBAQCBjbGFzcyBT
dWJ0bGVDcnlwdG87CiAKIGNsYXNzIENyeXB0byA6IHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25P
YnNlcnZlciwgcHVibGljIFJlZkNvdW50ZWQ8Q3J5cHRvPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFJlZjxDcnlwdG8+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSB7IHJl
dHVybiBhZG9wdFJlZigqbmV3IENyeXB0byhjb250ZXh0KSk7IH0KKyAgICBzdGF0aWMgUmVmPENy
eXB0bz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIHsgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgQ3J5cHRvKGNvbnRleHQpKTsgfQogICAgIHZpcnR1YWwgfkNyeXB0bygpOwog
CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gZ2V0UmFuZG9tVmFsdWVzKEpTQzo6QXJyYXlCdWZmZXJW
aWV3Jik7CkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgotICAg
IENyeXB0byhTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisgICAgQ3J5cHRvKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKTsKIAogI2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQogICAgIFJlZjxTdWJ0
bGVDcnlwdG8+IG1fc3VidGxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDBjM2Ey
NTRlNTkyYzBkNzg4YTZmYzQzODA2YTQ3ZTBjNTg1NzM5OTguLjNiYWI0OGQwOWZmNjQzMTAwNDE3
ZWMxODA4ODNiNWRiMDhlMzJkOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTQx
OCwzNyArNDE4LDExIEBAIHZvaWQgRE9NV2luZG93OjpkaWRTZWN1cmVUcmFuc2l0aW9uVG8oRG9j
dW1lbnQmIGRvY3VtZW50KQogCiBET01XaW5kb3c6On5ET01XaW5kb3coKQogewotI2lmbmRlZiBO
REVCVUcKLSAgICBpZiAoIW1fc3VzcGVuZGVkRm9yRG9jdW1lbnRTdXNwZW5zaW9uKSB7Ci0gICAg
ICAgIEFTU0VSVCghbV9zY3JlZW4pOwotICAgICAgICBBU1NFUlQoIW1faGlzdG9yeSk7Ci0gICAg
ICAgIEFTU0VSVCghbV9jcnlwdG8pOwotICAgICAgICBBU1NFUlQoIW1fbG9jYXRpb25iYXIpOwot
ICAgICAgICBBU1NFUlQoIW1fbWVudWJhcik7Ci0gICAgICAgIEFTU0VSVCghbV9wZXJzb25hbGJh
cik7Ci0gICAgICAgIEFTU0VSVCghbV9zY3JvbGxiYXJzKTsKLSAgICAgICAgQVNTRVJUKCFtX3N0
YXR1c2Jhcik7Ci0gICAgICAgIEFTU0VSVCghbV90b29sYmFyKTsKLSAgICAgICAgQVNTRVJUKCFt
X25hdmlnYXRvcik7Ci0gICAgICAgIEFTU0VSVCghbV9wZXJmb3JtYW5jZSk7Ci0gICAgICAgIEFT
U0VSVCghbV9sb2NhdGlvbik7Ci0gICAgICAgIEFTU0VSVCghbV9tZWRpYSk7Ci0gICAgICAgIEFT
U0VSVCghbV9zZXNzaW9uU3RvcmFnZSk7Ci0gICAgICAgIEFTU0VSVCghbV9sb2NhbFN0b3JhZ2Up
OwotICAgICAgICBBU1NFUlQoIW1fYXBwbGljYXRpb25DYWNoZSk7Ci0gICAgICAgIEFTU0VSVCgh
bV92aXN1YWxWaWV3cG9ydCk7Ci0gICAgfQotI2VuZGlmCi0KICAgICBpZiAobV9zdXNwZW5kZWRG
b3JEb2N1bWVudFN1c3BlbnNpb24pCiAgICAgICAgIHdpbGxEZXN0cm95Q2FjaGVkRnJhbWUoKTsK
ICAgICBlbHNlCiAgICAgICAgIHdpbGxEZXN0cm95RG9jdW1lbnRJbkZyYW1lKCk7CiAKLSAgICAv
LyBBcyB0aGUgQVNTRVJUcyBhYm92ZSBpbmRpY2F0ZSwgdGhpcyByZXNldCBzaG91bGQgb25seSBi
ZSBuZWNlc3NhcnkgaWYgdGhpcyBET01XaW5kb3cgaXMgc3VzcGVuZGVkIGZvciB0aGUgcGFnZSBj
YWNoZS4KLSAgICAvLyBCdXQgd2UgZG9uJ3Qgd2FudCB0byByaXNrIGFueSBvZiB0aGVzZSBvYmpl
Y3RzIGhhbmdpbmcgYXJvdW5kIGFmdGVyIHdlJ3ZlIGJlZW4gZGVzdHJveWVkLgotICAgIHJlc2V0
RE9NV2luZG93UHJvcGVydGllcygpOwotCiAgICAgcmVtb3ZlQWxsVW5sb2FkRXZlbnRMaXN0ZW5l
cnModGhpcyk7CiAgICAgcmVtb3ZlQWxsQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcnModGhpcyk7
CiAKQEAgLTQ3NSw3ICs0NDksNiBAQCB2b2lkIERPTVdpbmRvdzo6ZnJhbWVEZXN0cm95ZWQoKQog
ICAgIFJlZjxET01XaW5kb3c+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwogCiAgICAgd2lsbERlc3Ry
b3lEb2N1bWVudEluRnJhbWUoKTsKLSAgICByZXNldERPTVdpbmRvd1Byb3BlcnRpZXMoKTsKICAg
ICBKU0RPTVdpbmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0ZvcldpbmRvdyh0
aGlzKTsKIH0KIApAQCAtNjY0LDggKzYzNyw2IEBAIGludCBET01XaW5kb3c6Om9yaWVudGF0aW9u
KCkgY29uc3QKIAogU2NyZWVuKiBET01XaW5kb3c6OnNjcmVlbigpCiB7Ci0gICAgaWYgKCFpc0N1
cnJlbnRseURpc3BsYXllZEluRnJhbWUoKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
aWYgKCFtX3NjcmVlbikKICAgICAgICAgbV9zY3JlZW4gPSBTY3JlZW46OmNyZWF0ZSgqdGhpcyk7
CiAgICAgcmV0dXJuIG1fc2NyZWVuLmdldCgpOwpAQCAtNjczLDggKzY0NCw2IEBAIFNjcmVlbiog
RE9NV2luZG93OjpzY3JlZW4oKQogCiBIaXN0b3J5KiBET01XaW5kb3c6Omhpc3RvcnkoKQogewot
ICAgIGlmICghaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCi0gICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgIGlmICghbV9oaXN0b3J5KQogICAgICAgICBtX2hpc3RvcnkgPSBIaXN0b3J5
OjpjcmVhdGUoKnRoaXMpOwogICAgIHJldHVybiBtX2hpc3RvcnkuZ2V0KCk7CkBAIC02ODIsMTgg
KzY1MSwxMyBAQCBIaXN0b3J5KiBET01XaW5kb3c6Omhpc3RvcnkoKQogCiBDcnlwdG8qIERPTVdp
bmRvdzo6Y3J5cHRvKCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogV2h5IGlzIGNyeXB0byBub3Qg
YXZhaWxhYmxlIHdoZW4gdGhlIHdpbmRvdyBpcyBub3QgY3VycmVudGx5IGRpc3BsYXllZCBpbiBh
IGZyYW1lPwotICAgIGlmICghaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCi0gICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIGlmICghbV9jcnlwdG8pCi0gICAgICAgIG1fY3J5cHRvID0g
Q3J5cHRvOjpjcmVhdGUoKmRvY3VtZW50KCkpOworICAgICAgICBtX2NyeXB0byA9IENyeXB0bzo6
Y3JlYXRlKGRvY3VtZW50KCkpOwogICAgIHJldHVybiBtX2NyeXB0by5nZXQoKTsKIH0KIAogQmFy
UHJvcCogRE9NV2luZG93Ojpsb2NhdGlvbmJhcigpCiB7Ci0gICAgaWYgKCFpc0N1cnJlbnRseURp
c3BsYXllZEluRnJhbWUoKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgaWYgKCFtX2xv
Y2F0aW9uYmFyKQogICAgICAgICBtX2xvY2F0aW9uYmFyID0gQmFyUHJvcDo6Y3JlYXRlKCp0aGlz
LCBCYXJQcm9wOjpMb2NhdGlvbmJhcik7CiAgICAgcmV0dXJuIG1fbG9jYXRpb25iYXIuZ2V0KCk7
CkBAIC03MDEsOCArNjY1LDYgQEAgQmFyUHJvcCogRE9NV2luZG93Ojpsb2NhdGlvbmJhcigpCiAK
IEJhclByb3AqIERPTVdpbmRvdzo6bWVudWJhcigpCiB7Ci0gICAgaWYgKCFpc0N1cnJlbnRseURp
c3BsYXllZEluRnJhbWUoKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgaWYgKCFtX21l
bnViYXIpCiAgICAgICAgIG1fbWVudWJhciA9IEJhclByb3A6OmNyZWF0ZSgqdGhpcywgQmFyUHJv
cDo6TWVudWJhcik7CiAgICAgcmV0dXJuIG1fbWVudWJhci5nZXQoKTsKQEAgLTcxMCw4ICs2NzIs
NiBAQCBCYXJQcm9wKiBET01XaW5kb3c6Om1lbnViYXIoKQogCiBCYXJQcm9wKiBET01XaW5kb3c6
OnBlcnNvbmFsYmFyKCkKIHsKLSAgICBpZiAoIWlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgp
KQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoIW1fcGVyc29uYWxiYXIpCiAgICAg
ICAgIG1fcGVyc29uYWxiYXIgPSBCYXJQcm9wOjpjcmVhdGUoKnRoaXMsIEJhclByb3A6OlBlcnNv
bmFsYmFyKTsKICAgICByZXR1cm4gbV9wZXJzb25hbGJhci5nZXQoKTsKQEAgLTcxOSw4ICs2Nzks
NiBAQCBCYXJQcm9wKiBET01XaW5kb3c6OnBlcnNvbmFsYmFyKCkKIAogQmFyUHJvcCogRE9NV2lu
ZG93OjpzY3JvbGxiYXJzKCkKIHsKLSAgICBpZiAoIWlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFt
ZSgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoIW1fc2Nyb2xsYmFycykKICAg
ICAgICAgbV9zY3JvbGxiYXJzID0gQmFyUHJvcDo6Y3JlYXRlKCp0aGlzLCBCYXJQcm9wOjpTY3Jv
bGxiYXJzKTsKICAgICByZXR1cm4gbV9zY3JvbGxiYXJzLmdldCgpOwpAQCAtNzI4LDggKzY4Niw2
IEBAIEJhclByb3AqIERPTVdpbmRvdzo6c2Nyb2xsYmFycygpCiAKIEJhclByb3AqIERPTVdpbmRv
dzo6c3RhdHVzYmFyKCkKIHsKLSAgICBpZiAoIWlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgp
KQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoIW1fc3RhdHVzYmFyKQogICAgICAg
ICBtX3N0YXR1c2JhciA9IEJhclByb3A6OmNyZWF0ZSgqdGhpcywgQmFyUHJvcDo6U3RhdHVzYmFy
KTsKICAgICByZXR1cm4gbV9zdGF0dXNiYXIuZ2V0KCk7CkBAIC03MzcsOCArNjkzLDYgQEAgQmFy
UHJvcCogRE9NV2luZG93OjpzdGF0dXNiYXIoKQogCiBCYXJQcm9wKiBET01XaW5kb3c6OnRvb2xi
YXIoKQogewotICAgIGlmICghaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCi0gICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIGlmICghbV90b29sYmFyKQogICAgICAgICBtX3Rvb2xiYXIg
PSBCYXJQcm9wOjpjcmVhdGUoKnRoaXMsIEJhclByb3A6OlRvb2xiYXIpOwogICAgIHJldHVybiBt
X3Rvb2xiYXIuZ2V0KCk7CkBAIC03NDYsNiArNzAwLDcgQEAgQmFyUHJvcCogRE9NV2luZG93Ojp0
b29sYmFyKCkKIAogUGFnZUNvbnNvbGVDbGllbnQqIERPTVdpbmRvdzo6Y29uc29sZSgpIGNvbnN0
CiB7CisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIG5vdCByZXR1cm4gbnVsbHB0ciB3aGVuIGZy
YW1lbGVzcy4KICAgICBpZiAoIWlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICBhdXRvKiBmcmFtZSA9IHRoaXMtPmZyYW1lKCk7CkBAIC03
NTQsOCArNzA5LDYgQEAgUGFnZUNvbnNvbGVDbGllbnQqIERPTVdpbmRvdzo6Y29uc29sZSgpIGNv
bnN0CiAKIERPTUFwcGxpY2F0aW9uQ2FjaGUqIERPTVdpbmRvdzo6YXBwbGljYXRpb25DYWNoZSgp
CiB7Ci0gICAgaWYgKCFpc0N1cnJlbnRseURpc3BsYXllZEluRnJhbWUoKSkKLSAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgaWYgKCFtX2FwcGxpY2F0aW9uQ2FjaGUpCiAgICAgICAgIG1fYXBw
bGljYXRpb25DYWNoZSA9IERPTUFwcGxpY2F0aW9uQ2FjaGU6OmNyZWF0ZSgqdGhpcyk7CiAgICAg
cmV0dXJuIG1fYXBwbGljYXRpb25DYWNoZS5nZXQoKTsKQEAgLTc2Myw2ICs3MTYsNyBAQCBET01B
cHBsaWNhdGlvbkNhY2hlKiBET01XaW5kb3c6OmFwcGxpY2F0aW9uQ2FjaGUoKQogCiBOYXZpZ2F0
b3IqIERPTVdpbmRvdzo6bmF2aWdhdG9yKCkKIHsKKyAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQg
bm90IHJldHVybiBudWxscHRyIHdoZW4gZnJhbWVsZXNzLgogICAgIGlmICghaXNDdXJyZW50bHlE
aXNwbGF5ZWRJbkZyYW1lKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCkBAIC03NzYsOCAr
NzMwLDEwIEBAIE5hdmlnYXRvciogRE9NV2luZG93OjpuYXZpZ2F0b3IoKQogCiBQZXJmb3JtYW5j
ZSogRE9NV2luZG93OjpwZXJmb3JtYW5jZSgpIGNvbnN0CiB7CisgICAgLy8gRklYTUU6IFRoaXMg
c2hvdWxkIG5vdCByZXR1cm4gbnVsbHB0ciB3aGVuIGZyYW1lbGVzcy4KICAgICBpZiAoIWlzQ3Vy
cmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwogICAg
IGlmICghbV9wZXJmb3JtYW5jZSkgewogICAgICAgICBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4g
PSBkb2N1bWVudCgpLT5sb2FkZXIoKSA/IGRvY3VtZW50KCktPmxvYWRlcigpLT50aW1pbmcoKS5y
ZWZlcmVuY2VNb25vdG9uaWNUaW1lKCkgOiBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICAgICAg
bV9wZXJmb3JtYW5jZSA9IFBlcmZvcm1hbmNlOjpjcmVhdGUoKmRvY3VtZW50KCksIHRpbWVPcmln
aW4pOwpAQCAtNzkyLDggKzc0OCw2IEBAIGRvdWJsZSBET01XaW5kb3c6Om5vd1RpbWVzdGFtcCgp
IGNvbnN0CiAKIExvY2F0aW9uKiBET01XaW5kb3c6OmxvY2F0aW9uKCkKIHsKLSAgICBpZiAoIWlz
Q3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICBpZiAoIW1fbG9jYXRpb24pCiAgICAgICAgIG1fbG9jYXRpb24gPSBMb2NhdGlvbjo6Y3JlYXRl
KCp0aGlzKTsKICAgICByZXR1cm4gbV9sb2NhdGlvbi5nZXQoKTsKQEAgLTgwMSw5ICs3NTUsNyBA
QCBMb2NhdGlvbiogRE9NV2luZG93Ojpsb2NhdGlvbigpCiAKIFZpc3VhbFZpZXdwb3J0KiBET01X
aW5kb3c6OnZpc3VhbFZpZXdwb3J0KCkKIHsKLSAgICBpZiAoIWlzQ3VycmVudGx5RGlzcGxheWVk
SW5GcmFtZSgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICBpZiAoIW1fdmlzdWFsVmll
d3BvcnQgJiYgIW1fc3VzcGVuZGVkRm9yRG9jdW1lbnRTdXNwZW5zaW9uKQorICAgIGlmICghbV92
aXN1YWxWaWV3cG9ydCkKICAgICAgICAgbV92aXN1YWxWaWV3cG9ydCA9IFZpc3VhbFZpZXdwb3J0
OjpjcmVhdGUoKnRoaXMpOwogICAgIHJldHVybiBtX3Zpc3VhbFZpZXdwb3J0LmdldCgpOwogfQpA
QCAtMTQ5Myw4ICsxNDQ1LDYgQEAgRG9jdW1lbnQqIERPTVdpbmRvdzo6ZG9jdW1lbnQoKSBjb25z
dAogCiBSZWZQdHI8U3R5bGVNZWRpYT4gRE9NV2luZG93OjpzdHlsZU1lZGlhKCkKIHsKLSAgICBp
ZiAoIWlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICBpZiAoIW1fbWVkaWEpCiAgICAgICAgIG1fbWVkaWEgPSBTdHlsZU1lZGlhOjpjcmVh
dGUoKnRoaXMpOwogICAgIHJldHVybiBtX21lZGlhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5k
ZXggYjk0ZDE1NGViNGYxOGIzNDJiYzM3NzQ2NzUxZmEzNmZlYjVhNWMyMi4uNjU4NzNhNDA2YTUw
OTc5NTVjZWNhMmY2Y2VmMTE4MGMxMjE1ZjNiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBA
IC0zMzQsNiArMzM0LDcgQEAgcHVibGljOgogICAgIHZvaWQgZW5hYmxlU3VkZGVuVGVybWluYXRp
b24oKTsKICAgICB2b2lkIGRpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigpOwogCisgICAgdm9pZCB3
aWxsRGVzdHJveURvY3VtZW50SW5GcmFtZSgpOwogICAgIHZvaWQgZnJhbWVEZXN0cm95ZWQoKTsK
IAogcHJpdmF0ZToKQEAgLTM1MSw3ICszNTIsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNJbnNl
Y3VyZVNjcmlwdEFjY2VzcyhET01XaW5kb3cmIGFjdGl2ZVdpbmRvdywgY29uc3QgU3RyaW5nJiB1
cmxTdHJpbmcpOwogCiAgICAgdm9pZCByZXNldERPTVdpbmRvd1Byb3BlcnRpZXMoKTsKLSAgICB2
b2lkIHdpbGxEZXN0cm95RG9jdW1lbnRJbkZyYW1lKCk7CiAKICAgICBib29sIGlzU2FtZVNlY3Vy
aXR5T3JpZ2luQXNNYWluRnJhbWUoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
CmluZGV4IGE1NTkyYTk0NzlmMGZiYTZkMWExY2NjNTFkNzRmZDlkNjliM2Y0M2UuLjkwMDE5MDBh
MmJmNTAyYzkyODYyYjY1Y2E4NmY4NDIzMzZkZjljN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwKQEAgLTU0LDcgKzU0LDcgQEAgdHlwZWRlZiBVU1ZTdHJpbmcgQ1NTT01TdHJpbmc7CiAg
ICAgW1JlcGxhY2VhYmxlLCBEb05vdENoZWNrU2VjdXJpdHlPbkdldHRlcl0gcmVhZG9ubHkgYXR0
cmlidXRlIFdpbmRvd1Byb3h5IHNlbGY7CiAgICAgW1VuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRy
aWJ1dGUgRG9jdW1lbnQgZG9jdW1lbnQ7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwot
ICAgIFtEb05vdENoZWNrU2VjdXJpdHksIFB1dEZvcndhcmRzPWhyZWYsIFVuZm9yZ2VhYmxlXSBy
ZWFkb25seSBhdHRyaWJ1dGUgTG9jYXRpb24/IGxvY2F0aW9uOyAvLyBGSVhNRTogU2hvdWxkIG5v
dCBiZSBudWxsYWJsZS4KKyAgICBbRG9Ob3RDaGVja1NlY3VyaXR5LCBQdXRGb3J3YXJkcz1ocmVm
LCBVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIExvY2F0aW9uIGxvY2F0aW9uOwogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBIaXN0b3J5IGhpc3Rvcnk7CiAgICAgW0VuYWJsZWRBdFJ1bnRp
bWU9Q3VzdG9tRWxlbWVudHMsIEltcGxlbWVudGVkQXM9ZW5zdXJlQ3VzdG9tRWxlbWVudFJlZ2lz
dHJ5XSByZWFkb25seSBhdHRyaWJ1dGUgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5IGN1c3RvbUVsZW1l
bnRzOwogICAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIEJhclByb3AgbG9jYXRp
b25iYXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmlu
ZGV4IDJhMjYzMTM4NmJlY2E0MmNiODc0MDg0Nzk0Y2JhYjBmMmVhNjg4ZWUuLjE1YzY3MDE2Njc0
ZTlmYjg2NTA2ZmM4NmE3OTVlYThjZWMzNmQwNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC00MjEsNyArNDIxLDcgQEAgYm9vbCBXb3JrZXJH
bG9iYWxTY29wZTo6dW53cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgd3JhcHBl
ZEtleSwgVmVjdG8KIENyeXB0byYgV29ya2VyR2xvYmFsU2NvcGU6OmNyeXB0bygpCiB7CiAgICAg
aWYgKCFtX2NyeXB0bykKLSAgICAgICAgbV9jcnlwdG8gPSBDcnlwdG86OmNyZWF0ZSgqdGhpcyk7
CisgICAgICAgIG1fY3J5cHRvID0gQ3J5cHRvOjpjcmVhdGUodGhpcyk7CiAgICAgcmV0dXJuICpt
X2NyeXB0bzsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgxYWMwZjg3M2M0NmY5Njc1ZmMxMGUyMzBiNDdhZjQ5ZTNm
MWUwZWIuLjdiNDg3MWM5NDdjYTU5Y2Y0OTEzYmQ0NWI5NTJhZGM2NTYyYTU2ZjkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyOSBAQAorMjAxOC0xMC0xMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCisgICAgICAgIFdpbmRvdydzIHByb3BlcnRpZXMgc3VjaCBhcyAnbG9jYXRpb24nIHNob3Vs
ZCBub3QgYmVjb21lIG51bGwgd2hlbiBpdCBsb3NlcyBpdHMgYnJvd3NpbmcgY29udGV4dAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNTM5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2RvbS9jcm9zcy1vcmlnaW4tZGV0YWNoZWQtd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2RvbS9jcm9zcy1vcmlnaW4tZGV0YWNoZWQt
d2luZG93LXByb3BlcnRpZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9kb20v
cmVzb3VyY2VzL3Bvc3QtbWVzc2FnZS10by1wYXJlbnQtd2hlbi1sb2FkZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9kb20vc2FtZS1vcmlnaW4tZGV0YWNoZWQtd2luZG93LXBy
b3BlcnRpZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2RvbS9z
YW1lLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVydGllcy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgQWRkIGxheW91dCB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogZmFzdC9mcmFtZXMvZGV0
YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZnJhbWVz
L2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1
cml0eS9uYW1lZC13aW5kb3ctcHJvcGVydHktZnJvbS1zYW1lLW9yaWdpbi1pbmFjdGl2ZS1kb2N1
bWVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9uYW1lZC13
aW5kb3ctcHJvcGVydHktZnJvbS1zYW1lLW9yaWdpbi1pbmFjdGl2ZS1kb2N1bWVudC5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1uYW1lZC13aW5kb3ctcHJv
cGVydHktZnJvbS1jcm9zcy1vcmlnaW4taW5hY3RpdmUtZG9jdW1lbnQtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1uYW1lZC13aW5kb3ctcHJv
cGVydHktZnJvbS1jcm9zcy1vcmlnaW4taW5hY3RpdmUtZG9jdW1lbnQuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0
aXZlLXdpbmRvdy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklF
RC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Mi1wc29uLmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFj
dGl2ZS13aW5kb3cyLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVO
SUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3czLmh0bWw6CisgICAgICAgIFVw
ZGF0ZSBleGlzdGluZyBsYXlvdXQgdGVzdHMgdG8gcmVmbGVjdCBiZWhhdmlvciBjaGFuZ2UuCisK
IDIwMTgtMTAtMTIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIExheW91dCBUZXN0IGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXBhc3RlLWFjcm9zcy1zaGFk
b3ctYm91bmRhcmllcy13aXRoLXN0eWxlLTIuaHRtbCBpcyBmYWlsaW5nCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwppbmRleCBlOWJhMGVkNjYyM2M2NzQ1ZGU5MThhY2U5NTM1OWQ0MjYzMWU5
ZmEwLi41OTk5NTJkODcxY2ZjOTBkNmFiMDQ3YTU3ODc2ZGMzMWRjZWVkOTcxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOC0xMC0xMiAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFdpbmRvdydzIHByb3BlcnRpZXMg
c3VjaCBhcyAnbG9jYXRpb24nIHNob3VsZCBub3QgYmVjb21lIG51bGwgd2hlbiBpdCBsb3NlcyBp
dHMgYnJvd3NpbmcgY29udGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkwNTM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmViYXNlbGluZSBXUFQgdGVzdCB3aG9zZSBvdXRwdXQgaGFzIGNoYW5nZWQu
CisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL2R5bmFtaWMt
bWFya3VwLWluc2VydGlvbi9vcGVuaW5nLXRoZS1pbnB1dC1zdHJlYW0vdXJsLndpbmRvdy1leHBl
Y3RlZC50eHQ6CisKIDIwMTgtMTAtMDggIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xv
d3N0YXJ0Lm9yZz4KIAogICAgICAgICBbSlNDXSBKU0Mgc2hvdWxkIGhhdmUgInBhcnNlRnVuY3Rp
b24iIHRvIG9wdGltaXplIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50
eHQKaW5kZXggYjcyNTc5OWJhMDM0MjBmODEzMzI2YTQxOTFlYmQwYTFiY2ZiOWEzYS4uMDJkZWQ0
OTc5ZmNkYWU5MjNlNGRmODY1NWM5YzQ5YTlmODBlMGQ4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5LWV4cGVjdGVk
LnR4dApAQCAtNSw2ICs1LDEwIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgISFk
ZXRhY2hlZFdpbmRvdy5wb3N0TWVzc2FnZSBpcyB0cnVlCiBQQVNTICEhZGV0YWNoZWRXaW5kb3cu
Y2xvc2UgaXMgdHJ1ZQorUEFTUyAhIWRldGFjaGVkV2luZG93LmxvY2F0aW9uYmFyIGlzIHRydWUK
K1BBU1MgISFkZXRhY2hlZFdpbmRvdy5oaXN0b3J5IGlzIHRydWUKK1BBU1MgISFkZXRhY2hlZFdp
bmRvdy5zY3JlZW4gaXMgdHJ1ZQorUEFTUyAhIWRldGFjaGVkV2luZG93LmxvY2F0aW9uIGlzIHRy
dWUKIFBBU1MgZGV0YWNoZWRXaW5kb3cuY2xvc2VkIGlzIHRydWUKIFBBU1MgZGV0YWNoZWRXaW5k
b3cudG9wIGlzIG51bGwKIFBBU1MgZGV0YWNoZWRXaW5kb3cub3BlbmVyIGlzIG51bGwKQEAgLTE0
LDE2ICsxOCwxMiBAQCBQQVNTIGRldGFjaGVkV2luZG93LndpbmRvdyBpcyBudWxsCiBQQVNTIGRl
dGFjaGVkV2luZG93LmZyYW1lcyBpcyBudWxsCiBQQVNTIGRldGFjaGVkV2luZG93LnNlbGYgaXMg
bnVsbAogUEFTUyAhZGV0YWNoZWRXaW5kb3cubmF2aWdhdG9yIGlzIHRydWUKLVBBU1MgIWRldGFj
aGVkV2luZG93LmxvY2F0aW9uYmFyIGlzIHRydWUKLVBBU1MgIWRldGFjaGVkV2luZG93Lmhpc3Rv
cnkgaXMgdHJ1ZQogUEFTUyAhZGV0YWNoZWRXaW5kb3cubG9jYWxTdG9yYWdlIGlzIHRydWUKIFBB
U1MgISFkZXRhY2hlZFdpbmRvdy5kb2N1bWVudCBpcyB0cnVlCiBQQVNTICEhZGV0YWNoZWRXaW5k
b3cuWE1MSHR0cFJlcXVlc3QgaXMgdHJ1ZQogUEFTUyAhIWRldGFjaGVkV2luZG93LmdldENvbXB1
dGVkU3R5bGUgaXMgdHJ1ZQotUEFTUyAhZGV0YWNoZWRXaW5kb3cuc2NyZWVuIGlzIHRydWUKIFBB
U1MgZGV0YWNoZWRXaW5kb3cuaW5uZXJIZWlnaHQgaXMgMAogUEFTUyBkZXRhY2hlZFdpbmRvdy5p
bm5lcldpZHRoIGlzIDAKLVBBU1MgIWRldGFjaGVkV2luZG93LmxvY2F0aW9uIGlzIHRydWUKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHkuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWwKaW5k
ZXggMjM4MmJlZTQ1MzA1YWNkNWVlMWIzMjRmNzVkZDg0MzljZGI2MDAzYS4uMjUzMGI1MGVmNDgw
MTEzYzAyM2QxNmQxZjcwMWIxMjYzYTRjOTAzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS5odG1sCkBAIC05LDEyICs5LDE1IEBA
IG9ubG9hZCA9IGZ1bmN0aW9uKCkKICAgICAvLyBDaHJvbWUgYW5kIEZpcmVmb3ggYWdyZWUgd2l0
aCB1cy4KICAgICBzaG91bGRCZVRydWUoIiEhZGV0YWNoZWRXaW5kb3cucG9zdE1lc3NhZ2UiKTsK
ICAgICBzaG91bGRCZVRydWUoIiEhZGV0YWNoZWRXaW5kb3cuY2xvc2UiKTsKKyAgICBzaG91bGRC
ZVRydWUoIiEhZGV0YWNoZWRXaW5kb3cubG9jYXRpb25iYXIiKTsKKyAgICBzaG91bGRCZVRydWUo
IiEhZGV0YWNoZWRXaW5kb3cuaGlzdG9yeSIpOworICAgIHNob3VsZEJlVHJ1ZSgiISFkZXRhY2hl
ZFdpbmRvdy5zY3JlZW4iKTsKKyAgICBzaG91bGRCZVRydWUoIiEhZGV0YWNoZWRXaW5kb3cubG9j
YXRpb24iKTsKICAgICBzaG91bGRCZVRydWUoImRldGFjaGVkV2luZG93LmNsb3NlZCIpOwogICAg
IHNob3VsZEJlTnVsbCgiZGV0YWNoZWRXaW5kb3cudG9wIik7CiAgICAgc2hvdWxkQmVOdWxsKCJk
ZXRhY2hlZFdpbmRvdy5vcGVuZXIiKTsKICAgICBzaG91bGRCZU51bGwoImRldGFjaGVkV2luZG93
LnBhcmVudCIpOwogICAgIHNob3VsZEJlTnVsbCgiZGV0YWNoZWRXaW5kb3cuZnJhbWVFbGVtZW50
Iik7IC8vIFRlY2huaWNhbGx5LCBDaHJvbWUgcmV0dXJucyB1bmRlZmluZWQgaGVyZSwgbm90IG51
bGwuCi0KICAgICAvLyBDaHJvbWUgYWdyZWVzIHdpdGggdXMgYnV0IEZpcmVmb3ggcmV0dXJucyB0
aGUgZGV0YWNoZWRXaW5kb3cuCiAgICAgc2hvdWxkQmVOdWxsKCJkZXRhY2hlZFdpbmRvdy53aW5k
b3ciKTsKICAgICBzaG91bGRCZU51bGwoImRldGFjaGVkV2luZG93LmZyYW1lcyIpOwpAQCAtMjIs
MjAgKzI1LDE0IEBAIG9ubG9hZCA9IGZ1bmN0aW9uKCkKIAogICAgIC8vIENocm9tZSByZXR1cm5z
IHVuZGVmaW5lZCBidXQgRmlyZWZveCBoYXMgYSB2YWxpZCBvYmplY3QuCiAgICAgc2hvdWxkQmVU
cnVlKCIhZGV0YWNoZWRXaW5kb3cubmF2aWdhdG9yIik7Ci0gICAgc2hvdWxkQmVUcnVlKCIhZGV0
YWNoZWRXaW5kb3cubG9jYXRpb25iYXIiKTsKLSAgICBzaG91bGRCZVRydWUoIiFkZXRhY2hlZFdp
bmRvdy5oaXN0b3J5Iik7CiAgICAgc2hvdWxkQmVUcnVlKCIhZGV0YWNoZWRXaW5kb3cubG9jYWxT
dG9yYWdlIik7CiAgICAgc2hvdWxkQmVUcnVlKCIhIWRldGFjaGVkV2luZG93LmRvY3VtZW50Iik7
CiAgICAgc2hvdWxkQmVUcnVlKCIhIWRldGFjaGVkV2luZG93LlhNTEh0dHBSZXF1ZXN0Iik7CiAg
ICAgc2hvdWxkQmVUcnVlKCIhIWRldGFjaGVkV2luZG93LmdldENvbXB1dGVkU3R5bGUiKTsKIAog
ICAgIC8vIENocm9tZSByZXR1cm5zIHVuZGVmaW5lZCBidXQgRmlyZWZveCB0aHJvd3MgYW4gZXhj
ZXB0aW9uLgotICAgIHNob3VsZEJlVHJ1ZSgiIWRldGFjaGVkV2luZG93LnNjcmVlbiIpOwogICAg
IHNob3VsZEJlKCJkZXRhY2hlZFdpbmRvdy5pbm5lckhlaWdodCIsICIwIik7CiAgICAgc2hvdWxk
QmUoImRldGFjaGVkV2luZG93LmlubmVyV2lkdGgiLCAiMCIpOwotCi0gICAgLy8gQm90aCBDaHJv
bWUgYW5kIEZpcmVmb3ggZGlzYWdyZWUgd2l0aCB1cyBhbmQgcmV0dXJuIGEgdmFsaWQgb2JqZWN0
LgotICAgIHNob3VsZEJlVHJ1ZSgiIWRldGFjaGVkV2luZG93LmxvY2F0aW9uIik7CiB9CiA8L3Nj
cmlwdD4KIDxpZnJhbWUgc3JjPSJhYm91dDpibGFuayI+PC9pZnJhbWU+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9jcm9zcy1vcmlnaW4tZGV0YWNoZWQtd2luZG93LXBy
b3BlcnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vY3Jvc3Mt
b3JpZ2luLWRldGFjaGVkLXdpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jZmZjNjFmNTg5NGZkYmQ0NDRmMzZiOWQxOTAzMTgzNGUyZDkzNjVjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vY3Jvc3Mtb3JpZ2luLWRldGFjaGVkLXdp
bmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY2IEBACitWYWxpZGF0ZSB0
aGUgcHJvcGVydGllcyBvZiBhIGRldGFjaGVkIFdpbmRvdyBvYmplY3QuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCisqIEJlZm9yZSBHQworUEFTUyAhIXcubG9jYXRpb24gaXMgdHJ1
ZQorUEFTUyB3LmxvY2F0aW9uLmhyZWYgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJs
b2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFj
Y2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9y
dHMgbXVzdCBtYXRjaC4uCitQQVNTIHcubG9jYXRpb24ucHJvdG9jb2wgdGhyZXcgZXhjZXB0aW9u
IFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4w
LjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xz
LCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcubG9jYXRpb24uaG9zdCB0
aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2lu
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZy
YW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5s
b2NhdGlvbi5ob3N0bmFtZSB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBh
IGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5n
IGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0
IG1hdGNoLi4KK1BBU1Mgdy5sb2NhdGlvbi5wb3J0IHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVy
cm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIg
ZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywg
YW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3LmxvY2F0aW9uLnBhdGhuYW1lIHRocmV3IGV4
Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6
Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFBy
b3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3LmxvY2F0aW9u
LnNlYXJjaCB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdp
dGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mt
b3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4K
K1BBU1Mgdy5sb2NhdGlvbi5oYXNoIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9j
a2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nl
c3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRz
IG11c3QgbWF0Y2guLgorUEFTUyB3LmxvY2F0aW9uLm9yaWdpbiB0aHJldyBleGNlcHRpb24gU2Vj
dXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4x
OjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRv
bWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5sb2NhdGlvbi5hc3NpZ24oJycp
IHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmln
aW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4g
ZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3
LmxvY2F0aW9uLnJlcGxhY2UoJycpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyB3Lmxv
Y2F0aW9uLnJlbG9hZCgnJykgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQg
YSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2lu
ZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVz
dCBtYXRjaC4uCitQQVNTIHcuc2NyZWVuIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBC
bG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBh
Y2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBv
cnRzIG11c3QgbWF0Y2guLgorUEFTUyB3Lmhpc3RvcnkgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5
RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAw
IiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5z
LCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcuY3J5cHRvIHRocmV3IGV4Y2VwdGlvbiBT
ZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4w
LjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywg
ZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3LmxvY2F0aW9uYmFyIHRocmV3
IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUu
IFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3Lm1lbnVi
YXIgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9y
aWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdp
biBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNT
IHcucGVyc29uYWxiYXIgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBm
cmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBh
IGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBt
YXRjaC4uCitQQVNTIHcuc2Nyb2xsYmFycyB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjog
QmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20g
YWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBw
b3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5zdGF0dXNiYXIgdGhyZXcgZXhjZXB0aW9uIFNlY3Vy
aXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4
MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21h
aW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcudG9vbGJhciB0aHJldyBleGNlcHRp
b24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3
LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2Nv
bHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5hcHBsaWNhdGlvbkNh
Y2hlIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBv
cmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmln
aW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFT
UyB3LnZpc3VhbFZpZXdwb3J0IHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2Vk
IGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3Np
bmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11
c3QgbWF0Y2guLgorUEFTUyB3LnN0eWxlTWVkaWEgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJy
b3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBm
cm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBh
bmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcuZm9vIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0
eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAw
MCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlu
cywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3LmxvY2F0aW9uLmZvbyB0aHJldyBleGNl
cHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8v
MTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90
b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KKworKiBBZnRlciBHQworUEFT
UyAhIXcubG9jYXRpb24gaXMgdHJ1ZQorUEFTUyB3LmxvY2F0aW9uLmhyZWYgdGhyZXcgZXhjZXB0
aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEy
Ny4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9j
b2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcubG9jYXRpb24ucHJv
dG9jb2wgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRo
IG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9y
aWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQ
QVNTIHcubG9jYXRpb24uaG9zdCB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tl
ZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNz
aW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBt
dXN0IG1hdGNoLi4KK1BBU1Mgdy5sb2NhdGlvbi5ob3N0bmFtZSB0aHJldyBleGNlcHRpb24gU2Vj
dXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4x
OjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRv
bWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5sb2NhdGlvbi5wb3J0IHRocmV3
IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUu
IFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3LmxvY2F0
aW9uLnBhdGhuYW1lIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJh
bWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBj
cm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0
Y2guLgorUEFTUyB3LmxvY2F0aW9uLnNlYXJjaCB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJv
cjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZy
b20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFu
ZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5sb2NhdGlvbi5oYXNoIHRocmV3IGV4Y2VwdGlv
biBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29s
cywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3LmxvY2F0aW9uLm9yaWdp
biB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3Jp
Z2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2lu
IGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mg
dy5sb2NhdGlvbi5hc3NpZ24oJycpIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9j
a2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nl
c3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRz
IG11c3QgbWF0Y2guLgorUEFTUyB3LmxvY2F0aW9uLnJlcGxhY2UoJycpIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyB3LmxvY2F0aW9uLnJlbG9hZCgnJykgdGhyZXcgZXhjZXB0aW9uIFNl
Y3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAu
MTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBk
b21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcuc2NyZWVuIHRocmV3IGV4Y2Vw
dGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8x
MjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3Rv
Y29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3Lmhpc3RvcnkgdGhy
ZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAi
aHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFt
ZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcuY3J5
cHRvIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBv
cmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmln
aW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFT
UyB3LmxvY2F0aW9uYmFyIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEg
ZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3Npbmcg
YSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3Qg
bWF0Y2guLgorUEFTUyB3Lm1lbnViYXIgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJs
b2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFj
Y2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9y
dHMgbXVzdCBtYXRjaC4uCitQQVNTIHcucGVyc29uYWxiYXIgdGhyZXcgZXhjZXB0aW9uIFNlY3Vy
aXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4
MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21h
aW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcuc2Nyb2xsYmFycyB0aHJldyBleGNl
cHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8v
MTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90
b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5zdGF0dXNiYXIg
dGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdp
biAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBm
cmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcu
dG9vbGJhciB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdp
dGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mt
b3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4K
K1BBU1Mgdy5hcHBsaWNhdGlvbkNhY2hlIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBC
bG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBh
Y2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBv
cnRzIG11c3QgbWF0Y2guLgorUEFTUyB3LnZpc3VhbFZpZXdwb3J0IHRocmV3IGV4Y2VwdGlvbiBT
ZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4w
LjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywg
ZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3LnN0eWxlTWVkaWEgdGhyZXcg
ZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0
cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4g
UHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcuZm9vIHRo
cmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4g
Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJh
bWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3Lmxv
Y2F0aW9uLmZvbyB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1l
IHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jv
c3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNo
Li4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9jcm9zcy1vcmlnaW4tZGV0YWNo
ZWQtd2luZG93LXByb3BlcnRpZXMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL2Ny
b3NzLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVydGllcy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZk
MWEyMmEzNWFiOWQ5Y2RhZWMyNjczODE0OTYwYjQ3Zjc5NDIzOWQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9jcm9zcy1vcmlnaW4tZGV0YWNoZWQtd2luZG93
LXByb3BlcnRpZXMuaHRtbApAQCAtMCwwICsxLDc2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlZhbGlkYXRl
IHRoZSBwcm9wZXJ0aWVzIG9mIGEgZGV0YWNoZWQgV2luZG93IG9iamVjdC4iKTsKK2pzVGVzdElz
QXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiB2YWxpZGF0ZVdpbmRvdyhfdykKK3sKKyAgICB3ID0g
X3c7CisKKyAgICB0cnkgeworICAgIHNob3VsZEJlVHJ1ZSgiISF3LmxvY2F0aW9uIik7CisgICAg
aWYgKHcubG9jYXRpb24pIHsKKyAgICAgICAgc2hvdWxkVGhyb3dFcnJvck5hbWUoIncubG9jYXRp
b24uaHJlZiIsICJTZWN1cml0eUVycm9yIik7CisgICAgICAgIHNob3VsZFRocm93RXJyb3JOYW1l
KCJ3LmxvY2F0aW9uLnByb3RvY29sIiwgIlNlY3VyaXR5RXJyb3IiKTsKKyAgICAgICAgc2hvdWxk
VGhyb3dFcnJvck5hbWUoIncubG9jYXRpb24uaG9zdCIsICJTZWN1cml0eUVycm9yIik7CisgICAg
ICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJ3LmxvY2F0aW9uLmhvc3RuYW1lIiwgIlNlY3VyaXR5
RXJyb3IiKTsKKyAgICAgICAgc2hvdWxkVGhyb3dFcnJvck5hbWUoIncubG9jYXRpb24ucG9ydCIs
ICJTZWN1cml0eUVycm9yIik7CisgICAgICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJ3LmxvY2F0
aW9uLnBhdGhuYW1lIiwgIlNlY3VyaXR5RXJyb3IiKTsKKyAgICAgICAgc2hvdWxkVGhyb3dFcnJv
ck5hbWUoIncubG9jYXRpb24uc2VhcmNoIiwgIlNlY3VyaXR5RXJyb3IiKTsKKyAgICAgICAgc2hv
dWxkVGhyb3dFcnJvck5hbWUoIncubG9jYXRpb24uaGFzaCIsICJTZWN1cml0eUVycm9yIik7Cisg
ICAgICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJ3LmxvY2F0aW9uLm9yaWdpbiIsICJTZWN1cml0
eUVycm9yIik7CisgICAgICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJ3LmxvY2F0aW9uLmFzc2ln
bignJykiLCAiU2VjdXJpdHlFcnJvciIpOworICAgICAgICBzaG91bGROb3RUaHJvdygidy5sb2Nh
dGlvbi5yZXBsYWNlKCcnKSIpOworICAgICAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgidy5sb2Nh
dGlvbi5yZWxvYWQoJycpIiwgIlNlY3VyaXR5RXJyb3IiKTsKKyAgICB9CisgICAgfSBjYXRjaCAo
ZSkgeworICAgICAgICBkZWJ1ZyhlKTsKKyAgICB9CisKKyAgICBzaG91bGRUaHJvd0Vycm9yTmFt
ZSgidy5zY3JlZW4iLCAiU2VjdXJpdHlFcnJvciIpOworICAgIHNob3VsZFRocm93RXJyb3JOYW1l
KCJ3Lmhpc3RvcnkiLCAiU2VjdXJpdHlFcnJvciIpOworICAgIHNob3VsZFRocm93RXJyb3JOYW1l
KCJ3LmNyeXB0byIsICJTZWN1cml0eUVycm9yIik7CisKKyAgICBsZXQgYmFycyA9IFsnbG9jYXRp
b25iYXInLCAnbWVudWJhcicsICdwZXJzb25hbGJhcicsICdzY3JvbGxiYXJzJywgJ3N0YXR1c2Jh
cicsICd0b29sYmFyJ107CisgICAgZm9yIChsZXQgYmFyIG9mIGJhcnMpIHsKKyAgICAgICAgc2hv
dWxkVGhyb3dFcnJvck5hbWUoIncuIiArIGJhciwgIlNlY3VyaXR5RXJyb3IiKTsKKyAgICB9CisK
KyAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgidy5hcHBsaWNhdGlvbkNhY2hlIiwgIlNlY3VyaXR5
RXJyb3IiKTsKKyAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgidy52aXN1YWxWaWV3cG9ydCIsICJT
ZWN1cml0eUVycm9yIik7CisgICAgc2hvdWxkVGhyb3dFcnJvck5hbWUoIncuc3R5bGVNZWRpYSIs
ICJTZWN1cml0eUVycm9yIik7CisKKyAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgidy5mb28iLCAi
U2VjdXJpdHlFcnJvciIpOworICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJ3LmxvY2F0aW9uLmZv
byIsICJTZWN1cml0eUVycm9yIik7Cit9CisKK29ubWVzc2FnZSA9IGZ1bmN0aW9uKCkgeworICAg
IGxldCB3ID0gZi5jb250ZW50V2luZG93OworICAgIGYucmVtb3ZlKCk7CisgICAgZiA9IG51bGw7
CisKKyAgICBkZWJ1ZygiKiBCZWZvcmUgR0MiKTsKKyAgICB2YWxpZGF0ZVdpbmRvdyh3KTsKKyAg
ICBnYygpOworICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICBnYygpOworICAgICAgICBk
ZWJ1ZygiIik7CisgICAgICAgIGRlYnVnKCIqIEFmdGVyIEdDIik7CisgICAgICAgIHZhbGlkYXRl
V2luZG93KHcpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9LCAwKTsKK30KKworb25s
b2FkID0gZnVuY3Rpb24oKSB7CisgICAgZiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFt
ZSIpOworICAgIGYuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9kb20vcmVzb3VyY2VzL3Bv
c3QtbWVzc2FnZS10by1wYXJlbnQtd2hlbi1sb2FkZWQuaHRtbCI7IC8vIENyb3NzLW9yaWdpbi4K
KyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGYpOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9yZXNvdXJj
ZXMvcG9zdC1tZXNzYWdlLXRvLXBhcmVudC13aGVuLWxvYWRlZC5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9kb20vcmVzb3VyY2VzL3Bvc3QtbWVzc2FnZS10by1wYXJlbnQtd2hlbi1sb2Fk
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42MThjMzg4M2JhMzg1ZTE2ZTM4ODI3YmY3NDg1MzI1NDdmY2Q2
MWVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vcmVzb3Vy
Y2VzL3Bvc3QtbWVzc2FnZS10by1wYXJlbnQtd2hlbi1sb2FkZWQuaHRtbApAQCAtMCwwICsxLDEw
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0Pgorb25sb2FkID0g
KCkgPT4geworICAgIHBhcmVudC5wb3N0TWVzc2FnZSgibG9hZGVkIiwgIioiKTsKK30KKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9kb20vc2FtZS1vcmlnaW4tZGV0YWNoZWQtd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vc2FtZS1vcmlnaW4tZGV0YWNoZWQtd2luZG93
LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4MzgyMDc1MjMxNTlmNDgyOTg4
YjRiYzQ0MTdlNjZmOTM3NDkwNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2RvbS9zYW1lLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVydGllcy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMzQgQEAKK1ZhbGlkYXRlIHRoZSBwcm9wZXJ0aWVzIG9mIGEgZGV0
YWNoZWQgV2luZG93IG9iamVjdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKyog
QmVmb3JlIEdDCitQQVNTICEhdy5sb2NhdGlvbiBpcyB0cnVlCitQQVNTIHcubG9jYXRpb24uaHJl
ZiBpcyAiIgorUEFTUyB3LmxvY2F0aW9uLnByb3RvY29sIGlzICIiCitQQVNTIHcubG9jYXRpb24u
aG9zdCBpcyAiIgorUEFTUyB3LmxvY2F0aW9uLmhvc3RuYW1lIGlzICIiCitQQVNTIHcubG9jYXRp
b24ucG9ydCBpcyAiIgorUEFTUyB3LmxvY2F0aW9uLnBhdGhuYW1lIGlzICIiCitQQVNTIHcubG9j
YXRpb24uc2VhcmNoIGlzICIiCitQQVNTIHcubG9jYXRpb24uaGFzaCBpcyAiIgorUEFTUyB3Lmxv
Y2F0aW9uLm9yaWdpbiBpcyAiIgorUEFTUyB3LmxvY2F0aW9uLmFzc2lnbignJykgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIHcubG9jYXRpb24ucmVwbGFjZSgnJykgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIHcubG9jYXRpb24ucmVsb2FkKCcnKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1MgISF3LnNjcmVlbiBpcyB0cnVlCitQQVNTIHcuc2NyZWVuLmhlaWdodCBp
cyAwCitQQVNTIHcuc2NyZWVuLndpZHRoIGlzIDAKK1BBU1Mgdy5zY3JlZW4uY29sb3JEZXB0aCBp
cyAwCitQQVNTIHcuc2NyZWVuLnBpeGVsRGVwdGggaXMgMAorUEFTUyB3LnNjcmVlbi5hdmFpbExl
ZnQgaXMgMAorUEFTUyB3LnNjcmVlbi5hdmFpbFRvcCBpcyAwCitQQVNTIHcuc2NyZWVuLmF2YWls
SGVpZ2h0IGlzIDAKK1BBU1Mgdy5zY3JlZW4uYXZhaWxXaWR0aCBpcyAwCitQQVNTICEhdy5oaXN0
b3J5IGlzIHRydWUKK1BBU1Mgdy5oaXN0b3J5Lmxlbmd0aCBpcyAwCitQQVNTIHcuaGlzdG9yeS5z
dGF0ZSBpcyBudWxsCitQQVNTIHcuaGlzdG9yeS5iYWNrKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIHcuaGlzdG9yeS5mb3J3YXJkKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIHcuaGlzdG9yeS5nbygtMSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHcuaGlz
dG9yeS5wdXNoU3RhdGUoe30sIG51bGwpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyB3
Lmhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCBudWxsKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
K1BBU1MgISF3LmNyeXB0byBpcyB0cnVlCitQQVNTICEhdy5sb2NhdGlvbmJhciBpcyB0cnVlCitQ
QVNTIHcubG9jYXRpb25iYXIudmlzaWJsZSBpcyBmYWxzZQorUEFTUyAhIXcubWVudWJhciBpcyB0
cnVlCitQQVNTIHcubWVudWJhci52aXNpYmxlIGlzIGZhbHNlCitQQVNTICEhdy5wZXJzb25hbGJh
ciBpcyB0cnVlCitQQVNTIHcucGVyc29uYWxiYXIudmlzaWJsZSBpcyBmYWxzZQorUEFTUyAhIXcu
c2Nyb2xsYmFycyBpcyB0cnVlCitQQVNTIHcuc2Nyb2xsYmFycy52aXNpYmxlIGlzIGZhbHNlCitQ
QVNTICEhdy5zdGF0dXNiYXIgaXMgdHJ1ZQorUEFTUyB3LnN0YXR1c2Jhci52aXNpYmxlIGlzIGZh
bHNlCitQQVNTICEhdy50b29sYmFyIGlzIHRydWUKK1BBU1Mgdy50b29sYmFyLnZpc2libGUgaXMg
ZmFsc2UKK1BBU1MgISF3LmFwcGxpY2F0aW9uQ2FjaGUgaXMgdHJ1ZQorUEFTUyB3LmFwcGxpY2F0
aW9uQ2FjaGUuc3RhdHVzIGlzIEFwcGxpY2F0aW9uQ2FjaGUuVU5DQUNIRUQKK1BBU1Mgdy5hcHBs
aWNhdGlvbkNhY2hlLnVwZGF0ZSgpIHRocmV3IGV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjog
VGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLi4KK1BBU1Mgdy5hcHBsaWNhdGlvbkNh
Y2hlLnN3YXBDYWNoZSgpIHRocmV3IGV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjogVGhlIG9i
amVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLi4KK1BBU1Mgdy5hcHBsaWNhdGlvbkNhY2hlLmFi
b3J0KCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTICEhdy52aXN1YWxWaWV3cG9ydCBp
cyB0cnVlCitQQVNTIHcudmlzdWFsVmlld3BvcnQub2Zmc2V0TGVmdCBpcyAwCitQQVNTIHcudmlz
dWFsVmlld3BvcnQub2Zmc2V0VG9wIGlzIDAKK1BBU1Mgdy52aXN1YWxWaWV3cG9ydC5wYWdlTGVm
dCBpcyAwCitQQVNTIHcudmlzdWFsVmlld3BvcnQucGFnZVRvcCBpcyAwCitQQVNTIHcudmlzdWFs
Vmlld3BvcnQud2lkdGggaXMgMAorUEFTUyB3LnZpc3VhbFZpZXdwb3J0LmhlaWdodCBpcyAwCitQ
QVNTIHcudmlzdWFsVmlld3BvcnQuc2NhbGUgaXMgMQorUEFTUyAhIXcuc3R5bGVNZWRpYSBpcyB0
cnVlCitQQVNTIHcuc3R5bGVNZWRpYS50eXBlIGlzICIiCitQQVNTIHcuc3R5bGVNZWRpYS5tYXRj
aE1lZGl1bSgnZm9vJykgaXMgZmFsc2UKK1BBU1Mgdy5mb28gaXMgdW5kZWZpbmVkLgorUEFTUyB3
LmxvY2F0aW9uLmZvbyBpcyB1bmRlZmluZWQuCisKKyogQWZ0ZXIgR0MKK1BBU1MgISF3LmxvY2F0
aW9uIGlzIHRydWUKK1BBU1Mgdy5sb2NhdGlvbi5ocmVmIGlzICIiCitQQVNTIHcubG9jYXRpb24u
cHJvdG9jb2wgaXMgIiIKK1BBU1Mgdy5sb2NhdGlvbi5ob3N0IGlzICIiCitQQVNTIHcubG9jYXRp
b24uaG9zdG5hbWUgaXMgIiIKK1BBU1Mgdy5sb2NhdGlvbi5wb3J0IGlzICIiCitQQVNTIHcubG9j
YXRpb24ucGF0aG5hbWUgaXMgIiIKK1BBU1Mgdy5sb2NhdGlvbi5zZWFyY2ggaXMgIiIKK1BBU1Mg
dy5sb2NhdGlvbi5oYXNoIGlzICIiCitQQVNTIHcubG9jYXRpb24ub3JpZ2luIGlzICIiCitQQVNT
IHcubG9jYXRpb24uYXNzaWduKCcnKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgdy5s
b2NhdGlvbi5yZXBsYWNlKCcnKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgdy5sb2Nh
dGlvbi5yZWxvYWQoJycpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyAhIXcuc2NyZWVu
IGlzIHRydWUKK1BBU1Mgdy5zY3JlZW4uaGVpZ2h0IGlzIDAKK1BBU1Mgdy5zY3JlZW4ud2lkdGgg
aXMgMAorUEFTUyB3LnNjcmVlbi5jb2xvckRlcHRoIGlzIDAKK1BBU1Mgdy5zY3JlZW4ucGl4ZWxE
ZXB0aCBpcyAwCitQQVNTIHcuc2NyZWVuLmF2YWlsTGVmdCBpcyAwCitQQVNTIHcuc2NyZWVuLmF2
YWlsVG9wIGlzIDAKK1BBU1Mgdy5zY3JlZW4uYXZhaWxIZWlnaHQgaXMgMAorUEFTUyB3LnNjcmVl
bi5hdmFpbFdpZHRoIGlzIDAKK1BBU1MgISF3Lmhpc3RvcnkgaXMgdHJ1ZQorUEFTUyB3Lmhpc3Rv
cnkubGVuZ3RoIGlzIDAKK1BBU1Mgdy5oaXN0b3J5LnN0YXRlIGlzIG51bGwKK1BBU1Mgdy5oaXN0
b3J5LmJhY2soKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgdy5oaXN0b3J5LmZvcndh
cmQoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgdy5oaXN0b3J5LmdvKC0xKSBkaWQg
bm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgdy5oaXN0b3J5LnB1c2hTdGF0ZSh7fSwgbnVsbCkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHcuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30s
IG51bGwpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyAhIXcuY3J5cHRvIGlzIHRydWUK
K1BBU1MgISF3LmxvY2F0aW9uYmFyIGlzIHRydWUKK1BBU1Mgdy5sb2NhdGlvbmJhci52aXNpYmxl
IGlzIGZhbHNlCitQQVNTICEhdy5tZW51YmFyIGlzIHRydWUKK1BBU1Mgdy5tZW51YmFyLnZpc2li
bGUgaXMgZmFsc2UKK1BBU1MgISF3LnBlcnNvbmFsYmFyIGlzIHRydWUKK1BBU1Mgdy5wZXJzb25h
bGJhci52aXNpYmxlIGlzIGZhbHNlCitQQVNTICEhdy5zY3JvbGxiYXJzIGlzIHRydWUKK1BBU1Mg
dy5zY3JvbGxiYXJzLnZpc2libGUgaXMgZmFsc2UKK1BBU1MgISF3LnN0YXR1c2JhciBpcyB0cnVl
CitQQVNTIHcuc3RhdHVzYmFyLnZpc2libGUgaXMgZmFsc2UKK1BBU1MgISF3LnRvb2xiYXIgaXMg
dHJ1ZQorUEFTUyB3LnRvb2xiYXIudmlzaWJsZSBpcyBmYWxzZQorUEFTUyAhIXcuYXBwbGljYXRp
b25DYWNoZSBpcyB0cnVlCitQQVNTIHcuYXBwbGljYXRpb25DYWNoZS5zdGF0dXMgaXMgQXBwbGlj
YXRpb25DYWNoZS5VTkNBQ0hFRAorUEFTUyB3LmFwcGxpY2F0aW9uQ2FjaGUudXBkYXRlKCkgdGhy
ZXcgZXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0IGlzIGluIGFuIGludmFs
aWQgc3RhdGUuLgorUEFTUyB3LmFwcGxpY2F0aW9uQ2FjaGUuc3dhcENhY2hlKCkgdGhyZXcgZXhj
ZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0IGlzIGluIGFuIGludmFsaWQgc3Rh
dGUuLgorUEFTUyB3LmFwcGxpY2F0aW9uQ2FjaGUuYWJvcnQoKSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgISF3LnZpc3VhbFZpZXdwb3J0IGlzIHRydWUKK1BBU1Mgdy52aXN1YWxWaWV3
cG9ydC5vZmZzZXRMZWZ0IGlzIDAKK1BBU1Mgdy52aXN1YWxWaWV3cG9ydC5vZmZzZXRUb3AgaXMg
MAorUEFTUyB3LnZpc3VhbFZpZXdwb3J0LnBhZ2VMZWZ0IGlzIDAKK1BBU1Mgdy52aXN1YWxWaWV3
cG9ydC5wYWdlVG9wIGlzIDAKK1BBU1Mgdy52aXN1YWxWaWV3cG9ydC53aWR0aCBpcyAwCitQQVNT
IHcudmlzdWFsVmlld3BvcnQuaGVpZ2h0IGlzIDAKK1BBU1Mgdy52aXN1YWxWaWV3cG9ydC5zY2Fs
ZSBpcyAxCitQQVNTICEhdy5zdHlsZU1lZGlhIGlzIHRydWUKK1BBU1Mgdy5zdHlsZU1lZGlhLnR5
cGUgaXMgIiIKK1BBU1Mgdy5zdHlsZU1lZGlhLm1hdGNoTWVkaXVtKCdmb28nKSBpcyBmYWxzZQor
UEFTUyB3LmZvbyBpcyB1bmRlZmluZWQuCitQQVNTIHcubG9jYXRpb24uZm9vIGlzIHVuZGVmaW5l
ZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9zYW1lLW9yaWdpbi1kZXRhY2hl
ZC13aW5kb3ctcHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vc2Ft
ZS1vcmlnaW4tZGV0YWNoZWQtd2luZG93LXByb3BlcnRpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OGMx
YTJhNzM1ZjYxMTU4ZTY3MWEwYmVmMzljZWUzN2I3OWU0YTg5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vc2FtZS1vcmlnaW4tZGV0YWNoZWQtd2luZG93LXBy
b3BlcnRpZXMuaHRtbApAQCAtMCwwICsxLDE0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJWYWxpZGF0ZSB0
aGUgcHJvcGVydGllcyBvZiBhIGRldGFjaGVkIFdpbmRvdyBvYmplY3QuIik7Citqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gdmFsaWRhdGVXaW5kb3coX3cpCit7CisgICAgdyA9IF93
OworCisgICAgdHJ5IHsKKyAgICBzaG91bGRCZVRydWUoIiEhdy5sb2NhdGlvbiIpOworICAgIGlm
ICh3LmxvY2F0aW9uKSB7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidy5sb2NhdGlv
bi5ocmVmIiwgIiIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIncubG9jYXRpb24u
cHJvdG9jb2wiLCAiIik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidy5sb2NhdGlv
bi5ob3N0IiwgIiIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIncubG9jYXRpb24u
aG9zdG5hbWUiLCAiIik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidy5sb2NhdGlv
bi5wb3J0IiwgIiIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIncubG9jYXRpb24u
cGF0aG5hbWUiLCAiIik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidy5sb2NhdGlv
bi5zZWFyY2giLCAiIik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidy5sb2NhdGlv
bi5oYXNoIiwgIiIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIncubG9jYXRpb24u
b3JpZ2luIiwgIiIpOworICAgICAgICBzaG91bGROb3RUaHJvdygidy5sb2NhdGlvbi5hc3NpZ24o
JycpIik7CisgICAgICAgIHNob3VsZE5vdFRocm93KCJ3LmxvY2F0aW9uLnJlcGxhY2UoJycpIik7
CisgICAgICAgIHNob3VsZE5vdFRocm93KCJ3LmxvY2F0aW9uLnJlbG9hZCgnJykiKTsKKyAgICB9
CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBkZWJ1ZyhlKTsKKyAgICB9CisKKyAgICB0cnkg
eworICAgIHNob3VsZEJlVHJ1ZSgiISF3LnNjcmVlbiIpOworICAgIGlmICh3LnNjcmVlbikgewor
ICAgICAgICBzaG91bGRCZSgidy5zY3JlZW4uaGVpZ2h0IiwgIjAiKTsKKyAgICAgICAgc2hvdWxk
QmUoIncuc2NyZWVuLndpZHRoIiwgIjAiKTsKKyAgICAgICAgc2hvdWxkQmUoIncuc2NyZWVuLmNv
bG9yRGVwdGgiLCAiMCIpOworICAgICAgICBzaG91bGRCZSgidy5zY3JlZW4ucGl4ZWxEZXB0aCIs
ICIwIik7CisgICAgICAgIHNob3VsZEJlKCJ3LnNjcmVlbi5hdmFpbExlZnQiLCAiMCIpOworICAg
ICAgICBzaG91bGRCZSgidy5zY3JlZW4uYXZhaWxUb3AiLCAiMCIpOworICAgICAgICBzaG91bGRC
ZSgidy5zY3JlZW4uYXZhaWxIZWlnaHQiLCAiMCIpOworICAgICAgICBzaG91bGRCZSgidy5zY3Jl
ZW4uYXZhaWxXaWR0aCIsICIwIik7CisgICAgfQorICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAg
ZGVidWcoZSk7CisgICAgfQorCisgICAgdHJ5IHsKKyAgICBzaG91bGRCZVRydWUoIiEhdy5oaXN0
b3J5Iik7CisgICAgaWYgKHcuaGlzdG9yeSkgeworICAgICAgICBzaG91bGRCZSgidy5oaXN0b3J5
Lmxlbmd0aCIsICIwIik7CisgICAgICAgIHNob3VsZEJlTnVsbCgidy5oaXN0b3J5LnN0YXRlIik7
CisgICAgICAgIHNob3VsZE5vdFRocm93KCJ3Lmhpc3RvcnkuYmFjaygpIik7CisgICAgICAgIHNo
b3VsZE5vdFRocm93KCJ3Lmhpc3RvcnkuZm9yd2FyZCgpIik7CisgICAgICAgIHNob3VsZE5vdFRo
cm93KCJ3Lmhpc3RvcnkuZ28oLTEpIik7CisgICAgICAgIHNob3VsZE5vdFRocm93KCJ3Lmhpc3Rv
cnkucHVzaFN0YXRlKHt9LCBudWxsKSIpOworICAgICAgICBzaG91bGROb3RUaHJvdygidy5oaXN0
b3J5LnJlcGxhY2VTdGF0ZSh7fSwgbnVsbCkiKTsKKyAgICB9CisgICAgfSBjYXRjaCAoZSkgewor
ICAgICAgICBkZWJ1ZyhlKTsKKyAgICB9CisKKyAgICB0cnkgeworICAgIHNob3VsZEJlVHJ1ZSgi
ISF3LmNyeXB0byIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZGVidWcoZSk7CisgICAg
fQorCisgICAgbGV0IGJhcnMgPSBbJ2xvY2F0aW9uYmFyJywgJ21lbnViYXInLCAncGVyc29uYWxi
YXInLCAnc2Nyb2xsYmFycycsICdzdGF0dXNiYXInLCAndG9vbGJhciddOworICAgIGZvciAobGV0
IGJhciBvZiBiYXJzKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiISF3
LiIgKyBiYXIpOworICAgICAgICBpZiAod1tiYXJdKSB7CisgICAgICAgICAgICBzaG91bGRCZUZh
bHNlKCJ3LiIgKyBiYXIgKyAiLnZpc2libGUiKTsKKyAgICAgICAgfQorICAgICAgICB9IGNhdGNo
IChlKSB7CisgICAgICAgICAgICBkZWJ1ZyhlKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHRy
eSB7CisgICAgc2hvdWxkQmVUcnVlKCIhIXcuYXBwbGljYXRpb25DYWNoZSIpOworICAgIGlmICh3
LmFwcGxpY2F0aW9uQ2FjaGUpIHsKKyAgICAgICAgc2hvdWxkQmUoIncuYXBwbGljYXRpb25DYWNo
ZS5zdGF0dXMiLCAiQXBwbGljYXRpb25DYWNoZS5VTkNBQ0hFRCIpOworICAgICAgICBzaG91bGRU
aHJvd0Vycm9yTmFtZSgidy5hcHBsaWNhdGlvbkNhY2hlLnVwZGF0ZSgpIiwgIkludmFsaWRTdGF0
ZUVycm9yIik7CisgICAgICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJ3LmFwcGxpY2F0aW9uQ2Fj
aGUuc3dhcENhY2hlKCkiLCAiSW52YWxpZFN0YXRlRXJyb3IiKTsKKyAgICAgICAgc2hvdWxkTm90
VGhyb3coIncuYXBwbGljYXRpb25DYWNoZS5hYm9ydCgpIik7CisgICAgfQorICAgIH0gY2F0Y2gg
KGUpIHsKKyAgICAgICAgZGVidWcoZSk7CisgICAgfQorCisgICAgdHJ5IHsKKyAgICBzaG91bGRC
ZVRydWUoIiEhdy52aXN1YWxWaWV3cG9ydCIpOworICAgIGlmICh3LnZpc3VhbFZpZXdwb3J0KSB7
CisgICAgICAgIHNob3VsZEJlKCJ3LnZpc3VhbFZpZXdwb3J0Lm9mZnNldExlZnQiLCAiMCIpOwor
ICAgICAgICBzaG91bGRCZSgidy52aXN1YWxWaWV3cG9ydC5vZmZzZXRUb3AiLCAiMCIpOworICAg
ICAgICBzaG91bGRCZSgidy52aXN1YWxWaWV3cG9ydC5wYWdlTGVmdCIsICIwIik7CisgICAgICAg
IHNob3VsZEJlKCJ3LnZpc3VhbFZpZXdwb3J0LnBhZ2VUb3AiLCAiMCIpOworICAgICAgICBzaG91
bGRCZSgidy52aXN1YWxWaWV3cG9ydC53aWR0aCIsICIwIik7CisgICAgICAgIHNob3VsZEJlKCJ3
LnZpc3VhbFZpZXdwb3J0LmhlaWdodCIsICIwIik7CisgICAgICAgIHNob3VsZEJlKCJ3LnZpc3Vh
bFZpZXdwb3J0LnNjYWxlIiwgIjEiKTsKKyAgICB9CisgICAgfSBjYXRjaCAoZSkgeworICAgICAg
ICBkZWJ1ZyhlKTsKKyAgICB9CisKKyAgICB0cnkgeworICAgIHNob3VsZEJlVHJ1ZSgiISF3LnN0
eWxlTWVkaWEiKTsKKyAgICBpZiAody5zdHlsZU1lZGlhKSB7CisgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidy5zdHlsZU1lZGlhLnR5cGUiLCAiIik7CisgICAgICAgIHNob3VsZEJlRmFs
c2UoIncuc3R5bGVNZWRpYS5tYXRjaE1lZGl1bSgnZm9vJykiKTsKKyAgICB9CisgICAgfSBjYXRj
aCAoZSkgeworICAgICAgICBkZWJ1ZyhlKTsKKyAgICB9CisKKyAgICB0cnkgeworICAgIHNob3Vs
ZEJlVW5kZWZpbmVkKCJ3LmZvbyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJ3LmxvY2F0aW9u
LmZvbyIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZGVidWcoZSk7CisgICAgfQorfQor
CitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBsZXQgZiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlmcmFtZSIpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZik7CisgICAgbGV0
IHcgPSBmLmNvbnRlbnRXaW5kb3c7CisgICAgZi5yZW1vdmUoKTsKKyAgICBmID0gbnVsbDsKKyAg
ICBkZWJ1ZygiKiBCZWZvcmUgR0MiKTsKKyAgICB2YWxpZGF0ZVdpbmRvdyh3KTsKKyAgICBnYygp
OworICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICBnYygpOworICAgICAgICBkZWJ1Zygi
Iik7CisgICAgICAgIGRlYnVnKCIqIEFmdGVyIEdDIik7CisgICAgICAgIHZhbGlkYXRlV2luZG93
KHcpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9LCAwKTsKK30KKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9uYW1lZC13aW5kb3ctcHJvcGVydHktZnJvbS1zYW1lLW9yaWdpbi1pbmFjdGl2ZS1kb2N1
bWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L25hbWVk
LXdpbmRvdy1wcm9wZXJ0eS1mcm9tLXNhbWUtb3JpZ2luLWluYWN0aXZlLWRvY3VtZW50LWV4cGVj
dGVkLnR4dAppbmRleCBhYjIwYjk3NDNmNTMzOGFmZTVjYjIzYTAxNzA5MzRkMGMwNjNjNTBmLi5h
NDc2ZjU2M2VjYWMwMGRhYTRhNzFjNGI2NWNkODY3MmJlOTlkMTMzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L25hbWVkLXdpbmRvdy1wcm9wZXJ0eS1mcm9tLXNh
bWUtb3JpZ2luLWluYWN0aXZlLWRvY3VtZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L25hbWVkLXdpbmRvdy1wcm9wZXJ0eS1mcm9tLXNhbWUtb3Jp
Z2luLWluYWN0aXZlLWRvY3VtZW50LWV4cGVjdGVkLnR4dApAQCAtNSw3ICs1LDcgQEAgT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUKIAogTG9va3VwIG5hbWVkIGVsZW1lbnQgd2hvc2UgbmFtZSBjb3Jy
ZXNwb25kcyB0byBhbiBlbGVtZW50IGluIHRoZSBpbml0aWFsIGFib3V0OmJsYW5rIGRvY3VtZW50
OgogUEFTUyBmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ0EnKSBpcyBub3Qg
ZWxlbWVudEFJbkluYWN0aXZlRG9jdW1lbnQKLVBBU1MgZWxlbWVudEFJbkRldGFjaGVkV2luZG93
RnVuY3Rpb24oKSB0aHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IEEuCitQQVNTIGVsZW1lbnRBSW5EZXRhY2hlZFdpbmRvd0Z1bmN0aW9uKCkgaXMgZWxl
bWVudEFJbkluYWN0aXZlRG9jdW1lbnQKIAogTG9va3VwIG5hbWVkIGVsZW1lbnQgd2hvc2UgbmFt
ZSBkb2VzIG5vdCBjb3JyZXNwb25kIHRvIGFuIGVsZW1lbnQgaW4gdGhlIGluaXRpYWwgYWJvdXQ6
YmxhbmsgZG9jdW1lbnQ6CiBQQVNTIGVsZW1lbnRCSW5EZXRhY2hlZFdpbmRvd0Z1bmN0aW9uKCkg
dGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBCLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9uYW1lZC13aW5kb3ct
cHJvcGVydHktZnJvbS1zYW1lLW9yaWdpbi1pbmFjdGl2ZS1kb2N1bWVudC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9uYW1lZC13aW5kb3ctcHJvcGVydHktZnJvbS1zYW1l
LW9yaWdpbi1pbmFjdGl2ZS1kb2N1bWVudC5odG1sCmluZGV4IGUzNjZmNmRlNGFkN2EwZTNkZTE5
NTJhNDQ4YWIzOTgyMWRmYTViMmQuLjY2MGE5ODg5OTMyMmZmMjdjZjEwZjc5NmIzNTNkZmEwYzE4
ZGUwOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbmFtZWQt
d2luZG93LXByb3BlcnR5LWZyb20tc2FtZS1vcmlnaW4taW5hY3RpdmUtZG9jdW1lbnQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L25hbWVkLXdpbmRvdy1wcm9wZXJ0
eS1mcm9tLXNhbWUtb3JpZ2luLWluYWN0aXZlLWRvY3VtZW50Lmh0bWwKQEAgLTI0LDcgKzI0LDcg
QEAgZnJhbWUub25sb2FkID0gZnVuY3Rpb24gKCkKIHsKICAgICBkZWJ1ZygiTG9va3VwIG5hbWVk
IGVsZW1lbnQgd2hvc2UgbmFtZSBjb3JyZXNwb25kcyB0byBhbiBlbGVtZW50IGluIHRoZSBpbml0
aWFsIGFib3V0OmJsYW5rIGRvY3VtZW50OiIpOwogICAgIHNob3VsZE5vdEJlKCJmcmFtZS5jb250
ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ0EnKSIsICJlbGVtZW50QUluSW5hY3RpdmVEb2N1
bWVudCIpOwotICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJlbGVtZW50QUluRGV0YWNoZWRXaW5k
b3dGdW5jdGlvbigpIiwgIlJlZmVyZW5jZUVycm9yIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnRB
SW5EZXRhY2hlZFdpbmRvd0Z1bmN0aW9uKCkiLCAiZWxlbWVudEFJbkluYWN0aXZlRG9jdW1lbnQi
KTsKIAogICAgIGRlYnVnKCI8YnI+TG9va3VwIG5hbWVkIGVsZW1lbnQgd2hvc2UgbmFtZSBkb2Vz
IG5vdCBjb3JyZXNwb25kIHRvIGFuIGVsZW1lbnQgaW4gdGhlIGluaXRpYWwgYWJvdXQ6Ymxhbmsg
ZG9jdW1lbnQ6Iik7CiAgICAgc2hvdWxkVGhyb3dFcnJvck5hbWUoImVsZW1lbnRCSW5EZXRhY2hl
ZFdpbmRvd0Z1bmN0aW9uKCkiLCAiUmVmZXJlbmNlRXJyb3IiKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1uYW1lZC13aW5kb3ctcHJvcGVy
dHktZnJvbS1jcm9zcy1vcmlnaW4taW5hY3RpdmUtZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELW5hbWVkLXdpbmRvdy1wcm9w
ZXJ0eS1mcm9tLWNyb3NzLW9yaWdpbi1pbmFjdGl2ZS1kb2N1bWVudC1leHBlY3RlZC50eHQKaW5k
ZXggZTRmYTk0ZDEyMjVjZjEwMzNkYmEzMTdkZjI3ODM1NGQzNTIwNTQ1NS4uMjg5MmMzN2RkMDFi
MGQ4NDQxYmUwZTg0MWQzZjdhNGY5MGRjZTc0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELW5hbWVkLXdpbmRvdy1wcm9wZXJ0eS1mcm9tLWNy
b3NzLW9yaWdpbi1pbmFjdGl2ZS1kb2N1bWVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELW5hbWVkLXdpbmRvdy1wcm9wZXJ0eS1m
cm9tLWNyb3NzLW9yaWdpbi1pbmFjdGl2ZS1kb2N1bWVudC1leHBlY3RlZC50eHQKQEAgLTQsNyAr
NCw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIAogTG9va3VwIG5hbWVkIGVsZW1lbnQg
d2hvc2UgbmFtZSBjb3JyZXNwb25kcyB0byBhbiBlbGVtZW50IGluIHRoZSBpbml0aWFsIGFib3V0
OmJsYW5rIGRvY3VtZW50OgotUEFTUyBlbGVtZW50QUluRGV0YWNoZWRXaW5kb3dGdW5jdGlvbigp
IHRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQS4K
K1BBU1MgZWxlbWVudEFJbkRldGFjaGVkV2luZG93RnVuY3Rpb24oKSBpcyBlbGVtZW50QUluSW5h
Y3RpdmVEb2N1bWVudAogCiBMb29rdXAgbmFtZWQgZWxlbWVudCB3aG9zZSBuYW1lIGRvZXMgbm90
IGNvcnJlc3BvbmQgdG8gYW4gZWxlbWVudCBpbiB0aGUgaW5pdGlhbCBhYm91dDpibGFuayBkb2N1
bWVudDoKIFBBU1MgZWxlbWVudEJJbkRldGFjaGVkV2luZG93RnVuY3Rpb24oKSB0aHJldyBleGNl
cHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEIuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtbmFtZWQtd2luZG93
LXByb3BlcnR5LWZyb20tY3Jvc3Mtb3JpZ2luLWluYWN0aXZlLWRvY3VtZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtbmFtZWQtd2luZG93LXByb3Bl
cnR5LWZyb20tY3Jvc3Mtb3JpZ2luLWluYWN0aXZlLWRvY3VtZW50Lmh0bWwKaW5kZXggODkzYWNh
NzM0ZjMyZWNhOGFkZDZkMGE1MThjNGU2MWUxYzI4NjM1OS4uN2E3MzMzNzhkMmQ3ZWQ2OWE3Njhk
NDM2YzczZmM2YWFlNjQyODg2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS94c3MtREVOSUVELW5hbWVkLXdpbmRvdy1wcm9wZXJ0eS1mcm9tLWNyb3NzLW9yaWdp
bi1pbmFjdGl2ZS1kb2N1bWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkveHNzLURFTklFRC1uYW1lZC13aW5kb3ctcHJvcGVydHktZnJvbS1jcm9zcy1vcmlnaW4t
aW5hY3RpdmUtZG9jdW1lbnQuaHRtbApAQCAtMjMsNyArMjMsNyBAQCB2YXIgZWxlbWVudEJJbkRl
dGFjaGVkV2luZG93RnVuY3Rpb24gPSBmcmFtZS5jb250ZW50V2luZG93LkZ1bmN0aW9uKCJyZXR1
cm4gQjsiKQogZnJhbWUub25sb2FkID0gZnVuY3Rpb24gKCkKIHsKICAgICBkZWJ1ZygiTG9va3Vw
IG5hbWVkIGVsZW1lbnQgd2hvc2UgbmFtZSBjb3JyZXNwb25kcyB0byBhbiBlbGVtZW50IGluIHRo
ZSBpbml0aWFsIGFib3V0OmJsYW5rIGRvY3VtZW50OiIpCi0gICAgc2hvdWxkVGhyb3dFcnJvck5h
bWUoImVsZW1lbnRBSW5EZXRhY2hlZFdpbmRvd0Z1bmN0aW9uKCkiLCAnUmVmZXJlbmNlRXJyb3In
KTsKKyAgICBzaG91bGRCZSgiZWxlbWVudEFJbkRldGFjaGVkV2luZG93RnVuY3Rpb24oKSIsICdl
bGVtZW50QUluSW5hY3RpdmVEb2N1bWVudCcpOwogCiAgICAgZGVidWcoIjxicj5Mb29rdXAgbmFt
ZWQgZWxlbWVudCB3aG9zZSBuYW1lIGRvZXMgbm90IGNvcnJlc3BvbmQgdG8gYW4gZWxlbWVudCBp
biB0aGUgaW5pdGlhbCBhYm91dDpibGFuayBkb2N1bWVudDoiKTsKICAgICBzaG91bGRUaHJvd0Vy
cm9yTmFtZSgiZWxlbWVudEJJbkRldGFjaGVkV2luZG93RnVuY3Rpb24oKSIsICdSZWZlcmVuY2VF
cnJvcicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3Mt
REVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5h
Y3RpdmUtd2luZG93Lmh0bWwKaW5kZXggODYyN2I2NTQwZTliMmM0YzI0MWJhNjViYThjODNlMTNh
ZjUxODEwZi4uMjI4NGI1YjVhYzY3NTk5MTIwZTZmNmU5NThjNmIxMWQwYTQ2ZTI0OSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1p
bmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRv
dy5odG1sCkBAIC0xNiw5ICsxNiw3IEBAIHZhciBpbnRlcnZhbElkOwogCiBmdW5jdGlvbiBjaGVj
a0RpZExvYWRWaWN0aW0oKQogewotICAgIHRyeSB7Ci0gICAgICAgIF9vcGVuZWRXaW5kb3dEb2N1
bWVudC5sb2NhdGlvbi5ocmVmCi0gICAgfSBjYXRjaCAoZSkgeworICAgIGlmIChfb3BlbmVkV2lu
ZG93RG9jdW1lbnQubG9jYXRpb24uaHJlZiA9PSAiIikgewogICAgICAgICAvLyBWaWN0aW0gbG9h
ZGVkOyB8X29wZW5lZFdpbmRvd0RvY3VtZW50fCBpcyBhbiBpbmFjdGl2ZSBkb2N1bWVudC4KICAg
ICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWlu
dG8taW5hY3RpdmUtd2luZG93Mi1wc29uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzItcHNv
bi5odG1sCmluZGV4IDZhNTljMmM3MDZjZTg4N2Y4MDRkODUyMTU5NmMyMTMyZTlmMGEwMzQuLjdm
MGQ1OWJhNjdiMzY5NDJjOTdlODg0ZTAxYjEwYmM4ODgyYzc4NjYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8t
aW5hY3RpdmUtd2luZG93Mi1wc29uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLXBz
b24uaHRtbApAQCAtNDEsOSArNDEsNyBAQCBpZiAoZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoLmlu
ZGV4T2YoIj9hY3R1YWxseS1hdHRhY2siKSAhPT0gLTEpIHsKIAogZnVuY3Rpb24gY2hlY2tEaWRM
b2FkVmljdGltKCkKIHsKLSAgICB0cnkgewotICAgICAgICBvcGVuZXJEb2N1bWVudC5sb2NhdGlv
bi5ocmVmCi0gICAgfSBjYXRjaCAoZSkgeworICAgIGlmIChvcGVuZXJEb2N1bWVudC5sb2NhdGlv
bi5ocmVmID09ICIiKSB7CiAgICAgICAgIC8vIFZpY3RpbSBsb2FkZWQuCiAgICAgICAgIHdpbmRv
dy5jbGVhckludGVydmFsKGludGVydmFsSWQpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZl
LXdpbmRvdzIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklF
RC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Mi5odG1sCmluZGV4IDJiZTM1YTBm
MjRmMDY0ZDY1MTY3ZmNhYTQ0NTMzNjFmYTQxYzUyODkuLjQ3YmUxOGZkN2EwMjVmMDY0ODRlODEz
MDFlZmEwOTYyMDExNmFiYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Mi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQt
aW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Mi5odG1sCkBAIC00MSw5ICs0MSw3IEBAIGlmIChk
b2N1bWVudC5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigiP2FjdHVhbGx5LWF0dGFjayIpICE9PSAt
MSkgewogCiBmdW5jdGlvbiBjaGVja0RpZExvYWRWaWN0aW0oKQogewotICAgIHRyeSB7Ci0gICAg
ICAgIG9wZW5lckRvY3VtZW50LmxvY2F0aW9uLmhyZWYKLSAgICB9IGNhdGNoIChlKSB7CisgICAg
aWYgKG9wZW5lckRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPT0gIiIpIHsKICAgICAgICAgLy8gVmlj
dGltIGxvYWRlZC4KICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1z
Y3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93My5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13
aW5kb3czLmh0bWwKaW5kZXggMzlhODI3MTI1NzVjZDg0YzRhZGYwZTNjMjA2MTVlYWJjYmU1YTU1
MS4uMWY4ZDQ0ZTA2NWU5NjJhNThmZjIyNzEzZGQyMWQ3NjYwZDAyMDdhNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3Qt
aW50by1pbmFjdGl2ZS13aW5kb3czLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3czLmh0
bWwKQEAgLTYwLDkgKzYwLDcgQEAgaWYgKCF3aW5kb3cubG9jYXRpb24uc2VhcmNoKSB7CiAKIGZ1
bmN0aW9uIGNoZWNrRGlkTG9hZFZpY3RpbSgpCiB7Ci0gICAgdHJ5IHsKLSAgICAgICAgc2Vjb25k
T3BlbmVyRG9jdW1lbnQubG9jYXRpb24uaHJlZgotICAgIH0gY2F0Y2ggKGUpIHsKKyAgICBpZiAo
c2Vjb25kT3BlbmVyRG9jdW1lbnQubG9jYXRpb24uaHJlZiA9PSAiIikgewogICAgICAgICAvLyBW
aWN0aW0gbG9hZGVkLgogICAgICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKTsK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3dlYmFwcGFwaXMvZHluYW1pYy1tYXJrdXAtaW5zZXJ0aW9uL29wZW5pbmctdGhlLWlu
cHV0LXN0cmVhbS91cmwud2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL2R5bmFtaWMtbWFya3VwLWlu
c2VydGlvbi9vcGVuaW5nLXRoZS1pbnB1dC1zdHJlYW0vdXJsLndpbmRvdy1leHBlY3RlZC50eHQK
aW5kZXggY2Y2MGJhZGIyY2M2OWEzMGI2ZTBhYmYxZmQ1YjIyZDkyM2RkOTM4Yy4uYzlhMjkzNjU0
ZDcxMTkyMDg2ZDYyY2VkYzEwMGU5YTcwMzQ2NGE2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvZHluYW1pYy1t
YXJrdXAtaW5zZXJ0aW9uL29wZW5pbmctdGhlLWlucHV0LXN0cmVhbS91cmwud2luZG93LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvd2ViYXBwYXBpcy9keW5hbWljLW1hcmt1cC1pbnNlcnRpb24vb3BlbmluZy10aGUtaW5w
dXQtc3RyZWFtL3VybC53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCiBQQVNT
IGRvY3VtZW50Lm9wZW4oKSBjaGFuZ2VzIGRvY3VtZW50J3MgVVJMIChmdWxseSBhY3RpdmUgZG9j
dW1lbnQpIAotRkFJTCBkb2N1bWVudC5vcGVuKCkgZG9lcyBub3QgY2hhbmdlIGRvY3VtZW50J3Mg
VVJMIChhY3RpdmUgYnV0IG5vdCBmdWxseSBhY3RpdmUgZG9jdW1lbnQpIG51bGwgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnY2hpbGRXaW4ubG9jYXRpb24uaHJlZicpCitGQUlMIGRvY3Vt
ZW50Lm9wZW4oKSBkb2VzIG5vdCBjaGFuZ2UgZG9jdW1lbnQncyBVUkwgKGFjdGl2ZSBidXQgbm90
IGZ1bGx5IGFjdGl2ZSBkb2N1bWVudCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImh0dHA6Ly9s
b2NhbGhvc3Q6ODgwMC9jb21tb24vYmxhbmsuaHRtbCIgYnV0IGdvdCAiIgogUEFTUyBkb2N1bWVu
dC5vcGVuKCkgZG9lcyBub3QgY2hhbmdlIGRvY3VtZW50J3MgVVJMIChub24tYWN0aXZlIGRvY3Vt
ZW50IHdpdGggYW4gYXNzb2NpYXRlZCBXaW5kb3cgb2JqZWN0OyBmcmFtZSBpcyByZW1vdmVkKSAK
IFBBU1MgZG9jdW1lbnQub3BlbigpIGRvZXMgbm90IGNoYW5nZSBkb2N1bWVudCdzIFVSTCAobm9u
LWFjdGl2ZSBkb2N1bWVudCB3aXRoIGFuIGFzc29jaWF0ZWQgV2luZG93IG9iamVjdDsgbmF2aWdh
dGVkIGF3YXkpIAogUEFTUyBkb2N1bWVudC5vcGVuKCkgZG9lcyBub3QgY2hhbmdlIGRvY3VtZW50
J3MgVVJMIChub24tYWN0aXZlIGRvY3VtZW50IHdpdGhvdXQgYW4gYXNzb2NpYXRlZCBXaW5kb3cg
b2JqZWN0KSAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352226</attachid>
            <date>2018-10-12 16:06:39 -0700</date>
            <delta_ts>2018-10-15 07:54:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190539-20181012160638.patch</filename>
            <type>text/plain</type>
            <size>69260</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTJiNjI4NmU0N2YxZGY0
ZTU5YzNlYmFlZGQyZGE2ODBhYTAwYTdlNS4uNjAzMDI3YTAwNzM2ZjJmZDBkZDhiNWY3YTQ0NTY5
YWQ2ZDk4NzA2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE4LTEwLTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2luZG93J3MgcHJvcGVydGll
cyBzdWNoIGFzICdsb2NhdGlvbicgc2hvdWxkIG5vdCBiZWNvbWUgbnVsbCB3aGVuIGl0IGxvc2Vz
IGl0cyBicm93c2luZyBjb250ZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTA1MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXaW5kb3cncyBwcm9wZXJ0aWVzIHN1Y2ggYXMgJ2xvY2F0aW9uJyBzaG91
bGQgbm90IGJlY29tZSBudWxsIHdoZW4gaXQgbG9zZXMgaXRzIGJyb3dzaW5nIGNvbnRleHQuCisg
ICAgICAgIFRoaXMgV2Via2l0IGJlaGF2aW9yIGlzIG5vdCBzdGFuZGFyZCBhbmQgZG9lcyBub3Qg
bWF0Y2ggb3RoZXIgYnJvd3NlcnMgc28gdGhpcyBwYXRjaCBtYWtlcyBpdCBzbworICAgICAgICB0
aGF0IHRob3NlIHByb3BlcnRpZXMgcGVyc2lzdC4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0
cy9kb20vY3Jvc3Mtb3JpZ2luLWRldGFjaGVkLXdpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKKyAgICAg
ICAgICAgICAgIGh0dHAvdGVzdHMvZG9tL3NhbWUtb3JpZ2luLWRldGFjaGVkLXdpbmRvdy1wcm9w
ZXJ0aWVzLmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZ1NlY3VyaXR5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nl
c3NUb0RPTVdpbmRvdyk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nU2VjdXJp
dHkuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1Byb3BlcnRpZXMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6anNET01XaW5kb3dQcm9wZXJ0aWVzR2V0T3duUHJvcGVydHlTbG90
TmFtZWRJdGVtR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93UHJvcGVydGll
czo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0xvY2F0aW9u
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldE93blByb3BlcnR5U2xvdENvbW1vbik6
CisgICAgICAgIChXZWJDb3JlOjpwdXRDb21tb24pOgorICAgICAgICAoV2ViQ29yZTo6SlNMb2Nh
dGlvbjo6ZGVsZXRlUHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6SlNMb2NhdGlvbjo6ZGVs
ZXRlUHJvcGVydHlCeUluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkpTTG9jYXRpb246OmdldE93
blByb3BlcnR5TmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6SlNMb2NhdGlvbjo6ZGVmaW5lT3du
UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6SlNMb2NhdGlvbjo6Z2V0UHJvdG90eXBlKToK
KyAgICAgICAgKFdlYkNvcmU6OkpTTG9jYXRpb246OnRvU3RyaW5nTmFtZSk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUF0
dHJpYnV0ZUdldHRlckJvZHlEZWZpbml0aW9uKToKKyAgICAgICAgKEdlbmVyYXRlQXR0cmlidXRl
U2V0dGVyQm9keURlZmluaXRpb24pOgorICAgICAgICAoR2VuZXJhdGVPcGVyYXRpb25Cb2R5RGVm
aW5pdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2
ZURPTU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RBY3RpdmVET01PYmplY3RF
eGNpdGluZ0F0dHJHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0QWN0aXZlRE9NT2Jq
ZWN0UHJvdG90eXBlRnVuY3Rpb25FeGNpdGluZ0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogY3J5
cHRvL1N1YnRsZUNyeXB0by5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJ0bGVDcnlwdG86OlN1
YnRsZUNyeXB0byk6CisgICAgICAgICogY3J5cHRvL1N1YnRsZUNyeXB0by5oOgorICAgICAgICAo
V2ViQ29yZTo6U3VidGxlQ3J5cHRvOjpjcmVhdGUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6fkRvY3VtZW50KToKKyAgICAgICAgKiBw
YWdlL0NyeXB0by5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG86OkNyeXB0byk6CisgICAg
ICAgICogcGFnZS9DcnlwdG8uaDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0bzo6Y3JlYXRlKToK
KyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5k
b3c6On5ET01XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpmcmFtZURlc3Ry
b3llZCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNjcmVlbik6CisgICAgICAgIChX
ZWJDb3JlOjpET01XaW5kb3c6Omhpc3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93
OjpjcnlwdG8pOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojpsb2NhdGlvbmJhcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6Om1lbnViYXIpOgorICAgICAgICAoV2ViQ29yZTo6
RE9NV2luZG93OjpwZXJzb25hbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNj
cm9sbGJhcnMpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzdGF0dXNiYXIpOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojp0b29sYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVdpbmRvdzo6Y29uc29sZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmFw
cGxpY2F0aW9uQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpuYXZpZ2F0b3Ip
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpwZXJmb3JtYW5jZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmxvY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVdpbmRvdzo6dmlzdWFsVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojpz
dHlsZU1lZGlhKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2Uv
RE9NV2luZG93LmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpjcnlwdG8pOgorCiAyMDE4LTEw
LTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBET01DYWNo
ZSBzaG91bGQgZGVyZWZlcmVuY2UgaXRzZWxmIGFzIHNvb24gYXMgc3RvcHBlZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nU2VjdXJpdHkuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nU2VjdXJpdHkuY3BwCmluZGV4
IDcwZDc0YjJjMjUzYTdmNGQwZGU2NzYyYWVhYjZmZWIwZWY2NTRhNTEuLjc4NmEwOWRiODQ0YzE1
MDU5NzcwM2E4ZTRhOTRlNmRjNTNiYmUwOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQmluZGluZ1NlY3VyaXR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUJpbmRpbmdTZWN1cml0eS5jcHAKQEAgLTc3LDYgKzc3LDExIEBAIGJv
b2wgQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoRXhlY1N0YXRlJiBz
dGF0ZSwgRnJhbWUmIGZyYW1lLCBTCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEJpbmRp
bmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhFeGVjU3RhdGUmIHN0YXRl
LCBET01XaW5kb3cqIGdsb2JhbE9iamVjdCwgU3RyaW5nJiBtZXNzYWdlKQoreworICAgIHJldHVy
biBnbG9iYWxPYmplY3QgJiYgc2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhzdGF0ZSwgKmds
b2JhbE9iamVjdCwgbWVzc2FnZSk7Cit9CisKIGJvb2wgQmluZGluZ1NlY3VyaXR5OjpzaG91bGRB
bGxvd0FjY2Vzc1RvRE9NV2luZG93KEV4ZWNTdGF0ZSYgc3RhdGUsIERPTVdpbmRvdyYgZ2xvYmFs
T2JqZWN0LCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgaWYgKEJpbmRpbmdTZWN1cml0eTo6c2hv
dWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdygmc3RhdGUsIGdsb2JhbE9iamVjdCwgRG9Ob3RSZXBv
cnRTZWN1cml0eUVycm9yKSkKQEAgLTkwLDYgKzk1LDExIEBAIGJvb2wgQmluZGluZ1NlY3VyaXR5
OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgRE9N
V2luCiAgICAgcmV0dXJuIGNhbkFjY2Vzc0RvY3VtZW50KHN0YXRlLCB0YXJnZXQuZG9jdW1lbnQo
KSwgcmVwb3J0aW5nT3B0aW9uKTsKIH0KIAorYm9vbCBCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFs
bG93QWNjZXNzVG9ET01XaW5kb3coSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBET01XaW5kb3cqIHRh
cmdldCwgU2VjdXJpdHlSZXBvcnRpbmdPcHRpb24gcmVwb3J0aW5nT3B0aW9uKQoreworICAgIHJl
dHVybiB0YXJnZXQgJiYgc2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhzdGF0ZSwgKnRhcmdl
dCwgcmVwb3J0aW5nT3B0aW9uKTsKK30KKwogYm9vbCBCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFs
bG93QWNjZXNzVG9GcmFtZShKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEZyYW1lKiB0YXJnZXQsIFNl
Y3VyaXR5UmVwb3J0aW5nT3B0aW9uIHJlcG9ydGluZ09wdGlvbikKIHsKICAgICByZXR1cm4gdGFy
Z2V0ICYmIGNhbkFjY2Vzc0RvY3VtZW50KHN0YXRlLCB0YXJnZXQtPmRvY3VtZW50KCksIHJlcG9y
dGluZ09wdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmdTZWN1cml0eS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5k
aW5nU2VjdXJpdHkuaAppbmRleCAyZjMzODc2ODAzYTBlOGFjZmMwZGQ4MjZmZWZhZWExYzk5MDhk
NGZmLi5lYmRiOGE5MDBkMTc1YzY4MDNkMWJhYWU5YjljMzYxZmIzMmQxMzUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmdTZWN1cml0eS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZ1NlY3VyaXR5LmgKQEAgLTQ5
LDYgKzQ5LDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gRXhjZXB0aW9uT3I8VCo+IGNoZWNrU2Vj
dXJpdHlGb3JOb2RlKEpTQzo6RXhlY1N0YXRlJiwgRXhjZXAKIAogYm9vbCBzaG91bGRBbGxvd0Fj
Y2Vzc1RvRE9NV2luZG93KEpTQzo6RXhlY1N0YXRlKiwgRE9NV2luZG93JiwgU2VjdXJpdHlSZXBv
cnRpbmdPcHRpb24gPSBMb2dTZWN1cml0eUVycm9yKTsKIGJvb2wgc2hvdWxkQWxsb3dBY2Nlc3NU
b0RPTVdpbmRvdyhKU0M6OkV4ZWNTdGF0ZSYsIERPTVdpbmRvdyYsIFN0cmluZyYgbWVzc2FnZSk7
Citib29sIHNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coSlNDOjpFeGVjU3RhdGUqLCBET01X
aW5kb3cqLCBTZWN1cml0eVJlcG9ydGluZ09wdGlvbiA9IExvZ1NlY3VyaXR5RXJyb3IpOworYm9v
bCBzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KEpTQzo6RXhlY1N0YXRlJiwgRE9NV2luZG93
KiwgU3RyaW5nJiBtZXNzYWdlKTsKIGJvb2wgc2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKEpTQzo6
RXhlY1N0YXRlKiwgRnJhbWUqLCBTZWN1cml0eVJlcG9ydGluZ09wdGlvbiA9IExvZ1NlY3VyaXR5
RXJyb3IpOwogYm9vbCBzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoSlNDOjpFeGVjU3RhdGUmLCBG
cmFtZSYsIFN0cmluZyYgbWVzc2FnZSk7CiBib29sIHNob3VsZEFsbG93QWNjZXNzVG9Ob2RlKEpT
Qzo6RXhlY1N0YXRlJiwgTm9kZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dQcm9wZXJ0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93UHJvcGVydGllcy5jcHAKaW5kZXggZTllZWRjODJkOWE2MjU5YzY3NWE2
Nzc3NjNkNjUwODlhMjc5OTNjNC4uMzA4Y2EwZTk0ZDhhMGZjMWIwN2Y1ZTk0MTY1NmZmMWU2M2Ew
NDUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dQ
cm9wZXJ0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d1Byb3BlcnRpZXMuY3BwCkBAIC00MSwyNiArNDEsMjggQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsK
IAogY29uc3QgQ2xhc3NJbmZvIEpTRE9NV2luZG93UHJvcGVydGllczo6c19pbmZvID0geyAiV2lu
ZG93UHJvcGVydGllcyIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9N
RVRIT0RfVEFCTEUoSlNET01XaW5kb3dQcm9wZXJ0aWVzKSB9OwogCi1zdGF0aWMgYm9vbCBqc0RP
TVdpbmRvd1Byb3BlcnRpZXNHZXRPd25Qcm9wZXJ0eVNsb3ROYW1lZEl0ZW1HZXR0ZXIoSlNET01X
aW5kb3dQcm9wZXJ0aWVzKiB0aGlzT2JqZWN0LCBGcmFtZSYgZnJhbWUsIEV4ZWNTdGF0ZSogZXhl
YywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQorc3RhdGlj
IGJvb2wganNET01XaW5kb3dQcm9wZXJ0aWVzR2V0T3duUHJvcGVydHlTbG90TmFtZWRJdGVtR2V0
dGVyKEpTRE9NV2luZG93UHJvcGVydGllcyogdGhpc09iamVjdCwgRE9NV2luZG93JiB3aW5kb3cs
IEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90
JiBzbG90KQogewogICAgIC8vIENoZWNrIGZvciBjaGlsZCBmcmFtZXMgYnkgbmFtZSBiZWZvcmUg
YnVpbHQtaW4gcHJvcGVydGllcyB0byBtYXRjaCBNb3ppbGxhLiBUaGlzIGRvZXMKICAgICAvLyBu
b3QgbWF0Y2ggSUUsIGJ1dCBzb21lIHNpdGVzIGVuZCB1cCBuYW1pbmcgZnJhbWVzIHRoaW5ncyB0
aGF0IGNvbmZsaWN0IHdpdGggd2luZG93CiAgICAgLy8gcHJvcGVydGllcyB0aGF0IGFyZSBpbiBN
b3ogYnV0IG5vdCBJRS4gU2luY2Ugd2UgaGF2ZSBzb21lIG9mIHRoZXNlLCB3ZSBoYXZlIHRvIGRv
IGl0CiAgICAgLy8gdGhlIE1veiB3YXkuCi0gICAgaWYgKGF1dG8qIHNjb3BlZENoaWxkID0gZnJh
bWUudHJlZSgpLnNjb3BlZENoaWxkKHByb3BlcnR5TmFtZVRvQXRvbWljU3RyaW5nKHByb3BlcnR5
TmFtZSkpKSB7Ci0gICAgICAgIHNsb3Quc2V0VmFsdWUodGhpc09iamVjdCwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRl
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0sIHRvSlMoZXhlYywgc2NvcGVkQ2hp
bGQtPmRvY3VtZW50KCktPmRvbVdpbmRvdygpKSk7Ci0gICAgICAgIHJldHVybiB0cnVlOworICAg
IGlmIChhdXRvKiBmcmFtZSA9IHdpbmRvdy5mcmFtZSgpKSB7CisgICAgICAgIGlmIChhdXRvKiBz
Y29wZWRDaGlsZCA9IGZyYW1lLT50cmVlKCkuc2NvcGVkQ2hpbGQocHJvcGVydHlOYW1lVG9BdG9t
aWNTdHJpbmcocHJvcGVydHlOYW1lKSkpIHsKKyAgICAgICAgICAgIHNsb3Quc2V0VmFsdWUodGhp
c09iamVjdCwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0s
IHRvSlMoZXhlYywgc2NvcGVkQ2hpbGQtPmRvY3VtZW50KCktPmRvbVdpbmRvdygpKSk7CisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQogICAgIH0KIAotICAgIGlmICghQmluZGlu
Z1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoZXhlYywgJmZyYW1lLCBUaHJvd1Nl
Y3VyaXR5RXJyb3IpKQorICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vz
c1RvRE9NV2luZG93KGV4ZWMsIHdpbmRvdywgVGhyb3dTZWN1cml0eUVycm9yKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgLy8gRklYTUU6IFNlYXJjaCB0aGUgd2hvbGUgZnJhbWUgaGll
cmFyY2h5IHNvbWV3aGVyZSBhcm91bmQgaGVyZS4KICAgICAvLyBXZSBuZWVkIHRvIHRlc3QgdGhl
IGNvcnJlY3QgcHJpb3JpdHkgb3JkZXIuCiAKICAgICAvLyBBbGxvdyBzaG9ydGN1dHMgbGlrZSAn
SW1hZ2UxJyBpbnN0ZWFkIG9mIGRvY3VtZW50LmltYWdlcy5JbWFnZTEKLSAgICBEb2N1bWVudCog
ZG9jdW1lbnQgPSBmcmFtZS5kb2N1bWVudCgpOwotICAgIGlmIChpczxIVE1MRG9jdW1lbnQ+KCpk
b2N1bWVudCkpIHsKKyAgICBhdXRvKiBkb2N1bWVudCA9IHdpbmRvdy5kb2N1bWVudCgpOworICAg
IGlmIChpczxIVE1MRG9jdW1lbnQ+KGRvY3VtZW50KSkgewogICAgICAgICBhdXRvJiBodG1sRG9j
dW1lbnQgPSBkb3duY2FzdDxIVE1MRG9jdW1lbnQ+KCpkb2N1bWVudCk7CiAgICAgICAgIGF1dG8q
IGF0b21pY1Byb3BlcnR5TmFtZSA9IHByb3BlcnR5TmFtZS5wdWJsaWNOYW1lKCk7CiAgICAgICAg
IGlmIChhdG9taWNQcm9wZXJ0eU5hbWUgJiYgaHRtbERvY3VtZW50Lmhhc1dpbmRvd05hbWVkSXRl
bSgqYXRvbWljUHJvcGVydHlOYW1lKSkgewpAQCAtOTcsMTEgKzk5LDcgQEAgYm9vbCBKU0RPTVdp
bmRvd1Byb3BlcnRpZXM6OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVj
U3RhdGUqIHN0YXQKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgYXV0byYgd2luZG93ID0g
anNXaW5kb3ctPndyYXBwZWQoKTsKLQotICAgIGlmIChhdXRvKiBmcmFtZSA9IHdpbmRvdy5mcmFt
ZSgpKQotICAgICAgICByZXR1cm4ganNET01XaW5kb3dQcm9wZXJ0aWVzR2V0T3duUHJvcGVydHlT
bG90TmFtZWRJdGVtR2V0dGVyKHRoaXNPYmplY3QsICpmcmFtZSwgc3RhdGUsIHByb3BlcnR5TmFt
ZSwgc2xvdCk7Ci0KLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIGpzRE9NV2luZG93UHJv
cGVydGllc0dldE93blByb3BlcnR5U2xvdE5hbWVkSXRlbUdldHRlcih0aGlzT2JqZWN0LCB3aW5k
b3csIHN0YXRlLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCiBib29sIEpTRE9NV2luZG93UHJv
cGVydGllczo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU09iamVjdCogb2JqZWN0LCBFeGVj
U3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBpbmRleCwgUHJvcGVydHlTbG90JiBzbG90KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcAppbmRleCBkMjg2
OWQ2MzMyNzQ4NjhkOTU0ZjY3MTY2ZDk4NzA2ZjNkNmM5YTlkLi4xMWQyMmE3MTg3N2NlMzczYzE5
ODdmYmEyYjkyNjM3NmMxZDYxMTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0xvY2F0aW9uQ3VzdG9tLmNwcApAQCAtMzksMTEgKzM5LDcgQEAgc3RhdGljIGJvb2wgZ2V0
T3duUHJvcGVydHlTbG90Q29tbW9uKEpTTG9jYXRpb24mIHRoaXNPYmplY3QsIEV4ZWNTdGF0ZSYg
c3RhdGUsIFAKICAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNM
QVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIEZyYW1lKiBmcmFtZSA9IHRoaXNPYmplY3Qud3Jh
cHBlZCgpLmZyYW1lKCk7Ci0gICAgaWYgKCFmcmFtZSkgewotICAgICAgICBzbG90LnNldFVuZGVm
aW5lZCgpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9CisgICAgYXV0byogd2luZG93ID0g
dGhpc09iamVjdC53cmFwcGVkKCkud2luZG93KCk7CiAKICAgICAvLyBXaGVuIGFjY2Vzc2luZyBM
b2NhdGlvbiBjcm9zcy1kb21haW4sIGZ1bmN0aW9ucyBhcmUgYWx3YXlzIHRoZSBuYXRpdmUgYnVp
bHQtaW4gb25lcy4KICAgICAvLyBTZWUgSlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xvdERl
bGVnYXRlIGZvciBhZGRpdGlvbmFsIGRldGFpbHMuCkBAIC01MSw3ICs0Nyw3IEBAIHN0YXRpYyBi
b29sIGdldE93blByb3BlcnR5U2xvdENvbW1vbihKU0xvY2F0aW9uJiB0aGlzT2JqZWN0LCBFeGVj
U3RhdGUmIHN0YXRlLCBQCiAgICAgLy8gT3VyIGN1c3RvbSBjb2RlIGlzIG9ubHkgbmVlZGVkIHRv
IGltcGxlbWVudCB0aGUgV2luZG93IGNyb3NzLWRvbWFpbiBzY2hlbWUsIHNvIGlmIGFjY2VzcyBp
cwogICAgIC8vIGFsbG93ZWQsIHJldHVybiBmYWxzZSBzbyB0aGUgbm9ybWFsIGxvb2t1cCB3aWxs
IHRha2UgcGxhY2UuCiAgICAgU3RyaW5nIG1lc3NhZ2U7Ci0gICAgaWYgKEJpbmRpbmdTZWN1cml0
eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKHN0YXRlLCAqZnJhbWUsIG1lc3NhZ2UpKQorICAg
IGlmIChCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coc3RhdGUs
IHdpbmRvdywgbWVzc2FnZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIGh0dHBz
Oi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2Nyb3Nzb3JpZ2luZ2V0b3ducHJvcGVydHloZWxwZXIt
KC1vLC1wLSkKQEAgLTEwMSwxMCArOTcsNiBAQCBib29sIEpTTG9jYXRpb246OmdldE93blByb3Bl
cnR5U2xvdEJ5SW5kZXgoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBzdGF0ZSwgdQogCiBz
dGF0aWMgYm9vbCBwdXRDb21tb24oSlNMb2NhdGlvbiYgdGhpc09iamVjdCwgRXhlY1N0YXRlJiBz
dGF0ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKLSAgICBGcmFtZSogZnJhbWUgPSB0
aGlzT2JqZWN0LndyYXBwZWQoKS5mcmFtZSgpOwotICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJl
dHVybiB0cnVlOwotCiAgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKICAgICAvLyBTaWxlbnRseSBi
bG9jayBhY2Nlc3MgdG8gdG9TdHJpbmcgYW5kIHZhbHVlT2YuCiAgICAgaWYgKHByb3BlcnR5TmFt
ZSA9PSB2bS5wcm9wZXJ0eU5hbWVzLT50b1N0cmluZyB8fCBwcm9wZXJ0eU5hbWUgPT0gdm0ucHJv
cGVydHlOYW1lcy0+dmFsdWVPZikKQEAgLTExNyw3ICsxMDksNyBAQCBzdGF0aWMgYm9vbCBwdXRD
b21tb24oSlNMb2NhdGlvbiYgdGhpc09iamVjdCwgRXhlY1N0YXRlJiBzdGF0ZSwgUHJvcGVydHlO
YW1lIHBybwogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAvLyBCbG9jayBhY2Nlc3MgYW5k
IHRocm93IGlmIHRoZXJlIGlzIGEgc2VjdXJpdHkgZXJyb3IuCi0gICAgaWYgKCFCaW5kaW5nU2Vj
dXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9GcmFtZSgmc3RhdGUsIGZyYW1lLCBUaHJvd1NlY3Vy
aXR5RXJyb3IpKQorICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1Rv
RE9NV2luZG93KCZzdGF0ZSwgdGhpc09iamVjdC53cmFwcGVkKCkud2luZG93KCksIFRocm93U2Vj
dXJpdHlFcnJvcikpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgcmV0dXJuIGZhbHNlOwpA
QCAtMTQ5LDcgKzE0MSw3IEBAIGJvb2wgSlNMb2NhdGlvbjo6ZGVsZXRlUHJvcGVydHkoSlNDZWxs
KiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wCiB7CiAgICAgSlNMb2Nh
dGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0xvY2F0aW9uKj4oY2VsbCk7CiAgICAgLy8gT25s
eSBhbGxvdyBkZWxldGluZyBieSBmcmFtZXMgaW4gdGhlIHNhbWUgb3JpZ2luLgotICAgIGlmICgh
QmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoZXhlYywgdGhpc09iamVj
dC0+d3JhcHBlZCgpLmZyYW1lKCksIFRocm93U2VjdXJpdHlFcnJvcikpCisgICAgaWYgKCFCaW5k
aW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coZXhlYywgdGhpc09iamVj
dC0+d3JhcHBlZCgpLndpbmRvdygpLCBUaHJvd1NlY3VyaXR5RXJyb3IpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgcmV0dXJuIEJhc2U6OmRlbGV0ZVByb3BlcnR5KHRoaXNPYmplY3QsIGV4
ZWMsIHByb3BlcnR5TmFtZSk7CiB9CkBAIC0xNTgsNyArMTUwLDcgQEAgYm9vbCBKU0xvY2F0aW9u
OjpkZWxldGVQcm9wZXJ0eUJ5SW5kZXgoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVu
c2lnbmVkIHAKIHsKICAgICBKU0xvY2F0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTTG9jYXRp
b24qPihjZWxsKTsKICAgICAvLyBPbmx5IGFsbG93IGRlbGV0aW5nIGJ5IGZyYW1lcyBpbiB0aGUg
c2FtZSBvcmlnaW4uCi0gICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNz
VG9GcmFtZShleGVjLCB0aGlzT2JqZWN0LT53cmFwcGVkKCkuZnJhbWUoKSwgVGhyb3dTZWN1cml0
eUVycm9yKSkKKyAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RP
TVdpbmRvdyhleGVjLCB0aGlzT2JqZWN0LT53cmFwcGVkKCkud2luZG93KCksIFRocm93U2VjdXJp
dHlFcnJvcikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gQmFzZTo6ZGVsZXRl
UHJvcGVydHlCeUluZGV4KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CkBAIC0x
NjYsNyArMTU4LDcgQEAgYm9vbCBKU0xvY2F0aW9uOjpkZWxldGVQcm9wZXJ0eUJ5SW5kZXgoSlND
ZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHAKIHZvaWQgSlNMb2NhdGlvbjo6
Z2V0T3duUHJvcGVydHlOYW1lcyhKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFBy
b3BlcnR5TmFtZUFycmF5JiBwcm9wZXJ0eU5hbWVzLCBFbnVtZXJhdGlvbk1vZGUgbW9kZSkKIHsK
ICAgICBKU0xvY2F0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTTG9jYXRpb24qPihvYmplY3Qp
OwotICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoZXhl
YywgdGhpc09iamVjdC0+d3JhcHBlZCgpLmZyYW1lKCksIERvTm90UmVwb3J0U2VjdXJpdHlFcnJv
cikpIHsKKyAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdp
bmRvdyhleGVjLCB0aGlzT2JqZWN0LT53cmFwcGVkKCkud2luZG93KCksIERvTm90UmVwb3J0U2Vj
dXJpdHlFcnJvcikpIHsKICAgICAgICAgaWYgKG1vZGUuaW5jbHVkZURvbnRFbnVtUHJvcGVydGll
cygpKQogICAgICAgICAgICAgYWRkQ3Jvc3NPcmlnaW5Pd25Qcm9wZXJ0eU5hbWVzPENyb3NzT3Jp
Z2luT2JqZWN0OjpMb2NhdGlvbj4oKmV4ZWMsIHByb3BlcnR5TmFtZXMpOwogICAgICAgICByZXR1
cm47CkBAIC0xNzcsNyArMTY5LDcgQEAgdm9pZCBKU0xvY2F0aW9uOjpnZXRPd25Qcm9wZXJ0eU5h
bWVzKEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHkKIGJvb2wgSlNM
b2NhdGlvbjo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBl
eGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBjb25zdCBQcm9wZXJ0eURlc2NyaXB0b3Im
IGRlc2NyaXB0b3IsIGJvb2wgdGhyb3dFeGNlcHRpb24pCiB7CiAgICAgSlNMb2NhdGlvbiogdGhp
c09iamVjdCA9IGpzQ2FzdDxKU0xvY2F0aW9uKj4ob2JqZWN0KTsKLSAgICBpZiAoIUJpbmRpbmdT
ZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKGV4ZWMsIHRoaXNPYmplY3QtPndyYXBw
ZWQoKS5mcmFtZSgpLCBUaHJvd1NlY3VyaXR5RXJyb3IpKQorICAgIGlmICghQmluZGluZ1NlY3Vy
aXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KGV4ZWMsIHRoaXNPYmplY3QtPndyYXBw
ZWQoKS53aW5kb3coKSwgVGhyb3dTZWN1cml0eUVycm9yKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKQEAgLTE4OSw3ICsxODEsNyBAQCBib29sIEpT
TG9jYXRpb246OmRlZmluZU93blByb3BlcnR5KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSog
ZXhlYywgUHJvcGVydHlOYQogSlNWYWx1ZSBKU0xvY2F0aW9uOjpnZXRQcm90b3R5cGUoSlNPYmpl
Y3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTTG9jYXRpb24qIHRoaXNPYmpl
Y3QgPSBqc0Nhc3Q8SlNMb2NhdGlvbio+KG9iamVjdCk7Ci0gICAgaWYgKCFCaW5kaW5nU2VjdXJp
dHk6OnNob3VsZEFsbG93QWNjZXNzVG9GcmFtZShleGVjLCB0aGlzT2JqZWN0LT53cmFwcGVkKCku
ZnJhbWUoKSwgRG9Ob3RSZXBvcnRTZWN1cml0eUVycm9yKSkKKyAgICBpZiAoIUJpbmRpbmdTZWN1
cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhleGVjLCB0aGlzT2JqZWN0LT53cmFw
cGVkKCkud2luZG93KCksIERvTm90UmVwb3J0U2VjdXJpdHlFcnJvcikpCiAgICAgICAgIHJldHVy
biBqc051bGwoKTsKIAogICAgIHJldHVybiBCYXNlOjpnZXRQcm90b3R5cGUob2JqZWN0LCBleGVj
KTsKQEAgLTIwNiw3ICsxOTgsNyBAQCBib29sIEpTTG9jYXRpb246OnByZXZlbnRFeHRlbnNpb25z
KEpTT2JqZWN0KiwgRXhlY1N0YXRlKiBleGVjKQogU3RyaW5nIEpTTG9jYXRpb246OnRvU3RyaW5n
TmFtZShjb25zdCBKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgYXV0
byogdGhpc09iamVjdCA9IGpzQ2FzdDxjb25zdCBKU0xvY2F0aW9uKj4ob2JqZWN0KTsKLSAgICBp
ZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKGV4ZWMsIHRoaXNP
YmplY3QtPndyYXBwZWQoKS5mcmFtZSgpLCBEb05vdFJlcG9ydFNlY3VyaXR5RXJyb3IpKQorICAg
IGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KGV4ZWMs
IHRoaXNPYmplY3QtPndyYXBwZWQoKS53aW5kb3coKSwgRG9Ob3RSZXBvcnRTZWN1cml0eUVycm9y
KSkKICAgICAgICAgcmV0dXJuICJPYmplY3QiX3M7CiAgICAgcmV0dXJuICJMb2NhdGlvbiJfczsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KaW5kZXggMjE4MGNiNTVhNmU2NDFlZDQ5MzM1NmNhYmI3N2YxYTljYTI3MDcxNS4uNDhm
Y2U3YmMxNmE4ODBkNjNmNDMyYTAxOGYxZmVlMmY2N2JmNWJkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTQ3NzcsNyAr
NDc3Nyw3IEBAIHN1YiBHZW5lcmF0ZUF0dHJpYnV0ZUdldHRlckJvZHlEZWZpbml0aW9uCiAgICAg
ICAgIGlmICgkaW50ZXJmYWNlLT50eXBlLT5uYW1lIGVxICJET01XaW5kb3ciKSB7CiAgICAgICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3Vs
ZEFsbG93QWNjZXNzVG9ET01XaW5kb3coJnN0YXRlLCB0aGlzT2JqZWN0LndyYXBwZWQoKSwgVGhy
b3dTZWN1cml0eUVycm9yKSlcbiIpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAiICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0Fj
Y2Vzc1RvRnJhbWUoJnN0YXRlLCB0aGlzT2JqZWN0LndyYXBwZWQoKS5mcmFtZSgpLCBUaHJvd1Nl
Y3VyaXR5RXJyb3IpKVxuIik7CisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAg
aWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coJnN0YXRl
LCB0aGlzT2JqZWN0LndyYXBwZWQoKS53aW5kb3coKSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIp
OwogICAgICAgICB9CiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgcmV0dXJu
IGpzVW5kZWZpbmVkKCk7XG4iKTsKICAgICB9CkBAIC00OTA1LDcgKzQ5MDUsNyBAQCBzdWIgR2Vu
ZXJhdGVBdHRyaWJ1dGVTZXR0ZXJCb2R5RGVmaW5pdGlvbgogICAgICAgICBpZiAoJGludGVyZmFj
ZS0+dHlwZS0+bmFtZSBlcSAiRE9NV2luZG93IikgewogICAgICAgICAgICAgcHVzaChAJG91dHB1
dEFycmF5LCAiICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9N
V2luZG93KCZzdGF0ZSwgdGhpc09iamVjdC53cmFwcGVkKCksIFRocm93U2VjdXJpdHlFcnJvcikp
XG4iKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKCZzdGF0
ZSwgdGhpc09iamVjdC53cmFwcGVkKCkuZnJhbWUoKSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIp
OworICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlmICghQmluZGluZ1NlY3Vy
aXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KCZzdGF0ZSwgdGhpc09iamVjdC53cmFw
cGVkKCkud2luZG93KCksIFRocm93U2VjdXJpdHlFcnJvcikpXG4iKTsKICAgICAgICAgfQogICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVybiBmYWxzZTtcbiIpOwogICAg
IH0KQEAgLTUxMjQsNyArNTEyNCw3IEBAIHN1YiBHZW5lcmF0ZU9wZXJhdGlvbkJvZHlEZWZpbml0
aW9uCiAgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlmICghQmluZGlu
Z1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KHN0YXRlLCBjYXN0ZWRUaGlz
LT53cmFwcGVkKCksIFRocm93U2VjdXJpdHlFcnJvcikpXG4iKTsKICAgICAgICAgICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7XG4iKTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAiICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0Fj
Y2Vzc1RvRnJhbWUoc3RhdGUsIGNhc3RlZFRoaXMtPndyYXBwZWQoKS5mcmFtZSgpLCBUaHJvd1Nl
Y3VyaXR5RXJyb3IpKVxuIik7CisgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAi
ICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KHN0
YXRlLCBjYXN0ZWRUaGlzLT53cmFwcGVkKCkud2luZG93KCksIFRocm93U2VjdXJpdHlFcnJvcikp
XG4iKTsKICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7XG4iKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAppbmRleCA2MjkxNmQzNmJi
NTVhNjkzMjI2MmZmYTU1ZGMyNGNlNmVlM2JlODYzLi4wZjcxNTRhYzQwNDUzZjM3YTlmYmIxZWQ5
MjhmNjJlNTUzMDMxYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcApAQCAt
MjAwLDcgKzIwMCw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RBY3RpdmVET01PYmpl
Y3RFeGNpdGluZ0F0dHJHZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwKIHsKICAgICBVTlVTRURfUEFS
QU0odGhyb3dTY29wZSk7CiAgICAgVU5VU0VEX1BBUkFNKHN0YXRlKTsKLSAgICBpZiAoIUJpbmRp
bmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKCZzdGF0ZSwgdGhpc09iamVjdC53
cmFwcGVkKCkuZnJhbWUoKSwgVGhyb3dTZWN1cml0eUVycm9yKSkKKyAgICBpZiAoIUJpbmRpbmdT
ZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdygmc3RhdGUsIHRoaXNPYmplY3Qu
d3JhcHBlZCgpLndpbmRvdygpLCBUaHJvd1NlY3VyaXR5RXJyb3IpKQogICAgICAgICByZXR1cm4g
anNVbmRlZmluZWQoKTsKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAg
ICAgSlNWYWx1ZSByZXN1bHQgPSB0b0pTPElETExvbmc+KHN0YXRlLCB0aHJvd1Njb3BlLCBpbXBs
LmV4Y2l0aW5nQXR0cigpKTsKQEAgLTIxNiw3ICsyMTYsNyBAQCBzdGF0aWMgaW5saW5lIEpTQzo6
RW5jb2RlZEpTVmFsdWUganNUZXN0QWN0aXZlRE9NT2JqZWN0UHJvdG90eXBlRnVuY3Rpb25FeGNp
dGluZwogewogICAgIFVOVVNFRF9QQVJBTShzdGF0ZSk7CiAgICAgVU5VU0VEX1BBUkFNKHRocm93
U2NvcGUpOwotICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRnJh
bWUoc3RhdGUsIGNhc3RlZFRoaXMtPndyYXBwZWQoKS5mcmFtZSgpLCBUaHJvd1NlY3VyaXR5RXJy
b3IpKQorICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2lu
ZG93KHN0YXRlLCBjYXN0ZWRUaGlzLT53cmFwcGVkKCkud2luZG93KCksIFRocm93U2VjdXJpdHlF
cnJvcikpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAg
ICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKICAgICBpZiAoVU5MSUtFTFko
c3RhdGUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL1N1YnRsZUNyeXB0by5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5
cHRvLmNwcAppbmRleCA3YWYxZTYyZGRhYTkyY2YxZTVkNzlkZjA1YmNkOTJlYzA5YWJmOTE3Li5k
ZjJmMWViYzBiMTg4ZmNjZTRkY2MyODNmNWFhMTQxNjNjYTI5ZDFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vU3VidGxlQ3J5cHRvLmNwcApAQCAtNTYsOCArNTYsOCBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAotU3VidGxlQ3J5cHRvOjpTdWJ0bGVDcnlwdG8o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKLSAgICA6IENvbnRleHREZXN0cnVjdGlv
bk9ic2VydmVyKCZjb250ZXh0KQorU3VidGxlQ3J5cHRvOjpTdWJ0bGVDcnlwdG8oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVy
KGNvbnRleHQpCiAgICAgLCBtX3dvcmtRdWV1ZShXb3JrUXVldWU6OmNyZWF0ZSgiY29tLmFwcGxl
LldlYktpdC5DcnlwdG9RdWV1ZSIpKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL1N1YnRsZUNyeXB0by5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0
by5oCmluZGV4IDA0ZTYwM2VmOTY1NDU4OGY3NmVmOWM4MjAyNjI2NGUzNjdhYjJmMTguLmFmZDM5
N2JmMzEwNDAyMjA2Y2M1ZjVmMzRmOWNlZmYxOWZiMjgyZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
U3VidGxlQ3J5cHRvLmgKQEAgLTU0LDcgKzU0LDcgQEAgZW51bSBjbGFzcyBDcnlwdG9LZXlVc2Fn
ZTsKIAogY2xhc3MgU3VidGxlQ3J5cHRvIDogcHVibGljIENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyLCBwdWJsaWMgUmVmQ291bnRlZDxTdWJ0bGVDcnlwdG8+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQ
dHI8U3VidGxlQ3J5cHRvPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTdWJ0bGVDcnlwdG8+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSB7IHJldHVybiBhZG9wdFJl
ZigqbmV3IFN1YnRsZUNyeXB0byhjb250ZXh0KSk7IH0KKyAgICBzdGF0aWMgUmVmPFN1YnRsZUNy
eXB0bz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIHsgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU3VidGxlQ3J5cHRvKGNvbnRleHQpKTsgfQogICAgIH5TdWJ0bGVDcnlwdG8o
KTsKIAogICAgIHVzaW5nIEtleUZvcm1hdCA9IENyeXB0b0tleUZvcm1hdDsKQEAgLTc2LDcgKzc2
LDcgQEAgcHVibGljOgogICAgIHZvaWQgdW53cmFwS2V5KEpTQzo6RXhlY1N0YXRlJiwgS2V5Rm9y
bWF0LCBCdWZmZXJTb3VyY2UmJiB3cmFwcGVkS2V5LCBDcnlwdG9LZXkmIHVud3JhcHBpbmdLZXks
IEFsZ29yaXRobUlkZW50aWZpZXImJiB1bndyYXBBbGdvcml0aG0sIEFsZ29yaXRobUlkZW50aWZp
ZXImJiB1bndyYXBwZWRLZXlBbGdvcml0aG0sIGJvb2wgZXh0cmFjdGFibGUsIFZlY3RvcjxDcnlw
dG9LZXlVc2FnZT4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKIHByaXZhdGU6Ci0gICAg
ZXhwbGljaXQgU3VidGxlQ3J5cHRvKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKyAgICBleHBs
aWNpdCBTdWJ0bGVDcnlwdG8oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogCiAgICAgaW5saW5l
IGZyaWVuZCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBnZXRQcm9taXNlKERlZmVycmVkUHJvbWlz
ZSosIFdlYWtQdHI8U3VidGxlQ3J5cHRvPik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ3J5cHRvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5cHRvLmNwcAppbmRleCA3
YTQ2M2JmZWI1ZTNmMjg0NDdkZWRkZjFiNTIyNzA4YmVhYTk1MDVhLi5iYzM3Y2VjYjgyZDVhMDE3
ZTcxOWNkZjA2YmU3NTg3NmYzMGY0ZWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NyeXB0by5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uY3BwCkBAIC00Miw4
ICs0Miw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ3J5cHRvOjpDcnlwdG8oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKLSAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQorQ3J5cHRvOjpDcnlwdG8oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCkKKyAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyKGNvbnRleHQpCiAjaWYgRU5B
QkxFKFNVQlRMRV9DUllQVE8pCiAgICAgLCBtX3N1YnRsZShTdWJ0bGVDcnlwdG86OmNyZWF0ZShj
b250ZXh0KSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8u
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5cHRvLmgKaW5kZXggZmIyNDcwZTZkZGM5MWFlZDkz
YjM4ZDVjZjZjZmUxZmMzNmIyZWNjZC4uMzY1MjY1NTMxNmIyYjVlMTMxNDUzN2U3M2ZiYjY1N2Rm
MDhlNjBlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5oCkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIFN1YnRs
ZUNyeXB0bzsKIAogY2xhc3MgQ3J5cHRvIDogcHVibGljIENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyLCBwdWJsaWMgUmVmQ291bnRlZDxDcnlwdG8+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVm
PENyeXB0bz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ3J5cHRvKGNvbnRleHQpKTsgfQorICAgIHN0YXRpYyBSZWY8Q3J5cHRv
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBDcnlwdG8oY29udGV4dCkpOyB9CiAgICAgdmlydHVhbCB+Q3J5cHRvKCk7CiAKICAg
ICBFeGNlcHRpb25Pcjx2b2lkPiBnZXRSYW5kb21WYWx1ZXMoSlNDOjpBcnJheUJ1ZmZlclZpZXcm
KTsKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZhdGU6Ci0gICAgQ3J5
cHRvKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKyAgICBDcnlwdG8oU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCopOwogCiAjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCiAgICAgUmVmPFN1YnRsZUNy
eXB0bz4gbV9zdWJ0bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggMGMzYTI1NGU1
OTJjMGQ3ODhhNmZjNDM4MDZhNDdlMGM1ODU3Mzk5OC4uM2JhYjQ4ZDA5ZmY2NDMxMDA0MTdlYzE4
MDg4M2I1ZGIwOGUzMmQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNDE4LDM3
ICs0MTgsMTEgQEAgdm9pZCBET01XaW5kb3c6OmRpZFNlY3VyZVRyYW5zaXRpb25UbyhEb2N1bWVu
dCYgZG9jdW1lbnQpCiAKIERPTVdpbmRvdzo6fkRPTVdpbmRvdygpCiB7Ci0jaWZuZGVmIE5ERUJV
RwotICAgIGlmICghbV9zdXNwZW5kZWRGb3JEb2N1bWVudFN1c3BlbnNpb24pIHsKLSAgICAgICAg
QVNTRVJUKCFtX3NjcmVlbik7Ci0gICAgICAgIEFTU0VSVCghbV9oaXN0b3J5KTsKLSAgICAgICAg
QVNTRVJUKCFtX2NyeXB0byk7Ci0gICAgICAgIEFTU0VSVCghbV9sb2NhdGlvbmJhcik7Ci0gICAg
ICAgIEFTU0VSVCghbV9tZW51YmFyKTsKLSAgICAgICAgQVNTRVJUKCFtX3BlcnNvbmFsYmFyKTsK
LSAgICAgICAgQVNTRVJUKCFtX3Njcm9sbGJhcnMpOwotICAgICAgICBBU1NFUlQoIW1fc3RhdHVz
YmFyKTsKLSAgICAgICAgQVNTRVJUKCFtX3Rvb2xiYXIpOwotICAgICAgICBBU1NFUlQoIW1fbmF2
aWdhdG9yKTsKLSAgICAgICAgQVNTRVJUKCFtX3BlcmZvcm1hbmNlKTsKLSAgICAgICAgQVNTRVJU
KCFtX2xvY2F0aW9uKTsKLSAgICAgICAgQVNTRVJUKCFtX21lZGlhKTsKLSAgICAgICAgQVNTRVJU
KCFtX3Nlc3Npb25TdG9yYWdlKTsKLSAgICAgICAgQVNTRVJUKCFtX2xvY2FsU3RvcmFnZSk7Ci0g
ICAgICAgIEFTU0VSVCghbV9hcHBsaWNhdGlvbkNhY2hlKTsKLSAgICAgICAgQVNTRVJUKCFtX3Zp
c3VhbFZpZXdwb3J0KTsKLSAgICB9Ci0jZW5kaWYKLQogICAgIGlmIChtX3N1c3BlbmRlZEZvckRv
Y3VtZW50U3VzcGVuc2lvbikKICAgICAgICAgd2lsbERlc3Ryb3lDYWNoZWRGcmFtZSgpOwogICAg
IGVsc2UKICAgICAgICAgd2lsbERlc3Ryb3lEb2N1bWVudEluRnJhbWUoKTsKIAotICAgIC8vIEFz
IHRoZSBBU1NFUlRzIGFib3ZlIGluZGljYXRlLCB0aGlzIHJlc2V0IHNob3VsZCBvbmx5IGJlIG5l
Y2Vzc2FyeSBpZiB0aGlzIERPTVdpbmRvdyBpcyBzdXNwZW5kZWQgZm9yIHRoZSBwYWdlIGNhY2hl
LgotICAgIC8vIEJ1dCB3ZSBkb24ndCB3YW50IHRvIHJpc2sgYW55IG9mIHRoZXNlIG9iamVjdHMg
aGFuZ2luZyBhcm91bmQgYWZ0ZXIgd2UndmUgYmVlbiBkZXN0cm95ZWQuCi0gICAgcmVzZXRET01X
aW5kb3dQcm9wZXJ0aWVzKCk7Ci0KICAgICByZW1vdmVBbGxVbmxvYWRFdmVudExpc3RlbmVycyh0
aGlzKTsKICAgICByZW1vdmVBbGxCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVycyh0aGlzKTsKIApA
QCAtNDc1LDcgKzQ0OSw2IEBAIHZvaWQgRE9NV2luZG93OjpmcmFtZURlc3Ryb3llZCgpCiAgICAg
UmVmPERPTVdpbmRvdz4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAKICAgICB3aWxsRGVzdHJveURv
Y3VtZW50SW5GcmFtZSgpOwotICAgIHJlc2V0RE9NV2luZG93UHJvcGVydGllcygpOwogICAgIEpT
RE9NV2luZG93QmFzZTo6ZmlyZUZyYW1lQ2xlYXJlZFdhdGNocG9pbnRzRm9yV2luZG93KHRoaXMp
OwogfQogCkBAIC02NjQsOCArNjM3LDYgQEAgaW50IERPTVdpbmRvdzo6b3JpZW50YXRpb24oKSBj
b25zdAogCiBTY3JlZW4qIERPTVdpbmRvdzo6c2NyZWVuKCkKIHsKLSAgICBpZiAoIWlzQ3VycmVu
dGx5RGlzcGxheWVkSW5GcmFtZSgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAo
IW1fc2NyZWVuKQogICAgICAgICBtX3NjcmVlbiA9IFNjcmVlbjo6Y3JlYXRlKCp0aGlzKTsKICAg
ICByZXR1cm4gbV9zY3JlZW4uZ2V0KCk7CkBAIC02NzMsOCArNjQ0LDYgQEAgU2NyZWVuKiBET01X
aW5kb3c6OnNjcmVlbigpCiAKIEhpc3RvcnkqIERPTVdpbmRvdzo6aGlzdG9yeSgpCiB7Ci0gICAg
aWYgKCFpc0N1cnJlbnRseURpc3BsYXllZEluRnJhbWUoKSkKLSAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgaWYgKCFtX2hpc3RvcnkpCiAgICAgICAgIG1faGlzdG9yeSA9IEhpc3Rvcnk6OmNy
ZWF0ZSgqdGhpcyk7CiAgICAgcmV0dXJuIG1faGlzdG9yeS5nZXQoKTsKQEAgLTY4MiwxOCArNjUx
LDEzIEBAIEhpc3RvcnkqIERPTVdpbmRvdzo6aGlzdG9yeSgpCiAKIENyeXB0byogRE9NV2luZG93
OjpjcnlwdG8oKSBjb25zdAogewotICAgIC8vIEZJWE1FOiBXaHkgaXMgY3J5cHRvIG5vdCBhdmFp
bGFibGUgd2hlbiB0aGUgd2luZG93IGlzIG5vdCBjdXJyZW50bHkgZGlzcGxheWVkIGluIGEgZnJh
bWU/Ci0gICAgaWYgKCFpc0N1cnJlbnRseURpc3BsYXllZEluRnJhbWUoKSkKLSAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgaWYgKCFtX2NyeXB0bykKLSAgICAgICAgbV9jcnlwdG8gPSBDcnlw
dG86OmNyZWF0ZSgqZG9jdW1lbnQoKSk7CisgICAgICAgIG1fY3J5cHRvID0gQ3J5cHRvOjpjcmVh
dGUoZG9jdW1lbnQoKSk7CiAgICAgcmV0dXJuIG1fY3J5cHRvLmdldCgpOwogfQogCiBCYXJQcm9w
KiBET01XaW5kb3c6OmxvY2F0aW9uYmFyKCkKIHsKLSAgICBpZiAoIWlzQ3VycmVudGx5RGlzcGxh
eWVkSW5GcmFtZSgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoIW1fbG9jYXRp
b25iYXIpCiAgICAgICAgIG1fbG9jYXRpb25iYXIgPSBCYXJQcm9wOjpjcmVhdGUoKnRoaXMsIEJh
clByb3A6OkxvY2F0aW9uYmFyKTsKICAgICByZXR1cm4gbV9sb2NhdGlvbmJhci5nZXQoKTsKQEAg
LTcwMSw4ICs2NjUsNiBAQCBCYXJQcm9wKiBET01XaW5kb3c6OmxvY2F0aW9uYmFyKCkKIAogQmFy
UHJvcCogRE9NV2luZG93OjptZW51YmFyKCkKIHsKLSAgICBpZiAoIWlzQ3VycmVudGx5RGlzcGxh
eWVkSW5GcmFtZSgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoIW1fbWVudWJh
cikKICAgICAgICAgbV9tZW51YmFyID0gQmFyUHJvcDo6Y3JlYXRlKCp0aGlzLCBCYXJQcm9wOjpN
ZW51YmFyKTsKICAgICByZXR1cm4gbV9tZW51YmFyLmdldCgpOwpAQCAtNzEwLDggKzY3Miw2IEBA
IEJhclByb3AqIERPTVdpbmRvdzo6bWVudWJhcigpCiAKIEJhclByb3AqIERPTVdpbmRvdzo6cGVy
c29uYWxiYXIoKQogewotICAgIGlmICghaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCi0g
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlmICghbV9wZXJzb25hbGJhcikKICAgICAgICAg
bV9wZXJzb25hbGJhciA9IEJhclByb3A6OmNyZWF0ZSgqdGhpcywgQmFyUHJvcDo6UGVyc29uYWxi
YXIpOwogICAgIHJldHVybiBtX3BlcnNvbmFsYmFyLmdldCgpOwpAQCAtNzE5LDggKzY3OSw2IEBA
IEJhclByb3AqIERPTVdpbmRvdzo6cGVyc29uYWxiYXIoKQogCiBCYXJQcm9wKiBET01XaW5kb3c6
OnNjcm9sbGJhcnMoKQogewotICAgIGlmICghaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkp
Ci0gICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlmICghbV9zY3JvbGxiYXJzKQogICAgICAg
ICBtX3Njcm9sbGJhcnMgPSBCYXJQcm9wOjpjcmVhdGUoKnRoaXMsIEJhclByb3A6OlNjcm9sbGJh
cnMpOwogICAgIHJldHVybiBtX3Njcm9sbGJhcnMuZ2V0KCk7CkBAIC03MjgsOCArNjg2LDYgQEAg
QmFyUHJvcCogRE9NV2luZG93OjpzY3JvbGxiYXJzKCkKIAogQmFyUHJvcCogRE9NV2luZG93Ojpz
dGF0dXNiYXIoKQogewotICAgIGlmICghaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCi0g
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlmICghbV9zdGF0dXNiYXIpCiAgICAgICAgIG1f
c3RhdHVzYmFyID0gQmFyUHJvcDo6Y3JlYXRlKCp0aGlzLCBCYXJQcm9wOjpTdGF0dXNiYXIpOwog
ICAgIHJldHVybiBtX3N0YXR1c2Jhci5nZXQoKTsKQEAgLTczNyw4ICs2OTMsNiBAQCBCYXJQcm9w
KiBET01XaW5kb3c6OnN0YXR1c2JhcigpCiAKIEJhclByb3AqIERPTVdpbmRvdzo6dG9vbGJhcigp
CiB7Ci0gICAgaWYgKCFpc0N1cnJlbnRseURpc3BsYXllZEluRnJhbWUoKSkKLSAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgaWYgKCFtX3Rvb2xiYXIpCiAgICAgICAgIG1fdG9vbGJhciA9IEJh
clByb3A6OmNyZWF0ZSgqdGhpcywgQmFyUHJvcDo6VG9vbGJhcik7CiAgICAgcmV0dXJuIG1fdG9v
bGJhci5nZXQoKTsKQEAgLTc0Niw2ICs3MDAsNyBAQCBCYXJQcm9wKiBET01XaW5kb3c6OnRvb2xi
YXIoKQogCiBQYWdlQ29uc29sZUNsaWVudCogRE9NV2luZG93Ojpjb25zb2xlKCkgY29uc3QKIHsK
KyAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgbm90IHJldHVybiBudWxscHRyIHdoZW4gZnJhbWVs
ZXNzLgogICAgIGlmICghaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCiAgICAgICAgIHJl
dHVybiBudWxscHRyOwogICAgIGF1dG8qIGZyYW1lID0gdGhpcy0+ZnJhbWUoKTsKQEAgLTc1NCw4
ICs3MDksNiBAQCBQYWdlQ29uc29sZUNsaWVudCogRE9NV2luZG93Ojpjb25zb2xlKCkgY29uc3QK
IAogRE9NQXBwbGljYXRpb25DYWNoZSogRE9NV2luZG93OjphcHBsaWNhdGlvbkNhY2hlKCkKIHsK
LSAgICBpZiAoIWlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQotICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICBpZiAoIW1fYXBwbGljYXRpb25DYWNoZSkKICAgICAgICAgbV9hcHBsaWNh
dGlvbkNhY2hlID0gRE9NQXBwbGljYXRpb25DYWNoZTo6Y3JlYXRlKCp0aGlzKTsKICAgICByZXR1
cm4gbV9hcHBsaWNhdGlvbkNhY2hlLmdldCgpOwpAQCAtNzYzLDYgKzcxNiw3IEBAIERPTUFwcGxp
Y2F0aW9uQ2FjaGUqIERPTVdpbmRvdzo6YXBwbGljYXRpb25DYWNoZSgpCiAKIE5hdmlnYXRvciog
RE9NV2luZG93OjpuYXZpZ2F0b3IoKQogeworICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBub3Qg
cmV0dXJuIG51bGxwdHIgd2hlbiBmcmFtZWxlc3MuCiAgICAgaWYgKCFpc0N1cnJlbnRseURpc3Bs
YXllZEluRnJhbWUoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTc3Niw4ICs3MzAs
MTAgQEAgTmF2aWdhdG9yKiBET01XaW5kb3c6Om5hdmlnYXRvcigpCiAKIFBlcmZvcm1hbmNlKiBE
T01XaW5kb3c6OnBlcmZvcm1hbmNlKCkgY29uc3QKIHsKKyAgICAvLyBGSVhNRTogVGhpcyBzaG91
bGQgbm90IHJldHVybiBudWxscHRyIHdoZW4gZnJhbWVsZXNzLgogICAgIGlmICghaXNDdXJyZW50
bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOworCiAgICAgaWYg
KCFtX3BlcmZvcm1hbmNlKSB7CiAgICAgICAgIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiA9IGRv
Y3VtZW50KCktPmxvYWRlcigpID8gZG9jdW1lbnQoKS0+bG9hZGVyKCktPnRpbWluZygpLnJlZmVy
ZW5jZU1vbm90b25pY1RpbWUoKSA6IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgICAgICBtX3Bl
cmZvcm1hbmNlID0gUGVyZm9ybWFuY2U6OmNyZWF0ZSgqZG9jdW1lbnQoKSwgdGltZU9yaWdpbik7
CkBAIC03OTIsOCArNzQ4LDYgQEAgZG91YmxlIERPTVdpbmRvdzo6bm93VGltZXN0YW1wKCkgY29u
c3QKIAogTG9jYXRpb24qIERPTVdpbmRvdzo6bG9jYXRpb24oKQogewotICAgIGlmICghaXNDdXJy
ZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCi0gICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlm
ICghbV9sb2NhdGlvbikKICAgICAgICAgbV9sb2NhdGlvbiA9IExvY2F0aW9uOjpjcmVhdGUoKnRo
aXMpOwogICAgIHJldHVybiBtX2xvY2F0aW9uLmdldCgpOwpAQCAtODAxLDkgKzc1NSw3IEBAIExv
Y2F0aW9uKiBET01XaW5kb3c6OmxvY2F0aW9uKCkKIAogVmlzdWFsVmlld3BvcnQqIERPTVdpbmRv
dzo6dmlzdWFsVmlld3BvcnQoKQogewotICAgIGlmICghaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZy
YW1lKCkpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIGlmICghbV92aXN1YWxWaWV3cG9y
dCAmJiAhbV9zdXNwZW5kZWRGb3JEb2N1bWVudFN1c3BlbnNpb24pCisgICAgaWYgKCFtX3Zpc3Vh
bFZpZXdwb3J0KQogICAgICAgICBtX3Zpc3VhbFZpZXdwb3J0ID0gVmlzdWFsVmlld3BvcnQ6OmNy
ZWF0ZSgqdGhpcyk7CiAgICAgcmV0dXJuIG1fdmlzdWFsVmlld3BvcnQuZ2V0KCk7CiB9CkBAIC0x
NDkzLDggKzE0NDUsNiBAQCBEb2N1bWVudCogRE9NV2luZG93Ojpkb2N1bWVudCgpIGNvbnN0CiAK
IFJlZlB0cjxTdHlsZU1lZGlhPiBET01XaW5kb3c6OnN0eWxlTWVkaWEoKQogewotICAgIGlmICgh
aXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCi0gICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIGlmICghbV9tZWRpYSkKICAgICAgICAgbV9tZWRpYSA9IFN0eWxlTWVkaWE6OmNyZWF0ZSgq
dGhpcyk7CiAgICAgcmV0dXJuIG1fbWVkaWE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCBi
OTRkMTU0ZWI0ZjE4YjM0MmJjMzc3NDY3NTFmYTM2ZmViNWE1YzIyLi42NTg3M2E0MDZhNTA5Nzk1
NWNlY2EyZjZjZWYxMTgwYzEyMTVmM2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTMz
NCw2ICszMzQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbigp
OwogICAgIHZvaWQgZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CiAKKyAgICB2b2lkIHdpbGxE
ZXN0cm95RG9jdW1lbnRJbkZyYW1lKCk7CiAgICAgdm9pZCBmcmFtZURlc3Ryb3llZCgpOwogCiBw
cml2YXRlOgpAQCAtMzUxLDcgKzM1Miw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc0luc2VjdXJl
U2NyaXB0QWNjZXNzKERPTVdpbmRvdyYgYWN0aXZlV2luZG93LCBjb25zdCBTdHJpbmcmIHVybFN0
cmluZyk7CiAKICAgICB2b2lkIHJlc2V0RE9NV2luZG93UHJvcGVydGllcygpOwotICAgIHZvaWQg
d2lsbERlc3Ryb3lEb2N1bWVudEluRnJhbWUoKTsKIAogICAgIGJvb2wgaXNTYW1lU2VjdXJpdHlP
cmlnaW5Bc01haW5GcmFtZSgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5k
ZXggYTU1OTJhOTQ3OWYwZmJhNmQxYTFjY2M1MWQ3NGZkOWQ2OWIzZjQzZS4uOTAwMTkwMGEyYmY1
MDJjOTI4NjJiNjVjYTg2Zjg0MjMzNmRmOWM3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bApAQCAtNTQsNyArNTQsNyBAQCB0eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmluZzsKICAgICBb
UmVwbGFjZWFibGUsIERvTm90Q2hlY2tTZWN1cml0eU9uR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1
dGUgV2luZG93UHJveHkgc2VsZjsKICAgICBbVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBEb2N1bWVudCBkb2N1bWVudDsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gICAg
W0RvTm90Q2hlY2tTZWN1cml0eSwgUHV0Rm9yd2FyZHM9aHJlZiwgVW5mb3JnZWFibGVdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBMb2NhdGlvbj8gbG9jYXRpb247IC8vIEZJWE1FOiBTaG91bGQgbm90IGJl
IG51bGxhYmxlLgorICAgIFtEb05vdENoZWNrU2VjdXJpdHksIFB1dEZvcndhcmRzPWhyZWYsIFVu
Zm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgTG9jYXRpb24gbG9jYXRpb247CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEhpc3RvcnkgaGlzdG9yeTsKICAgICBbRW5hYmxlZEF0UnVudGltZT1D
dXN0b21FbGVtZW50cywgSW1wbGVtZW50ZWRBcz1lbnN1cmVDdXN0b21FbGVtZW50UmVnaXN0cnld
IHJlYWRvbmx5IGF0dHJpYnV0ZSBDdXN0b21FbGVtZW50UmVnaXN0cnkgY3VzdG9tRWxlbWVudHM7
CiAgICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgQmFyUHJvcCBsb2NhdGlvbmJh
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXgg
MmEyNjMxMzg2YmVjYTQyY2I4NzQwODQ3OTRjYmFiMGYyZWE2ODhlZS4uMTVjNjcwMTY2NzRlOWZi
ODY1MDZmYzg2YTc5NWVhOGNlYzM2ZDA1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTQyMSw3ICs0MjEsNyBAQCBib29sIFdvcmtlckdsb2Jh
bFNjb3BlOjp1bndyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiB3cmFwcGVkS2V5
LCBWZWN0bwogQ3J5cHRvJiBXb3JrZXJHbG9iYWxTY29wZTo6Y3J5cHRvKCkKIHsKICAgICBpZiAo
IW1fY3J5cHRvKQotICAgICAgICBtX2NyeXB0byA9IENyeXB0bzo6Y3JlYXRlKCp0aGlzKTsKKyAg
ICAgICAgbV9jcnlwdG8gPSBDcnlwdG86OmNyZWF0ZSh0aGlzKTsKICAgICByZXR1cm4gKm1fY3J5
cHRvOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggODFhYzBmODczYzQ2Zjk2NzVmYzEwZTIzMGI0N2FmNDllM2YxZTBl
Yi4uN2I0ODcxYzk0N2NhNTljZjQ5MTNiZDQ1Yjk1MmFkYzY1NjJhNTZmOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI5IEBACisyMDE4LTEwLTEyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisK
KyAgICAgICAgV2luZG93J3MgcHJvcGVydGllcyBzdWNoIGFzICdsb2NhdGlvbicgc2hvdWxkIG5v
dCBiZWNvbWUgbnVsbCB3aGVuIGl0IGxvc2VzIGl0cyBicm93c2luZyBjb250ZXh0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA1MzkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvZG9t
L2Nyb3NzLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZG9tL2Nyb3NzLW9yaWdpbi1kZXRhY2hlZC13aW5k
b3ctcHJvcGVydGllcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2RvbS9yZXNv
dXJjZXMvcG9zdC1tZXNzYWdlLXRvLXBhcmVudC13aGVuLWxvYWRlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2RvbS9zYW1lLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVy
dGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZG9tL3NhbWUt
b3JpZ2luLWRldGFjaGVkLXdpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorICAgICAgICBB
ZGQgbGF5b3V0IHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9kZXRhY2hl
ZC1mcmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9mcmFtZXMvZGV0
YWNoZWQtZnJhbWUtcHJvcGVydHkuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L25hbWVkLXdpbmRvdy1wcm9wZXJ0eS1mcm9tLXNhbWUtb3JpZ2luLWluYWN0aXZlLWRvY3VtZW50
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L25hbWVkLXdpbmRv
dy1wcm9wZXJ0eS1mcm9tLXNhbWUtb3JpZ2luLWluYWN0aXZlLWRvY3VtZW50Lmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELW5hbWVkLXdpbmRvdy1wcm9wZXJ0
eS1mcm9tLWNyb3NzLW9yaWdpbi1pbmFjdGl2ZS1kb2N1bWVudC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELW5hbWVkLXdpbmRvdy1wcm9wZXJ0
eS1mcm9tLWNyb3NzLW9yaWdpbi1pbmFjdGl2ZS1kb2N1bWVudC5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUt
d2luZG93Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNj
cmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLXBzb24uaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZl
LXdpbmRvdzIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQt
c2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzMuaHRtbDoKKyAgICAgICAgVXBkYXRl
IGV4aXN0aW5nIGxheW91dCB0ZXN0cyB0byByZWZsZWN0IGJlaGF2aW9yIGNoYW5nZS4KKwogMjAx
OC0xMC0xMiAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
TGF5b3V0IFRlc3QgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktcGFzdGUtYWNyb3NzLXNoYWRvdy1i
b3VuZGFyaWVzLXdpdGgtc3R5bGUtMi5odG1sIGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCmluZGV4IGU5YmEwZWQ2NjIzYzY3NDVkZTkxOGFjZTk1MzU5ZDQyNjMxZTlmYTAu
LjU5OTk1MmQ4NzFjZmM5MGQ2YWIwNDdhNTc4NzZkYzMxZGNlZWQ5NzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEwLTEyICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2luZG93J3MgcHJvcGVydGllcyBzdWNo
IGFzICdsb2NhdGlvbicgc2hvdWxkIG5vdCBiZWNvbWUgbnVsbCB3aGVuIGl0IGxvc2VzIGl0cyBi
cm93c2luZyBjb250ZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTA1MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBSZWJhc2VsaW5lIFdQVCB0ZXN0IHdob3NlIG91dHB1dCBoYXMgY2hhbmdlZC4KKwor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvZHluYW1pYy1tYXJr
dXAtaW5zZXJ0aW9uL29wZW5pbmctdGhlLWlucHV0LXN0cmVhbS91cmwud2luZG93LWV4cGVjdGVk
LnR4dDoKKwogMjAxOC0xMC0wOCAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3Rh
cnQub3JnPgogCiAgICAgICAgIFtKU0NdIEpTQyBzaG91bGQgaGF2ZSAicGFyc2VGdW5jdGlvbiIg
dG8gb3B0aW1pemUgRnVuY3Rpb24gY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dApp
bmRleCBiNzI1Nzk5YmEwMzQyMGY4MTMzMjZhNDE5MWViZDBhMWJjZmI5YTNhLi4wMmRlZDQ5Nzlm
Y2RhZTkyM2U0ZGY4NjU1YzljNDlhOWY4MGUwZDhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0
CkBAIC01LDYgKzUsMTAgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogUEFTUyAhIWRldGFj
aGVkV2luZG93LnBvc3RNZXNzYWdlIGlzIHRydWUKIFBBU1MgISFkZXRhY2hlZFdpbmRvdy5jbG9z
ZSBpcyB0cnVlCitQQVNTICEhZGV0YWNoZWRXaW5kb3cubG9jYXRpb25iYXIgaXMgdHJ1ZQorUEFT
UyAhIWRldGFjaGVkV2luZG93Lmhpc3RvcnkgaXMgdHJ1ZQorUEFTUyAhIWRldGFjaGVkV2luZG93
LnNjcmVlbiBpcyB0cnVlCitQQVNTICEhZGV0YWNoZWRXaW5kb3cubG9jYXRpb24gaXMgdHJ1ZQog
UEFTUyBkZXRhY2hlZFdpbmRvdy5jbG9zZWQgaXMgdHJ1ZQogUEFTUyBkZXRhY2hlZFdpbmRvdy50
b3AgaXMgbnVsbAogUEFTUyBkZXRhY2hlZFdpbmRvdy5vcGVuZXIgaXMgbnVsbApAQCAtMTQsMTYg
KzE4LDEyIEBAIFBBU1MgZGV0YWNoZWRXaW5kb3cud2luZG93IGlzIG51bGwKIFBBU1MgZGV0YWNo
ZWRXaW5kb3cuZnJhbWVzIGlzIG51bGwKIFBBU1MgZGV0YWNoZWRXaW5kb3cuc2VsZiBpcyBudWxs
CiBQQVNTICFkZXRhY2hlZFdpbmRvdy5uYXZpZ2F0b3IgaXMgdHJ1ZQotUEFTUyAhZGV0YWNoZWRX
aW5kb3cubG9jYXRpb25iYXIgaXMgdHJ1ZQotUEFTUyAhZGV0YWNoZWRXaW5kb3cuaGlzdG9yeSBp
cyB0cnVlCiBQQVNTICFkZXRhY2hlZFdpbmRvdy5sb2NhbFN0b3JhZ2UgaXMgdHJ1ZQogUEFTUyAh
IWRldGFjaGVkV2luZG93LmRvY3VtZW50IGlzIHRydWUKIFBBU1MgISFkZXRhY2hlZFdpbmRvdy5Y
TUxIdHRwUmVxdWVzdCBpcyB0cnVlCiBQQVNTICEhZGV0YWNoZWRXaW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZSBpcyB0cnVlCi1QQVNTICFkZXRhY2hlZFdpbmRvdy5zY3JlZW4gaXMgdHJ1ZQogUEFTUyBk
ZXRhY2hlZFdpbmRvdy5pbm5lckhlaWdodCBpcyAwCiBQQVNTIGRldGFjaGVkV2luZG93LmlubmVy
V2lkdGggaXMgMAotUEFTUyAhZGV0YWNoZWRXaW5kb3cubG9jYXRpb24gaXMgdHJ1ZQogUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHkuaHRtbAppbmRleCAy
MzgyYmVlNDUzMDVhY2Q1ZWUxYjMyNGY3NWRkODQzOWNkYjYwMDNhLi4yNTMwYjUwZWY0ODAxMTNj
MDIzZDE2ZDFmNzAxYjEyNjNhNGM5MDM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWwKQEAgLTksMTIgKzksMTUgQEAgb25s
b2FkID0gZnVuY3Rpb24oKQogICAgIC8vIENocm9tZSBhbmQgRmlyZWZveCBhZ3JlZSB3aXRoIHVz
LgogICAgIHNob3VsZEJlVHJ1ZSgiISFkZXRhY2hlZFdpbmRvdy5wb3N0TWVzc2FnZSIpOwogICAg
IHNob3VsZEJlVHJ1ZSgiISFkZXRhY2hlZFdpbmRvdy5jbG9zZSIpOworICAgIHNob3VsZEJlVHJ1
ZSgiISFkZXRhY2hlZFdpbmRvdy5sb2NhdGlvbmJhciIpOworICAgIHNob3VsZEJlVHJ1ZSgiISFk
ZXRhY2hlZFdpbmRvdy5oaXN0b3J5Iik7CisgICAgc2hvdWxkQmVUcnVlKCIhIWRldGFjaGVkV2lu
ZG93LnNjcmVlbiIpOworICAgIHNob3VsZEJlVHJ1ZSgiISFkZXRhY2hlZFdpbmRvdy5sb2NhdGlv
biIpOwogICAgIHNob3VsZEJlVHJ1ZSgiZGV0YWNoZWRXaW5kb3cuY2xvc2VkIik7CiAgICAgc2hv
dWxkQmVOdWxsKCJkZXRhY2hlZFdpbmRvdy50b3AiKTsKICAgICBzaG91bGRCZU51bGwoImRldGFj
aGVkV2luZG93Lm9wZW5lciIpOwogICAgIHNob3VsZEJlTnVsbCgiZGV0YWNoZWRXaW5kb3cucGFy
ZW50Iik7CiAgICAgc2hvdWxkQmVOdWxsKCJkZXRhY2hlZFdpbmRvdy5mcmFtZUVsZW1lbnQiKTsg
Ly8gVGVjaG5pY2FsbHksIENocm9tZSByZXR1cm5zIHVuZGVmaW5lZCBoZXJlLCBub3QgbnVsbC4K
LQogICAgIC8vIENocm9tZSBhZ3JlZXMgd2l0aCB1cyBidXQgRmlyZWZveCByZXR1cm5zIHRoZSBk
ZXRhY2hlZFdpbmRvdy4KICAgICBzaG91bGRCZU51bGwoImRldGFjaGVkV2luZG93LndpbmRvdyIp
OwogICAgIHNob3VsZEJlTnVsbCgiZGV0YWNoZWRXaW5kb3cuZnJhbWVzIik7CkBAIC0yMiwyMCAr
MjUsMTQgQEAgb25sb2FkID0gZnVuY3Rpb24oKQogCiAgICAgLy8gQ2hyb21lIHJldHVybnMgdW5k
ZWZpbmVkIGJ1dCBGaXJlZm94IGhhcyBhIHZhbGlkIG9iamVjdC4KICAgICBzaG91bGRCZVRydWUo
IiFkZXRhY2hlZFdpbmRvdy5uYXZpZ2F0b3IiKTsKLSAgICBzaG91bGRCZVRydWUoIiFkZXRhY2hl
ZFdpbmRvdy5sb2NhdGlvbmJhciIpOwotICAgIHNob3VsZEJlVHJ1ZSgiIWRldGFjaGVkV2luZG93
Lmhpc3RvcnkiKTsKICAgICBzaG91bGRCZVRydWUoIiFkZXRhY2hlZFdpbmRvdy5sb2NhbFN0b3Jh
Z2UiKTsKICAgICBzaG91bGRCZVRydWUoIiEhZGV0YWNoZWRXaW5kb3cuZG9jdW1lbnQiKTsKICAg
ICBzaG91bGRCZVRydWUoIiEhZGV0YWNoZWRXaW5kb3cuWE1MSHR0cFJlcXVlc3QiKTsKICAgICBz
aG91bGRCZVRydWUoIiEhZGV0YWNoZWRXaW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSIpOwogCiAgICAg
Ly8gQ2hyb21lIHJldHVybnMgdW5kZWZpbmVkIGJ1dCBGaXJlZm94IHRocm93cyBhbiBleGNlcHRp
b24uCi0gICAgc2hvdWxkQmVUcnVlKCIhZGV0YWNoZWRXaW5kb3cuc2NyZWVuIik7CiAgICAgc2hv
dWxkQmUoImRldGFjaGVkV2luZG93LmlubmVySGVpZ2h0IiwgIjAiKTsKICAgICBzaG91bGRCZSgi
ZGV0YWNoZWRXaW5kb3cuaW5uZXJXaWR0aCIsICIwIik7Ci0KLSAgICAvLyBCb3RoIENocm9tZSBh
bmQgRmlyZWZveCBkaXNhZ3JlZSB3aXRoIHVzIGFuZCByZXR1cm4gYSB2YWxpZCBvYmplY3QuCi0g
ICAgc2hvdWxkQmVUcnVlKCIhZGV0YWNoZWRXaW5kb3cubG9jYXRpb24iKTsKIH0KIDwvc2NyaXB0
PgogPGlmcmFtZSBzcmM9ImFib3V0OmJsYW5rIj48L2lmcmFtZT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvZG9tL2Nyb3NzLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVy
dGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9jcm9zcy1vcmln
aW4tZGV0YWNoZWQtd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNm
ZmM2MWY1ODk0ZmRiZDQ0NGYzNmI5ZDE5MDMxODM0ZTJkOTM2NWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9jcm9zcy1vcmlnaW4tZGV0YWNoZWQtd2luZG93
LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjYgQEAKK1ZhbGlkYXRlIHRoZSBw
cm9wZXJ0aWVzIG9mIGEgZGV0YWNoZWQgV2luZG93IG9iamVjdC4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKKyogQmVmb3JlIEdDCitQQVNTICEhdy5sb2NhdGlvbiBpcyB0cnVlCitQ
QVNTIHcubG9jYXRpb24uaHJlZiB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tl
ZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNz
aW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBt
dXN0IG1hdGNoLi4KK1BBU1Mgdy5sb2NhdGlvbi5wcm90b2NvbCB0aHJldyBleGNlcHRpb24gU2Vj
dXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4x
OjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRv
bWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5sb2NhdGlvbi5ob3N0IHRocmV3
IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUu
IFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3LmxvY2F0
aW9uLmhvc3RuYW1lIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJh
bWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBj
cm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0
Y2guLgorUEFTUyB3LmxvY2F0aW9uLnBvcnQgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6
IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9t
IGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQg
cG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcubG9jYXRpb24ucGF0aG5hbWUgdGhyZXcgZXhjZXB0
aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEy
Ny4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9j
b2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcubG9jYXRpb24uc2Vh
cmNoIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBv
cmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmln
aW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFT
UyB3LmxvY2F0aW9uLmhhc2ggdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQg
YSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2lu
ZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVz
dCBtYXRjaC4uCitQQVNTIHcubG9jYXRpb24ub3JpZ2luIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0
eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAw
MCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlu
cywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3LmxvY2F0aW9uLmFzc2lnbignJykgdGhy
ZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAi
aHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFt
ZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcubG9j
YXRpb24ucmVwbGFjZSgnJykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHcubG9jYXRp
b24ucmVsb2FkKCcnKSB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZy
YW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEg
Y3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1h
dGNoLi4KK1BBU1Mgdy5zY3JlZW4gdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2Nr
ZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vz
c2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMg
bXVzdCBtYXRjaC4uCitQQVNTIHcuaGlzdG9yeSB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJv
cjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZy
b20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFu
ZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5jcnlwdG8gdGhyZXcgZXhjZXB0aW9uIFNlY3Vy
aXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4
MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21h
aW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcubG9jYXRpb25iYXIgdGhyZXcgZXhj
ZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDov
LzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJv
dG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcubWVudWJhciB0
aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2lu
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZy
YW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5w
ZXJzb25hbGJhciB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1l
IHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jv
c3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNo
Li4KK1BBU1Mgdy5zY3JvbGxiYXJzIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9j
a2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nl
c3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRz
IG11c3QgbWF0Y2guLgorUEFTUyB3LnN0YXR1c2JhciB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlF
cnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAi
IGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMs
IGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy50b29sYmFyIHRocmV3IGV4Y2VwdGlvbiBT
ZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4w
LjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywg
ZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3LmFwcGxpY2F0aW9uQ2FjaGUg
dGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdp
biAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBm
cmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcu
dmlzdWFsVmlld3BvcnQgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBm
cmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBh
IGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBt
YXRjaC4uCitQQVNTIHcuc3R5bGVNZWRpYSB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjog
QmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20g
YWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBw
b3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5mb28gdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJy
b3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBm
cm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBh
bmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcubG9jYXRpb24uZm9vIHRocmV3IGV4Y2VwdGlv
biBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29s
cywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorCisqIEFmdGVyIEdDCitQQVNTICEh
dy5sb2NhdGlvbiBpcyB0cnVlCitQQVNTIHcubG9jYXRpb24uaHJlZiB0aHJldyBleGNlcHRpb24g
U2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAu
MC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMs
IGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5sb2NhdGlvbi5wcm90b2Nv
bCB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3Jp
Z2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2lu
IGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mg
dy5sb2NhdGlvbi5ob3N0IHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEg
ZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3Npbmcg
YSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3Qg
bWF0Y2guLgorUEFTUyB3LmxvY2F0aW9uLmhvc3RuYW1lIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0
eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAw
MCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlu
cywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3LmxvY2F0aW9uLnBvcnQgdGhyZXcgZXhj
ZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDov
LzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJv
dG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcubG9jYXRpb24u
cGF0aG5hbWUgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3
aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3Nz
LW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4u
CitQQVNTIHcubG9jYXRpb24uc2VhcmNoIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBC
bG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBh
Y2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBv
cnRzIG11c3QgbWF0Y2guLgorUEFTUyB3LmxvY2F0aW9uLmhhc2ggdGhyZXcgZXhjZXB0aW9uIFNl
Y3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAu
MTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBk
b21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcubG9jYXRpb24ub3JpZ2luIHRo
cmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4g
Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJh
bWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3Lmxv
Y2F0aW9uLmFzc2lnbignJykgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQg
YSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2lu
ZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVz
dCBtYXRjaC4uCitQQVNTIHcubG9jYXRpb24ucmVwbGFjZSgnJykgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIHcubG9jYXRpb24ucmVsb2FkKCcnKSB0aHJldyBleGNlcHRpb24gU2VjdXJp
dHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFp
bnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5zY3JlZW4gdGhyZXcgZXhjZXB0aW9u
IFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4w
LjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xz
LCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcuaGlzdG9yeSB0aHJldyBl
eGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQ
cm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5jcnlwdG8g
dGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdp
biAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBm
cmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcu
bG9jYXRpb25iYXIgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFt
ZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNy
b3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRj
aC4uCitQQVNTIHcubWVudWJhciB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tl
ZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNz
aW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBt
dXN0IG1hdGNoLi4KK1BBU1Mgdy5wZXJzb25hbGJhciB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlF
cnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAi
IGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMs
IGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5zY3JvbGxiYXJzIHRocmV3IGV4Y2VwdGlv
biBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29s
cywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3LnN0YXR1c2JhciB0aHJl
dyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJo
dHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1l
LiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy50b29s
YmFyIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBv
cmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmln
aW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFT
UyB3LmFwcGxpY2F0aW9uQ2FjaGUgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2Nr
ZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vz
c2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMg
bXVzdCBtYXRjaC4uCitQQVNTIHcudmlzdWFsVmlld3BvcnQgdGhyZXcgZXhjZXB0aW9uIFNlY3Vy
aXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4
MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21h
aW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcuc3R5bGVNZWRpYSB0aHJldyBleGNl
cHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8v
MTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90
b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5mb28gdGhyZXcg
ZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0
cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4g
UHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcubG9jYXRp
b24uZm9vIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0
aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1v
cmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL2Nyb3NzLW9yaWdpbi1kZXRhY2hlZC13
aW5kb3ctcHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vY3Jvc3Mt
b3JpZ2luLWRldGFjaGVkLXdpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQxYTIy
YTM1YWI5ZDljZGFlYzI2NzM4MTQ5NjBiNDdmNzk0MjM5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL2Nyb3NzLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJv
cGVydGllcy5odG1sCkBAIC0wLDAgKzEsNzYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVmFsaWRhdGUgdGhl
IHByb3BlcnRpZXMgb2YgYSBkZXRhY2hlZCBXaW5kb3cgb2JqZWN0LiIpOworanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK2Z1bmN0aW9uIHZhbGlkYXRlV2luZG93KF93KQoreworICAgIHcgPSBfdzsK
KworICAgIHRyeSB7CisgICAgc2hvdWxkQmVUcnVlKCIhIXcubG9jYXRpb24iKTsKKyAgICBpZiAo
dy5sb2NhdGlvbikgeworICAgICAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgidy5sb2NhdGlvbi5o
cmVmIiwgIlNlY3VyaXR5RXJyb3IiKTsKKyAgICAgICAgc2hvdWxkVGhyb3dFcnJvck5hbWUoIncu
bG9jYXRpb24ucHJvdG9jb2wiLCAiU2VjdXJpdHlFcnJvciIpOworICAgICAgICBzaG91bGRUaHJv
d0Vycm9yTmFtZSgidy5sb2NhdGlvbi5ob3N0IiwgIlNlY3VyaXR5RXJyb3IiKTsKKyAgICAgICAg
c2hvdWxkVGhyb3dFcnJvck5hbWUoIncubG9jYXRpb24uaG9zdG5hbWUiLCAiU2VjdXJpdHlFcnJv
ciIpOworICAgICAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgidy5sb2NhdGlvbi5wb3J0IiwgIlNl
Y3VyaXR5RXJyb3IiKTsKKyAgICAgICAgc2hvdWxkVGhyb3dFcnJvck5hbWUoIncubG9jYXRpb24u
cGF0aG5hbWUiLCAiU2VjdXJpdHlFcnJvciIpOworICAgICAgICBzaG91bGRUaHJvd0Vycm9yTmFt
ZSgidy5sb2NhdGlvbi5zZWFyY2giLCAiU2VjdXJpdHlFcnJvciIpOworICAgICAgICBzaG91bGRU
aHJvd0Vycm9yTmFtZSgidy5sb2NhdGlvbi5oYXNoIiwgIlNlY3VyaXR5RXJyb3IiKTsKKyAgICAg
ICAgc2hvdWxkVGhyb3dFcnJvck5hbWUoIncubG9jYXRpb24ub3JpZ2luIiwgIlNlY3VyaXR5RXJy
b3IiKTsKKyAgICAgICAgc2hvdWxkVGhyb3dFcnJvck5hbWUoIncubG9jYXRpb24uYXNzaWduKCcn
KSIsICJTZWN1cml0eUVycm9yIik7CisgICAgICAgIHNob3VsZE5vdFRocm93KCJ3LmxvY2F0aW9u
LnJlcGxhY2UoJycpIik7CisgICAgICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJ3LmxvY2F0aW9u
LnJlbG9hZCgnJykiLCAiU2VjdXJpdHlFcnJvciIpOworICAgIH0KKyAgICB9IGNhdGNoIChlKSB7
CisgICAgICAgIGRlYnVnKGUpOworICAgIH0KKworICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJ3
LnNjcmVlbiIsICJTZWN1cml0eUVycm9yIik7CisgICAgc2hvdWxkVGhyb3dFcnJvck5hbWUoIncu
aGlzdG9yeSIsICJTZWN1cml0eUVycm9yIik7CisgICAgc2hvdWxkVGhyb3dFcnJvck5hbWUoIncu
Y3J5cHRvIiwgIlNlY3VyaXR5RXJyb3IiKTsKKworICAgIGxldCBiYXJzID0gWydsb2NhdGlvbmJh
cicsICdtZW51YmFyJywgJ3BlcnNvbmFsYmFyJywgJ3Njcm9sbGJhcnMnLCAnc3RhdHVzYmFyJywg
J3Rvb2xiYXInXTsKKyAgICBmb3IgKGxldCBiYXIgb2YgYmFycykgeworICAgICAgICBzaG91bGRU
aHJvd0Vycm9yTmFtZSgidy4iICsgYmFyLCAiU2VjdXJpdHlFcnJvciIpOworICAgIH0KKworICAg
IHNob3VsZFRocm93RXJyb3JOYW1lKCJ3LmFwcGxpY2F0aW9uQ2FjaGUiLCAiU2VjdXJpdHlFcnJv
ciIpOworICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJ3LnZpc3VhbFZpZXdwb3J0IiwgIlNlY3Vy
aXR5RXJyb3IiKTsKKyAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgidy5zdHlsZU1lZGlhIiwgIlNl
Y3VyaXR5RXJyb3IiKTsKKworICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJ3LmZvbyIsICJTZWN1
cml0eUVycm9yIik7CisgICAgc2hvdWxkVGhyb3dFcnJvck5hbWUoIncubG9jYXRpb24uZm9vIiwg
IlNlY3VyaXR5RXJyb3IiKTsKK30KKworb25tZXNzYWdlID0gZnVuY3Rpb24oKSB7CisgICAgbGV0
IHcgPSBmLmNvbnRlbnRXaW5kb3c7CisgICAgZi5yZW1vdmUoKTsKKyAgICBmID0gbnVsbDsKKwor
ICAgIGRlYnVnKCIqIEJlZm9yZSBHQyIpOworICAgIHZhbGlkYXRlV2luZG93KHcpOworICAgIGdj
KCk7CisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIGdjKCk7CisgICAgICAgIGRlYnVn
KCIiKTsKKyAgICAgICAgZGVidWcoIiogQWZ0ZXIgR0MiKTsKKyAgICAgICAgdmFsaWRhdGVXaW5k
b3codyk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0sIDApOworfQorCitvbmxvYWQg
PSBmdW5jdGlvbigpIHsKKyAgICBmID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7
CisgICAgZi5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2RvbS9yZXNvdXJjZXMvcG9zdC1t
ZXNzYWdlLXRvLXBhcmVudC13aGVuLWxvYWRlZC5odG1sIjsgLy8gQ3Jvc3Mtb3JpZ2luLgorICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZik7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL3Jlc291cmNlcy9w
b3N0LW1lc3NhZ2UtdG8tcGFyZW50LXdoZW4tbG9hZGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2RvbS9yZXNvdXJjZXMvcG9zdC1tZXNzYWdlLXRvLXBhcmVudC13aGVuLWxvYWRlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjYxOGMzODgzYmEzODVlMTZlMzg4MjdiZjc0ODUzMjU0N2ZjZDYxZWQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9yZXNvdXJjZXMv
cG9zdC1tZXNzYWdlLXRvLXBhcmVudC13aGVuLWxvYWRlZC5odG1sCkBAIC0wLDAgKzEsMTAgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+CitvbmxvYWQgPSAoKSA9
PiB7CisgICAgcGFyZW50LnBvc3RNZXNzYWdlKCJsb2FkZWQiLCAiKiIpOworfQorPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Rv
bS9zYW1lLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9zYW1lLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJv
cGVydGllcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzgzODIwNzUyMzE1OWY0ODI5ODhiNGJj
NDQxN2U2NmY5Mzc0OTA3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvZG9tL3NhbWUtb3JpZ2luLWRldGFjaGVkLXdpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzNCBAQAorVmFsaWRhdGUgdGhlIHByb3BlcnRpZXMgb2YgYSBkZXRhY2hl
ZCBXaW5kb3cgb2JqZWN0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworKiBCZWZv
cmUgR0MKK1BBU1MgISF3LmxvY2F0aW9uIGlzIHRydWUKK1BBU1Mgdy5sb2NhdGlvbi5ocmVmIGlz
ICIiCitQQVNTIHcubG9jYXRpb24ucHJvdG9jb2wgaXMgIiIKK1BBU1Mgdy5sb2NhdGlvbi5ob3N0
IGlzICIiCitQQVNTIHcubG9jYXRpb24uaG9zdG5hbWUgaXMgIiIKK1BBU1Mgdy5sb2NhdGlvbi5w
b3J0IGlzICIiCitQQVNTIHcubG9jYXRpb24ucGF0aG5hbWUgaXMgIiIKK1BBU1Mgdy5sb2NhdGlv
bi5zZWFyY2ggaXMgIiIKK1BBU1Mgdy5sb2NhdGlvbi5oYXNoIGlzICIiCitQQVNTIHcubG9jYXRp
b24ub3JpZ2luIGlzICIiCitQQVNTIHcubG9jYXRpb24uYXNzaWduKCcnKSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1Mgdy5sb2NhdGlvbi5yZXBsYWNlKCcnKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1Mgdy5sb2NhdGlvbi5yZWxvYWQoJycpIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyAhIXcuc2NyZWVuIGlzIHRydWUKK1BBU1Mgdy5zY3JlZW4uaGVpZ2h0IGlzIDAK
K1BBU1Mgdy5zY3JlZW4ud2lkdGggaXMgMAorUEFTUyB3LnNjcmVlbi5jb2xvckRlcHRoIGlzIDAK
K1BBU1Mgdy5zY3JlZW4ucGl4ZWxEZXB0aCBpcyAwCitQQVNTIHcuc2NyZWVuLmF2YWlsTGVmdCBp
cyAwCitQQVNTIHcuc2NyZWVuLmF2YWlsVG9wIGlzIDAKK1BBU1Mgdy5zY3JlZW4uYXZhaWxIZWln
aHQgaXMgMAorUEFTUyB3LnNjcmVlbi5hdmFpbFdpZHRoIGlzIDAKK1BBU1MgISF3Lmhpc3Rvcnkg
aXMgdHJ1ZQorUEFTUyB3Lmhpc3RvcnkubGVuZ3RoIGlzIDAKK1BBU1Mgdy5oaXN0b3J5LnN0YXRl
IGlzIG51bGwKK1BBU1Mgdy5oaXN0b3J5LmJhY2soKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
K1BBU1Mgdy5oaXN0b3J5LmZvcndhcmQoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mg
dy5oaXN0b3J5LmdvKC0xKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgdy5oaXN0b3J5
LnB1c2hTdGF0ZSh7fSwgbnVsbCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHcuaGlz
dG9yeS5yZXBsYWNlU3RhdGUoe30sIG51bGwpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFT
UyAhIXcuY3J5cHRvIGlzIHRydWUKK1BBU1MgISF3LmxvY2F0aW9uYmFyIGlzIHRydWUKK1BBU1Mg
dy5sb2NhdGlvbmJhci52aXNpYmxlIGlzIGZhbHNlCitQQVNTICEhdy5tZW51YmFyIGlzIHRydWUK
K1BBU1Mgdy5tZW51YmFyLnZpc2libGUgaXMgZmFsc2UKK1BBU1MgISF3LnBlcnNvbmFsYmFyIGlz
IHRydWUKK1BBU1Mgdy5wZXJzb25hbGJhci52aXNpYmxlIGlzIGZhbHNlCitQQVNTICEhdy5zY3Jv
bGxiYXJzIGlzIHRydWUKK1BBU1Mgdy5zY3JvbGxiYXJzLnZpc2libGUgaXMgZmFsc2UKK1BBU1Mg
ISF3LnN0YXR1c2JhciBpcyB0cnVlCitQQVNTIHcuc3RhdHVzYmFyLnZpc2libGUgaXMgZmFsc2UK
K1BBU1MgISF3LnRvb2xiYXIgaXMgdHJ1ZQorUEFTUyB3LnRvb2xiYXIudmlzaWJsZSBpcyBmYWxz
ZQorUEFTUyAhIXcuYXBwbGljYXRpb25DYWNoZSBpcyB0cnVlCitQQVNTIHcuYXBwbGljYXRpb25D
YWNoZS5zdGF0dXMgaXMgQXBwbGljYXRpb25DYWNoZS5VTkNBQ0hFRAorUEFTUyB3LmFwcGxpY2F0
aW9uQ2FjaGUudXBkYXRlKCkgdGhyZXcgZXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBUaGUg
b2JqZWN0IGlzIGluIGFuIGludmFsaWQgc3RhdGUuLgorUEFTUyB3LmFwcGxpY2F0aW9uQ2FjaGUu
c3dhcENhY2hlKCkgdGhyZXcgZXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0
IGlzIGluIGFuIGludmFsaWQgc3RhdGUuLgorUEFTUyB3LmFwcGxpY2F0aW9uQ2FjaGUuYWJvcnQo
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgISF3LnZpc3VhbFZpZXdwb3J0IGlzIHRy
dWUKK1BBU1Mgdy52aXN1YWxWaWV3cG9ydC5vZmZzZXRMZWZ0IGlzIDAKK1BBU1Mgdy52aXN1YWxW
aWV3cG9ydC5vZmZzZXRUb3AgaXMgMAorUEFTUyB3LnZpc3VhbFZpZXdwb3J0LnBhZ2VMZWZ0IGlz
IDAKK1BBU1Mgdy52aXN1YWxWaWV3cG9ydC5wYWdlVG9wIGlzIDAKK1BBU1Mgdy52aXN1YWxWaWV3
cG9ydC53aWR0aCBpcyAwCitQQVNTIHcudmlzdWFsVmlld3BvcnQuaGVpZ2h0IGlzIDAKK1BBU1Mg
dy52aXN1YWxWaWV3cG9ydC5zY2FsZSBpcyAxCitQQVNTICEhdy5zdHlsZU1lZGlhIGlzIHRydWUK
K1BBU1Mgdy5zdHlsZU1lZGlhLnR5cGUgaXMgIiIKK1BBU1Mgdy5zdHlsZU1lZGlhLm1hdGNoTWVk
aXVtKCdmb28nKSBpcyBmYWxzZQorUEFTUyB3LmZvbyBpcyB1bmRlZmluZWQuCitQQVNTIHcubG9j
YXRpb24uZm9vIGlzIHVuZGVmaW5lZC4KKworKiBBZnRlciBHQworUEFTUyAhIXcubG9jYXRpb24g
aXMgdHJ1ZQorUEFTUyB3LmxvY2F0aW9uLmhyZWYgaXMgIiIKK1BBU1Mgdy5sb2NhdGlvbi5wcm90
b2NvbCBpcyAiIgorUEFTUyB3LmxvY2F0aW9uLmhvc3QgaXMgIiIKK1BBU1Mgdy5sb2NhdGlvbi5o
b3N0bmFtZSBpcyAiIgorUEFTUyB3LmxvY2F0aW9uLnBvcnQgaXMgIiIKK1BBU1Mgdy5sb2NhdGlv
bi5wYXRobmFtZSBpcyAiIgorUEFTUyB3LmxvY2F0aW9uLnNlYXJjaCBpcyAiIgorUEFTUyB3Lmxv
Y2F0aW9uLmhhc2ggaXMgIiIKK1BBU1Mgdy5sb2NhdGlvbi5vcmlnaW4gaXMgIiIKK1BBU1Mgdy5s
b2NhdGlvbi5hc3NpZ24oJycpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyB3LmxvY2F0
aW9uLnJlcGxhY2UoJycpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyB3LmxvY2F0aW9u
LnJlbG9hZCgnJykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTICEhdy5zY3JlZW4gaXMg
dHJ1ZQorUEFTUyB3LnNjcmVlbi5oZWlnaHQgaXMgMAorUEFTUyB3LnNjcmVlbi53aWR0aCBpcyAw
CitQQVNTIHcuc2NyZWVuLmNvbG9yRGVwdGggaXMgMAorUEFTUyB3LnNjcmVlbi5waXhlbERlcHRo
IGlzIDAKK1BBU1Mgdy5zY3JlZW4uYXZhaWxMZWZ0IGlzIDAKK1BBU1Mgdy5zY3JlZW4uYXZhaWxU
b3AgaXMgMAorUEFTUyB3LnNjcmVlbi5hdmFpbEhlaWdodCBpcyAwCitQQVNTIHcuc2NyZWVuLmF2
YWlsV2lkdGggaXMgMAorUEFTUyAhIXcuaGlzdG9yeSBpcyB0cnVlCitQQVNTIHcuaGlzdG9yeS5s
ZW5ndGggaXMgMAorUEFTUyB3Lmhpc3Rvcnkuc3RhdGUgaXMgbnVsbAorUEFTUyB3Lmhpc3Rvcnku
YmFjaygpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyB3Lmhpc3RvcnkuZm9yd2FyZCgp
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyB3Lmhpc3RvcnkuZ28oLTEpIGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgorUEFTUyB3Lmhpc3RvcnkucHVzaFN0YXRlKHt9LCBudWxsKSBkaWQg
bm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh7fSwgbnVs
bCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTICEhdy5jcnlwdG8gaXMgdHJ1ZQorUEFT
UyAhIXcubG9jYXRpb25iYXIgaXMgdHJ1ZQorUEFTUyB3LmxvY2F0aW9uYmFyLnZpc2libGUgaXMg
ZmFsc2UKK1BBU1MgISF3Lm1lbnViYXIgaXMgdHJ1ZQorUEFTUyB3Lm1lbnViYXIudmlzaWJsZSBp
cyBmYWxzZQorUEFTUyAhIXcucGVyc29uYWxiYXIgaXMgdHJ1ZQorUEFTUyB3LnBlcnNvbmFsYmFy
LnZpc2libGUgaXMgZmFsc2UKK1BBU1MgISF3LnNjcm9sbGJhcnMgaXMgdHJ1ZQorUEFTUyB3LnNj
cm9sbGJhcnMudmlzaWJsZSBpcyBmYWxzZQorUEFTUyAhIXcuc3RhdHVzYmFyIGlzIHRydWUKK1BB
U1Mgdy5zdGF0dXNiYXIudmlzaWJsZSBpcyBmYWxzZQorUEFTUyAhIXcudG9vbGJhciBpcyB0cnVl
CitQQVNTIHcudG9vbGJhci52aXNpYmxlIGlzIGZhbHNlCitQQVNTICEhdy5hcHBsaWNhdGlvbkNh
Y2hlIGlzIHRydWUKK1BBU1Mgdy5hcHBsaWNhdGlvbkNhY2hlLnN0YXR1cyBpcyBBcHBsaWNhdGlv
bkNhY2hlLlVOQ0FDSEVECitQQVNTIHcuYXBwbGljYXRpb25DYWNoZS51cGRhdGUoKSB0aHJldyBl
eGNlcHRpb24gSW52YWxpZFN0YXRlRXJyb3I6IFRoZSBvYmplY3QgaXMgaW4gYW4gaW52YWxpZCBz
dGF0ZS4uCitQQVNTIHcuYXBwbGljYXRpb25DYWNoZS5zd2FwQ2FjaGUoKSB0aHJldyBleGNlcHRp
b24gSW52YWxpZFN0YXRlRXJyb3I6IFRoZSBvYmplY3QgaXMgaW4gYW4gaW52YWxpZCBzdGF0ZS4u
CitQQVNTIHcuYXBwbGljYXRpb25DYWNoZS5hYm9ydCgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyAhIXcudmlzdWFsVmlld3BvcnQgaXMgdHJ1ZQorUEFTUyB3LnZpc3VhbFZpZXdwb3J0
Lm9mZnNldExlZnQgaXMgMAorUEFTUyB3LnZpc3VhbFZpZXdwb3J0Lm9mZnNldFRvcCBpcyAwCitQ
QVNTIHcudmlzdWFsVmlld3BvcnQucGFnZUxlZnQgaXMgMAorUEFTUyB3LnZpc3VhbFZpZXdwb3J0
LnBhZ2VUb3AgaXMgMAorUEFTUyB3LnZpc3VhbFZpZXdwb3J0LndpZHRoIGlzIDAKK1BBU1Mgdy52
aXN1YWxWaWV3cG9ydC5oZWlnaHQgaXMgMAorUEFTUyB3LnZpc3VhbFZpZXdwb3J0LnNjYWxlIGlz
IDEKK1BBU1MgISF3LnN0eWxlTWVkaWEgaXMgdHJ1ZQorUEFTUyB3LnN0eWxlTWVkaWEudHlwZSBp
cyAiIgorUEFTUyB3LnN0eWxlTWVkaWEubWF0Y2hNZWRpdW0oJ2ZvbycpIGlzIGZhbHNlCitQQVNT
IHcuZm9vIGlzIHVuZGVmaW5lZC4KK1BBU1Mgdy5sb2NhdGlvbi5mb28gaXMgdW5kZWZpbmVkLgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL3NhbWUtb3JpZ2luLWRldGFjaGVkLXdp
bmRvdy1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9zYW1lLW9y
aWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVydGllcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4YzFhMmE3
MzVmNjExNThlNjcxYTBiZWYzOWNlZTM3Yjc5ZTRhODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9zYW1lLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVy
dGllcy5odG1sCkBAIC0wLDAgKzEsMTQ4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlZhbGlkYXRlIHRoZSBw
cm9wZXJ0aWVzIG9mIGEgZGV0YWNoZWQgV2luZG93IG9iamVjdC4iKTsKK2pzVGVzdElzQXN5bmMg
PSB0cnVlOworCitmdW5jdGlvbiB2YWxpZGF0ZVdpbmRvdyhfdykKK3sKKyAgICB3ID0gX3c7CisK
KyAgICB0cnkgeworICAgIHNob3VsZEJlVHJ1ZSgiISF3LmxvY2F0aW9uIik7CisgICAgaWYgKHcu
bG9jYXRpb24pIHsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3LmxvY2F0aW9uLmhy
ZWYiLCAiIik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidy5sb2NhdGlvbi5wcm90
b2NvbCIsICIiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3LmxvY2F0aW9uLmhv
c3QiLCAiIik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidy5sb2NhdGlvbi5ob3N0
bmFtZSIsICIiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3LmxvY2F0aW9uLnBv
cnQiLCAiIik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidy5sb2NhdGlvbi5wYXRo
bmFtZSIsICIiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3LmxvY2F0aW9uLnNl
YXJjaCIsICIiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3LmxvY2F0aW9uLmhh
c2giLCAiIik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidy5sb2NhdGlvbi5vcmln
aW4iLCAiIik7CisgICAgICAgIHNob3VsZE5vdFRocm93KCJ3LmxvY2F0aW9uLmFzc2lnbignJyki
KTsKKyAgICAgICAgc2hvdWxkTm90VGhyb3coIncubG9jYXRpb24ucmVwbGFjZSgnJykiKTsKKyAg
ICAgICAgc2hvdWxkTm90VGhyb3coIncubG9jYXRpb24ucmVsb2FkKCcnKSIpOworICAgIH0KKyAg
ICB9IGNhdGNoIChlKSB7CisgICAgICAgIGRlYnVnKGUpOworICAgIH0KKworICAgIHRyeSB7Cisg
ICAgc2hvdWxkQmVUcnVlKCIhIXcuc2NyZWVuIik7CisgICAgaWYgKHcuc2NyZWVuKSB7CisgICAg
ICAgIHNob3VsZEJlKCJ3LnNjcmVlbi5oZWlnaHQiLCAiMCIpOworICAgICAgICBzaG91bGRCZSgi
dy5zY3JlZW4ud2lkdGgiLCAiMCIpOworICAgICAgICBzaG91bGRCZSgidy5zY3JlZW4uY29sb3JE
ZXB0aCIsICIwIik7CisgICAgICAgIHNob3VsZEJlKCJ3LnNjcmVlbi5waXhlbERlcHRoIiwgIjAi
KTsKKyAgICAgICAgc2hvdWxkQmUoIncuc2NyZWVuLmF2YWlsTGVmdCIsICIwIik7CisgICAgICAg
IHNob3VsZEJlKCJ3LnNjcmVlbi5hdmFpbFRvcCIsICIwIik7CisgICAgICAgIHNob3VsZEJlKCJ3
LnNjcmVlbi5hdmFpbEhlaWdodCIsICIwIik7CisgICAgICAgIHNob3VsZEJlKCJ3LnNjcmVlbi5h
dmFpbFdpZHRoIiwgIjAiKTsKKyAgICB9CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBkZWJ1
ZyhlKTsKKyAgICB9CisKKyAgICB0cnkgeworICAgIHNob3VsZEJlVHJ1ZSgiISF3Lmhpc3Rvcnki
KTsKKyAgICBpZiAody5oaXN0b3J5KSB7CisgICAgICAgIHNob3VsZEJlKCJ3Lmhpc3RvcnkubGVu
Z3RoIiwgIjAiKTsKKyAgICAgICAgc2hvdWxkQmVOdWxsKCJ3Lmhpc3Rvcnkuc3RhdGUiKTsKKyAg
ICAgICAgc2hvdWxkTm90VGhyb3coIncuaGlzdG9yeS5iYWNrKCkiKTsKKyAgICAgICAgc2hvdWxk
Tm90VGhyb3coIncuaGlzdG9yeS5mb3J3YXJkKCkiKTsKKyAgICAgICAgc2hvdWxkTm90VGhyb3co
IncuaGlzdG9yeS5nbygtMSkiKTsKKyAgICAgICAgc2hvdWxkTm90VGhyb3coIncuaGlzdG9yeS5w
dXNoU3RhdGUoe30sIG51bGwpIik7CisgICAgICAgIHNob3VsZE5vdFRocm93KCJ3Lmhpc3Rvcnku
cmVwbGFjZVN0YXRlKHt9LCBudWxsKSIpOworICAgIH0KKyAgICB9IGNhdGNoIChlKSB7CisgICAg
ICAgIGRlYnVnKGUpOworICAgIH0KKworICAgIHRyeSB7CisgICAgc2hvdWxkQmVUcnVlKCIhIXcu
Y3J5cHRvIik7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBkZWJ1ZyhlKTsKKyAgICB9CisK
KyAgICBsZXQgYmFycyA9IFsnbG9jYXRpb25iYXInLCAnbWVudWJhcicsICdwZXJzb25hbGJhcics
ICdzY3JvbGxiYXJzJywgJ3N0YXR1c2JhcicsICd0b29sYmFyJ107CisgICAgZm9yIChsZXQgYmFy
IG9mIGJhcnMpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCIhIXcuIiAr
IGJhcik7CisgICAgICAgIGlmICh3W2Jhcl0pIHsKKyAgICAgICAgICAgIHNob3VsZEJlRmFsc2Uo
IncuIiArIGJhciArICIudmlzaWJsZSIpOworICAgICAgICB9CisgICAgICAgIH0gY2F0Y2ggKGUp
IHsKKyAgICAgICAgICAgIGRlYnVnKGUpOworICAgICAgICB9CisgICAgfQorCisgICAgdHJ5IHsK
KyAgICBzaG91bGRCZVRydWUoIiEhdy5hcHBsaWNhdGlvbkNhY2hlIik7CisgICAgaWYgKHcuYXBw
bGljYXRpb25DYWNoZSkgeworICAgICAgICBzaG91bGRCZSgidy5hcHBsaWNhdGlvbkNhY2hlLnN0
YXR1cyIsICJBcHBsaWNhdGlvbkNhY2hlLlVOQ0FDSEVEIik7CisgICAgICAgIHNob3VsZFRocm93
RXJyb3JOYW1lKCJ3LmFwcGxpY2F0aW9uQ2FjaGUudXBkYXRlKCkiLCAiSW52YWxpZFN0YXRlRXJy
b3IiKTsKKyAgICAgICAgc2hvdWxkVGhyb3dFcnJvck5hbWUoIncuYXBwbGljYXRpb25DYWNoZS5z
d2FwQ2FjaGUoKSIsICJJbnZhbGlkU3RhdGVFcnJvciIpOworICAgICAgICBzaG91bGROb3RUaHJv
dygidy5hcHBsaWNhdGlvbkNhY2hlLmFib3J0KCkiKTsKKyAgICB9CisgICAgfSBjYXRjaCAoZSkg
eworICAgICAgICBkZWJ1ZyhlKTsKKyAgICB9CisKKyAgICB0cnkgeworICAgIHNob3VsZEJlVHJ1
ZSgiISF3LnZpc3VhbFZpZXdwb3J0Iik7CisgICAgaWYgKHcudmlzdWFsVmlld3BvcnQpIHsKKyAg
ICAgICAgc2hvdWxkQmUoIncudmlzdWFsVmlld3BvcnQub2Zmc2V0TGVmdCIsICIwIik7CisgICAg
ICAgIHNob3VsZEJlKCJ3LnZpc3VhbFZpZXdwb3J0Lm9mZnNldFRvcCIsICIwIik7CisgICAgICAg
IHNob3VsZEJlKCJ3LnZpc3VhbFZpZXdwb3J0LnBhZ2VMZWZ0IiwgIjAiKTsKKyAgICAgICAgc2hv
dWxkQmUoIncudmlzdWFsVmlld3BvcnQucGFnZVRvcCIsICIwIik7CisgICAgICAgIHNob3VsZEJl
KCJ3LnZpc3VhbFZpZXdwb3J0LndpZHRoIiwgIjAiKTsKKyAgICAgICAgc2hvdWxkQmUoIncudmlz
dWFsVmlld3BvcnQuaGVpZ2h0IiwgIjAiKTsKKyAgICAgICAgc2hvdWxkQmUoIncudmlzdWFsVmll
d3BvcnQuc2NhbGUiLCAiMSIpOworICAgIH0KKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGRl
YnVnKGUpOworICAgIH0KKworICAgIHRyeSB7CisgICAgc2hvdWxkQmVUcnVlKCIhIXcuc3R5bGVN
ZWRpYSIpOworICAgIGlmICh3LnN0eWxlTWVkaWEpIHsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ3LnN0eWxlTWVkaWEudHlwZSIsICIiKTsKKyAgICAgICAgc2hvdWxkQmVGYWxzZSgi
dy5zdHlsZU1lZGlhLm1hdGNoTWVkaXVtKCdmb28nKSIpOworICAgIH0KKyAgICB9IGNhdGNoIChl
KSB7CisgICAgICAgIGRlYnVnKGUpOworICAgIH0KKworICAgIHRyeSB7CisgICAgc2hvdWxkQmVV
bmRlZmluZWQoIncuZm9vIik7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoIncubG9jYXRpb24uZm9v
Iik7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBkZWJ1ZyhlKTsKKyAgICB9Cit9CisKK29u
bG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGxldCBmID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
aWZyYW1lIik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmKTsKKyAgICBsZXQgdyA9
IGYuY29udGVudFdpbmRvdzsKKyAgICBmLnJlbW92ZSgpOworICAgIGYgPSBudWxsOworICAgIGRl
YnVnKCIqIEJlZm9yZSBHQyIpOworICAgIHZhbGlkYXRlV2luZG93KHcpOworICAgIGdjKCk7Cisg
ICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIGdjKCk7CisgICAgICAgIGRlYnVnKCIiKTsK
KyAgICAgICAgZGVidWcoIiogQWZ0ZXIgR0MiKTsKKyAgICAgICAgdmFsaWRhdGVXaW5kb3codyk7
CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0sIDApOworfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L25hbWVkLXdpbmRvdy1wcm9wZXJ0eS1mcm9tLXNhbWUtb3JpZ2luLWluYWN0aXZlLWRvY3VtZW50
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbmFtZWQtd2lu
ZG93LXByb3BlcnR5LWZyb20tc2FtZS1vcmlnaW4taW5hY3RpdmUtZG9jdW1lbnQtZXhwZWN0ZWQu
dHh0CmluZGV4IGFiMjBiOTc0M2Y1MzM4YWZlNWNiMjNhMDE3MDkzNGQwYzA2M2M1MGYuLmE0NzZm
NTYzZWNhYzAwZGFhNGE3MWM0YjY1Y2Q4NjcyYmU5OWQxMzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbmFtZWQtd2luZG93LXByb3BlcnR5LWZyb20tc2FtZS1v
cmlnaW4taW5hY3RpdmUtZG9jdW1lbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvbmFtZWQtd2luZG93LXByb3BlcnR5LWZyb20tc2FtZS1vcmlnaW4t
aW5hY3RpdmUtZG9jdW1lbnQtZXhwZWN0ZWQudHh0CkBAIC01LDcgKzUsNyBAQCBPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURQogCiBMb29rdXAgbmFtZWQgZWxlbWVudCB3aG9zZSBuYW1lIGNvcnJlc3Bv
bmRzIHRvIGFuIGVsZW1lbnQgaW4gdGhlIGluaXRpYWwgYWJvdXQ6YmxhbmsgZG9jdW1lbnQ6CiBQ
QVNTIGZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnQScpIGlzIG5vdCBlbGVt
ZW50QUluSW5hY3RpdmVEb2N1bWVudAotUEFTUyBlbGVtZW50QUluRGV0YWNoZWRXaW5kb3dGdW5j
dGlvbigpIHRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogQS4KK1BBU1MgZWxlbWVudEFJbkRldGFjaGVkV2luZG93RnVuY3Rpb24oKSBpcyBlbGVtZW50
QUluSW5hY3RpdmVEb2N1bWVudAogCiBMb29rdXAgbmFtZWQgZWxlbWVudCB3aG9zZSBuYW1lIGRv
ZXMgbm90IGNvcnJlc3BvbmQgdG8gYW4gZWxlbWVudCBpbiB0aGUgaW5pdGlhbCBhYm91dDpibGFu
ayBkb2N1bWVudDoKIFBBU1MgZWxlbWVudEJJbkRldGFjaGVkV2luZG93RnVuY3Rpb24oKSB0aHJl
dyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEIuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L25hbWVkLXdpbmRvdy1wcm9w
ZXJ0eS1mcm9tLXNhbWUtb3JpZ2luLWluYWN0aXZlLWRvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L25hbWVkLXdpbmRvdy1wcm9wZXJ0eS1mcm9tLXNhbWUtb3Jp
Z2luLWluYWN0aXZlLWRvY3VtZW50Lmh0bWwKaW5kZXggZTM2NmY2ZGU0YWQ3YTBlM2RlMTk1MmE0
NDhhYjM5ODIxZGZhNWIyZC4uNjYwYTk4ODk5MzIyZmYyN2NmMTBmNzk2YjM1M2RmYTBjMThkZTA5
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9uYW1lZC13aW5k
b3ctcHJvcGVydHktZnJvbS1zYW1lLW9yaWdpbi1pbmFjdGl2ZS1kb2N1bWVudC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbmFtZWQtd2luZG93LXByb3BlcnR5LWZy
b20tc2FtZS1vcmlnaW4taW5hY3RpdmUtZG9jdW1lbnQuaHRtbApAQCAtMjQsNyArMjQsNyBAQCBm
cmFtZS5vbmxvYWQgPSBmdW5jdGlvbiAoKQogewogICAgIGRlYnVnKCJMb29rdXAgbmFtZWQgZWxl
bWVudCB3aG9zZSBuYW1lIGNvcnJlc3BvbmRzIHRvIGFuIGVsZW1lbnQgaW4gdGhlIGluaXRpYWwg
YWJvdXQ6YmxhbmsgZG9jdW1lbnQ6Iik7CiAgICAgc2hvdWxkTm90QmUoImZyYW1lLmNvbnRlbnRE
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnQScpIiwgImVsZW1lbnRBSW5JbmFjdGl2ZURvY3VtZW50
Iik7Ci0gICAgc2hvdWxkVGhyb3dFcnJvck5hbWUoImVsZW1lbnRBSW5EZXRhY2hlZFdpbmRvd0Z1
bmN0aW9uKCkiLCAiUmVmZXJlbmNlRXJyb3IiKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudEFJbkRl
dGFjaGVkV2luZG93RnVuY3Rpb24oKSIsICJlbGVtZW50QUluSW5hY3RpdmVEb2N1bWVudCIpOwog
CiAgICAgZGVidWcoIjxicj5Mb29rdXAgbmFtZWQgZWxlbWVudCB3aG9zZSBuYW1lIGRvZXMgbm90
IGNvcnJlc3BvbmQgdG8gYW4gZWxlbWVudCBpbiB0aGUgaW5pdGlhbCBhYm91dDpibGFuayBkb2N1
bWVudDoiKTsKICAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgiZWxlbWVudEJJbkRldGFjaGVkV2lu
ZG93RnVuY3Rpb24oKSIsICJSZWZlcmVuY2VFcnJvciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELW5hbWVkLXdpbmRvdy1wcm9wZXJ0eS1m
cm9tLWNyb3NzLW9yaWdpbi1pbmFjdGl2ZS1kb2N1bWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtbmFtZWQtd2luZG93LXByb3BlcnR5
LWZyb20tY3Jvc3Mtb3JpZ2luLWluYWN0aXZlLWRvY3VtZW50LWV4cGVjdGVkLnR4dAppbmRleCBl
NGZhOTRkMTIyNWNmMTAzM2RiYTMxN2RmMjc4MzU0ZDM1MjA1NDU1Li4yODkyYzM3ZGQwMWIwZDg0
NDFiZTBlODQxZDNmN2E0ZjkwZGNlNzQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtbmFtZWQtd2luZG93LXByb3BlcnR5LWZyb20tY3Jvc3Mt
b3JpZ2luLWluYWN0aXZlLWRvY3VtZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtbmFtZWQtd2luZG93LXByb3BlcnR5LWZyb20t
Y3Jvc3Mtb3JpZ2luLWluYWN0aXZlLWRvY3VtZW50LWV4cGVjdGVkLnR4dApAQCAtNCw3ICs0LDcg
QEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogCiBMb29rdXAgbmFtZWQgZWxlbWVudCB3aG9z
ZSBuYW1lIGNvcnJlc3BvbmRzIHRvIGFuIGVsZW1lbnQgaW4gdGhlIGluaXRpYWwgYWJvdXQ6Ymxh
bmsgZG9jdW1lbnQ6Ci1QQVNTIGVsZW1lbnRBSW5EZXRhY2hlZFdpbmRvd0Z1bmN0aW9uKCkgdGhy
ZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBLgorUEFT
UyBlbGVtZW50QUluRGV0YWNoZWRXaW5kb3dGdW5jdGlvbigpIGlzIGVsZW1lbnRBSW5JbmFjdGl2
ZURvY3VtZW50CiAKIExvb2t1cCBuYW1lZCBlbGVtZW50IHdob3NlIG5hbWUgZG9lcyBub3QgY29y
cmVzcG9uZCB0byBhbiBlbGVtZW50IGluIHRoZSBpbml0aWFsIGFib3V0OmJsYW5rIGRvY3VtZW50
OgogUEFTUyBlbGVtZW50QkluRGV0YWNoZWRXaW5kb3dGdW5jdGlvbigpIHRocmV3IGV4Y2VwdGlv
biBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQi4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1uYW1lZC13aW5kb3ctcHJv
cGVydHktZnJvbS1jcm9zcy1vcmlnaW4taW5hY3RpdmUtZG9jdW1lbnQuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1uYW1lZC13aW5kb3ctcHJvcGVydHkt
ZnJvbS1jcm9zcy1vcmlnaW4taW5hY3RpdmUtZG9jdW1lbnQuaHRtbAppbmRleCA4OTNhY2E3MzRm
MzJlY2E4YWRkNmQwYTUxOGM0ZTYxZTFjMjg2MzU5Li43YTczMzM3OGQyZDdlZDY5YTc2OGQ0MzZj
NzNmYzZhYWU2NDI4ODYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzcy1ERU5JRUQtbmFtZWQtd2luZG93LXByb3BlcnR5LWZyb20tY3Jvc3Mtb3JpZ2luLWlu
YWN0aXZlLWRvY3VtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS94c3MtREVOSUVELW5hbWVkLXdpbmRvdy1wcm9wZXJ0eS1mcm9tLWNyb3NzLW9yaWdpbi1pbmFj
dGl2ZS1kb2N1bWVudC5odG1sCkBAIC0yMyw3ICsyMyw3IEBAIHZhciBlbGVtZW50QkluRGV0YWNo
ZWRXaW5kb3dGdW5jdGlvbiA9IGZyYW1lLmNvbnRlbnRXaW5kb3cuRnVuY3Rpb24oInJldHVybiBC
OyIpCiBmcmFtZS5vbmxvYWQgPSBmdW5jdGlvbiAoKQogewogICAgIGRlYnVnKCJMb29rdXAgbmFt
ZWQgZWxlbWVudCB3aG9zZSBuYW1lIGNvcnJlc3BvbmRzIHRvIGFuIGVsZW1lbnQgaW4gdGhlIGlu
aXRpYWwgYWJvdXQ6YmxhbmsgZG9jdW1lbnQ6IikKLSAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgi
ZWxlbWVudEFJbkRldGFjaGVkV2luZG93RnVuY3Rpb24oKSIsICdSZWZlcmVuY2VFcnJvcicpOwor
ICAgIHNob3VsZEJlKCJlbGVtZW50QUluRGV0YWNoZWRXaW5kb3dGdW5jdGlvbigpIiwgJ2VsZW1l
bnRBSW5JbmFjdGl2ZURvY3VtZW50Jyk7CiAKICAgICBkZWJ1ZygiPGJyPkxvb2t1cCBuYW1lZCBl
bGVtZW50IHdob3NlIG5hbWUgZG9lcyBub3QgY29ycmVzcG9uZCB0byBhbiBlbGVtZW50IGluIHRo
ZSBpbml0aWFsIGFib3V0OmJsYW5rIGRvY3VtZW50OiIpOwogICAgIHNob3VsZFRocm93RXJyb3JO
YW1lKCJlbGVtZW50QkluRGV0YWNoZWRXaW5kb3dGdW5jdGlvbigpIiwgJ1JlZmVyZW5jZUVycm9y
Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5J
RUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2
ZS13aW5kb3cuaHRtbAppbmRleCA4NjI3YjY1NDBlOWIyYzRjMjQxYmE2NWJhOGM4M2UxM2FmNTE4
MTBmLi4yMjg0YjViNWFjNjc1OTkxMjBlNmY2ZTk1OGM2YjExZDBhNDZlMjQ5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVj
dC1pbnRvLWluYWN0aXZlLXdpbmRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Lmh0
bWwKQEAgLTE2LDkgKzE2LDcgQEAgdmFyIGludGVydmFsSWQ7CiAKIGZ1bmN0aW9uIGNoZWNrRGlk
TG9hZFZpY3RpbSgpCiB7Ci0gICAgdHJ5IHsKLSAgICAgICAgX29wZW5lZFdpbmRvd0RvY3VtZW50
LmxvY2F0aW9uLmhyZWYKLSAgICB9IGNhdGNoIChlKSB7CisgICAgaWYgKF9vcGVuZWRXaW5kb3dE
b2N1bWVudC5sb2NhdGlvbi5ocmVmID09ICIiKSB7CiAgICAgICAgIC8vIFZpY3RpbSBsb2FkZWQ7
IHxfb3BlbmVkV2luZG93RG9jdW1lbnR8IGlzIGFuIGluYWN0aXZlIGRvY3VtZW50LgogICAgICAg
ICB3aW5kb3cuY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1p
bmFjdGl2ZS13aW5kb3cyLXBzb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Mi1wc29uLmh0
bWwKaW5kZXggNmE1OWMyYzcwNmNlODg3ZjgwNGQ4NTIxNTk2YzIxMzJlOWYwYTAzNC4uN2YwZDU5
YmE2N2IzNjk0MmM5N2U4ODRlMDFiMTBiYzg4ODJjNzg2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFj
dGl2ZS13aW5kb3cyLXBzb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzItcHNvbi5o
dG1sCkBAIC00MSw5ICs0MSw3IEBAIGlmIChkb2N1bWVudC5sb2NhdGlvbi5zZWFyY2guaW5kZXhP
ZigiP2FjdHVhbGx5LWF0dGFjayIpICE9PSAtMSkgewogCiBmdW5jdGlvbiBjaGVja0RpZExvYWRW
aWN0aW0oKQogewotICAgIHRyeSB7Ci0gICAgICAgIG9wZW5lckRvY3VtZW50LmxvY2F0aW9uLmhy
ZWYKLSAgICB9IGNhdGNoIChlKSB7CisgICAgaWYgKG9wZW5lckRvY3VtZW50LmxvY2F0aW9uLmhy
ZWYgPT0gIiIpIHsKICAgICAgICAgLy8gVmljdGltIGxvYWRlZC4KICAgICAgICAgd2luZG93LmNs
ZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2lu
ZG93Mi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNj
cmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLmh0bWwKaW5kZXggMmJlMzVhMGYyNGYw
NjRkNjUxNjdmY2FhNDQ1MzM2MWZhNDFjNTI4OS4uNDdiZTE4ZmQ3YTAyNWYwNjQ4NGU4MTMwMWVm
YTA5NjIwMTE2YWJiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmpl
Y3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLmh0bWwKQEAgLTQxLDkgKzQxLDcgQEAgaWYgKGRvY3Vt
ZW50LmxvY2F0aW9uLnNlYXJjaC5pbmRleE9mKCI/YWN0dWFsbHktYXR0YWNrIikgIT09IC0xKSB7
CiAKIGZ1bmN0aW9uIGNoZWNrRGlkTG9hZFZpY3RpbSgpCiB7Ci0gICAgdHJ5IHsKLSAgICAgICAg
b3BlbmVyRG9jdW1lbnQubG9jYXRpb24uaHJlZgotICAgIH0gY2F0Y2ggKGUpIHsKKyAgICBpZiAo
b3BlbmVyRG9jdW1lbnQubG9jYXRpb24uaHJlZiA9PSAiIikgewogICAgICAgICAvLyBWaWN0aW0g
bG9hZGVkLgogICAgICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlw
dC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3czLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRv
dzMuaHRtbAppbmRleCAzOWE4MjcxMjU3NWNkODRjNGFkZjBlM2MyMDYxNWVhYmNiZTVhNTUxLi4x
ZjhkNDRlMDY1ZTk2MmE1OGZmMjI3MTNkZDIxZDc2NjBkMDIwN2E3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRv
LWluYWN0aXZlLXdpbmRvdzMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzMuaHRtbApA
QCAtNjAsOSArNjAsNyBAQCBpZiAoIXdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpIHsKIAogZnVuY3Rp
b24gY2hlY2tEaWRMb2FkVmljdGltKCkKIHsKLSAgICB0cnkgewotICAgICAgICBzZWNvbmRPcGVu
ZXJEb2N1bWVudC5sb2NhdGlvbi5ocmVmCi0gICAgfSBjYXRjaCAoZSkgeworICAgIGlmIChzZWNv
bmRPcGVuZXJEb2N1bWVudC5sb2NhdGlvbi5ocmVmID09ICIiKSB7CiAgICAgICAgIC8vIFZpY3Rp
bSBsb2FkZWQuCiAgICAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKGludGVydmFsSWQpOwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvd2ViYXBwYXBpcy9keW5hbWljLW1hcmt1cC1pbnNlcnRpb24vb3BlbmluZy10aGUtaW5wdXQt
c3RyZWFtL3VybC53aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvZHluYW1pYy1tYXJrdXAtaW5zZXJ0
aW9uL29wZW5pbmctdGhlLWlucHV0LXN0cmVhbS91cmwud2luZG93LWV4cGVjdGVkLnR4dAppbmRl
eCBjZjYwYmFkYjJjYzY5YTMwYjZlMGFiZjFmZDViMjJkOTIzZGQ5MzhjLi5jOWEyOTM2NTRkNzEx
OTIwODZkNjJjZWRjMTAwZTlhNzAzNDY0YTY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9keW5hbWljLW1hcmt1
cC1pbnNlcnRpb24vb3BlbmluZy10aGUtaW5wdXQtc3RyZWFtL3VybC53aW5kb3ctZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC93ZWJhcHBhcGlzL2R5bmFtaWMtbWFya3VwLWluc2VydGlvbi9vcGVuaW5nLXRoZS1pbnB1dC1z
dHJlYW0vdXJsLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIFBBU1MgZG9j
dW1lbnQub3BlbigpIGNoYW5nZXMgZG9jdW1lbnQncyBVUkwgKGZ1bGx5IGFjdGl2ZSBkb2N1bWVu
dCkgCi1GQUlMIGRvY3VtZW50Lm9wZW4oKSBkb2VzIG5vdCBjaGFuZ2UgZG9jdW1lbnQncyBVUkwg
KGFjdGl2ZSBidXQgbm90IGZ1bGx5IGFjdGl2ZSBkb2N1bWVudCkgbnVsbCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICdjaGlsZFdpbi5sb2NhdGlvbi5ocmVmJykKK0ZBSUwgZG9jdW1lbnQu
b3BlbigpIGRvZXMgbm90IGNoYW5nZSBkb2N1bWVudCdzIFVSTCAoYWN0aXZlIGJ1dCBub3QgZnVs
bHkgYWN0aXZlIGRvY3VtZW50KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiaHR0cDovL2xvY2Fs
aG9zdDo4ODAwL2NvbW1vbi9ibGFuay5odG1sIiBidXQgZ290ICIiCiBQQVNTIGRvY3VtZW50Lm9w
ZW4oKSBkb2VzIG5vdCBjaGFuZ2UgZG9jdW1lbnQncyBVUkwgKG5vbi1hY3RpdmUgZG9jdW1lbnQg
d2l0aCBhbiBhc3NvY2lhdGVkIFdpbmRvdyBvYmplY3Q7IGZyYW1lIGlzIHJlbW92ZWQpIAogUEFT
UyBkb2N1bWVudC5vcGVuKCkgZG9lcyBub3QgY2hhbmdlIGRvY3VtZW50J3MgVVJMIChub24tYWN0
aXZlIGRvY3VtZW50IHdpdGggYW4gYXNzb2NpYXRlZCBXaW5kb3cgb2JqZWN0OyBuYXZpZ2F0ZWQg
YXdheSkgCiBQQVNTIGRvY3VtZW50Lm9wZW4oKSBkb2VzIG5vdCBjaGFuZ2UgZG9jdW1lbnQncyBV
UkwgKG5vbi1hY3RpdmUgZG9jdW1lbnQgd2l0aG91dCBhbiBhc3NvY2lhdGVkIFdpbmRvdyBvYmpl
Y3QpIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>