<?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>141407</bug_id>
          
          <creation_ts>2015-02-09 15:26:31 -0800</creation_ts>
          <short_desc>AX: Undeprecate ios-simulator accessibility tests</short_desc>
          <delta_ts>2015-02-11 23:10:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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 fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>dbates</cc>
    
    <cc>mario</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1067937</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-02-09 15:26:31 -0800</bug_when>
    <thetext>We should un deprecate the ios-simulator accessibility tests. They pass for me and there wasn&apos;t a real reason to move to deprecated

&lt;rdar://problem/19688979&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067939</commentid>
    <comment_count>1</comment_count>
      <attachid>246298</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-02-09 15:29:46 -0800</bug_when>
    <thetext>Created attachment 246298
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068260</commentid>
    <comment_count>2</comment_count>
      <attachid>246374</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-02-10 21:54:55 -0800</bug_when>
    <thetext>Created attachment 246374
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068267</commentid>
    <comment_count>3</comment_count>
      <attachid>246374</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-02-10 22:44:29 -0800</bug_when>
    <thetext>Comment on attachment 246374
patch

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

&gt; LayoutTests/platform/mac-mountainlion/fast/css/focus-ring-exists-for-search-field-expected.txt:2
&gt; +  RenderView at (0,0) size 800x600

Did you intend to add this expected result file?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068417</commentid>
    <comment_count>4</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-02-11 11:45:29 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 246374 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=246374&amp;action=review
&gt; 
&gt; &gt; LayoutTests/platform/mac-mountainlion/fast/css/focus-ring-exists-for-search-field-expected.txt:2
&gt; &gt; +  RenderView at (0,0) size 800x600
&gt; 
&gt; Did you intend to add this expected result file?

Unintentional. That will be removed. thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068557</commentid>
    <comment_count>5</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-02-11 23:10:16 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/179983</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246298</attachid>
            <date>2015-02-09 15:29:46 -0800</date>
            <delta_ts>2015-02-10 21:54:55 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>116618</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE3OTg0OSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEwNSBAQAorMjAxNS0wMi0wOSAgQ2hyaXMgRmxlaXphY2gg
IDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBVbmRlcHJlY2F0ZSBpb3Mtc2lt
dWxhdG9yIGFjY2Vzc2liaWxpdHkgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0MTQwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVuZGVwcmVjYXRlIGlvcyBhY2Nlc3NpYmlsaXR5IHRlc3RzLgor
ICAgICAgICBNb2RpZmllZCBvbmUgZmFpbGluZyB0ZXN0IChzdmctZ3JvdXAtZWxlbWVudC13aXRo
LXRpdGxlLmh0bWwpIHNsaWdodGx5IHRvIGdldCBpdCB0byBwYXNzLgorCisgICAgICAgICogcGxh
dGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHk6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0
eS1hcmlhLXRhYmxlLWNoaWxkcmVuLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWFy
aWEtdGFibGUtY2hpbGRyZW4uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mt
c2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29u
dGFpbmVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2lt
LWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29udGFp
bmVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVk
L2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1oaW50LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nl
c3NpYmlsaXR5LWhpbnQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2lt
LWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsLXdpdGgtaW50ZXJuYWwtdGV4dC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbC13aXRoLWludGVybmFsLXRleHQuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9hcmlhLXByZXNzZWQtc3RhdGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2FyaWEtcHJlc3NlZC1zdGF0
ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9h
Y2Nlc3NpYmlsaXR5L2NlbnRlcnBvaW50LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9jZW50ZXJwb2ludC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nl
c3NpYmlsaXR5L2Rpc2FibGVkLXN0YXRlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZGlzYWJsZWQtc3Rh
dGVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVk
L2FjY2Vzc2liaWxpdHkvZG9tLWZvY3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvZG9tLWZvY3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L2VsZW1lbnQtcGF0aHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2VsZW1lbnQtcGF0aHMuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9maWxlLXVwbG9hZC1idXR0b24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2ZpbGUtdXBsb2FkLWJ1dHRv
bi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9h
Y2Nlc3NpYmlsaXR5L2ZvY3VzLWNoYW5nZS1ub3RpZmljYXRpb25zLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9mb2N1cy1jaGFuZ2Utbm90aWZpY2F0aW9ucy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2hlYWRlci1lbGVtZW50cy1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvaGVhZGVyLWVsZW1lbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvaWRlbnRpZmllci1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvaWRlbnRpZmllci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2ludGVybmFsLWxpbmstZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRl
ZC9hY2Nlc3NpYmlsaXR5L2ludGVybmFsLWxpbmsuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9sYW5kbWFyay10eXBlLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS9sYW5kbWFyay10eXBlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbGluay13aXRoLWltYWdl
cy10ZXh0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2lt
LWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9saW5rLXdpdGgtaW1hZ2VzLXRleHQuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9saW5rLXdpdGgtb25seS1pbWFnZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbGluay13aXRoLW9ubHkt
aW1hZ2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS9tYXRoLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9tYXRoLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkv
bWl4ZWQtY2hlY2tib3hlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbWl4ZWQtY2hlY2tib3hlcy5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3Np
YmlsaXR5L25vLWNoaWxkLWxpbmstaGVhZGVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9uby1jaGlsZC1s
aW5rLWhlYWRlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L25vbi1jb250aWd1b3VzLWxpbmstZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmls
aXR5L25vbi1jb250aWd1b3VzLWxpbmsuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9vdXQtb2YtYm91bmRzLWNoaWxkLWFj
Y2Vzcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1k
ZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvb3V0LW9mLWJvdW5kcy1jaGlsZC1hY2Nlc3MuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJp
bGl0eS9wYXNzd29yZC12YWx1ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxh
dGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvcGFzc3dvcmQtdmFsdWUuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNz
aWJpbGl0eS9wbGFjZWhvbGRlci12YWx1ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvcGxhY2Vob2xkZXIt
dmFsdWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS9wb3B1cC1idXR0b24tdmFsdWUtbGFiZWwtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmls
aXR5L3BvcHVwLWJ1dHRvbi12YWx1ZS1sYWJlbC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3Byb2dyZXNzYmFyLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQv
YWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3JhZGlvLWJ1dHRvbi1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvcmFkaW8tYnV0dG9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc2VjdXJlLXRleHQtZmllbGQtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRl
ZC9hY2Nlc3NpYmlsaXR5L3NlY3VyZS10ZXh0LWZpZWxkLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc2VsZWN0ZWQtYnV0
dG9ucy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1k
ZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc2VsZWN0ZWQtYnV0dG9ucy5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3NlbGVj
dGVkLXRleHQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1z
aW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3NlbGVjdGVkLXRleHQuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9zdmct
Z3JvdXAtZWxlbWVudC13aXRoLXRpdGxlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9zdmctZ3JvdXAtZWxl
bWVudC13aXRoLXRpdGxlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNp
bS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc3ZnLXBhdGgtY3Jhc2gtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmls
aXR5L3N2Zy1wYXRoLWNyYXNoLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9z
LXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFiLXJvbGUtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L3RhYi1yb2xlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXBy
ZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3Itcm93LWNvbC1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2li
aWxpdHkvdGFibGUtY2VsbC1mb3Itcm93LWNvbC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtcmFuZ2Vz
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJl
Y2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLXJhbmdlcy5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RhYmxlLXdp
dGgtbWlzbWF0Y2gtY29sdW1uLWNvdW50LWluLWluaXRpYWwtc2VjdGlvbi1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2li
aWxpdHkvdGFibGVzLWxpc3RzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJsZXMtbGlzdHMuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJp
bGl0eS90ZXh0LWxpbmUtbm8taWdub3JlZC1lbGVtZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4
dC1saW5lLW5vLWlnbm9yZWQtZWxlbWVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci1saXN0LWl0
ZW0tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyLWxpc3QtaXRlbS5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3Rl
eHQtbWFya2VyLXZhbGlkYXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyLXZhbGlk
YXRpb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LXJvbGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtcm9sZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nl
c3NpYmlsaXR5L3RleHRmaWVsZC1pbi1heHZhbHVlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0Zmll
bGQtaW4tYXh2YWx1ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0t
ZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RvZ2dsZS1idXR0b24tZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L3RvZ2dsZS1idXR0b24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2lt
LWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS91cmwtdGVzdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdXJs
LXRlc3QuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2Fj
Y2Vzc2liaWxpdHk6IENvcGllZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5LgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW11bGF0b3Iv
YWNjZXNzaWJpbGl0eS9zdmctZ3JvdXAtZWxlbWVudC13aXRoLXRpdGxlLmh0bWw6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjLW1vdW50YWlubGlvbi9mYXN0L2Nzcy9mb2N1cy1yaW5nLWV4aXN0cy1m
b3Itc2VhcmNoLWZpZWxkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTUtMDItMDkgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkF1ZGlvXSBBdWRpb0J1
ZmZlclNvdXJjZU5vZGVzIHNob3VsZCBhY2N1cmF0ZWx5IHBsYXkgYmFja3dhcmRzIGlmIGdpdmVu
IGEgbmVnYXRpdmUgcGxheWJhY2tSYXRlLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1hcmlhLXRhYmxlLWNo
aWxkcmVuLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWFyaWEtdGFibGUt
Y2hpbGRyZW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWFy
aWEtdGFibGUtY2hpbGRyZW4tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE2ICsw
LDAgQEAKLXRlc3QxCi10ZXN0MgotdGVzdDMKLXRlc3QxCi10ZXN0MgotdGVzdDMKLVRoaXMgbWFr
ZXMgc3VyZSB0aGF0IGlmIGFuIEFSSUEgdGFibGUgaXMgdXNlZCwgdGhlIHRhYmxlJ3MgY2hpbGRy
ZW4gZG9lcyBOT1QgaW5jbHVkZSB0aGUgY29sdW1uIGhlYWRlcnMuCi0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1QQVNTIGdyaWQuY2hpbGRyZW5Db3VudCBpcyAxCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0
eS1hcmlhLXRhYmxlLWNoaWxkcmVuLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1hcmlh
LXRhYmxlLWNoaWxkcmVuLmh0bWwJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktYXJp
YS10YWJsZS1jaGlsZHJlbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ3ICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Ci08L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5IGlkPSJib2R5Ij4KLQotPGRpdiByb2xlPSJncmlkIiB0YWJpbmRl
eD0iMCIgaWQ9ImdyaWQiPgotCi08ZGl2IHJvbGU9ImNvbHVtbmhlYWRlciIgYXJpYS1sYWJlbD0i
dGVzdDEiPnRlc3QxPC9kaXY+Ci08ZGl2IHJvbGU9ImNvbHVtbmhlYWRlciIgYXJpYS1sYWJlbD0i
dGVzdDIiPnRlc3QyPC9kaXY+Ci08ZGl2IHJvbGU9ImNvbHVtbmhlYWRlciIgYXJpYS1sYWJlbD0i
dGVzdDMiPnRlc3QzPC9kaXY+Ci0KLTxkaXYgcm9sZT0icm93Ij4KLSAgIDxkaXYgcm9sZT0iZ3Jp
ZGNlbGwiPnRlc3QxPC9kaXY+Ci0gICA8ZGl2IHJvbGU9ImdyaWRjZWxsIj50ZXN0MjwvZGl2Pgot
ICAgPGRpdiByb2xlPSJncmlkY2VsbCI+dGVzdDM8L2Rpdj4KLTwvZGl2PgotCi08L2Rpdj4KLQot
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNj
cmlwdD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIG1ha2VzIHN1cmUgdGhhdCBpZiBhbiBBUklB
IHRhYmxlIGlzIHVzZWQsIHRoZSB0YWJsZSdzIGNoaWxkcmVuIGRvZXMgTk9UIGluY2x1ZGUgdGhl
IGNvbHVtbiBoZWFkZXJzLiIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcikgewotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkIikuZm9jdXMo
KTsKLSAgICAgICAgdmFyIGdyaWQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxl
bWVudDsKLQotICAgICAgICAvLyBXZSBzaG91bGQgaGF2ZSAxIGNoaWxkLCBmb3IgdGhlIHJvdy4g
Q29sdW1uIGhlYWRlcnMgc2hvdWxkIG5vdCBiZSBleHBvc2VkIGFzIGNoaWxkcmVuIG9uIGlPUy4K
LSAgICAgICAgc2hvdWxkQmUoImdyaWQuY2hpbGRyZW5Db3VudCIsICIxIik7Ci0gICAgfQotCi0g
ICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9h
Y2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktY3Jhc2gtaW4tYXhjb250YWluZXItZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRl
ZC9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktY3Jhc2gtaW4tYXhjb250YWluZXItZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2lt
LWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29udGFp
bmVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMSArMCwwIEBACi1UaGlzIG1h
a2VzIHN1cmUgdGhhdCB3ZSBkb24ndCBjcmFzaCB3aGVuIGFza2luZyBmb3IgdGhlIHBhcmVudCBl
bGVtZW50IG9mIGFuIG9iamVjdCB0aGF0IGhhcyBubyBkb2N1bWVudCgpIGJlY2F1c2UgaXRzIHBh
cmVudCB3YXMgZGV0YWNoZWQKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mg
bGluay5pcGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogeWVsbG93JwotRkFJTCBsaW5rLnBhcmVudEVs
ZW1lbnQoKS5pcGhvbmVMYWJlbCBzaG91bGQgYmUgQVhMYWJlbDogLiBUaHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbGluay5w
YXJlbnRFbGVtZW50KCkuaXBob25lTGFiZWwnKQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktY3Jhc2gtaW4tYXhjb250
YWluZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRl
cHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29udGFpbmVy
Lmh0bWwJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0t
ZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktY3Jhc2gtaW4tYXhjb250YWlu
ZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0MyArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBpZD0iYm9keSI+Ci0KLTxpbWcgc3JjPSJyZXNvdXJjZXMvY2FrZS5wbmciIHVzZW1hcD0i
I21hcCIgaWQ9ImJhY2tJbWciIGFsdD0iIiB3aWR0aD0iMjI1IiBoZWlnaHQ9IjIwNiI+Ci0KLTxt
YXAgbmFtZT0ibWFwIiBhcmlhLWxhYmVsbGVkYnk9InBhcGVyY29sb3IiPgotICAgICAgICA8YXJl
YSBzaGFwZT0icmVjdCIgdGFiaW5kZXg9IjAiIGFsdD0ieWVsbG93IiBocmVmPSIjIiBjb29yZHM9
IjE5LDI4LDQ2LDUyIiBpZD0ieWVsbG93Ij4KLSAgICAgICAgPGFyZWEgc2hhcGU9InJlY3QiIHRh
YmluZGV4PSIwIiBhbHQ9Im9yYW5nZSIgaHJlZj0iIyIgY29vcmRzPSI1OCwyOCw4NSw1MiIgaWQ9
Im9yYW5nZSI+Ci08L21hcD4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIG1ha2Vz
IHN1cmUgdGhhdCB3ZSBkb24ndCBjcmFzaCB3aGVuIGFza2luZyBmb3IgdGhlIHBhcmVudCBlbGVt
ZW50IG9mIGFuIG9iamVjdCB0aGF0IGhhcyBubyBkb2N1bWVudCgpIGJlY2F1c2UgaXRzIHBhcmVu
dCB3YXMgZGV0YWNoZWQiKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIpIHsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9keSIpLmZvY3VzKCk7
Ci0gICAgICAgIHZhciBsaW5rID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1l
bnQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAgc2hvdWxkQmUoImxp
bmsuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IHllbGxvdyciKTsKLQotICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiYmFja0ltZyIpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImJhY2tJbWciKSk7Ci0KLSAgICAgICAgLy8gU2hvdWxkIG5vdCBj
cmFzaCBoZXJlIHdoZW4gYXNraW5nIGZvciBwYXJlbnRFbGVtZW50IChldmVuIHRob3VnaCBpdCB3
YXMgcmVtb3ZlZCkuCi0gICAgICAgIHNob3VsZEJlKCJsaW5rLnBhcmVudEVsZW1lbnQoKS5pcGhv
bmVMYWJlbCIsICInQVhMYWJlbDogJyIpOwotICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3Np
YmlsaXR5LWhpbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktaGludC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktaGludC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzAsMCBAQAotbGluayBsYWJlbAotVGhpcyBt
YWtlcyBzdXJlIHRoYXQgdGhlIHRpdGxlIGF0dHJpYnV0ZSBpcyB1c2VkIGFzIGFjY2Vzc2liaWxp
dHlIaW50Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGxpbmsuaXBob25l
SGludCBpcyAnQVhIaW50OiBUaGlzIGlzIGEgaGludCcKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWhpbnQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNj
ZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWhpbnQuaHRtbAkocmV2aXNpb24gMTc5ODE5KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYWNj
ZXNzaWJpbGl0eS1oaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzMgKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHkgaWQ9ImJvZHkiPgotCi08YSB0YWJpbmRleD0wIGlkPSJsaW5rIiBo
cmVmPSIjaGVyZSIgdGl0bGU9IlRoaXMgaXMgYSBoaW50Ij5saW5rIGxhYmVsPC9hPgotCi08cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0
PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgbWFrZXMgc3VyZSB0aGF0IHRoZSB0aXRsZSBhdHRy
aWJ1dGUgaXMgdXNlZCBhcyBhY2Nlc3NpYmlsaXR5SGludCIpOwotCi0gICAgaWYgKHdpbmRvdy5h
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJsaW5rIikuZm9jdXMoKTsKLSAgICAgICAgdmFyIGxpbmsgPSBhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5mb2N1c2VkRWxlbWVudDsKLSAgICAgICAgc2hvdWxkQmUoImxpbmsuaXBob25lSGlu
dCIsICInQVhIaW50OiBUaGlzIGlzIGEgaGludCciKTsKLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkv
YXJpYS1sYWJlbC13aXRoLWludGVybmFsLXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2Fy
aWEtbGFiZWwtd2l0aC1pbnRlcm5hbC10ZXh0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5ODE5
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxp
dHkvYXJpYS1sYWJlbC13aXRoLWludGVybmFsLXRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDIxICswLDAgQEAKLTEKLTEKLXRleHQxCi1saW5rMQotVGhpcyB0ZXN0cyB0aGF0
IGlmIGFuIGVsZW1lbnQgaGFzIGFyaWEtbGFiZWwsIGl0IHdpbGwgb3ZlcnJpZGUgdGhlIHZpc2li
bGUgdGV4dCBhcyBuZWNlc3NhcnkuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1C
dXR0b24gMSBzaG91bGQgZXhwb3NlIGFsdGVybmF0aXZlIHRleHQgb25seS4KLVBBU1MgYnV0dG9u
MS5pcGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogUExBWScKLUJ1dHRvbiAyIHNob3VsZCBleHBvc2Ug
aW50ZXJuYWwgdGV4dCBvbmx5LgotUEFTUyBidXR0b24yLmlwaG9uZUxhYmVsIGlzICdBWExhYmVs
OiAxJwotVGV4dCAxIHNob3VsZCByZWx5IG9uIHRoZSBzdHJpbmdWYWx1ZSgpIGluIHRoZSBsYWJl
bCBmaWVsZC4KLVBBU1MgdGV4dDEuaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6IHRleHQxJwotTGlu
azEgc2hvdWxkIGNvbWJpbmUgdGhlIHRpdGxlIGZpZWxkIGFuZCB0aGUgYXJpYS1sYWJlbCBmaWVs
ZC4KLUZBSUwgbGluazEuaXBob25lTGFiZWwgc2hvdWxkIGJlIEFYTGFiZWw6IGxpbmsxLCBsaW5r
MS10aXRsZS4gV2FzIEFYTGFiZWw6IGxpbmsxLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWwtd2l0aC1pbnRlcm5hbC10ZXh0
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbC13aXRoLWludGVybmFsLXRleHQuaHRtbAkocmV2
aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVk
L2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbC13aXRoLWludGVybmFsLXRleHQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0OSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IGZhbHNlOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+
Ci0KLTxkaXYgaWQ9ImJ1dHRvbjEiIHJvbGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iUExBWSI+PHNw
YW4+MTwvc3Bhbj48L2Rpdj4KLTxkaXYgaWQ9ImJ1dHRvbjIiIHJvbGU9ImJ1dHRvbiI+PHNwYW4+
MTwvc3Bhbj48L2Rpdj4KLTxkaXYgaWQ9InRleHQxIiByb2xlPSJ0ZXh0Ij48c3Bhbj50ZXh0MTwv
c3Bhbj48L2Rpdj4KLTxkaXYgaWQ9ImxpbmsxIiB0aXRsZT0ibGluazEtdGl0bGUiIHJvbGU9Imxp
bmsiPjxzcGFuPmxpbmsxPC9zcGFuPjwvZGl2PgotCi08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
LTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdHMgdGhhdCBpZiBhbiBlbGVtZW50IGhhcyBhcmlhLWxhYmVsLCBpdCB3aWxsIG92
ZXJyaWRlIHRoZSB2aXNpYmxlIHRleHQgYXMgbmVjZXNzYXJ5LiIpOwotCi0gICAgaWYgKHdpbmRv
dy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAgIHZhciBidXR0b24xID0gYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJidXR0b24xIik7Ci0g
ICAgICAgIGRlYnVnKCJCdXR0b24gMSBzaG91bGQgZXhwb3NlIGFsdGVybmF0aXZlIHRleHQgb25s
eS4iKTsKLSAgICAgICAgc2hvdWxkQmUoImJ1dHRvbjEuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6
IFBMQVknIik7Ci0KLSAgICAgICAgdmFyIGJ1dHRvbjIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImJ1dHRvbjIiKTsKLSAgICAgICAgZGVidWcoIkJ1dHRv
biAyIHNob3VsZCBleHBvc2UgaW50ZXJuYWwgdGV4dCBvbmx5LiIpOwotICAgICAgICBzaG91bGRC
ZSgiYnV0dG9uMi5pcGhvbmVMYWJlbCIsICInQVhMYWJlbDogMSciKTsKLQotICAgICAgICB2YXIg
dGV4dDEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInRl
eHQxIik7Ci0gICAgICAgIGRlYnVnKCJUZXh0IDEgc2hvdWxkIHJlbHkgb24gdGhlIHN0cmluZ1Zh
bHVlKCkgaW4gdGhlIGxhYmVsIGZpZWxkLiIpOwotICAgICAgICBzaG91bGRCZSgidGV4dDEuaXBo
b25lTGFiZWwiLCAiJ0FYTGFiZWw6IHRleHQxJyIpOwotCi0gICAgICAgIHZhciBsaW5rMSA9IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgibGluazEiKTsKLSAg
ICAgICAgZGVidWcoIkxpbmsxIHNob3VsZCBjb21iaW5lIHRoZSB0aXRsZSBmaWVsZCBhbmQgdGhl
IGFyaWEtbGFiZWwgZmllbGQuIik7Ci0gICAgICAgIHNob3VsZEJlKCJsaW5rMS5pcGhvbmVMYWJl
bCIsICInQVhMYWJlbDogbGluazEsIGxpbmsxLXRpdGxlJyIpOwotICAgIH0KLQotICAgIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotCi08L2JvZHk+Ci08L2h0bWw+
Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3Np
YmlsaXR5L2FyaWEtcHJlc3NlZC1zdGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYXJpYS1w
cmVzc2VkLXN0YXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYXJpYS1wcmVzc2Vk
LXN0YXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMiArMCwwIEBACi1idXR0
b24gMQotYnV0dG9uIDIKLVRoaXMgdGVzdCB0aGF0cyBhcmlhLXByZXNzZWQgY2hhbmdlcyB0aGUg
dHJhaXRzIHJldHVybmVkIGJ5IGJ1dHRvbnMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLUZBSUwgYnRuMS5pcGhvbmVUcmFpdHMgIT0gYnRuMi5pcGhvbmVUcmFpdHMgc2hvdWxkIGJl
IHRydWUuIFdhcyBmYWxzZS4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS9hcmlhLXByZXNzZWQtc3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hcmlh
LXByZXNzZWQtc3RhdGUuaHRtbAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYXJpYS1wcmVzc2VkLXN0YXRl
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LQotPGRpdiBpZD0iYnV0dG9uMSIgdGFiaW5kZXg9MCByb2xlPSJidXR0b24iIGFyaWEtcHJlc3Nl
ZD0idHJ1ZSI+YnV0dG9uIDE8L2Rpdj4KLTxkaXYgaWQ9ImJ1dHRvbjIiIHRhYmluZGV4PTAgcm9s
ZT0iYnV0dG9uIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj5idXR0b24gMjwvZGl2PgotCi0KLTxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+
Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHRoYXRzIGFyaWEtcHJlc3NlZCBjaGFuZ2Vz
IHRoZSB0cmFpdHMgcmV0dXJuZWQgYnkgYnV0dG9ucyIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJidXR0b24xIikuZm9jdXMoKTsKLSAgICAgICAgdmFyIGJ0bjEgPSBhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5mb2N1c2VkRWxlbWVudDsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiYnV0dG9uMiIpLmZvY3VzKCk7Ci0gICAgICAgIHZhciBidG4yID0gYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0gCi0gICAgICAgIHNob3VsZEJlKCJidG4xLmlwaG9u
ZVRyYWl0cyAhPSBidG4yLmlwaG9uZVRyYWl0cyIsICJ0cnVlIik7Ci0gICAgfQotCi0gICAgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRt
bD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vz
c2liaWxpdHkvY2VudGVycG9pbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2NlbnRlcnBvaW50
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvY2VudGVycG9pbnQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE2ICswLDAgQEAKLWJsYWggICAKLQotCi1UaGlzIHRlc3Rz
IHRoYXQgdGhlIGNlbnRlciBwb2ludCBmb3IgYSBjaGVja2JveCB3aXRoIGEgbGFiZWwgaXMgbm90
IHRoZSBzYW1lIGFzIHRoZSBtaWQgcG9pbnQgb2YgdGhlIGZyYW1lIChiZWNhdXNlIHRoZSBmcmFt
ZSBpbmNsdWRlcyB0aGUgYm91bmRzIG9mIHRoZSBsYWJlbCkKLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLVBBU1MgKHggKyB3LzIpID09IGNsaWNrUG9pbnRYIGlzIGZhbHNlCi1QQVNT
ICh5ICsgaC8yKSA9PSBjbGlja1BvaW50WSBpcyBmYWxzZQotUEFTUyAoeCArIHcvMikgPT0gY2xp
Y2tQb2ludFggaXMgdHJ1ZQotUEFTUyAoeSArIGgvMikgPT0gY2xpY2tQb2ludFkgaXMgdHJ1ZQot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2Nl
bnRlcnBvaW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNp
bS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvY2VudGVycG9pbnQuaHRtbAkocmV2aXNpb24gMTc5
ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2li
aWxpdHkvY2VudGVycG9pbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw2OCArMCwwIEBACi08
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOwotaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci08L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotCi08bGFiZWwgZm9yPSJjaGVjazEiPmJsYWg8L2xhYmVsPgotCi08
aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjaGVjazEiPgotCi08YnI+PGJyPgotCi08aW5wdXQg
dHlwZT0iY2hlY2tib3giIGlkPSJjaGVjazIiPgotCi08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
LTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdHMgdGhhdCB0aGUgY2VudGVyIHBvaW50IGZvciBhIGNoZWNrYm94IHdpdGggYSBs
YWJlbCBpcyBub3QgdGhlIHNhbWUgYXMgdGhlIG1pZCBwb2ludCBvZiB0aGUgZnJhbWUgKGJlY2F1
c2UgdGhlIGZyYW1lIGluY2x1ZGVzIHRoZSBib3VuZHMgb2YgdGhlIGxhYmVsKSIpOwotCi0gICAg
aWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAgIC8vIE1ha2Ug
c3VyZSBhIGNoZWNrYm94IHdpdGggYSBsYWJlbCBET0VTIE5PVCBoYXZlIHRoZSBzYW1lIGNlbnRl
ciBwb2ludCBhcyB0aGUgZnJhbWUKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNo
ZWNrMSIpLmZvY3VzKCk7Ci0gICAgICAgIHZhciBwYXNzID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQ7Ci0KLSAgICAgICAgdmFyIGNsaWNrUG9pbnRYID0gcGFzcy5jbGlj
a1BvaW50WDsKLSAgICAgICAgdmFyIGNsaWNrUG9pbnRZID0gcGFzcy5jbGlja1BvaW50WTsKLQot
ICAgICAgICB2YXIgeCA9IHBhc3MueDsKLSAgICAgICAgdmFyIHkgPSBwYXNzLnk7Ci0gICAgICAg
IHZhciB3ID0gcGFzcy53aWR0aDsKLSAgICAgICAgdmFyIGggPSBwYXNzLmhlaWdodDsKLQotICAg
ICAgICBzaG91bGRCZUZhbHNlKCIoeCArIHcvMikgPT0gY2xpY2tQb2ludFgiKTsKLSAgICAgICAg
c2hvdWxkQmVGYWxzZSgiKHkgKyBoLzIpID09IGNsaWNrUG9pbnRZIik7Ci0KLSAgICAgICAgLy8g
Tm93IG1ha2Ugc3VyZSBhIGNoZWNrYm94IHdpdGhvdXQgYSBsYWJlbCBET0VTIGhhdmUgdGhlIHNh
bWUgY2VudGVycG9pbnQgYXMgdGhlIGZyYW1lCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjaGVjazIiKS5mb2N1cygpOwotICAgICAgICBwYXNzID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0KLSAgICAgICAgdmFyIGNsaWNrUG9pbnRYID0gcGFzcy5j
bGlja1BvaW50WDsKLSAgICAgICAgdmFyIGNsaWNrUG9pbnRZID0gcGFzcy5jbGlja1BvaW50WTsK
LQotICAgICAgICB2YXIgeCA9IHBhc3MueDsKLSAgICAgICAgdmFyIHkgPSBwYXNzLnk7Ci0gICAg
ICAgIHZhciB3ID0gcGFzcy53aWR0aDsKLSAgICAgICAgdmFyIGggPSBwYXNzLmhlaWdodDsKLQot
ICAgICAgICBzaG91bGRCZVRydWUoIih4ICsgdy8yKSA9PSBjbGlja1BvaW50WCIpOwotICAgICAg
ICBzaG91bGRCZVRydWUoIih5ICsgaC8yKSA9PSBjbGlja1BvaW50WSIpOwotICAgIH0KLQotICAg
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotCi08L2JvZHk+Ci08
L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9h
Y2Nlc3NpYmlsaXR5L2Rpc2FibGVkLXN0YXRlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZGlz
YWJsZWQtc3RhdGVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZGlzYWJsZWQtc3Rh
dGVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICswLDAgQEAKLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAyNjogVHlwZUVycm9yOiBIVE1MUGFyYWdyYXBoRWxlbWVudCBpcyBub3Qg
YSBmdW5jdGlvbiAoZXZhbHVhdGluZyAnZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB0aGF0cyBkaXNh
YmxlZCBhbmQgYXJpYS1kaXNhYmxlZCBjaGFuZ2UgdGhlIHRyYWl0cyByZXR1cm5lZC4iKScpCi1i
dXR0b24gMQotYnV0dG9uIDIKLWJ1dHRvbiAzCi0gCi0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2Rpc2FibGVkLXN0YXRlcy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9h
Y2Nlc3NpYmlsaXR5L2Rpc2FibGVkLXN0YXRlcy5odG1sCShyZXZpc2lvbiAxNzk4MTkpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9kaXNh
YmxlZC1zdGF0ZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw1NiArMCwwIEBACi08IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgot
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSBmYWxzZTsKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotCi08ZGl2IGlkPSJidXR0b24x
IiB0YWJpbmRleD0iMCIgcm9sZT0iYnV0dG9uIiBhcmlhLWRpc2FibGVkPSJ0cnVlIj5idXR0b24g
MTwvZGl2PgotPGRpdiBpZD0iYnV0dG9uMiIgdGFiaW5kZXg9IjAiIHJvbGU9ImJ1dHRvbiIgYXJp
YS1kaXNhYmxlZD0iZmFsc2UiPmJ1dHRvbiAyPC9kaXY+Ci08ZGl2IGlkPSJidXR0b24zIiB0YWJp
bmRleD0iMCIgcm9sZT0iYnV0dG9uIj5idXR0b24gMzwvZGl2PgotCi08c2VsZWN0IGRpc2FibGVk
IHRhYmluZGV4PSIwIiBpZD0ic2VsZWN0MSI+PG9wdGlvbj4xPC9vcHRpb24+PC9zZWxlY3Q+Ci08
c2VsZWN0IHRhYmluZGV4PSIwIiBpZD0ic2VsZWN0MiI+PG9wdGlvbj4yPC9vcHRpb24+PC9zZWxl
Y3Q+Ci0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Ci0KLTxzY3JpcHQ+Ci0KLSAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdGhhdHMgZGlzYWJsZWQg
YW5kIGFyaWEtZGlzYWJsZWQgY2hhbmdlIHRoZSB0cmFpdHMgcmV0dXJuZWQuIik7Ci0KLSAgIGlm
ICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJidXR0b24xIikuZm9jdXMoKTsKLSAgICAgICB2YXIgYnRuMSA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotCi0gICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImJ1dHRvbjIiKS5mb2N1cygpOwotICAgICAgIHZhciBidG4yID0gYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0gICAgICAgc2hvdWxkQmUoImJ0bjEu
aXBob25lVHJhaXRzICE9IGJ0bjIuaXBob25lVHJhaXRzIiwgInRydWUiKTsKLQotICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJidXR0b24zIikuZm9jdXMoKTsKLSAgICAgICB2YXIgYnRu
MyA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotICAgICAgIHNob3Vs
ZEJlKCJidG4yLmlwaG9uZVRyYWl0cyA9PSBidG4zLmlwaG9uZVRyYWl0cyIsICJ0cnVlIik7Ci0K
LSAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0MSIpLmZvY3VzKCk7Ci0gICAg
ICAgdmFyIHNlbGVjdDEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsK
LQotICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWxlY3QyIikuZm9jdXMoKTsKLSAg
ICAgICB2YXIgc2VsZWN0MiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50
OwotCi0gICAgICAgc2hvdWxkQmUoInNlbGVjdDEuaXBob25lVHJhaXRzICE9IHNlbGVjdDIuaXBo
b25lVHJhaXRzIiwgInRydWUiKTsKLSAgIH0KLQotICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZG9tLWZv
Y3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZG9t
LWZvY3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3
OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3Np
YmlsaXR5L2RvbS1mb2N1cy1maXJlcy1vbi1jb3JyZWN0LWVsZW1lbnQtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDE2ICswLDAgQEAKLWxpbmsxCi1oZWFkaW5nMQotCi1UaGlzIHRl
c3RzIHRoYXQgYWNjZXNzaWJpbGl0eUVsZW1lbnREaWRCZWNvbWVGb2N1c2VkIHdpbGwgYmUgcHJv
cGFnYXRlZCB0byB0aGUgY29ycmVjdCBwYXJlbnQgYW5kIGNhdXNlIERPTSBmb2N1cyB0byBmaXJl
IG9uIHRoZSBjb3JyZWN0IGVsZW1lbnRzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotUEFTUyB0ZXh0SW5zaWRlTGluay5pcGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogbGluazEnCi1Q
QVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmNoaWxkQXRJbmRleCgw
KS5pc0VxdWFsKHRleHRJbnNpZGVMaW5rKSBpcyB0cnVlCi1QQVNTIHRleHRJbnNpZGVIZWFkaW5n
LmlwaG9uZUxhYmVsIGlzICdBWExhYmVsOiBoZWFkaW5nMScKLVBBU1MgYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmlzRXF1YWwodGV4dEluc2lk
ZUhlYWRpbmcpIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS9kb20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1lbGVtZW50Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvZG9tLWZvY3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC5odG1sCShyZXZp
c2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQv
YWNjZXNzaWJpbGl0eS9kb20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1lbGVtZW50Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsNTIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgaWQ9
ImJvZHkiPgotCi0KLTxhIGlkPSJsaW5rMSIgaHJlZj0iIyI+bGluazE8L2E+Ci0KLTxoMSBpZD0i
aGVhZGluZzEiIHRhYmluZGV4PTA+aGVhZGluZzE8L2gxPgotCi08cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdHMgdGhhdCBhY2Nlc3NpYmlsaXR5RWxlbWVudERpZEJlY29tZUZvY3Vz
ZWQgd2lsbCBiZSBwcm9wYWdhdGVkIHRvIHRoZSBjb3JyZWN0IHBhcmVudCBhbmQgY2F1c2UgRE9N
IGZvY3VzIHRvIGZpcmUgb24gdGhlIGNvcnJlY3QgZWxlbWVudHMuIik7Ci0KLQotICAgIGlmICh3
aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAgICB2YXIgYm9keSA9IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50OwotCi0gICAgICAgIC8vIEdldCBhY2Nl
c3MgdG8gdGhlIHRleHQgaW5zaWRlIHRoZSBsaW5rLgotICAgICAgICB2YXIgdGV4dEluc2lkZUxp
bmsgPSBib2R5LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDAp
OwotICAgICAgICBzaG91bGRCZSgidGV4dEluc2lkZUxpbmsuaXBob25lTGFiZWwiLCAiJ0FYTGFi
ZWw6IGxpbmsxJyIpOwotCi0gICAgICAgIC8vIFNpbXVsYXRlIFZvaWNlT3ZlciBmb2N1cyBvbnRv
IHRoZSBlbGVtZW50LgotICAgICAgICB0ZXh0SW5zaWRlTGluay5hc3Npc3RpdmVUZWNobm9sb2d5
U2ltdWxhdGVkRm9jdXMoKTsKLQotICAgICAgICAvLyBUaGUgbmV3IGZvY3VzZWQgZWxlbWVudCBz
aG91bGQgbm93IGJlIHRoZSBsaW5rIGl0c2VsZi4KLSAgICAgICAgc2hvdWxkQmVUcnVlKCJhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuaXNFcXVh
bCh0ZXh0SW5zaWRlTGluaykiKTsKLQotICAgICAgICAvLyBSZXBlYXQgZm9yIHRleHQgaW5zaWRl
IGxpbmsgaW5zaWRlIGhlYWRpbmcuCi0KLSAgICAgICAgLy8gR2V0IGFjY2VzcyB0byB0aGUgdGV4
dCBpbnNpZGUgdGhlIGxpbmsuCi0gICAgICAgIHZhciB0ZXh0SW5zaWRlSGVhZGluZyA9IGJvZHku
Y2hpbGRBdEluZGV4KDEpLmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAgc2hvdWxkQmUoInRleHRJ
bnNpZGVIZWFkaW5nLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiBoZWFkaW5nMSciKTsKLQotICAg
ICAgICAvLyBTaW11bGF0ZSBWb2ljZU92ZXIgZm9jdXMgb250byB0aGUgZWxlbWVudC4KLSAgICAg
ICAgdGV4dEluc2lkZUhlYWRpbmcuYXNzaXN0aXZlVGVjaG5vbG9neVNpbXVsYXRlZEZvY3VzKCk7
Ci0KLSAgICAgICAgLy8gVGhlIG5ldyBmb2N1c2VkIGVsZW1lbnQgc2hvdWxkIG5vdyBiZSB0aGUg
bGluayBpdHNlbGYuCi0gICAgICAgIHNob3VsZEJlVHJ1ZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmlzRXF1YWwodGV4dEluc2lkZUhlYWRp
bmcpIik7Ci0gICAgfQotCi08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZWxl
bWVudC1wYXRocy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZWxlbWVudC1wYXRocy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0t
ZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2VsZW1lbnQtcGF0aHMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDM1ICswLDAgQEAKLSAKLVRoaXMgdGVzdHMgU1ZHIGdyb3VwIGVsZW1l
bnRzIGFyZSBhY2Nlc3NpYmxlIGFuZCB0aGF0IHRoZSBzdmc6dGl0bGUgZWxlbWVudCBpcyByZXR1
cm5lZCBwcm9wZXJseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVNWRyBwYXRo
IGRlc2NyaXB0aW9uCi1TdGFydCBQYXRoCi0JTW92ZSB0byBwb2ludAotCUxpbmUgdG8KLQlMaW5l
IHRvCi0JQ2xvc2UKLQotTWFwMSBwYXRoIGRlc2NyaXB0aW9uCi1TdGFydCBQYXRoCi0JTW92ZSB0
byBwb2ludAotCUxpbmUgdG8KLQlMaW5lIHRvCi0JTGluZSB0bwotCUxpbmUgdG8KLQlDbG9zZQot
Ci1NYXAyIHBhdGggZGVzY3JpcHRpb24KLVN0YXJ0IFBhdGgKLQlNb3ZlIHRvIHBvaW50Ci0JQ3Vy
dmUgdG8KLQlDdXJ2ZSB0bwotCUN1cnZlIHRvCi0JQ3VydmUgdG8KLQlDbG9zZQotCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZWxlbWVudC1w
YXRocy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2VsZW1lbnQtcGF0aHMuaHRtbAkocmV2aXNpb24gMTc5ODE5
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxp
dHkvZWxlbWVudC1wYXRocy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5IGlkPSJib2R5Ij4KLQotPHN2ZyB4bWxucz0iaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+Ci0gIDxwYXRoIHJvbGU9ImJ1dHRvbiIg
aWQ9InN2ZyIgZD0iTTE1MCAwIEw3NSAyMDAgTDIyNSAyMDAgWiIgLz4KLTwvc3ZnPgotCi08bWFw
IG5hbWU9ImltYWdlbWFwMSI+Ci0gICAgPEFSRUEgaWQ9Im1hcDEiIHNoYXBlPSJwb2x5Z29uIiBj
b29yZHM9IjkwLDI1LDE2MiwyNiwxNjMsOTYsODksMjUsOTAsMjQiIGhyZWY9InRyaWFuZ2xlLmh0
bWwiPgotICAgIDxBUkVBIGlkPSJtYXAyIiBzaGFwZT0iY2lyY2xlIiBjb29yZHM9IjEzMCwzMDQs
MTEwIiBocmVmPSJjaXJjbGUuaHRtbCI+Ci08L21hcD4KLQotPGltZyBzcmM9InJlc291cmNlcy9j
YWtlLnBuZyIgIGJvcmRlcj0iMCIgYWxpZ249ImxlZnQiIHVzZW1hcD0iI2ltYWdlbWFwMSIgdnNw
YWNlPSIxIj4KLQotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyBTVkcgZ3JvdXAgZWxlbWVudHMgYXJlIGFjY2Vzc2libGUg
YW5kIHRoYXQgdGhlIHN2Zzp0aXRsZSBlbGVtZW50IGlzIHJldHVybmVkIHByb3Blcmx5LiIpOwot
Ci0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAgICAg
dmFyIHN2ZyA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgi
c3ZnIik7Ci0gICAgICAgICAgZGVidWcoIlNWRyBwYXRoIGRlc2NyaXB0aW9uIiArIHN2Zy5wYXRo
RGVzY3JpcHRpb24pOwotCi0gICAgICAgICAgdmFyIG1hcDEgPSBhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoIm1hcDEiKTsKLSAgICAgICAgICBkZWJ1ZygiTWFw
MSBwYXRoIGRlc2NyaXB0aW9uIiArIG1hcDEucGF0aERlc2NyaXB0aW9uKTsKLQotICAgICAgICAg
IHZhciBtYXAyID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KCJtYXAyIik7Ci0gICAgICAgICAgZGVidWcoIk1hcDIgcGF0aCBkZXNjcmlwdGlvbiIgICsgbWFw
Mi5wYXRoRGVzY3JpcHRpb24pOwotICAgIH0KLQotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nl
c3NpYmlsaXR5L2ZpbGUtdXBsb2FkLWJ1dHRvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZmls
ZS11cGxvYWQtYnV0dG9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZmlsZS11cGxv
YWQtYnV0dG9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMiArMCwwIEBACi0K
LVRoaXMgdGVzdHMgdGhhdCB0aGUgbGFiZWwgYW5kIHZhbHVlIGFyZSBjb3JyZWN0IGZvciBpbnB1
dCBmaWxlIHR5cGVzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBidXR0
b24xLmlwaG9uZUxhYmVsIGlzICdBWExhYmVsOiBDaG9vc2UgRmlsZScKLVBBU1MgYnV0dG9uMS5p
cGhvbmVWYWx1ZSBpcyAnQVhWYWx1ZTogbm8gZmlsZSBzZWxlY3RlZCcKLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9maWxlLXVwbG9hZC1idXR0
b24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJl
Y2F0ZWQvYWNjZXNzaWJpbGl0eS9maWxlLXVwbG9hZC1idXR0b24uaHRtbAkocmV2aXNpb24gMTc5
ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2li
aWxpdHkvZmlsZS11cGxvYWQtYnV0dG9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzQgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsK
LTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgaWQ9ImJvZHkiPgotCi08aW5wdXQgaWQ9ImZpbGUt
aW5wdXQiIHR5cGU9ImZpbGUiLz4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3RzIHRoYXQgdGhlIGxhYmVsIGFuZCB2YWx1ZSBhcmUgY29ycmVjdCBmb3IgaW5wdXQgZmlsZSB0
eXBlcy4iKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQot
ICAgICAgICB2YXIgYnV0dG9uMSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVF
bGVtZW50QnlJZCgiZmlsZS1pbnB1dCIpOwotICAgICAgICBzaG91bGRCZSgiYnV0dG9uMS5pcGhv
bmVMYWJlbCIsICInQVhMYWJlbDogQ2hvb3NlIEZpbGUnIik7Ci0gICAgICAgIHNob3VsZEJlKCJi
dXR0b24xLmlwaG9uZVZhbHVlIiwgIidBWFZhbHVlOiBubyBmaWxlIHNlbGVjdGVkJyIpOwotICAg
IH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotCi08
L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2ZvY3VzLWNoYW5nZS1ub3RpZmljYXRpb25zLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS9mb2N1cy1jaGFuZ2Utbm90aWZpY2F0aW9ucy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVj
YXRlZC9hY2Nlc3NpYmlsaXR5L2ZvY3VzLWNoYW5nZS1ub3RpZmljYXRpb25zLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNCArMCwwIEBACi1IMQotCi1IMgotCi1UaGlzIHRlc3Rz
IHRoYXQgbm90aWZpY2F0aW9ucyBhcmUgZmlyZWQgZm9yIGZvY3VzIGNoYW5nZXMKLQotT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgYWRkZWROb3RpZmljYXRpb24gaXMgdHJ1ZQot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2Zv
Y3VzLWNoYW5nZS1ub3RpZmljYXRpb25zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZm9jdXMtY2hhbmdlLW5v
dGlmaWNhdGlvbnMuaHRtbAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZm9jdXMtY2hhbmdlLW5vdGlmaWNh
dGlvbnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw1NSArMCwwIEBACi08IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keSBpZD0iYm9keSI+Ci0KLTxoMSB0YWJpbmRleD0wIGlkPSJoMSI+SDE8L2gxPgotPGgy
IHRhYmluZGV4PTAgaWQ9ImgyIj5IMjwvaDI+Ci0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgot
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0cyB0aGF0IG5vdGlmaWNhdGlvbnMgYXJlIGZpcmVkIGZvciBmb2N1cyBjaGFuZ2Vz
Iik7Ci0KLSAgICB2YXIgZm9jdXNDaGFuZ2VDb3VudCA9IDA7Ci0gICAgdmFyIHJvb3RFbGVtZW50
ID0gMDsKLSAgICBmdW5jdGlvbiBmb2N1c0NhbGxiYWNrKG5vdGlmaWNhdGlvbikgewotICAgICAg
ICBpZiAobm90aWZpY2F0aW9uID09ICJBWEZvY3VzQ2hhbmdlZCIpIHsKLSAgICAgICAgICAgIGZv
Y3VzQ2hhbmdlQ291bnQrKzsKLQotICAgICAgICAgICAgLy8gV2Ugc2hvdWxkIGdldCBhIHRvdGFs
IG9mIDIgZm9jdXMgY2hhbmdlcy4KLSAgICAgICAgICAgIGlmIChmb2N1c0NoYW5nZUNvdW50ID09
IDIpIHsKLSAgICAgICAgICAgICAgIHJvb3RFbGVtZW50LnJlbW92ZU5vdGlmaWNhdGlvbkxpc3Rl
bmVyKCk7Ci0gICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2li
aWxpdHlDb250cm9sbGVyKSB7Ci0gICAgICAgIC8vIE1ha2Ugc3VyZSBBWCBnZXRzIHR1cm5lZCBv
bi4KLSAgICAgICAgcm9vdEVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxl
bWVudDsKLSAgICAgICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi0gICAg
ICAgIHZhciBhZGRlZE5vdGlmaWNhdGlvbiA9IHJvb3RFbGVtZW50LmFkZE5vdGlmaWNhdGlvbkxp
c3RlbmVyKGZvY3VzQ2FsbGJhY2spOwotICAgICAgICBzaG91bGRCZSgiYWRkZWROb3RpZmljYXRp
b24iLCAidHJ1ZSIpOwotCi0gICAgICAgIC8vIFN3aXRjaCBmb2N1cyBmcm9tIGgxLgotICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaDIiKS5mb2N1cygpOwotICAgICAgICAvLyBDYXVz
ZSBmb2N1cyBjaGFuZ2UgdG8gYmUgc2VudCB0byBoMS4KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImgxIikuZm9jdXMoKTsKLQotICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvaGVhZGVyLWVs
ZW1lbnRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9oZWFkZXItZWxlbWVudHMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRl
cHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9oZWFkZXItZWxlbWVudHMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDEzICswLDAgQEAKLVRoaXMgdGVzdCBtYWtlcyBzdXJlIGFza2luZyBm
b3IgdGhlIGhlYWRlciBlbGVtZW50IGZvciBhIGNlbGwsIHdpbGwgcmV0dXJuIHRoZSBoZWFkZXIg
ZWxlbWVudAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBidXR0b24uaGVh
ZGVyRWxlbWVudEF0SW5kZXgoMCkuaXNFcXVhbChoZWFkZXIpIGlzIHRydWUKLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotaGVhZGVyIDEJaGVhZGVyIDIJ
aGVhZGVyIDMKLWNlbGwgMQljZWxsIDIJY2VsbCAzCi1jZWxsIDQJY2VsbCA1CWNlbGwKLTYKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L2hlYWRlci1lbGVtZW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2hlYWRlci1lbGVtZW50cy5odG1sCShy
ZXZpc2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS9oZWFkZXItZWxlbWVudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MSw0MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IGZhbHNlOwotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotCi08dGFibGUgYm9yZGVyPTE+Ci08dHI+
PHRoPmhlYWRlciAxPC90aD48dGg+aGVhZGVyIDI8L3RoPjx0aCB0YWJpbmRleD0wIGlkPSJoZWFk
ZXIiPmhlYWRlciAzPC90aD48L3RyPgotPHRyPjx0ZD5jZWxsIDE8L3RkPjx0ZD5jZWxsIDI8L3Rk
Pjx0ZD5jZWxsIDM8L3RkPjwvdHI+Ci08dHI+PHRkPmNlbGwgNDwvdGQ+PHRkPmNlbGwgNTwvdGQ+
PHRkPmNlbGwgPGRpdiByb2xlPSJidXR0b24iIGlkPSJidXR0b24iIHRhYmluZGV4PTA+NjwvZGl2
PjwvdGQ+PC90cj4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbWFrZXMg
c3VyZSBhc2tpbmcgZm9yIHRoZSBoZWFkZXIgZWxlbWVudCBmb3IgYSBjZWxsLCB3aWxsIHJldHVy
biB0aGUgaGVhZGVyIGVsZW1lbnQiKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIpIHsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uIiku
Zm9jdXMoKTsKLSAgICAgICAgdmFyIGJ1dHRvbiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZv
Y3VzZWRFbGVtZW50OwotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoZWFkZXIi
KS5mb2N1cygpOwotICAgICAgICB2YXIgaGVhZGVyID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
Zm9jdXNlZEVsZW1lbnQ7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgiYnV0dG9uLmhlYWRlckVsZW1l
bnRBdEluZGV4KDApLmlzRXF1YWwoaGVhZGVyKSIpOwotICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotCi08L2JvZHk+Ci08L2h0bWw+Ci0KSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L2lkZW50aWZpZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2lkZW50aWZpZXItZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRl
cHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9pZGVudGlmaWVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSwxMSArMCwwIEBACi1idXR0b24gMQotVGhpcyB0ZXN0cyB0aGF0IGlkIG1hcHMg
dG8gQVhJZGVudGlmaWVyIGNvcnJlY3RseQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotUEFTUyBidXR0b24xLmlwaG9uZUlkZW50aWZpZXIgaXMgJ0FYSWRlbnRpZmllcjogYnV0dG9u
MScKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9pZGVudGlmaWVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvaWRlbnRpZmllci5odG1sCShyZXZpc2lvbiAx
Nzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNz
aWJpbGl0eS9pZGVudGlmaWVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzcgKzAsMCBAQAot
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLQotPGRpdiB0YWJpbmRleD0iMCIgaWQ9ImJ1dHRvbjEiIHJvbGU9
ImJ1dHRvbiIgYXJpYS1zZWxlY3RlZD0idHJ1ZSI+YnV0dG9uIDE8L2Rpdj4KLQotPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQot
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgaWQgbWFwcyB0byBBWElkZW50aWZpZXIg
Y29ycmVjdGx5Iik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7
Ci0KLSAgICAgICAgLy8gTWFrZSBzdXJlIGEgY2hlY2tib3ggd2l0aCBhIGxhYmVsIERPRVMgTk9U
IGhhdmUgdGhlIHNhbWUgY2VudGVyIHBvaW50IGFzIHRoZSBmcmFtZQotICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uMSIpLmZvY3VzKCk7Ci0gICAgICAgIHZhciBidXR0b24x
ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0gICAgICAgIHNob3Vs
ZEJlKCJidXR0b24xLmlwaG9uZUlkZW50aWZpZXIiLCAiJ0FYSWRlbnRpZmllcjogYnV0dG9uMSci
KTsKLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0K
LTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KLQotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
c2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9pbnRlcm5hbC1saW5rLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNj
ZXNzaWJpbGl0eS9pbnRlcm5hbC1saW5rLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5ODE5KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkv
aW50ZXJuYWwtbGluay1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTggKzAsMCBA
QAotTmFtZSAKLQotCi0KLQotCi0KLUxpbmtlZCBFbGVtZW50Ci1UaGlzIHRlc3QgdGhhdHMgaW50
ZXJuYWwgbGlua3MgcmV0dXJuIHRoZWlyIGxpbmtlZCBlbGVtZW50cwotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyBsaW5rLmxpbmtlZEVsZW1lbnQoKS5pcGhvbmVMYWJlbCBp
cyAnQVhMYWJlbDogTGlua2VkIEVsZW1lbnQnCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNp
bS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvaW50ZXJuYWwtbGluay5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L2ludGVybmFsLWxpbmsuaHRtbAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvaW50ZXJuYWwtbGluay5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0KLTxh
IGhyZWY9IiNuYW1lMSIgaWQ9Im5hbWUiPk5hbWU8L2E+Ci0KLTxCUj48QlI+PEJSPjxCUj4KLTxC
Uj48QlI+PEJSPgotPGEgbmFtZT0ibmFtZTEiPkxpbmtlZCBFbGVtZW50PC9hPgotCi0KLTxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+
Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHRoYXRzIGludGVybmFsIGxpbmtzIHJldHVy
biB0aGVpciBsaW5rZWQgZWxlbWVudHMiKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIpIHsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmFtZSIp
LmZvY3VzKCk7Ci0gICAgICAgIHZhciBsaW5rID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9j
dXNlZEVsZW1lbnQ7Ci0gICAgICAgIHNob3VsZEJlKCJsaW5rLmxpbmtlZEVsZW1lbnQoKS5pcGhv
bmVMYWJlbCIsICInQVhMYWJlbDogTGlua2VkIEVsZW1lbnQnIik7Ci0gICAgfQotCi0gICAgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRt
bD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vz
c2liaWxpdHkvbGFuZG1hcmstdHlwZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbGFuZG1hcmst
dHlwZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2xhbmRtYXJrLXR5cGUtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEzICswLDAgQEAKLXRleHQKLXRleHQKLVRoaXMg
dGVzdHMgdGhhdCBsYW5kbWFya3MgcmV0dXJuIHRoZWlyIHR5cGUgYXMgcGFydCBvZiB0aGUgQVgg
bGFiZWwuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIG1haW4uaXBob25l
TGFiZWwgaXMgJ0FYTGFiZWw6IG1haW4nCi1QQVNTIGJhbm5lci5pcGhvbmVMYWJlbCBpcyAnQVhM
YWJlbDogYmFubmVyJwotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9h
Y2Nlc3NpYmlsaXR5L2xhbmRtYXJrLXR5cGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9sYW5kbWFyay10eXBl
Lmh0bWwJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0t
ZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2xhbmRtYXJrLXR5cGUuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMSw0MSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IGZhbHNlOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci0KLTxk
aXYgcm9sZT0ibWFpbiIgaWQ9Im1haW4iPgotdGV4dAotPC9kaXY+Ci0KLTxkaXYgcm9sZT0iYmFu
bmVyIiBpZD0iYmFubmVyIj4KLXRleHQKLTwvZGl2PgotCi08cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdHMgdGhhdCBsYW5kbWFya3MgcmV0dXJuIHRoZWlyIHR5cGUgYXMgcGFydCBv
ZiB0aGUgQVggbGFiZWwuIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9s
bGVyKSB7Ci0KLSAgICAgICAgdmFyIG1haW4gPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nl
c3NpYmxlRWxlbWVudEJ5SWQoIm1haW4iKTsKLSAgICAgICAgc2hvdWxkQmUoIm1haW4uaXBob25l
TGFiZWwiLCAiJ0FYTGFiZWw6IG1haW4nIik7Ci0KLSAgICAgICAgdmFyIGJhbm5lciA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiYmFubmVyIik7Ci0gICAg
ICAgIHNob3VsZEJlKCJiYW5uZXIuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IGJhbm5lciciKTsK
LSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1k
ZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbGluay13aXRoLWltYWdlcy10ZXh0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQv
YWNjZXNzaWJpbGl0eS9saW5rLXdpdGgtaW1hZ2VzLXRleHQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNj
ZXNzaWJpbGl0eS9saW5rLXdpdGgtaW1hZ2VzLXRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDEyICswLDAgQEAKLSAgaVBob25lRnJvbSAkOTkKLVRoaXMgdGVzdCBtYWtlcyBz
dXJlIHRoYXQgYSBsaW5rIHdpdGggaW1hZ2VzIGFuZCB0ZXh0IGFwcGVhcnMgYXMgYSBsaW5rLgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBvYmouaXBob25lSXNFbGVtZW50
IGlzIHRydWUKLUZBSUwgb2JqLmlwaG9uZUxhYmVsIHNob3VsZCBiZSBBWExhYmVsOiAgaVBob25l
RnJvbSAkOTkuIFdhcyBBWExhYmVsOiBpUGhvbmUgRnJvbSAkOTkuCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbGluay13aXRoLWltYWdlcy10
ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXBy
ZWNhdGVkL2FjY2Vzc2liaWxpdHkvbGluay13aXRoLWltYWdlcy10ZXh0Lmh0bWwJKHJldmlzaW9u
IDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nl
c3NpYmlsaXR5L2xpbmstd2l0aC1pbWFnZXMtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
ZmFsc2U7Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0KLTxhIGhyZWY9InN0b3JlLmh0bWwiPgot
PHNwYW4+Ci08aW1nIHNyYz0iaW1hZ2UuZ2lmIiB3aWR0aD0xMDAgaGVpZ2h0PTEwMCBhbHQ9IiI+
Ci08c3Ryb25nPmlQaG9uZTwvc3Ryb25nPkZyb20gJDk5PC9zcGFuPiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi08L2E+Ci0KLTxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBhIGxpbmsgd2l0aCBpbWFn
ZXMgYW5kIHRleHQgYXBwZWFycyBhcyBhIGxpbmsuIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vz
c2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICAgdmFyIG9iaiA9IGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7Ci0g
ICAgICAgIHNob3VsZEJlKCJvYmouaXBob25lSXNFbGVtZW50IiwgInRydWUiKTsKLSAgICAgICAg
c2hvdWxkQmUoIm9iai5pcGhvbmVMYWJlbCIsICInQVhMYWJlbDogIGlQaG9uZUZyb20gJDk5JyIp
OwotICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQot
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgotCi08L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2xpbmstd2l0aC1vbmx5LWltYWdlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS9saW5rLXdpdGgtb25seS1pbWFnZS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9h
Y2Nlc3NpYmlsaXR5L2xpbmstd2l0aC1vbmx5LWltYWdlLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSwxMiArMCwwIEBACi0gCi1UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGEgbGlu
ayB3aXRoIG9ubHkgYW4gaW1hZ2Ugd2lsbCByZXBvcnQgdGhlIGNvcnJlY3QgbGFiZWwuCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIG9iai5pcGhvbmVJc0VsZW1lbnQgaXMg
dHJ1ZQotUEFTUyBvYmouaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6IEhlbGxvIFdvcmxkJwotUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2xpbmst
d2l0aC1vbmx5LWltYWdlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbGluay13aXRoLW9ubHktaW1hZ2UuaHRt
bAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXBy
ZWNhdGVkL2FjY2Vzc2liaWxpdHkvbGluay13aXRoLW9ubHktaW1hZ2UuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMSwzOCArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IGZhbHNlOwotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotCi08YSBocmVmPSJzdG9y
ZS5odG1sIj4KLTxpbWcgc3JjPSJpbWFnZS5naWYiIHdpZHRoPTEwMCBoZWlnaHQ9MTAwIGFsdD0i
SGVsbG8gV29ybGQiPgotPC9hPgotCi08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCBtYWtlcyBzdXJlIHRoYXQgYSBsaW5rIHdpdGggb25seSBhbiBpbWFnZSB3aWxsIHJlcG9ydCB0
aGUgY29ycmVjdCBsYWJlbC4iKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIpIHsKLQotICAgICAgICB2YXIgb2JqID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9v
dEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7
Ci0gICAgICAgIHNob3VsZEJlKCJvYmouaXBob25lSXNFbGVtZW50IiwgInRydWUiKTsKLSAgICAg
ICAgc2hvdWxkQmUoIm9iai5pcGhvbmVMYWJlbCIsICInQVhMYWJlbDogSGVsbG8gV29ybGQnIik7
Ci0gICAgfQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Ci0KLTwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNp
bS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbWF0aC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkv
bWF0aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L21hdGgtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMzICswLDAgQEAKLVJhbWFuIHNjYXR0ZXJpbmcgc3R1ZHkgb2Yg
dGhlIAotRmUKLTEKLXgKLUNvCi14Ci1TYgotMgotIGFuZCAKLTAKLXgKLTEKLSBzaW5nbGUgY3J5
c3RhbHMuCi1UaGlzIHRlc3QgdGhlIG1hdGggcm9sZSB0eXBlIHdpbGwgYmUgYW4gYWNjZXNzaWJp
bGl0eSBlbGVtZW50LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBncm91
cC5jaGlsZHJlbkNvdW50IGlzIDUKLVBBU1MgZ3JvdXAuY2hpbGRBdEluZGV4KDApLmlwaG9uZUxh
YmVsIGlzICdBWExhYmVsOiBSYW1hbiBzY2F0dGVyaW5nIHN0dWR5IG9mIHRoZScKLVBBU1MgZ3Jv
dXAuY2hpbGRBdEluZGV4KDEpLmlwaG9uZUxhYmVsIGlzICdBWExhYmVsOiAgRiBlIHN1YiAxICBt
aW51cyB4LCBlbmQgc3Vic2NyaXB0LiBDIG8gc3ViIHgsIFMgYiBzdWIgMiwgbWF0aCcKLVBBU1Mg
Z3JvdXAuY2hpbGRBdEluZGV4KDIpLmlwaG9uZUxhYmVsIGlzICdBWExhYmVsOiBhbmQnCi1QQVNT
IGdyb3VwLmNoaWxkQXRJbmRleCgzKS5pcGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogICBvcGVuLCAw
ICBsZXNzIHRoYW4gb3IgZXF1YWwgdG8geCAgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEsICBjbG9z
ZSwgbWF0aCcKLVBBU1MgZ3JvdXAuY2hpbGRBdEluZGV4KDQpLmlwaG9uZUxhYmVsIGlzICdBWExh
YmVsOiBzaW5nbGUgY3J5c3RhbHMuJwotUEFTUyBncm91cC5jaGlsZEF0SW5kZXgoMCkuaXBob25l
SXNFbGVtZW50IGlzIHRydWUKLVBBU1MgZ3JvdXAuY2hpbGRBdEluZGV4KDEpLmlwaG9uZUlzRWxl
bWVudCBpcyB0cnVlCi1QQVNTIGdyb3VwLmNoaWxkQXRJbmRleCgyKS5pcGhvbmVJc0VsZW1lbnQg
aXMgdHJ1ZQotUEFTUyBncm91cC5jaGlsZEF0SW5kZXgoMykuaXBob25lSXNFbGVtZW50IGlzIHRy
dWUKLVBBU1MgZ3JvdXAuY2hpbGRBdEluZGV4KDQpLmlwaG9uZUlzRWxlbWVudCBpcyB0cnVlCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbWF0
aC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVj
YXRlZC9hY2Nlc3NpYmlsaXR5L21hdGguaHRtbAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbWF0aC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDk2ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLQotPGRp
diBjbGFzcz0iY29udGVudHMiIGlkPSJncm91cCIgdGFiaW5kZXg9IjAiPgotICAgICAgUmFtYW4g
c2NhdHRlcmluZyBzdHVkeSBvZiB0aGUgIAotICAgICAgPHNwYW4gcm9sZT0ibWF0aCIgYXJpYS1s
YWJlbD0iIEYgZSBzdWIgMSAgbWludXMgeCwgZW5kIHN1YnNjcmlwdC4gQyBvIHN1YiB4LCBTIGIg
c3ViIDIiPgotICAgICAgICA8bWF0aCBhbHR0ZXh0PSIgRiBlIHN1YiAxICBtaW51cyB4LCBlbmQg
c3Vic2NyaXB0LiBDIG8gc3ViIHgsIFMgYiBzdWIgMiIgYXJpYS1oaWRkZW49InRydWUiPgotICAg
ICAgICAgIDxtcm93PgotICAgICAgICAgICAgPG1zdWI+Ci0gICAgICAgICAgICAgIDxtcm93Pgot
ICAgICAgICAgICAgICAgIDxtdGV4dD5GZTwvbXRleHQ+Ci0gICAgICAgICAgICAgIDwvbXJvdz4K
LSAgICAgICAgICAgICAgPG1yb3c+Ci0gICAgICAgICAgICAgICAgPG1uPjE8L21uPgotICAgICAg
ICAgICAgICAgIDxtbz4mI3gyMjEyOzwvbW8+Ci0gICAgICAgICAgICAgICAgPG1pPng8L21pPgot
ICAgICAgICAgICAgICA8L21yb3c+Ci0gICAgICAgICAgICA8L21zdWI+Ci0gICAgICAgICAgICA8
bXN1Yj4KLSAgICAgICAgICAgICAgPG1yb3c+Ci0gICAgICAgICAgICAgICAgPG10ZXh0PkNvPC9t
dGV4dD4KLSAgICAgICAgICAgICAgPC9tcm93PgotICAgICAgICAgICAgICA8bWk+eDwvbWk+Ci0g
ICAgICAgICAgICA8L21zdWI+Ci0gICAgICAgICAgICA8bXN1Yj4KLSAgICAgICAgICAgICAgPG1y
b3c+Ci0gICAgICAgICAgICAgICAgPG10ZXh0PlNiPC9tdGV4dD4KLSAgICAgICAgICAgICAgPC9t
cm93PgotICAgICAgICAgICAgICA8bW4+MjwvbW4+Ci0gICAgICAgICAgICA8L21zdWI+Ci0gICAg
ICAgICAgPC9tcm93PgotICAgICAgICA8L21hdGg+Ci0gICAgICA8L3NwYW4+Ci0gICAgICBhbmQg
Ci0gICAgICA8c3BhbiByb2xlPSJtYXRoIiBhcmlhLWxhYmVsPSIgIG9wZW4sIDAgIGxlc3MgdGhh
biBvciBlcXVhbCB0byB4ICBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMSwgIGNsb3NlIj4KLSAgICAg
ICAgPG1hdGggcm9sZT0icHJlc2VudGF0aW9uIiBhbHR0ZXh0PSIgIG9wZW4sIDAgIGxlc3MgdGhh
biBvciBlcXVhbCB0byB4ICBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMSwgIGNsb3NlIiBhcmlhLWhp
ZGRlbj0idHJ1ZSI+Ci0gICAgICAgICAgPG1yb3c+Ci0gICAgICAgICAgICA8bXJvdz4KLSAgICAg
ICAgICAgICAgPG1vPig8L21vPgotICAgICAgICAgICAgICA8bXJvdz4KLSAgICAgICAgICAgICAg
ICA8bW4+MDwvbW4+Ci0gICAgICAgICAgICAgICAgPG1vPiYjeDIyNjQ7PC9tbz4KLSAgICAgICAg
ICAgICAgICA8bWk+eDwvbWk+Ci0gICAgICAgICAgICAgICAgPG1vPiYjeDIyNjQ7PC9tbz4KLSAg
ICAgICAgICAgICAgICA8bW4+MTwvbW4+Ci0gICAgICAgICAgICAgIDwvbXJvdz4KLSAgICAgICAg
ICAgICAgPG1vPik8L21vPgotICAgICAgICAgICAgPC9tcm93PgotICAgICAgICAgIDwvbXJvdz4K
LSAgICAgICAgPC9tYXRoPgotICAgICAgPC9zcGFuPgotICAgICAgc2luZ2xlIGNyeXN0YWxzLgot
ICAgIDwvZGl2PgotICAKLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB0aGUg
bWF0aCByb2xlIHR5cGUgd2lsbCBiZSBhbiBhY2Nlc3NpYmlsaXR5IGVsZW1lbnQuIik7Ci0KLSAg
IGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJncm91cCIpLmZvY3VzKCk7Ci0gICAgICAgdmFyIGdyb3VwID0gYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0gICAgICAgc2hvdWxkQmUoImdy
b3VwLmNoaWxkcmVuQ291bnQiLCAiNSIpOwotICAgICAgIHNob3VsZEJlKCJncm91cC5jaGlsZEF0
SW5kZXgoMCkuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IFJhbWFuIHNjYXR0ZXJpbmcgc3R1ZHkg
b2YgdGhlJyIpOwotICAgICAgIHNob3VsZEJlKCJncm91cC5jaGlsZEF0SW5kZXgoMSkuaXBob25l
TGFiZWwiLCAiJ0FYTGFiZWw6ICBGIGUgc3ViIDEgIG1pbnVzIHgsIGVuZCBzdWJzY3JpcHQuIEMg
byBzdWIgeCwgUyBiIHN1YiAyLCBtYXRoJyIpOwotICAgICAgIHNob3VsZEJlKCJncm91cC5jaGls
ZEF0SW5kZXgoMikuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IGFuZCciKTsKLSAgICAgICBzaG91
bGRCZSgiZ3JvdXAuY2hpbGRBdEluZGV4KDMpLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiAgIG9w
ZW4sIDAgIGxlc3MgdGhhbiBvciBlcXVhbCB0byB4ICBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMSwg
IGNsb3NlLCBtYXRoJyIpOwotICAgICAgIHNob3VsZEJlKCJncm91cC5jaGlsZEF0SW5kZXgoNCku
aXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IHNpbmdsZSBjcnlzdGFscy4nIik7Ci0KLSAgICAgICBz
aG91bGRCZVRydWUoImdyb3VwLmNoaWxkQXRJbmRleCgwKS5pcGhvbmVJc0VsZW1lbnQiKTsKLSAg
ICAgICBzaG91bGRCZVRydWUoImdyb3VwLmNoaWxkQXRJbmRleCgxKS5pcGhvbmVJc0VsZW1lbnQi
KTsKLSAgICAgICBzaG91bGRCZVRydWUoImdyb3VwLmNoaWxkQXRJbmRleCgyKS5pcGhvbmVJc0Vs
ZW1lbnQiKTsKLSAgICAgICBzaG91bGRCZVRydWUoImdyb3VwLmNoaWxkQXRJbmRleCgzKS5pcGhv
bmVJc0VsZW1lbnQiKTsKLSAgICAgICBzaG91bGRCZVRydWUoImdyb3VwLmNoaWxkQXRJbmRleCg0
KS5pcGhvbmVJc0VsZW1lbnQiKTsKLSAgIH0KLQotICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L21peGVkLWNoZWNrYm94
ZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L21peGVkLWNoZWNrYm94ZXMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJl
Y2F0ZWQvYWNjZXNzaWJpbGl0eS9taXhlZC1jaGVja2JveGVzLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxOSArMCwwIEBACi0xCi0xCi0xCi0KLQotVGhpcyB0ZXN0IG1ha2VzIHN1
cmUgdGhhdCBhIGNoZWNrYm94IChBUklBIG9yIG90aGVyd2lzZSkgcmV0dXJucyBpdHMgc3RhdHVz
IHRocm91Z2ggYWNjZXNzaWJpbGl0eVZhbHVlCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmlwaG9uZVZh
bHVlIGlzICdBWFZhbHVlOiAwJwotUEFTUyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2Vk
RWxlbWVudC5pcGhvbmVWYWx1ZSBpcyAnQVhWYWx1ZTogMScKLVBBU1MgYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuaXBob25lVmFsdWUgaXMgJ0FYVmFsdWU6IDInCi1QQVNT
IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmlwaG9uZVZhbHVlIGlzICdB
WFZhbHVlOiAxJwotUEFTUyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5p
cGhvbmVWYWx1ZSBpcyAnQVhWYWx1ZTogMCcKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2lt
LWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9taXhlZC1jaGVja2JveGVzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxp
dHkvbWl4ZWQtY2hlY2tib3hlcy5odG1sCShyZXZpc2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9taXhlZC1jaGVja2Jv
eGVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLWlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLQotCi08ZGl2IGlkPSJjaGVjazEiIHRhYmluZGV4PTAgcm9sZT0iY2hlY2tib3giIGFyaWEt
Y2hlY2tlZD0iZmFsc2UiPjE8L2Rpdj4KLTxkaXYgaWQ9ImNoZWNrMiIgdGFiaW5kZXg9MCByb2xl
PSJjaGVja2JveCIgYXJpYS1jaGVja2VkPSJ0cnVlIj4xPC9kaXY+Ci08ZGl2IGlkPSJjaGVjazMi
IHRhYmluZGV4PTAgcm9sZT0iY2hlY2tib3giIGFyaWEtY2hlY2tlZD0ibWl4ZWQiPjE8L2Rpdj4K
LQotPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY2hlY2s0IiBjaGVja2VkPjxicj4KLTxpbnB1
dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNoZWNrNSI+PGJyPgotCi0KLTxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBhIGNoZWNrYm94IChBUklBIG9yIG90
aGVyd2lzZSkgcmV0dXJucyBpdHMgc3RhdHVzIHRocm91Z2ggYWNjZXNzaWJpbGl0eVZhbHVlIik7
Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoZWNrMSIpLmZvY3VzKCk7Ci0gICAgICAgIHNob3Vs
ZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5pcGhvbmVWYWx1ZSIs
ICInQVhWYWx1ZTogMCciKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hl
Y2syIikuZm9jdXMoKTsKLSAgICAgICAgc2hvdWxkQmUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmZvY3VzZWRFbGVtZW50LmlwaG9uZVZhbHVlIiwgIidBWFZhbHVlOiAxJyIpOwotCi0gICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGVjazMiKS5mb2N1cygpOwotICAgICAgICBzaG91
bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuaXBob25lVmFsdWUi
LCAiJ0FYVmFsdWU6IDInIik7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNo
ZWNrNCIpLmZvY3VzKCk7Ci0gICAgICAgIHNob3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5mb2N1c2VkRWxlbWVudC5pcGhvbmVWYWx1ZSIsICInQVhWYWx1ZTogMSciKTsKLQotICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hlY2s1IikuZm9jdXMoKTsKLSAgICAgICAgc2hv
dWxkQmUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmlwaG9uZVZhbHVl
IiwgIidBWFZhbHVlOiAwJyIpOwotICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgotCi08L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L25vLWNoaWxkLWxp
bmstaGVhZGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9uby1jaGlsZC1saW5rLWhlYWRlci1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L25vLWNoaWxkLWxpbmstaGVhZGVyLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICswLDAgQEAKLUFMRVJUOiBUZXN0cyBwYXNz
ZWQKLQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNj
ZXNzaWJpbGl0eS9uby1jaGlsZC1saW5rLWhlYWRlci5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L25vLWNoaWxk
LWxpbmstaGVhZGVyLmh0bWwJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L25vLWNoaWxkLWxpbmstaGVhZGVy
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNTIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci0g
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0KLTxhIGhyZWY9IiMiIHRpdGxlPSJMSU5L
Ij48aW1nIGFsdD0iIiBzcmM9ImVtcHR5LnBuZyIgd2lkdGg9MTAwIGhlaWdodD0xMDA+PC9hPgot
Ci08ZGl2IHJvbGU9ImhlYWRpbmciIGFyaWEtbGFiZWw9IkhFQURJTkciIHN0eWxlPSdib3JkZXI6
MXB4IHNvbGlkIGJsYWNrOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4Oyc+PC9kaXY+Ci0KLQot
PHNjcmlwdD4KLQotICAgIC8vZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQg
bGlua3Mgb3IgaGVhZGVycyB0aGF0IGRvbid0IGhhdmUgY2hpbGRyZW4gc3RpbGwgYXBwZWFyIGlu
IGFjY2Vzc2liaWxpdHkuIFRoZSBsaW5rIGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbiBiZWNhdXNlIHRo
ZSBpbWFnZSBhcyBhIHplcm8gbGVuZ3RoIGFsdCB0YWcuIik7Ci0KLSAgICBpZiAod2luZG93LmFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICAgdmFyIG9iaiA9IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7
Ci0gICAgICAgIHZhciBzdWNjZWVkZWQgPSBvYmouaXBob25lSXNFbGVtZW50ICYmIG9iai5pcGhv
bmVMYWJlbCA9PSAiQVhMYWJlbDogTElOSyI7Ci0KLSAgICAgICAgLy8gIHNob3VsZEJlKCJzdWNj
ZWVkZWQiLCAidHJ1ZSIpOwotICAgICAgICB2YXIgZmFpbGVkID0gZmFsc2U7Ci0gICAgICAgIGlm
ICghc3VjY2VlZGVkKSB7Ci0gICAgICAgICAgICBmYWlsZWQgPSB0cnVlOwotICAgICAgICB9Ci0K
LSAgICAgICAgb2JqID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQuY2hpbGRB
dEluZGV4KDEpOwotICAgICAgICBzdWNjZWVkZWQgPSBvYmouaXBob25lSXNFbGVtZW50ICYmIG9i
ai5pcGhvbmVMYWJlbCA9PSAiQVhMYWJlbDogSEVBRElORyI7Ci0gICAgICAgIC8vICBzaG91bGRC
ZSgic3VjY2VlZGVkIiwgInRydWUiKTsKLQotICAgICAgICBpZiAoIXN1Y2NlZWRlZCkgewotICAg
ICAgICAgICBmYWlsZWQgPSB0cnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGZhaWxlZCkK
LSAgICAgICAgICAgIGFsZXJ0KCJUZXN0cyBmYWlsZWQiKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICBhbGVydCgiVGVzdHMgcGFzc2VkIik7Ci0KLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLQotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9ub24t
Y29udGlndW91cy1saW5rLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9ub24tY29udGlndW91cy1s
aW5rLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbm9uLWNvbnRpZ3VvdXMtbGluay1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMiArMCwwIEBACi1BTEVSVDogVGVzdHMg
cGFzc2VkCi1UaGlzIGlzIGEgbGluayB0aGF0IHdvdWxkIG5vcm1hbGx5IGFwcGVhciBhcyBtdWx0
aXBsZSBlbGVtZW50cy4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVj
YXRlZC9hY2Nlc3NpYmlsaXR5L25vbi1jb250aWd1b3VzLWxpbmsuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9u
b24tY29udGlndW91cy1saW5rLmh0bWwJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L25vbi1jb250aWd1b3Vz
LWxpbmsuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0NyArMCwwIEBACi08IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dD4KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLQotPGEgaHJlZj0iIyI+VGhpcyBp
cyBhIGxpbmsgdGhhdCA8Yj53b3VsZDwvYj4gbm9ybWFsbHkgYXBwZWFyIDxiPmFzIG11bHRpcGxl
PC9iPiBlbGVtZW50czwvYT4uCi0KLTxzY3JpcHQ+Ci0KLSAgICAvL2Rlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgbWFrZXMgc3VyZSB0aGF0IG9ubHkgb25lIGVsZW1lbnQgaXMgcmV0dXJuZWQgZm9yIHRo
ZSBsaW5rIG9iamVjdCwgaW5zdGVhZCBvZiBtYW55IGVsZW1lbnRzIHRoYXQgYXJlIGFsbCBsaW5r
cy4iKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAg
ICAgICB2YXIgb2JqID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQuY2hpbGRB
dEluZGV4KDApLmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAgdmFyIHN1Y2NlZWRlZCA9IG9iai5p
cGhvbmVMYWJlbCA9PSAiQVhMYWJlbDogVGhpcyBpcyBhIGxpbmsgdGhhdCB3b3VsZCBub3JtYWxs
eSBhcHBlYXIgYXMgbXVsdGlwbGUgZWxlbWVudHMiOwotICAgICAgICAvLyAgc2hvdWxkQmUoInN1
Y2NlZWRlZCIsICJ0cnVlIik7Ci0gICAgICAgIHZhciBmYWlsZWQgPSBmYWxzZTsKLSAgICAgICAg
aWYgKCFzdWNjZWVkZWQpIHsKLSAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7Ci0gICAgICAgIH0K
LQotICAgICAgICBzdWNjZWVkZWQgPSBvYmouaXBob25lSXNFbGVtZW50OwotICAgICAgICAvLyAg
c2hvdWxkQmUoInN1Y2NlZWRlZCIsICJ0cnVlIik7Ci0KLSAgICAgICAgaWYgKCFzdWNjZWVkZWQp
IHsKLSAgICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChm
YWlsZWQpCi0gICAgICAgICAgICBhbGVydCgiVGVzdHMgZmFpbGVkIik7Ci0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgYWxlcnQoIlRlc3RzIHBhc3NlZCIpOwotCi0gICAgfQotCi0gICAgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi0KLTwvYm9keT4KLTwvaHRtbD4KLQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxp
dHkvb3V0LW9mLWJvdW5kcy1jaGlsZC1hY2Nlc3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L291
dC1vZi1ib3VuZHMtY2hpbGQtYWNjZXNzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5ODE5KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkv
b3V0LW9mLWJvdW5kcy1jaGlsZC1hY2Nlc3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDEwICswLDAgQEAKLXRlc3QKLVRoaXMgbWFrZXMgc3VyZSBpZiBvdXQgb2YgYm91bmRzIHJh
bmdlcyBjb21lIGludG8gYWNjZXNzaWJpbGl0eUVsZW1lbnRBdEluZGV4OiB0aGVuIHdlIGRvbid0
IGNyYXNoLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L291dC1vZi1ib3VuZHMtY2hp
bGQtYWNjZXNzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNp
bS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvb3V0LW9mLWJvdW5kcy1jaGlsZC1hY2Nlc3MuaHRt
bAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXBy
ZWNhdGVkL2FjY2Vzc2liaWxpdHkvb3V0LW9mLWJvdW5kcy1jaGlsZC1hY2Nlc3MuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMSwzNCArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IGZhbHNlOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9k
eSI+Ci0KLTxkaXYgaWQ9Imdyb3VwIiByb2xlPSJncm91cCI+PGJ1dHRvbj50ZXN0PC9idXR0b24+
PC9kaXY+Ci0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyBtYWtlcyBzdXJlIGlmIG91
dCBvZiBib3VuZHMgcmFuZ2VzIGNvbWUgaW50byBhY2Nlc3NpYmlsaXR5RWxlbWVudEF0SW5kZXg6
IHRoZW4gd2UgZG9uJ3QgY3Jhc2guIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlD
b250cm9sbGVyKSB7Ci0KLSAgICAgICAgdmFyIGdyb3VwID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJncm91cCIpOwotCi0gICAgICAgIC8vIERvbid0IGNy
YXNoIQotICAgICAgICBncm91cC5jaGlsZEF0SW5kZXgoOTIyMzM3MjAzNjg1NDc3NTgwNik7Ci0g
ICAgfQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3Bhc3N3b3JkLXZhbHVlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJp
bGl0eS9wYXNzd29yZC12YWx1ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTgxOSkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3Bhc3N3
b3JkLXZhbHVlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMiArMCwwIEBACi0K
LVRoaXMgdGVzdCB0aGF0IGEgcGFzc3dvcmQgZmllbGQgcmV0dXJucyBhIHN0cmluZyBvZiBlcXVh
bCBsZW5ndGggdG8gdGhlIHBhc3N3b3JkLCBidXQgbm90IHRoZSBhY3R1YWwgcGFzc3dvcmQKLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgcGFzcy5pcGhvbmVWYWx1ZS5sZW5n
dGggaXMgcGFzc3dvcmQubGVuZ3RoICsgYXhWYWx1ZS5sZW5ndGgKLVBBU1MgcGFzcy5pcGhvbmVW
YWx1ZSA9PSBwYXNzd29yZCBpcyBmYWxzZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0t
ZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3Bhc3N3b3JkLXZhbHVlLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkv
cGFzc3dvcmQtdmFsdWUuaHRtbAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvcGFzc3dvcmQtdmFsdWUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMSw0MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOwotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotCi08
aW5wdXQgdHlwZT0icGFzc3dvcmQiIGlkPSJwYXNzIiB2YWx1ZT0iYXNkZmFzZGYiPgotCi0KLTxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3Jp
cHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHRoYXQgYSBwYXNzd29yZCBmaWVsZCBy
ZXR1cm5zIGEgc3RyaW5nIG9mIGVxdWFsIGxlbmd0aCB0byB0aGUgcGFzc3dvcmQsIGJ1dCBub3Qg
dGhlIGFjdHVhbCBwYXNzd29yZCIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcikgewotCi0gICAgICAgIHZhciBwYXNzd29yZCA9ICJIZWxsbyBXb3JsZCI7Ci0gICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXNzIikuZm9jdXMoKTsKLSAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3MiKS52YWx1ZSA9IHBhc3N3b3JkOwotICAgICAgICB2
YXIgcGFzcyA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotCi0gICAg
ICAgIHZhciBheFZhbHVlID0gIkFYVmFsdWU6ICI7Ci0gICAgICAgIHNob3VsZEJlKCJwYXNzLmlw
aG9uZVZhbHVlLmxlbmd0aCIsICJwYXNzd29yZC5sZW5ndGggKyBheFZhbHVlLmxlbmd0aCIpOwot
ICAgICAgICBzaG91bGRCZUZhbHNlKCJwYXNzLmlwaG9uZVZhbHVlID09IHBhc3N3b3JkIik7Ci0g
ICAgfQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci0K
LTwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1k
ZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvcGxhY2Vob2xkZXItdmFsdWUtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nl
c3NpYmlsaXR5L3BsYWNlaG9sZGVyLXZhbHVlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5ODE5
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxp
dHkvcGxhY2Vob2xkZXItdmFsdWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEy
ICswLDAgQEAKLQotVGhpcyB0ZXN0IHRoYXQgYSB0ZXh0IGZpZWxkIHdpdGggYSBwbGFjZSBob2xk
ZXIgcmV0dXJucyB0aGUgcGxhY2Vob2xkZXIgYXMgZXhwZWN0ZWQuCi0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1QQVNTIHBhc3Muc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYUGxhY2Vo
b2xkZXJWYWx1ZScpIGlzICdwbGFjZScKLVBBU1MgcGFzcy5pcGhvbmVWYWx1ZSBpcyAnQVhWYWx1
ZTogdmFsJwotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3Np
YmlsaXR5L3BsYWNlaG9sZGVyLXZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvcGxhY2Vob2xkZXItdmFs
dWUuaHRtbAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNp
bS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvcGxhY2Vob2xkZXItdmFsdWUuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IGZhbHNlOwotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotCi08aW5wdXQgdHlw
ZT0idGV4dCIgcGxhY2Vob2xkZXI9InBsYWNlIiBpZD0icGFzcyIgdmFsdWU9J3ZhbCc+Ci0KLQot
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNj
cmlwdD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdGhhdCBhIHRleHQgZmllbGQgd2l0
aCBhIHBsYWNlIGhvbGRlciByZXR1cm5zIHRoZSBwbGFjZWhvbGRlciBhcyBleHBlY3RlZC4iKTsK
LQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzcyIpLmZvY3VzKCk7Ci0gICAgICAgIHZhciBwYXNz
ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0KLSAgICAgICAgc2hv
dWxkQmUoInBhc3Muc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYUGxhY2Vob2xkZXJWYWx1ZScpIiwg
IidwbGFjZSciKTsKLSAgICAgICAgc2hvdWxkQmUoInBhc3MuaXBob25lVmFsdWUiLCAiJ0FYVmFs
dWU6IHZhbCciKTsKLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9z
Y3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9wb3B1cC1idXR0b24tdmFsdWUt
bGFiZWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3BvcHVwLWJ1dHRvbi12YWx1ZS1sYWJlbC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3BvcHVwLWJ1dHRvbi12YWx1ZS1sYWJlbC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTQgKzAsMCBAQAotICAKLVRoaXMgdGVz
dHMgdGhhdCBhIHBvcHVwIGJ1dHRvbiB3aWxsIHJldHVybiB0aGUgc2VsZWN0ZWQgaXRlbSB0aHJv
dWdoIGl0cyB2YWx1ZSBhdHRyaWJ1dGUgaW5zdGVhZCBvZiBpdHMgbGFiZWwgYXR0cmlidXRlLgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBwYXNzLmlwaG9uZVZhbHVlIGlz
ICdBWFZhbHVlOiBpdGVtIDEnCi1QQVNTIHBhc3MuaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6ICcK
LVBBU1MgcGFzcy5pcGhvbmVWYWx1ZSBpcyAnQVhWYWx1ZTogaXRlbSAyJwotUEFTUyBwYXNzLmlw
aG9uZUxhYmVsIGlzICdBWExhYmVsOiBQb3B1cCcKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
c2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9wb3B1cC1idXR0b24tdmFsdWUtbGFiZWwuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQv
YWNjZXNzaWJpbGl0eS9wb3B1cC1idXR0b24tdmFsdWUtbGFiZWwuaHRtbAkocmV2aXNpb24gMTc5
ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2li
aWxpdHkvcG9wdXAtYnV0dG9uLXZhbHVlLWxhYmVsLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEs
NTQgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBm
YWxzZTsKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLQotPHNlbGVjdCBpZD0icG9wIj4KLTxvcHRp
b24+aXRlbSAxPC9vcHRpb24+Ci08b3B0aW9uPml0ZW0gMjwvb3B0aW9uPgotPC9zZWxlY3Q+Ci0K
LTxzZWxlY3QgaWQ9InBvcDIiIGFyaWEtbGFiZWw9IlBvcHVwIj4KLTxvcHRpb24+aXRlbSAxPC9v
cHRpb24+Ci08b3B0aW9uIHNlbGVjdGVkPml0ZW0gMjwvb3B0aW9uPgotPC9zZWxlY3Q+Ci0KLTxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3Jp
cHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGEgcG9wdXAgYnV0dG9uIHdp
bGwgcmV0dXJuIHRoZSBzZWxlY3RlZCBpdGVtIHRocm91Z2ggaXRzIHZhbHVlIGF0dHJpYnV0ZSBp
bnN0ZWFkIG9mIGl0cyBsYWJlbCBhdHRyaWJ1dGUuIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vz
c2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICAgLy8gQ2hlY2sgdGhlIGZpcnN0IHBvcHVw
IGJ1dHRvbi4KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBvcCIpLmZvY3VzKCk7
Ci0gICAgICAgIHZhciBwYXNzID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1l
bnQ7Ci0KLSAgICAgICAgc2hvdWxkQmUoInBhc3MuaXBob25lVmFsdWUiLCAiJ0FYVmFsdWU6IGl0
ZW0gMSciKTsKLSAgICAgICAgc2hvdWxkQmUoInBhc3MuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6
ICciKTsKLQotICAgICAgICAvLyBDaGVjayB0aGUgc2Vjb25kIHBvcHVwIGJ1dHRvbi4KLSAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBvcDIiKS5mb2N1cygpOwotICAgICAgICBwYXNz
ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0KLSAgICAgICAgc2hv
dWxkQmUoInBhc3MuaXBob25lVmFsdWUiLCAiJ0FYVmFsdWU6IGl0ZW0gMiciKTsKLSAgICAgICAg
c2hvdWxkQmUoInBhc3MuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IFBvcHVwJyIpOwotICAgIH0K
LQotICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotCi08L2Jv
ZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVj
YXRlZC9hY2Nlc3NpYmlsaXR5L3Byb2dyZXNzYmFyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9w
cm9ncmVzc2Jhci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3Byb2dyZXNzYmFyLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi1ibGFoCi1UaGlzIHRl
c3RzIHRoYXQgcHJvZ3Jlc3MgYmFycyBzaG93IHVwIGluIHRoZSBBWCBoaWVyYXJjaHkgYW5kIHRo
YXQgbWluLCBjdXJyZW50IGFuZCBtYXggdmFsdWVzIGFyZSByZXBvcnRlZCBjb3JyZWN0bHkuCi0K
LU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGJ1dHRvbjEuaXBob25lTGFiZWwg
aXMgJ0FYTGFiZWw6IFBvcHVsYXJpdHknCi1QQVNTIGJ1dHRvbjEuaXBob25lVmFsdWUgaXMgJ0FY
VmFsdWU6IDUuMDAnCi1QQVNTIGJ1dHRvbjEuaXBob25lSXNFbGVtZW50IGlzIHRydWUKLVBBU1Mg
YnV0dG9uMS5taW5WYWx1ZSBpcyAxCi1QQVNTIGJ1dHRvbjEubWF4VmFsdWUgaXMgMTIKLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9wcm9ncmVz
c2Jhci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3Byb2dyZXNzYmFyLmh0bWwJKHJldmlzaW9uIDE3OTgxOSkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L3Byb2dyZXNzYmFyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzcgKzAsMCBAQAotPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgaWQ9ImJvZHkiPgotCi08ZGl2IGlkPSJwcm9ncmVzc2JhciIgcm9sZT0i
cHJvZ3Jlc3NiYXIiIGFyaWEtbGFiZWw9IlBvcHVsYXJpdHkiIGFyaWEtdmFsdWVtaW49IjEiIGFy
aWEtdmFsdWVub3c9IjUiIGFyaWEtdmFsdWVtYXg9IjEyIj5ibGFoPC9kaXY+Ci0KLTxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0K
LSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IHByb2dyZXNzIGJhcnMgc2hvdyB1cCBp
biB0aGUgQVggaGllcmFyY2h5IGFuZCB0aGF0IG1pbiwgY3VycmVudCBhbmQgbWF4IHZhbHVlcyBh
cmUgcmVwb3J0ZWQgY29ycmVjdGx5LiIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcikgewotCi0gICAgICAgIHZhciBidXR0b24xID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJwcm9ncmVzc2JhciIpOwotICAgICAgICBzaG91
bGRCZSgiYnV0dG9uMS5pcGhvbmVMYWJlbCIsICInQVhMYWJlbDogUG9wdWxhcml0eSciKTsKLSAg
ICAgICAgc2hvdWxkQmUoImJ1dHRvbjEuaXBob25lVmFsdWUiLCAiJ0FYVmFsdWU6IDUuMDAnIik7
Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgiYnV0dG9uMS5pcGhvbmVJc0VsZW1lbnQiKTsKLSAgICAg
ICAgc2hvdWxkQmUoImJ1dHRvbjEubWluVmFsdWUiLCAiMSIpOwotICAgICAgICBzaG91bGRCZSgi
YnV0dG9uMS5tYXhWYWx1ZSIsICIxMiIpOwotICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotCi08L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3JhZGlv
LWJ1dHRvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvcmFkaW8tYnV0dG9uLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXBy
ZWNhdGVkL2FjY2Vzc2liaWxpdHkvcmFkaW8tYnV0dG9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSwxNyArMCwwIEBACi0gICAKLVRoaXMgdGVzdHMgdGhhdCByYWRpbyBidXR0b25z
IGFyZSBleHBvc2VkIGFzIGRpc3RpbmN0IHR5cGVzIGZyb20gY2hlY2tib3hlcywgdGhhdCB0aGV5
IGNhbiByZXBvcnQgdGhlIHJpZ2h0IHZhbHVlIHdoZXRoZXIgaXQncyBjaGVja2VkLCBhbmQgdGhl
eSBjYW4gcmVwb3J0IHRoZXkncmUgcGFydCBvZiBhIGdyb3VwLgotCi1PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCi0KLQotUEFTUyBjaGVja2JveC5pcGhvbmVUcmFpdHMgIT0gcmFkaW8xLmlwaG9u
ZVRyYWl0cyBpcyB0cnVlCi1QQVNTIHJhZGlvMS5pcGhvbmVWYWx1ZSBpcyAnQVhWYWx1ZTogMScK
LVBBU1MgcmFkaW8yLmlwaG9uZVZhbHVlIGlzICdBWFZhbHVlOiAwJwotUEFTUyByYWRpbzMuaXBo
b25lVmFsdWUgaXMgJ0FYVmFsdWU6IDAnCi1QQVNTIHJhZGlvMS5yb3dJbmRleFJhbmdlKCkgaXMg
J3swLCAzfScKLVBBU1MgcmFkaW8yLnJvd0luZGV4UmFuZ2UoKSBpcyAnezEsIDN9JwotUEFTUyBy
YWRpbzMucm93SW5kZXhSYW5nZSgpIGlzICd7MiwgM30nCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvcmFkaW8tYnV0dG9uLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2li
aWxpdHkvcmFkaW8tYnV0dG9uLmh0bWwJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3JhZGlvLWJ1dHRvbi5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5IGlkPSJib2R5Ij4KLQotPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY2hlY2tib3giPgot
PGlucHV0IGlkPSJyYWRpbzEiIHR5cGU9InJhZGlvIiBjaGVja2VkIG5hbWU9Imdyb3VwIj4KLTxp
bnB1dCBpZD0icmFkaW8yIiB0eXBlPSJyYWRpbyIgbmFtZT0iZ3JvdXAiPgotPGlucHV0IGlkPSJy
YWRpbzMiIHR5cGU9InJhZGlvIiBuYW1lPSJncm91cCI+Ci0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0cyB0aGF0IHJhZGlvIGJ1dHRvbnMgYXJlIGV4cG9zZWQgYXMgZGlzdGlu
Y3QgdHlwZXMgZnJvbSBjaGVja2JveGVzLCB0aGF0IHRoZXkgY2FuIHJlcG9ydCB0aGUgcmlnaHQg
dmFsdWUgd2hldGhlciBpdCdzIGNoZWNrZWQsIGFuZCB0aGV5IGNhbiByZXBvcnQgdGhleSdyZSBw
YXJ0IG9mIGEgZ3JvdXAuIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9s
bGVyKSB7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoZWNrYm94IikuZm9j
dXMoKTsKLSAgICAgICAgdmFyIGNoZWNrYm94ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9j
dXNlZEVsZW1lbnQ7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJhZGlvMSIp
LmZvY3VzKCk7Ci0gICAgICAgIHZhciByYWRpbzEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5m
b2N1c2VkRWxlbWVudDsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmFkaW8y
IikuZm9jdXMoKTsKLSAgICAgICAgdmFyIHJhZGlvMiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmZvY3VzZWRFbGVtZW50OwotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyYWRp
bzMiKS5mb2N1cygpOwotICAgICAgICB2YXIgcmFkaW8zID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQ7Ci0KLSAgICAgICAgLy8gVmVyaWZ5IGNoZWNrYm94IGFuZCByYWRp
byBoYXZlIGRpZmZlcmVudCB0cmFpdHMuCi0gICAgICAgIHNob3VsZEJlVHJ1ZSgiY2hlY2tib3gu
aXBob25lVHJhaXRzICE9IHJhZGlvMS5pcGhvbmVUcmFpdHMiKTsKLQotICAgICAgICAvLyBWZXJp
ZnkgdGhlIHZhbHVlIG9mIHRoZSBjaGVja2VkIHJhZGlvIGl0ZW0gaXMgY29ycmVjdC4KLSAgICAg
ICAgc2hvdWxkQmUoInJhZGlvMS5pcGhvbmVWYWx1ZSIsICInQVhWYWx1ZTogMSciKTsKLSAgICAg
ICAgc2hvdWxkQmUoInJhZGlvMi5pcGhvbmVWYWx1ZSIsICInQVhWYWx1ZTogMCciKTsKLSAgICAg
ICAgc2hvdWxkQmUoInJhZGlvMy5pcGhvbmVWYWx1ZSIsICInQVhWYWx1ZTogMCciKTsKLQotICAg
ICAgICAvLyBWZXJpZnkgdGhlIHJhZGlvIGJ1dHRvbnMgYXJlIHBhcnQgb2YgYSBncm91cC4KLSAg
ICAgICAgc2hvdWxkQmUoInJhZGlvMS5yb3dJbmRleFJhbmdlKCkiLCAiJ3swLCAzfSciKTsKLSAg
ICAgICAgc2hvdWxkQmUoInJhZGlvMi5yb3dJbmRleFJhbmdlKCkiLCAiJ3sxLCAzfSciKTsKLSAg
ICAgICAgc2hvdWxkQmUoInJhZGlvMy5yb3dJbmRleFJhbmdlKCkiLCAiJ3syLCAzfSciKTsKLSAg
ICB9Ci0KLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9zZWN1cmUtdGV4dC1m
aWVsZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc2VjdXJlLXRleHQtZmllbGQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRl
cHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9zZWN1cmUtdGV4dC1maWVsZC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsMiArMCwwIEBACi1BTEVSVDogVGVzdHMgcGFzc2VkCi0gCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9z
ZWN1cmUtdGV4dC1maWVsZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3NlY3VyZS10ZXh0LWZpZWxkLmh0bWwJ
KHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVj
YXRlZC9hY2Nlc3NpYmlsaXR5L3NlY3VyZS10ZXh0LWZpZWxkLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDQgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLTwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci0KLTxpbnB1dCB0eXBlPSJwYXNzd29yZCIgaWQ9InBhc3MiIHNpemU9IjEwIj4K
LTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dCIgc2l6ZT0iMTEiPgotCi0KLTxzY3JpcHQ+Ci0K
LSAgICAvL2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGEgcGFzc3dvcmQg
ZmllbGQgYW5kIGEgdGV4dCBmaWVsZCBkbyBub3QgaGF2ZSB0aGUgc2FtZSB0cmFpdHMgKGJlY2F1
c2UgcGFzc3dvcmQgZmllbGQgaGFzIHNlY3VyZSB0ZXh0IGZpZWxkIHRyYWl0cykiKTsKLQotICAg
IGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAgICB2YXIgcGFz
c2ZpZWxkID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQuY2hpbGRBdEluZGV4
KDApLmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAgdmFyIHRleHRmaWVsZCA9IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMSk7
Ci0gICAgICAgIHZhciBzdWNjZWVkZWQgPSBwYXNzZmllbGQuaXBob25lVHJhaXRzICE9IHRleHRm
aWVsZC5pcGhvbmVUcmFpdHM7Ci0KLSAgICAgICAgLy8gIHNob3VsZEJlKCJzdWNjZWVkZWQiLCAi
dHJ1ZSIpOwotICAgICAgICB2YXIgZmFpbGVkID0gZmFsc2U7Ci0gICAgICAgIGlmICghc3VjY2Vl
ZGVkKSB7Ci0gICAgICAgICAgICBmYWlsZWQgPSB0cnVlOwotICAgICAgICB9Ci0KLSAgICAgICAg
aWYgKGZhaWxlZCkKLSAgICAgICAgICAgIGFsZXJ0KCJUZXN0cyBmYWlsZWQiKTsKLSAgICAgICAg
ZWxzZQotICAgICAgICAgICBhbGVydCgiVGVzdHMgcGFzc2VkIik7Ci0KLSAgICB9Ci0KLSAgICBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLQotPC9ib2R5PgotPC9odG1s
PgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNz
aWJpbGl0eS9zZWxlY3RlZC1idXR0b25zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9zZWxlY3Rl
ZC1idXR0b25zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc2VsZWN0ZWQtYnV0dG9u
cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTcgKzAsMCBAQAotYnV0dG9uIDEK
LWJ1dHRvbiAyCi10YWIgMQotdGFiIDIKLVRoaXMgdGVzdHMgdGhhdCBhcmlhLXNlbGVjdGVkIGJl
aGF2ZXMgYXMgZXhwZWN0ZWQgKGJ5IHJldHVybmluZyB0aGUgcmlnaHQgdHJhaXRzKSBvbiB0YWJz
IGFuZCBidXR0b25zLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotRkFJTCBidXR0
b24xLmlzU2VsZWN0ZWQgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KLVBBU1MgYnV0dG9uMi5p
c1NlbGVjdGVkIGlzIGZhbHNlCi1GQUlMIHRhYjEuaXNTZWxlY3RlZCBzaG91bGQgYmUgdHJ1ZS4g
V2FzIGZhbHNlLgotUEFTUyB0YWIyLmlzU2VsZWN0ZWQgaXMgZmFsc2UKLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9zZWxlY3RlZC1idXR0b25z
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvc2VsZWN0ZWQtYnV0dG9ucy5odG1sCShyZXZpc2lvbiAxNzk4MTkp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9zZWxlY3RlZC1idXR0b25zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNTMgKzAsMCBAQAot
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLQotPGRpdiB0YWJpbmRleD0iMCIgaWQ9ImJ1dHRvbjEiIHJvbGU9
ImJ1dHRvbiIgYXJpYS1zZWxlY3RlZD0idHJ1ZSI+YnV0dG9uIDE8L2Rpdj4KLTxkaXYgdGFiaW5k
ZXg9IjAiIGlkPSJidXR0b24yIiByb2xlPSJidXR0b24iIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj5i
dXR0b24gMjwvZGl2PgotCi08ZGl2IHRhYmluZGV4PSIwIiBpZD0idGFiMSIgcm9sZT0idGFiIiBh
cmlhLXNlbGVjdGVkPSJ0cnVlIj50YWIgMTwvZGl2PgotPGRpdiB0YWJpbmRleD0iMCIgaWQ9InRh
YjIiIHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPnRhYiAyPC9kaXY+Ci0KLTxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+
Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGFyaWEtc2VsZWN0ZWQgYmVoYXZl
cyBhcyBleHBlY3RlZCAoYnkgcmV0dXJuaW5nIHRoZSByaWdodCB0cmFpdHMpIG9uIHRhYnMgYW5k
IGJ1dHRvbnMuIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7
Ci0KLSAgICAgICAgLy8gTWFrZSBzdXJlIGEgY2hlY2tib3ggd2l0aCBhIGxhYmVsIERPRVMgTk9U
IGhhdmUgdGhlIHNhbWUgY2VudGVyIHBvaW50IGFzIHRoZSBmcmFtZQotICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uMSIpLmZvY3VzKCk7Ci0gICAgICAgIHZhciBidXR0b24x
ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0gICAgICAgIHNob3Vs
ZEJlVHJ1ZSgiYnV0dG9uMS5pc1NlbGVjdGVkIik7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImJ1dHRvbjIiKS5mb2N1cygpOwotICAgICAgICB2YXIgYnV0dG9uMiA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotICAgICAgICBzaG91bGRCZUZhbHNl
KCJidXR0b24yLmlzU2VsZWN0ZWQiKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGFiMSIpLmZvY3VzKCk7Ci0gICAgICAgIHZhciB0YWIxID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgidGFiMS5pc1NlbGVj
dGVkIik7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhYjIiKS5mb2N1cygp
OwotICAgICAgICB2YXIgdGFiMiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVt
ZW50OwotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0YWIyLmlzU2VsZWN0ZWQiKTsKLSAgICB9Ci0K
LSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLQotPC9ib2R5
PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS9zZWxlY3RlZC10ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9z
ZWxlY3RlZC10ZXh0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc2VsZWN0ZWQtdGV4
dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTMgKzAsMCBAQAotVGV4dCBiZWZv
cmUKLVRoaXMgaXMgYSB0ZXN0IG9mIFNhZmFyaSB3ZWIgc2VsZWN0aW9uCi1UZXh0IGFmdGVyCi1U
aGlzIHRlc3RzIHRoYXQgYWNjZXNzaWJpbGl0eSBjYW4gcHVsbCBvdXQgdGhlIHNlbGVjdGVkIHRl
eHQKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgZm9jdXNlZEVsZW1lbnQu
c3RyaW5nRm9yU2VsZWN0aW9uIGlzICdUaGlzJwotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3NlbGVjdGVkLXRleHQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9zZWxlY3RlZC10ZXh0Lmh0bWwJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3NlbGVjdGVkLXRleHQuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMSw0NiArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vLi4vZWRpdGluZy9lZGl0aW5nLmpzIiBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0i
dGV4dC9KYXZhU2NyaXB0IiA+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IGZhbHNlOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci0KLVRl
eHQgYmVmb3JlCi08ZGl2IHRhYmluZGV4PTAgaWQ9ImNvbnRhaW5lciI+VGhpcyBpcyBhIHRlc3Qg
b2YgU2FmYXJpIHdlYiBzZWxlY3Rpb248L2Rpdj4KLVRleHQgYWZ0ZXIKLQotPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgYWNjZXNzaWJpbGl0eSBjYW4gcHVsbCBvdXQg
dGhlIHNlbGVjdGVkIHRleHQiKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIpIHsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLmZv
Y3VzKCk7Ci0gICAgICAgIHNldFNlbGVjdGlvbkNvbW1hbmQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2NvbnRhaW5lcicpLCAwLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyks
IDApOwotCi0gICAgICAgIHZhciBmb2N1c2VkRWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmZvY3VzZWRFbGVtZW50OwotCi0gICAgICAgIC8vIFNlbGVjdDogIlRoaXMgaXMiCi0gICAg
ICAgIGZvciAodmFyIGsgPSAwOyBrIDwgNzsgaysrKSAKLSAgICAgICAgICAgIGZvY3VzZWRFbGVt
ZW50LmluY3JlYXNlVGV4dFNlbGVjdGlvbigpOwotCi0gICAgICAgIC8vICJVbnNlbGVjdDogIiBp
cyIKLSAgICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCAzOyBrKyspIAotICAgICAgICAgICAgZm9j
dXNlZEVsZW1lbnQuZGVjcmVhc2VUZXh0U2VsZWN0aW9uKCk7Ci0KLSAgICAgICAgc2hvdWxkQmUo
ImZvY3VzZWRFbGVtZW50LnN0cmluZ0ZvclNlbGVjdGlvbiIsICInVGhpcyciKTsKLSAgICB9Ci0K
LSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVk
L2FjY2Vzc2liaWxpdHkvc3ZnLWdyb3VwLWVsZW1lbnQtd2l0aC10aXRsZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvc3ZnLWdyb3VwLWVsZW1lbnQtd2l0aC10aXRsZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRl
ZC9hY2Nlc3NpYmlsaXR5L3N2Zy1ncm91cC1lbGVtZW50LXdpdGgtdGl0bGUtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLVRoaXMgdGVzdHMgU1ZHIGdyb3VwIGVs
ZW1lbnRzIGFyZSBhY2Nlc3NpYmxlIGFuZCB0aGF0IHRoZSBzdmc6dGl0bGUgZWxlbWVudCBpcyBy
ZXR1cm5lZCBwcm9wZXJseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVZlcmlm
eSB0aGF0IHRoZSBTVkcgZ3JvdXAgaXMgcmV0dXJuZWQgYXMgYW4gYWNjZXNzaWJsZSBlbGVtZW50
LgotUEFTUyBncm91cDEuaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6IFNWRyBUSVRMRSAxJwotUEFT
UyBncm91cDEuaXBob25lSXNFbGVtZW50IGlzIHRydWUKLQotVmVyaWZ5IHRoYXQgeW91IGNhbiBo
aXQtdGVzdCB0byB0aGUgU1ZHIGdyb3VwLgotUEFTUyBoaXRUZXN0RWxlbWVudC5pc0VxdWFsKGdy
b3VwMSkgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9h
Y2Nlc3NpYmlsaXR5L3N2Zy1ncm91cC1lbGVtZW50LXdpdGgtdGl0bGUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9zdmctZ3JvdXAtZWxlbWVudC13aXRoLXRpdGxlLmh0bWwJKHJldmlzaW9uIDE3OTgxOSkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3N2
Zy1ncm91cC1lbGVtZW50LXdpdGgtdGl0bGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzOCAr
MCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci0KLTxzdmcgd2lkdGg9
IjUwMCIgaGVpZ2h0PSIzMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+Ci0g
IDxnIGlkPSJncm91cDEiPgotICAgIDx0aXRsZT5TVkcgVElUTEUgMTwvdGl0bGU+Ci0gICAgPHJl
Y3QgeD0iMTAiIHk9IjEwIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjEwMCIKLSAgICAgIHN0eWxlPSJm
aWxsOm5vbmU7IHN0cm9rZTpibHVlOyBzdHJva2Utd2lkdGg6MXB4Ii8+Ci0gIDwvZz4KLTwvc3Zn
PgotCi08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3RzIFNWRyBncm91cCBlbGVtZW50cyBhcmUgYWNjZXNzaWJsZSBhbmQgdGhh
dCB0aGUgc3ZnOnRpdGxlIGVsZW1lbnQgaXMgcmV0dXJuZWQgcHJvcGVybHkuIik7Ci0KLSAgICBp
ZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICAgICBkZWJ1Zygi
VmVyaWZ5IHRoYXQgdGhlIFNWRyBncm91cCBpcyByZXR1cm5lZCBhcyBhbiBhY2Nlc3NpYmxlIGVs
ZW1lbnQuIik7Ci0gICAgICAgICAgdmFyIGdyb3VwMSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZ3JvdXAxIik7Ci0gICAgICAgICAgc2hvdWxkQmUoImdy
b3VwMS5pcGhvbmVMYWJlbCIsICInQVhMYWJlbDogU1ZHIFRJVExFIDEnIik7Ci0gICAgICAgICAg
c2hvdWxkQmVUcnVlKCJncm91cDEuaXBob25lSXNFbGVtZW50Iik7Ci0KLSAgICAgICAgICBkZWJ1
ZygiXG5WZXJpZnkgdGhhdCB5b3UgY2FuIGhpdC10ZXN0IHRvIHRoZSBTVkcgZ3JvdXAuIik7Ci0g
ICAgICAgICAgdmFyIGhpdFRlc3RFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZWxl
bWVudEF0UG9pbnQoZ3JvdXAxLmNsaWNrUG9pbnRYLCBncm91cDEuY2xpY2tQb2ludFkpOwotICAg
ICAgICAgIHNob3VsZEJlVHJ1ZSgiaGl0VGVzdEVsZW1lbnQuaXNFcXVhbChncm91cDEpIik7Ci0g
ICAgfQotCi08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc3ZnLXBhdGgtY3Jh
c2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3N2Zy1wYXRoLWNyYXNoLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvc3ZnLXBhdGgtY3Jhc2gtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE0ICswLDAgQEAKLQotMzYgdG8gNDUKLVRoaXMgdGVzdHMgdGhhdCBhc2tpbmcg
Zm9yIHRoZSBwYXRoIGZyb20gYSBTVkcgZWxlbWVudCB0aGF0IGRvZXMgbm90IGhhdmUgb25lIHdp
bGwgbm90IGNyYXNoLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotCi1TdGFydCBQ
YXRoCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJp
bGl0eS9zdmctcGF0aC1jcmFzaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3N2Zy1wYXRoLWNyYXNoLmh0bWwJ
KHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVj
YXRlZC9hY2Nlc3NpYmlsaXR5L3N2Zy1wYXRoLWNyYXNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDAgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSBmYWxzZTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgaWQ9ImJvZHkiPgotCi08c3ZnPgot
PGcgcm9sZT0ibGlzdGl0ZW0iPgotICAgIDxyZWN0IGlkPSJyZWN0IiByb2xlPSJpbWciIGFyaWEt
bGFiZWw9InZlcnkgbGlnaHQgbWFnZW50YSIgeD0iNDAiIHk9IjI0NiIgd2lkdGg9IjIwIiBoZWln
aHQ9IjIwIiBjbGFzcz0ia2V5IGNvbG91cjEiPjwvcmVjdD4KLSAgICA8dGV4dCB4PSI2NSIgeT0i
MjYxIiBmb250LXNpemU9IjEyIj4zNiB0byA0NTwvdGV4dD4KLTwvZz4KLTwvc3ZnPgotCi08cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0
PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBhc2tpbmcgZm9yIHRoZSBwYXRo
IGZyb20gYSBTVkcgZWxlbWVudCB0aGF0IGRvZXMgbm90IGhhdmUgb25lIHdpbGwgbm90IGNyYXNo
LiIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAg
ICAgIHZhciByZWN0ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCJyZWN0Iik7Ci0KLSAgICAgICAgLy8gRG9uJ3QgY3Jhc2ghCi0gICAgICAgIGRlYnVnKHJl
Y3QucGF0aERlc2NyaXB0aW9uKTsKLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWItcm9sZS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1k
ZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFiLXJvbGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAx
Nzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNz
aWJpbGl0eS90YWItcm9sZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAs
MCBAQAotdGFiMQotCi1UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHJvbGU9J3RhYicgc2hvd3Mg
dXAgYXMgYSBkaXN0aW5jdCBlbGVtZW50IGZyb20gYnV0dG9uLgotCi1PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCi0KLQotUEFTUyB0YWIuaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6IHRhYjEnCi1Q
QVNTIGJ1dHRvbi5pcGhvbmVUcmFpdHMgIT0gdGFiLmlwaG9uZVRyYWl0cyBpcyB0cnVlCi1QQVNT
IHRhYi5pcGhvbmVUcmFpdHMgIT0gMCBpcyB0cnVlCi1GQUlMIHRhYi5pc1NlbGVjdGVkIHNob3Vs
ZCBiZSB0cnVlLiBXYXMgZmFsc2UuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0K
LVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXBy
ZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFiLXJvbGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWItcm9sZS5o
dG1sCShyZXZpc2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRl
cHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWItcm9sZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQ3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
ZmFsc2U7Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0KLTxkaXYgaWQ9ImZha2VCdXR0b24iIHRh
YmluZGV4PTAgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIj50YWIxPC9kaXY+Ci0KLTxp
bnB1dCB0eXBlPSJidXR0b24iIHRhYmluZGV4PTAgaWQ9InJlYWxCdXR0b24iIHZhbHVlPSJidXR0
b24iPgotCi08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRo
YXQgcm9sZT0ndGFiJyBzaG93cyB1cCBhcyBhIGRpc3RpbmN0IGVsZW1lbnQgZnJvbSBidXR0b24u
Iik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZha2VCdXR0b24iKS5mb2N1cygpOwotICAgICAg
ICB2YXIgdGFiID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0gICAg
ICAgIHNob3VsZEJlKCJ0YWIuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IHRhYjEnIik7Ci0KLSAg
ICAgICAgLy8gTm93IG1ha2Ugc3VyZSBpdCBoYXMgdGhlIHNhbWUgdHJhaXRzIGFzIGEgYnV0dG9u
LgotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVhbEJ1dHRvbiIpLmZvY3VzKCk7
Ci0gICAgICAgIHZhciBidXR0b24gPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxl
bWVudDsKLQotICAgICAgICBzaG91bGRCZVRydWUoImJ1dHRvbi5pcGhvbmVUcmFpdHMgIT0gdGFi
LmlwaG9uZVRyYWl0cyIpOwotICAgICAgICBzaG91bGRCZVRydWUoInRhYi5pcGhvbmVUcmFpdHMg
IT0gMCIpOwotCi0gICAgICAgIHNob3VsZEJlVHJ1ZSgidGFiLmlzU2VsZWN0ZWQiKTsKLSAgICB9
Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLQotPC9i
b2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJl
Y2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1yb3ctY29sLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNj
ZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1yb3ctY29sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vz
c2liaWxpdHkvdGFibGUtY2VsbC1mb3Itcm93LWNvbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMTYgKzAsMCBAQAotVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB5b3UgY2FuIHJl
dHJpZXZlIGVsZW1lbnRzIHdpdGhpbiBhIGNlbGwgYnkgdGhlaXIgcm93IGFuZCBjb2x1bW4KLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgY2VsbDIuY2VsbEZvckNvbHVtbkFu
ZFJvdygyLCAwKS5pc0VxdWFsKGhlYWRlcikgaXMgdHJ1ZQotUEFTUyBoZWFkZXIuY2VsbEZvckNv
bHVtbkFuZFJvdygxLCAyKS5pc0VxdWFsKGNlbGw2KSBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLWhlYWRlciAxCWhlYWRlciAyCWhlYWRl
ciAzCi1jZWxsIDEJCi1jZWxsCi0yCi1jZWxsIDQJY2VsbCA1CWNlbGwKLTYKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNl
bGwtZm9yLXJvdy1jb2wuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1yb3ctY29sLmh0
bWwJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLXJvdy1jb2wuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IGZhbHNlOwotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotCi08dGFibGUgYm9y
ZGVyPTE+Ci08dHI+PHRoPmhlYWRlciAxPC90aD48dGg+aGVhZGVyIDI8L3RoPjx0aCB0YWJpbmRl
eD0wIGlkPSJoZWFkZXIiPmhlYWRlciAzPC90aD48L3RyPgotPHRyPjx0ZD5jZWxsIDE8L3RkPjx0
ZCBjb2xzcGFuPTI+PGRpdiByb2xlPSJidXR0b24iIGlkPSJjZWxsMiIgdGFiaW5kZXg9MD5jZWxs
PC9kaXY+IDI8L3RkPjwvdHI+Ci08dHI+PHRkPmNlbGwgNDwvdGQ+PHRkIGlkPSJjZWxsNSIgdGFi
aW5kZXg9MD5jZWxsIDU8L3RkPjx0ZD5jZWxsIDxkaXYgcm9sZT0iYnV0dG9uIiBpZD0iY2VsbDYi
IHRhYmluZGV4PTA+NjwvZGl2PjwvdGQ+PC90cj4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHlvdSBjYW4gcmV0cmlldmUgZWxlbWVudHMgd2l0
aGluIGEgY2VsbCBieSB0aGVpciByb3cgYW5kIGNvbHVtbiIpOwotCi0gICAgaWYgKHdpbmRvdy5h
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjZWxsMiIpLmZvY3VzKCk7Ci0gICAgICAgIHZhciBjZWxsMiA9IGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJoZWFkZXIiKS5mb2N1cygpOwotICAgICAgICB2YXIgaGVhZGVyID0gYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0KLSAgICAgICAgc2hvdWxkQmVUcnVlKCJjZWxs
Mi5jZWxsRm9yQ29sdW1uQW5kUm93KDIsIDApLmlzRXF1YWwoaGVhZGVyKSIpOwotCi0gICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZWxsNSIpLmZvY3VzKCk7Ci0gICAgICAgIHZhciBj
ZWxsNiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotICAgICAgICBz
aG91bGRCZVRydWUoImhlYWRlci5jZWxsRm9yQ29sdW1uQW5kUm93KDEsIDIpLmlzRXF1YWwoY2Vs
bDYpIik7Ci0KLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3Jp
cHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLXJhbmdlcy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXBy
ZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1yYW5nZXMtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQv
YWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLXJhbmdlcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMTggKzAsMCBAQAotVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBlbGVtZW50cyB3
aXRoaW4gdGFibGVzIGNlbGxzIHJldHVybiB0aGUgY29ycmVjdCByb3csIGNvbCByYW5nZXMKLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgY2VsbDIucm93SW5kZXhSYW5nZSgp
IGlzICd7MSwgMX0nCi1QQVNTIGNlbGwyLmNvbHVtbkluZGV4UmFuZ2UoKSBpcyAnezEsIDJ9Jwot
UEFTUyBjZWxsNi5yb3dJbmRleFJhbmdlKCkgaXMgJ3syLCAxfScKLVBBU1MgY2VsbDYuY29sdW1u
SW5kZXhSYW5nZSgpIGlzICd7MiwgMX0nCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLWhlYWRlciAxCWhlYWRlciAyCWhlYWRlciAzCi1jZWxsIDEJCi1j
ZWxsCi0yCi1jZWxsIDQJY2VsbCA1CWNlbGwKLTYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtcmFuZ2VzLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvdGFibGUtY2VsbC1yYW5nZXMuaHRtbAkocmV2aXNpb24gMTc5ODE5KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFi
bGUtY2VsbC1yYW5nZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMCwwIEBACi08IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOwotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci08L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotCi08dGFibGUgYm9yZGVyPTE+Ci08dHI+PHRoPmhlYWRlciAxPC90aD48
dGg+aGVhZGVyIDI8L3RoPjx0aCB0YWJpbmRleD0wIGlkPSJoZWFkZXIiPmhlYWRlciAzPC90aD48
L3RyPgotPHRyPjx0ZD5jZWxsIDE8L3RkPjx0ZCBjb2xzcGFuPTI+PGRpdiByb2xlPSJidXR0b24i
IGlkPSJjZWxsMiIgdGFiaW5kZXg9MD5jZWxsPC9kaXY+IDI8L3RkPjwvdHI+Ci08dHI+PHRkPmNl
bGwgNDwvdGQ+PHRkPmNlbGwgNTwvdGQ+PHRkPmNlbGwgPGRpdiByb2xlPSJidXR0b24iIGlkPSJj
ZWxsNiIgdGFiaW5kZXg9MD42PC9kaXY+PC90ZD48L3RyPgotCi08cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgZWxlbWVudHMgd2l0aGluIHRhYmxlcyBj
ZWxscyByZXR1cm4gdGhlIGNvcnJlY3Qgcm93LCBjb2wgcmFuZ2VzIik7Ci0KLSAgICBpZiAod2lu
ZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNlbGwyIikuZm9jdXMoKTsKLSAgICAgICAgdmFyIGNlbGwyID0gYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0gICAgICAgIHNob3VsZEJlKCJjZWxsMi5y
b3dJbmRleFJhbmdlKCkiLCAiJ3sxLCAxfSciKTsKLSAgICAgICAgc2hvdWxkQmUoImNlbGwyLmNv
bHVtbkluZGV4UmFuZ2UoKSIsICInezEsIDJ9JyIpOwotCi0gICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjZWxsNiIpLmZvY3VzKCk7Ci0gICAgICAgIHZhciBjZWxsNiA9IGFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotICAgICAgICBzaG91bGRCZSgiY2VsbDYu
cm93SW5kZXhSYW5nZSgpIiwgIid7MiwgMX0nIik7Ci0gICAgICAgIHNob3VsZEJlKCJjZWxsNi5j
b2x1bW5JbmRleFJhbmdlKCkiLCAiJ3syLCAxfSciKTsKLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgotCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS90YWJsZS13aXRoLW1pc21hdGNoLWNvbHVtbi1jb3VudC1pbi1pbml0aWFsLXNlY3Rpb24tZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RhYmxlLXdpdGgtbWlzbWF0Y2gtY29sdW1uLWNvdW50LWlu
LWluaXRpYWwtc2VjdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RhYmxlLXdp
dGgtbWlzbWF0Y2gtY29sdW1uLWNvdW50LWluLWluaXRpYWwtc2VjdGlvbi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTMgKzAsMCBAQAotVGVzdAotQ2VsbCAxCUNlbGwgMgotVGhp
cyB0ZXN0cyB0aGF0IGlmIGEgdGFibGUncyBpbml0aWFsIHNlY3Rpb24gaGFzIGZld2VyIGNvbHVt
bnMgdGhhbiB0aGUgcmVzdCBvZiB0aGUgdGFibGUsIHdlJ2xsIHN0aWxsIGRldGVjdCB0aGUgdG90
YWwgY29sdW1uIGNvdW50IGNvcnJlY3RseQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotRkFJTCB0YWJsZS5jb2x1bW5Db3VudCBzaG91bGQgYmUgMi4gV2FzIC0xLgotUEFTUyBjZWxs
LmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdj
ZWxsMicpKSBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVk
L2FjY2Vzc2liaWxpdHkvdGFibGVzLWxpc3RzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJs
ZXMtbGlzdHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJsZXMtbGlzdHMtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE5ICswLDAgQEAKLWl0ZW0gMQotbGlzdCBp
dGVtIDEKLXRhYmxlIGl0ZW0gMQl0YWJsZSBpdGVtIDIJdGFibGUgaXRlbSAzCi1sYW5kbWFyayAx
Ci1UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGl0ZW1zIGluIGxpc3RzLCB0YWJsZXMgYW5kIGxh
bmRtYXJrcyBoYXZlIGRpZmZlcmVudCB0cmFpdHMgb24gdGhlbSwgYmVjYXVzZSB0aGV5J3JlIGNv
bnRhaW5lZCBpbiBkaWZmZXJlbnQgaXRlbXMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1QQVNTIGxpc3RJdGVtLmlwaG9uZVRyYWl0cyAhPSBpbml0aWFsSXRlbS5pcGhvbmVUcmFp
dHMgaXMgdHJ1ZQotUEFTUyBsaXN0SXRlbS5pcGhvbmVUcmFpdHMgIT0gdGFibGVJdGVtLmlwaG9u
ZVRyYWl0cyBpcyB0cnVlCi1GQUlMIGxpc3RJdGVtLmlwaG9uZVRyYWl0cyAhPSBsYW5kbWFya0l0
ZW0uaXBob25lVHJhaXRzIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbGFuZG1hcmtJdGVtLmlw
aG9uZVRyYWl0cycpCi1QQVNTIHRhYmxlSXRlbS5pcGhvbmVUcmFpdHMgIT0gaW5pdGlhbEl0ZW0u
aXBob25lVHJhaXRzIGlzIHRydWUKLUZBSUwgdGFibGVJdGVtLmlwaG9uZVRyYWl0cyAhPSBsYW5k
bWFya0l0ZW0uaXBob25lVHJhaXRzIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbGFuZG1hcmtJ
dGVtLmlwaG9uZVRyYWl0cycpCi1GQUlMIGxhbmRtYXJrSXRlbS5pcGhvbmVUcmFpdHMgIT0gaW5p
dGlhbEl0ZW0uaXBob25lVHJhaXRzIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbGFuZG1hcmtJ
dGVtLmlwaG9uZVRyYWl0cycpCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvdGFibGVzLWxpc3RzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFibGVzLWxp
c3RzLmh0bWwJKHJldmlzaW9uIDE3OTgxOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RhYmxlcy1saXN0cy5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDU5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gZmFsc2U7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IGlkPSJib2R5Ij4KLQot
aXRlbSAxCi0KLTxvbD4KLTxsaT5saXN0IGl0ZW0gMTwvbGk+Ci08L29sPgotCi08dGFibGUgYm9y
ZGVyPTE+Ci08dHI+PHRkPnRhYmxlIGl0ZW0gMTwvdGQ+Ci08dGQ+dGFibGUgaXRlbSAyPC90ZD4K
LTx0ZD50YWJsZSBpdGVtIDM8L3RkPjwvdHI+Ci08L3RhYmxlPgotCi08ZGl2IHJvbGU9Im1haW4i
PgotPGI+bGFuZG1hcmsgMTwvYj4KLTwvZGl2PgotCi08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
LTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgaXRlbXMgaW4gbGlzdHMsIHRhYmxlcyBhbmQgbGFu
ZG1hcmtzIGhhdmUgZGlmZmVyZW50IHRyYWl0cyBvbiB0aGVtLCBiZWNhdXNlIHRoZXkncmUgY29u
dGFpbmVkIGluIGRpZmZlcmVudCBpdGVtcy4iKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAgICB2YXIgcm9vdCA9IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLnJvb3RFbGVtZW50OwotICAgICAgIAotICAgICAgICB2YXIgaW5pdGlhbEl0ZW0gPSBy
b290LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgIHZhciBsaXN0SXRl
bSA9IHJvb3QuY2hpbGRBdEluZGV4KDEpLmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7
Ci0gICAgICAgIHZhciB0YWJsZUl0ZW0gPSByb290LmNoaWxkQXRJbmRleCgyKS5jaGlsZEF0SW5k
ZXgoMCk7Ci0gICAgICAgIHZhciBsYW5kbWFya0l0ZW0gPSByb290LmNoaWxkQXRJbmRleCg1KS5j
aGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApOwotCi0gICAgICAgIHNob3VsZEJlKCJsaXN0
SXRlbS5pcGhvbmVUcmFpdHMgIT0gaW5pdGlhbEl0ZW0uaXBob25lVHJhaXRzIiwgInRydWUiKTsK
LSAgICAgICAgc2hvdWxkQmUoImxpc3RJdGVtLmlwaG9uZVRyYWl0cyAhPSB0YWJsZUl0ZW0uaXBo
b25lVHJhaXRzIiwgInRydWUiKTsKLSAgICAgICAgc2hvdWxkQmUoImxpc3RJdGVtLmlwaG9uZVRy
YWl0cyAhPSBsYW5kbWFya0l0ZW0uaXBob25lVHJhaXRzIiwgInRydWUiKTsKLQotICAgICAgICBz
aG91bGRCZSgidGFibGVJdGVtLmlwaG9uZVRyYWl0cyAhPSBpbml0aWFsSXRlbS5pcGhvbmVUcmFp
dHMiLCAidHJ1ZSIpOwotICAgICAgICBzaG91bGRCZSgidGFibGVJdGVtLmlwaG9uZVRyYWl0cyAh
PSBsYW5kbWFya0l0ZW0uaXBob25lVHJhaXRzIiwgInRydWUiKTsKLQotICAgICAgICBzaG91bGRC
ZSgibGFuZG1hcmtJdGVtLmlwaG9uZVRyYWl0cyAhPSBpbml0aWFsSXRlbS5pcGhvbmVUcmFpdHMi
LCAidHJ1ZSIpOwotICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3Nj
cmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LWxpbmUtbm8taWdub3JlZC1l
bGVtZW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1saW5lLW5vLWlnbm9yZWQtZWxl
bWVudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LWxpbmUtbm8taWdub3Jl
ZC1lbGVtZW50cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzAsMCBAQAot
dGV4dCBsaW5ldGV4dCBsaW5lCi1UaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHdoZW4gYXNraW5nIGZv
ciBhIGxpbmUgb2YgdGV4dCwgd2UgZG8gbm90IGluY2x1ZGUgb2JqZWN0cyB0aGF0IHNob3VsZCBi
ZSBpZ25vcmVkLiBUaGUgaW1hZ2UgaW4gdGhpcyBleGFtcGxlIHNob3VsZCBub3QgYXBwZWFyIHNv
IHRoZSBhcnJheSBvZiBlbGVtZW50cyBzaG91bGQgYmUgc2l6ZSBvZiAyLgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBhcnJheS5sZW5ndGggaXMgMgotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtbGluZS1uby1p
Z25vcmVkLWVsZW1lbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1saW5lLW5vLWlnbm9yZWQtZWxl
bWVudHMuaHRtbAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1saW5lLW5vLWlnbm9yZWQtZWxlbWVu
dHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzNCArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4K
LXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBpZD0iYm9keSI+Ci0KLTxkaXY+PGEgaHJlZj0iIyI+dGV4dCBsaW5lPC9hPjxpbWcgYWx0
PSIiIHdpZHRoPTEgaGVpZ2h0PTEwIHNyYz0iIj48YSBocmVmPSIjIj50ZXh0IGxpbmU8L2E+PC9k
aXY+Ci0KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0
IHdoZW4gYXNraW5nIGZvciBhIGxpbmUgb2YgdGV4dCwgd2UgZG8gbm90IGluY2x1ZGUgb2JqZWN0
cyB0aGF0IHNob3VsZCBiZSBpZ25vcmVkLiBUaGUgaW1hZ2UgaW4gdGhpcyBleGFtcGxlIHNob3Vs
ZCBub3QgYXBwZWFyIHNvIHRoZSBhcnJheSBvZiBlbGVtZW50cyBzaG91bGQgYmUgc2l6ZSBvZiAy
LiIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAg
ICAgIHZhciBvYmogPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxlbWVudDsKLSAgICAg
ICAgdmFyIGFycmF5ID0gb2JqLmVsZW1lbnRzRm9yUmFuZ2UoMCwgMTYpOwotICAgICAgICBzaG91
bGRCZSgiYXJyYXkubGVuZ3RoIiwgIjIiKTsKLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1t
YXJrZXItbGlzdC1pdGVtLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci1saXN0
LWl0ZW0tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci1saXN0LWl0
ZW0tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICswLDAgQEAKLWl0ZW0gMQot
VGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB3aGVuIGFza2luZyBmb3IgdGhlIHN0cmluZyBmb3IgYSBy
YW5nZSwgaXQgaW5jbHVkZXMgdGhlIGxpc3QgaXRlbSBtYXJrZXIKLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLVBBU1MgdGV4dCBpcyAnMS4gaXRlbSAxJwotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyLWxpc3Qt
aXRlbS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyLWxpc3QtaXRlbS5odG1sCShyZXZpc2lv
biAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNj
ZXNzaWJpbGl0eS90ZXh0LW1hcmtlci1saXN0LWl0ZW0uaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MSwzNSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBm
YWxzZTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci0KLTxvbD4KLTxs
aT5pdGVtIDE8L2xpPgotPC9vbD4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgZW5zdXJlcyB0aGF0IHdoZW4gYXNraW5nIGZvciB0aGUgc3RyaW5nIGZvciBhIHJhbmdlLCBp
dCBpbmNsdWRlcyB0aGUgbGlzdCBpdGVtIG1hcmtlciIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAgIHZhciBvYmogPSBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5yb290RWxlbWVudDsKLSAgICAgICAgdmFyIHRleHQgPSBvYmouc3RyaW5nRm9y
UmFuZ2UoMCwgNik7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXh0IiwgIicxLiBpdGVtIDEnIik7Ci0g
ICAgfQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyLXZhbGlkYXRpb24tZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9h
Y2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyLXZhbGlkYXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNj
ZXNzaWJpbGl0eS90ZXh0LW1hcmtlci12YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSwxNCArMCwwIEBACi1lbGVtZW50IDEKLWVsZW1lbnQgMgotZWxlbWVudCAzCi1l
bGVtZW50IDQKLVRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgYSB0ZXh0IHJhbmdlIGNhbiBiZSBmb3Vu
ZCBmb3IgYW4gZWxlbWVudCB3aXRoaW4gYSB3ZWIgcGFnZS4KLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLVBBU1Mgc3VjY2VlZGVkIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci12YWxpZGF0aW9u
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXItdmFsaWRhdGlvbi5odG1sCShyZXZpc2lvbiAx
Nzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNz
aWJpbGl0eS90ZXh0LW1hcmtlci12YWxpZGF0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDEgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBm
YWxzZTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0KLTxkaXY+ZWxlbWVudCAxPC9kaXY+
Ci08ZGl2PmVsZW1lbnQgMjwvZGl2PgotPGRpdj5lbGVtZW50IDM8L2Rpdj4KLTxkaXY+ZWxlbWVu
dCA0PC9kaXY+Ci0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMg
dGhhdCBhIHRleHQgcmFuZ2UgY2FuIGJlIGZvdW5kIGZvciBhbiBlbGVtZW50IHdpdGhpbiBhIHdl
YiBwYWdlLiAiKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsK
LQotICAgICAgICB2YXIgb2JqID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQu
Y2hpbGRBdEluZGV4KDIpOwotCi0gICAgICAgIHZhciB0ZXh0UG9zID0gb2JqLmlwaG9uZUVsZW1l
bnRUZXh0UG9zaXRpb247Ci0gICAgICAgIHZhciB0ZXh0TGVuID0gb2JqLmlwaG9uZUVsZW1lbnRU
ZXh0TGVuZ3RoOwotCi0gICAgICAgIHZhciBzdWNjZWVkZWQgPSB0ZXh0UG9zID09IDIwICYmIHRl
eHRMZW4gPT0gOTsKLSAgICAgICAgc2hvdWxkQmUoInN1Y2NlZWRlZCIsICJ0cnVlIik7Ci0gICAg
fQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci0KLTwv
Ym9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXBy
ZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1yb2xlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90
ZXh0LXJvbGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LXJvbGUtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICswLDAgQEAKLWhlbGxvIHdvcmxkIHRoaXMg
aXMgYSB0ZXN0IG1vcmUgdGVzdAotVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB0aGUgInRleHQiIHJv
bGUgd29ya3MgYXMgZXhwZWN0ZWQuIFRoYXQgaXMsIGl0IGNyZWF0ZXMgYSBzdGF0aWMgdGV4dCBv
YmplY3QgdGhhdCBjYW4gYmUgY29udHJvbGxlZCB3aXRoIGFyaWEtbGFiZWwuCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHRleHRyb2xlLmlwaG9uZUxhYmVsIGlzICdBWExh
YmVsOiBhbGwgYXQgb25jZScKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LXJvbGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LXJvbGUuaHRt
bAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXBy
ZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1yb2xlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEs
MzcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFs
c2U7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgaWQ9ImJvZHkiPgotCi08ZGl2IGlkPSJ0
ZXh0cm9sZSIgdGFiaW5kZXg9MCByb2xlPSJ0ZXh0IiBhcmlhLWxhYmVsPSJhbGwgYXQgb25jZSI+
Ci08Yj5oZWxsbyB3b3JsZDwvYj4KLTxpPnRoaXMgaXMgYSB0ZXN0PC9pPgotPGEgaHJlZj0iIyI+
bW9yZSB0ZXN0PC9hPgotPC9kaXY+Ci0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IGVuc3VyZXMgdGhhdCB0aGUgXCJ0ZXh0XCIgcm9sZSB3b3JrcyBhcyBleHBlY3RlZC4gVGhh
dCBpcywgaXQgY3JlYXRlcyBhIHN0YXRpYyB0ZXh0IG9iamVjdCB0aGF0IGNhbiBiZSBjb250cm9s
bGVkIHdpdGggYXJpYS1sYWJlbC4iKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIpIHsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dHJvbGUi
KS5mb2N1cygpOwotICAgICAgICB2YXIgdGV4dHJvbGUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5yb290RWxlbWVudC5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXh0cm9s
ZS5pcGhvbmVMYWJlbCIsICInQVhMYWJlbDogYWxsIGF0IG9uY2UnIik7Ci0gICAgfQotCi0gICAg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nl
c3NpYmlsaXR5L3RleHRmaWVsZC1pbi1heHZhbHVlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90
ZXh0ZmllbGQtaW4tYXh2YWx1ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTgxOSkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHRm
aWVsZC1pbi1heHZhbHVlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyMCArMCww
IEBACi0KLUgxIFRlc3QKLQotCi0KLVRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgdGV4dGZpZWxkcyBy
ZXR1cm4gdGhlaXIgY29udGVudCBpbiBhY2Nlc3NpYmlsaXR5VmFsdWUsIGFuZCBsYWJlbCBpbiBh
eExhYmVsLiBMaWtld2lzZSwgb3RoZXIgZWxlbWVudHMgYW5kIHRleHQgc3RpbGwgcmV0dXJuIHRo
ZWlyIGluZm8gdGhyb3VnaCBheExhYmVsLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotUEFTUyB0ZXh0ZmllbGQuaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6IFNlYXJjaCcKLVBBU1Mg
dGV4dGZpZWxkLmlwaG9uZVZhbHVlIGlzICdBWFZhbHVlOiBoZWxsbycKLVBBU1MgaDEuaXBob25l
TGFiZWwgaXMgJ0FYTGFiZWw6IEgxIFRlc3QnCi1QQVNTIGgxLmlwaG9uZVZhbHVlIGlzICdBWFZh
bHVlOiAxJwotUEFTUyBidXR0b24uaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6IEJ1dHRvbiBUaXRs
ZScKLVBBU1MgYnV0dG9uLmlwaG9uZVZhbHVlIGlzICdBWFZhbHVlOiAnCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dGZpZWxkLWluLWF4
dmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRl
cHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0ZmllbGQtaW4tYXh2YWx1ZS5odG1sCShyZXZpc2lv
biAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNj
ZXNzaWJpbGl0eS90ZXh0ZmllbGQtaW4tYXh2YWx1ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQ1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZh
bHNlOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IGlkPSJib2R5Ij4KLQotPGlucHV0IHR5
cGU9InRleHQiIGlkPSJ0ZXh0ZmllbGQiIHNpemU9IjIwIiB2YWx1ZT0iaGVsbG8iIGFyaWEtbGFi
ZWw9IlNlYXJjaCIgdGFiaW5kZXg9IjAiPjxCUj4KLTxoMSB0YWJpbmRleD0iMCIgaWQ9ImgxIj5I
MSBUZXN0PC9oMT48QlI+Ci08aW5wdXQgdHlwZT0iYnV0dG9uIiBpZD0iYnV0dG9uIiB2YWx1ZT0i
QnV0dG9uIFRpdGxlIiB0YWJpbmRleD0iMCI+Ci0KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHRleHRmaWVsZHMgcmV0dXJuIHRoZWlyIGNvbnRlbnQg
aW4gYWNjZXNzaWJpbGl0eVZhbHVlLCBhbmQgbGFiZWwgaW4gYXhMYWJlbC4gTGlrZXdpc2UsIG90
aGVyIGVsZW1lbnRzIGFuZCB0ZXh0IHN0aWxsIHJldHVybiB0aGVpciBpbmZvIHRocm91Z2ggYXhM
YWJlbC4iKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQot
ICAgICAgICB2YXIgdGV4dGZpZWxkID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1l
bnQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAgc2hvdWxkQmUoInRl
eHRmaWVsZC5pcGhvbmVMYWJlbCIsICInQVhMYWJlbDogU2VhcmNoJyIpOwotICAgICAgICBzaG91
bGRCZSgidGV4dGZpZWxkLmlwaG9uZVZhbHVlIiwgIidBWFZhbHVlOiBoZWxsbyciKTsKLQotICAg
ICAgICB2YXIgaDEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxlbWVudC5jaGlsZEF0
SW5kZXgoMSk7Ci0gICAgICAgIHNob3VsZEJlKCJoMS5pcGhvbmVMYWJlbCIsICInQVhMYWJlbDog
SDEgVGVzdCciKTsKLSAgICAgICAgLy8gU2hvdWxkIGJlIDEgZm9yIHRoZSBoZWFkaW5nIGxldmVs
LgotICAgICAgICBzaG91bGRCZSgiaDEuaXBob25lVmFsdWUiLCAiJ0FYVmFsdWU6IDEnIik7Ci0K
LSAgICAgICAgdmFyIGJ1dHRvbiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50
LmNoaWxkQXRJbmRleCgyKS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgIHNob3VsZEJlKCJidXR0
b24uaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IEJ1dHRvbiBUaXRsZSciKTsKLSAgICAgICAgc2hv
dWxkQmUoImJ1dHRvbi5pcGhvbmVWYWx1ZSIsICInQVhWYWx1ZTogJyIpOwotICAgIH0KLQotICAg
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNj
ZXNzaWJpbGl0eS90b2dnbGUtYnV0dG9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90b2dnbGUt
YnV0dG9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5ODE5KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdG9nZ2xlLWJ1dHRvbi1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTQgKzAsMCBAQAotQm9sZCBJdGFsaWMKLVRo
aXMgbWFrZXMgc3VyZSB0aGF0IHRvZ2dsZSBidXR0b25zIGFyZSBleHBvc2VkIHByb3Blcmx5IG9u
IGlPUwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotQnV0dG9uMSA6IEFYTGFiZWw6
IEJvbGQKLUJ1dHRvbjEgOiBBWFZhbHVlOiAKLUJ1dHRvbjIgOiBBWExhYmVsOiBJdGFsaWMKLUJ1
dHRvbjIgOiBBWFZhbHVlOiAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS90b2dnbGUtYnV0dG9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdG9nZ2xlLWJ1
dHRvbi5odG1sCShyZXZpc2lvbiAxNzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
c2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90b2dnbGUtYnV0dG9uLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMzggKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgaWQ9ImJvZHkiPgot
Ci08YSBpZD0iYnV0dG9uMSIgaHJlZj0iIyIgb25jbGljaz0icmV0dXJuIHRvZ2dsZShldmVudCk7
IiBvbmtleXByZXNzPSJyZXR1cm4gaGFuZGxlS2V5UHJlc3MoZXZlbnQpOyIgcm9sZT0iYnV0dG9u
IiBhcmlhLXByZXNzZWQ9ImZhbHNlIiB0YWJpbmRleD0iMCI+Qm9sZDwvYT4KLTxidXR0b24gaWQ9
ImJ1dHRvbjIiIG9uY2xpY2s9InJldHVybiB0b2dnbGUoZXZlbnQpOyIgYXJpYS1wcmVzc2VkPSJ0
cnVlIj5JdGFsaWM8L2J1dHRvbj4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIG1h
a2VzIHN1cmUgdGhhdCB0b2dnbGUgYnV0dG9ucyBhcmUgZXhwb3NlZCBwcm9wZXJseSBvbiBpT1Mi
KTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAg
ICB2YXIgYnV0dG9uMSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgiYnV0dG9uMSIpOwotICAgICAgICBkZWJ1ZygiQnV0dG9uMSA6ICIgKyBidXR0b24xLmlw
aG9uZUxhYmVsKTsKLSAgICAgICAgZGVidWcoIkJ1dHRvbjEgOiAiICsgYnV0dG9uMS5pcGhvbmVW
YWx1ZSk7Ci0KLSAgICAgICAgdmFyIGJ1dHRvbjIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5h
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoImJ1dHRvbjIiKTsKLSAgICAgICAgZGVidWcoIkJ1dHRvbjIg
OiAiICsgYnV0dG9uMi5pcGhvbmVMYWJlbCk7Ci0gICAgICAgIGRlYnVnKCJCdXR0b24yIDogIiAr
IGJ1dHRvbjIuaXBob25lVmFsdWUpOwotICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS91cmwtdGVzdC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1k
ZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdXJsLXRlc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAx
Nzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNz
aWJpbGl0eS91cmwtdGVzdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAs
MCBAQAotCi10ZXN0Ci0KLVRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgd2UgY2FuIHJldHJpZXZlIFVS
THMgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotUEFTUyBlbGVtZW50LnVybC5pbmRleE9mKCd1cmwtdGVzdDEuaHRtbCcpICE9IC0xIGlz
IHRydWUKLVBBU1MgZWxlbWVudC51cmwuaW5kZXhPZigndXJsLXRlc3QyLmh0bWwnKSAhPSAtMSBp
cyB0cnVlCi1QQVNTIGVsZW1lbnQudXJsLmluZGV4T2YoJ3VybC10ZXN0My5wbmcnKSAhPSAtMSBp
cyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2li
aWxpdHkvdXJsLXRlc3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS91cmwtdGVzdC5odG1sCShyZXZpc2lvbiAx
Nzk4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNz
aWJpbGl0eS91cmwtdGVzdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQxICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOwotPC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5IGlkPSJib2R5Ij4KLQotPGlucHV0IHR5cGU9ImltYWdlIiBzcmM9
InVybC10ZXN0MS5odG1sIj48QlI+Ci08YSBocmVmPSIjdXJsLXRlc3QyLmh0bWwiPnRlc3Q8L2E+
PEJSPgotPGltZyBzcmM9InVybC10ZXN0My5wbmciIHdpZHRoPTEwMCBoZWlnaHQ9MTAwIGFsdD0i
dGVzdCI+PEJSPgotCi0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3Vy
ZXMgdGhhdCB3ZSBjYW4gcmV0cmlldmUgVVJMcyBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuIik7
Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICAg
dmFyIGVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxlbWVudC5jaGlsZEF0
SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApOwotICAgICAgICBzaG91bGRCZSgiZWxlbWVudC51cmwu
aW5kZXhPZigndXJsLXRlc3QxLmh0bWwnKSAhPSAtMSIsICJ0cnVlIik7Ci0KLSAgICAgICAgZWxl
bWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJbmRleCgw
KS5jaGlsZEF0SW5kZXgoMSk7Ci0gICAgICAgIHNob3VsZEJlKCJlbGVtZW50LnVybC5pbmRleE9m
KCd1cmwtdGVzdDIuaHRtbCcpICE9IC0xIiwgInRydWUiKTsKLQotICAgICAgICBlbGVtZW50ID0g
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmNoaWxk
QXRJbmRleCgyKTsKLSAgICAgICAgc2hvdWxkQmUoImVsZW1lbnQudXJsLmluZGV4T2YoJ3VybC10
ZXN0My5wbmcnKSAhPSAtMSIsICJ0cnVlIik7Ci0gICAgfQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9zdmctZ3JvdXAt
ZWxlbWVudC13aXRoLXRpdGxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3N2Zy1ncm91cC1lbGVtZW50LXdpdGgtdGl0
bGUuaHRtbAkod29ya2luZyBjb3B5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVs
YXRvci9hY2Nlc3NpYmlsaXR5L3N2Zy1ncm91cC1lbGVtZW50LXdpdGgtdGl0bGUuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAKIDxib2R5IGlkPSJib2R5Ij4KIAogPHN2ZyB3aWR0
aD0iNTAwIiBoZWlnaHQ9IjMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4K
LSAgPGcgaWQ9Imdyb3VwMSI+CisgIDxnIGlkPSJncm91cDEiIHJvbGU9ImJ1dHRvbiI+CiAgICAg
PHRpdGxlPlNWRyBUSVRMRSAxPC90aXRsZT4KICAgICA8cmVjdCB4PSIxMCIgeT0iMTAiIHdpZHRo
PSIyMDAiIGhlaWdodD0iMTAwIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTsgc3Ryb2tlOmJsdWU7
IHN0cm9rZS13aWR0aDoxcHgiLz4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb3Vu
dGFpbmxpb24vZmFzdC9jc3MvZm9jdXMtcmluZy1leGlzdHMtZm9yLXNlYXJjaC1maWVsZC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLW1vdW50YWlu
bGlvbi9mYXN0L2Nzcy9mb2N1cy1yaW5nLWV4aXN0cy1mb3Itc2VhcmNoLWZpZWxkLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb3VudGFpbmxp
b24vZmFzdC9jc3MvZm9jdXMtcmluZy1leGlzdHMtZm9yLXNlYXJjaC1maWVsZC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYw
MAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDM2CisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDc0MngzNgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDc0MjogIkFzc3VtaW5nIHRoZSBwb3J0LXNwZWNpZmljIHRoZW1lIGRyYXdzIGZvY3VzIHJp
bmdzLCB0aGlzIHRlc3QgY2FuIGJlIHVzZWQgdG8gZW5zdXJlIHRoYXQgYSBmb2N1cyByaW5nIGlz
IGRyYXduIGFyb3VuZCBhIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA3Njog
InNlYXJjaCBmaWVsZC4iCisgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw1Mikg
c2l6ZSA3ODR4MjMKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBz
aXplIDE0NHgxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDAp
XQorICAgICAgICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgzLDMpIHNpemUgMTM4eDEz
CisgICAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxKSBzaXplIDh4MTEKKyAgICAg
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg4LDApIHNpemUgMTE3eDEzCisgICAgICAgICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTI1LDEpIHNpemUgMTN4MTEKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoMjEsNjUpIHNpemUgMTE3
eDEzCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTE3eDEzCitjYXJldDogcG9z
aXRpb24gMCBvZiBjaGlsZCAwIHtESVZ9IG9mIGNoaWxkIDEge0RJVn0gb2YgY2hpbGQgMCB7RElW
fSBvZiB7I2RvY3VtZW50LWZyYWdtZW50fSBvZiBjaGlsZCAzIHtJTlBVVH0gb2YgYm9keQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246374</attachid>
            <date>2015-02-10 21:54:55 -0800</date>
            <delta_ts>2015-02-10 22:44:29 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>116619</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEwNSBAQAorMjAxNS0wMi0wOSAgQ2hyaXMgRmxlaXphY2gg
IDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBVbmRlcHJlY2F0ZSBpb3Mtc2lt
dWxhdG9yIGFjY2Vzc2liaWxpdHkgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0MTQwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVuZGVwcmVjYXRlIGlvcyBhY2Nlc3NpYmlsaXR5IHRlc3RzLgor
ICAgICAgICBNb2RpZmllZCBvbmUgZmFpbGluZyB0ZXN0IChzdmctZ3JvdXAtZWxlbWVudC13aXRo
LXRpdGxlLmh0bWwpIHNsaWdodGx5IHRvIGdldCBpdCB0byBwYXNzLgorCisgICAgICAgICogcGxh
dGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHk6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0
eS1hcmlhLXRhYmxlLWNoaWxkcmVuLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWFy
aWEtdGFibGUtY2hpbGRyZW4uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mt
c2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29u
dGFpbmVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2lt
LWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29udGFp
bmVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVk
L2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1oaW50LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nl
c3NpYmlsaXR5LWhpbnQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2lt
LWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsLXdpdGgtaW50ZXJuYWwtdGV4dC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbC13aXRoLWludGVybmFsLXRleHQuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9hcmlhLXByZXNzZWQtc3RhdGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2FyaWEtcHJlc3NlZC1zdGF0
ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9h
Y2Nlc3NpYmlsaXR5L2NlbnRlcnBvaW50LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9jZW50ZXJwb2ludC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nl
c3NpYmlsaXR5L2Rpc2FibGVkLXN0YXRlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZGlzYWJsZWQtc3Rh
dGVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVk
L2FjY2Vzc2liaWxpdHkvZG9tLWZvY3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvZG9tLWZvY3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L2VsZW1lbnQtcGF0aHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2VsZW1lbnQtcGF0aHMuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9maWxlLXVwbG9hZC1idXR0b24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2ZpbGUtdXBsb2FkLWJ1dHRv
bi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9h
Y2Nlc3NpYmlsaXR5L2ZvY3VzLWNoYW5nZS1ub3RpZmljYXRpb25zLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9mb2N1cy1jaGFuZ2Utbm90aWZpY2F0aW9ucy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2hlYWRlci1lbGVtZW50cy1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvaGVhZGVyLWVsZW1lbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvaWRlbnRpZmllci1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvaWRlbnRpZmllci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2ludGVybmFsLWxpbmstZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRl
ZC9hY2Nlc3NpYmlsaXR5L2ludGVybmFsLWxpbmsuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9sYW5kbWFyay10eXBlLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS9sYW5kbWFyay10eXBlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbGluay13aXRoLWltYWdl
cy10ZXh0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2lt
LWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9saW5rLXdpdGgtaW1hZ2VzLXRleHQuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9saW5rLXdpdGgtb25seS1pbWFnZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbGluay13aXRoLW9ubHkt
aW1hZ2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS9tYXRoLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9tYXRoLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkv
bWl4ZWQtY2hlY2tib3hlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbWl4ZWQtY2hlY2tib3hlcy5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3Np
YmlsaXR5L25vLWNoaWxkLWxpbmstaGVhZGVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9uby1jaGlsZC1s
aW5rLWhlYWRlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L25vbi1jb250aWd1b3VzLWxpbmstZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmls
aXR5L25vbi1jb250aWd1b3VzLWxpbmsuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9vdXQtb2YtYm91bmRzLWNoaWxkLWFj
Y2Vzcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1k
ZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvb3V0LW9mLWJvdW5kcy1jaGlsZC1hY2Nlc3MuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJp
bGl0eS9wYXNzd29yZC12YWx1ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxh
dGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvcGFzc3dvcmQtdmFsdWUuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNz
aWJpbGl0eS9wbGFjZWhvbGRlci12YWx1ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvcGxhY2Vob2xkZXIt
dmFsdWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS9wb3B1cC1idXR0b24tdmFsdWUtbGFiZWwtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmls
aXR5L3BvcHVwLWJ1dHRvbi12YWx1ZS1sYWJlbC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3Byb2dyZXNzYmFyLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQv
YWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3JhZGlvLWJ1dHRvbi1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvcmFkaW8tYnV0dG9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc2VjdXJlLXRleHQtZmllbGQtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRl
ZC9hY2Nlc3NpYmlsaXR5L3NlY3VyZS10ZXh0LWZpZWxkLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc2VsZWN0ZWQtYnV0
dG9ucy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1k
ZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc2VsZWN0ZWQtYnV0dG9ucy5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3NlbGVj
dGVkLXRleHQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1z
aW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3NlbGVjdGVkLXRleHQuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9zdmct
Z3JvdXAtZWxlbWVudC13aXRoLXRpdGxlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9zdmctZ3JvdXAtZWxl
bWVudC13aXRoLXRpdGxlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNp
bS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc3ZnLXBhdGgtY3Jhc2gtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmls
aXR5L3N2Zy1wYXRoLWNyYXNoLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9z
LXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFiLXJvbGUtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L3RhYi1yb2xlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXBy
ZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3Itcm93LWNvbC1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2li
aWxpdHkvdGFibGUtY2VsbC1mb3Itcm93LWNvbC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtcmFuZ2Vz
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJl
Y2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLXJhbmdlcy5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RhYmxlLXdp
dGgtbWlzbWF0Y2gtY29sdW1uLWNvdW50LWluLWluaXRpYWwtc2VjdGlvbi1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2li
aWxpdHkvdGFibGVzLWxpc3RzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJsZXMtbGlzdHMuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJp
bGl0eS90ZXh0LWxpbmUtbm8taWdub3JlZC1lbGVtZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4
dC1saW5lLW5vLWlnbm9yZWQtZWxlbWVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci1saXN0LWl0
ZW0tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyLWxpc3QtaXRlbS5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3Rl
eHQtbWFya2VyLXZhbGlkYXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyLXZhbGlk
YXRpb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LXJvbGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtcm9sZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nl
c3NpYmlsaXR5L3RleHRmaWVsZC1pbi1heHZhbHVlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0Zmll
bGQtaW4tYXh2YWx1ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0t
ZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RvZ2dsZS1idXR0b24tZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L3RvZ2dsZS1idXR0b24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2lt
LWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS91cmwtdGVzdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdXJs
LXRlc3QuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2Fj
Y2Vzc2liaWxpdHk6IENvcGllZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5LgorICAgICAgICAqIHBsYXRmb3JtL2lvcy1zaW11bGF0b3Iv
YWNjZXNzaWJpbGl0eS9zdmctZ3JvdXAtZWxlbWVudC13aXRoLXRpdGxlLmh0bWw6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjLW1vdW50YWlubGlvbi9mYXN0L2Nzcy9mb2N1cy1yaW5nLWV4aXN0cy1m
b3Itc2VhcmNoLWZpZWxkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTUtMDItMTAgIEd5dXlv
dW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
IEVGTCBnYXJkZW5pbmcuIFNvbWUgdGVzdHMgb2YgaW1wb3J0ZWQvbW96aWxsYS9zdmcvIGhhdmUg
YmVlbiBmYWlsZWQgc2luY2UgcjE3NzMzMC4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktYXJpYS10YWJsZS1j
aGlsZHJlbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1hcmlhLXRhYmxl
LWNoaWxkcmVuLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1h
cmlhLXRhYmxlLWNoaWxkcmVuLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNiAr
MCwwIEBACi10ZXN0MQotdGVzdDIKLXRlc3QzCi10ZXN0MQotdGVzdDIKLXRlc3QzCi1UaGlzIG1h
a2VzIHN1cmUgdGhhdCBpZiBhbiBBUklBIHRhYmxlIGlzIHVzZWQsIHRoZSB0YWJsZSdzIGNoaWxk
cmVuIGRvZXMgTk9UIGluY2x1ZGUgdGhlIGNvbHVtbiBoZWFkZXJzLgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyBncmlkLmNoaWxkcmVuQ291bnQgaXMgMQotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxp
dHktYXJpYS10YWJsZS1jaGlsZHJlbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktYXJp
YS10YWJsZS1jaGlsZHJlbi5odG1sCShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWFy
aWEtdGFibGUtY2hpbGRyZW4uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0NyArMCwwIEBACi08
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOwotPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci0KLTxkaXYgcm9sZT0iZ3JpZCIgdGFiaW5k
ZXg9IjAiIGlkPSJncmlkIj4KLQotPGRpdiByb2xlPSJjb2x1bW5oZWFkZXIiIGFyaWEtbGFiZWw9
InRlc3QxIj50ZXN0MTwvZGl2PgotPGRpdiByb2xlPSJjb2x1bW5oZWFkZXIiIGFyaWEtbGFiZWw9
InRlc3QyIj50ZXN0MjwvZGl2PgotPGRpdiByb2xlPSJjb2x1bW5oZWFkZXIiIGFyaWEtbGFiZWw9
InRlc3QzIj50ZXN0MzwvZGl2PgotCi08ZGl2IHJvbGU9InJvdyI+Ci0gICA8ZGl2IHJvbGU9Imdy
aWRjZWxsIj50ZXN0MTwvZGl2PgotICAgPGRpdiByb2xlPSJncmlkY2VsbCI+dGVzdDI8L2Rpdj4K
LSAgIDxkaXYgcm9sZT0iZ3JpZGNlbGwiPnRlc3QzPC9kaXY+Ci08L2Rpdj4KLQotPC9kaXY+Ci0K
LTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxz
Y3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyBtYWtlcyBzdXJlIHRoYXQgaWYgYW4gQVJJ
QSB0YWJsZSBpcyB1c2VkLCB0aGUgdGFibGUncyBjaGlsZHJlbiBkb2VzIE5PVCBpbmNsdWRlIHRo
ZSBjb2x1bW4gaGVhZGVycy4iKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIpIHsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZCIpLmZvY3Vz
KCk7Ci0gICAgICAgIHZhciBncmlkID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVs
ZW1lbnQ7Ci0KLSAgICAgICAgLy8gV2Ugc2hvdWxkIGhhdmUgMSBjaGlsZCwgZm9yIHRoZSByb3cu
IENvbHVtbiBoZWFkZXJzIHNob3VsZCBub3QgYmUgZXhwb3NlZCBhcyBjaGlsZHJlbiBvbiBpT1Mu
Ci0gICAgICAgIHNob3VsZEJlKCJncmlkLmNoaWxkcmVuQ291bnQiLCAiMSIpOwotICAgIH0KLQot
ICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQv
YWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29udGFpbmVyLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29udGFpbmVyLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNp
bS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1jcmFzaC1pbi1heGNvbnRh
aW5lci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzAsMCBAQAotVGhpcyBt
YWtlcyBzdXJlIHRoYXQgd2UgZG9uJ3QgY3Jhc2ggd2hlbiBhc2tpbmcgZm9yIHRoZSBwYXJlbnQg
ZWxlbWVudCBvZiBhbiBvYmplY3QgdGhhdCBoYXMgbm8gZG9jdW1lbnQoKSBiZWNhdXNlIGl0cyBw
YXJlbnQgd2FzIGRldGFjaGVkCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNT
IGxpbmsuaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6IHllbGxvdycKLUZBSUwgbGluay5wYXJlbnRF
bGVtZW50KCkuaXBob25lTGFiZWwgc2hvdWxkIGJlIEFYTGFiZWw6IC4gVGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2xpbmsu
cGFyZW50RWxlbWVudCgpLmlwaG9uZUxhYmVsJykKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
c2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29u
dGFpbmVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1k
ZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1jcmFzaC1pbi1heGNvbnRhaW5l
ci5odG1sCShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2lt
LWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29udGFp
bmVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNDMgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHkgaWQ9ImJvZHkiPgotCi08aW1nIHNyYz0icmVzb3VyY2VzL2Nha2UucG5nIiB1c2VtYXA9
IiNtYXAiIGlkPSJiYWNrSW1nIiBhbHQ9IiIgd2lkdGg9IjIyNSIgaGVpZ2h0PSIyMDYiPgotCi08
bWFwIG5hbWU9Im1hcCIgYXJpYS1sYWJlbGxlZGJ5PSJwYXBlcmNvbG9yIj4KLSAgICAgICAgPGFy
ZWEgc2hhcGU9InJlY3QiIHRhYmluZGV4PSIwIiBhbHQ9InllbGxvdyIgaHJlZj0iIyIgY29vcmRz
PSIxOSwyOCw0Niw1MiIgaWQ9InllbGxvdyI+Ci0gICAgICAgIDxhcmVhIHNoYXBlPSJyZWN0IiB0
YWJpbmRleD0iMCIgYWx0PSJvcmFuZ2UiIGhyZWY9IiMiIGNvb3Jkcz0iNTgsMjgsODUsNTIiIGlk
PSJvcmFuZ2UiPgotPC9tYXA+Ci0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyBtYWtl
cyBzdXJlIHRoYXQgd2UgZG9uJ3QgY3Jhc2ggd2hlbiBhc2tpbmcgZm9yIHRoZSBwYXJlbnQgZWxl
bWVudCBvZiBhbiBvYmplY3QgdGhhdCBoYXMgbm8gZG9jdW1lbnQoKSBiZWNhdXNlIGl0cyBwYXJl
bnQgd2FzIGRldGFjaGVkIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9s
bGVyKSB7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvZHkiKS5mb2N1cygp
OwotICAgICAgICB2YXIgbGluayA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVt
ZW50LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgIHNob3VsZEJlKCJs
aW5rLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiB5ZWxsb3cnIik7Ci0KLSAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImJhY2tJbWciKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJiYWNrSW1nIikpOwotCi0gICAgICAgIC8vIFNob3VsZCBub3Qg
Y3Jhc2ggaGVyZSB3aGVuIGFza2luZyBmb3IgcGFyZW50RWxlbWVudCAoZXZlbiB0aG91Z2ggaXQg
d2FzIHJlbW92ZWQpLgotICAgICAgICBzaG91bGRCZSgibGluay5wYXJlbnRFbGVtZW50KCkuaXBo
b25lTGFiZWwiLCAiJ0FYTGFiZWw6ICciKTsKLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYWNjZXNz
aWJpbGl0eS1oaW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWhpbnQt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWhpbnQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICswLDAgQEAKLWxpbmsgbGFiZWwKLVRoaXMg
bWFrZXMgc3VyZSB0aGF0IHRoZSB0aXRsZSBhdHRyaWJ1dGUgaXMgdXNlZCBhcyBhY2Nlc3NpYmls
aXR5SGludAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBsaW5rLmlwaG9u
ZUhpbnQgaXMgJ0FYSGludDogVGhpcyBpcyBhIGhpbnQnCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1oaW50Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1oaW50Lmh0bWwJKHJldmlzaW9uIDE3OTkxNikKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2Fj
Y2Vzc2liaWxpdHktaGludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMzICswLDAgQEAKLTwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Ci08L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5IGlkPSJib2R5Ij4KLQotPGEgdGFiaW5kZXg9MCBpZD0ibGluayIg
aHJlZj0iI2hlcmUiIHRpdGxlPSJUaGlzIGlzIGEgaGludCI+bGluayBsYWJlbDwvYT4KLQotPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlw
dD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIG1ha2VzIHN1cmUgdGhhdCB0aGUgdGl0bGUgYXR0
cmlidXRlIGlzIHVzZWQgYXMgYWNjZXNzaWJpbGl0eUhpbnQiKTsKLQotICAgIGlmICh3aW5kb3cu
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibGluayIpLmZvY3VzKCk7Ci0gICAgICAgIHZhciBsaW5rID0gYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0gICAgICAgIHNob3VsZEJlKCJsaW5rLmlwaG9uZUhp
bnQiLCAiJ0FYSGludDogVGhpcyBpcyBhIGhpbnQnIik7Ci0gICAgfQotCi0gICAgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L2FyaWEtbGFiZWwtd2l0aC1pbnRlcm5hbC10ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9h
cmlhLWxhYmVsLXdpdGgtaW50ZXJuYWwtdGV4dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTkx
NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmls
aXR5L2FyaWEtbGFiZWwtd2l0aC1pbnRlcm5hbC10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSwyMSArMCwwIEBACi0xCi0xCi10ZXh0MQotbGluazEKLVRoaXMgdGVzdHMgdGhh
dCBpZiBhbiBlbGVtZW50IGhhcyBhcmlhLWxhYmVsLCBpdCB3aWxsIG92ZXJyaWRlIHRoZSB2aXNp
YmxlIHRleHQgYXMgbmVjZXNzYXJ5LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
QnV0dG9uIDEgc2hvdWxkIGV4cG9zZSBhbHRlcm5hdGl2ZSB0ZXh0IG9ubHkuCi1QQVNTIGJ1dHRv
bjEuaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6IFBMQVknCi1CdXR0b24gMiBzaG91bGQgZXhwb3Nl
IGludGVybmFsIHRleHQgb25seS4KLVBBU1MgYnV0dG9uMi5pcGhvbmVMYWJlbCBpcyAnQVhMYWJl
bDogMScKLVRleHQgMSBzaG91bGQgcmVseSBvbiB0aGUgc3RyaW5nVmFsdWUoKSBpbiB0aGUgbGFi
ZWwgZmllbGQuCi1QQVNTIHRleHQxLmlwaG9uZUxhYmVsIGlzICdBWExhYmVsOiB0ZXh0MScKLUxp
bmsxIHNob3VsZCBjb21iaW5lIHRoZSB0aXRsZSBmaWVsZCBhbmQgdGhlIGFyaWEtbGFiZWwgZmll
bGQuCi1GQUlMIGxpbmsxLmlwaG9uZUxhYmVsIHNob3VsZCBiZSBBWExhYmVsOiBsaW5rMSwgbGlu
azEtdGl0bGUuIFdhcyBBWExhYmVsOiBsaW5rMS4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
c2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsLXdpdGgtaW50ZXJuYWwtdGV4
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVj
YXRlZC9hY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWwtd2l0aC1pbnRlcm5hbC10ZXh0Lmh0bWwJKHJl
dmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRl
ZC9hY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWwtd2l0aC1pbnRlcm5hbC10ZXh0Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgaWQ9ImJvZHki
PgotCi08ZGl2IGlkPSJidXR0b24xIiByb2xlPSJidXR0b24iIGFyaWEtbGFiZWw9IlBMQVkiPjxz
cGFuPjE8L3NwYW4+PC9kaXY+Ci08ZGl2IGlkPSJidXR0b24yIiByb2xlPSJidXR0b24iPjxzcGFu
PjE8L3NwYW4+PC9kaXY+Ci08ZGl2IGlkPSJ0ZXh0MSIgcm9sZT0idGV4dCI+PHNwYW4+dGV4dDE8
L3NwYW4+PC9kaXY+Ci08ZGl2IGlkPSJsaW5rMSIgdGl0bGU9ImxpbmsxLXRpdGxlIiByb2xlPSJs
aW5rIj48c3Bhbj5saW5rMTwvc3Bhbj48L2Rpdj4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3RzIHRoYXQgaWYgYW4gZWxlbWVudCBoYXMgYXJpYS1sYWJlbCwgaXQgd2lsbCBv
dmVycmlkZSB0aGUgdmlzaWJsZSB0ZXh0IGFzIG5lY2Vzc2FyeS4iKTsKLQotICAgIGlmICh3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAgICB2YXIgYnV0dG9uMSA9IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiYnV0dG9uMSIpOwot
ICAgICAgICBkZWJ1ZygiQnV0dG9uIDEgc2hvdWxkIGV4cG9zZSBhbHRlcm5hdGl2ZSB0ZXh0IG9u
bHkuIik7Ci0gICAgICAgIHNob3VsZEJlKCJidXR0b24xLmlwaG9uZUxhYmVsIiwgIidBWExhYmVs
OiBQTEFZJyIpOwotCi0gICAgICAgIHZhciBidXR0b24yID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJidXR0b24yIik7Ci0gICAgICAgIGRlYnVnKCJCdXR0
b24gMiBzaG91bGQgZXhwb3NlIGludGVybmFsIHRleHQgb25seS4iKTsKLSAgICAgICAgc2hvdWxk
QmUoImJ1dHRvbjIuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IDEnIik7Ci0KLSAgICAgICAgdmFy
IHRleHQxID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0
ZXh0MSIpOwotICAgICAgICBkZWJ1ZygiVGV4dCAxIHNob3VsZCByZWx5IG9uIHRoZSBzdHJpbmdW
YWx1ZSgpIGluIHRoZSBsYWJlbCBmaWVsZC4iKTsKLSAgICAgICAgc2hvdWxkQmUoInRleHQxLmlw
aG9uZUxhYmVsIiwgIidBWExhYmVsOiB0ZXh0MSciKTsKLQotICAgICAgICB2YXIgbGluazEgPSBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImxpbmsxIik7Ci0g
ICAgICAgIGRlYnVnKCJMaW5rMSBzaG91bGQgY29tYmluZSB0aGUgdGl0bGUgZmllbGQgYW5kIHRo
ZSBhcmlhLWxhYmVsIGZpZWxkLiIpOwotICAgICAgICBzaG91bGRCZSgibGluazEuaXBob25lTGFi
ZWwiLCAiJ0FYTGFiZWw6IGxpbmsxLCBsaW5rMS10aXRsZSciKTsKLSAgICB9Ci0KLSAgICBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1s
PgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNz
aWJpbGl0eS9hcmlhLXByZXNzZWQtc3RhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2FyaWEt
cHJlc3NlZC1zdGF0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2FyaWEtcHJlc3Nl
ZC1zdGF0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTIgKzAsMCBAQAotYnV0
dG9uIDEKLWJ1dHRvbiAyCi1UaGlzIHRlc3QgdGhhdHMgYXJpYS1wcmVzc2VkIGNoYW5nZXMgdGhl
IHRyYWl0cyByZXR1cm5lZCBieSBidXR0b25zCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1GQUlMIGJ0bjEuaXBob25lVHJhaXRzICE9IGJ0bjIuaXBob25lVHJhaXRzIHNob3VsZCBi
ZSB0cnVlLiBXYXMgZmFsc2UuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvYXJpYS1wcmVzc2VkLXN0YXRlLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvYXJp
YS1wcmVzc2VkLXN0YXRlLmh0bWwJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2FyaWEtcHJlc3NlZC1zdGF0
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Ci1pZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+
Ci0KLTxkaXYgaWQ9ImJ1dHRvbjEiIHRhYmluZGV4PTAgcm9sZT0iYnV0dG9uIiBhcmlhLXByZXNz
ZWQ9InRydWUiPmJ1dHRvbiAxPC9kaXY+Ci08ZGl2IGlkPSJidXR0b24yIiB0YWJpbmRleD0wIHJv
bGU9ImJ1dHRvbiIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+YnV0dG9uIDI8L2Rpdj4KLQotCi08cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0
PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB0aGF0cyBhcmlhLXByZXNzZWQgY2hhbmdl
cyB0aGUgdHJhaXRzIHJldHVybmVkIGJ5IGJ1dHRvbnMiKTsKLQotICAgIGlmICh3aW5kb3cuYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiYnV0dG9uMSIpLmZvY3VzKCk7Ci0gICAgICAgIHZhciBidG4xID0gYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImJ1dHRvbjIiKS5mb2N1cygpOwotICAgICAgICB2YXIgYnRuMiA9IGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotIAotICAgICAgICBzaG91bGRCZSgiYnRuMS5pcGhv
bmVUcmFpdHMgIT0gYnRuMi5pcGhvbmVUcmFpdHMiLCAidHJ1ZSIpOwotICAgIH0KLQotICAgIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotCi08L2JvZHk+Ci08L2h0
bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nl
c3NpYmlsaXR5L2NlbnRlcnBvaW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9jZW50ZXJwb2lu
dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2NlbnRlcnBvaW50LWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNiArMCwwIEBACi1ibGFoICAgCi0KLQotVGhpcyB0ZXN0
cyB0aGF0IHRoZSBjZW50ZXIgcG9pbnQgZm9yIGEgY2hlY2tib3ggd2l0aCBhIGxhYmVsIGlzIG5v
dCB0aGUgc2FtZSBhcyB0aGUgbWlkIHBvaW50IG9mIHRoZSBmcmFtZSAoYmVjYXVzZSB0aGUgZnJh
bWUgaW5jbHVkZXMgdGhlIGJvdW5kcyBvZiB0aGUgbGFiZWwpCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1QQVNTICh4ICsgdy8yKSA9PSBjbGlja1BvaW50WCBpcyBmYWxzZQotUEFT
UyAoeSArIGgvMikgPT0gY2xpY2tQb2ludFkgaXMgZmFsc2UKLVBBU1MgKHggKyB3LzIpID09IGNs
aWNrUG9pbnRYIGlzIHRydWUKLVBBU1MgKHkgKyBoLzIpID09IGNsaWNrUG9pbnRZIGlzIHRydWUK
LVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9j
ZW50ZXJwb2ludC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2NlbnRlcnBvaW50Lmh0bWwJKHJldmlzaW9uIDE3
OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3Np
YmlsaXR5L2NlbnRlcnBvaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNjggKzAsMCBAQAot
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLQotPGxhYmVsIGZvcj0iY2hlY2sxIj5ibGFoPC9sYWJlbD4KLQot
PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY2hlY2sxIj4KLQotPGJyPjxicj4KLQotPGlucHV0
IHR5cGU9ImNoZWNrYm94IiBpZD0iY2hlY2syIj4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3RzIHRoYXQgdGhlIGNlbnRlciBwb2ludCBmb3IgYSBjaGVja2JveCB3aXRoIGEg
bGFiZWwgaXMgbm90IHRoZSBzYW1lIGFzIHRoZSBtaWQgcG9pbnQgb2YgdGhlIGZyYW1lIChiZWNh
dXNlIHRoZSBmcmFtZSBpbmNsdWRlcyB0aGUgYm91bmRzIG9mIHRoZSBsYWJlbCkiKTsKLQotICAg
IGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAgICAvLyBNYWtl
IHN1cmUgYSBjaGVja2JveCB3aXRoIGEgbGFiZWwgRE9FUyBOT1QgaGF2ZSB0aGUgc2FtZSBjZW50
ZXIgcG9pbnQgYXMgdGhlIGZyYW1lCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
aGVjazEiKS5mb2N1cygpOwotICAgICAgICB2YXIgcGFzcyA9IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmZvY3VzZWRFbGVtZW50OwotCi0gICAgICAgIHZhciBjbGlja1BvaW50WCA9IHBhc3MuY2xp
Y2tQb2ludFg7Ci0gICAgICAgIHZhciBjbGlja1BvaW50WSA9IHBhc3MuY2xpY2tQb2ludFk7Ci0K
LSAgICAgICAgdmFyIHggPSBwYXNzLng7Ci0gICAgICAgIHZhciB5ID0gcGFzcy55OwotICAgICAg
ICB2YXIgdyA9IHBhc3Mud2lkdGg7Ci0gICAgICAgIHZhciBoID0gcGFzcy5oZWlnaHQ7Ci0KLSAg
ICAgICAgc2hvdWxkQmVGYWxzZSgiKHggKyB3LzIpID09IGNsaWNrUG9pbnRYIik7Ci0gICAgICAg
IHNob3VsZEJlRmFsc2UoIih5ICsgaC8yKSA9PSBjbGlja1BvaW50WSIpOwotCi0gICAgICAgIC8v
IE5vdyBtYWtlIHN1cmUgYSBjaGVja2JveCB3aXRob3V0IGEgbGFiZWwgRE9FUyBoYXZlIHRoZSBz
YW1lIGNlbnRlcnBvaW50IGFzIHRoZSBmcmFtZQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY2hlY2syIikuZm9jdXMoKTsKLSAgICAgICAgcGFzcyA9IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotCi0gICAgICAgIHZhciBjbGlja1BvaW50WCA9IHBhc3Mu
Y2xpY2tQb2ludFg7Ci0gICAgICAgIHZhciBjbGlja1BvaW50WSA9IHBhc3MuY2xpY2tQb2ludFk7
Ci0KLSAgICAgICAgdmFyIHggPSBwYXNzLng7Ci0gICAgICAgIHZhciB5ID0gcGFzcy55OwotICAg
ICAgICB2YXIgdyA9IHBhc3Mud2lkdGg7Ci0gICAgICAgIHZhciBoID0gcGFzcy5oZWlnaHQ7Ci0K
LSAgICAgICAgc2hvdWxkQmVUcnVlKCIoeCArIHcvMikgPT0gY2xpY2tQb2ludFgiKTsKLSAgICAg
ICAgc2hvdWxkQmVUcnVlKCIoeSArIGgvMikgPT0gY2xpY2tQb2ludFkiKTsKLSAgICB9Ci0KLSAg
ICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLQotPC9ib2R5Pgot
PC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQv
YWNjZXNzaWJpbGl0eS9kaXNhYmxlZC1zdGF0ZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2Rp
c2FibGVkLXN0YXRlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2Rpc2FibGVkLXN0
YXRlcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMCwwIEBACi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMjY6IFR5cGVFcnJvcjogSFRNTFBhcmFncmFwaEVsZW1lbnQgaXMgbm90
IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdGhhdHMgZGlz
YWJsZWQgYW5kIGFyaWEtZGlzYWJsZWQgY2hhbmdlIHRoZSB0cmFpdHMgcmV0dXJuZWQuIiknKQot
YnV0dG9uIDEKLWJ1dHRvbiAyCi1idXR0b24gMwotIAotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9kaXNhYmxlZC1zdGF0ZXMuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQv
YWNjZXNzaWJpbGl0eS9kaXNhYmxlZC1zdGF0ZXMuaHRtbAkocmV2aXNpb24gMTc5OTE2KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZGlz
YWJsZWQtc3RhdGVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNTYgKzAsMCBAQAotPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4K
LTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gZmFsc2U7Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLQotPGRpdiBpZD0iYnV0dG9u
MSIgdGFiaW5kZXg9IjAiIHJvbGU9ImJ1dHRvbiIgYXJpYS1kaXNhYmxlZD0idHJ1ZSI+YnV0dG9u
IDE8L2Rpdj4KLTxkaXYgaWQ9ImJ1dHRvbjIiIHRhYmluZGV4PSIwIiByb2xlPSJidXR0b24iIGFy
aWEtZGlzYWJsZWQ9ImZhbHNlIj5idXR0b24gMjwvZGl2PgotPGRpdiBpZD0iYnV0dG9uMyIgdGFi
aW5kZXg9IjAiIHJvbGU9ImJ1dHRvbiI+YnV0dG9uIDM8L2Rpdj4KLQotPHNlbGVjdCBkaXNhYmxl
ZCB0YWJpbmRleD0iMCIgaWQ9InNlbGVjdDEiPjxvcHRpb24+MTwvb3B0aW9uPjwvc2VsZWN0Pgot
PHNlbGVjdCB0YWJpbmRleD0iMCIgaWQ9InNlbGVjdDIiPjxvcHRpb24+Mjwvb3B0aW9uPjwvc2Vs
ZWN0PgotCi08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgotCi08c2NyaXB0PgotCi0gICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHRoYXRzIGRpc2FibGVk
IGFuZCBhcmlhLWRpc2FibGVkIGNoYW5nZSB0aGUgdHJhaXRzIHJldHVybmVkLiIpOwotCi0gICBp
ZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiYnV0dG9uMSIpLmZvY3VzKCk7Ci0gICAgICAgdmFyIGJ0bjEgPSBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKLQotICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJidXR0b24yIikuZm9jdXMoKTsKLSAgICAgICB2YXIgYnRuMiA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotICAgICAgIHNob3VsZEJlKCJidG4x
LmlwaG9uZVRyYWl0cyAhPSBidG4yLmlwaG9uZVRyYWl0cyIsICJ0cnVlIik7Ci0KLSAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uMyIpLmZvY3VzKCk7Ci0gICAgICAgdmFyIGJ0
bjMgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKLSAgICAgICBzaG91
bGRCZSgiYnRuMi5pcGhvbmVUcmFpdHMgPT0gYnRuMy5pcGhvbmVUcmFpdHMiLCAidHJ1ZSIpOwot
Ci0gICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdDEiKS5mb2N1cygpOwotICAg
ICAgIHZhciBzZWxlY3QxID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7
Ci0KLSAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0MiIpLmZvY3VzKCk7Ci0g
ICAgICAgdmFyIHNlbGVjdDIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVu
dDsKLQotICAgICAgIHNob3VsZEJlKCJzZWxlY3QxLmlwaG9uZVRyYWl0cyAhPSBzZWxlY3QyLmlw
aG9uZVRyYWl0cyIsICJ0cnVlIik7Ci0gICB9Ci0KLSAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2RvbS1m
b2N1cy1maXJlcy1vbi1jb3JyZWN0LWVsZW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2Rv
bS1mb2N1cy1maXJlcy1vbi1jb3JyZWN0LWVsZW1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAx
Nzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNz
aWJpbGl0eS9kb20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1lbGVtZW50LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSwxNiArMCwwIEBACi1saW5rMQotaGVhZGluZzEKLQotVGhpcyB0
ZXN0cyB0aGF0IGFjY2Vzc2liaWxpdHlFbGVtZW50RGlkQmVjb21lRm9jdXNlZCB3aWxsIGJlIHBy
b3BhZ2F0ZWQgdG8gdGhlIGNvcnJlY3QgcGFyZW50IGFuZCBjYXVzZSBET00gZm9jdXMgdG8gZmly
ZSBvbiB0aGUgY29ycmVjdCBlbGVtZW50cy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLVBBU1MgdGV4dEluc2lkZUxpbmsuaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6IGxpbmsxJwot
UEFTUyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5jaGlsZEF0SW5kZXgo
MCkuaXNFcXVhbCh0ZXh0SW5zaWRlTGluaykgaXMgdHJ1ZQotUEFTUyB0ZXh0SW5zaWRlSGVhZGlu
Zy5pcGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogaGVhZGluZzEnCi1QQVNTIGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5pc0VxdWFsKHRleHRJbnNp
ZGVIZWFkaW5nKSBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvZG9tLWZvY3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9h
Y2Nlc3NpYmlsaXR5L2RvbS1mb2N1cy1maXJlcy1vbi1jb3JyZWN0LWVsZW1lbnQuaHRtbAkocmV2
aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVk
L2FjY2Vzc2liaWxpdHkvZG9tLWZvY3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDUyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IGlk
PSJib2R5Ij4KLQotCi08YSBpZD0ibGluazEiIGhyZWY9IiMiPmxpbmsxPC9hPgotCi08aDEgaWQ9
ImhlYWRpbmcxIiB0YWJpbmRleD0wPmhlYWRpbmcxPC9oMT4KLQotPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgYWNjZXNzaWJpbGl0eUVsZW1lbnREaWRCZWNvbWVGb2N1
c2VkIHdpbGwgYmUgcHJvcGFnYXRlZCB0byB0aGUgY29ycmVjdCBwYXJlbnQgYW5kIGNhdXNlIERP
TSBmb2N1cyB0byBmaXJlIG9uIHRoZSBjb3JyZWN0IGVsZW1lbnRzLiIpOwotCi0KLSAgICBpZiAo
d2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICAgdmFyIGJvZHkgPSBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxlbWVudDsKLQotICAgICAgICAvLyBHZXQgYWNj
ZXNzIHRvIHRoZSB0ZXh0IGluc2lkZSB0aGUgbGluay4KLSAgICAgICAgdmFyIHRleHRJbnNpZGVM
aW5rID0gYm9keS5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgw
KTsKLSAgICAgICAgc2hvdWxkQmUoInRleHRJbnNpZGVMaW5rLmlwaG9uZUxhYmVsIiwgIidBWExh
YmVsOiBsaW5rMSciKTsKLQotICAgICAgICAvLyBTaW11bGF0ZSBWb2ljZU92ZXIgZm9jdXMgb250
byB0aGUgZWxlbWVudC4KLSAgICAgICAgdGV4dEluc2lkZUxpbmsuYXNzaXN0aXZlVGVjaG5vbG9n
eVNpbXVsYXRlZEZvY3VzKCk7Ci0KLSAgICAgICAgLy8gVGhlIG5ldyBmb2N1c2VkIGVsZW1lbnQg
c2hvdWxkIG5vdyBiZSB0aGUgbGluayBpdHNlbGYuCi0gICAgICAgIHNob3VsZEJlVHJ1ZSgiYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmlzRXF1
YWwodGV4dEluc2lkZUxpbmspIik7Ci0KLSAgICAgICAgLy8gUmVwZWF0IGZvciB0ZXh0IGluc2lk
ZSBsaW5rIGluc2lkZSBoZWFkaW5nLgotCi0gICAgICAgIC8vIEdldCBhY2Nlc3MgdG8gdGhlIHRl
eHQgaW5zaWRlIHRoZSBsaW5rLgotICAgICAgICB2YXIgdGV4dEluc2lkZUhlYWRpbmcgPSBib2R5
LmNoaWxkQXRJbmRleCgxKS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXh0
SW5zaWRlSGVhZGluZy5pcGhvbmVMYWJlbCIsICInQVhMYWJlbDogaGVhZGluZzEnIik7Ci0KLSAg
ICAgICAgLy8gU2ltdWxhdGUgVm9pY2VPdmVyIGZvY3VzIG9udG8gdGhlIGVsZW1lbnQuCi0gICAg
ICAgIHRleHRJbnNpZGVIZWFkaW5nLmFzc2lzdGl2ZVRlY2hub2xvZ3lTaW11bGF0ZWRGb2N1cygp
OwotCi0gICAgICAgIC8vIFRoZSBuZXcgZm9jdXNlZCBlbGVtZW50IHNob3VsZCBub3cgYmUgdGhl
IGxpbmsgaXRzZWxmLgotICAgICAgICBzaG91bGRCZVRydWUoImFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmZvY3VzZWRFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5pc0VxdWFsKHRleHRJbnNpZGVIZWFk
aW5nKSIpOwotICAgIH0KLQotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2Vs
ZW1lbnQtcGF0aHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2VsZW1lbnQtcGF0aHMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2lt
LWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9lbGVtZW50LXBhdGhzLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSwzNSArMCwwIEBACi0gCi1UaGlzIHRlc3RzIFNWRyBncm91cCBlbGVt
ZW50cyBhcmUgYWNjZXNzaWJsZSBhbmQgdGhhdCB0aGUgc3ZnOnRpdGxlIGVsZW1lbnQgaXMgcmV0
dXJuZWQgcHJvcGVybHkuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1TVkcgcGF0
aCBkZXNjcmlwdGlvbgotU3RhcnQgUGF0aAotCU1vdmUgdG8gcG9pbnQKLQlMaW5lIHRvCi0JTGlu
ZSB0bwotCUNsb3NlCi0KLU1hcDEgcGF0aCBkZXNjcmlwdGlvbgotU3RhcnQgUGF0aAotCU1vdmUg
dG8gcG9pbnQKLQlMaW5lIHRvCi0JTGluZSB0bwotCUxpbmUgdG8KLQlMaW5lIHRvCi0JQ2xvc2UK
LQotTWFwMiBwYXRoIGRlc2NyaXB0aW9uCi1TdGFydCBQYXRoCi0JTW92ZSB0byBwb2ludAotCUN1
cnZlIHRvCi0JQ3VydmUgdG8KLQlDdXJ2ZSB0bwotCUN1cnZlIHRvCi0JQ2xvc2UKLQotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2VsZW1lbnQt
cGF0aHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRl
cHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9lbGVtZW50LXBhdGhzLmh0bWwJKHJldmlzaW9uIDE3OTkx
NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmls
aXR5L2VsZW1lbnQtcGF0aHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMCwwIEBACi08
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci0KLTxzdmcgeG1sbnM9Imh0dHA6Ly93
d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiPgotICA8cGF0aCByb2xlPSJidXR0b24i
IGlkPSJzdmciIGQ9Ik0xNTAgMCBMNzUgMjAwIEwyMjUgMjAwIFoiIC8+Ci08L3N2Zz4KLQotPG1h
cCBuYW1lPSJpbWFnZW1hcDEiPgotICAgIDxBUkVBIGlkPSJtYXAxIiBzaGFwZT0icG9seWdvbiIg
Y29vcmRzPSI5MCwyNSwxNjIsMjYsMTYzLDk2LDg5LDI1LDkwLDI0IiBocmVmPSJ0cmlhbmdsZS5o
dG1sIj4KLSAgICA8QVJFQSBpZD0ibWFwMiIgc2hhcGU9ImNpcmNsZSIgY29vcmRzPSIxMzAsMzA0
LDExMCIgaHJlZj0iY2lyY2xlLmh0bWwiPgotPC9tYXA+Ci0KLTxpbWcgc3JjPSJyZXNvdXJjZXMv
Y2FrZS5wbmciICBib3JkZXI9IjAiIGFsaWduPSJsZWZ0IiB1c2VtYXA9IiNpbWFnZW1hcDEiIHZz
cGFjZT0iMSI+Ci0KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgU1ZHIGdyb3VwIGVsZW1lbnRzIGFyZSBhY2Nlc3NpYmxl
IGFuZCB0aGF0IHRoZSBzdmc6dGl0bGUgZWxlbWVudCBpcyByZXR1cm5lZCBwcm9wZXJseS4iKTsK
LQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAgICAg
IHZhciBzdmcgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQo
InN2ZyIpOwotICAgICAgICAgIGRlYnVnKCJTVkcgcGF0aCBkZXNjcmlwdGlvbiIgKyBzdmcucGF0
aERlc2NyaXB0aW9uKTsKLQotICAgICAgICAgIHZhciBtYXAxID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJtYXAxIik7Ci0gICAgICAgICAgZGVidWcoIk1h
cDEgcGF0aCBkZXNjcmlwdGlvbiIgKyBtYXAxLnBhdGhEZXNjcmlwdGlvbik7Ci0KLSAgICAgICAg
ICB2YXIgbWFwMiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJ
ZCgibWFwMiIpOwotICAgICAgICAgIGRlYnVnKCJNYXAyIHBhdGggZGVzY3JpcHRpb24iICArIG1h
cDIucGF0aERlc2NyaXB0aW9uKTsKLSAgICB9Ci0KLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNj
ZXNzaWJpbGl0eS9maWxlLXVwbG9hZC1idXR0b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2Zp
bGUtdXBsb2FkLWJ1dHRvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2ZpbGUtdXBs
b2FkLWJ1dHRvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTIgKzAsMCBAQAot
Ci1UaGlzIHRlc3RzIHRoYXQgdGhlIGxhYmVsIGFuZCB2YWx1ZSBhcmUgY29ycmVjdCBmb3IgaW5w
dXQgZmlsZSB0eXBlcy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgYnV0
dG9uMS5pcGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogQ2hvb3NlIEZpbGUnCi1QQVNTIGJ1dHRvbjEu
aXBob25lVmFsdWUgaXMgJ0FYVmFsdWU6IG5vIGZpbGUgc2VsZWN0ZWQnCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvZmlsZS11cGxvYWQtYnV0
dG9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXBy
ZWNhdGVkL2FjY2Vzc2liaWxpdHkvZmlsZS11cGxvYWQtYnV0dG9uLmh0bWwJKHJldmlzaW9uIDE3
OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3Np
YmlsaXR5L2ZpbGUtdXBsb2FkLWJ1dHRvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM0ICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IGlkPSJib2R5Ij4KLQotPGlucHV0IGlkPSJmaWxl
LWlucHV0IiB0eXBlPSJmaWxlIi8+Ci0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0cyB0aGF0IHRoZSBsYWJlbCBhbmQgdmFsdWUgYXJlIGNvcnJlY3QgZm9yIGlucHV0IGZpbGUg
dHlwZXMuIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0K
LSAgICAgICAgdmFyIGJ1dHRvbjEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoImZpbGUtaW5wdXQiKTsKLSAgICAgICAgc2hvdWxkQmUoImJ1dHRvbjEuaXBo
b25lTGFiZWwiLCAiJ0FYTGFiZWw6IENob29zZSBGaWxlJyIpOwotICAgICAgICBzaG91bGRCZSgi
YnV0dG9uMS5pcGhvbmVWYWx1ZSIsICInQVhWYWx1ZTogbm8gZmlsZSBzZWxlY3RlZCciKTsKLSAg
ICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLQot
PC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRl
cHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9mb2N1cy1jaGFuZ2Utbm90aWZpY2F0aW9ucy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvZm9jdXMtY2hhbmdlLW5vdGlmaWNhdGlvbnMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJl
Y2F0ZWQvYWNjZXNzaWJpbGl0eS9mb2N1cy1jaGFuZ2Utbm90aWZpY2F0aW9ucy1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTQgKzAsMCBAQAotSDEKLQotSDIKLQotVGhpcyB0ZXN0
cyB0aGF0IG5vdGlmaWNhdGlvbnMgYXJlIGZpcmVkIGZvciBmb2N1cyBjaGFuZ2VzCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGFkZGVkTm90aWZpY2F0aW9uIGlzIHRydWUK
LVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9m
b2N1cy1jaGFuZ2Utbm90aWZpY2F0aW9ucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2ZvY3VzLWNoYW5nZS1u
b3RpZmljYXRpb25zLmh0bWwJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2ZvY3VzLWNoYW5nZS1ub3RpZmlj
YXRpb25zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNTUgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Ci08L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHkgaWQ9ImJvZHkiPgotCi08aDEgdGFiaW5kZXg9MCBpZD0iaDEiPkgxPC9oMT4KLTxo
MiB0YWJpbmRleD0wIGlkPSJoMiI+SDI8L2gyPgotCi08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
LTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdHMgdGhhdCBub3RpZmljYXRpb25zIGFyZSBmaXJlZCBmb3IgZm9jdXMgY2hhbmdl
cyIpOwotCi0gICAgdmFyIGZvY3VzQ2hhbmdlQ291bnQgPSAwOwotICAgIHZhciByb290RWxlbWVu
dCA9IDA7Ci0gICAgZnVuY3Rpb24gZm9jdXNDYWxsYmFjayhub3RpZmljYXRpb24pIHsKLSAgICAg
ICAgaWYgKG5vdGlmaWNhdGlvbiA9PSAiQVhGb2N1c0NoYW5nZWQiKSB7Ci0gICAgICAgICAgICBm
b2N1c0NoYW5nZUNvdW50Kys7Ci0KLSAgICAgICAgICAgIC8vIFdlIHNob3VsZCBnZXQgYSB0b3Rh
bCBvZiAyIGZvY3VzIGNoYW5nZXMuCi0gICAgICAgICAgICBpZiAoZm9jdXNDaGFuZ2VDb3VudCA9
PSAyKSB7Ci0gICAgICAgICAgICAgICByb290RWxlbWVudC5yZW1vdmVOb3RpZmljYXRpb25MaXN0
ZW5lcigpOwotICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcikgewotICAgICAgICAvLyBNYWtlIHN1cmUgQVggZ2V0cyB0dXJuZWQg
b24uCi0gICAgICAgIHJvb3RFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVs
ZW1lbnQ7Ci0gICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLQotICAg
ICAgICB2YXIgYWRkZWROb3RpZmljYXRpb24gPSByb290RWxlbWVudC5hZGROb3RpZmljYXRpb25M
aXN0ZW5lcihmb2N1c0NhbGxiYWNrKTsKLSAgICAgICAgc2hvdWxkQmUoImFkZGVkTm90aWZpY2F0
aW9uIiwgInRydWUiKTsKLQotICAgICAgICAvLyBTd2l0Y2ggZm9jdXMgZnJvbSBoMS4KLSAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImgyIikuZm9jdXMoKTsKLSAgICAgICAgLy8gQ2F1
c2UgZm9jdXMgY2hhbmdlIHRvIGJlIHNlbnQgdG8gaDEuCi0gICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJoMSIpLmZvY3VzKCk7Ci0KLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2hlYWRlci1l
bGVtZW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvaGVhZGVyLWVsZW1lbnRzLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1k
ZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvaGVhZGVyLWVsZW1lbnRzLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSwxMyArMCwwIEBACi1UaGlzIHRlc3QgbWFrZXMgc3VyZSBhc2tpbmcg
Zm9yIHRoZSBoZWFkZXIgZWxlbWVudCBmb3IgYSBjZWxsLCB3aWxsIHJldHVybiB0aGUgaGVhZGVy
IGVsZW1lbnQKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgYnV0dG9uLmhl
YWRlckVsZW1lbnRBdEluZGV4KDApLmlzRXF1YWwoaGVhZGVyKSBpcyB0cnVlCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLWhlYWRlciAxCWhlYWRlciAy
CWhlYWRlciAzCi1jZWxsIDEJY2VsbCAyCWNlbGwgMwotY2VsbCA0CWNlbGwgNQljZWxsCi02Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9oZWFkZXItZWxlbWVudHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9oZWFkZXItZWxlbWVudHMuaHRtbAko
cmV2aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvaGVhZGVyLWVsZW1lbnRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSBmYWxzZTsKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLQotPHRhYmxlIGJvcmRlcj0xPgotPHRy
Pjx0aD5oZWFkZXIgMTwvdGg+PHRoPmhlYWRlciAyPC90aD48dGggdGFiaW5kZXg9MCBpZD0iaGVh
ZGVyIj5oZWFkZXIgMzwvdGg+PC90cj4KLTx0cj48dGQ+Y2VsbCAxPC90ZD48dGQ+Y2VsbCAyPC90
ZD48dGQ+Y2VsbCAzPC90ZD48L3RyPgotPHRyPjx0ZD5jZWxsIDQ8L3RkPjx0ZD5jZWxsIDU8L3Rk
Pjx0ZD5jZWxsIDxkaXYgcm9sZT0iYnV0dG9uIiBpZD0iYnV0dG9uIiB0YWJpbmRleD0wPjY8L2Rp
dj48L3RkPjwvdHI+Ci0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IG1ha2Vz
IHN1cmUgYXNraW5nIGZvciB0aGUgaGVhZGVyIGVsZW1lbnQgZm9yIGEgY2VsbCwgd2lsbCByZXR1
cm4gdGhlIGhlYWRlciBlbGVtZW50Iik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlD
b250cm9sbGVyKSB7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ1dHRvbiIp
LmZvY3VzKCk7Ci0gICAgICAgIHZhciBidXR0b24gPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5m
b2N1c2VkRWxlbWVudDsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGVhZGVy
IikuZm9jdXMoKTsKLSAgICAgICAgdmFyIGhlYWRlciA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmZvY3VzZWRFbGVtZW50OwotICAgICAgICBzaG91bGRCZVRydWUoImJ1dHRvbi5oZWFkZXJFbGVt
ZW50QXRJbmRleCgwKS5pc0VxdWFsKGhlYWRlcikiKTsKLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgotCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9pZGVudGlmaWVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9pZGVudGlmaWVyLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1k
ZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvaWRlbnRpZmllci1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTEgKzAsMCBAQAotYnV0dG9uIDEKLVRoaXMgdGVzdHMgdGhhdCBpZCBtYXBz
IHRvIEFYSWRlbnRpZmllciBjb3JyZWN0bHkKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLVBBU1MgYnV0dG9uMS5pcGhvbmVJZGVudGlmaWVyIGlzICdBWElkZW50aWZpZXI6IGJ1dHRv
bjEnCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxp
dHkvaWRlbnRpZmllci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2lkZW50aWZpZXIuaHRtbAkocmV2aXNpb24g
MTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vz
c2liaWxpdHkvaWRlbnRpZmllci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Ci1pZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLTwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci0KLTxkaXYgdGFiaW5kZXg9IjAiIGlkPSJidXR0b24xIiByb2xl
PSJidXR0b24iIGFyaWEtc2VsZWN0ZWQ9InRydWUiPmJ1dHRvbiAxPC9kaXY+Ci0KLTxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0K
LSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGlkIG1hcHMgdG8gQVhJZGVudGlmaWVy
IGNvcnJlY3RseSIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikg
ewotCi0gICAgICAgIC8vIE1ha2Ugc3VyZSBhIGNoZWNrYm94IHdpdGggYSBsYWJlbCBET0VTIE5P
VCBoYXZlIHRoZSBzYW1lIGNlbnRlciBwb2ludCBhcyB0aGUgZnJhbWUKLSAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImJ1dHRvbjEiKS5mb2N1cygpOwotICAgICAgICB2YXIgYnV0dG9u
MSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotICAgICAgICBzaG91
bGRCZSgiYnV0dG9uMS5pcGhvbmVJZGVudGlmaWVyIiwgIidBWElkZW50aWZpZXI6IGJ1dHRvbjEn
Iik7Ci0gICAgfQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0Pgot
Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvaW50ZXJuYWwtbGluay1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvaW50ZXJuYWwtbGluay1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTkxNikK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L2ludGVybmFsLWxpbmstZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE4ICswLDAg
QEAKLU5hbWUgCi0KLQotCi0KLQotCi1MaW5rZWQgRWxlbWVudAotVGhpcyB0ZXN0IHRoYXRzIGlu
dGVybmFsIGxpbmtzIHJldHVybiB0aGVpciBsaW5rZWQgZWxlbWVudHMKLQotT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgotCi0KLVBBU1MgbGluay5saW5rZWRFbGVtZW50KCkuaXBob25lTGFiZWwg
aXMgJ0FYTGFiZWw6IExpbmtlZCBFbGVtZW50JwotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2ludGVybmFsLWxpbmsuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9pbnRlcm5hbC1saW5rLmh0bWwJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2ludGVybmFsLWxpbmsuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOwotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotCi08
YSBocmVmPSIjbmFtZTEiIGlkPSJuYW1lIj5OYW1lPC9hPgotCi08QlI+PEJSPjxCUj48QlI+Ci08
QlI+PEJSPjxCUj4KLTxhIG5hbWU9Im5hbWUxIj5MaW5rZWQgRWxlbWVudDwvYT4KLQotCi08cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0
PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB0aGF0cyBpbnRlcm5hbCBsaW5rcyByZXR1
cm4gdGhlaXIgbGlua2VkIGVsZW1lbnRzIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxp
dHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hbWUi
KS5mb2N1cygpOwotICAgICAgICB2YXIgbGluayA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZv
Y3VzZWRFbGVtZW50OwotICAgICAgICBzaG91bGRCZSgibGluay5saW5rZWRFbGVtZW50KCkuaXBo
b25lTGFiZWwiLCAiJ0FYTGFiZWw6IExpbmtlZCBFbGVtZW50JyIpOwotICAgIH0KLQotICAgIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotCi08L2JvZHk+Ci08L2h0
bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nl
c3NpYmlsaXR5L2xhbmRtYXJrLXR5cGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2xhbmRtYXJr
LXR5cGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9sYW5kbWFyay10eXBlLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMyArMCwwIEBACi10ZXh0Ci10ZXh0Ci1UaGlz
IHRlc3RzIHRoYXQgbGFuZG1hcmtzIHJldHVybiB0aGVpciB0eXBlIGFzIHBhcnQgb2YgdGhlIEFY
IGxhYmVsLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBtYWluLmlwaG9u
ZUxhYmVsIGlzICdBWExhYmVsOiBtYWluJwotUEFTUyBiYW5uZXIuaXBob25lTGFiZWwgaXMgJ0FY
TGFiZWw6IGJhbm5lcicKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQv
YWNjZXNzaWJpbGl0eS9sYW5kbWFyay10eXBlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbGFuZG1hcmstdHlw
ZS5odG1sCShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2lt
LWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9sYW5kbWFyay10eXBlLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNDEgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgaWQ9ImJvZHkiPgotCi08
ZGl2IHJvbGU9Im1haW4iIGlkPSJtYWluIj4KLXRleHQKLTwvZGl2PgotCi08ZGl2IHJvbGU9ImJh
bm5lciIgaWQ9ImJhbm5lciI+Ci10ZXh0Ci08L2Rpdj4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3RzIHRoYXQgbGFuZG1hcmtzIHJldHVybiB0aGVpciB0eXBlIGFzIHBhcnQg
b2YgdGhlIEFYIGxhYmVsLiIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcikgewotCi0gICAgICAgIHZhciBtYWluID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNj
ZXNzaWJsZUVsZW1lbnRCeUlkKCJtYWluIik7Ci0gICAgICAgIHNob3VsZEJlKCJtYWluLmlwaG9u
ZUxhYmVsIiwgIidBWExhYmVsOiBtYWluJyIpOwotCi0gICAgICAgIHZhciBiYW5uZXIgPSBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImJhbm5lciIpOwotICAg
ICAgICBzaG91bGRCZSgiYmFubmVyLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiBiYW5uZXInIik7
Ci0gICAgfQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0t
ZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2xpbmstd2l0aC1pbWFnZXMtdGV4dC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVk
L2FjY2Vzc2liaWxpdHkvbGluay13aXRoLWltYWdlcy10ZXh0LWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvbGluay13aXRoLWltYWdlcy10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSwxMiArMCwwIEBACi0gIGlQaG9uZUZyb20gJDk5Ci1UaGlzIHRlc3QgbWFrZXMg
c3VyZSB0aGF0IGEgbGluayB3aXRoIGltYWdlcyBhbmQgdGV4dCBhcHBlYXJzIGFzIGEgbGluay4K
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgb2JqLmlwaG9uZUlzRWxlbWVu
dCBpcyB0cnVlCi1GQUlMIG9iai5pcGhvbmVMYWJlbCBzaG91bGQgYmUgQVhMYWJlbDogIGlQaG9u
ZUZyb20gJDk5LiBXYXMgQVhMYWJlbDogaVBob25lIEZyb20gJDk5LgotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2xpbmstd2l0aC1pbWFnZXMt
dGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2xpbmstd2l0aC1pbWFnZXMtdGV4dC5odG1sCShyZXZpc2lv
biAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNj
ZXNzaWJpbGl0eS9saW5rLXdpdGgtaW1hZ2VzLXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MSw0MCArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IGZhbHNlOwotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotCi08YSBocmVmPSJzdG9yZS5odG1sIj4K
LTxzcGFuPgotPGltZyBzcmM9ImltYWdlLmdpZiIgd2lkdGg9MTAwIGhlaWdodD0xMDAgYWx0PSIi
PgotPHN0cm9uZz5pUGhvbmU8L3N0cm9uZz5Gcm9tICQ5OTwvc3Bhbj4gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotPC9hPgotCi08cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0g
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYSBsaW5rIHdpdGggaW1h
Z2VzIGFuZCB0ZXh0IGFwcGVhcnMgYXMgYSBsaW5rLiIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAgIHZhciBvYmogPSBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5yb290RWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApOwot
ICAgICAgICBzaG91bGRCZSgib2JqLmlwaG9uZUlzRWxlbWVudCIsICJ0cnVlIik7Ci0gICAgICAg
IHNob3VsZEJlKCJvYmouaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6ICBpUGhvbmVGcm9tICQ5OSci
KTsKLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0K
LTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KLQotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
c2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9saW5rLXdpdGgtb25seS1pbWFnZS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvbGluay13aXRoLW9ubHktaW1hZ2UtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQv
YWNjZXNzaWJpbGl0eS9saW5rLXdpdGgtb25seS1pbWFnZS1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTIgKzAsMCBAQAotIAotVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBhIGxp
bmsgd2l0aCBvbmx5IGFuIGltYWdlIHdpbGwgcmVwb3J0IHRoZSBjb3JyZWN0IGxhYmVsLgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBvYmouaXBob25lSXNFbGVtZW50IGlz
IHRydWUKLVBBU1Mgb2JqLmlwaG9uZUxhYmVsIGlzICdBWExhYmVsOiBIZWxsbyBXb3JsZCcKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9saW5r
LXdpdGgtb25seS1pbWFnZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2xpbmstd2l0aC1vbmx5LWltYWdlLmh0
bWwJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L2xpbmstd2l0aC1vbmx5LWltYWdlLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMzggKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSBmYWxzZTsKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLQotPGEgaHJlZj0ic3Rv
cmUuaHRtbCI+Ci08aW1nIHNyYz0iaW1hZ2UuZ2lmIiB3aWR0aD0xMDAgaGVpZ2h0PTEwMCBhbHQ9
IkhlbGxvIFdvcmxkIj4KLTwvYT4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgbWFrZXMgc3VyZSB0aGF0IGEgbGluayB3aXRoIG9ubHkgYW4gaW1hZ2Ugd2lsbCByZXBvcnQg
dGhlIGNvcnJlY3QgbGFiZWwuIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250
cm9sbGVyKSB7Ci0KLSAgICAgICAgdmFyIG9iaiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnJv
b3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDAp
OwotICAgICAgICBzaG91bGRCZSgib2JqLmlwaG9uZUlzRWxlbWVudCIsICJ0cnVlIik7Ci0gICAg
ICAgIHNob3VsZEJlKCJvYmouaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IEhlbGxvIFdvcmxkJyIp
OwotICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQot
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgotCi08L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L21hdGgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L21hdGgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9tYXRoLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSwzMyArMCwwIEBACi1SYW1hbiBzY2F0dGVyaW5nIHN0dWR5IG9m
IHRoZSAKLUZlCi0xCi14Ci1DbwoteAotU2IKLTIKLSBhbmQgCi0wCi14Ci0xCi0gc2luZ2xlIGNy
eXN0YWxzLgotVGhpcyB0ZXN0IHRoZSBtYXRoIHJvbGUgdHlwZSB3aWxsIGJlIGFuIGFjY2Vzc2li
aWxpdHkgZWxlbWVudC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgZ3Jv
dXAuY2hpbGRyZW5Db3VudCBpcyA1Ci1QQVNTIGdyb3VwLmNoaWxkQXRJbmRleCgwKS5pcGhvbmVM
YWJlbCBpcyAnQVhMYWJlbDogUmFtYW4gc2NhdHRlcmluZyBzdHVkeSBvZiB0aGUnCi1QQVNTIGdy
b3VwLmNoaWxkQXRJbmRleCgxKS5pcGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogIEYgZSBzdWIgMSAg
bWludXMgeCwgZW5kIHN1YnNjcmlwdC4gQyBvIHN1YiB4LCBTIGIgc3ViIDIsIG1hdGgnCi1QQVNT
IGdyb3VwLmNoaWxkQXRJbmRleCgyKS5pcGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogYW5kJwotUEFT
UyBncm91cC5jaGlsZEF0SW5kZXgoMykuaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6ICAgb3Blbiwg
MCAgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHggIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxLCAgY2xv
c2UsIG1hdGgnCi1QQVNTIGdyb3VwLmNoaWxkQXRJbmRleCg0KS5pcGhvbmVMYWJlbCBpcyAnQVhM
YWJlbDogc2luZ2xlIGNyeXN0YWxzLicKLVBBU1MgZ3JvdXAuY2hpbGRBdEluZGV4KDApLmlwaG9u
ZUlzRWxlbWVudCBpcyB0cnVlCi1QQVNTIGdyb3VwLmNoaWxkQXRJbmRleCgxKS5pcGhvbmVJc0Vs
ZW1lbnQgaXMgdHJ1ZQotUEFTUyBncm91cC5jaGlsZEF0SW5kZXgoMikuaXBob25lSXNFbGVtZW50
IGlzIHRydWUKLVBBU1MgZ3JvdXAuY2hpbGRBdEluZGV4KDMpLmlwaG9uZUlzRWxlbWVudCBpcyB0
cnVlCi1QQVNTIGdyb3VwLmNoaWxkQXRJbmRleCg0KS5pcGhvbmVJc0VsZW1lbnQgaXMgdHJ1ZQot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L21h
dGguaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJl
Y2F0ZWQvYWNjZXNzaWJpbGl0eS9tYXRoLmh0bWwJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L21hdGguaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMSw5NiArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOwotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0KLTxk
aXYgY2xhc3M9ImNvbnRlbnRzIiBpZD0iZ3JvdXAiIHRhYmluZGV4PSIwIj4KLSAgICAgIFJhbWFu
IHNjYXR0ZXJpbmcgc3R1ZHkgb2YgdGhlICAKLSAgICAgIDxzcGFuIHJvbGU9Im1hdGgiIGFyaWEt
bGFiZWw9IiBGIGUgc3ViIDEgIG1pbnVzIHgsIGVuZCBzdWJzY3JpcHQuIEMgbyBzdWIgeCwgUyBi
IHN1YiAyIj4KLSAgICAgICAgPG1hdGggYWx0dGV4dD0iIEYgZSBzdWIgMSAgbWludXMgeCwgZW5k
IHN1YnNjcmlwdC4gQyBvIHN1YiB4LCBTIGIgc3ViIDIiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KLSAg
ICAgICAgICA8bXJvdz4KLSAgICAgICAgICAgIDxtc3ViPgotICAgICAgICAgICAgICA8bXJvdz4K
LSAgICAgICAgICAgICAgICA8bXRleHQ+RmU8L210ZXh0PgotICAgICAgICAgICAgICA8L21yb3c+
Ci0gICAgICAgICAgICAgIDxtcm93PgotICAgICAgICAgICAgICAgIDxtbj4xPC9tbj4KLSAgICAg
ICAgICAgICAgICA8bW8+JiN4MjIxMjs8L21vPgotICAgICAgICAgICAgICAgIDxtaT54PC9taT4K
LSAgICAgICAgICAgICAgPC9tcm93PgotICAgICAgICAgICAgPC9tc3ViPgotICAgICAgICAgICAg
PG1zdWI+Ci0gICAgICAgICAgICAgIDxtcm93PgotICAgICAgICAgICAgICAgIDxtdGV4dD5Dbzwv
bXRleHQ+Ci0gICAgICAgICAgICAgIDwvbXJvdz4KLSAgICAgICAgICAgICAgPG1pPng8L21pPgot
ICAgICAgICAgICAgPC9tc3ViPgotICAgICAgICAgICAgPG1zdWI+Ci0gICAgICAgICAgICAgIDxt
cm93PgotICAgICAgICAgICAgICAgIDxtdGV4dD5TYjwvbXRleHQ+Ci0gICAgICAgICAgICAgIDwv
bXJvdz4KLSAgICAgICAgICAgICAgPG1uPjI8L21uPgotICAgICAgICAgICAgPC9tc3ViPgotICAg
ICAgICAgIDwvbXJvdz4KLSAgICAgICAgPC9tYXRoPgotICAgICAgPC9zcGFuPgotICAgICAgYW5k
IAotICAgICAgPHNwYW4gcm9sZT0ibWF0aCIgYXJpYS1sYWJlbD0iICBvcGVuLCAwICBsZXNzIHRo
YW4gb3IgZXF1YWwgdG8geCAgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEsICBjbG9zZSI+Ci0gICAg
ICAgIDxtYXRoIHJvbGU9InByZXNlbnRhdGlvbiIgYWx0dGV4dD0iICBvcGVuLCAwICBsZXNzIHRo
YW4gb3IgZXF1YWwgdG8geCAgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEsICBjbG9zZSIgYXJpYS1o
aWRkZW49InRydWUiPgotICAgICAgICAgIDxtcm93PgotICAgICAgICAgICAgPG1yb3c+Ci0gICAg
ICAgICAgICAgIDxtbz4oPC9tbz4KLSAgICAgICAgICAgICAgPG1yb3c+Ci0gICAgICAgICAgICAg
ICAgPG1uPjA8L21uPgotICAgICAgICAgICAgICAgIDxtbz4mI3gyMjY0OzwvbW8+Ci0gICAgICAg
ICAgICAgICAgPG1pPng8L21pPgotICAgICAgICAgICAgICAgIDxtbz4mI3gyMjY0OzwvbW8+Ci0g
ICAgICAgICAgICAgICAgPG1uPjE8L21uPgotICAgICAgICAgICAgICA8L21yb3c+Ci0gICAgICAg
ICAgICAgIDxtbz4pPC9tbz4KLSAgICAgICAgICAgIDwvbXJvdz4KLSAgICAgICAgICA8L21yb3c+
Ci0gICAgICAgIDwvbWF0aD4KLSAgICAgIDwvc3Bhbj4KLSAgICAgIHNpbmdsZSBjcnlzdGFscy4K
LSAgICA8L2Rpdj4KLSAgCi0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdGhl
IG1hdGggcm9sZSB0eXBlIHdpbGwgYmUgYW4gYWNjZXNzaWJpbGl0eSBlbGVtZW50LiIpOwotCi0g
ICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZ3JvdXAiKS5mb2N1cygpOwotICAgICAgIHZhciBncm91cCA9IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotICAgICAgIHNob3VsZEJlKCJn
cm91cC5jaGlsZHJlbkNvdW50IiwgIjUiKTsKLSAgICAgICBzaG91bGRCZSgiZ3JvdXAuY2hpbGRB
dEluZGV4KDApLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiBSYW1hbiBzY2F0dGVyaW5nIHN0dWR5
IG9mIHRoZSciKTsKLSAgICAgICBzaG91bGRCZSgiZ3JvdXAuY2hpbGRBdEluZGV4KDEpLmlwaG9u
ZUxhYmVsIiwgIidBWExhYmVsOiAgRiBlIHN1YiAxICBtaW51cyB4LCBlbmQgc3Vic2NyaXB0LiBD
IG8gc3ViIHgsIFMgYiBzdWIgMiwgbWF0aCciKTsKLSAgICAgICBzaG91bGRCZSgiZ3JvdXAuY2hp
bGRBdEluZGV4KDIpLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiBhbmQnIik7Ci0gICAgICAgc2hv
dWxkQmUoImdyb3VwLmNoaWxkQXRJbmRleCgzKS5pcGhvbmVMYWJlbCIsICInQVhMYWJlbDogICBv
cGVuLCAwICBsZXNzIHRoYW4gb3IgZXF1YWwgdG8geCAgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEs
ICBjbG9zZSwgbWF0aCciKTsKLSAgICAgICBzaG91bGRCZSgiZ3JvdXAuY2hpbGRBdEluZGV4KDQp
LmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiBzaW5nbGUgY3J5c3RhbHMuJyIpOwotCi0gICAgICAg
c2hvdWxkQmVUcnVlKCJncm91cC5jaGlsZEF0SW5kZXgoMCkuaXBob25lSXNFbGVtZW50Iik7Ci0g
ICAgICAgc2hvdWxkQmVUcnVlKCJncm91cC5jaGlsZEF0SW5kZXgoMSkuaXBob25lSXNFbGVtZW50
Iik7Ci0gICAgICAgc2hvdWxkQmVUcnVlKCJncm91cC5jaGlsZEF0SW5kZXgoMikuaXBob25lSXNF
bGVtZW50Iik7Ci0gICAgICAgc2hvdWxkQmVUcnVlKCJncm91cC5jaGlsZEF0SW5kZXgoMykuaXBo
b25lSXNFbGVtZW50Iik7Ci0gICAgICAgc2hvdWxkQmVUcnVlKCJncm91cC5jaGlsZEF0SW5kZXgo
NCkuaXBob25lSXNFbGVtZW50Iik7Ci0gICB9Ci0KLSAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgotCi08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9taXhlZC1jaGVja2Jv
eGVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
c2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9taXhlZC1jaGVja2JveGVzLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXBy
ZWNhdGVkL2FjY2Vzc2liaWxpdHkvbWl4ZWQtY2hlY2tib3hlcy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsMTkgKzAsMCBAQAotMQotMQotMQotCi0KLVRoaXMgdGVzdCBtYWtlcyBz
dXJlIHRoYXQgYSBjaGVja2JveCAoQVJJQSBvciBvdGhlcndpc2UpIHJldHVybnMgaXRzIHN0YXR1
cyB0aHJvdWdoIGFjY2Vzc2liaWxpdHlWYWx1ZQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotUEFTUyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5pcGhvbmVW
YWx1ZSBpcyAnQVhWYWx1ZTogMCcKLVBBU1MgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNl
ZEVsZW1lbnQuaXBob25lVmFsdWUgaXMgJ0FYVmFsdWU6IDEnCi1QQVNTIGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmlwaG9uZVZhbHVlIGlzICdBWFZhbHVlOiAyJwotUEFT
UyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5pcGhvbmVWYWx1ZSBpcyAn
QVhWYWx1ZTogMScKLVBBU1MgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQu
aXBob25lVmFsdWUgaXMgJ0FYVmFsdWU6IDAnCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNp
bS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbWl4ZWQtY2hlY2tib3hlcy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmls
aXR5L21peGVkLWNoZWNrYm94ZXMuaHRtbAkocmV2aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbWl4ZWQtY2hlY2ti
b3hlcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU0ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Ci1pZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci0KLQotPGRpdiBpZD0iY2hlY2sxIiB0YWJpbmRleD0wIHJvbGU9ImNoZWNrYm94IiBhcmlh
LWNoZWNrZWQ9ImZhbHNlIj4xPC9kaXY+Ci08ZGl2IGlkPSJjaGVjazIiIHRhYmluZGV4PTAgcm9s
ZT0iY2hlY2tib3giIGFyaWEtY2hlY2tlZD0idHJ1ZSI+MTwvZGl2PgotPGRpdiBpZD0iY2hlY2sz
IiB0YWJpbmRleD0wIHJvbGU9ImNoZWNrYm94IiBhcmlhLWNoZWNrZWQ9Im1peGVkIj4xPC9kaXY+
Ci0KLTxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNoZWNrNCIgY2hlY2tlZD48YnI+Ci08aW5w
dXQgdHlwZT0iY2hlY2tib3giIGlkPSJjaGVjazUiPjxicj4KLQotCi08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYSBjaGVja2JveCAoQVJJQSBvciBv
dGhlcndpc2UpIHJldHVybnMgaXRzIHN0YXR1cyB0aHJvdWdoIGFjY2Vzc2liaWxpdHlWYWx1ZSIp
OwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGVjazEiKS5mb2N1cygpOwotICAgICAgICBzaG91
bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuaXBob25lVmFsdWUi
LCAiJ0FYVmFsdWU6IDAnIik7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNo
ZWNrMiIpLmZvY3VzKCk7Ci0gICAgICAgIHNob3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5mb2N1c2VkRWxlbWVudC5pcGhvbmVWYWx1ZSIsICInQVhWYWx1ZTogMSciKTsKLQotICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hlY2szIikuZm9jdXMoKTsKLSAgICAgICAgc2hv
dWxkQmUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmlwaG9uZVZhbHVl
IiwgIidBWFZhbHVlOiAyJyIpOwotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
aGVjazQiKS5mb2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQuaXBob25lVmFsdWUiLCAiJ0FYVmFsdWU6IDEnIik7Ci0KLSAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoZWNrNSIpLmZvY3VzKCk7Ci0gICAgICAgIHNo
b3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5pcGhvbmVWYWx1
ZSIsICInQVhWYWx1ZTogMCciKTsKLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9uby1jaGlsZC1s
aW5rLWhlYWRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbm8tY2hpbGQtbGluay1oZWFkZXIt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9uby1jaGlsZC1saW5rLWhlYWRlci1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMCwwIEBACi1BTEVSVDogVGVzdHMgcGFz
c2VkCi0KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvbm8tY2hpbGQtbGluay1oZWFkZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9uby1jaGls
ZC1saW5rLWhlYWRlci5odG1sCShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9uby1jaGlsZC1saW5rLWhlYWRl
ci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0Pgot
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotCi08YSBocmVmPSIjIiB0aXRsZT0iTElO
SyI+PGltZyBhbHQ9IiIgc3JjPSJlbXB0eS5wbmciIHdpZHRoPTEwMCBoZWlnaHQ9MTAwPjwvYT4K
LQotPGRpdiByb2xlPSJoZWFkaW5nIiBhcmlhLWxhYmVsPSJIRUFESU5HIiBzdHlsZT0nYm9yZGVy
OjFweCBzb2xpZCBibGFjazsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsnPjwvZGl2PgotCi0K
LTxzY3JpcHQ+Ci0KLSAgICAvL2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0
IGxpbmtzIG9yIGhlYWRlcnMgdGhhdCBkb24ndCBoYXZlIGNoaWxkcmVuIHN0aWxsIGFwcGVhciBp
biBhY2Nlc3NpYmlsaXR5LiBUaGUgbGluayBkb2Vzbid0IGhhdmUgY2hpbGRyZW4gYmVjYXVzZSB0
aGUgaW1hZ2UgYXMgYSB6ZXJvIGxlbmd0aCBhbHQgdGFnLiIpOwotCi0gICAgaWYgKHdpbmRvdy5h
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAgIHZhciBvYmogPSBhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5yb290RWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDAp
OwotICAgICAgICB2YXIgc3VjY2VlZGVkID0gb2JqLmlwaG9uZUlzRWxlbWVudCAmJiBvYmouaXBo
b25lTGFiZWwgPT0gIkFYTGFiZWw6IExJTksiOwotCi0gICAgICAgIC8vICBzaG91bGRCZSgic3Vj
Y2VlZGVkIiwgInRydWUiKTsKLSAgICAgICAgdmFyIGZhaWxlZCA9IGZhbHNlOwotICAgICAgICBp
ZiAoIXN1Y2NlZWRlZCkgewotICAgICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKLSAgICAgICAgfQot
Ci0gICAgICAgIG9iaiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxk
QXRJbmRleCgxKTsKLSAgICAgICAgc3VjY2VlZGVkID0gb2JqLmlwaG9uZUlzRWxlbWVudCAmJiBv
YmouaXBob25lTGFiZWwgPT0gIkFYTGFiZWw6IEhFQURJTkciOwotICAgICAgICAvLyAgc2hvdWxk
QmUoInN1Y2NlZWRlZCIsICJ0cnVlIik7Ci0KLSAgICAgICAgaWYgKCFzdWNjZWVkZWQpIHsKLSAg
ICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChmYWlsZWQp
Ci0gICAgICAgICAgICBhbGVydCgiVGVzdHMgZmFpbGVkIik7Ci0gICAgICAgIGVsc2UKLSAgICAg
ICAgICAgYWxlcnQoIlRlc3RzIHBhc3NlZCIpOwotCi0gICAgfQotCi0gICAgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi0KLTwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbm9u
LWNvbnRpZ3VvdXMtbGluay1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvbm9uLWNvbnRpZ3VvdXMt
bGluay1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L25vbi1jb250aWd1b3VzLWxpbmst
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDIgKzAsMCBAQAotQUxFUlQ6IFRlc3Rz
IHBhc3NlZAotVGhpcyBpcyBhIGxpbmsgdGhhdCB3b3VsZCBub3JtYWxseSBhcHBlYXIgYXMgbXVs
dGlwbGUgZWxlbWVudHMuCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJl
Y2F0ZWQvYWNjZXNzaWJpbGl0eS9ub24tY29udGlndW91cy1saW5rLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkv
bm9uLWNvbnRpZ3VvdXMtbGluay5odG1sCShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9ub24tY29udGlndW91
cy1saW5rLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNDcgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQ+Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0KLTxhIGhyZWY9IiMiPlRoaXMg
aXMgYSBsaW5rIHRoYXQgPGI+d291bGQ8L2I+IG5vcm1hbGx5IGFwcGVhciA8Yj5hcyBtdWx0aXBs
ZTwvYj4gZWxlbWVudHM8L2E+LgotCi08c2NyaXB0PgotCi0gICAgLy9kZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBvbmx5IG9uZSBlbGVtZW50IGlzIHJldHVybmVkIGZvciB0
aGUgbGluayBvYmplY3QsIGluc3RlYWQgb2YgbWFueSBlbGVtZW50cyB0aGF0IGFyZSBhbGwgbGlu
a3MuIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAg
ICAgICAgdmFyIG9iaiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxk
QXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgIHZhciBzdWNjZWVkZWQgPSBvYmou
aXBob25lTGFiZWwgPT0gIkFYTGFiZWw6IFRoaXMgaXMgYSBsaW5rIHRoYXQgd291bGQgbm9ybWFs
bHkgYXBwZWFyIGFzIG11bHRpcGxlIGVsZW1lbnRzIjsKLSAgICAgICAgLy8gIHNob3VsZEJlKCJz
dWNjZWVkZWQiLCAidHJ1ZSIpOwotICAgICAgICB2YXIgZmFpbGVkID0gZmFsc2U7Ci0gICAgICAg
IGlmICghc3VjY2VlZGVkKSB7Ci0gICAgICAgICAgICBmYWlsZWQgPSB0cnVlOwotICAgICAgICB9
Ci0KLSAgICAgICAgc3VjY2VlZGVkID0gb2JqLmlwaG9uZUlzRWxlbWVudDsKLSAgICAgICAgLy8g
IHNob3VsZEJlKCJzdWNjZWVkZWQiLCAidHJ1ZSIpOwotCi0gICAgICAgIGlmICghc3VjY2VlZGVk
KSB7Ci0gICAgICAgICAgIGZhaWxlZCA9IHRydWU7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAo
ZmFpbGVkKQotICAgICAgICAgICAgYWxlcnQoIlRlc3RzIGZhaWxlZCIpOwotICAgICAgICBlbHNl
Ci0gICAgICAgICAgIGFsZXJ0KCJUZXN0cyBwYXNzZWQiKTsKLQotICAgIH0KLQotICAgIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotCi08L2JvZHk+Ci08L2h0bWw+Ci0K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmls
aXR5L291dC1vZi1ib3VuZHMtY2hpbGQtYWNjZXNzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9v
dXQtb2YtYm91bmRzLWNoaWxkLWFjY2Vzcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTkxNikK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L291dC1vZi1ib3VuZHMtY2hpbGQtYWNjZXNzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSwxMCArMCwwIEBACi10ZXN0Ci1UaGlzIG1ha2VzIHN1cmUgaWYgb3V0IG9mIGJvdW5kcyBy
YW5nZXMgY29tZSBpbnRvIGFjY2Vzc2liaWxpdHlFbGVtZW50QXRJbmRleDogdGhlbiB3ZSBkb24n
dCBjcmFzaC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9vdXQtb2YtYm91bmRzLWNo
aWxkLWFjY2Vzcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L291dC1vZi1ib3VuZHMtY2hpbGQtYWNjZXNzLmh0
bWwJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L291dC1vZi1ib3VuZHMtY2hpbGQtYWNjZXNzLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMzQgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgaWQ9ImJv
ZHkiPgotCi08ZGl2IGlkPSJncm91cCIgcm9sZT0iZ3JvdXAiPjxidXR0b24+dGVzdDwvYnV0dG9u
PjwvZGl2PgotCi08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgbWFrZXMgc3VyZSBpZiBv
dXQgb2YgYm91bmRzIHJhbmdlcyBjb21lIGludG8gYWNjZXNzaWJpbGl0eUVsZW1lbnRBdEluZGV4
OiB0aGVuIHdlIGRvbid0IGNyYXNoLiIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcikgewotCi0gICAgICAgIHZhciBncm91cCA9IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZ3JvdXAiKTsKLQotICAgICAgICAvLyBEb24ndCBj
cmFzaCEKLSAgICAgICAgZ3JvdXAuY2hpbGRBdEluZGV4KDkyMjMzNzIwMzY4NTQ3NzU4MDYpOwot
ICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRl
cHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9wYXNzd29yZC12YWx1ZS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2li
aWxpdHkvcGFzc3dvcmQtdmFsdWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzk5MTYpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9wYXNz
d29yZC12YWx1ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTIgKzAsMCBAQAot
Ci1UaGlzIHRlc3QgdGhhdCBhIHBhc3N3b3JkIGZpZWxkIHJldHVybnMgYSBzdHJpbmcgb2YgZXF1
YWwgbGVuZ3RoIHRvIHRoZSBwYXNzd29yZCwgYnV0IG5vdCB0aGUgYWN0dWFsIHBhc3N3b3JkCi0K
LU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHBhc3MuaXBob25lVmFsdWUubGVu
Z3RoIGlzIHBhc3N3b3JkLmxlbmd0aCArIGF4VmFsdWUubGVuZ3RoCi1QQVNTIHBhc3MuaXBob25l
VmFsdWUgPT0gcGFzc3dvcmQgaXMgZmFsc2UKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2lt
LWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9wYXNzd29yZC12YWx1ZS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5
L3Bhc3N3b3JkLXZhbHVlLmh0bWwJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3Bhc3N3b3JkLXZhbHVlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLQot
PGlucHV0IHR5cGU9InBhc3N3b3JkIiBpZD0icGFzcyIgdmFsdWU9ImFzZGZhc2RmIj4KLQotCi08
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2Ny
aXB0PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB0aGF0IGEgcGFzc3dvcmQgZmllbGQg
cmV0dXJucyBhIHN0cmluZyBvZiBlcXVhbCBsZW5ndGggdG8gdGhlIHBhc3N3b3JkLCBidXQgbm90
IHRoZSBhY3R1YWwgcGFzc3dvcmQiKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIpIHsKLQotICAgICAgICB2YXIgcGFzc3dvcmQgPSAiSGVsbG8gV29ybGQiOwotICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzcyIpLmZvY3VzKCk7Ci0gICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXNzIikudmFsdWUgPSBwYXNzd29yZDsKLSAgICAgICAg
dmFyIHBhc3MgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKLQotICAg
ICAgICB2YXIgYXhWYWx1ZSA9ICJBWFZhbHVlOiAiOwotICAgICAgICBzaG91bGRCZSgicGFzcy5p
cGhvbmVWYWx1ZS5sZW5ndGgiLCAicGFzc3dvcmQubGVuZ3RoICsgYXhWYWx1ZS5sZW5ndGgiKTsK
LSAgICAgICAgc2hvdWxkQmVGYWxzZSgicGFzcy5pcGhvbmVWYWx1ZSA9PSBwYXNzd29yZCIpOwot
ICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
Ci08L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0t
ZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3BsYWNlaG9sZGVyLXZhbHVlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNj
ZXNzaWJpbGl0eS9wbGFjZWhvbGRlci12YWx1ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTkx
NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmls
aXR5L3BsYWNlaG9sZGVyLXZhbHVlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwx
MiArMCwwIEBACi0KLVRoaXMgdGVzdCB0aGF0IGEgdGV4dCBmaWVsZCB3aXRoIGEgcGxhY2UgaG9s
ZGVyIHJldHVybnMgdGhlIHBsYWNlaG9sZGVyIGFzIGV4cGVjdGVkLgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyBwYXNzLnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWFBsYWNl
aG9sZGVyVmFsdWUnKSBpcyAncGxhY2UnCi1QQVNTIHBhc3MuaXBob25lVmFsdWUgaXMgJ0FYVmFs
dWU6IHZhbCcKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNz
aWJpbGl0eS9wbGFjZWhvbGRlci12YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3BsYWNlaG9sZGVyLXZh
bHVlLmh0bWwJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3BsYWNlaG9sZGVyLXZhbHVlLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsMzkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSBmYWxzZTsKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLQotPGlucHV0IHR5
cGU9InRleHQiIHBsYWNlaG9sZGVyPSJwbGFjZSIgaWQ9InBhc3MiIHZhbHVlPSd2YWwnPgotCi0K
LTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxz
Y3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHRoYXQgYSB0ZXh0IGZpZWxkIHdp
dGggYSBwbGFjZSBob2xkZXIgcmV0dXJucyB0aGUgcGxhY2Vob2xkZXIgYXMgZXhwZWN0ZWQuIik7
Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3MiKS5mb2N1cygpOwotICAgICAgICB2YXIgcGFz
cyA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotCi0gICAgICAgIHNo
b3VsZEJlKCJwYXNzLnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWFBsYWNlaG9sZGVyVmFsdWUnKSIs
ICIncGxhY2UnIik7Ci0gICAgICAgIHNob3VsZEJlKCJwYXNzLmlwaG9uZVZhbHVlIiwgIidBWFZh
bHVlOiB2YWwnIik7Ci0gICAgfQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwv
c2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvcG9wdXAtYnV0dG9uLXZhbHVl
LWxhYmVsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9wb3B1cC1idXR0b24tdmFsdWUtbGFiZWwt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9wb3B1cC1idXR0b24tdmFsdWUtbGFiZWwt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE0ICswLDAgQEAKLSAgCi1UaGlzIHRl
c3RzIHRoYXQgYSBwb3B1cCBidXR0b24gd2lsbCByZXR1cm4gdGhlIHNlbGVjdGVkIGl0ZW0gdGhy
b3VnaCBpdHMgdmFsdWUgYXR0cmlidXRlIGluc3RlYWQgb2YgaXRzIGxhYmVsIGF0dHJpYnV0ZS4K
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgcGFzcy5pcGhvbmVWYWx1ZSBp
cyAnQVhWYWx1ZTogaXRlbSAxJwotUEFTUyBwYXNzLmlwaG9uZUxhYmVsIGlzICdBWExhYmVsOiAn
Ci1QQVNTIHBhc3MuaXBob25lVmFsdWUgaXMgJ0FYVmFsdWU6IGl0ZW0gMicKLVBBU1MgcGFzcy5p
cGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogUG9wdXAnCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvcG9wdXAtYnV0dG9uLXZhbHVlLWxhYmVsLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVk
L2FjY2Vzc2liaWxpdHkvcG9wdXAtYnV0dG9uLXZhbHVlLWxhYmVsLmh0bWwJKHJldmlzaW9uIDE3
OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3Np
YmlsaXR5L3BvcHVwLWJ1dHRvbi12YWx1ZS1sYWJlbC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDU0ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
ZmFsc2U7Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0KLTxzZWxlY3QgaWQ9InBvcCI+Ci08b3B0
aW9uPml0ZW0gMTwvb3B0aW9uPgotPG9wdGlvbj5pdGVtIDI8L29wdGlvbj4KLTwvc2VsZWN0Pgot
Ci08c2VsZWN0IGlkPSJwb3AyIiBhcmlhLWxhYmVsPSJQb3B1cCI+Ci08b3B0aW9uPml0ZW0gMTwv
b3B0aW9uPgotPG9wdGlvbiBzZWxlY3RlZD5pdGVtIDI8L29wdGlvbj4KLTwvc2VsZWN0PgotCi08
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2Ny
aXB0PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBhIHBvcHVwIGJ1dHRvbiB3
aWxsIHJldHVybiB0aGUgc2VsZWN0ZWQgaXRlbSB0aHJvdWdoIGl0cyB2YWx1ZSBhdHRyaWJ1dGUg
aW5zdGVhZCBvZiBpdHMgbGFiZWwgYXR0cmlidXRlLiIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAgIC8vIENoZWNrIHRoZSBmaXJzdCBwb3B1
cCBidXR0b24uCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwb3AiKS5mb2N1cygp
OwotICAgICAgICB2YXIgcGFzcyA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVt
ZW50OwotCi0gICAgICAgIHNob3VsZEJlKCJwYXNzLmlwaG9uZVZhbHVlIiwgIidBWFZhbHVlOiBp
dGVtIDEnIik7Ci0gICAgICAgIHNob3VsZEJlKCJwYXNzLmlwaG9uZUxhYmVsIiwgIidBWExhYmVs
OiAnIik7Ci0KLSAgICAgICAgLy8gQ2hlY2sgdGhlIHNlY29uZCBwb3B1cCBidXR0b24uCi0gICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwb3AyIikuZm9jdXMoKTsKLSAgICAgICAgcGFz
cyA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotCi0gICAgICAgIHNo
b3VsZEJlKCJwYXNzLmlwaG9uZVZhbHVlIiwgIidBWFZhbHVlOiBpdGVtIDInIik7Ci0gICAgICAg
IHNob3VsZEJlKCJwYXNzLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiBQb3B1cCciKTsKLSAgICB9
Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLQotPC9i
b2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJl
Y2F0ZWQvYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkv
cHJvZ3Jlc3NiYXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotYmxhaAotVGhpcyB0
ZXN0cyB0aGF0IHByb2dyZXNzIGJhcnMgc2hvdyB1cCBpbiB0aGUgQVggaGllcmFyY2h5IGFuZCB0
aGF0IG1pbiwgY3VycmVudCBhbmQgbWF4IHZhbHVlcyBhcmUgcmVwb3J0ZWQgY29ycmVjdGx5Lgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBidXR0b24xLmlwaG9uZUxhYmVs
IGlzICdBWExhYmVsOiBQb3B1bGFyaXR5JwotUEFTUyBidXR0b24xLmlwaG9uZVZhbHVlIGlzICdB
WFZhbHVlOiA1LjAwJwotUEFTUyBidXR0b24xLmlwaG9uZUlzRWxlbWVudCBpcyB0cnVlCi1QQVNT
IGJ1dHRvbjEubWluVmFsdWUgaXMgMQotUEFTUyBidXR0b24xLm1heFZhbHVlIGlzIDEyCi1QQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvcHJvZ3Jl
c3NiYXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRl
cHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci5odG1sCShyZXZpc2lvbiAxNzk5MTYp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0
eS9wcm9ncmVzc2Jhci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Ci08L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5IGlkPSJib2R5Ij4KLQotPGRpdiBpZD0icHJvZ3Jlc3NiYXIiIHJvbGU9
InByb2dyZXNzYmFyIiBhcmlhLWxhYmVsPSJQb3B1bGFyaXR5IiBhcmlhLXZhbHVlbWluPSIxIiBh
cmlhLXZhbHVlbm93PSI1IiBhcmlhLXZhbHVlbWF4PSIxMiI+YmxhaDwvZGl2PgotCi08cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0Pgot
Ci0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBwcm9ncmVzcyBiYXJzIHNob3cgdXAg
aW4gdGhlIEFYIGhpZXJhcmNoeSBhbmQgdGhhdCBtaW4sIGN1cnJlbnQgYW5kIG1heCB2YWx1ZXMg
YXJlIHJlcG9ydGVkIGNvcnJlY3RseS4iKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIpIHsKLQotICAgICAgICB2YXIgYnV0dG9uMSA9IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgicHJvZ3Jlc3NiYXIiKTsKLSAgICAgICAgc2hv
dWxkQmUoImJ1dHRvbjEuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IFBvcHVsYXJpdHknIik7Ci0g
ICAgICAgIHNob3VsZEJlKCJidXR0b24xLmlwaG9uZVZhbHVlIiwgIidBWFZhbHVlOiA1LjAwJyIp
OwotICAgICAgICBzaG91bGRCZVRydWUoImJ1dHRvbjEuaXBob25lSXNFbGVtZW50Iik7Ci0gICAg
ICAgIHNob3VsZEJlKCJidXR0b24xLm1pblZhbHVlIiwgIjEiKTsKLSAgICAgICAgc2hvdWxkQmUo
ImJ1dHRvbjEubWF4VmFsdWUiLCAiMTIiKTsKLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9yYWRp
by1idXR0b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3JhZGlvLWJ1dHRvbi1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3JhZGlvLWJ1dHRvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTcgKzAsMCBAQAotICAgCi1UaGlzIHRlc3RzIHRoYXQgcmFkaW8gYnV0dG9u
cyBhcmUgZXhwb3NlZCBhcyBkaXN0aW5jdCB0eXBlcyBmcm9tIGNoZWNrYm94ZXMsIHRoYXQgdGhl
eSBjYW4gcmVwb3J0IHRoZSByaWdodCB2YWx1ZSB3aGV0aGVyIGl0J3MgY2hlY2tlZCwgYW5kIHRo
ZXkgY2FuIHJlcG9ydCB0aGV5J3JlIHBhcnQgb2YgYSBncm91cC4KLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLVBBU1MgY2hlY2tib3guaXBob25lVHJhaXRzICE9IHJhZGlvMS5pcGhv
bmVUcmFpdHMgaXMgdHJ1ZQotUEFTUyByYWRpbzEuaXBob25lVmFsdWUgaXMgJ0FYVmFsdWU6IDEn
Ci1QQVNTIHJhZGlvMi5pcGhvbmVWYWx1ZSBpcyAnQVhWYWx1ZTogMCcKLVBBU1MgcmFkaW8zLmlw
aG9uZVZhbHVlIGlzICdBWFZhbHVlOiAwJwotUEFTUyByYWRpbzEucm93SW5kZXhSYW5nZSgpIGlz
ICd7MCwgM30nCi1QQVNTIHJhZGlvMi5yb3dJbmRleFJhbmdlKCkgaXMgJ3sxLCAzfScKLVBBU1Mg
cmFkaW8zLnJvd0luZGV4UmFuZ2UoKSBpcyAnezIsIDN9JwotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3JhZGlvLWJ1dHRvbi5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3Np
YmlsaXR5L3JhZGlvLWJ1dHRvbi5odG1sCShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9yYWRpby1idXR0b24u
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw1MiArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBpZD0iYm9keSI+Ci0KLTxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNoZWNrYm94Ij4K
LTxpbnB1dCBpZD0icmFkaW8xIiB0eXBlPSJyYWRpbyIgY2hlY2tlZCBuYW1lPSJncm91cCI+Ci08
aW5wdXQgaWQ9InJhZGlvMiIgdHlwZT0icmFkaW8iIG5hbWU9Imdyb3VwIj4KLTxpbnB1dCBpZD0i
cmFkaW8zIiB0eXBlPSJyYWRpbyIgbmFtZT0iZ3JvdXAiPgotCi08cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdHMgdGhhdCByYWRpbyBidXR0b25zIGFyZSBleHBvc2VkIGFzIGRpc3Rp
bmN0IHR5cGVzIGZyb20gY2hlY2tib3hlcywgdGhhdCB0aGV5IGNhbiByZXBvcnQgdGhlIHJpZ2h0
IHZhbHVlIHdoZXRoZXIgaXQncyBjaGVja2VkLCBhbmQgdGhleSBjYW4gcmVwb3J0IHRoZXkncmUg
cGFydCBvZiBhIGdyb3VwLiIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcikgewotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGVja2JveCIpLmZv
Y3VzKCk7Ci0gICAgICAgIHZhciBjaGVja2JveCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZv
Y3VzZWRFbGVtZW50OwotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyYWRpbzEi
KS5mb2N1cygpOwotICAgICAgICB2YXIgcmFkaW8xID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
Zm9jdXNlZEVsZW1lbnQ7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJhZGlv
MiIpLmZvY3VzKCk7Ci0gICAgICAgIHZhciByYWRpbzIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5mb2N1c2VkRWxlbWVudDsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmFk
aW8zIikuZm9jdXMoKTsKLSAgICAgICAgdmFyIHJhZGlvMyA9IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmZvY3VzZWRFbGVtZW50OwotCi0gICAgICAgIC8vIFZlcmlmeSBjaGVja2JveCBhbmQgcmFk
aW8gaGF2ZSBkaWZmZXJlbnQgdHJhaXRzLgotICAgICAgICBzaG91bGRCZVRydWUoImNoZWNrYm94
LmlwaG9uZVRyYWl0cyAhPSByYWRpbzEuaXBob25lVHJhaXRzIik7Ci0KLSAgICAgICAgLy8gVmVy
aWZ5IHRoZSB2YWx1ZSBvZiB0aGUgY2hlY2tlZCByYWRpbyBpdGVtIGlzIGNvcnJlY3QuCi0gICAg
ICAgIHNob3VsZEJlKCJyYWRpbzEuaXBob25lVmFsdWUiLCAiJ0FYVmFsdWU6IDEnIik7Ci0gICAg
ICAgIHNob3VsZEJlKCJyYWRpbzIuaXBob25lVmFsdWUiLCAiJ0FYVmFsdWU6IDAnIik7Ci0gICAg
ICAgIHNob3VsZEJlKCJyYWRpbzMuaXBob25lVmFsdWUiLCAiJ0FYVmFsdWU6IDAnIik7Ci0KLSAg
ICAgICAgLy8gVmVyaWZ5IHRoZSByYWRpbyBidXR0b25zIGFyZSBwYXJ0IG9mIGEgZ3JvdXAuCi0g
ICAgICAgIHNob3VsZEJlKCJyYWRpbzEucm93SW5kZXhSYW5nZSgpIiwgIid7MCwgM30nIik7Ci0g
ICAgICAgIHNob3VsZEJlKCJyYWRpbzIucm93SW5kZXhSYW5nZSgpIiwgIid7MSwgM30nIik7Ci0g
ICAgICAgIHNob3VsZEJlKCJyYWRpbzMucm93SW5kZXhSYW5nZSgpIiwgIid7MiwgM30nIik7Ci0g
ICAgfQotCi08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc2VjdXJlLXRleHQt
ZmllbGQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3NlY3VyZS10ZXh0LWZpZWxkLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1k
ZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc2VjdXJlLXRleHQtZmllbGQtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDIgKzAsMCBAQAotQUxFUlQ6IFRlc3RzIHBhc3NlZAotIApJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkv
c2VjdXJlLXRleHQtZmllbGQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9zZWN1cmUtdGV4dC1maWVsZC5odG1s
CShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJl
Y2F0ZWQvYWNjZXNzaWJpbGl0eS9zZWN1cmUtdGV4dC1maWVsZC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQ0ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci08L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotCi08aW5wdXQgdHlwZT0icGFzc3dvcmQiIGlkPSJwYXNzIiBzaXplPSIxMCI+
Ci08aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRleHQiIHNpemU9IjExIj4KLQotCi08c2NyaXB0Pgot
Ci0gICAgLy9kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBhIHBhc3N3b3Jk
IGZpZWxkIGFuZCBhIHRleHQgZmllbGQgZG8gbm90IGhhdmUgdGhlIHNhbWUgdHJhaXRzIChiZWNh
dXNlIHBhc3N3b3JkIGZpZWxkIGhhcyBzZWN1cmUgdGV4dCBmaWVsZCB0cmFpdHMpIik7Ci0KLSAg
ICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICAgdmFyIHBh
c3NmaWVsZCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJbmRl
eCgwKS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgIHZhciB0ZXh0ZmllbGQgPSBhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5yb290RWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDEp
OwotICAgICAgICB2YXIgc3VjY2VlZGVkID0gcGFzc2ZpZWxkLmlwaG9uZVRyYWl0cyAhPSB0ZXh0
ZmllbGQuaXBob25lVHJhaXRzOwotCi0gICAgICAgIC8vICBzaG91bGRCZSgic3VjY2VlZGVkIiwg
InRydWUiKTsKLSAgICAgICAgdmFyIGZhaWxlZCA9IGZhbHNlOwotICAgICAgICBpZiAoIXN1Y2Nl
ZWRlZCkgewotICAgICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKLSAgICAgICAgfQotCi0gICAgICAg
IGlmIChmYWlsZWQpCi0gICAgICAgICAgICBhbGVydCgiVGVzdHMgZmFpbGVkIik7Ci0gICAgICAg
IGVsc2UKLSAgICAgICAgICAgYWxlcnQoIlRlc3RzIHBhc3NlZCIpOwotCi0gICAgfQotCi0gICAg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi0KLTwvYm9keT4KLTwvaHRt
bD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vz
c2liaWxpdHkvc2VsZWN0ZWQtYnV0dG9ucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc2VsZWN0
ZWQtYnV0dG9ucy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3NlbGVjdGVkLWJ1dHRv
bnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3ICswLDAgQEAKLWJ1dHRvbiAx
Ci1idXR0b24gMgotdGFiIDEKLXRhYiAyCi1UaGlzIHRlc3RzIHRoYXQgYXJpYS1zZWxlY3RlZCBi
ZWhhdmVzIGFzIGV4cGVjdGVkIChieSByZXR1cm5pbmcgdGhlIHJpZ2h0IHRyYWl0cykgb24gdGFi
cyBhbmQgYnV0dG9ucy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUZBSUwgYnV0
dG9uMS5pc1NlbGVjdGVkIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCi1QQVNTIGJ1dHRvbjIu
aXNTZWxlY3RlZCBpcyBmYWxzZQotRkFJTCB0YWIxLmlzU2VsZWN0ZWQgc2hvdWxkIGJlIHRydWUu
IFdhcyBmYWxzZS4KLVBBU1MgdGFiMi5pc1NlbGVjdGVkIGlzIGZhbHNlCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvc2VsZWN0ZWQtYnV0dG9u
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVj
YXRlZC9hY2Nlc3NpYmlsaXR5L3NlbGVjdGVkLWJ1dHRvbnMuaHRtbAkocmV2aXNpb24gMTc5OTE2
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxp
dHkvc2VsZWN0ZWQtYnV0dG9ucy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUzICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Ci1pZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLTwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci0KLTxkaXYgdGFiaW5kZXg9IjAiIGlkPSJidXR0b24xIiByb2xl
PSJidXR0b24iIGFyaWEtc2VsZWN0ZWQ9InRydWUiPmJ1dHRvbiAxPC9kaXY+Ci08ZGl2IHRhYmlu
ZGV4PSIwIiBpZD0iYnV0dG9uMiIgcm9sZT0iYnV0dG9uIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+
YnV0dG9uIDI8L2Rpdj4KLQotPGRpdiB0YWJpbmRleD0iMCIgaWQ9InRhYjEiIHJvbGU9InRhYiIg
YXJpYS1zZWxlY3RlZD0idHJ1ZSI+dGFiIDE8L2Rpdj4KLTxkaXYgdGFiaW5kZXg9IjAiIGlkPSJ0
YWIyIiByb2xlPSJ0YWIiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj50YWIgMjwvZGl2PgotCi08cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0
PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBhcmlhLXNlbGVjdGVkIGJlaGF2
ZXMgYXMgZXhwZWN0ZWQgKGJ5IHJldHVybmluZyB0aGUgcmlnaHQgdHJhaXRzKSBvbiB0YWJzIGFu
ZCBidXR0b25zLiIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikg
ewotCi0gICAgICAgIC8vIE1ha2Ugc3VyZSBhIGNoZWNrYm94IHdpdGggYSBsYWJlbCBET0VTIE5P
VCBoYXZlIHRoZSBzYW1lIGNlbnRlciBwb2ludCBhcyB0aGUgZnJhbWUKLSAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImJ1dHRvbjEiKS5mb2N1cygpOwotICAgICAgICB2YXIgYnV0dG9u
MSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotICAgICAgICBzaG91
bGRCZVRydWUoImJ1dHRvbjEuaXNTZWxlY3RlZCIpOwotCi0gICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJidXR0b24yIikuZm9jdXMoKTsKLSAgICAgICAgdmFyIGJ1dHRvbjIgPSBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKLSAgICAgICAgc2hvdWxkQmVGYWxz
ZSgiYnV0dG9uMi5pc1NlbGVjdGVkIik7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRhYjEiKS5mb2N1cygpOwotICAgICAgICB2YXIgdGFiMSA9IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotICAgICAgICBzaG91bGRCZVRydWUoInRhYjEuaXNTZWxl
Y3RlZCIpOwotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YWIyIikuZm9jdXMo
KTsKLSAgICAgICAgdmFyIHRhYjIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxl
bWVudDsKLSAgICAgICAgc2hvdWxkQmVGYWxzZSgidGFiMi5pc1NlbGVjdGVkIik7Ci0gICAgfQot
Ci0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci0KLTwvYm9k
eT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvc2VsZWN0ZWQtdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkv
c2VsZWN0ZWQtdGV4dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3NlbGVjdGVkLXRl
eHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEzICswLDAgQEAKLVRleHQgYmVm
b3JlCi1UaGlzIGlzIGEgdGVzdCBvZiBTYWZhcmkgd2ViIHNlbGVjdGlvbgotVGV4dCBhZnRlcgot
VGhpcyB0ZXN0cyB0aGF0IGFjY2Vzc2liaWxpdHkgY2FuIHB1bGwgb3V0IHRoZSBzZWxlY3RlZCB0
ZXh0Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGZvY3VzZWRFbGVtZW50
LnN0cmluZ0ZvclNlbGVjdGlvbiBpcyAnVGhpcycKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
c2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9zZWxlY3RlZC10ZXh0Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxp
dHkvc2VsZWN0ZWQtdGV4dC5odG1sCShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9zZWxlY3RlZC10ZXh0Lmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNDYgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL2VkaXRpbmcvZWRpdGluZy5qcyIgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9
InRleHQvSmF2YVNjcmlwdCIgPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgaWQ9ImJvZHkiPgotCi1U
ZXh0IGJlZm9yZQotPGRpdiB0YWJpbmRleD0wIGlkPSJjb250YWluZXIiPlRoaXMgaXMgYSB0ZXN0
IG9mIFNhZmFyaSB3ZWIgc2VsZWN0aW9uPC9kaXY+Ci1UZXh0IGFmdGVyCi0KLTxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGFjY2Vzc2liaWxpdHkgY2FuIHB1bGwgb3V0
IHRoZSBzZWxlY3RlZCB0ZXh0Iik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250
cm9sbGVyKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKS5m
b2N1cygpOwotICAgICAgICBzZXRTZWxlY3Rpb25Db21tYW5kKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdjb250YWluZXInKSwgMCwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicp
LCAwKTsKLQotICAgICAgICB2YXIgZm9jdXNlZEVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5mb2N1c2VkRWxlbWVudDsKLQotICAgICAgICAvLyBTZWxlY3Q6ICJUaGlzIGlzIgotICAg
ICAgICBmb3IgKHZhciBrID0gMDsgayA8IDc7IGsrKykgCi0gICAgICAgICAgICBmb2N1c2VkRWxl
bWVudC5pbmNyZWFzZVRleHRTZWxlY3Rpb24oKTsKLQotICAgICAgICAvLyAiVW5zZWxlY3Q6ICIg
aXMiCi0gICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgMzsgaysrKSAKLSAgICAgICAgICAgIGZv
Y3VzZWRFbGVtZW50LmRlY3JlYXNlVGV4dFNlbGVjdGlvbigpOwotCi0gICAgICAgIHNob3VsZEJl
KCJmb2N1c2VkRWxlbWVudC5zdHJpbmdGb3JTZWxlY3Rpb24iLCAiJ1RoaXMnIik7Ci0gICAgfQot
Ci0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRl
ZC9hY2Nlc3NpYmlsaXR5L3N2Zy1ncm91cC1lbGVtZW50LXdpdGgtdGl0bGUtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9h
Y2Nlc3NpYmlsaXR5L3N2Zy1ncm91cC1lbGVtZW50LXdpdGgtdGl0bGUtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0
ZWQvYWNjZXNzaWJpbGl0eS9zdmctZ3JvdXAtZWxlbWVudC13aXRoLXRpdGxlLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi1UaGlzIHRlc3RzIFNWRyBncm91cCBl
bGVtZW50cyBhcmUgYWNjZXNzaWJsZSBhbmQgdGhhdCB0aGUgc3ZnOnRpdGxlIGVsZW1lbnQgaXMg
cmV0dXJuZWQgcHJvcGVybHkuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1WZXJp
ZnkgdGhhdCB0aGUgU1ZHIGdyb3VwIGlzIHJldHVybmVkIGFzIGFuIGFjY2Vzc2libGUgZWxlbWVu
dC4KLVBBU1MgZ3JvdXAxLmlwaG9uZUxhYmVsIGlzICdBWExhYmVsOiBTVkcgVElUTEUgMScKLVBB
U1MgZ3JvdXAxLmlwaG9uZUlzRWxlbWVudCBpcyB0cnVlCi0KLVZlcmlmeSB0aGF0IHlvdSBjYW4g
aGl0LXRlc3QgdG8gdGhlIFNWRyBncm91cC4KLVBBU1MgaGl0VGVzdEVsZW1lbnQuaXNFcXVhbChn
cm91cDEpIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQv
YWNjZXNzaWJpbGl0eS9zdmctZ3JvdXAtZWxlbWVudC13aXRoLXRpdGxlLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxp
dHkvc3ZnLWdyb3VwLWVsZW1lbnQtd2l0aC10aXRsZS5odG1sCShyZXZpc2lvbiAxNzk5MTYpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9z
dmctZ3JvdXAtZWxlbWVudC13aXRoLXRpdGxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzgg
KzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgaWQ9ImJvZHkiPgotCi08c3ZnIHdpZHRo
PSI1MDAiIGhlaWdodD0iMzAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgot
ICA8ZyBpZD0iZ3JvdXAxIj4KLSAgICA8dGl0bGU+U1ZHIFRJVExFIDE8L3RpdGxlPgotICAgIDxy
ZWN0IHg9IjEwIiB5PSIxMCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIxMDAiCi0gICAgICBzdHlsZT0i
ZmlsbDpub25lOyBzdHJva2U6Ymx1ZTsgc3Ryb2tlLXdpZHRoOjFweCIvPgotICA8L2c+Ci08L3N2
Zz4KLQotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0cyBTVkcgZ3JvdXAgZWxlbWVudHMgYXJlIGFjY2Vzc2libGUgYW5kIHRo
YXQgdGhlIHN2Zzp0aXRsZSBlbGVtZW50IGlzIHJldHVybmVkIHByb3Blcmx5LiIpOwotCi0gICAg
aWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAgICAgZGVidWco
IlZlcmlmeSB0aGF0IHRoZSBTVkcgZ3JvdXAgaXMgcmV0dXJuZWQgYXMgYW4gYWNjZXNzaWJsZSBl
bGVtZW50LiIpOwotICAgICAgICAgIHZhciBncm91cDEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImdyb3VwMSIpOwotICAgICAgICAgIHNob3VsZEJlKCJn
cm91cDEuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IFNWRyBUSVRMRSAxJyIpOwotICAgICAgICAg
IHNob3VsZEJlVHJ1ZSgiZ3JvdXAxLmlwaG9uZUlzRWxlbWVudCIpOwotCi0gICAgICAgICAgZGVi
dWcoIlxuVmVyaWZ5IHRoYXQgeW91IGNhbiBoaXQtdGVzdCB0byB0aGUgU1ZHIGdyb3VwLiIpOwot
ICAgICAgICAgIHZhciBoaXRUZXN0RWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmVs
ZW1lbnRBdFBvaW50KGdyb3VwMS5jbGlja1BvaW50WCwgZ3JvdXAxLmNsaWNrUG9pbnRZKTsKLSAg
ICAgICAgICBzaG91bGRCZVRydWUoImhpdFRlc3RFbGVtZW50LmlzRXF1YWwoZ3JvdXAxKSIpOwot
ICAgIH0KLQotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3N2Zy1wYXRoLWNy
YXNoLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
c2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9zdmctcGF0aC1jcmFzaC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVj
YXRlZC9hY2Nlc3NpYmlsaXR5L3N2Zy1wYXRoLWNyYXNoLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSwxNCArMCwwIEBACi0KLTM2IHRvIDQ1Ci1UaGlzIHRlc3RzIHRoYXQgYXNraW5n
IGZvciB0aGUgcGF0aCBmcm9tIGEgU1ZHIGVsZW1lbnQgdGhhdCBkb2VzIG5vdCBoYXZlIG9uZSB3
aWxsIG5vdCBjcmFzaC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLQotU3RhcnQg
UGF0aAotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2li
aWxpdHkvc3ZnLXBhdGgtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS9zdmctcGF0aC1jcmFzaC5odG1s
CShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJl
Y2F0ZWQvYWNjZXNzaWJpbGl0eS9zdmctcGF0aC1jcmFzaC5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gZmFsc2U7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IGlkPSJib2R5Ij4KLQotPHN2Zz4K
LTxnIHJvbGU9Imxpc3RpdGVtIj4KLSAgICA8cmVjdCBpZD0icmVjdCIgcm9sZT0iaW1nIiBhcmlh
LWxhYmVsPSJ2ZXJ5IGxpZ2h0IG1hZ2VudGEiIHg9IjQwIiB5PSIyNDYiIHdpZHRoPSIyMCIgaGVp
Z2h0PSIyMCIgY2xhc3M9ImtleSBjb2xvdXIxIj48L3JlY3Q+Ci0gICAgPHRleHQgeD0iNjUiIHk9
IjI2MSIgZm9udC1zaXplPSIxMiI+MzYgdG8gNDU8L3RleHQ+Ci08L2c+Ci08L3N2Zz4KLQotPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlw
dD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgYXNraW5nIGZvciB0aGUgcGF0
aCBmcm9tIGEgU1ZHIGVsZW1lbnQgdGhhdCBkb2VzIG5vdCBoYXZlIG9uZSB3aWxsIG5vdCBjcmFz
aC4iKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAg
ICAgICB2YXIgcmVjdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgicmVjdCIpOwotCi0gICAgICAgIC8vIERvbid0IGNyYXNoIQotICAgICAgICBkZWJ1Zyhy
ZWN0LnBhdGhEZXNjcmlwdGlvbik7Ci0gICAgfQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFiLXJvbGUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0t
ZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RhYi1yb2xlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vz
c2liaWxpdHkvdGFiLXJvbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICsw
LDAgQEAKLXRhYjEKLQotVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCByb2xlPSd0YWInIHNob3dz
IHVwIGFzIGEgZGlzdGluY3QgZWxlbWVudCBmcm9tIGJ1dHRvbi4KLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLVBBU1MgdGFiLmlwaG9uZUxhYmVsIGlzICdBWExhYmVsOiB0YWIxJwot
UEFTUyBidXR0b24uaXBob25lVHJhaXRzICE9IHRhYi5pcGhvbmVUcmFpdHMgaXMgdHJ1ZQotUEFT
UyB0YWIuaXBob25lVHJhaXRzICE9IDAgaXMgdHJ1ZQotRkFJTCB0YWIuaXNTZWxlY3RlZCBzaG91
bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RhYi1yb2xlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFiLXJvbGUu
aHRtbAkocmV2aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1k
ZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFiLXJvbGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MSw0NyArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IGZhbHNlOwotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotCi08ZGl2IGlkPSJmYWtlQnV0dG9uIiB0
YWJpbmRleD0wIHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0idHJ1ZSI+dGFiMTwvZGl2PgotCi08
aW5wdXQgdHlwZT0iYnV0dG9uIiB0YWJpbmRleD0wIGlkPSJyZWFsQnV0dG9uIiB2YWx1ZT0iYnV0
dG9uIj4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbWFrZXMgc3VyZSB0
aGF0IHJvbGU9J3RhYicgc2hvd3MgdXAgYXMgYSBkaXN0aW5jdCBlbGVtZW50IGZyb20gYnV0dG9u
LiIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmYWtlQnV0dG9uIikuZm9jdXMoKTsKLSAgICAg
ICAgdmFyIHRhYiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotICAg
ICAgICBzaG91bGRCZSgidGFiLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiB0YWIxJyIpOwotCi0g
ICAgICAgIC8vIE5vdyBtYWtlIHN1cmUgaXQgaGFzIHRoZSBzYW1lIHRyYWl0cyBhcyBhIGJ1dHRv
bi4KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlYWxCdXR0b24iKS5mb2N1cygp
OwotICAgICAgICB2YXIgYnV0dG9uID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVs
ZW1lbnQ7Ci0KLSAgICAgICAgc2hvdWxkQmVUcnVlKCJidXR0b24uaXBob25lVHJhaXRzICE9IHRh
Yi5pcGhvbmVUcmFpdHMiKTsKLSAgICAgICAgc2hvdWxkQmVUcnVlKCJ0YWIuaXBob25lVHJhaXRz
ICE9IDAiKTsKLQotICAgICAgICBzaG91bGRCZVRydWUoInRhYi5pc1NlbGVjdGVkIik7Ci0gICAg
fQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci0KLTwv
Ym9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXBy
ZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3Itcm93LWNvbC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3Itcm93LWNvbC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDE3OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nl
c3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLXJvdy1jb2wtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE2ICswLDAgQEAKLVRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgeW91IGNhbiBy
ZXRyaWV2ZSBlbGVtZW50cyB3aXRoaW4gYSBjZWxsIGJ5IHRoZWlyIHJvdyBhbmQgY29sdW1uCi0K
LU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGNlbGwyLmNlbGxGb3JDb2x1bW5B
bmRSb3coMiwgMCkuaXNFcXVhbChoZWFkZXIpIGlzIHRydWUKLVBBU1MgaGVhZGVyLmNlbGxGb3JD
b2x1bW5BbmRSb3coMSwgMikuaXNFcXVhbChjZWxsNikgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1oZWFkZXIgMQloZWFkZXIgMgloZWFk
ZXIgMwotY2VsbCAxCQotY2VsbAotMgotY2VsbCA0CWNlbGwgNQljZWxsCi02CkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJsZS1j
ZWxsLWZvci1yb3ctY29sLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3Itcm93LWNvbC5o
dG1sCShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRl
cHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1yb3ctY29sLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsNDggKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSBmYWxzZTsKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLQotPHRhYmxlIGJv
cmRlcj0xPgotPHRyPjx0aD5oZWFkZXIgMTwvdGg+PHRoPmhlYWRlciAyPC90aD48dGggdGFiaW5k
ZXg9MCBpZD0iaGVhZGVyIj5oZWFkZXIgMzwvdGg+PC90cj4KLTx0cj48dGQ+Y2VsbCAxPC90ZD48
dGQgY29sc3Bhbj0yPjxkaXYgcm9sZT0iYnV0dG9uIiBpZD0iY2VsbDIiIHRhYmluZGV4PTA+Y2Vs
bDwvZGl2PiAyPC90ZD48L3RyPgotPHRyPjx0ZD5jZWxsIDQ8L3RkPjx0ZCBpZD0iY2VsbDUiIHRh
YmluZGV4PTA+Y2VsbCA1PC90ZD48dGQ+Y2VsbCA8ZGl2IHJvbGU9ImJ1dHRvbiIgaWQ9ImNlbGw2
IiB0YWJpbmRleD0wPjY8L2Rpdj48L3RkPjwvdHI+Ci0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB5b3UgY2FuIHJldHJpZXZlIGVsZW1lbnRzIHdp
dGhpbiBhIGNlbGwgYnkgdGhlaXIgcm93IGFuZCBjb2x1bW4iKTsKLQotICAgIGlmICh3aW5kb3cu
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY2VsbDIiKS5mb2N1cygpOwotICAgICAgICB2YXIgY2VsbDIgPSBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiaGVhZGVyIikuZm9jdXMoKTsKLSAgICAgICAgdmFyIGhlYWRlciA9IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotCi0gICAgICAgIHNob3VsZEJlVHJ1ZSgiY2Vs
bDIuY2VsbEZvckNvbHVtbkFuZFJvdygyLCAwKS5pc0VxdWFsKGhlYWRlcikiKTsKLQotICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2VsbDUiKS5mb2N1cygpOwotICAgICAgICB2YXIg
Y2VsbDYgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKLSAgICAgICAg
c2hvdWxkQmVUcnVlKCJoZWFkZXIuY2VsbEZvckNvbHVtbkFuZFJvdygxLCAyKS5pc0VxdWFsKGNl
bGw2KSIpOwotCi0gICAgfQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2Ny
aXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1yYW5nZXMtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtcmFuZ2VzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVk
L2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1yYW5nZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE4ICswLDAgQEAKLVRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgZWxlbWVudHMg
d2l0aGluIHRhYmxlcyBjZWxscyByZXR1cm4gdGhlIGNvcnJlY3Qgcm93LCBjb2wgcmFuZ2VzCi0K
LU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGNlbGwyLnJvd0luZGV4UmFuZ2Uo
KSBpcyAnezEsIDF9JwotUEFTUyBjZWxsMi5jb2x1bW5JbmRleFJhbmdlKCkgaXMgJ3sxLCAyfScK
LVBBU1MgY2VsbDYucm93SW5kZXhSYW5nZSgpIGlzICd7MiwgMX0nCi1QQVNTIGNlbGw2LmNvbHVt
bkluZGV4UmFuZ2UoKSBpcyAnezIsIDF9JwotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi1oZWFkZXIgMQloZWFkZXIgMgloZWFkZXIgMwotY2VsbCAxCQot
Y2VsbAotMgotY2VsbCA0CWNlbGwgNQljZWxsCi02CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLXJhbmdlcy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9h
Y2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtcmFuZ2VzLmh0bWwJKHJldmlzaW9uIDE3OTkxNikKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3Rh
YmxlLWNlbGwtcmFuZ2VzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLWlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLQotPHRhYmxlIGJvcmRlcj0xPgotPHRyPjx0aD5oZWFkZXIgMTwvdGg+
PHRoPmhlYWRlciAyPC90aD48dGggdGFiaW5kZXg9MCBpZD0iaGVhZGVyIj5oZWFkZXIgMzwvdGg+
PC90cj4KLTx0cj48dGQ+Y2VsbCAxPC90ZD48dGQgY29sc3Bhbj0yPjxkaXYgcm9sZT0iYnV0dG9u
IiBpZD0iY2VsbDIiIHRhYmluZGV4PTA+Y2VsbDwvZGl2PiAyPC90ZD48L3RyPgotPHRyPjx0ZD5j
ZWxsIDQ8L3RkPjx0ZD5jZWxsIDU8L3RkPjx0ZD5jZWxsIDxkaXYgcm9sZT0iYnV0dG9uIiBpZD0i
Y2VsbDYiIHRhYmluZGV4PTA+NjwvZGl2PjwvdGQ+PC90cj4KLQotPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGVsZW1lbnRzIHdpdGhpbiB0YWJsZXMg
Y2VsbHMgcmV0dXJuIHRoZSBjb3JyZWN0IHJvdywgY29sIHJhbmdlcyIpOwotCi0gICAgaWYgKHdp
bmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjZWxsMiIpLmZvY3VzKCk7Ci0gICAgICAgIHZhciBjZWxsMiA9IGFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotICAgICAgICBzaG91bGRCZSgiY2VsbDIu
cm93SW5kZXhSYW5nZSgpIiwgIid7MSwgMX0nIik7Ci0gICAgICAgIHNob3VsZEJlKCJjZWxsMi5j
b2x1bW5JbmRleFJhbmdlKCkiLCAiJ3sxLCAyfSciKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY2VsbDYiKS5mb2N1cygpOwotICAgICAgICB2YXIgY2VsbDYgPSBhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKLSAgICAgICAgc2hvdWxkQmUoImNlbGw2
LnJvd0luZGV4UmFuZ2UoKSIsICInezIsIDF9JyIpOwotICAgICAgICBzaG91bGRCZSgiY2VsbDYu
Y29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MiwgMX0nIik7Ci0gICAgfQotCi0gICAgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4KLQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxp
dHkvdGFibGUtd2l0aC1taXNtYXRjaC1jb2x1bW4tY291bnQtaW4taW5pdGlhbC1zZWN0aW9uLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRl
cHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJsZS13aXRoLW1pc21hdGNoLWNvbHVtbi1jb3VudC1p
bi1pbml0aWFsLXNlY3Rpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJsZS13
aXRoLW1pc21hdGNoLWNvbHVtbi1jb3VudC1pbi1pbml0aWFsLXNlY3Rpb24tZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEzICswLDAgQEAKLVRlc3QKLUNlbGwgMQlDZWxsIDIKLVRo
aXMgdGVzdHMgdGhhdCBpZiBhIHRhYmxlJ3MgaW5pdGlhbCBzZWN0aW9uIGhhcyBmZXdlciBjb2x1
bW5zIHRoYW4gdGhlIHJlc3Qgb2YgdGhlIHRhYmxlLCB3ZSdsbCBzdGlsbCBkZXRlY3QgdGhlIHRv
dGFsIGNvbHVtbiBjb3VudCBjb3JyZWN0bHkKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLUZBSUwgdGFibGUuY29sdW1uQ291bnQgc2hvdWxkIGJlIDIuIFdhcyAtMS4KLVBBU1MgY2Vs
bC5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgn
Y2VsbDInKSkgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRl
ZC9hY2Nlc3NpYmlsaXR5L3RhYmxlcy1saXN0cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFi
bGVzLWxpc3RzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGFibGVzLWxpc3RzLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxOSArMCwwIEBACi1pdGVtIDEKLWxpc3Qg
aXRlbSAxCi10YWJsZSBpdGVtIDEJdGFibGUgaXRlbSAyCXRhYmxlIGl0ZW0gMwotbGFuZG1hcmsg
MQotVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBpdGVtcyBpbiBsaXN0cywgdGFibGVzIGFuZCBs
YW5kbWFya3MgaGF2ZSBkaWZmZXJlbnQgdHJhaXRzIG9uIHRoZW0sIGJlY2F1c2UgdGhleSdyZSBj
b250YWluZWQgaW4gZGlmZmVyZW50IGl0ZW1zLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotUEFTUyBsaXN0SXRlbS5pcGhvbmVUcmFpdHMgIT0gaW5pdGlhbEl0ZW0uaXBob25lVHJh
aXRzIGlzIHRydWUKLVBBU1MgbGlzdEl0ZW0uaXBob25lVHJhaXRzICE9IHRhYmxlSXRlbS5pcGhv
bmVUcmFpdHMgaXMgdHJ1ZQotRkFJTCBsaXN0SXRlbS5pcGhvbmVUcmFpdHMgIT0gbGFuZG1hcmtJ
dGVtLmlwaG9uZVRyYWl0cyBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2xhbmRtYXJrSXRlbS5p
cGhvbmVUcmFpdHMnKQotUEFTUyB0YWJsZUl0ZW0uaXBob25lVHJhaXRzICE9IGluaXRpYWxJdGVt
LmlwaG9uZVRyYWl0cyBpcyB0cnVlCi1GQUlMIHRhYmxlSXRlbS5pcGhvbmVUcmFpdHMgIT0gbGFu
ZG1hcmtJdGVtLmlwaG9uZVRyYWl0cyBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2xhbmRtYXJr
SXRlbS5pcGhvbmVUcmFpdHMnKQotRkFJTCBsYW5kbWFya0l0ZW0uaXBob25lVHJhaXRzICE9IGlu
aXRpYWxJdGVtLmlwaG9uZVRyYWl0cyBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2xhbmRtYXJr
SXRlbS5pcGhvbmVUcmFpdHMnKQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVj
YXRlZC9hY2Nlc3NpYmlsaXR5L3RhYmxlcy1saXN0cy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RhYmxlcy1s
aXN0cy5odG1sCShyZXZpc2lvbiAxNzk5MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
c2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90YWJsZXMtbGlzdHMuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMSw1OSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IGZhbHNlOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci0K
LWl0ZW0gMQotCi08b2w+Ci08bGk+bGlzdCBpdGVtIDE8L2xpPgotPC9vbD4KLQotPHRhYmxlIGJv
cmRlcj0xPgotPHRyPjx0ZD50YWJsZSBpdGVtIDE8L3RkPgotPHRkPnRhYmxlIGl0ZW0gMjwvdGQ+
Ci08dGQ+dGFibGUgaXRlbSAzPC90ZD48L3RyPgotPC90YWJsZT4KLQotPGRpdiByb2xlPSJtYWlu
Ij4KLTxiPmxhbmRtYXJrIDE8L2I+Ci08L2Rpdj4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGl0ZW1zIGluIGxpc3RzLCB0YWJsZXMgYW5kIGxh
bmRtYXJrcyBoYXZlIGRpZmZlcmVudCB0cmFpdHMgb24gdGhlbSwgYmVjYXVzZSB0aGV5J3JlIGNv
bnRhaW5lZCBpbiBkaWZmZXJlbnQgaXRlbXMuIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2li
aWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICAgdmFyIHJvb3QgPSBhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5yb290RWxlbWVudDsKLSAgICAgICAKLSAgICAgICAgdmFyIGluaXRpYWxJdGVtID0g
cm9vdC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApOwotICAgICAgICB2YXIgbGlzdEl0
ZW0gPSByb290LmNoaWxkQXRJbmRleCgxKS5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDAp
OwotICAgICAgICB2YXIgdGFibGVJdGVtID0gcm9vdC5jaGlsZEF0SW5kZXgoMikuY2hpbGRBdElu
ZGV4KDApOwotICAgICAgICB2YXIgbGFuZG1hcmtJdGVtID0gcm9vdC5jaGlsZEF0SW5kZXgoNSku
Y2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKTsKLQotICAgICAgICBzaG91bGRCZSgibGlz
dEl0ZW0uaXBob25lVHJhaXRzICE9IGluaXRpYWxJdGVtLmlwaG9uZVRyYWl0cyIsICJ0cnVlIik7
Ci0gICAgICAgIHNob3VsZEJlKCJsaXN0SXRlbS5pcGhvbmVUcmFpdHMgIT0gdGFibGVJdGVtLmlw
aG9uZVRyYWl0cyIsICJ0cnVlIik7Ci0gICAgICAgIHNob3VsZEJlKCJsaXN0SXRlbS5pcGhvbmVU
cmFpdHMgIT0gbGFuZG1hcmtJdGVtLmlwaG9uZVRyYWl0cyIsICJ0cnVlIik7Ci0KLSAgICAgICAg
c2hvdWxkQmUoInRhYmxlSXRlbS5pcGhvbmVUcmFpdHMgIT0gaW5pdGlhbEl0ZW0uaXBob25lVHJh
aXRzIiwgInRydWUiKTsKLSAgICAgICAgc2hvdWxkQmUoInRhYmxlSXRlbS5pcGhvbmVUcmFpdHMg
IT0gbGFuZG1hcmtJdGVtLmlwaG9uZVRyYWl0cyIsICJ0cnVlIik7Ci0KLSAgICAgICAgc2hvdWxk
QmUoImxhbmRtYXJrSXRlbS5pcGhvbmVUcmFpdHMgIT0gaW5pdGlhbEl0ZW0uaXBob25lVHJhaXRz
IiwgInRydWUiKTsKLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9z
Y3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1saW5lLW5vLWlnbm9yZWQt
ZWxlbWVudHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtbGluZS1uby1pZ25vcmVkLWVs
ZW1lbnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1saW5lLW5vLWlnbm9y
ZWQtZWxlbWVudHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICswLDAgQEAK
LXRleHQgbGluZXRleHQgbGluZQotVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB3aGVuIGFza2luZyBm
b3IgYSBsaW5lIG9mIHRleHQsIHdlIGRvIG5vdCBpbmNsdWRlIG9iamVjdHMgdGhhdCBzaG91bGQg
YmUgaWdub3JlZC4gVGhlIGltYWdlIGluIHRoaXMgZXhhbXBsZSBzaG91bGQgbm90IGFwcGVhciBz
byB0aGUgYXJyYXkgb2YgZWxlbWVudHMgc2hvdWxkIGJlIHNpemUgb2YgMi4KLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgYXJyYXkubGVuZ3RoIGlzIDIKLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LWxpbmUtbm8t
aWdub3JlZC1lbGVtZW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtbGluZS1uby1pZ25vcmVkLWVs
ZW1lbnRzLmh0bWwJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtbGluZS1uby1pZ25vcmVkLWVsZW1l
bnRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzQgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+
Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHkgaWQ9ImJvZHkiPgotCi08ZGl2PjxhIGhyZWY9IiMiPnRleHQgbGluZTwvYT48aW1nIGFs
dD0iIiB3aWR0aD0xIGhlaWdodD0xMCBzcmM9IiI+PGEgaHJlZj0iIyI+dGV4dCBsaW5lPC9hPjwv
ZGl2PgotCi0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgdGhh
dCB3aGVuIGFza2luZyBmb3IgYSBsaW5lIG9mIHRleHQsIHdlIGRvIG5vdCBpbmNsdWRlIG9iamVj
dHMgdGhhdCBzaG91bGQgYmUgaWdub3JlZC4gVGhlIGltYWdlIGluIHRoaXMgZXhhbXBsZSBzaG91
bGQgbm90IGFwcGVhciBzbyB0aGUgYXJyYXkgb2YgZWxlbWVudHMgc2hvdWxkIGJlIHNpemUgb2Yg
Mi4iKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAg
ICAgICB2YXIgb2JqID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQ7Ci0gICAg
ICAgIHZhciBhcnJheSA9IG9iai5lbGVtZW50c0ZvclJhbmdlKDAsIDE2KTsKLSAgICAgICAgc2hv
dWxkQmUoImFycmF5Lmxlbmd0aCIsICIyIik7Ci0gICAgfQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQt
bWFya2VyLWxpc3QtaXRlbS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXItbGlz
dC1pdGVtLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXItbGlzdC1p
dGVtLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMSArMCwwIEBACi1pdGVtIDEK
LVRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgd2hlbiBhc2tpbmcgZm9yIHRoZSBzdHJpbmcgZm9yIGEg
cmFuZ2UsIGl0IGluY2x1ZGVzIHRoZSBsaXN0IGl0ZW0gbWFya2VyCi0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1QQVNTIHRleHQgaXMgJzEuIGl0ZW0gMScKLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci1saXN0
LWl0ZW0uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRl
cHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci1saXN0LWl0ZW0uaHRtbAkocmV2aXNp
b24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvdGV4dC1tYXJrZXItbGlzdC1pdGVtLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
ZmFsc2U7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgaWQ9ImJvZHkiPgotCi08b2w+Ci08
bGk+aXRlbSAxPC9saT4KLTwvb2w+Ci0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IGVuc3VyZXMgdGhhdCB3aGVuIGFza2luZyBmb3IgdGhlIHN0cmluZyBmb3IgYSByYW5nZSwg
aXQgaW5jbHVkZXMgdGhlIGxpc3QgaXRlbSBtYXJrZXIiKTsKLQotICAgIGlmICh3aW5kb3cuYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAgICB2YXIgb2JqID0gYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQ7Ci0gICAgICAgIHZhciB0ZXh0ID0gb2JqLnN0cmluZ0Zv
clJhbmdlKDAsIDYpOwotICAgICAgICBzaG91bGRCZSgidGV4dCIsICInMS4gaXRlbSAxJyIpOwot
ICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRl
cHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci12YWxpZGF0aW9uLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQv
YWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci12YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvdGV4dC1tYXJrZXItdmFsaWRhdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTQgKzAsMCBAQAotZWxlbWVudCAxCi1lbGVtZW50IDIKLWVsZW1lbnQgMwot
ZWxlbWVudCA0Ci1UaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGEgdGV4dCByYW5nZSBjYW4gYmUgZm91
bmQgZm9yIGFuIGVsZW1lbnQgd2l0aGluIGEgd2ViIHBhZ2UuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1QQVNTIHN1Y2NlZWRlZCBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXItdmFsaWRhdGlv
bi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVj
YXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyLXZhbGlkYXRpb24uaHRtbAkocmV2aXNpb24g
MTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vz
c2liaWxpdHkvdGV4dC1tYXJrZXItdmFsaWRhdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQxICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
ZmFsc2U7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotCi08ZGl2PmVsZW1lbnQgMTwvZGl2
PgotPGRpdj5lbGVtZW50IDI8L2Rpdj4KLTxkaXY+ZWxlbWVudCAzPC9kaXY+Ci08ZGl2PmVsZW1l
bnQgNDwvZGl2PgotCi08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVz
IHRoYXQgYSB0ZXh0IHJhbmdlIGNhbiBiZSBmb3VuZCBmb3IgYW4gZWxlbWVudCB3aXRoaW4gYSB3
ZWIgcGFnZS4gIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7
Ci0KLSAgICAgICAgdmFyIG9iaiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50
LmNoaWxkQXRJbmRleCgyKTsKLQotICAgICAgICB2YXIgdGV4dFBvcyA9IG9iai5pcGhvbmVFbGVt
ZW50VGV4dFBvc2l0aW9uOwotICAgICAgICB2YXIgdGV4dExlbiA9IG9iai5pcGhvbmVFbGVtZW50
VGV4dExlbmd0aDsKLQotICAgICAgICB2YXIgc3VjY2VlZGVkID0gdGV4dFBvcyA9PSAyMCAmJiB0
ZXh0TGVuID09IDk7Ci0gICAgICAgIHNob3VsZEJlKCJzdWNjZWVkZWQiLCAidHJ1ZSIpOwotICAg
IH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotCi08
L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtcm9sZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkv
dGV4dC1yb2xlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1yb2xlLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMSArMCwwIEBACi1oZWxsbyB3b3JsZCB0aGlz
IGlzIGEgdGVzdCBtb3JlIHRlc3QKLVRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgdGhlICJ0ZXh0IiBy
b2xlIHdvcmtzIGFzIGV4cGVjdGVkLiBUaGF0IGlzLCBpdCBjcmVhdGVzIGEgc3RhdGljIHRleHQg
b2JqZWN0IHRoYXQgY2FuIGJlIGNvbnRyb2xsZWQgd2l0aCBhcmlhLWxhYmVsLgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB0ZXh0cm9sZS5pcGhvbmVMYWJlbCBpcyAnQVhM
YWJlbDogYWxsIGF0IG9uY2UnCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1yb2xlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dC1yb2xlLmh0
bWwJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVw
cmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHQtcm9sZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDM3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZh
bHNlOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IGlkPSJib2R5Ij4KLQotPGRpdiBpZD0i
dGV4dHJvbGUiIHRhYmluZGV4PTAgcm9sZT0idGV4dCIgYXJpYS1sYWJlbD0iYWxsIGF0IG9uY2Ui
PgotPGI+aGVsbG8gd29ybGQ8L2I+Ci08aT50aGlzIGlzIGEgdGVzdDwvaT4KLTxhIGhyZWY9IiMi
Pm1vcmUgdGVzdDwvYT4KLTwvZGl2PgotCi08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCBlbnN1cmVzIHRoYXQgdGhlIFwidGV4dFwiIHJvbGUgd29ya3MgYXMgZXhwZWN0ZWQuIFRo
YXQgaXMsIGl0IGNyZWF0ZXMgYSBzdGF0aWMgdGV4dCBvYmplY3QgdGhhdCBjYW4gYmUgY29udHJv
bGxlZCB3aXRoIGFyaWEtbGFiZWwuIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlD
b250cm9sbGVyKSB7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRyb2xl
IikuZm9jdXMoKTsKLSAgICAgICAgdmFyIHRleHRyb2xlID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIucm9vdEVsZW1lbnQuY2hpbGRBdEluZGV4KDApOwotICAgICAgICBzaG91bGRCZSgidGV4dHJv
bGUuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IGFsbCBhdCBvbmNlJyIpOwotICAgIH0KLQotICAg
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNj
ZXNzaWJpbGl0eS90ZXh0ZmllbGQtaW4tYXh2YWx1ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkv
dGV4dGZpZWxkLWluLWF4dmFsdWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzk5MTYpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltLWRlcHJlY2F0ZWQvYWNjZXNzaWJpbGl0eS90ZXh0
ZmllbGQtaW4tYXh2YWx1ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjAgKzAs
MCBAQAotCi1IMSBUZXN0Ci0KLQotCi1UaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHRleHRmaWVsZHMg
cmV0dXJuIHRoZWlyIGNvbnRlbnQgaW4gYWNjZXNzaWJpbGl0eVZhbHVlLCBhbmQgbGFiZWwgaW4g
YXhMYWJlbC4gTGlrZXdpc2UsIG90aGVyIGVsZW1lbnRzIGFuZCB0ZXh0IHN0aWxsIHJldHVybiB0
aGVpciBpbmZvIHRocm91Z2ggYXhMYWJlbC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLVBBU1MgdGV4dGZpZWxkLmlwaG9uZUxhYmVsIGlzICdBWExhYmVsOiBTZWFyY2gnCi1QQVNT
IHRleHRmaWVsZC5pcGhvbmVWYWx1ZSBpcyAnQVhWYWx1ZTogaGVsbG8nCi1QQVNTIGgxLmlwaG9u
ZUxhYmVsIGlzICdBWExhYmVsOiBIMSBUZXN0JwotUEFTUyBoMS5pcGhvbmVWYWx1ZSBpcyAnQVhW
YWx1ZTogMScKLVBBU1MgYnV0dG9uLmlwaG9uZUxhYmVsIGlzICdBWExhYmVsOiBCdXR0b24gVGl0
bGUnCi1QQVNTIGJ1dHRvbi5pcGhvbmVWYWx1ZSBpcyAnQVhWYWx1ZTogJwotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RleHRmaWVsZC1pbi1h
eHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1k
ZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdGV4dGZpZWxkLWluLWF4dmFsdWUuaHRtbAkocmV2aXNp
b24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvdGV4dGZpZWxkLWluLWF4dmFsdWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MSw0NSArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBm
YWxzZTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci0KLTxpbnB1dCB0
eXBlPSJ0ZXh0IiBpZD0idGV4dGZpZWxkIiBzaXplPSIyMCIgdmFsdWU9ImhlbGxvIiBhcmlhLWxh
YmVsPSJTZWFyY2giIHRhYmluZGV4PSIwIj48QlI+Ci08aDEgdGFiaW5kZXg9IjAiIGlkPSJoMSI+
SDEgVGVzdDwvaDE+PEJSPgotPGlucHV0IHR5cGU9ImJ1dHRvbiIgaWQ9ImJ1dHRvbiIgdmFsdWU9
IkJ1dHRvbiBUaXRsZSIgdGFiaW5kZXg9IjAiPgotCi0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB0ZXh0ZmllbGRzIHJldHVybiB0aGVpciBjb250ZW50
IGluIGFjY2Vzc2liaWxpdHlWYWx1ZSwgYW5kIGxhYmVsIGluIGF4TGFiZWwuIExpa2V3aXNlLCBv
dGhlciBlbGVtZW50cyBhbmQgdGV4dCBzdGlsbCByZXR1cm4gdGhlaXIgaW5mbyB0aHJvdWdoIGF4
TGFiZWwuIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0K
LSAgICAgICAgdmFyIHRleHRmaWVsZCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVt
ZW50LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgIHNob3VsZEJlKCJ0
ZXh0ZmllbGQuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IFNlYXJjaCciKTsKLSAgICAgICAgc2hv
dWxkQmUoInRleHRmaWVsZC5pcGhvbmVWYWx1ZSIsICInQVhWYWx1ZTogaGVsbG8nIik7Ci0KLSAg
ICAgICAgdmFyIGgxID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQuY2hpbGRB
dEluZGV4KDEpOwotICAgICAgICBzaG91bGRCZSgiaDEuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6
IEgxIFRlc3QnIik7Ci0gICAgICAgIC8vIFNob3VsZCBiZSAxIGZvciB0aGUgaGVhZGluZyBsZXZl
bC4KLSAgICAgICAgc2hvdWxkQmUoImgxLmlwaG9uZVZhbHVlIiwgIidBWFZhbHVlOiAxJyIpOwot
Ci0gICAgICAgIHZhciBidXR0b24gPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxlbWVu
dC5jaGlsZEF0SW5kZXgoMikuY2hpbGRBdEluZGV4KDApOwotICAgICAgICBzaG91bGRCZSgiYnV0
dG9uLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiBCdXR0b24gVGl0bGUnIik7Ci0gICAgICAgIHNo
b3VsZEJlKCJidXR0b24uaXBob25lVmFsdWUiLCAiJ0FYVmFsdWU6ICciKTsKLSAgICB9Ci0KLSAg
ICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2Fj
Y2Vzc2liaWxpdHkvdG9nZ2xlLWJ1dHRvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdG9nZ2xl
LWJ1dHRvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTkxNikKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RvZ2dsZS1idXR0b24tZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE0ICswLDAgQEAKLUJvbGQgSXRhbGljCi1U
aGlzIG1ha2VzIHN1cmUgdGhhdCB0b2dnbGUgYnV0dG9ucyBhcmUgZXhwb3NlZCBwcm9wZXJseSBv
biBpT1MKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUJ1dHRvbjEgOiBBWExhYmVs
OiBCb2xkCi1CdXR0b24xIDogQVhWYWx1ZTogCi1CdXR0b24yIDogQVhMYWJlbDogSXRhbGljCi1C
dXR0b24yIDogQVhWYWx1ZTogCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNh
dGVkL2FjY2Vzc2liaWxpdHkvdG9nZ2xlLWJ1dHRvbi5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3RvZ2dsZS1i
dXR0b24uaHRtbAkocmV2aXNpb24gMTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdG9nZ2xlLWJ1dHRvbi5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDM4ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gZmFsc2U7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IGlkPSJib2R5Ij4K
LQotPGEgaWQ9ImJ1dHRvbjEiIGhyZWY9IiMiIG9uY2xpY2s9InJldHVybiB0b2dnbGUoZXZlbnQp
OyIgb25rZXlwcmVzcz0icmV0dXJuIGhhbmRsZUtleVByZXNzKGV2ZW50KTsiIHJvbGU9ImJ1dHRv
biIgYXJpYS1wcmVzc2VkPSJmYWxzZSIgdGFiaW5kZXg9IjAiPkJvbGQ8L2E+Ci08YnV0dG9uIGlk
PSJidXR0b24yIiBvbmNsaWNrPSJyZXR1cm4gdG9nZ2xlKGV2ZW50KTsiIGFyaWEtcHJlc3NlZD0i
dHJ1ZSI+SXRhbGljPC9idXR0b24+Ci0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyBt
YWtlcyBzdXJlIHRoYXQgdG9nZ2xlIGJ1dHRvbnMgYXJlIGV4cG9zZWQgcHJvcGVybHkgb24gaU9T
Iik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAg
ICAgdmFyIGJ1dHRvbjEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVu
dEJ5SWQoImJ1dHRvbjEiKTsKLSAgICAgICAgZGVidWcoIkJ1dHRvbjEgOiAiICsgYnV0dG9uMS5p
cGhvbmVMYWJlbCk7Ci0gICAgICAgIGRlYnVnKCJCdXR0b24xIDogIiArIGJ1dHRvbjEuaXBob25l
VmFsdWUpOwotCi0gICAgICAgIHZhciBidXR0b24yID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
YWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJidXR0b24yIik7Ci0gICAgICAgIGRlYnVnKCJCdXR0b24y
IDogIiArIGJ1dHRvbjIuaXBob25lTGFiZWwpOwotICAgICAgICBkZWJ1ZygiQnV0dG9uMiA6ICIg
KyBidXR0b24yLmlwaG9uZVZhbHVlKTsKLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdXJsLXRlc3Qt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0t
ZGVwcmVjYXRlZC9hY2Nlc3NpYmlsaXR5L3VybC10ZXN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vz
c2liaWxpdHkvdXJsLXRlc3QtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICsw
LDAgQEAKLQotdGVzdAotCi1UaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHdlIGNhbiByZXRyaWV2ZSBV
UkxzIGZvciBhcHByb3ByaWF0ZSBlbGVtZW50cy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgotCi0KLVBBU1MgZWxlbWVudC51cmwuaW5kZXhPZigndXJsLXRlc3QxLmh0bWwnKSAhPSAtMSBp
cyB0cnVlCi1QQVNTIGVsZW1lbnQudXJsLmluZGV4T2YoJ3VybC10ZXN0Mi5odG1sJykgIT0gLTEg
aXMgdHJ1ZQotUEFTUyBlbGVtZW50LnVybC5pbmRleE9mKCd1cmwtdGVzdDMucG5nJykgIT0gLTEg
aXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW0tZGVwcmVjYXRlZC9hY2Nlc3Np
YmlsaXR5L3VybC10ZXN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vzc2liaWxpdHkvdXJsLXRlc3QuaHRtbAkocmV2aXNpb24g
MTc5OTE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbS1kZXByZWNhdGVkL2FjY2Vz
c2liaWxpdHkvdXJsLXRlc3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0MSArMCwwIEBACi08
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci0KLTxpbnB1dCB0eXBlPSJpbWFnZSIgc3Jj
PSJ1cmwtdGVzdDEuaHRtbCI+PEJSPgotPGEgaHJlZj0iI3VybC10ZXN0Mi5odG1sIj50ZXN0PC9h
PjxCUj4KLTxpbWcgc3JjPSJ1cmwtdGVzdDMucG5nIiB3aWR0aD0xMDAgaGVpZ2h0PTEwMCBhbHQ9
InRlc3QiPjxCUj4KLQotCi08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1
cmVzIHRoYXQgd2UgY2FuIHJldHJpZXZlIFVSTHMgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLiIp
OwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAg
IHZhciBlbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQuY2hpbGRB
dEluZGV4KDApLmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAgc2hvdWxkQmUoImVsZW1lbnQudXJs
LmluZGV4T2YoJ3VybC10ZXN0MS5odG1sJykgIT0gLTEiLCAidHJ1ZSIpOwotCi0gICAgICAgIGVs
ZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxlbWVudC5jaGlsZEF0SW5kZXgo
MCkuY2hpbGRBdEluZGV4KDEpOwotICAgICAgICBzaG91bGRCZSgiZWxlbWVudC51cmwuaW5kZXhP
ZigndXJsLXRlc3QyLmh0bWwnKSAhPSAtMSIsICJ0cnVlIik7Ci0KLSAgICAgICAgZWxlbWVudCA9
IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5jaGls
ZEF0SW5kZXgoMik7Ci0gICAgICAgIHNob3VsZEJlKCJlbGVtZW50LnVybC5pbmRleE9mKCd1cmwt
dGVzdDMucG5nJykgIT0gLTEiLCAidHJ1ZSIpOwotICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvc3ZnLWdyb3Vw
LWVsZW1lbnQtd2l0aC10aXRsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9zdmctZ3JvdXAtZWxlbWVudC13aXRoLXRp
dGxlLmh0bWwJKHdvcmtpbmcgY29weSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11
bGF0b3IvYWNjZXNzaWJpbGl0eS9zdmctZ3JvdXAtZWxlbWVudC13aXRoLXRpdGxlLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTYsNyArNiw3IEBACiA8Ym9keSBpZD0iYm9keSI+CiAKIDxzdmcgd2lk
dGg9IjUwMCIgaGVpZ2h0PSIzMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+
Ci0gIDxnIGlkPSJncm91cDEiPgorICA8ZyBpZD0iZ3JvdXAxIiByb2xlPSJidXR0b24iPgogICAg
IDx0aXRsZT5TVkcgVElUTEUgMTwvdGl0bGU+CiAgICAgPHJlY3QgeD0iMTAiIHk9IjEwIiB3aWR0
aD0iMjAwIiBoZWlnaHQ9IjEwMCIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7IHN0cm9rZTpibHVl
OyBzdHJva2Utd2lkdGg6MXB4Ii8+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbW91
bnRhaW5saW9uL2Zhc3QvY3NzL2ZvY3VzLXJpbmctZXhpc3RzLWZvci1zZWFyY2gtZmllbGQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb3VudGFp
bmxpb24vZmFzdC9jc3MvZm9jdXMtcmluZy1leGlzdHMtZm9yLXNlYXJjaC1maWVsZC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbW91bnRhaW5s
aW9uL2Zhc3QvY3NzL2ZvY3VzLXJpbmctZXhpc3RzLWZvci1zZWFyY2gtZmllbGQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTkgQEAKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJl
bmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgzNgorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSA3NDJ4MzYKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCA3NDI6ICJBc3N1bWluZyB0aGUgcG9ydC1zcGVjaWZpYyB0aGVtZSBkcmF3cyBmb2N1cyBy
aW5ncywgdGhpcyB0ZXN0IGNhbiBiZSB1c2VkIHRvIGVuc3VyZSB0aGF0IGEgZm9jdXMgcmluZyBp
cyBkcmF3biBhcm91bmQgYSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNzY6
ICJzZWFyY2ggZmllbGQuIgorICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsNTIp
IHNpemUgNzg0eDIzCisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIsMikg
c2l6ZSAxNDR4MTkgW2JnY29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAw
KV0KKyAgICAgICAgICBSZW5kZXJGbGV4aWJsZUJveCB7RElWfSBhdCAoMywzKSBzaXplIDEzOHgx
MworICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMSkgc2l6ZSA4eDExCisgICAg
ICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoOCwwKSBzaXplIDExN3gxMworICAgICAgICAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEyNSwxKSBzaXplIDEzeDExCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDIxLDY1KSBzaXplIDEx
N3gxMworICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDExN3gxMworY2FyZXQ6IHBv
c2l0aW9uIDAgb2YgY2hpbGQgMCB7RElWfSBvZiBjaGlsZCAxIHtESVZ9IG9mIGNoaWxkIDAge0RJ
Vn0gb2YgeyNkb2N1bWVudC1mcmFnbWVudH0gb2YgY2hpbGQgMyB7SU5QVVR9IG9mIGJvZHkK
</data>
<flag name="review"
          id="271313"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
      

    </bug>

</bugzilla>