<?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>186287</bug_id>
          
          <creation_ts>2018-06-04 15:22:01 -0700</creation_ts>
          <short_desc>Rename &quot;Cross-Origin-Options&quot; HTTP header to &quot;Cross-Origin-Window-Policy&quot;</short_desc>
          <delta_ts>2018-06-04 21:11:58 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1429923</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-04 15:22:01 -0700</bug_when>
    <thetext>Rename &quot;Cross-Origin-Options&quot; HTTP header to &quot;Cross-Origin-Window-Policy&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429924</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-06-04 15:22:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/40783352&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429936</commentid>
    <comment_count>2</comment_count>
      <attachid>341927</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-04 15:49:04 -0700</bug_when>
    <thetext>Created attachment 341927
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429945</commentid>
    <comment_count>3</comment_count>
      <attachid>341932</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-04 16:00:54 -0700</bug_when>
    <thetext>Created attachment 341932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429982</commentid>
    <comment_count>4</comment_count>
      <attachid>341932</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-06-04 18:17:37 -0700</bug_when>
    <thetext>Comment on attachment 341932
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        CrossOriginWindowPolicy

Not needed

&gt; Source/WebCore/page/AbstractDOMWindow.cpp:41
&gt;  AbstractDOMWindow::AbstractDOMWindow(GlobalWindowIdentifier&amp;&amp; identifier)

GlobalWindowIdentifier&amp;&amp; does not seem to bring any advantage over const GlobalWindowIdentifier&amp; or is it special in some way?


&gt; Source/WebCore/page/AbstractDOMWindow.h:57
&gt; +    CrossOriginWindowPolicy crossOriginWindowPolicy() { return m_crossOriginWindowPolicy; }

const

&gt; Source/WebCore/page/AbstractDOMWindow.h:69
&gt; +    CrossOriginWindowPolicy m_crossOriginWindowPolicy;

Can we set the default value here instead of the constructor?

&gt; Source/WebKitLegacy/mac/WebView/WebPreferences.mm:637
&gt; +        [NSNumber numberWithBool:NO], WebKitCrossOriginWindowPolicySupportEnabledPreferenceKey,

Should we set it to true by default for WK1 as well?

&gt; Source/WebKitLegacy/win/WebPreferences.cpp:252
&gt; +    CFDictionaryAddValue(defaults, CFSTR(WebKitCrossOriginWindowPolicySupportEnabledPreferenceKey), kCFBooleanFalse);

Is there anything preventing us from aligning windows with other ports?

&gt; Tools/DumpRenderTree/mac/DumpRenderTree.mm:865
&gt; +    [preferences setCrossOriginWindowPolicySupportEnabled:YES];

If we set it to true in Mac/win, we could remove these lines</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430009</commentid>
    <comment_count>5</comment_count>
      <attachid>341951</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-04 20:31:05 -0700</bug_when>
    <thetext>Created attachment 341951
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430015</commentid>
    <comment_count>6</comment_count>
      <attachid>341951</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-04 21:11:57 -0700</bug_when>
    <thetext>Comment on attachment 341951
Patch

Clearing flags on attachment: 341951

Committed r232499: &lt;https://trac.webkit.org/changeset/232499&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430016</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-04 21:11:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341927</attachid>
            <date>2018-06-04 15:49:04 -0700</date>
            <delta_ts>2018-06-04 16:00:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186287-20180604154903.patch</filename>
            <type>text/plain</type>
            <size>156845</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyNDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmViZTBiOWExYTUxZmFj
YzYwYjUyNGJjNGY2OWFhMjA3ZDg3ZWZiYS4uMjE5OWY1NDA5NDI5ZDkyMjJiODg5ZDdkMzc0NDM3
YTVmODJiNWU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE4LTA2LTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lICJDcm9zcy1Pcmln
aW4tT3B0aW9ucyIgSFRUUCBoZWFkZXIgdG8gIkNyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5Igor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg2Mjg3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MDc4MzM1Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDcm9zc09yaWdpbldpbmRvd1BvbGljeQorCisgICAg
ICAgIFRlc3RzOiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0
bWVzc2FnZS1mcm9tLWRlbnkuaHRtbAorICAgICAgICAgICAgICAgaHR0cC93cHQvY3Jvc3Mtb3Jp
Z2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UuaHRtbAorICAgICAgICAgICAgICAg
aHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3ktaGVhZGVyLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWwK
KyAgICAgICAgICAgICAgIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmln
YXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC5odG1sCisKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0RPTUJpbmRpbmdTZWN1cml0eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpC
aW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3dHaXZlbk1pbmltdW1D
cm9zc09yaWdpbldpbmRvd1BvbGljeSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5k
aW5nU2VjdXJpdHkuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjplZmZlY3RpdmVDcm9zc09yaWdpbldpbmRvd1BvbGljeUZv
ckFjY2Vzcyk6CisgICAgICAgIChXZWJDb3JlOjpqc0RPTVdpbmRvd0dldE93blByb3BlcnR5U2xv
dFJlc3RyaWN0ZWRBY2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OmdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6YWRkQ3Jvc3NPcmlnaW5X
aW5kb3dQcm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OmFkZFNjb3BlZENoaWxkcmVu
SW5kZXhlcyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06
CisgICAgICAgIChHZW5lcmF0ZUF0dHJpYnV0ZUdldHRlckJvZHlEZWZpbml0aW9uKToKKyAgICAg
ICAgKEdldENyb3NzT3JpZ2luc09wdGlvbnNGcm9tRXh0ZW5kZWRBdHRyaWJ1dGVWYWx1ZSk6Cisg
ICAgICAgIChHZW5lcmF0ZUF0dHJpYnV0ZVNldHRlckJvZHlEZWZpbml0aW9uKToKKyAgICAgICAg
KEdlbmVyYXRlT3BlcmF0aW9uQm9keURlZmluaXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvSURMQXR0cmlidXRlcy5qc29uOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y2FuTmF2aWdhdGUpOgorICAgICAgICAqIGxvYWRl
ci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6ZGlkQmVn
aW5Eb2N1bWVudCk6CisgICAgICAgICogcGFnZS9BYnN0cmFjdERPTVdpbmRvdy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBYnN0cmFjdERPTVdpbmRvdzo6QWJzdHJhY3RET01XaW5kb3cpOgorICAg
ICAgICAqIHBhZ2UvQWJzdHJhY3RET01XaW5kb3cuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFic3Ry
YWN0RE9NV2luZG93Ojpjcm9zc09yaWdpbldpbmRvd1BvbGljeSk6CisgICAgICAgIChXZWJDb3Jl
OjpBYnN0cmFjdERPTVdpbmRvdzo6c2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kpOgorICAgICAg
ICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLnlhbWw6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9IVFRQSGVhZGVyTmFtZXMuaW46CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYXJz
ZUNyb3NzT3JpZ2luV2luZG93UG9saWN5SGVhZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL0hUVFBQYXJzZXJzLmg6CisKIDIwMTgtMDYtMDQgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNA
YXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBTdHJvbmcgUGFzc3dvcmQgYXBwZWFyYW5jZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCA3YTAxMWI4Mzc1MWNhZTY3YTVhNmIzNmUwYmYwZWE0NDM3Y2YxZDg1Li45YTYz
MjZjN2U4YjAzZDZkMzAyMDc4MjQwOGNkZDcyZGNkYmI1MWFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDE4LTA2LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmVuYW1lICJDcm9zcy1PcmlnaW4tT3B0aW9ucyIgSFRUUCBoZWFkZXIgdG8gIkNyb3Nz
LU9yaWdpbi1XaW5kb3ctUG9saWN5IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg2Mjg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MDc4MzM1Mj4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJl
ZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZnJhbWVCZWNhbWVSZW1vdGUpOgor
CiAyMDE4LTA2LTA0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXZWJLaXQgb24gd2F0Y2hPU10gUmVtb3ZlIGFsbCB1c2VzIG9mIHRoZSBFWFRSQV9a
T09NX01PREUgY29tcGlsZXIgZmxhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDE3
YTFkNDQ3YjMyNTdmY2U4ZWRlZjAyYmE2ODU5MDMzOTM1MDc4OTIuLmExNTkzZTA1M2IxYzk2MTcy
YmJkMzJlNTUxM2EyZjdlOTk1ZTljMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMCBAQAorMjAxOC0wNi0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCisgICAgICAgIFJlbmFtZSAiQ3Jvc3MtT3JpZ2luLU9wdGlvbnMiIEhUVFAgaGVhZGVyIHRv
ICJDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjI4NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDA3
ODMzNTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVd
KToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBw
b3J0RW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRDcm9zc09yaWdpbldp
bmRvd1BvbGljeVN1cHBvcnRFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAo
LVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTgtMDYtMDIgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gVXBkYXRlIHNvbWUgY29k
ZSB0byBiZSBtb3JlIEFSQy1jb21wYXRpYmxlIHRvIHByZXBhcmUgZm9yIGZ1dHVyZSBBUkMgYWRv
cHRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCA3YTY5NTc3YmNjZGI2YWQ5MTQ2
YjAyZWQ1NDgzNTZlZjgwMjJiNzA0Li4wMWVhOWJjYzliNDE4MjgzMDlmNmM2NzM4MTZmMGNjNzM5
MDc3NmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIw
MTgtMDYtMDQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZW5h
bWUgIkNyb3NzLU9yaWdpbi1PcHRpb25zIiBIVFRQIGhlYWRlciB0byAiQ3Jvc3MtT3JpZ2luLVdp
bmRvdy1Qb2xpY3kiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODYyODcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQwNzgzMzUyPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJl
bmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNl
czo6Y3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZCk6CisgICAgICAgIChXZWJQ
cmVmZXJlbmNlczo6c2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZCk6Cisg
ICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAg
ICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKIDIwMTgtMDUtMzAgIFl1
c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0pTQ10gUGFz
cyBWTSYgcGFyYW1ldGVyIGFzIG11Y2ggYXMgcG9zc2libGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZ1NlY3VyaXR5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZ1NlY3VyaXR5LmNwcAppbmRleCAyYjY3NTg1MTE2
MDQxNDYwODVjM2IwZjllZTFhMGVmYmFmYTQxMmEwLi5mMmQ5OGJiMzUyZDYxZWZlNjVmY2QzZWI2
MzAwODg5OWYzYzdiNTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmdTZWN1cml0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01CaW5kaW5nU2VjdXJpdHkuY3BwCkBAIC0xMDAsMTYgKzEwMCwxNiBAQCBib29sIEJpbmRp
bmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb05vZGUoSlNDOjpFeGVjU3RhdGUmIHN0YXRl
LCBOb2RlKiB0YXJnZQogICAgIHJldHVybiAhdGFyZ2V0IHx8IGNhbkFjY2Vzc0RvY3VtZW50KCZz
dGF0ZSwgJnRhcmdldC0+ZG9jdW1lbnQoKSwgTG9nU2VjdXJpdHlFcnJvcik7CiB9CiAKLWJvb2wg
QmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93R2l2ZW5NaW5pbXVt
Q3Jvc3NPcmlnaW5PcHRpb25zKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgRE9NV2luZG93JiB0YXJn
ZXQsIENyb3NzT3JpZ2luT3B0aW9ucyBtaW5pbXVtQ3Jvc3NPcmlnaW5PcHRpb25zLCBTZWN1cml0
eVJlcG9ydGluZ09wdGlvbiByZXBvcnRpbmdPcHRpb24pCitib29sIEJpbmRpbmdTZWN1cml0eTo6
c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dpdmVuTWluaW11bUNyb3NzT3JpZ2luV2luZG93
UG9saWN5KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgRE9NV2luZG93JiB0YXJnZXQsIENyb3NzT3Jp
Z2luV2luZG93UG9saWN5IG1pbmltdW1Dcm9zc09yaWdpbldpbmRvd1BvbGljeSwgU2VjdXJpdHlS
ZXBvcnRpbmdPcHRpb24gcmVwb3J0aW5nT3B0aW9uKQogewogICAgIERPTVdpbmRvdyYgc291cmNl
ID0gYWN0aXZlRE9NV2luZG93KCpzdGF0ZSk7Ci0gICAgQVNTRVJUKG1pbmltdW1Dcm9zc09yaWdp
bk9wdGlvbnMgPiBDcm9zc09yaWdpbk9wdGlvbnM6OkRlbnkpOworICAgIEFTU0VSVChtaW5pbXVt
Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kgPiBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6RGVueSk7
CiAKLSAgICBzdGF0aWNfYXNzZXJ0KENyb3NzT3JpZ2luT3B0aW9uczo6RGVueSA8IENyb3NzT3Jp
Z2luT3B0aW9uczo6QWxsb3dQb3N0TWVzc2FnZSAmJiBDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93
UG9zdE1lc3NhZ2UgPCBDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93LCAiTW9yZSByZXN0cmljdGl2
ZSBjcm9zcy1vcmlnaW4gb3B0aW9ucyBzaG91bGQgaGF2ZSBsb3dlciB2YWx1ZXMiKTsKKyAgICBz
dGF0aWNfYXNzZXJ0KENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpEZW55IDwgQ3Jvc3NPcmlnaW5X
aW5kb3dQb2xpY3k6OkFsbG93UG9zdE1lc3NhZ2UgJiYgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6
OkFsbG93UG9zdE1lc3NhZ2UgPCBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3csICJNb3Jl
IHJlc3RyaWN0aXZlIGNyb3NzLW9yaWdpbiBvcHRpb25zIHNob3VsZCBoYXZlIGxvd2VyIHZhbHVl
cyIpOwogCiAgICAgLy8gRmFzdCBwYXRoLgotICAgIGF1dG8gZWZmZWN0aXZlQ3Jvc3NPcmlnaW5P
cHRpb25zID0gc3RkOjptaW4oc291cmNlLmNyb3NzT3JpZ2luT3B0aW9ucygpLCB0YXJnZXQuY3Jv
c3NPcmlnaW5PcHRpb25zKCkpOwotICAgIGlmIChlZmZlY3RpdmVDcm9zc09yaWdpbk9wdGlvbnMg
Pj0gbWluaW11bUNyb3NzT3JpZ2luT3B0aW9ucykKKyAgICBhdXRvIGVmZmVjdGl2ZUNyb3NzT3Jp
Z2luV2luZG93UG9saWN5ID0gc3RkOjptaW4oc291cmNlLmNyb3NzT3JpZ2luV2luZG93UG9saWN5
KCksIHRhcmdldC5jcm9zc09yaWdpbldpbmRvd1BvbGljeSgpKTsKKyAgICBpZiAoZWZmZWN0aXZl
Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kgPj0gbWluaW11bUNyb3NzT3JpZ2luV2luZG93UG9saWN5
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIHJldHVybiBzaG91bGRBbGxvd0FjY2Vzc1Rv
RE9NV2luZG93KHN0YXRlLCB0YXJnZXQsIHJlcG9ydGluZ09wdGlvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmdTZWN1cml0eS5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nU2VjdXJpdHkuaAppbmRleCA1YzJhZjk5
ODg1N2YzOWQ3M2NmN2FhMGEyNDU3MzViOTZlNDU0ZjE1Li4xNzA0NjJlMGI1NDEyZDIyZTIxMTUx
MGU5YTAxZTQxZGNjZjZkYzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmdTZWN1cml0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NQmluZGluZ1NlY3VyaXR5LmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgRE9NV2luZG93
OwogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1lbnVtIGNsYXNzIENyb3NzT3JpZ2luT3B0
aW9uczsKK2VudW0gY2xhc3MgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k7CiAKIHZvaWQgcHJpbnRF
cnJvck1lc3NhZ2VGb3JGcmFtZShGcmFtZSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7CiAKQEAg
LTU1LDcgKzU1LDcgQEAgYm9vbCBzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoSlNDOjpFeGVjU3Rh
dGUqLCBGcmFtZSosIFNlY3VyaXR5UmVwb3J0aW5nT3B0aW9uID0KIGJvb2wgc2hvdWxkQWxsb3dB
Y2Nlc3NUb0ZyYW1lKEpTQzo6RXhlY1N0YXRlJiwgRnJhbWUmLCBTdHJpbmcmIG1lc3NhZ2UpOwog
Ym9vbCBzaG91bGRBbGxvd0FjY2Vzc1RvTm9kZShKU0M6OkV4ZWNTdGF0ZSYsIE5vZGUqKTsKIAot
Ym9vbCBzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93R2l2ZW5NaW5pbXVtQ3Jvc3NPcmlnaW5P
cHRpb25zKEpTQzo6RXhlY1N0YXRlKiwgRE9NV2luZG93JiwgQ3Jvc3NPcmlnaW5PcHRpb25zLCBT
ZWN1cml0eVJlcG9ydGluZ09wdGlvbiA9IExvZ1NlY3VyaXR5RXJyb3IpOworYm9vbCBzaG91bGRB
bGxvd0FjY2Vzc1RvRE9NV2luZG93R2l2ZW5NaW5pbXVtQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3ko
SlNDOjpFeGVjU3RhdGUqLCBET01XaW5kb3cmLCBDcm9zc09yaWdpbldpbmRvd1BvbGljeSwgU2Vj
dXJpdHlSZXBvcnRpbmdPcHRpb24gPSBMb2dTZWN1cml0eUVycm9yKTsKIAogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDVk
YjFkNWNjYmUxZmU4YjdmYTI5ZDM5ZmFhZGIzODgxM2JlYWU4YmUuLmQ5OTkzOTNlY2U4Mzc2ZDQ1
YTg3MTUxYjlmOWViZmQ2NjY3MzQ5OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTU2LDEwICs1NiwxMCBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAotc3RhdGljIENyb3NzT3JpZ2luT3B0
aW9ucyBlZmZlY3RpdmVDcm9zc09yaWdpbk9wdGlvbnNGb3JBY2Nlc3MoRXhlY1N0YXRlJiBzdGF0
ZSwgQWJzdHJhY3RET01XaW5kb3cmIHRhcmdldCkKK3N0YXRpYyBDcm9zc09yaWdpbldpbmRvd1Bv
bGljeSBlZmZlY3RpdmVDcm9zc09yaWdpbldpbmRvd1BvbGljeUZvckFjY2VzcyhFeGVjU3RhdGUm
IHN0YXRlLCBBYnN0cmFjdERPTVdpbmRvdyYgdGFyZ2V0KQogewotICAgIHN0YXRpY19hc3NlcnQo
Q3Jvc3NPcmlnaW5PcHRpb25zOjpEZW55IDwgQ3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvd1Bvc3RN
ZXNzYWdlICYmIENyb3NzT3JpZ2luT3B0aW9uczo6QWxsb3dQb3N0TWVzc2FnZSA8IENyb3NzT3Jp
Z2luT3B0aW9uczo6QWxsb3csICJNb3JlIHJlc3RyaWN0aXZlIGNyb3NzLW9yaWdpbiBvcHRpb25z
IHNob3VsZCBoYXZlIGxvd2VyIHZhbHVlcyIpOwotICAgIHJldHVybiBzdGQ6Om1pbihhY3RpdmVE
T01XaW5kb3coc3RhdGUpLmNyb3NzT3JpZ2luT3B0aW9ucygpLCB0YXJnZXQuY3Jvc3NPcmlnaW5P
cHRpb25zKCkpOworICAgIHN0YXRpY19hc3NlcnQoQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkRl
bnkgPCBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3dQb3N0TWVzc2FnZSAmJiBDcm9zc09y
aWdpbldpbmRvd1BvbGljeTo6QWxsb3dQb3N0TWVzc2FnZSA8IENyb3NzT3JpZ2luV2luZG93UG9s
aWN5OjpBbGxvdywgIk1vcmUgcmVzdHJpY3RpdmUgY3Jvc3Mtb3JpZ2luIG9wdGlvbnMgc2hvdWxk
IGhhdmUgbG93ZXIgdmFsdWVzIik7CisgICAgcmV0dXJuIHN0ZDo6bWluKGFjdGl2ZURPTVdpbmRv
dyhzdGF0ZSkuY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3koKSwgdGFyZ2V0LmNyb3NzT3JpZ2luV2lu
ZG93UG9saWN5KCkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzRE9NV2lu
ZG93SW5zdGFuY2VGdW5jdGlvblNob3dNb2RhbERpYWxvZyhFeGVjU3RhdGUqKTsKQEAgLTEwMCwx
OCArMTAwLDE4IEBAIGJvb2wganNET01XaW5kb3dHZXRPd25Qcm9wZXJ0eVNsb3RSZXN0cmljdGVk
QWNjZXNzKEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0CiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KIAotICAgIHN3aXRjaCAoZWZmZWN0aXZlQ3Jvc3NPcmlnaW5PcHRpb25zRm9yQWNj
ZXNzKHN0YXRlLCB3aW5kb3cpKSB7Ci0gICAgY2FzZSBDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93
UG9zdE1lc3NhZ2U6CisgICAgc3dpdGNoIChlZmZlY3RpdmVDcm9zc09yaWdpbldpbmRvd1BvbGlj
eUZvckFjY2VzcyhzdGF0ZSwgd2luZG93KSkgeworICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3k6OkFsbG93UG9zdE1lc3NhZ2U6CiAgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPT0gYnVp
bHRpbk5hbWVzLnBvc3RNZXNzYWdlUHVibGljTmFtZSgpKSB7CiAgICAgICAgICAgICBzbG90LnNl
dEN1c3RvbSh0aGlzT2JqZWN0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIHdp
bmRvd1R5cGUgPT0gRE9NV2luZG93VHlwZTo6UmVtb3RlID8gbm9uQ2FjaGluZ1N0YXRpY0Z1bmN0
aW9uR2V0dGVyPGpzUmVtb3RlRE9NV2luZG93SW5zdGFuY2VGdW5jdGlvblBvc3RNZXNzYWdlLCAw
PiA6IG5vbkNhY2hpbmdTdGF0aWNGdW5jdGlvbkdldHRlcjxqc0RPTVdpbmRvd0luc3RhbmNlRnVu
Y3Rpb25Qb3N0TWVzc2FnZSwgMj4pOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
IH0KICAgICAgICAgRkFMTFRIUk9VR0g7Ci0gICAgY2FzZSBDcm9zc09yaWdpbk9wdGlvbnM6OkRl
bnk6CisgICAgY2FzZSBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6RGVueToKICAgICAgICAgdGhy
b3dTZWN1cml0eUVycm9yKHN0YXRlLCBzY29wZSwgZXJyb3JNZXNzYWdlKTsKICAgICAgICAgc2xv
dC5zZXRVbmRlZmluZWQoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGNhc2UgQ3Jvc3NP
cmlnaW5PcHRpb25zOjpBbGxvdzoKKyAgICBjYXNlIENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpB
bGxvdzoKICAgICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC0yNTMsMTMgKzI1MywxMyBAQCBib29s
IEpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTT2JqZWN0KiBvYmplY3Qs
IEV4ZWNTdGF0ZSogc3RhdGUsCiAKICAgICAvLyAoMSkgRmlyc3QsIGluZGV4ZWQgcHJvcGVydGll
cy4KICAgICAvLyBUaGVzZSBhcmUgYWxzbyBhbGxvd2VkIGNyb3NzLW9yaWdpbiwgc28gY29tZSBi
ZWZvcmUgdGhlIGFjY2VzcyBjaGVjay4KLSAgICBzd2l0Y2ggKGVmZmVjdGl2ZUNyb3NzT3JpZ2lu
T3B0aW9uc0ZvckFjY2Vzcygqc3RhdGUsIHdpbmRvdykpIHsKLSAgICBjYXNlIENyb3NzT3JpZ2lu
T3B0aW9uczo6RGVueToKLSAgICBjYXNlIENyb3NzT3JpZ2luT3B0aW9uczo6QWxsb3dQb3N0TWVz
c2FnZToKKyAgICBzd2l0Y2ggKGVmZmVjdGl2ZUNyb3NzT3JpZ2luV2luZG93UG9saWN5Rm9yQWNj
ZXNzKCpzdGF0ZSwgd2luZG93KSkgeworICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6
OkRlbnk6CisgICAgY2FzZSBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3dQb3N0TWVzc2Fn
ZToKICAgICAgICAgaWYgKGlzQ3Jvc3NPcmlnaW5BY2Nlc3MoKSkKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBGQUxMVEhST1VHSDsKLSAgICBjYXNlIENyb3NzT3JpZ2luT3B0aW9uczo6QWxs
b3c6CisgICAgY2FzZSBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3c6CiAgICAgICAgIGlm
IChmcmFtZSAmJiBpbmRleCA8IGZyYW1lLT50cmVlKCkuc2NvcGVkQ2hpbGRDb3VudCgpKSB7CiAg
ICAgICAgICAgICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3QsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSksIHRvSlMoc3RhdGUsIGZyYW1lLT50
cmVlKCkuc2NvcGVkQ2hpbGQoaW5kZXgpLT5kb2N1bWVudCgpLT5kb21XaW5kb3coKSkpOwogICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0zNDgsMTUgKzM0OCwxNSBAQCBzdGF0aWMgdm9pZCBh
ZGRDcm9zc09yaWdpbldpbmRvd1Byb3BlcnR5TmFtZXMoRXhlY1N0YXRlJiBzdGF0ZSwgQWJzdHJh
Y3RET01XaW5kbwogICAgICAgICAmc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGll
bnREYXRhKS0+YnVpbHRpbk5hbWVzKCkud2luZG93UHVibGljTmFtZSgpCiAgICAgfTsKIAotICAg
IHN3aXRjaCAoZWZmZWN0aXZlQ3Jvc3NPcmlnaW5PcHRpb25zRm9yQWNjZXNzKHN0YXRlLCB3aW5k
b3cpKSB7Ci0gICAgY2FzZSBDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93OgorICAgIHN3aXRjaCAo
ZWZmZWN0aXZlQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lGb3JBY2Nlc3Moc3RhdGUsIHdpbmRvdykp
IHsKKyAgICBjYXNlIENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvdzoKICAgICAgICAgZm9y
IChhdXRvKiBwcm9wZXJ0eSA6IHByb3BlcnRpZXMpCiAgICAgICAgICAgICBwcm9wZXJ0eU5hbWVz
LmFkZCgqcHJvcGVydHkpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENyb3NzT3JpZ2luT3B0
aW9uczo6QWxsb3dQb3N0TWVzc2FnZToKKyAgICBjYXNlIENyb3NzT3JpZ2luV2luZG93UG9saWN5
OjpBbGxvd1Bvc3RNZXNzYWdlOgogICAgICAgICBwcm9wZXJ0eU5hbWVzLmFkZChzdGF0aWNfY2Fz
dDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5wb3N0TWVz
c2FnZVB1YmxpY05hbWUoKSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ3Jvc3NPcmlnaW5P
cHRpb25zOjpEZW55OgorICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkRlbnk6CiAg
ICAgICAgIGJyZWFrOwogICAgIH0KIH0KQEAgLTM3MSwxMSArMzcxLDExIEBAIHN0YXRpYyB2b2lk
IGFkZFNjb3BlZENoaWxkcmVuSW5kZXhlcyhFeGVjU3RhdGUmIHN0YXRlLCBET01XaW5kb3cmIHdp
bmRvdywgUHJvcGVyCiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgc3dp
dGNoIChlZmZlY3RpdmVDcm9zc09yaWdpbk9wdGlvbnNGb3JBY2Nlc3Moc3RhdGUsIHdpbmRvdykp
IHsKLSAgICBjYXNlIENyb3NzT3JpZ2luT3B0aW9uczo6QWxsb3c6CisgICAgc3dpdGNoIChlZmZl
Y3RpdmVDcm9zc09yaWdpbldpbmRvd1BvbGljeUZvckFjY2VzcyhzdGF0ZSwgd2luZG93KSkgewor
ICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93OgogICAgICAgICBicmVhazsK
LSAgICBjYXNlIENyb3NzT3JpZ2luT3B0aW9uczo6RGVueToKLSAgICBjYXNlIENyb3NzT3JpZ2lu
T3B0aW9uczo6QWxsb3dQb3N0TWVzc2FnZToKKyAgICBjYXNlIENyb3NzT3JpZ2luV2luZG93UG9s
aWN5OjpEZW55OgorICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93UG9zdE1l
c3NhZ2U6CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggOTEwMzY5ZDIwNzQ0Njg1
ZGNlYmFhMTM2NGFhY2NhNmFlZTgyNzBjOS4uMGUwNzAxZGNmNzEyM2FhNWVhMjU1ZTA4MDEwMDZj
YTMzYzkzNjZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG0KQEAgLTQ3MDcsOSArNDcwNyw5IEBAIHN1YiBHZW5lcmF0ZUF0dHJp
YnV0ZUdldHRlckJvZHlEZWZpbml0aW9uCiAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJKU0RP
TUJpbmRpbmdTZWN1cml0eS5oIiwgJGNvbmRpdGlvbmFsKTsKICAgICAgICAgaWYgKCRpbnRlcmZh
Y2UtPnR5cGUtPm5hbWUgZXEgIkRPTVdpbmRvdyIpIHsKICAgICAgICAgICAgIGlmICgkYXR0cmli
dXRlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntEb05vdENoZWNrU2VjdXJpdHlJZn0pIHsKLSAgICAg
ICAgICAgICAgICBteSAkY3Jvc3NPcmlnaW5PcHRpb25zID0gR2V0Q3Jvc3NPcmlnaW5zT3B0aW9u
c0Zyb21FeHRlbmRlZEF0dHJpYnV0ZVZhbHVlKCRhdHRyaWJ1dGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+e0RvTm90Q2hlY2tTZWN1cml0eUlmfSk7CisgICAgICAgICAgICAgICAgbXkgJGNyb3NzT3Jp
Z2luV2luZG93UG9saWN5ID0gR2V0Q3Jvc3NPcmlnaW5zT3B0aW9uc0Zyb21FeHRlbmRlZEF0dHJp
YnV0ZVZhbHVlKCRhdHRyaWJ1dGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0RvTm90Q2hlY2tTZWN1
cml0eUlmfSk7CiAgICAgICAgICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkhUVFBQYXJzZXJz
LmgiLCAkY29uZGl0aW9uYWwpOwotICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dp
dmVuTWluaW11bUNyb3NzT3JpZ2luT3B0aW9ucygmc3RhdGUsIHRoaXNPYmplY3Qud3JhcHBlZCgp
LCAkY3Jvc3NPcmlnaW5PcHRpb25zLCBUaHJvd1NlY3VyaXR5RXJyb3IpKVxuIik7CisgICAgICAg
ICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlmICghQmluZGluZ1NlY3VyaXR5Ojpz
aG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93R2l2ZW5NaW5pbXVtQ3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3koJnN0YXRlLCB0aGlzT2JqZWN0LndyYXBwZWQoKSwgJGNyb3NzT3JpZ2luV2luZG93UG9s
aWN5LCBUaHJvd1NlY3VyaXR5RXJyb3IpKVxuIik7CiAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoIUJpbmRpbmdTZWN1cml0
eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdygmc3RhdGUsIHRoaXNPYmplY3Qud3JhcHBl
ZCgpLCBUaHJvd1NlY3VyaXR5RXJyb3IpKVxuIik7CiAgICAgICAgICAgICB9CkBAIC00ODI0LDkg
KzQ4MjQsOSBAQCBzdWIgR2V0Q3Jvc3NPcmlnaW5zT3B0aW9uc0Zyb21FeHRlbmRlZEF0dHJpYnV0
ZVZhbHVlCiB7CiAgICAgbXkgJGV4dGVuZGVkQXR0cmlidXRlVmFsdWUgPSBzaGlmdDsKIAotICAg
IHJldHVybiAiQ3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvdyIgaWYgJGV4dGVuZGVkQXR0cmlidXRl
VmFsdWUgZXEgIkNyb3NzT3JpZ2luT3B0aW9uc0FsbG93IjsKLSAgICByZXR1cm4gIkNyb3NzT3Jp
Z2luT3B0aW9uczo6QWxsb3dQb3N0TWVzc2FnZSIgaWYgJGV4dGVuZGVkQXR0cmlidXRlVmFsdWUg
ZXEgIkNyb3NzT3JpZ2luT3B0aW9uc0FsbG93UG9zdE1lc3NhZ2UiOwotICAgIGRpZSAiVW5zdXBw
b3J0ZWQgQ3Jvc3NPcmlnaW5PcHRpb25zOiAiICsgJGV4dGVuZGVkQXR0cmlidXRlVmFsdWU7Cisg
ICAgcmV0dXJuICJDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3ciIGlmICRleHRlbmRlZEF0
dHJpYnV0ZVZhbHVlIGVxICJDcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93IjsKKyAgICByZXR1
cm4gIkNyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvd1Bvc3RNZXNzYWdlIiBpZiAkZXh0ZW5k
ZWRBdHRyaWJ1dGVWYWx1ZSBlcSAiQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lBbGxvd1Bvc3RNZXNz
YWdlIjsKKyAgICBkaWUgIlVuc3VwcG9ydGVkIENyb3NzT3JpZ2luV2luZG93UG9saWN5OiAiICsg
JGV4dGVuZGVkQXR0cmlidXRlVmFsdWU7CiB9CiAKIHN1YiBHZW5lcmF0ZUF0dHJpYnV0ZVNldHRl
ckJvZHlEZWZpbml0aW9uCkBAIC00ODUyLDkgKzQ4NTIsOSBAQCBzdWIgR2VuZXJhdGVBdHRyaWJ1
dGVTZXR0ZXJCb2R5RGVmaW5pdGlvbgogICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiSlNET01C
aW5kaW5nU2VjdXJpdHkuaCIsICRjb25kaXRpb25hbCk7CiAgICAgICAgIGlmICgkaW50ZXJmYWNl
LT50eXBlLT5uYW1lIGVxICJET01XaW5kb3ciKSB7CiAgICAgICAgICAgICBpZiAoJGF0dHJpYnV0
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57RG9Ob3RDaGVja1NlY3VyaXR5SWZ9KSB7Ci0gICAgICAg
ICAgICAgICAgbXkgJGNyb3NzT3JpZ2luT3B0aW9ucyA9IEdldENyb3NzT3JpZ2luc09wdGlvbnNG
cm9tRXh0ZW5kZWRBdHRyaWJ1dGVWYWx1ZSgkYXR0cmlidXRlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PntEb05vdENoZWNrU2VjdXJpdHlJZn0pOworICAgICAgICAgICAgICAgIG15ICRjcm9zc09yaWdp
bldpbmRvd1BvbGljeSA9IEdldENyb3NzT3JpZ2luc09wdGlvbnNGcm9tRXh0ZW5kZWRBdHRyaWJ1
dGVWYWx1ZSgkYXR0cmlidXRlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntEb05vdENoZWNrU2VjdXJp
dHlJZn0pOwogICAgICAgICAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJIVFRQUGFyc2Vycy5o
IiwgJGNvbmRpdGlvbmFsKTsKLSAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIg
ICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3dHaXZl
bk1pbmltdW1Dcm9zc09yaWdpbk9wdGlvbnMoJnN0YXRlLCB0aGlzT2JqZWN0LndyYXBwZWQoKSwg
JGNyb3NzT3JpZ2luT3B0aW9ucywgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOworICAgICAgICAg
ICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hv
dWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dpdmVuTWluaW11bUNyb3NzT3JpZ2luV2luZG93UG9s
aWN5KCZzdGF0ZSwgdGhpc09iamVjdC53cmFwcGVkKCksICRjcm9zc09yaWdpbldpbmRvd1BvbGlj
eSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6
OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coJnN0YXRlLCB0aGlzT2JqZWN0LndyYXBwZWQo
KSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOwogICAgICAgICAgICAgfQpAQCAtNTA3OSw5ICs1
MDc5LDkgQEAgc3ViIEdlbmVyYXRlT3BlcmF0aW9uQm9keURlZmluaXRpb24KICAgICAgICAgICAg
IEFkZFRvSW1wbEluY2x1ZGVzKCJKU0RPTUJpbmRpbmdTZWN1cml0eS5oIiwgJGNvbmRpdGlvbmFs
KTsKICAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlLT50eXBlLT5uYW1lIGVxICJET01XaW5kb3ci
KSB7CiAgICAgICAgICAgICAgICAgaWYgKCRvcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcy0+
e0RvTm90Q2hlY2tTZWN1cml0eUlmfSkgewotICAgICAgICAgICAgICAgICAgICBteSAkY3Jvc3NP
cmlnaW5PcHRpb25zID0gR2V0Q3Jvc3NPcmlnaW5zT3B0aW9uc0Zyb21FeHRlbmRlZEF0dHJpYnV0
ZVZhbHVlKCRvcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcy0+e0RvTm90Q2hlY2tTZWN1cml0
eUlmfSk7CisgICAgICAgICAgICAgICAgICAgIG15ICRjcm9zc09yaWdpbldpbmRvd1BvbGljeSA9
IEdldENyb3NzT3JpZ2luc09wdGlvbnNGcm9tRXh0ZW5kZWRBdHRyaWJ1dGVWYWx1ZSgkb3BlcmF0
aW9uLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntEb05vdENoZWNrU2VjdXJpdHlJZn0pOwogICAgICAg
ICAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiSFRUUFBhcnNlcnMuaCIsICRjb25kaXRp
b25hbCk7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAo
IUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dpdmVuTWluaW11
bUNyb3NzT3JpZ2luT3B0aW9ucyhzdGF0ZSwgY2FzdGVkVGhpcy0+d3JhcHBlZCgpLCAkY3Jvc3NP
cmlnaW5PcHRpb25zLCBUaHJvd1NlY3VyaXR5RXJyb3IpKVxuIik7CisgICAgICAgICAgICAgICAg
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxk
QWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dpdmVuTWluaW11bUNyb3NzT3JpZ2luV2luZG93UG9saWN5
KHN0YXRlLCBjYXN0ZWRUaGlzLT53cmFwcGVkKCksICRjcm9zc09yaWdpbldpbmRvd1BvbGljeSwg
VGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoIUJpbmRpbmdTZWN1
cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhzdGF0ZSwgY2FzdGVkVGhpcy0+d3Jh
cHBlZCgpLCBUaHJvd1NlY3VyaXR5RXJyb3IpKVxuIik7CiAgICAgICAgICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLmpz
b24gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbgpp
bmRleCAzN2Q2MWUwMjhjZTIyODdmNjFjZWU5YjJiYzI5MDA0MTdjMGEzNzM5Li5hOTk5MWMyODRi
ZmRmZTE4MDllNzBiZGQzNzgxYWEwNzBmZDFjNDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbgpAQCAtMTYzLDcgKzE2Myw3IEBA
CiAgICAgICAgIH0sCiAgICAgICAgICJEb05vdENoZWNrU2VjdXJpdHlJZiI6IHsKICAgICAgICAg
ICAgICJjb250ZXh0c0FsbG93ZWQiOiBbImF0dHJpYnV0ZSIsICJvcGVyYXRpb24iXSwKLSAgICAg
ICAgICAgICJ2YWx1ZXMiOiBbIkNyb3NzT3JpZ2luT3B0aW9uc0FsbG93IiwgIkNyb3NzT3JpZ2lu
T3B0aW9uc0FsbG93UG9zdE1lc3NhZ2UiXQorICAgICAgICAgICAgInZhbHVlcyI6IFsiQ3Jvc3NP
cmlnaW5XaW5kb3dQb2xpY3lBbGxvdyIsICJDcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93UG9z
dE1lc3NhZ2UiXQogICAgICAgICB9LAogICAgICAgICAiRG9Ob3RDaGVja1NlY3VyaXR5T25HZXR0
ZXIiOiB7CiAgICAgICAgICAgICAiY29udGV4dHNBbGxvd2VkIjogWyJhdHRyaWJ1dGUiXQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMDQ1NzZlODhmMjBhOWM4MWVmZGY3MWQ2NWZmZDFjZDg5
NTA1N2JiMi4uNTBkZGM5YTE2MGE2MzdhNDU3YjE2YjAzNjdjZGIyYjNjYzRmNzU5MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0zMTg1LDExICszMTg1LDExIEBAIGJvb2wgRG9jdW1lbnQ6
OmNhbk5hdmlnYXRlKEZyYW1lKiB0YXJnZXRGcmFtZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAK
ICAgICBpZiAobV9mcmFtZSAhPSB0YXJnZXRGcmFtZSkgewotICAgICAgICBhdXRvIHNvdXJjZUNy
b3NzT3JpZ2luT3B0aW9ucyA9IG1fZnJhbWUtPndpbmRvdygpID8gbV9mcmFtZS0+d2luZG93KCkt
PmNyb3NzT3JpZ2luT3B0aW9ucygpIDogQ3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvdzsKLSAgICAg
ICAgYXV0byBkZXN0aW5hdGlvbkNyb3NzT3JpZ2luT3B0aW9ucyA9IHRhcmdldEZyYW1lLT53aW5k
b3coKSA/IHRhcmdldEZyYW1lLT53aW5kb3coKS0+Y3Jvc3NPcmlnaW5PcHRpb25zKCkgOiBDcm9z
c09yaWdpbk9wdGlvbnM6OkFsbG93OwotICAgICAgICBpZiAoc291cmNlQ3Jvc3NPcmlnaW5PcHRp
b25zICE9IENyb3NzT3JpZ2luT3B0aW9uczo6QWxsb3cgfHwgZGVzdGluYXRpb25Dcm9zc09yaWdp
bk9wdGlvbnMgIT0gQ3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvdykgeworICAgICAgICBhdXRvIHNv
dXJjZUNyb3NzT3JpZ2luV2luZG93UG9saWN5ID0gbV9mcmFtZS0+d2luZG93KCkgPyBtX2ZyYW1l
LT53aW5kb3coKS0+Y3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3koKSA6IENyb3NzT3JpZ2luV2luZG93
UG9saWN5OjpBbGxvdzsKKyAgICAgICAgYXV0byBkZXN0aW5hdGlvbkNyb3NzT3JpZ2luV2luZG93
UG9saWN5ID0gdGFyZ2V0RnJhbWUtPndpbmRvdygpID8gdGFyZ2V0RnJhbWUtPndpbmRvdygpLT5j
cm9zc09yaWdpbldpbmRvd1BvbGljeSgpIDogQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93
OworICAgICAgICBpZiAoc291cmNlQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kgIT0gQ3Jvc3NPcmln
aW5XaW5kb3dQb2xpY3k6OkFsbG93IHx8IGRlc3RpbmF0aW9uQ3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3kgIT0gQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93KSB7CiAgICAgICAgICAgICBpZiAo
bV9mcmFtZS0+ZG9jdW1lbnQoKSAmJiB0YXJnZXRGcmFtZS0+ZG9jdW1lbnQoKSAmJiAhbV9mcmFt
ZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS5jYW5BY2Nlc3ModGFyZ2V0RnJhbWUtPmRv
Y3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpKSB7Ci0gICAgICAgICAgICAgICAgcHJpbnROYXZp
Z2F0aW9uRXJyb3JNZXNzYWdlKHRhcmdldEZyYW1lLCB1cmwoKSwgQVNDSUlMaXRlcmFsKCJOYXZp
Z2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVy
LiIpKTsKKyAgICAgICAgICAgICAgICBwcmludE5hdmlnYXRpb25FcnJvck1lc3NhZ2UodGFyZ2V0
RnJhbWUsIHVybCgpLCBBU0NJSUxpdGVyYWwoIk5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1
ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuIikpOwogICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggM2Y1NjkwZjA5ZDg1NTUyYzU2NWJjYTMyNmQwMmI2
ZWJiYmU3M2Q0Zi4uM2ZiNGYyODBmYTA2ZTgwYzYzZDU0OTQ3ODc4MmM0MzU3YmI1NDliNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC03NDcsMTEgKzc0NywxMSBAQCB2
b2lkIEZyYW1lTG9hZGVyOjpkaWRCZWdpbkRvY3VtZW50KGJvb2wgZGlzcGF0Y2gpCiAgICAgICAg
ICAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5zZXRDb250ZW50TGFuZ3VhZ2UoaGVhZGVyQ29u
dGVudExhbmd1YWdlKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChtX2ZyYW1lLnNldHRpbmdz
KCkuY3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQoKSkgewotICAgICAgICAgICAgU3Ry
aW5nIGNyb3NzT3JpZ2luT3B0aW9uc0hlYWRlciA9IG1fZG9jdW1lbnRMb2FkZXItPnJlc3BvbnNl
KCkuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDcm9zc09yaWdpbk9wdGlvbnMpOwot
ICAgICAgICAgICAgaWYgKCFjcm9zc09yaWdpbk9wdGlvbnNIZWFkZXIuaXNOdWxsKCkpIHsKKyAg
ICAgICAgaWYgKG1fZnJhbWUuc2V0dGluZ3MoKS5jcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBv
cnRFbmFibGVkKCkpIHsKKyAgICAgICAgICAgIFN0cmluZyBjcm9zc09yaWdpbldpbmRvd1BvbGlj
eUhlYWRlciA9IG1fZG9jdW1lbnRMb2FkZXItPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKEhU
VFBIZWFkZXJOYW1lOjpDcm9zc09yaWdpbldpbmRvd1BvbGljeSk7CisgICAgICAgICAgICBpZiAo
IWNyb3NzT3JpZ2luV2luZG93UG9saWN5SGVhZGVyLmlzTnVsbCgpKSB7CiAgICAgICAgICAgICAg
ICAgQVNTRVJUKG1fZnJhbWUud2luZG93KCkpOwotICAgICAgICAgICAgICAgIG1fZnJhbWUud2lu
ZG93KCktPnNldENyb3NzT3JpZ2luT3B0aW9ucyhwYXJzZUNyb3NzT3JpZ2luT3B0aW9uc0hlYWRl
cihjcm9zc09yaWdpbk9wdGlvbnNIZWFkZXIpKTsKKyAgICAgICAgICAgICAgICBtX2ZyYW1lLndp
bmRvdygpLT5zZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeShwYXJzZUNyb3NzT3JpZ2luV2luZG93
UG9saWN5SGVhZGVyKGNyb3NzT3JpZ2luV2luZG93UG9saWN5SGVhZGVyKSk7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Fi
c3RyYWN0RE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RET01XaW5k
b3cuY3BwCmluZGV4IDYwMTE4ZGQ5MjA2MmQwODk4ZjU3ODQ5ZjcxNTE1MmFhNTJiMzFkODcuLjZh
YmUwMzE1Nzk1MWYxZjZiNjIyZGMzZjI0NGEyM2YxZjY2ZjM3YzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQWJzdHJhY3RET01XaW5kb3cuY3BwCkBAIC00MCw3ICs0MCw3IEBAIEhhc2hNYXA8R2xv
YmFsV2luZG93SWRlbnRpZmllciwgQWJzdHJhY3RET01XaW5kb3cqPiYgQWJzdHJhY3RET01XaW5k
b3c6OmFsbFdpbmRvCiAKIEFic3RyYWN0RE9NV2luZG93OjpBYnN0cmFjdERPTVdpbmRvdyhHbG9i
YWxXaW5kb3dJZGVudGlmaWVyJiYgaWRlbnRpZmllcikKICAgICA6IG1faWRlbnRpZmllcihXVEZN
b3ZlKGlkZW50aWZpZXIpKQotICAgICwgbV9jcm9zc09yaWdpbk9wdGlvbnMoQ3Jvc3NPcmlnaW5P
cHRpb25zOjpBbGxvdykKKyAgICAsIG1fY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3koQ3Jvc3NPcmln
aW5XaW5kb3dQb2xpY3k6OkFsbG93KQogewogICAgIEFTU0VSVCghYWxsV2luZG93cygpLmNvbnRh
aW5zKGlkZW50aWZpZXIpKTsKICAgICBhbGxXaW5kb3dzKCkuYWRkKGlkZW50aWZpZXIsIHRoaXMp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9BYnN0cmFjdERPTVdpbmRvdy5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9BYnN0cmFjdERPTVdpbmRvdy5oCmluZGV4IDY0ZDQ1YThjYWNi
YzBlYWQwYzcxZDZlNDA0YzQwMjNiZTVkNWY5OTguLjhlYWE5YTI5M2RhODQwZTJjNmUzYzcwOWNl
NGQzMzM4ZTViMDliOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RE
T01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Fic3RyYWN0RE9NV2luZG93LmgK
QEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBYnN0cmFjdEZy
YW1lOwogCi1lbnVtIGNsYXNzIENyb3NzT3JpZ2luT3B0aW9uczsKK2VudW0gY2xhc3MgQ3Jvc3NP
cmlnaW5XaW5kb3dQb2xpY3k7CiAKIC8vIEZJWE1FOiBSZW5hbWUgRE9NV2luZG93IHRvIExvY2Fs
V2luZG93IGFuZCBBYnN0cmFjdERPTVdpbmRvdyB0byBET01XaW5kb3cuCiBjbGFzcyBBYnN0cmFj
dERPTVdpbmRvdyA6IHB1YmxpYyBSZWZDb3VudGVkPEFic3RyYWN0RE9NV2luZG93PiwgcHVibGlj
IEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewpAQCAtNTQsOCArNTQsOCBAQCBwdWJsaWM6CiAg
ICAgdXNpbmcgUmVmQ291bnRlZDo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOwog
Ci0gICAgQ3Jvc3NPcmlnaW5PcHRpb25zIGNyb3NzT3JpZ2luT3B0aW9ucygpIHsgcmV0dXJuIG1f
Y3Jvc3NPcmlnaW5PcHRpb25zOyB9Ci0gICAgdm9pZCBzZXRDcm9zc09yaWdpbk9wdGlvbnMoQ3Jv
c3NPcmlnaW5PcHRpb25zIHZhbHVlKSB7IG1fY3Jvc3NPcmlnaW5PcHRpb25zID0gdmFsdWU7IH0K
KyAgICBDcm9zc09yaWdpbldpbmRvd1BvbGljeSBjcm9zc09yaWdpbldpbmRvd1BvbGljeSgpIHsg
cmV0dXJuIG1fY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k7IH0KKyAgICB2b2lkIHNldENyb3NzT3Jp
Z2luV2luZG93UG9saWN5KENyb3NzT3JpZ2luV2luZG93UG9saWN5IHZhbHVlKSB7IG1fY3Jvc3NP
cmlnaW5XaW5kb3dQb2xpY3kgPSB2YWx1ZTsgfQogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQg
QWJzdHJhY3RET01XaW5kb3coR2xvYmFsV2luZG93SWRlbnRpZmllciYmKTsKQEAgLTY2LDcgKzY2
LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIEdsb2JhbFdpbmRvd0lkZW50aWZpZXIg
bV9pZGVudGlmaWVyOwotICAgIENyb3NzT3JpZ2luT3B0aW9ucyBtX2Nyb3NzT3JpZ2luT3B0aW9u
czsKKyAgICBDcm9zc09yaWdpbldpbmRvd1BvbGljeSBtX2Nyb3NzT3JpZ2luV2luZG93UG9saWN5
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
CmluZGV4IGNkNDEyZTk5OGMzNTM5Njc5OTQ5NjYyOTJhNmU4ZjMwYWJlYmE1YWIuLjE0YzM5MmQz
NDNlYzYwMjVkYTE1NWQ3NTUwOWMzMWE4NGMwYTY4ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwKQEAgLTQ5LDExICs0OSwxMSBAQCB0eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmluZzsK
ICAgICBQcmltYXJ5R2xvYmFsLAogXSBpbnRlcmZhY2UgRE9NV2luZG93IDogRXZlbnRUYXJnZXQg
ewogICAgIC8vIFRoZSBjdXJyZW50IGJyb3dzaW5nIGNvbnRleHQuCi0gICAgW0RvTm90Q2hlY2tT
ZWN1cml0eUlmPUNyb3NzT3JpZ2luT3B0aW9uc0FsbG93LCBVbmZvcmdlYWJsZSwgSW1wbGVtZW50
ZWRBcz1zZWxmXSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgd2luZG93OwotICAgIFtS
ZXBsYWNlYWJsZSwgRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5PcHRpb25zQWxsb3dd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eSBzZWxmOworICAgIFtEb05vdENoZWNrU2Vj
dXJpdHlJZj1Dcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93LCBVbmZvcmdlYWJsZSwgSW1wbGVt
ZW50ZWRBcz1zZWxmXSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgd2luZG93OworICAg
IFtSZXBsYWNlYWJsZSwgRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3lBbGxvd10gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IHNlbGY7CiAgICAgW1VuZm9y
Z2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgRG9jdW1lbnQgZG9jdW1lbnQ7CiAgICAgYXR0cmli
dXRlIERPTVN0cmluZyBuYW1lOwotICAgIFtEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdp
bk9wdGlvbnNBbGxvdywgUHV0Rm9yd2FyZHM9aHJlZiwgVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBMb2NhdGlvbj8gbG9jYXRpb247IC8vIEZJWE1FOiBTaG91bGQgbm90IGJlIG51bGxh
YmxlLgorICAgIFtEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdpbldpbmRvd1BvbGljeUFs
bG93LCBQdXRGb3J3YXJkcz1ocmVmLCBVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIExv
Y2F0aW9uPyBsb2NhdGlvbjsgLy8gRklYTUU6IFNob3VsZCBub3QgYmUgbnVsbGFibGUuCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEhpc3RvcnkgaGlzdG9yeTsKICAgICBbRW5hYmxlZEF0UnVudGlt
ZT1DdXN0b21FbGVtZW50cywgSW1wbGVtZW50ZWRBcz1lbnN1cmVDdXN0b21FbGVtZW50UmVnaXN0
cnldIHJlYWRvbmx5IGF0dHJpYnV0ZSBDdXN0b21FbGVtZW50UmVnaXN0cnkgY3VzdG9tRWxlbWVu
dHM7CiAgICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgQmFyUHJvcCBsb2NhdGlv
bmJhcjsKQEAgLTYzLDE4ICs2MywxOCBAQCB0eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmluZzsK
ICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBCYXJQcm9wIHN0YXR1c2JhcjsK
ICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBCYXJQcm9wIHRvb2xiYXI7CiAg
ICAgYXR0cmlidXRlIERPTVN0cmluZyBzdGF0dXM7Ci0gICAgW0RvTm90Q2hlY2tTZWN1cml0eUlm
PUNyb3NzT3JpZ2luT3B0aW9uc0FsbG93LCBDYWxsV2l0aD1JbmN1bWJlbnREb2N1bWVudCwgRm9y
d2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBjbG9zZSgpOwotICAgIFtEb05vdENoZWNrU2VjdXJp
dHlJZj1Dcm9zc09yaWdpbk9wdGlvbnNBbGxvdywgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gcmVh
ZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY2xvc2VkOworICAgIFtEb05vdENoZWNrU2VjdXJpdHlJ
Zj1Dcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93LCBDYWxsV2l0aD1JbmN1bWJlbnREb2N1bWVu
dCwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBjbG9zZSgpOworICAgIFtEb05vdENoZWNr
U2VjdXJpdHlJZj1Dcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93LCBGb3J3YXJkRGVjbGFyZUlu
SGVhZGVyXSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBjbG9zZWQ7CiAgICAgdm9pZCBzdG9w
KCk7Ci0gICAgW0RvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luT3B0aW9uc0FsbG93LCBD
YWxsV2l0aD1JbmN1bWJlbnRXaW5kb3csIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgZm9j
dXMoKTsKLSAgICBbRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5PcHRpb25zQWxsb3cs
IEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgYmx1cigpOworICAgIFtEb05vdENoZWNrU2Vj
dXJpdHlJZj1Dcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93LCBDYWxsV2l0aD1JbmN1bWJlbnRX
aW5kb3csIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgZm9jdXMoKTsKKyAgICBbRG9Ob3RD
aGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lBbGxvdywgRm9yd2FyZERlY2xh
cmVJbkhlYWRlcl0gdm9pZCBibHVyKCk7CiAKICAgICAvLyBPdGhlciBicm93c2luZyBjb250ZXh0
cy4KLSAgICBbUmVwbGFjZWFibGUsIERvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luT3B0
aW9uc0FsbG93LCBJbXBsZW1lbnRlZEFzPXNlbGZdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQ
cm94eSBmcmFtZXM7Ci0gICAgW1JlcGxhY2VhYmxlLCBEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9z
c09yaWdpbk9wdGlvbnNBbGxvd10gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVu
Z3RoOwotICAgIFtEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdpbk9wdGlvbnNBbGxvdywg
VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eT8gdG9wOwotICAgIFtE
b05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdpbk9wdGlvbnNBbGxvdywgQ3VzdG9tU2V0dGVy
XSBhdHRyaWJ1dGUgV2luZG93UHJveHk/IG9wZW5lcjsKLSAgICBbUmVwbGFjZWFibGUsIERvTm90
Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luT3B0aW9uc0FsbG93XSByZWFkb25seSBhdHRyaWJ1
dGUgV2luZG93UHJveHk/IHBhcmVudDsKKyAgICBbUmVwbGFjZWFibGUsIERvTm90Q2hlY2tTZWN1
cml0eUlmPUNyb3NzT3JpZ2luV2luZG93UG9saWN5QWxsb3csIEltcGxlbWVudGVkQXM9c2VsZl0g
cmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IGZyYW1lczsKKyAgICBbUmVwbGFjZWFibGUs
IERvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luV2luZG93UG9saWN5QWxsb3ddIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICBbRG9Ob3RDaGVja1NlY3Vy
aXR5SWY9Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lBbGxvdywgVW5mb3JnZWFibGVdIHJlYWRvbmx5
IGF0dHJpYnV0ZSBXaW5kb3dQcm94eT8gdG9wOworICAgIFtEb05vdENoZWNrU2VjdXJpdHlJZj1D
cm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93LCBDdXN0b21TZXR0ZXJdIGF0dHJpYnV0ZSBXaW5k
b3dQcm94eT8gb3BlbmVyOworICAgIFtSZXBsYWNlYWJsZSwgRG9Ob3RDaGVja1NlY3VyaXR5SWY9
Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lBbGxvd10gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1By
b3h5PyBwYXJlbnQ7CiAgICAgW0NoZWNrU2VjdXJpdHlGb3JOb2RlXSByZWFkb25seSBhdHRyaWJ1
dGUgRWxlbWVudD8gZnJhbWVFbGVtZW50OwogICAgIFtDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmly
c3RXaW5kb3ddIFdpbmRvd1Byb3h5PyBvcGVuKG9wdGlvbmFsIFVTVlN0cmluZyB1cmwgPSAiYWJv
dXQ6YmxhbmsiLCBvcHRpb25hbCBET01TdHJpbmcgdGFyZ2V0ID0gIl9ibGFuayIsIG9wdGlvbmFs
IFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGZlYXR1cmVzID0gIiIpOwogCkBA
IC05Miw3ICs5Miw3IEBAIHR5cGVkZWYgVVNWU3RyaW5nIENTU09NU3RyaW5nOwogICAgIGxvbmcg
cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrIGNhbGxi
YWNrKTsgLy8gRklYTUU6IFNob3VsZCByZXR1cm4gYW4gdW5zaWduZWQgbG9uZy4KICAgICB2b2lk
IGNhbmNlbEFuaW1hdGlvbkZyYW1lKGxvbmcgaGFuZGxlKTsgLy8gRklYTUU6IGhhbmRsZSBzaG91
bGQgYmUgYW4gdW5zaWduZWQgbG9uZy4KIAotICAgIFtDYWxsV2l0aD1TY3JpcHRTdGF0ZSZJbmN1
bWJlbnRXaW5kb3csIERvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luT3B0aW9uc0FsbG93
UG9zdE1lc3NhZ2UsIEZvcndhcmREZWNsYXJlSW5IZWFkZXIsIE1heVRocm93RXhjZXB0aW9uXSB2
b2lkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBVU1ZTdHJpbmcgdGFyZ2V0T3JpZ2luLCBvcHRp
b25hbCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyID0gW10pOworICAgIFtDYWxsV2l0aD1TY3Jp
cHRTdGF0ZSZJbmN1bWJlbnRXaW5kb3csIERvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2lu
V2luZG93UG9saWN5QWxsb3dQb3N0TWVzc2FnZSwgRm9yd2FyZERlY2xhcmVJbkhlYWRlciwgTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIFVTVlN0cmluZyB0
YXJnZXRPcmlnaW4sIG9wdGlvbmFsIHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIgPSBbXSk7CiAK
ICAgICAvLyBPYnNvbGV0ZSBtZW1iZXJzLCBzdGlsbCBwYXJ0IG9mIHRoZSBIVE1MIHNwZWNpZmlj
YXRpb24gKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI1dpbmRvdy1wYXJ0aWFsKS4KICAg
ICB2b2lkIGNhcHR1cmVFdmVudHMoKTsgLy8gTm90IGltcGxlbWVudGVkLiBBbHNvIG5vdCBpbiBt
b2Rlcm4gc3RhbmRhcmRzLiBFbXB0eSBmdW5jdGlvbiBtYXkgaGVscCBjb21wYXRpYmlsaXR5IHdp
dGggbGVnYWN5IGNvbnRlbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLnlhbWwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKaW5kZXggNGI3NDY1
ZmNkMGI2MTcyYmI5OTUzMjA2NDdjYmRmNGMzZWQ4ZjAzZS4uZGQ5ZWQ4NmZhMTU1NGNmN2Q3NmU0
OWExZmU5NjY3MTEyZWU2NjA5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy55YW1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbApAQCAtNzQ0
LDcgKzc0NCw3IEBAIGNsaWVudENvb3JkaW5hdGVzUmVsYXRpdmVUb0xheW91dFZpZXdwb3J0Ogog
ICBpbml0aWFsOiBmYWxzZQogICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJh
bWVzCiAKLWNyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVkOgorY3Jvc3NPcmlnaW5XaW5k
b3dQb2xpY3lTdXBwb3J0RW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQogCiBhY2Nlc3NpYmlsaXR5
RXZlbnRzRW5hYmxlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvSFRUUEhlYWRlck5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9I
VFRQSGVhZGVyTmFtZXMuaW4KaW5kZXggNjlhMjBlMmY5MmQ3YmFhZTlmNTcwZGYyYmNjZGZjNTgw
NjM4ZGZiNy4uNDdmNjkwNDBlODFiOTJhMmYwM2YyNzcyNDM2ZWFhNGM2MmU4MmJmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQSGVhZGVyTmFtZXMuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQSGVhZGVyTmFtZXMuaW4K
QEAgLTUwLDggKzUwLDggQEAgQ29udGVudC1UeXBlCiBDb250ZW50LVJhbmdlCiBDb29raWUKIENv
b2tpZTIKLUNyb3NzLU9yaWdpbi1PcHRpb25zCiBDcm9zcy1PcmlnaW4tUmVzb3VyY2UtUG9saWN5
CitDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeQogRGF0ZQogRE5UCiBEZWZhdWx0LVN0eWxlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwCmluZGV4
IGUzNzZlNmUzMmNlNWUxNzM2OThlNjdjMDAwMTkwNGIxMjlmZGU3OTMuLjRjM2FjNTJlMDYyNzVk
YTQwODZiNzg1NzM3MDVkNzAzZGM3OTU2YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwCkBAIC05MTMsMTkgKzkxMywxOSBAQCBDcm9zc09y
aWdpblJlc291cmNlUG9saWN5IHBhcnNlQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeUhlYWRlcihT
dHJpbmdWaWV3IGhlYWRlcgogICAgIHJldHVybiBDcm9zc09yaWdpblJlc291cmNlUG9saWN5OjpJ
bnZhbGlkOwogfQogCi1Dcm9zc09yaWdpbk9wdGlvbnMgcGFyc2VDcm9zc09yaWdpbk9wdGlvbnNI
ZWFkZXIoU3RyaW5nVmlldyBoZWFkZXIpCitDcm9zc09yaWdpbldpbmRvd1BvbGljeSBwYXJzZUNy
b3NzT3JpZ2luV2luZG93UG9saWN5SGVhZGVyKFN0cmluZ1ZpZXcgaGVhZGVyKQogewogICAgIGhl
YWRlciA9IHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRUUFNwYWNlcyhoZWFkZXIpOwogICAgIGlm
IChoZWFkZXIuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gQ3Jvc3NPcmlnaW5PcHRpb25zOjpB
bGxvdzsKKyAgICAgICAgcmV0dXJuIENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvdzsKIAog
ICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShoZWFkZXIsICJkZW55IikpCi0g
ICAgICAgIHJldHVybiBDcm9zc09yaWdpbk9wdGlvbnM6OkRlbnk7CisgICAgICAgIHJldHVybiBD
cm9zc09yaWdpbldpbmRvd1BvbGljeTo6RGVueTsKIAogICAgIGlmIChlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShoZWFkZXIsICJhbGxvdy1wb3N0bWVzc2FnZSIpKQotICAgICAgICByZXR1
cm4gQ3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvd1Bvc3RNZXNzYWdlOworICAgICAgICByZXR1cm4g
Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93UG9zdE1lc3NhZ2U7CiAKLSAgICByZXR1cm4g
Q3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvdzsKKyAgICByZXR1cm4gQ3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3k6OkFsbG93OwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0hUVFBQYXJzZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0hUVFBQYXJzZXJzLmgKaW5kZXggNzQ1MmZkYzhjMGM3OWYxYzgxOGZkYjE3NmMyMzFlYzVmYTVl
NWVjMi4uNWQ1NTU1MWIxNzRiMzlkMGI5ZDFhNDljODQ3NDEwZTMyOWNjZjhlNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaApAQCAtNzIsNyArNzIs
NyBAQCBlbnVtIGNsYXNzIENyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3kgewogfTsKIAogLy8gU2hv
dWxkIGJlIHNvcnRlZCBmcm9tIG1vc3QgcmVzdHJpY3RpdmUgdG8gbW9zdCBwZXJtaXNzaXZlLgot
ZW51bSBjbGFzcyBDcm9zc09yaWdpbk9wdGlvbnMgeworZW51bSBjbGFzcyBDcm9zc09yaWdpbldp
bmRvd1BvbGljeSB7CiAgICAgRGVueSwKICAgICBBbGxvd1Bvc3RNZXNzYWdlLAogICAgIEFsbG93
LApAQCAtMTE4LDcgKzExOCw3IEBAIGJvb2wgaXNDcm9zc09yaWdpblNhZmVSZXF1ZXN0SGVhZGVy
KEhUVFBIZWFkZXJOYW1lLCBjb25zdCBTdHJpbmcmKTsKIFN0cmluZyBub3JtYWxpemVIVFRQTWV0
aG9kKGNvbnN0IFN0cmluZyYpOwogCiBXRUJDT1JFX0VYUE9SVCBDcm9zc09yaWdpblJlc291cmNl
UG9saWN5IHBhcnNlQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeUhlYWRlcihTdHJpbmdWaWV3KTsK
LUNyb3NzT3JpZ2luT3B0aW9ucyBwYXJzZUNyb3NzT3JpZ2luT3B0aW9uc0hlYWRlcihTdHJpbmdW
aWV3KTsKK0Nyb3NzT3JpZ2luV2luZG93UG9saWN5IHBhcnNlQ3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3lIZWFkZXIoU3RyaW5nVmlldyk7CiAKIGlubGluZSBib29sIGlzSFRUUFNwYWNlKFVDaGFyIGNo
YXJhY3RlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4
IDRmNzVkMzQxN2QyODY3ODQ2ODBhZTU1Mzc1MjMzM2E0OThjNGY1Y2EuLmJlNTVkMWEzZWQxY2Iz
ZmZiY2ExZWRjMzM0NWIyNTMyNzg5NmU3OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXMueWFtbApAQCAtMTA5NywxMSArMTA5NywxMSBAQCBDb25zdGFudFByb3BlcnRpZXNF
bmFibGVkOgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgQ1NTIGNvbnN0YW50
KCkgdmFsdWVzIgogICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKLUNyb3NzT3JpZ2luT3B0aW9u
c1N1cHBvcnRFbmFibGVkOgorQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZDoK
ICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKLSAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJDcm9zcy1PcmlnaW4tT3B0aW9ucyBIVFRQIEhlYWRlciIKLSAgaHVtYW5SZWFkYWJsZURlc2Ny
aXB0aW9uOiAiRW5hYmxlIHN1cHBvcnQgZm9yIENyb3NzLU9yaWdpbi1PcHRpb25zIEhUVFAgSGVh
ZGVyIgorICBodW1hblJlYWRhYmxlTmFtZTogIkNyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IEhU
VFAgSGVhZGVyIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgc3VwcG9ydCBm
b3IgQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kgSFRUUCBIZWFkZXIiCiAgIGNhdGVnb3J5OiBl
eHBlcmltZW50YWwKIAogU3ByaW5nVGltaW5nRnVuY3Rpb25FbmFibGVkOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBiNTdmNjZmYWFkYjk0OWNi
ZDU3NjViYjM4MGIzNWEzYjliNWMyNGZlLi45NzAzZDQ5NzZjMWZjOTI1NDg4MjNlNmU4YmY1ODQx
YWNlNWU1OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcApAQCAtNTk1MSw3ICs1OTUxLDcgQEAgdm9pZCBXZWJQYWdlOjpmcmFtZUJlY2FtZVJlbW90
ZSh1aW50NjRfdCBmcmFtZUlELCBHbG9iYWxGcmFtZUlkZW50aWZpZXImJiByZW1vdGUKIAogICAg
IGF1dG8gcmVtb3RlRnJhbWUgPSBSZW1vdGVGcmFtZTo6Y3JlYXRlKFdURk1vdmUocmVtb3RlRnJh
bWVJZGVudGlmaWVyKSk7CiAgICAgYXV0byByZW1vdGVXaW5kb3cgPSBSZW1vdGVET01XaW5kb3c6
OmNyZWF0ZShyZW1vdGVGcmFtZS5jb3B5UmVmKCksIFdURk1vdmUocmVtb3RlV2luZG93SWRlbnRp
ZmllcikpOwotICAgIHJlbW90ZVdpbmRvdy0+c2V0Q3Jvc3NPcmlnaW5PcHRpb25zKHByZXZpb3Vz
V2luZG93LT5jcm9zc09yaWdpbk9wdGlvbnMoKSk7CisgICAgcmVtb3RlV2luZG93LT5zZXRDcm9z
c09yaWdpbldpbmRvd1BvbGljeShwcmV2aW91c1dpbmRvdy0+Y3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3koKSk7CiAKICAgICByZW1vdGVGcmFtZS0+c2V0T3BlbmVyKGZyYW1lLT5jb3JlRnJhbWUoKS0+
bG9hZGVyKCkub3BlbmVyKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCBhNTg5MzIxMjEw
M2E5ZjY4OGNiOGRkOGY5OGM5NmI2NTIxNDcwOTY1Li41YjdiOWVkNjljY2NkOWRmOWY3NjRlZWZj
MWQ2M2JjNjE2YzhmNjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTE3Myw3ICsxNzMsNyBA
QAogI2RlZmluZSBXZWJLaXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkIgogI2RlZmluZSBXZWJLaXRDdXN0b21QYXN0
ZWJvYXJkRGF0YUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Q3VzdG9tUGFzdGVib2FyZERh
dGFFbmFibGVkIgogI2RlZmluZSBXZWJLaXRDYWNoZUFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0Q2FjaGVBUElFbmFibGVkIgotI2RlZmluZSBXZWJLaXRDcm9zc09yaWdpbk9wdGlvbnNT
dXBwb3J0RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDcm9zc09yaWdpbk9wdGlvbnNTdXBw
b3J0RW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0
RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBv
cnRFbmFibGVkIgogI2RlZmluZSBXZWJLaXRGZXRjaEFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0RmV0Y2hBUElFbmFibGVkIgogI2RlZmluZSBXZWJLaXRXcml0YWJsZVN0cmVhbUFQSUVu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V3JpdGFibGVTdHJlYW1BUElFbmFibGVkIgogI2Rl
ZmluZSBXZWJLaXRSZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdFJlYWRhYmxlQnl0ZVN0cmVhbUFQSUVuYWJsZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCAwMDdlOWI4NjhjMTUxNTdh
NDgwYzQzZjc3OTQxYTFiN2I4NzkxOTNmLi41YjJkNGI5YmE5ZmY0MTE1ZjAyN2M2MzlkZTYyZGZm
NDAwNTgwNTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KQEAgLTYzNCw3ICs2MzQsNyBAQCArICh2b2lkKWluaXRpYWxpemUKICAg
ICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgV2ViS2l0V2ViR1BVRW5hYmxlZFBy
ZWZlcmVuY2VLZXksCiAjZW5kaWYKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5P
XSwgV2ViS2l0Q2FjaGVBUElFbmFibGVkUHJlZmVyZW5jZUtleSwKLSAgICAgICAgW05TTnVtYmVy
IG51bWJlcldpdGhCb29sOk5PXSwgV2ViS2l0Q3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJs
ZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCBX
ZWJLaXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sIFdlYktpdEZldGNoQVBJRW5h
YmxlZFByZWZlcmVuY2VLZXksCiAKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCkBAIC0zMDExLDE0
ICszMDExLDE0IEBAIC0gKHZvaWQpc2V0Q2FjaGVBUElFbmFibGVkOihCT09MKWZsYWcKICAgICBb
c2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdENhY2hlQVBJRW5hYmxlZFByZWZl
cmVuY2VLZXldOwogfQogCi0tIChCT09MKWNyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVk
CistIChCT09MKWNyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQKIHsKLSAgICBy
ZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRDcm9zc09yaWdpbk9wdGlvbnNTdXBw
b3J0RW5hYmxlZFByZWZlcmVuY2VLZXldOworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9y
S2V5OldlYktpdENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNl
S2V5XTsKIH0KIAotLSAodm9pZClzZXRDcm9zc09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZDoo
Qk9PTClmbGFnCistICh2b2lkKXNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJs
ZWQ6KEJPT0wpZmxhZwogewotICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2Vi
S2l0Q3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKKyAgICBb
c2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdENyb3NzT3JpZ2luV2luZG93UG9s
aWN5U3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAogLSAoQk9PTClmZXRjaEFQSUVu
YWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDE5YWM3NmRmMjUwMTAzYzVlMDQ2YzIwNmRkMDc3Y2Qy
OWM4NTIxYWIuLjZmYTVhODQzYjRhMzQyMDIxYzQyNmI0OTNmMzIyNWI1OTY2ZGY2ODQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaApAQCAtNTQzLDggKzU0Myw4IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVy
ZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uIFdFQktJVF9ERVBSCiAt
IChCT09MKWNhY2hlQVBJRW5hYmxlZDsKIC0gKHZvaWQpc2V0Q2FjaGVBUElFbmFibGVkOihCT09M
KWVuYWJsZWQ7CiAKLS0gKEJPT0wpY3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQ7Ci0t
ICh2b2lkKXNldENyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVkOihCT09MKWVuYWJsZWQ7
CistIChCT09MKWNyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQ7CistICh2b2lk
KXNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQ6KEJPT0wpZW5hYmxlZDsK
IAogLSAodm9pZClzZXRGZXRjaEFQSUVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpZmV0Y2hB
UElFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmlu
ZGV4IDNiNjBhMGI0YzUwYWU4OTM2NjkyMDQwMTgzYjI5MzcxODg2ZWYwZmIuLjc4NzVhN2VhNDE2
NGZlNjcyNDlkYzlkNDk5ZmZjOThhMTc1MzNmOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTMwNzAsNyArMzA3MCw3IEBAIC0gKHZvaWQpX3ByZWZl
cmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNlcwogCiAgICAgc2V0dGlu
Z3Muc2V0Vmlld3BvcnRGaXRFbmFibGVkKFtwcmVmZXJlbmNlcyB2aWV3cG9ydEZpdEVuYWJsZWRd
KTsKICAgICBzZXR0aW5ncy5zZXRDb25zdGFudFByb3BlcnRpZXNFbmFibGVkKFtwcmVmZXJlbmNl
cyBjb25zdGFudFByb3BlcnRpZXNFbmFibGVkXSk7Ci0gICAgc2V0dGluZ3Muc2V0Q3Jvc3NPcmln
aW5PcHRpb25zU3VwcG9ydEVuYWJsZWQoW3ByZWZlcmVuY2VzIGNyb3NzT3JpZ2luT3B0aW9uc1N1
cHBvcnRFbmFibGVkXSk7CisgICAgc2V0dGluZ3Muc2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lT
dXBwb3J0RW5hYmxlZChbcHJlZmVyZW5jZXMgY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0
RW5hYmxlZF0pOwogCiAjaWYgRU5BQkxFKEdBTUVQQUQpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRHYW1lcGFkc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGdh
bWVwYWRzRW5hYmxlZF0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50
ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKaW5kZXggNGI0MGM1OWQy
NjI5N2IzZjVmOTNiZjUyNzkyNzYyYzAwM2FlNTA0Ni4uZDE2NDNmM2ZhY2QzMzZiYmU1MGY0ZDgz
ZjVhMmYwYzc0ODA1YTQ5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50
ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCkBAIC0yMzQsNiAr
MjM0LDYgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU2IDogSVdlYlByZWZlcmVu
Y2VzUHJpdmF0ZTUKIFt1dWlkKDlBNDlEMURFLTUzREQtMTFFOC05NUU2LTAwM0VFMUMyOEFCNild
CiBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTcgOiBJV2ViUHJlZmVyZW5jZXNQcml2
YXRlNgogewotICAgIEhSRVNVTFQgY3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQoW291
dCwgcmV0dmFsXSBCT09MKiBlbmFibGVkKTsKLSAgICBIUkVTVUxUIHNldENyb3NzT3JpZ2luT3B0
aW9uc1N1cHBvcnRFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIGNyb3Nz
T3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKiBlbmFi
bGVkKTsKKyAgICBIUkVTVUxUIHNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJs
ZWQoW2luXSBCT09MIGVuYWJsZWQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA2MDY5Mzc4M2M0NGNjYjQyZWM1ZDVj
NWJmZTUyYWU2MGMwOGYwMGRkLi4zYzQ4ZmIwNzhkYzkyZDdiOTQ3ZDE3Njk1YTE2NDAwMzk3NTFi
ZTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaApAQCAtMTgwLDcgKzE4MCw3IEBACiAKICNkZWZpbmUgV2ViS2l0TWVudUl0ZW1F
bGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdE1lbnVJdGVtRWxlbWVudEVuYWJsZWQi
CiAKLSNkZWZpbmUgV2ViS2l0Q3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWRQcmVmZXJl
bmNlS2V5ICJXZWJLaXRDcm9zc09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZCIKKyNkZWZpbmUg
V2ViS2l0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZFByZWZlcmVuY2VLZXkg
IldlYktpdENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQiCiAKICNkZWZpbmUg
V2ViS2l0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRNb2Rl
cm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZXMuY3BwCmluZGV4IDJiOGM2NTFkODU3OTIxNTNiN2ZmMGY1M2NkMzA4ZmIxOTRiOTY4
MzYuLmUxMDA0MTIwMjhhMzNjNDk0MzkyODdkZDc5MDhlNmEzYTU3MjBkNjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKQEAgLTI0OSw3ICsyNDksNyBAQCB2
b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKCkKICAgICBDRkRp
Y3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0U2hvdWxkRGlzcGxheVN1YnRp
dGxlc1ByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogICAgIENGRGljdGlvbmFyeUFk
ZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRTaG91bGREaXNwbGF5Q2FwdGlvbnNQcmVmZXJl
bmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZh
dWx0cywgQ0ZTVFIoV2ViS2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNQcmVmZXJlbmNl
S2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKLSAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0
cywgQ0ZTVFIoV2ViS2l0Q3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNl
S2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0
cywgQ0ZTVFIoV2ViS2l0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZFByZWZl
cmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVm
PiBsaW5rQmVoYXZpb3JTdHJpbmdSZWYgPSBhZG9wdENGKENGU3RyaW5nQ3JlYXRlV2l0aEZvcm1h
dCgwLCAwLCBDRlNUUigiJWQiKSwgV2ViS2l0RWRpdGFibGVMaW5rRGVmYXVsdEJlaGF2aW9yKSk7
CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEVkaXRhYmxl
TGlua0JlaGF2aW9yUHJlZmVyZW5jZUtleSksIGxpbmtCZWhhdmlvclN0cmluZ1JlZi5nZXQoKSk7
CkBAIC0yMDM0LDE3ICsyMDM0LDE3IEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldE1lbnVJ
dGVtRWxlbWVudEVuYWJsZWQoQk9PTCBlbmFibGVkKQogICAgIHJldHVybiBTX09LOwogfQogCi1I
UkVTVUxUIFdlYlByZWZlcmVuY2VzOjpjcm9zc09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZChf
T3V0XyBCT09MKiBlbmFibGVkKQorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6Y3Jvc3NPcmlnaW5X
aW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQogewogICAgIGlm
ICghZW5hYmxlZCkKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLSAgICAqZW5hYmxlZCA9IGJv
b2xWYWx1ZUZvcktleShXZWJLaXRDcm9zc09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZFByZWZl
cmVuY2VLZXkpOworICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdENyb3NzT3Jp
Z2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNlS2V5KTsKICAgICByZXR1cm4g
U19PSzsKIH0KIAotSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0Q3Jvc3NPcmlnaW5PcHRpb25z
U3VwcG9ydEVuYWJsZWQoQk9PTCBlbmFibGVkKQorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0
Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZChCT09MIGVuYWJsZWQpCiB7Ci0g
ICAgc2V0Qm9vbFZhbHVlKFdlYktpdENyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVkUHJl
ZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgc2V0Qm9vbFZhbHVlKFdlYktpdENyb3NzT3JpZ2lu
V2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKICAgICBy
ZXR1cm4gU19PSzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
UHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgK
aW5kZXggOWI3OGMwMDYyYTIxYzI2OWYyM2JkN2U5N2I4NDdlYjA3YzkwZTEyNy4uYWU3NmY5OWJi
ZTM0OGY1Njg2NDMxOGU0Zjc5NmFjNjVmNzY5YjIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0yNzksOCArMjc5LDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRTZXJ2ZXJUaW1pbmdFbmFibGVkKEJPT0wp
OwogCiAgICAgLy8gSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTcKLSAgICB2aXJ0dWFsIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgY3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQoX091dF8g
Qk9PTCopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRDcm9zc09y
aWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZChCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZChfT3V0
XyBCT09MKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldENyb3Nz
T3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBXZWJQcmVm
ZXJlbmNlcwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IDY0YjdiODhkZGE3
MGE2YzZmNTQxZGUyMDBhNzEzNjVhOGU3NDdiZTEuLjM0MzY2ZWEyNjRhNWRmMGU2M2ZjZjIxNzAy
YjU1NzhkYzUxOTk5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC01Mjc5
LDEwICs1Mjc5LDEwIEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2Vk
KElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0dXJuIGhyOwogICAg
IHNldHRpbmdzLnNldFZpc3VhbFZpZXdwb3J0QVBJRW5hYmxlZCghIWVuYWJsZWQpOwogCi0gICAg
aHIgPSBwcmVmc1ByaXZhdGUtPmNyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVkKCZlbmFi
bGVkKTsKKyAgICBociA9IHByZWZzUHJpdmF0ZS0+Y3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBw
b3J0RW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVy
biBocjsKLSAgICBzZXR0aW5ncy5zZXRDcm9zc09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZCgh
IWVuYWJsZWQpOworICAgIHNldHRpbmdzLnNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9y
dEVuYWJsZWQoISFlbmFibGVkKTsKIAogICAgIGhyID0gcHJlZmVyZW5jZXMtPnByaXZhdGVCcm93
c2luZ0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY0NTAzYjcwYmRjZjlhMjY4
Y2IxYzA4NWViYTc5MDU3MDY2MDBiZjAuLjYwNmM5YjcxOTRkOGQ5NDhjY2Y3NTUxYmRkNWI5OGFj
ODk4ZWRkZDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOC0wNi0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgorCisgICAgICAgIFJlbmFtZSAiQ3Jvc3MtT3JpZ2luLU9wdGlvbnMiIEhUVFAgaGVh
ZGVyIHRvICJDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjI4NworICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNDA3ODMzNTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChl
bmFibGVFeHBlcmltZW50YWxGZWF0dXJlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2lu
L0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVz
KToKKwogMjAxOC0wNi0wNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
IAogICAgICAgICBbV2ViS2l0IG9uIHdhdGNoT1NdIFJlbW92ZSBhbGwgdXNlcyBvZiB0aGUgRVhU
UkFfWk9PTV9NT0RFIGNvbXBpbGVyIGZsYWcKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQppbmRleCBjMWRhN2RjYWRiYzc4YjA4Y2NjZjU0NjNlMDZjNDU1ODA1MWY0
NzYyLi5lMzM4NGIxMDlhNmU4NDlhMTk2Y2FkMjY4ZDQwNDM2NGMxYWY0ZTEwIDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC04NjIsNyArODYyLDcgQEAg
c3RhdGljIHZvaWQgZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMoV2ViUHJlZmVyZW5jZXMqIHBy
ZWZlcmVuY2VzKQogICAgIFtwcmVmZXJlbmNlcyBzZXRBY2Nlc3NpYmlsaXR5T2JqZWN0TW9kZWxF
bmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFZpc3VhbFZpZXdwb3J0QVBJRW5hYmxl
ZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRDb2xvckZpbHRlckVuYWJsZWQ6WUVTXTsKLSAg
ICBbcHJlZmVyZW5jZXMgc2V0Q3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQ6WUVTXTsK
KyAgICBbcHJlZmVyZW5jZXMgc2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxl
ZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRTZXJ2ZXJUaW1pbmdFbmFibGVkOllFU107CiB9
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5j
cHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IDli
ZjcyNjQzMzZkYjc5OTU5OWEyYTQ5NTk1ZDVlMTQ3OTUzYjc2ZWIuLmE3MDY3NTI4MDEzOGQ3M2Q0
NTI4NTI3NGU4NzFkMWUzMTYwOGY2MzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1
bXBSZW5kZXJUcmVlLmNwcApAQCAtNzg5LDcgKzc4OSw3IEBAIHN0YXRpYyB2b2lkIGVuYWJsZUV4
cGVyaW1lbnRhbEZlYXR1cmVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAgcHJl
ZnNQcml2YXRlLT5zZXRTZXJ2ZXJUaW1pbmdFbmFibGVkKFRSVUUpOwogICAgIC8vIEZJWE1FOiBX
ZWJHTDIKICAgICAvLyBGSVhNRTogV2ViUlRDCi0gICAgcHJlZnNQcml2YXRlLT5zZXRDcm9zc09y
aWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZChUUlVFKTsKKyAgICBwcmVmc1ByaXZhdGUtPnNldENy
b3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoVFJVRSk7CiB9CiAKIHN0YXRpYyB2
b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoSVdlYlByZWZlcmVuY2Vz
KiBwcmVmZXJlbmNlcykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwYzYzY2NkMDI2OWI3OTVjMWNmMmJlYTU3MjMxZTVkYmYz
MjRhNmM0Li40MWMwZjJlMTQzMjA4Mzk5M2YzMTlhNmIzZTk2YjI1YmNjYTBkODIyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzkgQEAKKzIwMTgtMDYtMDQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZW5hbWUgIkNyb3NzLU9yaWdpbi1PcHRpb25zIiBIVFRQIGhlYWRlciB0
byAiQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODYyODcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQw
NzgzMzUyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25z
L2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJv
bS1kZW55Lmh0bWwuaGVhZGVyczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3dwdC9jcm9zcy1v
cmlnaW4tb3B0aW9ucy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXItZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL25hdmlnYXRp
b24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9uLWZyb20tc3Vi
ZnJhbWUtdmlhLWFuY2hvci10YXJnZXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tb3B0
aW9ucy1hbGxvdy1wb3N0bWVzc2FnZS1wb25nLmh0bWwuaGVhZGVyczogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2Fn
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5L2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93
LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0
cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55Lmh0
bWwuCisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ct
cG9zdG1lc3NhZ2UtZnJvbS1kZW55Lmh0bWwuaGVhZGVyczogQWRkZWQuCisgICAgICAgICogaHR0
cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UuaHRtbDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL2Fs
bG93LXBvc3RtZXNzYWdlLmh0bWwuCisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdp
bmRvdy1wb2xpY3kvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kv
Y3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9jcm9zcy1vcmlnaW4tb3B0aW9u
cy1oZWFkZXIuaHRtbC4KKyAgICAgICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBv
bGljeS9uYXZpZ2F0aW9uLWZyb20tb3BlbmVyLXZpYS1vcGVuLXRhcmdldC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25h
dmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWw6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9uLWZyb20t
b3BlbmVyLXZpYS1vcGVuLXRhcmdldC5odG1sLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9y
aWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRh
cmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdl
dC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9w
dGlvbnMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLXZpYS1hbmNob3ItdGFyZ2V0Lmh0bWwuCisg
ICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Ny
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291
cmNlcy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1hbGxvdy1wb3N0bWVzc2FnZS1wb25nLmh0bWwuCisg
ICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Ny
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbC5oZWFk
ZXJzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGlj
eS9yZXNvdXJjZXMvZGVzdGluYXRpb24uaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0
dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1sLgor
ICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9u
YXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
aHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12
aWEtYW5jaG9yLmh0bWwuCisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weTogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNl
cy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHkuCisgICAgICAgIChtYWluKToKKyAg
ICAgICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvc2Vy
dmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5OiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL3NlcnZlLWNy
b3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weS4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAq
IGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy91dGlscy5qczog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jl
c291cmNlcy91dGlscy5qcy4KKwogMjAxOC0wNi0wNCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0Bh
cHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFN0cm9uZyBQYXNzd29yZCBhcHBlYXJhbmNlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9hbGxv
dy1wb3N0bWVzc2FnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1v
cmlnaW4tb3B0aW9ucy9hbGxvdy1wb3N0bWVzc2FnZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDBlOTk5ODc4OWE2M2JhYzc5ODFiOWFiNjdmOWE2MmFmMjQ4NTkz
ZWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0KLQotUEFTUyBwb3N0TWVz
c2FnZSgpIG9uIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6
IGFsbG93LXBvc3RtZXNzYWdlJyBIVFRQIGhlYWRlciAKLVBBU1MgcG9zdE1lc3NhZ2UoKSBvbiBD
cm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3Rt
ZXNzYWdlJyBIVFRQIGhlYWRlciAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL2FsbG93LXBv
c3RtZXNzYWdlLWZyb20tZGVueS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDQ5ZjZjOTNkMWQ0N2ZhNzdmZjk5YjU5NDA2MDVmNTZhYzE1MjdjOGUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55LWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotCi0KLVBBU1MgcG9zdE1lc3Nh
Z2UoKSBvbiBDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBh
bGxvdy1wb3N0bWVzc2FnZScgYnV0IGN1cnJlbnQgd2luZG93IGhhcyAnZGVueScgb3B0aW9uIAot
UEFTUyBwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1Pcmln
aW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIGJ1dCBjdXJyZW50IHdpbmRvdyBoYXMgJ2Rl
bnknIG9wdGlvbiAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3Jp
Z2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55Lmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9hbGxvdy1wb3N0bWVzc2FnZS1mcm9tLWRl
bnkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzQ5NGYwYTI3ZDA2ODdkNjY1
M2EwM2E4ZDFhOTY0ZGI4ZmQyYjkyNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9h
bGxvdy1wb3N0bWVzc2FnZS1mcm9tLWRlbnkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMxICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KLTx0aXRsZT5UZXN0cyBjYWxsaW5nIHBvc3RNZXNzYWdlKCkgb24gYSB3aW5kb3cgd2l0
aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBmcm9tIGEgd2luZG93
IHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55JzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi91dGlscy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZv
LnN1Yi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aElmcmFtZSgiY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtYWxs
b3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVu
KChmKSA9PiB7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlv
bigpIHsgZi5jb250ZW50V2luZG93Lmxlbmd0aCB9LCAibGVuZ3RoIHByb3BlcnR5IGFjY2VzcyIp
OwotICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGYu
Y29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgiUElORyIsICIqIik7IH0sICJDYWxsaW5nIHBvc3RN
ZXNzYWdlKCkgc2hvdWxkIHRocm93Iik7Ci0gICAgfSk7Ci19LCAicG9zdE1lc3NhZ2UoKSBvbiBD
cm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0
bWVzc2FnZScgYnV0IGN1cnJlbnQgd2luZG93IGhhcyAnZGVueScgb3B0aW9uIik7Ci0KLXByb21p
c2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgiY3Jvc3Mtb3Jp
Z2luLW9wdGlvbnMtYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sIiwgdHJ1ZSAvKiBpc0Nyb3Nz
T3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiU2Vj
dXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyByZXN1bHQud2luZG93Lmxlbmd0aCB9LCAibGVuZ3Ro
IHByb3BlcnR5IGFjY2VzcyIpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9y
IiwgZnVuY3Rpb24oKSB7IHJlc3VsdC53aW5kb3cucG9zdE1lc3NhZ2UoIlBJTkciLCAiKiIpOyB9
LCAiQ2FsbGluZyBwb3N0TWVzc2FnZSgpIHNob3VsZCB0aHJvdyIpOwotICAgIH0pOwotfSwgInBv
c3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRp
b25zOiBhbGxvdy1wb3N0bWVzc2FnZScgYnV0IGN1cnJlbnQgd2luZG93IGhhcyAnZGVueScgb3B0
aW9uIik7Ci0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJv
bS1kZW55Lmh0bWwuaGVhZGVycyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1v
cHRpb25zL2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1sLmhlYWRlcnMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmNTk2MzMyMDBhNWMxMjQ3MTE2YzA1OGY1NGZlN2Y1NjM1
OWUxNDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2Ut
ZnJvbS1kZW55Lmh0bWwuaGVhZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNyb3Nz
LU9yaWdpbi1PcHRpb25zOiBkZW55CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9j
cm9zcy1vcmlnaW4tb3B0aW9ucy9hbGxvdy1wb3N0bWVzc2FnZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjExZTU2Mjk2ZmRhYjgxYTJlMWY1YjEyOTQ1NGU3
ZjI1MGU1MmIzMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9hbGxvdy1wb3N0bWVz
c2FnZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPHRpdGxlPlRlc3RzIHRo
YXQgcG9zdE1lc3NhZ2UoKSB3b3JrcyB3aGVuICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ct
cG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIGlzIHNlcnZlZDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi91dGlscy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZv
LnN1Yi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aElmcmFtZSgiY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtYWxs
b3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVu
KChmKSA9PiB7Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAg
ICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IChtc2cpID0+IHsKLSAgICAgICAgICAgICAgICB3
aW5kb3cub25tZXNzYWdlID0gbnVsbDsKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1z
Zy5kYXRhLCAiUE9ORyIpOwotICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobXNnLnNvdXJj
ZSwgZi5jb250ZW50V2luZG93KTsKLSAgICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAg
ICAgICB9OwotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0
aW9uKCkgeyBmLmNvbnRlbnRXaW5kb3cubGVuZ3RoIH0sICJsZW5ndGggcHJvcGVydHkgYWNjZXNz
Iik7Ci0gICAgICAgICAgICBmLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoIlBJTkciLCAiKiIp
OwotICAgICAgICB9KTsKLSAgICB9KTsKLX0sICJwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdp
biBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBI
VFRQIGhlYWRlciIpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVy
biB3aXRoUG9wdXAoImNyb3NzLW9yaWdpbi1vcHRpb25zLWFsbG93LXBvc3RtZXNzYWdlLXBvbmcu
aHRtbCIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7Ci0gICAg
ICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2luZG93
Lm9ubWVzc2FnZSA9IChtc2cpID0+IHsKLSAgICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdl
ID0gbnVsbDsKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1zZy5kYXRhLCAiUE9ORyIp
OwotICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobXNnLnNvdXJjZSwgcmVzdWx0LndpbmRv
dyk7Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgfTsKLSAgICAgICAg
ICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgcmVzdWx0Lndp
bmRvdy5sZW5ndGggfSwgImxlbmd0aCBwcm9wZXJ0eSBhY2Nlc3MiKTsKLSAgICAgICAgICAgIHJl
c3VsdC53aW5kb3cucG9zdE1lc3NhZ2UoIlBJTkciLCAiKiIpOwotICAgICAgICB9KTsKLSAgICB9
KTsKLX0sICJwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1P
cmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIik7Ci0KLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y3Jvc3Mtb3JpZ2luLW9wdGlvbnMvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL2Nyb3NzLW9y
aWdpbi1vcHRpb25zLWhlYWRlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGEwM2IxMjhlYWRmZTNiYzZiZDk5OGViNjEzM2ZlODgyYThhZjhlNTUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLSAgCi0KLVBBU1MgQ3Jvc3Mt
b3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueScgSFRUUCBoZWFk
ZXIgCi1QQVNTIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6
IGFsbG93LXBvc3RtZXNzYWdlJyBIVFRQIGhlYWRlciAKLVBBU1MgQ3Jvc3Mtb3JpZ2luIGlmcmFt
ZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxMb1ctcG9zdE1lc3NBZ0UnIEhUVFAgaGVh
ZGVyIChtaXhlZCBjYXNlKSAKLVBBU1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1P
cmlnaW4tT3B0aW9uczogZGVueSxhbGxvdycgSFRUUCBoZWFkZXIgKG11bHRpcGxlIHZhbHVlcyBp
cyBpbnZhbGlkKSAKLVBBU1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4t
T3B0aW9uczonIEhUVFAgaGVhZGVyIChlbXB0eSB2YWx1ZSkgCi1QQVNTIENyb3NzLW9yaWdpbiBp
ZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93JyBIVFRQIGhlYWRlciAKLVBB
U1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogaW52YWxp
ZCcgSFRUUCBoZWFkZXIgCi1QQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1Pcmln
aW4tT3B0aW9uczogZGVueScgSFRUUCBoZWFkZXIgCi1QQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB3
aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVy
IAotUEFTUyBTYW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFs
bG93JyBIVFRQIGhlYWRlciAKLVBBU1MgU2FtZS1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9y
aWdpbi1PcHRpb25zOiBpbnZhbGlkJyBIVFRQIGhlYWRlciAKLVBBU1MgQ3Jvc3Mtb3JpZ2luIHBv
cHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55JyBIVFRQIGhlYWRlciAKLVBBU1Mg
Q3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0
bWVzc2FnZScgSFRUUCBoZWFkZXIgCi1QQVNTIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9z
cy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIEhUVFAgaGVhZGVyIAotUEFTUyBDcm9zcy1vcmlnaW4g
cG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGludmFsaWQnIEhUVFAgaGVhZGVyIAot
UEFTUyBTYW1lLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueScg
SFRUUCBoZWFkZXIgCi1QQVNTIFNhbWUtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1P
cHRpb25zOiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIgCi1QQVNTIFNhbWUtb3JpZ2lu
IHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdycgSFRUUCBoZWFkZXIgCi1Q
QVNTIFNhbWUtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBpbnZhbGlk
JyBIVFRQIGhlYWRlciAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mt
b3JpZ2luLW9wdGlvbnMvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1o
ZWFkZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmZhZDNiMzQxZmI3MmJk
NGVhOTUwMGY3YmQ0NjA0Zjg5MDgwNDk2Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9u
cy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE5
OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Ci08dGl0bGU+QmFzaWMgdGVzdGluZyBmb3IgQ3Jvc3MtT3JpZ2luLU9wdGlvbnMg
SFRUUCBoZWFkZXI8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9InJlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxzY3JpcHQ+Ci0KLS8vIFRlc3QgZnJhbWUgaGFzIGEgc3ViZnJhbWUgc28gd2UgZXhwZWN0IGFu
IGluZGV4ZWQgcHJvcGVydHkgd2l0aCBpbmRleCAwLgotY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVz
LnB1c2goJzAnKTsKLQotZnVuY3Rpb24gY2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KQotewot
ICAgIGFzc2VydF9lcXVhbHMody5wYXJlbnQsIHdpbmRvdywgIidwYXJlbnQnIHByb3BlcnR5IHZh
bHVlIik7Ci0gICAgYXNzZXJ0X2VxdWFscyh3LnRvcCwgd2luZG93LCAiJ3RvcCcgcHJvcGVydHkg
dmFsdWUiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHcub3BlbmVyLCBudWxsLCAiJ29wZW5lcicgcHJv
cGVydHkgdmFsdWUiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHcubGVuZ3RoLCAxLCAiJ2xlbmd0aCcg
cHJvcGVydHkgdmFsdWUiKTsKLSAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3
WzBdOyB9LCAiU3ViZnJhbWUgYWNjZXNzIHZpYSBpbmRleCIpOwotICAgIGFzc2VydF9lcXVhbHMo
d1snc3ViZnJhbWUnXSwgd1swXSwgIlN1YmZyYW1lIGFjY2VzcyBieSBuYW1lIik7Ci19Ci0KLWZ1
bmN0aW9uIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KQotewotICAgIGFzc2VydF9lcXVhbHMo
dy5wYXJlbnQsIHcsICIncGFyZW50JyBwcm9wZXJ0eSB2YWx1ZSIpOwotICAgIGFzc2VydF9lcXVh
bHMody50b3AsIHcsICIndG9wJyBwcm9wZXJ0eSB2YWx1ZSIpOwotICAgIGFzc2VydF9lcXVhbHMo
dy5vcGVuZXIsIHdpbmRvdywgIidvcGVuZXInIHByb3BlcnR5IHZhbHVlIik7Ci0gICAgYXNzZXJ0
X2VxdWFscyh3Lmxlbmd0aCwgMSwgIidsZW5ndGgnIHByb3BlcnR5IHZhbHVlIik7Ci0gICAgYXNz
ZXJ0X25vdF90aHJvd2luZyhmdW5jdGlvbigpIHsgd1swXTsgfSwgIlN1YmZyYW1lIGFjY2VzcyB2
aWEgaW5kZXgiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHdbJ3N1YmZyYW1lJ10sIHdbMF0sICJTdWJm
cmFtZSBhY2Nlc3MgYnkgbmFtZSIpOwotfQotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkg
ewotICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFk
ZXIucHk/dmFsdWU9ZGVueSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4g
ewotICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24oZi5jb250ZW50V2luZG93LCAiZGVueSIs
IHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0gICAgfSk7Ci19LCAiQ3Jvc3Mtb3JpZ2luIGlm
cmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueScgSFRUUCBoZWFkZXIiKTsKLQot
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aElmcmFtZSgic2Vy
dmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdl
IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7Ci0gICAgICAgIHRlc3RD
cm9zc09yaWdpbk9wdGlvbihmLmNvbnRlbnRXaW5kb3csICJhbGxvdy1wb3N0bWVzc2FnZSIsIHRy
dWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0gICAgfSk7Ci19LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFt
ZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVh
ZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhJ
ZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weT92YWx1ZT1hbExvVy1w
b3N0TWVzc0FnRSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4gewotICAg
ICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24oZi5jb250ZW50V2luZG93LCAiYWxsb3ctcG9zdG1l
c3NhZ2UiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwotICAgIH0pOwotfSwgIkNyb3NzLW9y
aWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsTG9XLXBvc3RNZXNzQWdF
JyBIVFRQIGhlYWRlciAobWl4ZWQgY2FzZSkiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRl
c3QpIHsKLSAgICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMt
aGVhZGVyLnB5P3ZhbHVlPWRlbnksYWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRo
ZW4oKGYpID0+IHsKLSAgICAgICAgY29uc3QgdyA9IGYuY29udGVudFdpbmRvdzsKLSAgICAgICAg
Ly8gSW52YWxpZCBpbnB1dDogc2hvdWxkIGJlIHRyZWF0ZWQgYXMgImFsbG93Ii4KLSAgICAgICAg
dGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAq
Lyk7Ci0KLSAgICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0s
ICJDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55LGFs
bG93JyBIVFRQIGhlYWRlciAobXVsdGlwbGUgdmFsdWVzIGlzIGludmFsaWQpIik7Ci0KLXByb21p
c2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZlLWNy
b3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weT92YWx1ZT0iLCB0cnVlIC8qIGlzQ3Jvc3NPcmln
aW4gKi8pLnRoZW4oKGYpID0+IHsKLSAgICAgICAgY29uc3QgdyA9IGYuY29udGVudFdpbmRvdzsK
LSAgICAgICAgLy8gRW1wdHkgdmFsdWU6IHNob3VsZCBiZSB0cmVhdGVkIGFzICJhbGxvdyIuCi0g
ICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NP
cmlnaW4gKi8pOwotCi0gICAgICAgIGNoZWNrSWZyYW1lUHJvcGVydHlWYWx1ZXModyk7Ci0gICAg
fSk7Ci19LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczon
IEhUVFAgaGVhZGVyIChlbXB0eSB2YWx1ZSkiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRl
c3QpIHsKLSAgICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMt
aGVhZGVyLnB5P3ZhbHVlPWFsbG93IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChm
KSA9PiB7Ci0gICAgICAgIGNvbnN0IHcgPSBmLmNvbnRlbnRXaW5kb3c7Ci0gICAgICAgIHRlc3RD
cm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwot
Ci0gICAgICAgIGNoZWNrSWZyYW1lUHJvcGVydHlWYWx1ZXModyk7Ci0gICAgfSk7Ci19LCAiQ3Jv
c3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIEhUVFAg
aGVhZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdp
dGhJZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weT92YWx1ZT1pbnZh
bGlkIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7Ci0gICAgICAgIGNv
bnN0IHcgPSBmLmNvbnRlbnRXaW5kb3c7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3
LCAiYWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwotICAgICAgICAKLSAgICAgICAg
Y2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJDcm9zcy1vcmlnaW4g
aWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBpbnZhbGlkJyBIVFRQIGhlYWRlciIp
OwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1l
KCJzZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9ZGVueSIsIGZhbHNl
IC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKLSAgICAgICAgIGNvbnN0IHcgPSBm
LmNvbnRlbnRXaW5kb3c7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiZGVueSIs
IGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwotCi0gICAgICAgIGNoZWNrSWZyYW1lUHJvcGVy
dHlWYWx1ZXModyk7Ci0gICAgfSk7Ci19LCAiU2FtZS1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3Nz
LU9yaWdpbi1PcHRpb25zOiBkZW55JyBIVFRQIGhlYWRlciIpOwotCi1wcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4t
b3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UiLCBmYWxzZSAvKiBpc0Ny
b3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7Ci0gICAgICAgICBjb25zdCB3ID0gZi5jb250ZW50
V2luZG93OwotICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgImFsbG93LXBvc3RtZXNz
YWdlIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hlY2tJZnJhbWVQ
cm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJTYW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAn
Q3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBIVFRQIGhlYWRlciIpOwot
Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1lKCJz
ZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9YWxsb3ciLCBmYWxzZSAv
KiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7Ci0gICAgICAgICBjb25zdCB3ID0gZi5j
b250ZW50V2luZG93OwotICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgImFsbG93Iiwg
ZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0
eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJTYW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3Mt
T3JpZ2luLU9wdGlvbnM6IGFsbG93JyBIVFRQIGhlYWRlciIpOwotCi1wcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4t
b3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9aW52YWxpZCIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4g
Ki8pLnRoZW4oKGYpID0+IHsKLSAgICAgICAgIGNvbnN0IHcgPSBmLmNvbnRlbnRXaW5kb3c7Ci0g
ICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCBmYWxzZSAvKiBpc0Nyb3Nz
T3JpZ2luICovKTsKLQotICAgICAgICBjaGVja0lmcmFtZVByb3BlcnR5VmFsdWVzKHcpOwotICAg
IH0pOwotfSwgIlNhbWUtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczog
aW52YWxpZCcgSFRUUCBoZWFkZXIiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsK
LSAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIu
cHk/dmFsdWU9ZGVueSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9
PiB7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbihyZXN1bHQud2luZG93LCAiZGVueSIs
IHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0gICAgfSk7Ci19LCAiQ3Jvc3Mtb3JpZ2luIHBv
cHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55JyBIVFRQIGhlYWRlciIpOwotCi1w
cm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoUG9wdXAoInNlcnZl
LWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSIs
IHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHRl
c3RDcm9zc09yaWdpbk9wdGlvbihyZXN1bHQud2luZG93LCAiYWxsb3ctcG9zdG1lc3NhZ2UiLCB0
cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwotICAgIH0pOwotfSwgIkNyb3NzLW9yaWdpbiBwb3B1
cCB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVh
ZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhQ
b3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWFsbG93Iiwg
dHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgY29u
c3QgdyA9IHJlc3VsdC53aW5kb3c7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAi
YWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwotCi0gICAgICAgIGNoZWNrUG9wdXBQ
cm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAn
Q3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93JyBIVFRQIGhlYWRlciIpOwotCi1wcm9taXNlX3Rl
c3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoUG9wdXAoInNlcnZlLWNyb3NzLW9y
aWdpbi1vcHRpb25zLWhlYWRlci5weT92YWx1ZT1pbnZhbGlkIiwgdHJ1ZSAvKiBpc0Nyb3NzT3Jp
Z2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgY29uc3QgdyA9IHJlc3VsdC53aW5k
b3c7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCB0cnVlIC8qIGlz
Q3Jvc3NPcmlnaW4gKi8pOwotCi0gICAgICAgIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KTsK
LSAgICB9KTsKLX0sICJDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlv
bnM6IGludmFsaWQnIEhUVFAgaGVhZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0
KSB7Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVh
ZGVyLnB5P3ZhbHVlPWRlbnkiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1
bHQpID0+IHsKLSAgICAgICAgIGNvbnN0IHcgPSByZXN1bHQud2luZG93OwotICAgICAgICB0ZXN0
Q3Jvc3NPcmlnaW5PcHRpb24odywgImRlbnkiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsK
LQotICAgICAgICBjaGVja1BvcHVwUHJvcGVydHlWYWx1ZXModyk7Ci0gICAgfSk7Ci19LCAiU2Ft
ZS1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGRlbnknIEhUVFAgaGVh
ZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhQ
b3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWFsbG93LXBv
c3RtZXNzYWdlIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7
Ci0gICAgICAgICBjb25zdCB3ID0gcmVzdWx0LndpbmRvdzsKLSAgICAgICAgdGVzdENyb3NzT3Jp
Z2luT3B0aW9uKHcsICJhbGxvdy1wb3N0bWVzc2FnZSIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4g
Ki8pOwotCi0gICAgICAgIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0s
ICJTYW1lLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9z
dG1lc3NhZ2UnIEhUVFAgaGVhZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7
Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVy
LnB5P3ZhbHVlPWFsbG93IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0
KSA9PiB7Ci0gICAgICAgICBjb25zdCB3ID0gcmVzdWx0LndpbmRvdzsKLSAgICAgICAgdGVzdENy
b3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwot
Ci0gICAgICAgIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJTYW1l
LW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIEhUVFAgaGVh
ZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhQ
b3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWludmFsaWQi
LCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAg
IGNvbnN0IHcgPSByZXN1bHQud2luZG93OwotICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24o
dywgImFsbG93IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hlY2tQ
b3B1cFByb3BlcnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwgIlNhbWUtb3JpZ2luIHBvcHVwIHdp
dGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBpbnZhbGlkJyBIVFRQIGhlYWRlciIpOwotCi08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFy
Z2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRp
b25zL25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0LWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM4ZjkwMDA3YWU0MDBlNmY0ZTczOWFhN2Vm
MzBmYjFiMjIxMzkwOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9u
LWZyb20tb3BlbmVyLXZpYS1vcGVuLXRhcmdldC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogVW5zYWZlIEphdmFTY3Jp
cHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0
cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMv
c2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWRlbnknIGZyb20gZnJh
bWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9w
dGlvbnMvbmF2aWdhdGlvbi1mcm9tLW9wZW5lci12aWEtb3Blbi10YXJnZXQuaHRtbCcuIE5hdmln
YXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIu
Ci0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0NDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0
byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAu
MTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvc2VydmUtY3Jvc3Mt
b3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJyBmcm9tIGZy
YW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1v
cHRpb25zL25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWwnLiBOYXZp
Z2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVy
LgotCi0KLVBBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0
aW9uIGZyb20gb3BlbmVyIHZpYSBvcGVuKCkgdGFyZ2V0IAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9w
dGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gb3BlbmVy
IHZpYSBvcGVuKCkgdGFyZ2V0IAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93JyBk
b2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBvcGVuZXIgdmlhIG9wZW4oKSB0YXJnZXQg
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25z
L25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9uLWZyb20tb3BlbmVyLXZp
YS1vcGVuLXRhcmdldC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTgzYmQ3
NGY3NWEwMjRlOWIwMTNhNTg1NWVkOWZjOTI5M2MyMWMwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdp
bi1vcHRpb25zL25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08dGl0bGU+VGVzdHMgdGhhdCAnQ3Jvc3MtT3Jp
Z2luLU9wdGlvbnM6IGRlbnkgLyBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMgYSBjcm9zcy1v
cmlnaW4gb3BlbmVyIGZyb20gbmF2aWdhdGluZyB1czwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi91
dGlscy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1
Yi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICAg
IHJldHVybiB3aXRoUG9wdXAoInNlcnZlLWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weT92
YWx1ZT1kZW55IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovLCAiZm9vMSIpLnRoZW4oKHJlc3Vs
dCkgPT4gewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAg
ICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAobXNnKSA9PiB7Ci0gICAgICAgICAgICAgICAgYXNz
ZXJ0X25vdF9lcXVhbHMobXNnLnNvdXJjZSwgcmVzdWx0LndpbmRvdywgIkV4aXN0aW5nIHdpbmRv
dyBzaG91bGQgbm90IG5hdmlnYXRlIik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGxl
dCBkZXN0aW5hdGlvblVSTCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX09SSUdJTiArICIvV2ViS2l0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1sIjsKLSAgICAg
ICAgICAgIHcgPSBvcGVuKGRlc3RpbmF0aW9uVVJMLCAiZm9vMSIpOwotICAgICAgICAgICAgLy8g
SWYgYSB3aW5kb3cgd2l0aCB0aGUgZ2l2ZW4gbmFtZSBpcyBmb3VuZCBidXQgY2Fubm90IGJlIG5h
dmlnYXRlZCwgYSBuZXcgb25lIGlzIGNyZWF0ZWQsIGFzIGlmIHdlIGNvdWxkCi0gICAgICAgICAg
ICAvLyBub3QgZmluZCB0aGUgZ2l2ZW4gd2luZG93LgotICAgICAgICAgICAgYXNzZXJ0X25vdF9l
cXVhbHModywgcmVzdWx0LndpbmRvdywgIm9wZW4oKSBzaG91bGQgYSBuZXcgd2luZG93Iik7Ci0K
LSAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKLSAgICAgICAgICAgICAgIHdpbmRv
dy5vbm1lc3NhZ2UgPSBudWxsOwotICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAg
ICAgfSwgMjAwKTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19LCAiJ0Nyb3NzLU9yaWdpbi1PcHRp
b25zOiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gb3BlbmVyIHZpYSBvcGVuKCkgdGFy
Z2V0Iik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2
ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2Ui
LCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8sICJmb28yIikudGhlbigocmVzdWx0KSA9PiB7Ci0g
ICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2lu
ZG93Lm9ubWVzc2FnZSA9IChtc2cpID0+IHsKLSAgICAgICAgICAgICAgICBhc3NlcnRfbm90X2Vx
dWFscyhtc2cuc291cmNlLCByZXN1bHQud2luZG93LCAiRXhpc3Rpbmcgd2luZG93IHNob3VsZCBu
b3QgbmF2aWdhdGUiKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgbGV0IGRlc3RpbmF0
aW9uVVJMID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBfT1JJR0lOICsgIi9XZWJLaXQvY3Jvc3Mtb3Jp
Z2luLW9wdGlvbnMvcmVzb3VyY2VzL2Rlc3RpbmF0aW9uLmh0bWwiOwotICAgICAgICAgICAgdyA9
IG9wZW4oZGVzdGluYXRpb25VUkwsICJmb28yIik7Ci0gICAgICAgICAgICAvLyBJZiBhIHdpbmRv
dyB3aXRoIHRoZSBnaXZlbiBuYW1lIGlzIGZvdW5kIGJ1dCBjYW5ub3QgYmUgbmF2aWdhdGVkLCBh
IG5ldyBvbmUgaXMgY3JlYXRlZCwgYXMgaWYgd2UgY291bGQKLSAgICAgICAgICAgIC8vIG5vdCBm
aW5kIHRoZSBnaXZlbiB3aW5kb3cuCi0gICAgICAgICAgICBhc3NlcnRfbm90X2VxdWFscyh3LCBy
ZXN1bHQud2luZG93LCAib3BlbigpIHNob3VsZCBhIG5ldyB3aW5kb3ciKTsKLQotICAgICAgICAg
ICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4gewotICAgICAgICAgICAgICAgd2luZG93Lm9ubWVzc2Fn
ZSA9IG51bGw7Ci0gICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9LCAyMDAp
OwotICAgICAgICB9KTsKLSAgICB9KTsKLX0sICInQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93
LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gb3BlbmVyIHZpYSBvcGVuKCkg
dGFyZ2V0Iik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJz
ZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9YWxsb3ciLCB0cnVlIC8q
IGlzQ3Jvc3NPcmlnaW4gKi8sICJmb28zIikudGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2luZG93Lm9ubWVz
c2FnZSA9ICgpID0+IHsKLSAgICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsK
LSAgICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IGxldCBkZXN0aW5hdGlvblVSTCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX09SSUdJTiArICIvV2Vi
S2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1sIjsKLSAg
ICAgICAgICAgIHcgPSBvcGVuKGRlc3RpbmF0aW9uVVJMLCAiZm9vMyIpOwotICAgICAgICAgICAg
YXNzZXJ0X2VxdWFscyh3LCByZXN1bHQud2luZG93LCAib3BlbigpIHNob3VsZCByZXR1cm4gdGhl
IHNhbWUgd2luZG93Iik7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgIidDcm9zcy1PcmlnaW4t
T3B0aW9uczogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIG9wZW5lciB2
aWEgb3BlbigpIHRhcmdldCIpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9u
LWZyb20tc3ViZnJhbWUtdmlhLWFuY2hvci10YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1l
LXZpYS1hbmNob3ItdGFyZ2V0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNzliNDkwNDNiNzM3ZWExZWY3MmI2MzUwNzc4MmRjMDkzOThiYmE5My4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFuY2hv
ci10YXJnZXQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRp
YXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAv
V2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3Vi
ZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3RvcCcgZnJvbSBmcmFtZSB3aXRoIFVS
TCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNv
dXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmln
YXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIu
Ci0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0
byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9z
dDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1m
cm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PV90b3AnIGZyb20gZnJhbWUg
d2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlv
bnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV90b3An
LiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMg
aGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0
dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9s
b2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmln
YXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0YXJn
ZXQ9X3RvcCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktp
dC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNo
b3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBD
cm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDog
VW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFt
ZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0
aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFs
bG93LXBvc3RtZXNzYWdlJnRhcmdldD1fdG9wJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8v
MTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZp
Z2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fdG9wJy4gTmF2aWdhdGlvbiB3YXMg
bm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4KLQotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRl
IG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2Vi
S2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJh
bWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVS
TCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNv
dXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5h
dmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFk
ZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1w
dCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2Fs
aG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlv
bi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PV9wYXJlbnQnIGZyb20g
ZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2lu
LW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0
PV9wYXJlbnQnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2lu
LU9wdGlvbnMgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZh
U2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwg
J2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3Vy
Y2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVz
c2FnZSZ0YXJnZXQ9X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAu
MTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFy
ZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5hdmlnYXRpb24gd2FzIG5vdCBh
bGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZp
Z2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9j
cm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZy
YW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fcGFyZW50JyBmcm9tIGZyYW1l
IHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRp
b25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fcGFy
ZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRp
b25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlw
dCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRw
Oi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9u
YXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9Zm9vMScg
ZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1v
cmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90
YXJnZXQ9Zm9vMScuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1Pcmln
aW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEph
dmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVS
TCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNv
dXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0
PWZvbzEnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQv
Y3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9y
Lmh0bWw/dGFyZ2V0PWZvbzEnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jv
c3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVu
c2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUg
d2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlv
bnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxv
dy1wb3N0bWVzc2FnZSZ0YXJnZXQ9Zm9vMicgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEy
Ny4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdh
dGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9Zm9vMicuIE5hdmlnYXRpb24gd2FzIG5v
dCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBu
YXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktp
dC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1l
LWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1mb28yJyBmcm9tIGZyYW1l
IHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRp
b25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1mb28y
Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25z
IGhlYWRlci4KLQotCi1QQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueScgcHJldmVudHMg
bmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1f
dG9wPikgCi1QQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIHBy
ZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0
YXJnZXQ9X3RvcD4pIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93JyBkb2VzIG5v
dCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8
YSB0YXJnZXQ9X3RvcD4pIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGRlbnknIHByZXZl
bnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJn
ZXQ9X3BhcmVudD4pIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNz
YWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNp
bmcgPGEgdGFyZ2V0PV9wYXJlbnQ+KSAKLVBBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxv
dycgZG9lcyBub3QgcHJldmVudCBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFt
ZSAodXNpbmcgPGEgdGFyZ2V0PV9wYXJlbnQ+KSAKLVBBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25z
OiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAo
dXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWUpIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6
IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2lu
IHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWUpIAotUEFTUyAnQ3Jvc3MtT3Jp
Z2luLU9wdGlvbnM6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBjcm9z
cy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZT4pIAotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0
aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFuY2hvci10YXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEt
YW5jaG9yLXRhcmdldC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyM2NlNTYw
NWJhMTU0MjM2ZWNiOTYwN2RkNjY1MzU4YTNhMzE4NTFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdp
bi1vcHRpb25zL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTE5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTx0aXRsZT5UZXN0cyB0aGF0ICdDcm9z
cy1PcmlnaW4tT3B0aW9uczogZGVueSAvIGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBhIGNy
b3NzLW9yaWdpbiBpZnJhbWUgZnJvbSBuYXZpZ2F0aW5nIHVzPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWlu
Zm8uc3ViLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbHMuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotCi1wcm9taXNlX3Rlc3QodCA9PiB7
Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgibmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5
P3ZhbHVlPWRlbnkmdGFyZ2V0PV90b3AiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVu
KChyZXN1bHQpID0+IHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7
Ci0gICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gdC51bnJlYWNoZWRfZnVuYygiU2hvdWxk
IG5vdCBoYXZlIG5hdmlnYXRlZCIpOwotICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4g
ewotICAgICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IG51bGw7Ci0gICAgICAgICAgICAg
ICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9LCAyMDApOwotICAgICAgICB9KTsKLSAgICB9KTsK
LX0sICInQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJv
bSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3RvcD4pIik7Ci0KLXBy
b21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZpZ2F0aW9uLWZyb20t
c3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PV90b3AiLCBm
YWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgcmV0
dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cub25tZXNz
YWdlID0gdC51bnJlYWNoZWRfZnVuYygiU2hvdWxkIG5vdCBoYXZlIG5hdmlnYXRlZCIpOwotICAg
ICAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4gewotICAgICAgICAgICAgICAgd2luZG93Lm9u
bWVzc2FnZSA9IG51bGw7Ci0gICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9
LCAyMDApOwotICAgICAgICB9KTsKLSAgICB9KTsKLX0sICInQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6
IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2lu
IHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV90b3A+KSIpOwotCi1wcm9taXNlX3Rlc3QodCA9
PiB7Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgibmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1l
LnB5P3ZhbHVlPWFsbG93JnRhcmdldD1fdG9wIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyku
dGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkg
PT4gewotICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9ICgpID0+IHsKLSAgICAgICAgICAg
ICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9OwotICAgICAgICB9KTsKLSAgICB9KTsKLX0s
ICInQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRp
b24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3RvcD4pIik7
Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZpZ2F0aW9u
LWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3BhcmVudCIsIGZhbHNl
IC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4gewotICAgICAgICByZXR1cm4g
bmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2Ug
PSB0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQgbm90IGhhdmUgbmF2aWdhdGVkIik7Ci0gICAgICAg
ICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICAgICB3aW5kb3cub25tZXNz
YWdlID0gbnVsbDsKLSAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0sIDIw
MCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgIidDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVu
eScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5n
IDxhIHRhcmdldD1fcGFyZW50PikiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICAgIHJldHVy
biB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxv
dy1wb3N0bWVzc2FnZSZ0YXJnZXQ9X3BhcmVudCIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8p
LnRoZW4oKHJlc3VsdCkgPT4gewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUp
ID0+IHsKLSAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSB0LnVucmVhY2hlZF9mdW5jKCJT
aG91bGQgbm90IGhhdmUgbmF2aWdhdGVkIik7Ci0gICAgICAgICAgICB0LnN0ZXBfdGltZW91dCgo
KSA9PiB7Ci0gICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsKLSAgICAgICAg
ICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAgIH0pOwotICAg
IH0pOwotfSwgIidDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZl
bnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJn
ZXQ9X3BhcmVudD4pIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBv
cHVwKCJuYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3cmdGFyZ2V0
PV9wYXJlbnQiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsK
LSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB3
aW5kb3cub25tZXNzYWdlID0gKCkgPT4gewotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAg
ICAgICAgICAgIH07IAotICAgICAgICB9KTsKLSAgICB9KTsKLX0sICInQ3Jvc3MtT3JpZ2luLU9w
dGlvbnM6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmln
aW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3BhcmVudD4pIik7Ci0KLXByb21pc2VfdGVz
dCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUt
ZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9Zm9vMSIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4g
Ki8sICJmb28xIikudGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IHQudW5yZWFj
aGVkX2Z1bmMoIlNob3VsZCBub3QgaGF2ZSBuYXZpZ2F0ZWQiKTsKLSAgICAgICAgICAgIHQuc3Rl
cF90aW1lb3V0KCgpID0+IHsKLSAgICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxs
OwotICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgfSwgMjAwKTsKLSAgICAg
ICAgfSk7Ci0gICAgfSk7IAotfSwgIidDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueScgcHJldmVu
dHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdl
dD13aW5kb3dOYW1lKSIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gICAgcmV0dXJuIHdpdGhQ
b3B1cCgibmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3Rt
ZXNzYWdlJnRhcmdldD1mb28yIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLywgImZvbzIiKS50
aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9
PiB7Ci0gICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gdC51bnJlYWNoZWRfZnVuYygiU2hv
dWxkIG5vdCBoYXZlIG5hdmlnYXRlZCIpOwotICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkg
PT4gewotICAgICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IG51bGw7Ci0gICAgICAgICAg
ICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9LCAyMDApOwotICAgICAgICB9KTsKLSAgICB9
KTsKLX0sICInQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50
cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0
PXdpbmRvd05hbWUpIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBv
cHVwKCJuYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3cmdGFyZ2V0
PWZvbzMiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovLCAiZm9vMyIpLnRoZW4oKHJlc3VsdCkg
PT4gewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAg
ICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAoKSA9PiB7Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZSgp
OwotICAgICAgICAgICAgfTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19LCAiJ0Nyb3NzLU9yaWdp
bi1PcHRpb25zOiBhbGxvdycgZG9lcyBub3QgcHJldmVudCBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mt
b3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWU+KSIpOwotCi08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1hbGxv
dy1wb3N0bWVzc2FnZS1wb25nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmln
aW4tb3B0aW9ucy9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtYWxsb3ctcG9zdG1lc3Nh
Z2UtcG9uZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTY3ZGQ3ZjYwYzE0
ZDYyZmNkMTVhNmNhY2VhNjg3YjRkMGY1ODM2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRp
b25zL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1hbGxvdy1wb3N0bWVzc2FnZS1wb25n
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGJvZHk+Ci08c2NyaXB0PgotYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChtc2cp
ID0+IHsKLSAgICBpZiAoZXZlbnQuZGF0YSA9PT0gIlBJTkciKQotICAgICAgICBldmVudC5zb3Vy
Y2UucG9zdE1lc3NhZ2UoIlBPTkciLCAiKiIpOwotICAgIH0pOwotICAgIHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgKCkgPT4gewotICAgICAgICBjb25zdCBvd25lcldpbmRvdyA9IHdp
bmRvdy5vcGVuZXIgPyB3aW5kb3cub3BlbmVyIDogd2luZG93LnRvcDsKLSAgICAgICAgdHJ5IHsK
LSAgICAgICAgICAgIG93bmVyV2luZG93LnBvc3RNZXNzYWdlKCJSRUFEWSIsICIqIik7Ci0gICAg
ICAgIH0gY2F0Y2ggKGUpIHsgfQotICAgIH0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9y
ZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1s
LmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNv
dXJjZXMvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sLmhl
YWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNmYjEyYmIxMDYxYmQ1YTA5MTQ1
MGViZjExM2NjZWRlOTY3YTkzOTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVz
b3VyY2VzL2Nyb3NzLW9yaWdpbi1vcHRpb25zLWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbC5o
ZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6
IGFsbG93LXBvc3RtZXNzYWdlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9z
cy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvZGVzdGluYXRpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNTE2ODc3YjQ0OWFlY2FiZTVmODBmMWM0
YmJiNjg2MDJiYmEzMWU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNl
cy9kZXN0aW5hdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi08Ym9keT4K
LURFU1RJTkFUSU9OCi08c2NyaXB0PgotaWYgKHdpbmRvdy5vcGVuZXIpCi0gICAgd2luZG93Lm9w
ZW5lci5wb3N0TWVzc2FnZSgibmF2aWdhdGVkIiwgIioiKTsKLTwvc2NyaXB0PgotPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVz
b3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1h
bmNob3IuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTQwMzk5YmY4NjhlZmU0
NTUxNTFjYjc5YzBjODE5ZjVjMDAxYmZiMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9u
cy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDE4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPGEgaWQ9InRlc3RBbmNob3IiPkNsaWNrIG1lPC9hPgotPHNjcmlwdD4KLWNvbnN0
IFJFU09VUkNFU19ESVIgPSAiL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMv
IjsKLW9ubG9hZCA9ICgpID0+IHsKLSAgICBsZXQgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFt
cyhsb2NhdGlvbi5zZWFyY2gpOwotICAgIHRlc3RBbmNob3IudGFyZ2V0PSBwYXJhbXMuZ2V0KCd0
YXJnZXQnKQotICAgIHRlc3RBbmNob3IuaHJlZiA9IGdldF9ob3N0X2luZm8oKS5IVFRQX09SSUdJ
TiArIFJFU09VUkNFU19ESVIgKyAiZGVzdGluYXRpb24uaHRtbCI7Ci0gICAgdGVzdEFuY2hvci5j
bGljaygpOwotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlv
bi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3Jp
Z2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weQpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTg1NGM1OTAwZGYwNGVjOGQ5YWE5ZDZiMTMy
MmU4MzJiY2M4YjgzMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMv
bmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTcg
KzAsMCBAQAotZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIGhlYWRlcnMgPSBbKCJD
b250ZW50LVR5cGUiLCAidGV4dC9odG1sIiksCi0gICAgICAgICAgICAgICAoIkNyb3NzLU9yaWdp
bi1PcHRpb25zIiwgcmVxdWVzdC5HRVRbJ3ZhbHVlJ10pLF0KLSAgICByZXR1cm4gMjAwLCBoZWFk
ZXJzLCAiIiI8IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxz
Y3JpcHQ+Ci1jb25zdCBSRVNPVVJDRVNfRElSID0gIi9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlv
bnMvcmVzb3VyY2VzLyI7Ci1sZXQgZiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIp
OwotZi5zcmMgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsgUkVTT1VSQ0VT
X0RJUiArICJuYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD0lcyI7Ci1kb2N1
bWVudC5ib2R5LnByZXBlbmQoZik7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4iIiIgJSBy
ZXF1ZXN0LkdFVFsndGFyZ2V0J10KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Ny
b3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9zZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1o
ZWFkZXIucHkgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNv
dXJjZXMvc2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBlYTkwNjU1YWRjMzFiNTNiZGNlNjJhYTgyNDUzNmJjOTk3MTI2MjM1
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9zZXJ2ZS1jcm9zcy1v
cmlnaW4tb3B0aW9ucy1oZWFkZXIucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1k
ZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlw
ZSIsICJ0ZXh0L2h0bWwiKSwKLSAgICAgICAgICAgICAgICgiQ3Jvc3MtT3JpZ2luLU9wdGlvbnMi
LCByZXF1ZXN0LkdFVFsndmFsdWUnXSksXQotICAgIHJldHVybiAyMDAsIGhlYWRlcnMsICIiIlRF
U1QKLSAgICAgICAgPGlmcmFtZSBuYW1lPSJzdWJmcmFtZSI+PC9pZnJhbWU+Ci0gICAgICAgIDxz
Y3JpcHQ+Ci0gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+
IHsKLSAgICAgICAgICAgICAgICBjb25zdCBvd25lcldpbmRvdyA9IHdpbmRvdy5vcGVuZXIgPyB3
aW5kb3cub3BlbmVyIDogd2luZG93LnRvcDsKLSAgICAgICAgICAgICAgICB0cnkgewotICAgICAg
ICAgICAgICAgICAgICBvd25lcldpbmRvdy5wb3N0TWVzc2FnZSgiUkVBRFkiLCAiKiIpOwotICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsgfQotICAgICAgICAgICAgfSk7Ci0gICAgICAgIDwv
c2NyaXB0PgotICAgICIiIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mt
b3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL3V0aWxzLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL3V0aWxzLmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBiZGZkNjZlNzVkYWMxNDMyMjRkYjk3OWIxMzkyZWZkNjk4NjFjYjU3Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy91dGlscy5qcworKysgL2Rl
di9udWxsCkBAIC0xLDE1MCArMCwwIEBACi1jb25zdCBSRVNPVVJDRVNfRElSID0gIi9XZWJLaXQv
Y3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzLyI7Ci0KLWZ1bmN0aW9uIGlzQ3Jvc3NPcmln
aW5XaW5kb3codykKLXsKLSAgICB0cnkgewotICAgICAgICB3Lm5hbWU7Ci0gICAgfSBjYXRjaCAo
ZSkgewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQot
Ci1hc3luYyBmdW5jdGlvbiB3YWl0Rm9yQ3Jvc3NPcmlnaW5Mb2FkKHcpCi17Ci0gICAgcmV0dXJu
IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdtZXNzYWdlJywgKG1zZykgPT4gewotICAgICAgICAgICAgaWYgKG1zZy5zb3VyY2UgIT0g
dyB8fCBtc2cuZGF0YSAhPSAiUkVBRFkiKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgbGV0IGhhbmRsZSA9IHNl
dEludGVydmFsKCgpID0+IHsKLSAgICAgICAgICAgIGlmIChpc0Nyb3NzT3JpZ2luV2luZG93KHcp
KSB7Ci0gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChoYW5kbGUpOwotICAgICAgICAgICAg
ICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIHcucG9zdE1lc3NhZ2U7Ci0gICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAgICAvLyBObyBwb2ludCBpbiB3
YWl0aW5nIGZvciAiUkVBRFkiIG1lc3NhZ2UgZnJvbSB3aW5kb3cgc2luY2UgcG9zdE1lc3NhZ2Ug
aXMKLSAgICAgICAgICAgICAgICAgICAgLy8gbm90IGF2YWlsYWJsZS4KLSAgICAgICAgICAgICAg
ICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfSwgNSk7Ci0gICAgfSk7Ci19Ci0KLWFzeW5jIGZ1bmN0aW9uIHdpdGhJZnJhbWUocmVzb3Vy
Y2VGaWxlLCBjcm9zc09yaWdpbikKLXsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUp
ID0+IHsKLSAgICAgICAgbGV0IHJlc291cmNlVVJMID0gY3Jvc3NPcmlnaW4gPyBnZXRfaG9zdF9p
bmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOIDogZ2V0X2hvc3RfaW5mbygpLkhUVFBfT1JJR0lOOwot
ICAgICAgICByZXNvdXJjZVVSTCArPSBSRVNPVVJDRVNfRElSOwotICAgICAgICByZXNvdXJjZVVS
TCArPSByZXNvdXJjZUZpbGU7Ci0gICAgICAgIGxldCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImlmcmFtZSIpOwotICAgICAgICBmcmFtZS5zcmMgPSByZXNvdXJjZVVSTDsKLSAgICAg
ICAgaWYgKGNyb3NzT3JpZ2luKSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGZyYW1lKTsKLSAgICAgICAgICAgIHdhaXRGb3JDcm9zc09yaWdpbkxvYWQoZnJhbWUuY29u
dGVudFdpbmRvdykudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZShmcmFtZSk7
Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZyYW1lLm9u
bG9hZCA9IGZ1bmN0aW9uKCkgeyByZXNvbHZlKGZyYW1lKTsgfTsKLSAgICAgICAgICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOwotICAgICAgICB9Ci0gICAgfSk7Ci19Ci0KLWFz
eW5jIGZ1bmN0aW9uIHdpdGhQb3B1cChyZXNvdXJjZUZpbGUsIGNyb3NzT3JpZ2luLCB3aW5kb3dO
YW1lKQotewotICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geyAKLSAgICAgICAg
bGV0IHJlc291cmNlVVJMID0gY3Jvc3NPcmlnaW4gPyBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1P
VEVfT1JJR0lOIDogZ2V0X2hvc3RfaW5mbygpLkhUVFBfT1JJR0lOOwotICAgICAgICByZXNvdXJj
ZVVSTCArPSBSRVNPVVJDRVNfRElSOwotICAgICAgICByZXNvdXJjZVVSTCArPSByZXNvdXJjZUZp
bGU7Ci0KLSAgICAgICAgbGV0IHcgPSBvcGVuKHJlc291cmNlVVJMLCB3aW5kb3dOYW1lKTsKLSAg
ICAgICAgaWYgKGNyb3NzT3JpZ2luKSB7Ci0gICAgICAgICAgICB3YWl0Rm9yQ3Jvc3NPcmlnaW5M
b2FkKHcpLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgICAgIHJlc29sdmUoeyAnd2luZG93Jzog
dyB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgdy5v
bmxvYWQgPSBmdW5jdGlvbigpIHsgcmVzb2x2ZSh7ICd3aW5kb3cnOiB3IH0pOyB9OwotICAgICAg
ICB9Ci0gICB9KTsKLX0KLQotY29uc3QgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVzID0gWyAnYmx1
cicsICdjbG9zZScsICdjbG9zZWQnLCAnZm9jdXMnLCAnZnJhbWVzJywgJ2xlbmd0aCcsICdsb2Nh
dGlvbicsICdvcGVuZXInLCAncGFyZW50JywgJ3Bvc3RNZXNzYWdlJywgJ3NlbGYnLCAndG9wJywg
J3dpbmRvdycgXTsKLWNvbnN0IGZvcmJpZGRlblByb3BlcnRpZXNDcm9zc09yaWdpbiA9IFsibmFt
ZSIsICJkb2N1bWVudCIsICJoaXN0b3J5IiwgImxvY2F0aW9uYmFyIiwgInN0YXR1cyIsICJmcmFt
ZUVsZW1lbnQiLCAibmF2aWdhdG9yIiwgImFsZXJ0IiwgImxvY2FsU3RvcmFnZSIsICJzZXNzaW9u
U3RvcmFnZSIsICJldmVudCIsICJmb28iLCAiYmFyIl07Ci0KLWZ1bmN0aW9uIGFzc2VydF9ub3Rf
dGhyb3dpbmcoZiwgbWVzc2FnZSkKLXsKLSAgICB0cnkgewotICAgICAgICBmKCk7Ci0gICAgfSBj
YXRjaCAoZSkgewotICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKG1lc3NhZ2UpOwotICAgIH0KLX0K
LQotZnVuY3Rpb24gY2hlY2tDcm9zc09yaWdpblByb3BlcnRpZXNBY2Nlc3ModykKLXsKLSAgICBm
b3IgKGxldCBjcm9zc09yaWdpblByb3BlcnR5TmFtZSBvZiBjcm9zc09yaWdpblByb3BlcnR5TmFt
ZXMpCi0gICAgICAgYXNzZXJ0X25vdF90aHJvd2luZyhmdW5jdGlvbigpIHsgd1tjcm9zc09yaWdp
blByb3BlcnR5TmFtZV07IH0sICJBY2Nlc3NpbmcgcHJvcGVydHkgJyIgKyBjcm9zc09yaWdpblBy
b3BlcnR5TmFtZSArIicgb24gV2luZG93IHNob3VsZCBub3QgdGhyb3ciKTsKLSAgIAotICAgIGFz
c2VydF9mYWxzZSh3LmNsb3NlZCwgIidjbG9zZWQnIHByb3BlcnR5IHZhbHVlIik7IAotICAgIGFz
c2VydF9lcXVhbHMody5mcmFtZXMsIHcsICInZnJhbWVzJyBwcm9wZXJ0eSB2YWx1ZSIpOwotICAg
IGFzc2VydF9lcXVhbHMody5zZWxmLCB3LCAiJ3NlbGYnIHByb3BlcnR5IHZhbHVlIik7Ci0gICAg
YXNzZXJ0X2VxdWFscyh3LndpbmRvdywgdywgIid3aW5kb3cnIHByb3BlcnR5IHZhbHVlIik7Ci0K
LSAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3LmJsdXIoKTsgfSwgIkNhbGxp
bmcgYmx1cigpIG9uIFdpbmRvdyBzaG91bGQgc2hvdWxkIHRocm93Iik7Ci0gICAgYXNzZXJ0X25v
dF90aHJvd2luZyhmdW5jdGlvbigpIHsgdy5mb2N1cygpOyB9LCAiQ2FsbGluZyBmb2N1cygpIG9u
IFdpbmRvdyBzaG91bGQgc2hvdWxkIHRocm93Iik7Ci0gICAgYXNzZXJ0X25vdF90aHJvd2luZyhm
dW5jdGlvbigpIHsgdy5wb3N0TWVzc2FnZSgndGVzdCcsICcqJyk7IH0sICJDYWxsaW5nIHBvc3RN
ZXNzYWdlKCkgb24gV2luZG93IHNob3VsZCBzaG91bGQgdGhyb3ciKTsKLX0KLQotZnVuY3Rpb24g
dGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsIGhlYWRlclZhbHVlLCBpc0Nyb3NzT3JpZ2luKQotewot
ICAgIGlmICghaXNDcm9zc09yaWdpbikgewotICAgICAgICBjaGVja0Nyb3NzT3JpZ2luUHJvcGVy
dGllc0FjY2Vzcyh3KTsKLSAgICAgICAgZm9yIChsZXQgZm9yYmlkZGVuUHJvcGVydHlDcm9zc09y
aWdpbiBvZiBmb3JiaWRkZW5Qcm9wZXJ0aWVzQ3Jvc3NPcmlnaW4pCi0gICAgICAgICAgICBhc3Nl
cnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyBldmFsKCJ3LiIgKyBmb3JiaWRkZW5Qcm9wZXJ0
eUNyb3NzT3JpZ2luKTsgfSwgIkFjY2Vzc2luZyBwcm9wZXJ0eSAnIiArIGZvcmJpZGRlblByb3Bl
cnR5Q3Jvc3NPcmlnaW4gKyAiJyBvbiBXaW5kb3cgc2hvdWxkIG5vdCB0aHJvdyIpOwotICAgICAg
ICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3LmZvbyA9IDE7IH0sICJTZXR0aW5n
IGV4cGFuZG8gcHJvcGVydHkgc2hvdWxkIG5vdCB0aHJvdyIpOwotICAgICAgICBhc3NlcnRfZXF1
YWxzKHcuZm9vLCAxLCAiZXhwYW5kbyBwcm9wZXJ0eSB2YWx1ZSIpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCi0gICAgLy8gQ3Jvc3Mtb3JpZ2luIGNhc2UuCi0gICAgZm9yIChsZXQgZm9yYmlk
ZGVuUHJvcGVydHlDcm9zc09yaWdpbiBvZiBmb3JiaWRkZW5Qcm9wZXJ0aWVzQ3Jvc3NPcmlnaW4p
IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBl
dmFsKCJ3LiIgKyBmb3JiaWRkZW5Qcm9wZXJ0eUNyb3NzT3JpZ2luKTsgfSwgIkFjY2Vzc2luZyBw
cm9wZXJ0eSAnIiArIGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NPcmlnaW4gKyAiJyBvbiBXaW5kb3cg
c2hvdWxkIHRocm93Iik7Ci0gICAgICAgIGxldCBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcih3aW5kb3csIGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NPcmlnaW4pOwotICAgICAg
ICBpZiAoZGVzYyAmJiBkZXNjLnZhbHVlKQotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2Vj
dXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBkZXNjLnZhbHVlLmNhbGwodyk7IH0sICJDYWxsaW5n
IGZ1bmN0aW9uICciICsgZm9yYmlkZGVuUHJvcGVydHlDcm9zc09yaWdpbiArICInIG9uIFdpbmRv
dyBzaG91bGQgdGhyb3cgKHVzaW5nIGdldHRlciBmcm9tIG90aGVyIHdpbmRvdykiKTsKLSAgICAg
ICAgZWxzZSBpZiAoZGVzYyAmJiBkZXNjLmdldCkKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3Mo
IlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVzYy5nZXQuY2FsbCh3KTsgfSwgIkFjY2Vz
c2luZyBwcm9wZXJ0eSAnIiArIGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NPcmlnaW4gKyAiJyBvbiBX
aW5kb3cgc2hvdWxkIHRocm93ICh1c2luZyBnZXR0ZXIgZnJvbSBvdGhlciB3aW5kb3cpIik7Ci0g
ICAgfQotICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgdy5m
b28gPSAxOyB9LCAiU2V0dGluZyBhbiBleHBhbmRvIHByb3BlcnR5IHNob3VsZCB0aHJvdyIpOwot
Ci0gICAgaWYgKGhlYWRlclZhbHVlID09ICJkZW55IiB8fCBoZWFkZXJWYWx1ZSA9PSAiYWxsb3ct
cG9zdG1lc3NhZ2UiKSB7Ci0gICAgICAgIGZvciAobGV0IGNyb3NzT3JpZ2luUHJvcGVydHlOYW1l
IG9mIGNyb3NzT3JpZ2luUHJvcGVydHlOYW1lcykgewotICAgICAgICAgICAgaWYgKGhlYWRlclZh
bHVlID09ICJhbGxvdy1wb3N0bWVzc2FnZSIgJiYgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWUgPT0g
InBvc3RNZXNzYWdlIikgewotICAgICAgICAgICAgICAgIGFzc2VydF9ub3RfdGhyb3dpbmcoZnVu
Y3Rpb24oKSB7IHdbY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVdOyB9LCAiQWNjZXNzaW5nIHByb3Bl
cnR5ICciICsgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWUgKyInIG9uIFdpbmRvdyBzaG91bGQgbm90
IHRocm93Iik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGFzc2VydF90
aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgd1tjcm9zc09yaWdpblByb3BlcnR5
TmFtZV07IH0sICJBY2Nlc3NpbmcgJyIgKyBjcm9zc09yaWdpblByb3BlcnR5TmFtZSArICInIHBy
b3BlcnR5Iik7Ci0KLSAgICAgICAgICAgICAgICBsZXQgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3Iod2luZG93LCBjcm9zc09yaWdpblByb3BlcnR5TmFtZSk7Ci0gICAgICAg
ICAgICAgICAgaWYgKGRlc2MgJiYgZGVzYy52YWx1ZSkKLSAgICAgICAgICAgICAgICAgICAgYXNz
ZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBkZXNjLnZhbHVlLmNhbGwo
dyk7IH0sICJDYWxsaW5nIGZ1bmN0aW9uICciICsgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWUgKyAi
JyBvbiBXaW5kb3cgc2hvdWxkIHRocm93ICh1c2luZyBnZXR0ZXIgZnJvbSBvdGhlciB3aW5kb3cp
Iik7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoZGVzYyAmJiBkZXNjLmdldCkKLSAgICAgICAg
ICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBk
ZXNjLmdldC5jYWxsKHcpOyB9LCAiQWNjZXNzaW5nIHByb3BlcnR5ICciICsgY3Jvc3NPcmlnaW5Q
cm9wZXJ0eU5hbWUgKyAiJyBvbiBXaW5kb3cgc2hvdWxkIHRocm93ICh1c2luZyBnZXR0ZXIgZnJv
bSBvdGhlciB3aW5kb3cpIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYg
KGhlYWRlclZhbHVlID09ICJhbGxvdy1wb3N0bWVzc2FnZSIpIHsKLSAgICAgICAgICAgIGFzc2Vy
dF9ub3RfdGhyb3dpbmcoZnVuY3Rpb24oKSB7IHcucG9zdE1lc3NhZ2UoJ3Rlc3QnLCAnKicpOyB9
LCAiQ2FsbGluZyBwb3N0TWVzc2FnZSgpIG9uIFdpbmRvdyBzaG91bGQgbm90IHRocm93Iik7Ci0g
ICAgICAgICAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3Bvc3RNZXNzYWdlJykudmFsdWUuY2FsbCh3LCAn
dGVzdCcsICcqJyk7IH0sICJDYWxsaW5nIHBvc3RNZXNzYWdlKCkgb24gV2luZG93IHNob3VsZCBu
b3QgdGhyb3cgKHVzaW5nIGdldHRlciBmcm9tIG90aGVyIHdpbmRvdykiKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMo
dykuc29ydCgpLCBoZWFkZXJWYWx1ZSA9PSAiYWxsb3ctcG9zdG1lc3NhZ2UiID8gWydwb3N0TWVz
c2FnZSddIDogW10sICJPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcygpIik7Ci0KLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmdldE93blBy
b3BlcnR5TmFtZXModykuc29ydCgpLCBjcm9zc09yaWdpblByb3BlcnR5TmFtZXMuc29ydCgpLCAi
T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoKSIpOwotICAgIGNoZWNrQ3Jvc3NPcmlnaW5Qcm9w
ZXJ0aWVzQWNjZXNzKHcpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jv
c3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9z
dG1lc3NhZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzYzZiZTdmY2FiMTA5OWJkODJhNWEw
ODU4MzMzZmFlYzZkZmQ4M2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2FnZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACisKKworUEFTUyBwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdp
biBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNz
YWdlJyBIVFRQIGhlYWRlciAKK1BBU1MgcG9zdE1lc3NhZ2UoKSBvbiBDcm9zcy1vcmlnaW4gcG9w
dXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBI
VFRQIGhlYWRlciAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3Jp
Z2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93
LXBvc3RtZXNzYWdlLWZyb20tZGVueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDEyYzk2OGE2
OTc3YjljMTMzYTQ5MDdlMDczZmMxZmYwM2IxMTMxYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93LXBvc3RtZXNz
YWdlLWZyb20tZGVueS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKKworUEFTUyBwb3N0
TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRv
dy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBidXQgY3VycmVudCB3aW5kb3cgaGFzICdkZW55
JyBvcHRpb24gCitQQVNTIHBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGgg
J0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgYnV0IGN1cnJl
bnQgd2luZG93IGhhcyAnZGVueScgb3B0aW9uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2FnZS1mcm9t
LWRlbnkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9s
aWN5L2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmNWZiNGI1
MjA1NjBjNzUzODQzNmJiMGRhZGM4ODBiYzBhMWE1MTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVz
c2FnZS1mcm9tLWRlbnkuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgY2FsbGlu
ZyBwb3N0TWVzc2FnZSgpIG9uIGEgd2luZG93IHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9s
aWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgZnJvbSBhIHdpbmRvdyB3aXRoICdDcm9zcy1PcmlnaW4t
V2luZG93LVBvbGljeTogZGVueSc8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAg
cmV0dXJuIHdpdGhJZnJhbWUoImNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3Rt
ZXNzYWdlLXBvbmcuaHRtbCIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4g
eworICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGYu
Y29udGVudFdpbmRvdy5sZW5ndGggfSwgImxlbmd0aCBwcm9wZXJ0eSBhY2Nlc3MiKTsKKyAgICAg
ICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBmLmNvbnRlbnRX
aW5kb3cucG9zdE1lc3NhZ2UoIlBJTkciLCAiKiIpOyB9LCAiQ2FsbGluZyBwb3N0TWVzc2FnZSgp
IHNob3VsZCB0aHJvdyIpOworICAgIH0pOworfSwgInBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3Jp
Z2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1l
c3NhZ2UnIGJ1dCBjdXJyZW50IHdpbmRvdyBoYXMgJ2RlbnknIG9wdGlvbiIpOworCitwcm9taXNl
X3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRoUG9wdXAoImNyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbCIsIHRydWUgLyogaXND
cm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7CisgICAgICAgIGFzc2VydF90aHJvd3Mo
IlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgcmVzdWx0LndpbmRvdy5sZW5ndGggfSwgImxl
bmd0aCBwcm9wZXJ0eSBhY2Nlc3MiKTsKKyAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlF
cnJvciIsIGZ1bmN0aW9uKCkgeyByZXN1bHQud2luZG93LnBvc3RNZXNzYWdlKCJQSU5HIiwgIioi
KTsgfSwgIkNhbGxpbmcgcG9zdE1lc3NhZ2UoKSBzaG91bGQgdGhyb3ciKTsKKyAgICB9KTsKK30s
ICJwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4t
V2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIGJ1dCBjdXJyZW50IHdpbmRvdyBoYXMg
J2RlbnknIG9wdGlvbiIpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93
LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1sLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2FnZS1mcm9tLWRlbnku
aHRtbC5oZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhMmQyNTZlMjZiYWFlMWYwZGUwOWVhYmY0MjAyZjU3
YWUyYTUwNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1v
cmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2FnZS1mcm9tLWRlbnkuaHRtbC5oZWFk
ZXJzCkBAIC0wLDAgKzEgQEAKK0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9h
bGxvdy1wb3N0bWVzc2FnZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTcyZWFh
MjQyZWJjZDg3ZjI5ZDUyY2EwMjU4MTFhMjZjNTIzM2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1l
c3NhZ2UuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgdGhhdCBwb3N0TWVzc2Fn
ZSgpIHdvcmtzIHdoZW4gJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0bWVzc2FnZScg
SFRUUCBoZWFkZXIgaXMgc2VydmVkPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0PgorCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAg
IHJldHVybiB3aXRoSWZyYW1lKCJjcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1hbGxvdy1wb3N0
bWVzc2FnZS1wb25nLmh0bWwiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+
IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgICAg
ICB3aW5kb3cub25tZXNzYWdlID0gKG1zZykgPT4geworICAgICAgICAgICAgICAgIHdpbmRvdy5v
bm1lc3NhZ2UgPSBudWxsOworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobXNnLmRhdGEs
ICJQT05HIik7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtc2cuc291cmNlLCBmLmNv
bnRlbnRXaW5kb3cpOworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgIH07
CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7
IGYuY29udGVudFdpbmRvdy5sZW5ndGggfSwgImxlbmd0aCBwcm9wZXJ0eSBhY2Nlc3MiKTsKKyAg
ICAgICAgICAgIGYuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgiUElORyIsICIqIik7CisgICAg
ICAgIH0pOworICAgIH0pOworfSwgInBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2luIGlmcmFt
ZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVh
ZGVyIik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhQ
b3B1cCgiY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5o
dG1sIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgICAgICB3aW5kb3cu
b25tZXNzYWdlID0gKG1zZykgPT4geworICAgICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2Ug
PSBudWxsOworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobXNnLmRhdGEsICJQT05HIik7
CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtc2cuc291cmNlLCByZXN1bHQud2luZG93
KTsKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9OworICAgICAgICAg
ICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyByZXN1bHQud2lu
ZG93Lmxlbmd0aCB9LCAibGVuZ3RoIHByb3BlcnR5IGFjY2VzcyIpOworICAgICAgICAgICAgcmVz
dWx0LndpbmRvdy5wb3N0TWVzc2FnZSgiUElORyIsICIqIik7CisgICAgICAgIH0pOworICAgIH0p
OworfSwgInBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9y
aWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIiKTsKKworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9j
cm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFk
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRv
dy1wb2xpY3kvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lNGE4ZDExZDM3NTQ4OTNmNmNkY2UwYWQ4MjE2YmMxYWNlNjkxODcwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3kvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDIyIEBACisgIAorCitQQVNTIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3Mt
T3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIEhUVFAgaGVhZGVyIAorUEFTUyBDcm9zcy1vcmln
aW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVz
c2FnZScgSFRUUCBoZWFkZXIgCitQQVNTIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3Mt
T3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsTG9XLXBvc3RNZXNzQWdFJyBIVFRQIGhlYWRlciAobWl4
ZWQgY2FzZSkgCitQQVNTIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdp
bmRvdy1Qb2xpY3k6IGRlbnksYWxsb3cnIEhUVFAgaGVhZGVyIChtdWx0aXBsZSB2YWx1ZXMgaXMg
aW52YWxpZCkgCitQQVNTIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdp
bmRvdy1Qb2xpY3k6JyBIVFRQIGhlYWRlciAoZW1wdHkgdmFsdWUpIAorUEFTUyBDcm9zcy1vcmln
aW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdycgSFRUUCBo
ZWFkZXIgCitQQVNTIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRv
dy1Qb2xpY3k6IGludmFsaWQnIEhUVFAgaGVhZGVyIAorUEFTUyBTYW1lLW9yaWdpbiBpZnJhbWUg
d2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIEhUVFAgaGVhZGVyIAorUEFT
UyBTYW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFs
bG93LXBvc3RtZXNzYWdlJyBIVFRQIGhlYWRlciAKK1BBU1MgU2FtZS1vcmlnaW4gaWZyYW1lIHdp
dGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdycgSFRUUCBoZWFkZXIgCitQQVNT
IFNhbWUtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogaW52
YWxpZCcgSFRUUCBoZWFkZXIgCitQQVNTIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1P
cmlnaW4tV2luZG93LVBvbGljeTogZGVueScgSFRUUCBoZWFkZXIgCitQQVNTIENyb3NzLW9yaWdp
biBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3Nh
Z2UnIEhUVFAgaGVhZGVyIAorUEFTUyBDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3Jp
Z2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBIVFRQIGhlYWRlciAKK1BBU1MgQ3Jvc3Mtb3JpZ2lu
IHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBpbnZhbGlkJyBIVFRQIGhl
YWRlciAKK1BBU1MgU2FtZS1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Q
b2xpY3k6IGRlbnknIEhUVFAgaGVhZGVyIAorUEFTUyBTYW1lLW9yaWdpbiBwb3B1cCB3aXRoICdD
cm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVy
IAorUEFTUyBTYW1lLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGlj
eTogYWxsb3cnIEhUVFAgaGVhZGVyIAorUEFTUyBTYW1lLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9z
cy1PcmlnaW4tV2luZG93LVBvbGljeTogaW52YWxpZCcgSFRUUCBoZWFkZXIgCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2Nyb3Nz
LW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVh
ZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjJiN2EzN2YzOTZkNTQyZGIzOTFkNjlhOTEwNzZmODY2NThk
YzAwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5odG1sCkBA
IC0wLDAgKzEsMTk4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+QmFzaWMgdGVzdGluZyBmb3IgQ3Jvc3MtT3JpZ2luLVdp
bmRvdy1Qb2xpY3kgSFRUUCBoZWFkZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKKy8vIFRlc3QgZnJhbWUgaGFzIGEgc3ViZnJhbWUgc28g
d2UgZXhwZWN0IGFuIGluZGV4ZWQgcHJvcGVydHkgd2l0aCBpbmRleCAwLgorY3Jvc3NPcmlnaW5Q
cm9wZXJ0eU5hbWVzLnB1c2goJzAnKTsKKworZnVuY3Rpb24gY2hlY2tJZnJhbWVQcm9wZXJ0eVZh
bHVlcyh3KQoreworICAgIGFzc2VydF9lcXVhbHMody5wYXJlbnQsIHdpbmRvdywgIidwYXJlbnQn
IHByb3BlcnR5IHZhbHVlIik7CisgICAgYXNzZXJ0X2VxdWFscyh3LnRvcCwgd2luZG93LCAiJ3Rv
cCcgcHJvcGVydHkgdmFsdWUiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHcub3BlbmVyLCBudWxsLCAi
J29wZW5lcicgcHJvcGVydHkgdmFsdWUiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHcubGVuZ3RoLCAx
LCAiJ2xlbmd0aCcgcHJvcGVydHkgdmFsdWUiKTsKKyAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1
bmN0aW9uKCkgeyB3WzBdOyB9LCAiU3ViZnJhbWUgYWNjZXNzIHZpYSBpbmRleCIpOworICAgIGFz
c2VydF9lcXVhbHMod1snc3ViZnJhbWUnXSwgd1swXSwgIlN1YmZyYW1lIGFjY2VzcyBieSBuYW1l
Iik7Cit9CisKK2Z1bmN0aW9uIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KQoreworICAgIGFz
c2VydF9lcXVhbHMody5wYXJlbnQsIHcsICIncGFyZW50JyBwcm9wZXJ0eSB2YWx1ZSIpOworICAg
IGFzc2VydF9lcXVhbHMody50b3AsIHcsICIndG9wJyBwcm9wZXJ0eSB2YWx1ZSIpOworICAgIGFz
c2VydF9lcXVhbHMody5vcGVuZXIsIHdpbmRvdywgIidvcGVuZXInIHByb3BlcnR5IHZhbHVlIik7
CisgICAgYXNzZXJ0X2VxdWFscyh3Lmxlbmd0aCwgMSwgIidsZW5ndGgnIHByb3BlcnR5IHZhbHVl
Iik7CisgICAgYXNzZXJ0X25vdF90aHJvd2luZyhmdW5jdGlvbigpIHsgd1swXTsgfSwgIlN1YmZy
YW1lIGFjY2VzcyB2aWEgaW5kZXgiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHdbJ3N1YmZyYW1lJ10s
IHdbMF0sICJTdWJmcmFtZSBhY2Nlc3MgYnkgbmFtZSIpOworfQorCitwcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4t
d2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9ZGVueSIsIHRydWUgLyogaXNDcm9zc09yaWdp
biAqLykudGhlbigoZikgPT4geworICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24oZi5jb250
ZW50V2luZG93LCAiZGVueSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7CisgICAgfSk7Cit9
LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTog
ZGVueScgSFRUUCBoZWFkZXIiKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKKyAg
ICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVh
ZGVyLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICov
KS50aGVuKChmKSA9PiB7CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbihmLmNvbnRlbnRX
aW5kb3csICJhbGxvdy1wb3N0bWVzc2FnZSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Cisg
ICAgfSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93
LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIik7CisKK3Byb21pc2VfdGVz
dChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZlLWNyb3NzLW9y
aWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1hbExvVy1wb3N0TWVzc0FnRSIsIHRy
dWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4geworICAgICAgICB0ZXN0Q3Jvc3NP
cmlnaW5PcHRpb24oZi5jb250ZW50V2luZG93LCAiYWxsb3ctcG9zdG1lc3NhZ2UiLCB0cnVlIC8q
IGlzQ3Jvc3NPcmlnaW4gKi8pOworICAgIH0pOworfSwgIkNyb3NzLW9yaWdpbiBpZnJhbWUgd2l0
aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsTG9XLXBvc3RNZXNzQWdFJyBIVFRQIGhl
YWRlciAobWl4ZWQgY2FzZSkiKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKKyAg
ICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVh
ZGVyLnB5P3ZhbHVlPWRlbnksYWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4o
KGYpID0+IHsKKyAgICAgICAgY29uc3QgdyA9IGYuY29udGVudFdpbmRvdzsKKyAgICAgICAgLy8g
SW52YWxpZCBpbnB1dDogc2hvdWxkIGJlIHRyZWF0ZWQgYXMgImFsbG93Ii4KKyAgICAgICAgdGVz
dENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7
CisKKyAgICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsKK30sICJD
cm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55
LGFsbG93JyBIVFRQIGhlYWRlciAobXVsdGlwbGUgdmFsdWVzIGlzIGludmFsaWQpIik7CisKK3By
b21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZl
LWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT0iLCB0cnVlIC8qIGlz
Q3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKKyAgICAgICAgY29uc3QgdyA9IGYuY29udGVu
dFdpbmRvdzsKKyAgICAgICAgLy8gRW1wdHkgdmFsdWU6IHNob3VsZCBiZSB0cmVhdGVkIGFzICJh
bGxvdyIuCisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCB0cnVlIC8q
IGlzQ3Jvc3NPcmlnaW4gKi8pOworCisgICAgICAgIGNoZWNrSWZyYW1lUHJvcGVydHlWYWx1ZXMo
dyk7CisgICAgfSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4t
V2luZG93LVBvbGljeTonIEhUVFAgaGVhZGVyIChlbXB0eSB2YWx1ZSkiKTsKKworcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKKyAgICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mt
b3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWFsbG93IiwgdHJ1ZSAvKiBpc0Ny
b3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7CisgICAgICAgIGNvbnN0IHcgPSBmLmNvbnRlbnRX
aW5kb3c7CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCB0cnVlIC8q
IGlzQ3Jvc3NPcmlnaW4gKi8pOworCisgICAgICAgIGNoZWNrSWZyYW1lUHJvcGVydHlWYWx1ZXMo
dyk7CisgICAgfSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4t
V2luZG93LVBvbGljeTogYWxsb3cnIEhUVFAgaGVhZGVyIik7CisKK3Byb21pc2VfdGVzdChmdW5j
dGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1pbnZhbGlkIiwgdHJ1ZSAvKiBpc0Nyb3NzT3Jp
Z2luICovKS50aGVuKChmKSA9PiB7CisgICAgICAgIGNvbnN0IHcgPSBmLmNvbnRlbnRXaW5kb3c7
CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCB0cnVlIC8qIGlzQ3Jv
c3NPcmlnaW4gKi8pOworICAgICAgICAKKyAgICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVl
cyh3KTsKKyAgICB9KTsKK30sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdp
bi1XaW5kb3ctUG9saWN5OiBpbnZhbGlkJyBIVFRQIGhlYWRlciIpOworCitwcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmln
aW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9ZGVueSIsIGZhbHNlIC8qIGlzQ3Jvc3NP
cmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKKyAgICAgICAgIGNvbnN0IHcgPSBmLmNvbnRlbnRXaW5k
b3c7CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiZGVueSIsIGZhbHNlIC8qIGlz
Q3Jvc3NPcmlnaW4gKi8pOworCisgICAgICAgIGNoZWNrSWZyYW1lUHJvcGVydHlWYWx1ZXModyk7
CisgICAgfSk7Cit9LCAiU2FtZS1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5k
b3ctUG9saWN5OiBkZW55JyBIVFRQIGhlYWRlciIpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dGVzdCkgeworICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93
LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UiLCBmYWxzZSAvKiBpc0Ny
b3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7CisgICAgICAgICBjb25zdCB3ID0gZi5jb250ZW50
V2luZG93OworICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgImFsbG93LXBvc3RtZXNz
YWdlIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7CisKKyAgICAgICAgY2hlY2tJZnJhbWVQ
cm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsKK30sICJTYW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAn
Q3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBIVFRQIGhlYWRl
ciIpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRoSWZy
YW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9YWxs
b3ciLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7CisgICAgICAgICBj
b25zdCB3ID0gZi5jb250ZW50V2luZG93OworICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24o
dywgImFsbG93IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7CisKKyAgICAgICAgY2hlY2tJ
ZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsKK30sICJTYW1lLW9yaWdpbiBpZnJhbWUg
d2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBIVFRQIGhlYWRlciIpOwor
Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRoSWZyYW1lKCJz
ZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9aW52YWxpZCIs
IGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKKyAgICAgICAgIGNvbnN0
IHcgPSBmLmNvbnRlbnRXaW5kb3c7CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAi
YWxsb3ciLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKKworICAgICAgICBjaGVja0lmcmFt
ZVByb3BlcnR5VmFsdWVzKHcpOworICAgIH0pOworfSwgIlNhbWUtb3JpZ2luIGlmcmFtZSB3aXRo
ICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogaW52YWxpZCcgSFRUUCBoZWFkZXIiKTsKKwor
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKKyAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2
ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9ZGVueSIsIHRydWUg
LyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7CisgICAgICAgIHRlc3RDcm9z
c09yaWdpbk9wdGlvbihyZXN1bHQud2luZG93LCAiZGVueSIsIHRydWUgLyogaXNDcm9zc09yaWdp
biAqLyk7CisgICAgfSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdp
bi1XaW5kb3ctUG9saWN5OiBkZW55JyBIVFRQIGhlYWRlciIpOworCitwcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRoUG9wdXAoInNlcnZlLWNyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSIsIHRydWUgLyog
aXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7CisgICAgICAgIHRlc3RDcm9zc09y
aWdpbk9wdGlvbihyZXN1bHQud2luZG93LCAiYWxsb3ctcG9zdG1lc3NhZ2UiLCB0cnVlIC8qIGlz
Q3Jvc3NPcmlnaW4gKi8pOworICAgIH0pOworfSwgIkNyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdD
cm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVy
Iik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhQb3B1
cCgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWFsbG93
IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAg
Y29uc3QgdyA9IHJlc3VsdC53aW5kb3c7CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3
LCAiYWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOworCisgICAgICAgIGNoZWNrUG9w
dXBQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsKK30sICJDcm9zcy1vcmlnaW4gcG9wdXAgd2l0
aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBIVFRQIGhlYWRlciIpOworCitw
cm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRoUG9wdXAoInNlcnZl
LWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1pbnZhbGlkIiwgdHJ1
ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAgY29uc3Qg
dyA9IHJlc3VsdC53aW5kb3c7CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxs
b3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOworCisgICAgICAgIGNoZWNrUG9wdXBQcm9w
ZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsKK30sICJDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jv
c3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGludmFsaWQnIEhUVFAgaGVhZGVyIik7CisKK3Byb21p
c2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jv
c3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWRlbnkiLCBmYWxzZSAvKiBp
c0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAgIGNvbnN0IHcgPSBy
ZXN1bHQud2luZG93OworICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgImRlbnkiLCBm
YWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKKworICAgICAgICBjaGVja1BvcHVwUHJvcGVydHlW
YWx1ZXModyk7CisgICAgfSk7Cit9LCAiU2FtZS1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3Jp
Z2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIEhUVFAgaGVhZGVyIik7CisKK3Byb21pc2VfdGVzdChm
dW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlIiwgZmFsc2Ug
LyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7CisgICAgICAgICBjb25zdCB3
ID0gcmVzdWx0LndpbmRvdzsKKyAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxv
dy1wb3N0bWVzc2FnZSIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOworCisgICAgICAgIGNo
ZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsKK30sICJTYW1lLW9yaWdpbiBwb3B1
cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIEhU
VFAgaGVhZGVyIik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJu
IHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3Zh
bHVlPWFsbG93IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7
CisgICAgICAgICBjb25zdCB3ID0gcmVzdWx0LndpbmRvdzsKKyAgICAgICAgdGVzdENyb3NzT3Jp
Z2luT3B0aW9uKHcsICJhbGxvdyIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOworCisgICAg
ICAgIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsKK30sICJTYW1lLW9yaWdp
biBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIEhUVFAgaGVh
ZGVyIik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhQ
b3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWlu
dmFsaWQiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKKyAg
ICAgICAgIGNvbnN0IHcgPSByZXN1bHQud2luZG93OworICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5P
cHRpb24odywgImFsbG93IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7CisKKyAgICAgICAg
Y2hlY2tQb3B1cFByb3BlcnR5VmFsdWVzKHcpOworICAgIH0pOworfSwgIlNhbWUtb3JpZ2luIHBv
cHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBpbnZhbGlkJyBIVFRQIGhlYWRl
ciIpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1v
cGVuZXItdmlhLW9wZW4tdGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9w
ZW4tdGFyZ2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTljODRmOThhZThlMzBhM2RkMDMz
NjM2YTEyZmUzZjBjM2RmOTU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9tLW9wZW5lci12aWEt
b3Blbi10YXJnZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDIzOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRp
b24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3Nz
LW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9zZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93
LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9ZGVueScgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDov
L2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9uYXZpZ2F0
aW9uLWZyb20tb3BlbmVyLXZpYS1vcGVuLXRhcmdldC5odG1sJy4gTmF2aWdhdGlvbiB3YXMgbm90
IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4KKworQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRp
YXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAv
V2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9zZXJ2ZS1jcm9zcy1v
cmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UnIGZy
b20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3Jp
Z2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9tLW9wZW5lci12aWEtb3Blbi10YXJnZXQu
aHRtbCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2lu
ZG93LVBvbGljeSBoZWFkZXIuCisKKworUEFTUyAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6
IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBvcGVuZXIgdmlhIG9wZW4oKSB0YXJnZXQg
CitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIHBy
ZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBvcGVuZXIgdmlhIG9wZW4oKSB0YXJnZXQgCitQQVNTICdD
cm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdh
dGlvbiBmcm9tIG9wZW5lciB2aWEgb3BlbigpIHRhcmdldCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9t
LW9wZW5lci12aWEtb3Blbi10YXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3Nz
LW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFy
Z2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMmE3OTE4YjY5ODY4NWZlMmM4NTI5YmJjOGZkZTI1MzM4ZjZk
OWZhMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0Lmh0
bWwKQEAgLTAsMCArMSw3MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIHRoYXQgJ0Nyb3NzLU9yaWdpbi1XaW5k
b3ctUG9saWN5OiBkZW55IC8gYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIGEgY3Jvc3Mtb3Jp
Z2luIG9wZW5lciBmcm9tIG5hdmlnYXRpbmcgdXM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRp
bHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBy
ZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIu
cHk/dmFsdWU9ZGVueSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLywgImZvbzEiKS50aGVuKChy
ZXN1bHQpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Cisg
ICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gKG1zZykgPT4geworICAgICAgICAgICAgICAg
IGFzc2VydF9ub3RfZXF1YWxzKG1zZy5zb3VyY2UsIHJlc3VsdC53aW5kb3csICJFeGlzdGluZyB3
aW5kb3cgc2hvdWxkIG5vdCBuYXZpZ2F0ZSIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBsZXQgZGVzdGluYXRpb25VUkwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9PUklHSU4gKyAiL1dl
YktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvZGVzdGluYXRpb24uaHRt
bCI7CisgICAgICAgICAgICB3ID0gb3BlbihkZXN0aW5hdGlvblVSTCwgImZvbzEiKTsKKyAgICAg
ICAgICAgIC8vIElmIGEgd2luZG93IHdpdGggdGhlIGdpdmVuIG5hbWUgaXMgZm91bmQgYnV0IGNh
bm5vdCBiZSBuYXZpZ2F0ZWQsIGEgbmV3IG9uZSBpcyBjcmVhdGVkLCBhcyBpZiB3ZSBjb3VsZAor
ICAgICAgICAgICAgLy8gbm90IGZpbmQgdGhlIGdpdmVuIHdpbmRvdy4KKyAgICAgICAgICAgIGFz
c2VydF9ub3RfZXF1YWxzKHcsIHJlc3VsdC53aW5kb3csICJvcGVuKCkgc2hvdWxkIGEgbmV3IHdp
bmRvdyIpOworCisgICAgICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICAgICAg
ICAgICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsKKyAgICAgICAgICAgICAgIHJlc29sdmUoKTsK
KyAgICAgICAgICAgIH0sIDIwMCk7CisgICAgICAgIH0pOworICAgIH0pOworfSwgIidDcm9zcy1P
cmlnaW4tV2luZG93LVBvbGljeTogZGVueScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIG9wZW5l
ciB2aWEgb3BlbigpIHRhcmdldCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgcmV0dXJu
IHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3Zh
bHVlPWFsbG93LXBvc3RtZXNzYWdlIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovLCAiZm9vMiIp
LnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUp
ID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAobXNnKSA9PiB7CisgICAgICAg
ICAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMobXNnLnNvdXJjZSwgcmVzdWx0LndpbmRvdywgIkV4
aXN0aW5nIHdpbmRvdyBzaG91bGQgbm90IG5hdmlnYXRlIik7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGxldCBkZXN0aW5hdGlvblVSTCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX09SSUdJ
TiArICIvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9kZXN0aW5h
dGlvbi5odG1sIjsKKyAgICAgICAgICAgIHcgPSBvcGVuKGRlc3RpbmF0aW9uVVJMLCAiZm9vMiIp
OworICAgICAgICAgICAgLy8gSWYgYSB3aW5kb3cgd2l0aCB0aGUgZ2l2ZW4gbmFtZSBpcyBmb3Vu
ZCBidXQgY2Fubm90IGJlIG5hdmlnYXRlZCwgYSBuZXcgb25lIGlzIGNyZWF0ZWQsIGFzIGlmIHdl
IGNvdWxkCisgICAgICAgICAgICAvLyBub3QgZmluZCB0aGUgZ2l2ZW4gd2luZG93LgorICAgICAg
ICAgICAgYXNzZXJ0X25vdF9lcXVhbHModywgcmVzdWx0LndpbmRvdywgIm9wZW4oKSBzaG91bGQg
YSBuZXcgd2luZG93Iik7CisKKyAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKKyAg
ICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxsOworICAgICAgICAgICAgICAgcmVz
b2x2ZSgpOworICAgICAgICAgICAgfSwgMjAwKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9LCAi
J0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMg
bmF2aWdhdGlvbiBmcm9tIG9wZW5lciB2aWEgb3BlbigpIHRhcmdldCIpOworCitwcm9taXNlX3Rl
c3QodCA9PiB7CisgICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRv
dy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWFsbG93IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICov
LCAiZm9vMyIpLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICByZXR1cm4gbmV3IFByb21pc2Uo
KHJlc29sdmUpID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IG51bGw7CisgICAgICAgICAgICAgICAg
cmVzb2x2ZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBsZXQgZGVzdGluYXRpb25V
UkwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9PUklHSU4gKyAiL1dlYktpdC9jcm9zcy1vcmlnaW4t
d2luZG93LXBvbGljeS9yZXNvdXJjZXMvZGVzdGluYXRpb24uaHRtbCI7CisgICAgICAgICAgICB3
ID0gb3BlbihkZXN0aW5hdGlvblVSTCwgImZvbzMiKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVh
bHModywgcmVzdWx0LndpbmRvdywgIm9wZW4oKSBzaG91bGQgcmV0dXJuIHRoZSBzYW1lIHdpbmRv
dyIpOworICAgICAgICB9KTsKKyAgICB9KTsKK30sICInQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xp
Y3k6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBvcGVuZXIgdmlhIG9w
ZW4oKSB0YXJnZXQiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlv
bi1mcm9tLXN1YmZyYW1lLXZpYS1hbmNob3ItdGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1z
dWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjY5OTI3
OGUwMWQ1ZTEwYTIyNzNlMGJiYTQ0MThmN2VkYTBhNWY2YQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24t
ZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0
IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxo
b3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZp
Z2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3RvcCcgZnJv
bSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmln
aW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRt
bD90YXJnZXQ9X3RvcCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1P
cmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDog
VW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFt
ZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2lu
ZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3Zh
bHVlPWRlbnkmdGFyZ2V0PV90b3AnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4w
LjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmln
YXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV90b3AnLiBOYXZpZ2F0aW9uIHdhcyBu
b3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kgaGVhZGVyLgorCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5p
dGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgw
MC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRpb24t
ZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0YXJnZXQ9X3Rv
cCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9z
cy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNo
b3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBD
cm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZv
ciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmln
aW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1l
LnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fdG9wJyBmcm9tIGZyYW1lIHdpdGgg
VVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9s
aWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fdG9w
Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ct
UG9saWN5IGhlYWRlci4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNj
cmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jl
c291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJn
ZXQ9X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dl
YktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50
LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxv
d2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBu
YXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktp
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1
YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PV9wYXJlbnQnIGZyb20gZnJhbWUgd2l0
aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV9w
YXJlbnQnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdp
bmRvdy1Qb2xpY3kgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBK
YXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBV
UkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xp
Y3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxv
dy1wb3N0bWVzc2FnZSZ0YXJnZXQ9X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDov
LzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJj
ZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5hdmln
YXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBo
ZWFkZXIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0
ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMv
bmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdl
JnRhcmdldD1fcGFyZW50JyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4
MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1w
YXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fcGFyZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90
IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4KKworQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRp
YXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAv
V2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZy
b20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9Zm9vMScgZnJvbSBmcmFtZSB3
aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93
LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9
Zm9vMScuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2lu
ZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEph
dmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVS
TCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGlj
eS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkm
dGFyZ2V0PWZvbzEnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9X
ZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVu
dC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PWZvbzEnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dl
ZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kgaGVhZGVyLgorCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2
aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQv
Y3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJm
cmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0YXJnZXQ9Zm9vMicgZnJvbSBm
cmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4t
d2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90
YXJnZXQ9Zm9vMicuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1Pcmln
aW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5z
YWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3
aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93
LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVl
PWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1mb28yJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRw
Oi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291
cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1mb28yJy4gTmF2aWdh
dGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhl
YWRlci4KKworCitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogZGVueScgcHJldmVu
dHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdl
dD1fdG9wPikgCitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1l
c3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1
c2luZyA8YSB0YXJnZXQ9X3RvcD4pIAorUEFTUyAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6
IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3Vi
LWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3RvcD4pIAorUEFTUyAnQ3Jvc3MtT3JpZ2luLVdpbmRv
dy1Qb2xpY3k6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3Vi
LWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3BhcmVudD4pIAorUEFTUyAnQ3Jvc3MtT3JpZ2luLVdp
bmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20g
Y3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV9wYXJlbnQ+KSAKK1BBU1Mg
J0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdycgZG9lcyBub3QgcHJldmVudCBuYXZp
Z2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV9wYXJl
bnQ+KSAKK1BBU1MgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55JyBwcmV2ZW50cyBu
YXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PXdp
bmRvd05hbWUpIAorUEFTUyAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3Rt
ZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAo
dXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWUpIAorUEFTUyAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Q
b2xpY3k6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmln
aW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZT4pIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9uYXZpZ2F0
aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFuY2hvci10YXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFt
ZS12aWEtYW5jaG9yLXRhcmdldC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjOWYwMWE4Y2JiMDlhMzgwZDJm
YzYxODkxYzI3MDQ1ZGE5Nzk3YzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUt
dmlhLWFuY2hvci10YXJnZXQuaHRtbApAQCAtMCwwICsxLDExOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIHRo
YXQgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55IC8gYWxsb3ctcG9zdG1lc3NhZ2Un
IHByZXZlbnRzIGEgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBmcm9tIG5hdmlnYXRpbmcgdXM8L3RpdGxl
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21t
b24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZpZ2F0aW9uLWZyb20tc3Vi
ZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3RvcCIsIGZhbHNlIC8qIGlzQ3Jvc3NP
cmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICByZXR1cm4gbmV3IFByb21pc2Uo
KHJlc29sdmUpID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSB0LnVucmVhY2hl
ZF9mdW5jKCJTaG91bGQgbm90IGhhdmUgbmF2aWdhdGVkIik7CisgICAgICAgICAgICB0LnN0ZXBf
dGltZW91dCgoKSA9PiB7CisgICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsK
KyAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgIH0sIDIwMCk7CisgICAgICAg
IH0pOworICAgIH0pOworfSwgIidDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogZGVueScgcHJl
dmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRh
cmdldD1fdG9wPikiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIHJldHVybiB3aXRoUG9w
dXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVz
c2FnZSZ0YXJnZXQ9X3RvcCIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3Vs
dCkgPT4geworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAg
ICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSB0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQgbm90IGhh
dmUgbmF2aWdhdGVkIik7CisgICAgICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAg
ICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsKKyAgICAgICAgICAgICAgIHJlc29s
dmUoKTsKKyAgICAgICAgICAgIH0sIDIwMCk7CisgICAgICAgIH0pOworICAgIH0pOworfSwgIidD
cm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5h
dmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3Rv
cD4pIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZp
Z2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3cmdGFyZ2V0PV90b3AiLCBm
YWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAgcmV0
dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgICAgICB3aW5kb3cub25tZXNz
YWdlID0gKCkgPT4geworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgIH07
CisgICAgICAgIH0pOworICAgIH0pOworfSwgIidDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTog
YWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWIt
ZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fdG9wPikiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4gewor
ICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92
YWx1ZT1kZW55JnRhcmdldD1fcGFyZW50IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhl
bigocmVzdWx0KSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4g
eworICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IHQudW5yZWFjaGVkX2Z1bmMoIlNob3Vs
ZCBub3QgaGF2ZSBuYXZpZ2F0ZWQiKTsKKyAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+
IHsKKyAgICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxsOworICAgICAgICAgICAg
ICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfSwgMjAwKTsKKyAgICAgICAgfSk7CisgICAgfSk7
Cit9LCAiJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0
aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV9wYXJlbnQ+
KSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgcmV0dXJuIHdpdGhQb3B1cCgibmF2aWdh
dGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdl
dD1fcGFyZW50IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7
CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICAgICAg
d2luZG93Lm9ubWVzc2FnZSA9IHQudW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBub3QgaGF2ZSBuYXZp
Z2F0ZWQiKTsKKyAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAg
ICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxsOworICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwor
ICAgICAgICAgICAgfSwgMjAwKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9LCAiJ0Nyb3NzLU9y
aWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMgbmF2aWdhdGlv
biBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fcGFyZW50Piki
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRp
b24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdyZ0YXJnZXQ9X3BhcmVudCIsIGZh
bHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICByZXR1
cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5vbm1lc3Nh
Z2UgPSAoKSA9PiB7CisgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfTsg
CisgICAgICAgIH0pOworICAgIH0pOworfSwgIidDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTog
YWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWIt
ZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fcGFyZW50PikiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5w
eT92YWx1ZT1kZW55JnRhcmdldD1mb28xIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLywgImZv
bzEiKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNv
bHZlKSA9PiB7CisgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gdC51bnJlYWNoZWRfZnVu
YygiU2hvdWxkIG5vdCBoYXZlIG5hdmlnYXRlZCIpOworICAgICAgICAgICAgdC5zdGVwX3RpbWVv
dXQoKCkgPT4geworICAgICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IG51bGw7CisgICAg
ICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9LCAyMDApOworICAgICAgICB9KTsK
KyAgICB9KTsgCit9LCAiJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55JyBwcmV2ZW50
cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0
PXdpbmRvd05hbWUpIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICByZXR1cm4gd2l0aFBv
cHVwKCJuYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1l
c3NhZ2UmdGFyZ2V0PWZvbzIiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovLCAiZm9vMiIpLnRo
ZW4oKHJlc3VsdCkgPT4geworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+
IHsKKyAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSB0LnVucmVhY2hlZF9mdW5jKCJTaG91
bGQgbm90IGhhdmUgbmF2aWdhdGVkIik7CisgICAgICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9
PiB7CisgICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsKKyAgICAgICAgICAg
ICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgIH0sIDIwMCk7CisgICAgICAgIH0pOworICAgIH0p
OworfSwgIidDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIHBy
ZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0
YXJnZXQ9d2luZG93TmFtZSkiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIHJldHVybiB3
aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdyZ0
YXJnZXQ9Zm9vMyIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8sICJmb28zIikudGhlbigocmVz
dWx0KSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAg
ICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9ICgpID0+IHsKKyAgICAgICAgICAgICAgICByZXNv
bHZlKCk7CisgICAgICAgICAgICB9OworICAgICAgICB9KTsKKyAgICB9KTsKK30sICInQ3Jvc3Mt
T3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24g
ZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZT4p
Iik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Nyb3NzLW9y
aWdpbi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9jcm9zcy1v
cmlnaW4td2luZG93LXBvbGljeS1hbGxvdy1wb3N0bWVzc2FnZS1wb25nLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOWE2N2RkN2Y2MGMxNGQ2MmZjZDE1YTZjYWNlYTY4N2I0ZDBmNTgzNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jl
c291cmNlcy9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1hbGxvdy1wb3N0bWVzc2FnZS1wb25n
Lmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5Pgor
PHNjcmlwdD4KK2FkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAobXNnKSA9PiB7CisgICAgaWYg
KGV2ZW50LmRhdGEgPT09ICJQSU5HIikKKyAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdl
KCJQT05HIiwgIioiKTsKKyAgICB9KTsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9h
ZCcsICgpID0+IHsKKyAgICAgICAgY29uc3Qgb3duZXJXaW5kb3cgPSB3aW5kb3cub3BlbmVyID8g
d2luZG93Lm9wZW5lciA6IHdpbmRvdy50b3A7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBv
d25lcldpbmRvdy5wb3N0TWVzc2FnZSgiUkVBRFkiLCAiKiIpOworICAgICAgICB9IGNhdGNoIChl
KSB7IH0KKyAgICB9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2Vz
L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbC5o
ZWFkZXJzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kv
cmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBv
bmcuaHRtbC5oZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1ZTY4YjJiOTE2ZmIwMTU3NDM3YTJiYmY3NTM0
MGU2OWQwOTAwZTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9z
cy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xp
Y3ktYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sLmhlYWRlcnMKQEAgLTAsMCArMSBAQAorQ3Jv
c3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMv
ZGVzdGluYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5k
b3ctcG9saWN5L3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1MTY4Nzdi
NDQ5YWVjYWJlNWY4MGYxYzRiYmI2ODYwMmJiYTMxZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvZGVz
dGluYXRpb24uaHRtbApAQCAtMCwwICsxLDcgQEAKKzxib2R5PgorREVTVElOQVRJT04KKzxzY3Jp
cHQ+CitpZiAod2luZG93Lm9wZW5lcikKKyAgICB3aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCJu
YXZpZ2F0ZWQiLCAiKiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdh
dGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9y
aWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY4YmEwYTczMmVhMWUwOTA3NzU2MTU4NDhmZjdjZmMxNWJmNjExMWYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2lu
ZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbApAQCAt
MCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxhIGlkPSJ0ZXN0QW5jaG9yIj5DbGljayBtZTwvYT4KKzxzY3JpcHQ+Citjb25zdCBSRVNP
VVJDRVNfRElSID0gIi9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2Vz
LyI7CitvbmxvYWQgPSAoKSA9PiB7CisgICAgbGV0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJh
bXMobG9jYXRpb24uc2VhcmNoKTsKKyAgICB0ZXN0QW5jaG9yLnRhcmdldD0gcGFyYW1zLmdldCgn
dGFyZ2V0JykKKyAgICB0ZXN0QW5jaG9yLmhyZWYgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9PUklH
SU4gKyBSRVNPVVJDRVNfRElSICsgImRlc3RpbmF0aW9uLmh0bWwiOworICAgIHRlc3RBbmNob3Iu
Y2xpY2soKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25h
dmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weSBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Ny
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJh
bWUtZnJhbWUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjEyMTBlMDZmNGIwNjcxMzA4YTFkMDc4NmY4NWEyYzVm
MTNiYjNhMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9y
aWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJh
bWUucHkKQEAgLTAsMCArMSwxNyBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAg
IGhlYWRlcnMgPSBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9odG1sIiksCisgICAgICAgICAgICAg
ICAoIkNyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IiwgcmVxdWVzdC5HRVRbJ3ZhbHVlJ10pLF0K
KyAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCAiIiI8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCBSRVNPVVJDRVNfRElSID0gIi9XZWJL
aXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzLyI7CitsZXQgZiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworZi5zcmMgPSBnZXRfaG9zdF9pbmZvKCkuSFRU
UF9SRU1PVEVfT1JJR0lOICsgUkVTT1VSQ0VTX0RJUiArICJuYXZpZ2F0ZS1wYXJlbnQtdmlhLWFu
Y2hvci5odG1sP3RhcmdldD0lcyI7Citkb2N1bWVudC5ib2R5LnByZXBlbmQoZik7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4iIiIgJSByZXF1ZXN0LkdFVFsndGFyZ2V0J10KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291
cmNlcy9zZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHkgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvc2VydmUt
Y3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmZTcwMTdi
YTI5NWVlN2FiZDg0ZDc4MjI3YjBjMDcyMDhkMGE3MmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvc2Vy
dmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5CkBAIC0wLDAgKzEsMTQgQEAK
K2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAgICBoZWFkZXJzID0gWygiQ29udGVudC1U
eXBlIiwgInRleHQvaHRtbCIpLAorICAgICAgICAgICAgICAgKCJDcm9zcy1PcmlnaW4tV2luZG93
LVBvbGljeSIsIHJlcXVlc3QuR0VUWyd2YWx1ZSddKSxdCisgICAgcmV0dXJuIDIwMCwgaGVhZGVy
cywgIiIiVEVTVAorICAgICAgICA8aWZyYW1lIG5hbWU9InN1YmZyYW1lIj48L2lmcmFtZT4KKyAg
ICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2Fk
JywgKCkgPT4geworICAgICAgICAgICAgICAgIGNvbnN0IG93bmVyV2luZG93ID0gd2luZG93Lm9w
ZW5lciA/IHdpbmRvdy5vcGVuZXIgOiB3aW5kb3cudG9wOworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIG93bmVyV2luZG93LnBvc3RNZXNzYWdlKCJSRUFEWSIsICIq
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeyB9CisgICAgICAgICAgICB9KTsKKyAg
ICAgICAgPC9zY3JpcHQ+CisgICAgIiIiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvdXRpbHMuanMgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvdXRpbHMu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODJiZDdiZTgyNWNjMGM0ODFmMTM2ZTRmOTQyOTVjZTM3NGZhYWZlYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5k
b3ctcG9saWN5L3Jlc291cmNlcy91dGlscy5qcwpAQCAtMCwwICsxLDE1MCBAQAorY29uc3QgUkVT
T1VSQ0VTX0RJUiA9ICIvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNl
cy8iOworCitmdW5jdGlvbiBpc0Nyb3NzT3JpZ2luV2luZG93KHcpCit7CisgICAgdHJ5IHsKKyAg
ICAgICAgdy5uYW1lOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworYXN5bmMgZnVuY3Rpb24gd2FpdEZvckNyb3Nz
T3JpZ2luTG9hZCh3KQoreworICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewor
ICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChtc2cpID0+IHsKKyAg
ICAgICAgICAgIGlmIChtc2cuc291cmNlICE9IHcgfHwgbXNnLmRhdGEgIT0gIlJFQURZIikKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0p
OworCisgICAgICAgIGxldCBoYW5kbGUgPSBzZXRJbnRlcnZhbCgoKSA9PiB7CisgICAgICAgICAg
ICBpZiAoaXNDcm9zc09yaWdpbldpbmRvdyh3KSkgeworICAgICAgICAgICAgICAgIGNsZWFySW50
ZXJ2YWwoaGFuZGxlKTsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICB3LnBvc3RNZXNzYWdlOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAg
ICAgICAgICAgICAgLy8gTm8gcG9pbnQgaW4gd2FpdGluZyBmb3IgIlJFQURZIiBtZXNzYWdlIGZy
b20gd2luZG93IHNpbmNlIHBvc3RNZXNzYWdlIGlzCisgICAgICAgICAgICAgICAgICAgIC8vIG5v
dCBhdmFpbGFibGUuCisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0sIDUpOworICAgIH0pOworfQorCithc3lu
YyBmdW5jdGlvbiB3aXRoSWZyYW1lKHJlc291cmNlRmlsZSwgY3Jvc3NPcmlnaW4pCit7CisgICAg
cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgIGxldCByZXNvdXJjZVVS
TCA9IGNyb3NzT3JpZ2luID8gZ2V0X2hvc3RfaW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTiA6IGdl
dF9ob3N0X2luZm8oKS5IVFRQX09SSUdJTjsKKyAgICAgICAgcmVzb3VyY2VVUkwgKz0gUkVTT1VS
Q0VTX0RJUjsKKyAgICAgICAgcmVzb3VyY2VVUkwgKz0gcmVzb3VyY2VGaWxlOworICAgICAgICBs
ZXQgZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICAgICAgZnJh
bWUuc3JjID0gcmVzb3VyY2VVUkw7CisgICAgICAgIGlmIChjcm9zc09yaWdpbikgeworICAgICAg
ICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7CisgICAgICAgICAgICB3YWl0
Rm9yQ3Jvc3NPcmlnaW5Mb2FkKGZyYW1lLmNvbnRlbnRXaW5kb3cpLnRoZW4oKCkgPT4geworICAg
ICAgICAgICAgICAgIHJlc29sdmUoZnJhbWUpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBmcmFtZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsgcmVzb2x2ZShm
cmFtZSk7IH07CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lKTsK
KyAgICAgICAgfQorICAgIH0pOworfQorCithc3luYyBmdW5jdGlvbiB3aXRoUG9wdXAocmVzb3Vy
Y2VGaWxlLCBjcm9zc09yaWdpbiwgd2luZG93TmFtZSkKK3sKKyAgICByZXR1cm4gbmV3IFByb21p
c2UoKHJlc29sdmUpID0+IHsgCisgICAgICAgIGxldCByZXNvdXJjZVVSTCA9IGNyb3NzT3JpZ2lu
ID8gZ2V0X2hvc3RfaW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTiA6IGdldF9ob3N0X2luZm8oKS5I
VFRQX09SSUdJTjsKKyAgICAgICAgcmVzb3VyY2VVUkwgKz0gUkVTT1VSQ0VTX0RJUjsKKyAgICAg
ICAgcmVzb3VyY2VVUkwgKz0gcmVzb3VyY2VGaWxlOworCisgICAgICAgIGxldCB3ID0gb3Blbihy
ZXNvdXJjZVVSTCwgd2luZG93TmFtZSk7CisgICAgICAgIGlmIChjcm9zc09yaWdpbikgeworICAg
ICAgICAgICAgd2FpdEZvckNyb3NzT3JpZ2luTG9hZCh3KS50aGVuKCgpID0+IHsKKyAgICAgICAg
ICAgICAgICByZXNvbHZlKHsgJ3dpbmRvdyc6IHcgfSk7CisgICAgICAgICAgICB9KTsKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHcub25sb2FkID0gZnVuY3Rpb24oKSB7IHJlc29sdmUo
eyAnd2luZG93JzogdyB9KTsgfTsKKyAgICAgICAgfQorICAgfSk7Cit9CisKK2NvbnN0IGNyb3Nz
T3JpZ2luUHJvcGVydHlOYW1lcyA9IFsgJ2JsdXInLCAnY2xvc2UnLCAnY2xvc2VkJywgJ2ZvY3Vz
JywgJ2ZyYW1lcycsICdsZW5ndGgnLCAnbG9jYXRpb24nLCAnb3BlbmVyJywgJ3BhcmVudCcsICdw
b3N0TWVzc2FnZScsICdzZWxmJywgJ3RvcCcsICd3aW5kb3cnIF07Citjb25zdCBmb3JiaWRkZW5Q
cm9wZXJ0aWVzQ3Jvc3NPcmlnaW4gPSBbIm5hbWUiLCAiZG9jdW1lbnQiLCAiaGlzdG9yeSIsICJs
b2NhdGlvbmJhciIsICJzdGF0dXMiLCAiZnJhbWVFbGVtZW50IiwgIm5hdmlnYXRvciIsICJhbGVy
dCIsICJsb2NhbFN0b3JhZ2UiLCAic2Vzc2lvblN0b3JhZ2UiLCAiZXZlbnQiLCAiZm9vIiwgImJh
ciJdOworCitmdW5jdGlvbiBhc3NlcnRfbm90X3Rocm93aW5nKGYsIG1lc3NhZ2UpCit7CisgICAg
dHJ5IHsKKyAgICAgICAgZigpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgYXNzZXJ0X3Vu
cmVhY2hlZChtZXNzYWdlKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGNoZWNrQ3Jvc3NPcmlnaW5Q
cm9wZXJ0aWVzQWNjZXNzKHcpCit7CisgICAgZm9yIChsZXQgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5h
bWUgb2YgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVzKQorICAgICAgIGFzc2VydF9ub3RfdGhyb3dp
bmcoZnVuY3Rpb24oKSB7IHdbY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVdOyB9LCAiQWNjZXNzaW5n
IHByb3BlcnR5ICciICsgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWUgKyInIG9uIFdpbmRvdyBzaG91
bGQgbm90IHRocm93Iik7CisgICAKKyAgICBhc3NlcnRfZmFsc2Uody5jbG9zZWQsICInY2xvc2Vk
JyBwcm9wZXJ0eSB2YWx1ZSIpOyAKKyAgICBhc3NlcnRfZXF1YWxzKHcuZnJhbWVzLCB3LCAiJ2Zy
YW1lcycgcHJvcGVydHkgdmFsdWUiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHcuc2VsZiwgdywgIidz
ZWxmJyBwcm9wZXJ0eSB2YWx1ZSIpOworICAgIGFzc2VydF9lcXVhbHMody53aW5kb3csIHcsICIn
d2luZG93JyBwcm9wZXJ0eSB2YWx1ZSIpOworCisgICAgYXNzZXJ0X25vdF90aHJvd2luZyhmdW5j
dGlvbigpIHsgdy5ibHVyKCk7IH0sICJDYWxsaW5nIGJsdXIoKSBvbiBXaW5kb3cgc2hvdWxkIHNo
b3VsZCB0aHJvdyIpOworICAgIGFzc2VydF9ub3RfdGhyb3dpbmcoZnVuY3Rpb24oKSB7IHcuZm9j
dXMoKTsgfSwgIkNhbGxpbmcgZm9jdXMoKSBvbiBXaW5kb3cgc2hvdWxkIHNob3VsZCB0aHJvdyIp
OworICAgIGFzc2VydF9ub3RfdGhyb3dpbmcoZnVuY3Rpb24oKSB7IHcucG9zdE1lc3NhZ2UoJ3Rl
c3QnLCAnKicpOyB9LCAiQ2FsbGluZyBwb3N0TWVzc2FnZSgpIG9uIFdpbmRvdyBzaG91bGQgc2hv
dWxkIHRocm93Iik7Cit9CisKK2Z1bmN0aW9uIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCBoZWFk
ZXJWYWx1ZSwgaXNDcm9zc09yaWdpbikKK3sKKyAgICBpZiAoIWlzQ3Jvc3NPcmlnaW4pIHsKKyAg
ICAgICAgY2hlY2tDcm9zc09yaWdpblByb3BlcnRpZXNBY2Nlc3Modyk7CisgICAgICAgIGZvciAo
bGV0IGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NPcmlnaW4gb2YgZm9yYmlkZGVuUHJvcGVydGllc0Ny
b3NzT3JpZ2luKQorICAgICAgICAgICAgYXNzZXJ0X25vdF90aHJvd2luZyhmdW5jdGlvbigpIHsg
ZXZhbCgidy4iICsgZm9yYmlkZGVuUHJvcGVydHlDcm9zc09yaWdpbik7IH0sICJBY2Nlc3Npbmcg
cHJvcGVydHkgJyIgKyBmb3JiaWRkZW5Qcm9wZXJ0eUNyb3NzT3JpZ2luICsgIicgb24gV2luZG93
IHNob3VsZCBub3QgdGhyb3ciKTsKKyAgICAgICAgYXNzZXJ0X25vdF90aHJvd2luZyhmdW5jdGlv
bigpIHsgdy5mb28gPSAxOyB9LCAiU2V0dGluZyBleHBhbmRvIHByb3BlcnR5IHNob3VsZCBub3Qg
dGhyb3ciKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh3LmZvbywgMSwgImV4cGFuZG8gcHJvcGVy
dHkgdmFsdWUiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIENyb3NzLW9yaWdp
biBjYXNlLgorICAgIGZvciAobGV0IGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NPcmlnaW4gb2YgZm9y
YmlkZGVuUHJvcGVydGllc0Nyb3NzT3JpZ2luKSB7CisgICAgICAgIGFzc2VydF90aHJvd3MoIlNl
Y3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZXZhbCgidy4iICsgZm9yYmlkZGVuUHJvcGVydHlD
cm9zc09yaWdpbik7IH0sICJBY2Nlc3NpbmcgcHJvcGVydHkgJyIgKyBmb3JiaWRkZW5Qcm9wZXJ0
eUNyb3NzT3JpZ2luICsgIicgb24gV2luZG93IHNob3VsZCB0aHJvdyIpOworICAgICAgICBsZXQg
ZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCBmb3JiaWRkZW5Q
cm9wZXJ0eUNyb3NzT3JpZ2luKTsKKyAgICAgICAgaWYgKGRlc2MgJiYgZGVzYy52YWx1ZSkKKyAg
ICAgICAgICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVz
Yy52YWx1ZS5jYWxsKHcpOyB9LCAiQ2FsbGluZyBmdW5jdGlvbiAnIiArIGZvcmJpZGRlblByb3Bl
cnR5Q3Jvc3NPcmlnaW4gKyAiJyBvbiBXaW5kb3cgc2hvdWxkIHRocm93ICh1c2luZyBnZXR0ZXIg
ZnJvbSBvdGhlciB3aW5kb3cpIik7CisgICAgICAgIGVsc2UgaWYgKGRlc2MgJiYgZGVzYy5nZXQp
CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7
IGRlc2MuZ2V0LmNhbGwodyk7IH0sICJBY2Nlc3NpbmcgcHJvcGVydHkgJyIgKyBmb3JiaWRkZW5Q
cm9wZXJ0eUNyb3NzT3JpZ2luICsgIicgb24gV2luZG93IHNob3VsZCB0aHJvdyAodXNpbmcgZ2V0
dGVyIGZyb20gb3RoZXIgd2luZG93KSIpOworICAgIH0KKyAgICBhc3NlcnRfdGhyb3dzKCJTZWN1
cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IHcuZm9vID0gMTsgfSwgIlNldHRpbmcgYW4gZXhwYW5k
byBwcm9wZXJ0eSBzaG91bGQgdGhyb3ciKTsKKworICAgIGlmIChoZWFkZXJWYWx1ZSA9PSAiZGVu
eSIgfHwgaGVhZGVyVmFsdWUgPT0gImFsbG93LXBvc3RtZXNzYWdlIikgeworICAgICAgICBmb3Ig
KGxldCBjcm9zc09yaWdpblByb3BlcnR5TmFtZSBvZiBjcm9zc09yaWdpblByb3BlcnR5TmFtZXMp
IHsKKyAgICAgICAgICAgIGlmIChoZWFkZXJWYWx1ZSA9PSAiYWxsb3ctcG9zdG1lc3NhZ2UiICYm
IGNyb3NzT3JpZ2luUHJvcGVydHlOYW1lID09ICJwb3N0TWVzc2FnZSIpIHsKKyAgICAgICAgICAg
ICAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3W2Nyb3NzT3JpZ2luUHJvcGVy
dHlOYW1lXTsgfSwgIkFjY2Vzc2luZyBwcm9wZXJ0eSAnIiArIGNyb3NzT3JpZ2luUHJvcGVydHlO
YW1lICsiJyBvbiBXaW5kb3cgc2hvdWxkIG5vdCB0aHJvdyIpOworICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rp
b24oKSB7IHdbY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVdOyB9LCAiQWNjZXNzaW5nICciICsgY3Jv
c3NPcmlnaW5Qcm9wZXJ0eU5hbWUgKyAiJyBwcm9wZXJ0eSIpOworCisgICAgICAgICAgICAgICAg
bGV0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgY3Jvc3NP
cmlnaW5Qcm9wZXJ0eU5hbWUpOworICAgICAgICAgICAgICAgIGlmIChkZXNjICYmIGRlc2MudmFs
dWUpCisgICAgICAgICAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBm
dW5jdGlvbigpIHsgZGVzYy52YWx1ZS5jYWxsKHcpOyB9LCAiQ2FsbGluZyBmdW5jdGlvbiAnIiAr
IGNyb3NzT3JpZ2luUHJvcGVydHlOYW1lICsgIicgb24gV2luZG93IHNob3VsZCB0aHJvdyAodXNp
bmcgZ2V0dGVyIGZyb20gb3RoZXIgd2luZG93KSIpOworICAgICAgICAgICAgICAgIGVsc2UgaWYg
KGRlc2MgJiYgZGVzYy5nZXQpCisgICAgICAgICAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIlNl
Y3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVzYy5nZXQuY2FsbCh3KTsgfSwgIkFjY2Vzc2lu
ZyBwcm9wZXJ0eSAnIiArIGNyb3NzT3JpZ2luUHJvcGVydHlOYW1lICsgIicgb24gV2luZG93IHNo
b3VsZCB0aHJvdyAodXNpbmcgZ2V0dGVyIGZyb20gb3RoZXIgd2luZG93KSIpOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICAgIGlmIChoZWFkZXJWYWx1ZSA9PSAiYWxsb3ctcG9zdG1l
c3NhZ2UiKSB7CisgICAgICAgICAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3
LnBvc3RNZXNzYWdlKCd0ZXN0JywgJyonKTsgfSwgIkNhbGxpbmcgcG9zdE1lc3NhZ2UoKSBvbiBX
aW5kb3cgc2hvdWxkIG5vdCB0aHJvdyIpOworICAgICAgICAgICAgYXNzZXJ0X25vdF90aHJvd2lu
ZyhmdW5jdGlvbigpIHsgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdw
b3N0TWVzc2FnZScpLnZhbHVlLmNhbGwodywgJ3Rlc3QnLCAnKicpOyB9LCAiQ2FsbGluZyBwb3N0
TWVzc2FnZSgpIG9uIFdpbmRvdyBzaG91bGQgbm90IHRocm93ICh1c2luZyBnZXR0ZXIgZnJvbSBv
dGhlciB3aW5kb3cpIik7CisgICAgICAgIH0KKworICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHcpLnNvcnQoKSwgaGVhZGVyVmFsdWUgPT0gImFs
bG93LXBvc3RtZXNzYWdlIiA/IFsncG9zdE1lc3NhZ2UnXSA6IFtdLCAiT2JqZWN0LmdldE93blBy
b3BlcnR5TmFtZXMoKSIpOworCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhc3NlcnRf
YXJyYXlfZXF1YWxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHcpLnNvcnQoKSwgY3Jvc3NP
cmlnaW5Qcm9wZXJ0eU5hbWVzLnNvcnQoKSwgIk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKCki
KTsKKyAgICBjaGVja0Nyb3NzT3JpZ2luUHJvcGVydGllc0FjY2Vzcyh3KTsKK30KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9u
cy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFuY2hvci10YXJnZXQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25z
L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmNGZmNGVmNDRkNjdkMmRkY2E1YTMzMTQ3
NTViZmFkYjg5MmIyYmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRp
b25zL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3Ig
ZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2lu
LW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1
ZT1kZW55JnRhcmdldD1fdG9wJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4x
Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJl
bnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fdG9wJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93
ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdF
OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZy
YW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1v
cHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9
ZGVueSZ0YXJnZXQ9X3RvcCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4
ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50
LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2Vk
IGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9u
IGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1v
cmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5
P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fdG9wJyBmcm9tIGZyYW1lIHdpdGggVVJM
ICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291
cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fdG9wJy4gTmF2aWdh
dGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4K
LQotQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRl
IG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2Vi
S2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJh
bWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PV90b3AnIGZyb20gZnJh
bWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9w
dGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV90
b3AnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlv
bnMgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0
IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6
Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25h
dmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1fcGFyZW50
JyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3Nz
LW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1s
P3RhcmdldD1fcGFyZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3Nz
LU9yaWdpbi1PcHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNj
cmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNl
cy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3Bh
cmVudCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9j
cm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3Iu
aHRtbD90YXJnZXQ9X3BhcmVudCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBD
cm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDog
VW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFt
ZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0
aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFs
bG93LXBvc3RtZXNzYWdlJnRhcmdldD1fcGFyZW50JyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRw
Oi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9u
YXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fcGFyZW50Jy4gTmF2aWdhdGlv
biB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4KLQot
Q09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5h
dmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUt
ZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PV9wYXJlbnQnIGZyb20gZnJh
bWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9w
dGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV9w
YXJlbnQnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9w
dGlvbnMgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2Ny
aXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0
dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2Vz
L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1mb28x
JyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3Nz
LW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1s
P3RhcmdldD1mb28xJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9y
aWdpbi1PcHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlw
dCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRw
Oi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9u
YXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9Zm9vMScg
ZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1v
cmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90
YXJnZXQ9Zm9vMScuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1Pcmln
aW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEph
dmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVS
TCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNv
dXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3Rt
ZXNzYWdlJnRhcmdldD1mb28yJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4x
Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJl
bnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1mb28yJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93
ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdF
OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZy
YW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1v
cHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9
YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PWZvbzInIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6
Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25h
dmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PWZvbzInLiBOYXZpZ2F0aW9uIHdh
cyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgotCi0KLVBB
U1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20g
Y3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV90b3A+KSAKLVBBU1MgJ0Ny
b3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMgbmF2aWdhdGlv
biBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fdG9wPikgCi1Q
QVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdh
dGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fdG9wPikg
Ci1QQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueScgcHJldmVudHMgbmF2aWdhdGlvbiBm
cm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fcGFyZW50PikgCi1Q
QVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5h
dmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3Bh
cmVudD4pIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93JyBkb2VzIG5vdCBwcmV2
ZW50IG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJn
ZXQ9X3BhcmVudD4pIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGRlbnknIHByZXZlbnRz
IG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9
d2luZG93TmFtZSkgCi1QQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3Nh
Z2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2lu
ZyA8YSB0YXJnZXQ9d2luZG93TmFtZSkgCi1QQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxs
b3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJh
bWUgKHVzaW5nIDxhIHRhcmdldD13aW5kb3dOYW1lPikgCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3drMi9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9uYXZp
Z2F0aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFuY2hvci10YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2syL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5
L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZGY0ZmY0ZWY0NGQ2N2QyZGRjYTVhMzMxNDc1NWJmYWRiODkyYjJiZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9odHRwL3dwdC9jcm9zcy1v
cmlnaW4td2luZG93LXBvbGljeS9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFuY2hvci10
YXJnZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzUgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZv
ciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmln
aW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3Zh
bHVlPWRlbnkmdGFyZ2V0PV90b3AnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4w
LjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBh
cmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV90b3AnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxs
b3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgorCitDT05TT0xFIE1FU1NB
R0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3Ig
ZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2lu
LW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1
ZT1kZW55JnRhcmdldD1fdG9wJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4x
Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJl
bnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fdG9wJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93
ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4KKworQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRp
b24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3Nz
LW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUu
cHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PV90b3AnIGZyb20gZnJhbWUgd2l0aCBV
UkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVz
b3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV90b3AnLiBOYXZp
Z2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVy
LgorCitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlh
dGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9X
ZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJm
cmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0YXJnZXQ9X3RvcCcgZnJvbSBm
cmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4t
b3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9
X3RvcCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0
aW9ucyBoZWFkZXIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3Jp
cHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0
cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMv
bmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PV9wYXJl
bnQnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jv
c3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0
bWw/dGFyZ2V0PV9wYXJlbnQnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jv
c3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZh
U2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwg
J2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3Vy
Y2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1f
cGFyZW50JyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hv
ci5odG1sP3RhcmdldD1fcGFyZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRv
IENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0
OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZy
YW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1v
cHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9
YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PV9wYXJlbnQnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0
dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2Vz
L25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV9wYXJlbnQnLiBOYXZpZ2F0
aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgor
CitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUg
bmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJL
aXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFt
ZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0YXJnZXQ9X3BhcmVudCcgZnJvbSBm
cmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4t
b3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9
X3BhcmVudCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4t
T3B0aW9ucyBoZWFkZXIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFT
Y3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAn
aHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJj
ZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PWZv
bzEnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jv
c3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0
bWw/dGFyZ2V0PWZvbzEnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3Mt
T3JpZ2luLU9wdGlvbnMgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZhU2Ny
aXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0
dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2Vz
L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1mb28x
JyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3Nz
LW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1s
P3RhcmdldD1mb28xJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9y
aWdpbi1PcHRpb25zIGhlYWRlci4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUg
SmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGgg
VVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jl
c291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9z
dG1lc3NhZ2UmdGFyZ2V0PWZvbzInIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4w
LjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBh
cmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PWZvbzInLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxs
b3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgorCitDT05TT0xFIE1FU1NB
R0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3Ig
ZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2lu
LW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1
ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0YXJnZXQ9Zm9vMicgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0
cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMv
bmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9Zm9vMicuIE5hdmlnYXRpb24g
d2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCisKKwor
UEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJv
bSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3RvcD4pIAorUEFTUyAn
Q3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0
aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV90b3A+KSAK
K1BBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdycgZG9lcyBub3QgcHJldmVudCBuYXZp
Z2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV90b3A+
KSAKK1BBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9u
IGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV9wYXJlbnQ+KSAK
K1BBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMg
bmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1f
cGFyZW50PikgCitQQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIGRvZXMgbm90IHBy
ZXZlbnQgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRh
cmdldD1fcGFyZW50PikgCitQQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueScgcHJldmVu
dHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdl
dD13aW5kb3dOYW1lKSAKK1BBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0bWVz
c2FnZScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVz
aW5nIDxhIHRhcmdldD13aW5kb3dOYW1lKSAKK1BBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBh
bGxvdycgZG9lcyBub3QgcHJldmVudCBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1m
cmFtZSAodXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWU+KSAKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341932</attachid>
            <date>2018-06-04 16:00:54 -0700</date>
            <delta_ts>2018-06-04 20:31:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186287-20180604160053.patch</filename>
            <type>text/plain</type>
            <size>157133</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyNDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmViZTBiOWExYTUxZmFj
YzYwYjUyNGJjNGY2OWFhMjA3ZDg3ZWZiYS4uMjE5OWY1NDA5NDI5ZDkyMjJiODg5ZDdkMzc0NDM3
YTVmODJiNWU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE4LTA2LTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lICJDcm9zcy1Pcmln
aW4tT3B0aW9ucyIgSFRUUCBoZWFkZXIgdG8gIkNyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5Igor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg2Mjg3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MDc4MzM1Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDcm9zc09yaWdpbldpbmRvd1BvbGljeQorCisgICAg
ICAgIFRlc3RzOiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0
bWVzc2FnZS1mcm9tLWRlbnkuaHRtbAorICAgICAgICAgICAgICAgaHR0cC93cHQvY3Jvc3Mtb3Jp
Z2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UuaHRtbAorICAgICAgICAgICAgICAg
aHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3ktaGVhZGVyLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWwK
KyAgICAgICAgICAgICAgIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmln
YXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC5odG1sCisKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0RPTUJpbmRpbmdTZWN1cml0eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpC
aW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3dHaXZlbk1pbmltdW1D
cm9zc09yaWdpbldpbmRvd1BvbGljeSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5k
aW5nU2VjdXJpdHkuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjplZmZlY3RpdmVDcm9zc09yaWdpbldpbmRvd1BvbGljeUZv
ckFjY2Vzcyk6CisgICAgICAgIChXZWJDb3JlOjpqc0RPTVdpbmRvd0dldE93blByb3BlcnR5U2xv
dFJlc3RyaWN0ZWRBY2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OmdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6YWRkQ3Jvc3NPcmlnaW5X
aW5kb3dQcm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OmFkZFNjb3BlZENoaWxkcmVu
SW5kZXhlcyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06
CisgICAgICAgIChHZW5lcmF0ZUF0dHJpYnV0ZUdldHRlckJvZHlEZWZpbml0aW9uKToKKyAgICAg
ICAgKEdldENyb3NzT3JpZ2luc09wdGlvbnNGcm9tRXh0ZW5kZWRBdHRyaWJ1dGVWYWx1ZSk6Cisg
ICAgICAgIChHZW5lcmF0ZUF0dHJpYnV0ZVNldHRlckJvZHlEZWZpbml0aW9uKToKKyAgICAgICAg
KEdlbmVyYXRlT3BlcmF0aW9uQm9keURlZmluaXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvSURMQXR0cmlidXRlcy5qc29uOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y2FuTmF2aWdhdGUpOgorICAgICAgICAqIGxvYWRl
ci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6ZGlkQmVn
aW5Eb2N1bWVudCk6CisgICAgICAgICogcGFnZS9BYnN0cmFjdERPTVdpbmRvdy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBYnN0cmFjdERPTVdpbmRvdzo6QWJzdHJhY3RET01XaW5kb3cpOgorICAg
ICAgICAqIHBhZ2UvQWJzdHJhY3RET01XaW5kb3cuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFic3Ry
YWN0RE9NV2luZG93Ojpjcm9zc09yaWdpbldpbmRvd1BvbGljeSk6CisgICAgICAgIChXZWJDb3Jl
OjpBYnN0cmFjdERPTVdpbmRvdzo6c2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kpOgorICAgICAg
ICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLnlhbWw6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9IVFRQSGVhZGVyTmFtZXMuaW46CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYXJz
ZUNyb3NzT3JpZ2luV2luZG93UG9saWN5SGVhZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL0hUVFBQYXJzZXJzLmg6CisKIDIwMTgtMDYtMDQgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNA
YXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBTdHJvbmcgUGFzc3dvcmQgYXBwZWFyYW5jZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCA3YTAxMWI4Mzc1MWNhZTY3YTVhNmIzNmUwYmYwZWE0NDM3Y2YxZDg1Li45YTYz
MjZjN2U4YjAzZDZkMzAyMDc4MjQwOGNkZDcyZGNkYmI1MWFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDE4LTA2LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmVuYW1lICJDcm9zcy1PcmlnaW4tT3B0aW9ucyIgSFRUUCBoZWFkZXIgdG8gIkNyb3Nz
LU9yaWdpbi1XaW5kb3ctUG9saWN5IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg2Mjg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MDc4MzM1Mj4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJl
ZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZnJhbWVCZWNhbWVSZW1vdGUpOgor
CiAyMDE4LTA2LTA0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXZWJLaXQgb24gd2F0Y2hPU10gUmVtb3ZlIGFsbCB1c2VzIG9mIHRoZSBFWFRSQV9a
T09NX01PREUgY29tcGlsZXIgZmxhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDE3
YTFkNDQ3YjMyNTdmY2U4ZWRlZjAyYmE2ODU5MDMzOTM1MDc4OTIuLmExNTkzZTA1M2IxYzk2MTcy
YmJkMzJlNTUxM2EyZjdlOTk1ZTljMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMCBAQAorMjAxOC0wNi0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCisgICAgICAgIFJlbmFtZSAiQ3Jvc3MtT3JpZ2luLU9wdGlvbnMiIEhUVFAgaGVhZGVyIHRv
ICJDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjI4NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDA3
ODMzNTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVd
KToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBw
b3J0RW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRDcm9zc09yaWdpbldp
bmRvd1BvbGljeVN1cHBvcnRFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAo
LVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTgtMDYtMDIgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gVXBkYXRlIHNvbWUgY29k
ZSB0byBiZSBtb3JlIEFSQy1jb21wYXRpYmxlIHRvIHByZXBhcmUgZm9yIGZ1dHVyZSBBUkMgYWRv
cHRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCA3YTY5NTc3YmNjZGI2YWQ5MTQ2
YjAyZWQ1NDgzNTZlZjgwMjJiNzA0Li4wMWVhOWJjYzliNDE4MjgzMDlmNmM2NzM4MTZmMGNjNzM5
MDc3NmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIw
MTgtMDYtMDQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZW5h
bWUgIkNyb3NzLU9yaWdpbi1PcHRpb25zIiBIVFRQIGhlYWRlciB0byAiQ3Jvc3MtT3JpZ2luLVdp
bmRvdy1Qb2xpY3kiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODYyODcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQwNzgzMzUyPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJl
bmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNl
czo6Y3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZCk6CisgICAgICAgIChXZWJQ
cmVmZXJlbmNlczo6c2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZCk6Cisg
ICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAg
ICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKIDIwMTgtMDUtMzAgIFl1
c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0pTQ10gUGFz
cyBWTSYgcGFyYW1ldGVyIGFzIG11Y2ggYXMgcG9zc2libGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZ1NlY3VyaXR5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZ1NlY3VyaXR5LmNwcAppbmRleCAyYjY3NTg1MTE2
MDQxNDYwODVjM2IwZjllZTFhMGVmYmFmYTQxMmEwLi5mMmQ5OGJiMzUyZDYxZWZlNjVmY2QzZWI2
MzAwODg5OWYzYzdiNTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmdTZWN1cml0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01CaW5kaW5nU2VjdXJpdHkuY3BwCkBAIC0xMDAsMTYgKzEwMCwxNiBAQCBib29sIEJpbmRp
bmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb05vZGUoSlNDOjpFeGVjU3RhdGUmIHN0YXRl
LCBOb2RlKiB0YXJnZQogICAgIHJldHVybiAhdGFyZ2V0IHx8IGNhbkFjY2Vzc0RvY3VtZW50KCZz
dGF0ZSwgJnRhcmdldC0+ZG9jdW1lbnQoKSwgTG9nU2VjdXJpdHlFcnJvcik7CiB9CiAKLWJvb2wg
QmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93R2l2ZW5NaW5pbXVt
Q3Jvc3NPcmlnaW5PcHRpb25zKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgRE9NV2luZG93JiB0YXJn
ZXQsIENyb3NzT3JpZ2luT3B0aW9ucyBtaW5pbXVtQ3Jvc3NPcmlnaW5PcHRpb25zLCBTZWN1cml0
eVJlcG9ydGluZ09wdGlvbiByZXBvcnRpbmdPcHRpb24pCitib29sIEJpbmRpbmdTZWN1cml0eTo6
c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dpdmVuTWluaW11bUNyb3NzT3JpZ2luV2luZG93
UG9saWN5KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgRE9NV2luZG93JiB0YXJnZXQsIENyb3NzT3Jp
Z2luV2luZG93UG9saWN5IG1pbmltdW1Dcm9zc09yaWdpbldpbmRvd1BvbGljeSwgU2VjdXJpdHlS
ZXBvcnRpbmdPcHRpb24gcmVwb3J0aW5nT3B0aW9uKQogewogICAgIERPTVdpbmRvdyYgc291cmNl
ID0gYWN0aXZlRE9NV2luZG93KCpzdGF0ZSk7Ci0gICAgQVNTRVJUKG1pbmltdW1Dcm9zc09yaWdp
bk9wdGlvbnMgPiBDcm9zc09yaWdpbk9wdGlvbnM6OkRlbnkpOworICAgIEFTU0VSVChtaW5pbXVt
Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kgPiBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6RGVueSk7
CiAKLSAgICBzdGF0aWNfYXNzZXJ0KENyb3NzT3JpZ2luT3B0aW9uczo6RGVueSA8IENyb3NzT3Jp
Z2luT3B0aW9uczo6QWxsb3dQb3N0TWVzc2FnZSAmJiBDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93
UG9zdE1lc3NhZ2UgPCBDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93LCAiTW9yZSByZXN0cmljdGl2
ZSBjcm9zcy1vcmlnaW4gb3B0aW9ucyBzaG91bGQgaGF2ZSBsb3dlciB2YWx1ZXMiKTsKKyAgICBz
dGF0aWNfYXNzZXJ0KENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpEZW55IDwgQ3Jvc3NPcmlnaW5X
aW5kb3dQb2xpY3k6OkFsbG93UG9zdE1lc3NhZ2UgJiYgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6
OkFsbG93UG9zdE1lc3NhZ2UgPCBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3csICJNb3Jl
IHJlc3RyaWN0aXZlIGNyb3NzLW9yaWdpbiBvcHRpb25zIHNob3VsZCBoYXZlIGxvd2VyIHZhbHVl
cyIpOwogCiAgICAgLy8gRmFzdCBwYXRoLgotICAgIGF1dG8gZWZmZWN0aXZlQ3Jvc3NPcmlnaW5P
cHRpb25zID0gc3RkOjptaW4oc291cmNlLmNyb3NzT3JpZ2luT3B0aW9ucygpLCB0YXJnZXQuY3Jv
c3NPcmlnaW5PcHRpb25zKCkpOwotICAgIGlmIChlZmZlY3RpdmVDcm9zc09yaWdpbk9wdGlvbnMg
Pj0gbWluaW11bUNyb3NzT3JpZ2luT3B0aW9ucykKKyAgICBhdXRvIGVmZmVjdGl2ZUNyb3NzT3Jp
Z2luV2luZG93UG9saWN5ID0gc3RkOjptaW4oc291cmNlLmNyb3NzT3JpZ2luV2luZG93UG9saWN5
KCksIHRhcmdldC5jcm9zc09yaWdpbldpbmRvd1BvbGljeSgpKTsKKyAgICBpZiAoZWZmZWN0aXZl
Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kgPj0gbWluaW11bUNyb3NzT3JpZ2luV2luZG93UG9saWN5
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIHJldHVybiBzaG91bGRBbGxvd0FjY2Vzc1Rv
RE9NV2luZG93KHN0YXRlLCB0YXJnZXQsIHJlcG9ydGluZ09wdGlvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmdTZWN1cml0eS5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nU2VjdXJpdHkuaAppbmRleCA1YzJhZjk5
ODg1N2YzOWQ3M2NmN2FhMGEyNDU3MzViOTZlNDU0ZjE1Li4xNzA0NjJlMGI1NDEyZDIyZTIxMTUx
MGU5YTAxZTQxZGNjZjZkYzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmdTZWN1cml0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NQmluZGluZ1NlY3VyaXR5LmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgRE9NV2luZG93
OwogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1lbnVtIGNsYXNzIENyb3NzT3JpZ2luT3B0
aW9uczsKK2VudW0gY2xhc3MgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k7CiAKIHZvaWQgcHJpbnRF
cnJvck1lc3NhZ2VGb3JGcmFtZShGcmFtZSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7CiAKQEAg
LTU1LDcgKzU1LDcgQEAgYm9vbCBzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoSlNDOjpFeGVjU3Rh
dGUqLCBGcmFtZSosIFNlY3VyaXR5UmVwb3J0aW5nT3B0aW9uID0KIGJvb2wgc2hvdWxkQWxsb3dB
Y2Nlc3NUb0ZyYW1lKEpTQzo6RXhlY1N0YXRlJiwgRnJhbWUmLCBTdHJpbmcmIG1lc3NhZ2UpOwog
Ym9vbCBzaG91bGRBbGxvd0FjY2Vzc1RvTm9kZShKU0M6OkV4ZWNTdGF0ZSYsIE5vZGUqKTsKIAot
Ym9vbCBzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93R2l2ZW5NaW5pbXVtQ3Jvc3NPcmlnaW5P
cHRpb25zKEpTQzo6RXhlY1N0YXRlKiwgRE9NV2luZG93JiwgQ3Jvc3NPcmlnaW5PcHRpb25zLCBT
ZWN1cml0eVJlcG9ydGluZ09wdGlvbiA9IExvZ1NlY3VyaXR5RXJyb3IpOworYm9vbCBzaG91bGRB
bGxvd0FjY2Vzc1RvRE9NV2luZG93R2l2ZW5NaW5pbXVtQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3ko
SlNDOjpFeGVjU3RhdGUqLCBET01XaW5kb3cmLCBDcm9zc09yaWdpbldpbmRvd1BvbGljeSwgU2Vj
dXJpdHlSZXBvcnRpbmdPcHRpb24gPSBMb2dTZWN1cml0eUVycm9yKTsKIAogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDVk
YjFkNWNjYmUxZmU4YjdmYTI5ZDM5ZmFhZGIzODgxM2JlYWU4YmUuLmQ5OTkzOTNlY2U4Mzc2ZDQ1
YTg3MTUxYjlmOWViZmQ2NjY3MzQ5OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTU2LDEwICs1NiwxMCBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAotc3RhdGljIENyb3NzT3JpZ2luT3B0
aW9ucyBlZmZlY3RpdmVDcm9zc09yaWdpbk9wdGlvbnNGb3JBY2Nlc3MoRXhlY1N0YXRlJiBzdGF0
ZSwgQWJzdHJhY3RET01XaW5kb3cmIHRhcmdldCkKK3N0YXRpYyBDcm9zc09yaWdpbldpbmRvd1Bv
bGljeSBlZmZlY3RpdmVDcm9zc09yaWdpbldpbmRvd1BvbGljeUZvckFjY2VzcyhFeGVjU3RhdGUm
IHN0YXRlLCBBYnN0cmFjdERPTVdpbmRvdyYgdGFyZ2V0KQogewotICAgIHN0YXRpY19hc3NlcnQo
Q3Jvc3NPcmlnaW5PcHRpb25zOjpEZW55IDwgQ3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvd1Bvc3RN
ZXNzYWdlICYmIENyb3NzT3JpZ2luT3B0aW9uczo6QWxsb3dQb3N0TWVzc2FnZSA8IENyb3NzT3Jp
Z2luT3B0aW9uczo6QWxsb3csICJNb3JlIHJlc3RyaWN0aXZlIGNyb3NzLW9yaWdpbiBvcHRpb25z
IHNob3VsZCBoYXZlIGxvd2VyIHZhbHVlcyIpOwotICAgIHJldHVybiBzdGQ6Om1pbihhY3RpdmVE
T01XaW5kb3coc3RhdGUpLmNyb3NzT3JpZ2luT3B0aW9ucygpLCB0YXJnZXQuY3Jvc3NPcmlnaW5P
cHRpb25zKCkpOworICAgIHN0YXRpY19hc3NlcnQoQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkRl
bnkgPCBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3dQb3N0TWVzc2FnZSAmJiBDcm9zc09y
aWdpbldpbmRvd1BvbGljeTo6QWxsb3dQb3N0TWVzc2FnZSA8IENyb3NzT3JpZ2luV2luZG93UG9s
aWN5OjpBbGxvdywgIk1vcmUgcmVzdHJpY3RpdmUgY3Jvc3Mtb3JpZ2luIG9wdGlvbnMgc2hvdWxk
IGhhdmUgbG93ZXIgdmFsdWVzIik7CisgICAgcmV0dXJuIHN0ZDo6bWluKGFjdGl2ZURPTVdpbmRv
dyhzdGF0ZSkuY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3koKSwgdGFyZ2V0LmNyb3NzT3JpZ2luV2lu
ZG93UG9saWN5KCkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzRE9NV2lu
ZG93SW5zdGFuY2VGdW5jdGlvblNob3dNb2RhbERpYWxvZyhFeGVjU3RhdGUqKTsKQEAgLTEwMCwx
OCArMTAwLDE4IEBAIGJvb2wganNET01XaW5kb3dHZXRPd25Qcm9wZXJ0eVNsb3RSZXN0cmljdGVk
QWNjZXNzKEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0CiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KIAotICAgIHN3aXRjaCAoZWZmZWN0aXZlQ3Jvc3NPcmlnaW5PcHRpb25zRm9yQWNj
ZXNzKHN0YXRlLCB3aW5kb3cpKSB7Ci0gICAgY2FzZSBDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93
UG9zdE1lc3NhZ2U6CisgICAgc3dpdGNoIChlZmZlY3RpdmVDcm9zc09yaWdpbldpbmRvd1BvbGlj
eUZvckFjY2VzcyhzdGF0ZSwgd2luZG93KSkgeworICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3k6OkFsbG93UG9zdE1lc3NhZ2U6CiAgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPT0gYnVp
bHRpbk5hbWVzLnBvc3RNZXNzYWdlUHVibGljTmFtZSgpKSB7CiAgICAgICAgICAgICBzbG90LnNl
dEN1c3RvbSh0aGlzT2JqZWN0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIHdp
bmRvd1R5cGUgPT0gRE9NV2luZG93VHlwZTo6UmVtb3RlID8gbm9uQ2FjaGluZ1N0YXRpY0Z1bmN0
aW9uR2V0dGVyPGpzUmVtb3RlRE9NV2luZG93SW5zdGFuY2VGdW5jdGlvblBvc3RNZXNzYWdlLCAw
PiA6IG5vbkNhY2hpbmdTdGF0aWNGdW5jdGlvbkdldHRlcjxqc0RPTVdpbmRvd0luc3RhbmNlRnVu
Y3Rpb25Qb3N0TWVzc2FnZSwgMj4pOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
IH0KICAgICAgICAgRkFMTFRIUk9VR0g7Ci0gICAgY2FzZSBDcm9zc09yaWdpbk9wdGlvbnM6OkRl
bnk6CisgICAgY2FzZSBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6RGVueToKICAgICAgICAgdGhy
b3dTZWN1cml0eUVycm9yKHN0YXRlLCBzY29wZSwgZXJyb3JNZXNzYWdlKTsKICAgICAgICAgc2xv
dC5zZXRVbmRlZmluZWQoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGNhc2UgQ3Jvc3NP
cmlnaW5PcHRpb25zOjpBbGxvdzoKKyAgICBjYXNlIENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpB
bGxvdzoKICAgICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC0yNTMsMTMgKzI1MywxMyBAQCBib29s
IEpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTT2JqZWN0KiBvYmplY3Qs
IEV4ZWNTdGF0ZSogc3RhdGUsCiAKICAgICAvLyAoMSkgRmlyc3QsIGluZGV4ZWQgcHJvcGVydGll
cy4KICAgICAvLyBUaGVzZSBhcmUgYWxzbyBhbGxvd2VkIGNyb3NzLW9yaWdpbiwgc28gY29tZSBi
ZWZvcmUgdGhlIGFjY2VzcyBjaGVjay4KLSAgICBzd2l0Y2ggKGVmZmVjdGl2ZUNyb3NzT3JpZ2lu
T3B0aW9uc0ZvckFjY2Vzcygqc3RhdGUsIHdpbmRvdykpIHsKLSAgICBjYXNlIENyb3NzT3JpZ2lu
T3B0aW9uczo6RGVueToKLSAgICBjYXNlIENyb3NzT3JpZ2luT3B0aW9uczo6QWxsb3dQb3N0TWVz
c2FnZToKKyAgICBzd2l0Y2ggKGVmZmVjdGl2ZUNyb3NzT3JpZ2luV2luZG93UG9saWN5Rm9yQWNj
ZXNzKCpzdGF0ZSwgd2luZG93KSkgeworICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6
OkRlbnk6CisgICAgY2FzZSBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3dQb3N0TWVzc2Fn
ZToKICAgICAgICAgaWYgKGlzQ3Jvc3NPcmlnaW5BY2Nlc3MoKSkKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBGQUxMVEhST1VHSDsKLSAgICBjYXNlIENyb3NzT3JpZ2luT3B0aW9uczo6QWxs
b3c6CisgICAgY2FzZSBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3c6CiAgICAgICAgIGlm
IChmcmFtZSAmJiBpbmRleCA8IGZyYW1lLT50cmVlKCkuc2NvcGVkQ2hpbGRDb3VudCgpKSB7CiAg
ICAgICAgICAgICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3QsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSksIHRvSlMoc3RhdGUsIGZyYW1lLT50
cmVlKCkuc2NvcGVkQ2hpbGQoaW5kZXgpLT5kb2N1bWVudCgpLT5kb21XaW5kb3coKSkpOwogICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0zNDgsMTUgKzM0OCwxNSBAQCBzdGF0aWMgdm9pZCBh
ZGRDcm9zc09yaWdpbldpbmRvd1Byb3BlcnR5TmFtZXMoRXhlY1N0YXRlJiBzdGF0ZSwgQWJzdHJh
Y3RET01XaW5kbwogICAgICAgICAmc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGll
bnREYXRhKS0+YnVpbHRpbk5hbWVzKCkud2luZG93UHVibGljTmFtZSgpCiAgICAgfTsKIAotICAg
IHN3aXRjaCAoZWZmZWN0aXZlQ3Jvc3NPcmlnaW5PcHRpb25zRm9yQWNjZXNzKHN0YXRlLCB3aW5k
b3cpKSB7Ci0gICAgY2FzZSBDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93OgorICAgIHN3aXRjaCAo
ZWZmZWN0aXZlQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lGb3JBY2Nlc3Moc3RhdGUsIHdpbmRvdykp
IHsKKyAgICBjYXNlIENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvdzoKICAgICAgICAgZm9y
IChhdXRvKiBwcm9wZXJ0eSA6IHByb3BlcnRpZXMpCiAgICAgICAgICAgICBwcm9wZXJ0eU5hbWVz
LmFkZCgqcHJvcGVydHkpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENyb3NzT3JpZ2luT3B0
aW9uczo6QWxsb3dQb3N0TWVzc2FnZToKKyAgICBjYXNlIENyb3NzT3JpZ2luV2luZG93UG9saWN5
OjpBbGxvd1Bvc3RNZXNzYWdlOgogICAgICAgICBwcm9wZXJ0eU5hbWVzLmFkZChzdGF0aWNfY2Fz
dDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5wb3N0TWVz
c2FnZVB1YmxpY05hbWUoKSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ3Jvc3NPcmlnaW5P
cHRpb25zOjpEZW55OgorICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkRlbnk6CiAg
ICAgICAgIGJyZWFrOwogICAgIH0KIH0KQEAgLTM3MSwxMSArMzcxLDExIEBAIHN0YXRpYyB2b2lk
IGFkZFNjb3BlZENoaWxkcmVuSW5kZXhlcyhFeGVjU3RhdGUmIHN0YXRlLCBET01XaW5kb3cmIHdp
bmRvdywgUHJvcGVyCiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgc3dp
dGNoIChlZmZlY3RpdmVDcm9zc09yaWdpbk9wdGlvbnNGb3JBY2Nlc3Moc3RhdGUsIHdpbmRvdykp
IHsKLSAgICBjYXNlIENyb3NzT3JpZ2luT3B0aW9uczo6QWxsb3c6CisgICAgc3dpdGNoIChlZmZl
Y3RpdmVDcm9zc09yaWdpbldpbmRvd1BvbGljeUZvckFjY2VzcyhzdGF0ZSwgd2luZG93KSkgewor
ICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93OgogICAgICAgICBicmVhazsK
LSAgICBjYXNlIENyb3NzT3JpZ2luT3B0aW9uczo6RGVueToKLSAgICBjYXNlIENyb3NzT3JpZ2lu
T3B0aW9uczo6QWxsb3dQb3N0TWVzc2FnZToKKyAgICBjYXNlIENyb3NzT3JpZ2luV2luZG93UG9s
aWN5OjpEZW55OgorICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93UG9zdE1l
c3NhZ2U6CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggOTEwMzY5ZDIwNzQ0Njg1
ZGNlYmFhMTM2NGFhY2NhNmFlZTgyNzBjOS4uMGUwNzAxZGNmNzEyM2FhNWVhMjU1ZTA4MDEwMDZj
YTMzYzkzNjZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG0KQEAgLTQ3MDcsOSArNDcwNyw5IEBAIHN1YiBHZW5lcmF0ZUF0dHJp
YnV0ZUdldHRlckJvZHlEZWZpbml0aW9uCiAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJKU0RP
TUJpbmRpbmdTZWN1cml0eS5oIiwgJGNvbmRpdGlvbmFsKTsKICAgICAgICAgaWYgKCRpbnRlcmZh
Y2UtPnR5cGUtPm5hbWUgZXEgIkRPTVdpbmRvdyIpIHsKICAgICAgICAgICAgIGlmICgkYXR0cmli
dXRlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntEb05vdENoZWNrU2VjdXJpdHlJZn0pIHsKLSAgICAg
ICAgICAgICAgICBteSAkY3Jvc3NPcmlnaW5PcHRpb25zID0gR2V0Q3Jvc3NPcmlnaW5zT3B0aW9u
c0Zyb21FeHRlbmRlZEF0dHJpYnV0ZVZhbHVlKCRhdHRyaWJ1dGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+e0RvTm90Q2hlY2tTZWN1cml0eUlmfSk7CisgICAgICAgICAgICAgICAgbXkgJGNyb3NzT3Jp
Z2luV2luZG93UG9saWN5ID0gR2V0Q3Jvc3NPcmlnaW5zT3B0aW9uc0Zyb21FeHRlbmRlZEF0dHJp
YnV0ZVZhbHVlKCRhdHRyaWJ1dGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0RvTm90Q2hlY2tTZWN1
cml0eUlmfSk7CiAgICAgICAgICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkhUVFBQYXJzZXJz
LmgiLCAkY29uZGl0aW9uYWwpOwotICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dp
dmVuTWluaW11bUNyb3NzT3JpZ2luT3B0aW9ucygmc3RhdGUsIHRoaXNPYmplY3Qud3JhcHBlZCgp
LCAkY3Jvc3NPcmlnaW5PcHRpb25zLCBUaHJvd1NlY3VyaXR5RXJyb3IpKVxuIik7CisgICAgICAg
ICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlmICghQmluZGluZ1NlY3VyaXR5Ojpz
aG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93R2l2ZW5NaW5pbXVtQ3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3koJnN0YXRlLCB0aGlzT2JqZWN0LndyYXBwZWQoKSwgJGNyb3NzT3JpZ2luV2luZG93UG9s
aWN5LCBUaHJvd1NlY3VyaXR5RXJyb3IpKVxuIik7CiAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoIUJpbmRpbmdTZWN1cml0
eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdygmc3RhdGUsIHRoaXNPYmplY3Qud3JhcHBl
ZCgpLCBUaHJvd1NlY3VyaXR5RXJyb3IpKVxuIik7CiAgICAgICAgICAgICB9CkBAIC00ODI0LDkg
KzQ4MjQsOSBAQCBzdWIgR2V0Q3Jvc3NPcmlnaW5zT3B0aW9uc0Zyb21FeHRlbmRlZEF0dHJpYnV0
ZVZhbHVlCiB7CiAgICAgbXkgJGV4dGVuZGVkQXR0cmlidXRlVmFsdWUgPSBzaGlmdDsKIAotICAg
IHJldHVybiAiQ3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvdyIgaWYgJGV4dGVuZGVkQXR0cmlidXRl
VmFsdWUgZXEgIkNyb3NzT3JpZ2luT3B0aW9uc0FsbG93IjsKLSAgICByZXR1cm4gIkNyb3NzT3Jp
Z2luT3B0aW9uczo6QWxsb3dQb3N0TWVzc2FnZSIgaWYgJGV4dGVuZGVkQXR0cmlidXRlVmFsdWUg
ZXEgIkNyb3NzT3JpZ2luT3B0aW9uc0FsbG93UG9zdE1lc3NhZ2UiOwotICAgIGRpZSAiVW5zdXBw
b3J0ZWQgQ3Jvc3NPcmlnaW5PcHRpb25zOiAiICsgJGV4dGVuZGVkQXR0cmlidXRlVmFsdWU7Cisg
ICAgcmV0dXJuICJDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3ciIGlmICRleHRlbmRlZEF0
dHJpYnV0ZVZhbHVlIGVxICJDcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93IjsKKyAgICByZXR1
cm4gIkNyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvd1Bvc3RNZXNzYWdlIiBpZiAkZXh0ZW5k
ZWRBdHRyaWJ1dGVWYWx1ZSBlcSAiQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lBbGxvd1Bvc3RNZXNz
YWdlIjsKKyAgICBkaWUgIlVuc3VwcG9ydGVkIENyb3NzT3JpZ2luV2luZG93UG9saWN5OiAiICsg
JGV4dGVuZGVkQXR0cmlidXRlVmFsdWU7CiB9CiAKIHN1YiBHZW5lcmF0ZUF0dHJpYnV0ZVNldHRl
ckJvZHlEZWZpbml0aW9uCkBAIC00ODUyLDkgKzQ4NTIsOSBAQCBzdWIgR2VuZXJhdGVBdHRyaWJ1
dGVTZXR0ZXJCb2R5RGVmaW5pdGlvbgogICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiSlNET01C
aW5kaW5nU2VjdXJpdHkuaCIsICRjb25kaXRpb25hbCk7CiAgICAgICAgIGlmICgkaW50ZXJmYWNl
LT50eXBlLT5uYW1lIGVxICJET01XaW5kb3ciKSB7CiAgICAgICAgICAgICBpZiAoJGF0dHJpYnV0
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57RG9Ob3RDaGVja1NlY3VyaXR5SWZ9KSB7Ci0gICAgICAg
ICAgICAgICAgbXkgJGNyb3NzT3JpZ2luT3B0aW9ucyA9IEdldENyb3NzT3JpZ2luc09wdGlvbnNG
cm9tRXh0ZW5kZWRBdHRyaWJ1dGVWYWx1ZSgkYXR0cmlidXRlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PntEb05vdENoZWNrU2VjdXJpdHlJZn0pOworICAgICAgICAgICAgICAgIG15ICRjcm9zc09yaWdp
bldpbmRvd1BvbGljeSA9IEdldENyb3NzT3JpZ2luc09wdGlvbnNGcm9tRXh0ZW5kZWRBdHRyaWJ1
dGVWYWx1ZSgkYXR0cmlidXRlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntEb05vdENoZWNrU2VjdXJp
dHlJZn0pOwogICAgICAgICAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJIVFRQUGFyc2Vycy5o
IiwgJGNvbmRpdGlvbmFsKTsKLSAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIg
ICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3dHaXZl
bk1pbmltdW1Dcm9zc09yaWdpbk9wdGlvbnMoJnN0YXRlLCB0aGlzT2JqZWN0LndyYXBwZWQoKSwg
JGNyb3NzT3JpZ2luT3B0aW9ucywgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOworICAgICAgICAg
ICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hv
dWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dpdmVuTWluaW11bUNyb3NzT3JpZ2luV2luZG93UG9s
aWN5KCZzdGF0ZSwgdGhpc09iamVjdC53cmFwcGVkKCksICRjcm9zc09yaWdpbldpbmRvd1BvbGlj
eSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6
OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coJnN0YXRlLCB0aGlzT2JqZWN0LndyYXBwZWQo
KSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOwogICAgICAgICAgICAgfQpAQCAtNTA3OSw5ICs1
MDc5LDkgQEAgc3ViIEdlbmVyYXRlT3BlcmF0aW9uQm9keURlZmluaXRpb24KICAgICAgICAgICAg
IEFkZFRvSW1wbEluY2x1ZGVzKCJKU0RPTUJpbmRpbmdTZWN1cml0eS5oIiwgJGNvbmRpdGlvbmFs
KTsKICAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlLT50eXBlLT5uYW1lIGVxICJET01XaW5kb3ci
KSB7CiAgICAgICAgICAgICAgICAgaWYgKCRvcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcy0+
e0RvTm90Q2hlY2tTZWN1cml0eUlmfSkgewotICAgICAgICAgICAgICAgICAgICBteSAkY3Jvc3NP
cmlnaW5PcHRpb25zID0gR2V0Q3Jvc3NPcmlnaW5zT3B0aW9uc0Zyb21FeHRlbmRlZEF0dHJpYnV0
ZVZhbHVlKCRvcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcy0+e0RvTm90Q2hlY2tTZWN1cml0
eUlmfSk7CisgICAgICAgICAgICAgICAgICAgIG15ICRjcm9zc09yaWdpbldpbmRvd1BvbGljeSA9
IEdldENyb3NzT3JpZ2luc09wdGlvbnNGcm9tRXh0ZW5kZWRBdHRyaWJ1dGVWYWx1ZSgkb3BlcmF0
aW9uLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntEb05vdENoZWNrU2VjdXJpdHlJZn0pOwogICAgICAg
ICAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiSFRUUFBhcnNlcnMuaCIsICRjb25kaXRp
b25hbCk7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAo
IUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dpdmVuTWluaW11
bUNyb3NzT3JpZ2luT3B0aW9ucyhzdGF0ZSwgY2FzdGVkVGhpcy0+d3JhcHBlZCgpLCAkY3Jvc3NP
cmlnaW5PcHRpb25zLCBUaHJvd1NlY3VyaXR5RXJyb3IpKVxuIik7CisgICAgICAgICAgICAgICAg
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxk
QWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dpdmVuTWluaW11bUNyb3NzT3JpZ2luV2luZG93UG9saWN5
KHN0YXRlLCBjYXN0ZWRUaGlzLT53cmFwcGVkKCksICRjcm9zc09yaWdpbldpbmRvd1BvbGljeSwg
VGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoIUJpbmRpbmdTZWN1
cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhzdGF0ZSwgY2FzdGVkVGhpcy0+d3Jh
cHBlZCgpLCBUaHJvd1NlY3VyaXR5RXJyb3IpKVxuIik7CiAgICAgICAgICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLmpz
b24gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbgpp
bmRleCAzN2Q2MWUwMjhjZTIyODdmNjFjZWU5YjJiYzI5MDA0MTdjMGEzNzM5Li5hOTk5MWMyODRi
ZmRmZTE4MDllNzBiZGQzNzgxYWEwNzBmZDFjNDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbgpAQCAtMTYzLDcgKzE2Myw3IEBA
CiAgICAgICAgIH0sCiAgICAgICAgICJEb05vdENoZWNrU2VjdXJpdHlJZiI6IHsKICAgICAgICAg
ICAgICJjb250ZXh0c0FsbG93ZWQiOiBbImF0dHJpYnV0ZSIsICJvcGVyYXRpb24iXSwKLSAgICAg
ICAgICAgICJ2YWx1ZXMiOiBbIkNyb3NzT3JpZ2luT3B0aW9uc0FsbG93IiwgIkNyb3NzT3JpZ2lu
T3B0aW9uc0FsbG93UG9zdE1lc3NhZ2UiXQorICAgICAgICAgICAgInZhbHVlcyI6IFsiQ3Jvc3NP
cmlnaW5XaW5kb3dQb2xpY3lBbGxvdyIsICJDcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93UG9z
dE1lc3NhZ2UiXQogICAgICAgICB9LAogICAgICAgICAiRG9Ob3RDaGVja1NlY3VyaXR5T25HZXR0
ZXIiOiB7CiAgICAgICAgICAgICAiY29udGV4dHNBbGxvd2VkIjogWyJhdHRyaWJ1dGUiXQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMDQ1NzZlODhmMjBhOWM4MWVmZGY3MWQ2NWZmZDFjZDg5
NTA1N2JiMi4uNTBkZGM5YTE2MGE2MzdhNDU3YjE2YjAzNjdjZGIyYjNjYzRmNzU5MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0zMTg1LDExICszMTg1LDExIEBAIGJvb2wgRG9jdW1lbnQ6
OmNhbk5hdmlnYXRlKEZyYW1lKiB0YXJnZXRGcmFtZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAK
ICAgICBpZiAobV9mcmFtZSAhPSB0YXJnZXRGcmFtZSkgewotICAgICAgICBhdXRvIHNvdXJjZUNy
b3NzT3JpZ2luT3B0aW9ucyA9IG1fZnJhbWUtPndpbmRvdygpID8gbV9mcmFtZS0+d2luZG93KCkt
PmNyb3NzT3JpZ2luT3B0aW9ucygpIDogQ3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvdzsKLSAgICAg
ICAgYXV0byBkZXN0aW5hdGlvbkNyb3NzT3JpZ2luT3B0aW9ucyA9IHRhcmdldEZyYW1lLT53aW5k
b3coKSA/IHRhcmdldEZyYW1lLT53aW5kb3coKS0+Y3Jvc3NPcmlnaW5PcHRpb25zKCkgOiBDcm9z
c09yaWdpbk9wdGlvbnM6OkFsbG93OwotICAgICAgICBpZiAoc291cmNlQ3Jvc3NPcmlnaW5PcHRp
b25zICE9IENyb3NzT3JpZ2luT3B0aW9uczo6QWxsb3cgfHwgZGVzdGluYXRpb25Dcm9zc09yaWdp
bk9wdGlvbnMgIT0gQ3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvdykgeworICAgICAgICBhdXRvIHNv
dXJjZUNyb3NzT3JpZ2luV2luZG93UG9saWN5ID0gbV9mcmFtZS0+d2luZG93KCkgPyBtX2ZyYW1l
LT53aW5kb3coKS0+Y3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3koKSA6IENyb3NzT3JpZ2luV2luZG93
UG9saWN5OjpBbGxvdzsKKyAgICAgICAgYXV0byBkZXN0aW5hdGlvbkNyb3NzT3JpZ2luV2luZG93
UG9saWN5ID0gdGFyZ2V0RnJhbWUtPndpbmRvdygpID8gdGFyZ2V0RnJhbWUtPndpbmRvdygpLT5j
cm9zc09yaWdpbldpbmRvd1BvbGljeSgpIDogQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93
OworICAgICAgICBpZiAoc291cmNlQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kgIT0gQ3Jvc3NPcmln
aW5XaW5kb3dQb2xpY3k6OkFsbG93IHx8IGRlc3RpbmF0aW9uQ3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3kgIT0gQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93KSB7CiAgICAgICAgICAgICBpZiAo
bV9mcmFtZS0+ZG9jdW1lbnQoKSAmJiB0YXJnZXRGcmFtZS0+ZG9jdW1lbnQoKSAmJiAhbV9mcmFt
ZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS5jYW5BY2Nlc3ModGFyZ2V0RnJhbWUtPmRv
Y3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpKSB7Ci0gICAgICAgICAgICAgICAgcHJpbnROYXZp
Z2F0aW9uRXJyb3JNZXNzYWdlKHRhcmdldEZyYW1lLCB1cmwoKSwgQVNDSUlMaXRlcmFsKCJOYXZp
Z2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVy
LiIpKTsKKyAgICAgICAgICAgICAgICBwcmludE5hdmlnYXRpb25FcnJvck1lc3NhZ2UodGFyZ2V0
RnJhbWUsIHVybCgpLCBBU0NJSUxpdGVyYWwoIk5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1
ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuIikpOwogICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggM2Y1NjkwZjA5ZDg1NTUyYzU2NWJjYTMyNmQwMmI2
ZWJiYmU3M2Q0Zi4uM2ZiNGYyODBmYTA2ZTgwYzYzZDU0OTQ3ODc4MmM0MzU3YmI1NDliNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC03NDcsMTEgKzc0NywxMSBAQCB2
b2lkIEZyYW1lTG9hZGVyOjpkaWRCZWdpbkRvY3VtZW50KGJvb2wgZGlzcGF0Y2gpCiAgICAgICAg
ICAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5zZXRDb250ZW50TGFuZ3VhZ2UoaGVhZGVyQ29u
dGVudExhbmd1YWdlKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChtX2ZyYW1lLnNldHRpbmdz
KCkuY3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQoKSkgewotICAgICAgICAgICAgU3Ry
aW5nIGNyb3NzT3JpZ2luT3B0aW9uc0hlYWRlciA9IG1fZG9jdW1lbnRMb2FkZXItPnJlc3BvbnNl
KCkuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDcm9zc09yaWdpbk9wdGlvbnMpOwot
ICAgICAgICAgICAgaWYgKCFjcm9zc09yaWdpbk9wdGlvbnNIZWFkZXIuaXNOdWxsKCkpIHsKKyAg
ICAgICAgaWYgKG1fZnJhbWUuc2V0dGluZ3MoKS5jcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBv
cnRFbmFibGVkKCkpIHsKKyAgICAgICAgICAgIFN0cmluZyBjcm9zc09yaWdpbldpbmRvd1BvbGlj
eUhlYWRlciA9IG1fZG9jdW1lbnRMb2FkZXItPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKEhU
VFBIZWFkZXJOYW1lOjpDcm9zc09yaWdpbldpbmRvd1BvbGljeSk7CisgICAgICAgICAgICBpZiAo
IWNyb3NzT3JpZ2luV2luZG93UG9saWN5SGVhZGVyLmlzTnVsbCgpKSB7CiAgICAgICAgICAgICAg
ICAgQVNTRVJUKG1fZnJhbWUud2luZG93KCkpOwotICAgICAgICAgICAgICAgIG1fZnJhbWUud2lu
ZG93KCktPnNldENyb3NzT3JpZ2luT3B0aW9ucyhwYXJzZUNyb3NzT3JpZ2luT3B0aW9uc0hlYWRl
cihjcm9zc09yaWdpbk9wdGlvbnNIZWFkZXIpKTsKKyAgICAgICAgICAgICAgICBtX2ZyYW1lLndp
bmRvdygpLT5zZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeShwYXJzZUNyb3NzT3JpZ2luV2luZG93
UG9saWN5SGVhZGVyKGNyb3NzT3JpZ2luV2luZG93UG9saWN5SGVhZGVyKSk7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Fi
c3RyYWN0RE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RET01XaW5k
b3cuY3BwCmluZGV4IDYwMTE4ZGQ5MjA2MmQwODk4ZjU3ODQ5ZjcxNTE1MmFhNTJiMzFkODcuLjZh
YmUwMzE1Nzk1MWYxZjZiNjIyZGMzZjI0NGEyM2YxZjY2ZjM3YzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQWJzdHJhY3RET01XaW5kb3cuY3BwCkBAIC00MCw3ICs0MCw3IEBAIEhhc2hNYXA8R2xv
YmFsV2luZG93SWRlbnRpZmllciwgQWJzdHJhY3RET01XaW5kb3cqPiYgQWJzdHJhY3RET01XaW5k
b3c6OmFsbFdpbmRvCiAKIEFic3RyYWN0RE9NV2luZG93OjpBYnN0cmFjdERPTVdpbmRvdyhHbG9i
YWxXaW5kb3dJZGVudGlmaWVyJiYgaWRlbnRpZmllcikKICAgICA6IG1faWRlbnRpZmllcihXVEZN
b3ZlKGlkZW50aWZpZXIpKQotICAgICwgbV9jcm9zc09yaWdpbk9wdGlvbnMoQ3Jvc3NPcmlnaW5P
cHRpb25zOjpBbGxvdykKKyAgICAsIG1fY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3koQ3Jvc3NPcmln
aW5XaW5kb3dQb2xpY3k6OkFsbG93KQogewogICAgIEFTU0VSVCghYWxsV2luZG93cygpLmNvbnRh
aW5zKGlkZW50aWZpZXIpKTsKICAgICBhbGxXaW5kb3dzKCkuYWRkKGlkZW50aWZpZXIsIHRoaXMp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9BYnN0cmFjdERPTVdpbmRvdy5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9BYnN0cmFjdERPTVdpbmRvdy5oCmluZGV4IDY0ZDQ1YThjYWNi
YzBlYWQwYzcxZDZlNDA0YzQwMjNiZTVkNWY5OTguLjhlYWE5YTI5M2RhODQwZTJjNmUzYzcwOWNl
NGQzMzM4ZTViMDliOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RE
T01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Fic3RyYWN0RE9NV2luZG93LmgK
QEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBYnN0cmFjdEZy
YW1lOwogCi1lbnVtIGNsYXNzIENyb3NzT3JpZ2luT3B0aW9uczsKK2VudW0gY2xhc3MgQ3Jvc3NP
cmlnaW5XaW5kb3dQb2xpY3k7CiAKIC8vIEZJWE1FOiBSZW5hbWUgRE9NV2luZG93IHRvIExvY2Fs
V2luZG93IGFuZCBBYnN0cmFjdERPTVdpbmRvdyB0byBET01XaW5kb3cuCiBjbGFzcyBBYnN0cmFj
dERPTVdpbmRvdyA6IHB1YmxpYyBSZWZDb3VudGVkPEFic3RyYWN0RE9NV2luZG93PiwgcHVibGlj
IEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewpAQCAtNTQsOCArNTQsOCBAQCBwdWJsaWM6CiAg
ICAgdXNpbmcgUmVmQ291bnRlZDo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOwog
Ci0gICAgQ3Jvc3NPcmlnaW5PcHRpb25zIGNyb3NzT3JpZ2luT3B0aW9ucygpIHsgcmV0dXJuIG1f
Y3Jvc3NPcmlnaW5PcHRpb25zOyB9Ci0gICAgdm9pZCBzZXRDcm9zc09yaWdpbk9wdGlvbnMoQ3Jv
c3NPcmlnaW5PcHRpb25zIHZhbHVlKSB7IG1fY3Jvc3NPcmlnaW5PcHRpb25zID0gdmFsdWU7IH0K
KyAgICBDcm9zc09yaWdpbldpbmRvd1BvbGljeSBjcm9zc09yaWdpbldpbmRvd1BvbGljeSgpIHsg
cmV0dXJuIG1fY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k7IH0KKyAgICB2b2lkIHNldENyb3NzT3Jp
Z2luV2luZG93UG9saWN5KENyb3NzT3JpZ2luV2luZG93UG9saWN5IHZhbHVlKSB7IG1fY3Jvc3NP
cmlnaW5XaW5kb3dQb2xpY3kgPSB2YWx1ZTsgfQogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQg
QWJzdHJhY3RET01XaW5kb3coR2xvYmFsV2luZG93SWRlbnRpZmllciYmKTsKQEAgLTY2LDcgKzY2
LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIEdsb2JhbFdpbmRvd0lkZW50aWZpZXIg
bV9pZGVudGlmaWVyOwotICAgIENyb3NzT3JpZ2luT3B0aW9ucyBtX2Nyb3NzT3JpZ2luT3B0aW9u
czsKKyAgICBDcm9zc09yaWdpbldpbmRvd1BvbGljeSBtX2Nyb3NzT3JpZ2luV2luZG93UG9saWN5
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
CmluZGV4IGNkNDEyZTk5OGMzNTM5Njc5OTQ5NjYyOTJhNmU4ZjMwYWJlYmE1YWIuLjE0YzM5MmQz
NDNlYzYwMjVkYTE1NWQ3NTUwOWMzMWE4NGMwYTY4ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwKQEAgLTQ5LDExICs0OSwxMSBAQCB0eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmluZzsK
ICAgICBQcmltYXJ5R2xvYmFsLAogXSBpbnRlcmZhY2UgRE9NV2luZG93IDogRXZlbnRUYXJnZXQg
ewogICAgIC8vIFRoZSBjdXJyZW50IGJyb3dzaW5nIGNvbnRleHQuCi0gICAgW0RvTm90Q2hlY2tT
ZWN1cml0eUlmPUNyb3NzT3JpZ2luT3B0aW9uc0FsbG93LCBVbmZvcmdlYWJsZSwgSW1wbGVtZW50
ZWRBcz1zZWxmXSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgd2luZG93OwotICAgIFtS
ZXBsYWNlYWJsZSwgRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5PcHRpb25zQWxsb3dd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eSBzZWxmOworICAgIFtEb05vdENoZWNrU2Vj
dXJpdHlJZj1Dcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93LCBVbmZvcmdlYWJsZSwgSW1wbGVt
ZW50ZWRBcz1zZWxmXSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgd2luZG93OworICAg
IFtSZXBsYWNlYWJsZSwgRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3lBbGxvd10gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IHNlbGY7CiAgICAgW1VuZm9y
Z2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgRG9jdW1lbnQgZG9jdW1lbnQ7CiAgICAgYXR0cmli
dXRlIERPTVN0cmluZyBuYW1lOwotICAgIFtEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdp
bk9wdGlvbnNBbGxvdywgUHV0Rm9yd2FyZHM9aHJlZiwgVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBMb2NhdGlvbj8gbG9jYXRpb247IC8vIEZJWE1FOiBTaG91bGQgbm90IGJlIG51bGxh
YmxlLgorICAgIFtEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdpbldpbmRvd1BvbGljeUFs
bG93LCBQdXRGb3J3YXJkcz1ocmVmLCBVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIExv
Y2F0aW9uPyBsb2NhdGlvbjsgLy8gRklYTUU6IFNob3VsZCBub3QgYmUgbnVsbGFibGUuCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEhpc3RvcnkgaGlzdG9yeTsKICAgICBbRW5hYmxlZEF0UnVudGlt
ZT1DdXN0b21FbGVtZW50cywgSW1wbGVtZW50ZWRBcz1lbnN1cmVDdXN0b21FbGVtZW50UmVnaXN0
cnldIHJlYWRvbmx5IGF0dHJpYnV0ZSBDdXN0b21FbGVtZW50UmVnaXN0cnkgY3VzdG9tRWxlbWVu
dHM7CiAgICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgQmFyUHJvcCBsb2NhdGlv
bmJhcjsKQEAgLTYzLDE4ICs2MywxOCBAQCB0eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmluZzsK
ICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBCYXJQcm9wIHN0YXR1c2JhcjsK
ICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBCYXJQcm9wIHRvb2xiYXI7CiAg
ICAgYXR0cmlidXRlIERPTVN0cmluZyBzdGF0dXM7Ci0gICAgW0RvTm90Q2hlY2tTZWN1cml0eUlm
PUNyb3NzT3JpZ2luT3B0aW9uc0FsbG93LCBDYWxsV2l0aD1JbmN1bWJlbnREb2N1bWVudCwgRm9y
d2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBjbG9zZSgpOwotICAgIFtEb05vdENoZWNrU2VjdXJp
dHlJZj1Dcm9zc09yaWdpbk9wdGlvbnNBbGxvdywgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gcmVh
ZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY2xvc2VkOworICAgIFtEb05vdENoZWNrU2VjdXJpdHlJ
Zj1Dcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93LCBDYWxsV2l0aD1JbmN1bWJlbnREb2N1bWVu
dCwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBjbG9zZSgpOworICAgIFtEb05vdENoZWNr
U2VjdXJpdHlJZj1Dcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93LCBGb3J3YXJkRGVjbGFyZUlu
SGVhZGVyXSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBjbG9zZWQ7CiAgICAgdm9pZCBzdG9w
KCk7Ci0gICAgW0RvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luT3B0aW9uc0FsbG93LCBD
YWxsV2l0aD1JbmN1bWJlbnRXaW5kb3csIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgZm9j
dXMoKTsKLSAgICBbRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5PcHRpb25zQWxsb3cs
IEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgYmx1cigpOworICAgIFtEb05vdENoZWNrU2Vj
dXJpdHlJZj1Dcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93LCBDYWxsV2l0aD1JbmN1bWJlbnRX
aW5kb3csIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgZm9jdXMoKTsKKyAgICBbRG9Ob3RD
aGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lBbGxvdywgRm9yd2FyZERlY2xh
cmVJbkhlYWRlcl0gdm9pZCBibHVyKCk7CiAKICAgICAvLyBPdGhlciBicm93c2luZyBjb250ZXh0
cy4KLSAgICBbUmVwbGFjZWFibGUsIERvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luT3B0
aW9uc0FsbG93LCBJbXBsZW1lbnRlZEFzPXNlbGZdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQ
cm94eSBmcmFtZXM7Ci0gICAgW1JlcGxhY2VhYmxlLCBEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9z
c09yaWdpbk9wdGlvbnNBbGxvd10gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVu
Z3RoOwotICAgIFtEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdpbk9wdGlvbnNBbGxvdywg
VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eT8gdG9wOwotICAgIFtE
b05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdpbk9wdGlvbnNBbGxvdywgQ3VzdG9tU2V0dGVy
XSBhdHRyaWJ1dGUgV2luZG93UHJveHk/IG9wZW5lcjsKLSAgICBbUmVwbGFjZWFibGUsIERvTm90
Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luT3B0aW9uc0FsbG93XSByZWFkb25seSBhdHRyaWJ1
dGUgV2luZG93UHJveHk/IHBhcmVudDsKKyAgICBbUmVwbGFjZWFibGUsIERvTm90Q2hlY2tTZWN1
cml0eUlmPUNyb3NzT3JpZ2luV2luZG93UG9saWN5QWxsb3csIEltcGxlbWVudGVkQXM9c2VsZl0g
cmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IGZyYW1lczsKKyAgICBbUmVwbGFjZWFibGUs
IERvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luV2luZG93UG9saWN5QWxsb3ddIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICBbRG9Ob3RDaGVja1NlY3Vy
aXR5SWY9Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lBbGxvdywgVW5mb3JnZWFibGVdIHJlYWRvbmx5
IGF0dHJpYnV0ZSBXaW5kb3dQcm94eT8gdG9wOworICAgIFtEb05vdENoZWNrU2VjdXJpdHlJZj1D
cm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93LCBDdXN0b21TZXR0ZXJdIGF0dHJpYnV0ZSBXaW5k
b3dQcm94eT8gb3BlbmVyOworICAgIFtSZXBsYWNlYWJsZSwgRG9Ob3RDaGVja1NlY3VyaXR5SWY9
Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lBbGxvd10gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1By
b3h5PyBwYXJlbnQ7CiAgICAgW0NoZWNrU2VjdXJpdHlGb3JOb2RlXSByZWFkb25seSBhdHRyaWJ1
dGUgRWxlbWVudD8gZnJhbWVFbGVtZW50OwogICAgIFtDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmly
c3RXaW5kb3ddIFdpbmRvd1Byb3h5PyBvcGVuKG9wdGlvbmFsIFVTVlN0cmluZyB1cmwgPSAiYWJv
dXQ6YmxhbmsiLCBvcHRpb25hbCBET01TdHJpbmcgdGFyZ2V0ID0gIl9ibGFuayIsIG9wdGlvbmFs
IFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGZlYXR1cmVzID0gIiIpOwogCkBA
IC05Miw3ICs5Miw3IEBAIHR5cGVkZWYgVVNWU3RyaW5nIENTU09NU3RyaW5nOwogICAgIGxvbmcg
cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrIGNhbGxi
YWNrKTsgLy8gRklYTUU6IFNob3VsZCByZXR1cm4gYW4gdW5zaWduZWQgbG9uZy4KICAgICB2b2lk
IGNhbmNlbEFuaW1hdGlvbkZyYW1lKGxvbmcgaGFuZGxlKTsgLy8gRklYTUU6IGhhbmRsZSBzaG91
bGQgYmUgYW4gdW5zaWduZWQgbG9uZy4KIAotICAgIFtDYWxsV2l0aD1TY3JpcHRTdGF0ZSZJbmN1
bWJlbnRXaW5kb3csIERvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luT3B0aW9uc0FsbG93
UG9zdE1lc3NhZ2UsIEZvcndhcmREZWNsYXJlSW5IZWFkZXIsIE1heVRocm93RXhjZXB0aW9uXSB2
b2lkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBVU1ZTdHJpbmcgdGFyZ2V0T3JpZ2luLCBvcHRp
b25hbCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyID0gW10pOworICAgIFtDYWxsV2l0aD1TY3Jp
cHRTdGF0ZSZJbmN1bWJlbnRXaW5kb3csIERvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2lu
V2luZG93UG9saWN5QWxsb3dQb3N0TWVzc2FnZSwgRm9yd2FyZERlY2xhcmVJbkhlYWRlciwgTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIFVTVlN0cmluZyB0
YXJnZXRPcmlnaW4sIG9wdGlvbmFsIHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIgPSBbXSk7CiAK
ICAgICAvLyBPYnNvbGV0ZSBtZW1iZXJzLCBzdGlsbCBwYXJ0IG9mIHRoZSBIVE1MIHNwZWNpZmlj
YXRpb24gKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI1dpbmRvdy1wYXJ0aWFsKS4KICAg
ICB2b2lkIGNhcHR1cmVFdmVudHMoKTsgLy8gTm90IGltcGxlbWVudGVkLiBBbHNvIG5vdCBpbiBt
b2Rlcm4gc3RhbmRhcmRzLiBFbXB0eSBmdW5jdGlvbiBtYXkgaGVscCBjb21wYXRpYmlsaXR5IHdp
dGggbGVnYWN5IGNvbnRlbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLnlhbWwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKaW5kZXggNGI3NDY1
ZmNkMGI2MTcyYmI5OTUzMjA2NDdjYmRmNGMzZWQ4ZjAzZS4uZGQ5ZWQ4NmZhMTU1NGNmN2Q3NmU0
OWExZmU5NjY3MTEyZWU2NjA5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy55YW1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbApAQCAtNzQ0
LDcgKzc0NCw3IEBAIGNsaWVudENvb3JkaW5hdGVzUmVsYXRpdmVUb0xheW91dFZpZXdwb3J0Ogog
ICBpbml0aWFsOiBmYWxzZQogICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJh
bWVzCiAKLWNyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVkOgorY3Jvc3NPcmlnaW5XaW5k
b3dQb2xpY3lTdXBwb3J0RW5hYmxlZDoKICAgaW5pdGlhbDogdHJ1ZQogCiBhY2Nlc3NpYmlsaXR5
RXZlbnRzRW5hYmxlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvSFRUUEhlYWRlck5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9I
VFRQSGVhZGVyTmFtZXMuaW4KaW5kZXggNjlhMjBlMmY5MmQ3YmFhZTlmNTcwZGYyYmNjZGZjNTgw
NjM4ZGZiNy4uNDdmNjkwNDBlODFiOTJhMmYwM2YyNzcyNDM2ZWFhNGM2MmU4MmJmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQSGVhZGVyTmFtZXMuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQSGVhZGVyTmFtZXMuaW4K
QEAgLTUwLDggKzUwLDggQEAgQ29udGVudC1UeXBlCiBDb250ZW50LVJhbmdlCiBDb29raWUKIENv
b2tpZTIKLUNyb3NzLU9yaWdpbi1PcHRpb25zCiBDcm9zcy1PcmlnaW4tUmVzb3VyY2UtUG9saWN5
CitDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeQogRGF0ZQogRE5UCiBEZWZhdWx0LVN0eWxlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwCmluZGV4
IGUzNzZlNmUzMmNlNWUxNzM2OThlNjdjMDAwMTkwNGIxMjlmZGU3OTMuLjRjM2FjNTJlMDYyNzVk
YTQwODZiNzg1NzM3MDVkNzAzZGM3OTU2YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwCkBAIC05MTMsMTkgKzkxMywxOSBAQCBDcm9zc09y
aWdpblJlc291cmNlUG9saWN5IHBhcnNlQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeUhlYWRlcihT
dHJpbmdWaWV3IGhlYWRlcgogICAgIHJldHVybiBDcm9zc09yaWdpblJlc291cmNlUG9saWN5OjpJ
bnZhbGlkOwogfQogCi1Dcm9zc09yaWdpbk9wdGlvbnMgcGFyc2VDcm9zc09yaWdpbk9wdGlvbnNI
ZWFkZXIoU3RyaW5nVmlldyBoZWFkZXIpCitDcm9zc09yaWdpbldpbmRvd1BvbGljeSBwYXJzZUNy
b3NzT3JpZ2luV2luZG93UG9saWN5SGVhZGVyKFN0cmluZ1ZpZXcgaGVhZGVyKQogewogICAgIGhl
YWRlciA9IHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRUUFNwYWNlcyhoZWFkZXIpOwogICAgIGlm
IChoZWFkZXIuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gQ3Jvc3NPcmlnaW5PcHRpb25zOjpB
bGxvdzsKKyAgICAgICAgcmV0dXJuIENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvdzsKIAog
ICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShoZWFkZXIsICJkZW55IikpCi0g
ICAgICAgIHJldHVybiBDcm9zc09yaWdpbk9wdGlvbnM6OkRlbnk7CisgICAgICAgIHJldHVybiBD
cm9zc09yaWdpbldpbmRvd1BvbGljeTo6RGVueTsKIAogICAgIGlmIChlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShoZWFkZXIsICJhbGxvdy1wb3N0bWVzc2FnZSIpKQotICAgICAgICByZXR1
cm4gQ3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvd1Bvc3RNZXNzYWdlOworICAgICAgICByZXR1cm4g
Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93UG9zdE1lc3NhZ2U7CiAKLSAgICByZXR1cm4g
Q3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvdzsKKyAgICByZXR1cm4gQ3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3k6OkFsbG93OwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0hUVFBQYXJzZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0hUVFBQYXJzZXJzLmgKaW5kZXggNzQ1MmZkYzhjMGM3OWYxYzgxOGZkYjE3NmMyMzFlYzVmYTVl
NWVjMi4uNWQ1NTU1MWIxNzRiMzlkMGI5ZDFhNDljODQ3NDEwZTMyOWNjZjhlNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaApAQCAtNzIsNyArNzIs
NyBAQCBlbnVtIGNsYXNzIENyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3kgewogfTsKIAogLy8gU2hv
dWxkIGJlIHNvcnRlZCBmcm9tIG1vc3QgcmVzdHJpY3RpdmUgdG8gbW9zdCBwZXJtaXNzaXZlLgot
ZW51bSBjbGFzcyBDcm9zc09yaWdpbk9wdGlvbnMgeworZW51bSBjbGFzcyBDcm9zc09yaWdpbldp
bmRvd1BvbGljeSB7CiAgICAgRGVueSwKICAgICBBbGxvd1Bvc3RNZXNzYWdlLAogICAgIEFsbG93
LApAQCAtMTE4LDcgKzExOCw3IEBAIGJvb2wgaXNDcm9zc09yaWdpblNhZmVSZXF1ZXN0SGVhZGVy
KEhUVFBIZWFkZXJOYW1lLCBjb25zdCBTdHJpbmcmKTsKIFN0cmluZyBub3JtYWxpemVIVFRQTWV0
aG9kKGNvbnN0IFN0cmluZyYpOwogCiBXRUJDT1JFX0VYUE9SVCBDcm9zc09yaWdpblJlc291cmNl
UG9saWN5IHBhcnNlQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeUhlYWRlcihTdHJpbmdWaWV3KTsK
LUNyb3NzT3JpZ2luT3B0aW9ucyBwYXJzZUNyb3NzT3JpZ2luT3B0aW9uc0hlYWRlcihTdHJpbmdW
aWV3KTsKK0Nyb3NzT3JpZ2luV2luZG93UG9saWN5IHBhcnNlQ3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3lIZWFkZXIoU3RyaW5nVmlldyk7CiAKIGlubGluZSBib29sIGlzSFRUUFNwYWNlKFVDaGFyIGNo
YXJhY3RlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4
IDRmNzVkMzQxN2QyODY3ODQ2ODBhZTU1Mzc1MjMzM2E0OThjNGY1Y2EuLmJlNTVkMWEzZWQxY2Iz
ZmZiY2ExZWRjMzM0NWIyNTMyNzg5NmU3OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXMueWFtbApAQCAtMTA5NywxMSArMTA5NywxMSBAQCBDb25zdGFudFByb3BlcnRpZXNF
bmFibGVkOgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgQ1NTIGNvbnN0YW50
KCkgdmFsdWVzIgogICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKLUNyb3NzT3JpZ2luT3B0aW9u
c1N1cHBvcnRFbmFibGVkOgorQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZDoK
ICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKLSAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJDcm9zcy1PcmlnaW4tT3B0aW9ucyBIVFRQIEhlYWRlciIKLSAgaHVtYW5SZWFkYWJsZURlc2Ny
aXB0aW9uOiAiRW5hYmxlIHN1cHBvcnQgZm9yIENyb3NzLU9yaWdpbi1PcHRpb25zIEhUVFAgSGVh
ZGVyIgorICBodW1hblJlYWRhYmxlTmFtZTogIkNyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IEhU
VFAgSGVhZGVyIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgc3VwcG9ydCBm
b3IgQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kgSFRUUCBIZWFkZXIiCiAgIGNhdGVnb3J5OiBl
eHBlcmltZW50YWwKIAogU3ByaW5nVGltaW5nRnVuY3Rpb25FbmFibGVkOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBiNTdmNjZmYWFkYjk0OWNi
ZDU3NjViYjM4MGIzNWEzYjliNWMyNGZlLi45NzAzZDQ5NzZjMWZjOTI1NDg4MjNlNmU4YmY1ODQx
YWNlNWU1OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcApAQCAtNTk1MSw3ICs1OTUxLDcgQEAgdm9pZCBXZWJQYWdlOjpmcmFtZUJlY2FtZVJlbW90
ZSh1aW50NjRfdCBmcmFtZUlELCBHbG9iYWxGcmFtZUlkZW50aWZpZXImJiByZW1vdGUKIAogICAg
IGF1dG8gcmVtb3RlRnJhbWUgPSBSZW1vdGVGcmFtZTo6Y3JlYXRlKFdURk1vdmUocmVtb3RlRnJh
bWVJZGVudGlmaWVyKSk7CiAgICAgYXV0byByZW1vdGVXaW5kb3cgPSBSZW1vdGVET01XaW5kb3c6
OmNyZWF0ZShyZW1vdGVGcmFtZS5jb3B5UmVmKCksIFdURk1vdmUocmVtb3RlV2luZG93SWRlbnRp
ZmllcikpOwotICAgIHJlbW90ZVdpbmRvdy0+c2V0Q3Jvc3NPcmlnaW5PcHRpb25zKHByZXZpb3Vz
V2luZG93LT5jcm9zc09yaWdpbk9wdGlvbnMoKSk7CisgICAgcmVtb3RlV2luZG93LT5zZXRDcm9z
c09yaWdpbldpbmRvd1BvbGljeShwcmV2aW91c1dpbmRvdy0+Y3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3koKSk7CiAKICAgICByZW1vdGVGcmFtZS0+c2V0T3BlbmVyKGZyYW1lLT5jb3JlRnJhbWUoKS0+
bG9hZGVyKCkub3BlbmVyKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCBhNTg5MzIxMjEw
M2E5ZjY4OGNiOGRkOGY5OGM5NmI2NTIxNDcwOTY1Li41YjdiOWVkNjljY2NkOWRmOWY3NjRlZWZj
MWQ2M2JjNjE2YzhmNjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTE3Myw3ICsxNzMsNyBA
QAogI2RlZmluZSBXZWJLaXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkIgogI2RlZmluZSBXZWJLaXRDdXN0b21QYXN0
ZWJvYXJkRGF0YUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Q3VzdG9tUGFzdGVib2FyZERh
dGFFbmFibGVkIgogI2RlZmluZSBXZWJLaXRDYWNoZUFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0Q2FjaGVBUElFbmFibGVkIgotI2RlZmluZSBXZWJLaXRDcm9zc09yaWdpbk9wdGlvbnNT
dXBwb3J0RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDcm9zc09yaWdpbk9wdGlvbnNTdXBw
b3J0RW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0
RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBv
cnRFbmFibGVkIgogI2RlZmluZSBXZWJLaXRGZXRjaEFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0RmV0Y2hBUElFbmFibGVkIgogI2RlZmluZSBXZWJLaXRXcml0YWJsZVN0cmVhbUFQSUVu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V3JpdGFibGVTdHJlYW1BUElFbmFibGVkIgogI2Rl
ZmluZSBXZWJLaXRSZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdFJlYWRhYmxlQnl0ZVN0cmVhbUFQSUVuYWJsZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCAwMDdlOWI4NjhjMTUxNTdh
NDgwYzQzZjc3OTQxYTFiN2I4NzkxOTNmLi41YjJkNGI5YmE5ZmY0MTE1ZjAyN2M2MzlkZTYyZGZm
NDAwNTgwNTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KQEAgLTYzNCw3ICs2MzQsNyBAQCArICh2b2lkKWluaXRpYWxpemUKICAg
ICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgV2ViS2l0V2ViR1BVRW5hYmxlZFBy
ZWZlcmVuY2VLZXksCiAjZW5kaWYKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5P
XSwgV2ViS2l0Q2FjaGVBUElFbmFibGVkUHJlZmVyZW5jZUtleSwKLSAgICAgICAgW05TTnVtYmVy
IG51bWJlcldpdGhCb29sOk5PXSwgV2ViS2l0Q3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJs
ZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCBX
ZWJLaXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sIFdlYktpdEZldGNoQVBJRW5h
YmxlZFByZWZlcmVuY2VLZXksCiAKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCkBAIC0zMDExLDE0
ICszMDExLDE0IEBAIC0gKHZvaWQpc2V0Q2FjaGVBUElFbmFibGVkOihCT09MKWZsYWcKICAgICBb
c2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdENhY2hlQVBJRW5hYmxlZFByZWZl
cmVuY2VLZXldOwogfQogCi0tIChCT09MKWNyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVk
CistIChCT09MKWNyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQKIHsKLSAgICBy
ZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRDcm9zc09yaWdpbk9wdGlvbnNTdXBw
b3J0RW5hYmxlZFByZWZlcmVuY2VLZXldOworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9y
S2V5OldlYktpdENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNl
S2V5XTsKIH0KIAotLSAodm9pZClzZXRDcm9zc09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZDoo
Qk9PTClmbGFnCistICh2b2lkKXNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJs
ZWQ6KEJPT0wpZmxhZwogewotICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2Vi
S2l0Q3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKKyAgICBb
c2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdENyb3NzT3JpZ2luV2luZG93UG9s
aWN5U3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAogLSAoQk9PTClmZXRjaEFQSUVu
YWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDE5YWM3NmRmMjUwMTAzYzVlMDQ2YzIwNmRkMDc3Y2Qy
OWM4NTIxYWIuLjZmYTVhODQzYjRhMzQyMDIxYzQyNmI0OTNmMzIyNWI1OTY2ZGY2ODQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaApAQCAtNTQzLDggKzU0Myw4IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVy
ZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uIFdFQktJVF9ERVBSCiAt
IChCT09MKWNhY2hlQVBJRW5hYmxlZDsKIC0gKHZvaWQpc2V0Q2FjaGVBUElFbmFibGVkOihCT09M
KWVuYWJsZWQ7CiAKLS0gKEJPT0wpY3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQ7Ci0t
ICh2b2lkKXNldENyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVkOihCT09MKWVuYWJsZWQ7
CistIChCT09MKWNyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQ7CistICh2b2lk
KXNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQ6KEJPT0wpZW5hYmxlZDsK
IAogLSAodm9pZClzZXRGZXRjaEFQSUVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpZmV0Y2hB
UElFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmlu
ZGV4IDNiNjBhMGI0YzUwYWU4OTM2NjkyMDQwMTgzYjI5MzcxODg2ZWYwZmIuLjc4NzVhN2VhNDE2
NGZlNjcyNDlkYzlkNDk5ZmZjOThhMTc1MzNmOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTMwNzAsNyArMzA3MCw3IEBAIC0gKHZvaWQpX3ByZWZl
cmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNlcwogCiAgICAgc2V0dGlu
Z3Muc2V0Vmlld3BvcnRGaXRFbmFibGVkKFtwcmVmZXJlbmNlcyB2aWV3cG9ydEZpdEVuYWJsZWRd
KTsKICAgICBzZXR0aW5ncy5zZXRDb25zdGFudFByb3BlcnRpZXNFbmFibGVkKFtwcmVmZXJlbmNl
cyBjb25zdGFudFByb3BlcnRpZXNFbmFibGVkXSk7Ci0gICAgc2V0dGluZ3Muc2V0Q3Jvc3NPcmln
aW5PcHRpb25zU3VwcG9ydEVuYWJsZWQoW3ByZWZlcmVuY2VzIGNyb3NzT3JpZ2luT3B0aW9uc1N1
cHBvcnRFbmFibGVkXSk7CisgICAgc2V0dGluZ3Muc2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lT
dXBwb3J0RW5hYmxlZChbcHJlZmVyZW5jZXMgY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0
RW5hYmxlZF0pOwogCiAjaWYgRU5BQkxFKEdBTUVQQUQpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRHYW1lcGFkc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGdh
bWVwYWRzRW5hYmxlZF0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50
ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKaW5kZXggNGI0MGM1OWQy
NjI5N2IzZjVmOTNiZjUyNzkyNzYyYzAwM2FlNTA0Ni4uZDE2NDNmM2ZhY2QzMzZiYmU1MGY0ZDgz
ZjVhMmYwYzc0ODA1YTQ5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50
ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCkBAIC0yMzQsNiAr
MjM0LDYgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU2IDogSVdlYlByZWZlcmVu
Y2VzUHJpdmF0ZTUKIFt1dWlkKDlBNDlEMURFLTUzREQtMTFFOC05NUU2LTAwM0VFMUMyOEFCNild
CiBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTcgOiBJV2ViUHJlZmVyZW5jZXNQcml2
YXRlNgogewotICAgIEhSRVNVTFQgY3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQoW291
dCwgcmV0dmFsXSBCT09MKiBlbmFibGVkKTsKLSAgICBIUkVTVUxUIHNldENyb3NzT3JpZ2luT3B0
aW9uc1N1cHBvcnRFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIGNyb3Nz
T3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKiBlbmFi
bGVkKTsKKyAgICBIUkVTVUxUIHNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJs
ZWQoW2luXSBCT09MIGVuYWJsZWQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA2MDY5Mzc4M2M0NGNjYjQyZWM1ZDVj
NWJmZTUyYWU2MGMwOGYwMGRkLi4zYzQ4ZmIwNzhkYzkyZDdiOTQ3ZDE3Njk1YTE2NDAwMzk3NTFi
ZTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaApAQCAtMTgwLDcgKzE4MCw3IEBACiAKICNkZWZpbmUgV2ViS2l0TWVudUl0ZW1F
bGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdE1lbnVJdGVtRWxlbWVudEVuYWJsZWQi
CiAKLSNkZWZpbmUgV2ViS2l0Q3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWRQcmVmZXJl
bmNlS2V5ICJXZWJLaXRDcm9zc09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZCIKKyNkZWZpbmUg
V2ViS2l0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZFByZWZlcmVuY2VLZXkg
IldlYktpdENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQiCiAKICNkZWZpbmUg
V2ViS2l0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRNb2Rl
cm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZXMuY3BwCmluZGV4IDJiOGM2NTFkODU3OTIxNTNiN2ZmMGY1M2NkMzA4ZmIxOTRiOTY4
MzYuLmUxMDA0MTIwMjhhMzNjNDk0MzkyODdkZDc5MDhlNmEzYTU3MjBkNjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKQEAgLTI0OSw3ICsyNDksNyBAQCB2
b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKCkKICAgICBDRkRp
Y3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0U2hvdWxkRGlzcGxheVN1YnRp
dGxlc1ByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogICAgIENGRGljdGlvbmFyeUFk
ZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRTaG91bGREaXNwbGF5Q2FwdGlvbnNQcmVmZXJl
bmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZh
dWx0cywgQ0ZTVFIoV2ViS2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNQcmVmZXJlbmNl
S2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKLSAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0
cywgQ0ZTVFIoV2ViS2l0Q3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNl
S2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0
cywgQ0ZTVFIoV2ViS2l0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZFByZWZl
cmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVm
PiBsaW5rQmVoYXZpb3JTdHJpbmdSZWYgPSBhZG9wdENGKENGU3RyaW5nQ3JlYXRlV2l0aEZvcm1h
dCgwLCAwLCBDRlNUUigiJWQiKSwgV2ViS2l0RWRpdGFibGVMaW5rRGVmYXVsdEJlaGF2aW9yKSk7
CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEVkaXRhYmxl
TGlua0JlaGF2aW9yUHJlZmVyZW5jZUtleSksIGxpbmtCZWhhdmlvclN0cmluZ1JlZi5nZXQoKSk7
CkBAIC0yMDM0LDE3ICsyMDM0LDE3IEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldE1lbnVJ
dGVtRWxlbWVudEVuYWJsZWQoQk9PTCBlbmFibGVkKQogICAgIHJldHVybiBTX09LOwogfQogCi1I
UkVTVUxUIFdlYlByZWZlcmVuY2VzOjpjcm9zc09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZChf
T3V0XyBCT09MKiBlbmFibGVkKQorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6Y3Jvc3NPcmlnaW5X
aW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQogewogICAgIGlm
ICghZW5hYmxlZCkKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLSAgICAqZW5hYmxlZCA9IGJv
b2xWYWx1ZUZvcktleShXZWJLaXRDcm9zc09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZFByZWZl
cmVuY2VLZXkpOworICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdENyb3NzT3Jp
Z2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNlS2V5KTsKICAgICByZXR1cm4g
U19PSzsKIH0KIAotSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0Q3Jvc3NPcmlnaW5PcHRpb25z
U3VwcG9ydEVuYWJsZWQoQk9PTCBlbmFibGVkKQorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0
Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZChCT09MIGVuYWJsZWQpCiB7Ci0g
ICAgc2V0Qm9vbFZhbHVlKFdlYktpdENyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVkUHJl
ZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgc2V0Qm9vbFZhbHVlKFdlYktpdENyb3NzT3JpZ2lu
V2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKICAgICBy
ZXR1cm4gU19PSzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
UHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgK
aW5kZXggOWI3OGMwMDYyYTIxYzI2OWYyM2JkN2U5N2I4NDdlYjA3YzkwZTEyNy4uYWU3NmY5OWJi
ZTM0OGY1Njg2NDMxOGU0Zjc5NmFjNjVmNzY5YjIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0yNzksOCArMjc5LDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRTZXJ2ZXJUaW1pbmdFbmFibGVkKEJPT0wp
OwogCiAgICAgLy8gSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTcKLSAgICB2aXJ0dWFsIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgY3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQoX091dF8g
Qk9PTCopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRDcm9zc09y
aWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZChCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZChfT3V0
XyBCT09MKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldENyb3Nz
T3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBXZWJQcmVm
ZXJlbmNlcwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IDY0YjdiODhkZGE3
MGE2YzZmNTQxZGUyMDBhNzEzNjVhOGU3NDdiZTEuLjM0MzY2ZWEyNjRhNWRmMGU2M2ZjZjIxNzAy
YjU1NzhkYzUxOTk5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC01Mjc5
LDEwICs1Mjc5LDEwIEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2Vk
KElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0dXJuIGhyOwogICAg
IHNldHRpbmdzLnNldFZpc3VhbFZpZXdwb3J0QVBJRW5hYmxlZCghIWVuYWJsZWQpOwogCi0gICAg
aHIgPSBwcmVmc1ByaXZhdGUtPmNyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVkKCZlbmFi
bGVkKTsKKyAgICBociA9IHByZWZzUHJpdmF0ZS0+Y3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBw
b3J0RW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVy
biBocjsKLSAgICBzZXR0aW5ncy5zZXRDcm9zc09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZCgh
IWVuYWJsZWQpOworICAgIHNldHRpbmdzLnNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9y
dEVuYWJsZWQoISFlbmFibGVkKTsKIAogICAgIGhyID0gcHJlZmVyZW5jZXMtPnByaXZhdGVCcm93
c2luZ0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY0NTAzYjcwYmRjZjlhMjY4
Y2IxYzA4NWViYTc5MDU3MDY2MDBiZjAuLjYwNmM5YjcxOTRkOGQ5NDhjY2Y3NTUxYmRkNWI5OGFj
ODk4ZWRkZDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOC0wNi0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgorCisgICAgICAgIFJlbmFtZSAiQ3Jvc3MtT3JpZ2luLU9wdGlvbnMiIEhUVFAgaGVh
ZGVyIHRvICJDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjI4NworICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNDA3ODMzNTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChl
bmFibGVFeHBlcmltZW50YWxGZWF0dXJlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2lu
L0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVz
KToKKwogMjAxOC0wNi0wNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
IAogICAgICAgICBbV2ViS2l0IG9uIHdhdGNoT1NdIFJlbW92ZSBhbGwgdXNlcyBvZiB0aGUgRVhU
UkFfWk9PTV9NT0RFIGNvbXBpbGVyIGZsYWcKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQppbmRleCBjMWRhN2RjYWRiYzc4YjA4Y2NjZjU0NjNlMDZjNDU1ODA1MWY0
NzYyLi5lMzM4NGIxMDlhNmU4NDlhMTk2Y2FkMjY4ZDQwNDM2NGMxYWY0ZTEwIDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC04NjIsNyArODYyLDcgQEAg
c3RhdGljIHZvaWQgZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMoV2ViUHJlZmVyZW5jZXMqIHBy
ZWZlcmVuY2VzKQogICAgIFtwcmVmZXJlbmNlcyBzZXRBY2Nlc3NpYmlsaXR5T2JqZWN0TW9kZWxF
bmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFZpc3VhbFZpZXdwb3J0QVBJRW5hYmxl
ZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRDb2xvckZpbHRlckVuYWJsZWQ6WUVTXTsKLSAg
ICBbcHJlZmVyZW5jZXMgc2V0Q3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQ6WUVTXTsK
KyAgICBbcHJlZmVyZW5jZXMgc2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxl
ZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRTZXJ2ZXJUaW1pbmdFbmFibGVkOllFU107CiB9
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5j
cHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IDli
ZjcyNjQzMzZkYjc5OTU5OWEyYTQ5NTk1ZDVlMTQ3OTUzYjc2ZWIuLmE3MDY3NTI4MDEzOGQ3M2Q0
NTI4NTI3NGU4NzFkMWUzMTYwOGY2MzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1
bXBSZW5kZXJUcmVlLmNwcApAQCAtNzg5LDcgKzc4OSw3IEBAIHN0YXRpYyB2b2lkIGVuYWJsZUV4
cGVyaW1lbnRhbEZlYXR1cmVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAgcHJl
ZnNQcml2YXRlLT5zZXRTZXJ2ZXJUaW1pbmdFbmFibGVkKFRSVUUpOwogICAgIC8vIEZJWE1FOiBX
ZWJHTDIKICAgICAvLyBGSVhNRTogV2ViUlRDCi0gICAgcHJlZnNQcml2YXRlLT5zZXRDcm9zc09y
aWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZChUUlVFKTsKKyAgICBwcmVmc1ByaXZhdGUtPnNldENy
b3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoVFJVRSk7CiB9CiAKIHN0YXRpYyB2
b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoSVdlYlByZWZlcmVuY2Vz
KiBwcmVmZXJlbmNlcykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwYzYzY2NkMDI2OWI3OTVjMWNmMmJlYTU3MjMxZTVkYmYz
MjRhNmM0Li40MWMwZjJlMTQzMjA4Mzk5M2YzMTlhNmIzZTk2YjI1YmNjYTBkODIyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzkgQEAKKzIwMTgtMDYtMDQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZW5hbWUgIkNyb3NzLU9yaWdpbi1PcHRpb25zIiBIVFRQIGhlYWRlciB0
byAiQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODYyODcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQw
NzgzMzUyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25z
L2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJv
bS1kZW55Lmh0bWwuaGVhZGVyczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3dwdC9jcm9zcy1v
cmlnaW4tb3B0aW9ucy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXItZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL25hdmlnYXRp
b24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9uLWZyb20tc3Vi
ZnJhbWUtdmlhLWFuY2hvci10YXJnZXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tb3B0
aW9ucy1hbGxvdy1wb3N0bWVzc2FnZS1wb25nLmh0bWwuaGVhZGVyczogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2Fn
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5L2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93
LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0
cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55Lmh0
bWwuCisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ct
cG9zdG1lc3NhZ2UtZnJvbS1kZW55Lmh0bWwuaGVhZGVyczogQWRkZWQuCisgICAgICAgICogaHR0
cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UuaHRtbDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL2Fs
bG93LXBvc3RtZXNzYWdlLmh0bWwuCisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdp
bmRvdy1wb2xpY3kvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kv
Y3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9jcm9zcy1vcmlnaW4tb3B0aW9u
cy1oZWFkZXIuaHRtbC4KKyAgICAgICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBv
bGljeS9uYXZpZ2F0aW9uLWZyb20tb3BlbmVyLXZpYS1vcGVuLXRhcmdldC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25h
dmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWw6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9uLWZyb20t
b3BlbmVyLXZpYS1vcGVuLXRhcmdldC5odG1sLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9y
aWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRh
cmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdl
dC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9w
dGlvbnMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLXZpYS1hbmNob3ItdGFyZ2V0Lmh0bWwuCisg
ICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Ny
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291
cmNlcy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1hbGxvdy1wb3N0bWVzc2FnZS1wb25nLmh0bWwuCisg
ICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Ny
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbC5oZWFk
ZXJzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGlj
eS9yZXNvdXJjZXMvZGVzdGluYXRpb24uaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0
dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1sLgor
ICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9u
YXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
aHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12
aWEtYW5jaG9yLmh0bWwuCisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weTogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNl
cy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHkuCisgICAgICAgIChtYWluKToKKyAg
ICAgICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvc2Vy
dmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5OiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL3NlcnZlLWNy
b3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weS4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAq
IGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy91dGlscy5qczog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jl
c291cmNlcy91dGlscy5qcy4KKwogMjAxOC0wNi0wNCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0Bh
cHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFN0cm9uZyBQYXNzd29yZCBhcHBlYXJhbmNlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9hbGxv
dy1wb3N0bWVzc2FnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1v
cmlnaW4tb3B0aW9ucy9hbGxvdy1wb3N0bWVzc2FnZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDBlOTk5ODc4OWE2M2JhYzc5ODFiOWFiNjdmOWE2MmFmMjQ4NTkz
ZWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0KLQotUEFTUyBwb3N0TWVz
c2FnZSgpIG9uIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6
IGFsbG93LXBvc3RtZXNzYWdlJyBIVFRQIGhlYWRlciAKLVBBU1MgcG9zdE1lc3NhZ2UoKSBvbiBD
cm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3Rt
ZXNzYWdlJyBIVFRQIGhlYWRlciAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL2FsbG93LXBv
c3RtZXNzYWdlLWZyb20tZGVueS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDQ5ZjZjOTNkMWQ0N2ZhNzdmZjk5YjU5NDA2MDVmNTZhYzE1MjdjOGUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55LWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotCi0KLVBBU1MgcG9zdE1lc3Nh
Z2UoKSBvbiBDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBh
bGxvdy1wb3N0bWVzc2FnZScgYnV0IGN1cnJlbnQgd2luZG93IGhhcyAnZGVueScgb3B0aW9uIAot
UEFTUyBwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1Pcmln
aW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIGJ1dCBjdXJyZW50IHdpbmRvdyBoYXMgJ2Rl
bnknIG9wdGlvbiAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3Jp
Z2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55Lmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9hbGxvdy1wb3N0bWVzc2FnZS1mcm9tLWRl
bnkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzQ5NGYwYTI3ZDA2ODdkNjY1
M2EwM2E4ZDFhOTY0ZGI4ZmQyYjkyNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9h
bGxvdy1wb3N0bWVzc2FnZS1mcm9tLWRlbnkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMxICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KLTx0aXRsZT5UZXN0cyBjYWxsaW5nIHBvc3RNZXNzYWdlKCkgb24gYSB3aW5kb3cgd2l0
aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBmcm9tIGEgd2luZG93
IHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55JzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi91dGlscy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZv
LnN1Yi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aElmcmFtZSgiY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtYWxs
b3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVu
KChmKSA9PiB7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlv
bigpIHsgZi5jb250ZW50V2luZG93Lmxlbmd0aCB9LCAibGVuZ3RoIHByb3BlcnR5IGFjY2VzcyIp
OwotICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGYu
Y29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgiUElORyIsICIqIik7IH0sICJDYWxsaW5nIHBvc3RN
ZXNzYWdlKCkgc2hvdWxkIHRocm93Iik7Ci0gICAgfSk7Ci19LCAicG9zdE1lc3NhZ2UoKSBvbiBD
cm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0
bWVzc2FnZScgYnV0IGN1cnJlbnQgd2luZG93IGhhcyAnZGVueScgb3B0aW9uIik7Ci0KLXByb21p
c2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgiY3Jvc3Mtb3Jp
Z2luLW9wdGlvbnMtYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sIiwgdHJ1ZSAvKiBpc0Nyb3Nz
T3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiU2Vj
dXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyByZXN1bHQud2luZG93Lmxlbmd0aCB9LCAibGVuZ3Ro
IHByb3BlcnR5IGFjY2VzcyIpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9y
IiwgZnVuY3Rpb24oKSB7IHJlc3VsdC53aW5kb3cucG9zdE1lc3NhZ2UoIlBJTkciLCAiKiIpOyB9
LCAiQ2FsbGluZyBwb3N0TWVzc2FnZSgpIHNob3VsZCB0aHJvdyIpOwotICAgIH0pOwotfSwgInBv
c3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRp
b25zOiBhbGxvdy1wb3N0bWVzc2FnZScgYnV0IGN1cnJlbnQgd2luZG93IGhhcyAnZGVueScgb3B0
aW9uIik7Ci0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJv
bS1kZW55Lmh0bWwuaGVhZGVycyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1v
cHRpb25zL2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1sLmhlYWRlcnMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmNTk2MzMyMDBhNWMxMjQ3MTE2YzA1OGY1NGZlN2Y1NjM1
OWUxNDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2Ut
ZnJvbS1kZW55Lmh0bWwuaGVhZGVycworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNyb3Nz
LU9yaWdpbi1PcHRpb25zOiBkZW55CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9j
cm9zcy1vcmlnaW4tb3B0aW9ucy9hbGxvdy1wb3N0bWVzc2FnZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjExZTU2Mjk2ZmRhYjgxYTJlMWY1YjEyOTQ1NGU3
ZjI1MGU1MmIzMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9hbGxvdy1wb3N0bWVz
c2FnZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPHRpdGxlPlRlc3RzIHRo
YXQgcG9zdE1lc3NhZ2UoKSB3b3JrcyB3aGVuICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ct
cG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIGlzIHNlcnZlZDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi91dGlscy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZv
LnN1Yi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aElmcmFtZSgiY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtYWxs
b3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVu
KChmKSA9PiB7Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAg
ICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IChtc2cpID0+IHsKLSAgICAgICAgICAgICAgICB3
aW5kb3cub25tZXNzYWdlID0gbnVsbDsKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1z
Zy5kYXRhLCAiUE9ORyIpOwotICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobXNnLnNvdXJj
ZSwgZi5jb250ZW50V2luZG93KTsKLSAgICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAg
ICAgICB9OwotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0
aW9uKCkgeyBmLmNvbnRlbnRXaW5kb3cubGVuZ3RoIH0sICJsZW5ndGggcHJvcGVydHkgYWNjZXNz
Iik7Ci0gICAgICAgICAgICBmLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoIlBJTkciLCAiKiIp
OwotICAgICAgICB9KTsKLSAgICB9KTsKLX0sICJwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdp
biBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBI
VFRQIGhlYWRlciIpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVy
biB3aXRoUG9wdXAoImNyb3NzLW9yaWdpbi1vcHRpb25zLWFsbG93LXBvc3RtZXNzYWdlLXBvbmcu
aHRtbCIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7Ci0gICAg
ICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2luZG93
Lm9ubWVzc2FnZSA9IChtc2cpID0+IHsKLSAgICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdl
ID0gbnVsbDsKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1zZy5kYXRhLCAiUE9ORyIp
OwotICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobXNnLnNvdXJjZSwgcmVzdWx0LndpbmRv
dyk7Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgfTsKLSAgICAgICAg
ICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgcmVzdWx0Lndp
bmRvdy5sZW5ndGggfSwgImxlbmd0aCBwcm9wZXJ0eSBhY2Nlc3MiKTsKLSAgICAgICAgICAgIHJl
c3VsdC53aW5kb3cucG9zdE1lc3NhZ2UoIlBJTkciLCAiKiIpOwotICAgICAgICB9KTsKLSAgICB9
KTsKLX0sICJwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1P
cmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIik7Ci0KLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y3Jvc3Mtb3JpZ2luLW9wdGlvbnMvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL2Nyb3NzLW9y
aWdpbi1vcHRpb25zLWhlYWRlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGEwM2IxMjhlYWRmZTNiYzZiZDk5OGViNjEzM2ZlODgyYThhZjhlNTUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLSAgCi0KLVBBU1MgQ3Jvc3Mt
b3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueScgSFRUUCBoZWFk
ZXIgCi1QQVNTIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6
IGFsbG93LXBvc3RtZXNzYWdlJyBIVFRQIGhlYWRlciAKLVBBU1MgQ3Jvc3Mtb3JpZ2luIGlmcmFt
ZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxMb1ctcG9zdE1lc3NBZ0UnIEhUVFAgaGVh
ZGVyIChtaXhlZCBjYXNlKSAKLVBBU1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1P
cmlnaW4tT3B0aW9uczogZGVueSxhbGxvdycgSFRUUCBoZWFkZXIgKG11bHRpcGxlIHZhbHVlcyBp
cyBpbnZhbGlkKSAKLVBBU1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4t
T3B0aW9uczonIEhUVFAgaGVhZGVyIChlbXB0eSB2YWx1ZSkgCi1QQVNTIENyb3NzLW9yaWdpbiBp
ZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93JyBIVFRQIGhlYWRlciAKLVBB
U1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogaW52YWxp
ZCcgSFRUUCBoZWFkZXIgCi1QQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1Pcmln
aW4tT3B0aW9uczogZGVueScgSFRUUCBoZWFkZXIgCi1QQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB3
aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVy
IAotUEFTUyBTYW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFs
bG93JyBIVFRQIGhlYWRlciAKLVBBU1MgU2FtZS1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9y
aWdpbi1PcHRpb25zOiBpbnZhbGlkJyBIVFRQIGhlYWRlciAKLVBBU1MgQ3Jvc3Mtb3JpZ2luIHBv
cHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55JyBIVFRQIGhlYWRlciAKLVBBU1Mg
Q3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0
bWVzc2FnZScgSFRUUCBoZWFkZXIgCi1QQVNTIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9z
cy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIEhUVFAgaGVhZGVyIAotUEFTUyBDcm9zcy1vcmlnaW4g
cG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGludmFsaWQnIEhUVFAgaGVhZGVyIAot
UEFTUyBTYW1lLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueScg
SFRUUCBoZWFkZXIgCi1QQVNTIFNhbWUtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1P
cHRpb25zOiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIgCi1QQVNTIFNhbWUtb3JpZ2lu
IHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdycgSFRUUCBoZWFkZXIgCi1Q
QVNTIFNhbWUtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBpbnZhbGlk
JyBIVFRQIGhlYWRlciAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mt
b3JpZ2luLW9wdGlvbnMvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1o
ZWFkZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmZhZDNiMzQxZmI3MmJk
NGVhOTUwMGY3YmQ0NjA0Zjg5MDgwNDk2Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9u
cy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE5
OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Ci08dGl0bGU+QmFzaWMgdGVzdGluZyBmb3IgQ3Jvc3MtT3JpZ2luLU9wdGlvbnMg
SFRUUCBoZWFkZXI8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9InJlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxzY3JpcHQ+Ci0KLS8vIFRlc3QgZnJhbWUgaGFzIGEgc3ViZnJhbWUgc28gd2UgZXhwZWN0IGFu
IGluZGV4ZWQgcHJvcGVydHkgd2l0aCBpbmRleCAwLgotY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVz
LnB1c2goJzAnKTsKLQotZnVuY3Rpb24gY2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KQotewot
ICAgIGFzc2VydF9lcXVhbHMody5wYXJlbnQsIHdpbmRvdywgIidwYXJlbnQnIHByb3BlcnR5IHZh
bHVlIik7Ci0gICAgYXNzZXJ0X2VxdWFscyh3LnRvcCwgd2luZG93LCAiJ3RvcCcgcHJvcGVydHkg
dmFsdWUiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHcub3BlbmVyLCBudWxsLCAiJ29wZW5lcicgcHJv
cGVydHkgdmFsdWUiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHcubGVuZ3RoLCAxLCAiJ2xlbmd0aCcg
cHJvcGVydHkgdmFsdWUiKTsKLSAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3
WzBdOyB9LCAiU3ViZnJhbWUgYWNjZXNzIHZpYSBpbmRleCIpOwotICAgIGFzc2VydF9lcXVhbHMo
d1snc3ViZnJhbWUnXSwgd1swXSwgIlN1YmZyYW1lIGFjY2VzcyBieSBuYW1lIik7Ci19Ci0KLWZ1
bmN0aW9uIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KQotewotICAgIGFzc2VydF9lcXVhbHMo
dy5wYXJlbnQsIHcsICIncGFyZW50JyBwcm9wZXJ0eSB2YWx1ZSIpOwotICAgIGFzc2VydF9lcXVh
bHMody50b3AsIHcsICIndG9wJyBwcm9wZXJ0eSB2YWx1ZSIpOwotICAgIGFzc2VydF9lcXVhbHMo
dy5vcGVuZXIsIHdpbmRvdywgIidvcGVuZXInIHByb3BlcnR5IHZhbHVlIik7Ci0gICAgYXNzZXJ0
X2VxdWFscyh3Lmxlbmd0aCwgMSwgIidsZW5ndGgnIHByb3BlcnR5IHZhbHVlIik7Ci0gICAgYXNz
ZXJ0X25vdF90aHJvd2luZyhmdW5jdGlvbigpIHsgd1swXTsgfSwgIlN1YmZyYW1lIGFjY2VzcyB2
aWEgaW5kZXgiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHdbJ3N1YmZyYW1lJ10sIHdbMF0sICJTdWJm
cmFtZSBhY2Nlc3MgYnkgbmFtZSIpOwotfQotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkg
ewotICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFk
ZXIucHk/dmFsdWU9ZGVueSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4g
ewotICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24oZi5jb250ZW50V2luZG93LCAiZGVueSIs
IHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0gICAgfSk7Ci19LCAiQ3Jvc3Mtb3JpZ2luIGlm
cmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueScgSFRUUCBoZWFkZXIiKTsKLQot
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aElmcmFtZSgic2Vy
dmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdl
IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7Ci0gICAgICAgIHRlc3RD
cm9zc09yaWdpbk9wdGlvbihmLmNvbnRlbnRXaW5kb3csICJhbGxvdy1wb3N0bWVzc2FnZSIsIHRy
dWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0gICAgfSk7Ci19LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFt
ZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVh
ZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhJ
ZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weT92YWx1ZT1hbExvVy1w
b3N0TWVzc0FnRSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4gewotICAg
ICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24oZi5jb250ZW50V2luZG93LCAiYWxsb3ctcG9zdG1l
c3NhZ2UiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwotICAgIH0pOwotfSwgIkNyb3NzLW9y
aWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsTG9XLXBvc3RNZXNzQWdF
JyBIVFRQIGhlYWRlciAobWl4ZWQgY2FzZSkiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRl
c3QpIHsKLSAgICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMt
aGVhZGVyLnB5P3ZhbHVlPWRlbnksYWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRo
ZW4oKGYpID0+IHsKLSAgICAgICAgY29uc3QgdyA9IGYuY29udGVudFdpbmRvdzsKLSAgICAgICAg
Ly8gSW52YWxpZCBpbnB1dDogc2hvdWxkIGJlIHRyZWF0ZWQgYXMgImFsbG93Ii4KLSAgICAgICAg
dGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAq
Lyk7Ci0KLSAgICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0s
ICJDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55LGFs
bG93JyBIVFRQIGhlYWRlciAobXVsdGlwbGUgdmFsdWVzIGlzIGludmFsaWQpIik7Ci0KLXByb21p
c2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZlLWNy
b3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weT92YWx1ZT0iLCB0cnVlIC8qIGlzQ3Jvc3NPcmln
aW4gKi8pLnRoZW4oKGYpID0+IHsKLSAgICAgICAgY29uc3QgdyA9IGYuY29udGVudFdpbmRvdzsK
LSAgICAgICAgLy8gRW1wdHkgdmFsdWU6IHNob3VsZCBiZSB0cmVhdGVkIGFzICJhbGxvdyIuCi0g
ICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NP
cmlnaW4gKi8pOwotCi0gICAgICAgIGNoZWNrSWZyYW1lUHJvcGVydHlWYWx1ZXModyk7Ci0gICAg
fSk7Ci19LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczon
IEhUVFAgaGVhZGVyIChlbXB0eSB2YWx1ZSkiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRl
c3QpIHsKLSAgICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMt
aGVhZGVyLnB5P3ZhbHVlPWFsbG93IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChm
KSA9PiB7Ci0gICAgICAgIGNvbnN0IHcgPSBmLmNvbnRlbnRXaW5kb3c7Ci0gICAgICAgIHRlc3RD
cm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwot
Ci0gICAgICAgIGNoZWNrSWZyYW1lUHJvcGVydHlWYWx1ZXModyk7Ci0gICAgfSk7Ci19LCAiQ3Jv
c3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIEhUVFAg
aGVhZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdp
dGhJZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weT92YWx1ZT1pbnZh
bGlkIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7Ci0gICAgICAgIGNv
bnN0IHcgPSBmLmNvbnRlbnRXaW5kb3c7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3
LCAiYWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwotICAgICAgICAKLSAgICAgICAg
Y2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJDcm9zcy1vcmlnaW4g
aWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBpbnZhbGlkJyBIVFRQIGhlYWRlciIp
OwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1l
KCJzZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9ZGVueSIsIGZhbHNl
IC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKLSAgICAgICAgIGNvbnN0IHcgPSBm
LmNvbnRlbnRXaW5kb3c7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiZGVueSIs
IGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwotCi0gICAgICAgIGNoZWNrSWZyYW1lUHJvcGVy
dHlWYWx1ZXModyk7Ci0gICAgfSk7Ci19LCAiU2FtZS1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3Nz
LU9yaWdpbi1PcHRpb25zOiBkZW55JyBIVFRQIGhlYWRlciIpOwotCi1wcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4t
b3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UiLCBmYWxzZSAvKiBpc0Ny
b3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7Ci0gICAgICAgICBjb25zdCB3ID0gZi5jb250ZW50
V2luZG93OwotICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgImFsbG93LXBvc3RtZXNz
YWdlIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hlY2tJZnJhbWVQ
cm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJTYW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAn
Q3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBIVFRQIGhlYWRlciIpOwot
Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1lKCJz
ZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9YWxsb3ciLCBmYWxzZSAv
KiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7Ci0gICAgICAgICBjb25zdCB3ID0gZi5j
b250ZW50V2luZG93OwotICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgImFsbG93Iiwg
ZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0
eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJTYW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3Mt
T3JpZ2luLU9wdGlvbnM6IGFsbG93JyBIVFRQIGhlYWRlciIpOwotCi1wcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4t
b3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9aW52YWxpZCIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4g
Ki8pLnRoZW4oKGYpID0+IHsKLSAgICAgICAgIGNvbnN0IHcgPSBmLmNvbnRlbnRXaW5kb3c7Ci0g
ICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCBmYWxzZSAvKiBpc0Nyb3Nz
T3JpZ2luICovKTsKLQotICAgICAgICBjaGVja0lmcmFtZVByb3BlcnR5VmFsdWVzKHcpOwotICAg
IH0pOwotfSwgIlNhbWUtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczog
aW52YWxpZCcgSFRUUCBoZWFkZXIiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsK
LSAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIu
cHk/dmFsdWU9ZGVueSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9
PiB7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbihyZXN1bHQud2luZG93LCAiZGVueSIs
IHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0gICAgfSk7Ci19LCAiQ3Jvc3Mtb3JpZ2luIHBv
cHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55JyBIVFRQIGhlYWRlciIpOwotCi1w
cm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoUG9wdXAoInNlcnZl
LWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSIs
IHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHRl
c3RDcm9zc09yaWdpbk9wdGlvbihyZXN1bHQud2luZG93LCAiYWxsb3ctcG9zdG1lc3NhZ2UiLCB0
cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwotICAgIH0pOwotfSwgIkNyb3NzLW9yaWdpbiBwb3B1
cCB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVh
ZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhQ
b3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWFsbG93Iiwg
dHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgY29u
c3QgdyA9IHJlc3VsdC53aW5kb3c7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAi
YWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwotCi0gICAgICAgIGNoZWNrUG9wdXBQ
cm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAn
Q3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93JyBIVFRQIGhlYWRlciIpOwotCi1wcm9taXNlX3Rl
c3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoUG9wdXAoInNlcnZlLWNyb3NzLW9y
aWdpbi1vcHRpb25zLWhlYWRlci5weT92YWx1ZT1pbnZhbGlkIiwgdHJ1ZSAvKiBpc0Nyb3NzT3Jp
Z2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgY29uc3QgdyA9IHJlc3VsdC53aW5k
b3c7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCB0cnVlIC8qIGlz
Q3Jvc3NPcmlnaW4gKi8pOwotCi0gICAgICAgIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KTsK
LSAgICB9KTsKLX0sICJDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlv
bnM6IGludmFsaWQnIEhUVFAgaGVhZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0
KSB7Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVh
ZGVyLnB5P3ZhbHVlPWRlbnkiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1
bHQpID0+IHsKLSAgICAgICAgIGNvbnN0IHcgPSByZXN1bHQud2luZG93OwotICAgICAgICB0ZXN0
Q3Jvc3NPcmlnaW5PcHRpb24odywgImRlbnkiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsK
LQotICAgICAgICBjaGVja1BvcHVwUHJvcGVydHlWYWx1ZXModyk7Ci0gICAgfSk7Ci19LCAiU2Ft
ZS1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGRlbnknIEhUVFAgaGVh
ZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhQ
b3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWFsbG93LXBv
c3RtZXNzYWdlIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7
Ci0gICAgICAgICBjb25zdCB3ID0gcmVzdWx0LndpbmRvdzsKLSAgICAgICAgdGVzdENyb3NzT3Jp
Z2luT3B0aW9uKHcsICJhbGxvdy1wb3N0bWVzc2FnZSIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4g
Ki8pOwotCi0gICAgICAgIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0s
ICJTYW1lLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9z
dG1lc3NhZ2UnIEhUVFAgaGVhZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7
Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVy
LnB5P3ZhbHVlPWFsbG93IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0
KSA9PiB7Ci0gICAgICAgICBjb25zdCB3ID0gcmVzdWx0LndpbmRvdzsKLSAgICAgICAgdGVzdENy
b3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwot
Ci0gICAgICAgIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJTYW1l
LW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIEhUVFAgaGVh
ZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhQ
b3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWludmFsaWQi
LCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAg
IGNvbnN0IHcgPSByZXN1bHQud2luZG93OwotICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24o
dywgImFsbG93IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hlY2tQ
b3B1cFByb3BlcnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwgIlNhbWUtb3JpZ2luIHBvcHVwIHdp
dGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBpbnZhbGlkJyBIVFRQIGhlYWRlciIpOwotCi08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFy
Z2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRp
b25zL25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0LWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM4ZjkwMDA3YWU0MDBlNmY0ZTczOWFhN2Vm
MzBmYjFiMjIxMzkwOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9u
LWZyb20tb3BlbmVyLXZpYS1vcGVuLXRhcmdldC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogVW5zYWZlIEphdmFTY3Jp
cHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0
cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMv
c2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWRlbnknIGZyb20gZnJh
bWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9w
dGlvbnMvbmF2aWdhdGlvbi1mcm9tLW9wZW5lci12aWEtb3Blbi10YXJnZXQuaHRtbCcuIE5hdmln
YXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIu
Ci0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0NDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0
byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAu
MTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvc2VydmUtY3Jvc3Mt
b3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJyBmcm9tIGZy
YW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1v
cHRpb25zL25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWwnLiBOYXZp
Z2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVy
LgotCi0KLVBBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0
aW9uIGZyb20gb3BlbmVyIHZpYSBvcGVuKCkgdGFyZ2V0IAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9w
dGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gb3BlbmVy
IHZpYSBvcGVuKCkgdGFyZ2V0IAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93JyBk
b2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBvcGVuZXIgdmlhIG9wZW4oKSB0YXJnZXQg
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25z
L25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9uLWZyb20tb3BlbmVyLXZp
YS1vcGVuLXRhcmdldC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTgzYmQ3
NGY3NWEwMjRlOWIwMTNhNTg1NWVkOWZjOTI5M2MyMWMwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdp
bi1vcHRpb25zL25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08dGl0bGU+VGVzdHMgdGhhdCAnQ3Jvc3MtT3Jp
Z2luLU9wdGlvbnM6IGRlbnkgLyBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMgYSBjcm9zcy1v
cmlnaW4gb3BlbmVyIGZyb20gbmF2aWdhdGluZyB1czwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi91
dGlscy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1
Yi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICAg
IHJldHVybiB3aXRoUG9wdXAoInNlcnZlLWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weT92
YWx1ZT1kZW55IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovLCAiZm9vMSIpLnRoZW4oKHJlc3Vs
dCkgPT4gewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAg
ICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAobXNnKSA9PiB7Ci0gICAgICAgICAgICAgICAgYXNz
ZXJ0X25vdF9lcXVhbHMobXNnLnNvdXJjZSwgcmVzdWx0LndpbmRvdywgIkV4aXN0aW5nIHdpbmRv
dyBzaG91bGQgbm90IG5hdmlnYXRlIik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGxl
dCBkZXN0aW5hdGlvblVSTCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX09SSUdJTiArICIvV2ViS2l0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1sIjsKLSAgICAg
ICAgICAgIHcgPSBvcGVuKGRlc3RpbmF0aW9uVVJMLCAiZm9vMSIpOwotICAgICAgICAgICAgLy8g
SWYgYSB3aW5kb3cgd2l0aCB0aGUgZ2l2ZW4gbmFtZSBpcyBmb3VuZCBidXQgY2Fubm90IGJlIG5h
dmlnYXRlZCwgYSBuZXcgb25lIGlzIGNyZWF0ZWQsIGFzIGlmIHdlIGNvdWxkCi0gICAgICAgICAg
ICAvLyBub3QgZmluZCB0aGUgZ2l2ZW4gd2luZG93LgotICAgICAgICAgICAgYXNzZXJ0X25vdF9l
cXVhbHModywgcmVzdWx0LndpbmRvdywgIm9wZW4oKSBzaG91bGQgYSBuZXcgd2luZG93Iik7Ci0K
LSAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKLSAgICAgICAgICAgICAgIHdpbmRv
dy5vbm1lc3NhZ2UgPSBudWxsOwotICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAg
ICAgfSwgMjAwKTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19LCAiJ0Nyb3NzLU9yaWdpbi1PcHRp
b25zOiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gb3BlbmVyIHZpYSBvcGVuKCkgdGFy
Z2V0Iik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2
ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2Ui
LCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8sICJmb28yIikudGhlbigocmVzdWx0KSA9PiB7Ci0g
ICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2lu
ZG93Lm9ubWVzc2FnZSA9IChtc2cpID0+IHsKLSAgICAgICAgICAgICAgICBhc3NlcnRfbm90X2Vx
dWFscyhtc2cuc291cmNlLCByZXN1bHQud2luZG93LCAiRXhpc3Rpbmcgd2luZG93IHNob3VsZCBu
b3QgbmF2aWdhdGUiKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgbGV0IGRlc3RpbmF0
aW9uVVJMID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBfT1JJR0lOICsgIi9XZWJLaXQvY3Jvc3Mtb3Jp
Z2luLW9wdGlvbnMvcmVzb3VyY2VzL2Rlc3RpbmF0aW9uLmh0bWwiOwotICAgICAgICAgICAgdyA9
IG9wZW4oZGVzdGluYXRpb25VUkwsICJmb28yIik7Ci0gICAgICAgICAgICAvLyBJZiBhIHdpbmRv
dyB3aXRoIHRoZSBnaXZlbiBuYW1lIGlzIGZvdW5kIGJ1dCBjYW5ub3QgYmUgbmF2aWdhdGVkLCBh
IG5ldyBvbmUgaXMgY3JlYXRlZCwgYXMgaWYgd2UgY291bGQKLSAgICAgICAgICAgIC8vIG5vdCBm
aW5kIHRoZSBnaXZlbiB3aW5kb3cuCi0gICAgICAgICAgICBhc3NlcnRfbm90X2VxdWFscyh3LCBy
ZXN1bHQud2luZG93LCAib3BlbigpIHNob3VsZCBhIG5ldyB3aW5kb3ciKTsKLQotICAgICAgICAg
ICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4gewotICAgICAgICAgICAgICAgd2luZG93Lm9ubWVzc2Fn
ZSA9IG51bGw7Ci0gICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9LCAyMDAp
OwotICAgICAgICB9KTsKLSAgICB9KTsKLX0sICInQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93
LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gb3BlbmVyIHZpYSBvcGVuKCkg
dGFyZ2V0Iik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJz
ZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9YWxsb3ciLCB0cnVlIC8q
IGlzQ3Jvc3NPcmlnaW4gKi8sICJmb28zIikudGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2luZG93Lm9ubWVz
c2FnZSA9ICgpID0+IHsKLSAgICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsK
LSAgICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IGxldCBkZXN0aW5hdGlvblVSTCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX09SSUdJTiArICIvV2Vi
S2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1sIjsKLSAg
ICAgICAgICAgIHcgPSBvcGVuKGRlc3RpbmF0aW9uVVJMLCAiZm9vMyIpOwotICAgICAgICAgICAg
YXNzZXJ0X2VxdWFscyh3LCByZXN1bHQud2luZG93LCAib3BlbigpIHNob3VsZCByZXR1cm4gdGhl
IHNhbWUgd2luZG93Iik7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgIidDcm9zcy1PcmlnaW4t
T3B0aW9uczogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIG9wZW5lciB2
aWEgb3BlbigpIHRhcmdldCIpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9u
LWZyb20tc3ViZnJhbWUtdmlhLWFuY2hvci10YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1l
LXZpYS1hbmNob3ItdGFyZ2V0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNzliNDkwNDNiNzM3ZWExZWY3MmI2MzUwNzc4MmRjMDkzOThiYmE5My4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFuY2hv
ci10YXJnZXQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRp
YXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAv
V2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3Vi
ZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3RvcCcgZnJvbSBmcmFtZSB3aXRoIFVS
TCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNv
dXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmln
YXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIu
Ci0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0
byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9z
dDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1m
cm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PV90b3AnIGZyb20gZnJhbWUg
d2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlv
bnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV90b3An
LiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMg
aGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0
dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9s
b2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmln
YXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0YXJn
ZXQ9X3RvcCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktp
dC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNo
b3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBD
cm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDog
VW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFt
ZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0
aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFs
bG93LXBvc3RtZXNzYWdlJnRhcmdldD1fdG9wJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8v
MTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZp
Z2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fdG9wJy4gTmF2aWdhdGlvbiB3YXMg
bm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4KLQotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRl
IG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2Vi
S2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJh
bWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVS
TCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNv
dXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5h
dmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFk
ZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1w
dCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2Fs
aG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlv
bi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PV9wYXJlbnQnIGZyb20g
ZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2lu
LW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0
PV9wYXJlbnQnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2lu
LU9wdGlvbnMgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZh
U2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwg
J2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3Vy
Y2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVz
c2FnZSZ0YXJnZXQ9X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAu
MTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFy
ZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5hdmlnYXRpb24gd2FzIG5vdCBh
bGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZp
Z2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9j
cm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZy
YW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fcGFyZW50JyBmcm9tIGZyYW1l
IHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRp
b25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fcGFy
ZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRp
b25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlw
dCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRw
Oi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9u
YXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9Zm9vMScg
ZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1v
cmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90
YXJnZXQ9Zm9vMScuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1Pcmln
aW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEph
dmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVS
TCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNv
dXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0
PWZvbzEnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQv
Y3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9y
Lmh0bWw/dGFyZ2V0PWZvbzEnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jv
c3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVu
c2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUg
d2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlv
bnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxv
dy1wb3N0bWVzc2FnZSZ0YXJnZXQ9Zm9vMicgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEy
Ny4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdh
dGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9Zm9vMicuIE5hdmlnYXRpb24gd2FzIG5v
dCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBu
YXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktp
dC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1l
LWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1mb28yJyBmcm9tIGZyYW1l
IHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRp
b25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1mb28y
Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25z
IGhlYWRlci4KLQotCi1QQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueScgcHJldmVudHMg
bmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1f
dG9wPikgCi1QQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIHBy
ZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0
YXJnZXQ9X3RvcD4pIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93JyBkb2VzIG5v
dCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8
YSB0YXJnZXQ9X3RvcD4pIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGRlbnknIHByZXZl
bnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJn
ZXQ9X3BhcmVudD4pIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNz
YWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNp
bmcgPGEgdGFyZ2V0PV9wYXJlbnQ+KSAKLVBBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxv
dycgZG9lcyBub3QgcHJldmVudCBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFt
ZSAodXNpbmcgPGEgdGFyZ2V0PV9wYXJlbnQ+KSAKLVBBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25z
OiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAo
dXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWUpIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6
IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2lu
IHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWUpIAotUEFTUyAnQ3Jvc3MtT3Jp
Z2luLU9wdGlvbnM6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBjcm9z
cy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZT4pIAotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0
aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFuY2hvci10YXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEt
YW5jaG9yLXRhcmdldC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyM2NlNTYw
NWJhMTU0MjM2ZWNiOTYwN2RkNjY1MzU4YTNhMzE4NTFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdp
bi1vcHRpb25zL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTE5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTx0aXRsZT5UZXN0cyB0aGF0ICdDcm9z
cy1PcmlnaW4tT3B0aW9uczogZGVueSAvIGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBhIGNy
b3NzLW9yaWdpbiBpZnJhbWUgZnJvbSBuYXZpZ2F0aW5nIHVzPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWlu
Zm8uc3ViLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbHMuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotCi1wcm9taXNlX3Rlc3QodCA9PiB7
Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgibmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5
P3ZhbHVlPWRlbnkmdGFyZ2V0PV90b3AiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVu
KChyZXN1bHQpID0+IHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7
Ci0gICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gdC51bnJlYWNoZWRfZnVuYygiU2hvdWxk
IG5vdCBoYXZlIG5hdmlnYXRlZCIpOwotICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4g
ewotICAgICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IG51bGw7Ci0gICAgICAgICAgICAg
ICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9LCAyMDApOwotICAgICAgICB9KTsKLSAgICB9KTsK
LX0sICInQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJv
bSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3RvcD4pIik7Ci0KLXBy
b21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZpZ2F0aW9uLWZyb20t
c3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PV90b3AiLCBm
YWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgcmV0
dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cub25tZXNz
YWdlID0gdC51bnJlYWNoZWRfZnVuYygiU2hvdWxkIG5vdCBoYXZlIG5hdmlnYXRlZCIpOwotICAg
ICAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4gewotICAgICAgICAgICAgICAgd2luZG93Lm9u
bWVzc2FnZSA9IG51bGw7Ci0gICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9
LCAyMDApOwotICAgICAgICB9KTsKLSAgICB9KTsKLX0sICInQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6
IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2lu
IHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV90b3A+KSIpOwotCi1wcm9taXNlX3Rlc3QodCA9
PiB7Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgibmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1l
LnB5P3ZhbHVlPWFsbG93JnRhcmdldD1fdG9wIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyku
dGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkg
PT4gewotICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9ICgpID0+IHsKLSAgICAgICAgICAg
ICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9OwotICAgICAgICB9KTsKLSAgICB9KTsKLX0s
ICInQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRp
b24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3RvcD4pIik7
Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZpZ2F0aW9u
LWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3BhcmVudCIsIGZhbHNl
IC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4gewotICAgICAgICByZXR1cm4g
bmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2Ug
PSB0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQgbm90IGhhdmUgbmF2aWdhdGVkIik7Ci0gICAgICAg
ICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICAgICB3aW5kb3cub25tZXNz
YWdlID0gbnVsbDsKLSAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0sIDIw
MCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgIidDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVu
eScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5n
IDxhIHRhcmdldD1fcGFyZW50PikiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICAgIHJldHVy
biB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxv
dy1wb3N0bWVzc2FnZSZ0YXJnZXQ9X3BhcmVudCIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8p
LnRoZW4oKHJlc3VsdCkgPT4gewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUp
ID0+IHsKLSAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSB0LnVucmVhY2hlZF9mdW5jKCJT
aG91bGQgbm90IGhhdmUgbmF2aWdhdGVkIik7Ci0gICAgICAgICAgICB0LnN0ZXBfdGltZW91dCgo
KSA9PiB7Ci0gICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsKLSAgICAgICAg
ICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAgIH0pOwotICAg
IH0pOwotfSwgIidDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZl
bnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJn
ZXQ9X3BhcmVudD4pIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBv
cHVwKCJuYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3cmdGFyZ2V0
PV9wYXJlbnQiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsK
LSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB3
aW5kb3cub25tZXNzYWdlID0gKCkgPT4gewotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAg
ICAgICAgICAgIH07IAotICAgICAgICB9KTsKLSAgICB9KTsKLX0sICInQ3Jvc3MtT3JpZ2luLU9w
dGlvbnM6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmln
aW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3BhcmVudD4pIik7Ci0KLXByb21pc2VfdGVz
dCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUt
ZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9Zm9vMSIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4g
Ki8sICJmb28xIikudGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IHQudW5yZWFj
aGVkX2Z1bmMoIlNob3VsZCBub3QgaGF2ZSBuYXZpZ2F0ZWQiKTsKLSAgICAgICAgICAgIHQuc3Rl
cF90aW1lb3V0KCgpID0+IHsKLSAgICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxs
OwotICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgfSwgMjAwKTsKLSAgICAg
ICAgfSk7Ci0gICAgfSk7IAotfSwgIidDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueScgcHJldmVu
dHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdl
dD13aW5kb3dOYW1lKSIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gICAgcmV0dXJuIHdpdGhQ
b3B1cCgibmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3Rt
ZXNzYWdlJnRhcmdldD1mb28yIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLywgImZvbzIiKS50
aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9
PiB7Ci0gICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gdC51bnJlYWNoZWRfZnVuYygiU2hv
dWxkIG5vdCBoYXZlIG5hdmlnYXRlZCIpOwotICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkg
PT4gewotICAgICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IG51bGw7Ci0gICAgICAgICAg
ICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9LCAyMDApOwotICAgICAgICB9KTsKLSAgICB9
KTsKLX0sICInQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50
cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0
PXdpbmRvd05hbWUpIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBv
cHVwKCJuYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3cmdGFyZ2V0
PWZvbzMiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovLCAiZm9vMyIpLnRoZW4oKHJlc3VsdCkg
PT4gewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAg
ICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAoKSA9PiB7Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZSgp
OwotICAgICAgICAgICAgfTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19LCAiJ0Nyb3NzLU9yaWdp
bi1PcHRpb25zOiBhbGxvdycgZG9lcyBub3QgcHJldmVudCBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mt
b3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWU+KSIpOwotCi08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1hbGxv
dy1wb3N0bWVzc2FnZS1wb25nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmln
aW4tb3B0aW9ucy9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtYWxsb3ctcG9zdG1lc3Nh
Z2UtcG9uZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTY3ZGQ3ZjYwYzE0
ZDYyZmNkMTVhNmNhY2VhNjg3YjRkMGY1ODM2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRp
b25zL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1hbGxvdy1wb3N0bWVzc2FnZS1wb25n
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGJvZHk+Ci08c2NyaXB0PgotYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChtc2cp
ID0+IHsKLSAgICBpZiAoZXZlbnQuZGF0YSA9PT0gIlBJTkciKQotICAgICAgICBldmVudC5zb3Vy
Y2UucG9zdE1lc3NhZ2UoIlBPTkciLCAiKiIpOwotICAgIH0pOwotICAgIHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgKCkgPT4gewotICAgICAgICBjb25zdCBvd25lcldpbmRvdyA9IHdp
bmRvdy5vcGVuZXIgPyB3aW5kb3cub3BlbmVyIDogd2luZG93LnRvcDsKLSAgICAgICAgdHJ5IHsK
LSAgICAgICAgICAgIG93bmVyV2luZG93LnBvc3RNZXNzYWdlKCJSRUFEWSIsICIqIik7Ci0gICAg
ICAgIH0gY2F0Y2ggKGUpIHsgfQotICAgIH0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9y
ZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1s
LmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNv
dXJjZXMvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sLmhl
YWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNmYjEyYmIxMDYxYmQ1YTA5MTQ1
MGViZjExM2NjZWRlOTY3YTkzOTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVz
b3VyY2VzL2Nyb3NzLW9yaWdpbi1vcHRpb25zLWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbC5o
ZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6
IGFsbG93LXBvc3RtZXNzYWdlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9z
cy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvZGVzdGluYXRpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNTE2ODc3YjQ0OWFlY2FiZTVmODBmMWM0
YmJiNjg2MDJiYmEzMWU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNl
cy9kZXN0aW5hdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi08Ym9keT4K
LURFU1RJTkFUSU9OCi08c2NyaXB0PgotaWYgKHdpbmRvdy5vcGVuZXIpCi0gICAgd2luZG93Lm9w
ZW5lci5wb3N0TWVzc2FnZSgibmF2aWdhdGVkIiwgIioiKTsKLTwvc2NyaXB0PgotPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVz
b3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1h
bmNob3IuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTQwMzk5YmY4NjhlZmU0
NTUxNTFjYjc5YzBjODE5ZjVjMDAxYmZiMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9u
cy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDE4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPGEgaWQ9InRlc3RBbmNob3IiPkNsaWNrIG1lPC9hPgotPHNjcmlwdD4KLWNvbnN0
IFJFU09VUkNFU19ESVIgPSAiL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMv
IjsKLW9ubG9hZCA9ICgpID0+IHsKLSAgICBsZXQgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFt
cyhsb2NhdGlvbi5zZWFyY2gpOwotICAgIHRlc3RBbmNob3IudGFyZ2V0PSBwYXJhbXMuZ2V0KCd0
YXJnZXQnKQotICAgIHRlc3RBbmNob3IuaHJlZiA9IGdldF9ob3N0X2luZm8oKS5IVFRQX09SSUdJ
TiArIFJFU09VUkNFU19ESVIgKyAiZGVzdGluYXRpb24uaHRtbCI7Ci0gICAgdGVzdEFuY2hvci5j
bGljaygpOwotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlv
bi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3Jp
Z2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weQpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTg1NGM1OTAwZGYwNGVjOGQ5YWE5ZDZiMTMy
MmU4MzJiY2M4YjgzMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMv
bmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTcg
KzAsMCBAQAotZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIGhlYWRlcnMgPSBbKCJD
b250ZW50LVR5cGUiLCAidGV4dC9odG1sIiksCi0gICAgICAgICAgICAgICAoIkNyb3NzLU9yaWdp
bi1PcHRpb25zIiwgcmVxdWVzdC5HRVRbJ3ZhbHVlJ10pLF0KLSAgICByZXR1cm4gMjAwLCBoZWFk
ZXJzLCAiIiI8IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxz
Y3JpcHQ+Ci1jb25zdCBSRVNPVVJDRVNfRElSID0gIi9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlv
bnMvcmVzb3VyY2VzLyI7Ci1sZXQgZiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIp
OwotZi5zcmMgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsgUkVTT1VSQ0VT
X0RJUiArICJuYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD0lcyI7Ci1kb2N1
bWVudC5ib2R5LnByZXBlbmQoZik7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4iIiIgJSBy
ZXF1ZXN0LkdFVFsndGFyZ2V0J10KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Ny
b3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9zZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1o
ZWFkZXIucHkgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNv
dXJjZXMvc2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBlYTkwNjU1YWRjMzFiNTNiZGNlNjJhYTgyNDUzNmJjOTk3MTI2MjM1
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9zZXJ2ZS1jcm9zcy1v
cmlnaW4tb3B0aW9ucy1oZWFkZXIucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1k
ZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlw
ZSIsICJ0ZXh0L2h0bWwiKSwKLSAgICAgICAgICAgICAgICgiQ3Jvc3MtT3JpZ2luLU9wdGlvbnMi
LCByZXF1ZXN0LkdFVFsndmFsdWUnXSksXQotICAgIHJldHVybiAyMDAsIGhlYWRlcnMsICIiIlRF
U1QKLSAgICAgICAgPGlmcmFtZSBuYW1lPSJzdWJmcmFtZSI+PC9pZnJhbWU+Ci0gICAgICAgIDxz
Y3JpcHQ+Ci0gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+
IHsKLSAgICAgICAgICAgICAgICBjb25zdCBvd25lcldpbmRvdyA9IHdpbmRvdy5vcGVuZXIgPyB3
aW5kb3cub3BlbmVyIDogd2luZG93LnRvcDsKLSAgICAgICAgICAgICAgICB0cnkgewotICAgICAg
ICAgICAgICAgICAgICBvd25lcldpbmRvdy5wb3N0TWVzc2FnZSgiUkVBRFkiLCAiKiIpOwotICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsgfQotICAgICAgICAgICAgfSk7Ci0gICAgICAgIDwv
c2NyaXB0PgotICAgICIiIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mt
b3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL3V0aWxzLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL3V0aWxzLmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBiZGZkNjZlNzVkYWMxNDMyMjRkYjk3OWIxMzkyZWZkNjk4NjFjYjU3Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy91dGlscy5qcworKysgL2Rl
di9udWxsCkBAIC0xLDE1MCArMCwwIEBACi1jb25zdCBSRVNPVVJDRVNfRElSID0gIi9XZWJLaXQv
Y3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzLyI7Ci0KLWZ1bmN0aW9uIGlzQ3Jvc3NPcmln
aW5XaW5kb3codykKLXsKLSAgICB0cnkgewotICAgICAgICB3Lm5hbWU7Ci0gICAgfSBjYXRjaCAo
ZSkgewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQot
Ci1hc3luYyBmdW5jdGlvbiB3YWl0Rm9yQ3Jvc3NPcmlnaW5Mb2FkKHcpCi17Ci0gICAgcmV0dXJu
IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdtZXNzYWdlJywgKG1zZykgPT4gewotICAgICAgICAgICAgaWYgKG1zZy5zb3VyY2UgIT0g
dyB8fCBtc2cuZGF0YSAhPSAiUkVBRFkiKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgbGV0IGhhbmRsZSA9IHNl
dEludGVydmFsKCgpID0+IHsKLSAgICAgICAgICAgIGlmIChpc0Nyb3NzT3JpZ2luV2luZG93KHcp
KSB7Ci0gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChoYW5kbGUpOwotICAgICAgICAgICAg
ICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIHcucG9zdE1lc3NhZ2U7Ci0gICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAgICAvLyBObyBwb2ludCBpbiB3
YWl0aW5nIGZvciAiUkVBRFkiIG1lc3NhZ2UgZnJvbSB3aW5kb3cgc2luY2UgcG9zdE1lc3NhZ2Ug
aXMKLSAgICAgICAgICAgICAgICAgICAgLy8gbm90IGF2YWlsYWJsZS4KLSAgICAgICAgICAgICAg
ICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfSwgNSk7Ci0gICAgfSk7Ci19Ci0KLWFzeW5jIGZ1bmN0aW9uIHdpdGhJZnJhbWUocmVzb3Vy
Y2VGaWxlLCBjcm9zc09yaWdpbikKLXsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUp
ID0+IHsKLSAgICAgICAgbGV0IHJlc291cmNlVVJMID0gY3Jvc3NPcmlnaW4gPyBnZXRfaG9zdF9p
bmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOIDogZ2V0X2hvc3RfaW5mbygpLkhUVFBfT1JJR0lOOwot
ICAgICAgICByZXNvdXJjZVVSTCArPSBSRVNPVVJDRVNfRElSOwotICAgICAgICByZXNvdXJjZVVS
TCArPSByZXNvdXJjZUZpbGU7Ci0gICAgICAgIGxldCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImlmcmFtZSIpOwotICAgICAgICBmcmFtZS5zcmMgPSByZXNvdXJjZVVSTDsKLSAgICAg
ICAgaWYgKGNyb3NzT3JpZ2luKSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGZyYW1lKTsKLSAgICAgICAgICAgIHdhaXRGb3JDcm9zc09yaWdpbkxvYWQoZnJhbWUuY29u
dGVudFdpbmRvdykudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZShmcmFtZSk7
Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZyYW1lLm9u
bG9hZCA9IGZ1bmN0aW9uKCkgeyByZXNvbHZlKGZyYW1lKTsgfTsKLSAgICAgICAgICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOwotICAgICAgICB9Ci0gICAgfSk7Ci19Ci0KLWFz
eW5jIGZ1bmN0aW9uIHdpdGhQb3B1cChyZXNvdXJjZUZpbGUsIGNyb3NzT3JpZ2luLCB3aW5kb3dO
YW1lKQotewotICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geyAKLSAgICAgICAg
bGV0IHJlc291cmNlVVJMID0gY3Jvc3NPcmlnaW4gPyBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1P
VEVfT1JJR0lOIDogZ2V0X2hvc3RfaW5mbygpLkhUVFBfT1JJR0lOOwotICAgICAgICByZXNvdXJj
ZVVSTCArPSBSRVNPVVJDRVNfRElSOwotICAgICAgICByZXNvdXJjZVVSTCArPSByZXNvdXJjZUZp
bGU7Ci0KLSAgICAgICAgbGV0IHcgPSBvcGVuKHJlc291cmNlVVJMLCB3aW5kb3dOYW1lKTsKLSAg
ICAgICAgaWYgKGNyb3NzT3JpZ2luKSB7Ci0gICAgICAgICAgICB3YWl0Rm9yQ3Jvc3NPcmlnaW5M
b2FkKHcpLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgICAgIHJlc29sdmUoeyAnd2luZG93Jzog
dyB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgdy5v
bmxvYWQgPSBmdW5jdGlvbigpIHsgcmVzb2x2ZSh7ICd3aW5kb3cnOiB3IH0pOyB9OwotICAgICAg
ICB9Ci0gICB9KTsKLX0KLQotY29uc3QgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVzID0gWyAnYmx1
cicsICdjbG9zZScsICdjbG9zZWQnLCAnZm9jdXMnLCAnZnJhbWVzJywgJ2xlbmd0aCcsICdsb2Nh
dGlvbicsICdvcGVuZXInLCAncGFyZW50JywgJ3Bvc3RNZXNzYWdlJywgJ3NlbGYnLCAndG9wJywg
J3dpbmRvdycgXTsKLWNvbnN0IGZvcmJpZGRlblByb3BlcnRpZXNDcm9zc09yaWdpbiA9IFsibmFt
ZSIsICJkb2N1bWVudCIsICJoaXN0b3J5IiwgImxvY2F0aW9uYmFyIiwgInN0YXR1cyIsICJmcmFt
ZUVsZW1lbnQiLCAibmF2aWdhdG9yIiwgImFsZXJ0IiwgImxvY2FsU3RvcmFnZSIsICJzZXNzaW9u
U3RvcmFnZSIsICJldmVudCIsICJmb28iLCAiYmFyIl07Ci0KLWZ1bmN0aW9uIGFzc2VydF9ub3Rf
dGhyb3dpbmcoZiwgbWVzc2FnZSkKLXsKLSAgICB0cnkgewotICAgICAgICBmKCk7Ci0gICAgfSBj
YXRjaCAoZSkgewotICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKG1lc3NhZ2UpOwotICAgIH0KLX0K
LQotZnVuY3Rpb24gY2hlY2tDcm9zc09yaWdpblByb3BlcnRpZXNBY2Nlc3ModykKLXsKLSAgICBm
b3IgKGxldCBjcm9zc09yaWdpblByb3BlcnR5TmFtZSBvZiBjcm9zc09yaWdpblByb3BlcnR5TmFt
ZXMpCi0gICAgICAgYXNzZXJ0X25vdF90aHJvd2luZyhmdW5jdGlvbigpIHsgd1tjcm9zc09yaWdp
blByb3BlcnR5TmFtZV07IH0sICJBY2Nlc3NpbmcgcHJvcGVydHkgJyIgKyBjcm9zc09yaWdpblBy
b3BlcnR5TmFtZSArIicgb24gV2luZG93IHNob3VsZCBub3QgdGhyb3ciKTsKLSAgIAotICAgIGFz
c2VydF9mYWxzZSh3LmNsb3NlZCwgIidjbG9zZWQnIHByb3BlcnR5IHZhbHVlIik7IAotICAgIGFz
c2VydF9lcXVhbHMody5mcmFtZXMsIHcsICInZnJhbWVzJyBwcm9wZXJ0eSB2YWx1ZSIpOwotICAg
IGFzc2VydF9lcXVhbHMody5zZWxmLCB3LCAiJ3NlbGYnIHByb3BlcnR5IHZhbHVlIik7Ci0gICAg
YXNzZXJ0X2VxdWFscyh3LndpbmRvdywgdywgIid3aW5kb3cnIHByb3BlcnR5IHZhbHVlIik7Ci0K
LSAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3LmJsdXIoKTsgfSwgIkNhbGxp
bmcgYmx1cigpIG9uIFdpbmRvdyBzaG91bGQgc2hvdWxkIHRocm93Iik7Ci0gICAgYXNzZXJ0X25v
dF90aHJvd2luZyhmdW5jdGlvbigpIHsgdy5mb2N1cygpOyB9LCAiQ2FsbGluZyBmb2N1cygpIG9u
IFdpbmRvdyBzaG91bGQgc2hvdWxkIHRocm93Iik7Ci0gICAgYXNzZXJ0X25vdF90aHJvd2luZyhm
dW5jdGlvbigpIHsgdy5wb3N0TWVzc2FnZSgndGVzdCcsICcqJyk7IH0sICJDYWxsaW5nIHBvc3RN
ZXNzYWdlKCkgb24gV2luZG93IHNob3VsZCBzaG91bGQgdGhyb3ciKTsKLX0KLQotZnVuY3Rpb24g
dGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsIGhlYWRlclZhbHVlLCBpc0Nyb3NzT3JpZ2luKQotewot
ICAgIGlmICghaXNDcm9zc09yaWdpbikgewotICAgICAgICBjaGVja0Nyb3NzT3JpZ2luUHJvcGVy
dGllc0FjY2Vzcyh3KTsKLSAgICAgICAgZm9yIChsZXQgZm9yYmlkZGVuUHJvcGVydHlDcm9zc09y
aWdpbiBvZiBmb3JiaWRkZW5Qcm9wZXJ0aWVzQ3Jvc3NPcmlnaW4pCi0gICAgICAgICAgICBhc3Nl
cnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyBldmFsKCJ3LiIgKyBmb3JiaWRkZW5Qcm9wZXJ0
eUNyb3NzT3JpZ2luKTsgfSwgIkFjY2Vzc2luZyBwcm9wZXJ0eSAnIiArIGZvcmJpZGRlblByb3Bl
cnR5Q3Jvc3NPcmlnaW4gKyAiJyBvbiBXaW5kb3cgc2hvdWxkIG5vdCB0aHJvdyIpOwotICAgICAg
ICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3LmZvbyA9IDE7IH0sICJTZXR0aW5n
IGV4cGFuZG8gcHJvcGVydHkgc2hvdWxkIG5vdCB0aHJvdyIpOwotICAgICAgICBhc3NlcnRfZXF1
YWxzKHcuZm9vLCAxLCAiZXhwYW5kbyBwcm9wZXJ0eSB2YWx1ZSIpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCi0gICAgLy8gQ3Jvc3Mtb3JpZ2luIGNhc2UuCi0gICAgZm9yIChsZXQgZm9yYmlk
ZGVuUHJvcGVydHlDcm9zc09yaWdpbiBvZiBmb3JiaWRkZW5Qcm9wZXJ0aWVzQ3Jvc3NPcmlnaW4p
IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBl
dmFsKCJ3LiIgKyBmb3JiaWRkZW5Qcm9wZXJ0eUNyb3NzT3JpZ2luKTsgfSwgIkFjY2Vzc2luZyBw
cm9wZXJ0eSAnIiArIGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NPcmlnaW4gKyAiJyBvbiBXaW5kb3cg
c2hvdWxkIHRocm93Iik7Ci0gICAgICAgIGxldCBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcih3aW5kb3csIGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NPcmlnaW4pOwotICAgICAg
ICBpZiAoZGVzYyAmJiBkZXNjLnZhbHVlKQotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2Vj
dXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBkZXNjLnZhbHVlLmNhbGwodyk7IH0sICJDYWxsaW5n
IGZ1bmN0aW9uICciICsgZm9yYmlkZGVuUHJvcGVydHlDcm9zc09yaWdpbiArICInIG9uIFdpbmRv
dyBzaG91bGQgdGhyb3cgKHVzaW5nIGdldHRlciBmcm9tIG90aGVyIHdpbmRvdykiKTsKLSAgICAg
ICAgZWxzZSBpZiAoZGVzYyAmJiBkZXNjLmdldCkKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3Mo
IlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVzYy5nZXQuY2FsbCh3KTsgfSwgIkFjY2Vz
c2luZyBwcm9wZXJ0eSAnIiArIGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NPcmlnaW4gKyAiJyBvbiBX
aW5kb3cgc2hvdWxkIHRocm93ICh1c2luZyBnZXR0ZXIgZnJvbSBvdGhlciB3aW5kb3cpIik7Ci0g
ICAgfQotICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgdy5m
b28gPSAxOyB9LCAiU2V0dGluZyBhbiBleHBhbmRvIHByb3BlcnR5IHNob3VsZCB0aHJvdyIpOwot
Ci0gICAgaWYgKGhlYWRlclZhbHVlID09ICJkZW55IiB8fCBoZWFkZXJWYWx1ZSA9PSAiYWxsb3ct
cG9zdG1lc3NhZ2UiKSB7Ci0gICAgICAgIGZvciAobGV0IGNyb3NzT3JpZ2luUHJvcGVydHlOYW1l
IG9mIGNyb3NzT3JpZ2luUHJvcGVydHlOYW1lcykgewotICAgICAgICAgICAgaWYgKGhlYWRlclZh
bHVlID09ICJhbGxvdy1wb3N0bWVzc2FnZSIgJiYgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWUgPT0g
InBvc3RNZXNzYWdlIikgewotICAgICAgICAgICAgICAgIGFzc2VydF9ub3RfdGhyb3dpbmcoZnVu
Y3Rpb24oKSB7IHdbY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVdOyB9LCAiQWNjZXNzaW5nIHByb3Bl
cnR5ICciICsgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWUgKyInIG9uIFdpbmRvdyBzaG91bGQgbm90
IHRocm93Iik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGFzc2VydF90
aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgd1tjcm9zc09yaWdpblByb3BlcnR5
TmFtZV07IH0sICJBY2Nlc3NpbmcgJyIgKyBjcm9zc09yaWdpblByb3BlcnR5TmFtZSArICInIHBy
b3BlcnR5Iik7Ci0KLSAgICAgICAgICAgICAgICBsZXQgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3Iod2luZG93LCBjcm9zc09yaWdpblByb3BlcnR5TmFtZSk7Ci0gICAgICAg
ICAgICAgICAgaWYgKGRlc2MgJiYgZGVzYy52YWx1ZSkKLSAgICAgICAgICAgICAgICAgICAgYXNz
ZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBkZXNjLnZhbHVlLmNhbGwo
dyk7IH0sICJDYWxsaW5nIGZ1bmN0aW9uICciICsgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWUgKyAi
JyBvbiBXaW5kb3cgc2hvdWxkIHRocm93ICh1c2luZyBnZXR0ZXIgZnJvbSBvdGhlciB3aW5kb3cp
Iik7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoZGVzYyAmJiBkZXNjLmdldCkKLSAgICAgICAg
ICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBk
ZXNjLmdldC5jYWxsKHcpOyB9LCAiQWNjZXNzaW5nIHByb3BlcnR5ICciICsgY3Jvc3NPcmlnaW5Q
cm9wZXJ0eU5hbWUgKyAiJyBvbiBXaW5kb3cgc2hvdWxkIHRocm93ICh1c2luZyBnZXR0ZXIgZnJv
bSBvdGhlciB3aW5kb3cpIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYg
KGhlYWRlclZhbHVlID09ICJhbGxvdy1wb3N0bWVzc2FnZSIpIHsKLSAgICAgICAgICAgIGFzc2Vy
dF9ub3RfdGhyb3dpbmcoZnVuY3Rpb24oKSB7IHcucG9zdE1lc3NhZ2UoJ3Rlc3QnLCAnKicpOyB9
LCAiQ2FsbGluZyBwb3N0TWVzc2FnZSgpIG9uIFdpbmRvdyBzaG91bGQgbm90IHRocm93Iik7Ci0g
ICAgICAgICAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3Bvc3RNZXNzYWdlJykudmFsdWUuY2FsbCh3LCAn
dGVzdCcsICcqJyk7IH0sICJDYWxsaW5nIHBvc3RNZXNzYWdlKCkgb24gV2luZG93IHNob3VsZCBu
b3QgdGhyb3cgKHVzaW5nIGdldHRlciBmcm9tIG90aGVyIHdpbmRvdykiKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMo
dykuc29ydCgpLCBoZWFkZXJWYWx1ZSA9PSAiYWxsb3ctcG9zdG1lc3NhZ2UiID8gWydwb3N0TWVz
c2FnZSddIDogW10sICJPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcygpIik7Ci0KLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmdldE93blBy
b3BlcnR5TmFtZXModykuc29ydCgpLCBjcm9zc09yaWdpblByb3BlcnR5TmFtZXMuc29ydCgpLCAi
T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoKSIpOwotICAgIGNoZWNrQ3Jvc3NPcmlnaW5Qcm9w
ZXJ0aWVzQWNjZXNzKHcpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jv
c3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9z
dG1lc3NhZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzYzZiZTdmY2FiMTA5OWJkODJhNWEw
ODU4MzMzZmFlYzZkZmQ4M2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2FnZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACisKKworUEFTUyBwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdp
biBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNz
YWdlJyBIVFRQIGhlYWRlciAKK1BBU1MgcG9zdE1lc3NhZ2UoKSBvbiBDcm9zcy1vcmlnaW4gcG9w
dXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBI
VFRQIGhlYWRlciAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3Jp
Z2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93
LXBvc3RtZXNzYWdlLWZyb20tZGVueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDEyYzk2OGE2
OTc3YjljMTMzYTQ5MDdlMDczZmMxZmYwM2IxMTMxYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93LXBvc3RtZXNz
YWdlLWZyb20tZGVueS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKKworUEFTUyBwb3N0
TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRv
dy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBidXQgY3VycmVudCB3aW5kb3cgaGFzICdkZW55
JyBvcHRpb24gCitQQVNTIHBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGgg
J0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgYnV0IGN1cnJl
bnQgd2luZG93IGhhcyAnZGVueScgb3B0aW9uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2FnZS1mcm9t
LWRlbnkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9s
aWN5L2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmNWZiNGI1
MjA1NjBjNzUzODQzNmJiMGRhZGM4ODBiYzBhMWE1MTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVz
c2FnZS1mcm9tLWRlbnkuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgY2FsbGlu
ZyBwb3N0TWVzc2FnZSgpIG9uIGEgd2luZG93IHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9s
aWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgZnJvbSBhIHdpbmRvdyB3aXRoICdDcm9zcy1PcmlnaW4t
V2luZG93LVBvbGljeTogZGVueSc8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAg
cmV0dXJuIHdpdGhJZnJhbWUoImNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3Rt
ZXNzYWdlLXBvbmcuaHRtbCIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4g
eworICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGYu
Y29udGVudFdpbmRvdy5sZW5ndGggfSwgImxlbmd0aCBwcm9wZXJ0eSBhY2Nlc3MiKTsKKyAgICAg
ICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBmLmNvbnRlbnRX
aW5kb3cucG9zdE1lc3NhZ2UoIlBJTkciLCAiKiIpOyB9LCAiQ2FsbGluZyBwb3N0TWVzc2FnZSgp
IHNob3VsZCB0aHJvdyIpOworICAgIH0pOworfSwgInBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3Jp
Z2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1l
c3NhZ2UnIGJ1dCBjdXJyZW50IHdpbmRvdyBoYXMgJ2RlbnknIG9wdGlvbiIpOworCitwcm9taXNl
X3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRoUG9wdXAoImNyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbCIsIHRydWUgLyogaXND
cm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7CisgICAgICAgIGFzc2VydF90aHJvd3Mo
IlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgcmVzdWx0LndpbmRvdy5sZW5ndGggfSwgImxl
bmd0aCBwcm9wZXJ0eSBhY2Nlc3MiKTsKKyAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlF
cnJvciIsIGZ1bmN0aW9uKCkgeyByZXN1bHQud2luZG93LnBvc3RNZXNzYWdlKCJQSU5HIiwgIioi
KTsgfSwgIkNhbGxpbmcgcG9zdE1lc3NhZ2UoKSBzaG91bGQgdGhyb3ciKTsKKyAgICB9KTsKK30s
ICJwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4t
V2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIGJ1dCBjdXJyZW50IHdpbmRvdyBoYXMg
J2RlbnknIG9wdGlvbiIpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93
LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1sLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2FnZS1mcm9tLWRlbnku
aHRtbC5oZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhMmQyNTZlMjZiYWFlMWYwZGUwOWVhYmY0MjAyZjU3
YWUyYTUwNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1v
cmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2FnZS1mcm9tLWRlbnkuaHRtbC5oZWFk
ZXJzCkBAIC0wLDAgKzEgQEAKK0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9h
bGxvdy1wb3N0bWVzc2FnZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYzVhNTY4
NzZiMGFlNGVmNzQyN2UwNzM2NDZkNTNhN2JhODEyNWIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1l
c3NhZ2UuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgdGhhdCBwb3N0TWVzc2Fn
ZSgpIHdvcmtzIHdoZW4gJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVz
c2FnZScgSFRUUCBoZWFkZXIgaXMgc2VydmVkPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkg
eworICAgIHJldHVybiB3aXRoSWZyYW1lKCJjcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1hbGxv
dy1wb3N0bWVzc2FnZS1wb25nLmh0bWwiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4o
KGYpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAg
ICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gKG1zZykgPT4geworICAgICAgICAgICAgICAgIHdp
bmRvdy5vbm1lc3NhZ2UgPSBudWxsOworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobXNn
LmRhdGEsICJQT05HIik7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtc2cuc291cmNl
LCBmLmNvbnRlbnRXaW5kb3cpOworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAg
ICAgIH07CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rp
b24oKSB7IGYuY29udGVudFdpbmRvdy5sZW5ndGggfSwgImxlbmd0aCBwcm9wZXJ0eSBhY2Nlc3Mi
KTsKKyAgICAgICAgICAgIGYuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgiUElORyIsICIqIik7
CisgICAgICAgIH0pOworICAgIH0pOworfSwgInBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2lu
IGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3Nh
Z2UnIEhUVFAgaGVhZGVyIik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAg
cmV0dXJuIHdpdGhQb3B1cCgiY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktYWxsb3ctcG9zdG1l
c3NhZ2UtcG9uZy5odG1sIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQp
ID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAg
ICAgICB3aW5kb3cub25tZXNzYWdlID0gKG1zZykgPT4geworICAgICAgICAgICAgICAgIHdpbmRv
dy5vbm1lc3NhZ2UgPSBudWxsOworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobXNnLmRh
dGEsICJQT05HIik7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtc2cuc291cmNlLCBy
ZXN1bHQud2luZG93KTsKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9
OworICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkg
eyByZXN1bHQud2luZG93Lmxlbmd0aCB9LCAibGVuZ3RoIHByb3BlcnR5IGFjY2VzcyIpOworICAg
ICAgICAgICAgcmVzdWx0LndpbmRvdy5wb3N0TWVzc2FnZSgiUElORyIsICIqIik7CisgICAgICAg
IH0pOworICAgIH0pOworfSwgInBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdp
dGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBo
ZWFkZXIiKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9jcm9zcy1vcmlnaW4t
d2luZG93LXBvbGljeS1oZWFkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVh
ZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNGE4ZDExZDM3NTQ4OTNmNmNkY2UwYWQ4MjE2
YmMxYWNlNjkxODcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jv
c3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBACisgIAorCitQQVNTIENyb3NzLW9yaWdpbiBp
ZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIEhUVFAgaGVhZGVy
IAorUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9s
aWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIgCitQQVNTIENyb3NzLW9yaWdpbiBp
ZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsTG9XLXBvc3RNZXNzQWdF
JyBIVFRQIGhlYWRlciAobWl4ZWQgY2FzZSkgCitQQVNTIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0
aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnksYWxsb3cnIEhUVFAgaGVhZGVyICht
dWx0aXBsZSB2YWx1ZXMgaXMgaW52YWxpZCkgCitQQVNTIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0
aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6JyBIVFRQIGhlYWRlciAoZW1wdHkgdmFsdWUp
IAorUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9s
aWN5OiBhbGxvdycgSFRUUCBoZWFkZXIgCitQQVNTIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAn
Q3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGludmFsaWQnIEhUVFAgaGVhZGVyIAorUEFTUyBT
YW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnkn
IEhUVFAgaGVhZGVyIAorUEFTUyBTYW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2lu
LVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBIVFRQIGhlYWRlciAKK1BBU1MgU2Ft
ZS1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdycg
SFRUUCBoZWFkZXIgCitQQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4t
V2luZG93LVBvbGljeTogaW52YWxpZCcgSFRUUCBoZWFkZXIgCitQQVNTIENyb3NzLW9yaWdpbiBw
b3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogZGVueScgSFRUUCBoZWFkZXIg
CitQQVNTIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGlj
eTogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIAorUEFTUyBDcm9zcy1vcmlnaW4gcG9w
dXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBIVFRQIGhlYWRlciAK
K1BBU1MgQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5
OiBpbnZhbGlkJyBIVFRQIGhlYWRlciAKK1BBU1MgU2FtZS1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jv
c3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIEhUVFAgaGVhZGVyIAorUEFTUyBTYW1lLW9y
aWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1l
c3NhZ2UnIEhUVFAgaGVhZGVyIAorUEFTUyBTYW1lLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1P
cmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIEhUVFAgaGVhZGVyIAorUEFTUyBTYW1lLW9yaWdp
biBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogaW52YWxpZCcgSFRUUCBo
ZWFkZXIgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3ktaGVhZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjJiN2EzN2YzOTZkNTQyZGIz
OTFkNjlhOTEwNzZmODY2NThkYzAwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9s
aWN5LWhlYWRlci5odG1sCkBAIC0wLDAgKzEsMTk4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+QmFzaWMgdGVzdGluZyBm
b3IgQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kgSFRUUCBoZWFkZXI8L3RpdGxlPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhv
c3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKKy8vIFRlc3QgZnJhbWUg
aGFzIGEgc3ViZnJhbWUgc28gd2UgZXhwZWN0IGFuIGluZGV4ZWQgcHJvcGVydHkgd2l0aCBpbmRl
eCAwLgorY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVzLnB1c2goJzAnKTsKKworZnVuY3Rpb24gY2hl
Y2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KQoreworICAgIGFzc2VydF9lcXVhbHMody5wYXJlbnQs
IHdpbmRvdywgIidwYXJlbnQnIHByb3BlcnR5IHZhbHVlIik7CisgICAgYXNzZXJ0X2VxdWFscyh3
LnRvcCwgd2luZG93LCAiJ3RvcCcgcHJvcGVydHkgdmFsdWUiKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHcub3BlbmVyLCBudWxsLCAiJ29wZW5lcicgcHJvcGVydHkgdmFsdWUiKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHcubGVuZ3RoLCAxLCAiJ2xlbmd0aCcgcHJvcGVydHkgdmFsdWUiKTsKKyAgICBhc3Nl
cnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3WzBdOyB9LCAiU3ViZnJhbWUgYWNjZXNzIHZp
YSBpbmRleCIpOworICAgIGFzc2VydF9lcXVhbHMod1snc3ViZnJhbWUnXSwgd1swXSwgIlN1YmZy
YW1lIGFjY2VzcyBieSBuYW1lIik7Cit9CisKK2Z1bmN0aW9uIGNoZWNrUG9wdXBQcm9wZXJ0eVZh
bHVlcyh3KQoreworICAgIGFzc2VydF9lcXVhbHMody5wYXJlbnQsIHcsICIncGFyZW50JyBwcm9w
ZXJ0eSB2YWx1ZSIpOworICAgIGFzc2VydF9lcXVhbHMody50b3AsIHcsICIndG9wJyBwcm9wZXJ0
eSB2YWx1ZSIpOworICAgIGFzc2VydF9lcXVhbHMody5vcGVuZXIsIHdpbmRvdywgIidvcGVuZXIn
IHByb3BlcnR5IHZhbHVlIik7CisgICAgYXNzZXJ0X2VxdWFscyh3Lmxlbmd0aCwgMSwgIidsZW5n
dGgnIHByb3BlcnR5IHZhbHVlIik7CisgICAgYXNzZXJ0X25vdF90aHJvd2luZyhmdW5jdGlvbigp
IHsgd1swXTsgfSwgIlN1YmZyYW1lIGFjY2VzcyB2aWEgaW5kZXgiKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHdbJ3N1YmZyYW1lJ10sIHdbMF0sICJTdWJmcmFtZSBhY2Nlc3MgYnkgbmFtZSIpOworfQor
Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRoSWZyYW1lKCJz
ZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9ZGVueSIsIHRy
dWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4geworICAgICAgICB0ZXN0Q3Jvc3NP
cmlnaW5PcHRpb24oZi5jb250ZW50V2luZG93LCAiZGVueSIsIHRydWUgLyogaXNDcm9zc09yaWdp
biAqLyk7CisgICAgfSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1Pcmln
aW4tV2luZG93LVBvbGljeTogZGVueScgSFRUUCBoZWFkZXIiKTsKKworcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHRlc3QpIHsKKyAgICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlIiwgdHJ1ZSAv
KiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7CisgICAgICAgIHRlc3RDcm9zc09yaWdp
bk9wdGlvbihmLmNvbnRlbnRXaW5kb3csICJhbGxvdy1wb3N0bWVzc2FnZSIsIHRydWUgLyogaXND
cm9zc09yaWdpbiAqLyk7CisgICAgfSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdD
cm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVy
Iik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhJZnJh
bWUoInNlcnZlLWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1hbExv
Vy1wb3N0TWVzc0FnRSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4gewor
ICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24oZi5jb250ZW50V2luZG93LCAiYWxsb3ctcG9z
dG1lc3NhZ2UiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOworICAgIH0pOworfSwgIkNyb3Nz
LW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsTG9XLXBv
c3RNZXNzQWdFJyBIVFRQIGhlYWRlciAobWl4ZWQgY2FzZSkiKTsKKworcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHRlc3QpIHsKKyAgICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWRlbnksYWxsb3ciLCB0cnVlIC8qIGlzQ3Jv
c3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKKyAgICAgICAgY29uc3QgdyA9IGYuY29udGVudFdp
bmRvdzsKKyAgICAgICAgLy8gSW52YWxpZCBpbnB1dDogc2hvdWxkIGJlIHRyZWF0ZWQgYXMgImFs
bG93Ii4KKyAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIHRydWUgLyog
aXNDcm9zc09yaWdpbiAqLyk7CisKKyAgICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3
KTsKKyAgICB9KTsKK30sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1X
aW5kb3ctUG9saWN5OiBkZW55LGFsbG93JyBIVFRQIGhlYWRlciAobXVsdGlwbGUgdmFsdWVzIGlz
IGludmFsaWQpIik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJu
IHdpdGhJZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92
YWx1ZT0iLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKKyAgICAgICAg
Y29uc3QgdyA9IGYuY29udGVudFdpbmRvdzsKKyAgICAgICAgLy8gRW1wdHkgdmFsdWU6IHNob3Vs
ZCBiZSB0cmVhdGVkIGFzICJhbGxvdyIuCisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3
LCAiYWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOworCisgICAgICAgIGNoZWNrSWZy
YW1lUHJvcGVydHlWYWx1ZXModyk7CisgICAgfSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3
aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTonIEhUVFAgaGVhZGVyIChlbXB0eSB2YWx1
ZSkiKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKKyAgICByZXR1cm4gd2l0aElm
cmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWFs
bG93IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7CisgICAgICAgIGNv
bnN0IHcgPSBmLmNvbnRlbnRXaW5kb3c7CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3
LCAiYWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOworCisgICAgICAgIGNoZWNrSWZy
YW1lUHJvcGVydHlWYWx1ZXModyk7CisgICAgfSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3
aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIEhUVFAgaGVhZGVyIik7CisK
K3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhJZnJhbWUoInNl
cnZlLWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1pbnZhbGlkIiwg
dHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7CisgICAgICAgIGNvbnN0IHcg
PSBmLmNvbnRlbnRXaW5kb3c7CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxs
b3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOworICAgICAgICAKKyAgICAgICAgY2hlY2tJ
ZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsKK30sICJDcm9zcy1vcmlnaW4gaWZyYW1l
IHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBpbnZhbGlkJyBIVFRQIGhlYWRlciIp
OworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRoSWZyYW1l
KCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9ZGVueSIs
IGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKKyAgICAgICAgIGNvbnN0
IHcgPSBmLmNvbnRlbnRXaW5kb3c7CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAi
ZGVueSIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOworCisgICAgICAgIGNoZWNrSWZyYW1l
UHJvcGVydHlWYWx1ZXModyk7CisgICAgfSk7Cit9LCAiU2FtZS1vcmlnaW4gaWZyYW1lIHdpdGgg
J0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55JyBIVFRQIGhlYWRlciIpOworCitwcm9t
aXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1j
cm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3Nh
Z2UiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7CisgICAgICAgICBj
b25zdCB3ID0gZi5jb250ZW50V2luZG93OworICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24o
dywgImFsbG93LXBvc3RtZXNzYWdlIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7CisKKyAg
ICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsKK30sICJTYW1lLW9y
aWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3Rt
ZXNzYWdlJyBIVFRQIGhlYWRlciIpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewor
ICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1o
ZWFkZXIucHk/dmFsdWU9YWxsb3ciLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChm
KSA9PiB7CisgICAgICAgICBjb25zdCB3ID0gZi5jb250ZW50V2luZG93OworICAgICAgICB0ZXN0
Q3Jvc3NPcmlnaW5PcHRpb24odywgImFsbG93IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7
CisKKyAgICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsKK30sICJT
YW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93
JyBIVFRQIGhlYWRlciIpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAgIHJl
dHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIu
cHk/dmFsdWU9aW52YWxpZCIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+
IHsKKyAgICAgICAgIGNvbnN0IHcgPSBmLmNvbnRlbnRXaW5kb3c7CisgICAgICAgIHRlc3RDcm9z
c09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKKwor
ICAgICAgICBjaGVja0lmcmFtZVByb3BlcnR5VmFsdWVzKHcpOworICAgIH0pOworfSwgIlNhbWUt
b3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogaW52YWxpZCcg
SFRUUCBoZWFkZXIiKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKKyAgICByZXR1
cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/
dmFsdWU9ZGVueSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7
CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbihyZXN1bHQud2luZG93LCAiZGVueSIsIHRy
dWUgLyogaXNDcm9zc09yaWdpbiAqLyk7CisgICAgfSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIHBvcHVw
IHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55JyBIVFRQIGhlYWRlciIpOwor
Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRoUG9wdXAoInNl
cnZlLWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1hbGxvdy1wb3N0
bWVzc2FnZSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7Cisg
ICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbihyZXN1bHQud2luZG93LCAiYWxsb3ctcG9zdG1l
c3NhZ2UiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOworICAgIH0pOworfSwgIkNyb3NzLW9y
aWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1l
c3NhZ2UnIEhUVFAgaGVhZGVyIik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Cisg
ICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVh
ZGVyLnB5P3ZhbHVlPWFsbG93IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1
bHQpID0+IHsKKyAgICAgICAgY29uc3QgdyA9IHJlc3VsdC53aW5kb3c7CisgICAgICAgIHRlc3RD
cm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwor
CisgICAgICAgIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsKK30sICJDcm9z
cy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBI
VFRQIGhlYWRlciIpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVy
biB3aXRoUG9wdXAoInNlcnZlLWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92
YWx1ZT1pbnZhbGlkIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+
IHsKKyAgICAgICAgY29uc3QgdyA9IHJlc3VsdC53aW5kb3c7CisgICAgICAgIHRlc3RDcm9zc09y
aWdpbk9wdGlvbih3LCAiYWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOworCisgICAg
ICAgIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsKK30sICJDcm9zcy1vcmln
aW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGludmFsaWQnIEhUVFAg
aGVhZGVyIik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdp
dGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVl
PWRlbnkiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKKyAg
ICAgICAgIGNvbnN0IHcgPSByZXN1bHQud2luZG93OworICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5P
cHRpb24odywgImRlbnkiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKKworICAgICAgICBj
aGVja1BvcHVwUHJvcGVydHlWYWx1ZXModyk7CisgICAgfSk7Cit9LCAiU2FtZS1vcmlnaW4gcG9w
dXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIEhUVFAgaGVhZGVyIik7
CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhQb3B1cCgi
c2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWFsbG93LXBv
c3RtZXNzYWdlIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7
CisgICAgICAgICBjb25zdCB3ID0gcmVzdWx0LndpbmRvdzsKKyAgICAgICAgdGVzdENyb3NzT3Jp
Z2luT3B0aW9uKHcsICJhbGxvdy1wb3N0bWVzc2FnZSIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4g
Ki8pOworCisgICAgICAgIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsKK30s
ICJTYW1lLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxs
b3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0
ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWFsbG93IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyku
dGhlbigocmVzdWx0KSA9PiB7CisgICAgICAgICBjb25zdCB3ID0gcmVzdWx0LndpbmRvdzsKKyAg
ICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIGZhbHNlIC8qIGlzQ3Jvc3NP
cmlnaW4gKi8pOworCisgICAgICAgIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9
KTsKK30sICJTYW1lLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGlj
eTogYWxsb3cnIEhUVFAgaGVhZGVyIik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7
CisgICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kt
aGVhZGVyLnB5P3ZhbHVlPWludmFsaWQiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVu
KChyZXN1bHQpID0+IHsKKyAgICAgICAgIGNvbnN0IHcgPSByZXN1bHQud2luZG93OworICAgICAg
ICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgImFsbG93IiwgZmFsc2UgLyogaXNDcm9zc09yaWdp
biAqLyk7CisKKyAgICAgICAgY2hlY2tQb3B1cFByb3BlcnR5VmFsdWVzKHcpOworICAgIH0pOwor
fSwgIlNhbWUtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBp
bnZhbGlkJyBIVFRQIGhlYWRlciIpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5
L25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24t
ZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTlj
ODRmOThhZThlMzBhM2RkMDMzNjM2YTEyZmUzZjBjM2RmOTU0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlv
bi1mcm9tLW9wZW5lci12aWEtb3Blbi10YXJnZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBA
QAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRv
IGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4x
Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9zZXJ2ZS1j
cm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9ZGVueScgZnJvbSBmcmFt
ZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2lu
ZG93LXBvbGljeS9uYXZpZ2F0aW9uLWZyb20tb3BlbmVyLXZpYS1vcGVuLXRhcmdldC5odG1sJy4g
TmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9s
aWN5IGhlYWRlci4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBVbnNhZmUgSmF2YVNjcmlw
dCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRw
Oi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291
cmNlcy9zZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9YWxs
b3ctcG9zdG1lc3NhZ2UnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgw
MC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9tLW9wZW5l
ci12aWEtb3Blbi10YXJnZXQuaHRtbCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0
byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKKworUEFTUyAnQ3Jvc3MtT3Jp
Z2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBvcGVuZXIg
dmlhIG9wZW4oKSB0YXJnZXQgCitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxs
b3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBvcGVuZXIgdmlhIG9wZW4o
KSB0YXJnZXQgCitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIGRvZXMg
bm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIG9wZW5lciB2aWEgb3BlbigpIHRhcmdldCAKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xp
Y3kvbmF2aWdhdGlvbi1mcm9tLW9wZW5lci12aWEtb3Blbi10YXJnZXQuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1v
cGVuZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmE3OTE4YjY5ODY4NWZlMmM4
NTI5YmJjOGZkZTI1MzM4ZjZkOWZhMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1vcGVuZXIt
dmlhLW9wZW4tdGFyZ2V0Lmh0bWwKQEAgLTAsMCArMSw3MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIHRoYXQg
J0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55IC8gYWxsb3ctcG9zdG1lc3NhZ2UnIHBy
ZXZlbnRzIGEgY3Jvc3Mtb3JpZ2luIG9wZW5lciBmcm9tIG5hdmlnYXRpbmcgdXM8L3RpdGxlPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24v
Z2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2lu
ZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9ZGVueSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAq
LywgImZvbzEiKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNl
KChyZXNvbHZlKSA9PiB7CisgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gKG1zZykgPT4g
eworICAgICAgICAgICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKG1zZy5zb3VyY2UsIHJlc3VsdC53
aW5kb3csICJFeGlzdGluZyB3aW5kb3cgc2hvdWxkIG5vdCBuYXZpZ2F0ZSIpOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBsZXQgZGVzdGluYXRpb25VUkwgPSBnZXRfaG9zdF9pbmZvKCku
SFRUUF9PUklHSU4gKyAiL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJj
ZXMvZGVzdGluYXRpb24uaHRtbCI7CisgICAgICAgICAgICB3ID0gb3BlbihkZXN0aW5hdGlvblVS
TCwgImZvbzEiKTsKKyAgICAgICAgICAgIC8vIElmIGEgd2luZG93IHdpdGggdGhlIGdpdmVuIG5h
bWUgaXMgZm91bmQgYnV0IGNhbm5vdCBiZSBuYXZpZ2F0ZWQsIGEgbmV3IG9uZSBpcyBjcmVhdGVk
LCBhcyBpZiB3ZSBjb3VsZAorICAgICAgICAgICAgLy8gbm90IGZpbmQgdGhlIGdpdmVuIHdpbmRv
dy4KKyAgICAgICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHcsIHJlc3VsdC53aW5kb3csICJvcGVu
KCkgc2hvdWxkIGEgbmV3IHdpbmRvdyIpOworCisgICAgICAgICAgICB0LnN0ZXBfdGltZW91dCgo
KSA9PiB7CisgICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsKKyAgICAgICAg
ICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgIH0sIDIwMCk7CisgICAgICAgIH0pOworICAg
IH0pOworfSwgIidDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogZGVueScgcHJldmVudHMgbmF2
aWdhdGlvbiBmcm9tIG9wZW5lciB2aWEgb3BlbigpIHRhcmdldCIpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlIiwgdHJ1ZSAvKiBpc0Nyb3Nz
T3JpZ2luICovLCAiZm9vMiIpLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICByZXR1cm4gbmV3
IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAo
bXNnKSA9PiB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMobXNnLnNvdXJjZSwg
cmVzdWx0LndpbmRvdywgIkV4aXN0aW5nIHdpbmRvdyBzaG91bGQgbm90IG5hdmlnYXRlIik7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGxldCBkZXN0aW5hdGlvblVSTCA9IGdldF9ob3N0
X2luZm8oKS5IVFRQX09SSUdJTiArICIvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5
L3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1sIjsKKyAgICAgICAgICAgIHcgPSBvcGVuKGRlc3Rp
bmF0aW9uVVJMLCAiZm9vMiIpOworICAgICAgICAgICAgLy8gSWYgYSB3aW5kb3cgd2l0aCB0aGUg
Z2l2ZW4gbmFtZSBpcyBmb3VuZCBidXQgY2Fubm90IGJlIG5hdmlnYXRlZCwgYSBuZXcgb25lIGlz
IGNyZWF0ZWQsIGFzIGlmIHdlIGNvdWxkCisgICAgICAgICAgICAvLyBub3QgZmluZCB0aGUgZ2l2
ZW4gd2luZG93LgorICAgICAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHModywgcmVzdWx0LndpbmRv
dywgIm9wZW4oKSBzaG91bGQgYSBuZXcgd2luZG93Iik7CisKKyAgICAgICAgICAgIHQuc3RlcF90
aW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxsOwor
ICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfSwgMjAwKTsKKyAgICAgICAg
fSk7CisgICAgfSk7Cit9LCAiJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0
bWVzc2FnZScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIG9wZW5lciB2aWEgb3BlbigpIHRhcmdl
dCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUt
Y3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWFsbG93IiwgdHJ1ZSAv
KiBpc0Nyb3NzT3JpZ2luICovLCAiZm9vMyIpLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICBy
ZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5vbm1l
c3NhZ2UgPSAoKSA9PiB7CisgICAgICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IG51bGw7
CisgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBsZXQgZGVzdGluYXRpb25VUkwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9PUklHSU4gKyAiL1dl
YktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvZGVzdGluYXRpb24uaHRt
bCI7CisgICAgICAgICAgICB3ID0gb3BlbihkZXN0aW5hdGlvblVSTCwgImZvbzMiKTsKKyAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHModywgcmVzdWx0LndpbmRvdywgIm9wZW4oKSBzaG91bGQgcmV0
dXJuIHRoZSBzYW1lIHdpbmRvdyIpOworICAgICAgICB9KTsKKyAgICB9KTsKK30sICInQ3Jvc3Mt
T3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24g
ZnJvbSBvcGVuZXIgdmlhIG9wZW4oKSB0YXJnZXQiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRv
dy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLXZpYS1hbmNob3ItdGFyZ2V0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5
L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjY5OTI3OGUwMWQ1ZTEwYTIyNzNlMGJiYTQ0MThmN2VkYTBhNWY2YQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ct
cG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUg
SmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGgg
VVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9s
aWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVu
eSZ0YXJnZXQ9X3RvcCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAw
L1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFy
ZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxv
d2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBu
YXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktp
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1
YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PV90b3AnIGZyb20gZnJhbWUgd2l0aCBV
UkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xp
Y3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV90b3An
LiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Q
b2xpY3kgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2Ny
aXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0
dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVz
b3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0
bWVzc2FnZSZ0YXJnZXQ9X3RvcCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAu
MTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdh
dGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmlnYXRpb24gd2FzIG5v
dCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0
aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAw
L1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1m
cm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fdG9w
JyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3Nz
LW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hv
ci5odG1sP3RhcmdldD1fdG9wJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENy
b3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9y
IGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUu
cHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDov
LzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJj
ZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5hdmln
YXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBo
ZWFkZXIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0
ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMv
bmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PV9wYXJl
bnQnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jv
c3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5j
aG9yLmh0bWw/dGFyZ2V0PV9wYXJlbnQnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUg
dG8gQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlv
biBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mt
b3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1m
cmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0YXJnZXQ9X3BhcmVudCcgZnJvbSBmcmFt
ZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2lu
ZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJn
ZXQ9X3BhcmVudCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1Pcmln
aW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5z
YWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3
aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93
LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVl
PWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fcGFyZW50JyBmcm9tIGZyYW1lIHdpdGggVVJMICdo
dHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jl
c291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fcGFyZW50Jy4g
TmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9s
aWN5IGhlYWRlci4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlw
dCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRw
Oi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291
cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9
Zm9vMScgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9j
cm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1h
bmNob3IuaHRtbD90YXJnZXQ9Zm9vMScuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0
byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9u
IGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1v
cmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZy
YW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PWZvbzEnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6
Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3Vy
Y2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PWZvbzEnLiBOYXZpZ2F0
aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kgaGVh
ZGVyLgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVt
cHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2Nh
bGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25h
dmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0
YXJnZXQ9Zm9vMicgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dl
YktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50
LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9Zm9vMicuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2Vk
IGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZp
Z2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9j
cm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZy
YW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1mb28yJyBmcm9tIGZy
YW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3Rh
cmdldD1mb28yJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdp
bi1XaW5kb3ctUG9saWN5IGhlYWRlci4KKworCitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBv
bGljeTogZGVueScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJh
bWUgKHVzaW5nIDxhIHRhcmdldD1fdG9wPikgCitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBv
bGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1v
cmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3RvcD4pIAorUEFTUyAnQ3Jvc3MtT3Jp
Z2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24gZnJv
bSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3RvcD4pIAorUEFTUyAn
Q3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJv
bSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3BhcmVudD4pIAorUEFT
UyAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50
cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0
PV9wYXJlbnQ+KSAKK1BBU1MgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdycgZG9l
cyBub3QgcHJldmVudCBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNp
bmcgPGEgdGFyZ2V0PV9wYXJlbnQ+KSAKK1BBU1MgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5
OiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAo
dXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWUpIAorUEFTUyAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Q
b2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mt
b3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWUpIAorUEFTUyAnQ3Jv
c3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRp
b24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFt
ZT4pIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2lu
ZG93LXBvbGljeS9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFuY2hvci10YXJnZXQuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmln
YXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNj
OWYwMWE4Y2JiMDlhMzgwZDJmYzYxODkxYzI3MDQ1ZGE5Nzk3YzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9uYXZpZ2F0
aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFuY2hvci10YXJnZXQuaHRtbApAQCAtMCwwICsxLDExOSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPlRlc3RzIHRoYXQgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55IC8g
YWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIGEgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBmcm9tIG5h
dmlnYXRpbmcgdXM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICByZXR1cm4gd2l0aFBvcHVwKCJu
YXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3RvcCIs
IGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICBy
ZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5vbm1l
c3NhZ2UgPSB0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQgbm90IGhhdmUgbmF2aWdhdGVkIik7Cisg
ICAgICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICAgICAgICAgICB3aW5kb3cu
b25tZXNzYWdlID0gbnVsbDsKKyAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAg
IH0sIDIwMCk7CisgICAgICAgIH0pOworICAgIH0pOworfSwgIidDcm9zcy1PcmlnaW4tV2luZG93
LVBvbGljeTogZGVueScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWIt
ZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fdG9wPikiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4gewor
ICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92
YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0YXJnZXQ9X3RvcCIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmln
aW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJl
c29sdmUpID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSB0LnVucmVhY2hlZF9m
dW5jKCJTaG91bGQgbm90IGhhdmUgbmF2aWdhdGVkIik7CisgICAgICAgICAgICB0LnN0ZXBfdGlt
ZW91dCgoKSA9PiB7CisgICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsKKyAg
ICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgIH0sIDIwMCk7CisgICAgICAgIH0p
OworICAgIH0pOworfSwgIidDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1l
c3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1
c2luZyA8YSB0YXJnZXQ9X3RvcD4pIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICByZXR1
cm4gd2l0aFBvcHVwKCJuYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxs
b3cmdGFyZ2V0PV90b3AiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQp
ID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAg
ICAgICB3aW5kb3cub25tZXNzYWdlID0gKCkgPT4geworICAgICAgICAgICAgICAgIHJlc29sdmUo
KTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH0pOworICAgIH0pOworfSwgIidDcm9zcy1Pcmln
aW4tV2luZG93LVBvbGljeTogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9t
IGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fdG9wPikiKTsKKworcHJv
bWlzZV90ZXN0KHQgPT4geworICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1z
dWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1fcGFyZW50IiwgZmFsc2UgLyogaXND
cm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJv
bWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IHQudW5y
ZWFjaGVkX2Z1bmMoIlNob3VsZCBub3QgaGF2ZSBuYXZpZ2F0ZWQiKTsKKyAgICAgICAgICAgIHQu
c3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBu
dWxsOworICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfSwgMjAwKTsKKyAg
ICAgICAgfSk7CisgICAgfSk7Cit9LCAiJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55
JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcg
PGEgdGFyZ2V0PV9wYXJlbnQ+KSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgcmV0dXJu
IHdpdGhQb3B1cCgibmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93
LXBvc3RtZXNzYWdlJnRhcmdldD1fcGFyZW50IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyku
dGhlbigocmVzdWx0KSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkg
PT4geworICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IHQudW5yZWFjaGVkX2Z1bmMoIlNo
b3VsZCBub3QgaGF2ZSBuYXZpZ2F0ZWQiKTsKKyAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgp
ID0+IHsKKyAgICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxsOworICAgICAgICAg
ICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfSwgMjAwKTsKKyAgICAgICAgfSk7CisgICAg
fSk7Cit9LCAiJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScg
cHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxh
IHRhcmdldD1fcGFyZW50PikiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIHJldHVybiB3
aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdyZ0
YXJnZXQ9X3BhcmVudCIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkg
PT4geworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAg
ICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAoKSA9PiB7CisgICAgICAgICAgICAgICAgcmVzb2x2ZSgp
OworICAgICAgICAgICAgfTsgCisgICAgICAgIH0pOworICAgIH0pOworfSwgIidDcm9zcy1Pcmln
aW4tV2luZG93LVBvbGljeTogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9t
IGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fcGFyZW50PikiKTsKKwor
cHJvbWlzZV90ZXN0KHQgPT4geworICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJv
bS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1mb28xIiwgZmFsc2UgLyogaXND
cm9zc09yaWdpbiAqLywgImZvbzEiKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAgcmV0dXJu
IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdl
ID0gdC51bnJlYWNoZWRfZnVuYygiU2hvdWxkIG5vdCBoYXZlIG5hdmlnYXRlZCIpOworICAgICAg
ICAgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgICAgICAgICAgd2luZG93Lm9ubWVz
c2FnZSA9IG51bGw7CisgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9LCAy
MDApOworICAgICAgICB9KTsKKyAgICB9KTsgCit9LCAiJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9s
aWN5OiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFt
ZSAodXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWUpIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/
dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PWZvbzIiLCBmYWxzZSAvKiBpc0Nyb3NzT3Jp
Z2luICovLCAiZm9vMiIpLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICByZXR1cm4gbmV3IFBy
b21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSB0LnVu
cmVhY2hlZF9mdW5jKCJTaG91bGQgbm90IGhhdmUgbmF2aWdhdGVkIik7CisgICAgICAgICAgICB0
LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0g
bnVsbDsKKyAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgIH0sIDIwMCk7Cisg
ICAgICAgIH0pOworICAgIH0pOworfSwgIidDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxs
b3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3Vi
LWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZSkiKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFt
ZS5weT92YWx1ZT1hbGxvdyZ0YXJnZXQ9Zm9vMyIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8s
ICJmb28zIikudGhlbigocmVzdWx0KSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgo
cmVzb2x2ZSkgPT4geworICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9ICgpID0+IHsKKyAg
ICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9OworICAgICAgICB9KTsKKyAg
ICB9KTsKK30sICInQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBkb2VzIG5vdCBw
cmV2ZW50IG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0
YXJnZXQ9d2luZG93TmFtZT4pIik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kv
cmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBv
bmcuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5
L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1hbGxvdy1wb3N0bWVzc2FnZS1w
b25nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOWE2N2RkN2Y2MGMxNGQ2MmZjZDE1YTZjYWNlYTY4N2I0ZDBm
NTgzNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1hbGxv
dy1wb3N0bWVzc2FnZS1wb25nLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdD4KK2FkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAo
bXNnKSA9PiB7CisgICAgaWYgKGV2ZW50LmRhdGEgPT09ICJQSU5HIikKKyAgICAgICAgZXZlbnQu
c291cmNlLnBvc3RNZXNzYWdlKCJQT05HIiwgIioiKTsKKyAgICB9KTsKKyAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHsKKyAgICAgICAgY29uc3Qgb3duZXJXaW5kb3cg
PSB3aW5kb3cub3BlbmVyID8gd2luZG93Lm9wZW5lciA6IHdpbmRvdy50b3A7CisgICAgICAgIHRy
eSB7CisgICAgICAgICAgICBvd25lcldpbmRvdy5wb3N0TWVzc2FnZSgiUkVBRFkiLCAiKiIpOwor
ICAgICAgICB9IGNhdGNoIChlKSB7IH0KKyAgICB9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRv
dy1wb2xpY3kvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3Rt
ZXNzYWdlLXBvbmcuaHRtbC5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3Jp
Z2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWFs
bG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbC5oZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1ZTY4YjJiOTE2
ZmIwMTU3NDM3YTJiYmY3NTM0MGU2OWQwOTAwZTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvY3Jvc3Mt
b3JpZ2luLXdpbmRvdy1wb2xpY3ktYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sLmhlYWRlcnMK
QEAgLTAsMCArMSBAQAorQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNz
YWdlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93
LXBvbGljeS9yZXNvdXJjZXMvZGVzdGluYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjE1MTY4NzdiNDQ5YWVjYWJlNWY4MGYxYzRiYmI2ODYwMmJiYTMxZTQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBv
bGljeS9yZXNvdXJjZXMvZGVzdGluYXRpb24uaHRtbApAQCAtMCwwICsxLDcgQEAKKzxib2R5Pgor
REVTVElOQVRJT04KKzxzY3JpcHQ+CitpZiAod2luZG93Lm9wZW5lcikKKyAgICB3aW5kb3cub3Bl
bmVyLnBvc3RNZXNzYWdlKCJuYXZpZ2F0ZWQiLCAiKiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGlj
eS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1w
YXJlbnQtdmlhLWFuY2hvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4YmEwYTczMmVhMWUwOTA3NzU2MTU4
NDhmZjdjZmMxNWJmNjExMWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZp
YS1hbmNob3IuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxhIGlkPSJ0ZXN0QW5jaG9yIj5DbGljayBtZTwvYT4KKzxz
Y3JpcHQ+Citjb25zdCBSRVNPVVJDRVNfRElSID0gIi9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRv
dy1wb2xpY3kvcmVzb3VyY2VzLyI7CitvbmxvYWQgPSAoKSA9PiB7CisgICAgbGV0IHBhcmFtcyA9
IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTsKKyAgICB0ZXN0QW5jaG9yLnRh
cmdldD0gcGFyYW1zLmdldCgndGFyZ2V0JykKKyAgICB0ZXN0QW5jaG9yLmhyZWYgPSBnZXRfaG9z
dF9pbmZvKCkuSFRUUF9PUklHSU4gKyBSRVNPVVJDRVNfRElSICsgImRlc3RpbmF0aW9uLmh0bWwi
OworICAgIHRlc3RBbmNob3IuY2xpY2soKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weSBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZp
Z2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjEyMTBlMDZmNGIwNjcx
MzA4YTFkMDc4NmY4NWEyYzVmMTNiYjNhMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9u
LWZyb20tc3ViZnJhbWUtZnJhbWUucHkKQEAgLTAsMCArMSwxNyBAQAorZGVmIG1haW4ocmVxdWVz
dCwgcmVzcG9uc2UpOgorICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9odG1s
IiksCisgICAgICAgICAgICAgICAoIkNyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IiwgcmVxdWVz
dC5HRVRbJ3ZhbHVlJ10pLF0KKyAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCAiIiI8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZv
LnN1Yi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCBSRVNP
VVJDRVNfRElSID0gIi9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2Vz
LyI7CitsZXQgZiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworZi5zcmMgPSBn
ZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsgUkVTT1VSQ0VTX0RJUiArICJuYXZp
Z2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD0lcyI7Citkb2N1bWVudC5ib2R5LnBy
ZXBlbmQoZik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4iIiIgJSByZXF1ZXN0LkdFVFsn
dGFyZ2V0J10KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5L3Jlc291cmNlcy9zZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1o
ZWFkZXIucHkgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGlj
eS9yZXNvdXJjZXMvc2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmZmZTcwMTdiYTI5NWVlN2FiZDg0ZDc4MjI3YjBjMDcyMDhkMGE3MmMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBv
bGljeS9yZXNvdXJjZXMvc2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5
CkBAIC0wLDAgKzEsMTQgQEAKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAgICBoZWFk
ZXJzID0gWygiQ29udGVudC1UeXBlIiwgInRleHQvaHRtbCIpLAorICAgICAgICAgICAgICAgKCJD
cm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSIsIHJlcXVlc3QuR0VUWyd2YWx1ZSddKSxdCisgICAg
cmV0dXJuIDIwMCwgaGVhZGVycywgIiIiVEVTVAorICAgICAgICA8aWZyYW1lIG5hbWU9InN1YmZy
YW1lIj48L2lmcmFtZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4geworICAgICAgICAgICAgICAgIGNvbnN0IG93bmVy
V2luZG93ID0gd2luZG93Lm9wZW5lciA/IHdpbmRvdy5vcGVuZXIgOiB3aW5kb3cudG9wOworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIG93bmVyV2luZG93LnBvc3RN
ZXNzYWdlKCJSRUFEWSIsICIqIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeyB9Cisg
ICAgICAgICAgICB9KTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgIiIiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMv
dXRpbHMuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGlj
eS9yZXNvdXJjZXMvdXRpbHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJiZDdiZTgyNWNjMGM0ODFmMTM2ZTRm
OTQyOTVjZTM3NGZhYWZlYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy91dGlscy5qcwpAQCAtMCwwICsx
LDE1MCBAQAorY29uc3QgUkVTT1VSQ0VTX0RJUiA9ICIvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5k
b3ctcG9saWN5L3Jlc291cmNlcy8iOworCitmdW5jdGlvbiBpc0Nyb3NzT3JpZ2luV2luZG93KHcp
Cit7CisgICAgdHJ5IHsKKyAgICAgICAgdy5uYW1lOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworYXN5bmMgZnVu
Y3Rpb24gd2FpdEZvckNyb3NzT3JpZ2luTG9hZCh3KQoreworICAgIHJldHVybiBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSkgPT4geworICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2Fn
ZScsIChtc2cpID0+IHsKKyAgICAgICAgICAgIGlmIChtc2cuc291cmNlICE9IHcgfHwgbXNnLmRh
dGEgIT0gIlJFQURZIikKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICByZXNv
bHZlKCk7CisgICAgICAgIH0pOworCisgICAgICAgIGxldCBoYW5kbGUgPSBzZXRJbnRlcnZhbCgo
KSA9PiB7CisgICAgICAgICAgICBpZiAoaXNDcm9zc09yaWdpbldpbmRvdyh3KSkgeworICAgICAg
ICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaGFuZGxlKTsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICB3LnBvc3RNZXNzYWdlOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gTm8gcG9pbnQgaW4gd2FpdGluZyBmb3Ig
IlJFQURZIiBtZXNzYWdlIGZyb20gd2luZG93IHNpbmNlIHBvc3RNZXNzYWdlIGlzCisgICAgICAg
ICAgICAgICAgICAgIC8vIG5vdCBhdmFpbGFibGUuCisgICAgICAgICAgICAgICAgICAgIHJlc29s
dmUoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0sIDUpOwor
ICAgIH0pOworfQorCithc3luYyBmdW5jdGlvbiB3aXRoSWZyYW1lKHJlc291cmNlRmlsZSwgY3Jv
c3NPcmlnaW4pCit7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAg
ICAgIGxldCByZXNvdXJjZVVSTCA9IGNyb3NzT3JpZ2luID8gZ2V0X2hvc3RfaW5mbygpLkhUVFBf
UkVNT1RFX09SSUdJTiA6IGdldF9ob3N0X2luZm8oKS5IVFRQX09SSUdJTjsKKyAgICAgICAgcmVz
b3VyY2VVUkwgKz0gUkVTT1VSQ0VTX0RJUjsKKyAgICAgICAgcmVzb3VyY2VVUkwgKz0gcmVzb3Vy
Y2VGaWxlOworICAgICAgICBsZXQgZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJh
bWUiKTsKKyAgICAgICAgZnJhbWUuc3JjID0gcmVzb3VyY2VVUkw7CisgICAgICAgIGlmIChjcm9z
c09yaWdpbikgeworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7
CisgICAgICAgICAgICB3YWl0Rm9yQ3Jvc3NPcmlnaW5Mb2FkKGZyYW1lLmNvbnRlbnRXaW5kb3cp
LnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgIHJlc29sdmUoZnJhbWUpOworICAgICAgICAg
ICAgfSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmcmFtZS5vbmxvYWQgPSBmdW5j
dGlvbigpIHsgcmVzb2x2ZShmcmFtZSk7IH07CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGZyYW1lKTsKKyAgICAgICAgfQorICAgIH0pOworfQorCithc3luYyBmdW5jdGlv
biB3aXRoUG9wdXAocmVzb3VyY2VGaWxlLCBjcm9zc09yaWdpbiwgd2luZG93TmFtZSkKK3sKKyAg
ICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsgCisgICAgICAgIGxldCByZXNvdXJj
ZVVSTCA9IGNyb3NzT3JpZ2luID8gZ2V0X2hvc3RfaW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTiA6
IGdldF9ob3N0X2luZm8oKS5IVFRQX09SSUdJTjsKKyAgICAgICAgcmVzb3VyY2VVUkwgKz0gUkVT
T1VSQ0VTX0RJUjsKKyAgICAgICAgcmVzb3VyY2VVUkwgKz0gcmVzb3VyY2VGaWxlOworCisgICAg
ICAgIGxldCB3ID0gb3BlbihyZXNvdXJjZVVSTCwgd2luZG93TmFtZSk7CisgICAgICAgIGlmIChj
cm9zc09yaWdpbikgeworICAgICAgICAgICAgd2FpdEZvckNyb3NzT3JpZ2luTG9hZCh3KS50aGVu
KCgpID0+IHsKKyAgICAgICAgICAgICAgICByZXNvbHZlKHsgJ3dpbmRvdyc6IHcgfSk7CisgICAg
ICAgICAgICB9KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHcub25sb2FkID0gZnVu
Y3Rpb24oKSB7IHJlc29sdmUoeyAnd2luZG93JzogdyB9KTsgfTsKKyAgICAgICAgfQorICAgfSk7
Cit9CisKK2NvbnN0IGNyb3NzT3JpZ2luUHJvcGVydHlOYW1lcyA9IFsgJ2JsdXInLCAnY2xvc2Un
LCAnY2xvc2VkJywgJ2ZvY3VzJywgJ2ZyYW1lcycsICdsZW5ndGgnLCAnbG9jYXRpb24nLCAnb3Bl
bmVyJywgJ3BhcmVudCcsICdwb3N0TWVzc2FnZScsICdzZWxmJywgJ3RvcCcsICd3aW5kb3cnIF07
Citjb25zdCBmb3JiaWRkZW5Qcm9wZXJ0aWVzQ3Jvc3NPcmlnaW4gPSBbIm5hbWUiLCAiZG9jdW1l
bnQiLCAiaGlzdG9yeSIsICJsb2NhdGlvbmJhciIsICJzdGF0dXMiLCAiZnJhbWVFbGVtZW50Iiwg
Im5hdmlnYXRvciIsICJhbGVydCIsICJsb2NhbFN0b3JhZ2UiLCAic2Vzc2lvblN0b3JhZ2UiLCAi
ZXZlbnQiLCAiZm9vIiwgImJhciJdOworCitmdW5jdGlvbiBhc3NlcnRfbm90X3Rocm93aW5nKGYs
IG1lc3NhZ2UpCit7CisgICAgdHJ5IHsKKyAgICAgICAgZigpOworICAgIH0gY2F0Y2ggKGUpIHsK
KyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZChtZXNzYWdlKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9u
IGNoZWNrQ3Jvc3NPcmlnaW5Qcm9wZXJ0aWVzQWNjZXNzKHcpCit7CisgICAgZm9yIChsZXQgY3Jv
c3NPcmlnaW5Qcm9wZXJ0eU5hbWUgb2YgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVzKQorICAgICAg
IGFzc2VydF9ub3RfdGhyb3dpbmcoZnVuY3Rpb24oKSB7IHdbY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5h
bWVdOyB9LCAiQWNjZXNzaW5nIHByb3BlcnR5ICciICsgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWUg
KyInIG9uIFdpbmRvdyBzaG91bGQgbm90IHRocm93Iik7CisgICAKKyAgICBhc3NlcnRfZmFsc2Uo
dy5jbG9zZWQsICInY2xvc2VkJyBwcm9wZXJ0eSB2YWx1ZSIpOyAKKyAgICBhc3NlcnRfZXF1YWxz
KHcuZnJhbWVzLCB3LCAiJ2ZyYW1lcycgcHJvcGVydHkgdmFsdWUiKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHcuc2VsZiwgdywgIidzZWxmJyBwcm9wZXJ0eSB2YWx1ZSIpOworICAgIGFzc2VydF9lcXVh
bHMody53aW5kb3csIHcsICInd2luZG93JyBwcm9wZXJ0eSB2YWx1ZSIpOworCisgICAgYXNzZXJ0
X25vdF90aHJvd2luZyhmdW5jdGlvbigpIHsgdy5ibHVyKCk7IH0sICJDYWxsaW5nIGJsdXIoKSBv
biBXaW5kb3cgc2hvdWxkIHNob3VsZCB0aHJvdyIpOworICAgIGFzc2VydF9ub3RfdGhyb3dpbmco
ZnVuY3Rpb24oKSB7IHcuZm9jdXMoKTsgfSwgIkNhbGxpbmcgZm9jdXMoKSBvbiBXaW5kb3cgc2hv
dWxkIHNob3VsZCB0aHJvdyIpOworICAgIGFzc2VydF9ub3RfdGhyb3dpbmcoZnVuY3Rpb24oKSB7
IHcucG9zdE1lc3NhZ2UoJ3Rlc3QnLCAnKicpOyB9LCAiQ2FsbGluZyBwb3N0TWVzc2FnZSgpIG9u
IFdpbmRvdyBzaG91bGQgc2hvdWxkIHRocm93Iik7Cit9CisKK2Z1bmN0aW9uIHRlc3RDcm9zc09y
aWdpbk9wdGlvbih3LCBoZWFkZXJWYWx1ZSwgaXNDcm9zc09yaWdpbikKK3sKKyAgICBpZiAoIWlz
Q3Jvc3NPcmlnaW4pIHsKKyAgICAgICAgY2hlY2tDcm9zc09yaWdpblByb3BlcnRpZXNBY2Nlc3Mo
dyk7CisgICAgICAgIGZvciAobGV0IGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NPcmlnaW4gb2YgZm9y
YmlkZGVuUHJvcGVydGllc0Nyb3NzT3JpZ2luKQorICAgICAgICAgICAgYXNzZXJ0X25vdF90aHJv
d2luZyhmdW5jdGlvbigpIHsgZXZhbCgidy4iICsgZm9yYmlkZGVuUHJvcGVydHlDcm9zc09yaWdp
bik7IH0sICJBY2Nlc3NpbmcgcHJvcGVydHkgJyIgKyBmb3JiaWRkZW5Qcm9wZXJ0eUNyb3NzT3Jp
Z2luICsgIicgb24gV2luZG93IHNob3VsZCBub3QgdGhyb3ciKTsKKyAgICAgICAgYXNzZXJ0X25v
dF90aHJvd2luZyhmdW5jdGlvbigpIHsgdy5mb28gPSAxOyB9LCAiU2V0dGluZyBleHBhbmRvIHBy
b3BlcnR5IHNob3VsZCBub3QgdGhyb3ciKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh3LmZvbywg
MSwgImV4cGFuZG8gcHJvcGVydHkgdmFsdWUiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIC8vIENyb3NzLW9yaWdpbiBjYXNlLgorICAgIGZvciAobGV0IGZvcmJpZGRlblByb3BlcnR5
Q3Jvc3NPcmlnaW4gb2YgZm9yYmlkZGVuUHJvcGVydGllc0Nyb3NzT3JpZ2luKSB7CisgICAgICAg
IGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZXZhbCgidy4iICsg
Zm9yYmlkZGVuUHJvcGVydHlDcm9zc09yaWdpbik7IH0sICJBY2Nlc3NpbmcgcHJvcGVydHkgJyIg
KyBmb3JiaWRkZW5Qcm9wZXJ0eUNyb3NzT3JpZ2luICsgIicgb24gV2luZG93IHNob3VsZCB0aHJv
dyIpOworICAgICAgICBsZXQgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
d2luZG93LCBmb3JiaWRkZW5Qcm9wZXJ0eUNyb3NzT3JpZ2luKTsKKyAgICAgICAgaWYgKGRlc2Mg
JiYgZGVzYy52YWx1ZSkKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3Ii
LCBmdW5jdGlvbigpIHsgZGVzYy52YWx1ZS5jYWxsKHcpOyB9LCAiQ2FsbGluZyBmdW5jdGlvbiAn
IiArIGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NPcmlnaW4gKyAiJyBvbiBXaW5kb3cgc2hvdWxkIHRo
cm93ICh1c2luZyBnZXR0ZXIgZnJvbSBvdGhlciB3aW5kb3cpIik7CisgICAgICAgIGVsc2UgaWYg
KGRlc2MgJiYgZGVzYy5nZXQpCisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVy
cm9yIiwgZnVuY3Rpb24oKSB7IGRlc2MuZ2V0LmNhbGwodyk7IH0sICJBY2Nlc3NpbmcgcHJvcGVy
dHkgJyIgKyBmb3JiaWRkZW5Qcm9wZXJ0eUNyb3NzT3JpZ2luICsgIicgb24gV2luZG93IHNob3Vs
ZCB0aHJvdyAodXNpbmcgZ2V0dGVyIGZyb20gb3RoZXIgd2luZG93KSIpOworICAgIH0KKyAgICBh
c3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IHcuZm9vID0gMTsgfSwg
IlNldHRpbmcgYW4gZXhwYW5kbyBwcm9wZXJ0eSBzaG91bGQgdGhyb3ciKTsKKworICAgIGlmICho
ZWFkZXJWYWx1ZSA9PSAiZGVueSIgfHwgaGVhZGVyVmFsdWUgPT0gImFsbG93LXBvc3RtZXNzYWdl
IikgeworICAgICAgICBmb3IgKGxldCBjcm9zc09yaWdpblByb3BlcnR5TmFtZSBvZiBjcm9zc09y
aWdpblByb3BlcnR5TmFtZXMpIHsKKyAgICAgICAgICAgIGlmIChoZWFkZXJWYWx1ZSA9PSAiYWxs
b3ctcG9zdG1lc3NhZ2UiICYmIGNyb3NzT3JpZ2luUHJvcGVydHlOYW1lID09ICJwb3N0TWVzc2Fn
ZSIpIHsKKyAgICAgICAgICAgICAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3
W2Nyb3NzT3JpZ2luUHJvcGVydHlOYW1lXTsgfSwgIkFjY2Vzc2luZyBwcm9wZXJ0eSAnIiArIGNy
b3NzT3JpZ2luUHJvcGVydHlOYW1lICsiJyBvbiBXaW5kb3cgc2hvdWxkIG5vdCB0aHJvdyIpOwor
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1
cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IHdbY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVdOyB9LCAi
QWNjZXNzaW5nICciICsgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWUgKyAiJyBwcm9wZXJ0eSIpOwor
CisgICAgICAgICAgICAgICAgbGV0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKHdpbmRvdywgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWUpOworICAgICAgICAgICAgICAgIGlm
IChkZXNjICYmIGRlc2MudmFsdWUpCisgICAgICAgICAgICAgICAgICAgIGFzc2VydF90aHJvd3Mo
IlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVzYy52YWx1ZS5jYWxsKHcpOyB9LCAiQ2Fs
bGluZyBmdW5jdGlvbiAnIiArIGNyb3NzT3JpZ2luUHJvcGVydHlOYW1lICsgIicgb24gV2luZG93
IHNob3VsZCB0aHJvdyAodXNpbmcgZ2V0dGVyIGZyb20gb3RoZXIgd2luZG93KSIpOworICAgICAg
ICAgICAgICAgIGVsc2UgaWYgKGRlc2MgJiYgZGVzYy5nZXQpCisgICAgICAgICAgICAgICAgICAg
IGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVzYy5nZXQuY2Fs
bCh3KTsgfSwgIkFjY2Vzc2luZyBwcm9wZXJ0eSAnIiArIGNyb3NzT3JpZ2luUHJvcGVydHlOYW1l
ICsgIicgb24gV2luZG93IHNob3VsZCB0aHJvdyAodXNpbmcgZ2V0dGVyIGZyb20gb3RoZXIgd2lu
ZG93KSIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmIChoZWFkZXJWYWx1
ZSA9PSAiYWxsb3ctcG9zdG1lc3NhZ2UiKSB7CisgICAgICAgICAgICBhc3NlcnRfbm90X3Rocm93
aW5nKGZ1bmN0aW9uKCkgeyB3LnBvc3RNZXNzYWdlKCd0ZXN0JywgJyonKTsgfSwgIkNhbGxpbmcg
cG9zdE1lc3NhZ2UoKSBvbiBXaW5kb3cgc2hvdWxkIG5vdCB0aHJvdyIpOworICAgICAgICAgICAg
YXNzZXJ0X25vdF90aHJvd2luZyhmdW5jdGlvbigpIHsgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcih3aW5kb3csICdwb3N0TWVzc2FnZScpLnZhbHVlLmNhbGwodywgJ3Rlc3QnLCAnKicp
OyB9LCAiQ2FsbGluZyBwb3N0TWVzc2FnZSgpIG9uIFdpbmRvdyBzaG91bGQgbm90IHRocm93ICh1
c2luZyBnZXR0ZXIgZnJvbSBvdGhlciB3aW5kb3cpIik7CisgICAgICAgIH0KKworICAgICAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHcpLnNvcnQoKSwg
aGVhZGVyVmFsdWUgPT0gImFsbG93LXBvc3RtZXNzYWdlIiA/IFsncG9zdE1lc3NhZ2UnXSA6IFtd
LCAiT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoKSIpOworCisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVz
KHcpLnNvcnQoKSwgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVzLnNvcnQoKSwgIk9iamVjdC5nZXRP
d25Qcm9wZXJ0eU5hbWVzKCkiKTsKKyAgICBjaGVja0Nyb3NzT3JpZ2luUHJvcGVydGllc0FjY2Vz
cyh3KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9odHRwL3dwdC9j
cm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFuY2hvci10
YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL2h0dHAvd3B0L2Ny
b3NzLW9yaWdpbi1vcHRpb25zL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRh
cmdldC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmNGZmNGVm
NDRkNjdkMmRkY2E1YTMzMTQ3NTViZmFkYjg5MmIyYmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL2h0dHAvd3B0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9y
LXRhcmdldC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlh
dGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9X
ZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJm
cmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1fdG9wJyBmcm9tIGZyYW1lIHdpdGggVVJM
ICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291
cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fdG9wJy4gTmF2aWdh
dGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4K
LQotQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRl
IG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2Vi
S2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJh
bWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3RvcCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAn
aHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJj
ZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmlnYXRp
b24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0K
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBp
bml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4
ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9t
LXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fdG9wJyBm
cm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9y
aWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3Rh
cmdldD1fdG9wJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdp
bi1PcHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBh
dHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8v
bG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZp
Z2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFy
Z2V0PV90b3AnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJL
aXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5j
aG9yLmh0bWw/dGFyZ2V0PV90b3AnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8g
Q3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6
IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJh
bWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9w
dGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1k
ZW55JnRhcmdldD1fcGFyZW50JyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4x
Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJl
bnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fcGFyZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFs
bG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNT
QUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9y
IGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdp
bi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFs
dWU9ZGVueSZ0YXJnZXQ9X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4w
LjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUt
cGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5hdmlnYXRpb24gd2FzIG5v
dCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBu
YXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktp
dC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1l
LWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fcGFyZW50JyBmcm9tIGZy
YW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1v
cHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1f
cGFyZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1P
cHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRl
bXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9j
YWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0
aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0
PV9wYXJlbnQnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJL
aXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5j
aG9yLmh0bWw/dGFyZ2V0PV9wYXJlbnQnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUg
dG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3Ig
ZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2lu
LW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1
ZT1kZW55JnRhcmdldD1mb28xJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4x
Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJl
bnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1mb28xJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93
ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdF
OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZy
YW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1v
cHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9
ZGVueSZ0YXJnZXQ9Zm9vMScgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4
ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50
LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9Zm9vMScuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2Vk
IGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9u
IGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1v
cmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5
P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1mb28yJyBmcm9tIGZyYW1lIHdpdGggVVJM
ICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291
cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1mb28yJy4gTmF2aWdh
dGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4K
LQotQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRl
IG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2Vi
S2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJh
bWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PWZvbzInIGZyb20gZnJh
bWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9w
dGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PWZv
bzInLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlv
bnMgaGVhZGVyLgotCi0KLVBBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55JyBwcmV2ZW50
cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0
PV90b3A+KSAKLVBBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0bWVzc2FnZScg
cHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxh
IHRhcmdldD1fdG9wPikgCi1QQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIGRvZXMg
bm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5n
IDxhIHRhcmdldD1fdG9wPikgCi1QQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueScgcHJl
dmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRh
cmdldD1fcGFyZW50PikgCi1QQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1l
c3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1
c2luZyA8YSB0YXJnZXQ9X3BhcmVudD4pIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFs
bG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZy
YW1lICh1c2luZyA8YSB0YXJnZXQ9X3BhcmVudD4pIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlv
bnM6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1l
ICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZSkgCi1QQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9u
czogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmln
aW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZSkgCi1QQVNTICdDcm9zcy1P
cmlnaW4tT3B0aW9uczogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIGNy
b3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD13aW5kb3dOYW1lPikgCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9odHRwL3dwdC9jcm9zcy1vcmlnaW4t
d2luZG93LXBvbGljeS9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFuY2hvci10YXJnZXQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL2h0dHAvd3B0L2Nyb3NzLW9y
aWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRh
cmdldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmJiMmE5MDdlNzVhNmY0YTBlYmJmMjI3Y2Rh
ZmExMjY2NGZmZmFjYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dr
Mi9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9uYXZpZ2F0aW9uLWZyb20tc3Vi
ZnJhbWUtdmlhLWFuY2hvci10YXJnZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzUgQEAKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0
aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAw
L1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1m
cm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PV90b3AnIGZyb20gZnJhbWUg
d2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRv
dy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0
PV90b3AnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdp
bmRvdy1Qb2xpY3kgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0
IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6
Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3Vy
Y2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1f
dG9wJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Ny
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFu
Y2hvci5odG1sP3RhcmdldD1fdG9wJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRv
IENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4KKworQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24g
Zm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9y
aWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJh
bWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PV90b3AnIGZyb20gZnJhbWUgd2l0
aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV90
b3AnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdpbmRv
dy1Qb2xpY3kgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0
dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9s
b2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2Vz
L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2Fn
ZSZ0YXJnZXQ9X3RvcCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAw
L1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFy
ZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxv
d2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBu
YXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktp
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1
YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PV9wYXJlbnQnIGZyb20gZnJhbWUgd2l0
aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV9w
YXJlbnQnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdp
bmRvdy1Qb2xpY3kgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0
IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6
Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3Vy
Y2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1f
cGFyZW50JyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0
L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlh
LWFuY2hvci5odG1sP3RhcmdldD1fcGFyZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQg
ZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4KKworQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmln
YXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Ny
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJh
bWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PV9wYXJlbnQnIGZyb20g
ZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/
dGFyZ2V0PV9wYXJlbnQnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3Mt
T3JpZ2luLVdpbmRvdy1Qb2xpY3kgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBK
YXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBV
UkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xp
Y3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxv
dy1wb3N0bWVzc2FnZSZ0YXJnZXQ9X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDov
LzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJj
ZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5hdmln
YXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBo
ZWFkZXIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0
ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMv
bmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PWZvbzEn
IGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mt
b3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9y
Lmh0bWw/dGFyZ2V0PWZvbzEnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jv
c3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6IFVuc2Fm
ZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0
aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1k
ZW55JnRhcmdldD1mb28xJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4
MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1w
YXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1mb28xJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFs
bG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4KKworQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRl
IG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2Vi
S2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20t
c3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PWZvbzInIGZy
b20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3Jp
Z2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0
bWw/dGFyZ2V0PWZvbzInLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3Mt
T3JpZ2luLVdpbmRvdy1Qb2xpY3kgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBK
YXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBV
UkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xp
Y3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxv
dy1wb3N0bWVzc2FnZSZ0YXJnZXQ9Zm9vMicgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEy
Ny4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMv
bmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9Zm9vMicuIE5hdmlnYXRpb24g
d2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIu
CisKKworUEFTUyAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIHByZXZlbnRzIG5h
dmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3Rv
cD4pIAorUEFTUyAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdl
JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcg
PGEgdGFyZ2V0PV90b3A+KSAKK1BBU1MgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxv
dycgZG9lcyBub3QgcHJldmVudCBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFt
ZSAodXNpbmcgPGEgdGFyZ2V0PV90b3A+KSAKK1BBU1MgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9s
aWN5OiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFt
ZSAodXNpbmcgPGEgdGFyZ2V0PV9wYXJlbnQ+KSAKK1BBU1MgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ct
UG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3Nz
LW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fcGFyZW50PikgCitQQVNTICdDcm9z
cy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlv
biBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fcGFyZW50Pikg
CitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogZGVueScgcHJldmVudHMgbmF2aWdh
dGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD13aW5kb3dO
YW1lKSAKK1BBU1MgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2Fn
ZScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5n
IDxhIHRhcmdldD13aW5kb3dOYW1lKSAKK1BBU1MgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5
OiBhbGxvdycgZG9lcyBub3QgcHJldmVudCBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1
Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWU+KSAKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341951</attachid>
            <date>2018-06-04 20:31:05 -0700</date>
            <delta_ts>2018-06-04 21:11:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186287-20180604203104.patch</filename>
            <type>text/plain</type>
            <size>157102</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyNDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ1NjM4YTYzN2FmYjRk
ODg4ZDQ1MGQ0YTY5YTMyMTBjOWZjNGEzNC4uNTY2YmQ3MzM2ZTRiOWYxZGFhMTYxMThjOGUxMzNj
YjNkNmNlODg3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE4LTA2LTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lICJDcm9zcy1Pcmln
aW4tT3B0aW9ucyIgSFRUUCBoZWFkZXIgdG8gIkNyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5Igor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg2Mjg3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MDc4MzM1Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBZ
b3Vlbm4gRmFibGV0LgorCisgICAgICAgIFRlc3RzOiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2lu
ZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2FnZS1mcm9tLWRlbnkuaHRtbAorICAgICAgICAgICAg
ICAgaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2Uu
aHRtbAorICAgICAgICAgICAgICAgaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kv
Y3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLmh0bWwKKyAgICAgICAgICAgICAgIGh0
dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1vcGVuZXIt
dmlhLW9wZW4tdGFyZ2V0Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvd3B0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdl
dC5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmdTZWN1cml0eS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9E
T01XaW5kb3dHaXZlbk1pbmltdW1Dcm9zc09yaWdpbldpbmRvd1BvbGljeSk6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01CaW5kaW5nU2VjdXJpdHkuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjplZmZlY3RpdmVDcm9z
c09yaWdpbldpbmRvd1BvbGljeUZvckFjY2Vzcyk6CisgICAgICAgIChXZWJDb3JlOjpqc0RPTVdp
bmRvd0dldE93blByb3BlcnR5U2xvdFJlc3RyaWN0ZWRBY2Nlc3MpOgorICAgICAgICAoV2ViQ29y
ZTo6SlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAoV2Vi
Q29yZTo6YWRkQ3Jvc3NPcmlnaW5XaW5kb3dQcm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKFdlYkNv
cmU6OmFkZFNjb3BlZENoaWxkcmVuSW5kZXhlcyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUF0dHJpYnV0ZUdldHRlckJv
ZHlEZWZpbml0aW9uKToKKyAgICAgICAgKEdldENyb3NzT3JpZ2luc09wdGlvbnNGcm9tRXh0ZW5k
ZWRBdHRyaWJ1dGVWYWx1ZSk6CisgICAgICAgIChHZW5lcmF0ZUF0dHJpYnV0ZVNldHRlckJvZHlE
ZWZpbml0aW9uKToKKyAgICAgICAgKEdlbmVyYXRlT3BlcmF0aW9uQm9keURlZmluaXRpb24pOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy5qc29uOgorICAgICAgICAq
IGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y2FuTmF2aWdh
dGUpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZUxvYWRlcjo6ZGlkQmVnaW5Eb2N1bWVudCk6CisgICAgICAgICogcGFnZS9BYnN0cmFj
dERPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBYnN0cmFjdERPTVdpbmRvdzo6QWJz
dHJhY3RET01XaW5kb3cpOgorICAgICAgICAqIHBhZ2UvQWJzdHJhY3RET01XaW5kb3cuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFic3RyYWN0RE9NV2luZG93Ojpjcm9zc09yaWdpbldpbmRvd1BvbGlj
eSk6CisgICAgICAgIChXZWJDb3JlOjpBYnN0cmFjdERPTVdpbmRvdzo6c2V0Q3Jvc3NPcmlnaW5X
aW5kb3dQb2xpY3kpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgKiBw
YWdlL1NldHRpbmdzLnlhbWw6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9IVFRQSGVhZGVy
TmFtZXMuaW46CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpwYXJzZUNyb3NzT3JpZ2luV2luZG93UG9saWN5SGVhZGVyKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmg6CisKIDIwMTgtMDYtMDQgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGlPUyBi
dWlsZCBmaXggd2l0aCByZWNlbnQgU0RLcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNjIxZmYwNjEwZWI5NWQwMTlm
OWUzYzMxNTAzZjQ4MDdlYzk5NWE2OS4uNWMxZThjMDViMTk4YWM3OTAxMDIwOTc0YmRjYWY2MmM0
MThmN2JlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOC0wNi0wNCAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSAiQ3Jvc3MtT3JpZ2luLU9w
dGlvbnMiIEhUVFAgaGVhZGVyIHRvICJDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjI4NworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNDA3ODMzNTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5u
IEZhYmxldC4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6ZnJhbWVCZWNhbWVSZW1vdGUpOgorCiAyMDE4LTA2LTA0ICBEYW4gQmVybnN0ZWluICA8
bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzdG9yZWQgY29kZSBzaWduaW5nIGJlaGF2aW9y
IHdoZW4gV0tfVVNFX1JFU1RSSUNURURfRU5USVRMRU1FTlRTIGlzbuKAmXQgc2V0LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDE3YTFkNDQ3YjMyNTdmY2U4ZWRlZjAyYmE2ODU5MDMz
OTM1MDc4OTIuLmFmYTA4YTllYTIzZDJhNmQ0OTkyZDZlZTQxZmQ0YTQ0YmM1ZDQ3MjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOC0wNi0wNCAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSAiQ3Jvc3MtT3Jp
Z2luLU9wdGlvbnMiIEhUVFAgaGVhZGVyIHRvICJDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjI4Nwor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDA3ODMzNTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
WW91ZW5uIEZhYmxldC4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtb
V2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBj
cm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlBy
ZWZlcmVuY2VzIHNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQ6XSk6Cisg
ICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpd
KToKKwogMjAxOC0wNi0wMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0NvY29hXSBVcGRhdGUgc29tZSBjb2RlIHRvIGJlIG1vcmUgQVJDLWNvbXBhdGlibGUgdG8g
cHJlcGFyZSBmb3IgZnV0dXJlIEFSQyBhZG9wdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9n
CmluZGV4IDdhNjk1NzdiY2NkYjZhZDkxNDZiMDJlZDU0ODM1NmVmODAyMmI3MDQuLjhkMmU2Yzk1
MTlkNTY0NjllOTVkYzMzZGM4ZGIzOTEyMGIwYTIwYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxOC0wNi0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSAiQ3Jvc3MtT3JpZ2luLU9wdGlvbnMiIEhUVFAg
aGVhZGVyIHRvICJDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjI4NworICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDA3ODMzNTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKwor
ICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6CisgICAgICAg
ICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMu
Y3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2V0dGluZ3Mp
OgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmNyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9y
dEVuYWJsZWQpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldENyb3NzT3JpZ2luV2luZG93
UG9saWN5U3VwcG9ydEVuYWJsZWQpOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAg
ICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0No
YW5nZWQpOgorCiAyMDE4LTA1LTMwICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFtKU0NdIFBhc3MgVk0mIHBhcmFtZXRlciBhcyBtdWNoIGFzIHBvc3Np
YmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmdT
ZWN1cml0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmdTZWN1
cml0eS5jcHAKaW5kZXggMmI2NzU4NTExNjA0MTQ2MDg1YzNiMGY5ZWUxYTBlZmJhZmE0MTJhMC4u
ZjJkOThiYjM1MmQ2MWVmZTY1ZmNkM2ViNjMwMDg4OTlmM2M3YjUyMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nU2VjdXJpdHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZ1NlY3VyaXR5LmNwcApAQCAtMTAw
LDE2ICsxMDAsMTYgQEAgYm9vbCBCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9O
b2RlKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgTm9kZSogdGFyZ2UKICAgICByZXR1cm4gIXRhcmdl
dCB8fCBjYW5BY2Nlc3NEb2N1bWVudCgmc3RhdGUsICZ0YXJnZXQtPmRvY3VtZW50KCksIExvZ1Nl
Y3VyaXR5RXJyb3IpOwogfQogCi1ib29sIEJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nl
c3NUb0RPTVdpbmRvd0dpdmVuTWluaW11bUNyb3NzT3JpZ2luT3B0aW9ucyhKU0M6OkV4ZWNTdGF0
ZSogc3RhdGUsIERPTVdpbmRvdyYgdGFyZ2V0LCBDcm9zc09yaWdpbk9wdGlvbnMgbWluaW11bUNy
b3NzT3JpZ2luT3B0aW9ucywgU2VjdXJpdHlSZXBvcnRpbmdPcHRpb24gcmVwb3J0aW5nT3B0aW9u
KQorYm9vbCBCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3dHaXZl
bk1pbmltdW1Dcm9zc09yaWdpbldpbmRvd1BvbGljeShKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIERP
TVdpbmRvdyYgdGFyZ2V0LCBDcm9zc09yaWdpbldpbmRvd1BvbGljeSBtaW5pbXVtQ3Jvc3NPcmln
aW5XaW5kb3dQb2xpY3ksIFNlY3VyaXR5UmVwb3J0aW5nT3B0aW9uIHJlcG9ydGluZ09wdGlvbikK
IHsKICAgICBET01XaW5kb3cmIHNvdXJjZSA9IGFjdGl2ZURPTVdpbmRvdygqc3RhdGUpOwotICAg
IEFTU0VSVChtaW5pbXVtQ3Jvc3NPcmlnaW5PcHRpb25zID4gQ3Jvc3NPcmlnaW5PcHRpb25zOjpE
ZW55KTsKKyAgICBBU1NFUlQobWluaW11bUNyb3NzT3JpZ2luV2luZG93UG9saWN5ID4gQ3Jvc3NP
cmlnaW5XaW5kb3dQb2xpY3k6OkRlbnkpOwogCi0gICAgc3RhdGljX2Fzc2VydChDcm9zc09yaWdp
bk9wdGlvbnM6OkRlbnkgPCBDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93UG9zdE1lc3NhZ2UgJiYg
Q3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvd1Bvc3RNZXNzYWdlIDwgQ3Jvc3NPcmlnaW5PcHRpb25z
OjpBbGxvdywgIk1vcmUgcmVzdHJpY3RpdmUgY3Jvc3Mtb3JpZ2luIG9wdGlvbnMgc2hvdWxkIGhh
dmUgbG93ZXIgdmFsdWVzIik7CisgICAgc3RhdGljX2Fzc2VydChDcm9zc09yaWdpbldpbmRvd1Bv
bGljeTo6RGVueSA8IENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvd1Bvc3RNZXNzYWdlICYm
IENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvd1Bvc3RNZXNzYWdlIDwgQ3Jvc3NPcmlnaW5X
aW5kb3dQb2xpY3k6OkFsbG93LCAiTW9yZSByZXN0cmljdGl2ZSBjcm9zcy1vcmlnaW4gb3B0aW9u
cyBzaG91bGQgaGF2ZSBsb3dlciB2YWx1ZXMiKTsKIAogICAgIC8vIEZhc3QgcGF0aC4KLSAgICBh
dXRvIGVmZmVjdGl2ZUNyb3NzT3JpZ2luT3B0aW9ucyA9IHN0ZDo6bWluKHNvdXJjZS5jcm9zc09y
aWdpbk9wdGlvbnMoKSwgdGFyZ2V0LmNyb3NzT3JpZ2luT3B0aW9ucygpKTsKLSAgICBpZiAoZWZm
ZWN0aXZlQ3Jvc3NPcmlnaW5PcHRpb25zID49IG1pbmltdW1Dcm9zc09yaWdpbk9wdGlvbnMpCisg
ICAgYXV0byBlZmZlY3RpdmVDcm9zc09yaWdpbldpbmRvd1BvbGljeSA9IHN0ZDo6bWluKHNvdXJj
ZS5jcm9zc09yaWdpbldpbmRvd1BvbGljeSgpLCB0YXJnZXQuY3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3koKSk7CisgICAgaWYgKGVmZmVjdGl2ZUNyb3NzT3JpZ2luV2luZG93UG9saWN5ID49IG1pbmlt
dW1Dcm9zc09yaWdpbldpbmRvd1BvbGljeSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBy
ZXR1cm4gc2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhzdGF0ZSwgdGFyZ2V0LCByZXBvcnRp
bmdPcHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01C
aW5kaW5nU2VjdXJpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Z1NlY3VyaXR5LmgKaW5kZXggNWMyYWY5OTg4NTdmMzlkNzNjZjdhYTBhMjQ1NzM1Yjk2ZTQ1NGYx
NS4uMTcwNDYyZTBiNTQxMmQyMmUyMTE1MTBlOWEwMWU0MWRjY2Y2ZGM3NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nU2VjdXJpdHkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmdTZWN1cml0eS5oCkBAIC0zNiw3
ICszNiw3IEBAIGNsYXNzIERPTVdpbmRvdzsKIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9kZTsKIAot
ZW51bSBjbGFzcyBDcm9zc09yaWdpbk9wdGlvbnM7CitlbnVtIGNsYXNzIENyb3NzT3JpZ2luV2lu
ZG93UG9saWN5OwogCiB2b2lkIHByaW50RXJyb3JNZXNzYWdlRm9yRnJhbWUoRnJhbWUqLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpOwogCkBAIC01NSw3ICs1NSw3IEBAIGJvb2wgc2hvdWxkQWxsb3dB
Y2Nlc3NUb0ZyYW1lKEpTQzo6RXhlY1N0YXRlKiwgRnJhbWUqLCBTZWN1cml0eVJlcG9ydGluZ09w
dGlvbiA9CiBib29sIHNob3VsZEFsbG93QWNjZXNzVG9GcmFtZShKU0M6OkV4ZWNTdGF0ZSYsIEZy
YW1lJiwgU3RyaW5nJiBtZXNzYWdlKTsKIGJvb2wgc2hvdWxkQWxsb3dBY2Nlc3NUb05vZGUoSlND
OjpFeGVjU3RhdGUmLCBOb2RlKik7CiAKLWJvb2wgc2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRv
d0dpdmVuTWluaW11bUNyb3NzT3JpZ2luT3B0aW9ucyhKU0M6OkV4ZWNTdGF0ZSosIERPTVdpbmRv
dyYsIENyb3NzT3JpZ2luT3B0aW9ucywgU2VjdXJpdHlSZXBvcnRpbmdPcHRpb24gPSBMb2dTZWN1
cml0eUVycm9yKTsKK2Jvb2wgc2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dpdmVuTWluaW11
bUNyb3NzT3JpZ2luV2luZG93UG9saWN5KEpTQzo6RXhlY1N0YXRlKiwgRE9NV2luZG93JiwgQ3Jv
c3NPcmlnaW5XaW5kb3dQb2xpY3ksIFNlY3VyaXR5UmVwb3J0aW5nT3B0aW9uID0gTG9nU2VjdXJp
dHlFcnJvcik7CiAKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93Q3VzdG9tLmNwcAppbmRleCA1ZGIxZDVjY2JlMWZlOGI3ZmEyOWQzOWZhYWRiMzg4MTNi
ZWFlOGJlLi5kOTk5MzkzZWNlODM3NmQ0NWE4NzE1MWI5ZjllYmZkNjY2NzM0OThkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCkBAIC01
NiwxMCArNTYsMTAgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBKU0M7
CiAKLXN0YXRpYyBDcm9zc09yaWdpbk9wdGlvbnMgZWZmZWN0aXZlQ3Jvc3NPcmlnaW5PcHRpb25z
Rm9yQWNjZXNzKEV4ZWNTdGF0ZSYgc3RhdGUsIEFic3RyYWN0RE9NV2luZG93JiB0YXJnZXQpCitz
dGF0aWMgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kgZWZmZWN0aXZlQ3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3lGb3JBY2Nlc3MoRXhlY1N0YXRlJiBzdGF0ZSwgQWJzdHJhY3RET01XaW5kb3cmIHRhcmdl
dCkKIHsKLSAgICBzdGF0aWNfYXNzZXJ0KENyb3NzT3JpZ2luT3B0aW9uczo6RGVueSA8IENyb3Nz
T3JpZ2luT3B0aW9uczo6QWxsb3dQb3N0TWVzc2FnZSAmJiBDcm9zc09yaWdpbk9wdGlvbnM6OkFs
bG93UG9zdE1lc3NhZ2UgPCBDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93LCAiTW9yZSByZXN0cmlj
dGl2ZSBjcm9zcy1vcmlnaW4gb3B0aW9ucyBzaG91bGQgaGF2ZSBsb3dlciB2YWx1ZXMiKTsKLSAg
ICByZXR1cm4gc3RkOjptaW4oYWN0aXZlRE9NV2luZG93KHN0YXRlKS5jcm9zc09yaWdpbk9wdGlv
bnMoKSwgdGFyZ2V0LmNyb3NzT3JpZ2luT3B0aW9ucygpKTsKKyAgICBzdGF0aWNfYXNzZXJ0KENy
b3NzT3JpZ2luV2luZG93UG9saWN5OjpEZW55IDwgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFs
bG93UG9zdE1lc3NhZ2UgJiYgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93UG9zdE1lc3Nh
Z2UgPCBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3csICJNb3JlIHJlc3RyaWN0aXZlIGNy
b3NzLW9yaWdpbiBvcHRpb25zIHNob3VsZCBoYXZlIGxvd2VyIHZhbHVlcyIpOworICAgIHJldHVy
biBzdGQ6Om1pbihhY3RpdmVET01XaW5kb3coc3RhdGUpLmNyb3NzT3JpZ2luV2luZG93UG9saWN5
KCksIHRhcmdldC5jcm9zc09yaWdpbldpbmRvd1BvbGljeSgpKTsKIH0KIAogRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc0RPTVdpbmRvd0luc3RhbmNlRnVuY3Rpb25TaG93TW9kYWxEaWFs
b2coRXhlY1N0YXRlKik7CkBAIC0xMDAsMTggKzEwMCwxOCBAQCBib29sIGpzRE9NV2luZG93R2V0
T3duUHJvcGVydHlTbG90UmVzdHJpY3RlZEFjY2VzcyhKU0RPTUdsb2JhbE9iamVjdCogdGhpc09i
amVjdAogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBzd2l0Y2ggKGVmZmVjdGl2
ZUNyb3NzT3JpZ2luT3B0aW9uc0ZvckFjY2VzcyhzdGF0ZSwgd2luZG93KSkgewotICAgIGNhc2Ug
Q3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvd1Bvc3RNZXNzYWdlOgorICAgIHN3aXRjaCAoZWZmZWN0
aXZlQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lGb3JBY2Nlc3Moc3RhdGUsIHdpbmRvdykpIHsKKyAg
ICBjYXNlIENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvd1Bvc3RNZXNzYWdlOgogICAgICAg
ICBpZiAocHJvcGVydHlOYW1lID09IGJ1aWx0aW5OYW1lcy5wb3N0TWVzc2FnZVB1YmxpY05hbWUo
KSkgewogICAgICAgICAgICAgc2xvdC5zZXRDdXN0b20odGhpc09iamVjdCwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pLCB3aW5kb3dUeXBlID09IERPTVdpbmRvd1R5cGU6OlJlbW90
ZSA/IG5vbkNhY2hpbmdTdGF0aWNGdW5jdGlvbkdldHRlcjxqc1JlbW90ZURPTVdpbmRvd0luc3Rh
bmNlRnVuY3Rpb25Qb3N0TWVzc2FnZSwgMD4gOiBub25DYWNoaW5nU3RhdGljRnVuY3Rpb25HZXR0
ZXI8anNET01XaW5kb3dJbnN0YW5jZUZ1bmN0aW9uUG9zdE1lc3NhZ2UsIDI+KTsKICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgICAgIEZBTExUSFJPVUdIOwotICAgIGNh
c2UgQ3Jvc3NPcmlnaW5PcHRpb25zOjpEZW55OgorICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3k6OkRlbnk6CiAgICAgICAgIHRocm93U2VjdXJpdHlFcnJvcihzdGF0ZSwgc2NvcGUsIGVy
cm9yTWVzc2FnZSk7CiAgICAgICAgIHNsb3Quc2V0VW5kZWZpbmVkKCk7CiAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICBjYXNlIENyb3NzT3JpZ2luT3B0aW9uczo6QWxsb3c6CisgICAgY2FzZSBD
cm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3c6CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApA
QCAtMjUzLDEzICsyNTMsMTMgQEAgYm9vbCBKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90
QnlJbmRleChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIHN0YXRlLAogCiAgICAgLy8gKDEp
IEZpcnN0LCBpbmRleGVkIHByb3BlcnRpZXMuCiAgICAgLy8gVGhlc2UgYXJlIGFsc28gYWxsb3dl
ZCBjcm9zcy1vcmlnaW4sIHNvIGNvbWUgYmVmb3JlIHRoZSBhY2Nlc3MgY2hlY2suCi0gICAgc3dp
dGNoIChlZmZlY3RpdmVDcm9zc09yaWdpbk9wdGlvbnNGb3JBY2Nlc3MoKnN0YXRlLCB3aW5kb3cp
KSB7Ci0gICAgY2FzZSBDcm9zc09yaWdpbk9wdGlvbnM6OkRlbnk6Ci0gICAgY2FzZSBDcm9zc09y
aWdpbk9wdGlvbnM6OkFsbG93UG9zdE1lc3NhZ2U6CisgICAgc3dpdGNoIChlZmZlY3RpdmVDcm9z
c09yaWdpbldpbmRvd1BvbGljeUZvckFjY2Vzcygqc3RhdGUsIHdpbmRvdykpIHsKKyAgICBjYXNl
IENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpEZW55OgorICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5k
b3dQb2xpY3k6OkFsbG93UG9zdE1lc3NhZ2U6CiAgICAgICAgIGlmIChpc0Nyb3NzT3JpZ2luQWNj
ZXNzKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgRkFMTFRIUk9VR0g7Ci0gICAgY2Fz
ZSBDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93OgorICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3k6OkFsbG93OgogICAgICAgICBpZiAoZnJhbWUgJiYgaW5kZXggPCBmcmFtZS0+dHJlZSgp
LnNjb3BlZENoaWxkQ291bnQoKSkgewogICAgICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2Jq
ZWN0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkpLCB0b0pTKHN0YXRlLCBmcmFtZS0+dHJlZSgpLnNjb3BlZENoaWxkKGluZGV4KS0+ZG9jdW1l
bnQoKS0+ZG9tV2luZG93KCkpKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMzQ4LDE1
ICszNDgsMTUgQEAgc3RhdGljIHZvaWQgYWRkQ3Jvc3NPcmlnaW5XaW5kb3dQcm9wZXJ0eU5hbWVz
KEV4ZWNTdGF0ZSYgc3RhdGUsIEFic3RyYWN0RE9NV2luZG8KICAgICAgICAgJnN0YXRpY19jYXN0
PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLndpbmRvd1B1
YmxpY05hbWUoKQogICAgIH07CiAKLSAgICBzd2l0Y2ggKGVmZmVjdGl2ZUNyb3NzT3JpZ2luT3B0
aW9uc0ZvckFjY2VzcyhzdGF0ZSwgd2luZG93KSkgewotICAgIGNhc2UgQ3Jvc3NPcmlnaW5PcHRp
b25zOjpBbGxvdzoKKyAgICBzd2l0Y2ggKGVmZmVjdGl2ZUNyb3NzT3JpZ2luV2luZG93UG9saWN5
Rm9yQWNjZXNzKHN0YXRlLCB3aW5kb3cpKSB7CisgICAgY2FzZSBDcm9zc09yaWdpbldpbmRvd1Bv
bGljeTo6QWxsb3c6CiAgICAgICAgIGZvciAoYXV0byogcHJvcGVydHkgOiBwcm9wZXJ0aWVzKQog
ICAgICAgICAgICAgcHJvcGVydHlOYW1lcy5hZGQoKnByb3BlcnR5KTsKICAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93UG9zdE1lc3NhZ2U6CisgICAgY2Fz
ZSBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3dQb3N0TWVzc2FnZToKICAgICAgICAgcHJv
cGVydHlOYW1lcy5hZGQoc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRh
KS0+YnVpbHRpbk5hbWVzKCkucG9zdE1lc3NhZ2VQdWJsaWNOYW1lKCkpOwogICAgICAgICBicmVh
azsKLSAgICBjYXNlIENyb3NzT3JpZ2luT3B0aW9uczo6RGVueToKKyAgICBjYXNlIENyb3NzT3Jp
Z2luV2luZG93UG9saWN5OjpEZW55OgogICAgICAgICBicmVhazsKICAgICB9CiB9CkBAIC0zNzEs
MTEgKzM3MSwxMSBAQCBzdGF0aWMgdm9pZCBhZGRTY29wZWRDaGlsZHJlbkluZGV4ZXMoRXhlY1N0
YXRlJiBzdGF0ZSwgRE9NV2luZG93JiB3aW5kb3csIFByb3BlcgogICAgIGlmICghZnJhbWUpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIHN3aXRjaCAoZWZmZWN0aXZlQ3Jvc3NPcmlnaW5PcHRpb25z
Rm9yQWNjZXNzKHN0YXRlLCB3aW5kb3cpKSB7Ci0gICAgY2FzZSBDcm9zc09yaWdpbk9wdGlvbnM6
OkFsbG93OgorICAgIHN3aXRjaCAoZWZmZWN0aXZlQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lGb3JB
Y2Nlc3Moc3RhdGUsIHdpbmRvdykpIHsKKyAgICBjYXNlIENyb3NzT3JpZ2luV2luZG93UG9saWN5
OjpBbGxvdzoKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDcm9zc09yaWdpbk9wdGlvbnM6OkRl
bnk6Ci0gICAgY2FzZSBDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93UG9zdE1lc3NhZ2U6CisgICAg
Y2FzZSBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6RGVueToKKyAgICBjYXNlIENyb3NzT3JpZ2lu
V2luZG93UG9saWN5OjpBbGxvd1Bvc3RNZXNzYWdlOgogICAgICAgICByZXR1cm47CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCmluZGV4IDkxMDM2OWQyMDc0NDY4NWRjZWJhYTEzNjRhYWNjYTZhZWU4MjcwYzkuLjBlMDcw
MWRjZjcxMjNhYTVlYTI1NWUwODAxMDA2Y2EzM2M5MzY2ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC00NzA3LDkgKzQ3
MDcsOSBAQCBzdWIgR2VuZXJhdGVBdHRyaWJ1dGVHZXR0ZXJCb2R5RGVmaW5pdGlvbgogICAgICAg
ICBBZGRUb0ltcGxJbmNsdWRlcygiSlNET01CaW5kaW5nU2VjdXJpdHkuaCIsICRjb25kaXRpb25h
bCk7CiAgICAgICAgIGlmICgkaW50ZXJmYWNlLT50eXBlLT5uYW1lIGVxICJET01XaW5kb3ciKSB7
CiAgICAgICAgICAgICBpZiAoJGF0dHJpYnV0ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57RG9Ob3RD
aGVja1NlY3VyaXR5SWZ9KSB7Ci0gICAgICAgICAgICAgICAgbXkgJGNyb3NzT3JpZ2luT3B0aW9u
cyA9IEdldENyb3NzT3JpZ2luc09wdGlvbnNGcm9tRXh0ZW5kZWRBdHRyaWJ1dGVWYWx1ZSgkYXR0
cmlidXRlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntEb05vdENoZWNrU2VjdXJpdHlJZn0pOworICAg
ICAgICAgICAgICAgIG15ICRjcm9zc09yaWdpbldpbmRvd1BvbGljeSA9IEdldENyb3NzT3JpZ2lu
c09wdGlvbnNGcm9tRXh0ZW5kZWRBdHRyaWJ1dGVWYWx1ZSgkYXR0cmlidXRlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPntEb05vdENoZWNrU2VjdXJpdHlJZn0pOwogICAgICAgICAgICAgICAgIEFkZFRv
SW1wbEluY2x1ZGVzKCJIVFRQUGFyc2Vycy5oIiwgJGNvbmRpdGlvbmFsKTsKLSAgICAgICAgICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3Vs
ZEFsbG93QWNjZXNzVG9ET01XaW5kb3dHaXZlbk1pbmltdW1Dcm9zc09yaWdpbk9wdGlvbnMoJnN0
YXRlLCB0aGlzT2JqZWN0LndyYXBwZWQoKSwgJGNyb3NzT3JpZ2luT3B0aW9ucywgVGhyb3dTZWN1
cml0eUVycm9yKSlcbiIpOworICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAg
ICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dpdmVu
TWluaW11bUNyb3NzT3JpZ2luV2luZG93UG9saWN5KCZzdGF0ZSwgdGhpc09iamVjdC53cmFwcGVk
KCksICRjcm9zc09yaWdpbldpbmRvd1BvbGljeSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOwog
ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXks
ICIgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3co
JnN0YXRlLCB0aGlzT2JqZWN0LndyYXBwZWQoKSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOwog
ICAgICAgICAgICAgfQpAQCAtNDgyNCw5ICs0ODI0LDkgQEAgc3ViIEdldENyb3NzT3JpZ2luc09w
dGlvbnNGcm9tRXh0ZW5kZWRBdHRyaWJ1dGVWYWx1ZQogewogICAgIG15ICRleHRlbmRlZEF0dHJp
YnV0ZVZhbHVlID0gc2hpZnQ7CiAKLSAgICByZXR1cm4gIkNyb3NzT3JpZ2luT3B0aW9uczo6QWxs
b3ciIGlmICRleHRlbmRlZEF0dHJpYnV0ZVZhbHVlIGVxICJDcm9zc09yaWdpbk9wdGlvbnNBbGxv
dyI7Ci0gICAgcmV0dXJuICJDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93UG9zdE1lc3NhZ2UiIGlm
ICRleHRlbmRlZEF0dHJpYnV0ZVZhbHVlIGVxICJDcm9zc09yaWdpbk9wdGlvbnNBbGxvd1Bvc3RN
ZXNzYWdlIjsKLSAgICBkaWUgIlVuc3VwcG9ydGVkIENyb3NzT3JpZ2luT3B0aW9uczogIiArICRl
eHRlbmRlZEF0dHJpYnV0ZVZhbHVlOworICAgIHJldHVybiAiQ3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3k6OkFsbG93IiBpZiAkZXh0ZW5kZWRBdHRyaWJ1dGVWYWx1ZSBlcSAiQ3Jvc3NPcmlnaW5XaW5k
b3dQb2xpY3lBbGxvdyI7CisgICAgcmV0dXJuICJDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxs
b3dQb3N0TWVzc2FnZSIgaWYgJGV4dGVuZGVkQXR0cmlidXRlVmFsdWUgZXEgIkNyb3NzT3JpZ2lu
V2luZG93UG9saWN5QWxsb3dQb3N0TWVzc2FnZSI7CisgICAgZGllICJVbnN1cHBvcnRlZCBDcm9z
c09yaWdpbldpbmRvd1BvbGljeTogIiArICRleHRlbmRlZEF0dHJpYnV0ZVZhbHVlOwogfQogCiBz
dWIgR2VuZXJhdGVBdHRyaWJ1dGVTZXR0ZXJCb2R5RGVmaW5pdGlvbgpAQCAtNDg1Miw5ICs0ODUy
LDkgQEAgc3ViIEdlbmVyYXRlQXR0cmlidXRlU2V0dGVyQm9keURlZmluaXRpb24KICAgICAgICAg
QWRkVG9JbXBsSW5jbHVkZXMoIkpTRE9NQmluZGluZ1NlY3VyaXR5LmgiLCAkY29uZGl0aW9uYWwp
OwogICAgICAgICBpZiAoJGludGVyZmFjZS0+dHlwZS0+bmFtZSBlcSAiRE9NV2luZG93Iikgewog
ICAgICAgICAgICAgaWYgKCRhdHRyaWJ1dGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0RvTm90Q2hl
Y2tTZWN1cml0eUlmfSkgewotICAgICAgICAgICAgICAgIG15ICRjcm9zc09yaWdpbk9wdGlvbnMg
PSBHZXRDcm9zc09yaWdpbnNPcHRpb25zRnJvbUV4dGVuZGVkQXR0cmlidXRlVmFsdWUoJGF0dHJp
YnV0ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57RG9Ob3RDaGVja1NlY3VyaXR5SWZ9KTsKKyAgICAg
ICAgICAgICAgICBteSAkY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kgPSBHZXRDcm9zc09yaWdpbnNP
cHRpb25zRnJvbUV4dGVuZGVkQXR0cmlidXRlVmFsdWUoJGF0dHJpYnV0ZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57RG9Ob3RDaGVja1NlY3VyaXR5SWZ9KTsKICAgICAgICAgICAgICAgICBBZGRUb0lt
cGxJbmNsdWRlcygiSFRUUFBhcnNlcnMuaCIsICRjb25kaXRpb25hbCk7Ci0gICAgICAgICAgICAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRB
bGxvd0FjY2Vzc1RvRE9NV2luZG93R2l2ZW5NaW5pbXVtQ3Jvc3NPcmlnaW5PcHRpb25zKCZzdGF0
ZSwgdGhpc09iamVjdC53cmFwcGVkKCksICRjcm9zc09yaWdpbk9wdGlvbnMsIFRocm93U2VjdXJp
dHlFcnJvcikpXG4iKTsKKyAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAg
aWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3dHaXZlbk1p
bmltdW1Dcm9zc09yaWdpbldpbmRvd1BvbGljeSgmc3RhdGUsIHRoaXNPYmplY3Qud3JhcHBlZCgp
LCAkY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3ksIFRocm93U2VjdXJpdHlFcnJvcikpXG4iKTsKICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAi
ICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KCZz
dGF0ZSwgdGhpc09iamVjdC53cmFwcGVkKCksIFRocm93U2VjdXJpdHlFcnJvcikpXG4iKTsKICAg
ICAgICAgICAgIH0KQEAgLTUwNzksOSArNTA3OSw5IEBAIHN1YiBHZW5lcmF0ZU9wZXJhdGlvbkJv
ZHlEZWZpbml0aW9uCiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiSlNET01CaW5kaW5n
U2VjdXJpdHkuaCIsICRjb25kaXRpb25hbCk7CiAgICAgICAgICAgICBpZiAoJGludGVyZmFjZS0+
dHlwZS0+bmFtZSBlcSAiRE9NV2luZG93IikgewogICAgICAgICAgICAgICAgIGlmICgkb3BlcmF0
aW9uLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntEb05vdENoZWNrU2VjdXJpdHlJZn0pIHsKLSAgICAg
ICAgICAgICAgICAgICAgbXkgJGNyb3NzT3JpZ2luT3B0aW9ucyA9IEdldENyb3NzT3JpZ2luc09w
dGlvbnNGcm9tRXh0ZW5kZWRBdHRyaWJ1dGVWYWx1ZSgkb3BlcmF0aW9uLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPntEb05vdENoZWNrU2VjdXJpdHlJZn0pOworICAgICAgICAgICAgICAgICAgICBteSAk
Y3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kgPSBHZXRDcm9zc09yaWdpbnNPcHRpb25zRnJvbUV4dGVu
ZGVkQXR0cmlidXRlVmFsdWUoJG9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57RG9Ob3RD
aGVja1NlY3VyaXR5SWZ9KTsKICAgICAgICAgICAgICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMo
IkhUVFBQYXJzZXJzLmgiLCAkY29uZGl0aW9uYWwpOwotICAgICAgICAgICAgICAgICAgICBwdXNo
KEAkb3V0cHV0QXJyYXksICIgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNj
ZXNzVG9ET01XaW5kb3dHaXZlbk1pbmltdW1Dcm9zc09yaWdpbk9wdGlvbnMoc3RhdGUsIGNhc3Rl
ZFRoaXMtPndyYXBwZWQoKSwgJGNyb3NzT3JpZ2luT3B0aW9ucywgVGhyb3dTZWN1cml0eUVycm9y
KSlcbiIpOworICAgICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYg
KCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3dHaXZlbk1pbmlt
dW1Dcm9zc09yaWdpbldpbmRvd1BvbGljeShzdGF0ZSwgY2FzdGVkVGhpcy0+d3JhcHBlZCgpLCAk
Y3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3ksIFRocm93U2VjdXJpdHlFcnJvcikpXG4iKTsKICAgICAg
ICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICIgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5k
b3coc3RhdGUsIGNhc3RlZFRoaXMtPndyYXBwZWQoKSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIp
OwogICAgICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvSURMQXR0cmlidXRlcy5qc29uIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9JRExBdHRyaWJ1dGVzLmpzb24KaW5kZXggMzdkNjFlMDI4Y2UyMjg3ZjYxY2VlOWIyYmMy
OTAwNDE3YzBhMzczOS4uYTk5OTFjMjg0YmZkZmUxODA5ZTcwYmRkMzc4MWFhMDcwZmQxYzQyYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVz
Lmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVz
Lmpzb24KQEAgLTE2Myw3ICsxNjMsNyBAQAogICAgICAgICB9LAogICAgICAgICAiRG9Ob3RDaGVj
a1NlY3VyaXR5SWYiOiB7CiAgICAgICAgICAgICAiY29udGV4dHNBbGxvd2VkIjogWyJhdHRyaWJ1
dGUiLCAib3BlcmF0aW9uIl0sCi0gICAgICAgICAgICAidmFsdWVzIjogWyJDcm9zc09yaWdpbk9w
dGlvbnNBbGxvdyIsICJDcm9zc09yaWdpbk9wdGlvbnNBbGxvd1Bvc3RNZXNzYWdlIl0KKyAgICAg
ICAgICAgICJ2YWx1ZXMiOiBbIkNyb3NzT3JpZ2luV2luZG93UG9saWN5QWxsb3ciLCAiQ3Jvc3NP
cmlnaW5XaW5kb3dQb2xpY3lBbGxvd1Bvc3RNZXNzYWdlIl0KICAgICAgICAgfSwKICAgICAgICAg
IkRvTm90Q2hlY2tTZWN1cml0eU9uR2V0dGVyIjogewogICAgICAgICAgICAgImNvbnRleHRzQWxs
b3dlZCI6IFsiYXR0cmlidXRlIl0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDA0NTc2ZTg4
ZjIwYTljODFlZmRmNzFkNjVmZmQxY2Q4OTUwNTdiYjIuLjUwZGRjOWExNjBhNjM3YTQ1N2IxNmIw
MzY3Y2RiMmIzY2M0Zjc1OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMzE4NSwxMSAr
MzE4NSwxMSBAQCBib29sIERvY3VtZW50OjpjYW5OYXZpZ2F0ZShGcmFtZSogdGFyZ2V0RnJhbWUp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgaWYgKG1fZnJhbWUgIT0gdGFyZ2V0RnJhbWUp
IHsKLSAgICAgICAgYXV0byBzb3VyY2VDcm9zc09yaWdpbk9wdGlvbnMgPSBtX2ZyYW1lLT53aW5k
b3coKSA/IG1fZnJhbWUtPndpbmRvdygpLT5jcm9zc09yaWdpbk9wdGlvbnMoKSA6IENyb3NzT3Jp
Z2luT3B0aW9uczo6QWxsb3c7Ci0gICAgICAgIGF1dG8gZGVzdGluYXRpb25Dcm9zc09yaWdpbk9w
dGlvbnMgPSB0YXJnZXRGcmFtZS0+d2luZG93KCkgPyB0YXJnZXRGcmFtZS0+d2luZG93KCktPmNy
b3NzT3JpZ2luT3B0aW9ucygpIDogQ3Jvc3NPcmlnaW5PcHRpb25zOjpBbGxvdzsKLSAgICAgICAg
aWYgKHNvdXJjZUNyb3NzT3JpZ2luT3B0aW9ucyAhPSBDcm9zc09yaWdpbk9wdGlvbnM6OkFsbG93
IHx8IGRlc3RpbmF0aW9uQ3Jvc3NPcmlnaW5PcHRpb25zICE9IENyb3NzT3JpZ2luT3B0aW9uczo6
QWxsb3cpIHsKKyAgICAgICAgYXV0byBzb3VyY2VDcm9zc09yaWdpbldpbmRvd1BvbGljeSA9IG1f
ZnJhbWUtPndpbmRvdygpID8gbV9mcmFtZS0+d2luZG93KCktPmNyb3NzT3JpZ2luV2luZG93UG9s
aWN5KCkgOiBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3c7CisgICAgICAgIGF1dG8gZGVz
dGluYXRpb25Dcm9zc09yaWdpbldpbmRvd1BvbGljeSA9IHRhcmdldEZyYW1lLT53aW5kb3coKSA/
IHRhcmdldEZyYW1lLT53aW5kb3coKS0+Y3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3koKSA6IENyb3Nz
T3JpZ2luV2luZG93UG9saWN5OjpBbGxvdzsKKyAgICAgICAgaWYgKHNvdXJjZUNyb3NzT3JpZ2lu
V2luZG93UG9saWN5ICE9IENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvdyB8fCBkZXN0aW5h
dGlvbkNyb3NzT3JpZ2luV2luZG93UG9saWN5ICE9IENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpB
bGxvdykgewogICAgICAgICAgICAgaWYgKG1fZnJhbWUtPmRvY3VtZW50KCkgJiYgdGFyZ2V0RnJh
bWUtPmRvY3VtZW50KCkgJiYgIW1fZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCku
Y2FuQWNjZXNzKHRhcmdldEZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKSkgewot
ICAgICAgICAgICAgICAgIHByaW50TmF2aWdhdGlvbkVycm9yTWVzc2FnZSh0YXJnZXRGcmFtZSwg
dXJsKCksIEFTQ0lJTGl0ZXJhbCgiTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENy
b3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4iKSk7CisgICAgICAgICAgICAgICAgcHJpbnROYXZp
Z2F0aW9uRXJyb3JNZXNzYWdlKHRhcmdldEZyYW1lLCB1cmwoKSwgQVNDSUlMaXRlcmFsKCJOYXZp
Z2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kg
aGVhZGVyLiIpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDNmNTY5
MGYwOWQ4NTU1MmM1NjViY2EzMjZkMDJiNmViYmJlNzNkNGYuLjNmYjRmMjgwZmEwNmU4MGM2M2Q1
NDk0Nzg3ODJjNDM1N2JiNTQ5YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cApAQCAtNzQ3LDExICs3NDcsMTEgQEAgdm9pZCBGcmFtZUxvYWRlcjo6ZGlkQmVnaW5Eb2N1bWVu
dChib29sIGRpc3BhdGNoKQogICAgICAgICAgICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+c2V0
Q29udGVudExhbmd1YWdlKGhlYWRlckNvbnRlbnRMYW5ndWFnZSk7CiAgICAgICAgIH0KIAotICAg
ICAgICBpZiAobV9mcmFtZS5zZXR0aW5ncygpLmNyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFi
bGVkKCkpIHsKLSAgICAgICAgICAgIFN0cmluZyBjcm9zc09yaWdpbk9wdGlvbnNIZWFkZXIgPSBt
X2RvY3VtZW50TG9hZGVyLT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFt
ZTo6Q3Jvc3NPcmlnaW5PcHRpb25zKTsKLSAgICAgICAgICAgIGlmICghY3Jvc3NPcmlnaW5PcHRp
b25zSGVhZGVyLmlzTnVsbCgpKSB7CisgICAgICAgIGlmIChtX2ZyYW1lLnNldHRpbmdzKCkuY3Jv
c3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZCgpKSB7CisgICAgICAgICAgICBTdHJp
bmcgY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lIZWFkZXIgPSBtX2RvY3VtZW50TG9hZGVyLT5yZXNw
b25zZSgpLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3kpOworICAgICAgICAgICAgaWYgKCFjcm9zc09yaWdpbldpbmRvd1BvbGljeUhlYWRlci5p
c051bGwoKSkgewogICAgICAgICAgICAgICAgIEFTU0VSVChtX2ZyYW1lLndpbmRvdygpKTsKLSAg
ICAgICAgICAgICAgICBtX2ZyYW1lLndpbmRvdygpLT5zZXRDcm9zc09yaWdpbk9wdGlvbnMocGFy
c2VDcm9zc09yaWdpbk9wdGlvbnNIZWFkZXIoY3Jvc3NPcmlnaW5PcHRpb25zSGVhZGVyKSk7Cisg
ICAgICAgICAgICAgICAgbV9mcmFtZS53aW5kb3coKS0+c2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3kocGFyc2VDcm9zc09yaWdpbldpbmRvd1BvbGljeUhlYWRlcihjcm9zc09yaWdpbldpbmRvd1Bv
bGljeUhlYWRlcikpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9BYnN0cmFjdERPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Fic3RyYWN0RE9NV2luZG93LmNwcAppbmRleCA2MDExOGRkOTIwNjJkMDg5OGY1
Nzg0OWY3MTUxNTJhYTUyYjMxZDg3Li42YWJlMDMxNTc5NTFmMWY2YjYyMmRjM2YyNDRhMjNmMWY2
NmYzN2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Fic3RyYWN0RE9NV2luZG93
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Fic3RyYWN0RE9NV2luZG93LmNwcApAQCAt
NDAsNyArNDAsNyBAQCBIYXNoTWFwPEdsb2JhbFdpbmRvd0lkZW50aWZpZXIsIEFic3RyYWN0RE9N
V2luZG93Kj4mIEFic3RyYWN0RE9NV2luZG93OjphbGxXaW5kbwogCiBBYnN0cmFjdERPTVdpbmRv
dzo6QWJzdHJhY3RET01XaW5kb3coR2xvYmFsV2luZG93SWRlbnRpZmllciYmIGlkZW50aWZpZXIp
CiAgICAgOiBtX2lkZW50aWZpZXIoV1RGTW92ZShpZGVudGlmaWVyKSkKLSAgICAsIG1fY3Jvc3NP
cmlnaW5PcHRpb25zKENyb3NzT3JpZ2luT3B0aW9uczo6QWxsb3cpCisgICAgLCBtX2Nyb3NzT3Jp
Z2luV2luZG93UG9saWN5KENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvdykKIHsKICAgICBB
U1NFUlQoIWFsbFdpbmRvd3MoKS5jb250YWlucyhpZGVudGlmaWVyKSk7CiAgICAgYWxsV2luZG93
cygpLmFkZChpZGVudGlmaWVyLCB0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQWJzdHJhY3RET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RET01X
aW5kb3cuaAppbmRleCA2NGQ0NWE4Y2FjYmMwZWFkMGM3MWQ2ZTQwNGM0MDIzYmU1ZDVmOTk4Li40
OTkxN2M4M2FlNjIwZDkyM2JhNzY4ZWQzOWY5ODJiOGE1YjEyMTUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Fic3RyYWN0RE9NV2luZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9BYnN0cmFjdERPTVdpbmRvdy5oCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgQWJzdHJhY3RGcmFtZTsKIAotZW51bSBjbGFzcyBDcm9zc09yaWdpbk9w
dGlvbnM7CitlbnVtIGNsYXNzIENyb3NzT3JpZ2luV2luZG93UG9saWN5OwogCiAvLyBGSVhNRTog
UmVuYW1lIERPTVdpbmRvdyB0byBMb2NhbFdpbmRvdyBhbmQgQWJzdHJhY3RET01XaW5kb3cgdG8g
RE9NV2luZG93LgogY2xhc3MgQWJzdHJhY3RET01XaW5kb3cgOiBwdWJsaWMgUmVmQ291bnRlZDxB
YnN0cmFjdERPTVdpbmRvdz4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhIHsKQEAg
LTU0LDggKzU0LDggQEAgcHVibGljOgogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKICAgICB1
c2luZyBSZWZDb3VudGVkOjpkZXJlZjsKIAotICAgIENyb3NzT3JpZ2luT3B0aW9ucyBjcm9zc09y
aWdpbk9wdGlvbnMoKSB7IHJldHVybiBtX2Nyb3NzT3JpZ2luT3B0aW9uczsgfQotICAgIHZvaWQg
c2V0Q3Jvc3NPcmlnaW5PcHRpb25zKENyb3NzT3JpZ2luT3B0aW9ucyB2YWx1ZSkgeyBtX2Nyb3Nz
T3JpZ2luT3B0aW9ucyA9IHZhbHVlOyB9CisgICAgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kgY3Jv
c3NPcmlnaW5XaW5kb3dQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX2Nyb3NzT3JpZ2luV2luZG93
UG9saWN5OyB9CisgICAgdm9pZCBzZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeShDcm9zc09yaWdp
bldpbmRvd1BvbGljeSB2YWx1ZSkgeyBtX2Nyb3NzT3JpZ2luV2luZG93UG9saWN5ID0gdmFsdWU7
IH0KIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IEFic3RyYWN0RE9NV2luZG93KEdsb2JhbFdp
bmRvd0lkZW50aWZpZXImJik7CkBAIC02Niw3ICs2Niw3IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0
ZToKICAgICBHbG9iYWxXaW5kb3dJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKLSAgICBDcm9zc09y
aWdpbk9wdGlvbnMgbV9jcm9zc09yaWdpbk9wdGlvbnM7CisgICAgQ3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3kgbV9jcm9zc09yaWdpbldpbmRvd1BvbGljeTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBjZDQxMmU5OThjMzUzOTY3OTk0
OTY2MjkyYTZlOGYzMGFiZWJhNWFiLi4xNGMzOTJkMzQzZWM2MDI1ZGExNTVkNzU1MDljMzFhODRj
MGE2OGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC00OSwxMSArNDksMTEgQEAg
dHlwZWRlZiBVU1ZTdHJpbmcgQ1NTT01TdHJpbmc7CiAgICAgUHJpbWFyeUdsb2JhbCwKIF0gaW50
ZXJmYWNlIERPTVdpbmRvdyA6IEV2ZW50VGFyZ2V0IHsKICAgICAvLyBUaGUgY3VycmVudCBicm93
c2luZyBjb250ZXh0LgotICAgIFtEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdpbk9wdGlv
bnNBbGxvdywgVW5mb3JnZWFibGUsIEltcGxlbWVudGVkQXM9c2VsZl0gcmVhZG9ubHkgYXR0cmli
dXRlIFdpbmRvd1Byb3h5IHdpbmRvdzsKLSAgICBbUmVwbGFjZWFibGUsIERvTm90Q2hlY2tTZWN1
cml0eUlmPUNyb3NzT3JpZ2luT3B0aW9uc0FsbG93XSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93
UHJveHkgc2VsZjsKKyAgICBbRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3lBbGxvdywgVW5mb3JnZWFibGUsIEltcGxlbWVudGVkQXM9c2VsZl0gcmVhZG9ubHkgYXR0
cmlidXRlIFdpbmRvd1Byb3h5IHdpbmRvdzsKKyAgICBbUmVwbGFjZWFibGUsIERvTm90Q2hlY2tT
ZWN1cml0eUlmPUNyb3NzT3JpZ2luV2luZG93UG9saWN5QWxsb3ddIHJlYWRvbmx5IGF0dHJpYnV0
ZSBXaW5kb3dQcm94eSBzZWxmOwogICAgIFtVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRl
IERvY3VtZW50IGRvY3VtZW50OwogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgICBb
RG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5PcHRpb25zQWxsb3csIFB1dEZvcndhcmRz
PWhyZWYsIFVuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgTG9jYXRpb24/IGxvY2F0aW9u
OyAvLyBGSVhNRTogU2hvdWxkIG5vdCBiZSBudWxsYWJsZS4KKyAgICBbRG9Ob3RDaGVja1NlY3Vy
aXR5SWY9Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lBbGxvdywgUHV0Rm9yd2FyZHM9aHJlZiwgVW5m
b3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBMb2NhdGlvbj8gbG9jYXRpb247IC8vIEZJWE1F
OiBTaG91bGQgbm90IGJlIG51bGxhYmxlLgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIaXN0b3J5
IGhpc3Rvcnk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9Q3VzdG9tRWxlbWVudHMsIEltcGxlbWVu
dGVkQXM9ZW5zdXJlQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5XSByZWFkb25seSBhdHRyaWJ1dGUgQ3Vz
dG9tRWxlbWVudFJlZ2lzdHJ5IGN1c3RvbUVsZW1lbnRzOwogICAgIFtSZXBsYWNlYWJsZV0gcmVh
ZG9ubHkgYXR0cmlidXRlIEJhclByb3AgbG9jYXRpb25iYXI7CkBAIC02MywxOCArNjMsMTggQEAg
dHlwZWRlZiBVU1ZTdHJpbmcgQ1NTT01TdHJpbmc7CiAgICAgW1JlcGxhY2VhYmxlXSByZWFkb25s
eSBhdHRyaWJ1dGUgQmFyUHJvcCBzdGF0dXNiYXI7CiAgICAgW1JlcGxhY2VhYmxlXSByZWFkb25s
eSBhdHRyaWJ1dGUgQmFyUHJvcCB0b29sYmFyOwogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgc3Rh
dHVzOwotICAgIFtEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdpbk9wdGlvbnNBbGxvdywg
Q2FsbFdpdGg9SW5jdW1iZW50RG9jdW1lbnQsIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQg
Y2xvc2UoKTsKLSAgICBbRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5PcHRpb25zQWxs
b3csIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNs
b3NlZDsKKyAgICBbRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lB
bGxvdywgQ2FsbFdpdGg9SW5jdW1iZW50RG9jdW1lbnQsIEZvcndhcmREZWNsYXJlSW5IZWFkZXJd
IHZvaWQgY2xvc2UoKTsKKyAgICBbRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5XaW5k
b3dQb2xpY3lBbGxvdywgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gY2xvc2VkOwogICAgIHZvaWQgc3RvcCgpOwotICAgIFtEb05vdENoZWNrU2VjdXJp
dHlJZj1Dcm9zc09yaWdpbk9wdGlvbnNBbGxvdywgQ2FsbFdpdGg9SW5jdW1iZW50V2luZG93LCBG
b3J3YXJkRGVjbGFyZUluSGVhZGVyXSB2b2lkIGZvY3VzKCk7Ci0gICAgW0RvTm90Q2hlY2tTZWN1
cml0eUlmPUNyb3NzT3JpZ2luT3B0aW9uc0FsbG93LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB2
b2lkIGJsdXIoKTsKKyAgICBbRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3lBbGxvdywgQ2FsbFdpdGg9SW5jdW1iZW50V2luZG93LCBGb3J3YXJkRGVjbGFyZUluSGVh
ZGVyXSB2b2lkIGZvY3VzKCk7CisgICAgW0RvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2lu
V2luZG93UG9saWN5QWxsb3csIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgYmx1cigpOwog
CiAgICAgLy8gT3RoZXIgYnJvd3NpbmcgY29udGV4dHMuCi0gICAgW1JlcGxhY2VhYmxlLCBEb05v
dENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdpbk9wdGlvbnNBbGxvdywgSW1wbGVtZW50ZWRBcz1z
ZWxmXSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgZnJhbWVzOwotICAgIFtSZXBsYWNl
YWJsZSwgRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5PcHRpb25zQWxsb3ddIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgICBbRG9Ob3RDaGVja1NlY3Vy
aXR5SWY9Q3Jvc3NPcmlnaW5PcHRpb25zQWxsb3csIFVuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRy
aWJ1dGUgV2luZG93UHJveHk/IHRvcDsKLSAgICBbRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NP
cmlnaW5PcHRpb25zQWxsb3csIEN1c3RvbVNldHRlcl0gYXR0cmlidXRlIFdpbmRvd1Byb3h5PyBv
cGVuZXI7Ci0gICAgW1JlcGxhY2VhYmxlLCBEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdp
bk9wdGlvbnNBbGxvd10gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyBwYXJlbnQ7Cisg
ICAgW1JlcGxhY2VhYmxlLCBEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdpbldpbmRvd1Bv
bGljeUFsbG93LCBJbXBsZW1lbnRlZEFzPXNlbGZdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQ
cm94eSBmcmFtZXM7CisgICAgW1JlcGxhY2VhYmxlLCBEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9z
c09yaWdpbldpbmRvd1BvbGljeUFsbG93XSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBsZW5ndGg7CisgICAgW0RvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luV2luZG93UG9s
aWN5QWxsb3csIFVuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHk/IHRv
cDsKKyAgICBbRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lBbGxv
dywgQ3VzdG9tU2V0dGVyXSBhdHRyaWJ1dGUgV2luZG93UHJveHk/IG9wZW5lcjsKKyAgICBbUmVw
bGFjZWFibGUsIERvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luV2luZG93UG9saWN5QWxs
b3ddIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eT8gcGFyZW50OwogICAgIFtDaGVja1Nl
Y3VyaXR5Rm9yTm9kZV0gcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IGZyYW1lRWxlbWVudDsK
ICAgICBbQ2FsbFdpdGg9QWN0aXZlV2luZG93JkZpcnN0V2luZG93XSBXaW5kb3dQcm94eT8gb3Bl
bihvcHRpb25hbCBVU1ZTdHJpbmcgdXJsID0gImFib3V0OmJsYW5rIiwgb3B0aW9uYWwgRE9NU3Ry
aW5nIHRhcmdldCA9ICJfYmxhbmsiLCBvcHRpb25hbCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmdd
IERPTVN0cmluZyBmZWF0dXJlcyA9ICIiKTsKIApAQCAtOTIsNyArOTIsNyBAQCB0eXBlZGVmIFVT
VlN0cmluZyBDU1NPTVN0cmluZzsKICAgICBsb25nIHJlcXVlc3RBbmltYXRpb25GcmFtZShSZXF1
ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjayBjYWxsYmFjayk7IC8vIEZJWE1FOiBTaG91bGQgcmV0
dXJuIGFuIHVuc2lnbmVkIGxvbmcuCiAgICAgdm9pZCBjYW5jZWxBbmltYXRpb25GcmFtZShsb25n
IGhhbmRsZSk7IC8vIEZJWE1FOiBoYW5kbGUgc2hvdWxkIGJlIGFuIHVuc2lnbmVkIGxvbmcuCiAK
LSAgICBbQ2FsbFdpdGg9U2NyaXB0U3RhdGUmSW5jdW1iZW50V2luZG93LCBEb05vdENoZWNrU2Vj
dXJpdHlJZj1Dcm9zc09yaWdpbk9wdGlvbnNBbGxvd1Bvc3RNZXNzYWdlLCBGb3J3YXJkRGVjbGFy
ZUluSGVhZGVyLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2FnZShhbnkgbWVzc2Fn
ZSwgVVNWU3RyaW5nIHRhcmdldE9yaWdpbiwgb3B0aW9uYWwgc2VxdWVuY2U8b2JqZWN0PiB0cmFu
c2ZlciA9IFtdKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0U3RhdGUmSW5jdW1iZW50V2luZG93LCBE
b05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93UG9zdE1lc3Nh
Z2UsIEZvcndhcmREZWNsYXJlSW5IZWFkZXIsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHBvc3RN
ZXNzYWdlKGFueSBtZXNzYWdlLCBVU1ZTdHJpbmcgdGFyZ2V0T3JpZ2luLCBvcHRpb25hbCBzZXF1
ZW5jZTxvYmplY3Q+IHRyYW5zZmVyID0gW10pOwogCiAgICAgLy8gT2Jzb2xldGUgbWVtYmVycywg
c3RpbGwgcGFydCBvZiB0aGUgSFRNTCBzcGVjaWZpY2F0aW9uIChodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnLyNXaW5kb3ctcGFydGlhbCkuCiAgICAgdm9pZCBjYXB0dXJlRXZlbnRzKCk7IC8v
IE5vdCBpbXBsZW1lbnRlZC4gQWxzbyBub3QgaW4gbW9kZXJuIHN0YW5kYXJkcy4gRW1wdHkgZnVu
Y3Rpb24gbWF5IGhlbHAgY29tcGF0aWJpbGl0eSB3aXRoIGxlZ2FjeSBjb250ZW50LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IDRiNzQ2NWZjZDBiNjE3MmJiOTk1MzIwNjQ3Y2JkZjRj
M2VkOGYwM2UuLmRkOWVkODZmYTE1NTRjZjdkNzZlNDlhMWZlOTY2NzExMmVlNjYwOWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLnlhbWwKQEAgLTc0NCw3ICs3NDQsNyBAQCBjbGllbnRDb29yZGlu
YXRlc1JlbGF0aXZlVG9MYXlvdXRWaWV3cG9ydDoKICAgaW5pdGlhbDogZmFsc2UKICAgb25DaGFu
Z2U6IHNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcwogCi1jcm9zc09yaWdpbk9wdGlvbnNT
dXBwb3J0RW5hYmxlZDoKK2Nyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQ6CiAg
IGluaXRpYWw6IHRydWUKIAogYWNjZXNzaWJpbGl0eUV2ZW50c0VuYWJsZWQ6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBIZWFkZXJOYW1lcy5pbiBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUEhlYWRlck5hbWVzLmluCmluZGV4IDY5
YTIwZTJmOTJkN2JhYWU5ZjU3MGRmMmJjY2RmYzU4MDYzOGRmYjcuLjQ3ZjY5MDQwZTgxYjkyYTJm
MDNmMjc3MjQzNmVhYTRjNjJlODJiZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvSFRUUEhlYWRlck5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvSFRUUEhlYWRlck5hbWVzLmluCkBAIC01MCw4ICs1MCw4IEBAIENvbnRlbnQt
VHlwZQogQ29udGVudC1SYW5nZQogQ29va2llCiBDb29raWUyCi1Dcm9zcy1PcmlnaW4tT3B0aW9u
cwogQ3Jvc3MtT3JpZ2luLVJlc291cmNlLVBvbGljeQorQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xp
Y3kKIERhdGUKIEROVAogRGVmYXVsdC1TdHlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0hUVFBQYXJzZXJzLmNwcAppbmRleCBlMzc2ZTZlMzJjZTVlMTczNjk4ZTY3YzAw
MDE5MDRiMTI5ZmRlNzkzLi40YzNhYzUyZTA2Mjc1ZGE0MDg2Yjc4NTczNzA1ZDcwM2RjNzk1NmM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmNw
cApAQCAtOTEzLDE5ICs5MTMsMTkgQEAgQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeSBwYXJzZUNy
b3NzT3JpZ2luUmVzb3VyY2VQb2xpY3lIZWFkZXIoU3RyaW5nVmlldyBoZWFkZXIKICAgICByZXR1
cm4gQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeTo6SW52YWxpZDsKIH0KIAotQ3Jvc3NPcmlnaW5P
cHRpb25zIHBhcnNlQ3Jvc3NPcmlnaW5PcHRpb25zSGVhZGVyKFN0cmluZ1ZpZXcgaGVhZGVyKQor
Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kgcGFyc2VDcm9zc09yaWdpbldpbmRvd1BvbGljeUhlYWRl
cihTdHJpbmdWaWV3IGhlYWRlcikKIHsKICAgICBoZWFkZXIgPSBzdHJpcExlYWRpbmdBbmRUcmFp
bGluZ0hUVFBTcGFjZXMoaGVhZGVyKTsKICAgICBpZiAoaGVhZGVyLmlzRW1wdHkoKSkKLSAgICAg
ICAgcmV0dXJuIENyb3NzT3JpZ2luT3B0aW9uczo6QWxsb3c7CisgICAgICAgIHJldHVybiBDcm9z
c09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3c7CiAKICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UoaGVhZGVyLCAiZGVueSIpKQotICAgICAgICByZXR1cm4gQ3Jvc3NPcmlnaW5P
cHRpb25zOjpEZW55OworICAgICAgICByZXR1cm4gQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkRl
bnk7CiAKICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaGVhZGVyLCAiYWxs
b3ctcG9zdG1lc3NhZ2UiKSkKLSAgICAgICAgcmV0dXJuIENyb3NzT3JpZ2luT3B0aW9uczo6QWxs
b3dQb3N0TWVzc2FnZTsKKyAgICAgICAgcmV0dXJuIENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpB
bGxvd1Bvc3RNZXNzYWdlOwogCi0gICAgcmV0dXJuIENyb3NzT3JpZ2luT3B0aW9uczo6QWxsb3c7
CisgICAgcmV0dXJuIENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvdzsKIH0KIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oCmluZGV4IDc0NTJm
ZGM4YzBjNzlmMWM4MThmZGIxNzZjMjMxZWM1ZmE1ZTVlYzIuLjVkNTU1NTFiMTc0YjM5ZDBiOWQx
YTQ5Yzg0NzQxMGUzMjljY2Y4ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvSFRUUFBhcnNlcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0hUVFBQYXJzZXJzLmgKQEAgLTcyLDcgKzcyLDcgQEAgZW51bSBjbGFzcyBDcm9zc09yaWdp
blJlc291cmNlUG9saWN5IHsKIH07CiAKIC8vIFNob3VsZCBiZSBzb3J0ZWQgZnJvbSBtb3N0IHJl
c3RyaWN0aXZlIHRvIG1vc3QgcGVybWlzc2l2ZS4KLWVudW0gY2xhc3MgQ3Jvc3NPcmlnaW5PcHRp
b25zIHsKK2VudW0gY2xhc3MgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kgewogICAgIERlbnksCiAg
ICAgQWxsb3dQb3N0TWVzc2FnZSwKICAgICBBbGxvdywKQEAgLTExOCw3ICsxMTgsNyBAQCBib29s
IGlzQ3Jvc3NPcmlnaW5TYWZlUmVxdWVzdEhlYWRlcihIVFRQSGVhZGVyTmFtZSwgY29uc3QgU3Ry
aW5nJik7CiBTdHJpbmcgbm9ybWFsaXplSFRUUE1ldGhvZChjb25zdCBTdHJpbmcmKTsKIAogV0VC
Q09SRV9FWFBPUlQgQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeSBwYXJzZUNyb3NzT3JpZ2luUmVz
b3VyY2VQb2xpY3lIZWFkZXIoU3RyaW5nVmlldyk7Ci1Dcm9zc09yaWdpbk9wdGlvbnMgcGFyc2VD
cm9zc09yaWdpbk9wdGlvbnNIZWFkZXIoU3RyaW5nVmlldyk7CitDcm9zc09yaWdpbldpbmRvd1Bv
bGljeSBwYXJzZUNyb3NzT3JpZ2luV2luZG93UG9saWN5SGVhZGVyKFN0cmluZ1ZpZXcpOwogCiBp
bmxpbmUgYm9vbCBpc0hUVFBTcGFjZShVQ2hhciBjaGFyYWN0ZXIpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCA0Zjc1ZDM0MTdkMjg2Nzg0NjgwYWU1NTM3
NTIzMzNhNDk4YzRmNWNhLi5iZTU1ZDFhM2VkMWNiM2ZmYmNhMWVkYzMzNDViMjUzMjc4OTZlNzk1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTEwOTcsMTEg
KzEwOTcsMTEgQEAgQ29uc3RhbnRQcm9wZXJ0aWVzRW5hYmxlZDoKICAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiRW5hYmxlIENTUyBjb25zdGFudCgpIHZhbHVlcyIKICAgY2F0ZWdvcnk6IGV4
cGVyaW1lbnRhbAogCi1Dcm9zc09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZDoKK0Nyb3NzT3Jp
Z2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZh
bHVlOiB0cnVlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgSFRU
UCBIZWFkZXIiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBzdXBwb3J0IGZv
ciBDcm9zcy1PcmlnaW4tT3B0aW9ucyBIVFRQIEhlYWRlciIKKyAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBIVFRQIEhlYWRlciIKKyAgaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uOiAiRW5hYmxlIHN1cHBvcnQgZm9yIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9s
aWN5IEhUVFAgSGVhZGVyIgogICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAKIFNwcmluZ1RpbWlu
Z0Z1bmN0aW9uRW5hYmxlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggYjU3ZjY2ZmFhZGI5NDljYmQ1NzY1YmIzODBiMzVhM2I5YjVjMjRmZS4u
OTcwM2Q0OTc2YzFmYzkyNTQ4ODIzZTZlOGJmNTg0MWFjZTVlNTlmNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTU5NTEsNyArNTk1MSw3IEBA
IHZvaWQgV2ViUGFnZTo6ZnJhbWVCZWNhbWVSZW1vdGUodWludDY0X3QgZnJhbWVJRCwgR2xvYmFs
RnJhbWVJZGVudGlmaWVyJiYgcmVtb3RlCiAKICAgICBhdXRvIHJlbW90ZUZyYW1lID0gUmVtb3Rl
RnJhbWU6OmNyZWF0ZShXVEZNb3ZlKHJlbW90ZUZyYW1lSWRlbnRpZmllcikpOwogICAgIGF1dG8g
cmVtb3RlV2luZG93ID0gUmVtb3RlRE9NV2luZG93OjpjcmVhdGUocmVtb3RlRnJhbWUuY29weVJl
ZigpLCBXVEZNb3ZlKHJlbW90ZVdpbmRvd0lkZW50aWZpZXIpKTsKLSAgICByZW1vdGVXaW5kb3ct
PnNldENyb3NzT3JpZ2luT3B0aW9ucyhwcmV2aW91c1dpbmRvdy0+Y3Jvc3NPcmlnaW5PcHRpb25z
KCkpOworICAgIHJlbW90ZVdpbmRvdy0+c2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kocHJldmlv
dXNXaW5kb3ctPmNyb3NzT3JpZ2luV2luZG93UG9saWN5KCkpOwogCiAgICAgcmVtb3RlRnJhbWUt
PnNldE9wZW5lcihmcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLm9wZW5lcigpKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZUtleXNQcml2YXRlLmgKaW5kZXggYTU4OTMyMTIxMDNhOWY2ODhjYjhkZDhmOThjOTZiNjUyMTQ3
MDk2NS4uNWI3YjllZDY5Y2NjZDlkZjlmNzY0ZWVmYzFkNjNiYzYxNmM4ZjY1MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oCkBAIC0xNzMsNyArMTczLDcgQEAKICNkZWZpbmUgV2ViS2l0RGF0YVRyYW5z
ZmVySXRlbXNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdERhdGFUcmFuc2Zlckl0ZW1zRW5h
YmxlZCIKICNkZWZpbmUgV2ViS2l0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkUHJlZmVyZW5j
ZUtleSBAIldlYktpdEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0
Q2FjaGVBUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdENhY2hlQVBJRW5hYmxlZCIKLSNk
ZWZpbmUgV2ViS2l0Q3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0Q3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQiCisjZGVmaW5lIFdlYktp
dENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2Vi
S2l0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0
RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEZldGNoQVBJRW5hYmxlZCIKICNk
ZWZpbmUgV2ViS2l0V3JpdGFibGVTdHJlYW1BUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktp
dFdyaXRhYmxlU3RyZWFtQVBJRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0UmVhZGFibGVCeXRlU3Ry
ZWFtQVBJRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRSZWFkYWJsZUJ5dGVTdHJlYW1BUElF
bmFibGVkIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0KaW5kZXggMDA3ZTliODY4YzE1MTU3YTQ4MGM0M2Y3Nzk0MWExYjdiODc5MTkzZi4u
MzBjNDA5ODYzOGNlNjMyZGIzNDI1YWJjODBiNjNhYTQ4ZDBiODY5NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC02MzQsNyAr
NjM0LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRo
Qm9vbDpOT10sIFdlYktpdFdlYkdQVUVuYWJsZWRQcmVmZXJlbmNlS2V5LAogI2VuZGlmCiAgICAg
ICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sIFdlYktpdENhY2hlQVBJRW5hYmxlZFBy
ZWZlcmVuY2VLZXksCi0gICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sIFdlYktp
dENyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVkUHJlZmVyZW5jZUtleSwKKyAgICAgICAg
W05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sIFdlYktpdENyb3NzT3JpZ2luV2luZG93UG9s
aWN5U3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVy
V2l0aEJvb2w6WUVTXSwgV2ViS2l0RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleSwKIAogI2lm
IEVOQUJMRShTVFJFQU1TX0FQSSkKQEAgLTMwMTEsMTQgKzMwMTEsMTQgQEAgLSAodm9pZClzZXRD
YWNoZUFQSUVuYWJsZWQ6KEJPT0wpZmxhZwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBm
b3JLZXk6V2ViS2l0Q2FjaGVBUElFbmFibGVkUHJlZmVyZW5jZUtleV07CiB9CiAKLS0gKEJPT0wp
Y3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQKKy0gKEJPT0wpY3Jvc3NPcmlnaW5XaW5k
b3dQb2xpY3lTdXBwb3J0RW5hYmxlZAogewotICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9y
S2V5OldlYktpdENyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVkUHJlZmVyZW5jZUtleV07
CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0Q3Jvc3NPcmlnaW5XaW5k
b3dQb2xpY3lTdXBwb3J0RW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCi0tICh2b2lkKXNldENy
b3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVkOihCT09MKWZsYWcKKy0gKHZvaWQpc2V0Q3Jv
c3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZDooQk9PTClmbGFnCiB7Ci0gICAgW3Nl
bGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRDcm9zc09yaWdpbk9wdGlvbnNTdXBw
b3J0RW5hYmxlZFByZWZlcmVuY2VLZXldOworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBm
b3JLZXk6V2ViS2l0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZFByZWZlcmVu
Y2VLZXldOwogfQogCiAtIChCT09MKWZldGNoQVBJRW5hYmxlZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXgg
MTlhYzc2ZGYyNTAxMDNjNWUwNDZjMjA2ZGQwNzdjZDI5Yzg1MjFhYi4uNmZhNWE4NDNiNGEzNDIw
MjFjNDI2YjQ5M2YzMjI1YjU5NjZkZjY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC01NDMsOCArNTQz
LDggQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50
ZXJuYWxOb3RpZmljYXRpb24gV0VCS0lUX0RFUFIKIC0gKEJPT0wpY2FjaGVBUElFbmFibGVkOwog
LSAodm9pZClzZXRDYWNoZUFQSUVuYWJsZWQ6KEJPT0wpZW5hYmxlZDsKIAotLSAoQk9PTCljcm9z
c09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZDsKLS0gKHZvaWQpc2V0Q3Jvc3NPcmlnaW5PcHRp
b25zU3VwcG9ydEVuYWJsZWQ6KEJPT0wpZW5hYmxlZDsKKy0gKEJPT0wpY3Jvc3NPcmlnaW5XaW5k
b3dQb2xpY3lTdXBwb3J0RW5hYmxlZDsKKy0gKHZvaWQpc2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3lTdXBwb3J0RW5hYmxlZDooQk9PTCllbmFibGVkOwogCiAtICh2b2lkKXNldEZldGNoQVBJRW5h
YmxlZDooQk9PTClmbGFnOwogLSAoQk9PTClmZXRjaEFQSUVuYWJsZWQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggM2I2MGEwYjRjNTBhZTg5MzY2OTIw
NDAxODNiMjkzNzE4ODZlZjBmYi4uNzg3NWE3ZWE0MTY0ZmU2NzI0OWRjOWQ0OTlmZmM5OGExNzUz
M2Y5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAt
MzA3MCw3ICszMDcwLDcgQEAgLSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJl
bmNlcyAqKXByZWZlcmVuY2VzCiAKICAgICBzZXR0aW5ncy5zZXRWaWV3cG9ydEZpdEVuYWJsZWQo
W3ByZWZlcmVuY2VzIHZpZXdwb3J0Rml0RW5hYmxlZF0pOwogICAgIHNldHRpbmdzLnNldENvbnN0
YW50UHJvcGVydGllc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGNvbnN0YW50UHJvcGVydGllc0VuYWJs
ZWRdKTsKLSAgICBzZXR0aW5ncy5zZXRDcm9zc09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZChb
cHJlZmVyZW5jZXMgY3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWRdKTsKKyAgICBzZXR0
aW5ncy5zZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkKFtwcmVmZXJlbmNl
cyBjcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkXSk7CiAKICNpZiBFTkFCTEUo
R0FNRVBBRCkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dEdhbWVwYWRzRW5hYmxlZChbcHJlZmVyZW5jZXMgZ2FtZXBhZHNFbmFibGVkXSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmlkbAppbmRleCA0YjQwYzU5ZDI2Mjk3YjNmNWY5M2JmNTI3OTI3NjJjMDAz
YWU1MDQ2Li5kMTY0M2YzZmFjZDMzNmJiZTUwZjRkODNmNWEyZjBjNzQ4MDVhNDliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5pZGwKQEAgLTIzNCw2ICsyMzQsNiBAQCBpbnRlcmZhY2UgSVdlYlBy
ZWZlcmVuY2VzUHJpdmF0ZTYgOiBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNQogW3V1aWQoOUE0OUQx
REUtNTNERC0xMUU4LTk1RTYtMDAzRUUxQzI4QUI2KV0KIGludGVyZmFjZSBJV2ViUHJlZmVyZW5j
ZXNQcml2YXRlNyA6IElXZWJQcmVmZXJlbmNlc1ByaXZhdGU2CiB7Ci0gICAgSFJFU1VMVCBjcm9z
c09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQp
OwotICAgIEhSRVNVTFQgc2V0Q3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQoW2luXSBC
T09MIGVuYWJsZWQpOworICAgIEhSRVNVTFQgY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0
RW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOworICAgIEhSRVNVTFQgc2V0Q3Jv
c3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oCmluZGV4IDYwNjkzNzgzYzQ0Y2NiNDJlYzVkNWM1YmZlNTJhZTYwYzA4ZjAwZGQuLjNjNDhm
YjA3OGRjOTJkN2I5NDdkMTc2OTVhMTY0MDAzOTc1MWJlMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xODAsNyArMTgw
LDcgQEAKIAogI2RlZmluZSBXZWJLaXRNZW51SXRlbUVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtl
eSAiV2ViS2l0TWVudUl0ZW1FbGVtZW50RW5hYmxlZCIKIAotI2RlZmluZSBXZWJLaXRDcm9zc09y
aWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdENyb3NzT3JpZ2lu
T3B0aW9uc1N1cHBvcnRFbmFibGVkIgorI2RlZmluZSBXZWJLaXRDcm9zc09yaWdpbldpbmRvd1Bv
bGljeVN1cHBvcnRFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0Q3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3lTdXBwb3J0RW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRNb2Rlcm5NZWRpYUNvbnRyb2xz
RW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkIgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKaW5kZXggMmI4YzY1
MWQ4NTc5MjE1M2I3ZmYwZjUzY2QzMDhmYjE5NGI5NjgzNi4uZTM4MDZmZDBiYzlkMDM5MmZkZGU3
MWVhZWNmZGJjNzFjYzU1YjU2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZl
cmVuY2VzLmNwcApAQCAtMjQ5LDcgKzI0OSw3IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OmluaXRp
YWxpemVEZWZhdWx0U2V0dGluZ3MoKQogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRz
LCBDRlNUUihXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzUHJlZmVyZW5jZUtleSksIGtDRkJv
b2xlYW5GYWxzZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdl
YktpdFNob3VsZERpc3BsYXlDYXB0aW9uc1ByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2Up
OwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRTaG91bGRE
aXNwbGF5VGV4dERlc2NyaXB0aW9uc1ByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwot
ICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRDcm9zc09yaWdp
bk9wdGlvbnNTdXBwb3J0RW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwor
ICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRDcm9zc09yaWdp
bldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5UcnVl
KTsKIAogICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gbGlua0JlaGF2aW9yU3RyaW5nUmVmID0g
YWRvcHRDRihDRlN0cmluZ0NyZWF0ZVdpdGhGb3JtYXQoMCwgMCwgQ0ZTVFIoIiVkIiksIFdlYktp
dEVkaXRhYmxlTGlua0RlZmF1bHRCZWhhdmlvcikpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVl
KGRlZmF1bHRzLCBDRlNUUihXZWJLaXRFZGl0YWJsZUxpbmtCZWhhdmlvclByZWZlcmVuY2VLZXkp
LCBsaW5rQmVoYXZpb3JTdHJpbmdSZWYuZ2V0KCkpOwpAQCAtMjAzNCwxNyArMjAzNCwxNyBAQCBI
UkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRNZW51SXRlbUVsZW1lbnRFbmFibGVkKEJPT0wgZW5h
YmxlZCkKICAgICByZXR1cm4gU19PSzsKIH0KIAotSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6Y3Jv
c3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK0hSRVNV
TFQgV2ViUHJlZmVyZW5jZXM6OmNyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQo
X091dF8gQk9PTCogZW5hYmxlZCkKIHsKICAgICBpZiAoIWVuYWJsZWQpCiAgICAgICAgIHJldHVy
biBFX1BPSU5URVI7Ci0gICAgKmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoV2ViS2l0Q3Jvc3NP
cmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNlS2V5KTsKKyAgICAqZW5hYmxlZCA9
IGJvb2xWYWx1ZUZvcktleShXZWJLaXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFi
bGVkUHJlZmVyZW5jZUtleSk7CiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKLUhSRVNVTFQgV2ViUHJl
ZmVyZW5jZXM6OnNldENyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVkKEJPT0wgZW5hYmxl
ZCkKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3Vw
cG9ydEVuYWJsZWQoQk9PTCBlbmFibGVkKQogewotICAgIHNldEJvb2xWYWx1ZShXZWJLaXRDcm9z
c09yaWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZFByZWZlcmVuY2VLZXksIGVuYWJsZWQpOworICAg
IHNldEJvb2xWYWx1ZShXZWJLaXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVk
UHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7CiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IDliNzhjMDA2MmEyMWMyNjlmMjNi
ZDdlOTdiODQ3ZWIwN2M5MGUxMjcuLmFlNzZmOTliYmUzNDhmNTY4NjQzMThlNGY3OTZhYzY1Zjc2
OWIyMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2Vz
LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaApAQCAtMjc5
LDggKzI3OSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgc2V0U2VydmVyVGltaW5nRW5hYmxlZChCT09MKTsKIAogICAgIC8vIElXZWJQcmVmZXJlbmNl
c1ByaXZhdGU3Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNyb3NzT3Jp
Z2luT3B0aW9uc1N1cHBvcnRFbmFibGVkKF9PdXRfIEJPT0wqKTsKLSAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0Q3Jvc3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQo
Qk9PTCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNyb3NzT3JpZ2lu
V2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRF
bmFibGVkKEJPT0wpOwogCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJWaWV3LmNwcAppbmRleCA2NGI3Yjg4ZGRhNzBhNmM2ZjU0MWRlMjAwYTcxMzY1YThlNzQ3
YmUxLi4zNDM2NmVhMjY0YTVkZjBlNjNmY2YyMTcwMmI1NTc4ZGM1MTk5OWJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJWaWV3LmNwcApAQCAtNTI3OSwxMCArNTI3OSwxMCBAQCBIUkVTVUxUIFdl
YlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChJV2ViTm90aWZpY2F0aW9uKiBub3RpZmlj
YXRpb24pCiAgICAgICAgIHJldHVybiBocjsKICAgICBzZXR0aW5ncy5zZXRWaXN1YWxWaWV3cG9y
dEFQSUVuYWJsZWQoISFlbmFibGVkKTsKIAotICAgIGhyID0gcHJlZnNQcml2YXRlLT5jcm9zc09y
aWdpbk9wdGlvbnNTdXBwb3J0RW5hYmxlZCgmZW5hYmxlZCk7CisgICAgaHIgPSBwcmVmc1ByaXZh
dGUtPmNyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoJmVuYWJsZWQpOwogICAg
IGlmIChGQUlMRUQoaHIpKQogICAgICAgICByZXR1cm4gaHI7Ci0gICAgc2V0dGluZ3Muc2V0Q3Jv
c3NPcmlnaW5PcHRpb25zU3VwcG9ydEVuYWJsZWQoISFlbmFibGVkKTsKKyAgICBzZXR0aW5ncy5z
ZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkKCEhZW5hYmxlZCk7CiAKICAg
ICBociA9IHByZWZlcmVuY2VzLT5wcml2YXRlQnJvd3NpbmdFbmFibGVkKCZlbmFibGVkKTsKICAg
ICBpZiAoRkFJTEVEKGhyKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCAyZmM0ZjM3YTkxMzM4ZTRiN2MxN2UwZWZlNTc3ZjhjNjhlMzdhOTRiLi45
M2IxNDI3Yjg1MDgwMzU3ZjA4ZGFhM2FlYjQ3MjZhYzVlYzhjODRkIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTgt
MDYtMDQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUg
IkNyb3NzLU9yaWdpbi1PcHRpb25zIiBIVFRQIGhlYWRlciB0byAiQ3Jvc3MtT3JpZ2luLVdpbmRv
dy1Qb2xpY3kiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODYyODcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQwNzgzMzUyPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMv
RHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChlbmFibGVFeHBlcmltZW50YWxGZWF0dXJlcyk6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAg
ICAgKGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVzKToKKwogMjAxOC0wNi0wNCAgQWxleGV5IFBy
b3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgTW9qYXZlIHN1cHBvcnQg
dG8gV2ViS2l0IHRvb2xzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0KaW5kZXggYzFkYTdkY2FkYmM3OGIwOGNjY2Y1NDYzZTA2YzQ1NTgwNTFmNDc2Mi4uZTMzODRi
MTA5YTZlODQ5YTE5NmNhZDI2OGQ0MDQzNjRjMWFmNGUxMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtODYyLDcgKzg2Miw3IEBAIHN0YXRpYyB2b2lk
IGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVzKFdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykK
ICAgICBbcHJlZmVyZW5jZXMgc2V0QWNjZXNzaWJpbGl0eU9iamVjdE1vZGVsRW5hYmxlZDpZRVNd
OwogICAgIFtwcmVmZXJlbmNlcyBzZXRWaXN1YWxWaWV3cG9ydEFQSUVuYWJsZWQ6WUVTXTsKICAg
ICBbcHJlZmVyZW5jZXMgc2V0Q29sb3JGaWx0ZXJFbmFibGVkOllFU107Ci0gICAgW3ByZWZlcmVu
Y2VzIHNldENyb3NzT3JpZ2luT3B0aW9uc1N1cHBvcnRFbmFibGVkOllFU107CisgICAgW3ByZWZl
cmVuY2VzIHNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQ6WUVTXTsKICAg
ICBbcHJlZmVyZW5jZXMgc2V0U2VydmVyVGltaW5nRW5hYmxlZDpZRVNdOwogfQogCmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCA5YmY3MjY0MzM2ZGI3
OTk1OTlhMmE0OTU5NWQ1ZTE0Nzk1M2I3NmViLi5hNzA2NzUyODAxMzhkNzNkNDUyODUyNzRlODcx
ZDFlMzE2MDhmNjM4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJl
bmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJl
ZS5jcHAKQEAgLTc4OSw3ICs3ODksNyBAQCBzdGF0aWMgdm9pZCBlbmFibGVFeHBlcmltZW50YWxG
ZWF0dXJlcyhJV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKQogICAgIHByZWZzUHJpdmF0ZS0+
c2V0U2VydmVyVGltaW5nRW5hYmxlZChUUlVFKTsKICAgICAvLyBGSVhNRTogV2ViR0wyCiAgICAg
Ly8gRklYTUU6IFdlYlJUQwotICAgIHByZWZzUHJpdmF0ZS0+c2V0Q3Jvc3NPcmlnaW5PcHRpb25z
U3VwcG9ydEVuYWJsZWQoVFJVRSk7CisgICAgcHJlZnNQcml2YXRlLT5zZXRDcm9zc09yaWdpbldp
bmRvd1BvbGljeVN1cHBvcnRFbmFibGVkKFRSVUUpOwogfQogCiBzdGF0aWMgdm9pZCByZXNldFdl
YlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5j
ZXMpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggYTY2YjUyYzFmOWMwODk1MzBhZjdiNzk3MTdlNTIxMTNlZGU5NzFjYS4uNjEz
ZTJkNmE5ZjgwZGE0NzE0NDkxYTljNGVmMWFmOTdiNjcwY2E2YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5
IEBACisyMDE4LTA2LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVuYW1lICJDcm9zcy1PcmlnaW4tT3B0aW9ucyIgSFRUUCBoZWFkZXIgdG8gIkNyb3NzLU9y
aWdpbi1XaW5kb3ctUG9saWN5IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTg2Mjg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MDc4MzM1Mj4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgICogaHR0cC93cHQv
Y3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL2FsbG93LXBvc3Rt
ZXNzYWdlLWZyb20tZGVueS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC93
cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55Lmh0bWwu
aGVhZGVyczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9u
cy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL25hdmlnYXRpb24tZnJvbS1vcGVu
ZXItdmlhLW9wZW4tdGFyZ2V0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFu
Y2hvci10YXJnZXQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvd3B0L2Ny
b3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1hbGxvdy1w
b3N0bWVzc2FnZS1wb25nLmh0bWwuaGVhZGVyczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3dw
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2FnZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5
L2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93LXBvc3RtZXNzYWdl
LWZyb20tZGVueS5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mt
b3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55Lmh0bWwuCisgICAgICAg
ICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2Ut
ZnJvbS1kZW55Lmh0bWwuaGVhZGVyczogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mt
b3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UuaHRtbDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL2FsbG93LXBvc3RtZXNz
YWdlLmh0bWwuCisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kv
Y3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3ktaGVhZGVyLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRw
L3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIuaHRt
bC4KKyAgICAgICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9uYXZpZ2F0
aW9uLWZyb20tb3BlbmVyLXZpYS1vcGVuLXRhcmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJv
bS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9o
dHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9uLWZyb20tb3BlbmVyLXZpYS1v
cGVuLXRhcmdldC5odG1sLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ct
cG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9s
aWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC5odG1sOiBSZW5h
bWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvbmF2aWdh
dGlvbi1mcm9tLXN1YmZyYW1lLXZpYS1hbmNob3ItdGFyZ2V0Lmh0bWwuCisgICAgICAgICogaHR0
cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbDogUmVuYW1lZCBmcm9tIExh
eW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9jcm9zcy1v
cmlnaW4tb3B0aW9ucy1hbGxvdy1wb3N0bWVzc2FnZS1wb25nLmh0bWwuCisgICAgICAgICogaHR0
cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbC5oZWFkZXJzOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMv
ZGVzdGluYXRpb24uaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3Nz
LW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1sLgorICAgICAgICAqIGh0
dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJl
bnQtdmlhLWFuY2hvci5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jv
c3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0
bWwuCisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3Vy
Y2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weTogUmVuYW1lZCBmcm9tIExheW91
dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9u
LWZyb20tc3ViZnJhbWUtZnJhbWUucHkuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBodHRw
L3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvc2VydmUtY3Jvc3Mtb3Jp
Z2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0
cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL3NlcnZlLWNyb3NzLW9yaWdpbi1v
cHRpb25zLWhlYWRlci5weS4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIGh0dHAvd3B0L2Ny
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy91dGlscy5qczogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy91dGls
cy5qcy4KKwogMjAxOC0wNi0wNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBNb3ZlZCB0aGUgY29ycmVzcG9uZGluZyBleHBlY3RlZCByZXN1bHRzIGZvciB0aGUg
dGVzdHMgbW92ZWQgaW4gcjIzMjQzMC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL2FsbG93LXBvc3RtZXNzYWdlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL2FsbG93LXBvc3RtZXNzYWdl
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGU5OTk4Nzg5YTYz
YmFjNzk4MWI5YWI2N2Y5YTYyYWYyNDg1OTNlYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0
aW9ucy9hbGxvdy1wb3N0bWVzc2FnZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1
ICswLDAgQEAKLQotCi1QQVNTIHBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3
aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVy
IAotUEFTUyBwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1P
cmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIAotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9hbGxvdy1wb3N0
bWVzc2FnZS1mcm9tLWRlbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jv
c3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55LWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDlmNmM5M2QxZDQ3ZmE3N2ZmOTliNTk0
MDYwNWY1NmFjMTUyN2M4ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9hbGxvdy1w
b3N0bWVzc2FnZS1mcm9tLWRlbnktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSAr
MCwwIEBACi0KLQotUEFTUyBwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0
aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBidXQgY3VycmVudCB3
aW5kb3cgaGFzICdkZW55JyBvcHRpb24gCi1QQVNTIHBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3Jp
Z2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0bWVzc2FnZScg
YnV0IGN1cnJlbnQgd2luZG93IGhhcyAnZGVueScgb3B0aW9uIAotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9hbGxvdy1wb3N0bWVzc2FnZS1m
cm9tLWRlbnkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25z
L2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAzNDk0ZjBhMjdkMDY4N2Q2NjUzYTAzYThkMWE5NjRkYjhmZDJiOTI2Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPHRpdGxlPlRlc3RzIGNhbGxpbmcgcG9z
dE1lc3NhZ2UoKSBvbiBhIHdpbmRvdyB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ct
cG9zdG1lc3NhZ2UnIGZyb20gYSB3aW5kb3cgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGRl
bnknPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0
PgotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1l
KCJjcm9zcy1vcmlnaW4tb3B0aW9ucy1hbGxvdy1wb3N0bWVzc2FnZS1wb25nLmh0bWwiLCB0cnVl
IC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93
cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBmLmNvbnRlbnRXaW5kb3cubGVuZ3RoIH0s
ICJsZW5ndGggcHJvcGVydHkgYWNjZXNzIik7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIlNlY3Vy
aXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZi5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCJQSU5H
IiwgIioiKTsgfSwgIkNhbGxpbmcgcG9zdE1lc3NhZ2UoKSBzaG91bGQgdGhyb3ciKTsKLSAgICB9
KTsKLX0sICJwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3Mt
T3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBidXQgY3VycmVudCB3aW5kb3cgaGFz
ICdkZW55JyBvcHRpb24iKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICBy
ZXR1cm4gd2l0aFBvcHVwKCJjcm9zcy1vcmlnaW4tb3B0aW9ucy1hbGxvdy1wb3N0bWVzc2FnZS1w
b25nLmh0bWwiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4gewot
ICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IHJlc3Vs
dC53aW5kb3cubGVuZ3RoIH0sICJsZW5ndGggcHJvcGVydHkgYWNjZXNzIik7Ci0gICAgICAgIGFz
c2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgcmVzdWx0LndpbmRvdy5w
b3N0TWVzc2FnZSgiUElORyIsICIqIik7IH0sICJDYWxsaW5nIHBvc3RNZXNzYWdlKCkgc2hvdWxk
IHRocm93Iik7Ci0gICAgfSk7Ci19LCAicG9zdE1lc3NhZ2UoKSBvbiBDcm9zcy1vcmlnaW4gcG9w
dXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBidXQgY3Vy
cmVudCB3aW5kb3cgaGFzICdkZW55JyBvcHRpb24iKTsKLQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0
aW9ucy9hbGxvdy1wb3N0bWVzc2FnZS1mcm9tLWRlbnkuaHRtbC5oZWFkZXJzIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1k
ZW55Lmh0bWwuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmY1OTYzMzIw
MGE1YzEyNDcxMTZjMDU4ZjU0ZmU3ZjU2MzU5ZTE0Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4t
b3B0aW9ucy9hbGxvdy1wb3N0bWVzc2FnZS1mcm9tLWRlbnkuaHRtbC5oZWFkZXJzCisrKyAvZGV2
L251bGwKQEAgLTEgKzAsMCBAQAotQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGRlbnkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL2FsbG93LXBvc3Rt
ZXNzYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9h
bGxvdy1wb3N0bWVzc2FnZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMTFl
NTYyOTZmZGFiODFhMmUxZjViMTI5NDU0ZTdmMjUwZTUyYjMxLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9y
aWdpbi1vcHRpb25zL2FsbG93LXBvc3RtZXNzYWdlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0
NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Ci08dGl0bGU+VGVzdHMgdGhhdCBwb3N0TWVzc2FnZSgpIHdvcmtzIHdoZW4gJ0Ny
b3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIgaXMgc2Vy
dmVkPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0
PgotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1l
KCJjcm9zcy1vcmlnaW4tb3B0aW9ucy1hbGxvdy1wb3N0bWVzc2FnZS1wb25nLmh0bWwiLCB0cnVl
IC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKLSAgICAgICAgcmV0dXJuIG5ldyBQ
cm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gKG1z
ZykgPT4gewotICAgICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxsOwotICAgICAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMobXNnLmRhdGEsICJQT05HIik7Ci0gICAgICAgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhtc2cuc291cmNlLCBmLmNvbnRlbnRXaW5kb3cpOwotICAgICAgICAg
ICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH07Ci0gICAgICAgICAgICBhc3NlcnRfdGhy
b3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGYuY29udGVudFdpbmRvdy5sZW5ndGgg
fSwgImxlbmd0aCBwcm9wZXJ0eSBhY2Nlc3MiKTsKLSAgICAgICAgICAgIGYuY29udGVudFdpbmRv
dy5wb3N0TWVzc2FnZSgiUElORyIsICIqIik7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgInBv
c3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0
aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIik7Ci0KLXByb21pc2VfdGVzdChm
dW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgiY3Jvc3Mtb3JpZ2luLW9wdGlv
bnMtYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICov
KS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZl
KSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gKG1zZykgPT4gewotICAgICAg
ICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxsOwotICAgICAgICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMobXNnLmRhdGEsICJQT05HIik7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhtc2cuc291cmNlLCByZXN1bHQud2luZG93KTsKLSAgICAgICAgICAgICAgICByZXNvbHZlKCk7
Ci0gICAgICAgICAgICB9OwotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJv
ciIsIGZ1bmN0aW9uKCkgeyByZXN1bHQud2luZG93Lmxlbmd0aCB9LCAibGVuZ3RoIHByb3BlcnR5
IGFjY2VzcyIpOwotICAgICAgICAgICAgcmVzdWx0LndpbmRvdy5wb3N0TWVzc2FnZSgiUElORyIs
ICIqIik7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgInBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mt
b3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0bWVzc2Fn
ZScgSFRUUCBoZWFkZXIiKTsKLQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9jcm9zcy1vcmln
aW4tb3B0aW9ucy1oZWFkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jv
c3Mtb3JpZ2luLW9wdGlvbnMvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTAzYjEyOGVhZGZlM2JjNmJkOTk4ZWI2
MTMzZmU4ODJhOGFmOGU1NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9jcm9zcy1v
cmlnaW4tb3B0aW9ucy1oZWFkZXItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjIg
KzAsMCBAQAotICAKLQotUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdp
bi1PcHRpb25zOiBkZW55JyBIVFRQIGhlYWRlciAKLVBBU1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3
aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVy
IAotUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBh
bExvVy1wb3N0TWVzc0FnRScgSFRUUCBoZWFkZXIgKG1peGVkIGNhc2UpIAotUEFTUyBDcm9zcy1v
cmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55LGFsbG93JyBIVFRQ
IGhlYWRlciAobXVsdGlwbGUgdmFsdWVzIGlzIGludmFsaWQpIAotUEFTUyBDcm9zcy1vcmlnaW4g
aWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOicgSFRUUCBoZWFkZXIgKGVtcHR5IHZh
bHVlKSAKLVBBU1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9u
czogYWxsb3cnIEhUVFAgaGVhZGVyIAotUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Ny
b3NzLU9yaWdpbi1PcHRpb25zOiBpbnZhbGlkJyBIVFRQIGhlYWRlciAKLVBBU1MgU2FtZS1vcmln
aW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55JyBIVFRQIGhlYWRlciAK
LVBBU1MgU2FtZS1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxv
dy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIgCi1QQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB3aXRo
ICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIEhUVFAgaGVhZGVyIAotUEFTUyBTYW1lLW9y
aWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGludmFsaWQnIEhUVFAgaGVh
ZGVyIAotUEFTUyBDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6
IGRlbnknIEhUVFAgaGVhZGVyIAotUEFTUyBDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3Mt
T3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBIVFRQIGhlYWRlciAKLVBBU1MgQ3Jv
c3Mtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdycgSFRUUCBo
ZWFkZXIgCi1QQVNTIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9u
czogaW52YWxpZCcgSFRUUCBoZWFkZXIgCi1QQVNTIFNhbWUtb3JpZ2luIHBvcHVwIHdpdGggJ0Ny
b3NzLU9yaWdpbi1PcHRpb25zOiBkZW55JyBIVFRQIGhlYWRlciAKLVBBU1MgU2FtZS1vcmlnaW4g
cG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBIVFRQ
IGhlYWRlciAKLVBBU1MgU2FtZS1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlv
bnM6IGFsbG93JyBIVFRQIGhlYWRlciAKLVBBU1MgU2FtZS1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jv
c3MtT3JpZ2luLU9wdGlvbnM6IGludmFsaWQnIEhUVFAgaGVhZGVyIAotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9jcm9zcy1vcmlnaW4tb3B0
aW9ucy1oZWFkZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRp
b25zL2Nyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmZmFkM2IzNDFmYjcyYmQ0ZWE5NTAwZjdiZDQ2MDRmODkwODA0OTZiLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL2Nyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTk4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTx0aXRsZT5CYXNpYyB0ZXN0aW5n
IGZvciBDcm9zcy1PcmlnaW4tT3B0aW9ucyBIVFRQIGhlYWRlcjwvdGl0bGU+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1p
bmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLQotLy8gVGVzdCBmcmFtZSBoYXMg
YSBzdWJmcmFtZSBzbyB3ZSBleHBlY3QgYW4gaW5kZXhlZCBwcm9wZXJ0eSB3aXRoIGluZGV4IDAu
Ci1jcm9zc09yaWdpblByb3BlcnR5TmFtZXMucHVzaCgnMCcpOwotCi1mdW5jdGlvbiBjaGVja0lm
cmFtZVByb3BlcnR5VmFsdWVzKHcpCi17Ci0gICAgYXNzZXJ0X2VxdWFscyh3LnBhcmVudCwgd2lu
ZG93LCAiJ3BhcmVudCcgcHJvcGVydHkgdmFsdWUiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHcudG9w
LCB3aW5kb3csICIndG9wJyBwcm9wZXJ0eSB2YWx1ZSIpOwotICAgIGFzc2VydF9lcXVhbHMody5v
cGVuZXIsIG51bGwsICInb3BlbmVyJyBwcm9wZXJ0eSB2YWx1ZSIpOwotICAgIGFzc2VydF9lcXVh
bHMody5sZW5ndGgsIDEsICInbGVuZ3RoJyBwcm9wZXJ0eSB2YWx1ZSIpOwotICAgIGFzc2VydF9u
b3RfdGhyb3dpbmcoZnVuY3Rpb24oKSB7IHdbMF07IH0sICJTdWJmcmFtZSBhY2Nlc3MgdmlhIGlu
ZGV4Iik7Ci0gICAgYXNzZXJ0X2VxdWFscyh3WydzdWJmcmFtZSddLCB3WzBdLCAiU3ViZnJhbWUg
YWNjZXNzIGJ5IG5hbWUiKTsKLX0KLQotZnVuY3Rpb24gY2hlY2tQb3B1cFByb3BlcnR5VmFsdWVz
KHcpCi17Ci0gICAgYXNzZXJ0X2VxdWFscyh3LnBhcmVudCwgdywgIidwYXJlbnQnIHByb3BlcnR5
IHZhbHVlIik7Ci0gICAgYXNzZXJ0X2VxdWFscyh3LnRvcCwgdywgIid0b3AnIHByb3BlcnR5IHZh
bHVlIik7Ci0gICAgYXNzZXJ0X2VxdWFscyh3Lm9wZW5lciwgd2luZG93LCAiJ29wZW5lcicgcHJv
cGVydHkgdmFsdWUiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHcubGVuZ3RoLCAxLCAiJ2xlbmd0aCcg
cHJvcGVydHkgdmFsdWUiKTsKLSAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3
WzBdOyB9LCAiU3ViZnJhbWUgYWNjZXNzIHZpYSBpbmRleCIpOwotICAgIGFzc2VydF9lcXVhbHMo
d1snc3ViZnJhbWUnXSwgd1swXSwgIlN1YmZyYW1lIGFjY2VzcyBieSBuYW1lIik7Ci19Ci0KLXBy
b21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZl
LWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weT92YWx1ZT1kZW55IiwgdHJ1ZSAvKiBpc0Ny
b3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlv
bihmLmNvbnRlbnRXaW5kb3csICJkZW55IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKLSAg
ICB9KTsKLX0sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25z
OiBkZW55JyBIVFRQIGhlYWRlciIpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewot
ICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIu
cHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRo
ZW4oKGYpID0+IHsKLSAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKGYuY29udGVudFdpbmRv
dywgImFsbG93LXBvc3RtZXNzYWdlIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKLSAgICB9
KTsKLX0sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBh
bGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlv
bnMtaGVhZGVyLnB5P3ZhbHVlPWFsTG9XLXBvc3RNZXNzQWdFIiwgdHJ1ZSAvKiBpc0Nyb3NzT3Jp
Z2luICovKS50aGVuKChmKSA9PiB7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbihmLmNv
bnRlbnRXaW5kb3csICJhbGxvdy1wb3N0bWVzc2FnZSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAq
Lyk7Ci0gICAgfSk7Ci19LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4t
T3B0aW9uczogYWxMb1ctcG9zdE1lc3NBZ0UnIEhUVFAgaGVhZGVyIChtaXhlZCBjYXNlKSIpOwot
Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1lKCJz
ZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9ZGVueSxhbGxvdyIsIHRy
dWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4gewotICAgICAgICBjb25zdCB3ID0g
Zi5jb250ZW50V2luZG93OwotICAgICAgICAvLyBJbnZhbGlkIGlucHV0OiBzaG91bGQgYmUgdHJl
YXRlZCBhcyAiYWxsb3ciLgotICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgImFsbG93
IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKLQotICAgICAgICBjaGVja0lmcmFtZVByb3Bl
cnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwgIkNyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jv
c3MtT3JpZ2luLU9wdGlvbnM6IGRlbnksYWxsb3cnIEhUVFAgaGVhZGVyIChtdWx0aXBsZSB2YWx1
ZXMgaXMgaW52YWxpZCkiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICBy
ZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3Zh
bHVlPSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4gewotICAgICAgICBj
b25zdCB3ID0gZi5jb250ZW50V2luZG93OwotICAgICAgICAvLyBFbXB0eSB2YWx1ZTogc2hvdWxk
IGJlIHRyZWF0ZWQgYXMgImFsbG93Ii4KLSAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcs
ICJhbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hlY2tJZnJh
bWVQcm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHdp
dGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOicgSFRUUCBoZWFkZXIgKGVtcHR5IHZhbHVlKSIpOwot
Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1lKCJz
ZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9YWxsb3ciLCB0cnVlIC8q
IGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKLSAgICAgICAgY29uc3QgdyA9IGYuY29u
dGVudFdpbmRvdzsKLSAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIHRy
dWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0eVZh
bHVlcyh3KTsKLSAgICB9KTsKLX0sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9y
aWdpbi1PcHRpb25zOiBhbGxvdycgSFRUUCBoZWFkZXIiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0
aW9uKHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2luLW9w
dGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWludmFsaWQiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8p
LnRoZW4oKGYpID0+IHsKLSAgICAgICAgY29uc3QgdyA9IGYuY29udGVudFdpbmRvdzsKLSAgICAg
ICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdp
biAqLyk7Ci0gICAgICAgIAotICAgICAgICBjaGVja0lmcmFtZVByb3BlcnR5VmFsdWVzKHcpOwot
ICAgIH0pOwotfSwgIkNyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlv
bnM6IGludmFsaWQnIEhUVFAgaGVhZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0
KSB7Ci0gICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi1vcHRpb25zLWhl
YWRlci5weT92YWx1ZT1kZW55IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikg
PT4gewotICAgICAgICAgY29uc3QgdyA9IGYuY29udGVudFdpbmRvdzsKLSAgICAgICAgdGVzdENy
b3NzT3JpZ2luT3B0aW9uKHcsICJkZW55IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0K
LSAgICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJTYW1l
LW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGRlbnknIEhUVFAgaGVh
ZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhJ
ZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weT92YWx1ZT1hbGxvdy1w
b3N0bWVzc2FnZSIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKLSAg
ICAgICAgIGNvbnN0IHcgPSBmLmNvbnRlbnRXaW5kb3c7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdp
bk9wdGlvbih3LCAiYWxsb3ctcG9zdG1lc3NhZ2UiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICov
KTsKLQotICAgICAgICBjaGVja0lmcmFtZVByb3BlcnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwg
IlNhbWUtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9z
dG1lc3NhZ2UnIEhUVFAgaGVhZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7
Ci0gICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRl
ci5weT92YWx1ZT1hbGxvdyIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+
IHsKLSAgICAgICAgIGNvbnN0IHcgPSBmLmNvbnRlbnRXaW5kb3c7Ci0gICAgICAgIHRlc3RDcm9z
c09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKLQot
ICAgICAgICBjaGVja0lmcmFtZVByb3BlcnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwgIlNhbWUt
b3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIEhUVFAgaGVh
ZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhJ
ZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weT92YWx1ZT1pbnZhbGlk
IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4gewotICAgICAgICAgY29u
c3QgdyA9IGYuY29udGVudFdpbmRvdzsKLSAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcs
ICJhbGxvdyIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwotCi0gICAgICAgIGNoZWNrSWZy
YW1lUHJvcGVydHlWYWx1ZXModyk7Ci0gICAgfSk7Ci19LCAiU2FtZS1vcmlnaW4gaWZyYW1lIHdp
dGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBpbnZhbGlkJyBIVFRQIGhlYWRlciIpOwotCi1wcm9t
aXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoUG9wdXAoInNlcnZlLWNy
b3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weT92YWx1ZT1kZW55IiwgdHJ1ZSAvKiBpc0Nyb3Nz
T3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0
aW9uKHJlc3VsdC53aW5kb3csICJkZW55IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKLSAg
ICB9KTsKLX0sICJDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6
IGRlbnknIEhUVFAgaGVhZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0g
ICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5
P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVu
KChyZXN1bHQpID0+IHsKLSAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHJlc3VsdC53aW5k
b3csICJhbGxvdy1wb3N0bWVzc2FnZSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0gICAg
fSk7Ci19LCAiQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBh
bGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9u
cy1oZWFkZXIucHk/dmFsdWU9YWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4o
KHJlc3VsdCkgPT4gewotICAgICAgICBjb25zdCB3ID0gcmVzdWx0LndpbmRvdzsKLSAgICAgICAg
dGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAq
Lyk7Ci0KLSAgICAgICAgY2hlY2tQb3B1cFByb3BlcnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwg
IkNyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIEhU
VFAgaGVhZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJu
IHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWlu
dmFsaWQiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4gewotICAg
ICAgICBjb25zdCB3ID0gcmVzdWx0LndpbmRvdzsKLSAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0
aW9uKHcsICJhbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hl
Y2tQb3B1cFByb3BlcnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwgIkNyb3NzLW9yaWdpbiBwb3B1
cCB3aXRoICdDcm9zcy1PcmlnaW4tT3B0aW9uczogaW52YWxpZCcgSFRUUCBoZWFkZXIiKTsKLQot
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2
ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9ZGVueSIsIGZhbHNlIC8qIGlz
Q3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4gewotICAgICAgICAgY29uc3QgdyA9IHJl
c3VsdC53aW5kb3c7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiZGVueSIsIGZh
bHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwotCi0gICAgICAgIGNoZWNrUG9wdXBQcm9wZXJ0eVZh
bHVlcyh3KTsKLSAgICB9KTsKLX0sICJTYW1lLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1Pcmln
aW4tT3B0aW9uczogZGVueScgSFRUUCBoZWFkZXIiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9u
cy1oZWFkZXIucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UiLCBmYWxzZSAvKiBpc0Nyb3NzT3Jp
Z2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgIGNvbnN0IHcgPSByZXN1bHQud2lu
ZG93OwotICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgImFsbG93LXBvc3RtZXNzYWdl
IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hlY2tQb3B1cFByb3Bl
cnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwgIlNhbWUtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3Nz
LU9yaWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIiKTsKLQotcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1j
cm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9YWxsb3ciLCBmYWxzZSAvKiBpc0Ny
b3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgIGNvbnN0IHcgPSByZXN1
bHQud2luZG93OwotICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgImFsbG93IiwgZmFs
c2UgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hlY2tQb3B1cFByb3BlcnR5VmFs
dWVzKHcpOwotICAgIH0pOwotfSwgIlNhbWUtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdp
bi1PcHRpb25zOiBhbGxvdycgSFRUUCBoZWFkZXIiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9u
cy1oZWFkZXIucHk/dmFsdWU9aW52YWxpZCIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRo
ZW4oKHJlc3VsdCkgPT4gewotICAgICAgICAgY29uc3QgdyA9IHJlc3VsdC53aW5kb3c7Ci0gICAg
ICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCBmYWxzZSAvKiBpc0Nyb3NzT3Jp
Z2luICovKTsKLQotICAgICAgICBjaGVja1BvcHVwUHJvcGVydHlWYWx1ZXModyk7Ci0gICAgfSk7
Ci19LCAiU2FtZS1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGludmFs
aWQnIEhUVFAgaGVhZGVyIik7Ci0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvbmF2aWdhdGlv
bi1mcm9tLW9wZW5lci12aWEtb3Blbi10YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvbmF2aWdhdGlvbi1mcm9tLW9wZW5lci12aWEt
b3Blbi10YXJnZXQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
MzhmOTAwMDdhZTQwMGU2ZjRlNzM5YWE3ZWYzMGZiMWIyMjEzOTA5Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3Nz
LW9yaWdpbi1vcHRpb25zL25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0LWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDIzOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRp
b24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3Nz
LW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9zZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFk
ZXIucHk/dmFsdWU9ZGVueScgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4
ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9uYXZpZ2F0aW9uLWZyb20tb3BlbmVyLXZp
YS1vcGVuLXRhcmdldC5odG1sJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENy
b3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBV
bnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1l
IHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRp
b25zL3Jlc291cmNlcy9zZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9ucy1oZWFkZXIucHk/dmFsdWU9
YWxsb3ctcG9zdG1lc3NhZ2UnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6
ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvbmF2aWdhdGlvbi1mcm9tLW9wZW5lci12
aWEtb3Blbi10YXJnZXQuaHRtbCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBD
cm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLQotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlv
bnM6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBvcGVuZXIgdmlhIG9wZW4oKSB0YXJn
ZXQgCi1QQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZl
bnRzIG5hdmlnYXRpb24gZnJvbSBvcGVuZXIgdmlhIG9wZW4oKSB0YXJnZXQgCi1QQVNTICdDcm9z
cy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9t
IG9wZW5lciB2aWEgb3BlbigpIHRhcmdldCAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvbmF2aWdhdGlvbi1mcm9tLW9wZW5lci12aWEtb3Bl
bi10YXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25z
L25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDRlODNiZDc0Zjc1YTAyNGU5YjAxM2E1ODU1ZWQ5ZmM5MjkzYzIx
YzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvbmF2aWdhdGlvbi1mcm9tLW9wZW5l
ci12aWEtb3Blbi10YXJnZXQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTx0
aXRsZT5UZXN0cyB0aGF0ICdDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueSAvIGFsbG93LXBvc3Rt
ZXNzYWdlJyBwcmV2ZW50cyBhIGNyb3NzLW9yaWdpbiBvcGVuZXIgZnJvbSBuYXZpZ2F0aW5nIHVz
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0Pgot
Ci1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mt
b3JpZ2luLW9wdGlvbnMtaGVhZGVyLnB5P3ZhbHVlPWRlbnkiLCB0cnVlIC8qIGlzQ3Jvc3NPcmln
aW4gKi8sICJmb28xIikudGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHJldHVybiBuZXcgUHJv
bWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IChtc2cp
ID0+IHsKLSAgICAgICAgICAgICAgICBhc3NlcnRfbm90X2VxdWFscyhtc2cuc291cmNlLCByZXN1
bHQud2luZG93LCAiRXhpc3Rpbmcgd2luZG93IHNob3VsZCBub3QgbmF2aWdhdGUiKTsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgbGV0IGRlc3RpbmF0aW9uVVJMID0gZ2V0X2hvc3RfaW5m
bygpLkhUVFBfT1JJR0lOICsgIi9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2Vz
L2Rlc3RpbmF0aW9uLmh0bWwiOwotICAgICAgICAgICAgdyA9IG9wZW4oZGVzdGluYXRpb25VUkws
ICJmb28xIik7Ci0gICAgICAgICAgICAvLyBJZiBhIHdpbmRvdyB3aXRoIHRoZSBnaXZlbiBuYW1l
IGlzIGZvdW5kIGJ1dCBjYW5ub3QgYmUgbmF2aWdhdGVkLCBhIG5ldyBvbmUgaXMgY3JlYXRlZCwg
YXMgaWYgd2UgY291bGQKLSAgICAgICAgICAgIC8vIG5vdCBmaW5kIHRoZSBnaXZlbiB3aW5kb3cu
Ci0gICAgICAgICAgICBhc3NlcnRfbm90X2VxdWFscyh3LCByZXN1bHQud2luZG93LCAib3Blbigp
IHNob3VsZCBhIG5ldyB3aW5kb3ciKTsKLQotICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkg
PT4gewotICAgICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IG51bGw7Ci0gICAgICAgICAg
ICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9LCAyMDApOwotICAgICAgICB9KTsKLSAgICB9
KTsKLX0sICInQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24g
ZnJvbSBvcGVuZXIgdmlhIG9wZW4oKSB0YXJnZXQiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewot
ICAgIHJldHVybiB3aXRoUG9wdXAoInNlcnZlLWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5w
eT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLywgImZv
bzIiKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNv
bHZlKSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gKG1zZykgPT4gewotICAg
ICAgICAgICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKG1zZy5zb3VyY2UsIHJlc3VsdC53aW5kb3cs
ICJFeGlzdGluZyB3aW5kb3cgc2hvdWxkIG5vdCBuYXZpZ2F0ZSIpOwotICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICBsZXQgZGVzdGluYXRpb25VUkwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9P
UklHSU4gKyAiL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvZGVzdGluYXRp
b24uaHRtbCI7Ci0gICAgICAgICAgICB3ID0gb3BlbihkZXN0aW5hdGlvblVSTCwgImZvbzIiKTsK
LSAgICAgICAgICAgIC8vIElmIGEgd2luZG93IHdpdGggdGhlIGdpdmVuIG5hbWUgaXMgZm91bmQg
YnV0IGNhbm5vdCBiZSBuYXZpZ2F0ZWQsIGEgbmV3IG9uZSBpcyBjcmVhdGVkLCBhcyBpZiB3ZSBj
b3VsZAotICAgICAgICAgICAgLy8gbm90IGZpbmQgdGhlIGdpdmVuIHdpbmRvdy4KLSAgICAgICAg
ICAgIGFzc2VydF9ub3RfZXF1YWxzKHcsIHJlc3VsdC53aW5kb3csICJvcGVuKCkgc2hvdWxkIGEg
bmV3IHdpbmRvdyIpOwotCi0gICAgICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7Ci0gICAg
ICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsKLSAgICAgICAgICAgICAgIHJlc29s
dmUoKTsKLSAgICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgIidD
cm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRp
b24gZnJvbSBvcGVuZXIgdmlhIG9wZW4oKSB0YXJnZXQiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4g
ewotICAgIHJldHVybiB3aXRoUG9wdXAoInNlcnZlLWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRl
ci5weT92YWx1ZT1hbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLywgImZvbzMiKS50aGVu
KChyZXN1bHQpID0+IHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7
Ci0gICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gKCkgPT4gewotICAgICAgICAgICAgICAg
IHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxsOwotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgbGV0IGRlc3RpbmF0aW9uVVJMID0gZ2V0X2hvc3Rf
aW5mbygpLkhUVFBfT1JJR0lOICsgIi9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3Vy
Y2VzL2Rlc3RpbmF0aW9uLmh0bWwiOwotICAgICAgICAgICAgdyA9IG9wZW4oZGVzdGluYXRpb25V
UkwsICJmb28zIik7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHcsIHJlc3VsdC53aW5kb3cs
ICJvcGVuKCkgc2hvdWxkIHJldHVybiB0aGUgc2FtZSB3aW5kb3ciKTsKLSAgICAgICAgfSk7Ci0g
ICAgfSk7Ci19LCAiJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdycgZG9lcyBub3QgcHJldmVu
dCBuYXZpZ2F0aW9uIGZyb20gb3BlbmVyIHZpYSBvcGVuKCkgdGFyZ2V0Iik7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3Nz
LW9yaWdpbi1vcHRpb25zL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdl
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9u
cy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFuY2hvci10YXJnZXQtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OWI0OTA0M2I3MzdlYTFlZjcyYjYzNTA3
NzgyZGMwOTM5OGJiYTkzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL25hdmlnYXRp
b24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwzNSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBK
YXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBV
UkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVz
b3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdl
dD1fdG9wJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hv
ci5odG1sP3RhcmdldD1fdG9wJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENy
b3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBV
bnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1l
IHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRp
b25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVu
eSZ0YXJnZXQ9X3RvcCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAw
L1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZp
YS1hbmNob3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1
ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZv
ciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmln
aW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3Zh
bHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fdG9wJyBmcm9tIGZyYW1lIHdpdGggVVJMICdo
dHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNl
cy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fdG9wJy4gTmF2aWdhdGlv
biB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4KLQot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGlu
aXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4
MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20t
c3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PV90b3AnIGZy
b20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3Jp
Z2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFy
Z2V0PV90b3AnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2lu
LU9wdGlvbnMgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZh
U2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwg
J2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3Vy
Y2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1f
cGFyZW50JyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hv
ci5odG1sP3RhcmdldD1fcGFyZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRv
IENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0
OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZy
YW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1v
cHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9
ZGVueSZ0YXJnZXQ9X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAu
MTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFy
ZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5hdmlnYXRpb24gd2FzIG5vdCBh
bGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZp
Z2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9j
cm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZy
YW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fcGFyZW50JyBmcm9tIGZyYW1l
IHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRp
b25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fcGFy
ZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRp
b25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlw
dCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRw
Oi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9u
YXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2Um
dGFyZ2V0PV9wYXJlbnQnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgw
MC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12
aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV9wYXJlbnQnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dl
ZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlv
biBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mt
b3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5w
eT92YWx1ZT1kZW55JnRhcmdldD1mb28xJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3
LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0
ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1mb28xJy4gTmF2aWdhdGlvbiB3YXMgbm90
IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5h
dmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUt
ZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9Zm9vMScgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0
cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMv
bmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9Zm9vMScuIE5hdmlnYXRpb24g
d2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0
aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAw
L1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1
YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1mb28yJyBmcm9t
IGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdp
bi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3Rhcmdl
dD1mb28yJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1P
cHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNj
cmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNl
cy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3Nh
Z2UmdGFyZ2V0PWZvbzInIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgw
MC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12
aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PWZvbzInLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBk
dWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgotCi0KLVBBU1MgJ0Nyb3NzLU9yaWdp
bi1PcHRpb25zOiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1
Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV90b3A+KSAKLVBBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRp
b25zOiBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9y
aWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fdG9wPikgCi1QQVNTICdDcm9zcy1Pcmln
aW4tT3B0aW9uczogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIGNyb3Nz
LW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fdG9wPikgCi1QQVNTICdDcm9zcy1P
cmlnaW4tT3B0aW9uczogZGVueScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdp
biBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fcGFyZW50PikgCi1QQVNTICdDcm9zcy1Pcmln
aW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBj
cm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3BhcmVudD4pIAotUEFTUyAn
Q3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24g
ZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3BhcmVudD4pIAot
UEFTUyAnQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJv
bSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZSkgCi1Q
QVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5h
dmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2lu
ZG93TmFtZSkgCi1QQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIGRvZXMgbm90IHBy
ZXZlbnQgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRh
cmdldD13aW5kb3dOYW1lPikgCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Ny
b3NzLW9yaWdpbi1vcHRpb25zL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRh
cmdldC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvbmF2
aWdhdGlvbi1mcm9tLXN1YmZyYW1lLXZpYS1hbmNob3ItdGFyZ2V0Lmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDIzY2U1NjA1YmExNTQyMzZlY2I5NjA3ZGQ2NjUzNThhM2EzMTg1
MWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvbmF2aWdhdGlvbi1mcm9tLXN1YmZy
YW1lLXZpYS1hbmNob3ItdGFyZ2V0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTkgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgY2hhcnNldD0idXRmLTgi
PgotPHRpdGxlPlRlc3RzIHRoYXQgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55IC8gYWxsb3ct
cG9zdG1lc3NhZ2UnIHByZXZlbnRzIGEgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBmcm9tIG5hdmlnYXRp
bmcgdXM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9InJlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3Jp
cHQ+Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZpZ2F0
aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3RvcCIsIGZhbHNl
IC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4gewotICAgICAgICByZXR1cm4g
bmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2Ug
PSB0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQgbm90IGhhdmUgbmF2aWdhdGVkIik7Ci0gICAgICAg
ICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICAgICB3aW5kb3cub25tZXNz
YWdlID0gbnVsbDsKLSAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0sIDIw
MCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgIidDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVu
eScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5n
IDxhIHRhcmdldD1fdG9wPikiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICAgIHJldHVybiB3
aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1w
b3N0bWVzc2FnZSZ0YXJnZXQ9X3RvcCIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4o
KHJlc3VsdCkgPT4gewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsK
LSAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSB0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQg
bm90IGhhdmUgbmF2aWdhdGVkIik7Ci0gICAgICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7
Ci0gICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsKLSAgICAgICAgICAgICAg
IHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwot
fSwgIidDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5h
dmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3Rv
cD4pIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZp
Z2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3cmdGFyZ2V0PV90b3AiLCBm
YWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgcmV0
dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cub25tZXNz
YWdlID0gKCkgPT4gewotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH07
Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgIidDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3cn
IGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUg
KHVzaW5nIDxhIHRhcmdldD1fdG9wPikiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICAgIHJl
dHVybiB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1k
ZW55JnRhcmdldD1fcGFyZW50IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVz
dWx0KSA9PiB7Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAg
ICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IHQudW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBub3Qg
aGF2ZSBuYXZpZ2F0ZWQiKTsKLSAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKLSAg
ICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxsOwotICAgICAgICAgICAgICAgcmVz
b2x2ZSgpOwotICAgICAgICAgICAgfSwgMjAwKTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19LCAi
J0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jv
c3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV9wYXJlbnQ+KSIpOwotCi1wcm9t
aXNlX3Rlc3QodCA9PiB7Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgibmF2aWdhdGlvbi1mcm9tLXN1
YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fcGFyZW50Iiwg
ZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2luZG93Lm9ubWVz
c2FnZSA9IHQudW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBub3QgaGF2ZSBuYXZpZ2F0ZWQiKTsKLSAg
ICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKLSAgICAgICAgICAgICAgIHdpbmRvdy5v
bm1lc3NhZ2UgPSBudWxsOwotICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAg
fSwgMjAwKTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19LCAiJ0Nyb3NzLU9yaWdpbi1PcHRpb25z
OiBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdp
biBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fcGFyZW50PikiKTsKLQotcHJvbWlzZV90ZXN0
KHQgPT4gewotICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1m
cmFtZS5weT92YWx1ZT1hbGxvdyZ0YXJnZXQ9X3BhcmVudCIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmln
aW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4gewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJl
c29sdmUpID0+IHsKLSAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAoKSA9PiB7Ci0gICAg
ICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgfTsgCi0gICAgICAgIH0pOwotICAg
IH0pOwotfSwgIidDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQg
bmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1f
cGFyZW50PikiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICAgIHJldHVybiB3aXRoUG9wdXAo
Im5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1mb28x
IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLywgImZvbzEiKS50aGVuKChyZXN1bHQpID0+IHsK
LSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB3
aW5kb3cub25tZXNzYWdlID0gdC51bnJlYWNoZWRfZnVuYygiU2hvdWxkIG5vdCBoYXZlIG5hdmln
YXRlZCIpOwotICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4gewotICAgICAgICAgICAg
ICAgd2luZG93Lm9ubWVzc2FnZSA9IG51bGw7Ci0gICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0g
ICAgICAgICAgICB9LCAyMDApOwotICAgICAgICB9KTsKLSAgICB9KTsgCi19LCAiJ0Nyb3NzLU9y
aWdpbi1PcHRpb25zOiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2lu
IHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWUpIik7Ci0KLXByb21pc2VfdGVz
dCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUt
ZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PWZvbzIiLCBmYWxzZSAvKiBp
c0Nyb3NzT3JpZ2luICovLCAiZm9vMiIpLnRoZW4oKHJlc3VsdCkgPT4gewotICAgICAgICByZXR1
cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAgICAgIHdpbmRvdy5vbm1lc3Nh
Z2UgPSB0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQgbm90IGhhdmUgbmF2aWdhdGVkIik7Ci0gICAg
ICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICAgICB3aW5kb3cub25t
ZXNzYWdlID0gbnVsbDsKLSAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0s
IDIwMCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgIidDcm9zcy1PcmlnaW4tT3B0aW9uczog
YWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4g
c3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZSkiKTsKLQotcHJvbWlzZV90ZXN0
KHQgPT4gewotICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1m
cmFtZS5weT92YWx1ZT1hbGxvdyZ0YXJnZXQ9Zm9vMyIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4g
Ki8sICJmb28zIikudGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9ICgpID0+IHsK
LSAgICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9OwotICAgICAgICB9KTsK
LSAgICB9KTsKLX0sICInQ3Jvc3MtT3JpZ2luLU9wdGlvbnM6IGFsbG93JyBkb2VzIG5vdCBwcmV2
ZW50IG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJn
ZXQ9d2luZG93TmFtZT4pIik7Ci0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2Vz
L2Nyb3NzLW9yaWdpbi1vcHRpb25zLWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9jcm9zcy1vcmln
aW4tb3B0aW9ucy1hbGxvdy1wb3N0bWVzc2FnZS1wb25nLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDlhNjdkZDdmNjBjMTRkNjJmY2QxNWE2Y2FjZWE2ODdiNGQwZjU4MzYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1vcHRp
b25zLWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1hZGRFdmVu
dExpc3RlbmVyKCdtZXNzYWdlJywgKG1zZykgPT4gewotICAgIGlmIChldmVudC5kYXRhID09PSAi
UElORyIpCi0gICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSgiUE9ORyIsICIqIik7Ci0g
ICAgfSk7Ci0gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7Ci0gICAg
ICAgIGNvbnN0IG93bmVyV2luZG93ID0gd2luZG93Lm9wZW5lciA/IHdpbmRvdy5vcGVuZXIgOiB3
aW5kb3cudG9wOwotICAgICAgICB0cnkgewotICAgICAgICAgICAgb3duZXJXaW5kb3cucG9zdE1l
c3NhZ2UoIlJFQURZIiwgIioiKTsKLSAgICAgICAgfSBjYXRjaCAoZSkgeyB9Ci0gICAgfSk7Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1h
bGxvdy1wb3N0bWVzc2FnZS1wb25nLmh0bWwuaGVhZGVycyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tb3B0aW9ucy1hbGxv
dy1wb3N0bWVzc2FnZS1wb25nLmh0bWwuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggY2ZiMTJiYjEwNjFiZDVhMDkxNDUwZWJmMTEzY2NlZGU5NjdhOTM5Ny4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMtYWxs
b3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sLmhlYWRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi1Dcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3ctcG9zdG1lc3NhZ2UKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9kZXN0
aW5hdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMv
cmVzb3VyY2VzL2Rlc3RpbmF0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDE1MTY4NzdiNDQ5YWVjYWJlNWY4MGYxYzRiYmI2ODYwMmJiYTMxZTQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jv
c3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL2Rlc3RpbmF0aW9uLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw3ICswLDAgQEAKLTxib2R5PgotREVTVElOQVRJT04KLTxzY3JpcHQ+Ci1pZiAod2lu
ZG93Lm9wZW5lcikKLSAgICB3aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCJuYXZpZ2F0ZWQiLCAi
KiIpOwotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNo
b3IuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291
cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA5NDAzOTliZjg2OGVmZTQ1NTE1MWNiNzljMGM4MTlmNWMwMDFiZmIzLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlh
LWFuY2hvci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5z
dWIuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08YSBpZD0idGVzdEFuY2hvciI+Q2xp
Y2sgbWU8L2E+Ci08c2NyaXB0PgotY29uc3QgUkVTT1VSQ0VTX0RJUiA9ICIvV2ViS2l0L2Nyb3Nz
LW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy8iOwotb25sb2FkID0gKCkgPT4gewotICAgIGxldCBw
YXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7Ci0gICAgdGVzdEFu
Y2hvci50YXJnZXQ9IHBhcmFtcy5nZXQoJ3RhcmdldCcpCi0gICAgdGVzdEFuY2hvci5ocmVmID0g
Z2V0X2hvc3RfaW5mbygpLkhUVFBfT1JJR0lOICsgUkVTT1VSQ0VTX0RJUiArICJkZXN0aW5hdGlv
bi5odG1sIjsKLSAgICB0ZXN0QW5jaG9yLmNsaWNrKCk7Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1v
cHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHkgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlv
bi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
ODU0YzU5MDBkZjA0ZWM4ZDlhYTlkNmIxMzIyZTgzMmJjYzhiODMyLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3Nz
LW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUu
cHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1kZWYgbWFpbihyZXF1ZXN0LCByZXNw
b25zZSk6Ci0gICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L2h0bWwiKSwKLSAg
ICAgICAgICAgICAgICgiQ3Jvc3MtT3JpZ2luLU9wdGlvbnMiLCByZXF1ZXN0LkdFVFsndmFsdWUn
XSksXQotICAgIHJldHVybiAyMDAsIGhlYWRlcnMsICIiIjwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLWNvbnN0IFJFU09VUkNFU19ESVIgPSAi
L1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvIjsKLWxldCBmID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci1mLnNyYyA9IGdldF9ob3N0X2luZm8oKS5IVFRQ
X1JFTU9URV9PUklHSU4gKyBSRVNPVVJDRVNfRElSICsgIm5hdmlnYXRlLXBhcmVudC12aWEtYW5j
aG9yLmh0bWw/dGFyZ2V0PSVzIjsKLWRvY3VtZW50LmJvZHkucHJlcGVuZChmKTsKLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPiIiIiAlIHJlcXVlc3QuR0VUWyd0YXJnZXQnXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL3Nl
cnZlLWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weSBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9zZXJ2ZS1jcm9zcy1vcmlnaW4tb3B0aW9u
cy1oZWFkZXIucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhOTA2NTVhZGMzMWI1
M2JkY2U2MmFhODI0NTM2YmM5OTcxMjYyMzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlv
bnMvcmVzb3VyY2VzL3NlcnZlLWNyb3NzLW9yaWdpbi1vcHRpb25zLWhlYWRlci5weQorKysgL2Rl
di9udWxsCkBAIC0xLDE0ICswLDAgQEAKLWRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAg
ICBoZWFkZXJzID0gWygiQ29udGVudC1UeXBlIiwgInRleHQvaHRtbCIpLAotICAgICAgICAgICAg
ICAgKCJDcm9zcy1PcmlnaW4tT3B0aW9ucyIsIHJlcXVlc3QuR0VUWyd2YWx1ZSddKSxdCi0gICAg
cmV0dXJuIDIwMCwgaGVhZGVycywgIiIiVEVTVAotICAgICAgICA8aWZyYW1lIG5hbWU9InN1YmZy
YW1lIj48L2lmcmFtZT4KLSAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4gewotICAgICAgICAgICAgICAgIGNvbnN0IG93bmVy
V2luZG93ID0gd2luZG93Lm9wZW5lciA/IHdpbmRvdy5vcGVuZXIgOiB3aW5kb3cudG9wOwotICAg
ICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIG93bmVyV2luZG93LnBvc3RN
ZXNzYWdlKCJSRUFEWSIsICIqIik7Ci0gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeyB9Ci0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgIiIiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvdXRpbHMu
anMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMv
dXRpbHMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkZmQ2NmU3NWRhYzE0MzIy
NGRiOTc5YjEzOTJlZmQ2OTg2MWNiNTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMv
cmVzb3VyY2VzL3V0aWxzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTUwICswLDAgQEAKLWNvbnN0
IFJFU09VUkNFU19ESVIgPSAiL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMv
IjsKLQotZnVuY3Rpb24gaXNDcm9zc09yaWdpbldpbmRvdyh3KQotewotICAgIHRyeSB7Ci0gICAg
ICAgIHcubmFtZTsKLSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAg
IH0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JDcm9zc09y
aWdpbkxvYWQodykKLXsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAg
ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAobXNnKSA9PiB7Ci0gICAg
ICAgICAgICBpZiAobXNnLnNvdXJjZSAhPSB3IHx8IG1zZy5kYXRhICE9ICJSRUFEWSIpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICB9KTsK
LQotICAgICAgICBsZXQgaGFuZGxlID0gc2V0SW50ZXJ2YWwoKCkgPT4gewotICAgICAgICAgICAg
aWYgKGlzQ3Jvc3NPcmlnaW5XaW5kb3codykpIHsKLSAgICAgICAgICAgICAgICBjbGVhckludGVy
dmFsKGhhbmRsZSk7Ci0gICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAg
dy5wb3N0TWVzc2FnZTsKLSAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIC8vIE5vIHBvaW50IGluIHdhaXRpbmcgZm9yICJSRUFEWSIgbWVzc2FnZSBmcm9t
IHdpbmRvdyBzaW5jZSBwb3N0TWVzc2FnZSBpcwotICAgICAgICAgICAgICAgICAgICAvLyBub3Qg
YXZhaWxhYmxlLgotICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9LCA1KTsKLSAgICB9KTsKLX0KLQotYXN5bmMg
ZnVuY3Rpb24gd2l0aElmcmFtZShyZXNvdXJjZUZpbGUsIGNyb3NzT3JpZ2luKQotewotICAgIHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICBsZXQgcmVzb3VyY2VVUkwg
PSBjcm9zc09yaWdpbiA/IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4gOiBnZXRf
aG9zdF9pbmZvKCkuSFRUUF9PUklHSU47Ci0gICAgICAgIHJlc291cmNlVVJMICs9IFJFU09VUkNF
U19ESVI7Ci0gICAgICAgIHJlc291cmNlVVJMICs9IHJlc291cmNlRmlsZTsKLSAgICAgICAgbGV0
IGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgIGZyYW1l
LnNyYyA9IHJlc291cmNlVVJMOwotICAgICAgICBpZiAoY3Jvc3NPcmlnaW4pIHsKLSAgICAgICAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOwotICAgICAgICAgICAgd2FpdEZv
ckNyb3NzT3JpZ2luTG9hZChmcmFtZS5jb250ZW50V2luZG93KS50aGVuKCgpID0+IHsKLSAgICAg
ICAgICAgICAgICByZXNvbHZlKGZyYW1lKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgZnJhbWUub25sb2FkID0gZnVuY3Rpb24oKSB7IHJlc29sdmUoZnJh
bWUpOyB9OwotICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7Ci0g
ICAgICAgIH0KLSAgICB9KTsKLX0KLQotYXN5bmMgZnVuY3Rpb24gd2l0aFBvcHVwKHJlc291cmNl
RmlsZSwgY3Jvc3NPcmlnaW4sIHdpbmRvd05hbWUpCi17Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNl
KChyZXNvbHZlKSA9PiB7IAotICAgICAgICBsZXQgcmVzb3VyY2VVUkwgPSBjcm9zc09yaWdpbiA/
IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4gOiBnZXRfaG9zdF9pbmZvKCkuSFRU
UF9PUklHSU47Ci0gICAgICAgIHJlc291cmNlVVJMICs9IFJFU09VUkNFU19ESVI7Ci0gICAgICAg
IHJlc291cmNlVVJMICs9IHJlc291cmNlRmlsZTsKLQotICAgICAgICBsZXQgdyA9IG9wZW4ocmVz
b3VyY2VVUkwsIHdpbmRvd05hbWUpOwotICAgICAgICBpZiAoY3Jvc3NPcmlnaW4pIHsKLSAgICAg
ICAgICAgIHdhaXRGb3JDcm9zc09yaWdpbkxvYWQodykudGhlbigoKSA9PiB7Ci0gICAgICAgICAg
ICAgICAgcmVzb2x2ZSh7ICd3aW5kb3cnOiB3IH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICB3Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeyByZXNvbHZlKHsg
J3dpbmRvdyc6IHcgfSk7IH07Ci0gICAgICAgIH0KLSAgIH0pOwotfQotCi1jb25zdCBjcm9zc09y
aWdpblByb3BlcnR5TmFtZXMgPSBbICdibHVyJywgJ2Nsb3NlJywgJ2Nsb3NlZCcsICdmb2N1cycs
ICdmcmFtZXMnLCAnbGVuZ3RoJywgJ2xvY2F0aW9uJywgJ29wZW5lcicsICdwYXJlbnQnLCAncG9z
dE1lc3NhZ2UnLCAnc2VsZicsICd0b3AnLCAnd2luZG93JyBdOwotY29uc3QgZm9yYmlkZGVuUHJv
cGVydGllc0Nyb3NzT3JpZ2luID0gWyJuYW1lIiwgImRvY3VtZW50IiwgImhpc3RvcnkiLCAibG9j
YXRpb25iYXIiLCAic3RhdHVzIiwgImZyYW1lRWxlbWVudCIsICJuYXZpZ2F0b3IiLCAiYWxlcnQi
LCAibG9jYWxTdG9yYWdlIiwgInNlc3Npb25TdG9yYWdlIiwgImV2ZW50IiwgImZvbyIsICJiYXIi
XTsKLQotZnVuY3Rpb24gYXNzZXJ0X25vdF90aHJvd2luZyhmLCBtZXNzYWdlKQotewotICAgIHRy
eSB7Ci0gICAgICAgIGYoKTsKLSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIGFzc2VydF91bnJl
YWNoZWQobWVzc2FnZSk7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBjaGVja0Nyb3NzT3JpZ2luUHJv
cGVydGllc0FjY2Vzcyh3KQotewotICAgIGZvciAobGV0IGNyb3NzT3JpZ2luUHJvcGVydHlOYW1l
IG9mIGNyb3NzT3JpZ2luUHJvcGVydHlOYW1lcykKLSAgICAgICBhc3NlcnRfbm90X3Rocm93aW5n
KGZ1bmN0aW9uKCkgeyB3W2Nyb3NzT3JpZ2luUHJvcGVydHlOYW1lXTsgfSwgIkFjY2Vzc2luZyBw
cm9wZXJ0eSAnIiArIGNyb3NzT3JpZ2luUHJvcGVydHlOYW1lICsiJyBvbiBXaW5kb3cgc2hvdWxk
IG5vdCB0aHJvdyIpOwotICAgCi0gICAgYXNzZXJ0X2ZhbHNlKHcuY2xvc2VkLCAiJ2Nsb3NlZCcg
cHJvcGVydHkgdmFsdWUiKTsgCi0gICAgYXNzZXJ0X2VxdWFscyh3LmZyYW1lcywgdywgIidmcmFt
ZXMnIHByb3BlcnR5IHZhbHVlIik7Ci0gICAgYXNzZXJ0X2VxdWFscyh3LnNlbGYsIHcsICInc2Vs
ZicgcHJvcGVydHkgdmFsdWUiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHcud2luZG93LCB3LCAiJ3dp
bmRvdycgcHJvcGVydHkgdmFsdWUiKTsKLQotICAgIGFzc2VydF9ub3RfdGhyb3dpbmcoZnVuY3Rp
b24oKSB7IHcuYmx1cigpOyB9LCAiQ2FsbGluZyBibHVyKCkgb24gV2luZG93IHNob3VsZCBzaG91
bGQgdGhyb3ciKTsKLSAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3LmZvY3Vz
KCk7IH0sICJDYWxsaW5nIGZvY3VzKCkgb24gV2luZG93IHNob3VsZCBzaG91bGQgdGhyb3ciKTsK
LSAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3LnBvc3RNZXNzYWdlKCd0ZXN0
JywgJyonKTsgfSwgIkNhbGxpbmcgcG9zdE1lc3NhZ2UoKSBvbiBXaW5kb3cgc2hvdWxkIHNob3Vs
ZCB0aHJvdyIpOwotfQotCi1mdW5jdGlvbiB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgaGVhZGVy
VmFsdWUsIGlzQ3Jvc3NPcmlnaW4pCi17Ci0gICAgaWYgKCFpc0Nyb3NzT3JpZ2luKSB7Ci0gICAg
ICAgIGNoZWNrQ3Jvc3NPcmlnaW5Qcm9wZXJ0aWVzQWNjZXNzKHcpOwotICAgICAgICBmb3IgKGxl
dCBmb3JiaWRkZW5Qcm9wZXJ0eUNyb3NzT3JpZ2luIG9mIGZvcmJpZGRlblByb3BlcnRpZXNDcm9z
c09yaWdpbikKLSAgICAgICAgICAgIGFzc2VydF9ub3RfdGhyb3dpbmcoZnVuY3Rpb24oKSB7IGV2
YWwoIncuIiArIGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NPcmlnaW4pOyB9LCAiQWNjZXNzaW5nIHBy
b3BlcnR5ICciICsgZm9yYmlkZGVuUHJvcGVydHlDcm9zc09yaWdpbiArICInIG9uIFdpbmRvdyBz
aG91bGQgbm90IHRocm93Iik7Ci0gICAgICAgIGFzc2VydF9ub3RfdGhyb3dpbmcoZnVuY3Rpb24o
KSB7IHcuZm9vID0gMTsgfSwgIlNldHRpbmcgZXhwYW5kbyBwcm9wZXJ0eSBzaG91bGQgbm90IHRo
cm93Iik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMody5mb28sIDEsICJleHBhbmRvIHByb3BlcnR5
IHZhbHVlIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBDcm9zcy1vcmlnaW4g
Y2FzZS4KLSAgICBmb3IgKGxldCBmb3JiaWRkZW5Qcm9wZXJ0eUNyb3NzT3JpZ2luIG9mIGZvcmJp
ZGRlblByb3BlcnRpZXNDcm9zc09yaWdpbikgewotICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1
cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGV2YWwoIncuIiArIGZvcmJpZGRlblByb3BlcnR5Q3Jv
c3NPcmlnaW4pOyB9LCAiQWNjZXNzaW5nIHByb3BlcnR5ICciICsgZm9yYmlkZGVuUHJvcGVydHlD
cm9zc09yaWdpbiArICInIG9uIFdpbmRvdyBzaG91bGQgdGhyb3ciKTsKLSAgICAgICAgbGV0IGRl
c2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgZm9yYmlkZGVuUHJv
cGVydHlDcm9zc09yaWdpbik7Ci0gICAgICAgIGlmIChkZXNjICYmIGRlc2MudmFsdWUpCi0gICAg
ICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlc2Mu
dmFsdWUuY2FsbCh3KTsgfSwgIkNhbGxpbmcgZnVuY3Rpb24gJyIgKyBmb3JiaWRkZW5Qcm9wZXJ0
eUNyb3NzT3JpZ2luICsgIicgb24gV2luZG93IHNob3VsZCB0aHJvdyAodXNpbmcgZ2V0dGVyIGZy
b20gb3RoZXIgd2luZG93KSIpOwotICAgICAgICBlbHNlIGlmIChkZXNjICYmIGRlc2MuZ2V0KQot
ICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBk
ZXNjLmdldC5jYWxsKHcpOyB9LCAiQWNjZXNzaW5nIHByb3BlcnR5ICciICsgZm9yYmlkZGVuUHJv
cGVydHlDcm9zc09yaWdpbiArICInIG9uIFdpbmRvdyBzaG91bGQgdGhyb3cgKHVzaW5nIGdldHRl
ciBmcm9tIG90aGVyIHdpbmRvdykiKTsKLSAgICB9Ci0gICAgYXNzZXJ0X3Rocm93cygiU2VjdXJp
dHlFcnJvciIsIGZ1bmN0aW9uKCkgeyB3LmZvbyA9IDE7IH0sICJTZXR0aW5nIGFuIGV4cGFuZG8g
cHJvcGVydHkgc2hvdWxkIHRocm93Iik7Ci0KLSAgICBpZiAoaGVhZGVyVmFsdWUgPT0gImRlbnki
IHx8IGhlYWRlclZhbHVlID09ICJhbGxvdy1wb3N0bWVzc2FnZSIpIHsKLSAgICAgICAgZm9yIChs
ZXQgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWUgb2YgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVzKSB7
Ci0gICAgICAgICAgICBpZiAoaGVhZGVyVmFsdWUgPT0gImFsbG93LXBvc3RtZXNzYWdlIiAmJiBj
cm9zc09yaWdpblByb3BlcnR5TmFtZSA9PSAicG9zdE1lc3NhZ2UiKSB7Ci0gICAgICAgICAgICAg
ICAgYXNzZXJ0X25vdF90aHJvd2luZyhmdW5jdGlvbigpIHsgd1tjcm9zc09yaWdpblByb3BlcnR5
TmFtZV07IH0sICJBY2Nlc3NpbmcgcHJvcGVydHkgJyIgKyBjcm9zc09yaWdpblByb3BlcnR5TmFt
ZSArIicgb24gV2luZG93IHNob3VsZCBub3QgdGhyb3ciKTsKLSAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9u
KCkgeyB3W2Nyb3NzT3JpZ2luUHJvcGVydHlOYW1lXTsgfSwgIkFjY2Vzc2luZyAnIiArIGNyb3Nz
T3JpZ2luUHJvcGVydHlOYW1lICsgIicgcHJvcGVydHkiKTsKLQotICAgICAgICAgICAgICAgIGxl
dCBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csIGNyb3NzT3Jp
Z2luUHJvcGVydHlOYW1lKTsKLSAgICAgICAgICAgICAgICBpZiAoZGVzYyAmJiBkZXNjLnZhbHVl
KQotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVu
Y3Rpb24oKSB7IGRlc2MudmFsdWUuY2FsbCh3KTsgfSwgIkNhbGxpbmcgZnVuY3Rpb24gJyIgKyBj
cm9zc09yaWdpblByb3BlcnR5TmFtZSArICInIG9uIFdpbmRvdyBzaG91bGQgdGhyb3cgKHVzaW5n
IGdldHRlciBmcm9tIG90aGVyIHdpbmRvdykiKTsKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChk
ZXNjICYmIGRlc2MuZ2V0KQotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1
cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlc2MuZ2V0LmNhbGwodyk7IH0sICJBY2Nlc3Npbmcg
cHJvcGVydHkgJyIgKyBjcm9zc09yaWdpblByb3BlcnR5TmFtZSArICInIG9uIFdpbmRvdyBzaG91
bGQgdGhyb3cgKHVzaW5nIGdldHRlciBmcm9tIG90aGVyIHdpbmRvdykiKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgICAgICBpZiAoaGVhZGVyVmFsdWUgPT0gImFsbG93LXBvc3RtZXNz
YWdlIikgewotICAgICAgICAgICAgYXNzZXJ0X25vdF90aHJvd2luZyhmdW5jdGlvbigpIHsgdy5w
b3N0TWVzc2FnZSgndGVzdCcsICcqJyk7IH0sICJDYWxsaW5nIHBvc3RNZXNzYWdlKCkgb24gV2lu
ZG93IHNob3VsZCBub3QgdGhyb3ciKTsKLSAgICAgICAgICAgIGFzc2VydF9ub3RfdGhyb3dpbmco
ZnVuY3Rpb24oKSB7IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAncG9z
dE1lc3NhZ2UnKS52YWx1ZS5jYWxsKHcsICd0ZXN0JywgJyonKTsgfSwgIkNhbGxpbmcgcG9zdE1l
c3NhZ2UoKSBvbiBXaW5kb3cgc2hvdWxkIG5vdCB0aHJvdyAodXNpbmcgZ2V0dGVyIGZyb20gb3Ro
ZXIgd2luZG93KSIpOwotICAgICAgICB9Ci0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhP
YmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3KS5zb3J0KCksIGhlYWRlclZhbHVlID09ICJhbGxv
dy1wb3N0bWVzc2FnZSIgPyBbJ3Bvc3RNZXNzYWdlJ10gOiBbXSwgIk9iamVjdC5nZXRPd25Qcm9w
ZXJ0eU5hbWVzKCkiKTsKLQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3KS5zb3J0KCksIGNyb3NzT3Jp
Z2luUHJvcGVydHlOYW1lcy5zb3J0KCksICJPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcygpIik7
Ci0gICAgY2hlY2tDcm9zc09yaWdpblByb3BlcnRpZXNBY2Nlc3Modyk7Ci19CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1w
b3N0bWVzc2FnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmln
aW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2FnZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTNjNmJlN2ZjYWIxMDk5YmQ4MmE1YTA4NTgzMzNmYWVjNmRmZDgzZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2Fs
bG93LXBvc3RtZXNzYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworCitQQVNTIHBv
c3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2lu
ZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIAorUEFTUyBwb3N0TWVz
c2FnZSgpIG9uIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBv
bGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVz
c2FnZS1mcm9tLWRlbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mt
b3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MTJjOTY4YTY5NzdiOWMxMzNhNDkwN2UwNzNmYzFmZjAzYjExMzFi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdp
bmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKKworCitQQVNTIHBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2luIGlmcmFt
ZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIGJ1
dCBjdXJyZW50IHdpbmRvdyBoYXMgJ2RlbnknIG9wdGlvbiAKK1BBU1MgcG9zdE1lc3NhZ2UoKSBv
biBDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFs
bG93LXBvc3RtZXNzYWdlJyBidXQgY3VycmVudCB3aW5kb3cgaGFzICdkZW55JyBvcHRpb24gCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9s
aWN5L2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYmY1ZmI0YjUyMDU2MGM3NTM4NDM2YmIwZGFkYzg4MGJjMGExYTUx
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5L2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1sCkBAIC0wLDAgKzEs
MzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5UZXN0cyBjYWxsaW5nIHBvc3RNZXNzYWdlKCkgb24gYSB3aW5kb3cgd2l0
aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBmcm9tIGEg
d2luZG93IHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55JzwvdGl0bGU+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9n
ZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKKyAgICByZXR1cm4gd2l0aElmcmFtZSgiY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3ktYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sIiwgdHJ1ZSAvKiBpc0Ny
b3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7CisgICAgICAgIGFzc2VydF90aHJvd3MoIlNlY3Vy
aXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZi5jb250ZW50V2luZG93Lmxlbmd0aCB9LCAibGVuZ3Ro
IHByb3BlcnR5IGFjY2VzcyIpOworICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9y
IiwgZnVuY3Rpb24oKSB7IGYuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgiUElORyIsICIqIik7
IH0sICJDYWxsaW5nIHBvc3RNZXNzYWdlKCkgc2hvdWxkIHRocm93Iik7CisgICAgfSk7Cit9LCAi
cG9zdE1lc3NhZ2UoKSBvbiBDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1X
aW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgYnV0IGN1cnJlbnQgd2luZG93IGhhcyAn
ZGVueScgb3B0aW9uIik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0
dXJuIHdpdGhQb3B1cCgiY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktYWxsb3ctcG9zdG1lc3Nh
Z2UtcG9uZy5odG1sIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+
IHsKKyAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBy
ZXN1bHQud2luZG93Lmxlbmd0aCB9LCAibGVuZ3RoIHByb3BlcnR5IGFjY2VzcyIpOworICAgICAg
ICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IHJlc3VsdC53aW5k
b3cucG9zdE1lc3NhZ2UoIlBJTkciLCAiKiIpOyB9LCAiQ2FsbGluZyBwb3N0TWVzc2FnZSgpIHNo
b3VsZCB0aHJvdyIpOworICAgIH0pOworfSwgInBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2lu
IHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2Fn
ZScgYnV0IGN1cnJlbnQgd2luZG93IGhhcyAnZGVueScgb3B0aW9uIik7CisKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mt
b3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55Lmh0bWwuaGVh
ZGVycyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2Fs
bG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1sLmhlYWRlcnMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmEyZDI1
NmUyNmJhYWUxZjBkZTA5ZWFiZjQyMDJmNTdhZTJhNTA3MwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93LXBvc3Rt
ZXNzYWdlLWZyb20tZGVueS5odG1sLmhlYWRlcnMKQEAgLTAsMCArMSBAQAorQ3Jvc3MtT3JpZ2lu
LVdpbmRvdy1Qb2xpY3k6IGRlbnkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Ny
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93LXBvc3RtZXNzYWdlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2Fn
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmNjNWE1Njg3NmIwYWU0ZWY3NDI3ZTA3MzY0NmQ1M2E3YmE4MTI1
YjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4t
d2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2FnZS5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5UZXN0cyB0aGF0IHBvc3RNZXNzYWdlKCkgd29ya3Mgd2hlbiAnQ3Jvc3MtT3JpZ2luLVdp
bmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBIVFRQIGhlYWRlciBpcyBzZXJ2ZWQ8L3Rp
dGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9j
b21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK3By
b21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhJZnJhbWUoImNyb3Nz
LW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbCIsIHRydWUg
LyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4geworICAgICAgICByZXR1cm4gbmV3IFBy
b21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAobXNn
KSA9PiB7CisgICAgICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IG51bGw7CisgICAgICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhtc2cuZGF0YSwgIlBPTkciKTsKKyAgICAgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKG1zZy5zb3VyY2UsIGYuY29udGVudFdpbmRvdyk7CisgICAgICAgICAg
ICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIGFzc2VydF90aHJv
d3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZi5jb250ZW50V2luZG93Lmxlbmd0aCB9
LCAibGVuZ3RoIHByb3BlcnR5IGFjY2VzcyIpOworICAgICAgICAgICAgZi5jb250ZW50V2luZG93
LnBvc3RNZXNzYWdlKCJQSU5HIiwgIioiKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9LCAicG9z
dE1lc3NhZ2UoKSBvbiBDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5k
b3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIiKTsKKworcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKKyAgICByZXR1cm4gd2l0aFBvcHVwKCJjcm9zcy1vcmlnaW4t
d2luZG93LXBvbGljeS1hbGxvdy1wb3N0bWVzc2FnZS1wb25nLmh0bWwiLCB0cnVlIC8qIGlzQ3Jv
c3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICByZXR1cm4gbmV3IFByb21p
c2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAobXNnKSA9
PiB7CisgICAgICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IG51bGw7CisgICAgICAgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhtc2cuZGF0YSwgIlBPTkciKTsKKyAgICAgICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKG1zZy5zb3VyY2UsIHJlc3VsdC53aW5kb3cpOworICAgICAgICAgICAgICAg
IHJlc29sdmUoKTsKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJT
ZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IHJlc3VsdC53aW5kb3cubGVuZ3RoIH0sICJsZW5n
dGggcHJvcGVydHkgYWNjZXNzIik7CisgICAgICAgICAgICByZXN1bHQud2luZG93LnBvc3RNZXNz
YWdlKCJQSU5HIiwgIioiKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9LCAicG9zdE1lc3NhZ2Uo
KSBvbiBDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6
IGFsbG93LXBvc3RtZXNzYWdlJyBIVFRQIGhlYWRlciIpOworCis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9jcm9z
cy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0
YThkMTFkMzc1NDg5M2Y2Y2RjZTBhZDgyMTZiYzFhY2U2OTE4NzAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9jcm9zcy1v
cmlnaW4td2luZG93LXBvbGljeS1oZWFkZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAK
KyAgCisKK1BBU1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93
LVBvbGljeTogZGVueScgSFRUUCBoZWFkZXIgCitQQVNTIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0
aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBIVFRQIGhl
YWRlciAKK1BBU1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93
LVBvbGljeTogYWxMb1ctcG9zdE1lc3NBZ0UnIEhUVFAgaGVhZGVyIChtaXhlZCBjYXNlKSAKK1BB
U1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTog
ZGVueSxhbGxvdycgSFRUUCBoZWFkZXIgKG11bHRpcGxlIHZhbHVlcyBpcyBpbnZhbGlkKSAKK1BB
U1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTon
IEhUVFAgaGVhZGVyIChlbXB0eSB2YWx1ZSkgCitQQVNTIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0
aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBIVFRQIGhlYWRlciAKK1BBU1Mg
Q3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogaW52
YWxpZCcgSFRUUCBoZWFkZXIgCitQQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1P
cmlnaW4tV2luZG93LVBvbGljeTogZGVueScgSFRUUCBoZWFkZXIgCitQQVNTIFNhbWUtb3JpZ2lu
IGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3Nh
Z2UnIEhUVFAgaGVhZGVyIAorUEFTUyBTYW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3Jp
Z2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBIVFRQIGhlYWRlciAKK1BBU1MgU2FtZS1vcmlnaW4g
aWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBpbnZhbGlkJyBIVFRQIGhl
YWRlciAKK1BBU1MgQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ct
UG9saWN5OiBkZW55JyBIVFRQIGhlYWRlciAKK1BBU1MgQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGgg
J0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFk
ZXIgCitQQVNTIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBv
bGljeTogYWxsb3cnIEhUVFAgaGVhZGVyIAorUEFTUyBDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAn
Q3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGludmFsaWQnIEhUVFAgaGVhZGVyIAorUEFTUyBT
YW1lLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogZGVueScg
SFRUUCBoZWFkZXIgCitQQVNTIFNhbWUtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1X
aW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIgCitQQVNTIFNhbWUt
b3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdycgSFRU
UCBoZWFkZXIgCitQQVNTIFNhbWUtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5k
b3ctUG9saWN5OiBpbnZhbGlkJyBIVFRQIGhlYWRlciAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvY3Jvc3Mtb3JpZ2luLXdpbmRv
dy1wb2xpY3ktaGVhZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4t
d2luZG93LXBvbGljeS9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iMmI3YTM3ZjM5NmQ1NDJkYjM5MWQ2OWE5MTA3NmY4NjY1OGRjMDA5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xp
Y3kvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLmh0bWwKQEAgLTAsMCArMSwxOTgg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5CYXNpYyB0ZXN0aW5nIGZvciBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBI
VFRQIGhlYWRlcjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdD4KKworLy8gVGVzdCBmcmFtZSBoYXMgYSBzdWJmcmFtZSBzbyB3ZSBleHBlY3QgYW4g
aW5kZXhlZCBwcm9wZXJ0eSB3aXRoIGluZGV4IDAuCitjcm9zc09yaWdpblByb3BlcnR5TmFtZXMu
cHVzaCgnMCcpOworCitmdW5jdGlvbiBjaGVja0lmcmFtZVByb3BlcnR5VmFsdWVzKHcpCit7Cisg
ICAgYXNzZXJ0X2VxdWFscyh3LnBhcmVudCwgd2luZG93LCAiJ3BhcmVudCcgcHJvcGVydHkgdmFs
dWUiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHcudG9wLCB3aW5kb3csICIndG9wJyBwcm9wZXJ0eSB2
YWx1ZSIpOworICAgIGFzc2VydF9lcXVhbHMody5vcGVuZXIsIG51bGwsICInb3BlbmVyJyBwcm9w
ZXJ0eSB2YWx1ZSIpOworICAgIGFzc2VydF9lcXVhbHMody5sZW5ndGgsIDEsICInbGVuZ3RoJyBw
cm9wZXJ0eSB2YWx1ZSIpOworICAgIGFzc2VydF9ub3RfdGhyb3dpbmcoZnVuY3Rpb24oKSB7IHdb
MF07IH0sICJTdWJmcmFtZSBhY2Nlc3MgdmlhIGluZGV4Iik7CisgICAgYXNzZXJ0X2VxdWFscyh3
WydzdWJmcmFtZSddLCB3WzBdLCAiU3ViZnJhbWUgYWNjZXNzIGJ5IG5hbWUiKTsKK30KKworZnVu
Y3Rpb24gY2hlY2tQb3B1cFByb3BlcnR5VmFsdWVzKHcpCit7CisgICAgYXNzZXJ0X2VxdWFscyh3
LnBhcmVudCwgdywgIidwYXJlbnQnIHByb3BlcnR5IHZhbHVlIik7CisgICAgYXNzZXJ0X2VxdWFs
cyh3LnRvcCwgdywgIid0b3AnIHByb3BlcnR5IHZhbHVlIik7CisgICAgYXNzZXJ0X2VxdWFscyh3
Lm9wZW5lciwgd2luZG93LCAiJ29wZW5lcicgcHJvcGVydHkgdmFsdWUiKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHcubGVuZ3RoLCAxLCAiJ2xlbmd0aCcgcHJvcGVydHkgdmFsdWUiKTsKKyAgICBhc3Nl
cnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3WzBdOyB9LCAiU3ViZnJhbWUgYWNjZXNzIHZp
YSBpbmRleCIpOworICAgIGFzc2VydF9lcXVhbHMod1snc3ViZnJhbWUnXSwgd1swXSwgIlN1YmZy
YW1lIGFjY2VzcyBieSBuYW1lIik7Cit9CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7
CisgICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5
LWhlYWRlci5weT92YWx1ZT1kZW55IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChm
KSA9PiB7CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbihmLmNvbnRlbnRXaW5kb3csICJk
ZW55IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKKyAgICB9KTsKK30sICJDcm9zcy1vcmln
aW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55JyBIVFRQIGhl
YWRlciIpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRo
SWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9
YWxsb3ctcG9zdG1lc3NhZ2UiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+
IHsKKyAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKGYuY29udGVudFdpbmRvdywgImFsbG93
LXBvc3RtZXNzYWdlIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKKyAgICB9KTsKK30sICJD
cm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxv
dy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIiKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRl
c3QpIHsKKyAgICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWFsTG9XLXBvc3RNZXNzQWdFIiwgdHJ1ZSAvKiBpc0Nyb3Nz
T3JpZ2luICovKS50aGVuKChmKSA9PiB7CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbihm
LmNvbnRlbnRXaW5kb3csICJhbGxvdy1wb3N0bWVzc2FnZSIsIHRydWUgLyogaXNDcm9zc09yaWdp
biAqLyk7CisgICAgfSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1Pcmln
aW4tV2luZG93LVBvbGljeTogYWxMb1ctcG9zdE1lc3NBZ0UnIEhUVFAgaGVhZGVyIChtaXhlZCBj
YXNlKSIpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRo
SWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9
ZGVueSxhbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4geworICAg
ICAgICBjb25zdCB3ID0gZi5jb250ZW50V2luZG93OworICAgICAgICAvLyBJbnZhbGlkIGlucHV0
OiBzaG91bGQgYmUgdHJlYXRlZCBhcyAiYWxsb3ciLgorICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5P
cHRpb24odywgImFsbG93IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKKworICAgICAgICBj
aGVja0lmcmFtZVByb3BlcnR5VmFsdWVzKHcpOworICAgIH0pOworfSwgIkNyb3NzLW9yaWdpbiBp
ZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnksYWxsb3cnIEhUVFAg
aGVhZGVyIChtdWx0aXBsZSB2YWx1ZXMgaXMgaW52YWxpZCkiKTsKKworcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHRlc3QpIHsKKyAgICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAq
LykudGhlbigoZikgPT4geworICAgICAgICBjb25zdCB3ID0gZi5jb250ZW50V2luZG93OworICAg
ICAgICAvLyBFbXB0eSB2YWx1ZTogc2hvdWxkIGJlIHRyZWF0ZWQgYXMgImFsbG93Ii4KKyAgICAg
ICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdp
biAqLyk7CisKKyAgICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsK
K30sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5
OicgSFRUUCBoZWFkZXIgKGVtcHR5IHZhbHVlKSIpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dGVzdCkgeworICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93
LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9YWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8p
LnRoZW4oKGYpID0+IHsKKyAgICAgICAgY29uc3QgdyA9IGYuY29udGVudFdpbmRvdzsKKyAgICAg
ICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdp
biAqLyk7CisKKyAgICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsK
K30sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5
OiBhbGxvdycgSFRUUCBoZWFkZXIiKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsK
KyAgICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kt
aGVhZGVyLnB5P3ZhbHVlPWludmFsaWQiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4o
KGYpID0+IHsKKyAgICAgICAgY29uc3QgdyA9IGYuY29udGVudFdpbmRvdzsKKyAgICAgICAgdGVz
dENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7
CisgICAgICAgIAorICAgICAgICBjaGVja0lmcmFtZVByb3BlcnR5VmFsdWVzKHcpOworICAgIH0p
OworfSwgIkNyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xp
Y3k6IGludmFsaWQnIEhUVFAgaGVhZGVyIik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0
KSB7CisgICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi13aW5kb3ctcG9s
aWN5LWhlYWRlci5weT92YWx1ZT1kZW55IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhl
bigoZikgPT4geworICAgICAgICAgY29uc3QgdyA9IGYuY29udGVudFdpbmRvdzsKKyAgICAgICAg
dGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJkZW55IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAq
Lyk7CisKKyAgICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0eVZhbHVlcyh3KTsKKyAgICB9KTsKK30s
ICJTYW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRl
bnknIEhUVFAgaGVhZGVyIik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAg
cmV0dXJuIHdpdGhJZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRl
ci5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8p
LnRoZW4oKGYpID0+IHsKKyAgICAgICAgIGNvbnN0IHcgPSBmLmNvbnRlbnRXaW5kb3c7CisgICAg
ICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ctcG9zdG1lc3NhZ2UiLCBmYWxzZSAv
KiBpc0Nyb3NzT3JpZ2luICovKTsKKworICAgICAgICBjaGVja0lmcmFtZVByb3BlcnR5VmFsdWVz
KHcpOworICAgIH0pOworfSwgIlNhbWUtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4t
V2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIik7CisKK3Byb21p
c2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZlLWNy
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1hbGxvdyIsIGZhbHNlIC8q
IGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKKyAgICAgICAgIGNvbnN0IHcgPSBmLmNv
bnRlbnRXaW5kb3c7CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCBm
YWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKKworICAgICAgICBjaGVja0lmcmFtZVByb3BlcnR5
VmFsdWVzKHcpOworICAgIH0pOworfSwgIlNhbWUtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1P
cmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIEhUVFAgaGVhZGVyIik7CisKK3Byb21pc2VfdGVz
dChmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZlLWNyb3NzLW9y
aWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1pbnZhbGlkIiwgZmFsc2UgLyogaXND
cm9zc09yaWdpbiAqLykudGhlbigoZikgPT4geworICAgICAgICAgY29uc3QgdyA9IGYuY29udGVu
dFdpbmRvdzsKKyAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIGZhbHNl
IC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOworCisgICAgICAgIGNoZWNrSWZyYW1lUHJvcGVydHlWYWx1
ZXModyk7CisgICAgfSk7Cit9LCAiU2FtZS1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdp
bi1XaW5kb3ctUG9saWN5OiBpbnZhbGlkJyBIVFRQIGhlYWRlciIpOworCitwcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiB3aXRoUG9wdXAoInNlcnZlLWNyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1kZW55IiwgdHJ1ZSAvKiBpc0Nyb3NzT3Jp
Z2luICovKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9u
KHJlc3VsdC53aW5kb3csICJkZW55IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKKyAgICB9
KTsKK30sICJDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xp
Y3k6IGRlbnknIEhUVFAgaGVhZGVyIik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7
CisgICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kt
aGVhZGVyLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2lu
ICovKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHJl
c3VsdC53aW5kb3csICJhbGxvdy1wb3N0bWVzc2FnZSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAq
Lyk7CisgICAgfSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1X
aW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIiKTsKKworcHJvbWlz
ZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKKyAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9z
cy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9YWxsb3ciLCB0cnVlIC8qIGlz
Q3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICBjb25zdCB3ID0gcmVz
dWx0LndpbmRvdzsKKyAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIHRy
dWUgLyogaXNDcm9zc09yaWdpbiAqLyk7CisKKyAgICAgICAgY2hlY2tQb3B1cFByb3BlcnR5VmFs
dWVzKHcpOworICAgIH0pOworfSwgIkNyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1Pcmln
aW4tV2luZG93LVBvbGljeTogYWxsb3cnIEhUVFAgaGVhZGVyIik7CisKK3Byb21pc2VfdGVzdChm
dW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWludmFsaWQiLCB0cnVlIC8qIGlzQ3Jvc3NP
cmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICBjb25zdCB3ID0gcmVzdWx0Lndp
bmRvdzsKKyAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIHRydWUgLyog
aXNDcm9zc09yaWdpbiAqLyk7CisKKyAgICAgICAgY2hlY2tQb3B1cFByb3BlcnR5VmFsdWVzKHcp
OworICAgIH0pOworfSwgIkNyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2lu
ZG93LVBvbGljeTogaW52YWxpZCcgSFRUUCBoZWFkZXIiKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0
aW9uKHRlc3QpIHsKKyAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2lu
ZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9ZGVueSIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4g
Ki8pLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICAgY29uc3QgdyA9IHJlc3VsdC53aW5kb3c7
CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiZGVueSIsIGZhbHNlIC8qIGlzQ3Jv
c3NPcmlnaW4gKi8pOworCisgICAgICAgIGNoZWNrUG9wdXBQcm9wZXJ0eVZhbHVlcyh3KTsKKyAg
ICB9KTsKK30sICJTYW1lLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBv
bGljeTogZGVueScgSFRUUCBoZWFkZXIiKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3Qp
IHsKKyAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGlj
eS1oZWFkZXIucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UiLCBmYWxzZSAvKiBpc0Nyb3NzT3Jp
Z2luICovKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAgIGNvbnN0IHcgPSByZXN1bHQud2lu
ZG93OworICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgImFsbG93LXBvc3RtZXNzYWdl
IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7CisKKyAgICAgICAgY2hlY2tQb3B1cFByb3Bl
cnR5VmFsdWVzKHcpOworICAgIH0pOworfSwgIlNhbWUtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3Nz
LU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIiKTsK
KworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKKyAgICByZXR1cm4gd2l0aFBvcHVwKCJz
ZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9YWxsb3ciLCBm
YWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAgIGNv
bnN0IHcgPSByZXN1bHQud2luZG93OworICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywg
ImFsbG93IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7CisKKyAgICAgICAgY2hlY2tQb3B1
cFByb3BlcnR5VmFsdWVzKHcpOworICAgIH0pOworfSwgIlNhbWUtb3JpZ2luIHBvcHVwIHdpdGgg
J0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdycgSFRUUCBoZWFkZXIiKTsKKworcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKKyAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1j
cm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9aW52YWxpZCIsIGZhbHNl
IC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICAgY29uc3Qg
dyA9IHJlc3VsdC53aW5kb3c7CisgICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxs
b3ciLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKKworICAgICAgICBjaGVja1BvcHVwUHJv
cGVydHlWYWx1ZXModyk7CisgICAgfSk7Cit9LCAiU2FtZS1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jv
c3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGludmFsaWQnIEhUVFAgaGVhZGVyIik7CisKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9tLW9wZW5lci12aWEtb3Bl
bi10YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9tLW9wZW5lci12aWEtb3Blbi10YXJnZXQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlOWM4NGY5OGFlOGUzMGEzZGQwMzM2MzZhMTJmZTNmMGMz
ZGY5NTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmln
aW4td2luZG93LXBvbGljeS9uYXZpZ2F0aW9uLWZyb20tb3BlbmVyLXZpYS1vcGVuLXRhcmdldC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IFVu
c2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUg
d2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRv
dy1wb2xpY3kvcmVzb3VyY2VzL3NlcnZlLWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRl
ci5weT92YWx1ZT1kZW55JyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4
MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1vcGVu
ZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWwnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUg
dG8gQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgNDQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlv
biBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mt
b3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL3NlcnZlLWNyb3NzLW9yaWdpbi13aW5kb3ct
cG9saWN5LWhlYWRlci5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZScgZnJvbSBmcmFtZSB3aXRo
IFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBv
bGljeS9uYXZpZ2F0aW9uLWZyb20tb3BlbmVyLXZpYS1vcGVuLXRhcmdldC5odG1sJy4gTmF2aWdh
dGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhl
YWRlci4KKworCitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogZGVueScgcHJldmVu
dHMgbmF2aWdhdGlvbiBmcm9tIG9wZW5lciB2aWEgb3BlbigpIHRhcmdldCAKK1BBU1MgJ0Nyb3Nz
LU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMgbmF2aWdh
dGlvbiBmcm9tIG9wZW5lciB2aWEgb3BlbigpIHRhcmdldCAKK1BBU1MgJ0Nyb3NzLU9yaWdpbi1X
aW5kb3ctUG9saWN5OiBhbGxvdycgZG9lcyBub3QgcHJldmVudCBuYXZpZ2F0aW9uIGZyb20gb3Bl
bmVyIHZpYSBvcGVuKCkgdGFyZ2V0IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9uYXZpZ2F0aW9uLWZyb20tb3BlbmVyLXZpYS1v
cGVuLXRhcmdldC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRv
dy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9tLW9wZW5lci12aWEtb3Blbi10YXJnZXQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yYTc5MThiNjk4Njg1ZmUyYzg1MjliYmM4ZmRlMjUzMzhmNmQ5ZmEwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xp
Y3kvbmF2aWdhdGlvbi1mcm9tLW9wZW5lci12aWEtb3Blbi10YXJnZXQuaHRtbApAQCAtMCwwICsx
LDczIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+VGVzdHMgdGhhdCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRl
bnkgLyBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMgYSBjcm9zcy1vcmlnaW4gb3BlbmVyIGZy
b20gbmF2aWdhdGluZyB1czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdD4KKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIHJldHVybiB3aXRoUG9w
dXAoInNlcnZlLWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1kZW55
IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovLCAiZm9vMSIpLnRoZW4oKHJlc3VsdCkgPT4gewor
ICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgICAgIHdp
bmRvdy5vbm1lc3NhZ2UgPSAobXNnKSA9PiB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X25vdF9l
cXVhbHMobXNnLnNvdXJjZSwgcmVzdWx0LndpbmRvdywgIkV4aXN0aW5nIHdpbmRvdyBzaG91bGQg
bm90IG5hdmlnYXRlIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGxldCBkZXN0aW5h
dGlvblVSTCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX09SSUdJTiArICIvV2ViS2l0L2Nyb3NzLW9y
aWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1sIjsKKyAgICAgICAg
ICAgIHcgPSBvcGVuKGRlc3RpbmF0aW9uVVJMLCAiZm9vMSIpOworICAgICAgICAgICAgLy8gSWYg
YSB3aW5kb3cgd2l0aCB0aGUgZ2l2ZW4gbmFtZSBpcyBmb3VuZCBidXQgY2Fubm90IGJlIG5hdmln
YXRlZCwgYSBuZXcgb25lIGlzIGNyZWF0ZWQsIGFzIGlmIHdlIGNvdWxkCisgICAgICAgICAgICAv
LyBub3QgZmluZCB0aGUgZ2l2ZW4gd2luZG93LgorICAgICAgICAgICAgYXNzZXJ0X25vdF9lcXVh
bHModywgcmVzdWx0LndpbmRvdywgIm9wZW4oKSBzaG91bGQgYSBuZXcgd2luZG93Iik7CisKKyAg
ICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgICAgIHdpbmRvdy5v
bm1lc3NhZ2UgPSBudWxsOworICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAg
fSwgMjAwKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9LCAiJ0Nyb3NzLU9yaWdpbi1XaW5kb3ct
UG9saWN5OiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gb3BlbmVyIHZpYSBvcGVuKCkg
dGFyZ2V0Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICByZXR1cm4gd2l0aFBvcHVwKCJz
ZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9YWxsb3ctcG9z
dG1lc3NhZ2UiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8sICJmb28yIikudGhlbigocmVzdWx0
KSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAg
ICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IChtc2cpID0+IHsKKyAgICAgICAgICAgICAgICBhc3Nl
cnRfbm90X2VxdWFscyhtc2cuc291cmNlLCByZXN1bHQud2luZG93LCAiRXhpc3Rpbmcgd2luZG93
IHNob3VsZCBub3QgbmF2aWdhdGUiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbGV0
IGRlc3RpbmF0aW9uVVJMID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBfT1JJR0lOICsgIi9XZWJLaXQv
Y3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Rlc3RpbmF0aW9uLmh0bWwiOwor
ICAgICAgICAgICAgdyA9IG9wZW4oZGVzdGluYXRpb25VUkwsICJmb28yIik7CisgICAgICAgICAg
ICAvLyBJZiBhIHdpbmRvdyB3aXRoIHRoZSBnaXZlbiBuYW1lIGlzIGZvdW5kIGJ1dCBjYW5ub3Qg
YmUgbmF2aWdhdGVkLCBhIG5ldyBvbmUgaXMgY3JlYXRlZCwgYXMgaWYgd2UgY291bGQKKyAgICAg
ICAgICAgIC8vIG5vdCBmaW5kIHRoZSBnaXZlbiB3aW5kb3cuCisgICAgICAgICAgICBhc3NlcnRf
bm90X2VxdWFscyh3LCByZXN1bHQud2luZG93LCAib3BlbigpIHNob3VsZCBhIG5ldyB3aW5kb3ci
KTsKKworICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgICAgICAgICAg
d2luZG93Lm9ubWVzc2FnZSA9IG51bGw7CisgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAg
ICAgICAgICB9LCAyMDApOworICAgICAgICB9KTsKKyAgICB9KTsKK30sICInQ3Jvc3MtT3JpZ2lu
LVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZy
b20gb3BlbmVyIHZpYSBvcGVuKCkgdGFyZ2V0Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
ICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFk
ZXIucHk/dmFsdWU9YWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8sICJmb28zIikudGhl
bigocmVzdWx0KSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4g
eworICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9ICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGxldCBkZXN0aW5hdGlvblVSTCA9IGdldF9ob3N0
X2luZm8oKS5IVFRQX09SSUdJTiArICIvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5
L3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1sIjsKKyAgICAgICAgICAgIHcgPSBvcGVuKGRlc3Rp
bmF0aW9uVVJMLCAiZm9vMyIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh3LCByZXN1bHQu
d2luZG93LCAib3BlbigpIHNob3VsZCByZXR1cm4gdGhlIHNhbWUgd2luZG93Iik7CisgICAgICAg
IH0pOworICAgIH0pOworfSwgIidDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIGRv
ZXMgbm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIG9wZW5lciB2aWEgb3BlbigpIHRhcmdldCIp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9uYXZpZ2F0aW9uLWZyb20tc3ViZnJh
bWUtdmlhLWFuY2hvci10YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLXZpYS1h
bmNob3ItdGFyZ2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNjk5Mjc4ZTAxZDVlMTBhMjI3
M2UwYmJhNDQxOGY3ZWRhMGE1ZjZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1l
LXZpYS1hbmNob3ItdGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUg
bmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJL
aXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1z
dWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1fdG9wJyBmcm9tIGZyYW1lIHdpdGgg
VVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9s
aWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fdG9w
Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ct
UG9saWN5IGhlYWRlci4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNj
cmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jl
c291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJn
ZXQ9X3RvcCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktp
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZp
YS1hbmNob3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1
ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0
aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9z
cy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1l
LWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fdG9wJyBmcm9tIGZyYW1l
IHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5k
b3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3Rhcmdl
dD1fdG9wJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1X
aW5kb3ctUG9saWN5IGhlYWRlci4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUg
SmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGgg
VVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9s
aWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxs
b3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PV90b3AnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8x
MjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2Vz
L25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV90b3AnLiBOYXZpZ2F0aW9u
IHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kgaGVhZGVy
LgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQg
dG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhv
c3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmln
YXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1fcGFyZW50JyBm
cm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9y
aWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5o
dG1sP3RhcmdldD1fcGFyZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENy
b3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9y
IGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUu
cHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDov
LzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJj
ZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5hdmln
YXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBo
ZWFkZXIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0
ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMv
bmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdl
JnRhcmdldD1fcGFyZW50JyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4
MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1w
YXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fcGFyZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90
IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4KKworQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRp
YXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAv
V2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZy
b20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PV9wYXJl
bnQnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jv
c3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5j
aG9yLmh0bWw/dGFyZ2V0PV9wYXJlbnQnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUg
dG8gQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlv
biBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mt
b3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1m
cmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1mb28xJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRw
Oi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291
cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1mb28xJy4gTmF2aWdh
dGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhl
YWRlci4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRl
bXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9j
YWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9u
YXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9Zm9vMScg
ZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1v
cmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3Iu
aHRtbD90YXJnZXQ9Zm9vMScuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9z
cy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAx
NDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBm
cmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4t
d2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5
P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1mb28yJyBmcm9tIGZyYW1lIHdpdGggVVJM
ICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5
L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1mb28yJy4g
TmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9s
aWN5IGhlYWRlci4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlw
dCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRw
Oi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291
cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1l
c3NhZ2UmdGFyZ2V0PWZvbzInIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6
ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRl
LXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PWZvbzInLiBOYXZpZ2F0aW9uIHdhcyBub3Qg
YWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kgaGVhZGVyLgorCisKK1BB
U1MgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9u
IGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV90b3A+KSAKK1BB
U1MgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVu
dHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdl
dD1fdG9wPikgCitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIGRvZXMg
bm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5n
IDxhIHRhcmdldD1fdG9wPikgCitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogZGVu
eScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5n
IDxhIHRhcmdldD1fcGFyZW50PikgCitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTog
YWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4g
c3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3BhcmVudD4pIAorUEFTUyAnQ3Jvc3MtT3JpZ2lu
LVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBj
cm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3BhcmVudD4pIAorUEFTUyAn
Q3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJv
bSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZSkgCitQ
QVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZl
bnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJn
ZXQ9d2luZG93TmFtZSkgCitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cn
IGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUg
KHVzaW5nIDxhIHRhcmdldD13aW5kb3dOYW1lPikgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJm
cmFtZS12aWEtYW5jaG9yLXRhcmdldC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mt
b3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLXZpYS1hbmNob3It
dGFyZ2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2M5ZjAxYThjYmIwOWEzODBkMmZjNjE4OTFjMjcwNDVk
YTk3OTdjOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9y
aWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRh
cmdldC5odG1sCkBAIC0wLDAgKzEsMTE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgdGhhdCAnQ3Jvc3MtT3Jp
Z2luLVdpbmRvdy1Qb2xpY3k6IGRlbnkgLyBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMgYSBj
cm9zcy1vcmlnaW4gaWZyYW1lIGZyb20gbmF2aWdhdGluZyB1czwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2Nv
bW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1p
bmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5w
eT92YWx1ZT1kZW55JnRhcmdldD1fdG9wIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhl
bigocmVzdWx0KSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4g
eworICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IHQudW5yZWFjaGVkX2Z1bmMoIlNob3Vs
ZCBub3QgaGF2ZSBuYXZpZ2F0ZWQiKTsKKyAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+
IHsKKyAgICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxsOworICAgICAgICAgICAg
ICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfSwgMjAwKTsKKyAgICAgICAgfSk7CisgICAgfSk7
Cit9LCAiJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0
aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV90b3A+KSIp
OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgcmV0dXJuIHdpdGhQb3B1cCgibmF2aWdhdGlv
bi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1f
dG9wIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7CisgICAg
ICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICAgICAgd2luZG93
Lm9ubWVzc2FnZSA9IHQudW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBub3QgaGF2ZSBuYXZpZ2F0ZWQi
KTsKKyAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgICAgIHdp
bmRvdy5vbm1lc3NhZ2UgPSBudWxsOworICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAg
ICAgICAgfSwgMjAwKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9LCAiJ0Nyb3NzLU9yaWdpbi1X
aW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9t
IGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fdG9wPikiKTsKKworcHJv
bWlzZV90ZXN0KHQgPT4geworICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1z
dWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdyZ0YXJnZXQ9X3RvcCIsIGZhbHNlIC8qIGlzQ3Jv
c3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICByZXR1cm4gbmV3IFByb21p
c2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAoKSA9PiB7
CisgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfTsKKyAgICAgICAgfSk7
CisgICAgfSk7Cit9LCAiJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdycgZG9lcyBu
b3QgcHJldmVudCBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcg
PGEgdGFyZ2V0PV90b3A+KSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgcmV0dXJuIHdp
dGhQb3B1cCgibmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFy
Z2V0PV9wYXJlbnQiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+
IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgICAg
ICB3aW5kb3cub25tZXNzYWdlID0gdC51bnJlYWNoZWRfZnVuYygiU2hvdWxkIG5vdCBoYXZlIG5h
dmlnYXRlZCIpOworICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgICAg
ICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IG51bGw7CisgICAgICAgICAgICAgICByZXNvbHZlKCk7
CisgICAgICAgICAgICB9LCAyMDApOworICAgICAgICB9KTsKKyAgICB9KTsKK30sICInQ3Jvc3Mt
T3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9z
cy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3BhcmVudD4pIik7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZpZ2F0aW9uLWZyb20tc3Vi
ZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PV9wYXJlbnQiLCBm
YWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAgcmV0
dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgICAgICB3aW5kb3cub25tZXNz
YWdlID0gdC51bnJlYWNoZWRfZnVuYygiU2hvdWxkIG5vdCBoYXZlIG5hdmlnYXRlZCIpOworICAg
ICAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgICAgICAgICAgd2luZG93Lm9u
bWVzc2FnZSA9IG51bGw7CisgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9
LCAyMDApOworICAgICAgICB9KTsKKyAgICB9KTsKK30sICInQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Q
b2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mt
b3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV9wYXJlbnQ+KSIpOworCitwcm9taXNl
X3Rlc3QodCA9PiB7CisgICAgcmV0dXJuIHdpdGhQb3B1cCgibmF2aWdhdGlvbi1mcm9tLXN1YmZy
YW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93JnRhcmdldD1fcGFyZW50IiwgZmFsc2UgLyogaXNDcm9z
c09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSkgPT4geworICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9ICgpID0+IHsK
KyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9OyAKKyAgICAgICAgfSk7
CisgICAgfSk7Cit9LCAiJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdycgZG9lcyBu
b3QgcHJldmVudCBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcg
PGEgdGFyZ2V0PV9wYXJlbnQ+KSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgcmV0dXJu
IHdpdGhQb3B1cCgibmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkm
dGFyZ2V0PWZvbzEiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovLCAiZm9vMSIpLnRoZW4oKHJl
c3VsdCkgPT4geworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAg
ICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSB0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQgbm90
IGhhdmUgbmF2aWdhdGVkIik7CisgICAgICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7Cisg
ICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsKKyAgICAgICAgICAgICAgIHJl
c29sdmUoKTsKKyAgICAgICAgICAgIH0sIDIwMCk7CisgICAgICAgIH0pOworICAgIH0pOyAKK30s
ICInQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24g
ZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZSki
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRp
b24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0YXJnZXQ9
Zm9vMiIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8sICJmb28yIikudGhlbigocmVzdWx0KSA9
PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICAg
ICAgd2luZG93Lm9ubWVzc2FnZSA9IHQudW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBub3QgaGF2ZSBu
YXZpZ2F0ZWQiKTsKKyAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgICAg
ICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxsOworICAgICAgICAgICAgICAgcmVzb2x2ZSgp
OworICAgICAgICAgICAgfSwgMjAwKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9LCAiJ0Nyb3Nz
LU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMgbmF2aWdh
dGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD13aW5kb3dO
YW1lKSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgcmV0dXJuIHdpdGhQb3B1cCgibmF2
aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93JnRhcmdldD1mb28zIiwg
ZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLywgImZvbzMiKS50aGVuKChyZXN1bHQpID0+IHsKKyAg
ICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgICAgICB3aW5k
b3cub25tZXNzYWdlID0gKCkgPT4geworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAg
ICAgICAgIH07CisgICAgICAgIH0pOworICAgIH0pOworfSwgIidDcm9zcy1PcmlnaW4tV2luZG93
LVBvbGljeTogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9y
aWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD13aW5kb3dOYW1lPikiKTsKKworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9j
cm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3ktYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi13aW5kb3ct
cG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YTY3ZGQ3ZjYw
YzE0ZDYyZmNkMTVhNmNhY2VhNjg3YjRkMGY1ODM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Nyb3Nz
LW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3RtZXNzYWdlLXBvbmcuaHRtbApAQCAtMCww
ICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0PgorYWRk
RXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChtc2cpID0+IHsKKyAgICBpZiAoZXZlbnQuZGF0YSA9
PT0gIlBJTkciKQorICAgICAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoIlBPTkciLCAiKiIp
OworICAgIH0pOworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4gewor
ICAgICAgICBjb25zdCBvd25lcldpbmRvdyA9IHdpbmRvdy5vcGVuZXIgPyB3aW5kb3cub3BlbmVy
IDogd2luZG93LnRvcDsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIG93bmVyV2luZG93LnBv
c3RNZXNzYWdlKCJSRUFEWSIsICIqIik7CisgICAgICAgIH0gY2F0Y2ggKGUpIHsgfQorICAgIH0p
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3ktYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sLmhlYWRlcnMgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvY3Jv
c3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sLmhlYWRl
cnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjVlNjhiMmI5MTZmYjAxNTc0MzdhMmJiZjc1MzQwZTY5ZDA5MDBlNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5k
b3ctcG9saWN5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1hbGxvdy1wb3N0
bWVzc2FnZS1wb25nLmh0bWwuaGVhZGVycwpAQCAtMCwwICsxIEBACitDcm9zcy1PcmlnaW4tV2lu
ZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9kZXN0aW5hdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVz
b3VyY2VzL2Rlc3RpbmF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTUxNjg3N2I0NDlhZWNhYmU1Zjgw
ZjFjNGJiYjY4NjAyYmJhMzFlNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1s
CkBAIC0wLDAgKzEsNyBAQAorPGJvZHk+CitERVNUSU5BVElPTgorPHNjcmlwdD4KK2lmICh3aW5k
b3cub3BlbmVyKQorICAgIHdpbmRvdy5vcGVuZXIucG9zdE1lc3NhZ2UoIm5hdmlnYXRlZCIsICIq
Iik7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlh
LWFuY2hvci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjhiYTBhNzMyZWExZTA5MDc3NTYxNTg0OGZmN2NmYzE1YmY2MTExZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jl
c291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dl
dC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGEgaWQ9InRl
c3RBbmNob3IiPkNsaWNrIG1lPC9hPgorPHNjcmlwdD4KK2NvbnN0IFJFU09VUkNFU19ESVIgPSAi
L1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvIjsKK29ubG9hZCA9
ICgpID0+IHsKKyAgICBsZXQgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5z
ZWFyY2gpOworICAgIHRlc3RBbmNob3IudGFyZ2V0PSBwYXJhbXMuZ2V0KCd0YXJnZXQnKQorICAg
IHRlc3RBbmNob3IuaHJlZiA9IGdldF9ob3N0X2luZm8oKS5IVFRQX09SSUdJTiArIFJFU09VUkNF
U19ESVIgKyAiZGVzdGluYXRpb24uaHRtbCI7CisgICAgdGVzdEFuY2hvci5jbGljaygpOworfQor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9t
LXN1YmZyYW1lLWZyYW1lLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdp
bmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMTIxMGUwNmY0YjA2NzEzMDhhMWQwNzg2Zjg1YTJjNWYxM2JiM2ExCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weQpAQCAtMCww
ICsxLDE3IEBACitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgaGVhZGVycyA9IFso
IkNvbnRlbnQtVHlwZSIsICJ0ZXh0L2h0bWwiKSwKKyAgICAgICAgICAgICAgICgiQ3Jvc3MtT3Jp
Z2luLVdpbmRvdy1Qb2xpY3kiLCByZXF1ZXN0LkdFVFsndmFsdWUnXSksXQorICAgIHJldHVybiAy
MDAsIGhlYWRlcnMsICIiIjwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdD4KK2NvbnN0IFJFU09VUkNFU19ESVIgPSAiL1dlYktpdC9jcm9zcy1vcmln
aW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvIjsKK2xldCBmID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaWZyYW1lIik7CitmLnNyYyA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklH
SU4gKyBSRVNPVVJDRVNfRElSICsgIm5hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFy
Z2V0PSVzIjsKK2RvY3VtZW50LmJvZHkucHJlcGVuZChmKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPiIiIiAlIHJlcXVlc3QuR0VUWyd0YXJnZXQnXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL3NlcnZlLWNy
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weSBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9zZXJ2ZS1jcm9zcy1vcmlnaW4t
d2luZG93LXBvbGljeS1oZWFkZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmZlNzAxN2JhMjk1ZWU3YWJkODRk
NzgyMjdiMGMwNzIwOGQwYTcyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9zZXJ2ZS1jcm9zcy1vcmln
aW4td2luZG93LXBvbGljeS1oZWFkZXIucHkKQEAgLTAsMCArMSwxNCBAQAorZGVmIG1haW4ocmVx
dWVzdCwgcmVzcG9uc2UpOgorICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9o
dG1sIiksCisgICAgICAgICAgICAgICAoIkNyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IiwgcmVx
dWVzdC5HRVRbJ3ZhbHVlJ10pLF0KKyAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCAiIiJURVNUCisg
ICAgICAgIDxpZnJhbWUgbmFtZT0ic3ViZnJhbWUiPjwvaWZyYW1lPgorICAgICAgICA8c2NyaXB0
PgorICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgY29uc3Qgb3duZXJXaW5kb3cgPSB3aW5kb3cub3BlbmVyID8gd2luZG93
Lm9wZW5lciA6IHdpbmRvdy50b3A7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgb3duZXJXaW5kb3cucG9zdE1lc3NhZ2UoIlJFQURZIiwgIioiKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChlKSB7IH0KKyAgICAgICAgICAgIH0pOworICAgICAgICA8L3Njcmlw
dD4KKyAgICAiIiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy91dGlscy5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy91dGlscy5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MmJkN2JlODI1Y2MwYzQ4MWYxMzZlNGY5NDI5NWNlMzc0ZmFhZmViCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVz
b3VyY2VzL3V0aWxzLmpzCkBAIC0wLDAgKzEsMTUwIEBACitjb25zdCBSRVNPVVJDRVNfRElSID0g
Ii9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzLyI7CisKK2Z1bmN0
aW9uIGlzQ3Jvc3NPcmlnaW5XaW5kb3codykKK3sKKyAgICB0cnkgeworICAgICAgICB3Lm5hbWU7
CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0
dXJuIGZhbHNlOworfQorCithc3luYyBmdW5jdGlvbiB3YWl0Rm9yQ3Jvc3NPcmlnaW5Mb2FkKHcp
Cit7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgKG1zZykgPT4geworICAgICAgICAgICAgaWYg
KG1zZy5zb3VyY2UgIT0gdyB8fCBtc2cuZGF0YSAhPSAiUkVBRFkiKQorICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAg
bGV0IGhhbmRsZSA9IHNldEludGVydmFsKCgpID0+IHsKKyAgICAgICAgICAgIGlmIChpc0Nyb3Nz
T3JpZ2luV2luZG93KHcpKSB7CisgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChoYW5kbGUp
OworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHcucG9zdE1lc3Nh
Z2U7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICAgICAgICAv
LyBObyBwb2ludCBpbiB3YWl0aW5nIGZvciAiUkVBRFkiIG1lc3NhZ2UgZnJvbSB3aW5kb3cgc2lu
Y2UgcG9zdE1lc3NhZ2UgaXMKKyAgICAgICAgICAgICAgICAgICAgLy8gbm90IGF2YWlsYWJsZS4K
KyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfSwgNSk7CisgICAgfSk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHdp
dGhJZnJhbWUocmVzb3VyY2VGaWxlLCBjcm9zc09yaWdpbikKK3sKKyAgICByZXR1cm4gbmV3IFBy
b21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgbGV0IHJlc291cmNlVVJMID0gY3Jvc3NPcmln
aW4gPyBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOIDogZ2V0X2hvc3RfaW5mbygp
LkhUVFBfT1JJR0lOOworICAgICAgICByZXNvdXJjZVVSTCArPSBSRVNPVVJDRVNfRElSOworICAg
ICAgICByZXNvdXJjZVVSTCArPSByZXNvdXJjZUZpbGU7CisgICAgICAgIGxldCBmcmFtZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICAgICAgICBmcmFtZS5zcmMgPSByZXNv
dXJjZVVSTDsKKyAgICAgICAgaWYgKGNyb3NzT3JpZ2luKSB7CisgICAgICAgICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lKTsKKyAgICAgICAgICAgIHdhaXRGb3JDcm9zc09yaWdp
bkxvYWQoZnJhbWUuY29udGVudFdpbmRvdykudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAg
cmVzb2x2ZShmcmFtZSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgIGZyYW1lLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeyByZXNvbHZlKGZyYW1lKTsgfTsKKyAg
ICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOworICAgICAgICB9Cisg
ICAgfSk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHdpdGhQb3B1cChyZXNvdXJjZUZpbGUsIGNyb3Nz
T3JpZ2luLCB3aW5kb3dOYW1lKQoreworICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkg
PT4geyAKKyAgICAgICAgbGV0IHJlc291cmNlVVJMID0gY3Jvc3NPcmlnaW4gPyBnZXRfaG9zdF9p
bmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOIDogZ2V0X2hvc3RfaW5mbygpLkhUVFBfT1JJR0lOOwor
ICAgICAgICByZXNvdXJjZVVSTCArPSBSRVNPVVJDRVNfRElSOworICAgICAgICByZXNvdXJjZVVS
TCArPSByZXNvdXJjZUZpbGU7CisKKyAgICAgICAgbGV0IHcgPSBvcGVuKHJlc291cmNlVVJMLCB3
aW5kb3dOYW1lKTsKKyAgICAgICAgaWYgKGNyb3NzT3JpZ2luKSB7CisgICAgICAgICAgICB3YWl0
Rm9yQ3Jvc3NPcmlnaW5Mb2FkKHcpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgIHJlc29s
dmUoeyAnd2luZG93JzogdyB9KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsgcmVzb2x2ZSh7ICd3aW5kb3cnOiB3
IH0pOyB9OworICAgICAgICB9CisgICB9KTsKK30KKworY29uc3QgY3Jvc3NPcmlnaW5Qcm9wZXJ0
eU5hbWVzID0gWyAnYmx1cicsICdjbG9zZScsICdjbG9zZWQnLCAnZm9jdXMnLCAnZnJhbWVzJywg
J2xlbmd0aCcsICdsb2NhdGlvbicsICdvcGVuZXInLCAncGFyZW50JywgJ3Bvc3RNZXNzYWdlJywg
J3NlbGYnLCAndG9wJywgJ3dpbmRvdycgXTsKK2NvbnN0IGZvcmJpZGRlblByb3BlcnRpZXNDcm9z
c09yaWdpbiA9IFsibmFtZSIsICJkb2N1bWVudCIsICJoaXN0b3J5IiwgImxvY2F0aW9uYmFyIiwg
InN0YXR1cyIsICJmcmFtZUVsZW1lbnQiLCAibmF2aWdhdG9yIiwgImFsZXJ0IiwgImxvY2FsU3Rv
cmFnZSIsICJzZXNzaW9uU3RvcmFnZSIsICJldmVudCIsICJmb28iLCAiYmFyIl07CisKK2Z1bmN0
aW9uIGFzc2VydF9ub3RfdGhyb3dpbmcoZiwgbWVzc2FnZSkKK3sKKyAgICB0cnkgeworICAgICAg
ICBmKCk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKG1lc3Nh
Z2UpOworICAgIH0KK30KKworZnVuY3Rpb24gY2hlY2tDcm9zc09yaWdpblByb3BlcnRpZXNBY2Nl
c3ModykKK3sKKyAgICBmb3IgKGxldCBjcm9zc09yaWdpblByb3BlcnR5TmFtZSBvZiBjcm9zc09y
aWdpblByb3BlcnR5TmFtZXMpCisgICAgICAgYXNzZXJ0X25vdF90aHJvd2luZyhmdW5jdGlvbigp
IHsgd1tjcm9zc09yaWdpblByb3BlcnR5TmFtZV07IH0sICJBY2Nlc3NpbmcgcHJvcGVydHkgJyIg
KyBjcm9zc09yaWdpblByb3BlcnR5TmFtZSArIicgb24gV2luZG93IHNob3VsZCBub3QgdGhyb3ci
KTsKKyAgIAorICAgIGFzc2VydF9mYWxzZSh3LmNsb3NlZCwgIidjbG9zZWQnIHByb3BlcnR5IHZh
bHVlIik7IAorICAgIGFzc2VydF9lcXVhbHMody5mcmFtZXMsIHcsICInZnJhbWVzJyBwcm9wZXJ0
eSB2YWx1ZSIpOworICAgIGFzc2VydF9lcXVhbHMody5zZWxmLCB3LCAiJ3NlbGYnIHByb3BlcnR5
IHZhbHVlIik7CisgICAgYXNzZXJ0X2VxdWFscyh3LndpbmRvdywgdywgIid3aW5kb3cnIHByb3Bl
cnR5IHZhbHVlIik7CisKKyAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3LmJs
dXIoKTsgfSwgIkNhbGxpbmcgYmx1cigpIG9uIFdpbmRvdyBzaG91bGQgc2hvdWxkIHRocm93Iik7
CisgICAgYXNzZXJ0X25vdF90aHJvd2luZyhmdW5jdGlvbigpIHsgdy5mb2N1cygpOyB9LCAiQ2Fs
bGluZyBmb2N1cygpIG9uIFdpbmRvdyBzaG91bGQgc2hvdWxkIHRocm93Iik7CisgICAgYXNzZXJ0
X25vdF90aHJvd2luZyhmdW5jdGlvbigpIHsgdy5wb3N0TWVzc2FnZSgndGVzdCcsICcqJyk7IH0s
ICJDYWxsaW5nIHBvc3RNZXNzYWdlKCkgb24gV2luZG93IHNob3VsZCBzaG91bGQgdGhyb3ciKTsK
K30KKworZnVuY3Rpb24gdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsIGhlYWRlclZhbHVlLCBpc0Ny
b3NzT3JpZ2luKQoreworICAgIGlmICghaXNDcm9zc09yaWdpbikgeworICAgICAgICBjaGVja0Ny
b3NzT3JpZ2luUHJvcGVydGllc0FjY2Vzcyh3KTsKKyAgICAgICAgZm9yIChsZXQgZm9yYmlkZGVu
UHJvcGVydHlDcm9zc09yaWdpbiBvZiBmb3JiaWRkZW5Qcm9wZXJ0aWVzQ3Jvc3NPcmlnaW4pCisg
ICAgICAgICAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyBldmFsKCJ3LiIgKyBm
b3JiaWRkZW5Qcm9wZXJ0eUNyb3NzT3JpZ2luKTsgfSwgIkFjY2Vzc2luZyBwcm9wZXJ0eSAnIiAr
IGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NPcmlnaW4gKyAiJyBvbiBXaW5kb3cgc2hvdWxkIG5vdCB0
aHJvdyIpOworICAgICAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3LmZvbyA9
IDE7IH0sICJTZXR0aW5nIGV4cGFuZG8gcHJvcGVydHkgc2hvdWxkIG5vdCB0aHJvdyIpOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKHcuZm9vLCAxLCAiZXhwYW5kbyBwcm9wZXJ0eSB2YWx1ZSIpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gQ3Jvc3Mtb3JpZ2luIGNhc2UuCisgICAg
Zm9yIChsZXQgZm9yYmlkZGVuUHJvcGVydHlDcm9zc09yaWdpbiBvZiBmb3JiaWRkZW5Qcm9wZXJ0
aWVzQ3Jvc3NPcmlnaW4pIHsKKyAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIs
IGZ1bmN0aW9uKCkgeyBldmFsKCJ3LiIgKyBmb3JiaWRkZW5Qcm9wZXJ0eUNyb3NzT3JpZ2luKTsg
fSwgIkFjY2Vzc2luZyBwcm9wZXJ0eSAnIiArIGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NPcmlnaW4g
KyAiJyBvbiBXaW5kb3cgc2hvdWxkIHRocm93Iik7CisgICAgICAgIGxldCBkZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csIGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NP
cmlnaW4pOworICAgICAgICBpZiAoZGVzYyAmJiBkZXNjLnZhbHVlKQorICAgICAgICAgICAgYXNz
ZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBkZXNjLnZhbHVlLmNhbGwo
dyk7IH0sICJDYWxsaW5nIGZ1bmN0aW9uICciICsgZm9yYmlkZGVuUHJvcGVydHlDcm9zc09yaWdp
biArICInIG9uIFdpbmRvdyBzaG91bGQgdGhyb3cgKHVzaW5nIGdldHRlciBmcm9tIG90aGVyIHdp
bmRvdykiKTsKKyAgICAgICAgZWxzZSBpZiAoZGVzYyAmJiBkZXNjLmdldCkKKyAgICAgICAgICAg
IGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVzYy5nZXQuY2Fs
bCh3KTsgfSwgIkFjY2Vzc2luZyBwcm9wZXJ0eSAnIiArIGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NP
cmlnaW4gKyAiJyBvbiBXaW5kb3cgc2hvdWxkIHRocm93ICh1c2luZyBnZXR0ZXIgZnJvbSBvdGhl
ciB3aW5kb3cpIik7CisgICAgfQorICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBm
dW5jdGlvbigpIHsgdy5mb28gPSAxOyB9LCAiU2V0dGluZyBhbiBleHBhbmRvIHByb3BlcnR5IHNo
b3VsZCB0aHJvdyIpOworCisgICAgaWYgKGhlYWRlclZhbHVlID09ICJkZW55IiB8fCBoZWFkZXJW
YWx1ZSA9PSAiYWxsb3ctcG9zdG1lc3NhZ2UiKSB7CisgICAgICAgIGZvciAobGV0IGNyb3NzT3Jp
Z2luUHJvcGVydHlOYW1lIG9mIGNyb3NzT3JpZ2luUHJvcGVydHlOYW1lcykgeworICAgICAgICAg
ICAgaWYgKGhlYWRlclZhbHVlID09ICJhbGxvdy1wb3N0bWVzc2FnZSIgJiYgY3Jvc3NPcmlnaW5Q
cm9wZXJ0eU5hbWUgPT0gInBvc3RNZXNzYWdlIikgeworICAgICAgICAgICAgICAgIGFzc2VydF9u
b3RfdGhyb3dpbmcoZnVuY3Rpb24oKSB7IHdbY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVdOyB9LCAi
QWNjZXNzaW5nIHByb3BlcnR5ICciICsgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWUgKyInIG9uIFdp
bmRvdyBzaG91bGQgbm90IHRocm93Iik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgd1tjcm9z
c09yaWdpblByb3BlcnR5TmFtZV07IH0sICJBY2Nlc3NpbmcgJyIgKyBjcm9zc09yaWdpblByb3Bl
cnR5TmFtZSArICInIHByb3BlcnR5Iik7CisKKyAgICAgICAgICAgICAgICBsZXQgZGVzYyA9IE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCBjcm9zc09yaWdpblByb3BlcnR5
TmFtZSk7CisgICAgICAgICAgICAgICAgaWYgKGRlc2MgJiYgZGVzYy52YWx1ZSkKKyAgICAgICAg
ICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBk
ZXNjLnZhbHVlLmNhbGwodyk7IH0sICJDYWxsaW5nIGZ1bmN0aW9uICciICsgY3Jvc3NPcmlnaW5Q
cm9wZXJ0eU5hbWUgKyAiJyBvbiBXaW5kb3cgc2hvdWxkIHRocm93ICh1c2luZyBnZXR0ZXIgZnJv
bSBvdGhlciB3aW5kb3cpIik7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoZGVzYyAmJiBkZXNj
LmdldCkKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIs
IGZ1bmN0aW9uKCkgeyBkZXNjLmdldC5jYWxsKHcpOyB9LCAiQWNjZXNzaW5nIHByb3BlcnR5ICci
ICsgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWUgKyAiJyBvbiBXaW5kb3cgc2hvdWxkIHRocm93ICh1
c2luZyBnZXR0ZXIgZnJvbSBvdGhlciB3aW5kb3cpIik7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgICAgaWYgKGhlYWRlclZhbHVlID09ICJhbGxvdy1wb3N0bWVzc2FnZSIpIHsKKyAg
ICAgICAgICAgIGFzc2VydF9ub3RfdGhyb3dpbmcoZnVuY3Rpb24oKSB7IHcucG9zdE1lc3NhZ2Uo
J3Rlc3QnLCAnKicpOyB9LCAiQ2FsbGluZyBwb3N0TWVzc2FnZSgpIG9uIFdpbmRvdyBzaG91bGQg
bm90IHRocm93Iik7CisgICAgICAgICAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkg
eyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3Bvc3RNZXNzYWdlJyku
dmFsdWUuY2FsbCh3LCAndGVzdCcsICcqJyk7IH0sICJDYWxsaW5nIHBvc3RNZXNzYWdlKCkgb24g
V2luZG93IHNob3VsZCBub3QgdGhyb3cgKHVzaW5nIGdldHRlciBmcm9tIG90aGVyIHdpbmRvdyki
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmdldE93
blByb3BlcnR5TmFtZXModykuc29ydCgpLCBoZWFkZXJWYWx1ZSA9PSAiYWxsb3ctcG9zdG1lc3Nh
Z2UiID8gWydwb3N0TWVzc2FnZSddIDogW10sICJPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcygp
Iik7CisKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModykuc29ydCgpLCBjcm9zc09yaWdpblByb3BlcnR5
TmFtZXMuc29ydCgpLCAiT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoKSIpOworICAgIGNoZWNr
Q3Jvc3NPcmlnaW5Qcm9wZXJ0aWVzQWNjZXNzKHcpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2syL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL25hdmlnYXRpb24t
ZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93azIvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvbmF2aWdhdGlvbi1m
cm9tLXN1YmZyYW1lLXZpYS1hbmNob3ItdGFyZ2V0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZGY0ZmY0ZWY0NGQ2N2QyZGRjYTVhMzMxNDc1NWJmYWRiODkyYjJi
Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93azIvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvbmF2aWdhdGlv
bi1mcm9tLXN1YmZyYW1lLXZpYS1hbmNob3ItdGFyZ2V0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDM1ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEph
dmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVS
TCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNv
dXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0
PV90b3AnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQv
Y3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9y
Lmh0bWw/dGFyZ2V0PV90b3AnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jv
c3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZh
U2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwg
J2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3Vy
Y2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1f
dG9wJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Ny
b3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5o
dG1sP3RhcmdldD1fdG9wJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3Nz
LU9yaWdpbi1PcHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNh
ZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdp
dGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25z
L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ct
cG9zdG1lc3NhZ2UmdGFyZ2V0PV90b3AnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcu
MC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRl
LXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV90b3AnLiBOYXZpZ2F0aW9uIHdhcyBub3Qg
YWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgotCi1DT05TT0xFIE1F
U1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBm
b3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3Jp
Z2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92
YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0YXJnZXQ9X3RvcCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAn
aHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJj
ZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmlnYXRp
b24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0K
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBp
bml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4
ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9t
LXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PV9wYXJlbnQnIGZyb20gZnJhbWUg
d2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlv
bnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV9wYXJl
bnQnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlv
bnMgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQg
dG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhv
c3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24t
ZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1fcGFyZW50JyBmcm9tIGZy
YW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1v
cHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1f
cGFyZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1P
cHRpb25zIGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNj
cmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNl
cy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3Nh
Z2UmdGFyZ2V0PV9wYXJlbnQnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6
ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVu
dC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV9wYXJlbnQnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxs
b3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NB
R0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3Ig
ZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2lu
LW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1
ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0YXJnZXQ9X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAn
aHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJj
ZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5hdmln
YXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIu
Ci0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0
byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9z
dDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1m
cm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PWZvbzEnIGZyb20gZnJhbWUg
d2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlv
bnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PWZvbzEn
LiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLU9wdGlvbnMg
aGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8g
aW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6
ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJv
bS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1mb28xJyBmcm9tIGZyYW1lIHdp
dGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25z
L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1mb28xJy4g
TmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1PcHRpb25zIGhl
YWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRl
bXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9j
YWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi1vcHRpb25zL3Jlc291cmNlcy9uYXZpZ2F0
aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0
PWZvbzInIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQv
Y3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9y
Lmh0bWw/dGFyZ2V0PWZvbzInLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jv
c3MtT3JpZ2luLU9wdGlvbnMgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZh
U2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwg
J2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLW9wdGlvbnMvcmVzb3Vy
Y2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVz
c2FnZSZ0YXJnZXQ9Zm9vMicgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4
ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4tb3B0aW9ucy9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50
LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9Zm9vMicuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2Vk
IGR1ZSB0byBDcm9zcy1PcmlnaW4tT3B0aW9ucyBoZWFkZXIuCi0KLQotUEFTUyAnQ3Jvc3MtT3Jp
Z2luLU9wdGlvbnM6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4g
c3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3RvcD4pIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLU9w
dGlvbnM6IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mt
b3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV90b3A+KSAKLVBBU1MgJ0Nyb3NzLU9y
aWdpbi1PcHRpb25zOiBhbGxvdycgZG9lcyBub3QgcHJldmVudCBuYXZpZ2F0aW9uIGZyb20gY3Jv
c3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV90b3A+KSAKLVBBU1MgJ0Nyb3Nz
LU9yaWdpbi1PcHRpb25zOiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3Jp
Z2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV9wYXJlbnQ+KSAKLVBBU1MgJ0Nyb3NzLU9y
aWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9t
IGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fcGFyZW50PikgCi1QQVNT
ICdDcm9zcy1PcmlnaW4tT3B0aW9uczogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlv
biBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fcGFyZW50Pikg
Ci1QQVNTICdDcm9zcy1PcmlnaW4tT3B0aW9uczogZGVueScgcHJldmVudHMgbmF2aWdhdGlvbiBm
cm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD13aW5kb3dOYW1lKSAK
LVBBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMg
bmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD13
aW5kb3dOYW1lKSAKLVBBU1MgJ0Nyb3NzLU9yaWdpbi1PcHRpb25zOiBhbGxvdycgZG9lcyBub3Qg
cHJldmVudCBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEg
dGFyZ2V0PXdpbmRvd05hbWU+KSAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2syL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1z
dWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93azIvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1m
cm9tLXN1YmZyYW1lLXZpYS1hbmNob3ItdGFyZ2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
YmIyYTkwN2U3NWE2ZjRhMGViYmYyMjdjZGFmYTEyNjY0ZmZmYWNhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ct
cG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzNSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUg
SmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGgg
VVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9s
aWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVu
eSZ0YXJnZXQ9X3RvcCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAw
L1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFy
ZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxv
d2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUg
TUVTU0FHRTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9u
IGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1v
cmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZy
YW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PV90b3AnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6
Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3Vy
Y2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV90b3AnLiBOYXZpZ2F0
aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kgaGVh
ZGVyLgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVt
cHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2Nh
bGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25h
dmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0
YXJnZXQ9X3RvcCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dl
YktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50
LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3RvcCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2Vk
IGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUgTUVT
U0FHRTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZv
ciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmln
aW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1l
LnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fdG9wJyBmcm9tIGZyYW1lIHdpdGgg
VVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9s
aWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fdG9w
Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ct
UG9saWN5IGhlYWRlci4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNj
cmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jl
c291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJn
ZXQ9X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dl
YktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50
LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxv
d2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisKK0NPTlNPTEUg
TUVTU0FHRTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9u
IGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1v
cmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZy
YW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PV9wYXJlbnQnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0
dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVz
b3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV9wYXJlbnQnLiBO
YXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xp
Y3kgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0
IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6
Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3Vy
Y2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVz
c2FnZSZ0YXJnZXQ9X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAu
MTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdh
dGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5hdmlnYXRpb24gd2Fz
IG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisK
K0NPTlNPTEUgTUVTU0FHRTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBu
YXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktp
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1
YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fcGFyZW50JyBm
cm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9y
aWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5o
dG1sP3RhcmdldD1fcGFyZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENy
b3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9y
IGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUu
cHk/dmFsdWU9ZGVueSZ0YXJnZXQ9Zm9vMScgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEy
Ny4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMv
bmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9Zm9vMScuIE5hdmlnYXRpb24g
d2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIu
CisKK0NPTlNPTEUgTUVTU0FHRTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0
ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dl
YktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9t
LXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWRlbnkmdGFyZ2V0PWZvbzEnIGZyb20gZnJhbWUgd2l0
aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PWZv
bzEnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdpbmRv
dy1Qb2xpY3kgaGVhZGVyLgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZh
U2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwg
J2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kv
cmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdy1w
b3N0bWVzc2FnZSZ0YXJnZXQ9Zm9vMicgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4w
LjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2
aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9Zm9vMicuIE5hdmlnYXRpb24gd2Fz
IG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCisK
K0NPTlNPTEUgTUVTU0FHRTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBu
YXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktp
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1
YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1mb28yJyBmcm9t
IGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1s
P3RhcmdldD1mb28yJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9y
aWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4KKworCitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93
LVBvbGljeTogZGVueScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWIt
ZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fdG9wPikgCitQQVNTICdDcm9zcy1PcmlnaW4tV2luZG93
LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9z
cy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3RvcD4pIAorUEFTUyAnQ3Jvc3Mt
T3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24g
ZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3RvcD4pIAorUEFT
UyAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24g
ZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3BhcmVudD4pIAor
UEFTUyAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2
ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFy
Z2V0PV9wYXJlbnQ+KSAKK1BBU1MgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdycg
ZG9lcyBub3QgcHJldmVudCBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFtZSAo
dXNpbmcgPGEgdGFyZ2V0PV9wYXJlbnQ+KSAKK1BBU1MgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9s
aWN5OiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFt
ZSAodXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWUpIAorUEFTUyAnQ3Jvc3MtT3JpZ2luLVdpbmRv
dy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jv
c3Mtb3JpZ2luIHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWUpIAorUEFTUyAn
Q3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmln
YXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93
TmFtZT4pIAorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>